CHANGES
~~~~~~~

v3.00 (17 March 2003)
~~~~~

	Modified rook on open file so that a different value can be specified
	when in the endgame.
	
	Re-organised the routines for king safety, to make it easier to change
	in the future.
	
	Removed the old knight mobility value.
	
	Added lookup tables for knight, bishop, and rook mobility, and added code
	to more generally measure and score the mobility of these pieces.
	
	Added a king pressure parameter, that measures the number of attackers
	on the king, and combines this with the types of the pieces that
	are making the attacks, to get a value.  This value is then scaled by
	a king pressure multiplier.

	Added recognition of KNKN, KBKN, KBKB, KRKR and KQKQ as practical draws
	in the evaluation function.

	Added code for recognising some cases of rook pawns with wrong coloured
	bishops.

	Added code to recognise king and bishops of same colour against king as
	a draw in the evaluation and in the search.

	Modified the way the transposition table records are probed to make the
	information usage more efficient.  GLC can now solve Fine70! :)  Endgame
	search efficiency is now much improved.

	Hashes a repetition count into the hash signature when storing and
	retrieving hash records.  This solves the problem where GLC can sometimes
	make a move that it doesn't think leads to a repetition, but it does
	actually lead to a repetition.

	Fixed a subtle bug where the priority of a move may not be set in
	certain cases, so making a mess of the move ordering.

	Added code to cap the values in the history table during search.

	Completely changed the console interface and threading usage so that
	only 1 thread is used in the entire engine.

	Added code for a new opening book format.  This format supports
	transpositions in book lines.  The book builder is now part of the
	command line interface of the engine, and so is no longer a separate
	program.

	Finally got around to writing some user documentation. :)

v2.18 (3 March 2002)
~~~~~

	This release fixed a number of pondering bugs and time-allocation bugs.

v2.17 (3 March 2002)
~~~~~

	This released fixed a bug with mate scores in the hash table, which could
	have the effect of possibly making GLC unable to complete a mate sequence.
	v2.16 has been withdrawn.

v2.16 (2 March 2002)
~~~~~

	Engine changes
	~~~~~~~~~~~~~~

	Modified PV storage so that it is hopefully faster.  Changed so that PV
	is found for fail highs and fail lows.  Now stuffs the PV back into the
	hash table after a search.

	Changed so that if there is only one valid move, the engine still searches
	it if it is in analyse or ponder mode.

	Fixed a bug in the search repetition draw test, which would cause a root
	move to look like a draw by 3-fold repetition, when in fact we are only
	on the first repetition.

	Moved the Zobrist hash constants so that CPosition can use them as well
	as CBoard.  This is in preparation to change the opening book to a
	hash table rather than a tree.  Added incremental hash calculation to
	the CPosition class.

	Added simple material totals (1, 3, 3, 5, 9) for each side to the
	incremental board values.  Also added a count of each type of piece on
	the board to the incremental board values.  This resulted in a small
	slowdown in move making speed.  These values are now used in a number
	of places instead of using CountBits() or comparing the user defined
	material balances.

	Changed all GenXXXXMovesBitmap() functions to #defines.  This resulted
	in a small increase in speed.

	Moved the draw by 50 moves rule test to the end of TestGameFinished.
	Hopefully this should mean the GL doesn't think it is a draw when
	it is checkmate on the 100th ply.

	Changed default value of a doubled pawn from -55 to -30.
	Modified some of the King safety defect values slightly.  Modified the
	non-linear king defects lookup table so that the change from early
	king safety to later king safety is smoother, and generally not quite
	so bad.

	Changed rook behind passed pawn evaluation so that it is different
	depending on the rank of the pawn.

	Changed rook evaluation in the endgame so that it isn't quite so bad
	to be in a corner (was -100, now -50).

	Modified pawn static evaluation in the opening and midgame so that there
	aren't negative values in front of the flanking pawns.

	Added detection of a 'potential' passed pawn.  This is a pawn that will
	eventually win a fight with a single pawn on an adjacent file ahead.

	Modified static king safety positional defects so it is not quite so bad
	for the king to move around behind his pawns.

	Fixed numerous bugs with bishop square colours, and pawn queening square
	colours.

	Changed test for game stage to use the simple material values (not
	including pawns) rather than the total number of pieces (not pawns) on
	the board.

	Redesigned code that deals with hinting for positions with few (<=5)
	men.  Added some hints for KRP-KR, KRP-KB, KRP-KN.

	Reformed the per-piece analysis to deal with one piece type at a time.
	This resulted in around a 5% speedup in evaluation.

	Added knowledge of opposite coloured bishops in the endgame.

	GUI changes
	~~~~~~~~~~~

	Still none.  Still plan to release at a later date.  I have started work
	on the new GUI -- it is called Chess Nut, and will work with the
	WinBoard versions of Green Light.

	WinBoard changes
	~~~~~~~~~~~~~~~~

	Added ability to setup and probe Edwards endgame tablebases.
	PLEASE NOTE - this is only in the WinBoard wrapper, it is not in the
	engine,	and will make no difference whatsoever to the strength of the
	engine.  At current it is just so I can investigate (1) the correctness
	of my internal KPK tablebase code ("kpktest") (2) can probe	endgame
	positions manually ("tbprobe") (3) can do some investigation of endgame
	positions ("tbanal") so that I can more accurately code the endgame part
	of the static evaluation. ** In the future, endgame tablebases will be
	supported in the search... but don't hold your breath :)

	Changed the "bk" and "bkp" commands to be more natural.
	"bk" now performs a book probe.  "bk on" and "bk off" switch the book usage
	on and off.  "bkp" is no longer supported.  A new command "book" is added
	so that book can be changed from the command line.

	Increased the priority of the wrapper threads (not the engine search
	thread).  Hopefully this will cure (minor, rarely ocurring) problems with
	running out of time.

	FEN (or SetBoard) now complains of the side-to-move hasn't been specified.

	Added ability for the user to completely change the name that is
	reported to WinBoard.  Previously "glcXXX-" (XXX == current version
	number) would still be tacked on in front of it.  To use this you
	add "-name the-name-I-want" to GLC's command line.

v2.15c (9 October 2001)
~~~~~~

	This is a bug fix release of v2.15.

	New bugs found:
	~~~~~~~~~~~~~~~
		B215b.1	Castling moves in the opening book caused GLC to drop out
				of book when playing.

	Bugs fixed:
	~~~~~~~~~~~

		B215b.1	Castling moves in the opening book caused GLC to drop out
				of book when playing.

	Outstanding bugs:
	~~~~~~~~~~~~~~~~~
		B210.2	GUI version needs to be modified for new engine


v2.15b (9 October 2001)
~~~~~~

	This is a bug fix release of v2.15.

	New bugs found:
	~~~~~~~~~~~~~~~
		B215.1	When setting up a position as black under winboard, GLC
				would end up playing for the wrong side, or already having
				moved the A pawn.

	Bugs fixed:
	~~~~~~~~~~~

		B215.1	When setting up a position as black under winboard, GLC
				would end up playing for the wrong side, or already having
				moved the A pawn.

	Outstanding bugs:
	~~~~~~~~~~~~~~~~~
		B210.2	GUI version needs to be modified for new engine

v2.15 (8 October 2001)
~~~~~

	Engine changes
	~~~~~~~~~~~~~~

	Changed code that extends the search time if the current search failed low
	or failed high so that it only extends on a fail low.

	Modified evaluation values slightly towards values obtained from TD-Lamba
	learning.  This seemed to help with the strengh... but time will tell.

	Added an attack-defects score to the evaluation.  This combines the
	king safety scores and the attack scores to give a non-linear bonus.

	Added knowledge that it is better to have passed pawns whose promotion
	square is the same colour as our bishop.

	Added code to recognise outside passed pawns.

	Now pushes attack bonus scores through a non-linear lookup table.

	Changed aspiration window from +/-0.5 pawns to +/- 0.4 pawns.

	Fixed so that a fail-high move will be taken even if it is not resolved.

	Fixed non exact mate values that are stored/retrieved from the hash table.

	Changed razoring test from (mat + PAWNS(1.5) < alpha) to
	(mat + VALUE(pieceTaken) + PAWNS(3.0) < alpha).

	Changed quiescence SEE pruning from (staticEval <= 0) to
	(staticEval < -PAWNS(0.25)).

	GUI changes
	~~~~~~~~~~~

	Still none.  Still plan to release at a later date.  Will probably
	just be a GUI for the WinBoard version.

	WinBoard changes
	~~~~~~~~~~~~~~~~
	
	Added the ability to ponder on the opponents time.

	Updated internal epd suite test function.  Now optionally writes
	epd output to a file.  Now also shows more detailed statistics after
	the complete test run.  Also fixed to understand "am" as well as "bm".
	Now parses more completely, so it can cope with a wider variety of
	epd input formats (some of which are actually erroneous).

	Removed complicated Windows Console code from the command line
	interface.  Now no longer displays a coloured board.  Also, can no
	longer correctly echo the current command line while computer is
	thinking.  I'm still trying to think of a good solution for this.

	Now reports mate scores to Winboard and in epd output in the
	range +/-32767.

	Changed time controls to cope with pondering, and also to assume
	slightly fewer moves in a game.

	Can now load a pgn format game from stdin.  Just specify "-" as the
	filename, and then paste the pgn into the command line.  The pgn will
	need an end of game token (either "1-0", "0-1", "1/2-1/2" or "*").

	Added code to show full move numbers in PV output.

	Fixed a bug with generating invalid pawn moves when in check and there
	is an ep capture available (generated moves like Ph4xa5!).

	New bugs found:
	~~~~~~~~~~~~~~~
		None.

	Bugs fixed:
	~~~~~~~~~~~

		B213.2	The move that is being reported from a search is not
				always being correctly converted from ASCII.  When
				this occurs the move string is being posted to WinBoard,
				so this doesn't have a bad effect, but is worrying,
				and needs looking into.
		B213.3	I have seen the program perform a search which picks a
				move, but it posts a completely different move to the
				message queue.  It lost a drawn game with Arasan on FICS
				due to this problem.

	Outstanding bugs:
	~~~~~~~~~~~~~~~~~
		B210.2	GUI version needs to be modified for new engine

v2.14 (21 August 2001 -- This version was not released)
~~~~~

	Engine changes
	~~~~~~~~~~~~~~

	Added code to extend the search time if the current search failed low
	or failed high, and it doesn't look like we would resolve the search
	before we ran out of time.

	Modifed engine to use milli-pawn values rather than centi-pawn values.
	Also changed to that the evaluation values can be saved and loaded.
	The material values of the pieces are also configurable, and can be
	specified separately for black and white.

	Added code for TD-Lamba learning (this required the previous change).

	Added code in the search to recognise draws due to lack of mating
	material.

	Modifed internal move representation (no longer contains castling flag
	or en-passant flag, or direction flag.  These were replaced by a
	"special" flag).

	Made modifications so that the engine can still compile under WinCE.

	Fixed code that penalised positions where there are no pawns, and there
	is very little material difference.

	GUI changes
	~~~~~~~~~~~

	Still none.  Still plan to release at a later date.  Will probably
	just be a GUI for the WinBoard version.

	WinBoard changes
	~~~~~~~~~~~~~~~~

	Added recognition of initial Wild5 position, for playing Wild5 on
	an internet chess server.  When a Wild5 game is recognised, the resign
	score is set to -25 pawns (other wise it is -6.5 pawns).

	Will now offer a draw if the last 5 search results have been very
	close to zero.

	Will now accept a draw offer if the last 5 search results have been
	smaller than 0.01 pawns.

	Updated internal epd suite test function.  Now optionally allows just
	one test to be run (specified by ordinal number of test in file).

	Changed time controls to assume the game will take more moves.

v2.13 (21 February 2001)
~~~~~

	Engine changes
	~~~~~~~~~~~~~~

	Increased move making speed considerably (>25% faster).  This only has
	a slight effect on the NPS speed in most positions, but tends to offset
	the slow down effect of all the extra knowledge added below :)

	Added blocked pawn detection to evaluation function.
	
	Added extra passed pawn information, including blocked passed pawns,
	and passed pawns supported by their own king.

	Added bishop outpost information.

	Tweeked pawn piece/position tables.  The old tables seemed to be
	penalising early pawn moves too much.

	Added code for extra null move reduction nearer the root of the search
	tree.

	Fixed bug where moves were being put in the hash table when the search
	failed low.

	This fix finally allowed iterative deepening to work, so that has been
	added also for this release.

	Fixed the aspiration search values if the prevous iteration returned
	a checkmate value.

	Cut the search if alpha or beta contains a mate value that is provably
	not possible to better at this depth or later.

	Added knowledge of what to do when each side castles in opposite
	directions... e.g. a "pawn storm" attack.

	Added development bonusses in opening and middle game.

	GUI changes
	~~~~~~~~~~~

	Still none.  Still plan to release at a later date.  Will probably
	just be a GUI for the WinBoard version.

	WinBoard changes
	~~~~~~~~~~~~~~~~

	Added ability to run EPD test suites.  You specify the number of
	seconds per position, and the name of the test suite file, and 
	GLC gets on with it.  It produces a summary report at the end.

	You should set up the hash table size before running the tests.

	Added support for the WinBoard v2 protocol.

	Updated 'help' command.

	Added prompt which gives feedback during a search.

	New bugs found:
	~~~~~~~~~~~~~~~
		B213.1	Problem when program closes when there are still
				log messages on the input queue.  The monitor thread
				is not being stopped, and this causes a crash on exit.
		B213.2	The move that is being reported from a search is not
				always being correctly converted from ASCII.  When
				this occurs the move string is being posted to WinBoard,
				so this doesn't have a bad effect, but is worrying,
				and needs looking into.
		B213.3	I have seen the program perform a search which picks a
				move, but it posts a completely different move to the
				message queue.  It lost a drawn game with Arasan on FICS
				due to this problem.  It must happen only very rarely.
		B213.4	A move is being added to the hash record when the node
				search fails low.
		B213.5	The aspiration search values is slavishly being
				calculated by adding +/- half a pawn to the result
				from the previous search.  This is not correct if the
				previous search returned a mate value.

	Bugs fixed:
	~~~~~~~~~~~
		B213.1	Program close crash fixed.
		B213.4	When the search fails low, a null move is now added to
				the hash record, rather than a misleading one.
		B213.5	Aspiration search now uses correct value if the previous
				iteration returns a mate value.

	Outstanding bugs:
	~~~~~~~~~~~~~~~~~
		B210.2	GUI version needs to be modified for new engine
		B213.2	The move that is being reported from a search is not
				always being correctly converted from ASCII.  When
				this occurs the move string is being posted to WinBoard,
				so this doesn't have a bad effect, but is worrying,
				and needs looking into.
		B213.3	I have seen the program perform a search which picks a
				move, but it posts a completely different move to the
				message queue.  It lost a drawn game with Arasan on FICS
				due to this problem.

v2.12 (17 January 2001 -- This version was not released)
~~~~~

	Engine changes
	~~~~~~~~~~~~~~

	Fixed bugs in evaluation function where the black/white values were
	not being symmetrically calculated.

	This probably caused numerous small errors in the search.

	GUI changes
	~~~~~~~~~~~

	Still none.  Still plan to release at a later date.  Will probably
	just be a GUI for the WinBoard version.

	WinBoard changes
	~~~~~~~~~~~~~~~~

	None.

v2.11 (29 November 2000)
~~~~~

	Engine changes
	~~~~~~~~~~~~~~

	Tinkered with quite a few of the evaluation constants.  Hopefully this
	has improved the engine :-)

	Added bonus for a rook behind/supporting a passed pawn.

	Added penalty for loss of castling availability.

	Added detection of weak pawns (partial... more to add later).

	Changed definition of isolated pawn (is now isolated if there are
	no pawns of same colour on files either side of this pawn.  used to
	be restricted to files infront and behind too).

	Added code to reduce material score of side ahead in endgame without
	any pawns, if the difference in material > 0.5 and < 2.5.  Material
	difference reduced to 0.5.  This is to try to make engine keep hold
	of pawns.

	Modified fractional depths from 1/2 ply to 1/8 ply.  Made changes to
	hash table record and history heuristic code to support this.

	Small fix in search for storing fail high/low values in hash table.
	now limits the values to the initial alpha/beta range that was passed
	into the search.

	GUI changes
	~~~~~~~~~~~

	Still none.  Still plan to release at a later date.  Will probably
	just be a GUI for the WinBoard version.

	WinBoard changes
	~~~~~~~~~~~~~~~~

	Added 'help' command that lists all the commands available on the
	command line.

	Changed command line to give prompt to user if not in xboard mode.

	Changed default values of extensions to check=1.0, recap=0.75,
	pawn push=1.0, 1-reply=0.75 (were 1.0, 1.0, 1.0, 0.5 respectively).

	Fixed time control bug that occurs under nMoves/mMins time control
	when game is started in middle of time period.  e.g. load previously
	saved game, goto to move 20, start 2 machines match.

	Board display for command line now uses colours.

	Fixed bug where move could be posted to WinBoard after a force
	command had been received.  the 'force' command caused the current
	search to terminate, which then posted the move.  This possibly
	causes the 'ghost' pieces bug, and eventually results in GLC losing
	on time due to a bad move being passed and WinBoard ignoring GLC's
	error message.

	GlcBook changes
	~~~~~~~~~~~~~~~

	None.

	New bugs found:
	~~~~~~~~~~~~~~~
		B210.3	Time control bug where game is started in middle of
				time contorl period.
		B210.4	'force' bug where move was posted to WinBoard if
				computer was searching at time 'force' was received.

	Bugs fixed:
	~~~~~~~~~~~
		B210.1	Post/Nopost should now work correctly.
		B210.3	Time control bug where game is started in middle of
				time contorl period.
		B210.4	'force' bug where move was posted to WinBoard if
				computer was searching at time 'force' was received.

	Outstanding bugs:
	~~~~~~~~~~~~~~~~~
		B210.2	GUI version needs to be modified for new engine

v2.10 (11 August 2000)
~~~~~

	Engine changes
	~~~~~~~~~~~~~~

	The engine has been completely reorganised in an attempt to
	simplify it, and to speed it up.  The move generation is now about
	5%-10% faster.  However the search is still around the same speed. :-/

	Modified the piece/king attraction.  For knights this still uses
	the maximum rank or file distance.  For bishops it uses the minimum
	diagonal distance.  For rooks it uses the minimum rank or file
	distance.  For queens it uses the minimum rank, file or diagonal
	diatance.  (All pieces used to use the maximum rank or file distance).
	Distance values are then pushed through a non-linearisation table
	for each piece --> Also modified the values in this table.

	Modified the king safety values, and now push the defects related
	to pawns through a non-linearisation table.  The king positional
	defects then get added on to this.  The idea is to allow a few
	small defects initially, and then to ramp the defects up very
	quickly, but never get too high a value.

	Fixed a bug in the transposition table access for positions with
	checkmate values.  The values were being returned as the number
	of ply to mate, but should have been 32100-ply.  doh!
	Saw this by accident while analysing a game where GL saw a mate
	in ten.  The mate contained a bishop sac.  GL played the sac... and
	later lost the mate sequence, and went on to loose the game.
	Bug has probably been around for ages.  It likely caused lots of
	very subtle (and not so subtle) weakening effects in the search.

	Added more rook knowledge.  Rooks now get bonusses for pairing
	with queens (on files and 7th rank), as well as with other rooks.

	Draw scores have now been set back to 0.00 points.  In the future
	this will become a settable option.

	Engine now has a 'noise' setting.  Thinking is only posted once the
	number of nodes searched becomes greater than or equal to the
	'noise' setting.  This defaults to 5,000 nodes.

	GUI changes
	~~~~~~~~~~~

	None.  Not released in this version, as the reorganisation of the
	engine means that the GUI needs to be totally reorgainised too.

	This will be done for a later release.

	WinBoard changes
	~~~~~~~~~~~~~~~~

	A new command line parameter "-book" is now supported. This allows
	the name of the opening book file to be configured when the engine
	is started.

	The "post" and "nopost" commands from WinBoard no longer have any
	effect on the engine.  The engine always posts its thinking.  This
	will be fixed in a later release.

	GlcBook changes
	~~~~~~~~~~~~~~~

	None.

	New bugs found:
	~~~~~~~~~~~~~~~
		B208b.1	Problem with checkmate scores in hash table
		B210.1	WinBoard interface now ignores post/nopost commands
		B210.2	GUI version needs to be modified for new engine

	Bugs fixed:
	~~~~~~~~~~~
		B208b.1	Problem with checkmate scores in hash table

	Outstanding bugs:
	~~~~~~~~~~~~~~~~~
		B210.1	WinBoard interface now ignores post/nopost commands
		B210.2	GUI version needs to be modified for new engine

V2.09 (22 July 2000)
~~~~~

	Engine changes
	~~~~~~~~~~~~~~

	Added some more knowledge into the evaluation function.  This includes:
	bonus for pieces near other king, more rook knowledge, rook and
	knight mobility, connected passed pawns, etc.

	Made evaluation function more lazy, so that the knowledge added
	above doesn't slow the search much.

	Removed lots of 'old' data structures and code that is no longer
	used or required.

	Removed ability to switch off the transposition table.

	Removed ability to switch off the draw by repetition and 50 move
	rule tests in the search.

	When using the opening book, the engine will now pay attention to
	move frequencies generated by the new opening book utility (v1.4).

	GUI changes
	~~~~~~~~~~~

	Put back the thread access locking code for the computer's thinking
	display that somehow got removed.  The removal causes the program
	to crash under Win95/98.

	Changed Transposition table dialog and Computer Setup dialog to
	reflect the changes to the engine.  Added option in computer
	setup to configure whether hash table is cleared before each move.

	WinBoard changes
	~~~~~~~~~~~~~~~~

	None.

	GlcBook changes
	~~~~~~~~~~~~~~~

	GlcBook is now at version 1.4.

	This version will now add information into the book file that
	records the frequencies of moves taken from a position.  The new
	engine will use this information to weight its random choices
	of moves.  This means that GLC will now very rarely choose strange
	opening lines.  This ability can be switched off in the book
	builder by using the command line parameter -NOCOUNT.

	New bugs found:
	~~~~~~~~~~~~~~~
		None.

	Bugs fixed:
	~~~~~~~~~~~
		B205.1  Program seems to crash sometimes when user makes
		        a move. (GUI)

	Oustanding bugs:
	~~~~~~~~~~~~~~~~
		None.

V2.08b (7 July 2000)
~~~~~~

	Engine changes
	~~~~~~~~~~~~~~

	Changed the hash key to include the en-passant square and
	castling availablilty.  This makes very little difference to the
	engine itself in normal play, but now makes it possible to create
	an opening book that uses a hash table (it also allowed draw
	fix	directly below to be implemented).

	The draw by repetition test in the code was implemented in
	the wrong way.  It didn't distinquish between different sides to
	move in the same position.  It also missed the fact that differences
	in en-passant capture and castling availablity were counted as
	different positions.  This has now been fixed.

	The code now tests for the 50 move rule in the search.

	Draw scores are now set to -1.00 pawns.

	Modified king safety to count the safety of our own king
	as more important than the safety of the opponents king.

	Made some more speed improvements.

	GUI changes
	~~~~~~~~~~~

	Changed the default setting of the 1-reply extension to
	be switched on.

	WinBoard changes
	~~~~~~~~~~~~~~~~

	Fixed the bug with G/n time controls.

	Fixed an edit mode bug where if you select black to play
	the pieces get added for the wrong colour (thanks Brice Boissel).
	I reported this bug as fixed in the last release, but it turned
	out that it was only partially fixed.

	GlcBook changes
	~~~~~~~~~~~~~~~

	GlcBook now at version 1.3.

	This version now has the ability to truncate lines to a given
	number of ply, and this defaults to 15.  To set the maximum
	depth to n use the command line parameter -DEPTH n.

	The files produced by this version have a slightly different
	format (this is due to the moves storage having been changed in the
	engine).  This version of the utility, and of the programs, still
	support the old file format (v1), but when it creates new files it will
	do so in the new file format (v2).  The opening book utility now tells
	you the format version number of file it is using.

	New bugs found:
	~~~~~~~~~~~~~~~
		None.

	Bugs fixed:
	~~~~~~~~~~~
		B208b.1	Problem with G/n time controls (WinBoard)
		B208b.1	Edit mode bug with black to play (WinBoard)

	Oustanding bugs:
	~~~~~~~~~~~~~~~~
		B205.1  Program seems to crash sometimes when user makes
		        a move. (GUI)

#####################################################
#
#	long gap where this file has not been updated
#
#	v2.03b	-- released 27 March 1997
#	v2.03c	-- released 18 September 1997
#	v2.03d	-- released 1 October 1997
#	v2.03e	-- released 5 October 1997
#	v2.03f	-- released 5 October 1997
#	v2.04a	-- released 9 October 1997
#	v2.04b	-- released 9 October 1997
#	v2.04c	-- released 12 October 1997
#	v2.04f	-- released 21 October 1997
#	v2.04g	-- released 25 October 1997
#	v2.04h	-- released 2 November 1997
#	v2.04k	-- released 8 November 1997
#	v2.05x	-- released 12 May 1998
#	v2.06	-- internal... never released
#	v2.07	-- released 26 January 2000
#	v2.07a	-- released 27 January 2000
#	v2.07b	-- released 19 February 2000
#	v2.07c	-- released 25 June 2000       ** First WinBoard release **
#	v2.07d	-- released 29 June 2000
#	v2.07e	-- released 30 June 2000
#	v2.08a	-- released 4 July 2000
#
#####################################################

V2.02
~~~~~
	Changed Transition table to dynamically allocate its records
	so that the size can be changed at run time.  Added a dialog
	to allow the user to change the size of the table.

	Moved game option menu items to their own Options menu.

	New bugs found in this version:
	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		B202.1	Knight will not move to block check.  See
				position "!Nd1-why-not.pgn"

	Bugs fixed in this version:
	~~~~~~~~~~~~~~~~~~~~~~~~~~~
		B106.1	Pawn promotions are now search during quiescence.  It
				does not seem to be working quite as expected though.
				See position "Rg4-why-not.pgn".
		B202.1	Knight will now move to block check.

	Oustanding chess engine bugs:
	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		B106.1	En Passant not implemented
		B106.2	Draw by repetition not implemented.
		B106.3	50 move rule not implemented.

V2.01	
~~~~~
	Bugs fixed in this version:
	~~~~~~~~~~~~~~~~~~~~~~~~~~~
		B200.1	Pawn promotions now OK.
		B200.2	Hash function now working fine.  No longer need to
				store the sboard in the hash record in release version.
		B200.3	King now stays the required distance away from the
				other king!

	New bugs found:
	~~~~~~~~~~~~~~~
		B201.1	Pawn promotions are not done during q-search.  This can
				cause sub-optimal play in the endgame if the other side
				can eat up the the depth of the normal search.

	Oustanding chess engine bugs:
	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		B106.1	En Passant not implemented
		B106.2	Draw by repetition not implemented.
		B106.3	50 move rule not implemented.

V2.00
~~~~~
	All move generation except the king is done without needing
	to do the move, and then undo it.  This includes escapes from
	check and pinned pieces.  The king is being worked on.

	Oustanding chess engine bugs:
	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		B106.1	En Passant not implemented.
		B106.2	Draw by repetition not implemented.
		B106.3	50 move rule not implemented.
		B200.1	Pawn promotions/demotions not working correctly.
		B200.2	Board hash function not working correctly, and thus the
				transition table is not quite right.
		B200.3	King can move too close to other king.

V2.xx
~~~~~
	Uses 8x8 (size 64) board.
	Uses bitboards in a major way.
	Uses Iterative deepening.
	Uses fixed ply then quiescence search.
	Uses Killer moves.
	Uses Transition table.

V1.06 (26 February 1997)
~~~~~
	Move generation is primitive as, to avoid moves into check,
	the moves have to be made, and then the check test run, and
	then undone.  This limits the search to ~11K nodes a second.

	Oustanding chess engine bugs:
	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		B106.1	En Passant not implemented.
		B106.2	Draw by repetition not implemented.
		B106.3	50 move rule not implemented.

V1.xx
~~~~~
	Uses 16x8 (size 128) board with 0x88 checking.
	Uses Alpha-Beta pruning.
	Uses Iterative deepening.
	Uses fixed ply then quiescence search.
	Uses Killer moves.
	Transition table not working properly.
