Seleziona una pagina

We are excited to announce the release of Mudlet 4.17!

Screenreaders

A major improvement in this release is the increased accessibility of both the main display and the code editor. Previously, screen readers were unable to read text within these areas, but we have now made them accessible - allowing players with visual impairments to more easily use Mudlet. These improvements were made possible through the generous support of our Patreon community, with a total of 1800USD paid out in bounties to fund these enhancements! We would like to take this opportunity to thank our Patreon supporters for enabling us to make these improvements - and if you aren't already a Patreon supporter, we encourage you to consider signing up to help us continue to improve and develop Mudlet.

While we have cleared the biggest blockers for visually impaired players, we recognize that there is still more work to be done in terms of accessibility. We will continue to work on making Mudlet as accessible as possible for all players. If you are a visually impaired player, we recommend reading the manual on screen readers for more information on how to use Mudlet with a screen reader.

We would also like to recognize the contributions of gamecreature, Tamarindo, and Vadi who worked on the accessibility improvements for this release.

Room properties

Additionally, we have made it much simpler to edit room properties in the mapper. Instead of having separate dialogs for different property types, there is now a single dialog that allows you to edit all properties in one place. This should make it easier for players to customize their maps and create the game environments they want. Big thanks to Leris for making that happen.

Sound improvements

A number of improvements were also added to the Mud Client Media Protocol (MCMP). Tamarindo has worked on making sound fadeout and fadein smoother, correcting a symptom where more media was stopping than was intended using the key parameter, and fixing volume management for music when the continue parameter set to true is used. This ensures that the expected volume is heard after the fadein completes and before the fadeout starts on successive calls to play the same music. The continue parameter has also been fixed to match its related specifications and standards for playing music.

Secure connection upgrade

Finally, we have added a new feature that allows players to automatically upgrade to a secure connection if the game they are connecting to offers one. This is particularly useful for players who may not be aware that their connection is insecure, as they will be prompted to upgrade as soon as they try to connect. We encourage more games to start offering secure connections, as most modern clients are able to support them. It is now up to the games to do their part in providing secure connections for their players.

Overall, Mudlet 4.17 is a significant step forward in terms of accessibility and ease of use. We hope that these improvements will make it even easier for players to enjoy their favorite games with Mudlet!

Changelog

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)