v1.3.0 #29
minirang
announced in
Announcements
v1.3.0
#29
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Description
String indexing/slicing/
length()are now UTF-8 codepoint-based, not byte-based.Previously
"안녕하세요"[1]sliced into the middle of a multi-byte UTF-8 sequence andproduced corrupted output — any non-ASCII string indexing was broken. Fixed via a small
UTF-8 boundary scanner (
engine/interpreter/Utf8.h);contains/starts_with/ends_with/+were already byte-safe (UTF-8 is self-synchronizing) and needed no change. The regexengine remains byte-oriented by design/scope — see
docs/IMPLEMENTATION_NOTES.mdsections14-15 for the exact boundaries and reasoning.
to_number/to_str/to_booleanare now core builtins — nouse DLC:convertneeded.use DLC:convertstill works (harmlessly re-registers the same functions).Fixed the Makefile using Windows-only batch syntax (
@if exist ... del) forclean/wasm,which failed with a shell syntax error on Linux/macOS (and in CI). Restored portable
rm -f/mkdir -p. Also fixedwasm-cleandeleting the wholenpm/dist/directory,including the hand-written
cuffscript.d.ts, instead of just the compiled outputs.Restored
docs/EXTENDING.md, which the changelog referenced but was missing from the repo.This discussion was created from the release v1.3.0.
All reactions