fs/ → fjs/: BREAKING CHANGE: rename the top-level source directory, so every published import path changes (functionalscript/fs/… → functionalscript/fjs/…). fs collided with Node's built-in fs module #1316
fs/media/revision, fs/cas/evo: BREAKING CHANGES: make snapshot and generation required in revisionSchema, so a revision blob is interpretable in isolation; addRevision now resolves and writes both fields explicitly #1314
fs/types/range, fs/bnf: BREAKING CHANGE:contains(a, b) takes two positional arguments instead of a Range tuple; eof becomes oneEncode(mask), and the redundant max constant is removed #1308
bnf/descent: fix RangeError: Maximum call stack size exceeded on realistic-size input — the matcher is now an explicit-stack machine with unchanged semantics and O(1) JS call-stack depth #1303
types/uint8array: listToVec now throws the descriptive "the array is too big" on overflow instead of a generic assert failure, matching its sibling toVec#1286