News/ 2026/ February/ 4.20 – a Mudlet release for 2026 Release 4.20.0 4.20 – a Mudlet release for 2026 VP Vadim Peretokin· February 4, 2026 In this post New default games Detachable windows Revamped package manager Mapper improvements Video support Better game links support Qt 6 Credits This new release of Mudlet sees 46 new features added, 91 improvements, 142 bug fixes, and numerous behind-the-scenesinfrastructure changes. You might have had to wait a while longer than expected since our last Mudlet release. But we did not slack. We worked hard. And don’t worry, we are already working on more of the same for the next update! The Mudlet development team are pleased to bring you the next release of Mudlet 4.20. Read on for a short rundown on some of our more exciting improvements. Reminder: Remember to enable automatic updates in the preferences so you get access to the latest important bug fixes. Note: Mudlet no longer supports 32-bit Windows builds on Windows. If you are using an older 32-bit build on Windows (check the About window to find out) you will need to uninstall Mudlet, then download the latest release and reinstall. All of your things still stay. New default games Three news games added to the default list this release: Astaria, Petria, and Medievia. Here is what they have to say: Once more unto the breach, dear friends… Welcome Traveller, your sojourn awaits. Only one step remains between you and a realm where your mind can soar, unbound from the fetters of the mundane world. Let your spirit take shape in one of fifteen races, cast your will into one of nine guilds and begin your journey towards destiny. Forge friendships. Gain power. Vanquish enemies. Work with your allies toward goals greater than yourself. Become part of the rich history of adventurers who have made their home in a world that is immediately fun and will continue to challenge and stimulate for years to come. Step through the portal, and immerse yourself in the mythical world, Astaria. Astaria is a free-to-play MUD with an RP-optional atmosphere, set in a medieval fantasy world with a touch of cosmic horror. Active since 1994, it’s a realm where dragons still roam, adventures await around every corner, and new heroes are always welcome. Petria MUD Activo desde 1996, es uno de los juegos en Español más longevos y con comunidad activa hasta hoy. Un mundo de fantasía gratuito donde podrás jugar distintas razas y clases, unirte a clanes, explorar, participar en torneos y vivir aventuras épicas. • Gratis y en Español. • Eventos dinámicos: Torneos, Asaltos de Clanes, BattleGrounds (War of Flags), Quests, entre otros. • Más de dos décadas de historia, con constantes mejoras y nuevos contenidos. En Petria podrás forjar tu camino, defender a tu clan y escribir tu propia leyenda. If you take the deepest and most advanced game possible, and mix it with the best chat world around, what you have is Medievia. Imagine…Endless player-created areas to explore for the first time.Ships you can take out to sea. You can go crabbing, kill monsters, attack other ships, explore new islands, etc.Dragons that hunt you, good dragons that fly you places, dragon lairs you can defeat, etc.Trading for gold where you take goods via covered wagon/mules across the wilderness through adventure after adventure from trade post to trade post. Now you can even go right under the ocean to undersea trading posts.Player vs Player action in zones, ships, wilderness, hero battles, arenas, CPK, NPK, LPK, etc.Joining a clan, the clan can join a town, or go ahead and make their own town in the wilderness.Giving birth and creating your own bloodline. If your bloodline gets big enough you can build homes and castles.A game that has the intuition to track your happiness, pride, sadness, and fear while changing itself to fit your needs!Weather, storms, wind, fire, floods, disease, even asteroids. This may be text but it is the most dynamic game ever attempted. The wind affects the ships, where fire spreads, and even how some critters smell you if you are upwind from them. Do you dare enter? Detachable windows Multi-monitor Mudlet anyone? Detached windows transform into fully functional independent workspaces with complete menu systems and proper focus management – all without having to open up multiple instances of Mudlet! You can now just drag tabs out of Mudlet for them to become their own windows. Revamped package manager Whilst the Package Repository has been live for a number of months, this release sees an overhaul of the Package Manager. View, search and install from the Package Repository directly in Mudlet. mpkg, the command line interface for the repository is also installed by default on new profiles. The Package Repository is open for submissions from our thriving community and with over 180 packages available to install, you’re bound to find something to help in your day to day mudding. Share your packages today! Mapper improvements Lots of subtle fixes and improvements to our favourite feature – the Mapper. 3D mapper rendering improvements and additions, multiline and font outlines for labels, transparency for backgrounds, display the upper and lower level (+1/-1 Z axis) in the current area, middle mouse panning, drawing of a grid overlay, and plenty more! Video support You can now play videos inside Mudlet! Great for ambience, your custom UIs, or even game tutorials. See the manual on how to get started. Additionally, .ogg and .apus audio files are now supported! Better game links support Games that support the OSC 8 hyperlink protocol can now send richly styled clickable links. This includes: Custom colors for visited and unvisited links Hover effects so you know what’s clickable Tooltips for extra context without cluttering the screen Context menus – right-click a link for multiple actionsThis is part of Mudlet’s progressive OSC 8 implementation. If your favourite game doesn’t support these features yet, point them to our manual for implementation details. Better accessibility support This update also improved accessibility by fixing screen reader support for the main output window search, reducing screen reader spam when navigating packages, and converting HTML error messages to plain text. Keyboard navigation was enhanced with auto-focus redirection to the command line and the search via F3 restored. Qt 6 Mudlet is built on the Qt framework and has now fully migrated to Qt version 6. This brings subtle but meaningful visual improvements such as improved HiDPI support and better rendering performance while maintaining familiarity. The changes are evolutionary rather than revolutionary, focusing on modernisation and performance improvements rather than dramatic visual overhauls. Not sure what that means? Mudlet should look a little crisper and perform a touch faster. Credits Of course, none of this is possible without the huge amount of hours our volunteers donate to the project. Thanks to all translators, wiki editors, patreons and support provided by our community on Discord! A special shout out goes to all of the coders who donated their time to the project: Andy Smith, AriaN, Dustin Heywood, Excellencedev, Harrison Martin, Kebap, Lorenzo Bloedow, Michael Edwards, Mike Conley, Morquin, Nicolas KEITA, Piotr, Rishi Mondal, Sanaki, Stephen Lyons, Tim Johnson, Vadim Peretokin, Zooka, coder1152, hp, keneanung, missionz3r0, neo773, patrickvinas, sammerpetria, and wrmcquistan. The developers would also like to thank those who participated in our 2025 survey. While they didn’t have time to get all the great suggestions and feedback into this release they did manage to sneak a few in. We all look forward to see what is in store for the next release. So a big thanks to them as well! >changelog — Mudlet-4.19.1…Mudlet-4.20.0 607 changes added changelog option to Mudlet menu #7355 give map label text the ability to have an outline #7598 Medievia Patreon sponsorship #7627 StickMUD to about menu #7628 Add additional functions for profile management #7652 draw upper and lower levels in the mapper #7654 add mpkg as a default package #7676 Adds hanging indent on wrapped lines #7679 Add Lua tests on Github Windows build #7695 Video capability for MCMP and Lua API (PR 1 of 2) #7706 Video capability for MCMP and Lua API (PR 2 of 2) #7721 provide `getCollisionLocationsInArea()` function for map #7707 Caps and Purges for Playing Media #7830 Closed Captioning for Media #7838 Support for OSC 8 Hyperlinks #7828 sysConsoleSizeChanged event triggered on resize and timestamps toggling #7870 Retrieve log directory with getConfig() #7877 Add native LLM support #7884 Disable Editor Autocomplete with "mudlet access on" #7876 Enable Special Option for Version Number in TTYPE for Compatibility #7888 add getPID() to return process id #7928 Password visibility toggle for command line during echo suppression #7932 newtry Auto-redirect keyboard focus from output to command line #7933 Automate TTYPE Version Compatibility for KaVir Protocol Detection #7936 Multi-window support with drag-and-drop tabs #7934 Add lua function to set active tab #7961 VS Code file associations and C++ development settings #7971 sandbox loading metadata from packages #7972 support for starting Mudlet in fullscreen mode via command line #7980 Mudlet will ring normal OS alarm sound when receiving ASCII BELL character #7967 Add UI-design-philosophy.md #8002 Add portable downloads #8006 openMudletHomeDir() #8026 streamlined module creation feature #8039 multi-select functionality in script editor #8056 map info to the 3D mapper as well #8142 customize MXP link text with mxp.send.text #7947 Add Petria as a default game #8169 Add Astaria as a default game #8168 export areas as an image #8156 Add a Mudlet Tutorial profile. #8188 Add UI option for setting buffer size, increase default to 100,000 #8222 Add a moveable splitter between command line and search bar #8243 options to permanently hide banner items #8244 Enhanced OSC 8 Hyperlink Styling with CSS-Style Decorations and Menu Support #8262 UI option to toggle showing bottom/upper levels #8278 MXP EXPIRE tag support for expiring links #8383 drag and drop for room movement (without need to open context menu and picking Move) #8398 sword icon for the player in the 3D mapper #8185 snapping controls to custom line editing #8396 Add namespaced Lua and Mudlet functions to autocomplete #8413 Add mapInfoColor support to setConfig/getConfig #8404 Delete functions for UI elements (labels, gauges, miniconsoles, etc.) #8387 error messages when game packages fail to download #8381 one click interactions with map objects when popup menu is opened #8399 Add comprehensive Busted tests for permGroup function #8412 Happy-eyeballs (try IPv4 and IPv6 connections simultaneously) #8135 middle mouse button panning 2D map #8512 show map grid option #8517 MXP support for H1-H6, HR, SMALL, and TT HTML tags #8488 Clickable hyperlinks in labels with custom styling #8527 data loss guard on constraint migration #8850 improved Update update-translations.yml re-add regex highlighting #7570 more intuitive package exporter & remove required fields #7582 show a warning if an item in a package has been edited #7411 report Mudlet client name and version over MSDP when enabled #7605 add profiling for auto-login process and log loading times #7621 script editor search results can be resized #7626 db: error message for a missing field #7647 add package descriptions to default-installed packages #7648 add assertions to improve error message quality #7634 Improve script editor UI for editing event handlers #7665 remove default icon for packages with no icon #7671 make map label input box handle more than one line. #7674 revise 3Kingdoms and 3Scapes icons #7683 add processor compilation details to getOS() output #7686 add Noto-Color-Emoji font support to FreeBSD builds #7710 New Crowdin updates #7600 provide "NewLoad/NotReset" flag to sysLoadEvent #7726 add execution time to lua scripts in debug window #7731 remove qt5 checks #7736 consolidate protocol check boxes to a dropdown menu #7744 don't show tray icon for notifications #7743 simplify input line tab in preferences #7746 New Crowdin updates #7722 better drawing of proportional fonts #7766 remove delete map checkbox #7768 move proxy settings in preferences to a single line #7772 always show full screen buttons and remember last state #7773 add means to close-by-mouse Mudlet when it is full-screen #7776 New Crowdin updates #7771 report SGR details that Mudlet does not currently reproduce #7781 New Crowdin updates #7791 New Crowdin updates #7795 make Notepad font track Main Console one #7800 New Crowdin updates #7799 New Crowdin updates #7829 New Crowdin updates #7844 allow db:close to accept a db_name #7849 Improve clicking around the map #7739 Update src/mudlet.cpp - ashyriamud.com is defunct and should be removed from the list of muds for the IRE mapper. #7798 move font selection widgets to a proper font dialog in preferences #7750 add named substring and regex triggers #7767 unique constraints for lua db #7852 auto-add llamafile .exe suffix for windows #7895 convert HTML currently in script editor error messages sent to screen readers #7507 Changed std::string windowNames to QStrings #7905 Support custom opacity miniconsole backgrounds #7917 IRE composer edit handling to use modern code #7979 default to hidden toolbar (huge buttons) by default #7998 ensure at least one tab is present before detaching in the main window #7996 don't show connection status in tabs by default and add an API option #7997 Editor to display intro texts more cleverly #8012 New Crowdin updates #7854 remove ambiguous width East Asian option #8020 Secure credential management with system keychain integration and legacy migration #7956 Allow users to set map background alpha #7958 move Ambiguous East Asian Width option control from preferences to setConfig() #8061 make text for auto-enabling MXP more palatable for casual players #8089 Synchronize getConfig/setConfig functions and fix missing configuration options #8075 More intro texts and links #8074 Move "Timestamps" to options, "Fullscreen" and "Multiview" into new window menu #8000 align 2D map zoom in/out with other applications #8095 Clean up keychain entries when deleting profiles and creating new ones #8103 add a new, experimental 3D mapper #8087 automatically select ctrl+f search box #8146 3d map - add intuitive mouse camera controls #8147 add instanced rendering to 3D mapper #8140 Allow users to specify saveProfile filename #7982 [ImgBot] Optimize images #8184 make rooms flat, fix drawing order, and add volume to exits in experimental 3D mapper #8176 Use TLS and new URL for Morgengrauen #8180 always enable smooth movement in modern 3d mapper #8191 remove Lua API loaded and Map loaded messages #8190 3d map experiment - add in out exit indicators #8202 Don't start Tutorial on every Localhost connection #8236 Match detached window menu to main and focus behavior #8196 instantly move camera between areas in 3d mapper #8223 make the text for adding a new trigger/alias/etc less visually 'loud' #8224 add remove icon button to Package Exporter #8216 Improve widget naming in connection profile window #8217 adding Send buttons to Notepad to send text directly to main console. #8225 New Crowdin updates #8053 populate search bar from ctrl-f #8229 Allow 3d rotation via SHIFT + drag #8276 add a remove dependency push button to package exporter #8311 set a random player location on new map load #8326 Enhanced password handling with smart restoration and user options #8213 Move CHARSET and NEW-ENVIRON protocol settings to General tab #8365 split map mouse interaction code, for better readability, improve handling of user interactions #8356 Improve multi-line trigger delta explanation in UI #8406 sendGMCP and sendATCP error messages #8386 Reduce pattern lines in trigger editor #8239 updated Package Manager with in-built repo browsing #8392 re-organise mapper options into a hamburger menu #8280 remove forced wrapping from protocol enables #8504 update keyboard shortcut in editor and close button icon in trigger editor #8477 add red cross to replay button #8528 remove navigation shortcuts widget from trigger editor #8530 Remove accessible description from trigger pattern editor #8546 use platform-native key names in UI text #8591 Auto-recover from stuck password masking during login #8628 Migrate C++ regex engine from PCRE to PCRE2 #8533 New Crowdin updates #8253 fixed fix the brew dependency to working one for lua #7580 show room symbols at smaller sizes #7593 copy to clipboard after double clicking on a word #7589 ignore 'nil' room titles in generic_mapper #7623 Windows updater 'deletes' Mudlet #7620 `matches[]` in temp*Trigger functions not always working #7624 don't downgrade 64bit Windows installs to 32bit #7640 pasting multiple lines into triggers keeps only the first #7633 put an outline around command lines #7644 Fix skipping word-wrapped lines #7643 Clear event handler field for new scripts #7660 ensure a script editor list item is always selected #7663 disable connect and offline buttons when a profile is in use #7673 use map symbol font when entering or showing Map Symbols #7675 update links to point to mudlet package repository #7677 Fix searching the main output window which was not accessible to screen readers #7579 revise the generic mapper to parse room names with double spaces #7682 Enable connect and offline buttons when selecting currently open and then different profile #7692 disable recently added toolbar actions until profile is opened #7685 prevent crashes when shortcuts are empty #7690 Restore Raw Telnet Client.GUI Package Processing #7704 Fix reduce c++20warnings #7638 Fix missing qt6 reference in Travis script #7709 map update show message when manually called #7699 Fix a typo in profile loading message #7732 fix trigger editor display of compile errors in lua patterns #7728 module uninstall silently failing #7737 Fix notifing on new text when all the new text is deleted #7715 update flatpak manifest with QT6 #7738 don't clear protocol checkboxes #7756 incorrect initialisation of Host::mEnableMSDP #7762 add correct mudlet-lua path for win11 QtCreator builds #7774 slice up QKeySequences correctly for Mute/Unmute #7610 Fix typos in error messages #7788 put Qt translations in correct location #7794 update Geyser.Label doc to correct color parameter #7792 Fix packages not behaving as same as modules #7729 Avoid corner cases by reconnecting if the same profile #7698 #7778 update map colours when changed in preferences #7769 restore use of F3 for keybindings when not used for searching #7783 get Mudlet compiling with Qt 6.9 #7805 change SingeLineTextEdit to a QPlainTextEdit to avoid html parsing #7817 fix createConsole wrongly rejecting all window names #7809 make installPackage(...) return the boolean it is supposed to #7818 Add windowname arg to Lua replace and replaceLine #7797 revert/advance to luasql-sqlite3 2.6.1 on all OSes #7822 playMusicFile() and playVideoFile() heap-use-after-free crash #7824 correct the locale used when generating translations #7836 ensure we include the right Lua header files #7842 RFC 854 compliance for DONT/WONT #7848 vertical alignment of glyphs #7840 Lua local variable declaration leaks into global #7853 correct bogus Qt build version check in QMake project file #7868 luaGlobalpath and revise LuaGlobal.lua file #7865 Process MXP per negotiation #7862 db:Timestamp's usage throughout the db module #7871 preferences font dialog would crash without a valid host #7885 Lua send('', false) sends a new line #7874 Process empty GMCP message bodies #7875 F3 Search Accessibility Checkbox Profile Saves #7878 move font dialog to appropriate host related functions #7887 Command Line to Password Field with ECHO off #7882 getFont() reflects changes after setFont() is called #7880 Increase command line height more when input is wrapped so previous text doesn't become hidden. #7898 broken AND-Triggers with only one item #7909 get Ctrl+# to work on AZERTY keyboards #7915 Several Wordwrap issues - Indent, HangingIndent, international character widths #7714 Update to correct port for Lusternia and Imperian #7920 Suppress a blank line after triggered echo with newline suffix #7923 Process MXP per negotiation (Part 2) #7916 Command line text cleared during echo suppression #7924 restore upper and lower room 2D mapper colours for Qt >= 6.6.0 #7925 Remove extra added linebreak for command echoes during trigger processing. #7939 fix cmake with lua 5.2+ #7944 getTextFormat() Boundary Checks and Add Comprehensive Test Coverage #7883 Keep opaque autofilled background for MainConsole #7942 fix crash in processRegexMatch #7943 Remove redundant mIsBeingDestroyed flag from cTelnet #7950 ordering of languages in directory selector #7954 Block auto reconnect if connection duration less than 5 seconds. #7952 Modified DB.lua assertion to allow for default false fields #7931 Improve echo suppression logic #7951 Prevent temporary MultiView arrangement during tab detach/reattach operations #7953 Update connection error messages/checking for multilingual Mudlet #7957 New Triggers, Aliases, and Scripts can now be disabled #7945 Replace deprecated Qt6 methods to resolve Codefactor warnings #7963 Improve tab indicators and detached window UX #7965 Fix emergency stop button to work for events as well #7977 Prevent heap-use-after-free crash during Mudlet shutdown #7986 Toolbar button state when main window has no active profiles #7990 Don't drop editor items too far to the left anymore #8010 Show sent commands -> Always / Script Controlled / Never #7881 Fix LLM crashing on exit, hanging Mudlet #8021 save any pending edits before saving profile to disk to prevent data loss #8017 ignore non-xml files in profile history #8035 CodeQL to build using Qt6 #8046 Remove noisy CredentialManager debug messages #8055 Revert "Improve: remove ambiguous width East Asian option (#8020)" #8057 Prevent duplicate connection attempts after disconnect-reconnect sequence #8038 partial revert of change to link-ptbs-to-dblsqd GH Actions workflow #8062 Close Profile menu closes wrong profile in detached windows #8073 buffer underflow crash in OSC sequence processing #8007 Add alpha to setMapBackgroundColor and getMapBackgroundColor #8071 fix assert in setGauge #8078 Connection dialog character name save issues for default games #8101 drag and drop of profile tabs not showing profile names #8097 Linux 'light' apperance still keeping Mudlet dark when OS theme is dark as well #8098 crash on exit in development with CredentialManager #8121 remember 2D/3D map status for the mapper #8117 Assertion failure for SlothMUD on Windows #8105 Fix 'unknown view' texts in command-line output #8134 anti-alias text for errors view and debug view #8124 options overflow when option is higher than 126 #8131 Fix 'failed to open profile data file for reading' message spam in development #8133 crash in detached windows while importing #8141 getConfig Lua wrapper now passes all arguments to enable enhanced API #8161 Main window title not updating when profiles are detached #8195 Restore Focus when return from alt+tab. Issue #6164 #8186 revert moving Ambiguous East Asian Width option control from UI to setConfig #8148 don't allow moving camera angle to look from below ground in 3D mapper #8189 3D Map - Fix lighting for cubes #8200 Removing CoreMUD until they finish redevelopment #8228 re-enable custom dark theme for Linux and Windows 10 #8226 Fix map room list still showing after deleteMap #8210 set a background colour for tutorial banner #8237 disabled scripts appearing to enable on first launch #8247 prevent password loss in PTBs and improve credential debug messages #8257 Interim solution to remove search bar from miniconsoles #8288 Button bar gets focus when starting a profile #8289 draw background labels above upper & lower room levels #8263 increase minimum width for search bar, buttons, latency #8305 update export directory in package exporter #8309 refresh dependencies when switching packages in package exporter #8312 Fix crash on exit when closing multiple profiles #8203 pasted triggers losing content #8303 3D mapper crashing right on load #8319 1440 byte leak fix in connection profiles #8318 64 byte shortcuts memory leak #8317 Fix error messages not to be dismissable anymore #8315 maps not being removed from memory when profile is closed #8019 make leak sanitizer happy in i18n #8328 crash on Alt+w when closing multiple profiles at once #8301 leak in setting edbee theme in trigger highlighter #8352 Fix memory leak when closing mudlet profile #8353 memory leak in async XML export functions #8354 remove icon button when package is changed #8363 delete new variables #8323 Fix settings not saving on first launch #8327 deprecation warnings not to appear in Qt 6.8.3 #8368 clearCmdLine() not clearing sub-command lines #8370 getPlayingMusic() returns wrong value when filtering #8362 detached window not correctly setting profile key shortcuts #8330 Restore correct bold handling for ANSI colors 8-15 #8385 Propagate capture offsets to child triggers, so child triggers work correctly with selectCaptureGroup #8331 memory leak that happened when running tests #8364 MXP parser blocked on non-escaped '&' and '<' characters #8274 Password not persisting in connection dialog #8367 Database tables now update when changing duplicate handling rules #8371 UserWindow command line focus issues #8379 MXP menu tooltips now display correctly #8382 configure room font size and wording #8325 Add/Remove point on custom lines will work correctly #8397 Fix memory leak in variables view #8372 address Windows installer deleting itself #8373 pasted triggers not being draggable #8374 Block dangerous MXP tags in open mode #8376 Geyser.Gauge now correctly handles CSS margins, borders, and padding #8384 Correct typo in special exits deletion tooltip #8440 command line being hidden after resize #8314 don't export variables from Package Exporter #8252 Fix extended ANSI colors not initialized on profile load #8408 Disable Lua syntax highlighting in Variables view #8405 Make hidden text (fg == bg) readable when highlighted #8417 MXP EXPIRE tag support and custom element attribute handling #8431 Simplify map format version labels #8439 Fix scrolling behaviour oddity #8393 correct missing library required by non-Windows/MacOS qmake builds #8463 Prevent screen reader spam when navigating package items #8458 Prevent duplicate menu items in AdjustableContainer:addConnectMenu() #8420 New buttons at top level incorrectly named "new toolbar" #8418 remove many compilation warnings #8464 Symbol color not applying when configuring multiple rooms #8394 Unshrink list of profile history #8313 Remove duplicate sanitizer configuration Preserve font size and formatting in Geyser.Label decho/hecho/cecho #8391 Improve translation-friendliness of UI strings #8415 Prevent crash when importing XML via Script Editor #8471 Fix MXP parser to display invalid tags instead of eating them #8467 Prevent duplicate profile loading in autologin #8475 Improve translation-friendliness of UI strings #8496 Remove unrequired UI strings from translation #8507 right click context menu actions not reacting to clicks #8492 Fix room size to be correct when set from Preferences #8513 borders will be drawn inside room - not making room effectively bigger #8508 Add StartupWMClass and .DirIcon for AppImage icon recognition #8480 Return focus to main window when closing window with commandline #8499 IRE MUD MXP tags displaying as raw text instead of being processed #8490 Prevent duplicate close events when closing profile tabs #8473 Unicode characters display correctly in unhandled MXP tags #8532 Auto-activate new triggers/aliases/scripts/keys on save #8529 Comprehensive package installation crash prevention #8541 Special exit text unreadable when editing #8543 Debug console crash when host is deleted #8549 crash when rapidly reloading plugins due to thread-safety issue in XML export #8542 Remove duplicate context menu on AdjustableContainer title bar #8569 heap-use-after-free when cleanup runs during alias/trigger/key processing #8571 Heap-use-after-free crash when closing profiles with active triggers #8567 Medievia encoding error in preferences dropdown #8608 Fix missing encodings in dropdown for Qt6 #8605 Static fonts configured in 4.19.1 continue working after upgrade #8545 Prevent crash during Mudlet shutdown when closing profiles #8606 use-after-free crash when calling registerMapInfo #8609 Container overflow crash when processing text #8647 Copy from console now works when command line has focus #8551 convert raw Qt pointers to QPointer to prevent use-after-free #8610 clicking on stacked rooms selects all of them #8616 Fix crash in bi-daily update check #8620 Windows updater deleting itself during update #8622 package manager loses title on uninstall #8625 Mudlet freeze when receiving large amounts of data #8644 Fix Windows updater launch using batch file to avoid quoting issues when updating PTBs #8663 Windows updater file lock issue in dblsqd (prevented updates) #8661 Prevent crashpad_handler from getting a Windows Start Menu entry #8659 Handle Squirrel installer startup commands on Windows to prevent Mudlet getting closed #8666 Wait for Mudlet to exit before running installer on Windows #8673 Create shortcuts when handling Squirrel install events #8672 copy downloaded installer instead of moving file on Windows #8675 Wait for crashpad_handler.exe to exit before running installer #8676 Windows updates failing due to locked folder #8678 Use fixed delay instead of waiting for crashpad #8679 load PCRE2 in LuaGlobal #8598 maintain backwards compatibility when loading rex_pcre2 #8599 Windows Start Menu shortcut missing after install #8686 restrict MXP auto-detection to ESC sequences only #8692 Modules not loading when reopening a profile #8739 GMCP media finish parameter not working #8740 Fix connections to MMapper #8730 Medievia encoding showing error in preferences dropdown #8811 Crash when nested alias/trigger processing runs cleanup prematurely #8818 Prevent crash in MXP watchdog callback #8785 Potential crash during automatic update download #8776 Accessibility crash with out-of-range offset (#8310) #8752 Windows crash when saving profile config (#8427) #8428 set enableMXP when MXP is autodetected #8701 named captures indexed incorrectly in multimatches with special line types #8748 Regex triggers now respect 'keep' background color setting #8402 table.update no longer errors when replacing non-table with table (#8694) #8751 prevent module autosave from overwriting failed-to-load modules #8696 default new profiles to UTF-8 encoding instead of ASCII #8759 Map labels appear crisp at all zoom levels #8795 Add outline to area exit arrows for visibility on matching backgrounds #8794 mapper not reopenable after closing via X button #8401 Make update dialog release notes keyboard accessible #8849 Disable 'Activate' button in Variables view #8441 Down arrow saves typed text before clearing #8705 Improve error handling in setLabelStyleSheet() #8446 Restore desktop shortcut creation on Windows install #8841 Use custom dark theme on all Windows versions #8819 Restore Windows application icon #8703 honor 'disable automatic updates' setting when installer is already downloaded #8409 CodeQL inconsistent nullness check errors in temp trigger functions #8690 Fix 8 CodeQL 'comparison result is always the same' warnings #8691 macOS color buttons not showing colors in settings #8847 Map labels appearing bold after profile reload #8865 db:_coerce_sheet backwards compatibility #8861 other Merge commit from fork Merge branch '4-20' into release-4.20 release 4.20.0 Remove Sentry from windows codesigning infrastructure Fix code signing to only run on the main repo #7581 Update sanitizers.cmake to latest upstream #7415 rename MUDLET_SANITIZIER variable back to USE_SANITIZER #7585 disable address sanitizer in performance tests #7588 update minimum cmake to 3.25.1 #7287 set cmake and codeql cmake version to 3.30 #7594 switch to C++20 #7088 migrate release fixes from 4.18 branch to development #7596 Update text for translation in Crowdin #7603 Update autocompletion data in Mudlet #7604 add retry logic for notarization in macOS CI script #7597 apply fixes from clazy (const references) #7599 set `development` branch to 4.19.0 #7614 update date stamps for 2025 #7629 Update autocompletion data in Mudlet #7637 Update text for translation in Crowdin #7636 add debug echo statements for versioning in Windows PTBs #7639 replace Q_OS_WIN32 with Q_OS_WINDOWS #7619 Bump 3rdparty/edbee-lib from `46086e0` to `bfdf393` #7608 add retries to upload requests #7645 add `enums.h` #7646 add libsecret-1-dev dependency for Ubuntu 24.04 #7650 Update text for translation in Crowdin #7653 fix Windows PTB version to be set correctly #7655 set development version to 4.19.1 #7656 don't sign into azure for dependabot #7659 Bump 3rdparty/edbee-lib from `bfdf393` to `19b8fb7` #7657 build with Qt6 for macOS, Linux #7662 Update text for translation in Crowdin #7668 remove hunspell from vcpkg dependencies for x64-osx triplet #7678 Update text for translation in Crowdin #7684 update GitHub issue template #7688 update Noto Color Emoji font to Unicode 16.0 v2.047 #7691 Update text for translation in Crowdin #7694 remove Windows 32 bit builds #7700 remove support for building 32bit Windows applications #7701 Update text for translation in Crowdin #7712 Bump 3rdparty/edbee-lib from `19b8fb7` to `ff89f5a` #7716 update CI workflows to use Ubuntu 22.04 #7711 Revert "Infrastructure: update CI workflows to use Ubuntu 22.04 (#7711)" #7727 fix build issue in PTB builds #7730 Update autocompletion data in Mudlet #7755 Update text for translation in Crowdin #7754 Bump leafo/gh-actions-lua from 10 to 11 #7759 Bump leafo/gh-actions-luarocks from 4 to 5 #7758 Bump 3rdparty/edbee-lib from `46086e0` to `ff89f5a` #7760 Update text for translation in Crowdin #7775 Update text for translation in Crowdin #7780 Bump webfactory/ssh-agent from 0.9.0 to 0.9.1 #7786 sort QGridLayout/polish items in `profilePreferences.ui` file #7787 Update text for translation in Crowdin #7790 update Linux and MacOS builds to Qt 6.9.0 #7808 update Linux runner to Ubuntu 22.04 #7813 clean up missing line-feeds at start of methods #7803 fix C++20 and Qt warnings #7819 remove redundant ';'s from Q_UNUSED(...) macro #7825 Update bundled IRE mapper script to latest upstream #7832 Update text for translation in Crowdin #7843 Bump 3rdparty/edbee-lib from `ff89f5a` to `e2918e2` #7847 Update bundled IRE mapper script to latest upstream #7857 Update text for translation in Crowdin #7856 Update autocompletion data in Mudlet #7873 Update text for translation in Crowdin #7872 add busted tests for Miscallaneous functions #7670 update Windows Github runner image used #7899 remove empty created while .ui sorting #7900 make less intrusive fix of qgrid ordering #7902 adjust name of TConsole::setFont(...) #7897 Update text for translation in Crowdin #7913 Update autocompletion data in Mudlet #7919 Update text for translation in Crowdin #7929 Update dblsqd to latest in our fork #7930 rationalise font handling #7918 Update text for translation in Crowdin #7948 purge trailing whitespace #7949 Update text for translation in Crowdin #7959 Update text for translation in Crowdin #7962 Rename internals, Host and Telnet #7968 update macOS installer sparkle to 2.7.1 #7978 add a widget to do tags with #7763 Update text for translation in Crowdin #7987 Update sanitizers.cmake to latest upstream #7988 Bump 3rdparty/qt-tags-widget from `aa9a487` to `26f177c` #7994 remove Travis CI badge link #8003 move from squirrel.windows to Clowd.squirrel (PR FORM) #8015 get link-ptbs-to-dblsqd workflow working again #8022 Update text for translation in Crowdin #8024 Bump actions/checkout from 4 to 5 #8032 Bump ZedThree/clang-tidy-review from 0.20.1 to 0.21.0 #7810 Remove / sanitize internal texts #8031 clean up code base - remove warnings #8023 fix clangtidy workflow to use Qt 6 #8063 fix clangtidy-analysis to run on ubuntu latest runner #8064 Verify documentation is available for new features #8028 update performance analysis workflow to Qt6 #8049 Update text for translation in Crowdin #8085 Update autocompletion data in Mudlet #8086 modernize font fallback on Linux/BSDs for Qt 6.9.0 #8084 Add centralized AI assistant instructions with multi-tool support #8037 raise minimum Qt to 6.8.2 #8081 remove custom a11y announcer in favour of new Qt built-in #8083 add new AI-related files to qmake #8106 Give more hints and whole sentences to translators of TMedia and TDetachedWindow #8111 Move developer documentation to /docs #8120 store detached tabs and package author settings properly #8100 fix Qt 6.10 compile warnings #8115 Drop handling of unnamed profiles #8113 Update autocompletion data in Mudlet #8137 Update text for translation in Crowdin #8136 update contribution instructions for humans/LLMs #8132 remove qDebug()s for loading profiles via CLI #8139 Disable clang-format for intro texts #8158 Use qsl rather than QString #8082 Update text for translation in Crowdin #8179 Bump actions/setup-node from 4 to 5 #8183 fix intermittent SecureStringUtilsTest failure in CI builds #8194 Update widechar_width.h to support Unicode 17 #8204 remove spaghetti from trigger etc creation #8197 Update autocompletion data in Mudlet #8207 Update text for translation in Crowdin #8206 update plural american english translations #8178 Use modern For loop syntax #8162 Remove dead link to source #8233 Update text for translation in Crowdin #8241 Update autocompletion data in Mudlet #8242 Don't localize filename "area_%1.png" #8254 update info for LLM agents #8245 add documentation for C++ tests #8264 move initializers to header classes #8267 Update text for translation in Crowdin #8283 Update autocompletion data in Mudlet #8284 Bump leafo/gh-actions-lua from 11 to 12 #8286 Bump leafo/gh-actions-luarocks from 5 to 6 #8287 Modernize MxpTag::asString() internally #8307 Bump github/codeql-action from 3 to 4 #8320 Update autocompletion data in Mudlet #8340 Update text for translation in Crowdin #8337 Bump actions/setup-node from 5 to 6 #8361 improve instructions for AIs & humans #8377 remove MSVC leak detection #8378 use packaged QtKeychain on Windows #8426 Update text for translation in Crowdin #8434 Bump 3rdparty/edbee-lib from `e2918e2` to `165edc0` #8436 Add assimp dependency to CodeQL and performance workflows #8451 New default labels and type for Github issues #8456 update plural american english translations #8433 consolidate duplicate strings in map audit messages #8414 move methods' opening brace to start of next line #8465 Update text for translation in Crowdin #8466 Bump actions/upload-artifact from 4 to 5 #8468 disable sanitizers on Windows #8460 refactor build to use static library on Linux/macOS #8461 Update text for translation in Crowdin #8479 Update Boost download to use GitHub releases instead of Sourceforge #8494 remove vcpkg, boost, in favour of OS-specific package mangers #8493 remove vcpkg references from CodeQL and clang-tidy workflows #8505 Improve documentation to hide ui strings from translation #8506 Switch macOS 14 and 15 in build workflows #8509 remove old references to pre/post_guard.h #8519 tidy up CI scripts #8497 Update sanitizers.cmake to latest upstream #8521 Update text for translation in Crowdin #8520 Improve documentation to hide ui strings from translation #8524 Bump ZedThree/clang-tidy-review from 0.21.0 to 0.22.0 #8525 Switch Windows builds from qmake to CMake #8515 Revert "Fix: Mudlet freeze when receiving large amounts of data (#8644)" revise displayed Copyright year to 2026 #8727 Remove Azure trusted signing from Windows builds Add SignPath code signing for Windows builds Fix Windows code signing by adding SignPath v2 policy file Fix SignPath code signing policy configuration Update autocompletion data in Mudlet #8877 graceful fallback when mudlet.org unreachable > contributors — Mudlet-4.19.1…Mudlet-4.20.0 31 people, 639 commits Vadim Peretokin 257 Zooka 89 Mike Conley 87 Stephen Lyons 73 Kebap 37 Harrison 18 Piotr 14 missionz3r0 8 sammerpetria 6 Tim Johnson 6 AriaN 5 Nicolas KEITA 5 patrickvinas 4 Andy Smith 3 Ethan Hussong 3 AK Aviv Keller 2 Dustin Heywood 2 E evilmog 2 Excellencedev 2 hp 2 keneanung 2 Rishi Mondal 2 wrmcquistan 2 C coder1152 1 HM Harrison Martin 1 I ImgBotApp 1 Lorenzo Bloedow 1 Michael Edwards 1 Morquin 1 neo773 1 Sanaki 1 Download Mudlet Download 4.20.0 from GitHub Discuss on the forum ← Older post Let your players connect to your MUD in under 30s Newer post → Mudlet-4.20.1