GNU Go 3.1.28 released March 24, 2002 This release includes Arend Bayer's revised hashing scheme, which is a good speedup. I moved the definition of HASHING_SCHEME to config.h. I made the new scheme default. If you want the old behavior, you can configure --disable-experimental-hashing. There is no configure support for a third hashing scheme in this release. Patches in this release: gofun_1_28.1. New tests. hash_1_28.4. Hashing scheme revised. warnings_1_28.1. Compiler warnings fixed. gunnar_1_28.9. Doc patch. gunnar_1_28.8. Cleanup patch. gunnar_1_28.7. Doc patch. gunnar_1_28.6. Bugfix and 1D conversion in confirm_safety(). tuning_1_28.1. Tuning. gunnar_1_28.5. Doc patch. komaster_1_28.1. Gunnar's proposed new komaster scheme. gunnar_1_28.4. Atari_atari patch. doc_1_28.3. Doc revision. gunnar_1_28.3. Regression patch. gunnar_1_28.2. Doc patch. doc_1_28.2. Doc revision. owl_speedup_1_28.1. twogtp_1_28.1. Twogtp must close the file when the engine crashes. twogtp_1_28.2. Same correction (and another) for twogtp-a. influence_doc_1_28.1. bugfix_1_28.2. Remember to set gameinfo->to_move. bugfix_1_28.1. Repairs printsgf, broken by gunnar_1_28.1. gunnar_1_28.1.gz. Fabled undoing. trevor_1_28.1. added several .h files to .dsp files trevor_1_28.2. reading.tst results. trevor_1_28.3. komaster. doc_1_28.1.gz. Big documentation patch, copyright notices updated. unused_1_27.1. A used unused patch. - hashing dependent on compiler switches, default 64 bit and no full position - default cache size set to 8 - --stack option and showstack global variable removed - cache.o removed from libboard.a - unneeded include of dfa.h removed from patterns.h - compiler warnings fixed: dragon2_func prototyped, etc. - bugfix in confirm_safety() plus 1D conversion - komaster scheme 5 implemented and made default - update_aa_goal() in combination.c revised - heuristics to estimate cost of pattern constraint introduced - constraint cost used in owl callback for speedup - twogtp and twogtp-a close the sgf file if an engine crashes - twogtp-a had coordinates reversed - global variable last_moves[] removed - move history added to board state - static function undo_move() in board.c renamed to undo_trymove() - new global functions store_board(), restore_board(), undo_move(), get_last_opponent_move(), and get_last_move() in board.c - macros do_add_stone() and do_remove_stone() removed from board.c - Position struct removed - Gameinfo struct revised - new board_state struct - API functions gnugo_* work on an internal board state instead of on an externally provided board state - board_size workaround in influence.c obsoleted and removed - revised order of operations in main.c; in particular playing up the position specified by -l and -L options centralized - revised modes for --score option - all undo implementations in GTP, GMP, and ASCII interfaces replaced by the new undo_move() function in the board code - Added several .h files to appropriate .dsp files - corrected gcc warnings & other cleanup in mkpat.c - komaster_to_string now takes 2 arguments - new KOMASTER_TRACE; set to log all komaster_trymove calls - dfa ise announced only as a debug message - copyright notices updated - DRAGON2 macro array bounds checking is not the default - tuning - test revision - doc revision - additional correct answers added to reading.tst