Version 0.53.00 (Sep 29, 2003) - Generally fixups for compilation with modern gcc Version 0.52.99 (Jan 24) - Added some missing #includes - log.pl executes gzip rather than /usr/bin/gzip - I am now building RPMs on my Debian system. There may be irregularities. - Alpha (64-bit) compilation fixes by Bob McElrath - Fixes to the configure script by Rodrigo Version 0.52.98 (Aug 19) - Added a quick fix for Perl search path problems under Debian submitted by Mike Taylor - Fix for strange history behaviour when the history list has been filled (patch submitted by Patrick Horner ) - New version of MCCP provided by Oliver Jowett - Also by Oliver, some fixes to make the code compiler under newer versions of gcc. - kp_enter (i.e. the keypad enter key) has the same function as Enter now - The default character for speedwalk is now '^' rather than '.' -- period is used by various OLC editors - Should compile with Perl 5.6 now Version 0.52.97 (May 8) - Speedwalk now *really* fixed... Version 0.52.95 (April 19) - Incomplete lines received in a packet will now trigger anyway. This allows triggering on prompts on MUDs that don't send telnet GA. - Speedwalk fixed Version 0.52.94 (February 24) - Last command in a multicommand string was not expanded properly - Respond with \e[40;13R only when getting \e[6n, not \e[6! Version 0.52.93 (February 19) - Fix for Alt-H when Chat is not active suggested by "Beetleman". - Ignoring 0240 in Chat (soft newline sent by MudMaster?) - Fix for ^W not deleting everything - Guard against prompts that are too long - vars.pl has a new @{ } features which evaluates everything inside as Perl - Fixed a bug in the speedwalk handling -- an extra newline was sent after any speedwalk - Fixed a bug in color parsing of incoming chats. Two consecutive color escapes would not get parsed correctly - New module: triggers.pl (in contrib/). Contributed by Ivan Nejgebauer , it provides triggers that can be individually disabled - Autcompletion: an expansion to the complete.pl package that automatically adds words to the complete list when they arrive from the MUD. - Alt-S toggles both status windows now - Bytes sent to the MUD are shown again in the lower stat window - Fixed network state and connect time after a copyover - Control-C will not add empty lines to history - Control-K will delete until EOL like Control-J - #number code modified so it works better in the middle of an alias - Maximum scrollback length increased to 250000 - log.pl changed to exec gzip. Saves one process. - Don't send newline when connectiong to mudmaster clients - Don't expect newline when connected to by mudmaster clients - When receiving \e[6n, mcl responsds with \e[40;13R (cursor position). This allows for ANSI autodetection (patch by Chris Litchfield). Version 0.52.92 (November 2) - Compatiblity cleanup: added some header files etc. - Fixed gagging of lines with GAG -- gagging the last line before a prompt would eat off the first characters of the prompt Version 0.52.91 (October 8) - Now includes Rodrigo's autoconf script - Added color parsing of incoming chat data - Added "vars.pl" module that allows expansion of variables (try executing "set foo 4"2 then "say foo is $foo"). That module also contains a couple of color variables. - The send hooks goes off also before parsing #commands. Version 0.52.90 (October 3) - Added save_history option. It saves your input line history to ~/.mcl/history - Implemented #chat.ping command and response to that - Implemented the ChatList window (use Alt-H to call it up) - Implemented #chat.request and #chat.peek - Implemented #chat.group (chat to a group) and #chat.setgroup (add/remove people from a group) - Implemented #chat.ip - Random header file cleanup, reduced dependancies - Input line history shows when you executed a given command - Partly implemented #chat.snoop, the incoming text is not yet parsed - Implemented handling of the Name Change packet - Implemented sending of zChat stamp - Cleanup of Selection, don't use silly callback - sanitize() eats whitespace at either end of the message - Inactive time was negative - Fixed some EmbeddedInterpreter problems with output hook when using the chat system. Version 0.52.82 (October 1) - Fixed StackedInterpreter, it was slightly broken - Fixed message shown when connecting to remote IP - Fix for config file loading. sscanf sucks. Version 0.52.81 - nodefaults option. If set to 1, only options not equal to their default value are saved - String options can now have an empty value - #chat.flags command should work. doc/Chat updated with flag list - Major bug in the String class fixed Version 0.52.80 (September 26) - First version of the zChat/MudMaster compatible peer-to-peer chat protocol! Read doc/Chat carefully for all the details. Not all things are implemented right now. - StackedInterpreter: if you specify more than one interpreter on the plugins line, they will become stacked! The first interpreter listed gets its function called first, then the second one gets called chained with the output of the first, etc. - Rewrite of socket code. Session now inherits from Socket and contains no socket-specific code. The Socket class can be reused elsewhere (namely the forthcoming chat code). - Lines starting with \ are sent as-is (except the leading \ character of course). This can be set in the configuration file using the escapecharacter option. - Made the "plugin not found" error message more verbose - Added -lm to the Python .so file - Command character variable in embedded interpreter is now set from within mcl - Fixed problem with init_acs() (shouldn't have used a private function in the first place) - Added -lpthread back to the main executable. Python shared object otherwise caused strange problems - Socket rewrite fixed the long-standing problem of connect expecting the READ rather than WRITE set to be available on sucessfull connection - #Window takes negative x/y values, letting it put the window that many characters to the left from the right border - mcl now checks /usr/local/lib/mcl and /usr/lib/mcl after checking ~/.mcl for scripts. This allows a default RPM installation to have all the Perl scripts working. The ~/.mcl directory overrides the other directories, so people who do move things to ~/.mcl will have no problems. Autoloaded scripts do not work currently for Python! - The new buffered architecture made it necessary to add a #send_unbuffered command for use within the embedded scripts (specifically, ccancel.pl). - The -x option allows to specify commands to be executed when mcl is running (e.g. mcl -x '#chat.call foobar'). - Replaced # with the actual command character in a lot of places Version 0.52.01 (September 20) - New mcl hook: connect. Runs when you connect to a MUD. - Changed ACS_ characters for filled/empty box around so something is actually shown again when connecting to a MUD - New module, log.pl. Logs input/output through gzip. - Python fixes from Juha Pohjalainen : init.py: just executes load_configuration only once (it was executed once for every module before added support for save_configuration in done_hook config.py: global variable 'loading' now tells when in initial loading is executed added newline to config_file.write clause, because Pythons write does not automatically add newlines - New DynaComplete.py module also submitted by Juha - All Config file options should now be case insensitive - New format for MUD definition: MUD { ... } where .. can contain keywords like "Host ", "Commands " etc. The old format is still recognized but will be at some point completely gone. - MUD Inheritance: each MUD can now have a "parent" specified. After checking aliases, actions, substitutes and macros in the current MUD, the ones in the parent are checked. This means you can e.g. collect common aliases for a MUD in one pseudo-MUD, and let the three MUD sessions you have for each character on the MUD inherit from that MUD. Just use "Inherits " in the MUD { } definition - Both Action and Alias list now show all active aliases, not only global ones. First actions/aliases local to this MUD are shown, then the ones inherited from the MUD above etc. Also added a bit of color. - New plugin architecture: mcl will look for plugins specified by the plugins= option (default: perl) in the directories /usr/local/lib/mcl/plugins/ and then ~/.mcl/plugins/. A plugin can currently only contain an Interpreter object (e.g. Python or Perl). - Alt-M shows macros (similar to action/alias lists) - Added #macro command to add/remove/change macros while mcl is running Version 0.52.00 (August 28, 1999) - Pressing enter on an empty MUD or alias selection list would segfault. - Ignoring SIGPIPE - Added another status window that displays number of bytes sent/received - Control-U deletes until the beginning of a line Version 0.51.98 (August 25, 1999) - Fix for MUD connections that don't have any connection strigs defined. mcl would send a newline to those MUDs. Version 0.51.97 (August 24, 1999) - Fixed f11 and f12 - Aliases are expanded before speedwalk Version 0.51.94 (August 22, 1999) - Revert color code changes (e.g. 0xEA for change color) to avoid breaking backwards compatibility Version 0.51.93 (August 21, 1999) - Added support for ZMUD-like speedwalk for diagonal directions as suggested by . To use it, prefix the speedwalk path with a . (e.g. .jkneeeud). You can do that even if you have speedwalk turned off. - # followed by a number repeat the command that many times (e.g. #20 buy bread; put bread bag). Code submitted by Steve Copous - Fix for script Mudname.script loading problems - Rewrote the expansion of aliases, ; etc. so there is no more duplicated code, and all that expansion happens inside the Interpreter object - expand_semicolon option (default off) allows use of ; on the command line - Control-W can be used to delete the word to the left of the cursor on the current line - #writeconfig command lets you save the configuration, even if the file is read only (beware). Without parameters, it writes to wherever it was loaded from. With parameters, it writes to the file specified - Xterm support enabled. It looks like terminfo etc. is of no help here. For example, kcuu1 is supposed to be the arrow-up key. But xterm sends something different when you press arrow up, namely the move cursor up key! Argh. So, this means hardcoding the strings actually sent into the application. - Moved some common script path searching stuff into the EmbeddedInterpreter class - Alt-I shows currently defined actions/substitutes Version 0.51.90 (August 3, 1999) - Python support contributed by Patrick Horner Version 0.51.05 (May 22, 1999) - Fix for setupterm problems Version 0.51.04 (May 1, 1999) - Fix for MessageWindows: they stopped scrolling in 0.51.xx Version 0.51.03 (April 6, 1999) - CSI defaults to the two-byte sequence now - #save command saves scrollback (#save -c to save in color) - Changed F10-F12 keys to use raw Linux console keycodes (what are the terminfo codes for those?) Version 0.51.02 (March 17, 1999) - Two character change: added \b to the end of the lib-pruning regexp so it doesn't match partial lib names Version 0.51.01 (March 14, 1999) - Improved TTY support. Now using scrolling regions to make scrolling faster - Using terminfo to get keycodes for certain keys - Graphical drawing characters replaced by -+ etc. under non-VC. It doesn't look good, but I don't seem to be able to access the right characters with terminfo? - xterm set-title code is sent if TERM is xterm or rxvt - Improved TTY color changing support (but could be better) - doesn't send background color change all the time now Version 0.51.00 (March 13, 1999) - Experimental TTY support! It works OK under Linux console, xterms vary: some keys are not working. I'll have to use terminfo/termcap I suppose. Version 0.50.03 (March 13, 1999) - I've tried to prune the libraries that the ldopt perl function tries to link. This means that e.g. gdbm functions are not available at runtime. This also fixes compatibility between SUSE and RedHat. Version 0.50.02 (March 11, 1999) - Actions fixed - semicolon acts properly there now - Removed BorderedWindow, this is now handled somewhat differently. Stil somewhat ugly, but I can't be bothered to fix up this windowing system when it's used for only one application. There may be bugs in this, look carefully. - Fixed 1-byte overflow in Shell - mudftp.pl fix by Oliver - New switches for #window: -B (no border) and -c (change background color) - The #speedwalk command is now gone and has been replaced by #disable and #enable. These commands can disable (all) aliases, speedwalk actions and macros. - Warning about file permissions fixed (George Greer) - Removed "Nothing to delete" - Autocreation of config file patch submitted by Nathan Strong - Control-C will now delete the current line but add it to the history (in case you are typing a long line and need to type something else for a moment) - Added %o - 01-12 month number - #clear will clear a window created by #window - Added prompt.pl - script to show prompt in graphical form in a window - Added #prompt - sets prompt. This is useful if your MUD does not send the GA sequence - Added #setinput - set the input prompt Version 0.50.01 (February 15, 1999) - Runs with perl 5.004 now - Memory leaked in String plugged Version 0.50.00 (February 13, 1999) - Embedded Perl support! #run, #eval, #load commands. This extends mcl in such an extreme way that a bigger jump in version number is deserved :) - Some compile warning fixes by George Greer - SPARC-fix by Oliver Jowett - 'commandcharacter' option by Cath Allen - EOR recognition by Cath Allen - Values out of range are reported correctly - Setting historywinsize to 0 now works correctly - regexps now use Perl code, much nicer. Substitutions now work :) - Just like Diku etc., you can have one-character alias names like % which do not require you to put a space after them - Sticky status line contributed by Nathan - Multiinput line - expands to several lines as you type. Optional. - Copyover option allows restarting of mcl while keeping connection to the MUD (doesn't work well with compression/mudftp) Version 0.49.99 (February 8, 1999) - Internal release Version 0.42.05 (Novemeber 1 1998) - Oliver Jowett's compression code - Fix for speedwalk strings like s5nn - Now sends \r\n as end of line - Fix for actions not saving - Fix for actions not stripping color codes correctly - MUD-specific actions and aliases got moved into global ones Version 0.42.04 (March 2 1998) - Overflow bug in clear_line fixed - I have realized that I will not get any serious work done on mcl any time soon, so I am releasing it as-is for now. Version 0.42 (January 24 1998) - Some rearrangement of classes, slight renaming of functions to java-style - Read-only shell windows executable with #exec (many options) - Triggers, based on regular expressions. Sub expressions are supported, so you can use any part of the matched string for any purpose - Substitutes, also based on regular expressions. This also allows gagging of lines - You can connect directly to a MUD without adding it to the databased by supplying hostname/port on the command line - All commands are now queued through a central interpreter that is independant of any session. This allows for usage of # commands in aliases as well as aliases that use other aliases - Borg module: achieve unity with fellow mcl users - mudFTP version 1 support has been removed. Version 2 should be handled using #exec to execute java (example included) - The timeout-to-connect indicator is now a cute graphical bar instead - Certain %variables can be used in aliases that conver to e.g. hostname of remote MUD, current time/date etc. - #window command creates a window on the screen (that automatically hides itself after some time). #print command pops up and prints to that window. The window can optionally be connected to a log file. Together with regular expression you can thus log e.g. tells to a window and/or a file and view the last tells you've received with one keypress. - Alt-/ can be used to search through scrollback. It's not quite perfect. Version 0.41.9 (May 1997) - Unknown changes Version 0.41.4 (April 10 1997) - Minor bug that prevent Return in history list of forcing the input line to send the command - Fixed problem with pressing any key in an empty selection list Version 0.41.3 (April 3 1997) - A timer/clock window (toggleable with Control-T) - initial version submitted by "Wingover" - Pause no longer dumps core - Keypad and function keys can be used in macros - Control-J deletes until EOL - #speedwalk toggles speedwalk - Empty selection windows no longer cause crashes Version 0.41.2 - Aliases (viewable with Alt-A) - Network Connection Status Window - Inputline, statusline and NCSW colors are configurable - Limited keyboard macros - Speedwalk. Not verbosely tested :) Version 0.41.1 (version 0.42 will be special ) - Alt-O will show a menu of MUDs. 'E' there will edit the selected MUD, Return will connect to it Version 0.41 - Tabs are displayed (set tabsize) - Beeps from the MUD are handled (set mudbeep) - When scrolling, blank spaces were zeroed rather than filled with spaces due to some unfortunate arithmethics; this prevented cut&paste - Maybe more, I forgot to check in the sources with RCS :) Version 0.4 - Rewrite in C++ - Options can be given in the config file (e.g. echoinput=1) - Config file is rewritten when exiting unless readonly is set - Arrow left/right and Delete can be used on the input line Version 0.3 (March 6 1997) Debugging/enhancements from Oliver Jowett : - Prompts that get split are displayed properly - If SEE_PROMPT is defined, prompts are also show on top screen - Some times lines that did not end with newline would not get display right away. - Scrollback buffer is now allocate incrementally - Blank lines in config files are ignored - Scrollback status line is updated when data arrives - Scrollback exits when pagedown/arrow down is used at the end of scrollback Version 0.2 (March 5 1997) - Dumped slang TTY routines - Uses ioctl() to find screen size - Scrollback allocate dynamically and can be overidden with command line parameter - tar file now has version in name and puts stuff in a subdirectory - #reopen command (hotkey: Alt-R) does an #open to the last MUD you connected to Version 0.1 (March 4 1997) - Dumped Turbo Vision - Used slang, dumped it for /dev/vcsa* access