Changes since last PTB (Mudlet-4.20.1-ptb-2026-04-14-edf436e3)
Added:
- right-click option to hide default profiles in connection dialog #9123
Improved:
- Make spacing between widgets in the connection dialog more consistent #9198
- Auto-switch code editor theme with app appearance #9167
Fixed:
- unify and translate some Map Errors #9189
- avoid bogus "new Toolbar" and "new Menu" items creation on profile load #9194
- Clazy warnings part 2 - detaching-temporary #9196
- Clazy warnings part 1 - range-loop-detach #9195
Infrastructure:
- fix flaky TelnetTextDisplayedTest in CI #9193
- fix partial PTB releases not triggering when push build exists at same SHA #9192
- fix Windows SHA256 missing from PTB releases #9191
- right-click option to hide default profiles in connection dialog #9123
- selectAll function with optional window support #9166
- telnets:// link support for secure TLS connections #9153
- getKeyCode function to return key code and any modifiers of a key-binding #8435
- - separate border size control and player room marker improvements #8975
- OSC 8 context menu title support #8910
- DragonfireMUD and VoidMUD #8783
- 3rd party definition files for Lua #8966
- Starmourn and update IRE game profiles #9076
- embeddable TextEdit widget (Geyser.TextEdit) #8986
- MudMaster Chat Protocol (MMCP) #7765
- blinking/flashing text support #8983
- timeout for (Linux) Build xcb-util-cursor #8978
- timeout for macos (Install Dependencies) #8977
- data loss guard on constraint migration #8850
- GNOME Software-style navigation in Package Manager #8846
- room description matching to generic mapper #8649
- hidden rooms #8443
- Multi-file selection in import dialogs #8796
- Map label support in 3D mapper #8793
- multiple note tabs to the notepad #8757
- multiple map views support #8743
- muteMediaScript and muteMediaGame options to getConfig/setConfig #8764
- "Whole word" search option in the script editor #8722
- per-room border color and thickness #8758
- more safeguards against profile settings being lost #8742
- permExactMatchTrigger Lua API function #8745
- per-room border color and thickness
- NAWS protocol toggle setting #8700
- getBorderColor() Lua API function #8688
- MXP FRAME and DEST tag support for multi-window layouts #8577
- Optional static analysis during build #8708
- OSC 8 hyperlink visibility, selection, and compact syntax enhancements #8677
- Sentry license to about dialog #8660
- undo/redo for Mudlet editor #8469
- getRoomsByPosition1() function #8619
- functional GUI tests using QTest #8572
- Enable spellcheck in the composer window #8447
- setExitWeightFilter function to alter room/exits weights/locks #8487
- Make spacing between widgets in the connection dialog more consistent #9198
- Auto-switch code editor theme with app appearance #9167
- handling of rooms having their hidden property changed #8947
- guard mudlet::self() in cTelnet destructor #9020
- use raw IP address if provided with one #9066
- Give players full control over Discord Rich Presence #9116
- show version scope in PTB release changelogs #9148
- hidden rooms - allow storage in map versions < 22 and other things #8930
- change label highlight from overlay to outline #9132
- internal code in regards to memory use #9015
- saving a key with no binding set shows an error #9114
- Add smooth pulsing effect for blinking text #9104
- remove AI/llamafile integration #9108
- error message when saving MMP-downloaded map #9107
- Automatic audio device switching support #9026
- only mark map as dirty if room hidden status is changed #8946
- Reduce memory usage for text decorations #9052
- Remove debug print from deleteAll function #9061
- add defensive coding to internal code related to the TMediaPlayer #9017
- Script Editor search code quality and maintainability #9028
- Code quality in TBuffer.cpp #9029
- show feedback when manually checking for updates fails #9004
- add better error reporting to GMCP merge handler #9018
- adjust getTime() table size hint to match 7 entries #9019
- Don't echo OSC 8 send: hyperlink commands by default #8957
- Detection of character-at-a-time mode in server connections #8825
- Add more context to media playback events #8953
- luarocks busted install instructions version flag #8950
- Add macOS clang-format path to AI instructions #8926
- Make MNES and NEW-ENVIRON mutually exclusive in UI #8893
- update Astaria banner #8900
- New Crowdin updates #8253
- macOS build instructions use absolute path #8860
- nixed rex_prce2 check in lua #8848
- Faster map rendering when zoomed in by skipping off-screen rooms #8797
- Allow nil to clear label callbacks #8799
- keep small map areas fully visible in viewport #8766
- Enable PCRE2 JIT compilation for triggers and aliases #8762
- open IRC with Lua functions not via UI anymore #8123
- Auto-link Lua function names in changelog #8744
- add error handling with clear error messages #8736
- error message visibility in module creation dialog #8738
- Memory management for console hyperlinks #8725
- AI assistant guidance for modern C++ loops #8741
- error messages for easier troubleshooting #8721
- highlight search terms in editor when using global search #8687
- Show a warning icon when map autosave fails #8689
- Simplify internal tree widget code #8706
- remove outdated comment for special exits MMP import #8707
- Enable OSC 8 hyperlink visibility by default #8699
- Fix compiler warnings about potential data loss in type conversions #8715
- Remove outdated FIXME comment from msleep call #8695
- Modernize color trigger dialog button handling #8693
- Reduce Windows install size by ~135MB #8685
- show error message when variable can't be moved in the trigger editor #8683
- Add error handling to unexpected scenarios #8682
- Auto-recover from stuck password masking during login #8628
- OSC 8 hyperlink styling with direct JSON parsing #8641
- use platform-native key names in UI text #8591
- add a crash reporter for Linux / macOS / Windows #8540
- Migrate C++ regex engine from PCRE to PCRE2 #8533
- Limit saved Lua table variables to 10,000 items #8581
- Remove directional navigation buttons from mapper #8574
- - two seconds is longer than you think #8570
- Cleanup system efficiency for triggers, aliases, and keys #8559
- small Style Cleanup in main.cpp #8562
- Remove accessible description from trigger pattern editor #8546
- remove navigation shortcuts widget from trigger editor #8530
- unify and translate some Map Errors #9189
- avoid bogus "new Toolbar" and "new Menu" items creation on profile load #9194
- Clazy warnings part 2 - detaching-temporary #9196
- Clazy warnings part 1 - range-loop-detach #9195
- strip whitespace formatting marks when copying trigger patterns #9149
- several resetProfile() bugs #9083
- prevent update download from being canceled when checking for updates #9185
- changelog rendering in PTB update dialog #9182
- package edit warning incorrectly showing for module items #9168
- Cancel on trigger highlight color picker no longer changes the color #9013
- Respect explicit theme choice on Linux #8897
- memory leaks in map info contributors, deleting labels #9141
- increase TelnetTextDisplayedTest timeouts for CI #9184
- review fixes for font handling rework #9135
- Better handling of package-supplied fonts during unloading/reloading of packages #9115
- selectCaptureGroup() selecting wrong capture #9133
- resolve CodeQL stack-address-escape warnings #9080
- insertText newline regression #9022
- updater to work with github releases #9125
- memory leaks in sound player, dialogs #9142
- crash when importing non-Mudlet zip with XML containing element #9146
- handle over/underflows in (int) TLuaInterpreter::getVerifiedInt(…) #8924
- crash when resetProfile() is called while downloads are in-progress #9138
- scaling map image labels showing text instead of image #9121
- label move in 2D map #9131
- correct icon names for two recently added predefined MUDs #9129
- handle CMake aliasing problems when PCRE2::8BIT is itself an alias #9128
- crash when user cancels map download #9085
- small memory leaks in package/object management #9111
- small memory leaks when closing/reopening profiles #9110
- small leak in resetProfile() for the Lua state, label, and scrollbox #9109
- stale characters during horizontal scrolling with wide fonts #9099
- Ctrl+End in caret mode hides the cursor #9101
- Toolbar visibility not persisted when toggled via right-click menu #9053
- typo in mPlayerRoomColorGradentStops member name #9112
- OSC 8 hyperlinks strip config/preset only when features are advertised #9106
- Miniconsole text cutoff after switching profiles #8853
- Refactor and fix logic handling chat name change from GUI preferences dialog #9025
- use correct variable for Discord starttime string parsing #9100
- Copy Map to inactive profiles losing player room position #9091
- use right format type for errors in playSoundFileAsOrderedArguments #9086
- Tabs not respecting dark mode #8996 #8999
- map info "Short" always re-added on profile load #8963
- Module Manager shortcut uses wrong key sequence when menu bar hidden #9097
- setSaveCommandHistory inverting the boolean when a command line name is given #9098
- Fix QFutureWatcher memory leaks across the codebase #9095
- Color swatch buttons washed out on macOS and not showing at all in Light mode #8970
- Text with < characters disappearing on games with MXP enabled #8918
- saveWindowLayout/loadWindowLayout now retains user window positions #9056
- memory leak when deleting areas in a map #9092
- clickable links losing their URL query parameters #9073
- Garbled error messages when passing wrong argument types to popup functions #9090
- map exits corrupted when loading maps with invalid room IDs #9089
- Correct call() return value so timer error handling reads correctly #9088
- Show SSL error messages when secure connection fails #9055
- ansi_color table loading order #9084
- crash when keychain operation times out #9072
- Updater crash on Windows when download URL is unavailable #9067
- Changing one profile's password no longer affects others #9049
- custom map events not firing when placed in submenus #8998
- timeframe failing if third arg is nil #8964
- PasswordMigrationTest to build #9032
- Separate user and MXP borders so reconnect doesn't reset user borders #9016
- Restore password loading from portable file in connection dialog #8993
- Clear package list before repopulating in Package Exporter #8892
- Input bar height changes unexpectedly when switching profiles #8958
- Room symbols not rescaling when map is resized #8974
- Prevent crash when closing detached windows #8934
- Restore sound playback on macOS #8949
- Update ssh IP for Geyser upload workflow #8995
- Correct TestMask to exclude internal flags #8954
- mudlet does not close after running lua tests #8979
- Clang-format hash in .git-blame-ignore-revs #8882
- [#6964] spairs chokes on mixed keys #8868
- align MSDP negotiation to specs #8905
- Crash when removing default MUD profiles from welcome window #8916
- MXP not working on some MUDs #8915
- clean up comments and related translation things #8914
- Command history not working when password masking is disabled #8902
- Revert default map format to 20 in PTB / - Make main console default to opaque text background, allow user to customize #8887
- Delay MXP TEMP_SECURE mode reset to allow tag handling #8889
- PTB crash on some Linux systems due to libxcb-cursor bug #8866
- Player shown on far side of map when mapper window is wide #8869
- db:_coerce_sheet backwards compatibility #8861
- Map labels appearing bold after profile reload #8865
- macOS color buttons not showing colors in settings #8847
- Make update dialog release notes keyboard accessible #8849
- Restore desktop shortcut creation on Windows install #8841
- Crash when drawing map labels at small zoom levels #8836
- Disable AddressSanitizer for release builds #8826
- Remember scroll position and cursor position in script editor #8410
- Use custom dark theme on all Windows versions #8819
- Map area centering displaying areas off-screen #8814
- Crash when nested alias/trigger processing runs cleanup prematurely #8818
- table.update no longer errors when replacing non-table with table #8694 #8751
- Editor actions not working on initial open #7482 #8753
- Revert map rendering optimization causing issues #8809
- Medievia encoding showing error in preferences dropdown #8811
- MXP FRAME close tags appearing as literal text #8808
- Timer groups display correct icons when drag-dropped #8802
- Map labels appear crisp at all zoom levels #8795
- honor 'disable automatic updates' setting when installer is already downloaded #8409
- OSC sequences with BEL terminator no longer swallow output #3912 #8750
- Windows crash when saving profile config #8427 #8428
- Big5 and East Asian text encodings not working on Linux #8787
- compile in latest development due to map update changes #8800
- Improve error handling in setLabelStyleSheet() #8446
- Add outline to area exit arrows for visibility on matching backgrounds #8794
- mapper not reopenable after closing via X button #8401
- Disable 'Activate' button in Variables view #8441
- Prevent crash in MXP watchdog callback #8785
- Memory leaks in ScriptUnit and ActionUnit (8,856 bytes) when opening/closing profile #8781
- Potential crash during automatic update download #8776
- Include full version in Sentry crash reports for PTB builds #8779
- Improve build documentation clarity for terminal execution #8774
- Regex triggers now respect 'keep' background color setting #8402
- Remove unnecessary allocation in filter trigger matching #8763
- default new profiles to UTF-8 encoding instead of ASCII #8759
- Accessibility crash with out-of-range offset #8310 #8752
- named captures indexed incorrectly in multimatches with special line types #8748
- Update trigger icons immediately when dragging in editor #8746
- connections to MMapper #8730
- prevent module autosave from overwriting failed-to-load modules #8696
- GMCP media finish parameter not working #8740
- Modules not loading when reopening a profile #8739
- Package Exporter unable to export packages #8629 #8630
- Memory leaks in core components #8716
- Windows installer failing after update #8710
- Down arrow saves typed text before clearing #8705
- Restore Windows application icon #8703
- set enableMXP when MXP is autodetected #8701
- 8 CodeQL 'comparison result is always the same' warnings #8691
- CodeQL inconsistent nullness check errors in temp trigger functions #8690
- restrict MXP auto-detection to ESC sequences only #8692
- Windows Start Menu shortcut missing after install #8686
- Use fixed delay instead of waiting for crashpad #8679
- Windows updates failing due to locked folder #8678
- Wait for crashpad_handler.exe to exit before running installer #8676
- copy downloaded installer instead of moving file on Windows #8675
- Create shortcuts when handling Squirrel install events #8672
- Wait for Mudlet to exit before running installer on Windows #8673
- Handle Squirrel installer startup commands on Windows to prevent Mudlet getting closed #8666
- Prevent crashpad_handler from getting a Windows Start Menu entry #8659
- Windows updater file lock issue in dblsqd (prevented updates) #8661
- Windows updater launch using batch file to avoid quoting issues when updating PTBs #8663
- Mudlet freeze when receiving large amounts of data #8644
- Container overflow crash when processing text #8647
- Build failures after dependency updates #8645
- package manager loses title on uninstall #8625
- Windows updater deleting itself during update #8622
- crash in bi-daily update check #8620
- crash in bi-daily update check
- clicking on stacked rooms selects all of them #8616
- use-after-free crash when calling registerMapInfo #8609
- Prevent crash during Mudlet shutdown when closing profiles #8606
- Forward secrets.SENTRY_DSN to CMake on Windows #8615
- Static fonts configured in 4.19.1 continue working after upgrade #8545
- convert raw Qt pointers to QPointer to prevent use-after-free #8610
- maintain backwards compatibility when loading rex_pcre2 #8599
- missing encodings in dropdown for Qt6 #8605
- Medievia encoding error in preferences dropdown #8608
- load PCRE2 in LuaGlobal #8598
- fix inconsistent nullness checks #8586
- Test builds now use keychain for password storage #8589
- Heap-use-after-free crash when closing profiles with active triggers #8567
- heap-use-after-free when cleanup runs during alias/trigger/key processing #8571
- potential issue in area image export #8585
- Restore Qt5 Core5Compat for third-party dependencies #8578
- Reduce redundant UTF-8 conversions in trigger processing #8560
- Improve performance of hyperlink style parsing #8558
- Remove duplicate context menu on AdjustableContainer title bar #8569
- Copy from console now works when command line has focus #8551
- Remove deprecated Qt5 Core5Compat dependency #8550
- crash when rapidly reloading plugins due to thread-safety issue in XML export #8542
- switch to FFMPEG audio backend on Windows to allow playback of .ogg and .opus audio files #8329
- Debug console crash when host is deleted #8549
- Special exit text unreadable when editing #8543
- Comprehensive package installation crash prevention #8541
- Auto-activate new triggers/aliases/scripts/keys on save #8529
- Unicode characters display correctly in unhandled MXP tags #8532
- fix flaky TelnetTextDisplayedTest in CI #9193
- fix partial PTB releases not triggering when push build exists at same SHA #9192
- fix Windows SHA256 missing from PTB releases #9191
- allow partial PTB releases when not all platforms succeed #9163
- migrate undo/redo tests to QTest framework #8867
- stop deleting and recreating GitHub releases on every build #9176
- skip duplicate PTB builds when no new commits exist #9175
- sync edbee-lib submodule to fork master #9183
- Bump actions/download-artifact from 4 to 8 #9179
- Bump actions/github-script from 7 to 9 #9181
- Bump 3rdparty/sentry-native from - fix Windows and macOS nightly build failures #9173
- add missing statuses:write permission to DangerJS workflow #9172
- fix DangerJS workflow vulnerability to malicious PRs #9143
- add non-compileable files to CMake project file #8780
- update sentry-native to 0.13.5 #9158
- update edbee-lib submodule & use system oniguruma if present #9156
- fix PTB registration by reverting installer filename convention #9155
- show changelogs both from last release and last PTB #9151
- fix CI bugs in PTB registration, macOS updater linking, and portable ZIP upload #9154
- fix Windows release asset upload and appcast SCP paths #9152
- fix Windows PTB registration failing after installer rename #9150
- release workflow failing due to PR build triggers and checkout wiping assets #9145
- add CI workflow to create GitHub Releases for updater #9127
- Update text for translation in Crowdin #9136
- Bump lukka/get-cmake from 4.3.0 to 4.3.1 #9139
- Add comprehensive variable editor tests #9103
- add comprehensive resetProfile() test suite #9082
- add cross-reference comments to duplicate build workflows #9069
- remove disabled clang-tidy workflows #9113
- Bump 3rdparty/qtkeychain from - Update text for translation in Crowdin #9124
- speed up OSC tests with data-driven approach #9120
- Add Copilot skill for opening pull requests #9105
- Bump 3rdparty/qtkeychain from - Update text for translation in Crowdin #9077
- disable CodeQL poorly-documented-function query #9079
- Bump webfactory/ssh-agent from 0.9.1 to 0.10.0 #9047
- restore xcb-util-cursor resiliency changes #9074
- Bump lukka/get-cmake from 4.2.3 to 4.3.0 #9087
- Fix macOS CI: use AppleClang instead of Homebrew LLVM #9078
- remove leftover qgridlayout ordering script #9075
- enable set -e in Linux CI deploy script to catch failures #9059
- install - Migrate to clang64 msys2 environment for Windows builds #9064
- remove ccache mutex locks #9043
- add retries to brew install to handle hangs #9045
- remove CodeQL CI's concurrency #9044
- Fix windows builds in - Bump development version to 4.20.1 #9050
- Update text for translation in Crowdin #9040
- remove qgridlayout ordering workflow #9038
- Update autocompletion data in Mudlet #9041
- update target path for file upload in geyser-docs workflow #9030
- Change SCP target host for file uploads #9003
- Dedicated workflow for prs #9033
- Remove unnecessary null checks after new #9014
- speed up compilation of Mudlet by 25% #9021
- Enable TTS in macOS builds #8921
- make xcb-util-cursor download more resilient #9012
- re-introduce path stripping in geyser-docs.yaml #9023
- ccache key should be per pr/branch #9010
- use release-signing for releases, test-signing for PTBs #9007
- always run build ci in core branches #9008
- Update text for translation in Crowdin #9009
- increase SignPath signing timeout to 1 hour #9002
- Refactor geyser doc upload workflow #9001
- run undo/redo tests in test mode #8992
- fix unintended ccache collisions #8991
- Bump actions/upload-artifact from 6 to 7 #8989
- CI concurrency logic #8990
- Bump ZedThree/clang-tidy-review from 0.23.0 to 0.23.1 #8988
- Update text for translation in Crowdin #8940
- [ImgBot] Optimize images #8925
- Bump development version to 4.20.0 #8919
- Bump 3rdparty/sentry-native from - Add SignPath Foundation attribution to README #8895
- Update autocompletion data in Mudlet #8903
- Update text for translation in Crowdin #8901
- use pcre2grep in CI validation #8878
- set next-next release to be 4.21.0 #8883
- disable signing MudletCrashReporter.exe temporarily #8880
- add qtkeychain-qt6-dev to Linux workflows #8876
- switch qtkeychain submodule to upstream #8870
- detect Lua test failures on macOS CI #8852
- Remove x64 from Windows PTB desktop shortcut name #8845
- Bump lukka/get-cmake from 4.2.2 to 4.2.3 #8844
- Bump 3rdparty/sentry-native from - Update text for translation in Crowdin #8839
- Fix SignPath code signing policy configuration #8834
- Revert uploading debug symbols to Sentry for PR builds #8832
- Fix Windows code signing by adding SignPath v2 policy file #8831
- Upload debug symbols to Sentry for PR builds #8830
- Remove unused QKeychain forward declarations from CredentialManager.h #8829
- Remove dead CMake code in Sentry configuration #8828
- Bump lukka/get-cmake from 3.30.3 to 4.2.2 #8822
- Bump actions/upload-artifact from 4 to 6 #8823
- Bump actions/cache from 4 to 5 #8821
- Bump 3rdparty/sentry-native from - Cache sentry-native builds in CI #8807
- Add .git-blame-ignore-revs for formatting commits #8805
- Update text for translation in Crowdin #8816
- update plural american english translations #8478
- add clang-format instructions to AI guidelines #8806
- Apply clang-format to all CPP files #8804
- Add SignPath code signing for Windows builds #8786
- update clang-format style to match Mudlets as much as possible #8380
- Enable Qt breadcrumbs in Sentry crash reports #8791
- Fix Windows nightly build failure when no new commits #8790
- Bump 3rdparty/sentry-native from - upload Qt module debug symbols to Sentry using cv2pdb #8782
- Update autocompletion data in Mudlet #8789
- Update text for translation in Crowdin #8788
- Upload Qt debug symbols to Sentry for better crash reports #8777
- Remove Azure trusted signing from Windows builds #8778
- Bump 3rdparty/edbee-lib from - Bump 3rdparty/sentry-native from - remove - Update autocompletion data in Mudlet #8769
- Update text for translation in Crowdin #8767
- Update bundled mpkg.mpackage to latest upstream #8768
- reduce Mudlet build times by 30s #8403
- Add Claude Code slash command for creating PRs #8761
- Guard undo/redo debug messages behind compile flag #8760
- Simplify profile loading code #8756
- Improve code readability with cleaner empty checks #8755
- Reduce noise in automated code review comments #8754
- simplify CI 3rd party update workflow #8737
- improve safety of internal text handling #8724
- uppercase settings key in config #8246
- Simplify build system by removing unused QMake files #8731
- modernize loop syntax across codebase #8733
- simplify cmake build configuration #8732
- simplify network connection handling #8735
- Add a security policy for reporting vulnerabilities #8723
- Update text for translation in Crowdin #8728
- Update autocompletion data in Mudlet #8729
- revise displayed Copyright year to 2026 #8727
- eliminate remains of qt-ordered-map from Mudlet #8720
- Clarify CI build option label #8714
- allow CMake - run memory leak checks as part of CI pipeline #8316
- remove debug logging from undo/redo feature #8713
- Update text for translation in Crowdin #8698
- check for sentry-native submodule when Sentry enabled #8669
- address feedback in event handling from no-op operations #8667
- Add telnet processing speed benchmark #8658
- Replace foreach with C++17 structured bindings #8664
- Add ccache stats to Windows build workflow #8671
- Fix Windows PTB rebuild versioning for Squirrel #8670
- allow Windows PTB builds to be re-done on the same day #8668
- fix crashes in undo/redo tests #8665
- add proper Qt event propagation in all events #8444
- Bump actions/upload-artifact from 5 to 6 #8657
- Ignore lcf submodule in Dependabot, remove vcpkg #8654
- Bump ZedThree/clang-tidy-review from 0.22.2 to 0.22.3 #8656
- Update Lua code formatter to latest upstream branch #8653
- Bump 3rdparty/sentry-native from - Bump peter-evans/create-pull-request from 7 to 8 #8638
- Bump 3rdparty/lcf from - Bump actions/cache from 4 to 5 #8636
- Update autocompletion data in Mudlet #8634
- Update text for translation in Crowdin #8633
- SENTRY_AUTH_TOKEN diagnostic checks environment variable #8618
- Bump 3rdparty/sentry-native from - Update text for translation in Crowdin #8613
- add workaround clang-tidy-review directory bug #8597
- update communi to qt6 #8584
- more fixes to clang-tidy workflow #8596
- fix clang-tidy workflow #8595
- update Qtkeychain submodule from master to main branch #8579
- Bump ZedThree/clang-tidy-review from 0.22.1 to 0.22.2 #8594
- ignore macOS keychain for telnet functional test #8592
- complete devcontainer setup #8587
- Update text for translation in Crowdin #8590
- remove item check in saveSelectedItem #8583
- Remove else-after-return anti-pattern #8575
- update devcontainer to work #8321
- Bump ZedThree/clang-tidy-review from 0.22.0 to 0.22.1 #8564
- Bump actions/checkout from 5 to 6 #8565
- Bump 3rdparty/edbee-lib from - Update text for translation in Crowdin #8561
- Update AI instructions with comments and git guidelines #8531
- Fix CMake CMP0167 warning for Boost #8538
- Add NINJA_STATUS to Windows build #8539
- update Noto Color Emoji font to Unicode 17.0 v2.051 #8535
- Add regex busted tests for PCRE library #8537
- Revert "Add per-room border color and thickness"
- Revert "Fix crash in bi-daily update check"
Full changelog since last release (Mudlet-4.20.1)
Added:
telnet:// URI scheme support for one-click MUD connections #8601
Improved:
Fixed:
development #8891
Infrastructure:
6ebd29b to 93c4e32 #9178
6e90eda to 53a8e6a #9126
844beb4 to 6e90eda #8973
libspeechd-dev for Linux CI to fix AppImage creation #9058
development #9042
c80e793 to 383ccad #8913
08b1374 to c80e793 #8843
bbccfad to 08b1374 #8820
11832e4 to bbccfad #8792
cf7f0ba to 7e7c0f6 #8770
4f983bb to 11832e4 #8771
travis. prefix from CI files #8375
initGitSubmodule.cmake to act recursively #8717
67a9f8e to 4f983bb #8637
4aa2502 to 55aaf85 #8639
c5416e6 to 67a9f8e #8617
165edc0 to cf7f0ba #8563
Other: