Changes in this build since the previous PTB (Mudlet-5.0.0-ptb-2026-09-08-8b6d40a6)
Added:
- alpha channel support to level colors in map #10584
Improved:
- Stop building unused translated exit names during map audit #10583
- Scripts are told when mute and other settings change #10596
Fixed:
- Saved sign-ins work on unencrypted games, and games learn if sign-ins are kept #10586
- Editing a room's exits redraws the map and marks it unsaved #10610
- Crash when Mudlet exits shortly after starting up #10461
- path to AI-ASSISTANTS.md #10607
Infrastructure:
- Bump 3rdparty/edbee-lib from 9a91551 to 64960cd #10614
- Silence GCC 16 -Wsfinae-incomplete false positives from AUTOMOC #10612
- Update autocompletion data in Mudlet #10356
- Update text for translation in Crowdin #10613
- stop the NAWS width test failing pull requests that did not touch it #10604
- alpha channel support to level colors in map #10584
- Games can turn off Mudlet's starter UI with a GMCP message #10278
- Toolbar buttons and menu items for packages #9983
- Speech-to-text backend for scripts and packages #9982
- A mapperButton setting decides what the built-in map buttons do #10196
- Scripts can tell when Mudlet is not the active application #10145
- Czech (Čeština) translation #10198
- Map room symbol font settings to setConfig/getConfig #10166
- Rites of Passage MUD as a default game #10183
- Stop building unused translated exit names during map audit #10583
- Scripts are told when mute and other settings change #10596
- Substring triggers skip lines they cannot match #10347
- Line colors are copied only when a trigger changes them #10352
- Profiles with many packages load faster #10329
- Color triggers check single-colored lines faster #10346
- Label the trigger editor's advanced options toggle #10366
- [ImgBot] Optimize images #10318
- Less bookkeeping per line of game text #10295
- Mudlet handles incoming game text faster #10293
- Color sequences reach the parser without allocating #10299
- parse SGR colour sequences without allocating #10267
- Trigger capture groups reach scripts faster #10297
- Faster trigger dispatch on every incoming line #10296
- Triggers match faster on every line #10294
- substring triggers match faster by preparing each pattern's search once #10304
- Every new profile gets the starter interface, with chat capture #10316
- include what we use in profile objects and persistence (3 of 3) #10283
- include what we use in profile objects and persistence (2 of 3) #10282
- include what we use in profile objects and persistence (1 of 3) #10281
- Redesigned settings dialog with search and instant apply #10237
- the starter UI appears at once on a game that already sent data #10266
- Fed2 logo image #10273
- New Crowdin updates #10233
- filters, pause and clear for the debug window #9688
- Fast game output no longer redraws the screen for every message #10195
- Faster still 2D map rendering when zoomed out on very large maps #10200
- Much faster 2D map rendering on very large maps #10175
- Pathfinding no longer slows down as your map grows #10174
- New Crowdin updates #9721
- Game text and color triggers are faster #10171
- shrink mpackage icons #10080
- game text is faster by not rescanning the buffer for links that were never created #10110
- db:create says how to fix a list-form sheet it refuses #10061
- Saved sign-ins work on unencrypted games, and games learn if sign-ins are kept #10586
- Editing a room's exits redraws the map and marks it unsaved #10610
- Crash when Mudlet exits shortly after starting up #10461
- path to AI-ASSISTANTS.md #10607
- Room exits dialog no longer leaks its two column delegates #10582
- Crash after deleting the special exit being edited in the room exits dialog #10447
- Crash opening the editor when the profile's theme is missing #10417
- A map label you pick up follows the mouse again #10492
- Text no longer wraps to the wrong width after resizing or switching profiles #10490
- IRC kicks are shown, server text cannot inject markup, and scripts get the text as sent #10465
- Crash reporting no longer starts up during test runs #10462
- Placeholder text below WCAG AA in dark mode on older Qt #10238
- MSP's Off request now stops the sound it is playing #10481
- The starter interface no longer turns MSDP back on at every profile open #10500
- moving a window over the main output no longer loses text #10336
- Crash closing Mudlet while a profile is still loading #10430
- Crash from an alias that keeps expanding into itself #10424
- Match-all triggers no longer hold onto memory from their biggest line #10345
- Crash when using a scroll box or text box after its window was deleted #10364
- game text no longer vanishes behind a window moved over it #10343
- the mouse cursor stops being a hand after leaving a link #10275
- copy2decho no longer copies the wrong line's text #10274
- script editor reopens where it was left, not centred #10317
- Update window no longer offers a version that is out of date #10322
- re-land the package uninstall and download fixes lost by a stacked merge #10323
- A large burst of game text no longer stops part-way #10290
- MSDP tables keep their shape and unfinished variables stop half-arriving #10199
- an element removed from an adjustable container is no longer deleted with it #10279
- a hidden link no longer overwrites text after lines are removed #10179
- Copy from the trigger pattern right-click menu works again #10334
- Broken CFGUI Source URL #10333
- Auto-login works again on games that offer no GMCP sign-in method #10328
- macOS Lua tests job crashes because deferred package installs re-enter themselves #10321
- Typing on the connection window picks a game again, instead of renaming a profile #10310
- Code formatter no longer fails on Windows #10312
- Profile tab bar clipping and theme switching glitches #10292
- stray 'm' characters in game text on games using reserved ANSI parameter bytes #10288
- MSDP scripts that subscribe on connect work again #10277
- an install that fails now says why instead of failing silently #10005
- A frame emptied by the game no longer keeps a selection over the deleted text #10262
- Selecting a capture group no longer breaks the next selection #10301
- Re-applying a room or exit lock no longer marks the map as changed #10197
- Undefined behavior on profile load, from a flag read before it exists #10253
- The Map button no longer builds a second mapper over a scripted one #10193
- an embedded mapper keeps working after another map view closes #10191
- a pasted link no longer runs a different link's command #10178
- Missing colon on toolbar visibility label #10239
- Missing fonts fall back to the default instead of a random one #10134
- Writing to a console emptied by deleteLine() no longer crashes #10225
- undefined behaviour when the script editor's undo stack is destroyed #10232
- undefined behaviour on every profile load, from resetting the telnet session too early #10229
- trigger pattern highlighter read an uninitialised flag on every pattern row #10228
- undefined behaviour when creating or deleting any trigger, alias, timer, key, script or button #10227
- Lua UI functions no longer crash when a profile has no window #10186
- only the Next button advances the interface tour #10190
- Mudlet Tutorial's give command, hints and intro panels #10163
- MSDP values containing control codes no longer go missing #10143
- Console output no longer slows down as the window gets bigger #10173
- Long profile and character names no longer share one saved password #10147
- Dragging inside the input line no longer scrolls its text out of place #10167
- a skipped _unique no longer freezes the sheet's other constraints #10170
- Reject malformed version numbers instead of misreading them #10151
- phpTable entries holding false can now be updated and deleted #10150
- Turning off NEW-ENVIRON mid-session now stops sending data to the game #10148
- Keep the loaded map when a download is canceled or returns no map #10146
- Databases are still created when a unique constraint names a column that isn't there #10144
- Switching map areas no longer leaves rooms selected off-screen #10029
- Tab detach threshold silently stayed at 50px instead of the intended 80px #10127
- Turning a container's auto save back on saves its layout again #10138
- Variables named with quotes or spaces can now be edited #10131
- Remove two always-true size checks in MXP frame layout #10126
- Rename a shadowed loop variable in the trigger editor's script view #10125
- hidden links still reveal once older text has scrolled away #10119
- getNetworkLatency() no longer reports a busy client as network lag #10108
- Discord button works again in a detached window #10101
- Renaming a variable no longer loses it or runs its key as Lua #10114
- match-all triggers and aliases no longer lose captures after an accented character #10113
- Detached windows follow the toolbar icon size setting #10105
- Label updates got slower as their text grew #10090
- Labels and gauges no longer lose their background color #10081
- Clicking a styled web link no longer opens a mangled address #9974
- Clearer errors when using a database after closing it #10091
- Alt+W and Alt+O doing nothing in a detached profile window #10035
- Undoing the game's word wrapping no longer merges exits, objects or tells #10027
- Bump 3rdparty/edbee-lib from - Silence GCC 16 -Wsfinae-incomplete false positives from AUTOMOC #10612
- Update autocompletion data in Mudlet #10356
- Update text for translation in Crowdin #10613
- stop the NAWS width test failing pull requests that did not touch it #10604
- Speed up Claude Code on the web session startup #10588
- Warn when the wiki manual documents a function twice #10354
- Bump github/codeql-action from 4.37.8 to 4.37.9 #10378
- Cancel superseded CodeQL runs #10573
- Add tests for the mapper's mouse handling #10491
- Add specs for the MXP tags a game styles and links its output with #10482
- Fix the intermittent main window width spec #10444
- Add specs for the windows MXP asks for with #10479
- Add specs for replay playback and named stopwatches #10473
- Add command line tests for multi-line sends, passwords and Tab #10470
- Add settings round trip tests for the preferences dialog #10440
- Add tests for the room exits and room properties dialogs #10434
- Add specs for media playback and the media protocol #10407
- Add specs for telnet negotiation and the protocols on top of it #10406
- Add tests for the script editor's dialogs and tree #10405
- Add tests for the console's search bar #10488
- Configure CI builds from CMakePresets.json #10363
- Speed up CI by having the Intel macOS job build only the binary #10552
- Add tests for the package exporter dialog #10443
- Add specs for selections that do not fit their line #10439
- Add specs for the room and area database #10432
- Add specs for package and module import, export and install #10413
- Add tests for caret navigation, command line keys and the accessible text interface #10412
- Add specs for the mapper, map files and map user data #10398
- Give the map-audit flag a home that does not need the main window #10388
- Run the Lua tests headlessly on a Wayland desktop #10386
- Add specs for trigger kinds, alias patterns and regex captures #10409
- Give the Discord integration a home that does not need the main window #10375
- Add specs for user windows, console colours and overflow events #10420
- Add specs for text decoding and ANSI handling #10400
- Add specs for the Lua API's argument checking #10399
- Add specs for the Lua string, table, date and debug modules #10429
- Fill in pending Lua tests and fix the local test runner #10361
- Make the libmudlet progress audit fail loudly instead of miscounting #10374
- Bump 3rdparty/sentry-native from - Clear out the CodeQL code scanning alerts #10357
- Add specs for the JSON map format #10370
- Add specs for the command line widget #10371
- remove the always-true Qt version check around serialization #10285
- home the debug switch and timestamp formats in core classes #10284
- Stop the editor position test flaking on macOS CI #10358
- Fix a settings test that broke on an optimized icon #10351
- index scroll boxes, command lines and text boxes in the core window registry #10280
- index sub-consoles and user-window docks in the core window registry #10270
- look labels up in a core window registry, not the view's widget map #10264
- Update text for translation in Crowdin #10348
- Fix a settings test that flaked on macOS #10338
- Sign the Qt and other bundled libraries on Windows #10313
- split the Qt Widgets helpers out of utils.h #10263
- Add runnable QA skills for test coverage, fuzzing and performance #10251
- Add release build presets for all three platforms #10289
- stop CodeQL and a shared key evicting the build caches #10265
- Stop FramePacingTest failing CI at random #10261
- Spelling functions no longer crash without a main window #10258
- Slim down the AI assistant instructions #10252
- Route MXP frame redirects through a write-only print sink #10259
- merge release-5.0 back into development #10256
- skip the bundled-font tests when built without fonts #10254
- Bump github/codeql-action from 4.37.7 to 4.37.8 #10236
- Stop two functional tests failing CI runs at random #10247
- fuzzers for the telnet parser and the console buffer API #10221
- Update autocompletion data in Mudlet #10248
- Bump 3rdparty/sentry-native from - Update text for translation in Crowdin #10226
- Stop the CodeQL scan running out of memory #10218
- Color changes reach the buffer without a window #10185
- Stop the glibc resolver leak flaking the CI leak job #10202
- Save the profile's spell dictionary without needing a window #10154
- Test pathfinding against a full-sized game map #10182
- Match color triggers against the profile's colors without a window #10152
- Run Lua specs without rebuilding the worktree #10149
- split the OSC 8 hyperlink managers into model state and view repaint #10130
- Cover phpTable with specs #10135
- Cover the update checker's wiring with tests #10133
- move logging into the core console model so it works without a window #10132
- Catch memory leaks from Lua argument errors in CI #10124
- Fix null checks CodeQL flagged as missing in functional tests #10123
- Bump github/codeql-action from 4.37.6 to 4.37.7 #10142
- Bump 3rdparty/edbee-lib from - Bump 3rdparty/sentry-native from - Stop qtkeychain build from dirtying its submodule on macOS #10129
- Let agents open pull requests with the open-pr skill #10128
- Cover the map progress dialog and mapper indicators with tests #10097
- Test the tab indicator and hyperlink repaint wires #10093
- Cover three untested corners of the trigger engine #10096
- Test that a finished video gives its label back #10094
- keep asking for window activation so the key sequence tests stop flaking #10117
- Update text for translation in Crowdin #10120
- Update autocompletion data in Mudlet #10121
- Build Linux and macOS releases with newer compilers #10092
- extract the main console's data model out of the widget #9603
- Make the map download progress test immune to CI stalls #10104
- Remove the Windows CI unzip workaround now that libarchive is fixed #10098
- A new mpkg release no longer breaks unrelated tests #10107
- Free up CI cache space so builds stop starting from scratch #10102
- Run the C++ tests in parallel in CI #10099
- Upload Qt symbols to Sentry on Linux and macOS #10040
- Remove concurrency limit from Check lua_error strands workflow
Full changelog since last release (Mudlet-5.0.1)
Added:
Improved:
Fixed:
Infrastructure:
9a91551 to 64960cd #10614
22e1073 to 1c935e8 #10377
033a39c to 22e1073 #10235
62ca709 to 9a91551 #10141
724479b to 033a39c #10140
Other: