08/03/26 v1.7c Bugfix only release
  - All Vista-specific code removed.
    - All versions of Vista, including SP1, should be working now.
    - VISTA section removed from config_caster.ini file.
  - Screensaver disabling bug fixed.
  - Fixed practice dummy actions after a ground tech.
  - Spellcard hiding bug fixed.
  - Added Japanese documentation for list of changes from th075Caster.
    Thanks, Satsu.
  - Reorganized some of the documentation.

08/01/07 v1.7b
  - Synced to th075Caster-071227. Changes:
    - Fixed Test myPort dangling socket.
    - floatControl defaults to on now.
    - FPU CW compatibility fix.
    - Added window resizing functionality, see below.
  - config_caster.ini changes:
    - from th075Caster-071227:
      - POSITION segment changed to WINDOW segment
      - windowResize features moved to WINDOW segment of config_caster.ini
        - Old entries still work, but are deprecated and will be removed in later
          versions.
      - VISTA section added back to the ini file.
        - Autodetection has not been removed, as it works almost all the time.
        - If you need to use this, please contact me so that I can fix that!
    - disablePadsOnSpec removed.
    - perfectFreeze for Yukari matches only removed.
    - Reformatted description text to a 76 width margin.
    - Reorganized to have more esoteric features later in the ini file.
  - Included fake_d3d8.dll from replayEx015 - see config_caster for info about it.
  - Fixed all source code indentation issue to use proper tabs instead of spaces.
    Sorry, should never have happened in the first place.
    My editor is stupid and I am blind and stupid.
  - Fixed name of last opponent being sent on Get Information request.
  - Fixed "match"/"matches" statement on session results.
  - Small adjustments to Marisa's palettes so that they don't have hat problems.
  - Reformatted CowCaster.txt to a 76 width margin.

07/11/29 v1.7a Bugfix only release
  - Fixes:
    - disableScreensaver works on low power modes as well.
    - Minor text fixes.

07/11/26 v1.7
  - Synced to th075Caster-071109a. Changes:
    - New local port testing code.
    - Improved spectator redirection handling.
  - Features:
    - Window resizing added! See ini file changes.
    - New keyboard manager with configurable keybinds!
    - Complete default palette set included!
    - Optional screensaver disabling. See ini file changes.
    - alwaysOnTop toggle key added, default binding /
  - Changes to config_caster.ini:
    - windowWidth sets the window width. Height is automatically calculated.
    - bilinearFilterState sets the render filtering style when window is enlargened.
    - disableMenuTransitions turns off fading between screens.
      (This is automatically enabled at widths >1024 due to how IaMP is written)
    - disableScreensaver, well, disables the screensaver. On by default.
    - New KEYBIND section for configurable keys.
    - replayFilenameFormat has %& for custom FPU statements, see ini for info.
  - Fixes/Misc:
    - floatControl defaults to on for people too lazy to update.
    - autoNext works for broadcast mode now too.
    - Date printed in sessionlog file
    - remote palette saving now creates the palette directory if one does not exist.
    - booster listening/playing glitch with 2p pad fixed.
    - charInit error a bit more explanatory.
    - Palette transferring bug fixed, shouldn't freeze anymore.

07/11/04 v1.6
  - Synced to th075Caster-071103. Changes:
    - YUKARI/YUYUKO DESYNCS ARE FIXED.
      * !!! BOTH CLIENTS MUST UPDATE FOR THIS TO TAKE EFFECT! !!!
      * See floatControl entry in ini file. This must be set to 1 to be used.
      * Note that this has issues with replay playback!
      * To play back replays recorded under this method, you must download replayEx from
        http://njm4558.run.buttobi.net/replayEx013.zip
    - Replays with the deysnc fix are renamed to rpycwc???.rep instead of replay???.rep
    - obsCount/allowObs glitch fixed when spectating someone who is spectating.
  - Features:
    - Replay renamer will now automatically create subdirectories if they are requested
      e.g: replayFilenameFormat = %d\%A - %B %n
    - Names are sent with Observers.
    - ' key bound in game to save remote palette files.
    - Spec leaf rotation added to prevent some spectators from gumming up the works, so to speak.
      If you get stuck timing out while trying to spec, wait at least 10 seconds and try again.
  - Changes to config_caster.ini:
    - floatControl: Enable for desync fix. (from th075Caster)
    - sessionLog: Enable for session logging. It will automatically print
                  roundShow data to sessionlog.txt
    - anonymousObs: Don't show your name when you connect to spectate.
    - replayFilenameFormat now has %F to indicate if new float control mode is in use.
  - More bugfixes because I'm an idiot who can't do anything right the first ten times:
    - Broadcast mode 2p custom palette bug fixed.
    - Practice dummy air/ground teching bug fixed.
    - Now tests for ID when default colors are selected to bump out the base custom color.
      If you don't know what that is, it only affects color selections in rep files.
    - Message printed when noFast is toggled.
    - Various minor code fixes because I'm a retard.

07/10/14 v1.5b
  - Synced to th075Caster-071010a. Changes:
    - Vista autodetection merged in from CowCaster. Removed VISTA segment from config_caster.ini
    - Changes to perfectFreeze handling: improved message passing, less direct sync when spectating,
      bug with fast playback fixed.
    - recvFrom errors removed completely.
    - version errors changed to reflect other Caster types.
    - Bug with spectator joining fixed.
    - Bug with spectator input handling fixed.
    - obsCount now no longer prints out new observers if allowObs is not set.
  - Lots of bugfixes:
    - Fixed Booster p1->p2 input during character select.
    - Reports version of remote client on version errors, if synced to most recent caster protocol.
    - Fixed standby link information transmission(names, external port). Both clients must upgrade for this.
    - processRemotePalettes state 1 (use local palettes) should be fixed. Probably.
    - Fixed bug with non-custom colors being selected when the opponent has custom colors.
    - hPrintMutex Spectate mode bug fixed, which fixed the Booster thread. Oops.
    - Some text fixes here and there.
  - New features:
    - Background music toggle key added: Bound to backquote(`) key
    - bgmOff config option added to have IaMP start with the music off. Turn it on with the toggle.
    - Hotkey list added to documentation.
    - noFast config option added to disable high speed playback when spectating.
    - noFast toggle bound to backspace key in matches.

07/10/10 v1.5a
  - Blocking for custom color edits fixed.
  - Fixed freeze bug with processRemotePalettes.
  - Some minor text fixes.

07/10/09 v1.5
  - Custom color edits are now transferred between players! See palette.txt for details.
  - processRemotePalettes added to config file, press ' at the char select screen to cycle it.
  - Infinite spirit cheat added: Press F8 in matches to turn it on.
  - Re-enabled 1 delay. Why not?
  - Fixed obscure bug with character select info not being sent to spectators when in booster mode.
  - Fixed bug with practice dummy air teching causing unnecessary blocking.
  - "debug :" changed to "setting :" where applicable.

07/10/06 v1.4c
  - Names, remote port sent across standby links correctly now.
  - Fixed bug with Unknown names on spectating, when remote host is player 2.
  - Booster/Practice Dummy shouldn't be frozen after some matches anymore.
  - th075Quit being disabled still lets the game quit out normally when speccing is over with.
  - roundShow now prints out round times, total time spent.
  - roundShow will now print out the current time with individual match results.
  - replayFilenameFormat can now print out round time in one of three formats.
  - replayFilenameFormat can now print out a date that skips the first two digits of the year.
    (%D will give 07 instead of 2007)
  - autoSaveRename now kicks in as soon as it reaches the main menu, rather than the char select.
  - replay time and date now defaults to local time, can use system time with new systemTime flag.

07/09/30 v1.4b
  - "Temporary" names (IPs, 'Unknown') not transferred to immediate spectators.
  - More replayFilenameFormat tokens.
  - Now nags for a name until you get around to configuring config_caster.ini
  - Main menu no longer quits out when entering invalid input.

07/09/29b v1.4a
  - Major bugfix with replay renaming that rendered replays unwatchable
  - replayFilenameFormat added to let you control how the replays are renamed. See config_caster.ini for details
  - Minor fix with unknown names when speccing
  - unknownName flag added that allows you to disable setting unnamed players to their IP value.

07/09/29 v1.4
  - Player name, and short name, can be set in the ini file now.
  - Replays can optionally be automatically named with short names now.
  - Replays can optionally be automatically renamed to the player names.
  - If both clients are CowCaster 07/09/29 or later:
    - External port will be sent back to you and printed if different from your regular port
    - Player names are transferred between clients automatically.
  - Get Information reports player side now
  - roundShow key changed from ] to \, now accessable from in-game
  - stage free and stage manual keys changed from [ to backspace
  - autoNext state can be set during the character select with [ and ]
  - autoNextOn replaced with autoNext, works all the time instead of only when speccing.
    (autoNextOn flag still recognized, though.)
  - keys in manipmenu test to see if the window is in the foreground.
  - boosterWarnings flag added to make the frame loss warnings optional.
  - -s command line parameter added to enable spectating. Also added to info.ini file mode.
  - Fixed practice dummy guard reaction selectable move mode.
  - escSelect enabled by default in config_caster.ini

07/09/26 v1.3
  - Window name read from executable, to support translation patches and whatnot.
  - Executable name can now be set in config_caster.ini under th075File.
  - All port-related menu options removed. Set port by entering IP as: IP:port (e.g: mizuumi.net:7500 )
  - Spectate moved from #11 to #3, removing old "Try access to specific Port" option.
  - Beep sounded when spectate mode connects.
  - Fixed input-related bug when PORT section is disabled.

07/09/23b v1.2d
  - Fixed roundShow bugs for real this time!

07/09/23 v1.2c
  - Synced to th075Caster-070923. Changes:
    - perfectFreeze can now be set to 1 for the possible desync fix,
      or 2 to have it on all the time.
  - Documentation changed to have generic Caster information.
  - roundShow flag works when speccing correctly.
  - roundShow spellcard results incremented by 1.
  - wins/losses tracked even when roundShow flag is not enabled at the time.
  - Spectate option added to main menu: Waits until remote client is in
    game before connecting.
  - practiceNoSpec added to disable spectating when in booster or practice
    dummy mode.
  - Test myPort now handles hostname resolutions, defaults to the standby IP.
  - Get Information now prints mode of remote host.
  - Enhanced Get Information response for CowCaster clients, now reports
    the remote IP. This will only work if both clients are CowCaster 070923
    or later.
  - dontReportRemoteFlg added to disable enhanced information response.
  - Windows Vista autodetection added.

07/09/13 v1.2b
  - Synced to th075Caster-070912-test. Changes:
    - New potential desync fix added.
      To use the potential desync fix, set perfectFreeze to 1.
      This will only be enabled for matches involving Yukari, not Yuyuko.
    - perfectFreeze logic improved
    - cmd_space_1 -> cmd_casters
  - Added flag to print out win information.
    See roundShow in config_caster.ini for more details.
  - Removed unnecessary DInput-Error message box.

07/09/10 v1.2a
  - Remembers main menu mode.
  - Default main menu selection can be set in ini file.
  - Default IP and standby IP can be set in ini file.
  - Fixed menu input glitches.
  - autoWait description fixed.
  - autoSave changing at manipmenu works for non-root modes.
  - If pad is not found in spectating mode, automatically falls back to
    keyboard mode.

07/09/09 v1.2
  - Icon added, by popular demand.
  - Removed useless FPU change.
  - Prints version information on load.
  - AutoSave code no longer cut and paste hell
  - AutoNext keys accessable from all game modes now.
  - AutoSave and autoNextOn no longer have redundancy.
  - Keyboard inputs no longer grabbed when window is not focused.
  - 2p pad controls no longer bound if not in broadcast mode.
  - Pad inputs are not initialized if they're not used, optionally by
    using disablePadsOnSpec.
  - Can resolve hostnames now.
  - Stores default address and port.
  - mizuumi.net is now default standby address, and runs a full-time
    standby daemon. Use it!
  - config_caster.ini and info.ini now have English documentation. Read and
    behold!
  - minimum delay is now 1.
  - Delay calculator slightly less optimistic now.
  - Identifies when the remote client is also CowCaster for future protocol
    expansion.
  - Fixed it so that AutoSave can be enabled/disabled in spectator mode now.
    Oops!
  - Fixed build so that it actually outputs CowCaster.exe now. Talk about
    lazy...

07/08/15 v1.1b
  - Tweaks to Standby "fix", made a standalone standby daemon for use on
    Linux/FreeBSD: http://mauve.sandwich.net/misc/standbyd.tgz
  - Now emits a useful error report when th075 start fails.

07/08/13 v1.1a
  - Fixed Booster listening mode, will now watch replays and stuff
  - Fixed Booster so that it doesn't listen on practice dummy games
  - Fixed Booster so that it doesn't listen when set to off
  - Warnings printed if Booster drops frames.
  - Various miscellaneous bugfixes

07/08/12 v1.1
  - Merged in 070730 test caster's desync 'fix', changed to correct FPU
    control word.
    Still probably won't work.
  - Standby mode fixed to work properly through routers.
    Two users can now punch through their routers by bouncing off of a third,
    neutral user by both using standby mode on him. No more Hamachi needed!
  - Practice dummy upgrades
    - 9/HJ9 added to reactions
    - [A], [B], [C] moves added, booster command interpreter glitch fixed
    - Reaction moves can be set to happen on hit or wakeup as well
  - Now remembers your selected characters after saving a replay
  - Automatically calculates a delay for you
  - Merged in tropsy's moecaster changes:
    - Spellcard hiding fixed
    - Autosave function. You can either turn it on in config_caster.ini
      or press -/= in the game to turn it off or on, respectively.
    - Reduced delay before you can confirm a stage after pressing random
      (C key).
  - Booster listening timing fixed, can now properly listen on replays
    run at fast speeds, up to about 1000FPS.
  - Booster non-listening timing fixed, should no longer drop some frames
    for people who are not set in listening mode. (Also fixes practice
    dummy timings.)
  - Booster non-declaring bug fixed

07/07/25 v1.0
  - Initial release
  - Enhanced practice dummy
  - Graze attack glitch in Booster's command interpreter fixed 
  - Booster delay setting is cached and a blank or invalid entry will use it.
    (All dummy settings are cached in the same way)
