If you use continuations, or declare structs or enums inside
functions, take this update. Both fixes it carries return wrong
results rather than crashing: a closure that captured a local could
split from that local after a continuation resumed, and a struct or
enum declared inside a function was invisible to the function's nested
functions, failing at runtime with "Undefined identifier". Code hitting
either can look like it works.
The CLI's version tracks the core it embeds, so this release ships
zym_core 0.3.2:
same language, same VM, same bytecode. Nothing in the CLI itself
changed: same commands, same flags, same module catalog, same .zbc
and .zpk formats. Beyond the two fixes, you inherit chained string
concatenation as a single operation and a faster hash for long
strings, which together make string building roughly 4x faster and
string-keyed maps about 15% faster than 0.3.1.
Upgrading from 0.3.1
Drop-in. Bytecode and packages built with 0.3.1 keep working.
Rebuild before you repack. Both fixes and the concatenation change
live in the compiler and runtime, so a standalone binary packed with
0.3.1 carries none of them until you rebuild your bytecode and repack
with 0.3.2. Bytecode produced by 0.3.2 will not load on a 0.3.1
runtime, so do not mix a new .zbc with an old packed runtime.