Mudlet Changelog

What's new in Mudlet 4.17.1

Mar 28, 2023
  • A follow-on to 4.17.0 that fixes tab windows going permanently bold, the F6 keybinding, and nested buttons.

New in Mudlet 4.17.0 (Mar 19, 2023)

  • Added:
  • Command Line Tab Complete blacklist (#6509)
  • support for EUC-KR Server encoding (#6457)
  • getConfig and fix return value of setConfig (#6564)
  • Find and Replace feature in script editor #3694 (#6562)
  • command line option to only show one (or more) predefined MUD(s) (#6459)
  • support for multiple profiles from command line (#6470)
  • setConfig("compactInputLine", true/false) (#6467)
  • sysProfileFocusChangeEvent (#6267)
  • scrollTo and getScroll lua function (#6406)
  • Ctrl+F shortcut to search main window, and rework Ctrl-C (#6353)
  • Prompt for secure connection choice (#6409)
  • temporary map labels (#6285)
  • support for OpenBSD operating system (#6383)
  • Joint menu for room properties (#6354)
  • sysBufferShrinkEvent for when a console's buffer is trimmed (#6382)
  • setCommandBackgroundColor, setCommandForegroundColor lua functions (#6349)
  • accessible code editor (edbee) (#6283)
  • `mudlet accessibility on` alias for new profiles (#6201)
  • inputline-related options to `setConfig` (#6197)
  • customisable shortcut for toggling between input line and main window (#6187)
  • options to dealing with blank lines for screenreaders (#6175)
  • ctrl as well as shift selection using a text cursor (#6167)
  • screenreader-friendly main window (#6090)
  • new default game, Chinese mud.ren (#6140)
  • indicate locked rooms in exits dialogue (#6102)
  • Improved:
  • Remember 2D mapper zoom amounts between sessions (#6615)
  • reset 2D map panning buttons autorepeat to default (#6622)
  • update mudlet_en_US numerus translations 2023/03 (#6601)
  • ensure whole item is selected in room properties QComboBoxes (#6486)
  • New Crowdin updates (#6426)
  • add support for custom move methods (swim, run, etc) in generic_mapper.xml (#6461)
  • give add item/add group/delete item buttons individual names (#6462)
  • move away from constructor initialisation lists (part 4) (#6458)
  • allow `isActive(...)` and `exists(...)` to use an ID number (#6401)
  • sort emoji's in room symbols dialog (up to unicode 10) (#6407)
  • Retarget old room actions to new "configure room" UI (#6418)
  • New Crowdin updates (#6308)
  • search in main window to choose case sensitivity (#6336)
  • Make timestamps persist between sessions (#6355)
  • Preferences window now fits on 800p screens + shows normal size buttons (#6360)
  • allow precise movement of map labels (#6324)
  • StickMUD default listing to secure port (#6306)
  • New Crowdin updates (#6260)
  • make text wrapping quicker (#6277)
  • add autowrap and support for Chinese/other language word wrapping (#6207)
  • New Crowdin updates (#6112)
  • Smooth fadein and fadeout for MCMP (#6219)
  • tab order in the connection screen - again (#6151)
  • Change icon mudren.png (#6144)
  • remove extraneous setPalette calls (#6139)
  • don't set default volume, rate, or pitch for TTS (#6141)
  • update exit pattern in generic_mapper (#6125)
  • remove expiry argument from tempLineTriggers (#6122)
  • you can now toggle view mode regardless of selection (#6118)
  • removed tab trigger that is no longer needed from generic_mapper (#6103)
  • Fixed:
  • Prevent user map menus being deleted prematurely (#6645)
  • prevent right clicking in error console moving focus to main window (#6644)
  • Make Geyser less picky about object names (#6628)
  • Geyser.MiniConsole now leaves room for scrollbars when auto wrapping (#6634)
  • restore generation of `sysWindowsResizeEvent` when borders are changed (#6620)
  • correct search for Lua interpreter for qmake builds (#6616)
  • Move right-click menu to release event rather than press event. (#6619)
  • uninstalling many synced modules at once crashes Mudlet (#6555)
  • ensure input line does not lose focus on switching between profiles (#6502)
  • Do not prompt to use TLS if Qt was built withoutt SSL support (#6606)
  • get translations working on command line actions (#6603)
  • grammar typo in console (#6595)
  • recognizing that downloadable GUI is already installed (#6584)
  • launch Mudlet anyway when given unknown command line options (#6582)
  • ensure 3D push-button is updated if mode is changed by `setConfig(...)` (#6573)
  • 3d mapper can now utilize custom speedwalks (#6534)
  • global numeric index causing a crash when viewed in Variables editor (#6566)
  • unshadow a member in LuaInterpreter class (#6563)
  • application crash on move to area (#6560)
  • Redo spellcheck after deleting from words (#6557)
  • stopped search on look happening when search_on_look is false (generic mapper) (#6508)
  • off-by-one-million error in third argument to Lua `showNotification()` (#6530)
  • Mudlet crashing on start when you create a buffer (#6550)
  • Show Client.GUI GMCP in Lua interpreter (#6541)
  • temporarily stop using QtGamePad on Windows (#6548)
  • Unknown nested elements in XML packages elements (like Host etc.) will cause erasure of settings (#5895)
  • blankLinesBehaviour and caretShortcut's setConfig option (#6544)
  • make screen readers announce correct details about TConsole instances (#6232)
  • periods getting stripped from module named upon sync (#6525)
  • restore buttons & timing screen if main command line hidden & restored (#6511)
  • stop user (floating/dockable) windows from being moved by `setWindow()` (#6510)
  • broken 'Ctrl+S' shortcut in PTBs (#6516)
  • make whole menubar clickable again (#6483)
  • crash when reorganising scripts in editor tree view (#6501)
  • OS dependent DEFINEDs for Screen-readers (#6492)
  • not able to import packages/modules on first profile load (#6489)
  • Disregard MSSP TLS port = 1 (#6491)
  • Linux PTBs and release builds getting compressed (#6482)
  • Reused media players to default & clear media button (#6481)
  • clean up after some right-click (context) menus (#6476)
  • limit maximum replay speed up multiplier (#6468)
  • mark the right thing as being experimental (#6454)
  • background color of wrapped text indent (#6448)
  • update GCC version used in CI builds (#6451)
  • restoring deleted default profile to work right in dev builds (#6447)
  • fix getMainWindowSize values if console tab is not in focus (hidden) (#6438)
  • Move right-click menu to release event rather than press event. (#6431)
  • ansi2decho now converts empty ansi color tag to a reset. (#6427)
  • timestamps being wrongly enabled (#6413)
  • crashing when a TToolBar (floating/dockable toolbar) is turned into a TEasyButtonBar (fixed around main console) (#6330)
  • Make table.matches/n_matches not error when presented with tables/functions/etc (#6352)
  • ensure area selector widget is updated after map is loaded (#6405)
  • off by 1 issue when scrolling up in caret mode (#6373)
  • Stop sound/music precisely for MCMP (#6389)
  • return room list to be within mapper (#6402)
  • allow "set weight" in 2D mapper to work on multiple rooms' weights (#6359)
  • addMouseEvent causes crash to desktop if display name differs from unique name (#6351)
  • prevent crash on non numeric regexCodePropertyList (#6346)
  • "Don't call QList::begin()/end() on temporary" warning (#6348)
  • Size MacOS alias fonts normally (#6343)
  • tab order of variables editor (#6300)
  • allow CMake builds when Vcpkg is not used (#6322)
  • Show Coremud description also at new URL (#6296)
  • named groups will work correctly with multimatches (#6307)
  • ansi2decho so that it correctly handles ANSI texts with BOLD first (#6294)
  • Change Coremud DNS (#6289)
  • caret mode not enabling properly in Linux (#6282)
  • prevent crash when search-engine search used after selection is lost (#6278)
  • MCMP volume for fadein/fadeout with continue (#6274)
  • correct our non-handling of DO TIMING_MARK (#6272)
  • MCMP continue (#6264)
  • Make first-launch alias placeholder pattern be translatable (#6262)
  • ensure liboleaut32 library is used for both QMake Windows Setups (#6220)
  • amend identifier that's a macro (and breaks compilation) on MSYS2/MINGW-W64 (#6218)
  • autologin and autoreconnect conflict (#6154)
  • correct Port number error in 3Kingdoms predefined Muds data (#6202)
  • Read map UserData from JSON map files (#6191)
  • use native language for desciptions of a couple of predefined MUDS (#6143)
  • do not allow map context menu "Set Exits" when multiple rooms selected (#6183)
  • LuaRocks now load in macOS development environment (#6142)
  • storing/retrieving alpha for map info bg (#6115)
  • return empty table if no stub-exits for getExitStubs functions (#6081)
  • 'New profile' button to clear an existing password (#6114)
  • default auto-join IRC channel (#6106)
  • locked & closed door QRadioButtons being swapped in room exit dialogue (#6105)
  • convert QFrames in roomExits dialogue to titled QGroupBoxes (#6104)
  • Infrastructure:
  • Update edbee to support building with qt6 (#6635)
  • Run danger when PR title is updated (#6639)
  • update Noto Color Emoji font to Unicode 15.0 v2.038 (#6640)
  • rationalise strings in `TLuaInterpreter` class (#6636)
  • Update autocompletion data in Mudlet (#6627)
  • Update sparkle-glue to latest in our fork (#6612)
  • Update dblsqd to latest in our fork (#6611)
  • lower translation threshhold to 85% for a month (#6608)
  • Update text for translation in Crowdin (#6607)
  • add link to compiling Mudlet in Github readme (#6597)
  • try to fix failure to update dblsql feed with PTB builds (#6605)
  • Update widechar_width.h to latest upstream (#6592)
  • Update singleshot_connect.h to latest upstream (#6591)
  • Update text for translation in Crowdin (#6596)
  • Update bundled IRE mapper script to latest upstream (#6590)
  • Update text for translation in Crowdin (#6589)
  • libcommuni to 3.7.0 (#6581)
  • Add basic tests for buffer functionality (#6574)
  • rename a few variables shadowing global ones (#6529)
  • fix compiler warning around ambigious QPointer declaration (#6572)
  • revert "Fix: temporarily stop using QtGamePad on Windows (#6548)" (#6554)
  • Update Dockerfile to use Ubuntu 22.04 jammy as base. (#6556)
  • install pkg-config earlier on in macOS build process (#6552)
  • Initialize TLuaInterpreter variables before access (#6547)
  • Delete popup window on close (#6531)
  • improve TLabel creation (#6543)
  • Bump webfactory/ssh-agent from 0.5.4 to 0.7.0 (#6542)
  • Re-Enable release automations that were disabled due to SSH key issues (#6092)
  • Bump leafo/gh-actions-lua from 9 to 10 (#6535)
  • remove 'code-scanning' configuration from CodeQL (#6536)
  • Only assign milestones to PRs without one (#6533)
  • explicitly specify CodeQL queries (#6522)
  • Refactor how shortcuts are applied (#6519)
  • Automatically build only in Mudlet repository (#6528)
  • fix automated Crowdin texts update failing (#6526)
  • disable Windows builds in github (#6523)
  • add clion and flatpak folders to gitignore (#6520)
  • don't limit Mudlet binary installation to only Debug and Release CMake builds (#6493)
  • delete codesee integration (#6480)
  • update copyright for 2023 (#6479)
  • fix copy/paste typos in coder attribution workflow (#6464)
  • try to fix action for updating crowdin text (#6465)
  • Install the CodeSee workflow. (#6463)
  • Remove "experimental" name from package exporter menu, etc. (#6456)
  • move away from constructor initialisation lists (part 3) (#6455)
  • trial new guideline - no TODOs as they dont actually add value (#6446)
  • centralise predefined MUD game data (#6434)
  • Put correct link for documentation for scaleMovie() (#6444)
  • Add `pcre` as an explicit dependency to macOS builds (#6445)
  • Refactor TMap download code (#6437)
  • Bump jurplel/install-qt-action from 2 to 3 (#6430)
  • Update widechar_width.h to latest upstream (#6396)
  • Update text for translation in Crowdin (#6395)
  • Revert 6207 and 6277 (#6423)
  • rename pF -> pParentWidget & fix some whitespace layouts (#6379)
  • Remove QLatin1String from coding guidelines (#6245)
  • update plural american english translations (#6356)
  • Fix the ldoc format for Geyser.Gauge:setStyleSheet (#6374)
  • correct an error associated with `QColor` in "Room properties" and "Room symbol" classes (#6421)
  • undo change of a QPushButton to a QToolButton (#6419)
  • tweak margins and sizing behaviour in `room_properties.ui` (#6420)
  • resolve merge conflict (#6422)
  • Bump pat-s/always-upload-cache from 3.0.1 to 3.0.11 (#6398)
  • Bump ZedThree/clang-tidy-review from 0.9.0 to 0.10.1 (#6399)
  • Bump carlosperate/download-file-action from 1.1.1 to 2.0.0 (#6400)
  • Remove possibly unneeded concurrent-ruby install (#6338)
  • unify class constructor initialisers (Part 2 0f 2) (#6388)
  • unify class constructor initialisers (Part 1 of 2) (#6387)
  • CoreMUD got their domain back, reverting temporary changes (#6372)
  • Update zlib (#6384)
  • Word-wrap dynamically instead of fixed (#6368)
  • Run twice as many performance tests to even out analysis (#6350)
  • Update text for translation in Crowdin (#6344)
  • fix CodeQL job permissions (#6341)
  • Remove stray whitespace (#6342)
  • use correct alias for installing Lua on macOS (#6337)
  • remove some unnecessary `bool`s (#6335)
  • use isEmpty() instead of size() or count() being zero (#6333)
  • change badly named ActionUnit::getXxxxBarList() methods (#6332)
  • remove some cruft from `ActionUnit` header (#6331)
  • Perf test cell fix (#6326)
  • upload performance data to an online spreadsheet (#6309)
  • fix blank tr("")'s to be QString() instead (#6310)
  • improve shortcut's function argument naming (#6301)
  • Bump 3rdparty/edbee-lib from `64e3208` to `daecd9e` (#6303)
  • Bump leafo/gh-actions-lua from 8 to 9 (#6305)
  • Update bundled IRE mapper script to latest upstream (#6299)
  • Pi performance test (#6269)
  • Adjust test instructions in README (#6291)
  • delete squish-tests directory (#6288)
  • update codespaces image details (#6287)
  • Bump 3rdparty/qt-ordered-map from `e1a26e3` to `ca2a31b` (#6279)
  • fix raspberry pi compile (#6280)
  • Update text for translation in Crowdin (#6276)
  • tidy up naming of SLOT methods and their usage - Part 5 (last) (#6266)
  • tidy up naming of SLOT methods and their usage - Part 4 (#6259)
  • fix logo in README (#6257)
  • fix launching Mudlet in codespaces (#6256)
  • tidy up naming of SLOT methods and their usage - Part 3 (#6258)
  • tidy up naming of SLOT methods and their usage - Part 2 (#6255)
  • Update sanitizers.cmake to latest upstream (#6240)
  • add links to naming antipatterns in Lua API (#6244)
  • re-enable windows GitHub builds (#6251)
  • Sort translation stats more precisely (#6224)
  • remove unneeded Host::connectToServer() (#6253)
  • tidy up naming of SLOT methods and their usage - Part 1 (#6254)
  • Add naming antipatterns to contributing guidelines (#6246)
  • Update bundled IRE mapper script to latest upstream (#6249)
  • Update links for Busted as it's moved from olivine-labs to lunarmodules. (#6247)
  • fix clang-tidy review workflow to build (#6241)
  • add self-hosted raspberry pi build for performance testing (#6226)
  • add documentation for text rendering classes (#6217)
  • Update text for translation in Crowdin (#6237)
  • Update bundled IRE mapper script to latest upstream (#6238)
  • Update singleshot_connect.h to latest upstream (#6239)
  • fix auto-updates for ktoolbox and cmake-scripts (#6228)
  • untangle strings for translation (#5556)
  • Add package used for display benchmarking (#6223)
  • don't use ccache for release and PTB builds (#6214)
  • Update text for translation in Crowdin (#6213)
  • update patreon supporters list (#6212)
  • setup-windows-sdk.ps1 to not close immediately on error (#6206)
  • update clang-tidy review to 0.9.0 (#6205)
  • improve build caching on Linux & macOS (#6199)
  • add ccache to Appveyor (#6193)
  • use cmake 3.23.3 that's available in AppVeyor (#6196)
  • fix ordered-map submodule location and pointer (#6186)
  • Remove workaround for gon (#6190)
  • update build agent to macOS 11 (#6189)
  • trim translations-related debug output (#6179)
  • document a couple of data structures in the buffer (#6171)
  • sort translation statistics (#6162)
  • Add ldoc comment for Geyser.Label:setFormat (#6136)
  • move away from constructor initialisation lists - part 2 (#5937)
  • fix a couple of member initialisation order warnings (#6134)
  • increase minimum Qt to 5.14 (#6133)
  • scope ControlCharacterMode enum (#6132)
  • Update text for translation in Crowdin (#6129)
  • remove hidden 'Website:' label from connection dialog (#6111)
  • Update autocompletion data in Mudlet (#6124)
  • remove some unused variable warnings with no 3D mapper (#6121)
  • correctly #include winsock2.h for Windows builds (#6120)
  • Set permissions for GitHub actions (#6091)
  • Consider uncaught errors when running tests to be a failure (#6107)
  • Bump ZedThree/clang-tidy-review from 0.8.3 to 0.8.4 (#6109)
  • Update text for translation in Crowdin (#6108)
  • update `qt-ordered-map` with fix for deprecations (#6098)
  • update `development` with release 4.16 (#6100)
  • set next release to 4.17.0 (#6099)

New in Mudlet 4.16.0 (May 8, 2022)

  • Added:
  • SetConfig and an initial set of values (#6074)
  • Traditional Chinese exit strings to generic mapper (#6076)
  • Map autosaves (#6056)
  • New function getCustomLines1(...) to fix ordering of custom line points in original getCustomLines(...) (#6009)
  • New function getCharacterName() (#6023)
  • Map info background can be customized through mapper colors preferences (#5994)
  • Improved:
  • Give a simpler connection dialog a go (tabbed) (#5883)
  • Increase max allowed links to 20k (#6064)
  • New Crowdin translations (#6060)
  • Add NULL handling in DB.lua (#6054)
  • Don't freeze Mudlet when copying large profile (#5056)
  • Add support for Unicode 14 emojis to linux (#6053)
  • Properly size unicode 13 and 14 emojis (#5915)
  • Make new profile name check case insensitive (#6035)
  • Map label creation form (#5981)
  • Fixed:
  • Eliminate some obsolete code warnings in Lua label related function (#6063)
  • Add handling of new features element in IRE Muds XML map format (#6075)
  • Handling MXP entity tags on Discworld is now correct (#5969)
  • Strange clipping multiline map info text (#5990)
  • SetLabelDoubleClickCallback arguments work again as documented (#5970)
  • Handle sound files in subdirectories as well (#5984)
  • Fix selecting none for map info and reading map info (#5976)
  • StopSounds() work for for triggers again (#5977)
  • Get tempComplexRegexTrigger multiline to work (#5946)
  • GetAreaExits does not return special exits (#5963)
  • Infrastructure (behind the scenes):
  • Add licenses for bundled luarocks modules (#5995)
  • Add en_US plural translations workflow (#5956)
  • Add resilience to macOS notarization process (#6047)
  • Add visual studio files to .gitignore (#5988)
  • Add website release post automation (#6043)
  • Add workflow to create changelog from the web (#6006)
  • Automate author attribution (#6045)
  • Busted installation instructions on Windows (#6057)
  • Cache Qt installation for Windows (#6048)
  • Create posts on draft releases to test WP plugin (#6059)
  • Don't print danger message if everything was kosher (#6078)
  • Enable vcpkg for all cmake-based builds (#5913)
  • Fix grammar in the issue template (#6079)
  • Fix Luarocks on Windows (#6028)
  • Fix macOS codesigning to work again (#6012)
  • Fix openssl and yajl downloads for all platforms (#5980)
  • Fix packaging in Linux builds (#6013)
  • Fix Windows CI builds (use previous VS 2019 to get Qt 5.14.2 back) (#6031)
  • Fixup files in QMake OTHER_FILES and DISTFILES variables (#6037)
  • Install Qt 5.14.2 using aqtinstaller for Windows (#6030)
  • Openssl archive url (#5965)
  • Remove duplicate list of clang-tidy checks (#5962)
  • Remove no longer necessary brew tap step (#5968)
  • Remove trailing spaces from changelog generator (#6011)
  • Repair Windows CI build failures (#6072)
  • Shorten some lengthy variables (#6017)
  • Switch to current vs 2019 appveyor image (#6046)
  • Switch to 5.1-syntax_5.1 branch for lcf submodule (#5998)
  • Update changelog generator to handle releases as well (#6002)
  • Update OpenSSL used for Windows (#6068)
  • Update widechar_width.h to latest upstream (#6080)
  • Update Windows CI zlib to 1.2.12 (#6027)
  • Updated IRE mapping script to latest upstream (#6083)

New in Mudlet 4.15.0 (Feb 1, 2022)

  • Every Mudlet release is like a box of presents, according to Mudlet dev Delwing. This box brings gifs, scrollboxes, and revamped sound & music to Mudlet – welcome to the first update of 2022! You can now use gifs in your Mudlet UI You heard it here first,...

New in Mudlet 4.14.0 (Nov 22, 2021)

  • added:
  • --mirror option for logging output to console
  • option to show errors view from the toolbar
  • customization of Discord button using invite URL from GMCP or Lua
  • dark theme toggle to preferences
  • events when a speedwalk() is stopped, paused, or finishes (reaches the end)
  • IDManager and named tempTimers/event handlers from script
  • option for secure IRC connections
  • resetDiscordData() function
  • what color formats are acceptable in places it is missing in Geyser ldoc comments
  • clear error console functionality
  • Custom right click menu items for command lines
  • Gmod busted tests
  • Save/Load map as .json from preferences dialog
  • ✨ improved:
  • map context item names
  • [CodeFactor] eliminate (some of) our C style casts
  • allow wait for more network packets to be adjusted
  • cleanup room_exits.ui file
  • Clear edit forms for deleted items
  • Create map / Load map dialog will be again present for empty map
  • Create room at right-click position
  • Do not trim whitespaces in tab completion
  • icons not coloured status text for normal exits in exits dialog
  • icons not coloured status text for special exits in exits dialog
  • only enable IRE driver GA bugfix for IRE games (unnnecessary newlines with GA)
  • Properly announce Discord failing on length 1 texts
  • shorten welcome message for new aliases & triggers
  • simplify dlgRoomExits() invocation
  • sync mpackage modules
  • Unregister fonts upon package/module uninstall
  • update bundled NotoColorEmoji font
  • use constants to index into special exit columns in dlgRoomExits
  • 🔨 fixed:
  • CodeQL warnings
  • copy2decho() on empty lines
  • copy2decho, copy2html to work for all international text
  • Discord logo dimensions on profiles screen
  • Export Triggers title bar to be more generic
  • Adjust height of command box when cycle through history
  • cleanup: remove some warnings in uses of QKeySequence
  • correct a missing override that showed up during CI
  • disable more controls in preferences when there is no host
  • don’t show jibberish when Adjustable Container title bar is too short + add position as option for setTitle
  • eliminate a load of warnings about missing-field-initializers
  • Lua functions for tempKey and tempAlias work again
  • modules no longer get emptied if reloaded during saveProfile()
  • only provide NAWS information from main console
  • remove spaces in initializer brackets
  • remove stray debug messages
  • repair prevent all controls from being hidden feature
  • settings button will be available again before you connect to a profile
  • try and make connectExitStub(…) work as per the API
  • update default Zombiemud port
  • update PCRE download source to one that still exists
  • Infrastructure:
  • add ‘Chancel’ as an allowed codespell – it’s an area in Lusternia
  • Add ‘nd’ as an allowed word
  • add knowledge for debug symbols in builds
  • added label for port in Github Codespaces
  • close out p tag in text label
  • danger checks in JS
  • disable Windows builds in GHA
  • fix Windows changelog generation now that we have quotes
  • fixed autoupdate workflows to trigger checks
  • git ignore 3rdparty boost and cocoapods
  • give a danger-friendly PR title to Crowdin updates
  • Improve ptb changelog generation
  • make sure to fail Windows builds in case the packaging step failed
  • More adjustments to the changelog styling
  • read error log correctly from Windows installer tool
  • remove unrendered emoji characters from changelog script
  • remove unused mUserDefinedName in code
  • update appveyor signing password
  • updated Lua tests documentation
  • Lua tests to run in CI automatically

New in Mudlet 4.13.0 (Sep 22, 2021)

  • Added:
  • Ability to define custom color in profile buttons in connection dialog
  • ClosestColor() function for finding the best match out of color_table
  • SelectCmdLineText() to make command line text selected
  • Get and set state of push-down-buttons
  • Legends of the Jedi as a default game
  • Mouse menu actions to windows
  • Notarization to macOS builds
  • Pause, stop, and resume functions to complement speedwalk()
  • SelectCaptureGroup() will work with named capture groups
  • Shortcuts to navigate editor between triggers, aliases, etc
  • Improved:
  • Adjusted the 256 color conversion to match other clients
  • Descriptive window title now shows for the alias/trigger/script editor
  • Fix incorrect height adjustment of the command line
  • Fixed a fair bit of typos in code comments and texts the player sees
  • Give the Mudlet icon to new profiles that were just copied
  • Improved line-breaking in the command line
  • Improved zip comment generation for package exporter
  • Improvements to command line font handling
  • Mudlet on macOS won’t give security warnings anymore
  • Optional fontName, text and background transparency in createMapLabel()
  • Optional part of package exporter UI expands if there is space on macOS
  • Remove experimental label from the package exporter
  • Revise: improve debug messages when negotiating compression
  • Revise: make exporter temporary files be a sub-directory of a Mudlet one
  • Show an error in stdout when script failed to load from XML
  • Small optimization added for incoming text data
  • Update fontsize as soon as it is selected in preferences
  • Update: add some more dictionaries to the list
  • Fixed:
  • –profile CLI option will now work as expected in a lot more cases
  • Fix json map room symbol loading
  • Fix markdown headers and images not playing well together
  • Fix setBorderSizes() when called with 4 arguments
  • Fix: newly created profiles will remember their connection info
  • Make f work with variable named ‘str’
  • Mpackage zip comments are preserved correctly for international text
  • Package manager/exporter now work fine with non-Latin letters
  • Prevent addCustomLine from crashing without custom line points
  • Prevent crashing from double-click on connect button
  • Reset autowrap limit when changing the font size, if autowrap is enabled
  • Revise: fixup some package exporter results messages

New in Mudlet 4.12.0 (Jun 2, 2021)

  • Added:
  • AdjustableContainerRepositionFinish event, change in AdjustableContainerReposition event
  • File watch functions (addFileWatch, removeFileWatch) and event (sysPathChanged)
  • GetPackages and getModules functions
  • Brand new package manager to view your installed packages
  • Brand new package exporter to share your Mudlet things with others
  • DreplaceLine, hreplaceLine as well as support for windows other than the main one
  • GetConnectionInfo() will now also say if you’re currently connected or not
  • Improved:
  • GetOS() extended to include extra version (and for GNU/Linux, distribution) return values.
  • New keys without a name will automatically get assigned one
  • StickMUD will have the IRE mapper script installed by default for new profiles
  • Discord toggle for Clessidra will work right away, without needing to connect first
  • Area parsing in XML files is now more resilient
  • Mudlet will no longer freeze when exporting really large packages
  • Top buttons in Mudlet are no longer monospaced
  • Profile tabs in multiplay mode can now be re-arranged by dragging
  • Debug console will now show which profile a message comes from
  • Clicking on the line # in the code editor will let you type in it
  • Mapper right-click menu will no longer hide custom items if you open it low
  • SaveJsonMap() can be used without a path, just like saveMap()
  • You can add new variables in editor without having to click on one first
  • Cleaned up mapper right-click menu; it’ll only show items relevant to current selection
  • Unknown MSP elements will be skipped and Mudlet will do its best to play the sound anyway
  • Duplicate parent names won’t be included anymore when exporting/importing packages (but if you’d like to, you can right-click to do it anyway)
  • Fixed:
  • Fixed crash when using MSSP with the * event handler
  • Clicking on a label/miniconsole in a floating userwindow will no longer steal focus from the input line
  • Changing tabs in multiview will no longer cause consoles to flash
  • There will no longer be a line across the screen for a split moment when a new profile is opening
  • SearchAreaUserData() will work again when both key and value are provided for searching
  • Clicking on the timestamp will now visually select the whole line
  • Auto-complete will no longer try to complete on short words like ‘do’
  • Text will now longer be automatically deselected while typing with the spellchecker on
  • –quiet command line explanation fixed
  • Cancelling a package download will now actually cancel it
  • Perm* functions are working well again
  • GetMapLabels() won’t crash when used on an area that doesn’t exist
  • Generic mapper update notifications will work well again
  • Miniconsole message if you don’t pass enough parameters fixed
  • Fixed nonsense message for when there’s no rooms in the map
  • Generic mapper will stop responding to the map opening after it’s been uninstalled
  • Code won’t run twice on setScript and resetProfile
  • Resize events won’t be emitted anymore if the size didn’t actually change
  • GetMapMenus() fixed
  • Small memory leak when JSON map export is aborted
  • Infrastructure:
  • Added automation to auto-link Linux and macOS PTB to updater (#4861
  • Added tests for variable interface
  • Added support for building Mudlet in Docker on Linux
  • Added mpackage for testing cecho/decho/hecho and console transparency to tests
  • Added an automated check to verify improvements against Mudlet’s C++ style guide
  • Qt 5.14.2 is now used for all official builds

New in Mudlet 4.11.1 (Mar 14, 2021)

  • After a (once again) forced updates hiatus of a couple of months, monthly Mudlet updates are back! Enjoy improvements to drag & drop and a much better mapper. What is Mudlet? Mudlet is a platform with which you can play multiplayer, pure-text online games – called...

New in Mudlet 4.11.0 (Mar 14, 2021)

  • added:
  • ‘look’ command in generic_mapper can now be translated
  • addCmdLineSuggestion() allows you to add words to the tab completion
  • custom HTTP method requests are now supported (ie PATCH)
  • debug console now shows warnings from functions (which are returned as nil+message normally)
  • f() function for string interpolation, ie send(f(“My target is {target}”))
  • functions are now accepted everywhere [[code here]] is as well
  • generic mapper: new ‘lazy’ map mode to match room names only, ignoring exits
  • getProfileTabNumber() to return the # of the current tab
  • getWindowWrap() so you can make echo’s that don’t wrap
  • registerMapInfo() allows you to customise the map info label
  • launching Mudlet for the first time ever? The input line will now have a placeholder text saying where to type the text
  • map info box is now customizable
  • modules can now be loaded before scripts in a profile with the -1 module priority
  • named captures are now supported in regex triggers (matches.)
  • placeholder text for command fields to explain what are they for
  • mudlet.org/it/for our Italian players
  • room characters can now be custom-coloured
  • rooms now have borders in the 2D view
  • saveJsonMap() and loadJsonMap() now support the Mudlet map format in JSON
  • setRoomCharColor() allows you to customise the colour of a room character
  • showNotification() to show an OS (computer) notification
  • sysDownloadFileProgress event to monitor download progress
  • view-only mode in the mapper, which is on by default
  • X11 (Linux middle-click) selection is now supported
  • you can now install a package by dragging the URL onto Mudlet
  • improved:
  • ‘deleteOldProfiles’ now deletes old modules as well
  • ‘no map loaded’ will now differentiate between actually no map loaded, and not knowing where you are
  • Adjustable.Container now deals with corrupted save files and table for save slots
  • all “wrong argument type” errors are now gone, will give an actual explanation instead
  • c/d/hecho text formatting can do italics and bold
  • connection dialog now looks better in dark themes
  • default background color is now transparent, not black, in c/d/hecho
  • default, unused profiles no longer require a confirmation to delete
  • event engine can now pass large numbers through OK
  • exists() function will now error on a wrong input type
  • expired timers are now periodically deleted when you’re offline, instead of in bulk when you reconnected (which made Mudlet freeze for a while)
  • getMapLabel() now returns foreground/background colors and the image as base64
  • GMCP package names are now parsed in a case-insensitive way, per spec
  • installing a package by dragging it into Mudlet will now give a notification
  • installPackage will now return true/false indicating if it worked
  • internal: history code is now a single code path, not duplicated
  • italics and emojis won’t overlap each other anymore
  • line spacer pattern now uses a spinbox instead of a free-text line edit
  • loading a map will now choose a better folder to start in
  • more functions will now validate their arguments instead of throwing an error
  • name search function can now be customised in the generic mapper
  • new profiles are not preinstalled the “send text to all games” script anymore. There’s a better package available now https://forums.mudlet.org/viewtopic.php?f=6&t=23023
  • newline is now its own entry in the history buffer(edited)
  • profile save is enabled by default on new profiles
  • permGroup can now be used for keys
  • removed all QPalettes from forms/dialogues, enabling stylesheets to cover more aspects of Mudlet
  • response size limit is removed in HTTP calls
  • right-clicking on a room will select it for the pop-up
  • room selection now looks better
  • scrolling is now smoother in general
  • scrolling transition is smoother when screen splits using scrollwheel
  • setFont() won’t work with unknown fonts
  • settings dialog will now close when the button is released, and not pressed, as expected
  • simplified unknown text for given encoding message
  • small text under icons in the connection dialog is gone
  • telnet options within subnegotiations are now ignored, instead of breaking output
  • timestamps are now copied as well when they’re visible
  • trigger patterns now have an explanation of where the text goes for newbies
  • TTS won’t try to speak out <, >, and no text
  • typing in the connection dialog will now highlight the relevant icons
  • using Alt+O will now re-focus on the package manager if it was open
  • you can drag left/right to increase selection after double or triple-clicking on a word
  • you can now copy text from the update dialog
  • you can now multi-select in the package manager
  • fixed:
  • Adjustable container attached menu shows elements now on hover (or similar)
  • crash with reloadModule()
  • Discord link in Mudlet will now always work
  • display() won’t freeze on Geyser labels anymore, can show _G as well
  • export action isn’t enabled anymore in Variables view, as those weren’t exportable
  • flyout labels will close when leaving the parent item
  • generic mapper script: correctly handle ‘set player location’
  • IRC ‘/quit’ no longer crashes Mudlet
  • just one ‘about’ button will now be on screen, instead of many if Mudlet was left running for a while and an update was available
  • Lua trigger conditions are now properly deleted when the profile is closed, fixing a small memory leak
  • map labels for an area are now deleted with the area
  • MXP playing MSP handles with no attribute names won’t crash anymore
  • MXP tags with UTF8 strings are now shown correctly
  • pressing Alt won’t steal focus from the input line anymore
  • room exits that go off the map are now drawn
  • some games appeared twice in the connection dialog
  • speedwalk() in reverse mode won’t reverse the numbers as well
  • tempTimer() won’t have a small memory leak anymore
  • unhighlighting during control-selection now works OK
  • module contents aren’t lost anymore if saveProfile() is called during load
  • infrastructure:
  • CMake is now the primary source for macOS and Linux releases
  • CMake build now generates translations properly
  • PTB and snapshot builds now get separate icons
  • Apple has stopped supporting macOS 10.13 – Mudlet’s minimum is now 10.14

New in Mudlet 4.10.0 (Nov 4, 2020)

  • Added:
  • Ability to display room names on the map (no auto-align them yet)
  • An event to catch all events – `*`
  • Background image for miniconsoles is now possible, same as labels
  • Background image for the main window is now possible
  • English spellchecking dictionaries are now included
  • Game admins can now set encoding via telnet CHARSET (so utf8 for emojis)
  • Miniconsoles can now have commandlines in them
  • Music is now supported in MXP
  • Option not to highlight text (history) when pressing the ↑ button
  • Option to use your own pathfinding algorithm instead of the built-in one
  • You can now create standalone commandlines now allow you to ask the player for info
  • Transparency in now supported by cecho/decho/hecho
  • You can now use math in Geyser constraints, ie “50% + 3px”
  • Added & improved functions:
  • Ansi2string() given a string with ANSI codes in it, remove them all
  • CfeedTriggers(), dfeedTriggers(), and hfeedTriggers() to enable testing color triggers
  • CreateCommandLine(), enableCommandLine() for creating custom commandlines
  • EnableHorizontalScrollBar() to show a horizontal scrollbar in miniconsoles as needed
  • GetClipboardText() and setClipboardText() for interacting with the clipboard
  • GetFgColor() and getBgColor() now report how many characters the same color applies to
  • GetHTTP() downloadFile’s cousin and allows you to pass custom headers, joins putHTTP(), postHTTP() family for consistency
  • Geyser.Label:createRightClickMenu() to create menus in labels
  • Geyser.MiniConsole:display() to display straight into a miniconsole
  • Geyser.UserWindow:setStyleSheet(), setUserWindowStyleSheet() to adjust the userwindow title and borders – great for dark themes
  • Hecho() can now set the background color only, without affecting foreground
  • IsActive() and exists() now work with buttons
  • Keepcolor parameter to replaceWildcard() and replaceAll() functions
  • PurgeMediaCache() to remove MCMP & MSP media files
  • SetCmdLineStyleSheet() to customize the font, colors, position of the command line
  • SetMapBackgroundColor() to change background color of the map from the usual black
  • SetMapRoomExitsColor() to customize the color of room exits drawn on the map
  • Spairs() which iterates over a table in a sorted way
  • TempAlias() and tempKey() now can take Lua functions and not just text
  • TempAnsiColor() trigger now works as it should
  • Improved:
  • ‘errors’ button text is now capitalized
  • A message is now shown when a replay ends
  • Client.Media – package messages themselves are no longer case sensitive
  • Compact input line option is now per-profile
  • Errors console now shows a horizontal scrollbar when needed
  • Exit line in generic mapper is now case-insensitive, and a few other triggers improved
  • In case of compiling Mudlet yourself without TTS support, TTS functions won’t error anymore
  • Links at the end of the line now won’t be clickable in the empty space
  • More accurate row and column reporting through NAWS protocol
  • Mudlet logo artwork, now sharper and better-looking. Dev and PTB builds are now clearly distinguishable
  • Mudlet’s savefiles are now saved with a more sorting-friendly name
  • Mudlet’s usual, development and PTB icons got improved
  • Multiview tabbars aren’t re-arrangeable anymore, as doing so didn’t re-arrange the views anyhow
  • Profile history in connection dialog now translates dates
  • Scrolling now uses the upper pane’s height, so you aren’t missing text when scrolling, or getting too much of it
  • Shrinking rooms in the mapper will keep everything in its place
  • String.split() now works with many more characters
  • Stylesheets can now manipulate color of Geyser Labels
  • Tabs and tab stops in profile preferences now make sense, which is a bit friendlier for a11y
  • Upped the limit of regex capture groups in aliases and triggers to 33
  • Zooming the mouse in and out in 2D mapper will keep the position more stable
  • Fixed:
  • ‘map config’ alias in generic mapper now works
  • AppendBuffer() now keeps links, so copying text with links in it to miniconsoles works
  • Crash when closing a profile with toolbars
  • Crash when selecting/copying text
  • Crash trying to move too many rooms at once via right-click
  • Fixed MXP with values containing =
  • Materia Magica’s MXP now works better with Mudlet
  • Multiview now stays when you change focus between profiles
  • ResetProfile() to work again
  • Static items in HBox/VBoxes won’t be resized anymore when the box changes size
  • SysDataSendEvent will no longer reveal the password
  • Vertical scrollbar now moves when you scroll with PgUp/PgDown
  • Vertical scrollbar now shrinks in size as you get more text
  • Infrastructure:
  • Added some useful defaults for Visual Studio Code’s C++ integration
  • Building with libzip 1.70.0 that lacks version numbers now works
  • Cleaned up IRC code
  • Debug output now spams a bit less for unprintable codepoints
  • Deleted Github Action for clearing whitespace (more spam than help)
  • Enabled Github’s new CodeQL security code scanning
  • Fixed crash importing map with custom exit lines on Qt 5.14+ (macOS)
  • Internal code that only works with the main window is now in a separate class of its own, making the programmers happier
  • Lua binding code cleaned up and improved for consistency and code style, now more fresh!
  • Mudlet can now be built & run remotely in the browser with Github Codespaces
  • Mudlet can now be built in MSYS2 on Windows
  • Mudlet’s wiki is now upgraded to latest and greatest
  • New PTBs are only built on days where there are new changes
  • Updated Linux builds to use Qt 5.12.9

New in Mudlet 4.9.0 (Jun 13, 2020)

  • Added:
  • Public Test Build (PTB) versions of Mudlet for macOS and Linux
  • New icons for Mudlet’s Public Test Builds and development versions
  • IRE mapper automatically installed for Starmourn as well
  • Lua code in Mudlet can now be translated in Crowdin
  • Option to keep color highlighting, so you aren’t forced to specify both fore and background colors
  • New sysWindowMousePress and sysWindowMouseRelease events for user windows
  • Improved:
  • A single echo’s size was raised from the 10k character limit in the last release to a million characters
  • Check for updates will check for updates more regularly
  • The generic mapper script will automatically run ‘find prompt’
  • The generic mapper script will handle room titles with embedded mini ASCII maps on the side
  • Geyser HBox/VBox are now much quicker
  • Geyser now stores stylesheet in the object
  • Mudlet’s website is now shown in the Discord line
  • MXP support rewritten, now supports colours
  • Faster in-script search in the code editor for big scripts – won’t search on first two characters anymore
  • Support graphics on Durismud (mud.durismud.com)
  • Fixed:
  • Prevent crash when closing a profile that hasn’t successfully connected
  • Event handlers continue running now after one of them had an error
  • Locking and minimization on creation is working now as expected for Adjustable Containers
  • Module sync can’t be enabled for mpackages, as those aren’t supported for syncing yet
  • Improved pixel precision in Adjustable Containers
  • Replays now process cr+null correctly
  • Time units aren’t translated in the UI anymore, making it work for other languages
  • Userwindows can now still show up if previously closed/hidden
  • Ctrl+C breaking when you have played a lot

New in Mudlet 4.8.1 (May 13, 2020)

  • This is an amazing release that adds drag and drop packages, custom cursors, draggable labels and more! Mudlet is now more powerful than ever for building stunning, modern interfaces for MUDs.
  • Drag and drop packages:
  • Thanks to Edru, who massively improved Geyser and Userwindows in the last update, you can now drag and drop packages into Mudlet to install them. Pretty simple!
  • Along with this comes a sysDropEvent, so you can code a custom action when a file is dropped into Mudlet. If you’re a package author, remember you can make use of the sysInstall event to notify that your package has been installed. Enjoy!
  • Carrion Fields added:
  • This game has put together a seriously impressive Mudlet package and we’re honoured to have them added to Mudlet officially! Double-click on CF in the Connection screen to play :)
  • Carrion Fields is a unique blend of high-caliber roleplay and complex, hardcore player-versus-player combat that has been running continuously, and 100% free, for over 25 years.
  • Choose from among 21 races, 17 highly customizable classes, and several cabals and religions to suit your playstyle and the story you want to tell. Our massive, original world is full of secrets and envied limited objects that take skill to acquire and great care to keep.
  • We like to think of ourselves as the Dark Souls of MUDs, with a community that is supportive of new players – unforgiving though our world may be. Join us for a real challenge and real rewards: adrenalin-pumping battles, memorable quests run by our volunteer immortal staff, and stories that will stick with you for a lifetime.
  • Adjustable Containers
  • Edru didn’t just stop with drag and drop – adjustable containers are in as well! What does it mean? It means labels/miniconsoles that you can move around and reposition just by dragging! No code needed.
  • Try this code in Mudlet:
  • testCon = testCon or Adjustable.Container:new({name="testContainer"})
  • testLabel = Geyser.Label:new({x=0, y=0, height="100%", width="100%", color="green"},testCon)
  • Search within the script:
  • Dicene also added a cool feature – you can now hit Ctrl+F to search within the script only, not your entire Mudlet profile!
  • He didn’t just stop there either – you can now toggle whenever you’d like to search within variables, default off so it’s quicker:
  • CP437 encoding now supported:
  • Thanks to SlySven, the CP437 encoding is now supported. Along with a custom font, Medievia makes use of this to draw amazing custom maps :)
  • CP437 encoding with a custom font
  • Check out a few more screenshots.
  • Custom cursors:
  • Yep, custom cursors are here! Curious? Download, drag, and drop this demo package into Mudlet to try all the cursors out :)
  • Big thanks to Edru for adding these in.
  • New API features:
  • gcms added MXP as another format that you can get data / events from, just like GMCP. Check it out!
  • demonnic did a pass over the table functions – table.contains() can now check within multiple nested tables, and table.collect(), table.n_collect(), table.matches(), table.n_matches() to make working with tables easier.
  • Thanks to Edru, you can now manipulate the syncing of a module with enableModuleSync(), disableModuleSync(), and getModuleSync(), and add/edit the Scripts as you see them in Mudlet with enableScript(), disableScript(), setScript(), getScript(), permScript(), and appendScript().
  • Edru also improved on the userwindows – you can now choose whenever they should be popped out or docked at start, and if docked, which area should they be in. Autodocking while dragging can now be disabled, too!
  • A few more improvements are also present – see the full changelog below.
  • Geyser:show() fixed
  • As mentioned two months ago, we’ve fixed an issue where you could still :show() the child of a hidden container. If your UI relied on this broken behaviour, make sure to update it!
  • Script editor sizes:
  • Alias/trigger/script editors are no longer huge by default, and they’ll remember their sizes as well. Thanks to dicene for covering this off!

New in Mudlet 4.8.0 (May 2, 2020)

  • Drag and drop packages:
  • Thanks to Edru, who massively improved Geyser and Userwindows in the last update, you can now drag and drop packages into Mudlet to install them. Pretty simple!
  • Along with this comes a sysDropEvent, so you can code a custom action when a file is dropped into Mudlet. If you’re a package author, remember you can make use of the sysInstall event to notify that your package has been installed. Enjoy!
  • Carrion Fields added:
  • This game has put together a seriously impressive Mudlet package and we’re honoured to have them added to Mudlet officially! Double-click on CF in the Connection screen to play :)
  • Carrion Fields is a unique blend of high-caliber roleplay and complex, hardcore player-versus-player combat that has been running continuously, and 100% free, for over 25 years.
  • Choose from among 21 races, 17 highly customizable classes, and several cabals and religions to suit your playstyle and the story you want to tell. Our massive, original world is full of secrets and envied limited objects that take skill to acquire and great care to keep.
  • We like to think of ourselves as the Dark Souls of MUDs, with a community that is supportive of new players – unforgiving though our world may be. Join us for a real challenge and real rewards: adrenalin-pumping battles, memorable quests run by our volunteer immortal staff, and stories that will stick with you for a lifetime.
  • Adjustable Containers:
  • Edru didn’t just stop with drag and drop – adjustable containers are in as well! What does it mean? It means labels/miniconsoles that you can move around and reposition just by dragging! No code needed.
  • Try this code in Mudlet:
  • testCon = testCon or Adjustable.Container:new({name="testContainer"})
  • testLabel = Geyser.Label:new({x=0, y=0, height="100%", width="100%", color="green"},testCon)
  • Search within the script:
  • Dicene also added a cool feature – you can now hit Ctrl+F to search within the script only, not your entire Mudlet profile!
  • He didn’t just stop there either – you can now toggle whenever you’d like to search within variables, default off so it’s quicker:
  • CP437 encoding now supported:
  • Thanks to SlySven, the CP437 encoding is now supported. Along with a custom font, Medievia makes use of this to draw amazing custom maps
  • Custom cursors:
  • Yep, custom cursors are here! Curious? Download, drag, and drop this demo package into Mudlet to try all the cursors out :)
  • Big thanks to Edru for adding these in.
  • New API features:
  • gcms added MXP as another format that you can get data / events from, just like GMCP. Check it out!
  • demonnic did a pass over the table functions – table.contains() can now check within multiple nested tables, and table.collect(), table.n_collect(), table.matches(), table.n_matches() to make working with tables easier.
  • Thanks to Edru, you can now manipulate the syncing of a module with enableModuleSync(), disableModuleSync(), and getModuleSync(), and add/edit the Scripts as you see them in Mudlet with enableScript(), disableScript(), setScript(), getScript(), permScript(), and appendScript().
  • Edru also improved on the userwindows – you can now choose whenever they should be popped out or docked at start, and if docked, which area should they be in. Autodocking while dragging can now be disabled, too!
  • A few more improvements are also present – see the full changelog below.
  • Geyser:show() fixed
  • As mentioned two months ago, we’ve fixed an issue where you could still :show() the child of a hidden container. If your UI relied on this broken behaviour, make sure to update it!
  • Script editor sizes
  • Alias/trigger/script editors are no longer huge by default, and they’ll remember their sizes as well. Thanks to dicene for covering this off!
  • Polish translation

New in Mudlet 4.6.1 (Mar 9, 2020)

  • Added:
  • Geyser objects (as well as the usual labels, miniconsoles and mapper) can now go into userwindows
  • UnzipAsync() function
  • SetLabelToolTip() and Geyser equivalents :setToolTip() functions
  • Improved:
  • Tab order in connection screen now makes better sense (a11y)
  • All connection screen input fields now have their names read out for a screenreader (a11y)
  • Mud Client Media Protocol: Client.Media has been renamed to Client.Media.Default per protocol change
  • Notepad now works with utf8
  • IRE Composer now handles
  • Blinking text will now show up as italics (like in MUSHclient), as opposed to normal text like before
  • All fonts can now be selected in main window settings
  • Fixed:
  • Labels being really slow over the mapper window
  • Gmod not re-enabling modules properly on reconnect
  • Possible crash if you managed to close a profile without closing Mudlet while settings window was open
  • Module priorities not to get lost

New in Mudlet 4.6.0 (Mar 9, 2020)

  • Added:
  • Geyser objects (as well as the usual labels, miniconsoles and mapper) can now go into userwindows
  • unzipAsync() function
  • setLabelToolTip() and Geyser equivalents :setToolTip() functions
  • Improved:
  • tab order in connection screen now makes better sense (a11y)
  • all connection screen input fields now have their names read out for a screenreader (a11y)
  • Mud Client Media Protocol: Client.Media has been renamed to Client.Media.Default per protocol change
  • notepad now works with utf8
  • IRE Composer now handles
  • blinking text will now show up as italics (like in MUSHclient), as opposed to normal text like before
  • all fonts can now be selected in main window settings
  • Fixed:
  • labels being really slow over the mapper window
  • gmod not re-enabling modules properly on reconnect
  • possible crash if you managed to close a profile without closing Mudlet while settings window was open
  • module priorities not to get lost

New in Mudlet 4.5.2 (Feb 27, 2020)

  • It restores the updater, and fixes module priorities not to get lost. As the updater was broken due to human error, you will need to manually update from 4.5.1-de to this version.

New in Mudlet 4.5.1 (Feb 27, 2020)

  • It is a patch release adding the missed getImageSize() function and updates autocompletion tooltips.

New in Mudlet 4.5.0 (Feb 17, 2020)

  • Added:
  • Fierymud to the default list. Check it out!
  • Hreplace() as an option (so you can use hex codes)
  • Turkish language as an option in Mudlet. Help us translate it!
  • DeleteLabel() to delete a label (hiding/showing is much more efficient though)
  • GetImageSize() for getting the dimensions of an image (such as one you download from the web)
  • Improved:
  • SendMSDP() argument checking – thanks to Delra for this one!
  • Outdated 3Kingdoms mapper removed – generic one is better at this point
  • Fixed:
  • IRC window will now close when the last profile is closed
  • Downloading a Mudlet map via Client.Map for the for the first time works
  • SetModulePriority() can now be called right after a module is installed
  • Infrastructure:
  • Sped up cases where colour is used in Mudlet with the new QColorConstants
  • Fixed compilation with the 3D mapper disabled (needed for Mudlet on Raspberry Pi)
  • Internal label code simplified not to require a Host anymore
  • Streamlined all of the c/d/hreplace functions to share code

New in Mudlet 4.4.0 (Dec 7, 2019)

  • Added a new option for customising the mapper’s “you are here” location marker, added notepad autosave, re-added stopwatches overhaul and fixed a possible crash when copying text in this update! MSP (Mud Sound Protocol) Thanks to Tamarindo

New in Mudlet 4.3.0 (Nov 10, 2019)

  • Changelog
  • Added:
  • ‘show moves’ alias to generic mapper script
  • Support for a ‘Public Test Build’ version of Mudlet (coming soon)
  • Improved:
  • Table.is_empty() now gives a better error message
  • Text selection redone
  • Emoji rendering is a bit better (still working on it)
  • ShowColors() now appends the clicked colour instead of replacing text in the input line
  • Infrastructure:
  • Modernised cmake files

New in Mudlet 4.2.0 (Oct 13, 2019)

  • Added:
  • Geyser.Gauge:echo() can now do Geyser formatting
  • Generic mapping script: if you start the first area in your map without a name, the message asking for the name is now more understandable
  • Added getConnectionInfo() function
  • Character login passwords can now be stored by Mudlet securely in the credential manager, and are put there by default. There is still a toggle to go back to storing them unencrypted within the profile – this is handy if you want to use cloud sync
  • ANSI colours are now available for use in cecho and others! They are automatically synced with preferences. See showColors()
  • Improved:
  • SetRoomEnv(), Geyser.Gauge:setValue(), table.is_empty() give you an understandable error message if you don’t give them right arguments, instead of technical gibberish
  • Generic mapping script: ‘map basic’ is now much more simplified and understandable, and tells you if it captured room name and exits correctly
  • Code editor will now indent with two spaces, and not tabs, when you press Tab (this sounds weird but it’s a lot better)
  • ‘About Makers’ is now a lot easier to translate
  • Generic mapping script: ‘clear moves’ alias now tells you how many commands were removed
  • You can now reveal the character password in the Connection screen by pressing a little icon
  • GUI.Client, Client.Map downloads will now follow redirects as necessary
  • Mudlet’s .dat map files can now be loaded from Client.Map as well
  • Default font size for new profiles is slightly bigger and looks nicer
  • Stopwatches got a giant overhaul, tons of new functionality
  • ShowColors() now sorts colours nicely
  • Fixed:
  • Error and debug console fonts are no longer spaced weird
  • Grey area between trigger error and trigger patterns is fixed
  • You can now select a single letter/character (“grapheme” in technical terms)
  • Trigger highlights can now highlight non-English text fine

New in Mudlet 4.1.2 (Sep 12, 2019)

  • 4.1.1 and 4.1.2 updates that fixed Alt+# hotkeys being broken if you had them, and trying to use miniconsole functions on miniconsoles that don’t exist causing a crash.

New in Mudlet 4.1.0 (Sep 8, 2019)

  • added:
  • Alt+E / “Script editor” will now open the same view you had last, instead of Triggers view at all times
  • Alt+E now toggles between the Mudlet editor and the main window back and forth
  • calcFontSize(window_or_fontsize, optional_font_name)
  • Client.GUI is now accepted by Mudlet in JSON format as well (this is for game admins)
  • Ctrl+Tab and Ctrl+Shift+Tab can now be used to jump around the main parts of the Mudlet editor
  • Geyser.Label:echo can now align things to ‘left’ and ‘right’, and use ‘strikeout’ text
  • insertLink, echoPopup, and insertPopup now have c/d/h variants for colouring text
  • MSSP data is now available in Lua! Not all games support this, but those that do, you’ll be able to get additional data about the game in the ‘mssp’ table
  • postHTTP(), putHTTP(), and deleteHTTP() – and logging of all requests in the Debug console so you know what scripts are doing
  • table.keys(), table.n_filter(), table.n_flatten() for working with tables
  • Ctrl+1,2,3,etc now changes between profile tabs (this won’t break your custom keybindings if you have those)
  • improved:
  • code editor’s autocompletion now has a toggle in settings
  • default map save format is now 20 (up from 18). This means maps saved by Mudlet 4.1 can’t be read by 2.1 (3.x is OK!) – at this point enough people should be off
  • insertPopup and echoPopup now accept “main” as an argument
  • “default_host” profile is now gone: even faster Mudlet loading!
  • fixed:
  • ‘Copy as image’ now correctly works for Chinese and other 2-character-width languages
  • changing formatting in a miniconsole will now take effect right away
  • clicking on the timestamp will once again select the entire line (remember you have ctrl+clicking on a line too)
  • setBold and other formatting functions will now work on miniconsoles
  • setting a 0 width font (a weird font, basically) won’t crash Mudlet
  • UIs / Geyser no longer look funny when you first open them :)
  • userwindows will now close when you close their profile

New in Mudlet 4.0.0 (Aug 4, 2019)

  • Added:
  • Copy profile (settings only) – handy for bringing over existing preferences to a new profile
  • Disconnect button in the menu of the Connect button
  • Discord is now the preferred way to get help; Discord is now available as a button. IRC is still there, people use it in their systems
  • GetBorderSizes() as well as getBorderTop(), getBorderRight(), getBorderBottom(), and getBorderLeft()
  • Package manager, module manager, and package exporter all have buttons in the menubar now
  • Patreon supporters tab! See https://patreon.com/mudlet
  • SetBorderSizes(top, right, bottom, left)
  • SOCKS5 proxy support for connecting to games / HTTP downloads
  • TempTimers now have a repeating option (keep firing until you kill them)
  • You can now give your profile a custom icon in the list
  • Improved:
  • 60-200ms faster profile load and lower memory use (code formatter is now loaded on demand)
  • C++17 is now used for making Mudlet. If you like the sound of that, come join us ;)
  • Command separator for new profiles is now ;; (remember you can now copy settings from existing profile)
  • Couple of long tooltips for map copy are now trimmed
  • Emoji’s will now be displayed in colour in Linux and Windows 10 (macOS already had them, Windows 7 not possible; Windows limitation)
  • Faster text rendering of normal characters (plain ASCII)
  • FeedTriggers now works independent of your encoding
  • Full path to the sound file is now shown as a tooltip in the trigger editor
  • Introduction texts for triggers/aliases/etc are now more thorough
  • Mudlet updater and code editor texts are now possible to be translated
  • Reconnect button and reconnect() will now connect to the last server, even when you use connectToServer()
  • Fixed:
  • ‘About’ button in menubar won’t show text when you’ve turned that off
  • Chinese Linux users can now type in Chinese in Mudlet
  • Clicking on a search result will now correctly take you to the location in the code
  • Creating a new trigger won’t show an error about no patterns in it right away
  • Ctrl+Delete works in the input line to delete by word, as well as other shortcuts
  • PermGroup() will properly create folders
  • Spellchecker now works for everyone, including Windows users with special characters in their name
  • Tabs now show correctly in Mudlet
  • Text selection works right for Chinese text

New in Mudlet 3.22.0 (Jul 7, 2019)

  • added:
  • new function: translateTable() – given a table, translates it to your language
  • mudlet.translate – translations of directions into the chosen interface language
  • improved:
  • texts and tooltips around Mudlet
  • package exporter will confirm success or announce failure
  • package exporter will show package name and (clickable) folder
  • fixed:
  • new profiles save their connection information instantly
  • Mudlet loads correctly on Windows where the username has a non-ASCII character in it
  • colorizer trigger has the correct position of ‘foreground’ and ‘background’ labels
  • text-to-speech now works on Linux
  • package exporter will include sub-directories correctly

New in Mudlet 3.21.0 (Jun 17, 2019)

  • Three, two, one! Counting down to the next Mudlet version, which lets you open a game offline, or shrink the trigger editor window for example. Open profile offline It’s a small thing, but one that has been requested over the years – and one that LiamLeFey...

New in Mudlet 3.20.0 (May 12, 2019)

  • added:
  • Documented getOS() and getAllAreaUserData()
  • remainingTime() to check timers
  • getTextFormat(windowName) to check formatting
  • improved:
  • RoomId numbers are drawn better in 2D Mapper. They now are scaled, so that they fit the room symbol square, and are
  • suppressed if they are too small to show.
  • Upgraded Mudlet Qt version from 5.10 to 5.12.2
  • Upgraded Mudlet Linux CI from Ubuntu 14.04 LTS to 16.04 LTS
  • Sped up macOS CI builds
  • fixed:
  • Fixed db:add() when adding timestamp

New in Mudlet 3.19.0 (Apr 6, 2019)

  • Better dark themes support, more of Mudlet translated for Chinese, German, Russian and Italian, and mapper improvements are all in this update!
  • More internalisation:
  • Big thanks to all of the translators who worked to translate Mudlet! German translation is up 10% and regains its gold star, Chinese and Italian translations are up 15%, and Russian translation is up 7%!
  • Better dark theme compatibility:
  • More colours have been removed from the editor so it can be better themed for dark more! Give us your feedback on how it feels.
  • Compact room selection table:
  • xekon worked to make the room selection table more compact, now it occupies less space while still helping you with mapping.
  • Changelog:
  • #dddddd syntax added to hecho/hinsertText, alongside existing |dddddd
  • added an option to Geyser to flyout labels on hover (instead of click)
  • fixed up typos / made tooltips and other messages more intuitive and clear
  • lots of code improvements within Mudlet itself
  • more colours removed from script editor, to make dark themes better (give us feedback on this)
  • more text is available for translation! See https://wiki.mudlet.org/w/Translating_Mudlet on how to help translate
  • room selection widget in the mapper is now more compact

New in Mudlet 3.16.1 (Dec 22, 2018)

  • Added:
  • getSelection() added to retrieve selection made with selectString(), selectCurrentLine(), or selectSection()
  • removeCustomLine() to remove a custom exit line in the mapper
  • Added a right-click menu to room environment (colour) dialog, allowing deletion of environments
  • Advanced text analyser as a right-click option in the main menu
  • Fixed:
  • tooltips will now show for the buttons in the main window
  • Geyser.Gauge:setValue() will correctly position text again
  • Mudlet version is properly quoted again in GMCP Core.Hello message
  • exit weights in the 2D mapper are shown properly
  • symbol counts showing up in the room when set via the right-click menu
  • Improved:
  • insertText() and getLineNumber() now accept “main” for the main window
  • custom exit lines now look better in the mapper
  • addCustomLine() will now report better error messages
  • custom exit line types are now available for translation
  • pointy brackets replaced with square ones in a few places for easier translation
  • added xterm256 support to MMP map format
  • Infrastructure:
  • upgraded macOS binaries to be build on Sierra

New in Mudlet 3.15.0 (Nov 5, 2018)

  • added:
  • Escape character is now automatically escaped by Mudlet in GMCP for (buggy) games that don’t do it
  • OK timer output can now be supressed from debug view
  • Portuguese as an interface language
  • fixed:
  • suffix() and prefix() will now properly apply background and foreground colours
  • showWindow() and hideWindow() correctly name themselves in error messages
  • Geyser.Gauge:setValue() will correctly set the text
  • (c|h|d)insertText will properly move cursor to end after inserting
  • Geyser.Label:echo() will properly center text with the ‘c’ format parameter
  • improved:
  • display() can now take multiple arguments
  • getMudletHomeDir() will now use forward slashes / as separators on Windows since stylesheets require them
  • showColors() can now sort colours for you alphabetically
  • infrastructure:
  • improved translation stats script not to break on unexpected text
  • new releases are automatically registered in dblsqd

New in Mudlet 3.14.1 (Oct 25, 2018)

  • Fixes a crash that sometimes happens after saving a profile with synced modules. Sorry about that!

New in Mudlet 3.14.0 (Oct 7, 2018)

  • This version of Mudlet really goes full circle! Choose from multiple languages for your Mudlet interface. Show information about the games you play in your Discord profile. Copy text as an image for easy sharing with others. Discord information Mudlet is a modern...

New in Mudlet 3.12.0 (Aug 14, 2018)

  • added: autocomplete suggestions in code editor
  • added: lower() and raise() methods to appropriate Geyser objects
  • fixed: in editor mode, buttons like ‘save profile as’, ‘import’, ‘export’, etc. will work reliably again
  • fixed: under some circumstances package exporter did not export data but crash Mudlet
  • fixed: prevent crash when saving a module which had been moved to a different file destination
  • fixed: settings for server encoding will be remembered between sessions and for auto connects
  • improved: traditional Chinese characters will be processed and displayed more reliably
  • improved: display new address of editor theme downloads as http://colorsublime.github.io/

New in Mudlet 3.11.0 (Jul 15, 2018)

  • Added: expiring temporary triggers
  • Added: getGridMode()
  • Added: profile autosave
  • Added: toggle for show icons in menus
  • Added: windows installers are now signed (less problems with AV installing/upgrading)
  • Fixed: changing main window background will apply changes immediately
  • Fixed: logging settings are now saved correctlyfixed: single-line copy won’t introduce blank spaces
  • Fixed: notepad will save when just one profile is closed
  • Improved: Lua error messages are more intuitive now for selectCurrentLine(), isAnsiFgColor(), isAnsiBgColor(), getFgColor(), getBgColor(), wrapLine(), selectCaptureGroup(), getLines(), getCurrentLine(), and echoPopup()
  • Improved: Mudlet now sends a correct response for MXP <supports>
  • Improved: You can now create new maps by right-clicking on the empty map
  • Infrastructure: updated 3rd party dependencies on windows

New in Mudlet 3.10.0 (Jun 10, 2018)

  • Added: autowrap feature in Geyser.Miniconsole
  • Added: East Asian language support – GBK and GB18030 encodings
  • Added: enable Qt 5.9 on Windows/macOS/Linux and enable C++14 features
  • Added: get text to translate Mudlet’s interface up on Crowdin
  • Added: more options for logging: split/single file, custom location, and custom log names
  • Added: option to toggle display of ambiguous-width characters
  • Added: Mudlet packages can now have custom fonts
  • Fixed: blank changelog on upgrade
  • Fixed: don’t crash when clicking on the X= icon in variables view
  • Fixed: don’t lose unsaved trigger you’re making in the editor if you use perm*Trigger
  • Fixed: GUI auto-upgrade from the game showed version numbers backwards
  • Fixed: tempComplexRegexTrigger’s foreground and background arguments didn’t work right
  • Fixed: room exits dialog on macOS didn’t visually show ‘Save’ button as enabled
  • Improved: setBackgroundColor() can now change background of the main window
  • Improved: calcFontSize() can now take a window parameter to support custom miniconsole fonts
  • Improved: cleaned up documentation in Mudlet’s code and linked it to the wiki
  • Improved: disable Geyser.MiniConsole scrollbar if you’ve previously enabled it in the constructor and then took it out
  • Improved: getFont() now reports actual font that was used, not the one you set it to, in case you don’t really have that font to use
  • Improved: improve performance and don’t raise telnet EOR events (just like GA and you are better off with a prompt trigger)
  • Improved: made profiles save faster
  • Improved: made profiles that create miniconsoles load faster
  • Improved: made profiles with many packages/modules load faster
  • Improved: made searching in code editor faster
  • Improved: modernized Mudlet’s C++ code (auto, nullptr, empty(), trivial constructors, no ineffective const, ranged for)
  • Improved: you can now make keybindings with plain letters (ie A, B, C)
  • Infrastructure: faster continuous integration builds
  • Infrastructure: more resilient continuous integration builds

New in Mudlet 3.9.0 (May 7, 2018)

  • Latency spikes
  • If you Mudlet on Windows with wifi, and you’ve had occasional spikes of lag – it could have been caused by Mudlet. This release fixes it!
  • If you’re still getting lag after upgrading, then it’s something else 🙁
  • Thanks to bbailey for finding the issue and figuring it out.
  • Small toolbars are back
  • Like your icons small? SlySven made them now available again!
  • Code formatter fixed for ‘goto’
  • If you have a variable named ‘goto’ and format code, the formatting wouldn’t work and the code would be cut off. Keneanung fixed this! However, ‘goto’ is used by the next version of Lua, so do not use it and rename any existing code that uses it since it won’t work in the future.
  • Custom fonts in miniconsoles and userwindows
  • setFont() and getFont() are here! You can now use them to change the font in a miniconsole or a userwindow from the default Bistream Vera Sans Mono. Credit to Vadi.
  • New function: creplaceLine()
  • It’s like replaceLine(), but with colours! Example:
  • creplaceLine("<magenta>[ALERT!]: <reset>"..line)
  • Klendathu added that one in. Got a handy function you think will benefit from being in Mudlet? Get in touch!
  • New function: getEpoch()
  • This one returns seconds since unix epoch with milliseconds (e.g. 1523555867.191). Thanks to salcedo for adding it in!
  • Behind the scenes
  • Keneanung has put in a ton of work updating all of the 3rd party open-source libraries Mudlet is built on, ensuring we’re using the latest and greatest stuff :)
  • Miscellaneous
  • fixed replaceAll() failing if the length of the replaced string and the replacement string significantly differ)
  • Mudlet builds with the updater disabled fixed

New in Mudlet 3.8.1 (Apr 11, 2018)

  • Mudlet 3.8.1 is a quick release to fix the app so it can start again on Linux.

New in Mudlet 3.7.1 (Dec 27, 2017)

  • Miscellaneous improvements:
  • Mudlet will properly quit again if the Debug console was open (SlySven)
  • fixed automatic updates to be saved right if you opened settings without any profiles open (SlySven)
  • fixed font size to be saved correctly (Lyle-Tafoya)
  • fixed the changelog not to show up during development (vadi2)
  • fixed updater window to look properly on dark themes (pentacent)
  • fixed setBold, setItalic, setUnderline() to properly work on miniconsoles and userwindows (vadi2)
  • improved ansi2decho for ANSI bold (hluaces)
  • fixed error messages in setTextFormat (SlySven)
  • fixed Windows install image to be proper size (vadi2)
  • fixed setLabelClickCallback and raiseEvent() to be able to work together (WackyWormer)

New in Mudlet 3.7.0 (Dec 27, 2017)

  • Colour triggers wipe bug fixed:
  • With the inclusion of a prompt trigger type, colour triggers were unintentionally getting wiped when you selected them – no more, SlySven has fixed this.
  • Default profiles can now be deleted:
  • Not interested in all of the games? You can now remove them! vadi2 added this and Ansrare complemented it by setting the input focus to the profile name field, speeding up the process.
  • mudlet-data symlink:
  • Mudlet now create the mudlet-data link from your home folder to your profiles just once. If you don’t like it – you can delete it, and Mudlet will not re-create it again like it did before. Thanks to Lyle-Tafoya for adding this!
  • getColumnCount() and getRowCount() added:
  • hluaces needed to know many letters can fit column and row-wise in the main window or a miniconsole for his MUD – so he added two new functions for that! If you’d like to see improvements in Mudlet for your game as well, feel free to take a stab at it.
  • Events now support functions and tables:
  • You can now pass functions and tables through Mudlets event system! This means that all of Lua’s datatypes are now supported. WackyWormer implemented this very efficiently, so even passing through a Geyser widget as an argument is OK.
  • require() your custom code:
  • gilmoa added improvements which make require() work with your Mudlet packages! Should you have some custom Lua code you’d like to load, see here on how can you get it in. No longer do you need to mess with the package.path yourself.
  • moveWindow() and resizeWindow() for userwindows:
  • Thanks to itsTheFae‘s additions, you are now able to move around and resize the userwindows: the ones that can pop out of Mudlet.

New in Mudlet 3.6.1 (Dec 6, 2017)

  • A quick bugfix update to 3.6.0, which was a great release but broke copy/paste. No more! We have promptly fixed this in 3.6.1.

New in Mudlet 3.6.0 (Dec 4, 2017)

  • Added ‘select all’ right-click option
  • Added a Lua code formatter right-click option
  • Added a right-click option to search online
  • Added enableScrollBar(), disableScrollBar() to show scrollbars in miniconsoles
  • Added new types of callbacks for UI builders: setLabelDoubleClickCallback(), setLabelMoveCallback(), and setLabelWheelCallback()
  • Added prompt type trigger
  • Added self-updating feature to Mudlet
  • Added setButtonStyleSheet() to customise the look of buttons from code
  • Added timeframe() function to make variables toggles quickly
  • Enabled preferences to be open when no profile is yet open
  • Fixed crash when dragging floating windows around
  • Fixed mapper clicks to work when labels are under it
  • Fixed Mudlet buttons names to be unique, so you can customise them
  • Improved error messages on setMiniConsoleFontSize()
  • Improved setClickCallback and setReleaseCallback to fire on any button, not just the left. Currently pressed buttons also get passed as arguments
  • GMCP now handles utf8
  • Various improvements under the hood

New in Mudlet 3.5.0 (Oct 16, 2017)

  • addedWindows preview builds
  • added ability to toggle search buttons with Alt+L
  • added ability to use functions and lambdas for tempTrigger(), tempColorTrigger(), tempLineTrigger(), tempComplexRegexTrigger(), tempRegexTrigger(), tempBeginOfLineTrigger(), and tempExactMatchTrigger()
  • added killAnonymousEventHandler()
  • enabled copy/paste of aliases/triggers/etc
  • fixed “Copy map to other profile(s)” crashing
  • fixed bad code notifications to go away when you save with Ctrl+S
  • fixed crash that could happen if you deleted a trigger/alias/etc and then tried to view in Preferences > code preview
  • fixed expandAlias(“command”, nil) to work
  • fixed logging not to log the prompt twice
  • fixed Mudlet crashing sometimes (pretty seldomly) when you used the search
  • fixed mudlet-lua shortcut to be a proper shortcut on Windows
  • fixed small inconsistency in error message display between the error view and main display
  • fixed windows link to work
  • improved event names, trigger/alias/etc to now be trimmed of spaces when saving
  • improved Mudlet icon resolution on Ubuntu
  • improved: registerAnonymousEventHandler now allows you to register functions and lambdas
  • new mudlet website!
  • added object names to buttons on the toolbar so setAppStyleSheet() can target them
  • enabled Ctrl+Insert, Shift+Insert shotcuts in the code editor

New in Mudlet 3.4.0 (Aug 8, 2017)

  • Change font size in userwindows:
  • itsTheFae added the ability to change the font size in userwindows – and additionally miniconsoles or the main window – with setFontSize(). getFontSize() is also available to retrieve the current font size.
  • Case-sensitive search:
  • You can now enable the case-sensitive search when searching in the editor. Clicking on a search result will now actually focus on the search result itself now, be it whenever inside a script, a trigger pattern, or – new for 3.4 – the event handler the script is for. Previously, it search would just take you to the right item but not show you where exactly it was. Additionally, a clear button has been added to unhighlight all search results.
  • 1-50 trigger patterns per trigger:
  • The display has been tweaked slightly and the patterns are numbered from 1-50 instead of 0-49 as you’d normally expect when counting things
  • Improved timer and variables layout:
  • Improved the look’n’feel of the script editor, organising the timer and variables layouts. As well as aligning trigger/alias/script/etc’s name to be consistenylu called “Name” and a plain command to send as “Command”.
  • Fixed a crash with installModule():
  • If you opened and closed the modules dialog and then called installModule() from a script, Mudlet would crash – this is now fixed
  • Geyser gauges improved:
  • demonnic brought Geyser’s gauges into alignment with createGauge() , text in set on a gauge will always stay centered now.
  • Ctrl+/ to toggle commenting:
  • You can now use the Ctrl+/ shortcut to toggle commenting in the code editor
  • Normal cursor on the profiles window:
  • When you launched Mudlet and didn’t have any profiles enabled to autoconect, the profiles window came up – but the cursor was stuck in the ‘loading’ state.
  • Multiple MSDP arrays inside an array fixed:
  • Following a tip-off on the forums, keneanung fixed a case where Mudlet wouldn’t properly multiple MSDP arrays inside another array.
  • Code quality improvements:
  • Mudlet now uses the C++11 nullptr keyword all throughout the codebase and several Qt conventions are now better followed.

New in Mudlet 3.3.1 (Jul 10, 2017)

  • added a Code of Conduct per best open-source practices
  • added getIrcNick(), getIrcServer(), getIrcChannels(), getIrcConnectedHost(), setIrcNick(), setIrcServer(), setIrcChannels(), restartIrc()
  • added indenting shortcut to editor (Ctrl+[, Ctrl+])
  • added languages / area affected by the encoding name in preferences
  • added line numbers to editor
  • added multi-caret selection (try Ctrl+click and Ctrl+Alt+Up / Down, see more)
  • added shortcut to delete a trigger/alias/etc – press ‘Del‘. You can also save with Ctrl+S and save profile with Ctrl+Shift+S
  • added theme switching to new code editor
  • added utf8.* family of functions to work with Unicode
  • fixed ‘reset map colors’ button in settings to work
  • fixed a possible off-by-one error in linewrapping
  • fixed blank command separator not to split everything by letter
  • fixed button being left behind when parent toolbar is deleted.
  • fixed buttons not to render unless they are part of a group
  • fixed change detection for location, orientation, and CSS data in toolbars
  • fixed getMapEvents() to work
  • fixed Geyser typo ‘setreleaseCallback’ causing errors
  • fixed map not loading on profile load anymore
  • fixed mudlet.supports.coroutines, mudlet.keymodifer, mudlet.keys to be present in Windows version
  • fixed multi-line comments in editor
  • fixed some MXP-related code not to run if MXP is disabled in settings
  • fixed userwindow layout to save when profiles are set to auto-save
  • fixed setTextFormat() to work with other windows than “main”
  • improved code editor, replaced with a completely new one: supports themes, multiple carets, and more
  • improved error messages in sendIrc()
  • improved Lua locale to be set to C so scripts can be consistent across computers with different languages
  • improved map load output to be less verbose in case everything is fine
  • improved massively IRC window – now has command history, many new IRC commands (list) higlights on errors, and many new Lua functions
  • improved the rest of source code formatting; all of Mudlet’s C++ code can now be easily formatted with clang-format
  • improved all Mudlet infrastructure – website, forums, and wiki to run on HTTPS
  • removed main window statusbar
  • renamed src.pro to mudlet.pro so we can tell it apart
  • updated all sourceforge links

New in Mudlet 3.2.0 (Jun 7, 2017)

  • added alert() function in case you need to alert the user for something
  • added getServerEncodingsList(), setServerEncoding(), and getServerEncoding() to choose encodings from script
  • added tempKey(), permKey(), and killKey() functions
  • added ability to choose encodings (UTF-8, ISO*, and many others) in preferences
  • added support for coroutines!
  • added support for the telnet BELL code to have Mudlet icon flash/blink for 3s
  • added loadWindowLayout(), saveWindowLayout(), and a boolean argument to openUserWindow() for controlling the layout of userwindows
  • added mudletOlderThan()
  • fixed a possible crash if you closed Mudlet profile while it was still playing a sound
  • fixed being able to open multiple ‘About’, ‘Module Manager’, ‘Package Manager’ windows
  • fixed clicking on floating toolbars interrupting the editor when clicked on
  • fixed floating toolbars to close when the profile is closed
  • fixed floating/dockable mapper window to close when you close with its profile
  • fixed map auditing always complaining about a default area missing
  • fixed save profile dialog to ask a proper question
  • fixed userwindows inheriting borders from the main display
  • fixed white-on-yellow search highlighting to be the normal black-on-yellow again
  • fixed a crash if scripts used sysDisconnectionEvent
  • fixed script loss when special characters (like U+000B) were used in scripts
  • fixed lua-zip error when opening Linux AppImage
  • fixed labels placed under the mapper window preventing clicking on the mapper
  • improved AND/OR trigger tooltip to mention that matches go into multimatches[][] instead of matches[]
  • improved borders settings Preferences – you can now set them to negatives
  • improved first-time experience: connection dialog opens automatically and a welcome message is shown
  • improved last-used profile to be autoselected when you open the connection dialog
  • improved moved map format selection to be in map options
  • improved Mudlet to autoload profiles much quicker
  • improved performance inside code Mudlet by using multi-arg .arg() instead of chained .arg() calls
  • improved userwindows to open in their last position on the screen by default
  • improved connectToServer() to also save the parameters for the next time
  • improved a bit of MCCP-related code with a cleanup

New in Mudlet 3.1.0 (May 4, 2017)

  • Enhancement to multiplaying:
  • A feature that’ll come in quite handy where MUDs allow you to play multiple characters at once – you can now have one profile talk to other profiles in your code. A new function raiseGlobalEvent() allows you to raise events from one profile that will be received in all other open profiles.
  • Show Lua errors in main display:
  • Mudlet now gained an option to display runtime Lua errors in the main display, previously available in the Errors view only. This would be an option familiar to MUSHclient users. To enable it, enable “Echo Lua errors to main console” in the “Main display” preferences.
  • Show script name in error message:
  • If you defined your function that you used elsewhere in a trigger/alias/etc, and it had an error, you’d be met with a rather unintuitive error message like this. This has been fixed now, and the error message will include the original script where the error comes from. Much better.
  • Timestamps in logging:
  • A new option “Add timestamps at the beginning of log lines” allows you to log with timestamps. Additionally, timestamps will also be copied if you have the timestamps view enabled in your main window and use copy or copy to HTML.
  • Ctrl+click selection:
  • You can now ctrl+click on a line to select it entirely.
  • Ctrl+S in the trigger editor:
  • Ctrl+S (Cmd+S on macOS) has now been enabled as a shortcut in the trigger editor – so you don’t have to hit that ‘Save Item’ button every time. Similarly, Ctrl+Shift+S will now save your entire profile to disk.
  • Pink keys:
  • Key folders have now gotten their own colour in the trigger editor: pink.
  • Better mapper defaults:
  • The mapper now has anti-aliasing, better room, and exit sizes by default so new maps look a lot more like what they should.
  • GMCP on by default:
  • Having been thoroughly tested on many MUDs, GMCP is now enabled by default on new profiles – if your game supports it, Mudlet will enable and make use of it.
  • raiseWindow() and lowerWindow():
  • You can now raise a label or a miniconsole above all others with raiseWindow(), or lower it below all others with lowerWindow(). This can come in pretty handy when creating your Mudlet GUIs. Remember that the default Z-order of elements is the order they are created in, with newer labels/miniconsoles coming on top.
  • getMousePosition() added:
  • getMousePosition() has been added, allowing you to know the mouse position (within Mudlet only) – this’ll help enable make dragging UI elements much easier.
  • sysInstall and sysUninstall events added:
  • These are two very useful events for script makers: sysInstall allows you to do post-install actions and sysUninstall allows you to do pre-uninstall actions.
  • Useful applications of this include showing a help or a welcome menu as soon as your package is installed or removing your UI and resetting the borders back to default for your GUI package.
  • In addition to this, more fine-grained events are also available: sysInstallPackage, sysInstallModule, sysSyncInstallModule, sysLuaInstallModule, sysUninstallPackage, sysUninstallModule, sysSyncUninstallModule, and sysLuaUninstallModule.
  • sysSoundFinished event added:
  • You can now tell when a particular sound has finished playing with the sysSoundFinished event. In addition to this, the limit on playing maximum 4 sounds simultaneously has been removed.
  • Behind the scenes:
  • Infrastructure:
  • We’ve been modernising Mudlet heavily. The Linux continuous integration environment has been updated to Ubuntu 14.04 LTS and we’ve introduced automated macOS installer creation – this means anyone contributing to Mudlet can get a macOS Mudlet install for done for them automatically! This makes it much easier to code up a feature, submit it for inclusion to Mudlet, and get test versions of it in return for letting your friends test it. Communi, the IRC library included with Mudlet, has also been upgraded to the latest 3.5.0 release.
  • Modern C++11 and Qt:
  • We’ve put a lot of work into modernising Mudlets C++ codebase: the project is now using C++11, Qt 5.6, and clang-format automated code styling. This enables Mudlet to make use of really nice C++11 features like the auto keyword (letting the compiler deduce the type), ranged-based for statements (far more readable than iterators), and lambda functions (using a function inline – especially nice for small Qt slots). All of the code has been upgraded to use auto and range-based foralready, and most of it has been through the automated code styling – so if you’re curious about playing with Mudlets code using modern C++, have a look!
  • Start of automated testing:
  • We’ve started on automated testing of Mudlet by robots – they’ll help raise the alarms should we break anything by accident. Teaching the robots doesn’t require any programming experience, so if you’re interested in helping us out, join us on Discord.
  • Pure Github development:
  • We’ve now moved issue tracking to Github and setup a PR-based workflow. In addition to this, mudlet-lua – the Lua counterpart to C++ in Mudlet – has been merged back with the main repository. All of these changes reduce the overhead of developing Mudlet and make it a more pleasant experience.
  • Detailed changelog:
  • added a new option “Echo Lua errors to main console” to “Main display” preferences, enabling you to see any runtime errors with your script right in the main window
  • enabled MUDLET_VERSION_BUILD environment variable to set to set the build version information
  • fixed a crash if you tried to copy a map to a profile that didn’t have one before
  • fixed a small memory leak that would happen when you edited the regex of a trigger/alias
  • fixed hideWindow() & showWindow() to work with userwindows
  • fixed logs breaking if you changed from HTML to plain text or back while it was on
  • fixed main toolbar buttons getting enabled if you clicked ‘Cancel’ in the connection dialog
  • fixed many ‘chose’ instead of ‘choose’ typos
  • fixed memory leak when copying maps between profiles
  • fixed scrpt packages typo in settings
  • fixed userwindows not being openable again after you’ve closed them with X
  • fixed xml import/export getting map room/exit sizes wrong sometimes
  • function parameters accepting QStrings have been tightened to QString constant references
  • improved a lot of commented-out code and cruft has been cleaned in core code
  • improved default mapper room size is now 5, exits 10
  • improved errors defined in a script that’s called by an alias/trigger/etc will now also report the scipt name
  • improved log button now has an X over it when logging is enabled to disable buttons
  • improved QString handling to be more efficient with introduction of QLatin1String and QStringLiteral
  • API changelog:
  • added closeMudlet() to save profiles and close Mudlet
  • added getCmdLine() to return the text that’s currently in the command line
  • added getMousePosition() to return the current mouse position on the main display
  • added getProfileName() to return the profile’s name
  • added raiseGlobalEvent() to raise an event in all other open profiles
  • added raiseWindow() and lowerWindow() functions to raise a label/miniconsole above all others or lower below all others
  • added saveProfile() to save the profile
  • added setHexFgColor(), setHexBgColor() which allows hexadecimal equivalents of the RGB setFgColor() and setBgColor()
  • added setLabelReleaseCallback() which allows you to run a function when the mouse was pressed and then released on a label
  • added sysInstall and sysUninstall events for when packages or modules are installed or uninstalled. In addition to this, more fine-grained events are also available: sysInstallPackage, sysInstallModule, sysSyncInstallModule, sysLuaInstallModule, sysUninstallPackage, sysUninstallModule, sysSyncUninstallModule, and sysLuaUninstallModule
  • added sysSoundFinished which is raised whenever a sound stops playing
  • fixed [c|d|d]echoLink() echoing to a specific window losing the format argument
  • fixed crash using centerview() while not map is open
  • fixed hideWindow() to close userwindows
  • fixed showColors() text luminosity being incorrect in certain cases.
  • fixed sysDisconnectionEvent from getting raised twice in certain cases
  • Geyser flyout labels have been improved and are now nestable
  • Geyser.Label:setReleaseCallback() has been added
  • improved db:create() to be more resilient – now re-opens the db connection if needed
  • improved echo(), feedTriggers(), startLogging(), setLabelClickCallback(), setLabelOnEnter(), setLabelOnLeave(), deselect(), resetFormat() to explain what the bad argument is and what it should be, instead of giving an “wrong argument type” error message or none at all
  • improved echo(), setLabelClickCallback(), setLabelOnEnter(), setLabelOnLeave(), deselect(), resetFormat(), to return true on success or nil+error otherwise (error message just if one is available)
  • improved permGroup() to allow creating a folder within a folder
  • As part of the on-going process toward Mudlet 4.0 becoming more International and supporting languages other than English: Lua commands that accept user supplied text as arguments are gradually being reworked to gain the ability to process UTF-8 text. This and related steps are only at a preliminary stage at present but form a major component of the mile-stones on the way to the next major Mudlet release version.
  • improved startLogging() to return the log filename and the logging status

New in Mudlet 3.0.1 (Apr 13, 2017)

  • A quick bugfix release to 3.0.0 – if you haven’t upgraded before, now’s the time!
  • Search visible by default:
  • Search area is now visible by default again, similar to how it was in 2.1. The redundant ‘Search’ button was removed to save space on smaller screens and a new collapse/expand button is in place.
  • Experimental map formats enabled:
  • You can now choose to save your maps in versions 17 and 18 in Preferences > Special Options. Technically speaking, you could choose to save your maps in 3.0.0 in newer formats as well, but it then wouldn’t be able to load them – now it can.
  • Map format 17 allows you to use map and area user data functions – similar to room userdata that was available already. See searchAreaUserData(), setAreaUserData(), clearAreaUserData(), clearAreaUserDataItem(), getAreaUserData(), getAllAreaUserData(), setMapUserData(), clearMapUserData(), clearMapUserDataItem(), getMapUserData(), getAllMapUserData().
  • Map format 18 will save your players location when copying maps to other profiles.
  • Miscellaneous:
  • southwest exit can now be cleared in room exits dialog
  • settings are no longer stored in Mudlet and mudlet in case-sensitive filesystems
  • variables ticked to be saved in the Variables view will no longer crash Mudlet for profiles that use autologin

New in Mudlet 3.0.0 (Mar 30, 2017)

  • Big features:
  • There has been a ton of improvements in Mudlet, so included below a quick summary of the big features.
  • Variables view:
  • You can now view and edit your Lua variables from within Mudlet! No longer are they things that are just “there”. Additionally, you can now get Mudlet to save your variables by ticking them in the list.
  • Windows sound fixes:
  • Mudlet can now play sound again on Windows!
  • HTTPS downloads:
  • Mudlet can now download over https:// links! This means that Mudlet packages can now be installed and/or self-updated from secure websites like Github.
  • Double-click word selection:
  • You can now double-click in the main window or a miniconsole to select a word. You’ve also got the option of choosing what characters will the selection stop on – in case you don’t want to select quotes and such.
  • Mudlet is now skinnable:
  • You can create and apply skins to Mudlet!
  • Mapper API improvements:
  • A lot of work went into the mapper. Mudlet can now perform automatic quality checks on your map, a lot of the right-click windows in the mapper have been improved, custom exit lines creation has been streamlined, and pathfinding performance across large maps and distances has been improved. For coders, a lot of new functionality has been introduced
  • Script loss issues:
  • Development preview versions of Mudlet have had issues where they’d lose your scripts – this is no more and all such problems have been ironed out in the 3.0 final.
  • A ton of db: fixes:
  • Mudlet’s database interface has received a lot of attention and improvements, with a lot of functions getting fixes to work – work better, faster, stronger. If you’ve got a patched copy of the db: interface in your scripts, try running them without the local fixes so you can enjoy the new functionality.
  • MSDP support:
  • Mudlet now includes native support for MSDP! Protocol description available here, and as always, Mudlet allows you to add support for your own subchannel protocol.
  • Miscellaneous improvements:
  • Below is a highlight of some other improvements over 2.1:
  • GMCP data overflow on IRE MUDs fixed
  • Mudlet now detects infinite loops in aliases between the pattern and the substitution field
  • Strike-out text support has been added
  • nil and boolean can now be used with raiseEvent()
  • Geyser now supports flyout labels. You can build menus using them in a manner similar to insertPopup().
  • Buttons creation has been fixed

New in Mudlet 3.0.0 Kappa (Mar 17, 2017)

  • This preview focused extensively on fixes, covering off a lot of the issues that were present in epsilon and iota – if you’ve been using 3.0.0-delta preview for a long while, this is the preview you want to have a look at.

New in Mudlet 3.0.0 Iota (Nov 23, 2016)

  • Another 3.0 preview is available today. We’ve made a few minor improvements to the client, but most importantly, this release fixes a crashing bug introduced with epsilon.
  • Fixed profile creation:
  • Creating a profile on Mudlet 3.0.0-epsilon would crash the client – no longer. This has been fixed and you can create new profiles fine now.
  • Default MUD listings change:
  • Midkemia Online was removed from the list of default profiles, as it has been shut down. The Wheel of Time MUD (http://www.wotmud.org), a MUD played by one of our contributors, has taken its place.
  • Along with the listing change, the connection dialog has been fixed back not to duplicate the profile name under the profile icon, which has the name already.
  • getRoomUserData() behaviour restored:
  • getRoomUserData()‘s behaviour of returning an empty string, “”, when no room user data is available was inadvertently changed to return nil+error message instead in epsilon. This can break compatibility with existing Mudlet scripts, which is something we care a lot about. The function has been fixed to return “” as it did before, and if you’d like it to return nil+error message, you can now use a third boolean argument to the function to specify the behaviour.

New in Mudlet 3.0.0 Epsilon (Oct 18, 2016)

  • Mapper improvements:
  • A lot of the mapper code has been improved and optimized to run faster, both when speedwalking and when editing maps. In addition to performance improvements, a whole host of functions have been added to the API to ease scripting and allow you to get more done with less work!
  • The mapper is now more strict on area names and now allows unique area names only, as having duplicate area names was problematic for scripting and UI dropdowns. Along with this, map auditing has been introduced, which auto-corrects duplicate area names and a few other things.
  • The mapper widget’s area list has been improved and now updates more dynamically to any map changes. To make map editing easier, the room selection widget is now editable, allowing you to exactly select the rooms you’d like to modify at once
  • Many mapper functions now also allow using names in other than English, as part of the work that has went into making Mudlet more friendly to MUDs in other languages
  • Mapper API function improvements:
  • getAllRoomEntrances() has been added: find all the normal and special exits leading into a room
  • setAreaName() has been improved: now takes an area name for the original area, complementing using the area id
  • searchRoom() has been improved: now allows for case-sensitive and substring/exact match searches
  • getAllRoomUserData(roomID) has been added: given a roomId number returns a lua table of all the user data
  • getRoomUserDataKeys(roomID) has been added: given a roomId number returns a lua list of all the keys of the user data for that room.
  • clearRoomUserDataItem(roomID, key) has been added: given a roomId number and a user data key removes that key/value pair from the user data for that room. Returns true if data was removed, false if not and nil if the room does not exist for that roomId number.
  • searchRoomUserData(key, value) has been improved: given a string “key” and “value” returns a list of the roomIDs which contain that value for that key, now returns a sorted list of room numbers.
  • searchRoomUserData(key) has been improved: given a string “key” returns an ascending sorted list (lua table with monotonically incrementing integer keys from unity) of the unique values stored against that key in all rooms.
  • createRoomID(startingRoomNumber) variant of createRoomID() has been added, allowing you to specify where should Mudlet start searching from for an available room ID when creating a new room
  • setDoor() has been improved to return true on success or nil+false on error
  • new functions for storing userdata in areas and the map itself, however they require upgrading the map format in order to store that data (meaning any Mudlet before 3.0.0-epsilon won’t be able to get this data):
  • searchAreaUserData((string)[, (string)])
  • setAreaUserData((number), (string), (string))
  • clearAreaUserData((number))
  • clearAreaUserDataItem((number), (string))
  • getAreaUserData((number), (string))
  • getAllAreaUserData((number))
  • setMapUserData((string), (string))
  • clearMapUserData((string))
  • clearMapUserDataItem()
  • getMapUserData((string))
  • getAllMapUserData()
  • HTTPS support:
  • IRE maps are now downloaded over HTTPS, and the downloadFile() function now supports downloading over HTTPS as well. loadMap() has also been improved to handle importing IRE XML map files in addition to Mudlet map files, so should the URL change in the future, you can still load maps in without waiting for a Mudlet update.
  • Colour parsing:
  • You can now trigger on grey (light white) and cyan colours – colour triggers previously did not differentiate between them properly. Additionally, a few colours weren’t rendered exactly right when coming in from the MUD – this has now been fixed as well.
  • Strikeout support:
  • Scripts can now set text to be striken-out via the newly-added setStrikeOut() function, both in the main and console windows. Labels have already supported this feature through CSS formatting.
  • New events for data protocols:
  • sysProtocolEnabled and sysProtocolDisabled envets have been added to let your scripts know when MDSP, ATCP, GMCP, MXP, or channel102 data protocol has been enabled.
  • nil and boolean for raiseEvent():
  • The raiseEvent() function has been improved and now supports passing nil and boolean arguments.
  • Code cleanup:
  • Lastly, a lot of Mudlets code has been improved – dead code removed, better coding style and practices applied. Anyone wishing to get into improving Mudlet is welcome to join us on the Gitter chat.
  • Miscellaneous:
  • fixed small bug in editor where the icon for a script would dissapear when it was activated via saving
  • added options to display spaces and paragraphs in the code editor
  • status bar for the cursor’s position in a code editor has been enchanced to report character position and the total amounts of lines/characters
  • a lot of error messages from Lua API functions have been fixed to report the proper function name
  • spawn() function has been fixed to output timely
  • Onto 3.0 final:
  • In order to release the 3.0 final, we need to clear off the last remaining issues that we’ve introduced since 2.1, and any issues found during testing of 3.0.0-epsilon. Please report any problems you find to our forums or directly on the bugtracker, and a big thank you for taking the time to do so! We strive to ensure that Mudlet is always in good quality.

New in Mudlet 3.0.0 Gamma (Jan 7, 2015)

  • This third preview release of Mudlet 3.0 fixes an important issue from the beta – one where the content of an alias/trigger/script could be wiped depending on the way you’ve navigated. In this version, we only focused on fixing new issues have have been introduced in 3.0 – such that 3.0 is no worse, only better, than 2.1 quality-wise. It is also, of course, better feature-wise.
  • Script content loss:
  • An issue not present in 2.1 but introduced in the 3.0.0 beta was one where depending on the way you navitated the editor, the content of an alias, trigger or script could be wiped. This has been rectified. You can also use the snapshots feature of Mudlet to restore any lost data by selecting to load an older profile.
  • sendMSDP() fixed:
  • sendMSDP() has been fixed to allow a variable number of variables.
  • Double-click word selection:
  • Double-click to select a word has been fixed to stop selecting to the left of selection, and the settings window has been fixed to to store the settings for double-click characters properly.
  • Documentation:
  • Documentation on wiki.mudlet.org has been combed through and updated for all new features present in the upcoming Mudlet 3.0.
  • Outstanding issues:
  • There are just a few issues outstanding in order to make the 3.0 final release happen. If you spot any new issues that came since 2.1, please let us know about them!

New in Mudlet 3.0.0 Beta (Oct 3, 2014)

  • Splash screen:
  • The artificial delays in the splashscreen have been removed, making Mudlet startup much faster. Enjoy!
  • MSDP fixes:
  • You can now toggle MSDP on/off in settings, like you can with GMCP. This is needed for MUDs which disable GMCP if they’re sending MSDP – which would break your GMCP scripts. The sendMSDP() function has been fixed to work – you can now do sendMSDP(“LIST”, “REPORTABLE_VARIABLES”) for example.
  • Text cutoff in tabbed chat:
  • Text has been getting cut off in miniconsoles, the most obvious effect of this being seen in tabbed chats like YATCO. This has now been fixed.
  • Windows installer:
  • The Windows installer has been improved and is now signed, so it does not show the “unknown developer” dialog anymore – the developer is now verified and far less dodgy.
  • Miscellaneous:
  • added a openWebPage() Lua function which opens a URL (it was supposed to make it in the alpha)
  • added a toggle for enabling MSDP in settings
  • fixed a crash when browsing variables tab in the editor
  • fixed option for turning off GMCP not working
  • fixed sendMSDP() to actually work
  • fixed text getting cut off in miniconsoles (and thus tabbed chats) on paste
  • fixed the first letter of ‘What’ in IRE games at login showing up as ?
  • fixed variables toggling their status when clicking away from them
  • removed artificial delays from the splash screen
  • room deletion has been massively sped up
  • tabs have been reverted to show up as tabs again instead of spaces

New in Mudlet 1.0.1 (Nov 19, 2009)

  • Fix: stopStopWatch()
  • Fix: stopwatch function and a crash on killtimer
  • proper focus on tab change
  • Fix: last char was skipped in line selctions
  • added close buttons on multiconnection tabs to close individual tabs
  • added autologin feature
  • Fix: timer and offset timers couldnt get enabled via scripting
  • Search function for Triggers/Alias and Scripts
  • search function finished | misc details
  • misc | removed outdated dependencies
  • screen render polishing

New in Mudlet 1.0 Beta 16 (Nov 19, 2009)

  • react to recieving a (bell) or strip it -> currently this translates into a square -> can be handled by a simply a replace trigger in MUDs such as avalon that use bell characters in certain situations. A generl fix would needlessly slow down Mudlet. The ready made Avalon profile will contain such a script
  • Calling closeUserWindow on a miniconsole several times causes a crash -> calls hideWindow(), func isn't includen in the api documentation anymore, but can still be used for compatibility with old scripts -> deprecated
  • paste(), pasteWindow() -> pasteWindow() -
  • majority of main window text disappears when miniconsole is selected and I then type into command line
  • add crtl+c keybinding for copy to clipboard
  • command line: Wrong History by Autoclear Inputline
  • command line: some words from the MUD buffer are not in the tab completion buffer
  • command line: tab completion: change regex to w+ to get rid of punctuation marks after words in tab completion
  • netbook mode: add icon to terminate full screen mode -> currently the button has no icon
  • netbook mode: bigger default font in netbook mode -> unreadable
  • netbook mode: default icon size = 2
  • Lua functions to set individual RAM usage limits for each user window seperately i.e. how many lines scrollback for the particular window/buffer
  • add Lua deselect() function to Lua global
  • Lua function: onResizeWindow() event
  • functions to set left, right, top and bottom border
  • functions to set border color
  • moveCursor() akzeptiert leider doch nur "main", ohne = error
  • add line numbers to the Lua editor
  • Lua function: play sound files
  • Lua function: moveCursor() still needs "main" as default parameter for main screen access
  • guarantee in-parent trigger order when reorganizing folder items via drag and drop
  • documentation: remove closeUserWindow() function
  • netbook mode: options dialog: less height otherwise you can't use it on small screen netbooks
  • Lua function: tempColorTriggerANSI( ansiColor )
  • color trigger patterns
  • Lua function: r,g,b = getSelectionColor( console ) returns the first color code of the current selection
  • Lua function: ansiCode = getSelectionColorAnsi( console ) returns first ansi color code of current selection
  • change current color triggers to fully fledged multi state machine color trigger patterns
  • add 256 color mode ansi color triggers
  • tab completion: alles in lower case umsetzen, weil manchmal upper case nciht vom mud akzeptiert wird
  • crash u. nicht eleminieren gelöschter toolbars auf dem bildschirm -> crash bei click gelöschter buttons OPEN - tab completion noch buggy. login u. pass noch drin, neue befehle u.U. nicht -> siehe reparentAction() fixen für destructor calls
  • dual state buttons: sendet nur upper state, nicht lower state, button aendert nicht den state - dual state change geht nur bei doppelclick - bei richtigen buttons, nicht bei checkboxen--cmd wird einmal gesendet pro click, aber der state ändert sich nur bei doppelclick, wobei 2 x cmd gesendet wird
  • nach import trigger kann man nix mehr machen i.e. nix loeschen nix aktivieren, bis man den trigger editor schliesst und neu oeffnet oder ein neues view wählt e.g. aliase und dann wieder trigger
  • checken ob ich eine closeChain( name ) function habe, oder, ob ich die noch machen muss -> setTriggerOpen(0);
  • resynch toolbars after drag and drop actions in buttons to reorganize the toolbars
  • different folder color for button bars in buttons GUI
  • line spacer patterns for the multistate machine [define minimum delta between conditions (*** caled: #1#2; if they are on the same line it doesnt count! This is important for prompt mathces etc)]
  • killTimer() schneller machen und bug fixen
  • buttens feuern ab dem 3. untermenu für jedes element des obermenus
  • new keep-open feature policy: chain heads only execute their script once and only grand access to their children while they stay open. Single triggers without children, however, run their script on each new line while the chain is still open.
  • feature: option to keep triggers firing for a specified amount of lines after the condition has been met for the first time.
  • feature: keep trigger chains open for a specified amount of lines after the original patterns have matched
  • A variable or a function with the location of the current profile.
  • syntax highlighter: elseif is missing
  • clear command line
  • disconnect()
  • reconnect()
  • getMudletHomeDir()
  • high speed version of enableTrigger() and disableTrigger() functions
  • color triggers
  • easy colorize triggers via 2 color chooser buttons -> c++ colorize ohne script
  • bug: caled: crash on save profile after complex profile reorganization (forgot to remove deleted trigger root nodes from root node list)
  • bug: crash wenn ich killTimer() auf abgelaufene und nicht mehr existente timer ansetze
  • line spacer pattern (lila) und lua function pattern buggen. lua patterns werden zu line spacer im TE.