v1.2.041 (31 Jul 2019)

Pre-configured worlds
- MSDP is no longer disabled on Kallisti by default. The pre-configured world
    has been updated a little
- Numerous issues at Achaea (and other IRE worlds) have been fixed

Major new features
- A speech engine can now be specified from the command line, when starting
    Axmud. For example, Linux users who want to use the Festival speech engine
    might start Axmud by typing 'axmud.pl cryosphere festival'
- For users of Arch Linux, there is now an AUR package available for use; see
    https://aur.archlinux.org/packages/axmud/. If installing Axmud manually, the
    installation procedure for Arch-based distros has changed; see the INSTALL

Major fixes
- Locales that use a comma as a decimal point (for example, German) cause
    numerous problems throughout the code. This should now be fixed for all
- Improved handling of the Pueblo protocol. Worlds like Ancient Anguish ask the
    client to create additional windows; handling of those windows is now much
    better. Fixed an error that prevented some of those additional windows
    opening at all. Fixed an error that displayed a literal clickable link,
    rather than the contents of a file. Links are now displayed in cyan, rather
    than underlined, as with the original Pueblo client. Handling of
    multi-character whitespace has been fixed
- Axmud can force worlds to share a single main window, or grant each world
    their own window. Switching between these two modes was broken. Fixed
- Fixed MXP room statement (description) detection. For worlds that mark a room
    statements with special tags, like Iberia MUD, Axmud can now use those tags
- MS Windows users could not change the font. This is now fixed. The standard
    Gtk font selection dialogue no longer worked, and could even cause crashes.
    Replaced the deprecated dialogue with the modern one
- Perl plugins cannot be loaded from all possible locations. The new
    ;importplugin command will copy any Perl plugin to a location in Axmud's
    data directory, from which it can be loaded
- Fixed segfaults on shutdown in certain situations

Minor fixes
- IO::Socket::SSL is now an optional dependency, for the benefit of some Linux
    distributions on which it can no longer be installed (due to problems with
    the parent Net::SSLeay module). If the dependency is not satisfied, Axmud
    will not be able to connect to any world using SSL
- Fixed broken code in ;modifyconfig
- The layout of the Countdown Task's window has been improved a little
- A character's purse contents/bank balance could not be modified from withint
    the character edit window. Fixed

Axbasic features/fixes
- Axbasic has been updated to v1.003
- Added new OPTION SILENT, which suppresses messages like
    'AXBASIC: Executing 'test''
- Added new Ifaceselect () function, as an alternative to using Ifacepop () and
    Ifaceshift ()
- Fixed several issues with interface notifications, for example in the
    NEXTIFACE statement and the Ifacename$ () function
- Some issues with  matching substrings in regular expressions have been fixed.
    For a regex in the form (...|...|...), with each ... containing its own
    substring, the Ifaceshift () and Ifacepop () functions will now return an
    empty string rather than crashing Axmud. Added a new Ifacedefined ()
    function which might be useful in this situation
- Fixed several issues with the WAITTRIG statement
- Fixed incorrect regex handling in the POKEADD statement
- Made a few minor corrections to the Axbasic tutorial

v1.2.0 (31 Mar 2019)

Release notes
- Thanks to HÃ¥kon and Rob, without whose generous assistance this release would
    not have been possible
- Axmud's graphics libraries have been replaced with something more modern
    (Gtk2 has been migrated to Gtk3; Gnome2::Canvas has been migrated to
    GooCanvas2, Gnome2::WNCK has been replaced with WMCtrl). As a result, you
    will notice small differences in the appearance of almost everything (but
    hopefully not too many error messages)
- Window tiling has been implemented for users of MS Windows. Window tiling of
    external (non-Axmud) windows only works with X11-compatible systems, so it
    definitely won't work on MS Windows or on Wayland. Multiple workspaces still
    do not work on MS Windows
- MS Windows can now run Axmud using both the 32-bit and 64-bit editions of
    Strawberry Perl
- Over time, duplicate keyboard shortcuts had crept into many menus. The menus
    have been checked and, as a result, many keyboard shortcuts have been
    modified. Please be careful when navigating menus using your keyboard rather
    than with your mouse
- The ability to take screenshots of the 'main' window has been removed (please
    use an external screenshot programme instead). The ';screenshot' command has
    been removed. Automapper screenshots are not affected by this change

Known issues
- If the system terminal window is visible, you might see a lot of Gtk3 warning
    messages displayed there. We think this is an issue with the Gtk3 graphics
    library. The issue(s) have been corrected, but the fix is not available on
    all systems yet
- When there isn't enough space to draw all the toolbuttons in the 'main' window
    and the automapper window, the extra buttons are drawn in a drop-down menu.
    Items in this menu are not visible on some computers, particularly on MS
    Windows. We think this is another Gtk3 issue which will fix itself
- There are some intermittent problems with scrolling text. If a textview (an
    area of a window containing mostly text) seems to be juddering, you can
    type ';cls' to clear the window. You can also try reducing the maximum size
    of the textview (from the 'main' window menu, click 'Edit > Axmud
    preferences... > Settings > Page 6', change 'Size of textviews' to a value
    like 2000, then click the 'Set' button to apply the change)

Automapper new features
- As a result of the graphics upgrade, the automapper will draw your maps
    somewhat more quickly. Pre-drawing operations, in particular, are much
    faster now. Some drawing operations which took an interminably long time
    (due to some quirks in the old graphics libraries) are now either much
    faster or virtually instantaneous
- The world model (containing all maps) has been redesigned so that it takes up
    much less memory - typically 60-70% less. You'll notice that, for large
    maps, file load/save times are dramatically quicker
- From now on, you can use the new ';compressmodel' command to make (small)
    reductions in the amount of memory used by any new maps you draw. Most users
    can ignore this command
- For users who prefer to use their own room flags, you can now hide all
    standard room flags, leaving only your custom flags visible. This applies
    both to the automapper window's menus and the world model edit window. From
    the menu, click 'Edit > Edit world model... > Room flags > Page 1' and
    modify the setting in the top-right corner
- Map labels can now be rotated at any angle
- When pre-drawing regions, a summary of drawing operations is now visible in
    the automapper window's title bar

Automapper fixes
- Some users with very large maps were experiencing an 'out of memory' error on
    low-to-medium specification machines. This issue is now fixed: we have not
    been able to generate the error even in maps with hundreds of thousands of
    rooms. However, you will still need enough memory on your machine to convert
    the old map into its new format. The authors can do this for you, if you
    like. You can contact them on the Axmud forum
- There is a new ';splitmodel' command which can be used to vary the size of
    the multiple data files now used to save maps. Most users can ignore this
- In the automapper window, if you changed the visible level to an empty one,
    then switched to a different region, then switched back again, a Perl error
    was generated. This is now fixed
- When the Locator task was running and the user set a current room in the
    automapper window, a load of Perl errors were generated. Fixed
- Zooming in and out of the map is now (more or less) instantaneous. Zooming all
    the way out will no longer change the position of the map. However, the
    ability to display text in a constant size while zooming in or out has been
- Map screenshots now work much better (and faster) than before
- Room echoes were being drawn the wrong way around. This is now fixed - the
    dark patch to the left of a room now represents a room immediately above,
    not a room immediately below
- Fixed an issue with drawing map labels containing non-alphanumeric characters
    such as @
- Fixed an issue with exits treated by Axmud as duplicate exits, for example the
    'east' and 'swim east' exits at Two Towers MUD
- Axmud crashed after resetting an exit's assisted move. Fixed
- Fixed handling of room statements at Kallisti; Axmud now recognises the
    upper-case [ N S E W ] exits
- All types of random exit now turn blue when you click to select them

Axbasic new features
- This version introduces a complete tutorial for the Axbasic scripting
    language. See the files in ../share/docs/tutorial (or just read them on the
    Axmud website)
- The only string concatenation operator that's now allowed is &. (Earlier
    versions of Language::Basic used +, but this is now deprecated)
- Added an exponent operator, ^
- Subroutines now return 0, by default. To return a string value, start your
    subroutine declaration with 'SUB STRING'. The default string value returned
    is an empty string. See the Axbasic tutorial for more information on how
    this works
- Added new statement RANDOMIZE
- Added new functions Epoch (), Floor (), Left$ () and Right$ ()
- Modified the WHILE statement to allow for 'WHILE 1' and 'WHILE 0'. Modified
    the UNTIL statement to allow for 'UNTIL 1' and 'UNTIL 0'
- OPTION DIVERT has been renamed as OPTION REDIRECT (to avoid confusion with the
    similarly-named Divert task)
- PEEKPOP has been renamed as POKEPOP, and PEEKSHIFT has been renamed as
- Showprofile () has been renamed as Showprofile$ (), as it returns a string, not
    a numeric value

Axbasic fixes
- Axbasic got confused by 'LET name$ = "gandalf"', because NAME is also a
    keyword. From now on, 'name$' is treated as a variable, but 'NAME' is
    treated as a keyword in all circumstances. In other words, you can have a
    string variable called 'name$', but not a numeric variable called 'name'
- Built-in function names like Sin () can no longer be used as variable names
    (so 'LET sin = 50' is no longer allowed)
- Fixed an error which failed to interpret 'IF number = 10 THEN PRINT "Hello"'
- Fixed an error that enacted FOR loops with a negative increment as an infinite
    loop, e.g. during 'FOR a = 5 TO 1 STEP -1'
- The rules for subroutines are now the same as those for functions; invalid
    subroutine (and function) names are not allowed
- 'CALL funcname' can now be used as well as 'CALL funcname ()'
- Fixed errors in column PRINTing, for example in 'PRINT x, y'. Also fixed some
    errors in PRINTing the results of functions, such that 'PRINT Int' now
    generates a useful Axbasic error, rather than a useless Perl error
- Fixed minor problems with the ADDGAUGE, DELGAUGE, OPEN, TITLEWIN and VAL
- The Timestamp () function was returning negative numbers. Fixed
- Help files for the Int (), Ip () and Fp () functions gave the wrong return
    values. Updated the files
- Axbasic was unable to handle the keyword ANGLE and the built-in function
    Angle () correctly. Fixed
- Fixed some problems in handling invalid tokens (like 'hello' instead of
    "hello"), array out-of-bounds errors and scripts lacking the compulsory END

Minor new features
- In all windows with more tabs than available space, you can now right-click
    any of the tabs to get a list of the invisible tabs, rather than scrolling
    through them, one by one
- The ';testpattern' command can now be typed as ';patterntest', too
- ';protectobject' can now be typed as ';protect', and ';monitorobject' can now
    be typed as ';monitor'
- You can now create an empty mission with ';addmision' (previously, it was
    necessary to create a recording first)

Minor fixes
- When Axmud crashes, the restart message is now made visible in every session
- Blinking text with RGB colours now works
- Fixed 'wide character in print' errors when logfiles are turned on, and when
    connected to a MUD which uses non-ASCII characters
- ';deleteregion' wouldn't accept a number as an argument. Fixed
- Modified ';locateroom' so that it doesn't generated countless thousands of
    lines of output
- The tooltip for the 'main' window blinkers displayed values in the wrong
    order. Fixed
- Fixed error in ';listzonemodel'
- In the client preference window, on the 'Plugins > Page 1' tab, the Enable/
    Disable/Test buttons were broken. Fixed them
- Fixed some minor problems with Axmud's implementation MXP/MSP protocols. MXP/
    MSP data sent by The Gathering MUD (tgmud.net 9010, which is not a
    pre-configured world) now works better. Axmud can optionally accept some
    types of MXP/MSP data which is, strictly speaking, illegal (this is turned
    off by default)
- Tidied up the output of the ';mxp' command
- After a disconnection, ';listtask' no longer lists tasks that have already
    shut down
- About a dozen client commands that could not be used after a disconnection
    (for example, ';testpattern' and ';listtask'), can now be used

v1.1.405 (24 Dec 2018)

Automapper new features
- Large regions are now pre-drawn, and are retained in memory when they're not
    actually visible. As a result, it's no longer necessary to redraw each
    region every time you move from one region to another, or move up and down
    a level. This should be a significant improvement for users whose regions
    contains thousands of rooms, each of which takes several seconds to draw.
    Smaller regions are not pre-drawn, and are redrawn every time they're
    needed. By default, a 'large region' is one that contains at least 500
    rooms, and when pre-drawing region, about 500 rooms are drawn per second.
    You can change both of these values in the world model's 'edit' window, if
    you want
- You can watch the progress of Axmud's pre-drawing operations with the new
    MapCheck task (type ';starttask mapcheck' )
- When you create a new region, Axmud now asks you what size you want it to be
- Text on the map - map labels, room tags, room guilds and exit tags - can now
    be set to retain their size as you zoom in or zoom out, if that's what you'd
- Graffiti mode now works when connected to a world in 'connect offline' mode
- You can now add bends to all exits that are drawn as a line (or pair of lines)
- When the automapper is expecting you to complete an operation by clicking on
    some part of the map, the cursor icon now changes to make it clearer that
    Axmud is expecting you to do something
- Axmud can now detect exit states (such as closed doors) from an exit's colour,
    as well as from the text of the exit list
- There are also two new exits states - one for emphasised directions (such as
    those that follow a road), and a custom exit state. For custom exit states,
    Axmud can automatically add an assisted move, for example converting a
    blue 'north' exit into a 'swim north' exit. The Locator task's window has
    been updated to show more information about the current room's exit states
    and assisted moves
- Axmud can now cope with worlds like Two Towers, which sometimes have an exit
    list containing two 'north' exits. Axmud is now able to convert a duplicate
    exit like this into something else, for example converting the second
    'north' exit into a 'swim north' exit

Automapper fixes
- The automapper window's title bar shows ^ and v to indicate which levels are
    occupied. This functionality was sensitive to rooms, but ignored map labels.
- Coloured areas on the background map were not always drawn on every level.
    There were also some issues with deleting coloured areas. Fixed both
- Fixed some issues with changing an exit's direction
- Fixed an issue in which a nearby room was sometimes selected, if the user
    clicks on the background map
- The operations to delete regions, rooms, exits, map labels (and so on)
    sometimes failed if any of the objects to be deleted were selected. Fixed
- When a west exit is connected to a room that has an unallocated exit,
    temporarily drawn as east, Axmud didn't handle it very well. The west exit
    is now drawn as a one-way exit, and the unallocated exit is temporarily
    allocated to a different direction
- The 'reset character visits' and 'reset room data' functions didn't work if no
    region was visible. Fixed both
- Fixed some issues with region exits and bent exits which were not reset
    properly in some situations
- When you use your mouse wheel to zoom a map all the way out, and then zoom
    back in again, the map is often centred in a different position. The
    positioning has been improved, although because Gtk does some weird things
    with scrollbars, it's still not perfect
- Fixed a few issues with the operation to merge rooms from two different parts
    of the map (including in auto-rescue mode)
- When you use a room's 'edit' window to change its room flags, the room was not
    redrawn properly after the 'edit' window was closed. Fixed
- In some situations, the Locator task failed to identify a room statement
    (description) generated by a 'look' command. Fixed

Major new features
- 'Main' windows have a new search box. Click the magnifying glass button near
    the bottom-right corner of the window to show or hide the box. The new
    client commands ';findtext' and ';findreset' perform the same function
- There's another new button, this time in the bottom-left corner, which
    increases the number of command entry boxes. The new boxes only work on
    world commands. You can add some text to the beginning and/or end of every
    world command you send, for example converting 'hello' into 'say hello'.
    Click the button several times until you have the boxes you want
- The layout of the Quick Input window has been improved. Among the changes are
    two new command entry boxes which behave exactly the same as those described
    just above
- New Countdown task which works like a stopwatch. New client commands
    ';setcountdown' and ';setcountup'
- New Connections task which shows a list of sessions (connections to a world)
    and their current status. When the task is running, you can press CTRL+1,
    CTRL+2 (and so on) to switch between sessions. The existing CTRL+TAB still
    works even when the task isn't running
- All triggers have a stimulus and a response. You can now modify a trigger so
    that the response is ignored; this is very useful when you just want to
    change the colour/style of some text, using trigger styles
- Timers can now accept both a time interval like 60 (seconds), and a 24-hour
    clock time like 12:00. If you specify a clock time, the timer fires at that
    that time every day, once per day. If you use a clock time in the form
    '99:HH', for example '99:30', the timer will fire at 30 minutes past the
    hour, every hour. For timers that use time intervals, the minimum interval
    that Axmud will accept is now 0.1 seconds
- You can now choose whether Axmud should wrap text using whole words, or just
    using characters, or not at all. For example, to change text wrapping in the
    'main' window, modify the setting in the colour scheme
    (';editcolourscheme main'). In most cases, the world knows how much text
    Axmud can fit inside its 'main' window, and wraps text before sending it to
    Axmud, so changing the setting will seem to make no difference
- Text-to-speech operations now used a fixed scale, in the range 0-100, for
    word speed, rate, pitch and volume. Therefore it's no longer necessary to
    remember which values each speech engine accepts - use 0 for the lowest
    acceptable value, and 100 for the highest acceptable value

Major fixes
- You can now instruct Axmud to auto-connect to a world (or worlds), rather than
    having to use the Connections window every time. Specify your preferred
    worlds in the client preference window, or use the new client commands
    ';setautoworld' and ';listautoworld'
- Axmud installation failed (on some systems) because the default test file
    produced a negative result. Fixed
- Fixed (again) the 'Do you want to patch?' dialogue windows that some users are
    seeing every time they connect to a world
- Axmud stores its data file in a default location. The last release added a
    ';setdatadirectory' command, so that users can set a different location;
    this did not work if the location didn't already contain some data files.
- Fixed a crash that occured when connecting to Achaea and other IRE worlds.
    Fixed a series of warning messages when connecting to Aetolia and some other
    IRE worlds
- By default, the 'main' window can contain up to 10000 lines of text. Once this
    limit was reached, Axmud started drawing clickable links in the wrong place
    (if at all). Fixed several issues and it's now working as intended
- Macros did not recognise (or accept) keypresses like CTRL+F1 or ALT+5.
    Modified them so that a wider range of keypresses are acceptable. (Macros
    still do not respond to a keypress like 'x', because that would leave the
    user unable to type ordinary commands)
- ';toggleshare', which tells Axmud to use a different 'main' window for every
    connection (or not), was broken. Fixed it, and you can now change the
    setting from the client preference window, if that's more convenient

Minor new features
- In Axmud's source code, the ../share/standalone directory contains a new Perl
    script which removes the labels from a world model file without the need to
    start Axmud
- Logfiles can now include a preamble, if you want one (for example, identifying
    the player or adding a copyright message). Preambles are not written by
- The expanded list of worlds has been updated. We think it contains at almost
    all of the MUDs, MUCKs, MUSHes (etc) that currently exist. (To see the whole
    list, click the planet button in the Connections window)
- Axmud is now confirmed to work with Chinese-language MUDs. Connect to the
    'pkuxkx' world to see it in action!

Minor fixes
- In 'main' window's 'Recordings' column, several of the menu options were
    inconvenient to use, or else desensitised when they should be sensitised (or
    vice-versa). The functionality has been improved; the 'Show recording' and
    'Copy recording' options are now available even after the recording has been
- In addition, operations like 'Recordings > Add line > Add world command...'
    were broken. Fixed them all
- Fixed some errors caused by rewriter triggers that fire more than once on the
    same line
- For a clickable email address like 'gandalf@gmail.com', the underline was
    drawn in the wrong place (because Axmud detected 'gmail.com' as a clickable
    weblink, before checking for email addressse). Email addresses are now
    checked first, which fixes the problem
- When the character falls asleep/passes out/dies (etc), the Status task's
    window changes; the character's new life status is displayed in the window's
    title bar. However, using ';setlife' to change the character's life status
    artificially did not reset that text. Fixed
- Fixed rare 'Can't call method "destroy" on an undefined value' errors seen
    when closing Axmud by clicking the standard close window button more than
- The ';setcustomday' command has been renamed as ';setcustomweek'
- For some worlds, like GreaterMUD, commands are sent to the world one letter at
    a time, as soon as you type each letter. This didn't work if connected to
    (for example) GreaterMUD and Discworld at the same time. Fixed, and also
    fixed icons used inside the command entry box so that they're updated when
    you switch between sessions
- If you start Axmud from the command line and specify a world, e.g. (in Linux)
    './axmud.pl discworld', Axmud automatically connects to the world, but also
    opens a Connections window. The window is no longer opened
- Increased the size of the 'OK' button in various windows which have only one
    such button

v1.1.343 (30 Nov 2018)

Features removed
- Keycode objects along with the 'keycodes' data file have been completely
- Some Axmud standard keycodes ('kp_up', 'kp_down', 'kp_left', 'kp_right',
    'kp_page_up', 'kp_page_down', 'kp_home', 'kp_end', 'kp_insert', 'kp_delete')
    have been removed as they weren't available to MS Windows users. As a
    result, the cursor up and keypad up keys now share the same standard
    keycode, 'up'. The same applies to the other keycodes listed above. To
    update your scripts, just remove the 'kp_' portion of the keycode. Any
    existing macros will be updated automatically

Automapper new features
- You can now merge someone else's maps with your own. Firstly, export the
    world model. The quickest way is from the automapper menu; select
    'File > Save/export world model...'. Send this file to your friend, who can
    merge your map into their own by selecting 'File > Merge world model...'.
    Your friend must be using the same version of Axmud as you (or a later
    version). There is also a new ';mergemodel' command, if you prefer to work
    from the command line
- The automapper has a new dialogue window for use when you want to share your
    maps with other people, but don't want them to see all of your labels. From
    the automapper window menu, select 'Labels > Quick label deletion...'; this
    opens a window in which all labels in all regions are displayed. You can
    quickly choose which labels to delete and which to keep, before exporting
    your map in the normal way. (This change is permanent, so before deleting
    any labels you should make a backup of your map!)
- In the automapper window, added a new toolbar button set. To use it, use the
    blue/white paintbrush icon to add some coloured buttons. Click the button
    and then click a room; the equivalent room flag is added to (or removed
    from) the room. If multiple rooms are selected, the operation is applied to
    all of them. See also the Axmud Guide, Section 15.22.2
- Added relative directions. As far as we know, only Discworld uses them (but
    Axmud's relative direction are available for any world that needs them). At
    Discworld, the direction the character is facing changes the way exits are
    described; so, the exits might be 'forward' and 'left', or they might be
    'backward' and 'right'. This is now handled automatically; Axmud works out
    which direction the character is facing, and converts an exit named
    'forward' into the equivalent map direction like 'east'. If assisted moves
    are turned on, you can move through the 'forward' exit by typing 'east' or
    'e', as normal. Discworld players can use the new ';addrelative' and
    ';deleterelative' commands if they are helpful. For other worlds, you can
    specify relative directions in the dictionary 'edit' window
- The direction the character is facing can be set (or reset) artficially by the
    new ';setfacing' command, or by using ';resetlocator <direction>'
- Exits can now have an alternative direction (in case an 'enter blue portal'
    exit sometimes becomes an 'enter red portal' exit, or something)
- Involuntary exit patterns (seen when your character is moved to a new room
    without any input from you) and repulse exit patterns (seen when your
    character tries to move to one room, but is instead moved to a different
    room) now have an optional destination room. If you specify the destination,
    the automapper won't get lost. This only applies to patterns stored in a
    particular room; involuntary/repulse exit patterns for the whole world
    (stored in the world profile) don't have a destination room at all
- Added a new exit ornament, 'mystery' (drawn as a dark red square). If you
    don't know how to pass through an exit, but think it's probably possible to
    pass through it, you can mark it as a mystery exit
- You can now select all rooms, exits, labels (etc) in the whole map. You can
    also now select all impassable or mystery exits
- The 'Find room...' operation can now look for room tags, as well as room
- When using crafty moves, 2-way exits (rather than a 1-way exit) are now
    created, when appropriate
- You can now add multiple exits to multiple rooms at the same time
- A map label's style can now be set directly from the popup menu after right-
    clicking the label
- The ';setroom' command has been updated with a new switch, ';setroom -l',
    which sets the last known location (drawn in green) as the new current
    location. This switch can be combined with others, e.g. use ';setroom -f -l'
    to set the location and switch to 'follow' mode

Automapper fixes
- At a few worlds, the automapper was unreliable, in that it frequently got
    confused about the current location for no obvious reason. The reason, in
    fact, was incorrect handling of prompts, an issue that only affected those
    worlds. The prompt handling code has been overhauled and should now be
    working perfectly at all worlds
- Axmud's pathfinding algorithms have been improved so that they can create
    paths through adjacent regions. This should permanently solve the problem of
    finding a path between two rooms in the same region A, if the only path
    between them goes via a region B. You can modify the way this is handled.
    From the automapper menu, click 'Edit > Edit world model ... > Settings
    > Page 6', and find the 'Simple pathfinding - adjacent region mode'
- Pathfinding operations failed badly in certain rare situations. Fixed them all
- After double-clicking a room in a different region, Axmud finds the shortest
    path to that room, and sends a large number of world commands to get there.
    The destination room is drawn brown until the character arrives. Axmud no
    longer draws and then re-draws every room along the path in brown, which
    greatly reduces the response time after double-clicking a room, or when
    using a command like ';go' or ';drive'
- Selected labels were handled badly; you could select a label in one region,
    and then discovert that a completely separate label in a differnt region was
    also selected. This is now fixed
- Very old exported world models (from 2016 or earlier) could not be loaded or
    imported. Fixed
- The ';locateroom' command often produced too many false positives, or not
    enough matches, depending on various factors. It should be working much
    better now
- 'Illegal direction' error messages are now optional, and turned off by
    default. From the 'main' window, select 'Edit > Axmud preferences...
    > Settings > Page 10 > Illegal exit directions' to turn them back on
- Fixed a nasty error message seen when moving using an assisted move like
    'backward' and when the destination room doesn't match the expected one
- The way non-standard directions is handled has been improved. An exit like
    'swim east' is now automatically drawn as an east exit. Some problems with
    clashing directions have been fixed
- After dragging multiple rooms/labels around the map, and when connecting an
    exit to a room by clicking on the room, Axmud doesn't try to redraw the
    whole region any more
- Fixed several problems with the automapper code that could cause
    inconsistencies in the world model (and which can be detected using the
    ';testmodel' command)
- The ';testmodel' command now limits the number of error messages it will show
    (so it will no longer try to show 100,000 error messages, if there's some
    inconsistency in all of the exits in the map)
- Improved the look of several of the automapper window's dialogue windows
- When transferring rooms to a different region, the map is now automatically
    centred over the transferred rooms
- When dragging a map label with a border, only the text was dragged. Fixed
- Fixed issues with the map's background colouring. The blue selection box did
    not appear if the starting position was over a coloured portion of the map.
    Also, when trying to delete a coloured portion, several adjacent coloured
    portions were often deleted
- Coloured buttons in several of the automapper window's toolbars were
    effectively invisible if they were the same colour as the surrounding
    window. Added a black border to make them visible
- Fixed several issues with automapper tracking, which keeps the current room
    in the visible portion of the map
- When moving around a map in 'connect offline' mode, Axmud displays room
    titles/descriptions. For some worlds, the description was displayed twice;
    this will no longer happen
- Users are now prompted for confirmation before deleting a single room

Major new features
- Axmud now supports the CHARSET and NEW-ENVIRON protocols, IAC GA control
    sequences and TCP keep alive packets
- If you want Axmud to store its data files in a different location (for
    example, on an external hard drive, on a USB stick or on a network drive),
    you can now do so without editing the Axmud source code. In Axmud's
    installation directory (folder) there's an empty file called 'datadir.cfg'.
    You can edit that file to specify a path to a directory, e.g.
    'F:\mydata\axmud' or '/home/myname/data/axmud'. Alternatively, you can use
    the new ';setdatadirectory' and ';listdatadirectory' commands. Restart Axmud
    to apply the changes
- Axmud could already auto-detect weblinks like 'http://deathmud.com', and make
    them clickable. It can now detect shorter weblinks like 'deathmud.com'.
    Detection of shorter weblinks can be turned off if they are an annoyance
    (from the 'main' window menu, deselect 'Edit > Axmud preferences...
    > Settings > Page 1 > Make short links like deathmud.com clickable') or use
    the new ';toggleshortlink' command
- A few worlds send information about the character's health points, and so on,
    via MXP. This data is displayed in an additional gauge at the bottom of the
    'main' window. Axmud can now automatically convert and store this data. For
    this, you must specify which MXP variables correspond to which Status task
    variables. From the 'main' window menu, click 'Edit > Edit current world...
    > Status > Page 5'. Enter an MXP entity like 'hp' and the equivalent Status
    task variable like 'health_points'. For an example, connect to Discworld (in
    online or offline mode), for which the variables have already been entered
- For worlds (such as Discworld) that use MXP text gauges, Axmud no longer tries
    to show a maximum value if none exists (e.g. maximum health points are shown
    but maximum experience points are not)

Major fixes
- At many worlds, Axmud did not display bold text correctly if it was in the
    default text colour. Fixed
- Users can use their TAB key to cycle through recent commands in the 'main'
    window's command entry box. However, it didn't work in 'connect offline'
    mode. Fixed
- Fixed several problems with MXP clickable links, which meant that exits at
    Discworld were not clickable and that, occasionally, MXP tags were actually
    visible in the 'main' window (which could confuse the automapper)
- In some situations, when multiple clickable links appeared on the same line,
    only the first one was actually clickable. Fixed
- Fixed several issues with the ';exportfiles' and ';importfiles' commands
- Some tasks, such as the Channels and Divert tasks, were an inserting an empty
    line at the top of their task windows after being reset. Fixed
- Fixed ';loadplugin' command which didn't work at all if no file path was
- For pre-configured worlds that require a patch, a dialogue window appears
    asking for confirmation. This window appeared every time Axmud started; it
    should now appear only once
- When a world was cloned, its triggers, aliases, macros, timers and hooks were
    not cloned. This is now fixed, and cloning a world should create clones of
    its interfaces

Minor new features
- The search box in the Connections window now initiates a search when you press
    your ENTER key
- You can now create temporary triggers, aliases, macros, timers and hooks from
    the main 'edit' window; it's no longer necessary to create the interface,
    open its own 'edit' window and mark it as temporary from there
- When system messages can't be displayed in the 'main' window, the flashing '!'
    button now flashes in a colour that matches the most recent system message
- Several improvements to the way recordings are handled. When recordings are
    in progressed, or paused, an icon appears in the 'main' window's command
    entry box. 'Main' window menu items are now desensitised to prevent you
    stopping a recording, when you only wanted to resume a paused recording
- New hook event, 'map_lost', which fires whenever the automapper gets lost
    (Axmud already had 'map_no_room', which fires when the automapper gets lost
    but also when the Locator task is reset)

Minor fixes
- Following changes to the Status task in the previous release, the ';setlife'
    command was unusable. Fixed that, and also fixed the character 'edit' window
    so that changes to a character's life status were transmitted to the Status
    task immediately
- Updated version numbers in incorporated code to fix CPAN Kwalitee issues
- Fixed 'Use of unitialized value' error seen at login in Luminari
- Fixed crash seen at logoff in Materia Magica, caused by ATCP/GMCP issues
- The ';copyrecording' command tripped up an a direction like 'in' that can't be
    abbreviated; fixed it. The format of the command's output has also been
- When doing an automatic login in 'tiny' mode (for example, at HellMOO), the
    character's password is now obscured when it's displayed (in green) in the
    'main' window

v1.1.273 (1 Nov 2018)
Minor fixes
- CPAN-only release to fix indexing issues

v1.1.270 (31 Oct 2018)

Pre-configured worlds
- Ten new pre-configured worlds: Dragon Swords, Forgotten Kingdoms, Forest's
    Edge, GreaterMUD, Midnight Sun, NannyMUD, StickMUD, The Land, The
    Inquisition: Legacy and The Unofficial SquareSoft MUD
- Minor improvements and fixes for the existing pre-configured worlds:
    3Kingdoms, 3Scapes, Alter Aeon, Dead Souls (Local/Prime/Dev), Luminari,
    MUD1, MUD2 (British and Canadian servers), and Two Towers

Automapper new features
- When moving from room to room, the automapper checks that each room matches
    the one it was expecting. If the rooms don't match, the character is marked
    as 'lost'. Some users didn't like this arrangement, so this version of Axmud
    introduces several new features which allow the automapper to continue
    drawing new rooms, if that's what you would prefer. These features are fully
    explained in the Axmud Guide
- From the automapper menu, 'Mode > Auto-compare > Auto-compare new rooms' turns
    on auto-compare mode, which checks every new room against existing rooms in
    the region. Any matching rooms are selected (drawn blue). In addition, a
    rectangle is drawn inside the new room - a black rectangle if there is one
    matching room, a red rectangle if there are multiple matching rooms. The way
    this works can be tailored from the same sub-menu
- Any room can be compared against other rooms in the region by right-clicking
    it and selecting 'Move rooms/labels > Compare room > ...with rooms in
- From the automapper menu, 'Mode > Auto-rescue mode > Enable auto-rescue mode'
    turns on auto-rescue mode. Instead of marking your character as lost, Axmud
    creates a temporary region, and starts drawing rooms there. It compares
    those rooms against rooms in the previous region. When you find a single
    matching room, you can double-click on it; everything in the temporary
    region is merged back into the previous region
- Rooms from one area of a map can be merged into another area of the map at
    any time (as long as the automapper window is in 'update' mode). There are
    several ways to do this, including drag-and-drop
- From the automapper menu, 'Mode > Auto-slide mode > Slide new room forwards'
    turns on auto-slide mode. If a new room can't be drawn because there's a
    different room in the way, the new room slides into the first available
    space. The departure or blocking rooms can be moved instead, if you prefer.
    (This is an alternative to auto-rescue mode; you can use whichever is most
- The automapper now remembers which regions you've viewed recently. When you
    draw a map of a town, in a region called 'Town', you might find there isn't
    enough space on the map to draw all of the rooms in some buildings. If so,
    you can create another region called 'Town buildings'. Then, you can
    transfer a room to that region by right-clicking the room and by selecting
    'Move rooms/labels > Transfer to region > Town buildings'. Transferring a
    room moves it to exactly the same grid position in another region
- For individual rooms that the Locator task can't recognise - for rooms that
    don't have an exit list, for example - you can now specify a pattern that
    matches any line in that room; the Locator task and the automapper will then
    be able to treat it like any other room. Right-click the map and select
    'Add room here', then right-click the room and select 'Add pattern >
    Add unspecified room pattern...'
- Data stored in one or more rooms - such as titles and room descriptions - can
    now be reset, quick and easily. First select the rooms, then from the
    automapper menu select 'Rooms > Other room features > Reset room data...'
- Transient exits (those which move from room to room, often because they're
    attached to a vehicle) now have an optional destination room
- The edit window showing the Locator task's current room now allows you to open
    edit windows to view the room's temporary contents
- Improved handling of edits to automapper window labels and label styles. When
    creating new labels (or editing existing ones), you can now switch between
    dialogue windows that offer single-line or multiple-line input (from the
    automapper menu, select 'Labels > Use multiline labels'. Other minor chnages
    should make labels less frustrating to work with
- The world model search window (from the automapper menu, select 'Edit >
    Search > Search world model...) now has a more sensible tab arrangement, so
    it's no longer necessary to scroll through tabs to see the results of your
    search. The search was also broken, and has been fixed
- The automapper will now prompt you before deleting multiple rooms and/or

Automapper fixes
- Pathfinding routines were unable to find a path between two rooms in the same
    region, going via another region. This problem has been fixed
- Don't forget that if several region exits exist between regions A and B, the
    pathfinding routines will only use one of them. If all the region exits in
    region B lead to region A, you should probably convert them all into
    super-region exits (which the pathfinding routines can use). From the
    automapper window menu, you can now select 'Regions > Current region >
    Convert all region exits'
- When in 'update' mode, the automapper window no longer overwrites exit
    ornaments (such as a line representing a closed door)
- Fixed numerous problems with the room comparison/room matching code
- Fixed room tags/room guilds being drawn in different positions, depending on
    whether complex or simple exits were visible
- Fixed occasional 'use of initialised value' errors caused by certain types of
    exit at certain worlds
- New custom room flags weren't visible in the automapper window's menu. Fixed

Major new features
- Axmud can now emulate VT100 terminals (connect to GreaterMUD or Forgotten
    Kingdoms to see the new code in action). VT100 mode is turned on
    automatically as required, so there's no need to enable anything
- Most worlds send text to be displayed at the bottom of the main window, but a
    few (especially those using VT100/MXP) expect text to be inserted anywhere
    in the window. When this happens, Axmud will stop displaying its system
    messages in the main window. Instead, the new '!' button will start
    flashing yellow for system messages or red for error messages. You can view
    the messages by clicking the button. (The System task, introduced in the
    previous release, is unaffected by this change)
- If you prefer all system messages to be directed into this console window, use
    the ';togglemainwindow -s' command
- The new ';configureterminal' command enables you to disable VT100 altogether,
    to display a visible cursor in the main window, and to enable direct
    keyboard input (very useful for worlds that expect you to navigate menus
    with your cursor keys, and so on)
- After a disconnection, the session goes into a limited state in which tasks
    halt, edit windows close and many client commands are no longer available.
    On disconnection, Axmud can now switch to 'offline' mode instead, exactly
    as if you had clicked the 'Connect offline' button in the Connections
    window. To turn this on, use ';setsession -o'
- Greatly improved detection of invalid patterns (regular expressions/regexes),
    which tend to cause a crash if anything tries to use them. You'll now find
    it impossible to enter an invalid pattern in client commands. Edit and
    preference windows will either refuse an invalid pattern, or provide a
    button to test all the patterns in each tab
- Added a new Pattern Tester window, which you can use to test patterns and
    substitutions against any line of incoming text. Use the ';testpattern'
    command to open it, or from the 'main' window menu select:
    'Edit > Test patterns...'. You can also use the new Axbasic functions,
    TESTPAT() and TESTPAT$()
- All interfaces (triggers, aliases, macros, timers and hooks) now have an
    optional cooldown attribute. If set, the interface won't fire again until
    the cooldown period has expired
- For rewriter triggers and aliases that use group substrings, it's no longer
    necessary to enclose the substitution in double quotes "..." (existing
    triggers and aliases will continue to work as before, so there's no need to
    prune them all)
- Ordinary (non-rewriter) triggers can now use group substrings, e.g. for the
    pattern 'An (orc) has arrived', the trigger's response can now be something
    like 'kill $1', which is sent to the world as 'kill orc'
- If one or more of Axmud's data files had been corrupted, it was necessary to
    navigate through Axmud's data folder, find an earlier copy of the file and
    to restore it manually. Axmud now loads the earlier copy of the file
    automatically, if the most recent copy appears to be corrupt
- For worlds that offer an MSP sound pack for download (e.g. Kallisti, Materia
    Magica, CoffeeMUD), you can now use the ';msp -d' to automatically download
    the sound pack and install it on your system (which should be quicker than
    navigating through Axmud's data folders yourself)
- Major internal redesign of the Status task. You probably won't notice many
    changes, although some values that were not captured correctly (most notably
    quest points) will now work. A nice bonus is that coloured gauges are
    visible as soon as the session starts
- In the Status task, the distinction between standard and custom values has
    been removed; if you capture a number and call it something like
    'cats_total', that number is automatically available for display in the
    task window or the main window's gauges
- Many values that were previously stored in the Status task (and which were
    lost, at the end of the session) are now stored in the character profile and
    are thus preserved from session to session (your character's health points
    is one example)
- A new client command, ';setcommifymode', controls how the Status task adds
    commas to very long numbers (converting 1000000 to 1,000,000, for example)

Major fixes
- Fixed problems with blinking text. Text using RGB colours still does not
    blink, but text using standard and xterm colour tags now blinks correctly
- Fixed mutliple ECHO issues at worlds where echoing of keyboard input is
    permanently turned off (e.g. at MUD1)
- Fixed several problems with basic mapping mode at worlds like MUD1/MUD2
- Temporary directories in Axmud's data folder were not emptied when Axmud
    starts, as they should have been. Fixed, which in many cases reduces the
    size of the data folder by 33%
- Fixed problems with clickable links that caused a crash when they appeared at
    the end of line (in certain situations)
- Fixed automapper error that used the wrong destination room, after a departure
    room was moved in a fixed direction (or transferred to a new region)
- Macros created by the Compass task were not destroyed when the task was halted
    or reset. Fixed

Minor new features
- Routes (see the help for ';addroute') can now use speedwalk commands like
    '.3nw2s', as well as the more conventional 'n;n;n;w;s;s' and
- The setup wizard window (visible when you first run Axmud) now offers to use
    recommended options for your system, rather than forcing you to click
    through several pages of options
- Use ';debugconnection -q' if you want to see a debug message when invalid (or
    unrecognised) VT100 escape sequences are received
- Added ways to show your IP address. New client command, ';getip'. New Axbasic
    function IP$(). The chat task command ';info' has been updated to show your
    IP address clearly.
- Several minor improvements and fixes for the Chat task
- The layout of the menus in the 'main' and automapper windows have been
- The RawText and RawToken tasks can't start until the character is marked as
    logged in. Axmud now stores text received from the beginning of the session,
    so it can be displayed in the task windows as soon as they open
- The RawToken task now displays tokens on a single line by default, rather than
    one token per line, as before. Packet numbers and token types can also be
    turned on and off now; use the task's edit window. Packet numbers, when
    visible, are in a different colour to make them stand out better
- Console windows now display system messages in their original colours
- Axmud's data directory now contains a README file, explaining the purpose of
    each of the sub-directories. A few new sub-directories have been added there
- You can use ';loadplugin -s' to load all of Axmud's standard plugins at the
    same time (but this is only useful for developers)

Minor fixes
- New hook events, 'map_room', 'map_no_room', 'map_rescue_on',
    'map_rescue_merge', 'map_rescue_off', 'textview_resize', 'system_text',
    'system_error', 'system_warning', 'system_debug', 'system_improper',
    'system_all', 'system_all_error'
- Fixed output of ';listdirectory' command on MS Windows systems
- Tabs in the edit window for triggers now fit comfortably inside the window
    without the need for scrollbars (on most systems)
- Gtk2 simple lists will no longer accept input (so you'll no longer see an
    empty entry box appearing out of nowhere in random situations)
- Fixed failure to write a parial line, containing only a 0 character, to
- Fixed failure to inform the world of a change in the main window size when
    scrollbars are added/removed
- Fixed problems with ';setreminder' command
- For tasks that display a <task reset> message, that message is now removed
    before new text is displayed (this problem did not affect all tasks)
- Axmud no longer offers MCCP1 during telnet negotiations, if it has already
    accepted MCCP2
- Fixed frequent 'There was 1 un-closed 'grid' window when the parent workspace
    grid closed' messages in the terminal window
- Fixed multiple issues with the ';msp' command. In addition, the switches used
    with this command have changed; see the help for ';msp' for more details
- Modified the object parsing routines, so that both 'five big trolls' and
    'five big trees' are visible in the Locator task's window in their
    singular (not plural) forms. Debug messages generated by the same routines
    have been improved a little for clarity
- Fixed an occasional error produced by received lines of text stored in one of
    Axmud's buffers
- Several other minor fixes

v1.1.174 (30 Sep 2018)

Major new features
- Axmud can now be run on on *BSD
- Axmud releases are now available as an .RPM package
- The installation guide (the INSTALL file) has been greatly expanded
- The Axmud Guide and the Quick Help document have been converted to HTML, and
    can now be read on the Axmud website. Markdown versions of the text can also
    be found in /share/docs. The PDF/ODT version of the Axmud Guide have been
- Added support for ZMP (Zenith Mud protocol). The new 'zmptest' plugin
    demonstrates how additional ZMP packages can be written. New client commands
    ';zmp', 'sendzmp' and ';imputzmp'
- Added support for AARD102 (Aardwolf 102 channels). New client command
- Added full support for MCP v2.1 (Mud Client Protocol). The implementation
    includes the 'dns-org-mud-moo-simpleedit' package. The new 'mcptest' plugin
    demonstrates how additional MCP packages can be written. New client command
- New hook events for these protocols - 'zmp', 'aard102' and 'mcp'
- 'Free' windows (such as the Connections window, edit and preference windows)
    were too small on some popular Linux distros and on *BSD. Axmud now
    attempts to increase the default size of these windows, if it thinks the
    default size isn't big enough. You can now set the default size yourself, if
    you need to, using the ';setwindowsize' command (or in the client preference
    window). The layout of the Connections window has been rearranged so that
    increasing the default the size is necessary on fewer systems
- Window tiling is still disabled on MS Windows. Axmud now remembers the size
    and position of each type of window, so you only need to rearrange windows
    on your desktop once. On Linux and *BSD, this functionality is turned off by
    default, but can be turned on if you want to disactive window tiling
    (using the ';disactivategrid' command). New client commands are available:
    ';togglewindowstorage', ';applywindowstorage', ';dumpwindowstorage' and
- A new type of random exit. When an exit leads to a randomly-generated area
    every time you go through it, you can now set the exit so that Axmud
    automatically creates a temporary region. Axmud will also try to detect
    when you've arrived back at the original room and, at that point, the
    temporary region is deleted

Major fixes
- Pueblo frames were 100% non-functional in the previous release. Fixed
- Fixed crash in some Axbasic scripts that try to CALL a SUBroutine
- Problems with clicking on exits in the automapper window were fixed in the
    previous release, but apparently made the problems worse. Another fix has
    been applied
- Buttons in the automapper window's toolbar were not desensitised (greyed out)
    correctly. Fixed throughout
- World commands are normally echoed in the main window, in green. This can be
    turned off, but handling of world commands in this situation was broken. The
    problem has been fixed; in addition, echoing of world commands can now be
    enabled/disabled in the Quick Preferences window (as well as in the client
    preference window, as usual)

Minor new features
- The code handling incoming text from the world has been rewritten and
    optimised somewhat. If you're connected to a world with dozens of colour
    changes per line, you might notice a considerable performance improvement
- The Debugger task has been renamed as the System task, and can now divert all
    system messages (including ordinary yellow system messages) into its task
    window. The colour of system messages is now preserved in the task window
    (this behaviour can be turned off, if not wanted). The ';setdebuggermode'
    command has been renamed as ';setsystemmode'
- Regions can now be created with a generic name, e.g. 'unnamed_7',
    'temporary_9'. When you're prompted for a name, just leave the box empty.
    Temporary regions in the list on the left-hand side of the automapper window
    are now drawn in italics, and separately from all other regions

Minor fixes
- Fixed incorrect handling of ATCP/GMCP data in ';simulatehook'
- Fixed error in the Connections window caused when typing a replacement host
- The ';axbasichelp' command now accepts keywords and function names in capital
    letters (since they appear in all-caps throughout the documentation)
- Fixed several buttons in the Object Viewer window, which were not able to
    view handle various buffer lines correctly
- When drawing 'wilderness' rooms, the first room in a region was incorrectly
    drawn with exits. Fixed
- The basic mudlist (the long list of worlds visible in the Connections window)
    now names the Russian language using Cyrillic text
- The default size for 'main' windows was not loaded from its data file. Fixed
- Fixed problems with the aliases for ';allocateexit', e.g. ';north',
    ';southwest', ';up', seen whenever the commands are typed with the wrong
- Fixed several crashes seen when the automapper is tracking the current
    location while the automapper window isn't open
- Several other minor fixes

v1.1.138 (31 Aug 2018)

Pre-configured worlds
- Ten new pre-configured worlds: Adventures Unlimited, Bylins MUD, Clessidra
    MUD, DragonStone, Eternal Darkness, HexOnyx, RavenMUD, RealmsMUD, Two Towers
    and Waterdeep
- Minor improvements to the existing pre-configured worlds: CoffeeMud,
    Discworld, EmpireMud 2.0. If you want to import the improvements into your
    existing world profiles, use ';updateworld' (for example
    ';updatworld discworld'). If you don't want to risk overwriting any changes
    you've made to those profiles, don't use ';updateworld'
- The basic mudlist (visible by clicking the planet icon in the Connections
    window) has been expanded by about 150 worlds
- This version adds a new 'wilderness' plugin, especially for users of
    EmpireMUD 2.0, that modifies its world profile to use wilderness mode (see
    below) in the most effective way and, if loaded a second time, reverts those

Major new features
- Numerous improvements and enhancements to the automapper (see section below)
- Greatly improved handling of Russian-language worlds. At most of them, the
    KOI-8 character set is now applied automatically. Cyrillic text, and not
    gibberish, should now be visible in most of Axmud's windows. Axmud's
    internal regular expressions now recognise non-Roman characters. Profiles
    and other Axmud objects (collections of data) can now be given names using
    non-English characters, so automatic login using a Cyrillic character name
    is now possible. The Locator and automapper windows have been tested using
    Russian directions (see the Bylins pre-configured world for a demonstration)
- Handling of other non-English worlds has also been improved. Axmud's
    phrasebooks, which are used to create dictionaries in various languages,
    have been updated. The correct phrasebook is now applied to any world in the
    basic mudlist, so for most non-English worlds compass directions in the
    Compass task shouldn't require any configuration
- The Connections window can now search both lists of worlds. When sorting
    alphabetically, worlds beginning with articles like 'The' and 'A' are now
    sorted correctly
- If you don't want Axmud to display certain colours, you can now modify colour
    schemes so that those colours are filtered out. You can also specify that
    only the default text and background colours should be used. This will be
    useful for those of you who wanted to read black text on a white background,
    but could not, because the world was using so many different colours. The
    'edit' window now has buttons for quickly swapping the text/background
    colours, and for matching the underlay/background colours
- New Channels task, which works much like the Divert task, but has multiple
    tabs. Both tasks use the same world profile patterns, so you can use
    whichever one you prefer (but you can't run both at the same time)
- The Divert task used to be limited to four channels ('tell', 'social',
    'custom' and 'warning'). Both the Channels and Divert task can now use any
    number of channels
- The old ';adddivertpattern', ';deletedivertpattern' and ';listdivertpattern'
    commands have been replaced with ';addchannelpattern',
    ';deletechannelpattern' and ';listchannelpattern'. The new commands work
    with both the Channels and Divert tasks. There's also a new
    ';emptychannelswindow' command
- If you create a colour scheme called 'divert', the Divert task will use that
    colour scheme rather than the default one. As a result, you can configure
    different task windows to use their own colours and fonts, if you like.
    Changes to a colour scheme are now applied to all windows using that scheme
    as soon as you click the 'save' or 'OK' button. Several related issues were
    fixed at the same time

Major fixes
- Fixed an issue in the Locator wizard which failed at worlds where the exit
    list was spread across multiple lines
- Tasks in the global initial tasklist (those that start automatically whenever
    you connect to a world) could not be configured using their 'edit' windows.
    Fixed several related issues
- Axmud is capable of converting invisible text (e.g. black text on a black
    background) to something visible, but there was no way to turn it on (or
    off) from any 'edit' or preference window. Fixed
- Fixed a couple of segfaults
- Entry boxes in many 'edit' windows only accepted an even number, when they
    should have accepted a fractional number. Fixed

Automapper new features
- Added graffiti. Temporarily mark rooms you've visited with an X; very useful
    if you want to check every room in a region. When graffiti mode is turned
    on, a count of visited and unvisited rooms appears in the automapper
    window's title bar
- Multiple toolbars. Use the red plus button to make additional toolbars
    visible. You can still switch between button sets in the first toolbar at
    the top of the window. The order of buttons on existing toolbars has been
    improved a little
- A toolbar has been added with various buttons for setting the number of
    character visits in each room. Existing operations to modify those values
    have been improved, and most of them will now work on multiple rooms at the
    same time. Those of you who want to keep track of which rooms you've visited
    and how often you've visited them should find these improvements make it
    much quicker to modify the stored values, when required
- Painting rooms in different colours, using room flags, should now be much
    quicker. There's a new toolbar which you can use to choose your favourite
    colours (room flags), and to toggle them on and off. The layout of various
    'edit' windows that use room flags have been greatly improved
- Rooms can now be automatically painted if their room title, description,
    exit list, contents or room commands match any patterns that you specify
    (ideal for worlds like EmpireMud 2.0, which have a small set of room titles
    corresponding to different terrain types)
- You can now add and delete your own room flags, if you don't like the default
    set that Axmud provides. (Only custom room flags can be deleted)
- Added new room flags for bus stops, player-controlled shops and cafes.
- There's another new toolbar which you can use to colour in the background map
    directly. It's ideal for features like rivers and mountain ranges which
    exist in the world, but can't be accessed directly by the player. The map is
    divided into an invisible grid, with one room per grid, and you can paint
    each gridblock (or a group of gridblocks) any colour you want
- The organisation of items in the window's menu has been improved in a number
    of cases. A number of new menu items have been added
- Labels can now be drawn in different sizes and colours, and even inside a
    coloured box. You can either customise each label individually, or you can
    use one of several label styles - one for titles, one for street names, one
    for bridges, and so on. Four label styles are provided; you can use those,
    or you can create your own label styles
- Label styles can be handled with the new commands ';addlabelstyle',
    ';editlabelstyle', ';renamelabelstyle', ';deletelabelstyle' and
- If your labels are spread untidily all around the whole map, you can now ask
    Axmud to align them either vertically or horizontally (or both)
- You can now select multiple rooms and labels by holding down your left mouse
    button and dragging the cursor over the map
- When multiple rooms are selected, they are now all dragged at the same time
- You can now move selected rooms/labels by pressing CTRL+C and clicking on
    a location on the map. CTRL+C can be disabled entirely if you don't want it.
    (CTRL+V is not necessary, and in fact does nothing)
- Much better handling of wilderness zones (large areas of the world in which
    the rooms have no exit lists, because movement is possible in all
    directions). In these areas it's no longer necessary for your maps to
    contain exits at all. See the Axmud Guide for a discussion of how
    wilderness rooms have been implemented
- Added crafty moves mode for worlds like Discworld, which has a lot of exits
    that don't appear in a room's exit list (but it's obvious from the minimap
    that the exits exist). When crafty moves mode is turned on, you can move in
    any direction, and if the automapper doesn't already know that an exit
    exists in that direction, it creates a hidden exit for you
- Added transient exits for worlds like Discworld, which has moving vehicles;
    when the vehicle is in a room, additional exits appear in the room's exit
    list. You can now set exits like 'board wagon' as transient exits, so the
    automapper won't try to draw them and won't get confused if you enter a room
    containing them
- For worlds that have a lot of hidden exits, the automapper can now track the
    direction in which you tried and failed to move, so you can systematically
    try every direction from every room until you've found every possible hidden
    exit. Use 'Exits > Exit options > Collect Checked directions' to turn it on.
    When turned on, the automapper draws checked directions in pink. Model
    reports can now show how many rooms have been checked in every direction
- Added a new ';insertfailedexit' command. When you try to move in a direction
    but the world refuses, you might get a standard refusal message or you might
    get a different one in every room. An unrecognised refusal message means
    you have to reset the Locator task and set the current room again; the new
    command takes care of that in a flash. If you don't like typing, you can use
    the new toolbar button instead; it's the red 'FE' button
- The automapper draws exits as an 'X' when they're in non-primary directions.
    It's up to you, the user, to decide in which direction the exit should be
    drawn. Normally it's necessary to click on each exit individually, selecting
    a primary direction one exit at a time. The new ';allocateexit' command
    makes this process much quicker. For example, in a room with 'kitchen' and
    'bathroom' exits, you could type ';allocateexit north kitchen' or
    ';allocateexit se bathroom'. You can even miss out the command word
    altogether, and just type ';north kitchen' or ';se bathroom'.
- You were already able to add notes to rooms (right-click a room on the map,
    select 'Edit room... > Notes'. Any notes you make are now displayed in the
    room's tooltip, when your mouse is hovering above the room. If you don't
    want to see them, notes in tooltips can be turned off, leaving the
    information that was already visible there
- Saved maps (world models) will now be between 10-25% smaller, depending on
    what kind of data the model is storing. Load times will improve by the same
- The ';locateroom' command now selects all matching rooms on the map, so after
    getting lost it's easier to work out where you are. Some issues with that
    command have been fixed, so it will now work more reliably
- The automapper's 'Reposition all maps' operation now sets the visible level
    back to level 0, as well as resetting magnification and the position of

Automapper fixes
- Dragging exits was often very difficult because the exit could not be clicked,
    or immediately unselected itself after being clicked. This has been fixed,
    and dragging an exit should now be as easy as clicking on it
- The automapper was not able to track movement in a non-primary direction like
    'enter cupboard' immediately after a room had been set as a current room.
- Fixed a crash caused, in certain circumstances, by selected rooms in the
    automapper window
- The automapper sometimes failed to draw twin exits correctly, when one or both
    were in non-primary directions. Occasionally, this caused a crash. Both
    issues are now fixed
- Some error messages caused by the automapper's room painter have been fixed
- In the automapper window's menu, 'Rooms > Locator task > View Locator room'
    crashed Axmud. The edit window itself, once opened, also crashed Axmud. Both
    have been fixed
- Some inconsistencies in the way the automapper window desensitises (greys out)
    some of its menu items and buttons have been fixed
- The room painter incorrectly replaced certain values, such as the room's
    title, in certain situations. The automapper did not finish creating a new
    room before trying to paint it. Both issues have been fixed
- It's no longer necessary to reset the Locator task after the automapper gets
    lost; you can now set the new current room right away
- Labels in maps can now contain '&' characters without generating an error

Minor new features
- The layout of the 'edit' window for routes has been improved
- The Locator task can now capture information about the weather, the time of
    day (and so on), and display that information in its task window. The
    information is not stored anywhere in the model. At present, no
    pre-configured worlds use the new 'weather' component
- The Locator task used to show the room's contents in its window, main noun
    first. You can now change that behaviour (using the task's 'edit' window),
    so the the word order isn't changed. Instead, the noun is highlighted in a
    different colour
- The About window now shows this file, and the INSTALL information file
    included with Axmud's source code
- The MS Windows installer will now let you install Axmud anywhere you want.
    Some users have reported problems with this installer. In most cases,
    running the installer a second time will work. In most cases, if Axmud
    crashes shortly after it starts for the first time, it won't crash on the
    second or subsequent occasions

Minor fixes
- The Locator task displays the number of room statements (descriptions) it's
    expecting in its title bar, but this number was not updated frequently
    enough. The visible number is now updated instantly. The same number is no
    longer displayed in the automapper's title bar (as there is no longer enough
    room there)
- Fixed some issues with MXP room tags and popup menus, which prevented (for
    example) the automapper from working at DragonStone
- Improved handling of arkward exit states (extra information about an exit in
    the room's exit list), which made correct handling of exit states at
    DragonStone impossible
- Trying to connect to a world from the basic mudlist, while specifiying a
    character and password, produced error messages. Fixed
- ';importfiles' failed to import a world profile exported with an
    ';exportfiles -w' command. Fixed
- Fixed incorrect handling of text in bold white at some worlds
- Various issues with handling and checking Axmud colour tags have been fixed
- When Axmud encounters a Perl error, it displays a long error message and
    tells the user to type ';restart' when they're ready. The error message has
    been improved so impatient users don't need to read all of it
- Fixed several issues with GMCP data that caused frequent error messages, for
    example at Avatar
- Abbreviations (aka user commands) for several client commands have changed:
    ';addworld', ';setworld', ';cloneworld', ';editworld', ';deleteworld',
    ';listworld', ';restoreworld', ';updateworld', ';setstatusevent'
- The Debugger task's 'edit' window was completely broken. Fixed it

v1.1.050 (31 Jul 2018)

Pre-configured worlds
- Ten new pre-configured worlds: Age of Chaos, Avalon (Germany), Carrion Fields,
    CyberASSAULT, Elysium RPG, HellMOO, Miriani, MUME, RoninMUD, Tsunami
- Improved handling of new and existing pre-configured worlds for users who have
    just installed a new version of Axmud
- Major improvements to the existing pre-configured worlds: Avalon RPG,
    Discworld and SWMud (if you've ever connected to any of these worlds, you'll
    be prompted to update them; if not, the world profiles will be automatically
- Minor improvements to the existing pre-configured worlds: Dead Souls Dev, Dead
    Souls Local, Dead Souls Prime, DuneMUD, Medievia, MorgenGrauen. If you want
    to import the improvements into your existing world profiles, use
    ';updateworld' (for example ';updatworld empire'). If you don't want to risk
    overwriting any changes you've made to those profiles, don't use

Major new features
- New 'quick preferences' window, containing the most useful configuration
    options, such as changing fonts, turning on sound, etc (hopefully useful for
    users who couldn't find where they were). In the main window, click the blue
    book icon to open it
- The GUI window has been renamed the object viewer window, and expanded to
    include more kinds of object and more help files. The commands to open/close
    it are now ';openobjectviewer' and ';closeobjectviewer'
- New client commands to backup the entire Axmud data directory: 'backupdata',
    ';restoredata' and, for automated backups ';autobackup'. (This does not
    affect ordinary data file load/save operations. To avoid confusion,
    ';retainbackups' has been renamed ';retainfilecopy')
- A complete list of strings used in peek/poke operations (such as with the
    client commands ';peek' and ';poke', and with several Axbasic statements
    including PEEK and POKE) is now available in the About window, in the Axmud
    Guide and by using the new ';peekhelp' command
- For worlds that use room commands (such as EmpireMUD 2.0 and Avalon Germany),
    some new client commands: ';rommcommand', ';ignoreroomcommand',
    ';noticeroomcommand' and ';listroomcommand'. If the current location has a
    list of room commands like 'chop, harvest, gather', use ';roomcommand' to
    cycle through them. For best effect, open the Compass task and assign
    ';roomcommand' to one of the keys on your keypad
- New commands, aimed at worlds with a language that's not English, allowing you
    to set the dictionary's directions from the command line (e.g. at a
    German-language MUD, to replace 'east' with 'ost'): ';modifyprimary',
    ';addsecondary', ';modifysecondary', ';deletesecondary',
    ';setautosecondary', ';listautosecondary', ';listdirection'. Also fixed
    several problems setting directions in the dictionary's edit window

Major fixes
- Fixed crash due to problems with clickable links occasionally seen at
    MXP-heavy worlds
- Axmud is supposed to be able to recover from a Perl crash, commonly seen if
    you try to use an invalid regex (pattern) in your triggers and aliases. This
    wasn't working, which caused the connection to freeze, but it's now fixed
- Fixed multiple problems with command histories (used when you press the
    up/down cursor keys to show recent commands in the main window's command
    entry box)
- Fixed various ATCP problems which caused numerous error messages at some
- At a few non-English worlds, the automapper produced a load of errors when
    leaving a dark room (a room with no light). Fixed

Minor new features
- The Inventory task can now cope with lines of text containing multiple items
    of inventory (in addition to the usual code, which could already cope with
    commas, the word 'and', and so on). Connect to HellMOO to see it in action
- ';copyrecording' now displays an abbreviated list of world commands, as well
    as the unabbreviated list

Minor fixes
- Some task windows (such as the Status task window) didn't have their fonts
    updated when the user updated fonts generally. Fixed
- ';playsoundeffect' now plays a random sound effect, if you don't specify one
- Fixed various problems in the zonemap and winmap edit windows. Fixed issue
    that prevented user adding winzones to a cloned winmap
- In the client preferences window, Workspaces > Page 5, fixed the faulty 'Reset
    Grids' button
- Autosaves no longer take place when connected to a world in 'offline' mode
- Fixed a few terminal error messages, occasionally seen when Axmud shuts down
- When Axmud displayed explicit line numbers and/or colour/style tags in the
    main window, clickable links appeared in the wrong place. Fixed
- Could not open the edit window for some room components from the world
    profile's edit window. Fixed, and in those edit windows there's a new button
    allowing you to specify RGB colour tags
- Fixed various problems in edit windows for TTS (text-to-speech) configurations
- New ';worldcompass' command, complementing the existing ';compass' and
    ';permcompass', and also improvements to the task's edit window, which make
    it easier to modify the commands for each keypad key that apply whenever
    Axmud starts
- ';listotherworld' has been renamed as ';listbasicworld' for consistency
- Fixed faulty handling, rarely affecting the user, of the delimiters in exit
    lists (for example the commas in 'You can go north, south, west'
- In the Connections window, you can now read English translations of the
    descriptions of non-English worlds

v1.1.012 (8 Jun 2018)

Major new features
- Text-to-speech (TTS) is now enabled on MS Windows. The Windows installer
    includes the eSpeak engine, so TTS will work out-of-the-box (no screenreader
- Added support for the 'espeak-ng' engine (on both Linux and MS Windows)

Major fixes
- Fixed issues with ';connect', ';reconnect' and ';xconnect' that especially
    affected visually-impaired users
- Fixed several issues on MS Windows. The GUI window will now open, the quick
    help file can be opened for viewing, and ';searchhelp' works again
- Autosave is now turned on by default. If you've installed a previous version
    of Axmud, your previous preferences are retained, so use ';autosave on' to
    turn on autosaves
- Fixed problems with clickable links, which caused Axmud to crash instantly
    when they occur at the end of a line
- Fixed incorrect handling of UTF-8 which made Russian-language MUDs unplayable
- Fixed packaging of Perl modules that caused CPAN archive to complain
- The .deb installer on Linux now adds two items to the Start menu, just like
    the corresponding MS Windows installer

Minor fixes
- Numerous minor fixes

v1.1.0 (31 May 2018)

- This is the first public release of Axmud