Knights 0.6 -- Tuesday May 20th, 2003
Troy Corbin Jr. <troy@knights-chess.com>

* Changed version to 0.6
* Added a new tab that displays details from a loaded PGN match.
* Added a server selector to the Login dialog.
* Added hyperlinks to the ICS Console.
* Improved printed output.
* Added printing capabilities to the ICS Console.
- Reduced the time needed to resize the board by about 33%
- Fixed bug where the New Match dialog sometimes defaulted to an unplayable
  match.
- Fixed a bug in our XBoard protocol implementation which caused some engines
  ( like GNUChess ) to fail.
- Fixed bug where some loaded matches wouldn't display the player's names.
- Fixed a crash that occured when you closed an ICS related tab, then
  disconnected from the ICS.
- Fixed a crash that occured when you couldn't connect to your ICS.
- Expanded the range of the "Opponent's Strength" slider so that it didn't
  cripple some engines.
- Fixed a bug where selecting the current board position from the Notation Bar
  could erase the board.
- Fixed a bug where an engine that does not implement the 'pause' feature could
  have caused Knights' clocks to continue running during a pause.
- Fixed a bug where the console could be displayed in doublespace.
- Fixed the Match->Resign option.
- Knights generated PGN files now save NAG, RAV, and Annotations.
- Removed the ability to swap sides midgame. This will be reinstated later when
  we can implement a more feature-rich and trouble free dialog box.
- Potential memory leak fixed ( thanks to Jon Keating! )

Knights 0.5.9 -- Friday January 17th, 2003
Troy Corbin Jr. <tcorbin@users.sourceforge.net>

* Changed version to 0.5.9
* The console is now organized into 'Tabs', rather than using a splitter. These
  tabs can be dynamicaly organized into different windows by simply dragging
  them. Drag a tab onto the desktop to create another tab window.
* Added the 'Seek Graph', which is a plotted chart of matches which people are
  seeking. It behaves very much like the 'Sought Match List', but the graph
  makes it easy to spot matches around your desired Rating / Time Controls.
* Added movement animations.
* Added a 'New Match' dialog that opens whenever you start a new match. It
  allows you to set the time controls, players for each side, and more.
* Moved theme installation to the 'Settings' menu.
- Major speed improvments when selecting and dragging chessmen.
* You can now install multiple themes at once.
* Knights now handles keyboard input better. Don't worry about pressing
  'Enter' before you start chatting, just begin.
* Knights can now auto-configure the following additional chess engines:
  Cilian, Faile, OliThink, Pepito, and Yace.
- Fixed sloppy SAN disambiguation where it wasn't needed.
- Fixed gcc 3.1 compilation errors.
* Added Italian translations.
* Added Finnish translations.
- Fixed a bug where Knights would sometimes declare a draw too early.
- Fixed a bug in which the King could castle even if an adjacent position was
  being attacked.
* Knights can now correctly read PGN files that contain FEN notation.
* You can now right click on a match's button to access a mini-file menu.
- XBoard is now the default engine protocol when you configure a new engine.
* Added basic support for the UCI engine protocol.
- Removed the listing for the Knights engine protocol.
* New users must accept our license ( the GPL ) before they can continue.
* Movement highlights now also work when reviewing a match.
* You can choose to login to your ICS as a 'guest' from the Login Dialog.
- Fixed a bug which sometimes kept audio from working.
* The 'Help' button in the 'Configure Knights...' dialog will now display
  context sensitive help, depending on what page you're viewing.
* Knights can read and display images stored in the SCID *.img file format.
- Fixed problem where the Console wouldn't redraw without focus.
* You can now change the Console's text size using it's context menu.
- The Retract menu option can now be used several times in a row.
- Knights' main window is now raised to the top and given focus whenever a
  new match starts, or whenever you select a different match.
* You can now have multiple PGN files open at the same time.
- Major rewrite of internal communications code.
- Fixed bug that made en passant moves illegal when your king was in check.
- Countless minor bugfixes.

Knights 0.5.6 -- Friday June 21st, 2002
Troy Corbin Jr. <tcorbin@users.sourceforge.net>

* Changed version to 0.5.6
- Fixed a bug in the setup wizard that makes every server but FICS the
  current server.
- Knights will now handle invalid ICS logins in a sane manner.
- If you accept or counter-challenge a match offer from the
  console, the Match Pop-up will go away.
- Fixed a bug where Less-than and Pipe symbols wouldn't render in the console.
- ( Possibily? ) Fixed a bug that caused Knights to repeat the final moves in a
  match in the PGN game.
- If your opponent on ICS resigns, Knights now handles it properly.( Redux )
* Added a History file to Knights. It will contain all past ChangeLog entries
  while ChangeLog will only contain entries for the current version.
* Expanded error reporting for failed theme installation.
- Fixed missing character bug in ICC play.
* The "Auto Close Last ICS" option is now on by default.
* You now setup Timeseal for each individual server.
* Added a combobox that lets you select the level of profanity filtering your
  ICS preforms on incomming messages.
  ( Settings->Configure Knights->Chess Servers->Options->Profanity Filter )
- Knights should now correctly use the "Clock Ticking" and "Lag Compensation"
  data sent to it by FICS.
* Added support for movelist retrieval from ICS ( experimental )
- Fixed Knights' parsing of Recursive Annotation Variations. RAVs embedded
  within one another are now recognised and kept track of.
- Fixed the display of Numerical Annotation Glyphs
* Added support for proposed NAGs #140-154 and #190-195
- After loading a completed match, Knights now stops the clock and displays an
  appropriate message on the Status Bar.
* Knights now fills out the "Mode" PGN tag when it knows the correct value.
- Fixed a bug where Knights looked for the "root" entry in a chessman
  theme.conf rather than "rook".
* Knights now reads and uses the Notation Coordinate Colors specified within
  theme.conf files.
- Fixed the time read from saved, unfinished PGN games.
* Moved the "Seconds Between Seek Updates" and "Auto Close Last ICS" options
  from the General Settings to the Server Options tab.
- Rewrote the engine communications code to use KDE's TDEProcess instead of UNIX
  pipes and signals. This should make Knights more portable, and should fix
  some obscure errors.
* Applied KDE3 compatability patch from Harald Fernengel
- Made internal changes to the shutdown procedure. (KDE3)
- Made internal changes to the console's stylesheet. (KDE3)
* Made some minor changes with layout spacing.
- Fixed the Status Bar so that it's alignment is automatic, based on the
  current language.
* Replaced the Default Board's 'Highlight' graphics with new images that
  show off KDE3's true alpha-channel support. ( Blatant eye-candy, yum )
- Disabled the back button in the Setup Wizard's last page so you can't go back
  and set everything up multiple times.
* When examining a match, manipulating the Notation List will now move you
  back and forth through the match.
* Moving the mouse wheel will now navigate the Notation List.
* Added "Player History" to the right-click menu in the Sought Games List.
- Fixed that annoying Console 'jump' you got whenever a match began.
- Fixed the coloring of t-shouts and says.
* You can now continue to drag your chessman even after your opponent has moved
* The 'Show Last Move' option now uses the 'Movement' highlight to display the
  appropriate positions. If a chessman was attacked as a part of the previous
  move, then that position is shown with the 'Attack' highlight.
* When you preform a 'Premove', it will be represented on the board using
  transparent chessmen, rather than the old way ( which was represented with
  nothing =).
* You can now preform premoves during a match vs. a computer opponent.
* Left clicking anywhere on the board will cancel a premove.
* Added the "Assess" option to the right-click menu in the Sought Games List.
* Improved handling of Disconnections during ICS play. Also improved handling
  of "Illegal Move" messages.
* "Play White" and "Play Black" menu options will now be disabled during an
  ICS match.
* Added the ability to Print the notation for the current Match.
* Added translations to French, German, and Estonian.
- Fixed shutdown crash that occured when console was still open.
* Added 'Borders' to Chessboard themes.
- Knights no longer requires OpenGL.
* Added 'busy' cursor when waiting for opponent to move.
* Added the "Bowron Abernethy Chess Engine" to the list of autodetected
  engines in the Setup Wizard.
- Fixed a bug in the Challenge Dialog Box that scrambled match parameters.
* Expanded 'Notification' coloring.

Knights 0.5.4.1 -- Wednesday February 6th, 2002
Troy Corbin Jr. <tcorbin@users.sourceforge.net>

* Changed version to 0.5.4.1
- Fixed critical error which disabled your ability to capture pieces.

Knights 0.5.4 -- Monday February 4th, 2002
Troy Corbin Jr. <tcorbin@users.sourceforge.net>

* Changed version to 0.5.4
* All matches now use the same image cache, rather than creating it's own.
  This will save you 2 meg of memory per concurrent match.
- Fixed a bug which prevented some castling.
* Added the 'Resign' option. ( Match->Resign )
* Knights now automatically adjusts the display depending on which army you're
  playing. If you're black, it will be displayed on the bottom. Of course, the
  option 'Reverse Board Orientation' reverses this effect: the local player's
  army will be displayed at the top.
- Fixed problem with the display of the clocks while playing over an ICS.
- Fixed a bug where Knights will send the resign command to an ICS whenever
  an ICS match is closed. Now, resign is never sent to ICS unless you tell
  Knights to do so.
- If your opponent on ICS resigns, Knights now handles it properly.
- Knights now writes the correct result of a resigned game in .pgn files.
* Knights now fills out the PlayerType and Termination .pgn tags when it knows
  the correct value.
* Implemented "drag & drop" movement of chessmen.
* Streamlined a lot of drawing code, making some operations ( like "Reverse
  Board Orientation" ) much faster
* Added initial support for examining games via ICS.
* Added SOUND! ( Settings->Configure Knights->Audio )
* Optimized various bits of ICS code
* You can now call your opponent's flag ( Match->Call Flag )
- Fixed some bugs concerning ambiguous SAN notation
* Increased the width of the clock displays, making them more readable with
  smaller boards.
* Added an option to automatically close the previous ICS match when you
  begin a new one. ( Settings->Configure Knights->General->Automatically
  Close Previous ICS Match )
* Knights can now begin with a match vs PC open, or it can begin connecting
  to your ICS. ( Settings->Configure Knights->General->When Knights Begins
  It Should: )
* Added Premove support. ( Settings->Configure Knights->Chess Servers->
  Options->enable Premove )
* Added checkboxes for ICS Shouts, Unregistered Tells, Kibitzes, Seeks, and
  Private Matches. ( Settings->Configure Knights->Chess Servers->Options )
- Fixed the "Reject Draw" option for ICS games.
- Fixed a bug where Channel Reply didn't work when the last channel message
  came from an unregistered user.
* The menu option "Match->Reverse Board Orientation F2" has been renamed to
  "Match->Flip Board F2". This option now works independently of the original
  option ( Settings->Configure Knights->Display->Reverse Board Orientation" ).
  Where the original option effects every board ( and is saved between
  sessions ), this new Match Menu option effects only the current match, and
  is not saved in any way.
* Now when you're challenged in ICS, a dialog will pop up with the details of
  the challenge. From here you can accept or decline, or change the parameters
  and make a counter offer.
* Added a patch from Harald Fernengel that makes Knights compatable with KDE3.
- Fixed bug where new ICS games began with garbage highlights.
- Fixed a bug which disabled en Passant moves via ICS game.
* Added extra error messages to detect theme loading problems.

Knights 0.5.1 -- Friday December 21st, 2001
Troy Corbin Jr. <tcorbin@users.sourceforge.net>

- Fixed a compile bug for Tru64 users
- Fixed a bug introduced in 0.5 that made all play over ICS impossible
- Fixed a bug where Knights counted the opening position in an ICS match
  as a move.
- Fixed another ICS related bug where moves you made, which ICS echos back,
  were counted twice.
- Fixed yet another bug. This one wrote SAN for a pawn's captures in a way which
  was incompatible with other programs.

Knights 0.5 -- Monday December 17th, 2001
Troy Corbin Jr. <tcorbin@users.sourceforge.net>

* Changed version to 0.5
- Some distros had a problem compiling 2 lines of the documentation. This
  has been fixed.
- Fixed a bug where recieving a position for a game we don't know about caused
  Knights to crash.
- Fixed a bug where Knights did not notify ICS when a game was closed.
- In ICS matches where the local player was black, the chessmen were displayed
  on the wrong coordinates on the board, making the match unplayable. This has
  been fixed.
- Incomming clock times from ICS matches where divided by 10, making a 2 minute
  clock look like 12 seconds. This has been fixed.
* Buffered the output of the Sought Games List to help remove the
  "flashing" effect.
- Fixed the ability to review games on an ICS.
* Added ability to read .pgn files that contain multiple matches. Knights will
  display a summary of the matches in a new window, and you simply click ( or
  double-click based on your global KDE settings ) on a match to review it.
- The Sought Games List required a double click to accept a match, regardless
  of your global KDE preferences. This has been fixed.
* Knights can now append all your saved games to a single .pgn file.
* Added the "Accept Match", "Tell...", "Finger", and "Add to Friends List"
  options to the Sought Games List right click menu.
* Added "Reverse Board Orientation" option to the Match menu thanks to a patch
  from Kunnar Klauks.
- Knights now closes the connection to the ICS when you close the console.
- Fixed a bug where a pawn promotion in a loaded game would prompt you to
  choose the promotion.
- Fixed the phantom button bug which could occur if you closed matches
  out of sequence.
* Added support for the XBoard commands "telluser" and "tellusererror".
- Did some minor code cleanup throughout the project.

Knights 0.4.9 -- Tuesday December 4th, 2001
Troy Corbin Jr. <tcorbin@users.sourceforge.net>

- Changed version number to 0.4.9
* Added option to disable the splash screen
* Added configuration for internet servers
* The Game menu is now the File menu, and the Opponent menu is now the Match
  menu.
- The new game menu now dynamically enables or disables game types based on
  your configuration. So, if you don't have any chess engines configured, you
  can't play a vs. PC or PC vs PC game. Likewise for internet play and server
  configuration.
* Added the Console... which handles sending and receiving messages via chess
  server, and any other online transactions that don't occur Over the Board.
* Added "High Quality" mode, which displays a much smoother chessboard with
  very little pixelation... even at the smallest board sizes. However, there
  is a noticeable speed tradeoff.
* Added a 2Meg cache which greatly offsets much of the speed loss in High
  Quality mode ( At least on my 600 it does ). Still not as fast as regular,
  which should be fine for lower-end machines.
- Knights now displays an error message when you try playing with a bad book
  engine configuration.
- Fixed bug where Knights couldn't read a move from a .pgn file if it was the
  last token on the line.
* Knights will now read themes from two locations... The system-wide themes
  directory ( usually /usr/share/apps/knights/themes ) and the media directory
  so you can run Knights without installing it ( ../media )
* Added the 'Ponder' option to the Opponent menu.
* Added the 'Show Last Move' option to the Settings menu.
* Added 'Pause/Resume' functions to the Game menu.
* Separated themes into two - a board theme and a chessman theme.
- Removed the Green Marble theme from the Knights distro.
* Created the ThemePack distro. All themes ( except default ) will go here.
- Fixed the 'Reverse Orientation' option... it now displays correctly.
* Extended Knights' document handling to act like you would expect it: It
  remembers URLs ( to resave, or save a loaded game ), and prompts whenever
  an unsaved game is about to be destroyed.
* Expanded .pgn support to include multiple games per file and propper
  parsing of comments.
* Added application/pgn mimetype
* Knights now connects to FICS and will play chess there.
* Added ALT-R to reply to the last private tell you recieved.
* Added ALT-C to chat on the last channel you recieved a message on.
* Knights now supports multiple matches at once.
* Knights will now default Pawn Promotions to Queen if the user does not
  select one.
* Added ability to Retract or Undo a move while playing against an engine.
* Added a "Install Themes" function in the Settings.
* Added ability to modify the key bindings.
* Added a setup wizard to get new users up and running faster.
* Too many minor changes to document.

Knights 0.4.6 -- Wednesday August 15th, 2001
Troy Corbin Jr. <tcorbin@users.sourceforge.net>

- Changed version to 0.4.6
* Added en passant moves.
* Added rules for 50 move rule.
* Added rules for forced draws. ( 10.3 & 10.4 of F.I.D.E. Laws of Chess )
* Knights now sends time & otim to engines that want it.
- Fixed bug where Knights interpreted messages during a game into feature
  commands. This occurred while playing Crafty. It sent "time control" during a
  match, which Knights interpreted as "feature time=0" due to the way Knights
  parses engine data as space separated tokens. A Timer was added to engineio
  which keeps any feature commands from comming through after an initial two
  seconds. This will probably become a problem again, however, and I should
  look into making Knights read engine data as full lines rather than space
  separated tokens.
- Fixed bug where internal records, and therefore PGN output, did not reflect
  engine names properly when the feature myname was used. Now internal
  records are not initiated until after the engines have initiated.
- Fixed bug where the last move of a game could result in an Illegal Move
  error being printed on the status bar.
* Knights now recognizes all PGN Tags.
* Loaded games will now be displayed as it loads.
* Added command line option -d <path> for specifying Knights' data directory
- Fixed bug where the king could castle even after he moved
- v 0.4.5 broke the Promotion Selection Dialog. It is now fixed.
* Selecting previous moves from the notation combobox will let you review
  the game. If someone makes a move while you're reviewing, you are returned
  to the current position.
* The up and down arrow keys will cycle you through your game's history.
- You should now be able to continue a game if the engine thinks you've made
  an illegal move.
* Added "Force Move" command to force a computer opponent to make a move.
* Added "Offer Draw" command to offer a draw to your opponent.
* Experimental support for Book Engines
- Fixed FEATURE delay for XBoard compatible engines
- Fixed a bug where new installs had to create two engines and switch them once
  before any engines would load.
* Added "Reverse Board Orientation" option which, well, reverses the board's
  orientation. =)
* Added first draft of documentation.
- Fixed minor bug in XBoard protocol's alternative move command
- Fixed other minor XBoard compliance issues
- Confirmed that KnightCap works with Knights
- Confirmed that Sjeng works with Knights
- Consolidated entries for GNUChess v4, XBoard v1, XBoard v2, and XBoard v3
  protocols into XBoard
* Engine configurator now sorts the engine list
- Other minor tweaks that I can't remember

Knights 0.4.5 -- Sunday July 29th, 2001
Troy Corbin Jr. <tcorbin@users.sourceforge.net>

* Re-rendered graphics
* graphics are scalable... 14 different board sizes per theme
* Themes now stored in tarballs
* Knights recognizes and accepts most XBoard version 2 Features
* Crafty v18.9 is confirmed to work!

Knights 0.4.4 -- Friday July 20th, 2001
Troy Corbin Jr. <tcorbin@users.sourceforge.net>

* enabled engine setup from Settings
* enabled engine vs. engine games
* Knights now recognizes true time control periods
* enabled playing as the black army
* added work on supporting book engines
* minor changes to the main interface

Knights 0.4.2 -- Tuesday July 17th, 2001
Troy Corbin Jr. <tcorbin@users.sourceforge.net>

* Initial public offering via CVS
