8th Aug 2002 Version 1.0 - Initial release 27th Aug 2003 Version 1.1 MSCP Engine changes - Added halfmove tracking, so that MSCP will now call a draw on a game with 50 consecutive moves without either a pawn move or a capture. - Added a full history of moves, allowing the last move and last move SAN string for each side to be maintained, and rewound, on move undo. - New "history" xboard command, and MSCP_EXEC_HISTORY equivalent, to print out the complete list of game moves since setup. Output is in PGN format, for use with PGN save files. - Reassigned tick callback period to instead be an opaque parameter passed back to a tick callback. - Redesign of output buffering. Originally, the buffer size and count of buffered characters was held in bytes 0 and 1 of the buffer. Now, sizes and lengths are passed in and out of MSCP explicitly and separately. - Improved error handling in FEN setup. In particular, an invalid FEN will now not overwrite or alter the current board setup, and is properly ignored. - FEN setup now reads in the ply and halfmoves, previously ignored or defaulted. - Moved from MSCP's pseudo-random number generator to Inform's. This will improve the randomness of openings played, as Inform's random numbers are seeded by system time, or other unpredictable value, on interpreter start. - Fixed a core MSCP bug that caused loss of en passant data, and another to do with incorrect FEN imports of en passant target square. - Fixed status output for correct en passant target square at all times, not just when an en passant capture is possible. - Assorted small bugfixes, minor speed improvements, and readability improvements. Glkboard changes - Control panel buttons are now anti-aliased. - Smarter graphics update used to improve GUI responsiveness. In early versions, the complete GUI was redrawn on each GUI event; now, only the GUI elements that have changed are redrawn (with a couple of minor exceptions), leading to much snappier GUI response to mouse presses. - Image dimensions are now cached in the program, to save repetitive image queries. - Messages added for game draw, game saving and loading, and loading failure. - Added halfmove tracking for calling a draw on games that might otherwise be endless. - Implemented full PGN save/load format for saved games. PGN game data can now be both exported to and imported from Xboard and other chess programs that use or understand PGN format. As a result, saving and loading are somewhat slower operations, but their data format is much more portable. - Added some limited error reporting on trying to load invalid PGN data. - Assorted readabilty changes, internal adjustments, and speedups.