I am pleased to release version 4.93 of MUSHclient. See the release notes for more details.
- Fixed bug in the StripANSI function where it stopped at a semicolon.
- Extra code to handle inadvertent injection of non-UTF-8 data into a UTF-8 stream (when the output window is set to UTF-8). If a non-valid UTF-8 sequence is found it is assumed to be ANSI data in the current code page, converted into UTF-8 and that is used instead.
- The AddFont function now allows you to add multiple fonts (one at a time). The previous behaviour was that adding one new font removed the previous one. Now you can add any number of fonts. This could be useful for miniwindow writers.
- Fixed bug with selecting UTF-8 (Unicode) characters with the mouse, where if you clicked and dragged some characters would disappear and reappear.
- Fixed problem with triggers where, if you switched to or from UTF-8 mode in the Output window configuration, triggers would expect (or not expect) UTF-8, incorrectly, possibly giving errors when new lines arrive from the MUD.
- Fixed bug where, under obscure circumstances, you might get the error message "Not a valid base64 string - incorrect length (not mod 4)." when opening the triggers/aliases lists or similar windows in world configuration.
- Added Lua script function: utils.utf8convert. This takes a string and converts each byte from the current code page into UTF-8. This is intended for converting characters in the range 0x80 to 0xFF into the appropriate UTF-8 sequences.
- Added support for MTTS (MUD Terminal Type Standard). This lets MUD servers query if the client supports extended 256-color ANSI sequences, and also shows if UTF-8 is active or not.
- Added Lua script function: utils.glyph_available. This lets you test if a particular glyph can be rendered in the specified font. The general intention here is to let a script writer see if a suitable Unicode font has been installed when using UTF-8 mode.
You can view the release notes for version 4.93
You are strongly advised to backup (make a copy of) your existing MUSHclient world files before upgrading. Just in case.
If there are any problems, please post messages to the Bug Reports, Suggestions, or General parts of this forum.
MD5 sum for the installer
If you do an md5sum on mushclient493.exe you should get this result:
The forum post a small script to sumcheck the MUSHclient download shows how you can write a small script in MUSHclient to do the sumcheck. It also lists some places you can download md5sum.exe to do the sumcheck (if this is the first time you have downloaded MUSHclient).
One way of doing an md5sum is to download the Installer_sumcheck plugin from the Plugins page (RH click that link and "save link as" to get the plugin). Then install the plugin (see the File menu -> Plugins) and type "md5sum" which lets you browse to the installer file, load it, and display the sumcheck.
Message about "Failed to load resources file"
Some users are reporting getting a message like "Failed to load resources file: C:\Programme\MUSHclient\locale\DE.dll - trying English file" when starting MUSHclient (the DE.dll part might be another language like FR.dll).
This will be because you have customized the "locale" of MUSHclient to other than EN (English).
See the How to localize MUSHclient messages into other languages forum posting for more details about localization.
To fix this, find the directory you installed MUSHclient into (eg. "C:\Program Files\MUSHclient\") and then locate the subdirectory "locale". In that you will find a file en.dll. Copy or rename that file to match the missing file in the message (eg. copy en.dll to de.dll).
Alternative suggestion: Go into the File menu -> Global Preferences -> General, and change the field "Locale code" back to "EN" (English) and then it should look for EN.DLL next time.
Warning about Lua 5.1 upgrade (September 2006)
MUSHclient version 3.80 upgraded the Lua script engine from Lua 5.0.2 to 5.1.1. If you are upgrading to this version from an earlier version than 3.80, you should read Version 3.80 released - with Lua 5.1 script engine - this post has recommendations about what is required if you use Lua scripting or Lua plugins. Note: Since version 3.80 was released, the version of Lua has been upgraded. It is currently 5.1.4. Some versions (versions 4.49 to 4.52 of MUSHclient) may incorrectly report they are using Lua 5.1.1 when you open a world.
Warning about upgrading from versions prior to 3.21 (May 2002)
MUSHclient version 3.85 (onwards) no longer reads the old "binary" world files produced by versions prior to 3.21. For more information about this please read the forum post Versions 3.85 onwards no longer support world files created prior to version 3.21 - this post has recommendations about how to upgrade your world files if you are upgrading from a version earlier than 3.21.
Note that version 3.21 was released quite a few years ago (May 2002), so people who have recently installed MUSHclient should not have any problems.
The source code for this version is available from GitHub:
You can directly download the source from the Downloads page (http://github.com/nickgammon/mushclient/downloads), or preferably install Git and use the appropriate commands to clone or pull the source. For some suggestions about getting the source from Git see MUSHclient source being made available on GitHub forum posting.
If you install Git, subsequent downloads (of new versions) will be much faster as it only needs to download the changes, not the whole source. Also by using Git you can find out exactly what has changed from version to the next.
Summary of changes in this version
$ git --no-pager diff v4.92..v4.93 --stat
.gitignore | 5 +
MUSHclient.dsp | 34 ++++----
MUSHclient.rc | 8 +-
dialogs/DebugWorldInputDlg.cpp | 5 +
dialogs/world_prefs/configuration.cpp | 151 +++++++++++++++++++++++++++++-
doc.cpp | 66 ++++++++++----
doc.h | 49 ++++++++--
doc_construct.cpp | 4 +-
install/readme.txt | 4 +-
mushview.cpp | 23 ++++-
pcre/.gitignore | 1 +
png/.gitignore | 1 +
readme.md | 53 +++++++++++
readme.txt | 26 -----
scripting/lua_methods.cpp | 14 ++-
scripting/lua_utils.cpp | 157 ++++++++++++++++++++++++++++++-
scripting/methods/methods_info.cpp | 11 ++-
scripting/methods/methods_utilities.cpp | 1 -
telnet_phases.cpp | 136 ++++++++++++++++++++++++++-
world_debug.cpp | 9 ++
xml/xml_load_world.cpp | 2 +-
xml/xml_serialize.cpp | 16 +++-
22 files changed, 682 insertions(+), 94 deletions(-)
Commit log (date order)
$ git --no-pager log --pretty=oneline --reverse --abbrev-commit v4.92..v4.93
6080833 Changed version number to 4.93
f6c9e09 Cleanups to working directory
c5f0dc8 Fixed bug in StripANSI where it stopped at a semicolon
38cbe97 Handle invalid UTF-8 by converting from current code page to UTF-8
b9c5997 Bug fix in UTF-8 fixup code
fd445a7 Bug fix in UTF-8 fixup code - did not handle IAC properly
99a11ac Bug fix in UTF-8 fixup code - did not handle IAC IAC properly
7349bb5 AddFont now lets you add multiple fonts (one at a time)
e9ed85e Improved comments about using other worlds
545d2fd Fixed bug with selecting UTF-8 text with the mouse
d95e354 Fixed problem with triggers if you changed to/from UTF-8 mode
698bc2f Fixed bug with incorrect handling of base64 on clipboard
0b2041b Improved error message for triggers that won't recompile
8c7636f Changed readme file to a markdown file
2b6fb86 Added instructions for running after compiling
63b24c2 Improvements to documentation
6dc0609 Added some more debugging IAC sequences
aa583f7 Added extra termtype negotiation (MTTS)
ee5ca8b More helpful error message on problems converting to UTF8
c8a911a Added function utils.utf8convert
8edf524 Fixed bug in recompiling triggers
feb3973 Added list of custom fonts to output of Debug 'summary' function
962b02f Fixed incorrect comment
b3006fa Minor changes to project file
6dc1f79 Final changes before release