11-2-2000
    - Started work on Girder 2.0 from scratch.

15-2-2000
    - First release 2.0.0.1 (Private)

16-2-2000
    - Better startup when there are no settings in the registry.
    - Start on Windows start option.
    - AutoSave when windows shutsdown option.
    - check if autoloadfile exists when setting         autoload.
    - Fixed an error in the sample.gir.
    - Added the filetype register and unregister
    - Fixed stupid bug, you couldn't select an other com port.

17-2-2000
    - Totally rewritten the Sendkey part, windows cannot send
      control/shift/alt codes to another thread in the back
      ground, so we hacked that. (The window becomes the 
      foreground window for a very short time.)
    - Added the Target submatch part, for those windows that
      constantly change their caption (eg. Winamp)
      This means breaking file compatibility with 2.0.0.1
      whoops....
    - Added Minimize Girder
    - Released 2.0.0.2 privately.

18-2-2000
    - Reorganized some code
    - Started work on a WM_COMMAND and WM_SYSCOMMAND event 
      Capturing facility.

19-2-2000
    - Integrate the message capturing facility code and dll !
    - Added the message (WM_COMMAND WM_SYSCOMMAND) send facility.
    - Complete Rewritten the file load, much more flexible file loading 
      This solves the problem of datafile layout changes breaking compatibility.
    - Save doesn't save all the fields anymore, only the ones with info
          This is possible since the rewritten load_file.
    - Resizing of the main form is now possible
    - Save this width and height of the main form.
    - Added WinExec options.
    - Added Copy paste options
    - Corrected a shutdown bug.
    - Released version 2.0.0.3 

19-2-2000
    - Changed the behavior of the message capturing
    - changed the paste and copy shortcut
    - My first BUGREPORTs !
    - Ruud Nabben : when i enable the UIR on the wrong comport
      and then switch to the right one, Girder doesn't work !
      ** FIXED **
    - Ruud Nabben : when i don't fill in a autoload filename
      and autoload file is not checked girder still complains
      about a none existent file.
      ** FIXED **
    - Ruud Nabben : sended is not really English, try Sent.
      ** FIXED ** ;)
    - Ruud Nabben : (feature request) Gray out apply button when there
        is nothing to apply.
    - Somehow file registering broke, fixed.
    - Figured out how to write a help file.
    - Written the helpfile.
20-2-2000
    - Renamed version.txt to history.txt
    - Makedist, makeclean batch files.
21-2-2000
    - Removed all long filenames.
    - Update all images to work in 256 colors.
    - Release 2.0.0.4 onto the internet.
22-2-2000
    - Added settings.uirenabled.
    - Added the multi command
    - Added the wait command
    - Centralized add_to_tree   
    - Centralized set_icons
    - Centralized new_data
    - Added the state settings and window
23-2-2000
    - Programmed the TLedDisplay Component.
    - Added the TLedDisplay Component.
    - Figured out how to get the filename of an application/window
    - Started the work on the renewed Target window
    - Started Split the getwindow**** function into winhandl
    - FindProcessEx
    - Finished the Target window
    - Rewritten message handling and sending
    - Fixed bugs in the send routine.
    - Redid the System capturing window.
    - Redesigned the splash screen
    - bumped version to 2.1.
24-2-2000
    - Centralized the Child matching
    - Added the child windowclass/name matching matching 
    - Find the parent window in the capture system
    - Added the smartFill option to the Capture window
    - Upgraded the smartfill
    - Fixed minor bug in load_file
    - Finally found how to tell the shell that the filetype icon changed.
25-2-2000
    - LEARNING 
2-3-2000
    - Technische Matriaalkunde
3-3-2000    
    - Analyse 5

4-3-2000
    - Update the help file. 
    - Release version 2.1.0
15-3-2000
    - Finished all my exams
    - Fixed cannot shutdown bug under win95/98
    - Fixed a resize bug with the statusbar.
    - Added the DVDstation 1.81 profile.    
    - Released 2.1.1

22-3-2000
    - Added the Anti-Repeat Wait time settings
    - Speeded up the IR rec. thread.
    - Updated the Help file.
    - Released 2.1.2
25-3-2000
    - Implemented a generic dll class (finally)
    - Implemented a internationalization library.
    - Started on implementing the libint on Girder
26-3-2000
    - Finished the implementation of the i18n_translate into girder.
    - Translated Girder into dutch
    - Created a very simple, basic and preliminairy translation tool.
    - Released 2.1.3    
27-3-2000
    - Major bugs creeped into 2.1.2 with the antirepeat option, Fixed         them all i hope.
    - Bugfix release 2.1.4 !!!
28-3-2000
    - Fixed the setlanguage bug, if Girder's working dir wasn't the 
          path to the executable, the loading would fail. Stupid.
    - Added the Croatian translation. (Radovan Kanizaj)
    - Bugfix Release 2.1.5 (the last one this week I hope)
29-3-2000
    - Well oke, another little bug squashed. Error in while loading
      a file that only has as the first element in the first group
      a multicommand.
    - Another translation error fixed, the last i hope :)
    - Updated the Dutch translation.
    - Radovan Kanizaj updated the Croatian language.
    - Bugfix release 2.1.6 (the definitly last one this week)
2-4-2000
    - Fixed the language setting routine during startup.
    - Fixed the not translation of settings in the help menu.
    - Added the Czech Language done by David Pribyl.
    - Tomas Najbert also sent the Czech language file but i can't
      determine which one is better so David's translation wins because
          he sent it first. But THANKS anyway Tomas !!!
    - Added the Slovak Language by Miroslav Hlina 
    - Released 2.1.7 (The Language Update) 

4-4-2000
    - Added support for Large font settings in windows
    - Strip zeros added
    - fixed the findprocessex   
    - fixed the substring matching (whoops i18n error again...)
    - substring matching for childwindows.
    - Grey out controls in target window when send to foreground
        window is selected.
    - Added the SetFocus, but Win2000 (win98??) is messed up and 
      doesn't bring these windows to the front. :(
    - File has changed option to cancel the closing of Girder.
    - Added the mouse motions, clicks and double clicks.
5-4-2000
    - Started work on the volume control stuff.
6-4-2000
    - Implemented the volume control stuff into Girder.
    - Added the set_trayicon code
    - Updated the internat application BIG update.
    - 1000 Visitors to the Girder page !
    - Updated the helpfile somewhat.
    - Check the Bigfont thing, it's better but not
      quite good yet. Oh well leave that for version 3.0 
    - Bumped version to 2.1.8 
7-4-2000
    - The big font changes really messed up the interface,
          So i removed these pieces again
        - Added skip UIR init check, for partially defective UIR's
    - Updated the languages: Slovak and Hrvatski, dutch
    - Made some minor interface changes (buttons larger...)
    - Fixed a BACK key error.
    - added a doubleclick to window option. (by special request)
    - Released version 2.1.9 (sorry for that)
8-4-2000
    - Finetuning the interface.
    - Fixed the forgotten matchhidden bug.
    - Put in a new harddisk :)

*****************************************************************************************
* GIRDER 3.0  Started                                                                   *
*****************************************************************************************
    
9-4-2000
    - Started Work on Girder 3.0
    - Worked out the new interface
    - Worked out the hardware dll plugin interface (without the VCL)
10-4-2000
    - Finished (i think) the hardware dll plugin interface.
    - Added all functionality to the treeview 
        * DragCopy command, groups, multigroups, multicommands incl. child nodes
        * Add, Delete
        * Rename
        * Drag
        * Nice Cursor
        * Add****toTreeView()
        * CopyCommand
        * DeleteCommand
        * AllocCommand
11-4-2000
    - Split the Command record manipulating Routings into Command.PAS
    - Implemented the SaveFile Routine in IOMISC.PAS
12-4-2000
    - LoadFile
    - SaveFile  
    - Registry Routines
    - Configuration dialog
    - Trayicon
    - Hardware support.
    - Added version_dll and compare_ir to plugin dll
    - Keyboard action
    - OS Action added
    - Volume and volume window
    - Target Window
13-4-2000
    - System actions
    - Trayicon configurable
    - Mouse actions
    - State window
    - splashscreen
    - execute program
    - bugs
    - about window
    - General settings
    - LOADS o'stuff
15-4-2000
    - Main UI scaling finished!
    - Statusbar nice bitmap led.
    - Resizable statusbar
16-4-2000
    - Software plugin created
    - Started on the keyboard plugin but somehow it didn't work
17-4-2000
    - Got Keyplug to work (almost), when a dll gets called from outside (callback)
      the local variables aren't correct anymore so we need to use the 
      memory mapped files.:( That took me about 4 hours stupid M$)

18-4-2000
    - Finished the keyplugin
    - Added icons to the hardwareplugins
    - changed the path in the REgistry that the plugins save to.
    - Stdcalls for compatibility with other languages
    - fixed topmost bug. (i hope)
    - switching between hardware dlls
    - Temp Fixed switching between dlls, we need a mutex because the thread 
      called read_ir after close_dll was called !@#
    - Copy and Paste Implemented
19-4-2000
    - Gray out stuff
    - i18n
    - batch mode compile 
    - make clean
    - make dist
    - updated internat.exe
    - dutch translation
    - converting

20-4-2000 - 23-4-2000
    - Oh boy, Borland (Delphi) really messed up the DLL stuff, 
      I had to use M$ Visual C++ to make the Hardware DLLs work. This took me 
      2 days to figure out Borland messed up and 2 days of work :(
        
24-4-2000
    - Added the icons to the UIR DLL
    - Cleaned up UIR Dll
    - Finished the Implementation of the DLLs
    - Lotsa bugfixing and hunting
    
25-4-2000
    - Started on the helpfile
26-4-2000
    - Working on the helpfile
    - Added commandline support for Girder
    - Semi finished the helpfile
    - Added help file support for Girder
    - prepared a distribution: Girder 3.0pre2
27-4-2000
    - Whoops, forgot to update the English.lng
    - 3 days on the net and nobody found any bugs ???
    - Another pre-release 3.0pre3
28-4-2000
    - Got Slovak translation from Miroslav HLINA <miroslav.hlina@ovp.sk>

29-4-2000
    - A few bugs repaired
    - By popular demand : Multiple Hardware plugins can be active !!!!
    - Written "Plugin API.rtf"
    - Got German Translation from Uwe Heidrich
    - Prerelease-4 with the last big change in 3.0
1-5-2000
    - I think I passed Chemical Physics :-) Yep 9 of 10 !! YAHOOO!
    - Fixed the mouse left-right mixup
    - Written the READ.txt
4-5-2000
    - Passed Material Science ( i think YEP ! 6 of 10 !!!!!)....
    - Last change to the plugin mechanism, it works !!!!
    - Updates the Plugins to support any background color
    - Changed some labels
    - Dumped the WinExec and used the real CreateProcess to set the exepath.
    - Made 3 distros. Usage/Internationalization/Develop
5-5-2000
    - Fixed a small bug that cause the UIR plugin to hang if 
          the init didn't work out.
    - Release 3.0 !!!!!
7-5-2000
    - Change the copyiright license to a non-open-source one (sorry).
    - Added the updated czech language.
    - Fixed a small bug in the plugin list window
    - Added the setforegroundwindow stuff for the windows.
    - Girder now saves the device number with the command, this serves 2
          purposes:
           1. (Small) Speedup in match routine
           2. (IR) Codes don't need to be unique thoughout the plugins.
    - Added the saveas filename
    - Release 3.0.1
8-5-2000
    - Figuring out how TCP/IP works in the win32 sdk.
    - I've got a nice server ready. 
9-5-2000
    - Fixed the drag/drop bug. 
    - Fixed UIR problem. After a failed initialization, the plugin would never
        again init. You would have to restart Girder. 
    
10-5-2000
    - Created the TCP/IP server plugin
    - Started work on the TCP/IP action plugin
11-5-2000
    - Finshed the work on the TCP/IP server and action plugin
    - changed the actionplugin format a bit.
    - Added the Polish translation
    - Release 3.0.2
    
12-5-2000
    - Updated slovak & czech
    - Fixed a small translation prob.
    - Hopefully fixed the TCPIP stack problem linked against wsock2.lib instead of ws32_2.lib
    - Release 3.0.3
13-5-2000
    - Speaking Clock
    - Rename in the menu
    - Added the Greek Translation
    - Added the French Translation
14-5-2000
    - Added a OSD
    - Received the talking clock wavs from John Paton
    - Released 3.0.4
    - Made a better looking mute icon
15-5-2000
    - Added a identifier to each record
    - Changed the group enable/disable to use the identifier
    - Added the Question Girder type
    - Made the right click on the treeview also select the node. 
    - Added the learndevice call to plugins, so they know when girder
      wants to learn a IR command.
16-5-2000
    - Created a Treeviewpicker for the groups
    - Implemented the treeview picker into the settings dialog
    - Implemented the treeview picker into the OS tab
17-5-2000
    - Rewritten the unique number creator
    - Redone the group selection part.
    - Removed all windows from the autocreate list, and 
      create the windows only when needed. -> 15 - 30% memory usage reduction !
18-5-2000
    - Upgraded the Action plugin interface to support the treepicker and
          the OSD !
    - Created a Timer plugin !
19-5-2000
    - Updated the other plugins
    - Written a Actionplugin API doc
    - Updated the Languages
    - These where the last large changes to Girder 3.0, from now on only bug fixes.
      and new plugins.
    - Released 3.0.5
20-5-2000
    - Updated the German translation.
23-5-2000
    - Changed Createprocess to ShellExecute, now users can start any document !
24-5-2000
    - Change the labels of the tabsheet into icons, all that needs to be done
    is to make some nice labels.
28-5-2000
    - Undo the label change until i come up with some nice icons to go there.
    - included the TCPclient.exe in the girder distro.
    - Released 3.0.6
1-6-2000
    - Really undid the tab changes WHOOPS
    - Fixed the Shell Execute to support parameters
    - Added the minimize window action
    - Added the maximize window action
    - Added all mouse directions
    - Added all mouse clicks
    - Added a goto action
    - Updated German and Czech translation
    - Released 3.0.7
4-6-2000
    - Fixed a access violation bug in the settings window.
    - Made the browse button on the settings dialog translatable.
    - Updated the polish translation.
    - Added change group target.
    - Minor Fixes.
    - Released 3.0.8
    - Added the export functions and pre-released 3.0.9
    - Added 3 link fields to the main record so they can be 
        updated when a file gets imported and the numbers aren't unique
        anymore. This means breaking comp. with pre 3.0.9 versions
    - I Really should continu studying not extending Girder :(
5-6-2000
    - Created a algorithm that detects repeats in the IrDA stream and a
        scoring mechanism.
    - Implemented that into a plugin.
    - Released 3.0.9
6-6-2000
    - Added Danish Translation
    - Updated Polish Translation
    - Changed the link to Teemu's site.
    - Re-released 3.0.9 
7-6-2000
    - Fixed the broken copy & paste stuff, stupid double linked list move that
        i oversaw.
10-6-2000
    - Fixed some memory leaks
    - Added the icons to the action tabs
    - Added the check if girder is allready running.
    - Added a gettings started section to the helpfile
    - Finally figured out how to do the showcutkeys right.
    - Drag and drop with the filemanager.
12-6-2000
    - Worked on a new DotMatrix display that supports loading a
      other fonts. Needed for foreign languages.
    - Started work on the new keyboard send routine.
13-6-2000
    - Got the new keyboard send routine to work, IT IS A BEAUTY !
    - Optimized the TDotMatrix.
14-6-2000
    - Fixed a small error in the target window
    - Released version 3.0.10
15-6-2000
    - Got hit by a car, this guy pushed us off the road on purpose !!! Can
      you believe that ? I got away with a few scratches,... luckily. His
          Car was damaged more than our bikes. He thought we where taking up to
      much space. Damn were is the world going to.
    - On the bright side, the holiday to Germany, Poland and Czech is on !
          Expo here we come !
    - Anyways, removed the stupid DEL error.
    - Released 3.0.11
16-6-2000
    - Added a time parameter to the mouse click, some programs need
      some time before they recognise the mouseclick
    - Added support for extended (media) keyboard keys to the keyboard plugin
    
17-6-2000
    - Fixed some problems with the new keysend routine.
    - Created a asynchrone methode for sending events to girder,
      this improves performance of the keyboard driver.
30-6-2000
    - Fixed volume dialog bug.
7-7-2000
    - Yes at last my summer vacation has started, 
    - Added a translation
    - Made the target selector case-insensitive
    - I'll be on my vacation from 10-7-2000 until 22-7-2000 so
      don't mail me during that peroid, i won't respond. I'm laying
      on my back in the beautifull country's of Czech Republic and Poland !
9-7-2000
    - Removed a testing dialog from the sendkey routine whoops...
    - Hacked a small bug (not good lookinto this KeyCom.PAS)
    - Added Swedish translation
    - Added Brazillian translation
    - Released version 3.0.13
19-8-2000
    - Finally fixed the state bug
    - Added a check so that girder warns a user when he hasn't got any input devices selected.
27-8-2000
    - fixed the APM bug
    - Added the AST/NEC/IBM/Logitech Mouse driver.
    - Released 3.0.14
1-9-2000
    - Fixed a little bug that caused the click action to forget the coordinates.
    - Added slovinian translation
    - Updated french translation
    - Added Silitek driver
    - Added SFH-56 driver
    - Updated Polish translation
    - Released 3.0.15
22-10-2000
    - Created a TaskSwitch detector plugin
    - Added the option for a command to be executed when the irstrings don't match
         (invert)
    - Finally found why the TCPIP plugin was messing up. The WM_COPYDATA really sucks.
    - Added a new and FAST mechanism to send an event to girder.
    - Converted all plugins to use this one.
    - Fixed minor bugs in Girder
x-11-2000
    - Reworded the Taskdet plugin
    - Added the eventblock plugin
    - fixed resource leaks
    - Release 3.0.17
21-11-2000
    - Added a drag target option
    - Added the click capture
    - Rewrote the capture module
22-11-2000
    - Redid some graphics
    - Added set mouse absolute
    - Removed the pathname form the matching routines, this should eleviate the problems encoutered when switching
          from Win9x to win2k
    - Added the WinLirc driver by Alexander Seitz
    - Released 3.0.18 Sneak preview to the mailinglist for testing
24-11-2000
    - Added first support for HID keyboards, this by allowing girder to 
      just display the mute and volume, instead of changing them, because windows
      allready does this.
25-11-2000
    - Added move window and size window. With these you can rescale a window, 
          for example a DVD player window.
    - small fix to the targetting routine.
    - internal naming option
    - added a 'hidden' comandline option to totally hide girder from sight.
    - release 3.0.18
26-11-2000
    - Made the TaskDet plugin return only the filename not the complete path, for compatibility with win2k
    - Task Create / Close detector
    - Enable / Disable device
    - Task switcher
    - Added resolution change
    - Added cdrom open and close for win2k/nt
    - Added cdrom open on win9x
    - Eventblocker now does not use the pathname anymore!!!!
    - Added center and resize easier for DVD windows
    - Release 3.0.19
30-11-2000
    - Fixed the task switch detector
    - Added winexists
    - Fixed the invert saving problem
    - Fixed the media eject segfault when no drive letter was supplied
    - load/eject file label enable
6-12-2000
    - Fixed the task switcher for win9x
14-12-2000
    - Written additional Keysend routines
    - Fixed the forgotten syscommand 
    - Release 3.0.20 preview 2
26-12-2000
    - worked on the APM resume failure
    - add the OSD font option, preliminary
3-1-2001
    - Added the Stop Processing command
    - Added the Spanish translation by Xavi Rodríguez <x_nobita@hotmail.com>
    - Release 3.0.20 preview 3
12-1-2001
    - Fixed the talking clock
    - Target selector now fits on a 640x480 screen
19-1-2001
    - Plugin work
20-1-2001
    - Plugin work

21-1-2001
    - Worked on Girder in general
    - Updated the helpfile
    - Updated the translations
    - Added show hidden for the execute action
    - Written RedRat drivers,.... at least beta version ;)
    - Released 3.0.20 final
31-1-2001
    - Fixed the Anti-repeat failure in multicommands
    - Release 3.0.21 pre 2
1-2-2001
    - Fixed the broken goto
    - Extended the Resolution pickup routine to include all resolution // disabled in std release
    - Release 3.0.21 pre 3
    
3-2-2001
    - Added reset state action
    - release 3.0.21 pre 4
6-2-2001
    - Fixed some translation errors
    - Updated english.lng
14-2-2001
    - Fixed (i hope) OSD focus problem
    - Fixed the resolution change problem
    - Fixed the Irda numer change problem
    - Added disble device on APM suspend checkbox
    - Finally found the problem with some of the plugins EM_GETLINE needs the buffer
        to be inited to the length of the buffer
    - Made the label size on the plugin a little smaller so they don't overlap anymore
    - Made the balance work properly
    - Balance OSD
    - Released version 3.0.21 final

21-2-2001
    - Extended the hardware plugins to also support action plugins
    - Added the restore action to the list of window actions
22-2-2001
    - Fixed the "first match only" bug
    - Added "Is Checked" action
    - Fixed a little bug in the targeting routines
    - Release 3.0.22 pre1
1-2-2001
    - SendMessage Plugin
2-3-2001
    - Extended the softplugin interface
    - Started cleanup of plugins
3-3-2001
    - Executable self checker ( for viri or malicious changing of the executable )
4-3-2001
    - Created the SNTP plugin
13-3-2001
    - finished ( i think ) implementing the FAST RapidTree :)
    - Added the combobox to select the event generator
    - Added commandline -eventstring <name>
    - Added commandline -show
    - Added commandline -hide
    - Added wrapper function for WinNT
    - Added icons on the tabs
    - All windows now remember their last position
    - Added a the Event Callback to the action plugins
    - Release 3.0.22 pre 4 only fixes from now on till 3.0.22 final
15-3-2001
    - Well i guess just a few new features will be okay :)
    - Added save/load register actions
    - Added "On Open","On Close","On Enable","On Disable" events to Girder,
        now you can set the autoexecute group on a per .gir file basis.
    - Fixed import group bug
    - Fixed listbox box
    - Wrapped blockplugin
    - Added tooltips when the tabs are in icon mode
    - Release 3.0.22 pre 5.. lookin good this time.
16-3-2001 till 2-4-2001 lots of bug hunting
2-4-2001
    - Release 3.0.22 final        
12-5-2001
    - Worked on the SlinkE plugin
    - Fixed the auto-execute button bug
    - Fixed a nasty little bug that prevented MFC plugins from working properly
13-5-2001
    - Worked on the SlinkE plugin ( finished hardware part )
    - Added some code that checks for disabled parents and not executes no matter what! ( so also the F5 don't work)
    - Release 3.0.23pre1
15-5-2001
16-5-2001
    - moved to girder.nl
    - added string registers to action and input plugins
    - Cleaned up slinke plugin
    - Release 3.0.23pre2
24-5-2001
    - Lots o plugin work
    - fixed the OnGirderClose
    - Fixed the Eventstring bug
    - Updated all links and email address to girder.nl
    - Added links to the homepage in the program
    - Release 3.0.23pre3
40-6-2001
    - Fixed eventstring and multigroup problem
10-6-2001
    - Remove onGirderClose to determine if this is the sporadic access violator.
    - Release 3.0.23pre4
22-6-2001
    - Fixed the set-off icon failure
    - worked a little on the cdrom close for win9x
    - Added Relative window move
    - Released 3.0.23 pre 5
29-6-2001
    - Added possibility to disable flashing on every event in favour of flashing 
      on executed action
    - Fixed -show behaviour.
    - device by zero fix.
    - Released 3.0.23
29-8-2001
    - Added Collaps Node / Expand Node
    - Added support for registers to volume change
    - Change the learn event drop down box to a non-editable one.
    - Release 3.0.24 pre 1 -with special thanks to UCSB for the power failure that gave me time to make this release-
1-9-2001
    - Renamed Collaps to collapse
    - Added a comments field
    - Added the option to put the current volume value into register 25.
    - Release 3.0.24 pre 2
2-9-2001
    - Fixed broken mute
    - Added register support and direct set to mute ( 0 = on, 1= mute)
      Hint, You can use this direct set to directly set any volume channel
    - Resized Eventstring statusbar
    - Release 3.0.24 pre 3
    - got totally soaked kayaking ;-)
16-12-2001
    - Added TCPIP server 2.0 and TCPIP client 2.0
    - Updated helpfile with new email address and webpage
    - work on keyboard plugin. Yes it is not compatible with the old one,
          this is because the old one was giving the same value for some Multimedia
          keys.
18-12-2001
        - Horrible keyboard bug, fixed it and released pre4
20-12-2001
    - Feature request, %PROGRAMFILES% implemented in actionplugins/hardwareplugins/autoload/execute/playwav
    - Wrote a little in the helpfile.
    - released pre6
    
21-12-2001
    - Fixed the question action with respect to multigroups. (didn't work there)
    - released pre7

30-12-2001
    - Fixed a few volume step size related bugs.
    - Release 3.0.24 Happy New YEARS!
5-2-2002
    - Fixed serveral bugs
    - Updated delphi so WinXP bugs should be less
    - Release 3.0.25pre1
10-2-2002
    - Added FileExists action
    - Release 3.0.25pre2
15-2-2002
    - Fixed a null pointer problem with FileExists
22-2-2002
    - Girder ignored the Multigroup state settings, fixed now.
    - Release 3.0.25pre3
    - corrected spelling error
    - enabled browse button in file exists action
    - correct default extension in browse button on girder action tab   
3-3-2002
    - Fixed state saving in multi groups.
    - release 3.0.25pre5
4-3-2002
    - Fixed broken mute toggle
    - Added Set Volume ( because I was trying to do this with the mute toggle,.. why ? I      don't know )
    - Release 3.0.25pre6

4-3-2002
    - Forked Girder code, we have 2 branches. 3.0 and 3.1
    - Ripped out core of girder I need to replace the eventrouting
    - Started replacement work
5-3-2002
    - LOADS of work later we get 3.1beta1 for your enjoyment.
    - released 3.1 Beta1.
6-3-2002
    - Just so much fixes and changes you don't even wanna know.
    - released 3.1 beta 2 and 3 ;-)
7-3-2002
    - fixes fixes and updates
    - converted all inlcuded plugins to the newest API
    - updated AST plugin
    - Major update to the Say plugin! Lots of options!!
    - Released 3.1 beta 4
7-3-2002    
    - Minor internal fixes in the plugin api.
    - released 3.1 beta 5
8-3-2002    
    - Support for carriage returns in svalue1 and svalue2!!!!!
    - Updated SimpleOSD action for multiline usage!
    - Added Say to default plugins
    - Added lots of OSD options, color, size, border, caption and transparency
    - Modified dropping behaviour. of commands and multigroups
    - Modified dropping behaviour of groups, if you hold control the group will be
          moved to the position before the drop target. If you don't hold control the
          group will be moved to the drop target as a child.
    - Updated the action plugin api to allow access to these OSD settings.
    -beta 6
    - more treeview changes
    - replaced the change resolution function! now allows for any resolution
    - updated slinke to new version of API
    -beta 7
9-3-2002
    - Added In Girder events, commandline eventstring now only matches it selves!
    - Checked slinke, okay
    - init some vars in extended plugin
    - even more stuff in the drag an drop department
    - rewrote register saving routines to save in XML
    - updated default new command behaviour to set foreground matching
    - added "On every event" settings, these commands will be triggered on every
          event.
    - fixes left and right.
    - beta8
9-3-2002    
    - Fixed little update error in the combobox of the learn devices
    - Started work on replacing file open / save / browse dialogs by
          decent windows dialogs.
    - added timeout selection for OSD
    - Added monitor selection for osd
    - added position selection for osd
    - learn device adjustment.
    - little fix in GetLinkName for old plugins
    - release beta 9

plans beta 10, hopefully last release before final 3.1.0
    * Speed up Treewalking
    * update localisation

Okay as it turns out, the xml was way to slow to work, so I had
to replace the whole thing :((( This also means that there are 
new bugs to be found.
    * On XX event
    * New register window, also allows for editing
    * Updated payload data.-> in most string you can now do: [pld#] to get the payload data.
    Release beta 10 to limited public.

14-3-2002
    * fixed Ugly access violation
    * fixed evenprocessing
    * Added enabled to eventstrings
    * fixed 'flash on every event'
    * moved enabled and identifier into properties of commands
    * fixed registery edit window
    * Release beta 11
14-3-2002
    * Old betas forgot to set an Identifier on Eventstring, making things go bad. fixed
    * Beta 11 forgot to check the Identifiers of an eventstring thus making duplicates
          when pasting fixed.
    * Added check tree, this checks for zero identifiers and for duplicates.
    * release beta12
14-3-2002
    * fixed antirepeat and invert saving
    * release beta12b
15-3-2002   
    * fixed converting of antirepeat and invert ..pff
    * fixed initial settings of currentstate to beginstate.
    * modified setgirderstrregister for plugins, this will now
      expand this string immediately.
    * release beta12c
16-3-2002
    * More little stuff
    * Set group targets
    * added stuff to the OSDGetSettings
    * Wrote Question OSD Plugin as a replacement for the Question action
    * Wrote Internet Event Server and Client and PHP and console as a replacement
      for the now unsupported TCP/IP server.
    * released beta13
16-3-2002
    * Fixed backwardscompatibility to buttonmode plugin ( irstr field in command is
          filled with current irstr on copy to dll )
    * Improved Randomness of Cookie in internet event server
    * release beta13a
17-3-2002   
    * fixes for the import routines ( identifier mixups )
    * updated Question OSD 
    * Updated Numbuilder to include num registers
    * Implemented Recursion protection
    * Added Get Tick count
    * Added reset tick count
    * Rebuild the slinke plugin ( oops released debug build last time )
    * Include 1st release of the rebuilt CTInfra plugin
    * release beta 14
18-3-2002
    * integrated the ctinfra plugin into the UIR plugin
    * Wrote getting started document
    * contemplated changing wm_user+1024/wm_user+1030 into registerwindowmessage
19-3-2002
    * Changed wm_user into register window message
    * changed internal wm_user into wm_app
    * Added compatibility mode (TEMPORARY!)
    * Changed init of device not to fail when 1 device isn't hooked up, view status of devices in settings window.
    * Upgraded all plugins to send the new window messages.
    * Added compatibility for mr. Windtrader :-)
    * released beta 15.
22-3-2002
    * Added a very powerfull parser to girder
23-3-2002
    * Fixed some inconsistencies reported on the forum.
    * release 3.1.0 beta 16.
24-3-2002
25-3-2002
26-3-2002
    * rewrote the Girder Variable Manipulation Script from scratch
    * updated the documents
    * Released 3.1.0 beta 17 The Last beta!!!! yeeeehaaa.
27-3-2002
    * (BROWN BAG release) fixed 2 bugs in the regsiter department [reg#]->[treg#] and [payload#]->[pld#]
    * release beta 17b.
    * updated convertor also to 1.0.7
    * Worked on the translation stuff
28-3-2002
    * Worked some more on the translation stuff
    * Made the redrat driver a little bit friendlier when the redrat is not present
    * Made the SlinkE driver friendlier when the users forget to remove an empty device.
    * finished the translation stuff, pfew thats done
    * last minute requests : substr and hexadecimal literals.
    * RELEASED 3.1.0 WHAAAAHOOOOOO! And now for a beer!
30-3-2002
    * Worked on the NT Service stuff
31-3-2002   
    * Worked some more on the NT service stuff, concluded that VCL isn't going to cut it, 
      I need to separate the UI and the core completely before this will work.
    * Fixed crash bug, when alt-draggin group below treenodes
    * Fixed win95 compatibility issue with ChangeDisplaySettingsEx
    * Changed return code on WM_POWERBROADCAST
    * Released 3.1.1pre1.
    * Delay loading of advapi32.dll is useless because M$, because it doesn't fail
      under win9x, even getprocaddress on unsupported functions return pointers !!!!
      WEIRD!, no I do a explicit check if the OS is WinNT before I load this lib.
    * Fixed internet event server
    * Release 3.1.1pre2
    * updated Romanian language
    * release 3.1.1
1-4-2002 
2-4-2002 
3-4-2002 
4-4-2002 
5-4-2002 
6-4-2002 
7-4-2002
    * all kinds of stuff
    * updated GVMS
    * updated action plugin API to version 6
    * exe filename matching routines only take first 15 chars into consideration, thanks to MS for another      bug.
    * updated french language.
    * InternetEvent(Server/Client) now support payload data
    * Switched to new installer, 2 reasons: more modern and less diskspace ( BANDWIDTH )
    * released 3.1.2

    * Darn, just realised that the change to the matching routines might just break 9x compatibility,
          fixed.
    * released 3.1.2b
8-4-2002
    * Fixed nasty crash targetenum, related to upgraded API.
    * released 3.1.2c
8-4-2002
    * Fixed little mistake with the length of the payload data
    * Released 3.1.2d
11-4-2002   
    * Fixed forum link
    * Added variable support to targeting routines.
13-4-2002
    * Because of continuing problems with the antirepeat and inadequate queue depth
      I started on this rather intrusive endeavour now. 
    * The Eventsink now has its own window completely independent from the VCL. 
    * Eventsink has 2 threads, the incoming thread and the eventrouting thread.
    * All communication with the VCL now runs over custim WM_APP messages.
    * decided the release will be 3.2 as this is a big improvement
    * released 3.2 alpha 1
14-4-2002
    * lots of threading problems with the action plugins, fixed
    * fixed the missing treepicker stuff
    * fixed the payload problem
    * released 3.2 alpha 2
15-4-2002
    * added input queue to the event processing thread
    * fixed several places with regard to thread safety.
    * Added preliminary API 7, might dissapear again.
    * released 3.2 aplha 4
20-4-2002
21-4-2002
    * hunted for the bug reported by MarkF, finally found it, delphi memory allocation
      routines are not thread safe.... go figure.
    * released 3.2 alpha 9 
3-5-2002
4-5-2002
    * Completely rewrote the plugin handling, introducing a new api, uniting the plugin and many bugs :-)
    * added new action "Power Management"
    * gir_info is not yet implemented.
    * release 3.2 alpha 10
5-5-2002
    * fixed some minor bugs 
    * release 3.2 alpha 11
6-5-2002
    * implemented gir_info ->QUERY_UNLOAD
    * improved the hook plugins ( keyboard, taskcreate, taskswitch)
    * minor fixes in Girder
    * release 3.2 alpha 12
7-5-2002
    * implemented Girinfo_powerbroadcast
    * added splashscreen in right place
    * gave girder a real main window (hidden)
    * moved gir_compare to optional exports
    * removed more old code.
    * fixed registery writing problem for normal users.
    * removed version number from splashscreen
    * release 3.2 alpha 13
7-5-2002
    * moved gir_true to 1 and gir_false to 0 to be more in tune with windows
    * moved gir_async_learn to 2.
    * released alpha 14
8-5-2002
9-5-2002
    * Worked on NT service support
    * lots of work on the UI separation, and it is successfull! Girder now runs
      without the loaded
    * released alpha 15
10-5-2002
    * Wressled with the website, some of the other people on the website had been
      mis-using .htaccess and create an endless loop. that's why the site was so
      slow the last couple of days. On top of that some mistery files where 
      blocking my site. Anyway, Girder.nl has been moved to a new server with far
      less other sites :-)
    * Many many many fixes and usability changes in Girder
    * New program that translates the device numbers in the .gml files.
    * released Girder 3.2.0beta1
13-5-2002
    * lots of code review, cleaning up and commenting
    * moved all plugin handling to h_processing thread context.
    * fixed SlinkE driver.
    * worked on redrat driver (not ready)
    * added duplicate function
    * fixed a few memory leaks ( minor )
    * released 3.2.0 beta 2
13-5-2002
    * gir_event, the status string is now initialized, before it crashed girder
      if the plugin didn't set the string.
14,
15,
16-5-2002
    * Various improvements in the UI departement
    * Added locking of gml files, this is not meant to be a hackerproof thing, but a wife
      proof protection, it can be defeated easily.
    * Release 3.2.0 beta 3 ( the last ? )
17-5-2002
    * fixed uir settings loading
    * released 3.2.0 beta 4
18-5-2002
    * Fixed a dead-lock reported by Matt Wire.
    * released 3.2.0 beta 5
    * Put the dispatch message stuff back in.
    * BROWN BAG release beta 6
19-5-2002
    * As it turns out I didn't fix the deadlock just yet. Just shifted it around a little ;~
    * Added dispatch message stuff to the main thread, and what do you know it fixes a 
      a little bug preventing me from restarting the UI. YEEEEHAAAAAA!
    * Girder can now open and close its GUI at will!!!!!! COOOOL! instead of only one time as seen in
          the previous betas.
    * Released 3.2.0 beta 7
20-5-2002
    * misc. small fixes.
    * released 3.2.0 beta 8.
    * added mouse accellerate function
    * fixed saving of iValue3
21-5-2002
    * added getcaption
    * by default have 10 pld string registers so we don't break any scripts that rely on them being strings.
    * released 3.2.0 beta 9
22-5-2002
    * fixed group enable/disable crash
    * slinke was compiled as debug version. darn
    * release 3.2.0 beta 10
22-5-2002
    * fixed crash when switching files and events came in
23-5-2002
    * added onresume onsuspend
    * fixed saving of svalue3
    * fixed monitor APM failure.
    * fixed some osd redraw problems.
    * released 3.2.0 beta 11
24-5-2002
    * added some missing i18n stuff
    * fixed onresume, sometime the computer would close before girder finished processing
    * added colors to the plugin list on the settings dialog.
    * allow double click on the plugins to enable them
    * also send gir_start to event sending plugin when they are enabled in the settings dialog.
    * set the hide girder default to false.
    * added code to detect how many plugins are enabled and set the status bar accordingly.
    * released 3.2.0 beta 12
25-5-2002
    * Fixed crash when enabling devices.
    * made the traymenu actually use the i18n.
    * released 3.2.0 beta 13, quick release becuase of very visible crash. 
    * Added learn event menus
26-5-2002
    * Fixed test command behaviour when one of the parent groups is disabled ( test command should work )
    * added girder standby
    * fixed loading of icons
    * implemented highlight node
    * implemented collapse all
    * implemented collapse eventstrings
    * released 3.2.0 beta 14
27-5-2002
    * fixed deadlock with APM functions
    * fixed reset state command.
    * fixed crash during delete_var. ( forgot mutex )
    * Added MaxRecursionCount DWORD registery variable. ( advanced users only )
    * updated the registery loading and saving to use sensible data types.. means that you need to reset you preferences.
    * fixed some focus problems when closing.
    * released 3.2.0 beta 15
    
29-5-2002
    * highlighting, fixed
    * onresume, fixed
    * register to clipboard and back
    * fix loading, restore plds
    * fixed plugin load click on the settings window, it inadvertently enabled plugins even if it should not.
    * fixed reset vars. 
    * released 3.2.0 beta 16
1-6-2002
    * Tweaked the OSD just a little
    * Modified the Splashscreen, we now see the dusk over Santa Barbara.
    * added gettickcount() to the parser.
    * made the large step in the mouse action use registers.
    * dropped the helpfile from the download. Its outdated anyway.
    * WEEEEEEHAAAAAAAAAAAAA Girder 3.2.0 is finished.
2-6-2002
    * :( 2 dumb errors, pressing cancel on the lock prompt will bypass the check
    * the learnevent button is disabled for multigroups.
    * release 3.2.0a
2-6-2002
    * delayed settings of trayicon, windows screws up in some versions, so much for compatibility.
    * fixed targetting
    * made the trayicon handling compatible with the broken geoshell trayicon implementation.
    * released 3.2.0b pre
3-6-2002
    * Upgraded my bike to Reartire version 2, with breaker barrier to prevent evil glass particles from
          entering the inner routines and interrupting my mode of transportation. 
    * Fought some more with the webhoster
    * added the handle of the main window to the GIRINFO_MAINWIN_OPEN event.
    * no bugs came in about the 3.2.0bpre2 so i'm releasing 3.2.1.
5-6-2002
    * Setfocus when opening the main girder window.
6-6-2002
    * made the splash configurable
    * make the traymenu a little nicer
8-6-2002
    * released 3.2.2, non critical upgrade.
    * released Girder 3.2.2
14-6-2002
    * fixed base64 decoding routines that cause data corruption.
    * released girder 3.2.3pre1.
15-6-2002
    * replaced the base64 routines with rewritten Base64 Library. Fast, Stable and robust.
16-6-2002
    * updated the xml library.
    * released 3.2.3, non critical upgrade
    * #@$#$%^&32 the xml library had a little change breaking the duplicate function, fixed now.
    * release 3.2.3a.
19-6-2002
    * Had 10 minutes time, so I fixed the commandline loading of gml files.
23-6-2002
    * fixed alarmtimer problem
25-6-2002
    * fixed a bug when closing the main window and an other window was still open, Delphi would not call
          OnClose. Doing this explicitly now.
26-6-2002
    * fixed OSD DEFAULT_CHARSET bug
    * fixed drag and drop bug (dragging parent group onto child group crashed girder)
    * added get resolution
    * released 3.2.4
27-6-2002
    * added DT_NOPREFIX to DrawText
16-7-2002
    * Fixed commandline loading of gml files ( again ... )
    * released 3.2.5 pre 1
2-8-2002
    * Fixed problems with nullterminated strings and plugins ( Delphi has a different deffinition of them )
    * Modified detection code, it now allows for girder to run in 2 different XP sessions at the same time.
    * released 3.2.5 pre 2.
19-9-2002
    * Fixed F10 refresh problem
    * Made the incorrect plugin error dialog a little bit more clear.
    * Updated the GVMS-LUA to support sending of events: 
        TriggerEvent( string event, double device, string pld1, pld2, ... );
        (The PLD#'s are optional so this is valid too : TriggerEvent("hello",20); )
        Girder events have device no 18.
    * Updated the GVMS-Legacy to support updated API
    * released 3.2.5 pre 3.
20-9-2002
    * added relative mouse move
    * Started work on the script edit window
21-9-2002
    * worked on the script edit window
    * added "reset all states command"
    * fixed bug in Lua-GVMS
    * Made Lua GVMS default scripting language.
    * wrote SessionSwitch plugin ( for Fast Userswitch under WinXP)
    * Released girder 3.2.5 pre 4.
 22-9-2002
    * fixed more bugs
    * scripting work
    * Began work on API 2.
    * released 3.2.5 pre 6
23-9-2002
    * Worked on Lyanupov Exponents and chaos synchronisation simulations ( no joke )
    * fixed a return value bug on the scripting editor.
    * small release on forum.
24-9-2002
    * fixed return value of parse_girder_reg ( should return size of string when
          size or store are 0 or NULL.
28-9-2002
    * Added new Hungarian and Ukrainian translations.
    * implemented Lua delete_var
    * released 3.2.5 pre 7
28-9-2002
    * fixed zapping of script.
    * set charset of the gvms_editor to DEFAULT_CHARSET.
29-9-2002
    * Updated to OpenXML 2.3.29 -> Endlines are now no longer CrLf but LF. (Speed consideration)
    * fixed memory leak in Lua, force garbage collect after parser runs.
    * fixed loading of GML files with &amp &lt &gt etc.
    * relaxed constraints on registers save files
    * released 3.2.5 pre 8.
3-10-2002
    * fixed XML saving of attributes (OpenXML changed breaking stuff)
    * added '*' to filename if the file changed.
    * released 3.2.5 pre 9.
4-10-2002
    * Fixed more XML saving of attributes ( Again openxml changed )
    * released 3.2.5 pre 10.
6-10-2002
    * implemented MarkF's idea to make it possible for normal plugins to extend the Lua environment!!
    * Changed the API 2 definitions.
    * released 3.2.5 pre 11.
6-10-2002
    * The xml library keeps hunting me,. now &amp; entities where translated to &#38;... pfff.
      modified the code so it actually translates it correctly.
    * added direct window handle notification to the plugin loading function.
    * release 3.2.5 pre 11-2
7-10-2002
    * did some winXP window work, made sure everything is properly displayed.
    * backed out from xp works since some of it broke nt
    * fixed the displaying of the scripting editor on nt ( hopefully, can't check here )
    * girder closing while scripting editor is open now uses the messagebox correctly (eg not closing when 
          you tell it not to.
8-10-2002
    * loaded girder into a local CVS system
    * fixed WinXP display bugs
    * added winxp themeing
    * removed slinke.dll from default distribtion since I'm no longer maintaining it. the plugin 
          is available in the download section.
    * released 3.2.5 pre 12, another pre because I got two bug reports that I have not been 
          able to confirm.
9-10-2002
10-10-2002
    * completely reworked the Internet Event client and server
    * fixed minor bug in GVMS linked list implementation.
    * fought a little with the cvs server.
    * Fine, that's it I'm releasing Girder 3.2.5.
13-10-2002
    * added os get volume.
14-10-2002
    * wrote Lua syntax highlighter
15-10-2002
    * updated the lua lib to allow for block comments : --[[ ... ]]
    * updated the Script editor to use the syntax highlighter and exporter :-)
    * released 3.2.6 pre 1
16-10-2002
    * updated lua lib to incorporate a bytecode compiler.
    * updated girder to now use the lua bytecode if available, this results in faster execution
          because the parser doesn't have to run.
17-10-2002
    * worked on the HTML osd
    * fixed another :( OpenXML bug.
    * released 3.2.5a (from CVS)
18-10-2002
    * worked more on the html Osd
    * released 3.2.6 pre 2
19-24-2002
    * lots of stuff.
    * released 3.2.6 pre 4.
26-10-2002
    * keyboard sending added closing code
    * setfocus fixes
    * released 3.2.6pre 5
27-10-2002
    * did some profiling of the XML loading routines, not much to
          improve here.
    * Added binary filetype for FAST loading, NOTE this filetype 
      is NOT compatible across girder versions and is only supplied
          for user convinience.
    * released 3.2.6 pre 6.
10-11-2002
    * added gireventlib
    * added event.exe
    * fixed html osd synchronize problems
    * minor fault in OSD when pressing restore defaults it also 
      unchecked parse
14-11-2002
    * fixed minor mistake in Gireventlib
    * fixed thread synchronization in load_registers.
    * release 3.2.6a.
18-11-2002
    * fixed some stuff in the script editor
    * added Registry function to lua and GetDirectory to lua
    * released 3.2.6b
12-1-2003
    * fixed slight error in keyboard sending routine, thanks Mitko.
    * updated XML library.
    * fixed problem with binary files
    * added GirderCom library.
    * released 3.2.7
18-1-2003
    * Girder displayed the ID in the statusbar, removed.
    * Added AfterScriptReset event
    * Updated Romanian language
    * Updated Polish language
    * Added Latin American Spanish language
    * released 3.2.7a
19-1-2003
    * whoops,.. AfterScriptReset wasn't called everytime.
    * released 3.2.7b
22-1-2003
    * reworked the XML loading routines to actually accept valid formatted XML files.
    * released 3.2.8 beta
23-1-2003
    * getvolume action does not remember values correctly.
    * released 3.2.8 beta2
10-2-2003
    * Changed the Girder ATL library to MinDependency. (Suggestion by MMcM)
12-2-2003
    * Fixed middle click to actually send middle click.
    * released 3.2.8 final
26-2-2003
    * Fixed svalue3 saving in BGR format.
13-3-2003
    * Fixed eventlib with respect to multiple girder sessions on one pc.
    * Mark contributed a fix to GVMS.
16-3-2003
    * released 3.2.9 pre 1
2-4-2003
    * fixed GirderCom with respect to multiple girder sessions on one pc.
    * updated Askey plugin ( hex conversion error )
    * released 3.2.9
    