2017-07-25 Antonio Ceballos * Updates for version 6.2.5 2016-10-29 Antonio Ceballos * Updates for version 6.2.4 2016-09-19 Antonio Ceballos * Updates for version 6.2.3 2014-07-30 Antonio Ceballos * Updates for version 6.1.2 2010-02-27 Simon Waters * Add cmd_memory and other commands from Michel Van den Bergh * Add memory as command line argument * Remove debug scaffolding 2010-02-27 Simon Waters * further Evaluation fixes suggested or insprired by Lars Mathiesen * Start merging changes from Michel Van den Bergh 2010-01-24 Simon Waters * Remove side to move values from Evaluation function 2010-01-24 Simon Waters * Evaluation fixes suggested or insprired by Lars Mathiesen 2010-01-03 Simon Waters * Distributed under the GNU GPL v3 * Spelling correction in README - thanks Scott McDermott * Renamed getline (Problem only reported on Ubuntu) * Correct URL for FSF Debian #511760 2009-02-11 Simon Waters * Ensure check_board prevents invalid positions being analyzed. 2006-05-19 Simon Waters * Fix input_thread declaration to allow compilation under GCC v4 * Change to generated file config.h.in due to newer tools * Various protocol corrections and corrections to output when using Xboard protocol. --- 5.07 Released 2003-08-07 Mike Curtis * Minor ScoreDev code tidy 2003-07-28 Simon Waters * ensure gnuchessx included in EXTRA_DIST 2003-06-30 Simon Waters * Fix to Posix thread for readline * Fix to ensure "HARD" is default 2003-06-30 Mike Curtis * Improve Posix thread handling 2003-06-28 Mike Curtis * Portability fix IsTrustedPlayer 2003-06-28 Simon Waters * Portability fix to lexpgn.l * Changes to lexpgn.l to handle some special cases. * Fix trailing "/" in FEN causes buffer overflow issues. Trailing "/" is kept for compatibility reasons with 5.04 2003-06-19 Mike Curtis * Portability fix to lexpgn.l 2003-06-19 Simon Waters * Add "--easy" flag to command line. * Add "--manual" flah to command line. * Fix to new PGN parser to handle odd character in tag data. 2003-06-15 Simon Waters * const declaration for progname removed to resolve problems with other compilers. * Reapply earlier fix to ensure the players names for white and black are fixed which got overwritten with pgn parser merge. * Remove GNU tool derived files from CVS to save space and avoid problems with timestamps. * Tell xboard sigint=0 to avoid workaround on Solaris. * Various code clean-ups. * Redefine DRAWSCORE to 0, faster, and avoids excessive draw penalties. 2003-06-13 Simon Waters * Use CalcHashSize in main.c * Check HashSize return code in cmd.c * Put maximum check in CalcHashSize 2003-06-12 Simon Waters * Convert autoconf to AX_CREATE_STDINT_H from AC_CREATE_STDINT_H * Changes suggested by latest "autoscan" including tests for functions we can't do without. * Changes required to merge DAW contribution below. 2003-06-12 David A. Wheeler (Originally 2002-10-03 merged SRW) * Rewrote PGN reader so that it fully handles the PGN standard and common nonstandard variants of PGN, including PGN {} comments, ; comments, varying newline conventions (Unix, Windows, MacOS), FEN starting positions, multiple tags, and so on. If a game is being read in with pgnload, data is kept so it can be written back out later by pgnsave (so that later on, annotations won't lose existing data). The new reader is implemented using flex/lex, which eliminates * Added support for not-quite-valid SAN moves, so that games with such entries are still read correctly. This includes "capture-only" notation like "KxN" (King takes Knight), the use of "P" for pawns, and lower-case versions of many pieces (e.g., "k" for King) - note that Bishops MUST be upper case (since "b" is a column identifier). * Added a script named "gnuchessx", which simply invokes gnuchess with the "xboard" option. This means that GNU Chess 5 now automatically supports Xboard, just like GNU Chess 4 did. 2003-06-09 Anil Mungal * Tidy up hashsize calculation, fix segfault 2003-06-09 Simon Waters * Ensure comments all use tradition /* */ syntax 2003-04-06 Simon Waters * Correct GenCheckEscapes to return no moves when not in check. For "show escape" command. * Disambiguate hints 2003-03-16 Simon Waters * Remove stale Threat Extension code 2003-03-12 Simon Waters * Fix En Passant handling in white/black commands * Fix to HashSize handling --- 5.06 Released 2003-03-10 Simon Waters * Remove obselete M4 include file. 2003-03-09 Simon Waters * Fix preprocessor directives for Macro names. 2003-03-07 Simon Waters * Always used bundled geopt's to simply build 2003-03-06 Simon Waters * Correct pthread handling in configure.ac * Correct LIBOBJS handling on platforms without getopt_long * Avoid deprecated multiline string literals in cmd.c * Avoid redefining MAX and MIN macros on HPUX * Make pawncover constant to avoid difference between first and subsequent games. Affects many King safety calculations. 2003-02-16 Simon Waters * Add getopt files to distribution for platforms without GNU C library * Replace ac_need_stdint_h with ac_create_stdint_h * Add acx_pthread, config.sub, config.guess 2003-02-11 Simon Waters * Drop enpassant knowledge on "switch" command. * Add in 2 move exception to EvaluateDraw to avoid drawing won games. 2003-02-05 Simon Waters * Various string length issues tidied up. 2003-01-31 Simon Waters * Implement "white" and "black" commands. 2003-01-29 Anil Mungal * Two minor optimisations to eval.c (1% speed-up test evalspeed) 2003-01-29 Simon Waters * Use getopt_long for option handling * Add standard options --help --version * Add command line command "usage" * Add option --hashsize * Rework hint to use first move in Tree * GetElapse time even when not against the clock * Modify aclocal.m4 to stop spurious 32's in configure which break build AIX 4.2, and Solaris 2.5.1 2003-01-27 Simon Waters * Stop output of result in iterate if game has ended already. * Ensure PGNSaveGame output computer as correct colour player. 2003-01-13 Simon Waters * Add time.h to common.h to define timeval on Cygwin * Add test for absence of nanosleep, may make waiting inefficient on platforms without nanosleep or usleep * Remain in analysis mode on "new". 2003-01-09 Simon Waters * Implement analysis mode * Change time in ShowLine to seconds from centiseconds (see engine-intf.html at www.tim-mann.org) 2003-01-09 Lukas Geyer * rename et ElapsedTime * Clean up timer code * Further changes on pondering and input handling 2003-01-09 Simon Waters * Change version ID to 5.06 2002-12-30 Lukas Geyer * Corrected threading code to consume input correctly * Corrections to comments * debug.c added 2002-12-22 Stuart Cracraft * Reinstate penalty for having no queens on in eval.c (spotted by Tim Bedding) 2002-12-22 Lukas Geyer * Extra location for book checked /usr/share/games/gnuchess/book.dat * Correct handling of name * Fix problem with slow exit if pondering * Fix memset error * Misc tidying of 'const' usage 2002-12-19 Simon Waters * 1/20th second sleep in input loop, to avoid CPU hogging in easy mode. 2002-12-16 Simon Waters * The main development version reverts to Lukas's version as of 2002-10-05 * epd.c merged from 5.05 * book random in help change merged from 5.05 * Fix to not store score in hashtable when time expired, as score has special value. 2002-10-05 Lukas Geyer * Added copyright and license notices to ponder.c, input.c, updated copyright years to 1999-2002 in all source files. * Updated NEWS file to really list user-visible changes between releases, still not complete. * Updated my email address. * version.c: Removed as obsolete. * pgn.c: Fixed potential buffer overflow. (Thanks to David Wheeler for this one.) * common.h: Added comments by David A. Wheeler. * cmd.c: Added support for "easy" and "hard" (disable/enable pondering) * main.c: Default to "nopost". * common.h: Added #include , needed for some pthread implementations, it seems. 2002-08-25 Lukas Geyer * Merged Simon's and my version, reverted some stuff like changing all the types to int before I know better justification. 2002-08-25 Lukas Geyer * Various cleanups, some documentation and comment updates, nothing really changed 2002-08-25 Lukas Geyer * configure.ac: Added support for --without-readline, cleaned up by removing even more unneeded tests. * INSTALL: Updated (was not quite accurate anymore) * TODO: Updated (some things have been done now...) * cmd.c: Changed input parser to use method table, changed token separation algorithm, the tokens are now only pointers to the beginning of tokens in inputstr. Changed move.c accordingly that it does not get confused by whitespace. * Moved input code to src/input.c (new file), in a separate thread. Changed other files accordingly (common.h, main.c, cmd.c, Makefile.am, configure.ac). * Removed all code related to the Novag Universal Board. (The code was mostly in cmd.c.) * common.h, ttable.c: Changed the HashSlot structure to make persistent transposition tables possible. * ponder.c (new file): Added prototype of pondering. 2002-08-17 Simon Waters * Bug code bug introduced in development version that breaks if no book is present in XBOARD version. 2002-08-02 Simon Waters * Switch from short to int for all short variable types. (Note some aspects of change require futher work) * Correct SortRoot test for passed pawn moves. 2002-08-02 Simon Waters * Clean up of SortRoot (also MC suggested optimisation) * Tidy code to remove 99 lclint errors (274 to go) 2002-08-02 Based on patch from Lukas Geyer * Add list of possible book locations, to allow central location for book on multiuser servers. "book.dat" "/usr/lib/games/gnuchess/book.dat" * Limit book to BOOKDEPTH ply not BOOKDEPTH moves. * Improve handling of excessive hashsize requests. 2002-08-01 Simon Waters * Correct additional input file name limits and related field sizes throughout code. (NB UNIVERSIAL code changes untested) * Changes proposed by MC for compiling with MSVC Note: ULL() macro should be used for 64 bit integer constants * Change help text for "universal" if it wasn't compiled in. * Minor optimisation in the misnamed MateScan routine. * Shorten declaration of rings, this doesn't need to be in init.c * Clean up case statement for X-ray attacks. * Correct array bound error in cmd.c hint code. * Correct memset in book code. * Reorder test on trimming trailing spaces. 2002-05-19 Simon Waters * Corrected command line size to 128 through out cmd.c to fix segmentation fault errors on complex fen positions. 2002-05-02 Simon Waters * Reorder move generation of promotions * Improve sorting of captures in SortMove * Insert pinned and hanging piece checks * Remove unreachable code in cmd.c * Update some eval weightings 2002-03-14 Simon Waters * Fix memory leak HashTab 2002-03-06 Simon Waters * Make "book on" use BOOKPREFER not BOOKBEST * Fix implementation of BOOKBEST * Implement "book {worst|best|prefer}" * Correct README as it said not Official distro 2002-03-05 Simon Waters * Remove redundant tests from configure.ac * Update version to 5.04 in configure.ac * Move local m4 macros to acinclude.m4 2002-03-03 Lukas Geyer * common.h: Refine check for buggy gcc 2.95 on PPC. * common.h: Changed lzArray and BitCount from short to unsigned char, corresponding prototypes for leadz() and nbits(), too. * inlines.h and util.c: Changed leadz() and nbits() to not use union, rather do explicit bit arithmetic which does not assume anything on endianness. * test.c: Changed all timings to floating point and higher precision. 2002-03-03 Simon Waters * Added unknown protocol commands to avoid "Illegal move: " * sd synonym for depth * Added approximate st and additional errors for xboard suggested by Tim Mann * Added basic "hint" feature, by extracting next move from PV in hash. Doesn't work in book. 2002-03-02 Simon Waters * Modified code to print "Illegal move: cmd" when an illegal move or unknown command is entered. 2002-02-26 Simon Waters * Hacked version of ac_need_stdint_h AC macro to fix Win32 build GNU Chess 5.03 Released 2002-02-12 Simon Waters * Fix bug with saving move after mate in PGN files 2002-02-09 Lukas Geyer * book.c: Checked for calloc() failure to return BOOK_ENOMEM in BookBuilderOpen(). * iterate.c: Changed search time calculation to a very non-aggressive strategy (keep always 2 seconds for possible delays). Added SearchRoot() if we fail low. This should fix the illegal move problem, which occurred exactly when we failed low for all depths. 2002-02-08 Lukas Geyer * Changes mainly to book.c in order to have dynamically allocated book hashes. Changed the binary book format once more. 2002-02-07 Simon Waters * Moved Lukas's version into CVS * Adjusted version string to 5.03 * Reimplemented bk in better fashion * Added self to authors file 2002-02-06 Lukas Geyer * Clean-ups to make it build with the Sun cc compiler. * moved leadz() and nbits() to inlines.h, so that they will really be inlined. Left the original versions in util.c, so that one can define NO_INLINE to get the functions exported. Speed gain is quite significant on Linux/PPC. 2002-02-05 Lukas Geyer * Fixed a nasty bug in buf_to_book() which would add position evaluations to all the hash-collision positions while traversing the list. As collisions are not very frequent, this would generate slightly wrong books which could lead to infrequent strange opening blunders. * Abstracted hash handling functions in book.c into macros, implemented secondary hash traversal. 2002-02-04 Lukas Geyer * Removed index from binary book file, continued fixing book building. (It used to take only the white moves if two players from the list were playing each other.) * Added return codes to function in book.c. 2002-02-03 Lukas Geyer * Killed some bugs related to endianness and padding in book.c. Rewrote README to reflect reality more closely. Split BookBuilderOpen() from BookBuilder(). 2002-02-02 Lukas Geyer * Cleaned up some types, converted them to explicit ones uint32_t, uint16_t and uint64_t. Should fix the bug that hashes generated on 64 bit machines were different. Thanks to Goswin Brederlow for this one. * Fixed a documentation bug (replaced "book compile" by "book add") * Added readline support * Added TODO 2002-01-30 Lukas Geyer * Redesigned the build system to use automake. Cleaned up code, fixed SETBIT /CLEANBIT for gcc 2.95 on Linux/PPC. (Actually, gnuchess hits a gcc optimization bug here, congratulations...) * Added help functionality. Still ugly, but informative. (And the plain gnuchess interface _is_ the definition of ugliness anyway.) ------------------------------------------------------------------------ This ChangeLog file only documents recent changes, for older ones please look in doc/ChangeLog.