CHANGES

3.0, patchlevel 0 -- Fri Jun 25 14:17:17 PDT 1993 -- mann@src.dec.com

- User interface has a new look: (1) Menu bar instead of array of
buttons.  A few very commonly used features have small buttons in
addition to being on the menus. (2) Large font for clock.  (3) Pop-up
dialogs for errors.

- Added menu commands to control autoflag, bell, and coords options.

- Boolean command line options now use "-foo" to turn on and "--foo"
to turn off instead of "-foo true" and "-foo false".  [Later -xfoo;
see below.] 

- Source code is split into front end (xboard.c), which knows about X
and Unix, and back end (backend.c), which knows about chess, gnuchess,
and the ICS.  There is also a front end for Windows NT.

- Revamped code to allow use of flex instead of lex on parser.l.
Using flex requires adding -DFLEX to defines in Imakefile.

- Added some ESIX fixes and OMIT_SOCKETS ifdef option, from Kayvan Sylvan.

- Added ICS init script feature from Karl Schwamb.

- Added a popup dialog to enter and edit comments.  Inspired by some
code from Patrick Surry.  Changed the normal read-only comment popup
to the same style.

- Other changes too numerous to list.

- Sent a copy of WinBoard patchlevel 0 to kelley@merlin.hood.edu for
beta testing.


3.0, patchlevel 1 -- Thu Jul  8 21:22:59 PDT 1993 -- mann@src.dec.com

- Fixed recently introduced bug in LoadGame when game starts with a
position diagram.

- Made game counting code in LoadGame more robust, and made LoadGame
able to detect the end of a saved partial game (by noticing the start
of the next game) in game files created by XBoard itself.  We don't
try to find the start of the next game that way in other kinds of game
files, because the only way I can think of to do that is to look for
another move #1, and that technique gets too many false hits.

- Fixed bugs in parser.l:  (1) Pattern for "# xboard game file ..."
needed to match to end of line.  (2) Start of a new file was not matching
the ^ start-of-line character.  The fix for this is a kludge.

- Added -flipView command-line option.  Suggested by Patrick Surry.

- Added LoadNextGame, LoadPreviousGame, and ReloadGame to File menu.
ReloadGame suggested by Patrick Surry.

- Added -cmail option that sets appData.cmailMode.  Currently a no-op.
In the future this may set special modes for use by the cmail script
for playing chess by email.

- Sent a copy of patchlevel 1 to Patrick Surry to beta-test.

3.0, patchlevel 2 -- Fri Jul 30 22:20:23 PDT 1993 -- mann@src.dec.com

- Changed "Reload Game" on menu to "Reload Same Game".

- Added Autosave to Options menu.  Would be better to have Save
Options dialog as in WinBoard, but this was quick to do and gives the
most-needed functionality.

3.0, patchlevel 3 -- Tue Aug  3 17:40:27 1993  -- mann@src.dec.com

Thanks to my beta testers: Patrick Surry, Takuya Kojima, Robert J. Luoma,
Chris L.  Petroff, Richard K. Lloyd, Michel van der List, Craig Metz,
Antoon Frehe, Simon Clift, Shelly, Eric Peterson, Christopher Mitchell,
Martin Koch, Ed Hanway, Steve Booth, Udo, Ken Hobday, and Joseph Duhamel.

- Fixed minor bugs in -flipView option and documented exactly how xboard
decides which way to flip the view.

- You can now call your opponent's flag in ICS mode by clicking on his
clock. 

- The error message popup is now non-modal; you don't have to press the
[ok] button before you can do something else.  In addition, the popup is
positioned so that it doesn't cover up the board (too much), and making a
move or otherwise clicking on the board pops it down.  (Not implemented in
WinBoard.)

- Fixed error message printing in WinBoard; system error messages no
longer appear as numeric codes.

- Added -titleInWindow option for use with X window managers that
don't let us set the title in the window banner.

- Documented borderXoffset and borderYoffset.

- Declare getenv() if <stdlib.h> not included; avoids a compiler warning.

- Special code for monoMode on 1-bit displays now understands displays
where 1=white and 0=black.

- Improved error messages for trying to move the wrong color pieces or
to move when it's not your turn.

3.0, patchlevel 4 -- Thu Aug  5 14:17:18 PDT 1993 -- mann@src.dec.com

Thanks again to the beta testers listed above, and also Desnogues, Steve
Cariglia, Niklas Engsner, Mark Silver, and Roger Rowe.

- Popping down an error message with the [ok] button was not turning off
the errorUp flag, so the next move would cause xboard to try to pop it
down again, resulting in a wild memory reference and sometimes a crash.

- MachineWhite and MachineBlack now work from TwoMachines mode.

- Use REMOTE_SHELL and TELNET_PROGRAM definitions.

- Removed bogus execute bits on .h files.

- Bugfix in Forward; didn't work after game ended while Pause was turned on.

- Bugfix in parser; symptom was that you couldn't do LoadGame after
observing a game on ICS.

- Subtracted an extra fudge term when determining how wide message and
title widgets should be.  This fixes a problem some beta testers had.
Wish I knew why it's needed.

- Added AlwaysQueen option -- suppresses promotion dialog and always
promotes to a queen if you move a pawn to the last rank.  Has no
effect on gnuchess (or your ICS opponents!) -- they can still
underpromote.

- Changed convention for turning off command line options from --opt
to -xopt, to be less inconsistent with GNU standards.  Also changed
the long command line options to take True/False arguments like
resources; seems to make more sense this way.

- matchMode was very broken; fixed.

- Reorganized man page, splitting OPTIONS into subsections.

3.0, patchlevel 5 -- Tue Aug 17 16:45:54 PDT 1993 -- mann@src.dec.com

- Previous attempted fix to matchMode had broken TwoMachines mode and
generally needed more work.  Also simplified command line interface to
matchMode.

- Updated usage message.

- Bug (?) fix:  Was adding time to clocks at time control even when
loading a game file.  Actually it's not entirely clear how time
controls should be dealt with when some moves are loaded from a file
or clicked in with ForceMoves.  For now ForceMoves mode does add the
time (because it can be used to change moves during a live game), but
LoadGame mode does not.

- Bug fix:  The routine that tests whether a move is illegal because it
would leave you in check was not handling e.p. captures properly.
Reported by Patrick Surry.

- Bug fixes:  Keyboard accelerators now work after EditComment window is
popped down.  Iconize keyboard accelerator now works even if xboard
was started with -iconic flag and later deiconized.

- Bug fix: Declared fields of TimeMark as signed so that we get signed
instead of unsigned arithmetic.  SubtractTimeMarks was breaking on
Alpha AXP (which has 64-bit longs) with old declarations.  Reported by
Michel van der List.

- Bug fix:  xboard would crash if it couldn't get all its colors; now
it switches to monoMode instead.  Also, xboard was trying to convert
color resources even when using a b/w display.  Reported by Larry
Rogers.

3.0, patchlevel 6 -- Tue Aug 24 15:16:13 PDT 1993 -- mann@src.dec.com

- Added comment.awk to distribution.

- Loading an empty game from an xboard save file now gives a status
message "No moves in game" instead of an error popup saying "Game not
found in file."

- We no longer display intermediate positions or intermediate comments
while loading a game file with -timeDelay 0 or loading an opening to
start up a -matchMode game.

3.0, patchlevel 7 -- Thu Aug 26 13:23:24 PDT 1993 -- mann@src.dec.com

- Upgraded COPYING file and copyright notices to GNU GPL version 2.

- Added parser.h to hold the interface to parser.l

- Sent WinBoard 3.0.pl7 to doli@troi.cc.rochester.edu (Torre on ICS)

3.0, patchlevel 8 -- Thu Sep  2 12:23:01 PDT 1993 -- mann@src.dec.com

- Bug fix: -queen option wasn't initializing menu check.  Reported by
Pat Surry.

- Added cmail to distribution.  Contributed (and still maintained) by
Evan Welsh, welsh@epcc.ed.ac.uk.

- Note: Patchlevel 8 was the first non-beta release of xboard 3.0

3.0, patchlevel 9 -- Tue Sep  7 14:02:00 PDT 1993 -- mann@src.dec.com

- Avoid using (void *) type with non-ANSI C compilers.  Thanks to
James Altucher for the bug report.

- Test for defined(WIN32) instead of !defined(unix).

- Added a bunch of Sun information to the Imakefile and INSTALL file.
Thanks to Ed Hanway, Arik Klingensmith, and others who responded.

- Improved confusing Usage() message.

- Fixed a bug in color name conversion.  Asking for two different
colors whose names were the same in the first four characters would
get you two copies of the first one.  Thanks to Volker Zink for the
bug report.

- Tweaked the man page.  Clarified that there is currently no way for
two people running copies of xboard to play each other without going
through the Internet Chess Server.

- Got rid of S_NONE symbol, which seems to conflict with some symbol
Sun defines.

- Parser now recognizes "+-+" as meaning the game ended in a draw.

- Loosened checking on whether it's okay to start a move, to satisfy
ICS ultra-blitz players.  Now we don't check whether it's your turn
until you let go of the piece.
