Releases: MUME/MMapper
Releases · MUME/MMapper
MMapper Beta
Latest development build. Back up your map before using.
What's Changed
Full Changelog: v26.04.2...beta
MMapper 26.04.2
New Features:
- Desktop Web App Installation: You can now "install" the web version of MMapper directly to your computer as a Progressive Web App (PWA). This is supported on desktop versions of Google Chrome, Microsoft Edge, and Brave.
- Faster Room Search: We have sped up the Find Rooms dialog to search through your map significantly faster by using all your CPU cores.
Bug Fixes:
- Safe Saving on Exit: The application will now wait for background saving tasks to finish before closing, ensuring the map is properly saved and fixing a critical Windows bug.
- Improved Exit Stability: Fixed a critical macOS crash that occurred when closing the program by reorganizing how the internal panel components are cleaned up.
Changes & Under the Hood:
- Store Branding: The build system now automatically generates all required Windows Store icons from the high-DPI SVG.
Full Changelog: v26.04.1...v26.04.2
MMapper 26.04.1
New Features:
- Secure Password Saving in MMapper Web:
- Password Manager Support: You can now securely save your MUME account credentials when playing in the browser! We’ve built a custom bridge that lets MMapper talk to your browser’s native password manager (Chrome, Firefox, or Safari).
- How it works: When you save your password, a temporary window will appear to satisfy the browser's security checks. Once saved, the browser will treat MMapper just like any other website—allowing for Automatic Logins and biometric (TouchID/FaceID) unlocks where available.
- Overhauled Preferences Dialog:
- Transitioned the configuration settings to a unified, scrollable view.
- Added a fast, debounced search feature that highlights specific results and seamlessly syncs your scroll position with the sidebar navigation.
- Revamped Group Widget:
- HP, Mana, and Moves are now displayed as colored bars with centered text.
- Added an animated pulsing effect to alert you when your health or movement values are critically low.
- Dockable Timers Panel: Introduced a brand new, dockable panel for managing in-game timers. Features include live updates, drag-and-drop reordering, and easy context menu actions (stop, reset, clear).
- Audio Quick Controls: Added a new audio toolbar featuring a dedicated volume slider for faster access to sound settings.
Bug Fixes:
- Background Audio Hang (Windows): Fixed a critical issue where the MMapper process would often stay running in the background after the window was closed. This was caused by a combination of lingering audio resources on Windows and a graphics "infinite loop" affecting NVIDIA users during teardown.
- Room Panel Fixes: Fixed a bug where certain room entries wouldn't display correctly due to strict type errors.
Changes & Under the Hood:
- Framework Updates: Updated macOS and Windows builds to Qt 6.8.3 and bumped the Linux Flatpak to the KDE 6.10 runtime.
- Better Visual Smoothing: Lighting and time-of-day transitions now use the Oklab color space, making sunset and sunrise gradients look much more natural and "smooth" to the human eye.
- Build Efficiency: Optimized the "QtKeychain" logic to prevent unnecessary re-downloads during updates, making the build process faster for contributors.
- Maintenance: Standard GitHub Actions and CI/CD pipelines have been updated to the latest major versions for better security and reliability.
Full Changelog: v26.04.0...v26.04.1
MMapper 26.04.0
New Features:
- Play in your Browser:
- WebAssembly Support: You can now run MMapper directly in your web browser! This includes a new Demo tab on the website for instant access without an installation.
- Instant Asset Streaming: Maps, audio, and images now load asynchronously in the background, ensuring the web client stays responsive while fetching game data.
- Broad Browser Compatibility: Significant engine refactoring ensures a smooth experience across Firefox, Chrome, and Safari by utilizing WebGL2 and GLES3.
- Immersive Weather System:
- Dynamic Atmosphere: A new high-performance weather engine adds rain and snow particle simulations, cloud and fog atmospheric overlays, and time-of-day transitions that sync directly with MUME’s game state.
- Full Control: New sliders in the Graphics Preferences allow you to tune the intensity of weather effects or disable them entirely to suit your performance needs or visual preference.
- Enhanced Audio Engine:
- Custom Soundtrack: Full audio support features an original score by Bladorfat. It utilizes AI for raw orchestral textures, manually remixed and deconstructed into stems to ensure precise thematic alignment and seamless looping.
- Audio Controls: You can now choose the volume and preferred audio output device directly within the audio preferences menu.
- Smoother, Faster Gameplay:
- Major Graphics Optimization: By using "instanced rendering," the map now uses up to 83% less video memory (VRAM) for rooms, making the client much lighter on your hardware.
- Modern Anti-Aliasing: We’ve replaced legacy smoothing with a dual-buffer Multi-Sample Anti-Aliasing (MSAA) system. This provides crystal-clear room edges and sharper text, while ensuring the map redraws instantly and without flickering as you resize the window.
- Consistent Frame Rates: A new Frame Manager ensures perfectly paced animations and a smooth visual experience, including a new Maximum FPS setting for power users.
- Snappier Map Loading: Texture processing is now significantly faster, cutting roughly 140ms off map refresh times.
- Better Controls & Visuals:
- Advanced Hotkeys: Fully configurable hotkey support is here for the built-in client, along with a new
_hotkeycommand for advanced automation. (Gamor) - Modern Navigation: Navigate the map more naturally with Alt+Click dragging and improved, smooth zooming logic.
- Dark & Light Modes: You can now manually override your system theme to select a dedicated Dark or Light mode for the client.
- Group Visibility: Your allies' names are now drawn in the rooms they occupy, making it easier to track your group across the map.
- Less Pixelation: Migrated branding assets to SVG with high-DPI support.
- Advanced Hotkeys: Fully configurable hotkey support is here for the built-in client, along with a new
Bug Fixes:
- Platform & Visuals:
- Fixed High-DPI scaling issues for Linux users on Wayland.
- Restored missing window buttons and fixed the Windows installer to ensure all necessary system files (Visual C++ Redistributables) are included.
- Logic & Stability:
- Resolved several text encoding issues to ensure special characters display correctly across all platforms.
- Fixed a bug where fog and weather data from the game were sometimes parsed incorrectly.
- Improved the "send" logic to ensure newlines are handled correctly when communicating with the game.
- Fixed versioning errors that affected contributors building from their own forks.
- Improved Windows Firefox support by transitioning
MapCanvastoQOpenGLWindow. (Gamor)
Changes:
- System Requirements: The minimum supported macOS version is now Ventura. The client has been updated to Qt 6.4 for improved stability and security. The minimum OpenGL supported is now GL 3.3 or ES 3.0.
- Better Performance for Devs: Integrated ccache and sccache into our build pipeline, leading to much faster development cycles and updates.
- Internal Cleanup:
- Modding settings have been consolidated into the General Preferences page.
- Refactored the file system to support the unique requirements of web browsers.
- Updated core technical libraries (
glm,qtkeychain) to their latest versions for better overall stability.
Full Changelog: v25.07.0...v26.04.0
MMapper 25.07.0
New Features:
- Performance Improvements:
- A major performance issue on maps without Server IDs was eliminated by using meshes for dots, leading to much faster rendering.
- Improved UI Responsiveness was achieved by optimizing point look-ups, reducing overall Copy-on-Write overhead by roughly 10% (from ~15% down to ~5%).
- User Interface:
- Undo/Redo is now available for map changes, enabled by a significant rewrite using Copy-on-Write principles and refactored Infomarks.
- Dark Mode Support has been added for Windows users, improving comfort. The minimum supported Windows version is now Windows 10.
- Goto Line and Find/Replace were added to the built-in editor, enhancing text editing.
- Improved Distribution and Support:
- The client is now listed on the Microsoft Store, simplifying discovery and installation on Windows. This also changes the default executable path to the root directory (from
bin/) and replaces software rendering with the official Microsoft Compatibility Pack.
- The client is now listed on the Microsoft Store, simplifying discovery and installation on Windows. This also changes the default executable path to the root directory (from
Changes:
- The client now defaults to retaining input on send, based on user poll feedback.
Infomarkswere refactored into theWorlddata structure, andInfoMarkrenamed toInfomarkfor consistency and undo/redo support.- Adoption of immer's Copy-on-Write data structures (
ImmRoomIdSet,ImmUnorderedRoomIdSet) and refactoringInfomarksenabled efficient undo/redo with significant memory savings (~300 MBs). - Increased the number of base map seeds that use server IDs, improving base map generation.
- The "About" dialog was updated to include the Boost license for immer.
- Issue reporting was refactored under the Help menu.
- Website now supports light mode and links to the Microsoft and Snap stores.
Full Changelog: v25.06.2...v25.07.0
MMapper 25.06.2
What's Changed Since 25.06.1
New Features:
- Performance Improvements:
- Blazing Fast Rendering: Intermediate rendering now occurs on a background thread, slashing responsiveness time during map updates by over 10x.
- Lag-Free Groups: The Group Panel's performance was significantly improved by only updating individual rows, leading to a much smoother experience with large groups.
- Parallelized Updates: The map consistency checker and
_map diffcommand now run in parallel to complete 4x faster. - Faster Map Changes: Updated the underlying data structures to copy-on-write, boosting overall application performance by around 100 milliseconds.
- Expanded Search: The
_searchcommand now supports:-areaparameters to select an entire area that has been mapped.-regexparameters for more powerful queries.
- Revert Button: A button has been added to allow users to revert room changes back to the previous save.
Bug Fixes:
- Pathfinding and Mapping Logic:
- In-game falls will now correctly trigger a "move" event.
- Fixed the pathfinding machine to correctly handle connections where exits are not visible.
- Corrected an issue causing the pathfinding machine to discard temporary rooms.
- Support was added for more types of failed movement actions around doors and climbs.
- User Interface and Visuals:
- Fixed "compact mode".
- Corrected an issue where changes to exits would not trigger a visual remeshing of the map.
- Fixed the restoring of window positions and sizes and ensured the main window is visible on load.
- Functionality Fixes:
- Fixed the
_searchcommand to correctly handle special characters. - A failure to allocate a graphics shader is now handled correctly and will terminate the app to prevent undefined behavior.
- The application now probes for the highest available OpenGL version on startup.
- Fixed the
- Crash Fixes:
- Fixed a crash that occurred when loading an unsupported or empty file.
- Fixed a crash related to the "force to room" functionality.
- Data Integrity:
- Implemented a fix to prevent data corruption by restoring the last map snapshot if a consistency check fails.
- Fixed an issue where an area was not removed when its last room was deleted.
- Build and Installation:
- Corrected a typo that affected the installation of the Visual C++ Redistributable.
- Fixed the AppImage build to properly include Wayland, improving compatibility for Linux users.
Changes:
- User Experience Tweaks:
- The application's minimum window size has been reduced.
- The splash screen is now hidden immediately upon any map modification.
- Internal/Developer:
- Numerous internal code cleanups, refactoring, and style changes were made to improve maintainability.
- Improvements were made to developer-facing tools, including the output of
_map statsanddiff.
Major Changes from 25.06.0 and 25.06.1
New Features:
- Modernized Parser and Group Manager (GMCP): MMapper now uses the modern GMCP protocol for core game data and group management. This is a result of major internal refactoring of the parser and group manager to a GMCP-based system. This replaces older peer-to-peer methods, improving overall reliability and accessibility. For groups, this means no more hassle with sharing IP addresses or configuring firewalls!
- Full Unicode and Emoji Support:
- Modern Character Encoding: MMapper now fully supports Unicode internally, thanks to a significant backend overhaul and refactoring of internal utilities. This solves problems with incorrectly displayed characters in names, descriptions, or notes, and brings full Emoji Support.
- Emoji Shortcodes: Express yourself better! You can now use familiar icons and emoji shortcodes like
[:+1:]👍,[:smiley:]😃 , or[:skull:]💀 in your notes or other text areas, and even in text sent to MUME to mark danger zones or jazz up tells. MUME will receive emojis as a shortcode and MMapper will translate it back to emoji on UTF-8 supported clients.
- Secure Login Credential Saving: Tired of typing your password every time? You can now securely save your MUME login credentials using your operating system's keychain, making logging in quicker and avoiding the need to store passwords insecurely.
- Improved Connectivity & Distribution:
- WebSocket Connection Option: Struggling to connect through a strict firewall? MMapper can now connect to MUME using WebSockets as a fallback method, improving connectivity for users behind certain network restrictions. This is supported by a rewritten proxy pipeline that handles client-server connections more robustly.
- Flatpak Distribution: MMapper now available as a Flatpak, simplifying installation and updates across various Linux distributions.
- Apple Silicon Support: MMapper now offers a native package for Apple Silicon Macs, providing optimized performance and compatibility for the latest Apple hardware.
- Mapping Enhancements:
- Missing Map ID and Unsaved Changes Dots: MMapper now supports MUME's per-room Map IDs that once discovered allow for deterministic room identification within Group Manager on different maps. MMapper will display yellow dots where a Map ID is missing and blue dots where there are unsaved changes to help you populate your map with Map IDs.
- Automatic Door Mapping: Mapping hidden doors has been made easier due to how MMapper now automatically does this for you. If you want to not have MMapper automap a door name mark the exit as No Match.
- Additional Map Data Tracking: MMapper now tracks areas, artificial light sources, and nice weather conditions reported by the game.
- Manage Unknown Exits: You can now remove exits that are marked as "unknown" from your map data.
- Client & UI Additions:
- Live Scrollback Preview: While reviewing scrollback, you can now still see the latest game output — making it easier to keep track of what’s happening in real-time. The built-in client also supports clickable URLs and ITU underline styles sent by the game.
- Improved Input in the Integrated Client: The optional built-in MUME client has received usability improvements, including function keys, smarter
TABautocomplete, betterCTRL+TABbehavior, and a clearer visual distinction for password input fields. - Description Panel: New panel shows descriptive text and supports GenAI artwork via Modding. Many thanks to Freya who created the default images!
- Room art:
rooms/<mapid>.jpg - Area art:
areas/<normalized-area>.png- Normalization: lowercase, remove the first
the, convert Latin-1 to ASCII, replace spaces with- - Example:
the Lhûn Valley→areas/lhun-valley.bmp - Images can be either PNG, JPG, or BMP formats.
- Normalization: lowercase, remove the first
- Room art:
- Added group panel enhancements and preferences page to:
- Character re-ordering via drag and drop support
- Hide NPCs option
- Always sort NPCs to the bottom option
- Override the color of all NPCs option
Changes & Improvements
- Mapping will no longer overwrite room contents unless it is a forced update or new room
- Improved
_map statsoutput with more color for easier reading and quick analysis. - Switched to zlib-ng on Windows: 2× faster compression.
- Map loading and saving are now asynchronous, preventing UI freezes, a direct benefit of the backend overhaul for asynchronous operations.
- Remote editing now uses MUME.Client GMCP instead of the legacy MPI protocol, leading to a more robust parser.
- Connection attempts are faster due to a reduced timeout.
- Editing room notes feels smoother with less frequent updates during typing.
- Group state icons are cached for quicker display.
- The "Edit Room Attributes" dialog no longer blocks interaction with the rest of the MMapper window, allowing you to multitask more effectively.
- Replaced the path machine state from logs with a status bar widget, offering a more streamlined view.
- Removed beta branding from the Adventure Panel.
- Removed the old splash screen and integrated it directly into the map window.
- Made the log panel read-only to prevent accidental font resizing.
- For advanced users, the
MMAPPER_WINDOW_TITLE_PROGRAM_FIRSTenvironment variable allows you to change the order of elements in the window title, providing flexibility for specific window management setups. - Deathtrap terrain type rooms have switched from a terrain type to a load type. Older map files will now have these deathtraps loaded as the indoors terrain type to better match MUME's output.
- Corrected problems with how certain special characters and text encodings (like UTF-8 quotes and XML entities) were handled and displayed, thanks to the Unicode support improvements. As a result, XML passthrough has been removed.
_openand_closedoor commands no longer use door names to encourage the use of in-game door memory and ensure fair play.- Updater enhanced to check beta or release channels.
Bugfixes:
- Fixed
_searchto correctly handle multi-word searches - Allowed the window size to become smaller once again
- Fixed Windows installation error by always installing the Visual C++ Redistributable
- Fixed stale characters being shown on the group panel after they were removed
- Migrated AppImage build system from
linuxdeployqttolinuxdeploy
Performance & Stability
- General performance improvements across the application, partly due to threading model changes that eliminated dedicated threads for the Group Manager and op...
MMapper 25.06.1
What's Changed Since 25.06.0
- Added group panel enhancements and preferences page to:
- Character re-ordering via drag and drop support
- Hide NPCs option
- Always sort NPCs to the bottom option
- Override the color of all NPCs option
- Mapping will no longer overwrite room contents unless it is a forced update or new room
- Fixed
_searchto correctly handle multi-word searches - Allowed the window size to become smaller once again
- Fixed Windows installation error by always installing the Visual C++ Redistributable
- Fixed stale characters being shown on the group panel after they were removed
- Migrated AppImage build system from
linuxdeployqttolinuxdeploy
New Features:
- Modernized Parser and Group Manager (GMCP): MMapper now uses the modern GMCP protocol for core game data and group management. This is a result of major internal refactoring of the parser and group manager to a GMCP-based system. This replaces older peer-to-peer methods, improving overall reliability and accessibility. For groups, this means no more hassle with sharing IP addresses or configuring firewalls!
- Full Unicode and Emoji Support:
- Modern Character Encoding: MMapper now fully supports Unicode internally, thanks to a significant backend overhaul and refactoring of internal utilities. This solves problems with incorrectly displayed characters in names, descriptions, or notes, and brings full Emoji Support.
- Emoji Shortcodes: Express yourself better! You can now use familiar icons and emoji shortcodes like
[:+1:]👍,[:smiley:]😃 , or[:skull:]💀 in your notes or other text areas, and even in text sent to MUME to mark danger zones or jazz up tells. MUME will receive emojis as a shortcode and MMapper will translate it back to emoji on UTF-8 supported clients.
- Secure Login Credential Saving: Tired of typing your password every time? You can now securely save your MUME login credentials using your operating system's keychain, making logging in quicker and avoiding the need to store passwords insecurely.
- Improved Connectivity & Distribution:
- WebSocket Connection Option: Struggling to connect through a strict firewall? MMapper can now connect to MUME using WebSockets as a fallback method, improving connectivity for users behind certain network restrictions. This is supported by a rewritten proxy pipeline that handles client-server connections more robustly.
- Flatpak Distribution: MMapper is now available as a Flatpak, simplifying installation and updates across various Linux distributions.
- Apple Silicon Support: MMapper now offers a native package for Apple Silicon Macs, providing optimized performance and compatibility for the latest Apple hardware.
- Mapping Enhancements:
- Missing Map ID and Unsaved Changes Dots: MMapper now supports MUME's per-room Map IDs that once discovered allow for deterministic room identification within Group Manager on different maps. MMapper will display yellow dots where a Map ID is missing and blue dots where there are unsaved changes to help you populate your map with Map IDs.
- Automatic Door Mapping: Mapping hidden doors has been made easier due to how MMapper now automatically does this for you. If you want to not have MMapper automap a door name mark the exit as No Match.
- Additional Map Data Tracking: MMapper now tracks areas, artificial light sources, and nice weather conditions reported by the game.
- Manage Unknown Exits: You can now remove exits that are marked as "unknown" from your map data.
- Client & UI Additions:
- Live Scrollback Preview: While reviewing scrollback, you can now still see the latest game output — making it easier to keep track of what’s happening in real-time. The built-in client also supports clickable URLs and ITU underline styles sent by the game.
- Improved Input in the Integrated Client: The optional built-in MUME client has received usability improvements, including function keys, smarter
TABautocomplete, betterCTRL+TABbehavior, and a clearer visual distinction for password input fields. - Description Panel: New panel shows descriptive text and supports GenAI artwork via Modding. Many thanks to Freya who created the default images!
- Room art:
rooms/<mapid>.jpg - Area art:
areas/<normalized-area>.png- Normalization: lowercase, remove the first
the, convert Latin-1 to ASCII, replace spaces with- - Example:
the Lhûn Valley→areas/lhun-valley.bmp - Images can be either PNG, JPG, or BMP formats.
- Normalization: lowercase, remove the first
- Room art:
Changes & Improvements
- Improved
_map statsoutput with more color for easier reading and quick analysis. - Switched to zlib-ng on Windows: 2× faster compression.
- Map loading and saving are now asynchronous, preventing UI freezes, a direct benefit of the backend overhaul for asynchronous operations.
- Remote editing now uses MUME.Client GMCP instead of the legacy MPI protocol, leading to a more robust parser.
- Connection attempts are faster due to a reduced timeout.
- Editing room notes feels smoother with less frequent updates during typing.
- Group state icons are cached for quicker display.
- The "Edit Room Attributes" dialog no longer blocks interaction with the rest of the MMapper window, allowing you to multitask more effectively.
- Replaced the path machine state from logs with a status bar widget, offering a more streamlined view.
- Removed beta branding from the Adventure Panel.
- Removed the old splash screen and integrated it directly into the map window.
- Made the log panel read-only to prevent accidental font resizing.
- For advanced users, the
MMAPPER_WINDOW_TITLE_PROGRAM_FIRSTenvironment variable allows you to change the order of elements in the window title, providing flexibility for specific window management setups. - Deathtrap terrain type rooms have switched from a terrain type to a load type. Older map files will now have these deathtraps loaded as the indoors terrain type to better match MUME's output.
- Corrected problems with how certain special characters and text encodings (like UTF-8 quotes and XML entities) were handled and displayed, thanks to the Unicode support improvements. As a result, XML passthrough has been removed.
_openand_closedoor commands no longer use door names to encourage the use of in-game door memory and ensure fair play.- Updater enhanced to check beta or release channels.
Performance & Stability
- General performance improvements across the application, partly due to threading model changes that eliminated dedicated threads for the Group Manager and optional proxy, leading to a more efficient concurrency model.
- Addressed several potential crashes and stability issues related to data handling, timers, and parser exceptions, benefiting from widespread C++ modernization and stricter thread safety enforcement.
Under the Hood
- C++ Modernization: There was a widespread effort to modernize the C++ codebase, adopting practices like RAII (Resource Acquisition Is Initialization) with custom handlers, using
noexcept, preferring iterators over raw pointers, avoidingnew/delete, using modern C++ features, and applying patterns like the "badge" idiom. - Build System Enhancements: The build environment was updated to Ubuntu Jammy for AppImages and enabled the Mold linker to improve build times.
- Dependency Streamlining: The MiniUPnPc dependency was removed, simplifying the build and reducing external requirements.
- Windows Support: Release packages are now built using Visual Studio and the Windows installer has been improved to prompt for closing MMapper during the uninstallation phase.
Full Changelog: v24.03.1...v25.06.0
MMapper 25.06.0
New Features:
- Modernized Parser and Group Manager (GMCP): MMapper now uses the modern GMCP protocol for core game data and group management. This is a result of major internal refactoring of the parser and group manager to a GMCP-based system. This replaces older peer-to-peer methods, improving overall reliability and accessibility. For groups, this means no more hassle with sharing IP addresses or configuring firewalls!
- Full Unicode and Emoji Support:
- Modern Character Encoding: MMapper now fully supports Unicode internally, thanks to a significant backend overhaul and refactoring of internal utilities. This solves problems with incorrectly displayed characters in names, descriptions, or notes, and brings full Emoji Support.
- Emoji Shortcodes: Express yourself better! You can now use familiar icons and emoji shortcodes like
[:+1:]👍,[:smiley:]😃 , or[:skull:]💀 in your notes or other text areas, and even in text sent to MUME to mark danger zones or jazz up tells. MUME will receive emojis as a shortcode and MMapper will translate it back to emoji on UTF-8 supported clients.
- Secure Login Credential Saving: Tired of typing your password every time? You can now securely save your MUME login credentials using your operating system's keychain, making logging in quicker and avoiding the need to store passwords insecurely.
- Improved Connectivity & Distribution:
- WebSocket Connection Option: Struggling to connect through a strict firewall? MMapper can now connect to MUME using WebSockets as a fallback method, improving connectivity for users behind certain network restrictions. This is supported by a rewritten proxy pipeline that handles client-server connections more robustly.
- Flatpak Distribution: MMapper is now available as a Flatpak, simplifying installation and updates across various Linux distributions.
- Apple Silicon Support: MMapper now offers a native package for Apple Silicon Macs, providing optimized performance and compatibility for the latest Apple hardware.
- Mapping Enhancements:
- Missing Map ID and Unsaved Changes Dots: MMapper now supports MUME's per-room Map IDs that once discovered allow for deterministic room identification within Group Manager on different maps. MMapper will display yellow dots where a Map ID is missing and blue dots where there are unsaved changes to help you populate your map with Map IDs.
- Automatic Door Mapping: Mapping hidden doors has been made easier due to how MMapper now automatically does this for you. If you want to not have MMapper automap a door name mark the exit as No Match.
- Additional Map Data Tracking: MMapper now tracks areas, artificial light sources, and nice weather conditions reported by the game.
- Manage Unknown Exits: You can now remove exits that are marked as "unknown" from your map data.
- Client & UI Additions:
- Live Scrollback Preview: While reviewing scrollback, you can now still see the latest game output — making it easier to keep track of what’s happening in real-time. The built-in client also supports clickable URLs and ITU underline styles sent by the game.
- Improved Input in the Integrated Client: The optional built-in MUME client has received usability improvements, including function keys, smarter
TABautocomplete, betterCTRL+TABbehavior, and a clearer visual distinction for password input fields. - Description Panel: New panel shows descriptive text and supports GenAI artwork via Modding. Many thanks to Freya who created the default images!
- Room art:
rooms/<mapid>.jpg - Area art:
areas/<normalized-area>.png- Normalization: lowercase, remove the first
the, convert Latin-1 to ASCII, replace spaces with- - Example:
the Lhûn Valley→areas/lhun-valley.bmp - Images can be either PNG, JPG, or BMP formats.
- Normalization: lowercase, remove the first
- Room art:
Changes & Improvements
- Improved
_map statsoutput with more color for easier reading and quick analysis. - Switched to zlib-ng on Windows: 2× faster compression.
- Map loading and saving are now asynchronous, preventing UI freezes, a direct benefit of the backend overhaul for asynchronous operations.
- Remote editing now uses MUME.Client GMCP instead of the legacy MPI protocol, leading to a more robust parser.
- Connection attempts are faster due to a reduced timeout.
- Editing room notes feels smoother with less frequent updates during typing.
- Group state icons are cached for quicker display.
- The "Edit Room Attributes" dialog no longer blocks interaction with the rest of the MMapper window, allowing you to multitask more effectively.
- Replaced the path machine state from logs with a status bar widget, offering a more streamlined view.
- Removed beta branding from the Adventure Panel.
- Removed the old splash screen and integrated it directly into the map window.
- Made the log panel read-only to prevent accidental font resizing.
- For advanced users, the
MMAPPER_WINDOW_TITLE_PROGRAM_FIRSTenvironment variable allows you to change the order of elements in the window title, providing flexibility for specific window management setups. - Deathtrap terrain type rooms have switched from a terrain type to a load type. Older map files will now have these deathtraps loaded as the indoors terrain type to better match MUME's output.
- Corrected problems with how certain special characters and text encodings (like UTF-8 quotes and XML entities) were handled and displayed, thanks to the Unicode support improvements. As a result, XML passthrough has been removed.
_openand_closedoor commands no longer use door names to encourage the use of in-game door memory and ensure fair play.- Updater enhanced to check beta or release channels.
Performance & Stability
- General performance improvements across the application, partly due to threading model changes that eliminated dedicated threads for the Group Manager and optional proxy, leading to a more efficient concurrency model.
- Addressed several potential crashes and stability issues related to data handling, timers, and parser exceptions, benefiting from widespread C++ modernization and stricter thread safety enforcement.
Under the Hood
- C++ Modernization: There was a widespread effort to modernize the C++ codebase, adopting practices like RAII (Resource Acquisition Is Initialization) with custom handlers, using
noexcept, preferring iterators over raw pointers, avoidingnew/delete, using modern C++ features, and applying patterns like the "badge" idiom. - Build System Enhancements: The build environment was updated to Ubuntu Jammy for AppImages and enabled the Mold linker to improve build times.
- Dependency Streamlining: The MiniUPnPc dependency was removed, simplifying the build and reducing external requirements.
- Windows Support: Release packages are now built using Visual Studio and the Windows installer has been improved to prompt for closing MMapper during the uninstallation phase.
Full Changelog: v24.03.1...v25.06.0
MMapper 24.03.1
Bug fix
- Do not send MSSP to clients that haven't requested it. This fix helps JMC users.
Mapper 24.03.0
New features
- MMapper will now synchronize the time to the hour using MUME's Mud Server Status Protocol. (Mirnir)
- The recent whitespace change is now compatible with MMapper where room descriptions are now normalized.
Bug fixes
- Timers will now trigger for Elves and Half-elves. (Gamor)
- Some memory leaks were fixed.
Changes
- The minimum supported version of macOS is now Monterey.
- The Web Map format has changed its md5 hashing strategy to also normalize on whitespace.
- The unit test coverage was improved by 3%. (Gamor)