TinyMUX 2.14.0.7 ALPHA

2 views
Skip to first unread message

Brazil

unread,
Apr 3, 2026, 5:20:32 PMApr 3
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.

- -- Brazil

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE8GWFNwJrhRGk25uvF80K5PxQP7EFAmnQHyAACgkQF80K5PxQ
P7HWBRAApaRT/vyjh191k/6J17F4j04gB+T9Cqdm2OyZD5/SsK/3b9LMlpnUQOxH
gfm8qtHSlrXmTtzQg7lxk5SxXafqCpys99M0qWY+3FrXRqmAaODqjX4esUq61SbX
ZbI5wdXRFjKhImuyMc+H7rW4cNcynzg+eespzOCL2aNOE3ThYCT3QR0+Bay1ls8G
Zobjhtm3+6bWw2fqww/VhSjy8bR32jNZJihlpZp4E1EB4nJJByMAPfTJfFtQYbaB
JbCjIZzJvaYeK8WOl1PwZeVl4Be+/eIchTtx9blZBFYuUUkqFKkU1LKOuxU+WUvq
286ZPMnncBmdOtn/z1bKPPYTq9FS5+LZ4SvFXJ2c95JxYoU3mRIge6pJ2FBqSqcz
djgTMsfmUd70rQESjLv+qwgxBQGnf9xoavdmk9mdbW5MfnfpQ4tYB9kOetkwT5xQ
1LnEZpz8yNp/lgTNvRafbQbyEphRgS0TiJMCIt60ZYbmjEdK+s57Mi/EplcdBNFR
Ppzp5CyibgK3oKrR7I6xD5YkLpxu2O0xpZBn6Ndo1wkIgo8BCzDkGMPDKiKirLVh
MxNCVECBZPVssrvSQsfa49RYuRN3XZjxVIObZfNk/YG6PkDI7IFhCkd8iqlGt7gu
/3SBT2y0ndvFctlypvNgfxsYmNsGLHqvlLokc59oue25TPBerL8=
=qoBC
-----END PGP SIGNATURE-----

Reply all
Reply to author
Forward
0 new messages