ZuzuScript 0.6.x released
New releases for Perl, Rust, JS, and Android
New releases of ZuzuScript are available for Perl, Rust, JS, and Android. This release is mostly about bringing implementation behaviour back into line with the language documentation, improving cross-runtime parity, and tightening temporary-file cleanup in the standard library.
Important changes include:
- The
?:operator now follows its documented semantics across all three main runtimes.a ?: breturnsawhenais non-null, and returnsbonly whenais null. Older implementations accidentally treated it like a value-preservingor, so false,0, and empty-string values could fall through to the right-hand side. This release is intended to correct the implementations, not to redefine the language. - ZPath and ZZPath
?:expressions now use the same definedness check as ZuzuScript itself, so path expressions no longer have separate truthiness behaviour for this operator. Path.tempfile()andPath.tempdir()now attach lifecycle cleanup to the returnedPathobject inzuzu.pl,zuzu-rust, andzuzu-js. Temporary files are deleted, and temporary directories are recursively deleted, when the object would run__demolish__.- Temporary
Pathcleanup now respects object reachability. A temporary path is not removed while a script still retains a reference to thePathobject, including when it is returned from a block, returned from a function, or kept inside a returned collection. - Zuzuzoo install and metadata tests now keep their temporary
Pathobjects alive for as long as the underlying files are needed, matching the intended lifecycle model.