TinyMUX 2.13.0.7 ALPHA

6 views
Skip to first unread message

Brazil

unread,
Mar 4, 2026, 12:24:49 PMMar 4
to tinymux
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

# TinyMUX 2.13.0.7

I am releasing [TinyMUX 2.13.0.7](ftp://ftp.tinymux.org/tinymux-2.13/alpha/7).

# Major changes:

 - GANL networking is now mandatory; replaces legacy select-based I/O
   with event-driven architecture using epoll (Linux), kqueue (BSD),
   and IOCP (Windows).
 - SSL support is always enabled; OpenSSL required on Unix, Schannel
   on Windows.
 - Updated to C++17 standard.

# Feature Additions:

 - zchildren(), zexits(), zrooms(), zthings() zone listing functions.
 - zfun() now accepts obj/attr syntax like u().
 - citer() character iterator function.
 - switchall() and caseall() functions.
 - lrest() function to return all but the last word.
 - lmath() generic list-math function.
 - malias() softcode function for querying mail aliases.
 - ALONE flag for rooms.
 - TALKMODE flag for talk mode / dotty behaviour.
 - link_anywhere power.
 - player_channels config parameter.
 - safer_iter config option to disable ## substitution.
 - Support #$ token substitution in if()/ifelse().
 - Optional delimiter argument to channels().
 - @object/lockname indirect lock syntax.
 - Support :: escape for literal : in $-command and ^-listen patterns.
 - Store full recipient list in sender's @mail/bcc copy.

# Bug Fixes:

 - Fix Reality Levels for exits, @descformat, and lcon().
 - Fix double-evaluation of reality level descriptions in @descformat.
 - Always fire action attributes during quiet teleport.
 - Suppress @enter and @leave for dark wizards.
 - Fix HTML bright colors when CS_INTENSE is active.
 - Suppress space-trimming in after() and before() when delimiter is
   explicit.
 - Reject object names that exceed the MBUF_SIZE limit.
 - Drain extra result sets after MySQL stored procedure queries.
 - Return descriptive error from set() instead of bare #-1.
 - Fix objeval() leaking wizard privileges through locatable().
 - Report "Already set."/"Already cleared." for no-op @set/@power.
 - Check VisibleLock (A_LVISIBLE) on exits.
 - Fix @backup to return early when a dump is in progress.
 - Ignore client CHARSET REQUEST when server REQUEST is pending.
 - Strip outer braces from semicolon-separated queued commands.
 - Fix splice() misalignment with leading/trailing spaces.
 - Add CS_INTERP to @cpattr so arguments are evaluated.
 - Fix @cset/header clearing to reset to default [ChannelName].
 - Fix squish() with multi-character separators.

# Cosmetic Changes:

 - Show named empty folders in @mail/folder listing.
 - Make channel name lookup case-insensitive.
 - Allow @flag to rename over an alias for the same flag.
 - Normalize smart quotes for @listen/^-listen/@filter pattern matching.
 - Remove UNINSPECTED from default stripped_flags.

# Miscellaneous:

 - Decomposed bsd.cpp into focused translation units.
 - Replaced C-style casts with static_cast/reinterpret_cast.
 - Replaced ~317 flag/constant #defines with constexpr.
 - Replaced custom integer types with standard <cstdint> types.
 - Replaced several internal data structures with STL equivalents.
 - Modernized mux_string class with Rule of Five and std::vector.
 - Returned to autoconf/automake build system.
 - Hardened Schannel TLS: EKU-aware cert selection, PEM support.
 - Implemented GANL @restart support.
 - Ported @email SMTP client to GANL event-driven I/O.
 - Added 141 new smoke tests expanding coverage from 32 to 173
   functions.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE8GWFNwJrhRGk25uvF80K5PxQP7EFAmmoabkACgkQF80K5PxQ
P7Fm9BAAj56OPBI6dRchu1lOH2wrPYKWLu+iQIKlywX5c3vLqWmWDOZ6TtgtmiOn
PhXDN/KtCgUXlCJeGKF5MxxW78TLhTb0Me/ru78U1rlgRKIOmdZUj1JXD6JTWOmQ
Vwu6Y7DgFj6CHXQ/BgPxtv+uWoJq9SKAN8i7b76IA5Ytfbgt56W3qP0yDbF8OalC
rI54vKcCw71rT4T+NBRx3WJcG4uu829lJtBJsPo8Hy0y4uAgO7At+mTqWKrIZMoW
yczw+lg8/goyV7QK9C4XBzgX4fu/l83Vg6XDZM7IyXwzAhs7nS1PXaohmHgIHBgG
qkkn8u+fjvwdPqcqyoXdqc3UpoDUkSCwYUfwdc9xY7efzjXIqHh7b279X8uGEG1Y
unXUgVmKPuedutnqSyl8pi+3dDzh5RI3l/pb6YTvHBFopsERfQCdgYXUKf0GFTra
aOZQXyyra6GWvbgtS98vqZY39rmXaG2Kki8Zd1WZXMDIg1UkR8dsoLH5No8gdsKi
OwveVFgVnUGvkj57AsmKBMSYoq2nfW5J8ndLlSvLn1Wko5mbeWmBoboE/pnGNjqc
qcMVIdzng+mos2ZtFZokJ4S2IfMAFImA+lDe0yokbG1kQsjBHlkV4jAhl+ad1vSR
1DRHiK0XxFLljnlYbvf7aaILS2HKXojFlsWG5yOpgYRkhCHiOh4=
=Q1Pq
-----END PGP SIGNATURE-----

Reply all
Reply to author
Forward
0 new messages