Back to news

ZuzuScript 0.5.x released

New releases for Perl, Rust, JS, Android, and syntax highlighting packages

New releases of ZuzuScript are available for Perl, Rust, JS, and Android, alongside fresh browser highlighter, VS Code, and Pulsar syntax packages. This release is mostly about filling out the logical operator family, improving cross-runtime parity, and making the newer language operators available inside ZZPath expressions too.

Major new features include:

  • switch case values can now override the switch comparator with a comparison operator prefix, such as case ~ /^Rob/ or case eqi "Bob". The Rust implementation also optimizes literal-string eq/eqi switch dispatch tables and literal-integer numeric equality dispatch tables.
  • New logical operators: nor/, xnor/, onlyif/, and butnot/.
  • New value-preserving logical operators: and?/⋀?, or?/⋁?, xor?/⊻?, xnor?/↔?, nand?/⊼?, nor?/⊽?, onlyif?/⊨?, and butnot?/⊭?.
  • std/path/zz ZZPath expressions now recognise and evaluate the newer language operators for bit shifts, divisibility, logical combinations, and value-preserving logical combinations.
  • Dynamic method calls have better shared conformance coverage, including cases where the method expression evaluates to a method name or a Method value, named arguments, and std/eval.
  • Collection APIs are more consistent across runtimes. The release includes fixes for Array.join(), negative indexes in get()/set()/set_weak(), sample()/shuffle(), Bag removal, PairList enumeration, weak collection aliases, and several is_empty()/contains() parity gaps.
  • The JS browser runtime now supports ZuzuBrowser.addModule(moduleName, url), allowing whitelisted remote ZuzuScript modules to be fetched, parsed, imported, and cached on first use.
  • The JS implementation now matches the language-defined precedence for logical operators, and the JS lexer accepts the and Boolean literals.
  • The Rust --lint mode now warns about chained uses of the less intuitive nand, nor, xnor?, nand?, and nor? operators.
  • The browser highlighter, VS Code extension, and Pulsar package have been repackaged for the 0.5.0 release cycle.

zuzu.pl

zuzu-rust

zuzu-js

Android

Syntax Highlighting and Editor Packages