You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to tinymux
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
Subject: [ANNOUNCE] TinyMUX 2.14.0.7 ALPHA released
TinyMUX 2.14.0.7 ALPHA is now available. This is a large release with 14 new softcode functions, a room-to-room routing engine, multi-platform JIT backends (Win64 and AArch64), and significant hardening work.
Changes since 2.14.0.6 ALPHA - ------------------------------
New Softcode Functions:
- graphemes() -- explode a string into grapheme clusters. - tr() upgraded to grapheme-cluster-to-grapheme-cluster mapping. - butlast() -- all but the last element of a list. - zip() -- interleave two lists element-by-element. - posn() -- find the Nth occurrence of a substring. - wordstart(), wordend() -- grapheme offset of word boundaries. - lxor() -- boolean parity reduction across a list. - lband(), lbor(), lbxor() -- bitwise list reductions (64-bit). - limath() -- 64-bit integer list reduction with user operator. - strsort(), strunique() -- grapheme-cluster sort and dedup. - strunion(), strdiff(), strinter() -- grapheme set operations. - cwho(), channels(), chanusers(), maillist() gain offset/limit pagination.
Routing System:
- New room-to-room routing engine: static routes (@route/set), per-zone tables with cross-zone gateways, lock-validated paths, and NPC movement via @walk and @patrol. - Query functions: route(), routepath().
DBT Multi-Platform Backends:
- JIT refactored into pluggable platform backends. - x86-64 SysV (Linux/FreeBSD/macOS) extracted from monolithic dbt.cpp. - x86-64 Win64 backend -- JIT now enabled on Windows. - AArch64 AAPCS64 backend with instruction fusion, superblocks, and inline CALL. - JIT_COMPILER_VERSION invalidates stale SQLite code cache.
JIT Compiler Improvements:
- Peephole and superblock optimization passes. - Native log(value, base) lowering for constant bases. - Re-enabled fast paths for 12 string/list functions with full interpreter parity: rest, last, squish, elements, remove, edit, replace, insert, splice, log, and trig family with angle units. - ITOA/FTOA coercion for non-string ECALL arguments.
JIT Bug Fixes:
- Fix cand() result handling in triggered attributes. - Fix cat() dropping arguments when lowered as ECALL. - Fix MEMBER and ROUND constant folding. - Fix arithmetic lowering for float boundary cases. - Fix splice() color-stripped comparison parity. - Disable float EQ/NE lowering (IEEE 754 vs string semantics).
Hardening and Reliability:
- All signal handlers are now async-signal-safe. - Restart-file loading hardened against path traversal. - ISOUTOFMEMORY macro removed; per-site OOM recovery. - PlayerNuke guard prevents destroying connected players. - Comsys and mail module false alarm fixes. - Lua JIT back-edge iteration budget for DoS protection.
Build System:
- libmux.so built with -fvisibility=hidden (665 to 351 exports). - co_replace_at() and co_insert_at() in color_ops Ragel machine. - 917 smoke tests (up from 733), with systematic SHA1-to-semantic assertion migration exposing and fixing latent JIT bugs.
Download:
Full source (tar.gz): mux-2.14.0.7.unix.tar.gz SHA256: 5ca5c9cbe6bb2b36a71af0ee7c27e5cad7170615fc805e3be51d60d0da684b3e
Full source (tar.bz2): mux-2.14.0.7.unix.tar.bz2 SHA256: 289a8356cade3f5d6db8baa0ac960a04253a23b4d00e636a6d34b57a72e23fe9
Patch from 2.14.0.6: mux-2.14.0.6-2.14.0.7.unix.patch.gz SHA256: a0616a2c33c142bee4b17b6075fcda0051d4cdb95d77abff99339e021f72f8bd
All files are GPG-signed (.asc).
This is ALPHA software. Make backups. Report bugs to brazi...@gmail.com.