CHANGELOG
---------

This is a detailed change-log. I have started writing this on
5th September 2002, right after the first public release (version 0.1) ...

This file does not include changes made by other developers. / Tomas
----------

2005-03-06
* the Scripts dialog now includes "Move 10 up", "Move 10 down" and "Move to..." buttons

2005-03-03
* the force-redraw functionality is now configurable

2005-02-24
* fixed problem with gauges not updated upon max-variable change

*** RELEASED THIS AS 0.7.1pre ***

2005-02-16
* new aliases now default to "Begins with" comparison type
* /echo now expands variables

2005-02-15
* implemented TAB-expansion of last words
* TAB-EXPANSION WORKS !!!

2005-02-14
* started work on TAB-expansion of last words

2005-02-04
* timestamps for advanced transcript now have 1/100 sec. precision
* /echo now displays messages in system message color

2005-02-03
* added /notify fixes from Alex Bache

2005-02-02
* /echo now displays things no matter what settings are set

2005-01-30
* only non-zero script return codes are displayed to reduce spam

2005-01-28
* status variables should now be correctly displayed on startup

2005-01-18
* aliases, macro calls, ... in the login sequence are now processed
* system messages after a prompt are now correctly displayed during scrollback

2005-01-15
* support for the send-as-is prefix

2005-01-14
* initial buffer size is now set correctly
* implemented support for setting arbitrary wrap position

2005-01-11
* fixed bug with idle timer not being updated onm some events

2004-12-29
* added updated Ruby code to access the variable server (by lontau)

2004-12-26
* custom session name is now preserved after reconnect

2004-12-23
* scrollback is now preserved after a reconnect

2004-12-21
* status bar now shows idle time of the user

2004-12-02
* don't crash with auto-connect

*** RELEASED THIS AS 0.7 ***

2004-11-26
* updated spec file

2004-11-24
* The dialog box used to choose script's executable now lists all files -
  prevents problems with scripts not being shown

2004-11-17
* middle-click paste to standard input now also treats newlines correctly

*** RELEASED THIS AS 0.7rc1 ***

2004-11-14
* paste to standard input line treats newlines correctly
* applied doc changes from Drossos Stamboulakis

2004-11-12
* KRegexpEditor integration. By Drossos Stamboulakis

2004-11-06
* implemented option to disable telnet negotiation on startup

2004-11-05
* finished the multi-line input line !!!
* applied patch from Alex Bache that fixes delaying problem with /notify

2004-11-04
* implemented the multi-input-line widget, which can resize itself as needed
* added a button that can switch between standard input and multi-line one (has no icon yet)
* option "Cursor keys browse history" is now enabled by default (only affects new users)
* implemented command sending for the multi-line input line (not tested yet)

2004-10-24
* finished link menu support

2004-10-23
* console resizing can no longer corrupt view, as was the case at some rare occasions
* implemented most of link menu support in cConsole

2004-10-22
* wrote code to parse MXP menu information into a list of commands and captions

2004-10-20
* configure should work well for non-bash shells
* MXP now correctly supports sound/music, gauges and status variables

2004-10-16
* gauges no longer crash when max.variable is set to zero

*** RELEASED THIS AS 0.7pre4 ***

2004-10-11
* polished gauges a bit, fixed some bugs and crashes
* GAUGES WORK!!!
* new objects are now added at cursor position, not to the end

2004-10-02
* implemented some gauges-related logic

2004-09-26
* some fixes for sending internationalized characters

2004-09-23
* implemented the cGaugeBarItem widget, which displays one gauge

2004-09-17
* fixed a bug that prevented speed-walking from working correctly
* status variables are now initialized correctly
* STATUS VARIABLES WORK!

2004-09-14
* some bugfixes in status variables
* MXP manager now correctly reports supported features

2004-09-12
* implemented requestGauge methods in cGaugeList

2004-09-08
* implemented the Gauges and Edit gauge dialog boxes
* Gauge-dialog GUI now works (gauges themselves don't work yet, though)

2004-09-04
* status variables no longer crash KMuddy

2004-08-30
* some bugfixes in status variables, they now compile (but don't work yet)

2004-08-25
* implemented dialog that shows a list of status variables
* implemented dialog that edits a status variable

2004-08-22
* MXP now works correctly for quick-connections

2004-08-20
* implemented cStatusVar::updateBar(), that updates text of one status-var
* implemented class cStatusVarList, which manages status variables
* cConnPrefs now creates and initializes the cStatusVarList object - status vars should now
  work (no GUI yet)

2004-08-19
* some bugfixes in cGauge and cStatusVar
* line splitting now correctly splits links
* support for variable displaying in cStatusBar class

2004-08-17
* implemented classes cGauge and cStatusVar, that represent a gauge and a variable in status bar

2004-08-16
* leading spaces are now trimmed when breaking lines

2004-08-13
* cursor over link now changes to a KDE-style hand

*** RELEASED THIS AS 0.7pre3 ***

2004-08-05
* applied patch from Drossos Stamboulakis that adds support for sending commands to another tab
* wrote cTextChunk::expireNamedLinks
* cConsole now supports link expiration
* implemented link expiration (the <EXPIRE> tag of MXP)

2004-08-04
* replacement text for rewrite triggers now supports pseudo-variables and also normal variables
* fixed a problem in pseudo-variable  expansion that prevented it from recognizing two
  variables with no separator between them
* color triggers work!

2004-08-03
* wrote GUI for trigger matching (not tested yet)

2004-08-02
* clicking on a link performs requested action
* clickable links now work!
* modified triggers' API to support rewriting
* implemented rewriting support into trigger matching (no GUI yet)

2004-08-01
* cMXPManager and cTextProcessor now support links; however, clicking on then still doesn't work
* MXP is now correctly disabled when the server asks for it
* cursor is now changed to a hand when it hovers over some link

2004-07-31
* timestamps now work correctly!

2004-07-30
* wrote cTextChunk::replace, that will be the basis of rewrite triggers
* cConsole now changes cursor shape when hovering over some link
* cConsole now shows timestamps as tooltips

2004-07-29
* wrote cTextChunk::itemAt
* cTextChunk now maintains a timestamp
* wrote cTextChunk::getTimeStamp
* wrote first part of cTextChunk::replace

2004-07-28
* implemented a link chunk (no clicking-related stuff yet, just storage and painting)

2004-07-24
* don't crash when auto-connecting to some profile

2004-07-23
* fixed a bug in MXP manager that was causing MXP to stay enabled 
  after reconnect (even to another profile)

*** RELEASED THIS AS 0.7pre2 ***

2004-07-22
* some fixes to make MXP settings work correctly

2004-07-21
* correctly inform server when MXP is disabled
* implemented dialog for changing some MXP preferences

2004-07-19
* hopefully fixed that color-trigger crash
* MXP support: <sbr> is converted to a space (but ignored otherwise)

2004-07-18
* implemented MXP console, that shows MXP warnings and errors
* fixed crash with advanced transcript in HTML mode
* HTML transcript now uses <pre> tags to display text in a fixed font
* HTML transcript now includes generator info :)

2004-07-14
* finished basic MXP support, including some MXP settings (no GUI yet)

2004-07-10
* applied patch that adds support for full-screen mode

2004-07-08
* fixed problem with MXP library detection
* first bits of cMXPManager and related stuff
* fixed problem with trigger moving occuring even if Cancel pressed

2004-07-06
* some checks that should resolve problems with color triggers when
  switching between 0.6.1 and 0.7pre1

  2004-07-04
* configure now detects presence of MXP library
* part of tick timers disapperared somewhere - added it again...

2004-06-30
* empty lines are now displayed correctly
* script output is included in session transcript

2004-06-29
* attempted to fix a crash when splitting lines, as well as a problem
  that causes text to be displayed after a prompt, instead of being
  shifted to a new line

*** RELEASED THIS AS 0.7pre1 ***

2004-06-23
* color triggers now support any color you want :D  GUI still needs some polishing
* applied patch from Drossos Stamboulakis that adds support for triple-click, selecting
  the whole line

2004-06-21
* fixed profile importing (it failed to recognize variable list)

2004-06-20
* bright ANSI tag not followed by a color change now works correctly
* indentation of  splitted lines now works correctly again

2004-06-19
* dialogs with lists of aliases,triggers,..., now have a default size of 70% of main window size
* color triggers should no longer hang KMuddy

2004-06-18
* line splitting now works correctly again

2004-06-13
* fixed some more problems/crashes
* DISPLAYING WITH FULL COLORS WORKS !!!
* SESSION TRANSCRIPT WITH FULL COLOR SUPPORT WORKS !!!
* HTML TRANSCRIPT WORKS !!!
* new colore triggers work (tho you cannot choose non-ansi colors yet) (and they also hang, bah)

2004-06-12
* fixed some bugs and crashes related to the newly added code...

2004-06-11
* color triggers now work with full color support; however, the dialog still
  only supports the basic color set
* all text processing should now use the new cTextChunk support
* implemented cTextChunk::makeLine() to avoid some code duplication

2004-06-10
* "negative image" attribute should now work
* class cTextProcessor converted to use new cTextChunk stuff

2004-06-09
* started updating the cTextProcessor class, also some updates in cANSIParser
* updated cSession to use the updated signals/slots
* cANSIParser now manages information about current color/attributes (used to be in cTextProcessor)

2004-06-08
* updated cTranscript and dlgTranscript to support cHistoryBuffer and new transcript types
* cTextProcessor now contains colors as QColor, not indexes

2004-06-07
* updated cConsole::paintCell(), it now calls cTextChunk::paint()
* updated cConsole::dumpBuffer() to use cHistoryBuffer
* updated cConsole::hasBlink() to use cHistoryBuffer
* updated cConsole::addSelectionToClipboard() to use cHistoryBuffer
* updated cConsole::mouseDoubleClickEvent() to use cHistoryBuffer
* cConsole class is fully ported
* ported dlgOutputWindow to use cHistoryBuffer
* ported cTranscript to use cHistoryBuffer, associated dialogs are not updated yet
* cTranscript now supports ANSI/HTML transcript, adv.transcript now also supports these

2004-06-06
* implemented painting support in cTextChunk and friends

2004-06-05
* cTextChunk and friends now include some ANSI and HTML transcript support

2004-06-04
* implemented some of conversion routines (plain, ANSI, HTML) in cTextChunk and friends
* implemented some constructANSI methods in chunkFg and chunkBg

2004-06-03
* implemented the cHistoryBuffer class that will hold the text lines in cConsole
* modified cConsole header file to use the new cHistoryBuffer/cTextChunk classes
* ported easy parts of cConsole to use cHistoryBuffer
* implemented cTextChunk::duplicate() what creates a duplicate of the chunk
* ported cConsole::addNewText to use cHistoryBuffer
* these cConsole methods still need to be ported: dumpBuffer, paintCell, mouseDoubleClickEvent,
  addSelectionToClipboard, hasBlink

2004-06-02
* implemented cTextChunk::applyColorChanges, not tested yet though

2004-05-31
* wrote part of cTextChunk::applyColorChanges

2004-05-30
* cTextChunk::splitLine now correctly assigns starting attributes
* \e can now be used to send escape sequences :D

2004-05-29
* implemented cTextChunk::splitLine and some other methods
* write interface in cTextChunk for color changes - no implementation yet

2004-05-28
* implemented a part of cTextChunk class
* implemented chunkItem class representing one item in a chunk, and some derived classes

2004-05-27
* KMuddy can no longer be compiled - full color support is being implemented...
* moved color definitions from cConsole to cANSIParser
* created class cTextChunk, that represents a chunk of text

2004-05-01
* some more patches in March and April... offline edit and so

2004-03-06
* applied a patch from Henrikki Almussa, that fixes handling multi-word groups
  in /tgroup{onn/off}

2004-02-28
* applied patch from Alex Bache, that adds support for sending events to
  scripts, and also fixes trigger execution on prompts
* applied patch from Henrikki Almusa, that adds support for commands
  tgroupon and tgroupoff, that enable/disable trigger groups
* added support for reflecting changes in trigger groups in the groups dialog
* scripting/ directory now gets installed by make install

2004-02-22
* multiple prompts received too quickly are now displayed correctly

2004-02-12
* merged in code from Marco Mastroddi that adds support for a tick timer

2004-01-29
* fixed prompt handling in preprocessor scripts

2004-01-27
* completion for includes directional commands by default, to prevent unwanted expansion
* added ability to rename tabs

2004-01-17
* some updates needed for 0.6.1rc1

2004-01-15
* fixed some problems in Vlad's code, improved the output-window a bit
* MULTIPLE OUTPUT WINDOWS WORK!!!
* some progress/testing with the variable triggers...
* VARIABLE TRIGGERS WORK!!!

2004-01-13
* added better error reporting for MSP

2004-01-08
* implemented back-end part of variable triggers support

2004-01-07
* hrm, nothing done in last two weeks - blame exams :(

2003-12-24
* cPluginManager can be compiled, no idea if it works...

2003-12-23
* wrote cPluginManager::loadPlugin()

2003-12-22
* wrote cPluginManager::findPlugins() and cPluginManager::unloadPlugin()

2003-12-20
* implemented parts of support for loading/unloading plugins

2003-12-19
* implemented passing of data/events to plug-ins in cPluginManager
* relevant classes now pass data to plugin manager when needed
* scripts now also receive gagged lines
* variable list now emits a signal whenever some variable value changes

2003-12-12
* implemented first parts of plug-in support
* fixed some minor bugs in 0.6

*** RELEASED VERSION 0.6

2003-12-05
* aplied flow control fixes from Alex Bache

2003-11-28
* some bugfixes in aliases and some compilation fixes

2003-11-24
* updated documentation

2003-11-23
* some crash-fixes with quick-connections
* applied improved version of Alex' patch

2003-11-21
* applied patch from Alex Bache that fixes deadlock with flow control when some
  script consumes its input too quickly

2003-11-17
* scripts with flow control don't start until flow control processes all
  lines pending at the time when the script was launched
* merged adv.transcript-and-right-click-menus patch from Vlad

2003-11-16
* applied patches from Vlad Lazarenko that improve prompt-related stuff
  and transcript
* fixed some problems with preprocessor scripts
* PREPROCESSOR SCRIPTS WORK!!!

2003-11-10
* running scripts no longer emit textSent when flow control is off
* implemented GUI for preprocessor script support
* wrote preprocessor script handling - needs testing

2003-11-09
* fixed a bug with color triggers
* wrote first bits of preprocessor script support
* applied patch from Favorit that adds an option to work better
    with LPMud-based prompts

2003-11-07
* fixed some problems with locking - works fine now

2003-10-27
* implemented support for locking of variables in scripts (note that it's
    not 100% - locked variables can still be changed via /set or GUI -
    it's not meant to be 100%, just a means of synchronizing scripts)

2003-10-24
* moved testarea back to Basic page of Edit alias/trigger dialog box
* tested new variable features in scripts - everything works great :)

2003-10-22
* fixed deadlocking with flow control (with help of Alex Bache)

2003-10-20
* some more checks to prevent deadlock with flow control
* inc/dec and resource support in cVariableList
* implemented commands /inc, /dec, /provide-res and /request-res
* implemented externalscript actions inc, dec, request and provide
* implemented the new features in a C external script header; needs testing

2003-10-05
* fixes some bugs in unix domain sockets code
* VARIABLES IN SCRIPTS WORK!!!

2003-10-04
* finished implementing variable support in scripting (server side)
* implemented client-side variable support in scripting
* neither of these works properly - needs testing

2003-10-03
* implemented most of variable support in scripting (unix domain sockets and
  similar stuff)

2003-09-29
* MSP can be used even if not negotiated (some MUDs depend on it)
* mid-line MSP triggers are now also supported
* fixed a memory leak in aRts support

2003-09-28
* fixed some problems with testarea and multi-line aliases/triggers

2003-09-27
* sent commands for aliases and triggers can now be multi-line; modified
  the GUI and all relevant classes to support this

2003-09-26
* redesigned the edit alias/trigger dialog, merged with special trigger
  dialog

2003-09-19
* prompt is now correctly terminated when it's sent to a script

2003-09-12
* implemented default session transcript directory (profile-based)

2003-09-10
* implemented GUI for managing variables

2003-09-09
* settings and objects (aliases, triggers, ...) are now auto-saved every
  5 minutes
* implemented basic functions in cVariableList
* implemented variable expansion in cVariableList (with recursion support,
  so that if $a is b, $b is c, $c is xxx, then $$$a should expand to xxx)
* the variable expansion recursion limited to at most 10 passes, to avoid
  endless loop, e.g. when $a contains $b and $b contains $a
* implemented basic variable manipulation commands - /set, /unset, /get
* implemented new script calling command - /exec; old method still possible
* tested variables with aliases/triggers - work perfectly
* BASIC VARIABLE SUPPORT WORKS!!! (no GUI yet)

2003-09-08
* implemented support for beeping on \a character
* implemented class cVariable, that stores one variable; it's very simple
  as of now, will probably become more complicated over time
* wrote skeleton of cVariableList class, that will hold the list of variables
* added variable list to the connection preferences class

2003-09-07
* fixed a crash when quick-connecting to a MSP-enabled MUD
* fixed a crash when closing second+ tab
* detected prompt is also displayed in the status bar

2003-09-06
* unfinished lines are now shown in the status bar - reduces prompt-detection
  problems
* implemented auxiliary input line

2003-09-01
* fixed a nasty bug in speed-walking
* speed-walk string can now be empty (off by default)

2003-08-21
* RELEASED VERSION 0.5.1

2003-08-19
* implemented option to disable flow control for some scripts
* implemented the option to display triggered command, instead of sending it

2003-08-16
* implemented a prompt-timer, that assumes that non-terminated line that
  waits in the buffer for 1 second is probably a prompt

2003-07-23
* prompt is now sent to scripts even if adv.comm is disabled
* implemented prompt-detection triggers

2003-07-20
* implememented script input flow control; looks like it's not 100% due to
  buffering at OS level, but better than nothing :)
* implemented GUI for import/export profile
* IMPORT/EXPORT PROFILE WORKS!!!
* we're ready for 0.5.1rc :)

2003-07-19
* output from script that's sent to the MUD is now parsed for things like
  command calls, speed-walking and similar stuff, exactly as if those
  commands were entered in the input line.

2003-07-18
* wrote cProfiles::importProfile and cProfiles::exportProfile
* applied two patches from Scott Monachello, that fix problem when enabling
  action toolbar and improve scripting support by splitting stdout/stderr,
  allowing to have one of them displayed and the other sent to the MUD.

2003-07-16
* better optimized ANSI sequence generation in session transcript
* improved pseudo-variable recognition to allow non-space characters
  immediately after the variable name; in addition, the $(name) syntax is
  now possible

2003-07-08
* implemented gagging, notification and sound triggers
* NEW TRIGGER TYPES WORK!
* session transcript can now be prepended with buffer dump
* speedwalking sequence can now include numbers >= 10
* applied patch from Scott Monachello that disconnects all active
  connections when quitting, also asking the user whether he really
  wants to close them
* modified abovementioned patch to support closing using Alt+F4
* pre-release of 0.5.1 is ready

2003-07-07
* fixed some crashes related to recent changes
* NEW TEXT HANDLING WORKS!
* implemented split-screen resizing (using CTRL+ALT+Up/Down)
* still some strange crashes left - reverted to old history implementation,
    abandoning cHistoryBuffer for now - crashes fixed
* started work on new trigger types (gag, notify, sound)

2003-07-06
* rewrote cConsole::addText (again); now it's MUCH simpler thanks to last
  improvements
* added TAB character support in cTextProcessor
* added correct prompt displaying (uses GA character)
* many fixes related to new text handling; it's now almost functional

2003-07-05
* converted to new text handling: cTranscript, cGlobalSettings, cSession,
    cTrigger, cTextProcessor; only cConsole needs refinements

2003-06-26
* improved script organization, adding move up/down and alphabetical sort
* added case sensitive option for alias/trigger matching

2003-06-25
* applied patch from Alex Bache that improves alias/trigger dialog, adding
  buttons Move 10 up and Move 10 down
* added option Move to... to the alias/trigger dialog, that allows better
  organization of aliases/triggers

2003-06-21
* RELEASED VERSION 0.5

2003-06-20
* reverted back to older admin/ dir, because new one requires kde 3.1
* applied quick fix from Alex Bache that fixes problem with wrong colored
  lines
  
2003-06-18
* updated all configure-related stuff to autoconf 2.53, automake 1.6, also
  updated admin/ directory; I hope that everything will work well
* ready for 0.5 release :)

2003-06-15
* fixed some wordwrapping issues in addText; it should now be fully
  functional (I hope)

  2003-06-14
* replaced my version of addText with one contributed by Alex Bache
* fixed some problems in that code

2003-06-09
* replaced some isShown with isVisible to maintain compatibility with KDE 3.0

2003-06-05
* main window is no longer deleted in function main(), as it looks like
  Qt tries to delete it as well, which leads to crashes on some machines.
  Maybe only some versions of Qt are affected, who knows? (I've been
  unable to reproduce this with Qt 3.1.1)
* Ha! I believe I found out why color triggers were causing KMuddy to
  crash and fixed that :)

2003-06-04
* found one crash on disconnect and fixed it
* NAWS information is now correctly sent on startup
* screen is now correctly updated on font change
* NAWS is now sent correctly after font change
* Reconnect/Close tab menu items are no longer disabled after a failed
  reconnect attempt

2003-06-02
* scripts now receive text in local encoding, not in Latin1
* scripts now receive prompt, if using adv.communication (prefix 3) and
  if MUD supports telnet GA signal
* fixed compilation problem with disabled sound
* pending commands are now cancelled when disconnecting, so that they
  don't cause the tab to be closed immediately
* updated documentation to reflect changes since 0.4.1
* fixed a crash on disconnect when action toolbar is displayed

2003-06-01
* implemented missing stuff in macro keys support, did some testing
* MACRO KEYS WORK!!!
* implemented auto-connecting on startup
* hmm... looks like that ugly hack to display window caption no longer
  works... Now the standard solution works... No upgrade in kdelibs or
  anywhere... Strange... The same kdelibs function behaving differently
  in 0.5pre1 and 0.5pre3 ... Maybe it's caused by config.h?

2003-05-30
* wrote dialogs that are used to edit macro keys
* implemented keygrabber dialog and necessary support in KMuddy class
* connected macro keys dialogs to menus, implemented necessary stuff
  needed to make everything work

2003-05-28
* wrote class cShortcut, that represents one macro key
* wrote class cShortcutList, that stores a list of macro keys and sends
  commands when key is pressed
* implemented event filter and related stuff
* all back-end stuff for macro keys is now implemented, but not tested yet

2003-05-24
* implemented SDL support (WAV files at least)
* third pre-release of version 0.5 is ready :)

2003-05-23
* implemented autoconf tests for SDL_mixer and libartskde
* Tried to compile with sound disabled, and it works!
* modified that script above to use libtool for testing; prevents problems
  with missing .la files, that are needed by libtool but standard autoconf
  checks don't need them
* SOUND SUPPORT IS NOW CONFIGURABLE!!! (but SDL not implemented yet)

2003-05-18
* finished #ifdef-ing of everything sound-related
* started updating configure script to detect libartskde/SDL_mixer

2003-05-16
* connected timer-handling stuff to the menu
* disabling/enabling aliases/triggers/timers now only affects active
  connection
* fixed a bug that could sometimes cause delete alias/trigger/timer not to
  work correctly
* fixed some problems in timers
* TIMERS WORK!!!
* first modifications to support configurable sound support; started to
  put all sound-based stuff in #ifdef/#endif directives

2003-05-10
* implemented dialogs that can be used to set timers

2003-05-09
* implemented class cTimerList, that manages timers

2003-05-08
* implemented class cTimer, that represents one timer. It supports both
  standard and one-shot timers

2003-05-02
* outgoing IAC bytes are now treated correctly (doubled when needed)
* SUPPRESS-GA is no longer negotiated
* applied two patches from Scott Monachello that improve scripting dialog,
  fix some bugs and also add popup menu to Running Scripts dialog
* cTelnet now supports GO-AHEAD and emits receivedGA() signal
* trimming of leading/trailing spaces in commands is now optional
* sending of prefix & suffix together with an alias is now optional

2003-04-23
* cMSP now uses cSoundPlayer to play sounds
* MSP SEEMS TO WORK !!! ( not tested much, but something just got played :) )
* sound/music volumes still not supported
* Ogg/Vorbis dependency created by libkdearts is not handled by configure;
  this must be fixed

2003-04-19
* wrote class cSoundPlayer, that handles sound playing

2003-04-18
* Connect dialog now remembers last selected item
* list of directories for MSP now updates selected item correctly

2003-04-17
* added support for global MSP configuration
* fixed bug that prevented alias/trigger group from being set correctly
* applied patch from Alex Bache that improves regexp trigger matching speed

2003-04-13
* added support for MSP configuration for profiles

2003-04-12
* wrote class cDirList, that implements a widget that manages a list of
  directories

2003-04-11
* applied patch from Alex Bache that fixes scripting when a lot of text
  is to be sent to a script
* applied some things from Alex Bache's patch that greatly improve redrawing
  performance and also solve problems when too much text arrives after
  history size has been reached (most of this patch was not applied though,
  as it had problems with output cache and wordwrapping)

2003-04-04
* fixed a bug in Edit Profile dialog - empty lines in connection sequence
  are no longer wiped out
* middle-click in main output window scrolls in to the bottom
* tabs can now be switched using keyboard; default keybindings are
  alt+pgup/pgdn and alt+number

2003-04-03
* sending of login sequence can now be temporarily disabled

2003-03-28
* added more functionality to the MSP parser; tokenization, file finding,
  choosing random file on multiple matches
* implemented class cDownloader
* implemented support for downloading sounds/music
* Ha! Most of MSP support works! It can parse triggers, search for files,
  download them from remote server if possible. The only two missing things
  are dialogs for configuring it and playing the sound via aRts
* fixed window caption in KDE 3.1 (its KMainWindow seems to be buggy)

2003-03-27
* MSP parser now correctly recognizes sound/music triggers, it can also
  parse them (experimental)
* fixed a crash on terminate in KDE 3.1

2003-03-21
* implemented part 1 of MSP parser

2003-03-19
* fixed a crash in cMCCP

2003-03-16
* created interface of the cMSP class, that'll implement the MSP protocol
* KMuddy now accepts telnet negotiation for MSP and will forward traffic
  to MSP parser if needed, though no parsing is done at the moment

2003-03-14
* implemented the Connection Statistics dialog box
* fixed one minor bug in cTelnet class

2003-03-13
* removed the hack that allowed sending of terminal ID to AFKMud, as its
  new version behaves correctly
* auto-completion now offers most commonly used commands first
* implemented Reconnect option
* I hope I've finally fixed the crash when using KDE 3.1

2003-03-09
* implemented all important parts of the Advanced trigger dialog that are
  needed for colorizations
* fixed some bugs in colorization code
* COLOR TRIGGERS WORK!!!

2003-03-08
* started implementing the Advanced trigger dialog (colorizations and such)

2003-03-07
* fixed some bugs in cTrigger::prepareColorizationArrays

2003-03-02
* finished method cTrigger::prepareColorizationArrays; back-end colorization
  stuff is now complete (no testing yet though)

2003-03-01
* implemented dump buffer function
* class cTrigger now loads/saves color triggers, they still don't work though
* implemented most of back-end color trigger support in cTrigger class

2003-02-28
* applied fix from Yui Unifex to support telnet-style pasting
* applied fix from Carsten Nikiel that improves flashing and modified it
  to be more KDE-complaint
* had to keep that old blinking stuff for global blinking, because the
  Modified icon does not show correctly if using translated KDE (it looks
  for translated version of [modified] string but KMuddy is in English and
  it uses original non-translated string) :-(
* size of history buffer in console is now configurable, default 1000
  
2003-02-27
* implemented cConsole::colorizeLastLine and cConsole::dumpBuffer

2003-02-23
* when connection closes, it's now possible to close that tab by pressing
  the ENTER key
* history size is now 5000

2003-02-22
* found a bug in MCCP code
* MCCP WORKS!!!
* cMCCP class now counts size of compressed and uncompressed data
* If multiple tabs are active and one connection closes, the tab no longer
  closes automatically (prevents loss of output)

2003-02-21
* continuing work on MCCP support, finished writing class cMCCP, class
  needs testing
* the new MCCP code now compiles successfully, but it still doesn't work :(

2003-02-15
* started work on MCCP support

2003-02-14
* Terminal ID is now also sent to AFKMud that doesn't implement it correctly
* ANSI color codes are now saved correctly in session transcript

2003-02-11
* RELEASED VERSION 0.4.1

2003-02-07
* KMuddy 0.4.1 ready for release - created tarballs and Mandrake RPMs

2003-02-06
* added support for italics, underline and strikeout text attributes
  (: italics only works if the font supports it :)
* added support for negative image
* also added support for rapid blink (treated as normal blink), faint
  (treated as bold off), gothic (treated as italics) and double underline
  (treated as single underline)
* KMuddy now supports all important ANSI color codes (everything except
  10-19 (alternative fonts), 26 (proportional spacing), 38 (special fg
  color), 48 (special bg color), 50 (proportional spacing off) and codes > 50
  (special effects like framed, encircled, overlined and so...).
  It's unlikely that I'll ever support these codes.
* ANSI color support is now considered complete. :)

2003-02-05
* auxiliary console no longer hides some text after historySize has
  been reached
* KMuddy no longer crashes when aux. console is shown in the moment when
  historySize is reached
* auxiliary console historySize has been reduced (you never see more than
  last few lines, so it's not needed to waste memory on this)
* auxiliary console no longer uses cache - it's not big enough to take
  advantage of it, so it was just another waste of memory

2003-02-04
* auxiliary console now behaves almost correctly
* fixed some problems with blinking
* Blinking works!
* New profile dialog now includes default login sequence
* updated web page (local copy only)
* updated user manual

2003-02-03
* implemented support for blinking, further testing required

2003-02-02
* Login sequence can now be customized (profile-based connections only)

2003-01-31
* Whole words matching in aliases is now optional
* occasional crashes when terminating with an active connection should
  no longer occur ( I hope, I couldn't reproduce this :( )
* \\n is no longer treated as \ followed by \n
* when BS expansion in AT only was enabled, alias A -> B existed and
  command A\nC was entered, that \n was treated as command separator because
  of the alias expansion. Fixed. (using an ugly hack - protecting backslashes
  that shouldn't be expanded by replacing them with \x01 then back)
* backslash expansion should now work correctly in all cases
    
2003-01-30
* fixed some bugs in code added yesterday; updated command parsing now
  works properly
* trigger loop detection and multi-command limit can now be disabled
* KMuddy no longer crashes when adding a new alias/trigger without choosing
  its group (sometimes it failed to set it to BASE)
* implemented support for word wrapping
  
2003-01-29
* code cleanup in class cCmdProcessor
* some new features in class cCmdProcessor (multi-char separator, backslashes
  for aliases/trigers only and more (thanks to Orion Elder for these ideas)

2003-01-28
* fixed a bug in inputline popup menu that was causing it not to work

2003-01-27
* RELEASED VERSION 0.4

2003-01-25
* made RPMs for KMuddy 0.4, notified SuSE packager

2003-01-24
* fixed some bugs in '\'-sending
* TABs are no longer displayer as squares - they are now ignored; will be
  fixed after the 0.4 release

2003-01-23
* added method cProfiles::duplicateProfile
* implemented GUI for profile duplication
* profile duplication now works properly
* fixed bug in multi-command alias expansion
* added support for sending tabulators (by typing \t) (but they are not
  displayed correctly when we receive them :-( )
* commands can now be also separated with \n character
* '\' character can be sent by doubling it

2003-01-21
* fixed some scripting-related crashes that I've discovered
* single-instance scripts now work properly
* updated user manual to include all the new features
* also added information about pseudo-variables and regular expressions
  to the user manual

2003-01-20
* implemented dialog Running scripts, which lists all running scripts and
  contains GUI for manipulating scripts
* changed code that handles script suspending/resuming, it now uses signals
  (SIGSTOP and SIGCONT)
* fixed some problems with scripts
* added notification when script has finished and when it couldn't be started
* fixed updating of alias/trigger groups dialog when connection closes
* SCRIPTING WORKS!!! Now that's excellent. :-))) 0.4 will be out soon :-)

2003-01-18
* added getFirstId() and getNextId() to cRunningList. Now I'm ready to code
  the running scripts dialog that'll manage them

2003-01-15
* added server output notification (some blinking when app/tab not active
  and some text arrives)
* implemented functions in cRunningList that manage scripts

2003-01-14
* added support for default script location/working directory
* default script parameters are now set correctly
* Edit Script dialog now checks some params - executable must be set
  and script name must be unique (so that you can run it from input line)

2003-01-13
* all script options are now saved correctly
* looks like scripts work well now, but running script manager is still
  missing (something that can suspend/resume/terminate... them)
* scripts now support default script locations

2003-01-11
* added option to send a command multiple times (e.g. #10 smile sends 10
  times smile). Thanks to David Ortega Tamayo for this.
* sending only matched text to script now works
* only-if-match script option works as well

2003-01-07
* fixed handling of invisible text in cConsole::addCommand and friends
* scripts can now send commands or show their output
* macros can now be executed as commands (with macrochar, '/' by default)
* KMuddy no longer crashes when pressing the Context Menu key, context
  menu is shown correctly

2003-01-05
* implemented class cRunningList, made the whole stuff compilable again
* fixed a bug that arose if tabbar was disabled on start-up
* applied a patch from Abigail Brady that fixed some problems in ANSI color
  handling. Also fixed some other things that he discovered. KMuddy now
  conforms to the color standard defined in Ecma-048 (though only a subset
  of defined codes is supported). Thanks!
* added Scripts dialog to Profile menu

2002-12-22
* created Scripts dialog
* added run* functions to cScriptList
* added script list saving support

2002-12-14
* If you had some connection then created another but connection failed,
  a new tab with "No connection" was created but not destroyed. Fixed.
* fixed some updating of window caption
* Connect window now appears immediately after prossing Connect button,
  so that users don't think that we've crashed

2002-12-13
* implemented class cRunningScript (only integration to a list of scripts
  is missing, because that list is missing as well)
* wrote class cScriptList, that handles a list of scripts (TRIVIAL :))

2002-12-08
* implemented class cScript, that represents one script
* created a skeleton of cRunningScript class, that represents one running
  script

2002-12-06
* implemented the dlgGroups dialog, that shows and manages a list of groups
* implemented menuitems and actions for dlgGroups
* ALIAS/TRIGGER GROUPS WORK!!!
* double-clicking on an entry in Connect dialog starts the connection

2002-12-05
* wrote class cGroup - basis of alias/trigger groups
* wrote class cGroupList - a list of alias/trigger groups
* aliases/triggers now contain information about their group
* aliases/triggers now only work if their group is active
* added alias/trigger groups to the profile
* it is now possible to change alias/trigger group in the Edit alias/trigger
  dialog (but there's only one group, so it isn't very usable yet...)
* Ha! Found out why the multiline kept hiding behind the main window and
  fixed it
* improved decision assistant a bit
   
2002-12-02
* RELEASED VERSION 0.3.1

2002-11-30
* prepared webpage update
* version 0.3.1 finished
* created tarballs and Mandrake RPMs, notified packagers (well, packager ;))

2002-11-29
* added option to hide the tabbar if it contains only one tab
* added IPC support to announce changes in global settings to other
  running instances of KMuddy
* spent two hours trying to get rid of one strange crash :|
  Wrote the sentence "If you change some class and nothing else
  then look in that class first even if things break down somewhere else!"
  above my computer ;(((

2002-11-28
* fixed crash when disconnecting a second+ connection (hopefully :)
* workaround for problem with QT's QTabBar, which does not emit
  selected(int) signal for the tab that gets selected after removeTab
  has been called. This makes disconnecting work properly.
* when switching between connections, inputline is activated and its
  selection restored
* fixed crash in cGlobalSettings when some sessions have been disconnected
  and preferences are applied
* action toolbar now updates correctly when switching between connections
* window now has a minimum size - workaround for the tiny window at first
  startup
* fixed crash when quitting with transcript running
  
2002-11-27
* fixed lots of problems that appeared with the switch to cSession
* KMainWindow is now used instead of simple QVBox
* Main window now remembers its position/size; the old "cols x rows"
  method is no longer used
* Action toolbar can now be undocked
* support for miltiple sessions now works, but there are still some bugs...

2002-11-24
* finished the effort, now it compiles again (though it doesn't work yet)

2002-11-23
* fixed handling of non-latin1 characters in cConsole and cTelnet
* finished cSession support in KMuddy class
* started effort to make the whole stuff compilable

2002-11-18
* added SuSE 8.0 RPMs of KMuddy 0.3 from A.Cascio to the download page

2002-11-17
* added Andrea Cascio to the "Thanks to" page :)
* implemented cSession support in cTelnet, cSendCmd, cANSIParser,
  cCmdProcessor, cTextProcessor, cConnection, cTranscript, cConsole,
  cInputLine, cStatus, cAction, cActionList, cAlias, cAliasList,
  cConnPrefs, cGlobalSettings, cProfiles, cTriggerList,
  dlgAliasTrigger, dlgAppSettings
* partially implemented cSession management support in class KMuddy

2002-11-16
* included patch from Andrea Cascio that extends speed-walking with Up and
  Down dommands
* added object construction/preparation to cStatus. This will form the basis
of tabbed support in 0.3.1

2002-11-15
* fixed a bug with mousewheel scrolling in auxiliary console (that's the
  small window showing last few lines that pops up if you scroll the main
  console)
* fixed problem with window centering on the screen whenever
  user changes global settings
* added option not to echo commands and/or system messages
* added the Decision assistant similar to one from zMUD (it just writes
  a random sentence)
* added class cSession. It does nothing now, but it'll form the basis
  of upcoming support for multiple worlds within one instance. This will
  come in version 0.3.1
* added cSessionBase class, made it one of ancestors of every class that
  needs one instance per connection. Multiple inheritance is definitely a
  good thing :) . This class provides access to appropriate cSession object.

2002-11-10
* fixed compilation problem with gcc 2.95 (thanks to Dre)
* fixed a bug that caused history browsing with cursor keys not to work if
  "keep text" option was disabled
  
2002-11-08
* RELEASED VERSION 0.3

2002-11-08
* created an icon for KMuddy
* created Mandrake 9.0 RPM and tarball for 0.3

2002-11-07
* console size is no longer remembered between sessions. Instead, the size
  that you specify in Global settings is used for every session.
* fixed some problems with action toolbar and console resizing
* code is now ready for 0.3 release, but I'll create manual and RPMs first
* manual written :)))
* added entry for $(prefix)/lib/menu; this is only valid for Mandrake, but
  it gets installed for every distribution... File can get to some strange
  place if KDE is in /opt. Maybe i'll look at this later

2002-11-06
* problem with setting inputline colors fixed - looks like setting of colors
  of edit widgets in Qt 3.0.5 has been corrected, it now uses correct
  palette. Updated to work with both 3.0.5 and older (I think...).
* implemented class cActionList, modified class cAction
* added action list and edit action dialogs (by updating/modyfying dialogs
  for aliases and triggers)
* actions are now a part of profile
* action toolbar is automatically shown/hidden as needed
* ACTION TOOLBAR WORKS!!!
* disabled window auto-centering

2002-11-05
* I've just upgraded to mandrake9, (disabled supermount :|) and tested kmuddy
  with gcc-3.2. Incredible... Please don't report speed-related problems
  if you use older compiler.
  Also, it looks like some colors cannot be set properly now.
  I'll look at it.

2002-11-03
* tried to include toolbar and failed :(
   looks like toolbars are a bit tricky without a KMainWindow, as they don't
   resize when undocked, ending up being too small to be usable. Anyone knows
   how to fix this? (preferably without reimplementing resize event and all
   that sort of stuff...)
   I could include a non-floating toolbar, and the action toolbar is done
   like this, but I cease to do this now. Maybe later?
* implemented cAction class, that represents one button in a action toolbar
  (inherited from cSaveableField, together with cAlias and cTrigger)

2002-11-02
* Iconized the app, mostly with KDE's standard icons. They are not always
  suitable for their actions, but I had no other... I'm no artist :(((
  Maybe somebody could volunteer to draw better ones?
  
2002-11-01
* implemented Session Transcript dialog box
* finished cTranscript class
* SESSION TRANSCRIPT WORKS!
* re-enabled Report Bug... option in Help menu (found out that it's sent
  to kmuddy@host.sk, so that it's okay to have it enabled :))
  
2002-10-31
* implemented most of cTranscript class, that handles session transcript
* fixed a bug in ANSI parser that sometimes caused wrong colors to be used
* fixed some bugs and strange lines in cConsole (main output screen)
  
2002-10-27
* added Cancel pending commands to Edit menu (and made it work :))
* added Enable command parsing to Edit menu (the same here :))
* multiline edit now supports prefix and suffix added to each command

2002-10-26
* implemented speed-walking (was easier than I thought :) )
* added Copy To Clipboard to Edit menu

2002-10-26
* RELEASED VERSION 0.2.1

2002-10-25
* implemented a drawing cache - increases drawing performance

2002-10-24
* empty commands can now be sent - needed with MUDs that send multi-page
  texts (e.g. help), waiting for ENTER after each page
* command history can now be browsed with UP/DOWN (last 10 commands only)

2002-10-22
* fixed a bug causing KMuddy to crash on profile disconnecting
* added a patch for 0.2 fixing this

2002-10-21
* RELEASED VERSION 0.2

2002-10-20
* output window can now be scrolled with SHIFT+{up,down,pageup,pagedown}

2002-10-19
* fixed another compilation issues from 0.1a - no more 0.1 releases though
* added "What's this" help to many widgets

2002-10-18
* Well, looks like 0.1a doesn't compile with gcc 2.96. Terrible.
* implemented some connection preferences
* correct quit-command is now sent by cTelnet when disconnecting
* it's now possible to disable ANSI colors
* implemented GUI for above-mentioned things

2002-10-17
* fixed some bugs that prevented KMuddy from being compiled
  with gcc 2.95 and maybe also gcc 3.2
* released version 0.1a that (maybe) fixes that for version 0.1

2002-10-14
* implemented class cTextProcessor that proceses text after it's been
  displayed
* TRIGGERS WORK!!!
* detection of infinite trigger loop is ready and working
* alases and triggers can now be disabled

2002-10-13
* classes that handle triggers (cTrigger and cTriggerList) implemented
* GUI for triggers added (most stuff is common with aliases)
* (triggers still don't work, but they can be created/edited/tested...)

2002-10-12
* test area for aliases works
* aliases are now fully implemented

2002-09-29
* bugfix: variable expansion no longer affects the alias text
* regexp aliases should now work correctly (haven't tested much, but...)
* implemented changing order of aliases/triggers
* Aliases GUI is now usable (testarea still missing...)

2002-09-26
* most of Edit alias dialog's functionality implemented (everything except
  Test area); aliases now have (partially) functional GUI!

2002-09-22
* Aliases dialog now shows a list of aliases
* designed Edit alias dialog

2002-09-15
* first dialog for alias GUI designed (but doesn't work)

2002-09-14
* aliases now must be the whole word (so that you can have single-letter
  aliases like l->look without expansion look->lookook and still be able
  to use "l at something")

2002-09-13
* added support for moving items in cSaveableList
* ALIASES WORK! (though GUI is still not available)
* implemented alias support in cCmdProcessor

2002-09-12
* some improvements in alias expansion
* implemented class cAliasList, that manipulates the aliases
* reverted from KExtendedSocket back to KSocket. KExtendedSocket does
  not work properly :(
* well, some of the problems weren't actually caused by KExtendedSocket,
  but nevertheless I still think that KSocket is better for this...

2002-09-10
* finished all functions in class cSaveableList - common stuff for aliases
  and triggers is ready (though not tested yet...)
* implemented class cAlias, which represents one alias

2002-09-09
* wrote double-linked list routines in cSaveableList

2002-09-08
* some modifications/addons to cSaveableField (incl. pseudo-variables
  support)
* wrote header file of abstract cSaveableList class
  (manages cSaveableField items; derived classes will manage
  aliases/triggers)

2002-09-07
* wrote abstract class cSaveableField; alias/trigger objects will be
  derived
  from this; text comparison is here (substring, regexp and friends)

2002-09-06
* merged cConnection fix with 0.1 release

2002-09-05
* Fixed auto-login in cConnection class - should no longer crash/hang
* MUD name is now displayed in main window titlebar

2002-09-05
* Version 0.1 released!
