Version 2.5.0
- harden Storable by adopting fromJSON instead of sdk.eval
- add Option type to extra pack
- add maybe method to scope prototype extension
- add headOption, itemOption, findOption to list prototype extension
- fix switch case implementation for matching null values on types
- make scoped blocks switch not only context but also self reference
- decouple math library implementation from list prototype extension
- add parallel http request example to code samples
- add support for destructuring assignment on lists
- add support nullish coalescing assign operator (??=)
- use a slightly more optimized implementation for microGC
- add jail mode to restrict FS, network and sys calls
- optimize method instantiation and memory usage
- add support for switch alternative case match via OR operator
- add $break embedded command for setting breakpoints (debugger)
- support lazy values via memoized methods of arity zero
- add ??? as a null keyword for unimplemented semantics
- raise error on bad while syntax, hardening against infinite loop
- fix ** (exponentiation operator) precedence
- prevent null values on ?. (if-dot) be lifted to void prototype
- lift number format fmt string as %(fmt)f if % is not defined
- fix bug with logical and/or evaluation for types (check if defined)
- add map method to list prototype extension (to facilitate chaining)
- fix segmentation fault on empty first statement (e.g. '{} x')
- add type promotion support for List derivate (for consistency)
- add count(frag) method to text prototype extension
- fix align bug with overlay method for texts larger than base
- refine and review error subtypes emitted by interpreter