| 1 | ------------------------------------------------------------------------- |
| 2 | -- ChangeLog |
| 3 | ------------------------------------------------------------------------- |
| 4 | |
| 5 | 3.8 released February 17, 2009 |
| 6 | |
| 7 | - added Wietze Brandsma to THANKS |
| 8 | - revised config.vc |
| 9 | - revised NEWS |
| 10 | - restored missing mkmcpat.dsp, regress.cmd |
| 11 | |
| 12 | 3.8rc1 released February 6, 2009 |
| 13 | |
| 14 | - revisions to montecarlo.texi |
| 15 | - revised .dsp files |
| 16 | - Lee Fisher added to AUTHORS |
| 17 | - WINDOWS doc and install.texi revised per Lee Fisher's changes |
| 18 | - mkmcpat puts 16 items on a line instead of 8 |
| 19 | - (unsigned char) and (unsigned short) explicit typings |
| 20 | - missing files added to EXTRA_DIST |
| 21 | - copyrights updated to 2009 |
| 22 | |
| 23 | 3.7.13 released December 23, 2008 |
| 24 | |
| 25 | - restore cmake files that were missing from the 3.7.12 tarball |
| 26 | - bring copyright date to 2008 |
| 27 | - doc revision |
| 28 | - be forgiving with replacement moves conflicting with unconditional analysis |
| 29 | - accept --enable-socket-support even if configure test fails |
| 30 | - add globals.c to mkmcpat for OS/X build |
| 31 | |
| 32 | 3.7.12 released April 7, 2008 |
| 33 | |
| 34 | - cmake configuration files for generating MSVC project files |
| 35 | - minor doc revision |
| 36 | - new options --mc-patterns, --mc-list-patterns, and --mc-load-patterns |
| 37 | - tunable local patterns for Monte Carlo simulations |
| 38 | - try harder to find the right move to make seki in find_moves_to_make_seki() |
| 39 | - better heuristics to avoid calling semeai reading in |
| 40 | find_moves_to_make_seki() in hopeless cases |
| 41 | - never amalgamate dragons over three-liberty strings and sometimes not |
| 42 | over two-liberty strings |
| 43 | - send_two_return_one() moved from utils.c to board.c and reimplemented |
| 44 | - new file engine/montecarlo.c |
| 45 | - new options --monte-carlo and --mc-games-per-level to use Monte Carlo UCT |
| 46 | search on 9x9 and smaller boards |
| 47 | - call check_boardsize() from play_gmp.c to avoid crashing on bad board sizes |
| 48 | - new function check_boardsize() |
| 49 | - bugfix in handling of foreground color with ncurses |
| 50 | - orientation invariant board hashes added |
| 51 | - tuning |
| 52 | - add STS-RV semeai regression test suite |
| 53 | - new and revised tests |
| 54 | |
| 55 | 3.7.11 released November 1, 2007 |
| 56 | |
| 57 | - gtp-commands.texi is not built automatically |
| 58 | - updates texinfo.tex |
| 59 | - minor doc revision |
| 60 | - revised configure.in, aclocal.m4 and *Makefile.in for recent autotools |
| 61 | - removed acconfig.h |
| 62 | - don't play send-two-return-one in tactical reading attack moves |
| 63 | - bugfix in reevaluate_ko_threats() to avoid a crash |
| 64 | - more efficient aftermath moves |
| 65 | - version 3 of GPL and update copyright for 2007 |
| 66 | - new static function remove_eye_filling_moves() in owl.c |
| 67 | - semeai reading revisions |
| 68 | - look more ambitiously for back-capturing moves in attack1() |
| 69 | - generate cut move reasons for cutting moves found during find_connections() |
| 70 | - fix compilation with MAX_BOARD set to low boardsizes (>= 7 tested) |
| 71 | - performance tuning in do_owl_analyze_semeai() |
| 72 | - detect unconditionally meaningless moves |
| 73 | - get_lively_stones() revised to be valid also for stackp>0 |
| 74 | - bugfix in compute_owl_escape_values() |
| 75 | - moves can be marked as known_safe_moves by patterns |
| 76 | - bugfix in compute_surroundings() |
| 77 | - owl tuning |
| 78 | - new and revised tests |
| 79 | |
| 80 | 3.7.10 released May 21, 2006 |
| 81 | |
| 82 | - gnugo.dsw and uncompress_fuseki.dsp revised |
| 83 | - configure.in revised to improve socket support detection on windows |
| 84 | - gameinfo_play_sgftree_rot() revised to fail gracefully |
| 85 | - new static really_do_trymove() and is_superko_violation() in board.c |
| 86 | - board hashes stored in the move history |
| 87 | - is_legal() no longer depends on allow_suicide |
| 88 | - new is_allowed_move() to determine legality for current suicide and ko rules |
| 89 | - new global variables suicide_rule and ko_rule |
| 90 | - illegal moves replaced with passes near the end of do_genmove() |
| 91 | - reevaluate_ko_threats() revised |
| 92 | - under superko rules look for ko threats also if best move illegal |
| 93 | - new options --forbid-suicide (default) and --allow-all-suicide |
| 94 | - new options --simple-ko (default), --no-ko, --positional-superko, |
| 95 | and --situational-superko |
| 96 | - is_allowed_move() used instead of is_legal() in play_gtp.c, play_ascii.c |
| 97 | and play_solo.c |
| 98 | - identify_thrashing_dragons() called earlier in make_dragons() |
| 99 | - do not play self-atari while splitting eyespaces in aftermath_genmove() |
| 100 | - in do_owl_attack(), don't consider send-two-return-one defender moves |
| 101 | - send-two-return-one moves not tried in find_more_attack_and_defense_moves() |
| 102 | - send-two-return-one moves not tried in find_worm_attacks_and_defenses() |
| 103 | - string connection bonus for ko captures reduced in move_connects_strings() |
| 104 | - maximum bonus from secondary move values limited to 0.4 points |
| 105 | - more legality checking in fill_liberty() |
| 106 | - detect_tactical_blunder() revised to avoid finding illegal defense moves |
| 107 | - semeai.tst reordered |
| 108 | - new option --limit-commands to regress.pike |
| 109 | - new testfile 13x13c.tst |
| 110 | - do not try to add an sgf circle for pass moves in replay_node() |
| 111 | - new enum same_dragon_value in owl.c |
| 112 | - new owl_defendpats.db classification "a" for connecting all friendly |
| 113 | stones to the goal |
| 114 | - owl tuning |
| 115 | - influence tuning |
| 116 | - tuning |
| 117 | - new and revised tests |
| 118 | |
| 119 | 3.7.9 released March 10, 2006 |
| 120 | |
| 121 | - new GTP command advance_random_seed <games> |
| 122 | - make update_random_seed() deterministic |
| 123 | - fix assertion failure in semeai() |
| 124 | - semeai attack and defense codes added to struct dragon_data2 |
| 125 | - in estimate_territorial_value(), let stones have influence strength also |
| 126 | when their safety depends on ko |
| 127 | - unify internal handling of limit_search and restricted_genmove |
| 128 | - new function play_lib_n() in utils.c and autohelper functions |
| 129 | oplay_lib/xplay_lib |
| 130 | - new static function modify_eyefilling_move() in owl.c |
| 131 | - do not reset permeability around dead stones |
| 132 | - do not consider moves playing into snapback in |
| 133 | do_find_more_owl_attack_and_defense_moves() |
| 134 | - new function playing_into_snapback() in utils.c |
| 135 | - only call do_find_more_owl_attack_and_defense_moves() when stackp==0 |
| 136 | - use .strategic_size in estimate_strategical_value() |
| 137 | - new field .strategic_size in dragon_data2, includes bonus for weak neighbors |
| 138 | - use gg_normalize_float2int() in valuate_combinable_pattern_chain() to |
| 139 | address platform dependencies |
| 140 | - carefully select new owl goal origin |
| 141 | - allow excess strategical value for some single-worm dragons |
| 142 | - include played move in atari-atari blunder analysis |
| 143 | - score.c removed from sources |
| 144 | - owl tuning |
| 145 | - tuning |
| 146 | - new and revised tests |
| 147 | |
| 148 | 3.7.8 released January 30, 2006 |
| 149 | |
| 150 | - new global variable handicap |
| 151 | - chinese scoring adds the number of handicap stones in addition to the |
| 152 | komi to white's score |
| 153 | - include handicap in sgf headers |
| 154 | - dead code removed from influence_evaluate_position() and the rest moved |
| 155 | to game_status() |
| 156 | - metamachine enabled in ascii mode (as in GNU Go 3.6) |
| 157 | - configure option oracle renamed metamachine (as in GNU Go 3.6) |
| 158 | - new testfile gifu05.tst |
| 159 | - don't try large scale attack if original owl reading was expensive |
| 160 | - teach influence_score() about chinese rules |
| 161 | - copyright notices updated for 2006 |
| 162 | - bugfix in unconditional status analysis |
| 163 | - let --capture-all-dead and --play-out-aftermath be effective also when |
| 164 | playing out a game for scoring (e.g. --score finish) |
| 165 | - semeai analysis turned off when there are a huge number of dragons |
| 166 | - MAX_STRINGS value corrected |
| 167 | - new assertions that the next_string pointer hasn't overflowed |
| 168 | - hash flag bits and -H option removed |
| 169 | - default size of reading cache set to a fixed number of entries instead |
| 170 | of a fixed amount of memory, improving platform independence |
| 171 | - update information about valid boardsizes in gnugo.pod |
| 172 | - bugfix for drawing 1x1 board in play_ascii.c |
| 173 | - regress.pike can run multiple engines in parallel (-j option) |
| 174 | - correction of color in order_moves() call in reading.c |
| 175 | - doc revision, updated instruction for setting up HTML regression views |
| 176 | - find_connection_moves() revised |
| 177 | - GTP command dragon_data fixed to give well-formed output also on empty |
| 178 | board |
| 179 | - update regress.pl and regress.plx to count connection nodes instead of |
| 180 | life nodes and expect reg_genmove instead of gg_genmove |
| 181 | - remove gnugo_play_sgftree(), gnugo_genmove(), gameinfo_load_sgfheader(), |
| 182 | and gameinfo_play_move() from engine/interface.c |
| 183 | - 1D conversion of gnugo_play_move() |
| 184 | - new function get_sgfmove() |
| 185 | - let semeai code pass if no riskless move was found |
| 186 | - do not hardwire owl node limit for large scale attacks |
| 187 | - remove many unneeded configure tests |
| 188 | - READLINE compile (warning) fixes |
| 189 | - complete rework of clock.c, using level adaption logic from play_gtp.c |
| 190 | - use more tactical moves in do_owl_analyze_semeai() |
| 191 | - unused function transform2() removed |
| 192 | - report_worm() made static in worm.c |
| 193 | - hashdata_to_string() revised for consistency between 32 and 64 bit platforms |
| 194 | - bugfixes in do_aftermath_genmove() |
| 195 | - adjust readconnect node limit when starting search at higher stackp |
| 196 | - new function get_depth_modification() |
| 197 | - removed functions set_temporary_depth_values()/restore_depth_values() |
| 198 | - always set dragon status to ALIVE if owl_status is UNCHECKED |
| 199 | - correct C-code footer in uncompress_fuseki.c for all values of |
| 200 | NUM_HASHVALUES |
| 201 | - play_replay() and replay_node() partially rewritten |
| 202 | - tuning |
| 203 | - new and revised tests |
| 204 | |
| 205 | 3.7.7 released October 9, 2005 |
| 206 | |
| 207 | - FSF address corrected in COPYING |
| 208 | - large scale improvements |
| 209 | - use signed char instead of char most of the time in the engine |
| 210 | - string_to_location(), debug_influence_move(), and report_worm() |
| 211 | converted to 1D |
| 212 | - get_level() removed from genmove.c |
| 213 | - documentation update |
| 214 | - remove long deprecated command hurry from play_ascii |
| 215 | - use signed char in connected_components() in owl.c |
| 216 | - rotation support for --decide_* options removed |
| 217 | - remove trivial wrapper functions from engine/interface.c |
| 218 | - patterns/transpat.c, patterns/patlib.c, and patterns/patlib.h removed |
| 219 | - unused game records in regression/golois removed |
| 220 | - makevcdist.pl updated and re-run |
| 221 | - all Makefile.in regenerated |
| 222 | - debugboard traces from Makefile and configure removed |
| 223 | - endgame1.tst removed from distribution but not from CVS |
| 224 | - cutstone.tst, semeai2.tst, and *_rot.tst removed |
| 225 | - debugboard removed |
| 226 | - support for pattern based reading (EXPERIMENTAL_READING) removed |
| 227 | - support for tree based pattern matching removed |
| 228 | - view.pike: support multiple tests as argument |
| 229 | - test revisions |
| 230 | - consistently initialize global variables in globals.c (not main.c) |
| 231 | - large scale code reorganized |
| 232 | - fullboard support (-f option) remove from mkpat |
| 233 | - atari_atari tuning |
| 234 | - endgame tuning |
| 235 | |
| 236 | 3.7.6 released September 21, 2005 |
| 237 | |
| 238 | - a few missing game records restored |
| 239 | - revised patterns.dsp and new uncompress_fuseki.dsp |
| 240 | |
| 241 | 3.7.5 released September 20, 2005 |
| 242 | |
| 243 | - revision to patterns.dsp (but more revision needed before VC will compile) |
| 244 | - send usage messages caused by bad input to stderr |
| 245 | - new, larger fuseki database added as compressed files |
| 246 | - new files patterns/compress_fuseki.c and patterns/uncompress_fuseki.c |
| 247 | - use a fullboard hash for fuseki database patterns |
| 248 | - new array comulative_goal in local_owl_data |
| 249 | - don't count former owl goal dragon stones towards escape measure |
| 250 | - removed PROFILE_MATCHER |
| 251 | - handle CRLF newlines correctly in view.pike |
| 252 | - new static function squeeze_moves() in reading.c |
| 253 | - fix komaster problem |
| 254 | - do not trust connection moves to be safe in |
| 255 | estimate_territorial_value() |
| 256 | - add random move value contributions also for pure ko threats |
| 257 | - new and revised tests |
| 258 | |
| 259 | 3.7.4 released June 12, 2005 |
| 260 | |
| 261 | - copyright notices updated for 2005 and new FSF address |
| 262 | - bugfix in find_backfilling_move in filllib.c |
| 263 | - make fast_defense() aware of under-the-stones tesuji |
| 264 | - make superstring_break_chain_moves() attack 3-liberty chains |
| 265 | - unused code to compute genus removed from make_dragons() |
| 266 | - owl tuning |
| 267 | - atari-atari tuning |
| 268 | - optics tuning |
| 269 | - tuning |
| 270 | - new and revised tests |
| 271 | |
| 272 | 3.7.3 released March 22, 2005 |
| 273 | |
| 274 | - special_rescue_moves() allows self atari moves which may set up a snapback |
| 275 | - increase depth after filling liberties in endgame_find_backfilling_dame() |
| 276 | - try harder to find safe backfilling moves in endgame_find_backfilling_dame() |
| 277 | - revised heuristics to find a font file in view.pike |
| 278 | - avoid crashing on bad engine paths when starting a new engine in view.pike |
| 279 | - move_connects_strings() revised |
| 280 | - outcommented patterns removed |
| 281 | - ignore off board vertices in openregion() in fuseki.c |
| 282 | - Revise diagonal value in topological_eye() to account for damezumari |
| 283 | - owl tuning |
| 284 | - new and revised tests |
| 285 | |
| 286 | 3.7.2 released January 20, 2005 |
| 287 | |
| 288 | - gnugo.el: Grid display implemented |
| 289 | - gnugo.el: SGF handling improved |
| 290 | - gnugo.el: Undo and Redo related enhancements |
| 291 | - gnugo.el: Primitive edit mode |
| 292 | - gnugo.el: Regression view mode |
| 293 | - Doc revision (Emacs mode in using.texi) |
| 294 | - use print_numeric_influence() for printing escape influence |
| 295 | - take neighbouring half/false eyes into account when estimating lunch value |
| 296 | - do not trust strategic attack and defense moves to be safe when scoring |
| 297 | - thrash_around_helper() returns false if fuseki is disabled |
| 298 | - value_territory() revised to disable certain reductions of the territory |
| 299 | value when scoring |
| 300 | - regress.pike revised so that previous output can be used as input |
| 301 | with -f to rerun tests with unexpected results |
| 302 | - connection_value() revised |
| 303 | - use influence-based score estimate instead of Bouzy's algorithm |
| 304 | - new global variable white_score, black_score |
| 305 | - should_resign() now depends on optimistic_score instead of average_score |
| 306 | - added support for GTP over TCP/IP sockets on Windows |
| 307 | - new static function all_own_neighbors_inessential() in aftermath.c |
| 308 | - do_aftermath_genmove() revised |
| 309 | - breakage2tst.py now produces command line for regress.pike |
| 310 | - further revision of thrashing dragon heuristic |
| 311 | - try harder to find backfilling moves in fill_liberty() |
| 312 | - find_backfilling_move() in filllib.c revised |
| 313 | - test_attack_either() revised |
| 314 | - fixed anchor building of owl_attackpats.db repaired |
| 315 | - thrashing dragon heuristics revised |
| 316 | - readline support in ASCII mode |
| 317 | - liberties and neighbors list broken out of string_data array in board.c |
| 318 | for speedup |
| 319 | - new functions remove_double_blocks(), check_double_block() to improve |
| 320 | territorial evaluation at places where an intrusion is possible |
| 321 | - stop using worm data at stackp==0 in does_attack() and does_defend() |
| 322 | - concerns_noncritical_dragon() revised |
| 323 | - MIN_BOARD reduced to 1 |
| 324 | - free memory allocated in a failed read of an sgf file |
| 325 | - extract_fuseki revisions: statistics on outcomes, |
| 326 | popularity cutoffs based on unique players added to command line |
| 327 | parameters, tweaks and bugfixes in game selection |
| 328 | - atari_atari moves considered blocking in estimate_territorial_value() |
| 329 | - MAX_LIBERTIES reduced to 8 |
| 330 | - popgo() bugfix to repair sgf traces |
| 331 | - do_owl_analyze_semeai() revised |
| 332 | - emacs variant of ascii interface removed |
| 333 | - give less bonus to connection moves when scoring |
| 334 | - influence tuning |
| 335 | - owl tuning |
| 336 | - tuning |
| 337 | - new testsuite tiny.tst |
| 338 | - new and revised tests |
| 339 | |
| 340 | 3.7.1 released November 23, 2004 |
| 341 | |
| 342 | - new function send_two_return_one() in utils.c |
| 343 | - don't consider send-two-return-one moves in |
| 344 | do_find_more_owl_attack_and_defense_moves() |
| 345 | - does_attack() made ko aware |
| 346 | - new GTP commands does_attack and does_defend |
| 347 | - sgfnode.c (readsgffile): Do not fclose stdin. |
| 348 | - gtp.texi (GTP command reference): Add @cindex. |
| 349 | - gtp-commands.sed: Use @verbatim. Tighten output. |
| 350 | - gtp-commands.sed: Move `Function' field into @item line, sans field name. |
| 351 | - doc/ Makefile.am (gtp-commands.texi): Eliminate redundant use of cat(1). |
| 352 | - revision of gtp-commands.sed |
| 353 | - bugfix in main.c: remember to sgfFreeNode(gameinfo.game_record.root) |
| 354 | - allow PASS_MOVE in trymove() and tryko() |
| 355 | - do_trymove() and popgo() revised |
| 356 | - 'printfsgf -' supported from GTP |
| 357 | - copyright notices added to xpm files |
| 358 | - gnugo.el brought up to Thi's gnugo.el-2.2.8 |
| 359 | - new gtp_move_history() for use with gnugo.el |
| 360 | - minor doc revision |
| 361 | - capture_non_invincible_strings() and unconditional_life() moved from |
| 362 | utils.c to unconditional.c |
| 363 | - resignation option reverted from GTP commands genmove_black and |
| 364 | genmove_white |
| 365 | - new heuristic to reduce branching factor in connection reading. |
| 366 | - resign rather than pass when all own stones seem dead |
| 367 | - lively_dragon_exists() based on status rather than crude_status |
| 368 | - potential_moves[] array converted to 1D |
| 369 | - distance measures converted from floating to fixed point arithmetic |
| 370 | in connection reading code. |
| 371 | - owl threats disabled as a command line option |
| 372 | - EXIT_SUCCESS and EXIT_FAILURE used in transpat.c and sgfgen.c |
| 373 | - revised interface to all genmove() type functions |
| 374 | - new global variable depth_offset |
| 375 | - only cache safe_move() results when reading depth is unmodified |
| 376 | - revision of interface/emacs.el |
| 377 | - new interface/xpms/*xpm, make-gnugo-xpms.el and gnugo-xpms.el |
| 378 | - break_chain2_moves() revised |
| 379 | - special_attack4_moves() revised |
| 380 | - defend_secondary_chain_moves() revised and split into two functions |
| 381 | - check_self_atari() in readconnect.c revised |
| 382 | - devalue tactical defenses of owl critical dragons when there are |
| 383 | better owl defenses elsewhere |
| 384 | - find_moves_to_make_seki() extended to examine the case of dead stones |
| 385 | inside the eye of single-eyed dragons |
| 386 | - added support for GTP communication over TCP/IP socket; GNU Go can |
| 387 | both connect and listen |
| 388 | - bugfix in break_in_goal_from_str(): check pos+delta on board |
| 389 | - bugfix in sgfStartVariant |
| 390 | - constrain thrashing dragons more often |
| 391 | - hashing cleanups |
| 392 | - missing files added to EXTRADIST in Makefile.* in doc/ and regression/ |
| 393 | - new file logo-36.pdf |
| 394 | - DFA micro optimizations |
| 395 | - Test results updated: cvs tag rel-3-7-1-pre-1 |
| 396 | - use int arrays instead of char arrays to mark eyes in |
| 397 | owl_determine_life() and dependent functions |
| 398 | - added .eps-version of new logo |
| 399 | - help string revised |
| 400 | - warnings fixed |
| 401 | - doc revisions |
| 402 | - TODO revised |
| 403 | - basic strategies to break mirror go implemented |
| 404 | - matcher_check verbosity refined |
| 405 | - new function are_neighbors() |
| 406 | - 9x9 opening moves tuned |
| 407 | - view.pike enhancement: switch to new test case |
| 408 | - debugging enhancement: owl goal marked in sgf trees |
| 409 | - new move reasons POTENTIAL_SEMEAI_ATTACK/DEFENSE to defer analysis of |
| 410 | possible semeai winning moves until move valuation |
| 411 | - infrastructure to cut owl goal dragons |
| 412 | - new owl pattern class C: threaten to cut owl goal dragon |
| 413 | - view.pike enhancement: owl_does_defend/attack |
| 414 | - crash in owl_hotspots() fixed |
| 415 | - view.pike enhancement: directly start sgf viewer |
| 416 | - remove special case of CLASS_C in matchpat.c |
| 417 | - influence tuning |
| 418 | - owl tuning |
| 419 | - endgame tuning |
| 420 | - tuning |
| 421 | - implement persistent semeai caching |
| 422 | - don't crash on some .sgf-files from kgs |
| 423 | - NEWS updated |
| 424 | - refer to 3.6 instead of 3.4 in docs |
| 425 | - new and revised tests |
| 426 | |
| 427 | 3.5.10 released August 7, 2004 |
| 428 | |
| 429 | - move initalization of ..._vital_points to initialize_dragon_data() |
| 430 | - persistent caches reorganized to share common code |
| 431 | |
| 432 | 3.5.9 released July 18, 2004 |
| 433 | |
| 434 | - bugfix in read_eye() |
| 435 | - bugfix in fast_defense() |
| 436 | - improved printing of hashvalues |
| 437 | - bugfix in atari_atari_blunder_size() |
| 438 | - new static function dump_board_sgf() in printutils.c |
| 439 | - abortgo() no longer unwinds the stack but prints an sgf file |
| 440 | - new and revised tests |
| 441 | - doc revision |
| 442 | |
| 443 | 3.5.8 released June 8, 2004 |
| 444 | |
| 445 | - make `mkpat' detect duplicate pattern names |
| 446 | - duplicate pattern names renamed |
| 447 | - reduce DFA_MAX_MATCHED 20 times |
| 448 | - calculate actual maximum dfa with new dfa_calculate_max_matched_patterns() |
| 449 | - remove unused configure option --experimental-semeai |
| 450 | - add missing output to --options |
| 451 | - new static function special_rescue4() called from defend2() in reading.c |
| 452 | - fast_defense() now heuristically looks for neighbors to capture |
| 453 | - don't restore random state in hash_init() and keyhash_init() |
| 454 | - major `view.pike' revision, added new "single window" mode |
| 455 | - break_chain2_moves() revised to generate more backfilling moves |
| 456 | - atari_atari_blunder_size() now returns multiple defenses, better verified |
| 457 | - remove %r support from gprintf, use result_to_string() instead |
| 458 | - double_atari_chain2() revised to generate more moves |
| 459 | - new argument recompute_dragons to owl_analyze_semeai_after_move() |
| 460 | - owl_mark_dragon() and init_owl() revised |
| 461 | - detect_tactical_blunder() revised |
| 462 | - value of tactical blunders doubled to twice the effective size of the string |
| 463 | - not a blunder if a string alive in seki is saved when outer liberties filled |
| 464 | - normalize apos, bpos in do_owl_analyze_semeai |
| 465 | - find_cuts() called from make_dragons() instead of make_domains() |
| 466 | - new compute_new_dragons() and new static join_new_dragons() in dragon.c |
| 467 | - new global array cutting_points[] |
| 468 | - cut field removed from struct eye_data |
| 469 | - INHIBIT_CONNECTION bit no longer used in the type field of struct eye_data |
| 470 | - find_cuts() no longer allowed to modify eyespaces |
| 471 | - bugfix in do_owl_analyze_semeai() |
| 472 | - tuning |
| 473 | - new and revised tests |
| 474 | |
| 475 | 3.5.7 released May 27, 2004 |
| 476 | |
| 477 | - minor revisions in score.c |
| 478 | - regress.pike measures uncertainty of moves |
| 479 | - global variable hashdata renamed to board_hash |
| 480 | - hashdata_compare() function removed |
| 481 | - fields in struct stats_data updated for new cache |
| 482 | - initialization of Zobrist random numbers in hash.c and cache.c unified |
| 483 | - new function hash_init_zobrist_array() in hash.c |
| 484 | - hashdata_remainder() never uses more than the 32 lowest bits of hash value |
| 485 | - hashdata_NULL, hashdata_clear(), and hashdata_init() macros removed |
| 486 | - any number of MIN_HASHBITS can now be used |
| 487 | - ROUTINE_COSTS revised |
| 488 | - find_connection_moves() revised |
| 489 | - always print copyright string on stdout |
| 490 | - do not include "Version" in the --version output |
| 491 | - old cache implementation removed |
| 492 | - ignore inessential critical dragons in in dilate_erode() |
| 493 | - TRACE_CACHED_RESULT* macros implemented for new caching scheme |
| 494 | - old cache implementation commented out |
| 495 | - new file engine/unconditional.c added |
| 496 | - break-in reading tuned |
| 497 | - safety checks improved for owl defense moves |
| 498 | - bugfix in find_neighbor_dragons() |
| 499 | - attribute "noreturn" for abortgo() |
| 500 | - don't add child to root node in sgffile_printboard() |
| 501 | - remove color parameter from examine_position(), compute_eyes_pessimistic() |
| 502 | - new arrays white_vital_points and black_vital_points |
| 503 | - read_eye() stores vital point in new arrays when add_moves == 1 |
| 504 | - new functions find_lunches(), revise_inessentiality(), eye_computations() |
| 505 | broken out of make_dragons() |
| 506 | - VITAL_EYE_MOVE almost retired |
| 507 | - fix bugs in recursive_break() |
| 508 | - owl tuning |
| 509 | - new and revised tests |
| 510 | |
| 511 | 3.5.6 released April 23, 2004 |
| 512 | |
| 513 | - new configure and runtime option large-scale |
| 514 | - new change_owl_nodes() |
| 515 | - gprintf supports %r |
| 516 | - cleanup of patterns/*.sgf |
| 517 | - revision of dragon_invincible() |
| 518 | - suppress copyright notice in ASCII playing mode or with --version |
| 519 | - copyright string shortened |
| 520 | - new GTP commands move_probabilities and move_uncertainty |
| 521 | - bugfix in unconditional_life() |
| 522 | - owl_update_goal() overrides same_dragon == 0 in obvious cases |
| 523 | - new and revised tests |
| 524 | |
| 525 | 3.5.5 released April 15, 2004 |
| 526 | |
| 527 | - moved TRACE_READ_RESULTS definition to hash.h |
| 528 | - initialize lunch data for single owl move |
| 529 | - bugfix in compute_eyes_pessimistic(): initialize chainlinks[] |
| 530 | - improved sgf trace in trymove: location of tried move noted |
| 531 | - complete conversion to new cache |
| 532 | - add priority to reading results in new cache |
| 533 | - kill unused hash_ng_init() |
| 534 | - minor statistics improvements |
| 535 | - enlarge owl goal when it has had lunch |
| 536 | - komaster and kom_pos made static variables in board.c |
| 537 | - edge_block_moves() proposes more moves |
| 538 | - don't try to undo when stackp is not zero (GTP mode) |
| 539 | - support for multiple engines in view.pike |
| 540 | - more info about semeais in dragon_data2 |
| 541 | - double-check owl attack moves against dragons involved in semeai(s) |
| 542 | - be less optimistic about large, but bulky eyespaces |
| 543 | - support for 'make gnugo.pdf' and make 'gnugo.html' in doc/ |
| 544 | - slowest move statistics from regress.pike |
| 545 | - update usages of time_report() |
| 546 | - `twogtp.pike' can now use third engine (arbiter) to score games |
| 547 | - breakin and readconnect fixes |
| 548 | - first implementation of owl threat combinator--intended for improving |
| 549 | move ordering |
| 550 | - pattern attributes (shape, followup etc.) are now stored in lists, not |
| 551 | in `pattern' structure |
| 552 | - there is now a possibility to define virtually unlimited number of new |
| 553 | pattern attributes |
| 554 | - common code of shapes_callback() and joseki_callback() is broken into |
| 555 | new static function handle_joseki_patterns() |
| 556 | - new function do_find_more_owl_attack_and_defense_moves() broken out |
| 557 | of find_more_owl_attack_and_defense_moves() |
| 558 | - induce_secondary_move_reasons() tries to upgrade induced reasons to |
| 559 | owl attacks/defenses with do_find_more_owl_attack_and_defense_moves() |
| 560 | - strategical attack move reason is induced for saving certain worms |
| 561 | adjoining weak opponent dragons |
| 562 | - major improvement of analyze_eyegraph functionality in optics.c |
| 563 | - adjust min_level and max_level if --level is set outside their range |
| 564 | - do not malloc() 0 bytes in pattern_list_build_heap() |
| 565 | - aftermath_final_status() declaration moved from gnugo.h to liberty.h |
| 566 | - bugfix in find_connection_moves() |
| 567 | - bugfix in hashdata_init macro |
| 568 | - caching enabled for unbranched owl nodes |
| 569 | - comments added explaining heap in readconnect.c |
| 570 | - provide links to html regression views from regress.sh |
| 571 | - semeai analysis in make_dragons() postponed until after revision of |
| 572 | inessentiality |
| 573 | - identification of thrashing dragons in make_dragons() postponed |
| 574 | until after semeai analysis |
| 575 | - avoid overflow in reading_cache_init() |
| 576 | - converted owl to use new cache implementation |
| 577 | - owl tuning |
| 578 | - new game records and test cases |
| 579 | |
| 580 | 3.5.4 released January 23, 2004 |
| 581 | |
| 582 | - copyright 2004 added to copyright notices |
| 583 | - new static function capture_non_invincible_strings() broken out of |
| 584 | unconditional_life() |
| 585 | - unconditional_life() revised |
| 586 | - new semeai_propose_eyespace_filling_move() tries to play inside eyeshapes |
| 587 | - number_of_dragons initialized in initialize_dragon_data() |
| 588 | - new option --gtp-dump-commands to dump all incoming GTP commands to file |
| 589 | - new function and autohelper owl_lunch() |
| 590 | - lunches_are_current field no longer reset in owl_safe_move() |
| 591 | - don't claim levels higher than 10 are unsupported |
| 592 | - new GTP command unconditional_status |
| 593 | - estimate_lunch_eye_value() revised |
| 594 | - avoid calling owl_substantial() when not needed in aa_compute_status() |
| 595 | - value_move_reasons() revised |
| 596 | - special_rescue6_moves() revised |
| 597 | - find_connection_moves() revised |
| 598 | - computation of NUM_HASHVALUES corrected in hash.h |
| 599 | - hashdata_to_string reimplemented |
| 600 | - defend4() and special_rescue_moves() revised |
| 601 | - avoid ko captures when filling outer liberties in semeai reading |
| 602 | - adjust breakin_depth in modify_depth_values() |
| 603 | - atari_atari tuning |
| 604 | - endgame tuning |
| 605 | - eye tuning |
| 606 | - fuseki tuning |
| 607 | - influence tuning |
| 608 | - owl tuning |
| 609 | - tuning |
| 610 | - new test suite unconditional.tst |
| 611 | - new game records and test cases |
| 612 | |
| 613 | 3.5.3 released January 7, 2004 |
| 614 | |
| 615 | - new GTP command kgs-genmove_cleanup |
| 616 | - compute_crude_status() revised to consider dragons with big |
| 617 | territorial moyo value as alive |
| 618 | - semeai moves considered safe in mark_changed_dragon |
| 619 | - compare number of eyes when both colors pass in |
| 620 | do_owl_analyze_semeai() instead of always consider it a seki |
| 621 | - do not use the attack point from owl if owl considers a dragon dead |
| 622 | but semeai revises it to critical |
| 623 | - bugfix in break_through_helper() in reading.c |
| 624 | - new static function close_enough_for_proper_semeai() in semeai.c |
| 625 | - liberty_of_dragon() transformed into neighbor_of_dragon() in semeai.c |
| 626 | - in semeai(), be more careful when considering two dragons involved |
| 627 | in a semeai |
| 628 | - new static function max_lunch_eye_value() in value_moves.c |
| 629 | - when restraining thrashing dragons, do not bother connecting |
| 630 | inessential strings which cannot provide an eye (in |
| 631 | estimate_strategical_value()) |
| 632 | - new autohelper function adjacent_to_stone_in_atari |
| 633 | - new static bamboo_rescue_moves() in `reading.c'. |
| 634 | - computation of safety and status values in make_dragons() revised to |
| 635 | more robustly handle invincible dragons |
| 636 | - dragon_invincible() revised |
| 637 | - detect_tactical_blunder() revised |
| 638 | - owl stack management reimplemented |
| 639 | - consider semeai worms adjacent to the outside as important in |
| 640 | owl_analyze_semeai_after_move() |
| 641 | - additional semeai debug output |
| 642 | - let stdout be unbuffered instead of line buffered in play_gtp() |
| 643 | - if one dragon is considerably smaller than the other in a semeai, |
| 644 | prefer to get ko over seki in do_owl_analyze_semeai() |
| 645 | - in a semeai, consider also the eyespaces including opponent semeai |
| 646 | worms in order to detect a definite lack of eyespace and to find |
| 647 | certain vital moves |
| 648 | - off-by-one error in loops over semeai_worms[] corrected |
| 649 | - don't allow "safe" common liberties to depend on ko in |
| 650 | do_owl_analyze_semeai() |
| 651 | - new static function find_moves_to_make_seki() in semeai.c |
| 652 | - do semeai analysis for all pairs of critical/dead dragons except |
| 653 | when one is inessential, other exceptional cases removed from semeai() |
| 654 | - defend4() generates superstring moves |
| 655 | - semeai_move_reasons() revised |
| 656 | - induce_secondary_move_reasons() revised; do not allow owl attack moves |
| 657 | to induce strategic defense of neighbors if involved in a semeai |
| 658 | - connection_value() revised to never give points for connection to |
| 659 | inessential strings |
| 660 | - get_influence() revised |
| 661 | - list_move_reasons() revised and made global |
| 662 | - new functions print_all_move_values() and prepare_move_influence_debugging() |
| 663 | - delta_territory cache can be disabled in estimate_territorial_value() |
| 664 | - new GTP commands all_move_values, eye_data, half_eye_data, move_reasons |
| 665 | - GTP command influence replaced by initial_influence, move_influence, and |
| 666 | followup_influence |
| 667 | - GTP command clear_cache now also clears the non-persistent cache |
| 668 | - bugfix in corner_add_pattern() (mkpat.c): labels must be rotated too |
| 669 | - spread_connection_distances() now delays expensive constraint evaluation, |
| 670 | storing pending evaluation on a heap |
| 671 | - new function signed_mark_string() |
| 672 | - computation of active area revised in store_persistent_connection_cache(), |
| 673 | store_persistent_breakin_cache(), and store_persistent_owl_cache() |
| 674 | - move_is_marked_unsafe() in move_reasons.h revised |
| 675 | - modify_stupid_eye_vital_point() revised |
| 676 | - influence tuning |
| 677 | - fuseki tuning |
| 678 | - eye tuning |
| 679 | - endgame tuning |
| 680 | - owl tuning |
| 681 | - tuning |
| 682 | - new test suite seki.tst |
| 683 | - new game records and test cases |
| 684 | |
| 685 | 3.5.2 released November 5, 2003 |
| 686 | |
| 687 | - Cosmic GNU Go disabled by default. |
| 688 | - report_dragon() revised |
| 689 | - gtp_worm_data() revised |
| 690 | - pattern tagging |
| 691 | - regress.sh revised |
| 692 | - regress.pike revised |
| 693 | - attack2() revised |
| 694 | - defend4() revised |
| 695 | - slow sorting in get_next_move_from_list() is replaced with heap sorting |
| 696 | - new static functions pattern_list_build_heap() and |
| 697 | pattern_list_get_next_pattern() in `engine/owl.c' |
| 698 | - new command line option --no-cosmic-gnugo |
| 699 | - remove global variables score, lower_bound, upper_bound |
| 700 | - remove (level >= 8) condition for estimate_score() call |
| 701 | - pass our_score instead of score to the move valuation functions |
| 702 | - tuning |
| 703 | - influence tuning |
| 704 | - owl tuning |
| 705 | - joseki tuning |
| 706 | - new game records and test cases |
| 707 | |
| 708 | 3.5.1 released September 4, 2003 |
| 709 | |
| 710 | - semeai() revised to better handle certain cases of multiple simultaneous |
| 711 | semeais |
| 712 | - find additional semeai moves in semeai_reasons() |
| 713 | - added more robust handling of .dtr files |
| 714 | - removed option to build pre-rotated DFAs |
| 715 | - unconditional_status in struct worm_data changed to enum dragon_status |
| 716 | - final_status in the aftermath code changed to use enum dragon_status |
| 717 | - enum dragon_status extended with BLACK_TERRITORY, WHITE_TERRITORY, |
| 718 | and DAME |
| 719 | - new GTP command last_move |
| 720 | - threaten_to_capture_helper() and pattern `Sente12' retired |
| 721 | - no buffering on stdout in ascii mode |
| 722 | - roadmap to engine files in overview.texi updated |
| 723 | - move DEBUG_func to showbord.c |
| 724 | - pattern tuning: remove "t" classification from various patterns |
| 725 | - WHITE_BORDER, BLACK_BORDER, GRAY_BORDER retired |
| 726 | - colors and komaster state, safety values and dragon status, cache routine |
| 727 | ids are now "enum" |
| 728 | - board library: remove all stuff that is not directly related to board |
| 729 | (and move it to the engine) |
| 730 | - board library: new file board.h as public interface, new file boardlib.c |
| 731 | to collect global variable of the board library; |
| 732 | - board library documentation updated to reflect changes |
| 733 | - new function: hashdata_to_string() |
| 734 | - small_semeai() and small_semeai_analyzer() removed |
| 735 | - support for !experimental_semeai removed |
| 736 | - old semeai() removed and new_semeai() renamed to semeai() |
| 737 | - analyze_semeai(), add_appropriate_semeai_moves(), and liberty_of_dragon() |
| 738 | removed |
| 739 | - old amalgamation (!experimental_connections) code and patterns removed |
| 740 | - dragon_eye() removed |
| 741 | - basic_cut_helper() and ugly_cutstone_helper() removed |
| 742 | - komaster schemes 1-4 removed |
| 743 | - komaster_is_empty() retired |
| 744 | - komaster_to_string() revised |
| 745 | - KOMASTER_TRACE functionality removed |
| 746 | - new GTP command combination_defend |
| 747 | - revised hash table scheme |
| 748 | - new COSMIC_GNUGO function choose_best_strategy() sets tuning parameters |
| 749 | - new global tuning parameters: minimum_value_weight, maximum_value_weight, |
| 750 | invasion_malus_weight, strategical_weight, territorial_weight, |
| 751 | attack_dragon_weight; |
| 752 | - remove unneeded configure stuff, add -Wundef to SOME_WARNINGS |
| 753 | - replace setlinebuf by setvbuf |
| 754 | - add safety_hash field to delta territory cache, reenable this cache |
| 755 | - cgi interface in interface/html directory removed |
| 756 | - owl tuning |
| 757 | - new game records and test cases |
| 758 | |
| 759 | 3.4 released July 31, 2003 |
| 760 | |
| 761 | - breakage2tst.py and gnugo-db.el added to EXTRA_DIST |
| 762 | - wariuchi fuseki: invade between shimaris |
| 763 | - new sgmp mode |
| 764 | - regress.pike added to EXTRA_DIST |
| 765 | - revision of copyright notices |
| 766 | - warnings fixed on some platforms |
| 767 | - doc revision |
| 768 | |
| 769 | 3.3.23 released July 15, 2003 |
| 770 | |
| 771 | - bugfix in show_dragons() |
| 772 | - redistribution consistency checking disabled for stable release |
| 773 | - gg_genmove replaced by reg_genmove almost everywhere in the regressions |
| 774 | - twogtp.py and twogtp.pike added to gtp_examples/README |
| 775 | - twogtp and twogtp-a made GTP version 2 compliant |
| 776 | - break-in code turned off below level 10; other level cutoffs revised |
| 777 | - support for ranges in sgf files |
| 778 | - time summaries reported with --showtime in gmp mode |
| 779 | - TODO revised. |
| 780 | - clock_init_autolevel() retired |
| 781 | - new global variables min_level and max_level |
| 782 | - new options --min-level and --max-level |
| 783 | - time handling implemented in play_gtp.c |
| 784 | - speedup: move some functionality of update_liberties() to do_remove_string() |
| 785 | - bugfix in do_play_move() |
| 786 | - doc: delete most lists of functions |
| 787 | - doc: remove move_generation.texi overview sections |
| 788 | - doc: reorder |
| 789 | - doc: Consistently use hierarchical structure instead of next/previous/up |
| 790 | - tuning |
| 791 | - owl tuning |
| 792 | - eye tuning |
| 793 | - doc: complete rewrite of first sections of overview.texi |
| 794 | - doc: subsection on 1D board array moved to board.texi |
| 795 | - doc: references to cavities in dragon amalgamation removed |
| 796 | - new game records and test cases |
| 797 | |
| 798 | 3.3.22 released June 28, 2003 |
| 799 | |
| 800 | - break-in code turned off below level 9 |
| 801 | - VPATH modifications in regression/Makefile* |
| 802 | - new function thrash_around_helper() |
| 803 | - thrashing patterns in patterns.db |
| 804 | - configure --enable-cosmic-gnugo produces a center-oriented engine |
| 805 | - added cache for results of approxlib() and accuratelib() |
| 806 | - new static functions do_approxlib() and do_accuratelib() in board.c |
| 807 | - finish_sgftrace() will not free the trace tree if not written successfully |
| 808 | - remove tabs from twogtp.py |
| 809 | - twogtp.py checks that board is not empty before indexing it |
| 810 | - active area for persistent breakin cache shrinked |
| 811 | - new HIGH_LIBERTY_BIT2 in persistent caches, used by breakin cache |
| 812 | - new function break_chain4_moves() |
| 813 | - owl moves for non-critical dragons discarded |
| 814 | - do_owl_analyze_semeai() revised |
| 815 | - detect_owl_blunder() also looks for semeai defenses |
| 816 | - estimate_strategical_value() revised |
| 817 | - new function defend_secondary_chain_moves() in reading.c |
| 818 | - new parameter be_aggressive to break_chain2_moves(), |
| 819 | break_chain2_defense_moves() and break_chain3_moves() |
| 820 | - new depth value: break_chain_depth |
| 821 | - defend2() no longer plays on self atari liberties |
| 822 | - superstring_breakchain_moves() renamed superstring_break_chain_moves() |
| 823 | - fix "no moves found" logic in various readconnect.c functions |
| 824 | - new debug flag DEBUG_BREAKIN |
| 825 | - "smaller goal" in breakin.c revised |
| 826 | - be more careful when erasing territory after successful break-in |
| 827 | - break-in move generation bug fix |
| 828 | - endgame_find_backfilling_dame() revised |
| 829 | - new global array forced_backfilling_moves[] |
| 830 | - find_backfilling_move in filllib.c revised |
| 831 | - disable revise_semeai() when doing_scoring |
| 832 | - no bonus for attack or defense of dead potential cutstones when doing_scoring |
| 833 | - reevaluate_ko_threats() revised to avoid playing losing ko threats |
| 834 | - RTRACE and VTRACE retired |
| 835 | - corrected format of AP property in sgf_write_header() |
| 836 | - tuning |
| 837 | - owl_tuning |
| 838 | - new game records and test cases |
| 839 | |
| 840 | 3.3.21 released June 3, 2003 |
| 841 | |
| 842 | - revision of owl_strong_dragon() |
| 843 | - extra care is now taken not to waste points on tiny ko threats |
| 844 | - ko threats with large followups always preferred to large reverse followups |
| 845 | - twogtp.py fixed to handle jigo in endgame contests |
| 846 | - made --enable-experimental-break-in the default |
| 847 | - compute_smaller_goal() makes the goal even smaller in the block_off case |
| 848 | - persistent caching for break_in()/block_off() |
| 849 | - inessential dragons handled differently in estimate_territorial_value() |
| 850 | - use smaller goal area when trying to break into territories |
| 851 | - semeai_trymove_and_recurse() propagetes back changes to &owla, &owlb |
| 852 | - copy over old eye_data in do_owl_defend() if escape > MAX_ESCAPE |
| 853 | - new configure option --experimental-break-in |
| 854 | - load_and_score_sgf_file() revised |
| 855 | - detect_tactical_blunder() revised |
| 856 | - ko result codes no longer discarded in owl_analyze_semeai() |
| 857 | - new_semeai() revised |
| 858 | - decide_semeai() in sgfdecide.c revised |
| 859 | - GTP command owl_analyze_semeai renamed to analyze_semeai |
| 860 | - new function owl_analyze_semeai_after_move() and corresponding GTP |
| 861 | command analyze_semeai_after_move |
| 862 | - gtp_owl_analyze_semeai() revised |
| 863 | - new static function semeai_trymove_and_recurse() in owl.c |
| 864 | - all owl_analyze_semeai regression test cases changed to analyze_semeai |
| 865 | and revised for new result format |
| 866 | - bugfixes in breakin.c and block_off() |
| 867 | - new helper functions goal_to_hashvalue(), xor_hashvalues() |
| 868 | - new function get_read_result_hash_modified to enable calling functions |
| 869 | to use a modified hash value when storing/looking up results in cache |
| 870 | - results for recursive_break() and recursive_block() now get cached |
| 871 | - cast to avoid warnings |
| 872 | - documentation revisions |
| 873 | |
| 874 | 3.3.20 released June 3, 2003 |
| 875 | |
| 876 | - hoshi.sgf split into hoshi_keima.sgf and hoshi_other.sgf |
| 877 | - new functions recursive_break(), recursive_block() in readconnect.c: |
| 878 | decide whether a string can be connected to an arbitrary goal area |
| 879 | - new functions break_in(), block_off(), frontends to the functions above |
| 880 | - corresponding GTP commands break_in, block_off |
| 881 | - new file breakin.c evaluates whether territories can be broken in |
| 882 | - new command line --experimental-break-in to evaluate territory break-ins |
| 883 | - retire move_safety check in value_moves.c for territorial move valuation |
| 884 | - read_eye() revised |
| 885 | - `num_defends' field of half_eye_data strtucture renamed `num_defenses' |
| 886 | - maximum 15 points of territorial_value will get shape bonus |
| 887 | - change of semantics for --seed option |
| 888 | - new GTP command printsgf |
| 889 | - debugboard repaired |
| 890 | - TODO revised |
| 891 | - new function partition_eyespaces() |
| 892 | - new function owl_find_relevant_eyespaces() |
| 893 | - cpu time support for regress.pike |
| 894 | - broke new spread_connection_distances() out of compute_connection_distances() |
| 895 | - new spread_connection_distances() tuned |
| 896 | - t moves devalued to value 16 |
| 897 | - new function edge_distance() in board.c |
| 898 | - CPU time reported by twogtp.py |
| 899 | - new static function endgame_find_backfilling_dame() in endgame.c |
| 900 | - new static function endgame_find_liberties() broken out of |
| 901 | endgame_analyze_worm_liberties() |
| 902 | - new owl_mineye() and owl_maxeye() and corresponding autohelper functions |
| 903 | - move_connects_strings revised not to try connecting invincible strings |
| 904 | - ALL_MOVE move reasons no longer considered to guarantee a safe move |
| 905 | - never give cutstone bonus for an inessential string |
| 906 | - new test suite joseki.tst |
| 907 | - do_push_owl() doesn't copy unnecessary fields of local_owl_data anymore |
| 908 | - retire special meaning of owl pattern values 99 and 100 |
| 909 | - bugfix in revise_semeai() |
| 910 | - find_half_and_false_eyes() bugfixed |
| 911 | - improve_lunch_attack() revised |
| 912 | - D219 pattern retired |
| 913 | - new pattern action good_attack_threat overrides heuristics in value_moves.c |
| 914 | - new global known_good_attack_threats[][] |
| 915 | - new functions register_good_attack_threat(), is_known_good_attack_threat() |
| 916 | - make delta territory cache aware of base influence recomputation |
| 917 | - owl_find_lunches() revised |
| 918 | - owl_determine_life() bugfixed |
| 919 | - owl.c made completely 1D and other revisions |
| 920 | - new GTP command analyze_eyegraph |
| 921 | - new functions analyze_eyegraph(), evaluate_eyespace(), tactical_life(), |
| 922 | tactical_life_attack(), and tactical_life_defend() in optics.c |
| 923 | - new functions set_/get_/update_/reuse_random_seed() |
| 924 | - save and restore random_seed where it is set to zero in deterministic |
| 925 | GTP commands |
| 926 | - adjust conection and semeai depth parameters according to levels |
| 927 | - don't forget to switch exchange sgf_messages in order_moves() |
| 928 | - influence tuning |
| 929 | - tuning |
| 930 | - joseki tuning |
| 931 | - owl tuning |
| 932 | - major eye tuning |
| 933 | - atari_atari tuning |
| 934 | - new tests and test revisions |
| 935 | |
| 936 | 3.3.19 released April 28, 2003 |
| 937 | |
| 938 | - change USE_BDIST to 1 in owl.c |
| 939 | - who_wins() invokes silent_examine_position() |
| 940 | - bugfix in do_owl_analyze_semeai() |
| 941 | - global variable urgent retired |
| 942 | - num_stones pointer in do_corner_matchpat() replaced with macro |
| 943 | - joseki tuning |
| 944 | - new game records and test cases |
| 945 | |
| 946 | 3.3.18 released April 22, 2003 |
| 947 | |
| 948 | - don't even try 'wrong' liberties in simple_ladder_attack() |
| 949 | - major revision of do_owl_analyze_semeai() |
| 950 | - do_owl_analyze_semeai tracks ko results and result certainty |
| 951 | - semeai tactical phase deprecated |
| 952 | - semeai_trymove() eliminated |
| 953 | - semeai worms redefined |
| 954 | - new r format character supported by vgprintf |
| 955 | - uncertain semeais treated as critical |
| 956 | - new function sgf_trace_semeai() in cache.c used by SGFTRACE_SEMEAI() macro |
| 957 | - new dragon2 fields semeai_attack_certain and semeai_defense_certain |
| 958 | - owl_estimate_life() revised for use in semeai reading |
| 959 | - don't attack unconditionally dead stones, even if thrashing |
| 960 | - never play on vertices which are unconditional territory for either player |
| 961 | - bugfix in attack_either() |
| 962 | - back-capturing added in attack1() and code restructured |
| 963 | - new regression script regress.pike |
| 964 | - hashtable_clear() doesn't clear already clean parts of the table |
| 965 | - `stackp' pseudofield in Read_result renamed `remaining_depth' |
| 966 | - endgame1.sgf removed from the distribution |
| 967 | - play_move_no_history() revised to speed up undo |
| 968 | - modify_eye_spaces(), remove_lunch(), and not_lunch_helper() removed |
| 969 | - new function estimate_lunch_eye_value() broken out of sniff_lunch() |
| 970 | - obvious_false_eye() moved from owl.c to optics.c |
| 971 | - lunch invalidating patterns removed from conn.db together with |
| 972 | corresponding code in connections.c |
| 973 | - semeai moves stored in dragon2 array |
| 974 | - new functions collect_move_reasons(), semeai_move_reasons() |
| 975 | - new prevent_attach_threat_helper() adds reverse followup value |
| 976 | - DEBUG_TERRITORY made less confusing |
| 977 | - handle suicides in do_commit_suicide(), not in do_play_move() |
| 978 | - fix prisoner accounting in do_commit_suicide() |
| 979 | - DEBUG_INFLUENCE made less noisy |
| 980 | - bugfix in gnugo_estimate_score() |
| 981 | - reevaluate_ko_threats() revised |
| 982 | - new helper backfill_replace |
| 983 | - revisions of twogtp.py |
| 984 | - bugfix in play_move() |
| 985 | - improved output files from scoring mode |
| 986 | - traces added to find_double_threats() |
| 987 | - semeai tracing improved |
| 988 | - fix arraybound violation in corner_matchpat() |
| 989 | - tuning |
| 990 | - influence tuning |
| 991 | - joseki tuning |
| 992 | - owl tuning |
| 993 | - atari_atari tuning |
| 994 | - eye tuning |
| 995 | - new and revised test cases |
| 996 | |
| 997 | 3.3.17 released March 2, 2003 |
| 998 | |
| 999 | - most superstring related move generation broken into new superstring_moves() |
| 1000 | - try (a bit) harder in attack_either() |
| 1001 | - semeai worms do not have to be adjacent but may instead share a liberty |
| 1002 | - only claim win for attacking a semeai worm if the attack is unconditional |
| 1003 | - moves to defend a semeai worm are marked as possibly connected to the dragon |
| 1004 | - liberty_of_goal() shall consider goal vertices where stones were captured |
| 1005 | - allow conditional ko capture in attack4() |
| 1006 | - new function is_corner_vertex() in board.c |
| 1007 | - mark_dragon() changed from static to global |
| 1008 | - global variable time_to_die removed |
| 1009 | - revision of new_semeai() |
| 1010 | - endgame move generator beginnings implemented in endgame.c |
| 1011 | - endgame() in ascii.c renamed ascii_endgame() |
| 1012 | - dragon_weak() moved to dragon.c |
| 1013 | - bugfix in owl_substantial() |
| 1014 | - merge superstring related tactical move generators into superstring_moves() |
| 1015 | - resigning of hopeless games implemented (over GTP and in replay mode) |
| 1016 | - ascii interface revised to support resignation |
| 1017 | - twogtp.py revised to support game resignations and endgame contests |
| 1018 | - ascii_endgame() renamed ascii_count() |
| 1019 | - new ascii_endgame() in play_ascii.c |
| 1020 | - new command-line option --resign-allowed |
| 1021 | - twogtp script updated to understand resignation |
| 1022 | - owl_* fields moved from struct dragon_data to struct dragon_data2 |
| 1023 | - more trace output in do_atari_atari() |
| 1024 | - update_aa_goal() revised |
| 1025 | - new dfa builder implemented in dfa.c |
| 1026 | - dfa size reduction algorithm implemented |
| 1027 | - dfa transformation hints (.dtr) files added to repository |
| 1028 | - speed optimizations in cache.c |
| 1029 | - hashtable_unlink_closed_results() renamed hashnode_unlink_closed_results() |
| 1030 | - check for snapback/oiotoshi reactivated in check_self_atari() |
| 1031 | - joseki patterns are matched using corner matcher |
| 1032 | - symmetrical joseki patterns no longer match twice |
| 1033 | - antisuji joseki patterns are handled by callback now |
| 1034 | - goal_elements and callback_data added to all relevant databases to |
| 1035 | drop unnecessary pattern elements |
| 1036 | - add missing break in main.c |
| 1037 | - do_owl_analyze_semeai doesn't crash on certain inconsistent eye results |
| 1038 | - bugfix in adjacent_to_nondead_stone() |
| 1039 | - unneeded fflush(stdout) flushed from patterns/connections.c |
| 1040 | - new tests |
| 1041 | - atari_atari tuning |
| 1042 | - joseki tuning |
| 1043 | - owl tuning |
| 1044 | - tuning |
| 1045 | - speed up scan_for_patterns() |
| 1046 | - remove DFA_SORT |
| 1047 | |
| 1048 | 3.3.16 released January 29, 2003 |
| 1049 | |
| 1050 | - redundant patterns removed from hoshi.c |
| 1051 | - killer move heuristic in reading.c |
| 1052 | - bugfix in evaluate_diagonal_intersection |
| 1053 | - do_owl_analyze_semeai doesn't crash on certain inconsistent eye results |
| 1054 | - new static functions mark_dragon() and identify_thrashing_dragons() |
| 1055 | in dragon.c |
| 1056 | - dead friendly neighbors of a thrashing dragon also considered thrashing |
| 1057 | - new global array thrashing_stone[] to mark all thrashing dragons |
| 1058 | - drop move reasons in add_move_reason() when the lists become full |
| 1059 | - bugfix in value_move_reasons() |
| 1060 | - MAX_REASONS increased to 120 |
| 1061 | - persistent connection cache implemented but disabled by default |
| 1062 | - bugfix in estimate_score |
| 1063 | - bugfix for unsigned char's concerning pessimistic_min |
| 1064 | - bugfix: estimate_score was called many places with parameters switched |
| 1065 | - don't crash reading a bogus sgf file |
| 1066 | - more reading functions use candidate move mechanism |
| 1067 | - new fast_defense() looks for fast ways to get liberties |
| 1068 | - switch strings sometimes in defend_both |
| 1069 | - atari_atari tuning |
| 1070 | - influence tuning |
| 1071 | - tuning |
| 1072 | - new tests and regressions |
| 1073 | - doc revision |
| 1074 | |
| 1075 | 3.3.15 released January 12, 2003 |
| 1076 | |
| 1077 | - evaluate_diagonal_intersection() tries additional moves to defend a diagonal |
| 1078 | - does_secure() made global and moved to reading.c |
| 1079 | - owl_add_move has a new parameter max_moves |
| 1080 | - --allpats works with semeai |
| 1081 | - defend_both() revised to require that both strings can be saved without ko |
| 1082 | - adjacent_to_nondead_stone() in value_moves.c generalized |
| 1083 | - try harder in estimate_territorial_value() to detect when an |
| 1084 | ATTACK_THREAT should not yield a followup value |
| 1085 | - do not use tactical defense threats as ko threats unless the move |
| 1086 | itself is strategically safe |
| 1087 | - do not count strategical value for tactically critical dragons |
| 1088 | - small bonus to dame moves which have a cut or connect move reason |
| 1089 | - threaten_to_capture_helper() revised |
| 1090 | - new autohelper adjacent_to_defendable_stone_in_atari |
| 1091 | - new corner_point in owl.c |
| 1092 | - revision of improve_lunch_attack |
| 1093 | - surround code revised |
| 1094 | - surround code moved up in in make_dragons() and used to correct escape route |
| 1095 | - new utility function square_dist() in board.c |
| 1096 | - new alternate gnugo.el in interface/gtp_examples |
| 1097 | - semeai nodes increased to 500 |
| 1098 | - owla life accepted on escape in do_owl_analyze_semeai only if stackp>2 |
| 1099 | - use status instead of owl_status in find_more_owl_attack_and_defense_moves |
| 1100 | - speed optimizations in board.c, particularly fastlib() |
| 1101 | - now possible to reduce MAX_BOARD and still get working GNU Go |
| 1102 | - mkpat now has amechanism for dropping patterns |
| 1103 | - corner database creation implemented |
| 1104 | - corner database pattern matcher implemented but not activated |
| 1105 | - bugfix in play_ascii.c: allow changing handicap/komi etc. in new games |
| 1106 | - fixed broken indentation in play_ascii.c |
| 1107 | - bugfix in gtp_known_command |
| 1108 | - new visible_along_edge() and autohelpers |
| 1109 | - influence tuning |
| 1110 | - tuning |
| 1111 | - eye tuning |
| 1112 | - new game records and regression tests |
| 1113 | - doc revision |
| 1114 | |
| 1115 | 3.3.14 released January 1, 2003 |
| 1116 | |
| 1117 | - life.c removed from the distribution |
| 1118 | - semeai module made standard |
| 1119 | - never decrement *eyemin to negative |
| 1120 | - unnecessary patval elements removed from some pattern databases |
| 1121 | - mkpat understands goal_elements and callback_data directives |
| 1122 | - new autohelper : owl_eye_size() |
| 1123 | - tuning |
| 1124 | - owl tuning |
| 1125 | - Copyright notices updated for 2003 |
| 1126 | - code maintenance |
| 1127 | |
| 1128 | 3.3.13 released December 22, 2002 |
| 1129 | |
| 1130 | - new aa_ pattern A16 |
| 1131 | - tactical move ordering tuned |
| 1132 | - complete rewrite of interface to influence.c |
| 1133 | - new macros INITIAL_INFLUENCE(color), OPPOSITE_INFLUENCE(color) |
| 1134 | - new functions compute_worm_influence(), get_lively_stones(), |
| 1135 | compute_dragon_influence(), get_alive_stones(), set_dragon_strengths(), |
| 1136 | mark_inessential_stones(), set_strength_data(), mark_changed_string() |
| 1137 | to set up calls to compute_influence() |
| 1138 | - new gtp command clear_cache |
| 1139 | - new functions clear_persistent_owl_cache, clear_persistent_reading_cache |
| 1140 | - joseki preparations: mkpat cleaning |
| 1141 | - joseki preparations: some currently unused mkpat options changed |
| 1142 | - joseki preparations: autohelpers no longer take `patt' argument |
| 1143 | - set_value_helper() retired and replaced with inline code, generated by mkpat |
| 1144 | - structures for the coming joseki pattern matcher defined in patterns.h |
| 1145 | - use "territorial_influence" for pre-owl initial_influence |
| 1146 | - safety values WEAKLY_ALIVE and WEAK removed |
| 1147 | - use dragon2[].weakness or new field .weakness_pre_owl instead in most places |
| 1148 | - use crude_dragon_weakness() to decide whether owl analysis is needed |
| 1149 | - intersections with prisoners only contribute 1.0 to moyo_value |
| 1150 | - arrays worms[], dragons[] removed in worms.c and value_moves.c |
| 1151 | - new discard rule to enforce definiton of attack either/defend both reasons |
| 1152 | - cleanups and improvements in board.c |
| 1153 | - new function set_up_snapback_moves() in reading.c |
| 1154 | - defend1() and restricted_defend1() revised |
| 1155 | - TRACE macros and friends unified |
| 1156 | - matchpat.c converted to 1D |
| 1157 | - strategic bonus for connecting critical dragons out reintroduced |
| 1158 | - strategic effect on critical dragon ignored unless move has owl move reason |
| 1159 | - influence debug output enhanced |
| 1160 | - defense functions in reading.c reorganized |
| 1161 | - eye_vertex and eye_graph structures reorganized |
| 1162 | - mkeyes.c rewritten to conform the changes in eyes.h |
| 1163 | - adjacent() and buggy hadj() macros in optics.c retired |
| 1164 | - recognize_eye(), first_map() and next_map() simplified and sped up |
| 1165 | - new static reset_map() in optics.c |
| 1166 | - new autohelpers omoyo_opposite and xmoyo_opposite |
| 1167 | - CLASS_I added to CLASS_MOVE_REASONS in patterns.h |
| 1168 | - compactify_att() removes duplicates from attribute list in DFA |
| 1169 | - dfa_rt_t.next now stores offset to next state |
| 1170 | - new fucntion dfa_shuffle() to minimize jump sizes between DFA states |
| 1171 | - shorten generated pattern files to avoid too many lines warning |
| 1172 | - new GTP command restricted_genmove |
| 1173 | - new function genmove_restricted() in genmove.c |
| 1174 | - new parameter allowed_moves[] to do_genmove(), review_move_reasons(), |
| 1175 | and find_best_move() |
| 1176 | - always call init_board() when reaching a new_position() |
| 1177 | - eyes.db revised |
| 1178 | - bugfixes in cut_connect_callback() in connections.c |
| 1179 | - tuning |
| 1180 | - owl tuning |
| 1181 | - influence tuning |
| 1182 | - connection tuning |
| 1183 | - new tests |
| 1184 | |
| 1185 | 3.3.12 released November 20, 2002 |
| 1186 | |
| 1187 | - optimization in do_play_move: don't check ko unnecessarily |
| 1188 | - revision of critical worms to inessential in make_dragons() revised |
| 1189 | - owl vital attack patterns now also used for owl defense |
| 1190 | - major revision of connection_value(), using new function |
| 1191 | crude_dragon_weakness() |
| 1192 | - reading.c: new move for defend1(): try to set up snap back |
| 1193 | - reading.c: special_rescue4() generalized to hane_rescue_moves() |
| 1194 | - a connection move where amalgamtion is inhibited by cut_possible() may |
| 1195 | induce further connection moves |
| 1196 | - new oracle.c and oracle.db |
| 1197 | - oracle is a second gnugo process communicating with the gtp by unix pipes |
| 1198 | - experimental alternative move generation --metamachine using oracle |
| 1199 | - demonstration pattern database using oracle |
| 1200 | - bugfix: gnugo_get_komi() returns float as it should |
| 1201 | - ..goal_list macros converted to functions in owl.c |
| 1202 | - bugfix in owl_determine_life() |
| 1203 | - new functions min_eye_threat() and max_eye_threat() in optics.c |
| 1204 | - somewhere() revised |
| 1205 | - new autohelper functions [ox]_alive_somewhere |
| 1206 | - autohelper functions [ox]_somewhere revised |
| 1207 | - major revision of find_connection_distances() |
| 1208 | - other revisions and tuning in readconnect.c |
| 1209 | - bugfix in find_defense: compare against fourlib_depth when appropriate |
| 1210 | - compiler warnings fixed |
| 1211 | - new struct dfa_rt_t allows different run-time DFA structure from build-time |
| 1212 | - optional #define USE_BDIST in owl.c for better rotational independance |
| 1213 | - new and revised tests |
| 1214 | - new eat_lunch_escape_bonus() called by sniff_lunch() |
| 1215 | - 'make all' does not cause build of extract_fuseki and debugboard |
| 1216 | - owl_determine_life is careful if saving a lunch attacks an eye |
| 1217 | - bugfix: typo in store_persistent_reading_cache() |
| 1218 | - major cleanup in influence.[ch] |
| 1219 | - pre-rotated pattern generation in mkpat. (-p option) implemented. |
| 1220 | - %2m added as valid syntax for gprintf |
| 1221 | - relabel rotation matrices in transform.c |
| 1222 | - bugfix in atari_atari_blunder_size: don't crash on inconsistent defense |
| 1223 | - autoharvesting of documentation from play_gtp.c |
| 1224 | - tuning |
| 1225 | - komoku and hoshi tuning |
| 1226 | - eye tuning |
| 1227 | - owl tuning |
| 1228 | |
| 1229 | 3.3.11 released October 29, 2002 |
| 1230 | |
| 1231 | - experimental connection code made default |
| 1232 | - configure --help cleanup |
| 1233 | - minor changes to twogtp* |
| 1234 | - revision of CB20 in conn.db |
| 1235 | - calls to accurate_approxlib() replaced by accuratelib() |
| 1236 | - owl_find_lunches() revised |
| 1237 | - owl tuning |
| 1238 | - eye tuning |
| 1239 | - new game records and regression tests |
| 1240 | |
| 1241 | 3.3.10 released October 20, 2002 |
| 1242 | |
| 1243 | - fastlib revised |
| 1244 | - new accuratelib intended to replace accurate_approxlib |
| 1245 | - incremental_self_atari merged into revised is_self_atari |
| 1246 | - accurate_approxlib moved to board.c |
| 1247 | - old sgftree is now freed on successful sgf loading |
| 1248 | - sgftrees are freed when sgf tracing is finished |
| 1249 | - sgffile_printsgf() revised |
| 1250 | - gtp_fixed_handicap revised |
| 1251 | - comments improved in play_gtp.c. |
| 1252 | - play_ascii() revised |
| 1253 | - combinations() revised |
| 1254 | - atari_atari() generates lots of defense moves and validates them |
| 1255 | - do_atari_atari() generates lots of potential defense moves |
| 1256 | - decide_combination() revised |
| 1257 | - YOUR_ATARI_ATARI_MOVE considered safe in examine_move_safety() |
| 1258 | - atari_atari tuning |
| 1259 | - new GTP commands attack_either and defend_both |
| 1260 | - optimization in compute_connection_distances() |
| 1261 | - owl code reorganization |
| 1262 | - new clear_owl_move_data() set_single_owl_move(), |
| 1263 | - break out reading_limit_reached(), owl_estimate_life() |
| 1264 | from do_owl_attack/defend |
| 1265 | - mode local_owl_node_counter global variable for owl.c |
| 1266 | - made long "if (pass == ...)" statements "switch (pass)" in owl.c |
| 1267 | - eliminated unnecessary variable "found_read_result" in owl.c |
| 1268 | - new strategic_effective_size() |
| 1269 | - computation of strategic effect is modified |
| 1270 | - new static read_eye() tries to improve recognize_eye() results |
| 1271 | - recognize_eye() sets vp->num_attacks/defenses to 0 when eye is found |
| 1272 | - new file surround.c |
| 1273 | - new is_surrounded(), does_surround() and surround_map() |
| 1274 | - new gtp functions is_surrounded, does_surround and surround_map |
| 1275 | - new autohelper macros is_surrounded, does_surround and surround_map |
| 1276 | - new command line option --decide-surrounded |
| 1277 | - new global variable gtp_version |
| 1278 | - new option --gtp_version |
| 1279 | - new function simple_showboard() in showbord.c |
| 1280 | - new function get_last_player() in board.c |
| 1281 | - gtp code revised for GTP version 2 and uses this by default |
| 1282 | - new function delete_persistent_reading_entry() |
| 1283 | - inconsistent results in attack_and_defend() resolved |
| 1284 | - compilation errors for EXPERIMENTAL_READING fixed |
| 1285 | - new experimental owl code is aware of tails getting captured |
| 1286 | - new move reasons OWL_ATTACK_MOVE_GAIN and OWL_DEFEND_MOVE_LOSS |
| 1287 | with corresponding supporting code in value_moves.c and move_reasons.c |
| 1288 | - new move reason INVASION_MOVE |
| 1289 | - pattern class I (invasions) can now be used in patterns.db et al |
| 1290 | and not only in influence patterns |
| 1291 | - remove EXPAND_TERRITORY_MOVE from strategic_penalty() |
| 1292 | - new static function do_find_break_chain2_efficient_moves() split off |
| 1293 | from break_chain2_efficient_moves() and revised |
| 1294 | - superstring_breakchain() revised |
| 1295 | - speed optimization of compute_primary_domains() |
| 1296 | - countlib() calls eliminated in count_common_libs(), find_common_libs(), |
| 1297 | and have_common_lib() |
| 1298 | - escape_value arrays changed from int to char |
| 1299 | - bugfix in code awarding strategical value for attacks/defenses of lunches |
| 1300 | - bugfix in ATTACK_THREAT handling in estimate_territorial_value() |
| 1301 | - bugfix in owl_substantial(); depth values modified correctly |
| 1302 | - depth consistency assertion added in do_genmove() |
| 1303 | - bugfix in mkpat.c |
| 1304 | - new static functions analyze_false_eye_territory(), |
| 1305 | connected_to_eye(), and connected_to_eye_recurse() in dragon.c. |
| 1306 | - new global array false_eye_territory[] |
| 1307 | - critical dragons only consisting of inessential worms are revised |
| 1308 | to be inessential |
| 1309 | - new function is_false_eye() in optics.c |
| 1310 | - new autohelper functions o_captures_something(), |
| 1311 | x_captures_something(), false_eye_territory(), and false_eye() |
| 1312 | - owl_tuning |
| 1313 | - eye tuning |
| 1314 | - influence tuning |
| 1315 | - tuning |
| 1316 | - new game records and regression tests |
| 1317 | |
| 1318 | 3.3.9 released September 29, 2002 |
| 1319 | |
| 1320 | - new configure option experimental-owl-ext |
| 1321 | - code simplification in safe_move (use REVERSE_RESULT) |
| 1322 | - new randomness_scaling field in struct move_data and new scale_randomness() |
| 1323 | - moves matching Fj and Ft patterns get extra randomness |
| 1324 | - fuseki pattern tuning for kakaris in high handicap games |
| 1325 | - persistent cache code moved from reading.c and owl.c to new file persistent.c |
| 1326 | - speed optimization in order_moves() in reading.c |
| 1327 | - speed optimizations in fastlib(), count_common_libs(), find_common_libs() |
| 1328 | - duplicate lines removed from safety_to_string() |
| 1329 | - draw_active_area() functions in reading.c and owl.c unified |
| 1330 | - new ascii command: freehandicap <num>. |
| 1331 | - new function: ascii_free_handicap |
| 1332 | - report_worm(): print all attack, defense, threat points/codes |
| 1333 | - worm_data::defend_codes is now called defense_codes |
| 1334 | - enhanced result_to_string() with new return codes. |
| 1335 | - removed strategically_sound_defense() |
| 1336 | - mingw build searches for mingwex |
| 1337 | - pattern symmetry corrections in owl_defendpats.db and patterns2.db |
| 1338 | - bugfix in topological_eye() |
| 1339 | - don't spread any influence below INFLUENCE_CUTOFF |
| 1340 | - mark_safe_stones() distinguishes between SAFE_STONE and OWL_SAVED_STONE |
| 1341 | - detect_owl_blunder() calls owl_confirm_safety() if move may harm own eyes |
| 1342 | - bugfix and speedups in accumulate_influence() |
| 1343 | - bugfix in value_territory() |
| 1344 | - comment play_connect_n() |
| 1345 | - document play_connect_n() in the texinfo docs |
| 1346 | - bugfix in play_connect_n (trace output) |
| 1347 | - fix comment in find_double_threats() |
| 1348 | - break_chain2_moves() revised |
| 1349 | - do_play_move() revised to improve performance |
| 1350 | - corrects quoting of special characters in regress.plx |
| 1351 | - sgffile_loadandprint() renamed to sgffile_printsgf() and revised |
| 1352 | - use EOF rather than -1 the code to read sgf files in sgfnode.c |
| 1353 | - major revision of code to write an sgf tree to file in sgfnode.c |
| 1354 | - set_depth_values() reorganized |
| 1355 | - new function find_half_and_false_eyes() in optics.c |
| 1356 | - blunder_size() code reorganized |
| 1357 | - new static detect_owl_blunder() and detect_tactical_blunder() in utils.c |
| 1358 | - for walking across dragons new first_worm_in_dragon(), next_worm_in_dragon() |
| 1359 | - new next_wormlist[] |
| 1360 | - mark_changed_dragon() revised using dragon loop |
| 1361 | - bugfix in fill_liberty() |
| 1362 | - filllib_confirm_safety() revised |
| 1363 | - make_dragon(): resolve inconsistent owl result by calling owl_does_defend() |
| 1364 | - add assert on inconsistent do_genmove result() in genmove() |
| 1365 | - life code completely disabled |
| 1366 | - global variables life and life_eyesize removed |
| 1367 | - options --life and --life-eyesize removed |
| 1368 | - new eye value scheme; all code handling eye values revised |
| 1369 | - new functions set_eyevalue(), min_eyes(), max_eyes(), |
| 1370 | add_eyevalues(), eye_move_urgency(), eyevalue_to_string() |
| 1371 | - eyes.db revised for new eye value scheme and substantially extended |
| 1372 | - configure test for alarm removed |
| 1373 | - sigterm_handler() and volatile variable time_to_die removed |
| 1374 | - functions special_rescue(), special_rescue2() converted to .._moves() |
| 1375 | - break_chain2() removed; use new break_chain2_defense_moves() instead |
| 1376 | - defend2() and defend3() simplified |
| 1377 | - new reading codes GAIN/LOSS for later use in owl |
| 1378 | - more consistent use of WIN and REVERSE_RESULT() macros |
| 1379 | - new function sgffile_load_and_print() |
| 1380 | - new call convention for sgftree* functions |
| 1381 | - sgftreeCreateHeaderNode() revised |
| 1382 | - sgffile_debuginfo() renamed to sgffile_add_debuginfo() |
| 1383 | - new call convention for sgffile_output() |
| 1384 | - --color option effective in scoring mode |
| 1385 | - sgftree struct and functions consistently used in play_gmp(), |
| 1386 | play_solo(), load_and_analyze_sgf_file(), and load_and_score_sgf_file() |
| 1387 | - new arrays close_worms[][], close_white_worms[][], |
| 1388 | close_black_worms[][], number_close_worms[], |
| 1389 | number_close_white_worms[], number_close_black_worms[] |
| 1390 | - compute_surrounding_moyo_sizes() revised |
| 1391 | - compute_surrounding_moyo_sizes() variant for experimental-connections option |
| 1392 | - new function influence_get_moyo_data() |
| 1393 | - tuning |
| 1394 | - owl tuning |
| 1395 | - new game records and regression tests |
| 1396 | |
| 1397 | 3.3.8 released September 5, 2002 |
| 1398 | |
| 1399 | - remove unneeded inclusion of stdlib.h in helpers.c |
| 1400 | - bugfix in matcher_check |
| 1401 | - URL's updated in documentation |
| 1402 | - tests updated |
| 1403 | |
| 1404 | 3.3.7 released September 4, 2002 |
| 1405 | |
| 1406 | - better ko tracking searching for additional worm attacks and defenses |
| 1407 | in find_more_attack_and_defense_moves() and make_worms() |
| 1408 | - new option --output-flags <flags> |
| 1409 | - output using sgf trees with -o option |
| 1410 | - cleaning and minor bugfixes in play ascii |
| 1411 | - sgf handling is disconnected from engine again |
| 1412 | - moved sgfAddDebugInfo -> sgffile_debuginfo, outputsgf -> sgffile_output |
| 1413 | - write "forced" as comment when this ascii mode command is used |
| 1414 | - sgftree_readfile does not change root node to NULL |
| 1415 | - new blunder_size(), atari_atari_blunder_size() compute the blunder size |
| 1416 | - remove vital_string logic in atari_atari code |
| 1417 | - remove allowed_blunder_size heuristic in review_move_reasons() |
| 1418 | - instead use blunder size more exactly in new function find_best_move() |
| 1419 | - bugfix in hashtable_partially_clear() |
| 1420 | - bugfix in gameinfo_play_sgftree_rot() |
| 1421 | - bugfix (reading uninitialized memory) in sniff_lunch() |
| 1422 | - bugfix (EXPERIMENTAL_CONNECTIONS) in cut_connect_callback() |
| 1423 | - bugfix (gameinfo_load_sgfheader) in play_ascii() |
| 1424 | - man page revised |
| 1425 | - new options --mirror and --mirror-limit |
| 1426 | - new global variables play_mirror_go and mirror_stones_limit |
| 1427 | - new static find_mirror_move(), test_symmetry_after_move() in genmove.c |
| 1428 | - Apply "B" cutting pattern from shapes.db only if connection code confirms |
| 1429 | - new function test_attack_either_move; gets invoked by patterns |
| 1430 | instead of directly adding the attack-either move reason |
| 1431 | - new function mark_changed_dragon() in move_reasons.c |
| 1432 | - only mark owl defended stones as safe if also sufficiently tactically safe |
| 1433 | - matcher_check can analyze existing sgf files |
| 1434 | - twogtp-a kills processes |
| 1435 | - break_chain2_moves() revised |
| 1436 | - placehand() renamed to place_fixed_handicap() |
| 1437 | - new function place_free_handicap() in handicap.c with associated |
| 1438 | - static find_free_handicap_pattern(), free_handicap_callback() in handicap.c |
| 1439 | - new GTP command place_free_handicap |
| 1440 | - new pattern database handicap.db |
| 1441 | - new autohelper macros handicap_stones, total_handicap_stones for handicap.db |
| 1442 | - mkpat.c revised to avoid compiler warnings for constraints using no labels |
| 1443 | - new file engine/handicap.c |
| 1444 | - placehand() moved from genmove.c to handicap.c |
| 1445 | - bug fix in adjusted_worm_attack_value() |
| 1446 | - FIXME added regarding several EITHER_MOVE reasons |
| 1447 | - show_dragons() revised |
| 1448 | - tuning |
| 1449 | - influence tuning |
| 1450 | - connection tuning |
| 1451 | - owl tuning |
| 1452 | - revised tests, many new tests, new game files |
| 1453 | - added Evan Berggren Daniel to AUTHORS |
| 1454 | |
| 1455 | 3.3.6 released August 13, 2002 |
| 1456 | |
| 1457 | - extended_chainlinks() revised |
| 1458 | - MAX_REASONS increased from 80 to 100 |
| 1459 | - modify_stupid_eye_vital_point() revised |
| 1460 | - new functions improve_lunch_attack() and improve_lunch_defense() |
| 1461 | - backfilling in do_owl_attack() when trying the defender's best move |
| 1462 | - sniff_lunch() revised |
| 1463 | - new experimental_connections contingent code in shapes_callback() |
| 1464 | - induce_secondary_move_reasons() revised |
| 1465 | - tuning |
| 1466 | - endgame tuning |
| 1467 | - owl tuning |
| 1468 | - request id no longer passed to callbacks in play_gtp.c |
| 1469 | - gtp_printid() renamed to gtp_start_response() |
| 1470 | - new preprocessing of command lines in gtp_main_loop() |
| 1471 | - GTP command dragon_status revised |
| 1472 | - bug fix in estimate_strategical_value: EITHER_MOVE negative values |
| 1473 | - j pattern value increased from 22.0 to 24.0 |
| 1474 | - new gtp experimental_score for metamachine |
| 1475 | - new DEBUG_MISCELLANEOUS used only in find_eye_dragons |
| 1476 | - connection tuning |
| 1477 | - B patterns found by find_cuts inhibit C patterns by find_connections |
| 1478 | - new connection tests |
| 1479 | - strategic_penalty() adds negative strategical move value a bit more often |
| 1480 | - revise_thrashing_dragons() revised |
| 1481 | - tuning |
| 1482 | - owl tuning |
| 1483 | - new tests and game records |
| 1484 | |
| 1485 | 3.3.5 released July 5, 2002 |
| 1486 | |
| 1487 | - bugfix in break_through_helper() |
| 1488 | - bugfix in combinations() |
| 1489 | - reduced_init_owl() allocates bigger owl stack with --experimental-semeai |
| 1490 | - bugfixes in pop_owl(): don't crash if owl stack has moved |
| 1491 | - reduce reading depth by one in influence pattern matching |
| 1492 | - new struct reading_moves in reading.c |
| 1493 | - owl stack can now handle two local_owl_data structs |
| 1494 | - semeai code now uses owl stack |
| 1495 | - don't push owl data in owl_analyze_semeai below branch depth |
| 1496 | - Don't change critical dragons to dead due to semeai results |
| 1497 | - DEBUG_SEMEAI trace enhancements |
| 1498 | - semeai refinements |
| 1499 | - owl_phase now local variable in do_owl_analyze_semeai |
| 1500 | - bugfix in do_owl_defend(): computation of escape parameter |
| 1501 | - bugfix in play_ascii.c: don't crash on unusual boardsizes |
| 1502 | - dead stones with no neighbors are captured territory |
| 1503 | - improved debug traces in score.c |
| 1504 | - decide-dragon clears cache between owl attack and defend |
| 1505 | - influence pattern tuning |
| 1506 | - new tests and regressions |
| 1507 | |
| 1508 | 3.3.4 released June 19, 2002 |
| 1509 | |
| 1510 | - segment_regions also computes territorial value of regions if available |
| 1511 | - dragon2.moyo_size_pre_owl andmoyo_size_post_owl replace dragon2.moyo |
| 1512 | - new dragon2.moyo_territorial_value, weakness |
| 1513 | - strategic dragon evaluation rewritten, setting dragon2[].weakness |
| 1514 | - moved interpolate to gg_interpolate in gg_utils.c |
| 1515 | - new struct eyevalue |
| 1516 | - moves to connect two dragons which are both adjacent to a thrashing |
| 1517 | dragon are appreciated by the move valuation |
| 1518 | - experimental connections off by default in VC build |
| 1519 | - tuning |
| 1520 | - influence tuning |
| 1521 | - connection tuning |
| 1522 | - eye tuning |
| 1523 | - joseki tuning |
| 1524 | - owl tuning |
| 1525 | - new tests and game records |
| 1526 | |
| 1527 | 3.3.3 released June 4, 2002 |
| 1528 | |
| 1529 | - new function owl_strong_dragon() and new autohelper with the same name |
| 1530 | - vital_chain() returns the max number of eyes |
| 1531 | - no amalgamation around eye spaces with experimental_connections enabled |
| 1532 | - eye spaces no longer modified by INHIBIT_CONNECTION with |
| 1533 | experimental_connections enabled |
| 1534 | - bugfix in find_connection_moves() |
| 1535 | - pattern classes Y and W introduced in conn.db to identify patterns |
| 1536 | which only applies with or without experimental_connections |
| 1537 | - patterns with class e in conn.db changed to class I to better |
| 1538 | reflect current usage |
| 1539 | - connection tuning |
| 1540 | - improves DFA compile time by doing fewest possible large syncs |
| 1541 | - experimental_influence command line and configure option removed |
| 1542 | - new flags dragons_known and is_territorial_influence in influence_data |
| 1543 | - struct local_owl_data for speedup only holds eye space of relevant color |
| 1544 | - owl_eyespace() and allies use only one eyespace |
| 1545 | - dfa doesn't report symmetric patterns multiple times |
| 1546 | - escape patterns in owl_defendpats.db given E classification |
| 1547 | - owl_determine_life() not called during escape attempt |
| 1548 | - only print debug output for eyes during owl reading if owl debug is on |
| 1549 | - better traces for unused owl patterns |
| 1550 | - --decide-connection also reports ko results |
| 1551 | - bugfix in load_and_score_sgf_file() |
| 1552 | - new test cases |
| 1553 | - edge_block and double_atari_chain2 renamed to *_moves |
| 1554 | - do_attack uses simple_ladder_attack when stackp > depth+10 |
| 1555 | - give up simple_ladder_attack below 20 ply when we are komaster |
| 1556 | - unused caching code removed from attack? and defend? |
| 1557 | - macros used to make reading code readable |
| 1558 | - dragon field in struct eye_data removed |
| 1559 | - new function find_eye_dragons() in optics.c |
| 1560 | - dragon_invincible() and genus computation in make_dragons() revised |
| 1561 | - play_connect_n() uses string_connect() and disconnect() |
| 1562 | unconditionally, no longer contingent on experimental_connections |
| 1563 | - default value for experimental_connections reset to 0 |
| 1564 | - new command line option --decide-dragon-data |
| 1565 | - consistency checking of replacement patterns reenabled for unstable line |
| 1566 | - tuning |
| 1567 | - new tests and sgf files |
| 1568 | |
| 1569 | 3.3.2 released May 6, 2002 |
| 1570 | |
| 1571 | - Macro PATTERN_CHECK_ON_DEMAND retired |
| 1572 | - allpats options for owl shape moves repaired |
| 1573 | - new function extended_chainlinks() in board.c |
| 1574 | - connection and cut move reasons are relative to worms, not dragons |
| 1575 | - unused find_worm_pair() and related variables removed from move_reasons.c |
| 1576 | - MAX_REASONS increased from 40 to 80 |
| 1577 | - induce_secondary_move_reasons() reimplemented |
| 1578 | - tuning |
| 1579 | - new test case |
| 1580 | - fix warnings generated by regress.plx |
| 1581 | - doc revisions |
| 1582 | - add_block_territory_move() removed |
| 1583 | - BLOCK_TERRITORY_MOVE reason removed |
| 1584 | - compute_shape_factor() and move_connects_strings() moved to value_moves.c |
| 1585 | - move_reasons_confirm_safety() moved and renamed value_moves_confirm_safety() |
| 1586 | - b patterns changed to e in endgame.db, fuseki.db, patterns.db, patterns2.db |
| 1587 | - classification letters ordered consistently in pattern databases |
| 1588 | - find_backfilling_move() in filllib.c revised |
| 1589 | - new debug flag DEBUG_TOP_MOVES |
| 1590 | - environment variables GG_OPTIONS and GNUGO when (make)ing tests |
| 1591 | - top moves list maintained when moves are rejected |
| 1592 | - bugfixes in metamachine |
| 1593 | - regression revisions |
| 1594 | |
| 1595 | 3.2 released April 25, 2002 |
| 1596 | |
| 1597 | - revision of copyright statements and THANKS |
| 1598 | - handtalk games moved to their own directory |
| 1599 | - correct move number reported in influence for illegal move error |
| 1600 | |
| 1601 | 3.1.34 released April 20, 2002 |
| 1602 | |
| 1603 | - "choose best anchor"-platform dependency patch in mkpat.c |
| 1604 | - bogus (int) conversion removed in get_next_move_from_list |
| 1605 | - 3.0 replaced by 3.2 in WINDOWS |
| 1606 | |
| 1607 | 3.1.33 released April 19, 2002 |
| 1608 | |
| 1609 | - regression/READING, STRATEGY and NICKLAS removed |
| 1610 | - makevcdist.pl, doc/gnugo-32.[jpg|eps]added to EXTRADIST |
| 1611 | - eval3.sh and semeai2.tst added to automake control |
| 1612 | - TODO list in texinfo updated |
| 1613 | - class field in struct pattern and class_mask in made unsigned int |
| 1614 | - input_FILE and output_FILE in mkpat.c explicitly initialized |
| 1615 | - tree based reading not compiled by default |
| 1616 | - consistency checking of replacement patterns disabled for the stable release |
| 1617 | - more Handtalk games in CVS |
| 1618 | - Jessie Annala THANKed |
| 1619 | - new function gg_normalize_float2int to address optics.c-platform dependency |
| 1620 | - hash_init behaviour made independent of boardsize |
| 1621 | - output cleanup: --statistics, and EITHER_MOVE-trace |
| 1622 | - floats normalized in finish_pattern() in mkpat.c |
| 1623 | - put GNU Go's passes in permanent move history |
| 1624 | - assertion in compute_connection_distances corrected |
| 1625 | |
| 1626 | 3.1.32 released April 13, 2002 |
| 1627 | |
| 1628 | - new update_random_seed() |
| 1629 | - gtp_set_boardsize updates the random seed |
| 1630 | - reset engine updates the random seed |
| 1631 | - aftermath revisions |
| 1632 | - combination of --score aftermath and -o options more useful |
| 1633 | - dead function opponent_not_passing() removed from genmove.c |
| 1634 | - init_influence() and new_value_territory() revised |
| 1635 | - sgftree_printboard() made global |
| 1636 | - bugfix in owl_hotspots() |
| 1637 | - valuation of attack threats revised to allow more ko threats |
| 1638 | - bugfix in estimate_strategical_value() |
| 1639 | - solid string connection bonus revised to also favor cuts of opponent |
| 1640 | - play_gtp() starts with boardsize of board loaded with -l instead of 19 |
| 1641 | - no warning by default for FF[1] sgf game records |
| 1642 | - bugfix in push_owl |
| 1643 | - corrected assertion in examine_cavity() |
| 1644 | - shadowed variables fixed in dragon.c |
| 1645 | - major aftermath code revisions |
| 1646 | - doing_scoring contingent revisions in influence_callback(), shapes(), |
| 1647 | shapes_callback(), connection_value(), estimate_strategical_value(), |
| 1648 | high_handicap_helper(), and reinforce_helper() |
| 1649 | - analyze_neighbor() in filllib.c revised |
| 1650 | - size of persistent owl cache increased from 100 to 150 entires |
| 1651 | - bugfix in owl_confirm_safety() |
| 1652 | - territorial value computed for tactical attacks of dead or defenseless stones |
| 1653 | - caching of recent compute_escape_influence() results |
| 1654 | - reading cache stores depth-stackp instead of stackp |
| 1655 | - infl_followup_value renamed influence_followup_value and initialized |
| 1656 | - initialize_dragon_data broken out of make_dragons |
| 1657 | - dragon_data initialized even on empty board |
| 1658 | - owl reasons ignores empty board positions |
| 1659 | - twogtp does not report duplicate scores unless they differ |
| 1660 | - new gtp get_random_seed, set_random_seed |
| 1661 | - tuning |
| 1662 | |
| 1663 | 3.1.31 released April 4, 2002 |
| 1664 | |
| 1665 | - boardsize field added to persistent caches in reading.c and owl.c |
| 1666 | - break_chain_efficient_moves() revised |
| 1667 | - new function reduced_init_owl() in owl.c |
| 1668 | - mark_dragon_hotspot_values() revised |
| 1669 | - revised handling of inessential stones in init_influence() |
| 1670 | - bugfix in strategic_penalty() |
| 1671 | - owl speedup: owl data immediately stored in owl_stack |
| 1672 | - bugfix in do_owl_defense() |
| 1673 | - attack() now always returns PASS as move if there is no attack |
| 1674 | - some ASSERTs removed in board.c. |
| 1675 | - revision in get_next_move_from_list |
| 1676 | - bugfix in find_connection_moves() |
| 1677 | - begin_sgftreedump() can take a NULL pointer parameter |
| 1678 | - new gtp command ladder_attack |
| 1679 | - unneeded include directories removed from sgf/Makefile.* |
| 1680 | - seed field removed from Gameinfo struct |
| 1681 | - new global variable random_seed |
| 1682 | - joseki tuning |
| 1683 | - Handtalk games in regression/games |
| 1684 | - doc revision |
| 1685 | |
| 1686 | 3.1.30 released March 30, 2002 |
| 1687 | |
| 1688 | - target sgf_properties.h not built by default |
| 1689 | - bugfixes in defend2(), special_rescue(), and special_rescue2() |
| 1690 | - MAX_INTRUSIONS doubled in size |
| 1691 | - intrusions beyond MAX_INTRUSION silently discarded |
| 1692 | - new connect_and_cut_helper2 autohelper macro |
| 1693 | - platform dependency resolved in store_persistent_reading_cache |
| 1694 | - EXP_J_VALUE increased to 35 in shapes.c |
| 1695 | - graph_ renamed to tree_ in mkpat.c & related files |
| 1696 | - a few FIXMEs addressed |
| 1697 | - tuning |
| 1698 | - influence tuning |
| 1699 | - new logo-32.jpg and logo-32.eps |
| 1700 | - newlogo.eps made smaller using level 2 postscript |
| 1701 | - doc revision |
| 1702 | |
| 1703 | 3.1.29 released March 26, 2002 |
| 1704 | |
| 1705 | - asymmetry in influence computation reduced |
| 1706 | - case added in strategic_penalty |
| 1707 | - simulation of ko threat + answer in sgf output reinstated in tryko() |
| 1708 | - new function gg_normalize_float() in gg_utils.c |
| 1709 | - platform dependency fixed in readconnect.c by using gg_normalize_float() |
| 1710 | - scoring tweaks and optimizations |
| 1711 | - bugfix in gg_cputime() |
| 1712 | - new function influence_initial_territory to export territory valuation |
| 1713 | - negative strategic value added to invasion type moves |
| 1714 | - keima shape bonus removed in CB204b |
| 1715 | - tuning |
| 1716 | - influence tuning |
| 1717 | - code consistency cleanup |
| 1718 | - new tests in nngs1.tst |
| 1719 | - THANKS updated |
| 1720 | |
| 1721 | 3.1.28 released March 24, 2002 |
| 1722 | |
| 1723 | - hashing dependent on compiler switches, default 64 bit and no full position |
| 1724 | - default cache size set to 8 |
| 1725 | - --stack option and showstack global variable removed |
| 1726 | - cache.o removed from libboard.a |
| 1727 | - unneeded include of dfa.h removed from patterns.h |
| 1728 | - compiler warnings fixed: dragon2_func prototyped, etc. |
| 1729 | - bugfix in confirm_safety() plus 1D conversion |
| 1730 | - komaster scheme 5 implemented and made default |
| 1731 | - update_aa_goal() in combination.c revised |
| 1732 | - heuristics to estimate cost of pattern constraint introduced |
| 1733 | - constraint cost used in owl callback for speedup |
| 1734 | - twogtp and twogtp-a close the sgf file if an engine crashes |
| 1735 | - twogtp-a had coordinates reversed |
| 1736 | - global variable last_moves[] removed |
| 1737 | - move history added to board state |
| 1738 | - static function undo_move() in board.c renamed to undo_trymove() |
| 1739 | - new global functions store_board(), restore_board(), undo_move(), |
| 1740 | get_last_opponent_move(), and get_last_move() in board.c |
| 1741 | - macros do_add_stone() and do_remove_stone() removed from board.c |
| 1742 | - Position struct removed |
| 1743 | - Gameinfo struct revised |
| 1744 | - new board_state struct |
| 1745 | - API functions gnugo_* work on an internal board state instead of on |
| 1746 | an externally provided board state |
| 1747 | - board_size workaround in influence.c obsoleted and removed |
| 1748 | - revised order of operations in main.c; in particular playing up the |
| 1749 | position specified by -l and -L options centralized |
| 1750 | - revised modes for --score option |
| 1751 | - all undo implementations in GTP, GMP, and ASCII interfaces replaced |
| 1752 | by the new undo_move() function in the board code |
| 1753 | - Added several .h files to appropriate .dsp files |
| 1754 | - corrected gcc warnings & other cleanup in mkpat.c |
| 1755 | - komaster_to_string now takes 2 arguments |
| 1756 | - new KOMASTER_TRACE; set to log all komaster_trymove calls |
| 1757 | - dfa ise announced only as a debug message |
| 1758 | - copyright notices updated |
| 1759 | - DRAGON2 macro array bounds checking is not the default |
| 1760 | - tuning |
| 1761 | - test revision |
| 1762 | - doc revision |
| 1763 | - additional correct answers added to reading.tst |
| 1764 | |
| 1765 | 3.1.27 released March 1, 2002 |
| 1766 | |
| 1767 | - important bugfix in store_persistent_owl_cache() |
| 1768 | - bugfix in semeai_find_backfilling_move() |
| 1769 | - new command line option --debug-flags |
| 1770 | - new DEBUG_OWL_PERSISTENT_CACHE |
| 1771 | - owl.c:draw_active_area draws the owl point |
| 1772 | - new printutils.c:routine_to_string() |
| 1773 | - KOMASTER_SCHEME 4 introduced |
| 1774 | - Tree-based pattern matching introduced. |
| 1775 | - pattern-base reading code supports defense by pattern. |
| 1776 | - new command-line switches "(attack|defend)-by-pattern" |
| 1777 | - OPT enums re-based to 127, to avoid conflict w/ ASCII values. |
| 1778 | - reformatted transform.c to look like matrices. |
| 1779 | - DRAGON_WEAK implemented in a function and checks array bounds. |
| 1780 | - improved fastlib(). |
| 1781 | - DRAGON2 macro checks array bounds. |
| 1782 | - bugfix in readconnect.c:moves_to_connect_in_three_moves() |
| 1783 | - for non-variadic, non-VC compilers, add trace_dummy assignment |
| 1784 | - new function init_owl() in owl.c |
| 1785 | - re-order conditions in revise_semeai to insure valid DRAGON2 data |
| 1786 | - organize include file order to facilitate pre-compiled headers. |
| 1787 | - use location_to_string in replay_node() |
| 1788 | - improve assertion in sgftreeAddComment() |
| 1789 | - removes a bogus "," from Pattern D305 |
| 1790 | - read_attack.db tuning |
| 1791 | - new read_defend.db |
| 1792 | - VC builds uses precompiled headers |
| 1793 | - VC Release builds generate debug symbols |
| 1794 | - new '-s' option to regress.pl to control creation of sgf files. |
| 1795 | - instruct robots not to follow regress.plx links. |
| 1796 | - unexpected results page orders results correctly |
| 1797 | - defaults for config.vc(in) made same as 3.1.27 release. |
| 1798 | - new semeai test |
| 1799 | - doc revision |
| 1800 | |
| 1801 | 3.1.26 released February 24, 2002 |
| 1802 | |
| 1803 | - experimental influence, experimental and alternate connections are default |
| 1804 | - caching code revised to once more work with TRACE_READ_RESULT enabled |
| 1805 | - added EXPERIMENTAL_READING to config.vc(in) |
| 1806 | - updated makevcdist.pl |
| 1807 | - bugfix in owl.c:dump_pattern_list() |
| 1808 | - alternative reorganized owl callback structure for substantial speed-up: |
| 1809 | - owl_shapes revised, new functions get_next_move_from_list() et al. |
| 1810 | - new function dump_pattern_list(...) for debugging |
| 1811 | - pattern cleanup |
| 1812 | - spelling fixes |
| 1813 | - verbosity revisions with alternate connections in readconnect.c |
| 1814 | - bugfix in close_bubbles() |
| 1815 | - bugfix in compute_owl_escape_values() |
| 1816 | - revised "stepped on a bug" message |
| 1817 | - bugfix in update_status in semeai.c |
| 1818 | - bugfix in estimate_time_by_move |
| 1819 | - replay added to debug helpstring |
| 1820 | - revised nonvariadic versions of TRACE and allies |
| 1821 | - increased MAXSTACK to MAX_BOARD*MAX_BOARD again |
| 1822 | - experimental influence taken down for initial influence when dragons unknown |
| 1823 | - doc revision |
| 1824 | |
| 1825 | 3.1.25 released February 14, 2002 |
| 1826 | |
| 1827 | - updated AUTHORS |
| 1828 | - command line option --options reports configure options |
| 1829 | - verbose reduced in readconnect. |
| 1830 | - do_genmove tries harder to restrain thrashing dragons. |
| 1831 | - DFA_SORT set to 0. |
| 1832 | - new gtp tryko. |
| 1833 | - new function fastlib() helper for approxlib family. |
| 1834 | - a pattern can now force the anchor point. |
| 1835 | - matchpat can be run forcing anchor to be in the goal. |
| 1836 | - simplification of UPDATE_SAVED_KO_RESULT |
| 1837 | - reduce overhead in non-variadic macro TRACE definitions |
| 1838 | - reduce MAXSTACK |
| 1839 | - EXPERIMENTAL_READING code much more interesting. |
| 1840 | - moved most of EXPERIMENTAL_READING code out of do_attack. |
| 1841 | - [ox]lib request only up to MAX_LIBERTIES liberties. |
| 1842 | - bugfix in reevaluate_ko_threats |
| 1843 | - floating point exceptions stopped in readconnect.c |
| 1844 | - experimental influence: yet another new_value_territory revision |
| 1845 | - experimental influence: fixed followup values really taken down (shapes.c) |
| 1846 | - experimental influence: pattern tuning |
| 1847 | - experimental influence: follow-up specific constraints for B patterns |
| 1848 | - experimental influence: new_value_territory revised (center correction) |
| 1849 | - experimental influence: most fixed follow-up values taken down |
| 1850 | - experimental influence: tuning, joseki values increased, some bugs fixed |
| 1851 | - experimental_influence ignored for escape influence |
| 1852 | - influential doc revision |
| 1853 | - edge_double_sente_helper is now autohelper |
| 1854 | - owl threat loop broken out |
| 1855 | - new global thrashing_dragon |
| 1856 | |
| 1857 | 3.1.24 released February 3, 2002 |
| 1858 | |
| 1859 | - cleanup of clock.c, filllib.c, fuseki.c, genmove.c, globals.c, |
| 1860 | gnugo.h, hash.h, printutils.c, reading.c, showbord.c, utils.c, |
| 1861 | worm.c |
| 1862 | - New function gfprintf in printutils.c |
| 1863 | - do_owl_analyze_semeai won't read below MAX_SEMEAI_DEPTH |
| 1864 | - AFFINE_TRANSFORM() macro |
| 1865 | - new (stub) function opponent_not_passing |
| 1866 | - new function sgffile_write_circle_mark |
| 1867 | - gg_cputime used for time statistics consistently. |
| 1868 | - alternate connection reading algorithm appended to readconnect.c |
| 1869 | - new option --alternate-connections toggles the connection reading algorithms |
| 1870 | - Zobrist hashing implemented in owl_analyze_semeai |
| 1871 | - do_owl_analyze_semeai no longer considers unsafe outside liberties |
| 1872 | - small_semeai reimplemented |
| 1873 | - make_worms takes the save_verbose parameter to allow a few traces |
| 1874 | - traces improved in decide_tactical_semeai |
| 1875 | - EXPERIMENTAL_READING code (pattern based) added. |
| 1876 | - added "tried" parameter to special_rescue |
| 1877 | - defend2-[CD] won't re-try moves (avoid cache check). |
| 1878 | - faster implementation of accurate_approxlib. |
| 1879 | - mkpat takes multiple -i parameters, outputs in binary |
| 1880 | - Visual C now uses _vsnprintf |
| 1881 | - revision of patterns/mkpat.dsp |
| 1882 | - sgf output tweeking. |
| 1883 | - bugfix in experimental influence: floating point exception cure |
| 1884 | - bugfix in regress.plx: handling of gtp worm_stones |
| 1885 | - tuning |
| 1886 | - owl tuning |
| 1887 | - connection tuning |
| 1888 | - test revision |
| 1889 | |
| 1890 | 3.1.23 released January 28, 2002 |
| 1891 | |
| 1892 | - configure option: alternate-connections |
| 1893 | - experimental influence: followup value computed in influence.c |
| 1894 | - experimental influence: new_value_territory revised |
| 1895 | - experimental influence: new handling for intrusion patterns |
| 1896 | - experimental influence: support for standard/experimental specific patterns |
| 1897 | - reevaluate_ko_threats now makes checks |
| 1898 | - new get_biggest_owl_target() |
| 1899 | - DEFEND_BOTH_MOVE reason taken down |
| 1900 | - new gtp functions get_komi and get_handicap |
| 1901 | - bugfix in gtp worm_stones: did not print newline if board empty |
| 1902 | - support for two strings and two results in cache.[ch] |
| 1903 | - simplified code to do cache lookup in reading.c and owl.c |
| 1904 | - bugfix in estimate_territorial_value() |
| 1905 | - bugfix in find_worm_threats() |
| 1906 | - readconnect finds connections through ponnuki |
| 1907 | - readconnect sgf improvements |
| 1908 | - bugfix in estimate_strategical_value(): ALL_MOVE worms were overvalued |
| 1909 | - VC build now DFA compliant |
| 1910 | - semeai module sets matcher status to ALIVE instead of ALIVE_IN_SEKI |
| 1911 | - regression html view enhancements |
| 1912 | - fix arraybound violation in compute_aa_values |
| 1913 | - constraint diagram checking moved to new check_constraint_diagram() |
| 1914 | - Invoke check_constraint_diagram *before* incrementing patno |
| 1915 | - atari_atari_find_defense_moves() revised |
| 1916 | - ATTACK_EITHER_MOVE taken down |
| 1917 | - new ALL_MOVE reason |
| 1918 | - new static find_all_data(), all_move_redundant() in move_reasons.c |
| 1919 | - new function add_all_move() |
| 1920 | - add_defend_both autohelper macro revised |
| 1921 | - tuning |
| 1922 | - influence tuning |
| 1923 | - owl tuning |
| 1924 | - hoshi tuning |
| 1925 | - new and revised tests |
| 1926 | |
| 1927 | 3.1.22 released January 20, 2002 |
| 1928 | |
| 1929 | - find_backfilling_move() in filllib.c revised |
| 1930 | - dfa made standard |
| 1931 | - owl threat computation made optional (and not default) |
| 1932 | - comments added, cleanup around discard_redundant_move_reasons |
| 1933 | - new (unused) experimental influence configure and run time options |
| 1934 | - unsafe tactical moves now taken care by discard_redundant_move_reasons |
| 1935 | - FIXME added for reevaluate_ko_threats |
| 1936 | - atari_atari_attack_patterns() uses a goal array to limit search area |
| 1937 | - new functions compute_aa_values(), get_aa_value(), and update_aa_goal() |
| 1938 | - ko contingent defenses excluded in get_saved_worms(), get_saved_dragons() |
| 1939 | - valuation of atari_atari move reasons revised |
| 1940 | - recognize_eye() revised |
| 1941 | - spelling corrections |
| 1942 | - fflush() added a few places |
| 1943 | - owl tries tactical defense for small groups |
| 1944 | - owl logs number of variations per sub-tree in SGF file |
| 1945 | - [ox]play_(attack_either|defend_both) handles ko correctly. |
| 1946 | - added [ox]play_connect and dis_connect helpers |
| 1947 | - allow followup value if defense threat is contingent on ko. |
| 1948 | - only allow territory move values if move is deemed safe. |
| 1949 | - reduce cutstone values in case of ko. |
| 1950 | - debug printing in influence.c slightly restructured |
| 1951 | - new function influence_moyo_color_opposite() |
| 1952 | - one trace output reenabled in confirm_safety() |
| 1953 | - bugfix in sgftreeAddStone |
| 1954 | - bugfix in komaster_trymove |
| 1955 | - mascot in dragon.c |
| 1956 | - tuning |
| 1957 | - eye tuning |
| 1958 | - atari_atari tuning |
| 1959 | - connection tuning |
| 1960 | - fuseki tuning |
| 1961 | - owl tuning |
| 1962 | - test revisions |
| 1963 | |
| 1964 | 3.1.21 released January 12, 2002 |
| 1965 | |
| 1966 | - revision of compute_surrounding_moyo_sizes() |
| 1967 | - bugfix in pattern EE302 |
| 1968 | - value_moves.c split from move_reasons.c |
| 1969 | |
| 1970 | 3.1.20 released January 11, 2002 |
| 1971 | |
| 1972 | - ko return codes from owl_does_attack() and owl_does_defend() handled |
| 1973 | in analyze_semeai() |
| 1974 | - special_rescue2() generalized and reimplemented |
| 1975 | - bugfix in edge_clamp() |
| 1976 | - mkpat does consistency checking between the diagram and constraint diagram |
| 1977 | - new function connect_and_cut_helper() in helpers.c |
| 1978 | - least significant bit of move reason now denotes a threat |
| 1979 | - bugfix in add_attack_either_move |
| 1980 | - new move reason: EITHER_MOVE |
| 1981 | - disabled add_attack_either_move |
| 1982 | - removed redundant EITHER_MOVEs |
| 1983 | - minor cleanup in move_reasons.c |
| 1984 | - some cleanup in move_reasons.c |
| 1985 | - renamed some move reasons for name consistency |
| 1986 | - new function special_rescue6() in reading.c |
| 1987 | - defend3() revised |
| 1988 | - don't run compute_eyes on eye spaces not attached to a dragon |
| 1989 | - avoid giving followup values to non-sente threats in |
| 1990 | threaten_to_capture_helper() and in estimate_territorial_value() |
| 1991 | - new test_gray_border() in board.c with assertions in genmove.c |
| 1992 | - xplay_attack_either returns WIN not 1 |
| 1993 | - improved debugging and trace output |
| 1994 | - checking of sgf GM and FF properties revised |
| 1995 | - Makefile.in's converted using Automake 1.5 |
| 1996 | - html view enhancements |
| 1997 | - tuning |
| 1998 | - influence tuning |
| 1999 | - owl tuning |
| 2000 | - fuseki tuning |
| 2001 | - performance tuning |
| 2002 | - test revisions |
| 2003 | |
| 2004 | 3.1.19 released January 2, 2002 |
| 2005 | |
| 2006 | - bugfix in aftermath_genmove() |
| 2007 | - bugfixes in the atari_atari code |
| 2008 | - obsolete atari_atari code removed |
| 2009 | - tuning |
| 2010 | - owl tuning |
| 2011 | - sgf2tst repair |
| 2012 | - regress.plx improvements |
| 2013 | |
| 2014 | 3.1.18 released December 23, 2001 |
| 2015 | |
| 2016 | - 1D conversion of incremental.texi |
| 2017 | - new function dragon_looks_inessential() in dragon.c |
| 2018 | - adjusted_worm_attack_value() revised |
| 2019 | - indented debug output of secondary move values |
| 2020 | - new local struct aa_move in combinations.c |
| 2021 | - new pattern class 'c' for conditional moves in aa_attackspats.db |
| 2022 | - atari_atari() tries to attack smallest targets first |
| 2023 | - combinations() finds multiple defenses when opponent has a combination attack |
| 2024 | - new gtp commands owl_connection_defends and owl_substantial |
| 2025 | - mkpat checks that main diagram and constraint diagram have the same size |
| 2026 | - mkpat stricter in parsing of classification field |
| 2027 | - new function gg_sort() in gg_utils.c |
| 2028 | - all calls to qsort() replaced by calls to gg_sort() |
| 2029 | - linear_eye_space() removed |
| 2030 | - make RTRACE and VTRACE variatic functions same as macros |
| 2031 | - debug output and valuation of attack on defenseless stones corrected |
| 2032 | - TODO revised |
| 2033 | - fixed value of J patterns no longer scaled with board_size |
| 2034 | - bugfix in owl_attackpats.db pattern D1137 |
| 2035 | - assertion added in owl_escape_value() |
| 2036 | - bugfix in moves_to_connect_in_three_moves() in readconnect.c |
| 2037 | - support for all tactical worm points in debugboard |
| 2038 | - tuning |
| 2039 | - owl tuning |
| 2040 | - influence tuning |
| 2041 | - atari_atari tuning |
| 2042 | - test revisions |
| 2043 | |
| 2044 | 3.1.17 released December 16, 2001 |
| 2045 | |
| 2046 | - new configure and runtime options semeai-variations |
| 2047 | - new function semeai_trymove() |
| 2048 | - bugfix in catalog_goal |
| 2049 | - semeai revisions |
| 2050 | - warning avoided in dfa_avoid_string() |
| 2051 | - code cleanup |
| 2052 | - devalued attacking dead group bonus |
| 2053 | - corrected value to final_value in review_move_reasons() |
| 2054 | - value_territory() in influence.c revised |
| 2055 | - common debug code moved from compute_eyes(), compute_eyes_pessimistic() |
| 2056 | to print_eyes() |
| 2057 | - inactive support to test against linear_eyes() in compute_eyes_pessimistic() |
| 2058 | - MAXPATNO increased to 400 in mkeyes.c |
| 2059 | - naive_ladder() replaced by simple_ladder() |
| 2060 | - bugfixes in attack_threats() |
| 2061 | - new gtp commands reset_connection_node_counter, get_connection_node_counter |
| 2062 | - removed small valued lunch attacks and defenses in owl_determine_life() |
| 2063 | - new gtp commands owl_threaten_attack, owl_threaten_defense |
| 2064 | - better error reporting in mkpat.c |
| 2065 | - improved error reporting in owl.c |
| 2066 | - html regression view tweeks |
| 2067 | - new function second_order_liberty_of_string() in board.c |
| 2068 | - readconnect.c revised |
| 2069 | - take into account followup values if reverse_followup >= 1 |
| 2070 | - try a little harder in attack_either |
| 2071 | - break_through_helper improved |
| 2072 | - tuning |
| 2073 | - owl tuning |
| 2074 | - eye tuning, adding many patterns with occupied margins |
| 2075 | - test revisions |
| 2076 | |
| 2077 | 3.1.16 released December 9, 2001 |
| 2078 | |
| 2079 | - readconnect revised |
| 2080 | - new board.c function breakchain3() |
| 2081 | - dsp and config.vc updates |
| 2082 | - new function influence_get_moyo_segmentation() |
| 2083 | - new function add_influence_source() |
| 2084 | - computations of moyo size surrounding a dragon changed |
| 2085 | - confirm_safety() takes two new parameters to tell which stones were saved |
| 2086 | - atari_atari_confirm_safety() revised |
| 2087 | - compute_aa_status() revised |
| 2088 | - new is_vital_string() in combinations.c tracks stones not to be sacrificed |
| 2089 | - generation of attack moves in do_atari_atari uses patterns |
| 2090 | - new pattern database pattern/aa_attackpats.db |
| 2091 | - atari_atari_find_defense_moves() improved |
| 2092 | - new functions get_saved_worms() and get_saved_dragons() in move_reasons.c |
| 2093 | - new function move_reasons_confirm_safety() |
| 2094 | - examine_move_safety() revised |
| 2095 | - new function decide_combination() in sgfdecide.c |
| 2096 | - new option --decide-combination |
| 2097 | - new experimental-combination configure option, and command line options |
| 2098 | - new gtp command aa_confirm_safety |
| 2099 | - bugfix in trymove() |
| 2100 | - 1D revisions and cleaning up |
| 2101 | - new file: engine/movelist.c |
| 2102 | - generalized handling of move lists and moved from worm.c |
| 2103 | - attack_threats() enhanced |
| 2104 | - AA_THREAT_DEPTH set to 3 |
| 2105 | - find_worm_threats() uses attack_threats more |
| 2106 | - pessimistic_compute_eyes() tries harder to find a vital point |
| 2107 | - new atari_atari_find_attack_moves() and atari_atari_find_defense_moves() |
| 2108 | - do_atari_atari() restructured |
| 2109 | - experimental-semeai configure option |
| 2110 | - experimental_semeai command line option |
| 2111 | - new function new_semeai() |
| 2112 | - owl_analyze_semeai improvements |
| 2113 | - split USAGE_DEBUG in half due to VC limitation |
| 2114 | - removed final VC warning in dfa.c |
| 2115 | - revised trace in value_move_reasons() |
| 2116 | - regress.plx improvements |
| 2117 | - speedup in gtp_same_dragon |
| 2118 | - test revisions |
| 2119 | - 13x13 tests |
| 2120 | |
| 2121 | 3.1.15 released November 30, 2001 |
| 2122 | |
| 2123 | - new field value in struct half_eye_data |
| 2124 | - topological_eye(), evaluate_diagonal_intersection() take ko into account |
| 2125 | - improved debug output in compute_eyes() and compute_eyes_pessimistic() |
| 2126 | - add_half_eye() renamed add_false_eye |
| 2127 | - make_proper_eye_space() and remove_eyepoint() removed |
| 2128 | - owl_topological_eye() reimplemented to look up stored data |
| 2129 | - new function special_rescue5() in reading.c |
| 2130 | - defend2() and defend3() revised |
| 2131 | - new GTP commands list_stones and tactical_analyze_semeai() |
| 2132 | - new command line option --decide-tactical-semeai |
| 2133 | - support for marginal eye points with opponent stones in eyes.db |
| 2134 | - persistent caching added to owl_does_attack() |
| 2135 | - owl_does_defend() and owl_does_attack() now understand ko |
| 2136 | - owl_determine_life() revised |
| 2137 | - owl_analyze_semeai() revised |
| 2138 | - small_semeai() calls owl_analyze_semeai |
| 2139 | - new function silent_examine_position() |
| 2140 | - find_more_owl_attack_and_defense_moves() revised |
| 2141 | - ko valuation revised |
| 2142 | - cutting worms are never inessential |
| 2143 | - 1D revision of print_eye() in optics.c |
| 2144 | - compute_eyes_pessimistic() revised |
| 2145 | - bugfixes in evaluate_diagonal_intersection() |
| 2146 | - new gtp commands owl_analyze_semeai, owl_does_attack, and owl_does_defend |
| 2147 | - revision of owl_analyze_semeai() |
| 2148 | - new static catalog_goal in owl.c |
| 2149 | - sgfdecide functions made 1D |
| 2150 | - empty_corner_value adjusted to board size in fuseki() |
| 2151 | - removed tactical reading move pass from owl.c |
| 2152 | - contribution of (reverse) followup values revised in value_move_reasons |
| 2153 | - comments made 1D in owl.c |
| 2154 | - regress.pl now accepts "problem sets" |
| 2155 | - regress.plx includes "unexpected result" list |
| 2156 | - new gtp_example/sgf2tst.pl |
| 2157 | - changed warning to error in mkpat.c |
| 2158 | - minor change to regress.pl |
| 2159 | - atari_atari now considers general threat the first moves |
| 2160 | - new depth parameter aa_threat_depth |
| 2161 | - new function: atari_atari_succeeded |
| 2162 | - cleanup in atari_atari functions |
| 2163 | - compute_escape_influence now 1D |
| 2164 | - new function in reading.c: attack_threats |
| 2165 | - handling of tactical moves in worm.c no longer static |
| 2166 | - replaced abort() in mkeyes with fatal error messages |
| 2167 | - patterns.dsp and gnugo.dsw revised |
| 2168 | - tuning |
| 2169 | - influence tuning |
| 2170 | - connection_tuning |
| 2171 | - owl tuning |
| 2172 | - test revisions |
| 2173 | - new trevora tests |
| 2174 | - new semeai tests |
| 2175 | - doc revision |
| 2176 | |
| 2177 | 3.1.14 released November 17, 2001 |
| 2178 | |
| 2179 | - recognize_eye() revised |
| 2180 | - new function test_eyeshape() in optics.c |
| 2181 | - new gtp command test_eyeshape |
| 2182 | - vital and num_vital fields removed from struct eye_graph |
| 2183 | - mkeyes.c revised |
| 2184 | - non-territory patterns introduced in the influence code |
| 2185 | - revised formula for addition of followup_value |
| 2186 | - better trace output for followup_value and reverse_followup_value |
| 2187 | - typo fixed (whose_moyo for whose_area) in value_territory() |
| 2188 | - new debug flag DEBUG_TERRITORY |
| 2189 | - delta computation of territory, moyo, and area in influence.c restructured |
| 2190 | - influence_value part of move valuation removed |
| 2191 | - new function is_edge_vertex() in board.c |
| 2192 | - guess_eye_space() revised |
| 2193 | - compute_eyes_pessimistic revised |
| 2194 | - do_owl_defend() revised |
| 2195 | - move stupid vital marginals from first to second line in owl_determine_life() |
| 2196 | - patterns.dsp doesn't reference invalid file |
| 2197 | - regress.pl deals with threads better on Win32 |
| 2198 | - regress.plx supports view by category |
| 2199 | - updated regress.pl |
| 2200 | - add file & line numbers to more warnings in mkpat.c |
| 2201 | - comments in reading.c made 1D |
| 2202 | - DFA_ENABLE ifdefs removed |
| 2203 | - remove *.dfa stuff from makefiles keeping only DFA_FLAGS for mkpat. |
| 2204 | - configure --enable-dfa touches .db files. |
| 2205 | - bugfix in find_double_threats() |
| 2206 | - global_matchpat() renamed matchpat() |
| 2207 | - regression view includes node counts, SGF link, and -t output. |
| 2208 | - GTP echo_err added to allow echoing to STDERR. |
| 2209 | - atari_atari moved to combination.c |
| 2210 | - restricted_defend1 and restricted attack2 now public functions |
| 2211 | - in find_double_threats, make threat reasons into attack_either reasons |
| 2212 | - old disabled function remove_move_reason() now enabled |
| 2213 | - some simple cleaning |
| 2214 | - genmove now 1D |
| 2215 | - out of bounds array violation in showbord.c fixed. |
| 2216 | - regress.pl records sgf trace for owl_attack & owl_defend. |
| 2217 | - regress.plx provides access to sgf trace files if present. |
| 2218 | - tuning |
| 2219 | - connection tuning |
| 2220 | - eye tuning |
| 2221 | - owl tuning |
| 2222 | - influence tuning |
| 2223 | - revision of rot tests |
| 2224 | - ld_owl_life.tst removed |
| 2225 | - new and revised regression tests |
| 2226 | - Some tests in endgame.tst corrected. |
| 2227 | |
| 2228 | 3.1.13 released November 6, 2001 |
| 2229 | |
| 2230 | - new function are_neighbor_dragons() |
| 2231 | - verbose value reduced while running owl_reasons |
| 2232 | - influence code revised |
| 2233 | - function find_stones_saved_by_move() in move_reasons.c removed |
| 2234 | - find_more_owl_attack_and_defense_moves() revised |
| 2235 | - owl attacks induce strategical defenses of friendly neighbors |
| 2236 | - connection values revised |
| 2237 | - territorial value of attacks, defenses, owl attacks, and owl |
| 2238 | defenses computed through influence function, not effective_size |
| 2239 | - bugfix in computing effects of min and max territory values |
| 2240 | - played stone not automatically in goal array in owl_does_defend(), |
| 2241 | owl_confirm_safety(), and owl_connection_defends() |
| 2242 | - gtp commands debug_influence, debug_move_influence, move_influence removed |
| 2243 | - cleanup in mkpat.c |
| 2244 | - malformed line warning turned into error in mkpat |
| 2245 | - 1D documentation revisions. |
| 2246 | - twogtp-a now give a (halfhearted) default to missing goprog. |
| 2247 | - twogtp-a works for VC builds now. |
| 2248 | - mkpat.c generates more useful errors. |
| 2249 | - mkpat.c forces output to have compile error if input also had errors. |
| 2250 | - comments in readconnect.c |
| 2251 | - snapback only looks at one liberty in readconnect.c |
| 2252 | - do_atari_atari confirms the *defense_point is safe before returning |
| 2253 | - atari_atari_confirm_safety initializes defense_point |
| 2254 | - trivial bugfix in move_reasons.c |
| 2255 | - important bugfix in semeai.c, could cause a crash |
| 2256 | - tuning |
| 2257 | - owl tuning |
| 2258 | - influence tuning |
| 2259 | - gtp_set_boardsize resets the engine and stack |
| 2260 | - new and revised regression tests |
| 2261 | - new command-line option --orientation |
| 2262 | - -l and decide-* options can be combined with --orientation |
| 2263 | - tuning and regression revisions |
| 2264 | - regress.plx revisions: total line, time display, command line hint |
| 2265 | |
| 2266 | 3.1.12 released October 28, 2001 |
| 2267 | |
| 2268 | - break_chain2_efficient_moves() and break_chain2_moves() revised |
| 2269 | - add_array() in readconnect.c simplified |
| 2270 | - bugfix in moves_to_connect_in_two_moves() |
| 2271 | - sgf traces turned off in quiescence_capture() |
| 2272 | - new fields owl_attack_code and owl_defense_code in struct dragon_data |
| 2273 | - revised definition of WEAK and WEAKLY_ALIVE dragons in make_dragons() |
| 2274 | - revised computation of size of surrounding moyo for a dragon |
| 2275 | - 1D revisions |
| 2276 | - add_attack_move() and relatives also take the result code as parameter |
| 2277 | - new move reasons ATTACK_MOVE_GOOD_KO, ATTACK_MOVE_BAD_KO, and so on |
| 2278 | - move valuation distinguishes between attacks, defenses, owl attacks |
| 2279 | and owl defenses with or without ko |
| 2280 | - connections tested as owl defenses when connecting out a critical dragon |
| 2281 | - revised valuation of threats and strategical attacks |
| 2282 | - compute_eyes_pessimistic() revised |
| 2283 | - owl_determine_life() revised |
| 2284 | - new static compute_aa_status() broken out of three atari_atari functions |
| 2285 | - tuning |
| 2286 | - connection tuning |
| 2287 | - owl tuning |
| 2288 | - joseki tuning |
| 2289 | - new and revised regression tests |
| 2290 | - new reorientation test suites |
| 2291 | - remove rot* subdirs from EXTRA_DIST |
| 2292 | - bugfix in score.c (typo from 1D conversion) |
| 2293 | - revisions to extract_fuseki: make partial board patterns |
| 2294 | - revised fuseki9.db |
| 2295 | - Corrected VC build error converting unsigned 64-bit long to double |
| 2296 | - regress.pl split into regress.pl & regress.plx |
| 2297 | - added -all, to have regress.pl parse Makefile.in for tstfile list. |
| 2298 | - html view has better marking of non gg_genmove positions. |
| 2299 | - New move generator: combinations() in new file combinations.c |
| 2300 | - double attack threats detected |
| 2301 | - better valuation of attacks on worms |
| 2302 | - general cleanups |
| 2303 | |
| 2304 | 3.1.11 released October 21, 2001 |
| 2305 | |
| 2306 | - tuning |
| 2307 | - owl tuning |
| 2308 | - eye tuning |
| 2309 | - new function owl_proper_eye() and autohelper with the same name |
| 2310 | - valuation of uncertain owl defense moves revised |
| 2311 | - evaluate_diagonal_intersection() revised |
| 2312 | - new pattern class b in owl_defendpats.db |
| 2313 | - handling of same_dragon field in struct owl_data revised |
| 2314 | - do_atari_atari() revised |
| 2315 | - bugfixes in make_worms() |
| 2316 | - 1D revisions all over the engine |
| 2317 | - new debug flag DEBUG_READING_CACHE |
| 2318 | - same_dragon() renamed is_same_dragon() |
| 2319 | - new gtp commands start_sgftrace and finish_sgftrace |
| 2320 | - new and revised regression tests |
| 2321 | - new gtp command top_moves |
| 2322 | - bugfix in draw_back |
| 2323 | - Add ON_BOARD1 assertions in liberty_of_string and neighbour_of_string |
| 2324 | - Use Win32 API to get CPU time usage for all Win32 builds, not just VC |
| 2325 | - Added a few scattered regression comments |
| 2326 | - Updated regress.pl to latest ever evolving version. |
| 2327 | - Adds several test cases and SGF files to trevor.tst & games/trevor/ |
| 2328 | - reorientation code moved from gtp.c to play_gtp.c |
| 2329 | - owl_rot.tst uses reorientation code |
| 2330 | - fixed sscanf problem in (worm|dragon)_(stones|data) |
| 2331 | - allow dragon_stones to take color parameter, as well as coord. |
| 2332 | - revisions to capture.tst and vie.tst |
| 2333 | - further 1D revision in dragon.c |
| 2334 | - top_move functionality added to regress.pl |
| 2335 | - filllib.c and semeai.c made 1-dimensional |
| 2336 | - new gg_cputime in gg_utils.c |
| 2337 | - improved configuration for ncurses/{term,curses}.h |
| 2338 | - new and improved tests |
| 2339 | |
| 2340 | 3.1.10 released October 14, 2001 |
| 2341 | |
| 2342 | - portability fix for MINGW. Don't include crtdbg.h |
| 2343 | - rename connect to string_connect. |
| 2344 | - all move reason handling is 1D |
| 2345 | - owl goal and other date are 1D |
| 2346 | - new and revised test cases |
| 2347 | - bugfix in random.c |
| 2348 | - revision of readconnect.c |
| 2349 | - bugfix for Cygwin: gtp_dragon_data misreports invalid coordinate |
| 2350 | - revision of trevor.tst |
| 2351 | - bugfix in inv_rotate: use bs-1 instead of bs |
| 2352 | - new gtp function orientation |
| 2353 | - new gtp function query_orientation |
| 2354 | - in gtp_mprintf use gtp_print_vertex for the %m format specifier. |
| 2355 | - revision of regress.pl, Stone.pm |
| 2356 | - revision of engine/engine.dsp: remember readconnect.c |
| 2357 | - make gtp_loadsgf reorient gamerecords |
| 2358 | - make gtp_printvertices orient output points back |
| 2359 | - new function count_common_libs() in board.c |
| 2360 | - struct worm_data tracks all attack, defense, attack and defense threat points |
| 2361 | - remove_attack_move() and remove_defense_move() removed |
| 2362 | - attack_move_known(), defense_move_known(), attack_threat_move_known(), |
| 2363 | and defense_threat_move_known() moved from move_reasons.c to worm.c |
| 2364 | - change_attack() and change_defense() moved from utils.c to worm.c |
| 2365 | - new functions change_attack_threat() and change_defense_threat() in worm.c |
| 2366 | - new function worm_reasons() in worm.c |
| 2367 | - trace messages in worm.c changed to DEBUG_WORMS messages |
| 2368 | - remove_opponent_attack_and_defense_moves() and |
| 2369 | do_remove_false_attack_and_defense_moves() removed from move_reasons.c |
| 2370 | - NON_ATTACK_MOVE and NON_DEFEND_MOVE move reasons removed |
| 2371 | - try a little harder to find attack threats |
| 2372 | - attack.db and defense.db revised |
| 2373 | - indirect_helper() removed from helpers.c |
| 2374 | - tuning |
| 2375 | - minor owl tuning |
| 2376 | - new function have_common_lib() in board.c |
| 2377 | - new option --decide-connection |
| 2378 | - new function decideconnection() in sgfdecide.c |
| 2379 | - bugfixes in board.c, sgfdecide.c, and main.c |
| 2380 | - new IS_COLOR macro |
| 2381 | - comments moved from regression/STRATEGY to strategy.tst |
| 2382 | - time_report has a mintime parameter |
| 2383 | - many new tests in strategy4.tst |
| 2384 | - new regression/golois/*.sgf |
| 2385 | - new connect.tst global.tst vie.tst wolf.tst |
| 2386 | - new gtp function cputime |
| 2387 | |
| 2388 | 3.1.9 released October 7, 2001 |
| 2389 | |
| 2390 | - revised examine_move_safety heuristics |
| 2391 | - owl_determine_life() revised |
| 2392 | - new gtp functions connect and disconnect |
| 2393 | - naive_ladder() made global |
| 2394 | - warnings eliminated from readconnect.c |
| 2395 | - most functions in readconnect.c made static |
| 2396 | - add point reorientation functions |
| 2397 | - add some comments to dfa.c |
| 2398 | - bugfix and cleanup in naive_ladder() |
| 2399 | - new interface/GoImage/Stone.pm |
| 2400 | - struct eye_data arrays changed from 2D to 1D |
| 2401 | - 9x9 case revised in fuseki() |
| 2402 | - bugfix in goal detection in matchpat, don't accept empty goal vertices |
| 2403 | - bugfix in gtp_genmove() |
| 2404 | - new test cases in owl.tst |
| 2405 | - further 1D revisions in worm.c |
| 2406 | - find_lunch() moved from utils.c to worm.c |
| 2407 | - is_same_worm() converted to 1D |
| 2408 | - bugfix in list_move_reasons() |
| 2409 | - revised test case in niki.tst |
| 2410 | - tuning |
| 2411 | - owl tuning |
| 2412 | - connection tuning |
| 2413 | - new implementation of compute_primary_domains() |
| 2414 | - new eye pattern |
| 2415 | - bugfix in fuseki.c |
| 2416 | - cleanup and further 1D conversion in optics.c |
| 2417 | - sgf_decideeye doesn't require owl computation |
| 2418 | - 1D revisions in worm.c |
| 2419 | - is_worm_origin(), propagate_worms(), does_attack(), does_defend() are 1D |
| 2420 | - NNGS customization removed from ascii interface |
| 2421 | - gtp_worm_stones can be run with stackp>0 and can take a color argument |
| 2422 | - mkpat can take -i and -o options |
| 2423 | - MIN_BOARD is 5 |
| 2424 | |
| 2425 | 3.1.8 released October 1, 2001 |
| 2426 | |
| 2427 | - defend2() revised |
| 2428 | - attack2() revised |
| 2429 | - break_chain2_moves() revised |
| 2430 | - connection_value() revised |
| 2431 | - most parts of move_reasons.c converted to 1D |
| 2432 | - domain calculation in optics.c now 1D |
| 2433 | - hash.c is more 1D |
| 2434 | - new function is_ko_point() in board.c |
| 2435 | - computation of cavities removed from worm.c |
| 2436 | - computation of caves removed from dragon.c |
| 2437 | - computation of inessential worms moved from make_dragons() to make_worms() |
| 2438 | - computation of ko points removed from make_worms() |
| 2439 | - printing of cutting stones removed from genmove.c |
| 2440 | - examine_cavity() simplified and made static |
| 2441 | - cavity_recurse() simplified |
| 2442 | - ko field removed from worm_data struct |
| 2443 | - border field removed from dragon_data struct |
| 2444 | - several fields moved from struct dragon_data to struct dragon_data2 |
| 2445 | - false_margin field eliminated from struct eye_data |
| 2446 | - cleanup of sgf code |
| 2447 | - extended functionality of gtp commands dragon_stones and worm_stones |
| 2448 | - gtp_dragon_data returns a list of strings |
| 2449 | - new gtp functions dragon_stones and worm_stones |
| 2450 | - revision of extract_fuseki |
| 2451 | - revision of fuseki.c |
| 2452 | - bugfix in break_chain3 |
| 2453 | - bugfix in special_attack4 |
| 2454 | - warning fixed in mkpat |
| 2455 | - formatting errors fixed in decidestring and other places: use %1m |
| 2456 | - bugfix: trace in move_reasons.c |
| 2457 | - gtp_dragon_data() revised |
| 2458 | - new gtp functions dragon_stones and worm_stones |
| 2459 | - twogtp-a writes html |
| 2460 | - tuning |
| 2461 | - owl tuning |
| 2462 | - eye tuning |
| 2463 | - one new test case in reading.tst |
| 2464 | - new regression/games/trevor/* and unsorted tests mv'ed to trevor |
| 2465 | - new tests xxlin.tst |
| 2466 | - strategy4 target in regression/Makefile.am corrected |
| 2467 | - rotated tests revised |
| 2468 | - dsp files revised |
| 2469 | |
| 2470 | 3.1.7 released September 24, 2001 |
| 2471 | |
| 2472 | - heye[] is now stored as a 1-dimensional array |
| 2473 | - halfeye() is now called is_halfeye() |
| 2474 | - new macro for traversing all points: for_all_board() |
| 2475 | - atari_atari and helper functions now 1D |
| 2476 | - all goal functions in reading.c now 1D |
| 2477 | - calls to the goal functions in reading.c converted to 1D calling standards. |
| 2478 | - bufix in do_find_superstring() |
| 2479 | - bugfix in aftermath_genmove() |
| 2480 | - bugfix in hashdata_recalc() |
| 2481 | - bugfix in store_persistent_owl_cache() |
| 2482 | - assertions added to are_neighbor_strings() |
| 2483 | - analyze_neighbor() in filllib.c revised |
| 2484 | - alternative definition of ASSERT1 macro corrected |
| 2485 | - revised valuation of vital eye moves |
| 2486 | - colored legends with -T output |
| 2487 | - make internals of worm[][] 1-dimensional |
| 2488 | - make eye data 1-dimensional |
| 2489 | - new macros: PASS_MOVE and NO_MOVE |
| 2490 | - change_attack and change_defense are now 1-dimensional |
| 2491 | - worm handling in move_reasons.c is now 1-dimensional |
| 2492 | - dragon.c is now 1-dimensional |
| 2493 | - prefix struct option in getopt.c with gg_ |
| 2494 | - prefix all occurences of optarg with gg_ |
| 2495 | - improved color support in cygwin and VC++ |
| 2496 | - brighter colors under VC++ |
| 2497 | - increase BOARDSIZE by one |
| 2498 | - set MAX_BOARD to 19 for development versions |
| 2499 | - new functions readsgffilefuseki, gametreefuseki in sgfnode() |
| 2500 | - tuning |
| 2501 | - owl tuning |
| 2502 | - new strategy4.tst and unsorted.tst |
| 2503 | - new game record and new and revised filllib regression tests |
| 2504 | |
| 2505 | 3.1.6 released September 15, 2001 |
| 2506 | |
| 2507 | - limited pushing of p[][] allows one level of recursion in global_matchpat |
| 2508 | - bugfix in sgf_utils.c function get_moveX() and get_moveY() |
| 2509 | - new functions find_common_libs() and are_neighbor_strings() in board.c |
| 2510 | |
| 2511 | 3.1.5 released September 15, 2001 |
| 2512 | |
| 2513 | - board changed from 2D to 1D array representation |
| 2514 | - major revisions of board.c and reading.c |
| 2515 | - smaller revisions more or less anywhere |
| 2516 | |
| 2517 | 3.1.4 released September 14, 2001 |
| 2518 | |
| 2519 | - do_atari_atari tries harder to find defenses |
| 2520 | - confirm_atari_atari checks to see if tried move really causes the combination |
| 2521 | - changing a group's status from CRITICAL to DEAD does not satisfy atari_atari |
| 2522 | - bugfix in find_more_owl_attack_and_defense_moves() |
| 2523 | - new function start_timer() and time_report() in utils.c |
| 2524 | - showtime code cleaned up in dragon.c, genmove.c, and move_reasons.c |
| 2525 | - move numbers printed correctly in ascii interface |
| 2526 | - minor changes and cleanup in ascii interface |
| 2527 | - prefix getopt_long and the options struct with gg_ |
| 2528 | - new functions sgfFreeNode and sgfFreeProperty |
| 2529 | - tuning |
| 2530 | - influence tuning |
| 2531 | |
| 2532 | 3.1.3 released September 6, 2001 |
| 2533 | |
| 2534 | - bugfix in the atari_atari code |
| 2535 | - obsolete sgf_dump facilities removed |
| 2536 | - remove_string removed from gnugo.h |
| 2537 | - add_replacement_move() in move_reasons.c revised |
| 2538 | - in value_move_reasons() ko threats are affected by shape values |
| 2539 | - tuning |
| 2540 | - don't call new_position for every stone when playing out an SGF tree. |
| 2541 | - new gtp engine metamachine in interface/gtp_examples |
| 2542 | - new gtp command query_boardsize |
| 2543 | |
| 2544 | 3.1.2 released September 4, 2001 |
| 2545 | |
| 2546 | - realloc space for owl stack if needed |
| 2547 | - new static functions push_owl and pop_owl |
| 2548 | - bugfix in move_reasons.c to avoid overcounting certain attacks |
| 2549 | - move replacement mechanism implemented in move_reasons.c |
| 2550 | - new autohelper action replace() |
| 2551 | - new game record and regression test |
| 2552 | - new tests and regressions |
| 2553 | |
| 2554 | 3.1.1 released August 31, 2001 |
| 2555 | |
| 2556 | - halfeyes valued slightly more guessing eye value for shapes not in eyes.db |
| 2557 | - all owl data stored in do_owl_attack() and do_owl_defend() |
| 2558 | - revised definition of inessential strings in owl_find_lunches() |
| 2559 | - confirm_safety() revised |
| 2560 | - owl tuning |
| 2561 | - global_matchpat() to perform pattern matching on the whole board. |
| 2562 | - removed scan loops from different files. |
| 2563 | - matchpat() made static |
| 2564 | - size test made one time for all the board. |
| 2565 | - reverse spiral implemented to compute the move's row in the spiral path. |
| 2566 | - bugfixes and improved trace output in atari_atari functions |
| 2567 | - bugfix in dragon.c: broken format crashed printworms option |
| 2568 | - bugfix in play_gtp.c: format needed extra newline |
| 2569 | - configure --enable-profile implemented |
| 2570 | - new game records and regressions |
| 2571 | - new gtp_example vanilla.c |
| 2572 | - missing subheadings added in doc/*texi |
| 2573 | - BREAKAGE reset |
| 2574 | |
| 2575 | 3.0.0 released August 24, 2001 |
| 2576 | |
| 2577 | - komi can be set from CGoban using the command line |
| 2578 | - play_gmp takes a Gameinfo * parameter |
| 2579 | - corrected bounds in small_semeai |
| 2580 | - simplified bounds check in double_atari |
| 2581 | - explicit cast to avert warning in play_gtp.c |
| 2582 | - doc revision |
| 2583 | |
| 2584 | 2.7.256 released August 23, 2001 |
| 2585 | |
| 2586 | - unused dragon.old_safety retired |
| 2587 | - bugfix in owl_determine_life: signed char mx |
| 2588 | - no long filenames in games/arb |
| 2589 | - variations eliminated in dublin1.sgf |
| 2590 | - one dublin1 test in connection.tst |
| 2591 | - doc revision |
| 2592 | |
| 2593 | 2.7.255 released August 22, 2001 |
| 2594 | |
| 2595 | - two declarations moved in liberty.h |
| 2596 | - dilate_erode, sgftree_printboard and resize_dfa are static |
| 2597 | - doc revision |
| 2598 | |
| 2599 | 2.7.254 released August 21, 2001 |
| 2600 | |
| 2601 | - MAXSTACK expanded |
| 2602 | - struct move_data renamed owl_move_data in owl.c |
| 2603 | - superstring_breakchain made static |
| 2604 | - bugfix in showboard: capture colors switched |
| 2605 | - stray | removed from manyfaces.tst |
| 2606 | - revised newlogo |
| 2607 | - Trevor Morris and Stephan Somogyi THANKed |
| 2608 | - initials cleaned and comments edited in patterns.db |
| 2609 | - doc revision |
| 2610 | |
| 2611 | 2.7.253 released August 20, 2001 |
| 2612 | |
| 2613 | - gtp_loadsgf modified to work on Mac OS X |
| 2614 | - DEFAULT_LEVEL 10 in config.vc and config.vcin |
| 2615 | - newlogo.jpg restored in doc/ |
| 2616 | - gtp2_6 added to interface/gtp_examples/ |
| 2617 | - doc revision |
| 2618 | |
| 2619 | 2.7.252 released August 19, 2001 |
| 2620 | |
| 2621 | - moved interface/gtp/ to interface/gtp_examples/ |
| 2622 | - pragma disable 4244 4305 added to config.vc and config.vcin again |
| 2623 | - placehand does not place a stone if handicap == 1 |
| 2624 | - gameinfo_play_sgftree default handicap is 0.5 if handicap != 0 |
| 2625 | - regress.awk strips carriage returns for DOS compatibility |
| 2626 | - doc revision |
| 2627 | |
| 2628 | 2.7.251 released August 18, 2001 |
| 2629 | |
| 2630 | - moved the komi field from Gameinfo to Position |
| 2631 | - change usages of komi in various places |
| 2632 | - estimate_score no longer declared in gnugo.h |
| 2633 | - use gnugo_estimate_score in play_gmp, play_solo, play_ascii, debugboard |
| 2634 | - bugfix in gameinfo_load_sgfheader: initialize handicap |
| 2635 | - abortgo.sgf reference taken out of abortgo |
| 2636 | - gameinfo_play_sgftree does not place a stone if handicap 1 |
| 2637 | - twogtp default handicap 0, not 1 |
| 2638 | - twogtp declares file FF[4] not FF[3] |
| 2639 | - doc revision |
| 2640 | - win/ directory removed |
| 2641 | - WINDOWS revised again |
| 2642 | |
| 2643 | 2.7.250 released August 17, 2001 |
| 2644 | |
| 2645 | - bugfix in main.c: stray hyphen broke compile |
| 2646 | - bugfix in interface.c: reject weird handicaps |
| 2647 | - bugfix in double_atari: reject off board locations |
| 2648 | - bugfix in aftermath: reject off board locations |
| 2649 | - new WINDOWS |
| 2650 | - new logo |
| 2651 | - do_play_move made static |
| 2652 | - doc revision |
| 2653 | - pragma disable 4244 4305 added to config.vc and config.vcin |
| 2654 | - new command load <file name> in ascii mode. |
| 2655 | - reference of --autolevel in help massege. |
| 2656 | - fixed a bug in sgf file saving (to avoid strange handicap) |
| 2657 | |
| 2658 | 2.7.249 released August 16, 2001 |
| 2659 | |
| 2660 | - print_moyo color parameter eliminated |
| 2661 | - All FIXME's classified post 3.0 |
| 2662 | - bugfix in owl_big_eyespace: check ON_BOARD(oi,oj) |
| 2663 | - bugfix in fill_liberty: check ON_BOARD |
| 2664 | - bugfix: initialize path in dfa matcher |
| 2665 | - moved dfa scan function and others from dfa.c to matchpat.c |
| 2666 | - moved dfa_fixup_for_size into dfa_compile_for_match. |
| 2667 | - cleanup of dfa code |
| 2668 | - removed heavy functions dfa_scan() and dfa_restart() |
| 2669 | - new function scan_for_pattern() |
| 2670 | - New warning in mkpat for DFA_MAX_MATCHED update. |
| 2671 | - a warning fixed in dfa.c |
| 2672 | - Any pattern db can use wired dfa's. |
| 2673 | - removed load_dfa() and save_dfa() functions. |
| 2674 | - removed -d option from mkpat. |
| 2675 | - removed unused values from dfa_t struct |
| 2676 | - sync_product uses a hash table instead of an huge array |
| 2677 | - new stucture test_array_t and new static functions in dfa.c |
| 2678 | - DFA_MAX_BOARD set to 21 |
| 2679 | - revision of all .dsp files |
| 2680 | - analyze.h removed from engine/Makefile.am |
| 2681 | - unused function dump_data removed from score.c |
| 2682 | - bugfix in aftermath_genmove() |
| 2683 | - code cleanup |
| 2684 | - unchosen fuseki moves from fuseki database awarded a smaller value |
| 2685 | - filllib and aftermath moves also recorded with move_considered() |
| 2686 | - potential_moves array converted from int to float |
| 2687 | - PROFILE_PATTERNS disabled by default |
| 2688 | - computation of inessential strings in owl_find_lunches revised |
| 2689 | - is_worm_origin() moved from utils.c to worm.c |
| 2690 | - test mode option replaced by a replay option |
| 2691 | - code in play_test.c heavily rewritten |
| 2692 | - owl tuning |
| 2693 | - new gtp function top_moves |
| 2694 | - new game record and regression tests |
| 2695 | - doc revision |
| 2696 | - new tests tanguy.tst, dublin1.sgf and dublin2.sgf |
| 2697 | |
| 2698 | 2.7.248 released August 7, 2001 |
| 2699 | |
| 2700 | - undo implemented in play_gtp |
| 2701 | - estimate_score renamed old_estimate_score |
| 2702 | - new_estimate_score renamed estimate_score |
| 2703 | - gtp commands new_score and prisoners renamed estimate_score and captures |
| 2704 | - default level set to 10 |
| 2705 | - config.guess and config.sub removed from the distribution |
| 2706 | - moyo.c and analyze.c removed from the distribution |
| 2707 | - obsolete --moyo options retired |
| 2708 | - count_territory, evaluate_territory and remove_string removed |
| 2709 | - new function gnugo_estimate_score |
| 2710 | - doc revision |
| 2711 | - cleanup |
| 2712 | - minor tuning |
| 2713 | - Jens Yllman added to authors |
| 2714 | - patterns.dsp replaced |
| 2715 | - VC++ warnings addressed |
| 2716 | |
| 2717 | 2.7.247 released August 2, 2001 |
| 2718 | |
| 2719 | - aftermath_genmove() revised |
| 2720 | - bugfix in do_genmove(), no reinforcing moves while scoring |
| 2721 | - bugfix in estimate_territorial_value(), no reinforcing moves while scoring |
| 2722 | - bugfix in score.c, 19 replaced by board_size |
| 2723 | - bugfix in confirm_safety(), verbose not restored in two cases |
| 2724 | - values used by worm[][].conditional_status made more consistent |
| 2725 | - connection_value returns a higher value if we are ahead |
| 2726 | - status INESSENTIAL distrusted by connection_value if we are ahead |
| 2727 | - xcut autohelper macro rejects B pattern ! as well as * |
| 2728 | - connection tuning |
| 2729 | - score, upper_bound and lower_bound are made global variables |
| 2730 | - estimate_strategical_value takes score parameter |
| 2731 | - revision of score report in play_solo |
| 2732 | - new --showscore option |
| 2733 | - tuning |
| 2734 | - owl tuning |
| 2735 | - spelling mistake in regression/Makefile.am fixed |
| 2736 | - new regression test and game record |
| 2737 | - code cleanup in analyze.c |
| 2738 | - assert() changed to gg_assert() in extract_fuseki.c |
| 2739 | - mkpat and joseki add copyright notice to built files |
| 2740 | - verbose prints the score |
| 2741 | - bugfix in report_dragon: if dragon.id = -1 ignore dragon2 |
| 2742 | - VC++ compatibility changes |
| 2743 | - DFAFLAGS is -D instead of -d |
| 2744 | - autolevel target is level 10, not 11 |
| 2745 | - play_gmp uses new_score at game end |
| 2746 | - doc revision |
| 2747 | - revision of twogtp |
| 2748 | - new game records and connection tests |
| 2749 | |
| 2750 | 2.7.246 released July 15, 2001 |
| 2751 | |
| 2752 | - if ahead, owl_prevent_threat move reasons given real value |
| 2753 | - tuning |
| 2754 | - owl tuning |
| 2755 | - Chinese counting implemented |
| 2756 | - ascii mode revised |
| 2757 | - files gtp.c and gtp.h under X11 licensing |
| 2758 | - autolevel option activated |
| 2759 | - bugfix in matchpat.c |
| 2760 | - new #define GNUGO_PATH in config.h.in |
| 2761 | - fixed some problems with inclusion of dfa in pattern c files. |
| 2762 | - mkpat is now called with option -D instead of -d => no more binary dfa files. |
| 2763 | - in matchpat.c dfa_match_init do not try to load dfa's files anymore. |
| 2764 | - load_dfa() adapted to enable wired dfas |
| 2765 | - wired dfas |
| 2766 | - new macro gg_assert |
| 2767 | - change_dragon_status() replaced by change_matcher_status() |
| 2768 | - minor cleanup |
| 2769 | - atari_atari_try_combination turns down verbose |
| 2770 | - hyphenation of some command line options |
| 2771 | - project files *.dsp and *.dsw revised |
| 2772 | - color support revised |
| 2773 | - doc revision |
| 2774 | |
| 2775 | 2.7.245 released July 5, 2001 |
| 2776 | |
| 2777 | - aftermath code revised |
| 2778 | - new options --allow-suicide, --play-out-aftermath, --capture-all-dead |
| 2779 | - unused constant MAX_TRY removed from genmove.c |
| 2780 | - option --noinhibit removed |
| 2781 | - new function and autohelper max_eye_value() |
| 2782 | - new global doing_scoring affecting valuations while scoring |
| 2783 | - bugfix in valuation of attack_either and defend_both moves |
| 2784 | - neither black nor white used in colored displays |
| 2785 | - new gtp commands final_status, final_status_list, and protocol_version |
| 2786 | - gtp_playblack and gtp_playwhite revised |
| 2787 | - warning eliminated in debugboard/gui.c |
| 2788 | - fuseki9.db regenerated from a bigger set of games |
| 2789 | - new regression tests and game records |
| 2790 | - regressions/niki.tst included (omitted by mistake from 2.7.244) |
| 2791 | - new autohelper macro effective_size |
| 2792 | - copyright notice added to twogtp |
| 2793 | - depth values increased in owl_substantial |
| 2794 | - followup contribution cap lowered to tot_value |
| 2795 | - tuning |
| 2796 | - owl tuning |
| 2797 | - hyphens replace underscores in command line options |
| 2798 | - doc revision |
| 2799 | |
| 2800 | 2.7.244 released July 1, 2001 |
| 2801 | |
| 2802 | - followup values are calculated more carefully |
| 2803 | - attacks on uncertainly DEAD dragons are now called uncertain defense |
| 2804 | - confirm_safety less verbose |
| 2805 | - demotion of many fuseki patterns |
| 2806 | - tuning |
| 2807 | - owl tuning |
| 2808 | - reduction of j and t classes |
| 2809 | - new function atari_atari_try_combination and autohelper macros |
| 2810 | - TRACE_ATARI_ATARI replaced with DEBUG_ATARI_ATARI |
| 2811 | - Use double instead of timeval structs for clock time values |
| 2812 | - Removed a lot of heavy timeval functions from clock.c |
| 2813 | - new function clock_time_graph() for time/move/level stats |
| 2814 | - added more traces to clock functions |
| 2815 | - pushbutton does not complain when no initialisation is done |
| 2816 | - removed a lot of non used memory check in mkpat: |
| 2817 | - mkpat never rejects a pattern but complains if it makes the dfa big |
| 2818 | - the -d and -D option of mkpat do not require arguments |
| 2819 | - -m option is now alway used in Makefiles to save memory on owl pats |
| 2820 | - -r option eradicated from mkpat. |
| 2821 | - ignore trailing white space in input to mkeyes.c |
| 2822 | - remove @SET_MAKE@ from Makefile.am. |
| 2823 | - remove config.guess en config.sub from distribution |
| 2824 | - revision of coloring part of configure.in |
| 2825 | - play_ascii correctly marks the last stone played while GNU Go thinks |
| 2826 | - doc revision |
| 2827 | - new test nikki.tst |
| 2828 | |
| 2829 | 2.7.243 released June 22, 2001 |
| 2830 | |
| 2831 | - dragon.owl_status_certain split to owl_attack_certain, owl_defend_certain |
| 2832 | - new_estimate_score is run every move if level >= 8 |
| 2833 | - if safely ahead, uncertain defensive moves are added |
| 2834 | - revision of certain connection values |
| 2835 | - WEAK safety value reduced |
| 2836 | - doc/gtp.texi revised |
| 2837 | - aftermath code revised |
| 2838 | - warnings eliminated in clock.c |
| 2839 | - on board assertions in same_dragon() |
| 2840 | - liberty filling code revised |
| 2841 | - value of empty corners reduced in fuseki.c |
| 2842 | - tweek in influence_callback() |
| 2843 | - more careful valuation of ko threats in value_move_reasons() |
| 2844 | - confirm_safety() call in review_move_reasons() avoids bad ko threats |
| 2845 | - more careful detection of disturbing moves in the persistent owl cache |
| 2846 | - new function owl_confirm_safety() |
| 2847 | - new function atari_atari_confirm_safety() |
| 2848 | - confirm_safety() and double_atari() revised |
| 2849 | - gtp_final_score() revised |
| 2850 | - new gtp commands fixed_handicap, level, name, and version |
| 2851 | - code cleanup |
| 2852 | - tuning |
| 2853 | - owl tuning |
| 2854 | - eye tuning |
| 2855 | - new helper backfill_helper() and autohelper function with same name |
| 2856 | - new function interface/twogtp |
| 2857 | |
| 2858 | 2.7.242 released June 19, 2001 |
| 2859 | |
| 2860 | - bonus for uncertain defense/attacks reduced |
| 2861 | - bugfix: defense threat move reasons not generated for illegal moves |
| 2862 | - tuning |
| 2863 | - owl tuning |
| 2864 | - more careful to get dragon.owl_status_certain right |
| 2865 | - dragon.owl_status_certain can affect dragon.safety |
| 2866 | - corrections to -m option |
| 2867 | - bugfix: OWL_DEFENSE_THREAT was reported incorrectly |
| 2868 | - adjective ``reliable'' disassociated from semeai() |
| 2869 | - bugfix in decidedragon: report uncertainty correctly |
| 2870 | - revision of gtp_report_uncertainty |
| 2871 | - ignore trailing whitespace in patterns |
| 2872 | - add prototype in dfa.h for print_c_dfa |
| 2873 | - some sgf files standardized |
| 2874 | |
| 2875 | 2.7.241 released June 12, 2001 |
| 2876 | |
| 2877 | - owl_attack and owl_defend return a certainty value |
| 2878 | - new field dragon.owl_status certain |
| 2879 | - new UNCERTAIN_OWL_ATTACK and UNCERTAIN_OWL_DEFEND move reasons |
| 2880 | - revisions and corrections to some gtp functions |
| 2881 | - tuning |
| 2882 | - owl tuning |
| 2883 | - reduced value of j patterns by one point |
| 2884 | - merged new_matchpat.c into matchpat.c |
| 2885 | - when no dfa file is found, use standard do_matchpat() |
| 2886 | - fixed a reference to nonexistent merged_board[][]. |
| 2887 | - updated dfa matcher to merged_val optimization. |
| 2888 | - removed check_pattern() function. |
| 2889 | - dfa board preparation moved to dfa_match_init() |
| 2890 | - new constant DFA_MAX_MATCHED |
| 2891 | - assertion to check possible DFA_MAX_MATCHED overflows. |
| 2892 | - added --clock,--byo_time and --byo_period in --help listing. |
| 2893 | - new function print_c_dfa() in dfa.c |
| 2894 | - new option -D <memory> in mkpat.c puts the dfa into the binary |
| 2895 | - doc revision |
| 2896 | - new tests and regressions |
| 2897 | - corrections to old tests and regressions |
| 2898 | |
| 2899 | 2.7.240 released June 12, 2001 |
| 2900 | |
| 2901 | - new autohelper function macro owl_threatens |
| 2902 | - CAN_THREATEN_ATTACK and CAN_THREATEN_DEFENSE renumbered |
| 2903 | - status_to_string revised |
| 2904 | - gtp declarations sorted alphabetically |
| 2905 | - new gtp command "help" lists gtp commands |
| 2906 | - gtp command dragon_data revised |
| 2907 | - show_dragon revised |
| 2908 | - new function safety_to_string |
| 2909 | - tuning |
| 2910 | - owl tuning |
| 2911 | - game regression/games/pending ssstator.sgf added |
| 2912 | - last two moves cached in global last_moves_i, last_moves_j array |
| 2913 | - bugfix: sometimes owl_threat_status was wrongly UNCHECKED |
| 2914 | - when reading a file even passes are given to gnugo_play_move |
| 2915 | - OWL_PREVENT_THREAT reason valued more if opponent adds to a dead dragon |
| 2916 | - new vital owl attack pattern VA17 |
| 2917 | - change ko_i and ko_j to board_ko_i and board_ko_j in new_matchpat.c |
| 2918 | - bugfixes in captured_territory() from score.c |
| 2919 | - new game records and regression tests |
| 2920 | - aftermath code revised |
| 2921 | - pure_threat_value increased from 0.0 to 0.4 in genmove() |
| 2922 | - new flag worthwhile_threat in the move[][] array used in move_reasons.c |
| 2923 | - new function add_worthwhile_threat_move() in move_reasons.c |
| 2924 | - new pattern classification W for worthwhile threats |
| 2925 | - bugfix in owl_does_defend() |
| 2926 | - active area computation in store_persistent_owl_cache() revised |
| 2927 | - bugfix in atari_atari code |
| 2928 | - print_regions() in score.c reimplemented |
| 2929 | - new game records and regression tests |
| 2930 | - doc revision |
| 2931 | |
| 2932 | 2.7.239 released June 8, 2001 |
| 2933 | |
| 2934 | - use gg_gettimeofday routines in stead of gettimeofday |
| 2935 | - make autoconf 2.50 script detect mingw32 |
| 2936 | - include config.h in gnugo.h |
| 2937 | - new file score.c |
| 2938 | - new function new_estimate_score() |
| 2939 | - new gtp function gtp_new_score |
| 2940 | - fixed --score last and --score [movenum] |
| 2941 | - aftermath code revisions |
| 2942 | - new function same_string() in board.c |
| 2943 | - global variable threats_enabled renamed disable_threat_computation |
| 2944 | - new global variable disable_endgame_patterns |
| 2945 | - new function owl_hotspots() and reading_hotspots() |
| 2946 | - revision of induce_secondary_move_reasons() |
| 2947 | - connect_strings bonus revised |
| 2948 | - new functions edge_clamp() and edge_block() in reading.c |
| 2949 | - performance improvement in atari_atari() and do_atari_atari() |
| 2950 | - improved traces from the atari_atari functions |
| 2951 | - minor tweaking of move ordering parameters |
| 2952 | - performance improvement in superstring_add_string() in utils.c |
| 2953 | - tuning |
| 2954 | - owl tuning |
| 2955 | - new regression suites blunder.tst and newscore.tst |
| 2956 | - new and revised regression tests |
| 2957 | - new and revised game records |
| 2958 | - missing parameters supplied to is_illegal_ko_capture in value_moves |
| 2959 | - bugfix in fuseki |
| 2960 | - incorrectly dimensioned arrays fixed in gtp_all_legal |
| 2961 | - is_pass() moved to board.c |
| 2962 | - A number of FIXMEs addressed |
| 2963 | - minor cleanup |
| 2964 | |
| 2965 | 2.7.238 released May 28, 2001 |
| 2966 | |
| 2967 | - aftermath_genmove() revised |
| 2968 | - new global threats_enabled to disable computing worm and dragon threats |
| 2969 | - definition of WIN, KO_A, KO_B, LOSE, and CUT only in gnugo.h |
| 2970 | - minor optimizations in filllib.c and owl.c |
| 2971 | - better debug support for persistent owl cache |
| 2972 | - move order tuning in reading.c |
| 2973 | - neighbors of invincible worms excluded from active area in persistent cache |
| 2974 | - owl tuning |
| 2975 | - new game records and regression tests |
| 2976 | - new option --autolevel (not activated by default). |
| 2977 | - revision of clock.c and clock.h |
| 2978 | - broken return codes corrected |
| 2979 | - new gtp command worm_cutstone |
| 2980 | - doc revision |
| 2981 | |
| 2982 | 2.7.237 released May 27, 2001 |
| 2983 | |
| 2984 | - revised reading and owl return codes |
| 2985 | - incremental_board.c removed from engine/Makefile.am |
| 2986 | - parameters to chainlinks() and chainlinks2() revised |
| 2987 | - incremental_order_moves() counts stones in atari more accurately |
| 2988 | - superstring functions reimplemented |
| 2989 | - new function find_superstring_stones_and_liberties |
| 2990 | - optimization in owl_does_defend() |
| 2991 | - detection of insubstantial strings in owl_determine_life made more efficient |
| 2992 | - persistent reading cache size doubled from 50 to 100 entries |
| 2993 | - revisions in defend2() and defend3() |
| 2994 | - order_moves() revised |
| 2995 | - bugfix in break_through_helper |
| 2996 | - order_moves doesn't sort singleton lists |
| 2997 | - pure threat value in do_genmove set to zero |
| 2998 | - more stats with -b option |
| 2999 | - globals your_last_move_*, my_last_move_*, no_old_data_exists removed |
| 3000 | - superceded dragon data caching scheme taken down |
| 3001 | - new tests and regressions |
| 3002 | - new gtp command worm_cutstone |
| 3003 | - new testsuite cutstone.tst |
| 3004 | - new game record wormflaw.sgf |
| 3005 | - minor tuning |
| 3006 | - doc revisions |
| 3007 | - some FIXMEs addressed |
| 3008 | - debugboard now shows all worm and most dragon data |
| 3009 | - upgrade configure.in to work with autoconf version >= 2.50 |
| 3010 | - new files config.guess and config.sub |
| 3011 | |
| 3012 | 2.7.236 released May 17, 2001 |
| 3013 | |
| 3014 | - shadowing and persistent caching of reading functions implemented |
| 3015 | - new function get_move_from_stack() |
| 3016 | - new functions draw_reading_shadow() and purge_persistent_reading_cache() |
| 3017 | - new function attack_and_defend() |
| 3018 | - new tests and regressions |
| 3019 | - fill_liberty() looks for ko back captures |
| 3020 | - minor tuning |
| 3021 | - bugfix in double_atari |
| 3022 | - bugfix in komaster_trymove: i - j confusion |
| 3023 | - new functions: gnugo_play_sgfnode and gnugo_play_sgftree |
| 3024 | - new functions: gameinfo_load_sgfheader and gameinfo_play_sgftree |
| 3025 | - renamed load_sgf_header, play_sgf_tree, sgfPlayNode and sgfPlayTree |
| 3026 | - sgfutils.c removed |
| 3027 | - removed incremental_board.c and sgfutils.c from engine/Makefile.am |
| 3028 | - renamed neighbor_of to neighbor_of_string |
| 3029 | - renamed liberty_of to liberty_of_string |
| 3030 | - minor cleanup of gnugo.h |
| 3031 | - doc revision |
| 3032 | - print more debugging info in worm.c |
| 3033 | - rewrite loop in worm.c with deltai and deltaj arrays |
| 3034 | - revision of play_test |
| 3035 | |
| 3036 | 2.7.235 released May 5, 2001 |
| 3037 | |
| 3038 | - aftermath code revised |
| 3039 | - owl reuse is off by default |
| 3040 | - function komaster_trymove() replaces move_allowed() |
| 3041 | - optimization in is_self_atari() |
| 3042 | - new function owl_big_eyespace() and corresponding autohelper function |
| 3043 | - new field unconditional_status in struct worm_data |
| 3044 | - new static function edge_closing backfill in reading.c |
| 3045 | - move ordering scores available outside order_moves() |
| 3046 | - attack4() rewritten |
| 3047 | - propose_edge_moves() revised |
| 3048 | - relative_break_chain() obsoleted and removed |
| 3049 | - move ordering scores written in sgf output file with variations |
| 3050 | - sgf output file records komaster |
| 3051 | - changed parameters to unconditional_life() |
| 3052 | - unconditional_life() now finds unconditional dead stones and territory |
| 3053 | - reinforce_helper() revised |
| 3054 | - tuning, owl tuning |
| 3055 | - tune_move_ordering() can write c code for inclusion |
| 3056 | - new and revised regression tests and game records |
| 3057 | - new global variable shadow[][] |
| 3058 | |
| 3059 | 2.7.234 released May 4, 2001 |
| 3060 | |
| 3061 | - komaster implementation corrected in owl.c |
| 3062 | - sgf traces now show komaster in -o output |
| 3063 | - bugfix: --no_owl_reuse was broke |
| 3064 | - bugfix in sgfutils.c which could crash on some files with IL property |
| 3065 | - IL property moved to the end of files reading16.sgf and reading20.sgf |
| 3066 | - variable length value for SGFproperty |
| 3067 | - numeric keypad can be used for cursor movement in debugboard |
| 3068 | - debugboard needs slightly smaller screen |
| 3069 | - debugboard shows data for both black and white eyes |
| 3070 | - new movement buttons for debugboard: ctrl-a and ctrl-e |
| 3071 | |
| 3072 | 2.7.233 released April 29, 2001 |
| 3073 | |
| 3074 | - revision of the komaster scheme |
| 3075 | - persistent owl caching |
| 3076 | - owl_attack is more cautious if an attack can produce a ko |
| 3077 | - parameters in acconfig.h sorted in order recommended by comments in file |
| 3078 | - config.vcin is once again brought in sync with the current config.h |
| 3079 | - bugfix in eyes.db |
| 3080 | - SGF IL property can set (board_ko_i, board_ko_j) |
| 3081 | - owl test 27 corrected |
| 3082 | - new tests manyfaces.tst |
| 3083 | - new directory regression/games/seki_exotics |
| 3084 | - doc revision |
| 3085 | |
| 3086 | 2.7.232 released April 25, 2001 |
| 3087 | |
| 3088 | - break_chain2_efficient_moves() revised |
| 3089 | - bugfixes in order_moves() |
| 3090 | - new tuning parameter safe_atari_score in order_moves() |
| 3091 | - bugfix in configure.in |
| 3092 | - spelling correction in gnugo.texi |
| 3093 | - same_dragon(), report_dragon() and ascii_report_dragon() moved to dragon.c |
| 3094 | - speed improvements in filllib.c |
| 3095 | - corrected size of defend_not_adjacent_lib_score[] array in reading.c |
| 3096 | - bugfix and minor reorganization in review_move_reasons() |
| 3097 | - remove incremental_board.[ch] from engine/Makefile.am |
| 3098 | - hashtable_unlink_closed_results() can now remove read results selectively |
| 3099 | - remove incremental_board.[ch] from engine/Makefile.am |
| 3100 | - hashtable_unlink_closed_results() can now remove read results selectively |
| 3101 | - attack tuning |
| 3102 | - new GTP command: echo |
| 3103 | - attack tuning |
| 3104 | - tuning |
| 3105 | - endgame performance tuning |
| 3106 | - minor cleanup |
| 3107 | - commented some tests in NICKLAS test suite |
| 3108 | - bugfix in nicklas2.tst |
| 3109 | - SGF PL property handling in play_ascii.c corrected |
| 3110 | - revised order of inclusion of header files in interface/main.c |
| 3111 | - Chinese and Japanese rules were switched |
| 3112 | - new files "clock.h" and "clock.c" |
| 3113 | - new global struct "clk" handeling the timers. |
| 3114 | - new global variable "clock_enabled" (set to 1 by --clock XXX). |
| 3115 | - new functions clock_isOver(), clock_isByoYomi(), clock_getTimeLeft() |
| 3116 | - new options --clock, --byo_time and --byo_period |
| 3117 | - compute the clock delta error |
| 3118 | - cleanup clock initialisation in main.c |
| 3119 | - new games and regressions in arb.tst |
| 3120 | - new games mfgg*.sgf and nightmare.sgf in regression/games/pending |
| 3121 | - macros abs, max and min renamed gg_abs, gg_max and gg_min |
| 3122 | |
| 3123 | 2.7.231 released April 20, 2001 |
| 3124 | |
| 3125 | - we do not reuse data unless 2 last moves are on the board |
| 3126 | - last moves are set by play_solo |
| 3127 | - extra level inserted between levels 6 and 7 |
| 3128 | - nominal depth variables by mandated depth variables |
| 3129 | - revised handling of depth variables set at command line |
| 3130 | - new function set_depth_values() |
| 3131 | - get_location renamed string_to_location and moved |
| 3132 | - review_move_reasons tries harder not to return illegal moves |
| 3133 | - same_dragon() moved to board.c |
| 3134 | - redundant lunch timing removed from dragon.c |
| 3135 | - average move time computed by --showtime |
| 3136 | - atari_atari uses restricted_defend1 to find second move |
| 3137 | - tuning |
| 3138 | - aftermath code revised |
| 3139 | - new function aftermath_compute_score() |
| 3140 | - new debug flag DEBUG_AFTERMATH |
| 3141 | - new functions store_position(), restore_position() in engine/interface.c |
| 3142 | - who_wins() moved from moyo.c to utils.c and revised |
| 3143 | - superstring_breakchain() now considers ko |
| 3144 | - score computations consistently use positive values for white wins |
| 3145 | - gtp_loadsgf sets no_old_data_exists=1 |
| 3146 | - new gtp command final_score() |
| 3147 | - scoring option --score aftermath now works properly |
| 3148 | - new regression file score.tst |
| 3149 | - add configure test for variadic #define |
| 3150 | - fix bug in configure test for __FUNCTION__ |
| 3151 | - remove __ prefix from function prototypes in gg-getopt.h |
| 3152 | - new option --chinese_rules |
| 3153 | - new configure option --enable-chinese-rules |
| 3154 | - new functions ascii_report_dragon and report_dragon for use in gdb |
| 3155 | - new game records and test cases |
| 3156 | - minor doc revision |
| 3157 | |
| 3158 | 2.7.230 released April 13, 2001 |
| 3159 | |
| 3160 | - default default level is 8 |
| 3161 | - default level can be set at configure or run time |
| 3162 | - default cache can be set to arbitrary value at configure time |
| 3163 | - revised ko handling |
| 3164 | - kothreat_needed no longer needed |
| 3165 | - aftermath uses genmove_conservative |
| 3166 | - tuning |
| 3167 | - owl tuning |
| 3168 | - influence tuning |
| 3169 | - systematic use of faster ON_BOARD macro |
| 3170 | - new function is_illegal_ko_capture() |
| 3171 | - does_capture_something() made public |
| 3172 | - new function genmove_conservative |
| 3173 | - improved --showtime information |
| 3174 | - minor revision of confirm_safety |
| 3175 | - print_top_moves() split out from review_move_reasons() |
| 3176 | - configure tests for keypad |
| 3177 | - malloc.h inclusions taken down |
| 3178 | - help string revised |
| 3179 | - new tests and regressions |
| 3180 | |
| 3181 | 2.7.229 released April 9, 2001 |
| 3182 | |
| 3183 | - caching of owl data implemented and reuse on later moves |
| 3184 | - showtime option shows information about owl reading time |
| 3185 | - new global variables my_last_move_i, my_last_move_j, no_old_data_exists |
| 3186 | - last_move_i, last_move_j renamed your_last_move_i, your_last_move_j |
| 3187 | - incremental_order_moves() revised |
| 3188 | - order_moves() revised |
| 3189 | - attack2() revised |
| 3190 | - bugfix in linear_eyes() |
| 3191 | - do_owl_attack() and do_owl_defend() revised and simplified |
| 3192 | - more robust topological eye analysis in owl_determine_life() |
| 3193 | - vital moves for multiple eyespaces recognized in owl_determine_life() |
| 3194 | - sniff_lunch() revised |
| 3195 | - owl_eyespace() ignores eyespaces which do not yield a single eye |
| 3196 | - joseki.c revised |
| 3197 | - tuning, owl tuning, eye tuning |
| 3198 | - new takamoku joseki |
| 3199 | - new game record and test cases |
| 3200 | - test results updated |
| 3201 | |
| 3202 | 2.7.228 released March 30, 2001 |
| 3203 | |
| 3204 | - parameters kom_i and kom_j complement komaster field in many functions |
| 3205 | - routine_i_j_stackp renamed compressed_data |
| 3206 | - komaster added to cached compressed_data field |
| 3207 | - parameters ko_i and ko_j renamed board_ko_i and board_ko_j |
| 3208 | - GRAY is a synonym for GRAY_BORDER |
| 3209 | - incremental_board.* removed |
| 3210 | - incremental board functionality merged into board.c |
| 3211 | - revised komaster scheme in reading.c and owl.c |
| 3212 | - trick to avoid sorting corners in matchpat.c |
| 3213 | - mkpat -m now works in both dfa and non-dfa mode |
| 3214 | - compile_for_match() no longer calculates merged values |
| 3215 | - revised debug messages in influence.c and sgfnode.c |
| 3216 | - tuning |
| 3217 | - owl tuning |
| 3218 | - influence tuning |
| 3219 | - new game records and regression tests |
| 3220 | - test results updated |
| 3221 | |
| 3222 | 2.7.227 released March 23, 2001 |
| 3223 | |
| 3224 | - new file engine/aftermath.c |
| 3225 | - temporary option "--score aftermath" |
| 3226 | - "connect strings" bonus in move_reasons.c revised |
| 3227 | - bugfix in value_move_reasons |
| 3228 | - all vital owl attack pattern matches counted |
| 3229 | - bugfix in owl_determine_life(), a no longer valid shortcut disabled |
| 3230 | - dead code removed from owl_reasons() |
| 3231 | - break_chain2() revised |
| 3232 | - various FIXMEs addressed |
| 3233 | - try kos in play_break_through_n(), play_attack_defend_n(), |
| 3234 | and play_attack_defend2_n() |
| 3235 | - bugfix in atari_atari |
| 3236 | - worm threats on second order liberties. |
| 3237 | - new transform.c |
| 3238 | - endgame tuning |
| 3239 | - tuning |
| 3240 | - eye tuning |
| 3241 | - owl tuning |
| 3242 | - new regression test cases and game records |
| 3243 | - more copyright messages updated |
| 3244 | - minor doc revision |
| 3245 | |
| 3246 | 2.7.226 released March 21, 2001 |
| 3247 | |
| 3248 | - bugfix in atari_atari |
| 3249 | - minor speedups in matchpat.c |
| 3250 | - looks for tactical ko theats |
| 3251 | - long USAGE string split in interface/main.c |
| 3252 | - removed main.c.zheng and interface.dsp from distribution |
| 3253 | - tuning |
| 3254 | - owl tuning |
| 3255 | - updated copyright messages |
| 3256 | |
| 3257 | 2.7.225 released March 15, 2001 |
| 3258 | |
| 3259 | - new move reasons: ATTACK_THREAT_MOVE and DEFEND_THREAT_MOVE |
| 3260 | - new functions compute_effective_worm_sizes() and |
| 3261 | find_worm_attacks_and_defenses() split off from make_worms() |
| 3262 | - new function find_worm_threats(), called from make_worms() |
| 3263 | - redundant NULLs removed from attack.db, barriers.db, conn.db, |
| 3264 | defense.db, endgame.db, fuseki19.db, fuseki9.db, and patterns2.db |
| 3265 | - extract_fuseki.c revised not to generate unnecessary NULL string |
| 3266 | - owl tuning |
| 3267 | - new and revised regression tests and game records |
| 3268 | |
| 3269 | 2.7.224 released March 8, 2001 |
| 3270 | |
| 3271 | - komaster status stored in reading cache |
| 3272 | - several functions in cache.c made static |
| 3273 | - new function incremental_order_moves() to support order_moves() |
| 3274 | - cleanup in topological_eye() and evaluate_diagonal_intersection() |
| 3275 | - improved traces in owl.c |
| 3276 | - semeai detecting code in owl_reasons() taken down |
| 3277 | - tuning |
| 3278 | - eye tuning |
| 3279 | - owl tuning |
| 3280 | - endgame tuning |
| 3281 | - new game record |
| 3282 | - new and revised regression test cases |
| 3283 | - endgame fix in move_reason.c |
| 3284 | - cleanup in helpers.c |
| 3285 | - tests for both sides in endgame.tst |
| 3286 | - estimate_score only if DEBUG_SCORING |
| 3287 | - revision of rotated tests and arb.tst |
| 3288 | - vc project files revised |
| 3289 | - Yin Zheng and Don Wagner added to acknowledgements |
| 3290 | |
| 3291 | 2.7.223 released February 28, 2001 |
| 3292 | |
| 3293 | - bugfix in play_move() |
| 3294 | - make_domains() distinguishes strictly between owl calls and others |
| 3295 | - bugfix in examine_position() |
| 3296 | - inessential worms excluded in one time in estimate_strategical value |
| 3297 | - false_margin() revised |
| 3298 | - inessential strings added in the owl code |
| 3299 | - MAXPATNO incresead in mkeyes.c |
| 3300 | - tuning |
| 3301 | - eye tuning |
| 3302 | - owl tuning |
| 3303 | - name collisions resolved in pattern databases |
| 3304 | - regression/READING revised |
| 3305 | - new and revised regression test cases |
| 3306 | - bugfix in regressions/Makefile* |
| 3307 | - revised nicklas* regressions |
| 3308 | |
| 3309 | 2.7.222 released February 26, 2001 |
| 3310 | |
| 3311 | - dead code removed from dfa.c, dfa.h, mkpat.c |
| 3312 | - o_somewhere and x_somewhere only check matcher_status if stackp==0 |
| 3313 | - bugfix in atari_atari |
| 3314 | - bugfix in analyze_semeai |
| 3315 | - dragon.owl_status, status and matcher status initialized |
| 3316 | - tactically critical nakade stones reclassified as inessential |
| 3317 | - influence code revised |
| 3318 | - no strategical attack value for strongly alive dragons |
| 3319 | - hardwired values for J, j, and t patterns scaled with the board size |
| 3320 | - maximum values for j and t patterns disabled for boards < 17x17 |
| 3321 | - tuning |
| 3322 | - influence tuning |
| 3323 | - owl tuning |
| 3324 | - endgame tuning |
| 3325 | - bugfix in mkpat.c, patterns of class c were unintentionally disabled |
| 3326 | - new game records |
| 3327 | - new and revised regression test cases |
| 3328 | - nonstandard SGF records and missing handicap stones fixed |
| 3329 | - Mathias Wagner thanked |
| 3330 | |
| 3331 | 2.7.221 released February 19, 2001 |
| 3332 | |
| 3333 | - restricted_attack2 and restricted_defend1 remember to set komaster |
| 3334 | - matcher_status only initialized to CRITICAL if owl code says so |
| 3335 | - bugfix in matchpat(), static variable properly reset |
| 3336 | - new debug messages in semeai.c |
| 3337 | - tuning |
| 3338 | - rotated tests updated |
| 3339 | - test results updated |
| 3340 | - new test reading 141 |
| 3341 | |
| 3342 | 2.7.220 released February 17, 2001 |
| 3343 | |
| 3344 | - TODO revised |
| 3345 | - experimental influence based score estimation |
| 3346 | - scoring option in ascii interface uses the influence score estimate |
| 3347 | - test for tactically critical O worms restored from 2.7.218 |
| 3348 | - atari_atari tries harder to find refutations |
| 3349 | - influence B patterns do not accept dead stones |
| 3350 | - revised connection values |
| 3351 | - bonus for moves which both owl defend/attack and connect/cut something |
| 3352 | - new autohelper for owl patterns; owl_eyespace() |
| 3353 | - defend_both() tries harder to find attackable splitting strings |
| 3354 | - class_mask[CRITICAL][color]=CLASS_O in new_matchpat |
| 3355 | - open dfa files in binary mode on MS-DOS and Windows |
| 3356 | - fix dfa error messages. |
| 3357 | - sgf code now understands PL[1] and PL[2] |
| 3358 | - new pattern class c, weak connections |
| 3359 | - tuning |
| 3360 | - owl tuning |
| 3361 | - influence tuning |
| 3362 | - eye tuning |
| 3363 | - new game records |
| 3364 | - new and revised regression tests |
| 3365 | - test results updated |
| 3366 | |
| 3367 | 2.7.219 released February 13, 2001 |
| 3368 | |
| 3369 | - redundant test for tactically critical O worms taken down in shapes_callback |
| 3370 | - fix bug in glib configuring |
| 3371 | - link dfa.c instead of include it. |
| 3372 | - extra parens in influence |
| 3373 | - add extra brackets to code1 macro in accumulate_influence |
| 3374 | - tuning |
| 3375 | - bugfix in mkpat.c: autohelper function halfeye() now works |
| 3376 | - gnits automake option removed |
| 3377 | - new test ego.sgf |
| 3378 | |
| 3379 | 2.7.218 released February 7, 2001 |
| 3380 | |
| 3381 | - O patterns reject CRITICAL friendly dragons |
| 3382 | - in make_worms() if worm.defend==PASS move not tried |
| 3383 | - in attack_callback() ignore strings with 5 liberties |
| 3384 | - default memory increased to 32Mb |
| 3385 | - configure supports 48MB and 64MB models |
| 3386 | - minor tuning |
| 3387 | - doc revision |
| 3388 | - vsnprintf error gives warning, not fatal error |
| 3389 | - duplicate owl test 186 renumbered |
| 3390 | |
| 3391 | 2.7.217 released February 1, 2001 |
| 3392 | |
| 3393 | - worm.c: only add defense move if worm.defend != PASS |
| 3394 | - find_defense returns PASS if string is alive as stands |
| 3395 | - defend1 pattern gets constraint |
| 3396 | - caching scheme revised so that the cache can be cleared on the fly |
| 3397 | - new debug flag DEBUG_READING_PERFORMANCE |
| 3398 | - only make requested dfa files (currently owl*dfa) |
| 3399 | - tuning |
| 3400 | - owl tuning |
| 3401 | - new game record dniwog.sgf |
| 3402 | |
| 3403 | 2.7.216 released January 29, 2001 |
| 3404 | |
| 3405 | - missing files generate_owl_dfa.sh and matchtest.sh in minipat2 restored |
| 3406 | - local_owl_node_counter initialized in owl_substantial |
| 3407 | |
| 3408 | 2.7.215 released January 28, 2001 |
| 3409 | |
| 3410 | - bugfix in analyze_semeai() |
| 3411 | - bugfix in find_attack_patterns() |
| 3412 | - new gtp command combination_attack |
| 3413 | - defend_against_atari_helper() revised |
| 3414 | - new regression test suite atari_atari.tst |
| 3415 | - STRATEGY revised |
| 3416 | - new regression tests and game records |
| 3417 | - reenable board printing on core dumps |
| 3418 | - bugfix in attack_callback: attack patterns are matched again |
| 3419 | - integrate rolled and unrolled versions of accumulate_influence |
| 3420 | - move invariant code out of loop in accumulate_influence |
| 3421 | - put patterns/minipat2 under automake control |
| 3422 | - include unistd.h in patterns/dfa.c for sleep function prototype |
| 3423 | - add pkgdata_DATA macro to patterns/Makefile.am |
| 3424 | - add macro DFAFLAGS |
| 3425 | - bugfix in dfa generation: borders constraints now always checked. |
| 3426 | - modification in patterns.h to avoid a warning: struct dfa *pdfa |
| 3427 | - add experimental check_pattern_light() function only checking |
| 3428 | - DEBUG_OWL_PERFORMANCE reports CPU times |
| 3429 | - vgprintf uses %.2f for %f |
| 3430 | - tuning |
| 3431 | - influence tuning |
| 3432 | - owl tuning |
| 3433 | - attack tuning |
| 3434 | - minor cleaning |
| 3435 | |
| 3436 | 2.7.214 released January 21, 2001 |
| 3437 | |
| 3438 | - combo attack and defend_both/attack_either can't both add to move value |
| 3439 | - bugfix in atari_atari() |
| 3440 | - eye tuning |
| 3441 | - owl tuning |
| 3442 | - READING revised |
| 3443 | - new and revised regression tests |
| 3444 | - test results updated (except nicklas*.tst) |
| 3445 | - doc revision |
| 3446 | |
| 3447 | 2.7.213 released January 20, 2001 |
| 3448 | |
| 3449 | - bigger moyo measure allowed for big dragons before owl code is disabled |
| 3450 | - compute_eyes_pessimistic() no longer consults the life code |
| 3451 | - cleanup of mkeyes.c |
| 3452 | - now possible to specify edge and corner vertices in eyes.db |
| 3453 | - mkeyes.c and recognize_eye() |
| 3454 | - owl_substantial() revised |
| 3455 | - bugfix in special_rescue3() |
| 3456 | - loop unrolled in order_moves |
| 3457 | - revision of is_hoshi_point |
| 3458 | - bugfix in analyze_semeai(): don't try PASS moves |
| 3459 | - shape value in j or t pattern now modifies hard-wired value |
| 3460 | - atari_atari makes atari even if a chain is already in atari |
| 3461 | - environment variable $GNUGO_PATH used to load dfa files |
| 3462 | - fixup a Sun portability bug with enable-dfa |
| 3463 | - fixup for owl_vital_apats.db with enable-dfa |
| 3464 | - tuning |
| 3465 | - connection tuning |
| 3466 | - eye tuning |
| 3467 | - owl tuning |
| 3468 | - READING revised |
| 3469 | - new regression tests and game records |
| 3470 | |
| 3471 | 2.7.212 released January 18, 2001 |
| 3472 | |
| 3473 | - assertion added in is_ko() |
| 3474 | - revision of compute_eyes_pessimistic() |
| 3475 | - vital_apats consulted also by do_owl_defend |
| 3476 | - vital_apats only consulted if level >= 9 |
| 3477 | - followup values reduced in two helpers |
| 3478 | - eye tuning |
| 3479 | - owl tuning |
| 3480 | - two new helpers finish_ko_helper() and squeeze_ko_helper() |
| 3481 | - portability patch for dfa in patterns.h |
| 3482 | - portability patch for cygwin in mkpat.c |
| 3483 | - test revisions |
| 3484 | |
| 3485 | 2.7.211 released January 16, 2001 |
| 3486 | |
| 3487 | - new file owl_vital_apats.db |
| 3488 | - vital_apats are consulted by do_owl_attack regardless of genus |
| 3489 | - new static variable match_found in owl.c |
| 3490 | - estimate_territorial_value() limits overvaluation of half point kos |
| 3491 | - changed order of min and max constraints in value_move_reasons() |
| 3492 | - analyze_semeai() revised |
| 3493 | - generic_walk made static in utils.c |
| 3494 | - tuning |
| 3495 | - owl tuning |
| 3496 | - eye tuning |
| 3497 | - READING and STRATEGY revised |
| 3498 | - new and revised regression test cases |
| 3499 | - new game records |
| 3500 | - rotated tests corrected |
| 3501 | |
| 3502 | 2.7.210 released January 14, 2001 |
| 3503 | |
| 3504 | - bugfix in reading.c: superstring liberty arrays needed more space |
| 3505 | - bugfix in owl_reasons which could cause a crash |
| 3506 | - bugfix in owl_threaten_attack(): return value was always 0 |
| 3507 | - owl threatened groups are WEAKLY_ALIVE |
| 3508 | - value of connecting WEAK and WEAKLY_ALIVE groups increased |
| 3509 | - owl_threats not evaluated if level <= 7 |
| 3510 | - tactical reading move order tuned |
| 3511 | - tuning |
| 3512 | - owl tuning |
| 3513 | - tuning of hoshi.sgf and sansan.sgf |
| 3514 | - new regression suites endgame.tst, viking.tst and strategy28.sgf |
| 3515 | - new tests in owl.tst and strategy2.tst |
| 3516 | - new regression game records |
| 3517 | - revision of rotated test suites |
| 3518 | |
| 3519 | 2.7.209 released January 10, 2001 |
| 3520 | |
| 3521 | - new parameter superstring_depth (default 7) |
| 3522 | - minor tuning of hoshi.sgf |
| 3523 | - tuning |
| 3524 | - owl tuning |
| 3525 | - connection tuning |
| 3526 | - renumbering of owl patterns |
| 3527 | - AB property added to handicap games in regression/games |
| 3528 | - one new owl test |
| 3529 | - doc revision |
| 3530 | |
| 3531 | 2.7.208 released January 7, 2001 |
| 3532 | |
| 3533 | - new reading function special_rescue3 |
| 3534 | - break_chain2 and break_chain3 calls removed from defend2 and defend3 |
| 3535 | - call edge reading function from attack2 and attack3 |
| 3536 | - superstring_breakchain depth in defend2 changed to backfill2_depth |
| 3537 | - defend2 and defend3 try playing a liberty of the superstring |
| 3538 | - special_rescue3 called from defend3 |
| 3539 | - break_chain2_moves tests for self atari |
| 3540 | - move ordering adds bonus for saved moves |
| 3541 | - doc revision |
| 3542 | - basic worm building extracted from make_worms. |
| 3543 | - new function: build_worms |
| 3544 | - estimate_territorial_value requires owl reasons with VITAL_EYE_MOVE |
| 3545 | - better reading at the edge |
| 3546 | - some fixes in debugboard |
| 3547 | - use same reading depths in debugboard as in gnugo |
| 3548 | - minor tuning |
| 3549 | |
| 3550 | 2.7.207 released January 4, 2001 |
| 3551 | |
| 3552 | - new function break_chain2_efficient_moves |
| 3553 | - revision of special_rescue() |
| 3554 | - revision of attack2(), attack3(), superstring_breakchain() |
| 3555 | - look harder for neighbors of attack moves in examine_move_safety() |
| 3556 | - compute_eyes_pessimistic tracks margins adjacent to margins |
| 3557 | - owl_find_lunches considers ko captures |
| 3558 | - owl_escape_value checks empty before returning -10 |
| 3559 | - decision to handle tactically moved to semeai_analyzer |
| 3560 | - semeai analyzer adds move reasons instead of moving defense |
| 3561 | - tuning |
| 3562 | - owl tuning |
| 3563 | - influence tuning |
| 3564 | - revision of rotated tests |
| 3565 | |
| 3566 | 2.7.206 released January 3, 2001 |
| 3567 | |
| 3568 | - revision of print_influence and print_numeric_influence |
| 3569 | - value_move_reasons considers moves with min_territory>0 |
| 3570 | - reversed level inequality fixed in review_move_reasons |
| 3571 | - is_legal replaced by safe_move call in semeai_analyzer |
| 3572 | - revision of proper_superstring_chainlinks() and superstring_recurse() |
| 3573 | - new patterns in barriers.db |
| 3574 | - general cleanup |
| 3575 | - tuning of seki patterns |
| 3576 | - comments about regression tests |
| 3577 | - doc revision |
| 3578 | - manpage revision |
| 3579 | - new file gnugo.pod |
| 3580 | |
| 3581 | 2.7.205 released January 1, 2001 |
| 3582 | |
| 3583 | - semeai analyzer looks for owl solution first |
| 3584 | - semeai analyzer not invoked for inessential dragons |
| 3585 | - owl patterns classified |
| 3586 | - bugfix in superstring_breakchain |
| 3587 | - minor tuning |
| 3588 | - new regessions arion.tst |
| 3589 | - revision of rotated tests |
| 3590 | - minor doc revision |
| 3591 | |
| 3592 | 2.7.204 released December 26, 2000 |
| 3593 | |
| 3594 | - superstring technology used in attack2, defend2 |
| 3595 | - new static functions restricted_attack2, in_list in reading.c |
| 3596 | - libi, libj arrays sized 2 (formerly 3) in attack2 |
| 3597 | - minimum standard joseki value raised to 27 |
| 3598 | - hurry replaced by level |
| 3599 | - print_influence takes dragons_known parameter |
| 3600 | - obsolete code removed from optics.c |
| 3601 | - minor tuning |
| 3602 | - doc revision |
| 3603 | - doc/indigo2.sgf removed from distribution |
| 3604 | |
| 3605 | |
| 3606 | 2.7.203 released December 21, 2000 |
| 3607 | |
| 3608 | - owl status is checked also for dragons with high escape potential |
| 3609 | - new safety value WEAKLY_ALIVE for dragons which are owl alive by escape |
| 3610 | - fill_liberty() code revised |
| 3611 | - new function filllib_confirm_safety() |
| 3612 | - new debug flag DEBUG_FILLLIB and new debug traces in filllib.c |
| 3613 | - move valuation slightly revised |
| 3614 | - influence code revisions |
| 3615 | - maximum move values for standard joseki removed in shapes_callback() |
| 3616 | - tuning |
| 3617 | - owl tuning |
| 3618 | - influence tuning |
| 3619 | - new regression test suite filllib.tst |
| 3620 | - new tests and game records |
| 3621 | - doc revision |
| 3622 | - new superstring functions in utils.c |
| 3623 | - find_superstring_recurse() renamed superstring_recurse() and generalized |
| 3624 | - new superstring_breakchain() and restricted_defend1() |
| 3625 | - Separated the SGF library totally from the engine |
| 3626 | - integrated sgf_utils.h into sgftree.h |
| 3627 | - The Gameinfo struct expanded |
| 3628 | - movenum moved to the internals (from gnugo.h to liberty.h) |
| 3629 | - Some FIXMEs addressed |
| 3630 | - General minor cleanup |
| 3631 | |
| 3632 | 2.7.202 released December 17, 2000 |
| 3633 | |
| 3634 | - anisotropic attenuation removed from the influence function |
| 3635 | - attenuation and strength split into black and white in influence.c |
| 3636 | - new semantics for E class patterns in influence_callback() |
| 3637 | - new macro ASSERT_ON_BOARD defined in liberty.h |
| 3638 | - assertions added in optics.c, move_reasons.c, owl.c, and reading.c |
| 3639 | - minor revisions of valuation of defense and connect moves |
| 3640 | - bugfix in linear_eye_space() |
| 3641 | - bugfix in attack1() |
| 3642 | - warnings eliminated in main.c |
| 3643 | - workaround in influence.c for bug in main.c |
| 3644 | - bugfix in patterns/patterns.h |
| 3645 | - bugfix in mkpat for dfa |
| 3646 | - tuning |
| 3647 | - owl tuning |
| 3648 | - default owl_node_limit increased to 600 |
| 3649 | - revisions of golife.tst, ld_owl.tst, and ld_owl_rot.tst |
| 3650 | - doc revisions |
| 3651 | |
| 3652 | 2.7.201 released December 8, 2000 |
| 3653 | |
| 3654 | - interface/interface.c removed from the distribution |
| 3655 | - legal(), suicide() and self_atari() renamed is_legal() etc. |
| 3656 | - New API function: gnugo_is_suicide. |
| 3657 | - interface/interface.c removed |
| 3658 | - playing options quiet is now a global variable |
| 3659 | - A number of FIXMEs addressed |
| 3660 | - bugfix in linear_eye_space |
| 3661 | - minor revision of komoku.sgf and hoshi.sgf |
| 3662 | - minor tuning |
| 3663 | - unnecessary NULLs removed in patterns.db |
| 3664 | - doc revision |
| 3665 | |
| 3666 | 2.7.200 released November 30, 2000 |
| 3667 | |
| 3668 | - serious bugfix in semeai() |
| 3669 | - bugfix in owl.c |
| 3670 | - bugfix in pattern ED58 |
| 3671 | - bugfix in fill_liberty() |
| 3672 | - revision of rotated tests |
| 3673 | - new file regression/games/me.tst and 3 new strategy2 tests |
| 3674 | - test results updated |
| 3675 | |
| 3676 | 2.7.199 released November 29, 2000 |
| 3677 | |
| 3678 | - color support test restored to 2.7.193 condition in configure.in |
| 3679 | - missing doc/api.texi replaced |
| 3680 | - analyze_semeai is not called if an owl_substantial worm is en prise |
| 3681 | - minor tuning |
| 3682 | |
| 3683 | 2.7.198 released November 28, 2000 |
| 3684 | |
| 3685 | - bugfixes in owl.c |
| 3686 | - new patterns in eyes.db |
| 3687 | - tuning |
| 3688 | - owl tuning |
| 3689 | - minor revisions in analyze_semeai |
| 3690 | - revised and new regression tests |
| 3691 | - bugfix in dfa.c: gpout was not cleanly reset before synchronization |
| 3692 | - if DFA_SORT is set in new_matchpat then sort patterns before check_pattern |
| 3693 | - new stat functions update_pattern_stats(), display_pattern_stats(), |
| 3694 | reset_pattern_stat() |
| 3695 | - dfa_add_pattern is now able to add all transformations into the dfa |
| 3696 | - new functions for dfa_add_pattern: permut() and show_pattern_instance() |
| 3697 | - fixed some bugs in matcher.c, and matchtest.sh |
| 3698 | - removed some unused files. |
| 3699 | - option -tm forces the anchor to be in the center and adds all transformations |
| 3700 | - added little_owl.tst |
| 3701 | - test results updated |
| 3702 | |
| 3703 | 2.7.197 released November 27, 2000 |
| 3704 | |
| 3705 | - old code removed from moyo.c |
| 3706 | - sgffile_decidestring() renamed decidestring() etc. |
| 3707 | - owl data structs in owl_attack, etc. made static |
| 3708 | - assertion changed in join_dragons |
| 3709 | - config.h included in interface.c and main.c |
| 3710 | - revisions to owl_analyze_semeai |
| 3711 | - show_dragons() lists worm lunches |
| 3712 | - assertion corrected in join_dragons() |
| 3713 | - new function find_more_owl_attack_and_defense_moves() in move_reasons.c |
| 3714 | - strategically_sound_defense() reimplemented |
| 3715 | - tuning |
| 3716 | - owl tuning |
| 3717 | - new file regression/READING reviewing failed reading tests |
| 3718 | - new tests in reading.tst and ld_owl.tst |
| 3719 | - new game records |
| 3720 | - test results updated |
| 3721 | |
| 3722 | 2.7.196 released November 23, 2000 |
| 3723 | |
| 3724 | - old definition of inessential worms restored |
| 3725 | - minor revision of owl_analyze_semeai |
| 3726 | - Small rearrangements in board.c |
| 3727 | - init_board() renamed to clear_board() |
| 3728 | - Some comments and rearrangements in gnugo.h |
| 3729 | - major cleanup in hash.h and hash.c |
| 3730 | - old definition of inessential worms restored |
| 3731 | - #include <config.h> restored in play_ascii.c, play_gtp.c and hash.c |
| 3732 | - new function owl_update_goal() |
| 3733 | - revisions of owl_does_defend(), owl_does_attack(), |
| 3734 | owl_connection_defends(), and owl_threaten_defense() |
| 3735 | - bugfix in owl_threaten_attack() |
| 3736 | - doc revision |
| 3737 | |
| 3738 | 2.7.195 released November 19, 2000 |
| 3739 | |
| 3740 | - owl_analyze_semeai() complete (though still very buggy) |
| 3741 | - struct local_owl_data now has a color field |
| 3742 | - owl_find_lunches no longer has color parameter |
| 3743 | - two missing sgf files restored |
| 3744 | - config.h included again in matchpat.c and analyze.c |
| 3745 | |
| 3746 | 2.7.194 released November 18, 2000 |
| 3747 | |
| 3748 | - continued localization of owl |
| 3749 | - new struct local_owl_data for passing goal, boundary and lunches |
| 3750 | - new functions owl_update_boundary_marks() and owl_make_domains() |
| 3751 | - new function owl_topological_eye() |
| 3752 | - name restored in autohelper macro owl_topological_eye |
| 3753 | - get_coordinate globalized and moved to printutils.c |
| 3754 | - new --decidesemeai option |
| 3755 | - new function owl_analyze_semeai() |
| 3756 | - Removed all unnecessary inclusion of config.h |
| 3757 | - cleanup of worm.c |
| 3758 | - Error handing in main.c: get_coordinate() |
| 3759 | - shuffling of main.c |
| 3760 | - inclusion of cache.h removed from board.c |
| 3761 | - definition of inessential worms changed |
| 3762 | - dragons classified CRITICAL when owl_attack() and owl_defend() disagree |
| 3763 | - join_dragons() revised to choose origin consistently within dragons |
| 3764 | - dragon_ring() and dragon_eye() cleaned up and revised |
| 3765 | - clear_move_reasons() moved from genmove() to reset_engine() |
| 3766 | - revised and extended debug output from influence.c |
| 3767 | - strategically_sound_defense() revised |
| 3768 | - valuation of inessential dragons corrected |
| 3769 | - the owl code doesn't consider escape on the first move |
| 3770 | - filter out vital defense moves which are self ataris in owl_determine_eye() |
| 3771 | - bugfix in owl_shapes |
| 3772 | - bugfixes in owl_substantial() |
| 3773 | - attack2() revised |
| 3774 | - new function special_attack4() in reading.c |
| 3775 | - move ordering retuned |
| 3776 | - safe_move() again changed to return 3 for illegal ko captures |
| 3777 | - bugfix in shapes_callback() |
| 3778 | - gtp_loadsgf() now also calls reset_engine() |
| 3779 | - cut_connect_callback revised to deal with join_dragons() changes |
| 3780 | - tuning of barriers.db, influence.db, conn.db, and eyes.db |
| 3781 | - tuning |
| 3782 | - owl tuning |
| 3783 | - revision of joseki values |
| 3784 | - new game records and test cases |
| 3785 | - regression/STRATEGY revised |
| 3786 | - mkpat and mkeyes tolerate "\r" for Windows compatibility |
| 3787 | - Mingw32 and VC++ compatibility changes in configure.in and debugboard |
| 3788 | |
| 3789 | 2.7.193 released November 14, 2000 |
| 3790 | |
| 3791 | - owl_topological_eye autohelper macro replaced by topological_eye |
| 3792 | - owl goals and boundaries systematically localized |
| 3793 | - global owl_goal_color removed |
| 3794 | - now O patterns accept critical friendlies if * rescues tactically |
| 3795 | - matcher_status used in print_ascii_area (moyo.c) |
| 3796 | - new function matcher_status() |
| 3797 | - ascii mode save command fixed |
| 3798 | - fixme's addressed in play_ascii.c |
| 3799 | - tuning |
| 3800 | - two ld*sgf files had gotten overwritten by rotated versions--fixed |
| 3801 | - revision of test results |
| 3802 | |
| 3803 | 2.7.192 released November 12, 2000 |
| 3804 | |
| 3805 | - new on board assertions in move_reasons.c |
| 3806 | - increased safety value for strongly alive dragons |
| 3807 | - territory changes are counted for owl attacks and defenses |
| 3808 | - influence changes are counted for semeai moves |
| 3809 | - reverse followup values can never more than double the move value |
| 3810 | - bugfix in liberty_of_dragon(), check that vertex is empty |
| 3811 | - somewhere() function and corresponding autohelpers require that |
| 3812 | found stone does not have status dead |
| 3813 | - play_attack and play_defend autohelpers return ko results |
| 3814 | - tuning of barriers.db, conn.db, endgame.db |
| 3815 | - owl tuning |
| 3816 | - tuning of patterns.db and patterns2.db |
| 3817 | - double_does_break_helper and wide_break_helper replaced by constraints |
| 3818 | - new helpers edge_double_sente_helper and defend_against_atari_helper |
| 3819 | - new autohelper defend_against_atari |
| 3820 | - new target all_batches in regression/Makefile.am |
| 3821 | - revision of rotated testsuite |
| 3822 | - updating of test results |
| 3823 | |
| 3824 | 2.7.191 released November 10, 2000 |
| 3825 | |
| 3826 | - bug fix in update_liberties: k<MAX_LIBERTIES |
| 3827 | - bug fix in owl_mark_boundary: don't look for neighbors if dragon.id == -1 |
| 3828 | - bug fix in owl_does_attack: omit marking goal string |
| 3829 | - bug fix in semeai.c: several bj's should have been bi's |
| 3830 | - pattern ED70 taken down |
| 3831 | - bugfix in sgfgen |
| 3832 | - suppress owl traces during estimate_territorial_value() |
| 3833 | |
| 3834 | 2.7.190 released November 7, 2000 |
| 3835 | |
| 3836 | - effective_size reduced |
| 3837 | - minor revision of connection value |
| 3838 | - bug fixes in obvious_false_eye, do_owl_attack and do_owl_defend. |
| 3839 | - bug fixes in find_superstring_recurse and find_superstring_recurse |
| 3840 | - attack4 is more careful about ko |
| 3841 | - removed the copy of dfa.c from new_matchpat.c |
| 3842 | - new function dfa_add_pattern |
| 3843 | - 2 new helpers for dfa_add_pattern: range_check_ok & show_pattern_instance |
| 3844 | - removed dead code from mkpat.c |
| 3845 | - testsuite revisions |
| 3846 | - tuning |
| 3847 | |
| 3848 | 2.7.189 released November 4, 2000 |
| 3849 | |
| 3850 | - atari_atari tries to find irreducible combinations |
| 3851 | - loop ununrolled in do_atari_atari() |
| 3852 | - depths increased during atari_atari to avoid horizon effect |
| 3853 | - improved traces during atari_atari |
| 3854 | - joseki patterns do not have strategic attack bonus |
| 3855 | - joseki patterns have cap on valuation |
| 3856 | - dead code in influence.c removed |
| 3857 | - backfill2_depth in modify_depth_values(), etc. |
| 3858 | - autohelper functions revised to use matcher_status instead of status |
| 3859 | - owl reasons consults matcher status, taking semeai() into account |
| 3860 | - subtract one point from move value for a sacrifice play |
| 3861 | - tuning |
| 3862 | - owl tuning |
| 3863 | - 'A' comment field in joseki db no longer case sensitive |
| 3864 | - new tests and game records |
| 3865 | |
| 3866 | 2.7.188 released November 1, 2000 |
| 3867 | |
| 3868 | - doc revisions |
| 3869 | - include gg_utils.h rather than gg_utils.c in analyze.c |
| 3870 | - new parameter stop_before_owl for make_dragons() |
| 3871 | - new target EXAMINE_DRAGONS_WITHOUT_OWL for examine_position() |
| 3872 | - matcher_status printed by show_dragons() |
| 3873 | - dragon_escape() revised |
| 3874 | - safe_move() calls in filllib.c reviewed |
| 3875 | - unnecessary line removed from incremental_remove_string() |
| 3876 | - temporary reduction of depth values during influence computation |
| 3877 | disabled |
| 3878 | - obvious_false_eye() made public |
| 3879 | - semeai threat move reasons listed by list_move_reasons() |
| 3880 | - more move valuation details when using DEBUG_MOVE_REASONS debug bit |
| 3881 | - bug fixes in move valuation to avoid points being counted multiple |
| 3882 | times for the same stones when they are defended or attacked |
| 3883 | according to multiple sources (tactical reading, owl, semeai) |
| 3884 | - new function move_connects_strings() in move_reasons.c |
| 3885 | - shape bonus added for moves which connect multiple strings |
| 3886 | - revised set of function calls disabled by 'urgent' variable |
| 3887 | - do_owl_attack and do_owl_defend also try tactical attack/defense |
| 3888 | moves |
| 3889 | - code simplification in do_owl_attack |
| 3890 | - DEBUG_OWL_PERFORMANCE traces added in owl_threaten_attack() and |
| 3891 | owl_threaten_defense() |
| 3892 | - goal propagation in do_owl_defend() revised |
| 3893 | - owl_determine_life() revised |
| 3894 | - avoid unnecessary reading in owl_shapes_callback() |
| 3895 | - owl_mark_boundary() revised |
| 3896 | - FIXME added in owl_does_attack() |
| 3897 | - new static function one_two_point() in owl.c |
| 3898 | - sniff_lunch() revised |
| 3899 | - bugfixes in owl_escape_value() |
| 3900 | - atari_atari() revised |
| 3901 | - new function find_superstring() in utils.c |
| 3902 | - bugfix in examine_cavity() and examine_cavity_recurse() |
| 3903 | - a number of stackp==0 assertions added in worm.c and semeai.c |
| 3904 | - semantics of GTP command eval_eye changed |
| 3905 | - three new patterns in conn.db |
| 3906 | - new helper threaten_to_capture_helper() |
| 3907 | - new autohelper functions threaten_to_capture, obvious_false_oeye, |
| 3908 | and obvious_false_xeye |
| 3909 | - komoku joseki revisions |
| 3910 | - tuning and owl tuning |
| 3911 | - comment added in regressions/STRATEGY |
| 3912 | - owl, ld_owl, strategy, and reading test suites revised and/or extended |
| 3913 | |
| 3914 | 2.7.187 released October 31, 2000 |
| 3915 | |
| 3916 | - bugfix in owl_reasons: do not pass PASS as a move reason |
| 3917 | - bugfix in small_semeai: missing popgo() |
| 3918 | - bugfix in pattern ED62: move could be off board |
| 3919 | - bugfix in make_dragons: typo for second_defendj |
| 3920 | - sethand.c removed |
| 3921 | - recordhand() renamed to sgffile_recordboard |
| 3922 | - sethand() removed. |
| 3923 | - placehand() moved to genmove.c |
| 3924 | - ON_BOARD assertions added in move_reasons.c |
| 3925 | - FIXME in analyze.c removed |
| 3926 | - initialize_engine() renamed reset_engine() |
| 3927 | - Reset verbose to correct value in examine_position() |
| 3928 | - description of change_dragon_status fixed. |
| 3929 | - doc revision |
| 3930 | - regress.awk tries to spot core dumps |
| 3931 | |
| 3932 | 2.7.186 released October 28, 2000 |
| 3933 | |
| 3934 | - tuning |
| 3935 | - we try to add only legal owl threat move reasons |
| 3936 | - bugfix: pattern 't' attribute was incompletely implemented |
| 3937 | - doc revision |
| 3938 | - fixed a compilation warning in new_matchpat.c |
| 3939 | - added an option -t to mkpat |
| 3940 | |
| 3941 | 2.7.185 released October 28, 2000 |
| 3942 | |
| 3943 | - white/black_points parameters split in evaluate_territory() |
| 3944 | - tuning |
| 3945 | - owl tuning |
| 3946 | - implementation supplied for owl_does_attack |
| 3947 | - trace level reduced when atari_atari runs |
| 3948 | - allpats overrides normal shortcuts when an urgent move is on the board |
| 3949 | - missing files restored in minipat2/ |
| 3950 | - material added to and joice respelled in minipat2/README |
| 3951 | - revision of rotated tests |
| 3952 | |
| 3953 | 2.7.184 released October 25, 2000 |
| 3954 | |
| 3955 | - bugfix in owl_substantial: remember that owl_goal_color is global |
| 3956 | - but patterns/dfa.c is in EXTRADIST |
| 3957 | - configure works with or without --enable-dfa to create alternative versions |
| 3958 | - rotated patterns included for tests * |
| 3959 | - updated test results |
| 3960 | |
| 3961 | 2.7.183 released October 24, 2000 |
| 3962 | |
| 3963 | - new module atari_atari with global variable aa_depth |
| 3964 | - new atari_atari move reasons |
| 3965 | - new autohelper function has_aji() |
| 3966 | - value of move in empty corner reduced from 40 to 27 |
| 3967 | - new owl function owl_substantial |
| 3968 | - owl_mark_boundary() split off from owl_mark_goal() |
| 3969 | - new function neighbor_of(), a frontend for incremental_neighbor_of() |
| 3970 | - tuning |
| 3971 | - minor owl tuning |
| 3972 | - safe_move() returns 0 in case of an illegal ko capture (as before 2.7.180) |
| 3973 | - use AC_SEARCH_LIBS to add -lm only when needed |
| 3974 | - curses test is moved outside the enable_color to accomodate debugboard |
| 3975 | - adds test for KEY_UP to the curses configuration |
| 3976 | - adjust interface/debugboard/main.c if KEY_UP unavailable |
| 3977 | - use AC_SEARCH_LIBS for detection of curses and termcap library |
| 3978 | - use AC_CACHE_CHECK macro for __function__ and KEY_UP detection |
| 3979 | - dfa.c and dfa.h are now in patterns/ not patterns/minipat2/ |
| 3980 | - new_mkpat adds a dfa_t pointer when DFA_ENABLE is set to 1. |
| 3981 | - load_dfa(file_name, NULL) can return pointers to dfa_t struct |
| 3982 | - dfa compiles with less errors when -Wall |
| 3983 | - made more dfa functions static |
| 3984 | - new tests and game records |
| 3985 | |
| 3986 | 2.7.182 released October 19, 2000 |
| 3987 | |
| 3988 | - new move reason OWL_PREVENT_THREAT |
| 3989 | - attacking a dragon that can threaten life gets a small value |
| 3990 | - bugfix in recognize_eye |
| 3991 | - bugfix in "threat" move valuations: max should be min |
| 3992 | - init_gnugo() moved from board.c to interface.c |
| 3993 | - new tests and game files |
| 3994 | |
| 3995 | 2.7.181 released October 18, 2000 |
| 3996 | |
| 3997 | - bugfix in owl_attack: ko dealt with if original goal stone captured |
| 3998 | - matcher_status replaces dragon.status in examine_move_safety DEFEND case |
| 3999 | - extra newlines eliminated in traces in find_more_attack_and_defense_moves() |
| 4000 | - new tests |
| 4001 | |
| 4002 | 2.7.180 released October 16, 2000 |
| 4003 | |
| 4004 | - semeai_analyzer no longer called with tactically dead dragons |
| 4005 | - semeai_analyzer now called with owl critical dragons |
| 4006 | - new global variabls owl_distrust_depth and backfill2_depth |
| 4007 | - new static owl functions owl_add_move() and obvious_false_eye() |
| 4008 | - revision of sniff_lunch |
| 4009 | - vital_chain() moved to owl.c |
| 4010 | - separate move reasons for both dragons in semeai |
| 4011 | - new function add_semeai_threat() |
| 4012 | - semeais no longer enumerated for move reasons |
| 4013 | - owl tuning |
| 4014 | - eye tuning and revision of eyes.db |
| 4015 | - bugfix in owl_defendpat D51 |
| 4016 | - revisions of most reading functions |
| 4017 | - break_chain_new() renamed break_chain_moves() |
| 4018 | - edge_attack() and edge_defend() unified in edge_attack_defend() |
| 4019 | - break_chain() removed |
| 4020 | - new function compute_eyes_pessimistic |
| 4021 | - looks for positions where eye code |
| 4022 | - evaluate_diagonal_intersections() takes new parameters (i,j) |
| 4023 | - MAX_LUNCHES increased to 10 |
| 4024 | - option --enable-dfa sets DFA_ENABLED equal to 1 |
| 4025 | - minor tuning |
| 4026 | - calls to TRACE made DEBUG in life.c |
| 4027 | - revision of STRATEGY |
| 4028 | - revision of minipat2/ (has own ChangeLog) |
| 4029 | - changes to config.vcin |
| 4030 | - changes to configure.in and gg_utils.in to make clean mingw build |
| 4031 | |
| 4032 | 2.7.179 released October 12, 2000 |
| 4033 | |
| 4034 | - node limits revised in initialize_engine() |
| 4035 | - traces corrected for owl threat reasons |
| 4036 | - bonus for owl threat move (not ko threat) reduced to 3 points |
| 4037 | - revision of patterns/minipat2/ (has own ChangeLog) |
| 4038 | - minor tuning |
| 4039 | - regression/REVIEW renamed STRATEGY and completed |
| 4040 | - new owl tests |
| 4041 | - test results updated |
| 4042 | |
| 4043 | 2.7.178 released October 10, 2000 |
| 4044 | |
| 4045 | - new global variables urgent and kothreat_needed |
| 4046 | - if a ko threat seems needed, GNU Go tries to make one |
| 4047 | - moves that threatens to kill or live are tried near end of game |
| 4048 | - if an urgent joseki move is found, some code is not executed |
| 4049 | - new dragon fields owl_threat_status, owl_second_attack, owl_second_defend |
| 4050 | - new functions owl_threaten_defense() and owl_threaten_attack() |
| 4051 | - new function look_for_kos() |
| 4052 | - tuning |
| 4053 | - new file regression/REVIEW |
| 4054 | |
| 4055 | 2.7.177 released October 7, 2000 |
| 4056 | |
| 4057 | - experimental directory patterns/minipat2 |
| 4058 | - bugfixes and indentation fixups in owl.c |
| 4059 | - one new eye pattern |
| 4060 | - owl tuning |
| 4061 | - cleaning of some regression game records |
| 4062 | - new and revised regression tests |
| 4063 | - release date for 2.7.172 corrected in ChangeLog |
| 4064 | - Makefile.bump removed from distribution |
| 4065 | |
| 4066 | 2.7.176 released October 6, 2000 |
| 4067 | |
| 4068 | - modify_eye_spaces() replaces modify_eye_spaces1() and 2() |
| 4069 | - minor cleanup in optics.c |
| 4070 | - new eye pattern and cleanup in eyes.db |
| 4071 | - tuning |
| 4072 | - owl tuning |
| 4073 | |
| 4074 | 2.7.175 released October 6, 2000 |
| 4075 | |
| 4076 | - if configure --enable-dfa then new_matchpat.c replaces matchpat.c |
| 4077 | - tuning |
| 4078 | - owl tuning |
| 4079 | - only count trymove when we do create a new position |
| 4080 | - liberty_of() made incremental |
| 4081 | - singleton() replaced by countstone() calls |
| 4082 | - matchpat.c and new_matchpat.c: CRITICAL added to class masks |
| 4083 | - reformatting in new_patchpat.c and semeai.c |
| 4084 | - two new eye patterns |
| 4085 | - preliminary garbage taken out of .sgf files |
| 4086 | - ad hoc code in worm.c replaced by call to liberty_of() |
| 4087 | - gtp can set komi |
| 4088 | - new tests, including rotated versions of some old ones |
| 4089 | |
| 4090 | 2.7.174 released October 3, 2000 |
| 4091 | |
| 4092 | - tuning |
| 4093 | - owl tuning |
| 4094 | - new patterns and regressions |
| 4095 | - in somewhere() move_num replaced by move_num-1 |
| 4096 | - bugfix in o_somewhere autohelper |
| 4097 | - revised handling of labels in joseki.c |
| 4098 | - strategy.tst split in two |
| 4099 | - proposed replacement engine/new_matchpat.c for matchpat.c |
| 4100 | - in new_matchpat new function check_pattern() split from do_matchpat() |
| 4101 | - in new_matchpat arrays and_mask,val_mask and class_mask moved |
| 4102 | - new tests and game records |
| 4103 | - doc revision |
| 4104 | - fixme's updated and classified |
| 4105 | - THANKS revised |
| 4106 | |
| 4107 | 2.7.173 released September 30, 2000 |
| 4108 | |
| 4109 | - bugfix in attack1() |
| 4110 | - bugfix in semeai.c: dragon data updated correctly |
| 4111 | - revision of whose_moyo_restricted() |
| 4112 | - backfill depth increased to 12 |
| 4113 | - value_moves() visits moves in standard lexicographical order |
| 4114 | - tuning |
| 4115 | - owl tuning |
| 4116 | - new game records and tests |
| 4117 | |
| 4118 | 2.7.172 released September 27, 2000 |
| 4119 | |
| 4120 | - new joseki classification t, some patterns downgraded |
| 4121 | - new chainlinks2(), draw_back(), special_attack3() break_chain_new() |
| 4122 | - calling convention for find_cap2() changed |
| 4123 | - edge_defend() returns untested candidate moves |
| 4124 | - break_chain() no longer returns which link was captured |
| 4125 | - edge_attack() now takes ko results into account |
| 4126 | - find_cap3() generalized |
| 4127 | - chain breaking moves and liberties are ordered in defensive functions |
| 4128 | - chain breaking moves, liberties and backfills ordered in attack2() |
| 4129 | - defense functions made more uniform |
| 4130 | - backfills tested in defend2() |
| 4131 | - code reshuffled in attack3() |
| 4132 | - order_moves() revised |
| 4133 | - backfill_depth increased to 10 |
| 4134 | - reading_node_counter not incremented by break_chain() and relatives |
| 4135 | - new GTP command tune_move_ordering can set order_moves() parameters |
| 4136 | - new tests and game records |
| 4137 | - doc revision |
| 4138 | - typedef of row_of_eye_data moved to liberty.h |
| 4139 | |
| 4140 | 2.7.171 [NOT RELEASED] |
| 4141 | |
| 4142 | 2.7.170 released September 24, 2000 |
| 4143 | |
| 4144 | - minor doc revision |
| 4145 | - bugfix in estimate_strategical_value() |
| 4146 | - reading code revisions for improved performance |
| 4147 | - do_find_defense() added to hash defaults |
| 4148 | - a few double kakari variations added to hoshi.sgf |
| 4149 | - tuning |
| 4150 | - joseki values promoted somewhat |
| 4151 | - new game record regression/games/reading10.sgf |
| 4152 | - one new test case in reading.tst |
| 4153 | - owl tests 122 and 123 include move number |
| 4154 | - neurogo.tst extended |
| 4155 | |
| 4156 | 2.7.169 released September 22, 2000 |
| 4157 | |
| 4158 | - modification to whose_moyo_restricted made default (still overrideable) |
| 4159 | - owl_attack tries defending lunch |
| 4160 | - owl node limit cut from 1000 to 500 |
| 4161 | - new autohelper functions x_somewhere and o_somewhere |
| 4162 | - new function somewhere() |
| 4163 | - tuning |
| 4164 | - owl tuning |
| 4165 | - new test regression/neurogo.tst |
| 4166 | - dragon_invincible modified for portability |
| 4167 | - vgprintf calls replaced by fgprintf in printutils.c |
| 4168 | - on board assertion in owl_lively |
| 4169 | - colored dragon and owl display revamped |
| 4170 | - option --statistics works again. |
| 4171 | - cleanup of globals.c |
| 4172 | - gnugo.h checked for unused declarations |
| 4173 | - renumbering of hash bits |
| 4174 | - doc revision |
| 4175 | |
| 4176 | 2.7.168 released September 20, 2000 |
| 4177 | |
| 4178 | - if file "hurry" found on disk, hurry is read from it each move |
| 4179 | - new function get_hurry() |
| 4180 | - bugfix in examine_move_safety() |
| 4181 | - bugfix in compute_primary_domains() |
| 4182 | - minor tuning |
| 4183 | - new file regression/games/FSF-neurogo.sgf |
| 4184 | |
| 4185 | 2.7.167 released September 19, 2000 |
| 4186 | |
| 4187 | - reading code speedup |
| 4188 | - modification to whose_moyo_restricted contingent on --inhibit option |
| 4189 | - minor joseki variations (j classification) promoted to value 20 |
| 4190 | - reviewing move reasons contingent on -w |
| 4191 | - trace format slightly more compact |
| 4192 | - minor change in hoshi.sgf |
| 4193 | - tuning |
| 4194 | - revision of test strategy 51 and new strategy test 79 |
| 4195 | - UNUSED defined in utils/gg_utils.c |
| 4196 | |
| 4197 | 2.7.166 released September 18, 2000 |
| 4198 | |
| 4199 | - revised computation of size of moyo surrounding a dragon |
| 4200 | - improved workaround in induce_secondary_move_reasons() |
| 4201 | - examine_move_safety() made more accurate |
| 4202 | - move valuation improvements |
| 4203 | - owl_reasons() avoids adding owl attack reasons against nakade stones |
| 4204 | - owl_reasons() defends before attacking when there's a semeai |
| 4205 | - improved handling of ko attack codes in worm.c |
| 4206 | - new anchoring option in mkpat.c |
| 4207 | - bugfix in pattern matching of attack and defense patterns |
| 4208 | - tuning |
| 4209 | - new game record and regression tests |
| 4210 | - doc revision |
| 4211 | |
| 4212 | 2.7.165 released September 14, 2000 |
| 4213 | |
| 4214 | - semeai() updates matcher_status for unfriendly dragons alive by semeai |
| 4215 | - revised computation of size of moyo surrounding a dragon |
| 4216 | - tuning |
| 4217 | - owl tuning |
| 4218 | - new files in regression/games (strategy18, 19, 20 and owl11) |
| 4219 | - new and revised test cases in owl.tst and strategy.tst |
| 4220 | - configure test for availability of usleep() |
| 4221 | - select() replaces missing ment for usleep() in debugboard/main.c |
| 4222 | - embedded newlines in patterns/transpat.c replaced by explicit \n |
| 4223 | - explicit (int) casts to arguments of toupper and tolower |
| 4224 | |
| 4225 | 2.7.164 released September 11, 2000 |
| 4226 | |
| 4227 | - edge patterns in patterns.db and patterns2.db rotated to standard position |
| 4228 | - bugfix in move_reasons.c: too many dragon connections |
| 4229 | - dead code removed from dragon.c |
| 4230 | - PL[W] added to regression/games/owl10.sgf |
| 4231 | - location_set.* removed from engine/ |
| 4232 | - target transpat is now EXTRA |
| 4233 | - doc revision |
| 4234 | |
| 4235 | 2.7.163 released September 6, 2000 |
| 4236 | |
| 4237 | - mouse code is renamed owl |
| 4238 | - new target transpat in patterns/ |
| 4239 | - new files patlib.c, patlib.h and transpat.c |
| 4240 | - default cache size reduced to 16 M |
| 4241 | - owl_node_limit reduced from 10000 to 1000 |
| 4242 | - new configure options --enable-large-model and --enable-small-model |
| 4243 | - Changelog entry for 2.7.162 added |
| 4244 | - ko result macros moved from reading.c to cache.c |
| 4245 | - ko handling in mouse.c simplified and made more strict |
| 4246 | - portability fix in hash.c, ULL suffix removed from small constants |
| 4247 | - doc revision |
| 4248 | - THANKS revised |
| 4249 | |
| 4250 | 2.7.162 released September 5, 2000 |
| 4251 | |
| 4252 | - minor change to hoshi.sgf |
| 4253 | - mouse code is somewhat ko aware |
| 4254 | - tuning |
| 4255 | - mouse tuning |
| 4256 | - new tests |
| 4257 | - new autohelper functions legal_xmove and legal_omove |
| 4258 | - AUTHORS and THANKS revised |
| 4259 | |
| 4260 | 2.7.161 released September 1, 2000 |
| 4261 | |
| 4262 | - mouse tuning |
| 4263 | |
| 4264 | 2.7.160 released August 31, 2000 |
| 4265 | |
| 4266 | - one new pattern in mouse_defendpats.db |
| 4267 | - hoshi.sgf revised |
| 4268 | - improved ko awareness in reading.c |
| 4269 | - loop ununrolled in attack2() |
| 4270 | - SGFTRACE calls added to break_chain(), break_chain2(), break_chain3(), |
| 4271 | and relative_break_chain() |
| 4272 | - reading functions consistently return an illegal ko capture rather than |
| 4273 | pass if it is the best way to win |
| 4274 | - bugfix in gtp_genmove_black() and gtp_genmove_white() |
| 4275 | - new files reading08.sgf and reading09.sgf in regression/games/ |
| 4276 | - new reading tests |
| 4277 | |
| 4278 | 2.7.159 released August 30, 2000 |
| 4279 | |
| 4280 | - mouse tuning |
| 4281 | - tuning |
| 4282 | - new files jahy.sgf and reading07.sgf in regression/games/ |
| 4283 | - new tests |
| 4284 | - Wolfgang Manner's hoshi.sgf |
| 4285 | - missing include added to cache.c |
| 4286 | - fuseki database turned on by default; option --fusekidb replaced by |
| 4287 | option --nofusekidb |
| 4288 | - new option --nojosekidb to turn off joseki database |
| 4289 | - simplified code in defend1() and defend2() |
| 4290 | - new macros UPDATE_SAVED_KO_RESULT() and |
| 4291 | UPDATE_SAVED_KO_RESULT_UNREVERSED() in reading.c to simplify keeping |
| 4292 | track of moves leading to ko |
| 4293 | - better handling of ko results in various reading.c functions |
| 4294 | |
| 4295 | 2.7.158 released August 27, 2000 |
| 4296 | |
| 4297 | - tuning |
| 4298 | - cleanup of patterns.db and patterns2.db |
| 4299 | - mouse tuning |
| 4300 | - new files regression/games/mouse08.sgf and mouse09.sgf |
| 4301 | - new mouse tests |
| 4302 | |
| 4303 | 2.7.157 released August 25, 2000 |
| 4304 | |
| 4305 | - tuning |
| 4306 | - minor mouse tuning |
| 4307 | - revised awards for J and j patterns |
| 4308 | - new files reading06.sgf, mouse07.sgf, strategy14.sgf, strategy15.sgf, |
| 4309 | and strategy16.sgf in regression/games/ |
| 4310 | - new test cases |
| 4311 | - removed vitality report from debugboard gui |
| 4312 | - minor doc revision |
| 4313 | - keep track of lively dragons in dragon.c |
| 4314 | - bugfix in influence_callback() |
| 4315 | - bugfix in analyze_semeai() |
| 4316 | - dead code removed from helpers.c |
| 4317 | - new helper: reinforce_helper |
| 4318 | |
| 4319 | 2.7.156 released August 23, 2000 |
| 4320 | |
| 4321 | - bugfix in compute_primary_domains |
| 4322 | - revision of corner handling in compute_primary_domains |
| 4323 | - minor deviation from documented algorithm fixed in compute_primary_domains |
| 4324 | - attack1 returns 2 in case of a legal ko capture |
| 4325 | - cut_connect_callback accepts X stones safe by ko |
| 4326 | - basic_cut_helper accepts X stone safe by ko |
| 4327 | - followup_value and reverse_followup_value are no longer additive |
| 4328 | - unused symbols removed from move_reasons.c |
| 4329 | - tuning |
| 4330 | - new files strategy13.sgf and semeai1.sgf in regression/games/ |
| 4331 | - new tests |
| 4332 | - semeai() rewritten for new move valuation scheme |
| 4333 | - semeai() called from make_dragons() rather than from genmove() |
| 4334 | - unused vitality field removed from struct dragon_data |
| 4335 | - attempt to identify inessential dragons |
| 4336 | - gtp commands debug_influence and debug_move_influence give more information |
| 4337 | - function liberty_of_dragon() made static to semeai.c |
| 4338 | - bugfix in mouse_determine_life() |
| 4339 | - strategically_sound_defense() revised |
| 4340 | - bugfix in estimate_strategical_value() |
| 4341 | - more careful handling of ko return codes in do_find_defense() and defend3() |
| 4342 | - defend2() no longer insists in finding best defense |
| 4343 | - regression/regress.awk revised |
| 4344 | |
| 4345 | 2.7.155 released August 21, 2000 |
| 4346 | |
| 4347 | - bugfix in init_influence() |
| 4348 | - semicolon added after action lines in pattern database files |
| 4349 | - mkpat no longer adds semicolon after antisuji |
| 4350 | - induce_secondary_move_reasons() revised |
| 4351 | - dragon_safety() rewritten |
| 4352 | - review_move_reasons() lists top ten moves in trace outputs |
| 4353 | - new format %M in vgprintf |
| 4354 | - SGFTRACE calls added after edge_defend() and edge_attack() calls |
| 4355 | |
| 4356 | 2.7.154 released August 21, 2000 |
| 4357 | |
| 4358 | - new reading functions edge_defend and edge_attack |
| 4359 | - reading code smarter about moves on the first line |
| 4360 | - liberty_of renamed liberty_of_dragon |
| 4361 | - new function liberty_of |
| 4362 | - break_chain2 does not try filling liberties of attacked string |
| 4363 | - revision of order_moves |
| 4364 | - Joseki database turned back on |
| 4365 | - mkpat adds semicolon and newline after antisuji |
| 4366 | - substantial tuning of patterns.db |
| 4367 | - mouse tuning |
| 4368 | - new game regression/games/strategy12.sgf (no tests yet) |
| 4369 | |
| 4370 | 2.7.153 released August 13, 2000 |
| 4371 | |
| 4372 | - autohelper vitality() removed |
| 4373 | - autohelper weak() revised |
| 4374 | - struct dragon_data field safety renamed old_safety |
| 4375 | - new field invincible in struct worm_data |
| 4376 | - dragon_invincible() in dragon.c implemented |
| 4377 | - worm invincibility and dragon safety printed in show_dragons() |
| 4378 | - dragon safety values revised |
| 4379 | - init_influence() revised |
| 4380 | - connection_value2() in move_reasons.c reimplemented and renamed |
| 4381 | connection_value() |
| 4382 | - dragon status used instead of dragon safety in showbord.c |
| 4383 | |
| 4384 | 2.7.152 released August 10, 2000 |
| 4385 | |
| 4386 | - bugfix in defend2() |
| 4387 | - bugfix in tryko() |
| 4388 | - new function sgf_trace() in cache.c and macro SGFTRACE() in cache.h |
| 4389 | - all --decide* options now save sgf trees in memory |
| 4390 | - SGFTRACE() calls in the reading and mouse code |
| 4391 | - bugfix in mouse_determine_life() |
| 4392 | - bugfix in interface/debugboard/main.c |
| 4393 | - bugfix in main.c |
| 4394 | - GTP command loadsgf now returns the color to play |
| 4395 | - new GTP command same_dragon |
| 4396 | - new test suite regression/connection.tst |
| 4397 | - new test cases in reading.tst, mouse.tst, strategy.tst, and nicklas.tst |
| 4398 | - five new game records in regression/games and regression/games/nicklas |
| 4399 | |
| 4400 | 2.7.151 released August 9, 2000 |
| 4401 | |
| 4402 | - regression framework revised, temporary .gtp and .res files no longer |
| 4403 | needed |
| 4404 | - cleanup of patterns/patterns.db |
| 4405 | - experimental code for doing sgf dumps of reading variations in memory |
| 4406 | - cleanup of files in sgf/ directory |
| 4407 | - bugfixes in writing of sgf trees to file |
| 4408 | - global variable mouse removed, together with option --nomouse |
| 4409 | - patterns/patterns.c split into patterns/patterns.c and |
| 4410 | patterns/josekidb.c so that the latter file contains the joseki database |
| 4411 | files derived from the joseki sgf files |
| 4412 | - bugfix in mouse_defendpats.db |
| 4413 | - one new game record regression/games/reading04.sgf |
| 4414 | - one new test case in reading.tst |
| 4415 | |
| 4416 | 2.7.150 released August 7, 2000 |
| 4417 | |
| 4418 | - old escape route measure removed, together with option --old_escape |
| 4419 | - new field safety in struct dragon_data2 |
| 4420 | - bugfix in influence code, tactically saved stones block influence |
| 4421 | - more restrictive definitions of moyo and area in the influence code |
| 4422 | - new function find_stones_saved_by_move() in move_reasons.c |
| 4423 | - bugfix in make_dragons(), status propagated to all intersections before |
| 4424 | calling the mouse code |
| 4425 | - tuning |
| 4426 | - mouse tuning |
| 4427 | - several new game records |
| 4428 | - several new test cases in mouse.tst, strategy.tst, and nicklas.tst |
| 4429 | |
| 4430 | 2.7.149 released August 3, 2000 |
| 4431 | |
| 4432 | - revised handling of shape in move_reasons.c |
| 4433 | - tuning of patterns.db, patterns2.db, barriers.db, conn.db, |
| 4434 | mouse_defendpats.db, komoku.sgf, mokuhazushi.sgf, and sansan.sgf |
| 4435 | - doc revision |
| 4436 | - goal dragon expanded with the whole string containing a new stone in |
| 4437 | do_mouse_defend() |
| 4438 | - new autohelper function mouse_goal_dragon and supporting code in mouse.c |
| 4439 | and mkpat.c |
| 4440 | |
| 4441 | 2.7.148 released August 2, 2000 |
| 4442 | |
| 4443 | - tuning |
| 4444 | - influence values reduced |
| 4445 | - friendly influence is valued greater than unfriendly in moyo |
| 4446 | - bugfix in examine_move_safety() in move_reasons.c |
| 4447 | - bugfix in estimate_territorial_value() in move_reasons.c |
| 4448 | - unused sigterm_handler commented out from interface/main.c |
| 4449 | - stricter matching of certain commands in the ascii interface |
| 4450 | - new game records and tests |
| 4451 | |
| 4452 | 2.7.147 released July 31, 2000 |
| 4453 | |
| 4454 | - domains can no longer leak past a nikken tobi (2 space extension) |
| 4455 | - value used for fuseki database moves increased |
| 4456 | - new option --mouse_node_limit |
| 4457 | - nominal values for mouse reading parameters introduced |
| 4458 | - effects of --hurry option revised |
| 4459 | - the mouse reading is now interrupted when too many nodes have been |
| 4460 | visited |
| 4461 | - bugfix in territorial valuation of vital eye points |
| 4462 | - bugfix in estimate_strategical_value(), avoid counting the same stones |
| 4463 | twice |
| 4464 | |
| 4465 | 2.7.146 released July 30, 2000 |
| 4466 | |
| 4467 | - new move reason: reverse_followup, intended for reverse sente |
| 4468 | - reverse followup value added to a few patterns |
| 4469 | - interface/main.h removed |
| 4470 | - signal handlers made static |
| 4471 | - new tests |
| 4472 | - revised handling of -a option |
| 4473 | - revision of pattern CB207 |
| 4474 | - parts of make_dragon() restructured |
| 4475 | - dragon_status() revised |
| 4476 | - escape influence computation revised |
| 4477 | - new field in dragon[][] array, matcher_status |
| 4478 | - matchpat() uses matcher_status |
| 4479 | - revise_semeai() revised to modify matcher_status |
| 4480 | - patterns/influence.db revised |
| 4481 | - new mouse defense patterns |
| 4482 | - tuning of patterns/patterns.db |
| 4483 | |
| 4484 | 2.7.145 released July 29, 2000 |
| 4485 | |
| 4486 | - TODO revised |
| 4487 | - one pattern revised in patterns/conn.db |
| 4488 | - one pattern revised in patterns/patterns.db |
| 4489 | - 7 new game records in regression/games/ |
| 4490 | - 3 new mouse test cases |
| 4491 | - 20 new strategy test cases |
| 4492 | |
| 4493 | 2.7.144 released July 28, 2000 |
| 4494 | |
| 4495 | - new counter for number of trymoves/trykos similar to |
| 4496 | reading_node_counter et al |
| 4497 | - new GTP commands clear_trymove_counter and get_trymove_counter |
| 4498 | - Tests for life and strategy enhanced with trymove_counter |
| 4499 | - goal functions attack(), find_defense(), attack_either(), defend_both(), |
| 4500 | and break_through() collected together in reading.c |
| 4501 | - reading_node_counter incremented also in the break chain functions |
| 4502 | - doc/patterns.texi, doc/reading.texi, and doc/using.texi revised |
| 4503 | - territorial valuation of vital moves revised |
| 4504 | - bugfix in mkpat.c |
| 4505 | |
| 4506 | 2.7.143 released July 27, 2000 |
| 4507 | |
| 4508 | - regression/regress.awk and regression/eval.sh revised |
| 4509 | - reordering of some code in attack2 and attack3 |
| 4510 | - fixmes addressed in reading.c |
| 4511 | - new reading functions find_cap3 and break_chain3 |
| 4512 | - sgf variation count shifted in trymove |
| 4513 | - new file regression/games/net3 |
| 4514 | - net3 regressions |
| 4515 | - N1 accepted for reading test 29 |
| 4516 | - printing functions split off from utils.c to new file printutils.c |
| 4517 | - sgffile_decide* functions split off from sgffile.c to new file sgfdecide.c |
| 4518 | - new library libboard.a built in engine/ |
| 4519 | - patterns/joseki.c rewritten from scratch |
| 4520 | - joseki database file patterns/*.sgf revised for new joseki compiler |
| 4521 | - show_dragons() revised to also show moyo and neighbor info |
| 4522 | - order_moves() revised |
| 4523 | - new joseki pattern classes added in patterns/patterns.h |
| 4524 | - shapes_callback() revised to deal with new joseki pattern classes |
| 4525 | |
| 4526 | 2.7.142 released July 26, 2000 |
| 4527 | |
| 4528 | - linker option -lm moved from various Makefile.am to configure.in |
| 4529 | - new variable branch_depth, defaulting to 13 |
| 4530 | - default depth value increased from 14 to 16 |
| 4531 | - defend3(), defend4(), attack3(), and attack4() revised to use |
| 4532 | branch_depth |
| 4533 | - new option --branch_depth |
| 4534 | - one new pattern in patterns2.db |
| 4535 | - new file regression/games/strategy3.sgf |
| 4536 | - one new test case in regression/strategy.tst |
| 4537 | - new test suite regression/nicklas.tst |
| 4538 | - 7 new files regression/games/nicklas/nicklas*.sgf |
| 4539 | - new GTP command gg_genmove |
| 4540 | - contribution of randomness in move_reasons.c revised |
| 4541 | - one new pattern in conn.db |
| 4542 | |
| 4543 | 2.7.141 released July 26, 2000 |
| 4544 | |
| 4545 | - hash.h and hash.c split into hash.h/cache.h and hash.c/cache.c |
| 4546 | - common reading cache code in reading.c and mouse.c moved to |
| 4547 | cache.c/cache.h |
| 4548 | - new functions reading_cache_init() and reading_cache_cleared() in |
| 4549 | cache.c |
| 4550 | - movehash variable no longer global |
| 4551 | - configure option --disable-hashing removed together with HASHING |
| 4552 | preprocessor constant |
| 4553 | - double_atari_chain2() made static to reading.c |
| 4554 | - ATTACK() and DEFEND() macros in patterns/patterns.h renamed to avoid |
| 4555 | name collision |
| 4556 | - pow() used to compute effect of shape value in move_reasons.c |
| 4557 | - optics.c now includes eyes.h rather than eyes.c |
| 4558 | - mkeyes.c revised to finish the graphs array with an all-zero entry |
| 4559 | - changed order in top level Makefile.am; engine is now compiled before |
| 4560 | patterns |
| 4561 | - extract_fuseki program bugfixed and once more compiled by default |
| 4562 | - regress.awk and eval.sh in regression/ revised to deal with negated |
| 4563 | tests |
| 4564 | - new file regression/games/strategy2.sgf |
| 4565 | - three new tests in regression/strategy.tst |
| 4566 | |
| 4567 | 2.7.140 released July 25, 2000 |
| 4568 | |
| 4569 | - sniff_lunch() made static to mouse.c |
| 4570 | - private half_eye array for the mouse code |
| 4571 | - several functions take half_eye data as a parameter |
| 4572 | - regression/strategy.tst included for real |
| 4573 | |
| 4574 | 2.7.139 released July 25, 2000 |
| 4575 | |
| 4576 | - cleanup of reading.c |
| 4577 | - minor tuning |
| 4578 | - effective_size only looks to distance <= 3 |
| 4579 | - debugboard displays dragon.safety as a string |
| 4580 | - new files regression/strategy.tst and regression/games/strategy1.sgf |
| 4581 | - doc revision |
| 4582 | - mouse code enabled by default |
| 4583 | - --mouse option replaced by --nomouse option |
| 4584 | - alternative escape route algorithm enabled by default |
| 4585 | - --alternative_escape option replaced by --old_escape option |
| 4586 | - obsolete option --style removed |
| 4587 | - new field moyo in struct dragon_data2 |
| 4588 | - new function influence_get_moyo_size() in influence.c |
| 4589 | |
| 4590 | 2.7.138 released July 21, 2000 |
| 4591 | |
| 4592 | - bugfix in regression/regress.sh, VPATH build was broken |
| 4593 | - new function special_attack2() containing code broken out of attack2() |
| 4594 | - new function special_rescue2() containing code broken out of defend2() |
| 4595 | - more functions use order_moves() |
| 4596 | - all reading functions use the same parameter names (attacked/defended |
| 4597 | string is (si, sj)). |
| 4598 | - new debug bit DEBUG_MOUSE_PERFORMANCE |
| 4599 | - new debug outputs in mouse.c |
| 4600 | - bugfix in mouse_does_defend() and mouse_connection_defends() |
| 4601 | - new struct dragon_data2 in liberty.h |
| 4602 | - new static function compute_supplementary_dragon_data() in dragon.c |
| 4603 | |
| 4604 | 2.7.137 released July 19, 2000 |
| 4605 | |
| 4606 | - new file regression/regress.awk |
| 4607 | - regression/regress.sh revised |
| 4608 | - wrapper functions gg_vwprintw() and gg_wprintw() introduced in |
| 4609 | interface/debugboard/ files |
| 4610 | - order_moves() in reading.c partially reimplemented |
| 4611 | - new function gtp_decode_color() in interface/gtp.c |
| 4612 | - new GTP commands boardsize, is_legal, all_legal, prisoners |
| 4613 | - new function position_force_to_globals() in engine/interface.c |
| 4614 | - gameinfo no longer used by the GTP functions |
| 4615 | - movenum updated by board functions |
| 4616 | |
| 4617 | 2.7.136 released July 17, 2000 |
| 4618 | |
| 4619 | - enhancement in ladder reading in attack2() |
| 4620 | - cleanup of half of reading.c |
| 4621 | - do_find_defense() and do_attack() now static |
| 4622 | - more logical numbering of the reading functions for hashing |
| 4623 | - new function order_moves() in reading.c |
| 4624 | - function order3() removed from reading.c |
| 4625 | - dead code (old versions of special_rescue()) removed from reading.c |
| 4626 | - defend2(), defend3(), and defend4() track break_chain save_codes |
| 4627 | - mouse pattern D13 devalued |
| 4628 | |
| 4629 | 2.7.135 released July 17, 2000 |
| 4630 | |
| 4631 | - statistics functions reset_reading_node_counter() and |
| 4632 | get_reading_node_counter() in reading.c |
| 4633 | - corresponding new GTP commands reset_reading_node_counter and |
| 4634 | get_reading_node_counter |
| 4635 | - all regression test files report the total number of nodes visited by |
| 4636 | the tactical reading |
| 4637 | - corrected answers to two test cases in regression/mouse.tst |
| 4638 | |
| 4639 | 2.7.134 released July 17, 2000 |
| 4640 | |
| 4641 | - debug bits renumbered |
| 4642 | - doc/using.texi updated |
| 4643 | - tweaking of influence function for escape value computation |
| 4644 | - debug and trace outputs in mouse.c revised |
| 4645 | - debug outputs revised in reading.c |
| 4646 | - new pattern classification e in influence.db for patterns which get an |
| 4647 | increased value during computation of escape influence |
| 4648 | - mouse tuning |
| 4649 | - tuning of patterns2.db |
| 4650 | - new files incident267.sgf, incident269.sgf, incident272.sgf, |
| 4651 | incident278.sgf, and incident287.sgf in regression/games/ |
| 4652 | - two new tests in regression/mouse.tst |
| 4653 | - three new tests in regression/reading.tst |
| 4654 | - bugfix in regression/eval.sh and regression/regress.sh |
| 4655 | |
| 4656 | 2.7.133 released July 13, 2000 |
| 4657 | |
| 4658 | - mouse tuning |
| 4659 | - improved trace messages in do_mouse_attack() and do_mouse_defend() |
| 4660 | - mouse_find_lunches() simplified |
| 4661 | - -lm added to LDADD in interface/Makefile.am |
| 4662 | - tuning of patterns.db |
| 4663 | - new file regression/games/incident263.sgf |
| 4664 | - five new test in regression/mouse.tst |
| 4665 | |
| 4666 | 2.7.132 released July 12, 2000 |
| 4667 | |
| 4668 | - interface/loadsgffile.c removed |
| 4669 | - library interface/libinterface.a removed |
| 4670 | - sgf/sgfkey.c and sgf/sgfkey.h removed |
| 4671 | - globals sgf_root and lastnode removed |
| 4672 | - new datatype: SGFTree |
| 4673 | - many sgfXXX functions now have their sgftreeXXX counterpart |
| 4674 | - sgf/ttsgf.h renamed to sgf/sgftree.h |
| 4675 | - sgf/ttsgf.c renamed to sgf/sgfnode.c |
| 4676 | - sgf/sgfana.h moved to engine/analyze.h |
| 4677 | - sgf/sgfana.c moved to engine/analyze.c |
| 4678 | - new file: sgf/sgftree.c |
| 4679 | - new file: engine/sgfutils.c |
| 4680 | |
| 4681 | 2.7.131 released July 12, 2000 |
| 4682 | |
| 4683 | - references to the escape2 field of struct dragon_data removed from |
| 4684 | interface/debugboard/gui.c |
| 4685 | - new variables mouse_branch_depth and mouse_reading_depth |
| 4686 | - new options --mouse_branch and --mouse_reading |
| 4687 | - mouse reads only one node when stackp>mouse_branch_depth |
| 4688 | - reading terminates when stackp>mouse_reading_depth |
| 4689 | - doc revision |
| 4690 | - revised dragon_escape() to allow kosumi directly from dragon |
| 4691 | - revised effect of I class influence patterns when computing escape |
| 4692 | influence |
| 4693 | - find_influence_patterns() add influence barriers "manually" when |
| 4694 | computing escape influence |
| 4695 | - dragon under consideration is now allowed to contribute influence during |
| 4696 | computation of escape influence |
| 4697 | - mouse_find_lunches() made static to mouse.c |
| 4698 | - new autohelper function mouse_escape_value |
| 4699 | - 7 new patterns in mouse_defendpats.db, aiming at escape |
| 4700 | - new function mouse_connection_defends() in mouse.c |
| 4701 | - code revised in do_mouse_attack(), do_mouse_defend(), and |
| 4702 | mouse_mark_dragon() |
| 4703 | - mouse_mark_dragon now can take either one or two dragons |
| 4704 | - bugfix in do_mouse_attack(), two loop end conditions were off by one |
| 4705 | - bugfix in do_mouse_attack() and do_mouse_defend(), the second most |
| 4706 | important move was removed when pattern of value 99 found, but not third |
| 4707 | most important one |
| 4708 | - move_safety field of move_data struct initialized correctly in |
| 4709 | move_reasons.c |
| 4710 | - examine_move_safety() revised |
| 4711 | - order of examine_move_safety() and induce_secondary_move_reasons() calls |
| 4712 | reversed in review_move_reasons() |
| 4713 | - same_dragon() in utils.c revised to be able to deal with the "no dragon" |
| 4714 | case, i.e. (-1, -1) coordinates |
| 4715 | - effective_move measure revised to never include intersections further |
| 4716 | away than distance 4 |
| 4717 | |
| 4718 | 2.7.130 released July 11, 2000 |
| 4719 | |
| 4720 | - escape2 field removed from dragon_data struct together with code to |
| 4721 | compute it |
| 4722 | - patterns/escape.db removed |
| 4723 | - mouse status and if applicable attack and defense points printed by |
| 4724 | show_dragons() |
| 4725 | - bugfix in compute_escape_influence() in influence.c |
| 4726 | - revised debug and trace messages in mouse.c |
| 4727 | - new function examine_move_safety() in move_reasons.c |
| 4728 | - strategically_sound_defense() revised |
| 4729 | - more restrictions on which move reasons induce a block/expand move reason |
| 4730 | |
| 4731 | 2.7.129 released July 9, 2000 |
| 4732 | |
| 4733 | - redundant assignments removed from mouse.c |
| 4734 | - reading cache cleared after examine_position() call in |
| 4735 | sgffile_decidedragon() and sgffile_decideposition() |
| 4736 | - new file regression/games/incident262.sgf |
| 4737 | |
| 4738 | 2.7.128 released July 8, 2000 |
| 4739 | |
| 4740 | - obsolete declarations of black_domain and white_domain removed from |
| 4741 | liberty.h |
| 4742 | - dragon_escape() and compute_alternative_escape() in dragon.c revised |
| 4743 | - new function compute_escape_influence() in influence.c |
| 4744 | - new static functions compute_mouse_escape_values() and |
| 4745 | mouse_escape_route() in mouse.c |
| 4746 | - if --alternative_escape option enabled, do_mouse_attack() and |
| 4747 | do_mouse_defend() cut off reading if mouse_escape_route() report a |
| 4748 | sufficiently high escape potential |
| 4749 | - redundant file interface/debugboard/loadsgffile.c really removed |
| 4750 | - removed remaining occurences of return code 2 in do_mouse_attack() and |
| 4751 | do_mouse_defend() |
| 4752 | - new lunch pattern in patterns/conn.db |
| 4753 | |
| 4754 | 2.7.127 released July 6, 2000 |
| 4755 | |
| 4756 | - redundant file interface/debugboard/loadsgffile.c removed |
| 4757 | - parts of interface/play_solo.c moved into new file |
| 4758 | interface/loadsgffile.c |
| 4759 | - new library interface/libinterface.a for use by interface/debugboard |
| 4760 | - new files sgf/sgfkey.c and sgf/sgfkey.h to handle new abstract type |
| 4761 | sgfkey |
| 4762 | - find_border() renamed to examine_cavity() in worm.c |
| 4763 | - static functions propagate_worm_recursive() and libertiesrec() removed |
| 4764 | from worm.c |
| 4765 | - code in worm.c simplified and cleaned up |
| 4766 | - dragon genus initialized in make_dragons() instead of in make_worms() |
| 4767 | - new static functions dragon_escape() and compute_alternative_escape() |
| 4768 | in dragon.c |
| 4769 | - new option --alternative_escape to enable new escape route measure |
| 4770 | - new file /regression/games/incident261.sgf |
| 4771 | - one new test in regression/mouse.tst |
| 4772 | |
| 4773 | 2.7.126 released July 5, 2000 |
| 4774 | |
| 4775 | - change in definition to higher order liberties |
| 4776 | |
| 4777 | 2.7.125 released July 4, 2000 |
| 4778 | |
| 4779 | - statistics functions reset_mouse_node_counter() and |
| 4780 | get_mouse_node_counter() in mouse.c |
| 4781 | - corresponding new GTP commands reset_mouse_node_counter and |
| 4782 | get_mouse_node_counter |
| 4783 | - mouse.tst, ld_mouse.tst, and ld_mouse_life.tst reports the total number of |
| 4784 | nodes visited by the mouse reading |
| 4785 | - bugfix in mouse_determine_life(), attack and defense points for lunches |
| 4786 | were switched |
| 4787 | - constraints in some mouse patterns reordered for better performance |
| 4788 | - new files incident256.sgf and incident 258.sgf in regression/games |
| 4789 | - four new tests in regression/mouse.tst |
| 4790 | |
| 4791 | 2.7.124 released July 1, 2000 |
| 4792 | |
| 4793 | - tuning of mouse_defendpats.db |
| 4794 | - new files incident253.sgf and incident254.sgf in regression/games/ |
| 4795 | - two new tests in regression/mouse.tst |
| 4796 | - restructured and corrected coordinate conversion code in play_ascii.c |
| 4797 | |
| 4798 | 2.7.123 released June 27, 2000 |
| 4799 | |
| 4800 | - one new pattern in mouse_attackpats.db |
| 4801 | - new file regression/games/life_and_death/ld18.sgf |
| 4802 | - two new test cases in regression/ld*.tst |
| 4803 | - bugfixes in life.c |
| 4804 | - new GTP commands debug_move_influence, influence, move_influence, |
| 4805 | worm_data, and dragon_data |
| 4806 | - new function gtp_mprintf() in interface/gtp.c |
| 4807 | - new functions in influence.c to export influence data |
| 4808 | |
| 4809 | 2.7.122 released June 22, 2000 |
| 4810 | |
| 4811 | - partial implementation of debugboard eyes tab |
| 4812 | - black_domain[][] and white_domain[][] now static in optics.c |
| 4813 | - make_domains() restructured |
| 4814 | - xor() and unique_color() macros removed from showbord.c |
| 4815 | - support for boards smaller than 19x19 in debugboard |
| 4816 | - worm[][].attacki comparisons with -1 replaced everywhere with |
| 4817 | comparisons of worm[][].attack_code with 0 |
| 4818 | - likewise for worm[][].defendi and worm[][].defend_code |
| 4819 | - doc/dragon.texi revised |
| 4820 | - new GTP command debug_influence |
| 4821 | - code for debug printing restructured in influence.c |
| 4822 | |
| 4823 | 2.7.121 released June 20, 2000 |
| 4824 | |
| 4825 | - mouse option automatically enabled with decidedragon and decideposition |
| 4826 | options |
| 4827 | - matchpat() uses mouse status if available |
| 4828 | - new file regression/games/incident252.sgf |
| 4829 | - one new reading test |
| 4830 | |
| 4831 | 2.7.120 released June 17, 2000 |
| 4832 | |
| 4833 | - mouse lunches must have attack code 1 |
| 4834 | - bugfix in tryko sgf output |
| 4835 | - many reading functions take komaster argument |
| 4836 | - many reading functions made static |
| 4837 | - new functions do_attack and do_find_defense (with komaster) |
| 4838 | - cleanup in reading.c |
| 4839 | - doc revision |
| 4840 | - pattern Eye1 in conn.db taken out |
| 4841 | |
| 4842 | 2.7.119 released June 16, 2000 |
| 4843 | |
| 4844 | - new function gg_vsnprintf in gg_utils.c |
| 4845 | - check in configure.in for vwprintf |
| 4846 | - gg_vsnprintf used as workaround if vwprintf unavailable |
| 4847 | - fcntl/read stuff removed from debugboard |
| 4848 | - display_board_cursor() call added at the end of display_refresh() |
| 4849 | - leaveok() call removed from display_init() |
| 4850 | - debugboard cursor can be controlled by arrow keys |
| 4851 | - COLOR_* renamed to GG_COLOR_* to avoid name collision when using |
| 4852 | pdcurses |
| 4853 | - new file regression/games/life_and_death/ld17.sgf and new ld* test cases |
| 4854 | - non-options treated as filenames |
| 4855 | - new format strings %H and %C to vgprintf() and relatives |
| 4856 | - trymove() and tryko() write hash value together with node number to |
| 4857 | output sgf file |
| 4858 | - new files incident248.sgf and incident251.sgf in regression/games |
| 4859 | - decideeye() moved from utils.c to sgffile.c and renamed |
| 4860 | sgffile_decideeye() |
| 4861 | - decideeye option now can write variations to an sgf file |
| 4862 | - life code revisions |
| 4863 | - utils.texi revised |
| 4864 | - bugfix in attack_callback() in worm.c |
| 4865 | |
| 4866 | 2.7.118 released June 13, 2000 |
| 4867 | |
| 4868 | - minor sniff_lunch revision |
| 4869 | - new mouse_attack pattern |
| 4870 | - new file regression/games/reading03.tst. |
| 4871 | - one new reading test |
| 4872 | - check for curses also in -lpdcurses |
| 4873 | - check for term.h and curses.h in AC_CHECK_HEADERS |
| 4874 | instead of separate AC_CHECK_HEADER |
| 4875 | - new #define TERMINFO in config.h for the color |
| 4876 | code in gg_utils.c, debugboard builds with pdcurses |
| 4877 | on DJGPP despite the absence of term.h |
| 4878 | - workaround for the case when vwprintw is not available (as in pdcurses) |
| 4879 | in display_message() in interface/debugboard/display.c |
| 4880 | - print the error message about too small screen after the screen has been |
| 4881 | cleared in display_message() |
| 4882 | - use O_NONBLOCK as mask instead of FNDELAY since O_NONBLOCK |
| 4883 | is more widely available |
| 4884 | - remove HAVE_STRING_H use |
| 4885 | - include <winsock.h> instead of <windows32/sockets.h> for mingw |
| 4886 | included with new cygwin-1.1.1 release |
| 4887 | - cleanup of regression/Makefile.am |
| 4888 | - load_and_score_sgf_file() revised |
| 4889 | - life code revisions |
| 4890 | - default life eyesize increased from 8 to 10 |
| 4891 | - bugfix in mouse_attack() and mouse_defend() |
| 4892 | - decideeye() in utils.c revised |
| 4893 | - terse option removed |
| 4894 | - function remove_string_and_mark() removed from board.c |
| 4895 | - distance and strategic_distance code removed |
| 4896 | |
| 4897 | 2.7.117 released June 11, 2000 |
| 4898 | |
| 4899 | - bugfix in regression/Makefile.am |
| 4900 | - countsize() renamed to countstones() |
| 4901 | - new function findstones() |
| 4902 | - life.c completely rewritten |
| 4903 | - regression/games/marginal.sgf extended |
| 4904 | - new life and optics tests |
| 4905 | - depth values no longer reduced while running make_domains() |
| 4906 | - revision of topological_eye()-calling code in dragon.c and mouse.c |
| 4907 | - doc/utils.texi revised |
| 4908 | |
| 4909 | 2.7.116 released June 9, 2000 |
| 4910 | |
| 4911 | - goal now static to mouse.c |
| 4912 | - mouse_attack() and mouse_defend() usage simplified |
| 4913 | - mouse_effective_defense replaced by mouse_does_defend |
| 4914 | - doc revision |
| 4915 | - debugboard: strings renamed to worms |
| 4916 | - debugboard now gives info about dragons |
| 4917 | - debugboard now has a help screen |
| 4918 | - color_to_string enhanced with eye colors also |
| 4919 | - new function status_to_string in utils.c |
| 4920 | - regression/Makefile.am revised so that make check also works with a |
| 4921 | VPATH build |
| 4922 | - STACK_SIZE revised and assertion added in incremental_board.c |
| 4923 | - recognize_eyes2() now returns 0 if the eyespace is too large to evaluate |
| 4924 | - assertion added in eyehash_index() in life.c |
| 4925 | - size of hash table in life.c corrected |
| 4926 | - new function location_set_get_size() |
| 4927 | - bugfix in hadj() macro in optics.c |
| 4928 | - gtp.c keeps track of the board size in a static variable |
| 4929 | - one new reading test |
| 4930 | |
| 4931 | 2.7.115 released June 7, 2000 |
| 4932 | |
| 4933 | - regression/Makefile.am prepared for VPATH build |
| 4934 | - compiling without curses works again, debugboard disabled in that case |
| 4935 | - assert that color is BLACK or WHITE in do_trymove() |
| 4936 | - pass move in minimize_eyes() scored and tested together with the other |
| 4937 | legal moves |
| 4938 | - bugfix in maximize_eyes() |
| 4939 | - new GTP commands genmove_black and genmove_white |
| 4940 | - eyes1.sgf, eyes2.sgf, and eyes3.sgf in regression/games/ extended |
| 4941 | - new tests in optics.tst and life.tst |
| 4942 | |
| 4943 | 2.7.114 released June 6, 2000 |
| 4944 | |
| 4945 | - sniff_lunch revised and moved to mouse.c |
| 4946 | - mouse code classifies boundary strings |
| 4947 | - bugfix: mouse code was unsafe when stackp>0 |
| 4948 | - new functions do_mouse_attack() and do_mouse_defend |
| 4949 | - more careful includes in interface/debugboard/display.c |
| 4950 | - bugfix in incremental_sloppy_self_atari() |
| 4951 | - regression shell scripts revised |
| 4952 | - global variable color_has_played eliminated |
| 4953 | - new function stones_on_board() in board.c |
| 4954 | - movenum no longer used in fuseki.c |
| 4955 | - examine_position() avoids recomputing data that are up to date |
| 4956 | - caching of mouse reading results is no longer using code 2 to indicate a |
| 4957 | successful result for pass |
| 4958 | - new workaround for mangling of cached negative move coordinates |
| 4959 | - statistics functions reset_life_node_counter() and |
| 4960 | get_life_node_counter() in life.c |
| 4961 | - corresponding new GTP commands reset_life_node_counter and |
| 4962 | get_life_node_counter |
| 4963 | - life.tst, ld_life.tst, and ld_mouse_life.tst reports the total number of |
| 4964 | nodes visited by the life code |
| 4965 | - make_worms no longer returns anything |
| 4966 | - correct answer for mouse test 37 revised |
| 4967 | - temporary workaround in recognize_eye2(), chimeras are reported as one |
| 4968 | and a half eye |
| 4969 | - maximize_eyes() and minimize_eyes() score and sort the moves to test |
| 4970 | - performance optimizations in maximize_eyes() and minimize_eyes(), |
| 4971 | shortcut loops where possible unless all attack or defense moves are |
| 4972 | asked for |
| 4973 | - bugfix in maximize_eyes(), check for marginality when counting eyes |
| 4974 | |
| 4975 | 2.7.113 released June 5, 2000 |
| 4976 | |
| 4977 | - mouse lunches are sniffed |
| 4978 | - sniff_lunch revised |
| 4979 | - bugfix in mouse_find_lunches |
| 4980 | - new global mouse_goal_color |
| 4981 | - bugfix in mouse_topological_eye autohelper |
| 4982 | - decidedragon messages corrected when tenuki wins |
| 4983 | - mouse tuning |
| 4984 | - new function location_to_string() in utils.c |
| 4985 | - new function position_examine_position() in engine/interface.c |
| 4986 | - new program debugboard located in interface/debugboard/ |
| 4987 | - warning fixed in utils/gg_utils.c |
| 4988 | - comments about mapping of colors for linux console moved from showbord.c |
| 4989 | to utils/gg_utils.c |
| 4990 | - unused define -DBUILDING_GNUGO_ENGINE removed from engine/Makefile.am |
| 4991 | - config.h no longer included by moyo.c or showbord.c |
| 4992 | - new functions suicide() and self_atari() in board.c |
| 4993 | - a few approxlib() calls in reading.c replaced by suicide() and |
| 4994 | self_atari() |
| 4995 | - new files incident59.sgf, incident74.sgf, and reading02.sgf in |
| 4996 | regression/games |
| 4997 | - new mouse and reading test cases |
| 4998 | |
| 4999 | 2.7.112 released June 5, 2000 |
| 5000 | |
| 5001 | - optimizations of false_margin() |
| 5002 | - safe_move() no longer called from make_domains() if mouse code enabled |
| 5003 | - call to modify_eye_spaces1() from make_domains() disabled if mouse code |
| 5004 | enabled |
| 5005 | - bugfix in attack2() |
| 5006 | - bugfix in break_chain2() |
| 5007 | - duplicate comment block removed from reading.c |
| 5008 | - new files incident169.sgf, incident246.sgf, incident91.sgf, and |
| 5009 | reading01.sgf in regression/games |
| 5010 | - regression/games/life_and_death/ld11.sgf slightly revised |
| 5011 | - new mouse and reading test cases |
| 5012 | |
| 5013 | 2.7.111 released June 4, 2000 |
| 5014 | |
| 5015 | - comment added in attack4 |
| 5016 | - mouse_attack and mouse_defend call make_domains when stackp==0 |
| 5017 | - new files mouse04.sgf, incident185.sgf, incident186.sgf, |
| 5018 | incident199.sgf, and incident225.sgf in regression/games/ |
| 5019 | - new mouse and reading tests |
| 5020 | |
| 5021 | 2.7.110 released June 3, 2000 |
| 5022 | |
| 5023 | - init_color() in utils/gg_utils.c renamed to gg_init_color() to avoid |
| 5024 | name collision with curses library function |
| 5025 | |
| 5026 | 2.7.109 released June 3, 2000 |
| 5027 | |
| 5028 | - HASH64 removed from configure.in and acconfig.h |
| 5029 | - config.vcin brought in sync with config.h.in |
| 5030 | - macro UCHAR_ALIAS replaced by char |
| 5031 | - curses initialization and drawing code moved from moyo.c and showbord.c |
| 5032 | to utils/gg_utils.c |
| 5033 | - argument source_root removed from sgf_write_header |
| 5034 | - new files games/mouse02.sgf and games/mouse03.sgf |
| 5035 | - new tests, revised results |
| 5036 | - MAX_MOVES increased to 3 in mouse.c |
| 5037 | - attack4 tries a little harder |
| 5038 | - tuning of mouse patterns |
| 5039 | - life and death test cases 52-64 completed |
| 5040 | |
| 5041 | 2.7.108 released June 1, 2000 |
| 5042 | |
| 5043 | - mouse functions use a return code of 2 if tenuki works |
| 5044 | - Zobrist hashing extended to mouse_attack and mouse_defend |
| 5045 | - new function new_position() in board.c |
| 5046 | - warning fixed in life.c |
| 5047 | |
| 5048 | 2.7.107 released May 31, 2000 |
| 5049 | |
| 5050 | - random.c and random.h moved from engine/ to utils/ |
| 5051 | - gg_snprintf() and gg_gettimeofday() moved to new file utils/gg_utils.c |
| 5052 | and corresponding header file utils/gg_utils.h |
| 5053 | - new function gg_version() in utils/gg_utils.c |
| 5054 | - safe move cache implemented for mouse_shapes_callback |
| 5055 | - topological_eye autohelper function (taken down in 2.7.104) is back for mice |
| 5056 | - topological eye takes both eyespaces as parameters |
| 5057 | - 32 new life and death test cases, 1 new mouse test |
| 5058 | |
| 5059 | 2.7.106 released May 30, 2000 |
| 5060 | |
| 5061 | - tuning of mouse patterns |
| 5062 | - fuseki9.db rebuilt from a larger set of games |
| 5063 | - new game records and test cases |
| 5064 | |
| 5065 | 2.7.105 released May 29, 2000 |
| 5066 | |
| 5067 | - config.h only included by files which need it |
| 5068 | - one new mouse pattern |
| 5069 | - new test suite ld.tst with variations for --mouse and --life options; |
| 5070 | added for real this time |
| 5071 | - new dedicated fullboard pattern matcher for use with the fuseki |
| 5072 | databases |
| 5073 | - first move patterns in fuseki9.db and fuseki19.db no longer commented |
| 5074 | out |
| 5075 | - missing borders added in fuseki9.db and fuseki19.db |
| 5076 | - number of preambles in mkpat.c reduced from three to one |
| 5077 | - mkpat.c revised to also handle patterns for fullboard matcher |
| 5078 | - bugfix in make_dragons(), lunches weren't propagated to the whole dragon |
| 5079 | - one new pattern in eyes.db |
| 5080 | - pattern Lunch2 in conn.db revised |
| 5081 | - regression/games/marginal.sgf revised |
| 5082 | - new optics and life regression test cases |
| 5083 | |
| 5084 | 2.7.104 released May 28, 2000 |
| 5085 | |
| 5086 | - topological_eye takes the eye_data as a parameter |
| 5087 | - newgoal removed from mouse_attack |
| 5088 | - mouse_attack wins if ALL strings of original dragon are taken |
| 5089 | - topological_eye autohelper function temporarily taken down |
| 5090 | - mouse apat A39 revised |
| 5091 | - make_dragons does not add_lunch if lunch already eaten |
| 5092 | - doc revision |
| 5093 | - new function false_marginal_eye in life.c |
| 5094 | - new eye pattern for 4 point linear eye with a false margin |
| 5095 | - Tests for life and optics restructured |
| 5096 | - New tests for false margins |
| 5097 | - config.h only included by files which need it, plus still liberty.h |
| 5098 | - new GTP command dragon_status |
| 5099 | - new test suite ld.tst with variations for --mouse and --life options |
| 5100 | - shell scripts in regression/ revised |
| 5101 | - new game records ld1.sgf -- ld8.sgf in regression/games/life_and_death |
| 5102 | |
| 5103 | 2.7.103 released May 27, 2000 |
| 5104 | |
| 5105 | - new fields height and width added to the pattern struct |
| 5106 | - bugfix in fixup_patterns_for_board_size() in matchpat.c; matching now |
| 5107 | works correctly also when the board size changes between calls to |
| 5108 | matchpat |
| 5109 | - bugfixes in does_attack() and does_defend() in utils.c |
| 5110 | - bugfix in false_margin() in optics.c |
| 5111 | |
| 5112 | 2.7.102 released May 26, 2000 |
| 5113 | |
| 5114 | - better documentation of life code in the source |
| 5115 | - life.c handles false marginals |
| 5116 | - new function: location_set_isempty() in location_set.c |
| 5117 | - regression/games/marginal.sgf revised |
| 5118 | - new optics and life tests |
| 5119 | |
| 5120 | 2.7.101 released May 25, 2000 |
| 5121 | |
| 5122 | - revised doc/gnugo-logo.jpg and doc/gnugo-logo.jpg |
| 5123 | - new tests in reading.tst and mouse.tst |
| 5124 | - bugfixes in test files |
| 5125 | |
| 5126 | 2.7.100 released May 24, 2000 |
| 5127 | |
| 5128 | - minimize_eyes and maximize_eyes simplified and bugfixed |
| 5129 | - better documentation of the hash table in life.c |
| 5130 | - some cleanup in life.c, optics.c |
| 5131 | - new format character 'x' in vgprintf (utils.c) |
| 5132 | - improved printing of pass moves when %m is used in vgprintf |
| 5133 | - default life_eyesize increased to 8 |
| 5134 | - new eye tests |
| 5135 | |
| 5136 | 2.7.99 released May 23, 2000 |
| 5137 | |
| 5138 | - suffix rules for .gtp and .res in regression/Makefile |
| 5139 | - new regression files regression/*.tst |
| 5140 | - regression shell scripts revised |
| 5141 | - regression/expected removed |
| 5142 | - several new files in regression/games |
| 5143 | - several new regression tests |
| 5144 | - regression/ directory now under control of automake |
| 5145 | |
| 5146 | 2.7.98 released May 22, 2000 |
| 5147 | |
| 5148 | - false marginals are renamed false margins |
| 5149 | - eyespace search revised in mouse_determine_life |
| 5150 | - new file regression/expected |
| 5151 | - new targets in regression/Makefile |
| 5152 | - regression/games/false_marginal.sgf renamed regression/games/marginal.sgf |
| 5153 | - mouse tuning |
| 5154 | - several new files in regression/games |
| 5155 | - several new tests in regression/mouse.gtp, regression/eyes.gtp, and |
| 5156 | regression/reading.gtp |
| 5157 | - new GTP commands trymove, popgo, dump_stack, increase_depths, and |
| 5158 | decrease_depths |
| 5159 | - new function gtp_decode_move() in interface/gtp.c |
| 5160 | - ko eyes assigned to a dragon so halfeye analysis is performed |
| 5161 | - old regression files in regression/obsolete/ removed |
| 5162 | |
| 5163 | 2.7.97 released May 21, 2000 |
| 5164 | |
| 5165 | - false marginals are detected during make_domains |
| 5166 | - new function false_marginal |
| 5167 | - new file regression/games/false_marginal.sgf |
| 5168 | - regression tests in regression/eyes reimplemented to use GTP |
| 5169 | - regression shell scripts revised |
| 5170 | - new targets in regression/Makefile to test optics and life code |
| 5171 | - new global variable position_number which is increased any time a real |
| 5172 | move (not a trymove) is made or the board is permanently changed by some |
| 5173 | other means |
| 5174 | - safe_move cache modified to use position_number instead of movenum |
| 5175 | - caches in moyo.c modified likewise |
| 5176 | - new function setup_board() in board.c |
| 5177 | - the functions in engine/interface.c no longer modifies the global board |
| 5178 | on their own |
| 5179 | - new function gtp_finish_response in interface/gtp.c |
| 5180 | - new gtp command eval_eye |
| 5181 | |
| 5182 | 2.7.96 released May 20, 2000 |
| 5183 | |
| 5184 | - GTP documented |
| 5185 | - new file doc/gtp.texi |
| 5186 | - reading test suite extended |
| 5187 | - regression shell scripts revised |
| 5188 | - bugfix in gtp_loadsgf() |
| 5189 | - output from gtp_attack(), gtp_defend(), gtp_mouse_attack(), and |
| 5190 | gtp_mouse_defend() revised |
| 5191 | |
| 5192 | 2.7.95 released May 19, 2000 |
| 5193 | |
| 5194 | - new interface: GTP, Go Text Protocol |
| 5195 | - new files in interface/: gtp.c, gtp.h, and play_gtp.c |
| 5196 | - old contents of regression/ moved to regression/obsolete/ |
| 5197 | - new regression scripts and suits in regression/ |
| 5198 | - doc/regression.texi revised |
| 5199 | |
| 5200 | 2.7.94 released May 18, 2000 |
| 5201 | |
| 5202 | - bugfixes in mouse.c |
| 5203 | |
| 5204 | 2.7.93 released May 16, 2000 |
| 5205 | |
| 5206 | - writesgf() split into sgf_write_header() and writesgf() |
| 5207 | |
| 5208 | 2.7.92 released May 14, 2000 |
| 5209 | |
| 5210 | - bugfix in utils.c, config.h included before using information from |
| 5211 | configure tests |
| 5212 | |
| 5213 | 2.7.91 released May 14, 2000 |
| 5214 | |
| 5215 | - all functions in sgffile.c are now prefixed with sgffile_ instead of |
| 5216 | sgf_ to separate them from functions which handle SGF trees |
| 5217 | - some minor cleanup in dragon.c |
| 5218 | - globals last_move_i, last_move_j made local to interface/play_ascii.c |
| 5219 | - functions save_state() and restore_state() removed together with |
| 5220 | variables white_captured_backup and black_captured_backup. |
| 5221 | - move reasons are now sorted |
| 5222 | - inclusion of sys/time.h made contingent on HAVE_SYS_TIME_H in utils.c |
| 5223 | - inclusion of time.h and/or sys/time.h removed from hash.c and |
| 5224 | interface/play_solo.c |
| 5225 | - one new pattern in eyes.db |
| 5226 | |
| 5227 | 2.7.90 released May 12, 2000 |
| 5228 | |
| 5229 | - bugfixes in play_gmp.c, play_solo.c, and play_test.c; gameinfo correctly |
| 5230 | initialized |
| 5231 | - cleanup of play_gmp.c |
| 5232 | |
| 5233 | 2.7.89 released May 10, 2000 |
| 5234 | |
| 5235 | - bugfixes in main.c; decidestring, decidedragon, and decideeye options |
| 5236 | work correctly again |
| 5237 | - new function color_to_string() in utils.c |
| 5238 | |
| 5239 | 2.7.88 released May 9, 2000 |
| 5240 | |
| 5241 | - minor tuning of mouse_attackpats.db |
| 5242 | - extended documentation of influence function |
| 5243 | - new function unconditional_life() in utils.c |
| 5244 | - MAX_STRINGS macro moved from incremental_board.h to liberty.h |
| 5245 | - unused variable removed from do_pass() in play_ascii.c |
| 5246 | |
| 5247 | 2.7.87 released May 8, 2000 |
| 5248 | |
| 5249 | - guess_mode_from_sgf_comment() removed |
| 5250 | - coordinates (-1, -1) are now always used for pass moves (rather than |
| 5251 | (board_size, board_size)) |
| 5252 | - obsolete and unused debug flags marked in gnugo.h |
| 5253 | - inclusion of sys/types.h removed from gmp.c |
| 5254 | - unused function str2short() removed from sgf_utils.c |
| 5255 | - cleanup of play_solo.c, play_test.c, and sgf_utils.c |
| 5256 | - bugfix: move number again passed from the interfaces to the engine |
| 5257 | |
| 5258 | 2.7.86 released May 7, 2000 |
| 5259 | |
| 5260 | - doc revision |
| 5261 | - more comments in the code for multiple diagonals of a halfeye |
| 5262 | - extended debug outputs in optics.c |
| 5263 | - bugfix in hash.c |
| 5264 | - new datataype Gameinfo |
| 5265 | - Gameinfo used everywhere in interface/*.c |
| 5266 | - Gameinfo used instead of Position in a few places otherwise |
| 5267 | - new function: position_recordhand() |
| 5268 | - board_size no longer public; moved from gnugo.h to liberty.h |
| 5269 | - several small functions removed from interface/interface.c |
| 5270 | - bugfix in regression/Makefile |
| 5271 | - bugfix in mkpat.c |
| 5272 | |
| 5273 | 2.7.85 released May 5, 2000 |
| 5274 | |
| 5275 | - bugfix in recognize_eye() |
| 5276 | |
| 5277 | 2.7.84 released May 3, 2000 |
| 5278 | |
| 5279 | - multiple vital eye moves in conjunction with topological halfeyes |
| 5280 | supported in both optics and life code |
| 5281 | - compiler warnings fixed in interface/play_ascii.c and engine/interface.c |
| 5282 | - parameter names added to function prototypes in interface/interface.h |
| 5283 | |
| 5284 | 2.7.83 released May 1, 2000 |
| 5285 | |
| 5286 | - new functions in engine/interface.c |
| 5287 | - p[][], ko_i, ko_j, black_captured, white_captured moved from gnugo.h |
| 5288 | to liberty.h, i.e. made local to the engine |
| 5289 | - attack() and find_defense() also made local to the engine |
| 5290 | - board handling functions removed from interface/interface.c |
| 5291 | - all interface functions in interface/interface.c now use the Position |
| 5292 | datatype |
| 5293 | - sgfAddMoveFromTree() and sgfPlayTree() moved from sgfana.c to ttsgf.c |
| 5294 | - minor tuning of mouse_defendpats.db |
| 5295 | |
| 5296 | 2.7.82 released April 30, 2000 |
| 5297 | |
| 5298 | - new file engine/interface.c included for real this time |
| 5299 | - removed types SGFNodeP and SGFPropertyP |
| 5300 | - play_solo() and play_gmp() now plays on a Position. |
| 5301 | - get_moveXY moved from play_solo.c to sgf_utils.c |
| 5302 | - minor cleanup in a number of places |
| 5303 | - main.h moved from engine/ to interface/ |
| 5304 | |
| 5305 | 2.7.81 released April 28, 2000 |
| 5306 | |
| 5307 | - new function sniff_lunch (unused and untested) |
| 5308 | - new function remove_string_and_mark |
| 5309 | - originate_eye now public |
| 5310 | - add_half_eye now takes half_eye array as an argument |
| 5311 | - doc revision |
| 5312 | - jump_out_helper() rewritten to use influence function rather than |
| 5313 | strategic distance |
| 5314 | - matchpat_db() renamed to matchpat() |
| 5315 | - redundant autohelper function singleton() removed |
| 5316 | |
| 5317 | 2.7.80 released April 27, 2000 |
| 5318 | |
| 5319 | - bugfix in hash_rand() |
| 5320 | - obsolete -DBUILDING_GNUGO_ENGINE removed from patterns/Makefile.am |
| 5321 | - countlib2(), findlib2(), and approxlib2() renamed to countlib(), |
| 5322 | findlib(), and approxlib() respectively |
| 5323 | - minor tuning of influence.db |
| 5324 | |
| 5325 | 2.7.79 released April 26, 2000 |
| 5326 | |
| 5327 | - count of hash collisions added to the --statistics option |
| 5328 | - new files random.c and random.h with an implementation of a twisted |
| 5329 | GFSR random number generator |
| 5330 | - all calls to rand() or random() replaced by calls to the local random |
| 5331 | number generator |
| 5332 | - test for random() removed from configure.in |
| 5333 | |
| 5334 | 2.7.78 released April 25, 2000 |
| 5335 | |
| 5336 | - sgf/sgf.c moved to the engine and renamed to sgffile.c |
| 5337 | - sgf/sgf.h removed; declarations moved to gnugo.h and liberty.h |
| 5338 | - removed a few declarations for non-existent functions from sgf_utils.h |
| 5339 | - analyzerflag moved to globals.c |
| 5340 | - new file: engine/interface.c |
| 5341 | - some functions for handling positions. |
| 5342 | - ttsgf_read.c and ttsgf_write.c integrated into ttsgf.c |
| 5343 | - bugfix in sgfPlayTree() |
| 5344 | - old approxlib() removed |
| 5345 | - bugfix in life.c |
| 5346 | - local random generator removed from hash.c |
| 5347 | - cleanup of hash.c |
| 5348 | - simplified typedefs in hash.h |
| 5349 | |
| 5350 | 2.7.77 released April 24, 2000 |
| 5351 | |
| 5352 | - doc of the colored influence displays added |
| 5353 | - new function hashdata_diff_dump() for use in assertions |
| 5354 | - local random generator in hash.c |
| 5355 | - revised types in hashing code |
| 5356 | - bugfix in semeai_analyzer() |
| 5357 | - order of engine/ and pattern/ builds changed back |
| 5358 | - extract_fuseki no longer built by default |
| 5359 | - bugfixes in extract_fuseki.c |
| 5360 | - tuning of influence.db |
| 5361 | - bugfixes in patterns.db |
| 5362 | |
| 5363 | 2.7.76 released April 23, 2000 |
| 5364 | |
| 5365 | - revised assertions in add_stone() and remove_stone() |
| 5366 | - declaration and initialization of color_has_played moved from interface/ |
| 5367 | to engine/ |
| 5368 | - hashtable_clear no longer crashes if passed a NULL pointer |
| 5369 | - warning if hashtable allocation fails |
| 5370 | - new database matching step in the fuseki module |
| 5371 | - new experimental option --fusekidb to enable fuseki database matching |
| 5372 | - new program patterns/extract_fuseki.c which compiles a fuseki database |
| 5373 | in patterns.db format from a collection of game records |
| 5374 | - new pattern databases fuseki9.db and fuseki19.db containing 9x9 and |
| 5375 | 19x19 fuseki databases respectively |
| 5376 | - bugfix in influence.c to stop a single stone from claiming the whole board |
| 5377 | - libengine is now built before the patterns/ subdirectory is compiled |
| 5378 | |
| 5379 | 2.7.75 released April 20, 2000 |
| 5380 | |
| 5381 | - recognize_eye() and recognize_eye2() looks for all vital eye points and |
| 5382 | passes them to the move generation |
| 5383 | - eyes.db format extended for multiple vital moves and database revised |
| 5384 | - liberty counting functions in incremental_board.c restructured to agree |
| 5385 | with the new corresponding functions in board.c |
| 5386 | - approxlib() and countlib() calls converted to countlib2(), findlib2(), |
| 5387 | and approxlib2() calls |
| 5388 | - countlib() macro removed |
| 5389 | - accurate_approxlib() revised and accurate_countlib() macro removed |
| 5390 | - autohelper lib() can now be used for stackp>0 |
| 5391 | - TODO revised |
| 5392 | |
| 5393 | 2.7.74 released April 19, 2000 |
| 5394 | |
| 5395 | - obsolete code removed from genmove() |
| 5396 | - board_t renamed to Intersection |
| 5397 | - new Position struct added in gnugo.h |
| 5398 | - print_influence() now prints everything to stderr |
| 5399 | |
| 5400 | 2.7.73 released April 18, 2000 |
| 5401 | |
| 5402 | - revised TODO |
| 5403 | - renamed static function compile_for_match_new() back to |
| 5404 | compile_for_match() |
| 5405 | - removed all external calls to compile_for_match() |
| 5406 | - minor cleanup in globals.c |
| 5407 | - don't regard marginal eye points as real eyes in the life code |
| 5408 | - neighbors to marginal eye points may be captured in the life code |
| 5409 | |
| 5410 | 2.7.72 released April 13, 2000 |
| 5411 | |
| 5412 | - old board code removed from board.c |
| 5413 | - new functions countlib2(), findlib2(), and approxlib2(), intended to |
| 5414 | replace approxlib() |
| 5415 | |
| 5416 | 2.7.71 released April 12, 2000 |
| 5417 | |
| 5418 | - bugfixes in the hashing code, now CHECK_HASHING works again |
| 5419 | - pattern database code restructured, explicit calls to compile_for_match() |
| 5420 | no longer needed |
| 5421 | - apats.db renamed to mouse_attackpats.db and dpats.db renamed to |
| 5422 | mouse_defendpats.db |
| 5423 | - minor cleanup of dragon.c, life.c, optics.c, and patterns/patterns.h |
| 5424 | - documentation of hashing added to doc/reading.texi |
| 5425 | - cleanup of filllib.c |
| 5426 | |
| 5427 | 2.7.70 released April 10, 2000 |
| 5428 | |
| 5429 | - doc revision |
| 5430 | - bug fix in fill_liberty |
| 5431 | - compiler warning fix |
| 5432 | - simplified implementation of double_threat() |
| 5433 | - improved trace messages in confirm_safety() |
| 5434 | - depth values increased during reading in confirm_safety() |
| 5435 | |
| 5436 | 2.7.69 released April 9, 2000 |
| 5437 | |
| 5438 | - bugfix in regression/eyes/test.sh |
| 5439 | - revision of confirm_safety |
| 5440 | - revision of review_move_reasons |
| 5441 | - new function double_atari |
| 5442 | - new function accurate_approxlib |
| 5443 | - accurate_countlib takes *libi, *libj as parameters |
| 5444 | - fill_liberty tries to avoid setting up double ataris |
| 5445 | - doc revision |
| 5446 | - load_and_analyze_sgf_file assumes color_has_played |
| 5447 | - bugfix in mouse_determine_life |
| 5448 | |
| 5449 | 2.7.68 released April 7, 2000 |
| 5450 | |
| 5451 | - New switch --terse for test output |
| 5452 | - Various minor cleanups |
| 5453 | - life.c much commented |
| 5454 | - regression tests for life code using --decideeye in regression/eyes |
| 5455 | |
| 5456 | 2.7.67 released April 5, 2000 |
| 5457 | |
| 5458 | - check for size of int and long in configure |
| 5459 | - configure option --enable-hash64 |
| 5460 | - separate options --life and --life_eyesize <n> |
| 5461 | - reformatting of help string to fit 80 columns |
| 5462 | - bugfix in play_ascii.c |
| 5463 | - minor tuning of patterns.db |
| 5464 | |
| 5465 | 2.7.66 released April 4, 2000 |
| 5466 | |
| 5467 | - point of attack and point of defense considered separately by |
| 5468 | compute_eyes(), recognize_eye(), topological_eye(), and half_eye_data |
| 5469 | - make_dragons() now take color to play as parameter |
| 5470 | - (defensei, defensej) renamed (defendi, defendj) in a number of places |
| 5471 | - minor tuning of patterns2.db |
| 5472 | |
| 5473 | 2.7.65 released April 3, 2000 |
| 5474 | |
| 5475 | - removed trailing ',' symbols in enums in main.c and gmp.c |
| 5476 | - extraneous declaration of deltai[] and deltaj[] removed from influence.c |
| 5477 | - bugfixes in the CHECK_HASHING code |
| 5478 | - bugfix in play_ascii.c, repeated save and load now works |
| 5479 | - compile_for_match() added in two places |
| 5480 | - keep track of attack and defense points of mouse_lunches |
| 5481 | - revision of mouse_find_lunches() and mouse_lively() |
| 5482 | - minor doc revision |
| 5483 | - aesthetic reformatting in eyes.db |
| 5484 | - declaration of incremental board functions moved from liberty.h to |
| 5485 | incremental_board.h |
| 5486 | - new function incremental_mark_string() in incremental_board.c |
| 5487 | - replaced mouse_mark_strings() with a generic mark_string() in board.c |
| 5488 | |
| 5489 | 2.7.64 released April 2, 2000 |
| 5490 | |
| 5491 | - updated DJGPP info |
| 5492 | - removed leading white space in windows.texi for more nicely formatted |
| 5493 | info files |
| 5494 | - removed obsolete workaround for a texi2html missing feature. |
| 5495 | - added members defendi and defendj to struct eye_data |
| 5496 | - recognize_eye2 now returns point of defense as well as point |
| 5497 | of attack for an eye |
| 5498 | - compute_eye now reports defense point as well as attack point |
| 5499 | - recognize_eye2 now considers if the boundary of the eye is |
| 5500 | captured during eye reading |
| 5501 | - speed optimizations in recognize_eye2 |
| 5502 | - 5 new functions in location_set.c |
| 5503 | - small bugfix in showbord.c |
| 5504 | - small bugfix(?) in main.c |
| 5505 | - small cleanup in dragon.c |
| 5506 | - new function mouse_effective_defense() |
| 5507 | - if the mouse code is enabled, strategically_sound_defense() invokes |
| 5508 | mouse_effective_defense() |
| 5509 | |
| 5510 | 2.7.63 released April 2, 2000 |
| 5511 | |
| 5512 | - new function attack1() to determine whether a string in atari can be |
| 5513 | captured |
| 5514 | - snapback() made obsolete and removed |
| 5515 | |
| 5516 | 2.7.62 released April 1, 2000 |
| 5517 | |
| 5518 | - bugfix in evaluate_diagonal_intersection() |
| 5519 | - evaluate_diagonal_intersection moved to optics.c and made static |
| 5520 | - new function topological_eye |
| 5521 | - new autohelper option topological_eye |
| 5522 | - doc revision |
| 5523 | - mouse tuning |
| 5524 | - hashvalue test whether matchpat is properly prepared for the board |
| 5525 | position being matched |
| 5526 | - compile_for_match() added in a few places |
| 5527 | - modify_eye_spaces1() and find_cuts() not used when make_domains() is |
| 5528 | called from the mouse code |
| 5529 | - minor bugfixes in life.c and board.c |
| 5530 | - minor tuning of patterns2.db |
| 5531 | |
| 5532 | 2.7.61 released March 31, 2000 |
| 5533 | |
| 5534 | - bugfix in recognize_eyes2() so it can be used for stackp>0 |
| 5535 | - reloading of files in ascii mode is documented |
| 5536 | - mouse code tries tenuki if no move of value >40 found |
| 5537 | - dpat revision |
| 5538 | - eye pattern 524 removed |
| 5539 | - obsolete fixme removed from patterns2.db |
| 5540 | - new function move_in_stack() in board.c |
| 5541 | - improved debug output in life.c |
| 5542 | - decideeye() disables trace outputs during make_worms() and make_dragons() |
| 5543 | |
| 5544 | 2.7.60 released March 30, 2000 |
| 5545 | |
| 5546 | - doc revision |
| 5547 | - new option --life to enable the life code |
| 5548 | - new function initialize_engine() in genmove.c |
| 5549 | - bugfixes in sgf_decidedragon(), sgf_decideposition(), and decideeye() |
| 5550 | - modify_eye_spaces1() only called from make_domains() if stackp==0 |
| 5551 | - loop unrolling in accumulate_influence enabled |
| 5552 | |
| 5553 | 2.7.59 released March 29, 2000 |
| 5554 | |
| 5555 | - new file life.c with eye reading code |
| 5556 | - new file location_set.c with a utility class that contains a set of |
| 5557 | locations on the go board |
| 5558 | - bew file location_set.h with headers for location_set.c |
| 5559 | - bugfix in board.c which makes the allocation of hash nodes correct |
| 5560 | - separation of the examination step of genmove() into it's own |
| 5561 | function, examine_position(), and calls to this function in a number of |
| 5562 | places |
| 5563 | - some comments added in mouse.c plus some cleanup |
| 5564 | - new option --decideeye which tells the status of an eye |
| 5565 | - new function get_coordinate() in main.c |
| 5566 | - black_eye and white_eye passed as arguments to make_domains |
| 5567 | - private black_eye and white_eye arrays for mouse.c |
| 5568 | - eye pattern added to eyes.db |
| 5569 | - bugfix in unrolled accumulate_influence() |
| 5570 | - bugfix in move_reasons.c |
| 5571 | |
| 5572 | 2.7.58 released March 28, 2000 |
| 5573 | |
| 5574 | - loop unrolling in accumulate_influence(), initially disabled by default |
| 5575 | |
| 5576 | 2.7.57 released March 27, 2000 |
| 5577 | |
| 5578 | - doc revision |
| 5579 | - compile_for_match() called again after running mouse code from genmove() |
| 5580 | - mouse_genmove() removed from utils.c (was unused) |
| 5581 | - doc/MOUSE and doc/INFLUENCE removed from distribution, all material is |
| 5582 | included in the Texinfo documentation |
| 5583 | - matchpat aborts if color==EMPTY |
| 5584 | - mouse_attack returns true if trymove captures |
| 5585 | - unnecessary test eschewed in mouse_find_lunches |
| 5586 | - corrected: debug flag set wrong in main.c with --mouse |
| 5587 | |
| 5588 | 2.7.56 released March 25, 2000 |
| 5589 | |
| 5590 | - optics.c: redefinition of lively for mousing |
| 5591 | - new functions mouse_find_lunches and mouse_lively |
| 5592 | - new DEBUG_MOUSE debug option |
| 5593 | - does_attack and does_defend no longer require stackp==0 |
| 5594 | - new apats and dpats |
| 5595 | - doc revision |
| 5596 | - sethand.c: bugfix in placehand(), use add_stone() instead of |
| 5597 | manipulating p[][] directly |
| 5598 | |
| 5599 | 2.7.55 released March 25, 2000 |
| 5600 | |
| 5601 | - initialize dragon.mouse_attack and dragon.mouse_defend |
| 5602 | - revaluation of joseki database |
| 5603 | - hashing code revised for 64 bit architectures |
| 5604 | - Makefile added to regression subdirectory and regress.sh revised |
| 5605 | - minor tuning of patterns.db |
| 5606 | - AUTHORS and doc/introduction.texi revised |
| 5607 | |
| 5608 | 2.7.54 released March 23, 2000 |
| 5609 | |
| 5610 | - revised eye patterns, prefer to play on marginal vital points |
| 5611 | - doc revision |
| 5612 | - introduction moved from incremental.c to texinfo |
| 5613 | - special value 99 implemented for apats and dpats |
| 5614 | - new apats and dpats |
| 5615 | - AUTHORS and doc/introduction.texi revised |
| 5616 | - accurate_countlib revised |
| 5617 | - slow_findlib() added in incremental_board.c so that |
| 5618 | incremental_findlib() and incremental_countlib() can handle all cases |
| 5619 | |
| 5620 | 2.7.53 released March 21, 2000 |
| 5621 | |
| 5622 | - bugfixes and other revisions of the incremental board code |
| 5623 | - incremental board code enabled by default |
| 5624 | - new function accurate_countlib() in utils.c |
| 5625 | - a few countlib() calls replaced by accurate_countlib() |
| 5626 | - minor bugfix in connection_value2 |
| 5627 | |
| 5628 | 2.7.52 released March 19, 2000 |
| 5629 | |
| 5630 | - bugfix: decidestring and decidedragons were getting depth 0 |
| 5631 | - new apats and dpats |
| 5632 | - minor cleanup of join_dragon invocations |
| 5633 | - mouse code reports findings (temporary measure) |
| 5634 | - doc revision |
| 5635 | |
| 5636 | 2.7.51 released March 18, 2000 |
| 5637 | |
| 5638 | - doc revision |
| 5639 | - hurry >= 3 turns off some features |
| 5640 | - adjust configure.in, config.vc and sgf/ttsgf.c |
| 5641 | to test for vsnprintf instead of snprintf |
| 5642 | - replace an embedded newline in a #defined |
| 5643 | string in main.c with an explicit \n |
| 5644 | - remove trailing ',' characters in enum |
| 5645 | declarations |
| 5646 | - include interface.h in sgf_utils.h so |
| 5647 | that enum testmode is defined when declaring |
| 5648 | guess_mode_from_sgf_comment. |
| 5649 | - bugfix in break_through_helper() |
| 5650 | |
| 5651 | 2.7.50 released March 17, 2000 |
| 5652 | |
| 5653 | - new option --showtime makes genmove report its time |
| 5654 | - new option --hurry decrements depth parameters |
| 5655 | - hurry can be set during ascii play |
| 5656 | - new global variables hurry and showtime |
| 5657 | - gg_gettimeofday made global |
| 5658 | - new global variables nominal_depth, nominal_backfill_depth, |
| 5659 | nominal_fourlib_depth, and nominal_ko_depth |
| 5660 | |
| 5661 | 2.7.49 released March 15, 2000 |
| 5662 | |
| 5663 | - bugfix in make_dragons (--mouse could cause crash) |
| 5664 | - bugfix in mouse_determine_life |
| 5665 | - bugfix in vgprintf |
| 5666 | - new function vital_chain |
| 5667 | - new autohelper functions singleton and vital_chain |
| 5668 | - mouse tuning |
| 5669 | - new eye pattern |
| 5670 | - mouse code documented |
| 5671 | - string.h included in incremental_board.c to stop warning |
| 5672 | - sgf functions cleaned up by passing around a file handle instead of |
| 5673 | sharing a global one |
| 5674 | - minor optimizations in break_chain() and relative_break_chain() |
| 5675 | - minor changes and more comments in incremental_board.c |
| 5676 | - stack implementation revised in incremental_board.h |
| 5677 | |
| 5678 | 2.7.48 released March 14, 2000 |
| 5679 | |
| 5680 | - new global variable mouse |
| 5681 | - new functions mouse_reasons, add_mouse_attack_move, add_mouse_defend_move |
| 5682 | - new option --mouse |
| 5683 | - support for loading a position from file and continue playing with the |
| 5684 | ascii interface |
| 5685 | |
| 5686 | 2.7.47 released March 13, 2000 |
| 5687 | |
| 5688 | - singleton() moved from utils.c to board.c |
| 5689 | - new files incremental_board.c and incremental_board.h, supplying an |
| 5690 | implementation of incremental board updates |
| 5691 | - support for incremental board updates added to board.c but still disabled |
| 5692 | - updateboard() made static to board.c |
| 5693 | - return type of pushgo() and popgo() changed to void |
| 5694 | - new function play_move() replaces updateboard() for use from interfaces |
| 5695 | |
| 5696 | 2.7.46 released March 10, 2000 |
| 5697 | |
| 5698 | - chainlinks() and chain() moved from reading.c to board.c |
| 5699 | - find_origin() moved from utils.c to board.c |
| 5700 | - count() made static to board.c |
| 5701 | |
| 5702 | 2.7.45 released March 9, 2000 |
| 5703 | |
| 5704 | - globals global_size, global_lib, global_libi, and global_libj eliminated |
| 5705 | - new function countsize() in board.c |
| 5706 | - tenuki (?) implemented for autohelpers |
| 5707 | - two autohelpers in patterns.db and one in dpats.db use tenuki |
| 5708 | - type omitted from findex entries |
| 5709 | - decideposition takes a color option |
| 5710 | - if (MOUSE) then showboard prints two diagrams |
| 5711 | - new apats and dpats |
| 5712 | - error messages in mkpat slightly revised |
| 5713 | - Martijn van der Kooij and NNGS are thanked |
| 5714 | - minor spelling corrections in Texinfo documentation |
| 5715 | - windows.texi revised |
| 5716 | |
| 5717 | 2.7.44 released March 8, 2000 |
| 5718 | |
| 5719 | - globals size, lib, libi, libj renamed global_size, global_lib, |
| 5720 | global_libi, global_libj |
| 5721 | - new parameters to count(), approxlib(), and countlib() for passing |
| 5722 | liberty locations |
| 5723 | - bug fixed in mouse_determine_life which could cause crash |
| 5724 | - new option --decideposition |
| 5725 | - showboard can display mouse_status |
| 5726 | - mouse_status computed in dragon.c |
| 5727 | - a few new apats and dpats |
| 5728 | - findex entries omit parameters |
| 5729 | - windows installation instructions added to Texinfo documentation |
| 5730 | |
| 5731 | 2.7.43 released March 7, 2000 |
| 5732 | |
| 5733 | - connection_value2() revised |
| 5734 | - type of potential_move array changed to int |
| 5735 | - updated VC project files |
| 5736 | |
| 5737 | 2.7.42 released March 6, 2000 |
| 5738 | |
| 5739 | - mouse goal array changed from int to char |
| 5740 | - C patterns implemented for mouse patterns |
| 5741 | - bugfix in mouse_defense: misplaced popgo() popped |
| 5742 | - new function goaldump for debugging |
| 5743 | - new function mouse_mark (like count but does not mark liberties) |
| 5744 | - new mouse patterns |
| 5745 | - cleanup of interface.c |
| 5746 | - pushgo() made static |
| 5747 | - pattern profiling output now computes the total number of hits and |
| 5748 | reading nodes |
| 5749 | - O symmetry introduced in barriers.db |
| 5750 | |
| 5751 | 2.7.41 released March 5, 2000 |
| 5752 | |
| 5753 | - documentation revision |
| 5754 | - new file doc/influence.texi |
| 5755 | - move generation functions are documented in Texinfo |
| 5756 | - influence.c functions are documented in Texinfo |
| 5757 | - short section on Migration removed from move_generation.texi |
| 5758 | - new pattern profiling option --profile_patterns |
| 5759 | - minor tuning |
| 5760 | - new symmetry class 'O' |
| 5761 | - joseki pattern values reduced to a third |
| 5762 | |
| 5763 | 2.7.40 released March 4, 2000 |
| 5764 | |
| 5765 | - doc revision |
| 5766 | - tryko returns 0 if suicide is attempted |
| 5767 | - now --printsgf works with -L |
| 5768 | - implementation of trymove() and tryko() unified |
| 5769 | - minor optimization in attack_either() |
| 5770 | - cleanup of utils.c |
| 5771 | - experimental pattern CB327 in patterns.db |
| 5772 | |
| 5773 | 2.7.39 released March 1, 2000 |
| 5774 | |
| 5775 | - revision of patterns/apats.db and patterns.dpats.db |
| 5776 | - default depth values restored to 2.6 level |
| 5777 | - new functions set_temporary_depth_values() and restore_depth_values() |
| 5778 | in utils.c |
| 5779 | - depth values temporarily decreased while computing influence |
| 5780 | - bugfix in tryko() |
| 5781 | |
| 5782 | 2.7.38 released February 29, 2000 |
| 5783 | |
| 5784 | - handle handicap stones in sgf files correctly |
| 5785 | - bugfix in mouse.c |
| 5786 | - trymove() replaced by tryko() in compute_move_influence |
| 5787 | |
| 5788 | 2.7.37 released February 28, 2000 |
| 5789 | |
| 5790 | - point to strings instead of copying them in mouse.c |
| 5791 | - more than two moves per position can now be handled by the mouse code by |
| 5792 | increasing the value of MAX_MOVES |
| 5793 | - B class patterns in dpats.db inhibit addition of the stone to the dragon |
| 5794 | - AUTHORS, THANKS, and doc/introduction.texi revised |
| 5795 | - two eye patterns revised |
| 5796 | - bugfix in sgfOverwritePropertyInt() in ttsgf.c |
| 5797 | - sethand() split into two halves to make it more flexible |
| 5798 | - play_ascii.c revised to deal correctly with handicap stones |
| 5799 | |
| 5800 | 2.7.36 released February 27, 2000 |
| 5801 | |
| 5802 | - dragon.c: serious bug fixed in topological eye evaluation |
| 5803 | - substantial revision of mouse.c |
| 5804 | - new patterns in apats.db and dpats.db |
| 5805 | - sgf.c: revision of decidedragon |
| 5806 | - doc expanded of certain autohelper functions |
| 5807 | - Jamal Hannah's typing Gnu acknowledged as logo source |
| 5808 | - documentation of influence function begun in doc/INFLUENCE |
| 5809 | |
| 5810 | 2.7.35 released February 26, 2000 |
| 5811 | |
| 5812 | - mouse_attack and mouse_defend avoid some duplicate eyespace evaluations |
| 5813 | - missing eye pattern in eyes.db |
| 5814 | - sgf_decidedragon correctly invoked from main.c |
| 5815 | - close sgf file before reopening it |
| 5816 | - do not close stdout in sgf_close_file |
| 5817 | - print_eye revised to give nice output also when stackp>0 |
| 5818 | |
| 5819 | 2.7.34 released February 25, 2000 |
| 5820 | |
| 5821 | - experimental mouse code |
| 5822 | - gnugo.eps and gnugo.jpg renamed gnugo-logo.eps and gnugo-logo.jpg |
| 5823 | |
| 5824 | 2.7.33 released February 23, 2000 |
| 5825 | |
| 5826 | - VC project files and WINDOWS revised |
| 5827 | |
| 5828 | 2.7.32 released February 22, 2000 |
| 5829 | |
| 5830 | - reading cache cleared once it becomes full |
| 5831 | - -M option now takes float argument |
| 5832 | - -M 0 no longer causes a floating exception |
| 5833 | |
| 5834 | 2.7.31 released February 21, 2000 |
| 5835 | |
| 5836 | - VC project files adapted from 2.6 |
| 5837 | - win/ directory with makefile brought over from 2.6 |
| 5838 | - bugfix in main.c, optind replaced by gg_optind |
| 5839 | - WINDOWS revised |
| 5840 | - minor assorted cleanups |
| 5841 | |
| 5842 | 2.7.30 released February 19, 2000 |
| 5843 | |
| 5844 | - cleaned up code for debuginfluence option |
| 5845 | - general cleanup of main.c |
| 5846 | - minor tuning of patterns2.db |
| 5847 | - AUTHORS, THANKS, and README brought up to date with 2.6 |
| 5848 | - TODO revised |
| 5849 | - Added news for 2.6 in NEWS |
| 5850 | - WINDOWS brought over from 2.6 |
| 5851 | - year 2000 added in copyright notices everywhere |
| 5852 | - emacs interface added from 2.6 |
| 5853 | - gnugo.jpg added from 2.6 |
| 5854 | - gnugo.eps built by encapsulating gnugo.jpg into postscript level 2 using |
| 5855 | jpeg2ps |
| 5856 | - Texinfo documentation merged with late changes from 2.6 |
| 5857 | - various other late changes from 2.6 merged |
| 5858 | |
| 5859 | 2.7.29 released February 11, 2000 |
| 5860 | |
| 5861 | - tuning of barriers.db, endgame.db, and patterns.db |
| 5862 | - sprintf replaced by vsprintf in gg_snprintf |
| 5863 | - spelling corrections |
| 5864 | - TODO revised |
| 5865 | - unreachable code in hashdata_init() commented out |
| 5866 | - UNUSED and ON_BOARD macros moved to liberty.h |
| 5867 | - special_rescue() made more general |
| 5868 | - calls to special_rescue() also in defend3() |
| 5869 | |
| 5870 | 2.7.28 released February 8, 2000 |
| 5871 | |
| 5872 | - bugfix in break_through() |
| 5873 | - tuning of conn.db, influence.db, patterns.db, and patterns2.db |
| 5874 | - various minor fixes to eliminate warnings on certain platforms |
| 5875 | - opterr, optind, and optopt prefixed with gg_ to allow building with |
| 5876 | profiling |
| 5877 | |
| 5878 | 2.7.27 released February 6, 2000 |
| 5879 | |
| 5880 | - copying.texi added for real this time |
| 5881 | - minor revision of patterns.texi |
| 5882 | - various code revisions in influence.c |
| 5883 | - new functions for segmenting connected regions of territory, moyo, and |
| 5884 | area added to influence.c |
| 5885 | - -m option can take hexadecimal values |
| 5886 | - tuning of barriers.db, influence.db, conn.db, patterns.db, and |
| 5887 | patterns2.db |
| 5888 | - conn.db reorganized |
| 5889 | - retuning of joseki patterns |
| 5890 | - corner moves in fuseki.c retuned |
| 5891 | - minor revisions of move_reasons.c |
| 5892 | - workaround to avoid black characters on black background in showbord.c |
| 5893 | - we no longer add half eyes when eye.dragoni == -1 |
| 5894 | |
| 5895 | 2.7.26 released January 31, 2000 |
| 5896 | |
| 5897 | - endgame patterns split off from patterns.db to endgame.db and matched |
| 5898 | separately |
| 5899 | - influence_delta_territory results cached |
| 5900 | - tuning of barriers.db, conn.db, patterns.db, and patterns2.db |
| 5901 | - new eye pattern from 2.5.63 |
| 5902 | - new option --debuginfluence to help tuning influence function |
| 5903 | - listing of worms includes origins of corresponding dragons |
| 5904 | - bugfix in move_reasons.c; don't accept cuts or connections of one dragon |
| 5905 | and itself |
| 5906 | |
| 5907 | 2.7.25 released January 29, 2000 |
| 5908 | |
| 5909 | - AUTHORS, INSTALL, and THANKS revised |
| 5910 | - GPL added to texinfo documentation |
| 5911 | - small_semeai() documented in texinfo documentation |
| 5912 | - autohelper call moved from matchpat() to callback |
| 5913 | - possible to pass auxiliary data through matchpat() to callback |
| 5914 | - DEPTH decreased from 14 to 12, BACKFILL_DEPTH from 8 to 6, and KO_DEPTH |
| 5915 | from 8 to 6 |
| 5916 | - new functions for drawing boards for debug output |
| 5917 | - symbolic names for colors |
| 5918 | - influence function implemented in influence.c and influence.h |
| 5919 | - new patterns to assist influence function in patterns/barriers.db and |
| 5920 | patterns/influence.db |
| 5921 | - terri renamed to territory in a number of places |
| 5922 | - revised heuristics to decide when a tactical defense is strategically |
| 5923 | sound, using influence values |
| 5924 | - territorial value estimated with influence_delta_territory() instead of |
| 5925 | delta_terri() from moyo module |
| 5926 | - influence value estimated with influence module functions instead of |
| 5927 | delta_moyo() from moyo module |
| 5928 | - secondary_value weighted down substantially in computation of total move |
| 5929 | value |
| 5930 | - symbolic names for printmoyo values |
| 5931 | - local optimizations in shapes_callback() to avoid unnecessary reading |
| 5932 | - increased depth values when evaluating reading constraints disabled to |
| 5933 | improve speed |
| 5934 | - new patterns in conn.db |
| 5935 | - local optimization in connections.c, don't evaluate autohelper if there |
| 5936 | is nothing to amalgamate |
| 5937 | - autohelper functions xarea, oarea, xmoyo, omoyo, xterri, and oterri |
| 5938 | changed to use functions from influence module |
| 5939 | - separate flag to mkpat to decide anchoring policy |
| 5940 | - tuning of patterns.db and patterns2.db |
| 5941 | |
| 5942 | 2.7.24 released January 27, 2000 |
| 5943 | |
| 5944 | - cleanup of the interface/ files |
| 5945 | - minor revision to doc/using.texi |
| 5946 | - doc/reading.texi updated from 2.5.62 |
| 5947 | |
| 5948 | 2.7.23 released January 26, 2000 |
| 5949 | |
| 5950 | - removed inclusion of unistd.h where unnecessary |
| 5951 | - include io.h on platforms where unistd.h not available |
| 5952 | - remove unused files utils/long-options.[ch] utils/closeout.[ch], and |
| 5953 | utils/error.h |
| 5954 | - fixed getopt warnings by renaming the getopt in utils/ to gg-getopt |
| 5955 | - TODO revised |
| 5956 | - -M option repaired |
| 5957 | - bugfix in init_gnugo() in board.c; don't do everything twice |
| 5958 | - default size of reading cache increased from 8 MB to 32 MB |
| 5959 | - docs/ directory replaced by doc/ with texinfo documentation from 2.5.60 |
| 5960 | - gnugo.6 man page moved from top directory to doc/ |
| 5961 | - /docs/WINDOWS updated from 2.5.60 and moved to top directory |
| 5962 | |
| 5963 | 2.7.22 released January 20, 2000 |
| 5964 | |
| 5965 | - always use strtok in play_ascii.c and skip strsep |
| 5966 | - cleanup in configure.in |
| 5967 | - bugfix in play_solo.c |
| 5968 | - configure test for gettimeofday in interface/ |
| 5969 | - HAVE___FUNCTION__ moved to the right position in acconfig.h |
| 5970 | - in configure.in, add -lwsock32 to $LIBS for the mingw32 environment |
| 5971 | for the select call in gmp.c |
| 5972 | - include windows.h and windows32/sockets.h to get definitions for fd_set, |
| 5973 | select and FD_* macros in gmp.c |
| 5974 | - incorrect "abort;" changed to "abort();" in several places |
| 5975 | - TODO item about converting documentation into texinfo marked as done |
| 5976 | |
| 5977 | 2.7.21 released January 17, 2000 |
| 5978 | |
| 5979 | - confirm_safety() called from review_move_reasons() in order to avoid |
| 5980 | certain blunders |
| 5981 | - the search for lunches moved to the end of make_worms() |
| 5982 | |
| 5983 | 2.7.20 released January 16, 2000 |
| 5984 | |
| 5985 | - removed unused file utils/getdate.c from distribution |
| 5986 | - pattern Eye2 taken out from conn.db as workaround to a bug |
| 5987 | - only victims with attack code 1 or 2 are considered lunch |
| 5988 | - separation of interface into a public and a private part; liberty.h |
| 5989 | split into gnugo.h for external interface and liberty.h for internal |
| 5990 | interface |
| 5991 | - dragon_status() renamed to compute_dragon_status() |
| 5992 | - new function dragon_status() hiding dragon_data struct |
| 5993 | - default cached function is only attack() |
| 5994 | - new function is_worm_origin() |
| 5995 | - new function confirm_safety() |
| 5996 | - update the files getopt.c getopt1.c and getopt.h in utils/ to glibc-2.1.2 |
| 5997 | - add a file README in the utils directory explaining where the getopt |
| 5998 | files come from. |
| 5999 | - make utils the first subdirectory to compile |
| 6000 | - link in utils/libutils.a when linking mkpat.c |
| 6001 | |
| 6002 | 2.7.19 released January 13, 2000 |
| 6003 | |
| 6004 | - unsigned char changed into signed char in sgfana.c, ttsgf.c, and |
| 6005 | ttsgf_write.c to eliminate DEC-cc warnings. |
| 6006 | |
| 6007 | 2.7.18 released January 12, 2000 |
| 6008 | |
| 6009 | - src directory renamed to engine |
| 6010 | |
| 6011 | 2.7.17 released January 10, 2000 |
| 6012 | |
| 6013 | - cleanup in moyo.c, eliminating DEC-cc compiler warnings |
| 6014 | - main.c moved from src/ to interface/ |
| 6015 | - dragon.weak renamed dragon.safety |
| 6016 | |
| 6017 | 2.7.16 released January 8, 2000 |
| 6018 | |
| 6019 | - cleanup in configure.in |
| 6020 | - cleanup in make_proper_eye_space() |
| 6021 | - autohelper functions for modifying eyespace |
| 6022 | - more debug output for DEBUG_EYES |
| 6023 | - tuning |
| 6024 | - one new pattern in eyes.db |
| 6025 | |
| 6026 | 2.7.15 released January 6, 2000 |
| 6027 | |
| 6028 | - cleanup in configure.in |
| 6029 | - configure tests for random and alarm |
| 6030 | - embedded newline removed from a string in mkeyes.c |
| 6031 | - extra pair of braces to avoid ambiguous else in optics.c |
| 6032 | - compiler warning about snprintf eliminated from ttsgf.c |
| 6033 | - documentation about dragon.status and dragon.weak revised in docs/DRAGON |
| 6034 | - attack() is more cautious about snapbacks |
| 6035 | - dragon_status() revised to consider a missing case |
| 6036 | - docs/PATTERNS fully revised |
| 6037 | - slight revision of the definition of higher order liberties, in an attempt |
| 6038 | to fix escape_route problem |
| 6039 | - reading depths increased with the number of explicitly placed stones |
| 6040 | in autohelpers |
| 6041 | - minor cleanup in utils.c |
| 6042 | - patterns shuffled around in patterns.db and patterns2.db |
| 6043 | - two extra matching pattern steps to modify eyespaces, patterns temporarily |
| 6044 | hosted in conn.db |
| 6045 | - not_lunch patterns moved to conn.db and matched together with eye space |
| 6046 | modifying patterns |
| 6047 | - autohelpers can now also be used in conn.db patterns with no '*' |
| 6048 | - minor revision of escape.db |
| 6049 | - dont_attack_helper removed since it was no longer in use |
| 6050 | - remaining references to EXPERIMENTAL_MOVEGEN removed |
| 6051 | - bugfix in add_half_eye() |
| 6052 | - new function make_proper_eye_space() in optics.c for use from autohelpers |
| 6053 | - tuning |
| 6054 | |
| 6055 | 2.7.14 released January 4, 2000 |
| 6056 | |
| 6057 | - four vgprintf calls in utils.c changed to vprintf calls |
| 6058 | - variable sized arrays changed to fixed size in sgfana.c |
| 6059 | - declaration of board_size in ttsgf.h made consistent with liberty.h |
| 6060 | - removed embedded newlines in strings in mkeyes.c and main.c |
| 6061 | - escape.db patterns revised |
| 6062 | - bugfix in matchpat |
| 6063 | - revised heuristics for non-matched eye shapes |
| 6064 | - tuning |
| 6065 | |
| 6066 | 2.7.13 released January 3, 2000 |
| 6067 | |
| 6068 | - help debug prints default hash memory |
| 6069 | - decidestring reports even if verbose=0 |
| 6070 | - print_eye() documented, prototype moved |
| 6071 | - documentation in docs/PATTERNS partially updated to reflect changes |
| 6072 | in pattern format |
| 6073 | - bugfix in mkpat.c |
| 6074 | - bugfix in getopt string |
| 6075 | - bugfixes in trace messages in shapes.c |
| 6076 | - new function dragon_status2() using new escape route measure in |
| 6077 | the escape2 field (not yet in actual use) |
| 6078 | - new patterns in escape.db |
| 6079 | - tuning |
| 6080 | |
| 6081 | 2.7.12 released January 2, 2000 |
| 6082 | |
| 6083 | - configure option to revert to sprintf if neither snprintf or g_snprintf |
| 6084 | found |
| 6085 | - command line option -M (--memory) to specify hashtable size |
| 6086 | - bugfixes in board.c |
| 6087 | |
| 6088 | 2.7.11 released January 2, 2000 |
| 6089 | |
| 6090 | - all remaining patterns in patterns.db adapted to new move generation scheme |
| 6091 | - format of ":" lines in pattern databases changed |
| 6092 | - joseki.c updated to produce new database format |
| 6093 | - patterns in conn.db can have action lines |
| 6094 | - three new autohelpers: dragonsize(), wormsize(), and potential_cutstone() |
| 6095 | - patterns are no longer sorted in mkpat and min weight optimization |
| 6096 | removed from matchpat |
| 6097 | - updated documentation of autohelpers in docs/PATTERNS |
| 6098 | - value field in worm_data and dragon_data obsoleted and removed |
| 6099 | - obsolete section removed from docs/PATTERNS |
| 6100 | - obsolete pattern classes Q and q removed, remaining ones slightly reordered |
| 6101 | - B, C, a, d patterns work on up to five dragons (previously max two or one) |
| 6102 | - improved tunability of patterns, possible to specify min and max |
| 6103 | territorial and total values |
| 6104 | - many helpers converted to constraints and removed |
| 6105 | - join_dragons() no longer need to be called with origins of dragons |
| 6106 | - wind assistance and moyo assistance functions obsoleted and removed |
| 6107 | - connection_value() and compute_score() obsoleted and removed |
| 6108 | - attack_either move reason rejected if one of the strings is defenseless |
| 6109 | - old style move values no longer used in move generation |
| 6110 | - shape value effect changed from additive to multiplicative |
| 6111 | - random contribution to move value decreased |
| 6112 | - tuning |
| 6113 | |
| 6114 | 2.7.10 released December 28, 1999 |
| 6115 | |
| 6116 | - changes from 2.5.47--2.5.52 merged into eyes.db |
| 6117 | - tuning |
| 6118 | - unused helpers and patterns removed |
| 6119 | - many patterns in patterns.db adapted to new move generation scheme |
| 6120 | - linear eyes of size 6 with one marginal eye fixed in eyes.db |
| 6121 | |
| 6122 | 2.7.9 released December 27, 1999 |
| 6123 | |
| 6124 | - bugfixes and cleanups in configure.in and various Makefile.am |
| 6125 | - bugfix in move valuation |
| 6126 | - bugfix in add_half_eye: remember to adjust marginal_neighbors |
| 6127 | - bugfix in defend1: consider case of 4 liberties after extend |
| 6128 | - breakchain2: try_harder to break chain |
| 6129 | - bugfix in singleton() |
| 6130 | |
| 6131 | 2.7.8 released December 23, 1999 |
| 6132 | |
| 6133 | - break_chain2 considers a few extra possibilities |
| 6134 | - stricter syntax checking in mkpat.c |
| 6135 | - bugfixes in pattern databases |
| 6136 | - caching of read results indexed also on stackp |
| 6137 | - warning eliminated in dragon.c |
| 6138 | - implementation of tracing of read results revised |
| 6139 | - one new pattern in escape.db |
| 6140 | - new escape route algorithm documented in docs/DRAGON |
| 6141 | |
| 6142 | 2.7.7 released December 21, 1999 |
| 6143 | |
| 6144 | - More verbose autoconf test for __FUNCTION__ |
| 6145 | - bugfix and cleanup in patterns/Makefile.am |
| 6146 | - Split utils.c into board.c and utils.c |
| 6147 | - Cleanup of both files. |
| 6148 | - Fix a warning in fuseki.c |
| 6149 | - minor tuning |
| 6150 | - one new pattern in conn.db |
| 6151 | - improved trace messages for read results, contingent on TRACE_READ_RESULTS |
| 6152 | |
| 6153 | 2.7.6 released December 19, 1999 |
| 6154 | |
| 6155 | - READ_RETURN0 macro redefined in reading.c |
| 6156 | - makes consistent the inequalities in reading.c |
| 6157 | - misspelling of "propagate" corrected |
| 6158 | - experimental implementation of new escape route algorithm |
| 6159 | - new file: patterns/escape.db |
| 6160 | - DEBUG_HEY (obsolete) replaced by DEBUG_ESCAPE |
| 6161 | - one new pattern in conn.db |
| 6162 | - new autohelpers: same_dragon and same_worm |
| 6163 | - minor tuning |
| 6164 | - bugfix in rr_set_result_ri_rj() macro |
| 6165 | - bugfix in compile_for_match() |
| 6166 | - don't allocate hash table space in find_defense if more than four liberties |
| 6167 | - bugfixes in defend3() |
| 6168 | - two compiler warnings eliminated in semeai.c |
| 6169 | - bugfixes in attack_callback() and defense_callback in worm.c |
| 6170 | |
| 6171 | 2.7.5 released December 18, 1999 |
| 6172 | |
| 6173 | - elimination of stackp<depth contingency in break_chain2 call from defend2 |
| 6174 | - reordering of the nodes in break_chain2 for minor speedup |
| 6175 | - minor cleanup in reading.c (elimination of unnecessary braces) |
| 6176 | - bugfix in attack2 |
| 6177 | - bugfix in moyo.c |
| 6178 | - minor tuning |
| 6179 | - cleanup and revised trace messages in shapes.c |
| 6180 | - old style C and B patterns taken out from patterns.db |
| 6181 | - debug messages converted to trace messages in move_reasons.c |
| 6182 | |
| 6183 | 2.7.4 released December 17, 1999 |
| 6184 | |
| 6185 | - caching of read results fully disabled when stackp>=depth |
| 6186 | - dead code cleaned away from reading.c |
| 6187 | |
| 6188 | 2.7.3 released December 16, 1999 |
| 6189 | |
| 6190 | - minor tuning |
| 6191 | - cleanup of patterns and helpers |
| 6192 | - cleanup of matchpat() |
| 6193 | - attack and defense patterns moved from patterns.db/patterns2.db to |
| 6194 | new files attack.db and defense.db |
| 6195 | - attack and defense patterns matched during make_worms() |
| 6196 | - error message instead of segmentation fault when using -L without -l |
| 6197 | - testmode output modified |
| 6198 | - cleanup of ttsgf.c, ttsgf_read.c, and ttsgf_write.c |
| 6199 | - improved configure detection of snprintf |
| 6200 | - cleanup in Makefile.am and patterns/Makefile.am |
| 6201 | - configure tests for gcc specific macro __FUNCTION__ |
| 6202 | - bugfix in sgf/Makefile.am |
| 6203 | - in break_chain, removed stackp<depth contingency |
| 6204 | - bug fix in break_chain2 |
| 6205 | - two calls to naive_ladder removed |
| 6206 | - fixed two uses of DEPTH where depth was intended in reading.c |
| 6207 | - FIXME's in reading.c addressed |
| 6208 | |
| 6209 | 2.7.2 released December 12, 1999 |
| 6210 | |
| 6211 | - bugfixes in patterns/Makefile |
| 6212 | - cleanup of sgf.c, sgfgen.c, sgf_utils.c, and sgfana.c |
| 6213 | - bug fixed in small_semeai which could cause crash |
| 6214 | - remember to close file in play_gmp.c |
| 6215 | - Jago mentioned in README |
| 6216 | - All worm_data and dragon_data fields documented in DRAGON |
| 6217 | - code specific to old generation scheme cleaned away |
| 6218 | - file attdef.c removed |
| 6219 | - fuseki.c reverted to version 2.3.47 and slightly modified |
| 6220 | - cleanup of genmove.c |
| 6221 | |
| 6222 | 2.7.1 released December 10, 1999 |
| 6223 | |
| 6224 | - minor tuning |
| 6225 | - bugfix in defend4 |
| 6226 | - cleanup of Makefile.am |
| 6227 | - minor tweak of move valuation |
| 6228 | |
| 6229 | 2.5.46 released December 6, 1999 |
| 6230 | |
| 6231 | - bugfix in autoconf test for glib-config |
| 6232 | - minor tuning |
| 6233 | - defend_both() tries a little harder to find an effective move |
| 6234 | - find_lunch() now also looks diagonally for food |
| 6235 | |
| 6236 | 2.5.45 released December 2, 1999 |
| 6237 | |
| 6238 | - minor tuning |
| 6239 | - bugfix in fill_liberty() |
| 6240 | - changed semantics for strategical defense in shapes() |
| 6241 | - reading.c: corrected a few places where the wrong return value was cached |
| 6242 | |
| 6243 | 2.5.44 released December 1, 1999 |
| 6244 | |
| 6245 | - minor tuning |
| 6246 | - small tweak in move valuation |
| 6247 | - init_board() in joseki.c renamed to avoid collision |
| 6248 | - added assertion in filllib.c |
| 6249 | - removed assertions in vgprintf() |
| 6250 | - simplified handling of read result cache in reading.c |
| 6251 | - improved configuring for glib |
| 6252 | - AC_EXEEXT macro added for clean install on DOS/Windows |
| 6253 | |
| 6254 | 2.5.43 released November 27, 1999 |
| 6255 | |
| 6256 | - one new eye pattern |
| 6257 | - not_lunch_helper converted into an autohelper function |
| 6258 | - minor revision of hoshi.sgf |
| 6259 | - numerous old style patterns no longer considered by new move generation |
| 6260 | - tuning of patterns2.db |
| 6261 | - new reading function: naive_ladder() |
| 6262 | - docs/DRAGON updated with information about worm.cutstone2 |
| 6263 | - further cleaning of liberty.h |
| 6264 | |
| 6265 | 2.5.42 released November 24, 1999 |
| 6266 | |
| 6267 | Makefile.am |
| 6268 | - added a dist-hook rule (see automake documentation) |
| 6269 | to remove the built source from patterns.c from the |
| 6270 | distribution prior to tar-zipping it. |
| 6271 | NEWS |
| 6272 | - added line containing version number. with the --gnits |
| 6273 | option make dist checks for the presence of the version number |
| 6274 | patterns/Makefile.am |
| 6275 | - activated the BUILT_SOURCES macro for conn.c patterns.c eyes.c |
| 6276 | sgf/Makefile.am |
| 6277 | - removed $(srcdir) from BUILT_SOURCES macro. Otherwise |
| 6278 | automake won't run. This apparently doesn't break VPATH |
| 6279 | building. |
| 6280 | - added sgf_properties.h to noinst_HEADERS. Otherwise it isn't |
| 6281 | added to the distribution. |
| 6282 | src/Makefile.am |
| 6283 | - added a noinst_HEADERS macro. Otherwise the headers don't go |
| 6284 | into the distribution. |
| 6285 | |
| 6286 | 2.5.41 released November 23, 1999 |
| 6287 | |
| 6288 | - bugfix in defend2 |
| 6289 | - cleanup of liberty.h |
| 6290 | - one new pattern in conn.db |
| 6291 | - move generation considers the strategical value of saving lunches |
| 6292 | - joseki patterns retuned |
| 6293 | - minor revisions of patterns.db |
| 6294 | - tuning of patterns2.db |
| 6295 | - ko stones considered dead |
| 6296 | - tweaks in move generation code |
| 6297 | - bugfix in make_worms() |
| 6298 | |
| 6299 | 2.5.40 released November 21, 1999 |
| 6300 | |
| 6301 | - empty SUBDIR macros removed |
| 6302 | - file- and directory names assigned to the EXTRA_DIST macros |
| 6303 | |
| 6304 | 2.5.39 released November 21, 1999 |
| 6305 | |
| 6306 | - default backfill_depth reduced to 8 |
| 6307 | - bugfix in defend1 |
| 6308 | - prioritization of moves in attack3 and defend3 |
| 6309 | - bugfix in attack2 |
| 6310 | - one new eye pattern |
| 6311 | - several new move reasons |
| 6312 | - several new pattern classes |
| 6313 | - maximum number of patterns increased to 3000 in mkpat.c |
| 6314 | - minor tuning of patterns.db |
| 6315 | - block/expand and fuseki patterns adapted to new move generation scheme |
| 6316 | - bugfixes and tweaking of move generation |
| 6317 | |
| 6318 | 2.5.38 released November 14, 1999 |
| 6319 | |
| 6320 | - bugfixes in the move valuation debug output |
| 6321 | - various tweaks to the move valuation |
| 6322 | - new move reasons: attack_either and defend_both (e.g. double atari) |
| 6323 | - minor tuning of patterns.db and patterns2.db |
| 6324 | - revised heuristics for dragon vitality |
| 6325 | - eliminated a compiler warning in reading.c |
| 6326 | - safe_move() now accepts moves that can only be captured with ko |
| 6327 | - patch to automake in docs/automake-1.4.patch |
| 6328 | |
| 6329 | 2.5.37 released November 13, 1999 |
| 6330 | |
| 6331 | - move valuation core rewritten |
| 6332 | - missing reasons added to list_move_reasons() |
| 6333 | - two new eye patterns |
| 6334 | - improved debug output in recognize_eye() |
| 6335 | - minor tuning |
| 6336 | - change_attack and change_defense modify worm.attack and worm.defend |
| 6337 | - attack2 and defend2 try a few extra possibilities |
| 6338 | - revised small_semeai |
| 6339 | |
| 6340 | 2.5.36 released November 11, 1999 |
| 6341 | |
| 6342 | - minor revision of docs/MOVE_GENERATION |
| 6343 | - "pass" ignored in nngs_endgame() |
| 6344 | - two new patterns in conn.db |
| 6345 | - minor tuning of patterns.db and patterns2.db |
| 6346 | - bugfix in make_worms() |
| 6347 | - minor code restructuring in move_reasons.c |
| 6348 | - some test code in moyo.c disabled |
| 6349 | - bugfixes and changes to --testmode |
| 6350 | |
| 6351 | 2.5.35 released November 7, 1999 |
| 6352 | |
| 6353 | - bugfix in break_through() |
| 6354 | - cleanup in moyo.c |
| 6355 | - cleanup in worm.c |
| 6356 | - revisions to docs/READING |
| 6357 | - bugfix in find_defense |
| 6358 | - revision of ko code in attack2 and break_chain2 |
| 6359 | - two new find_lunch patterns |
| 6360 | |
| 6361 | 2.5.34 released November 6, 1999 |
| 6362 | |
| 6363 | - new function try_ko() based on trymove() takes an illegal ko |
| 6364 | - optimization: defend2 tries the move that gives more liberties first |
| 6365 | - ko modifications to break_chain, break_chain2, defend2 and attack3 |
| 6366 | - new field ko_depth and -K (--kodepth) options |
| 6367 | - ko_depth and fourlib_depth set to 0 during make domains |
| 6368 | - numerous minor changes to ko reading |
| 6369 | - bugfix in updateboard |
| 6370 | - break_through() fully implemented |
| 6371 | - tuning of patterns2.db |
| 6372 | - one new connections pattern |
| 6373 | |
| 6374 | 2.5.33 released November 5, 1999 |
| 6375 | |
| 6376 | - new pattern class Q for patterns which should not be used with the new |
| 6377 | move generation scheme |
| 6378 | - bugfix in fuseki.c |
| 6379 | - minor tuning of patterns.db and patterns2.db |
| 6380 | - retuning of cutting and connecting moves |
| 6381 | - shape value added also to old style moves |
| 6382 | - list_move_reasons() contingent on verbose rather than debug flag |
| 6383 | |
| 6384 | 2.5.32 released November 3, 1999 |
| 6385 | |
| 6386 | - temporary modification of depth values restructured |
| 6387 | - bugfix in fill_liberty() |
| 6388 | - minor tuning |
| 6389 | - one new connections pattern |
| 6390 | - one new eye pattern |
| 6391 | - new auxiliary reading function: break_through() |
| 6392 | - corresponding autohelper functions |
| 6393 | - sigterm_handler set in main() independently of any command line switches |
| 6394 | - command "defend" in ascii mode now works on any node |
| 6395 | |
| 6396 | 2.5.31 released November 1, 1999 |
| 6397 | |
| 6398 | - two new eye patterns |
| 6399 | - further revision of TODO |
| 6400 | - new file: docs/MOVE_GENERATION |
| 6401 | - the new move generation scheme has been made the default |
| 6402 | |
| 6403 | 2.5.30 released October 31, 1999 |
| 6404 | |
| 6405 | - defend1 and break_chain try harder to make a ko defense the last resort |
| 6406 | - small_semeai_analyzer ignores strings with 2 liberties |
| 6407 | - tweak in breakchain2 may yield a speedup |
| 6408 | - bugfix in is_ko |
| 6409 | - fourlib_depth++ in several places |
| 6410 | - does_defend() slightly rewritten parallel to does_attack |
| 6411 | - change_defense and change_attack adjust worm.codes |
| 6412 | - minor changes to patterns.db (mostly comments) |
| 6413 | - decidestring reports ko result |
| 6414 | - show_dragons() tells about ko status |
| 6415 | - README, TODO, INSTALL, and gnugo.6 revised |
| 6416 | - bugfixes in the makefiles to allow compilation in a separate directory |
| 6417 | - bugfix in conn.db to stop amalgamations over ko |
| 6418 | - debug message removed from induce_secondary_move_reasons() |
| 6419 | - retuned old style moves in the new move generation scheme |
| 6420 | |
| 6421 | 2.5.29 released October 29, 1999 |
| 6422 | |
| 6423 | - extended statistics collection |
| 6424 | - revisions of hoshi.sgf, conn.db, patterns.db, and patterns2.db |
| 6425 | - joseki.c changed to generate antisuji patterns for value 0 moves |
| 6426 | - more new move generation code |
| 6427 | - three helpers replaced by constraints |
| 6428 | - bugfix in defend_both() |
| 6429 | |
| 6430 | 2.5.28 released October 26, 1999 |
| 6431 | |
| 6432 | - revised eye patterns |
| 6433 | - revised connection patterns |
| 6434 | - more new move generation code |
| 6435 | - revision of patterns2.db continued |
| 6436 | - bugfixes in change_defense() and change_attack() |
| 6437 | |
| 6438 | 2.5.27 released October 24, 1999 |
| 6439 | |
| 6440 | - reading code now considers ko relationship |
| 6441 | - new worm fields attack_code and defend_code contain ko data |
| 6442 | - attacker and defender consider ko relationship |
| 6443 | - renaming and reordering of reading functions |
| 6444 | - revised eye patterns |
| 6445 | - bugfix in sgfana.c |
| 6446 | - minor tuning |
| 6447 | - more new move generation code |
| 6448 | |
| 6449 | 2.5.26 released October 23, 1999 |
| 6450 | |
| 6451 | - new connection pattern |
| 6452 | - antisuji and shape value patterns in patterns2.db |
| 6453 | - effective size measure implemented for worms and dragons |
| 6454 | - more new move generation code |
| 6455 | - support for %f in vgprintf() |
| 6456 | |
| 6457 | 2.5.25 released October 21, 1999 |
| 6458 | |
| 6459 | - basicnet4 attacks by defending a boundary string |
| 6460 | - option -F enabled correctly |
| 6461 | - more new move generation code |
| 6462 | - partial revision of patterns2.db |
| 6463 | - bugfix in recognize_eye() |
| 6464 | - a few new patterns and major cleanup of eyes.db |
| 6465 | - new functions attack_either(), defend_both(), and play_attack_defend2_n() |
| 6466 | - new autohelper functions corresponding to attack_either and defend_both |
| 6467 | - documentation updated accordingly |
| 6468 | - one connection pattern taken out |
| 6469 | - minor tuning |
| 6470 | |
| 6471 | 2.5.24 released October 18, 1999 |
| 6472 | |
| 6473 | - bugfix in caching of reading results |
| 6474 | - improvement in small_semeai() |
| 6475 | - minor tuning |
| 6476 | - new file: patterns2.db; intended for new move generation scheme |
| 6477 | - slight changes in shapes.c for new move generation |
| 6478 | |
| 6479 | 2.5.23 released October 17, 1999 |
| 6480 | |
| 6481 | - bugfixes in debug output |
| 6482 | - bugfix in sgf territory output |
| 6483 | - enhanced basicnet3() |
| 6484 | - always use worm origin in caching of reading results |
| 6485 | - revised eye patterns |
| 6486 | - trivial bugfix in nngs_endgame() |
| 6487 | |
| 6488 | 2.5.22 released October 14, 1999 |
| 6489 | |
| 6490 | - new eye patterns |
| 6491 | |
| 6492 | 2.5.21 released October 12, 1999 |
| 6493 | |
| 6494 | - minor tuning |
| 6495 | - cleanup of play_ascii.c |
| 6496 | - NNGS customization option in play_ascii() |
| 6497 | - one new eye pattern |
| 6498 | - small change in 9x9 fuseki play |
| 6499 | - more experimental move generation code |
| 6500 | - instructions for playing from Cgoban moved from INSTALL to README |
| 6501 | |
| 6502 | 2.5.20 released October 10, 1999 |
| 6503 | |
| 6504 | - tuning |
| 6505 | - 13 helpers replaced by constraints |
| 6506 | - action lines introduced in the patterns database to complement the |
| 6507 | constraints |
| 6508 | - zero-valued joseki moves now generate antisuji moves (only effective in |
| 6509 | the new move generation scheme) |
| 6510 | - more experimental move generation code |
| 6511 | - new file: src/move_reasons.c |
| 6512 | - bugfix in load_sgf_file() |
| 6513 | - many new eye patterns |
| 6514 | - cleanup in liberty.h and optics.c |
| 6515 | - new diagnostics in compute_eyes() |
| 6516 | - in basicnet4 we only consider safe attacking moves |
| 6517 | - speedup in basicnet4 for isolated stones and probably other strings |
| 6518 | |
| 6519 | 2.5.19 released October 9, 1999 |
| 6520 | |
| 6521 | - new cutstone concept in the experimental move generation |
| 6522 | - minor tuning |
| 6523 | - bugfixes in fill_liberty() |
| 6524 | - bugfix in the handling of lunches |
| 6525 | - bugfix in the improvement of attack and defense points |
| 6526 | - stray patterns in eyes.db relocated |
| 6527 | - autoconf test for glib hopefully working properly |
| 6528 | - some remaining references to hey.db removed |
| 6529 | |
| 6530 | 2.5.18 released October 7, 1999 |
| 6531 | |
| 6532 | - reduced V_OBA in fuseki.c |
| 6533 | - minor tuning |
| 6534 | - more experimental move generation code |
| 6535 | - new patterns in eyes.db |
| 6536 | - bugfix in fill_liberty() |
| 6537 | - test legality and safety of move much earlier in shapes_callback() |
| 6538 | - autoconf test for glib so snprintf() can be replaced by g_snprintf |
| 6539 | if unavailable |
| 6540 | - minor change in endgame() output to work around bug in NNGS connecting |
| 6541 | program |
| 6542 | |
| 6543 | 2.5.17 released October 5, 1999 |
| 6544 | |
| 6545 | - cleanup of hash.h |
| 6546 | - new function in utils.c: find_origin() |
| 6547 | - attack() and find_defense() represent strings with their origins, |
| 6548 | improving the efficiency of the caching strategy. |
| 6549 | - backfill depth decreased from 14 to 10 |
| 6550 | - optimization and a little cleanup in make_worms() |
| 6551 | - bugfix in value_move_reasons() |
| 6552 | - three initializing functions tidied away from global view |
| 6553 | |
| 6554 | 2.5.16 released October 4, 1999 |
| 6555 | |
| 6556 | - one new eye pattern |
| 6557 | - more experimental move generation code |
| 6558 | - cleanup of main.h, worm.c, and matchpat.c |
| 6559 | - improved diagnostic error messages in moyo.c |
| 6560 | - bugfix in moyo.c |
| 6561 | - new numbering scheme for eyes.db |
| 6562 | - bugfix in small_semeai() |
| 6563 | - '*' can now be used as label in autohelper functions |
| 6564 | - minor tuning |
| 6565 | - backfill depth increased from 8 to 14. |
| 6566 | |
| 6567 | 2.5.15 released October 3, 1999 |
| 6568 | |
| 6569 | - new small_semeai() resolves semeais involving worms with 3 or 4 liberties |
| 6570 | - bugfix in only_atari_helper |
| 6571 | - no message in change_attack helper if both ti and worm[ai][aj].attacki==-1 |
| 6572 | - minor changes in patterns.db (mostly comments) |
| 6573 | |
| 6574 | 2.5.14 released October 1, 1999 |
| 6575 | |
| 6576 | - small changes and cleaning in ttsgf_read.c |
| 6577 | - new experimental attacker/defender code |
| 6578 | - minor revisions of hoshi.sgf and patterns.db |
| 6579 | - removed unused function mark_defenses() |
| 6580 | |
| 6581 | 2.5.13 released September 29, 1999 |
| 6582 | |
| 6583 | - reading code tries to attack strings with 4 liberties |
| 6584 | - new function savestone4 |
| 6585 | - help string: options --depth etc. are not debug options as they |
| 6586 | affect playing strength so these are in main help string now |
| 6587 | - bugfix in dragon_status: dragons rescued by ko are not DEAD |
| 6588 | - continued cleaning of moyo.c |
| 6589 | - one new pattern in eyes.db |
| 6590 | |
| 6591 | 2.5.12 released September 28, 1999 |
| 6592 | |
| 6593 | - tuning |
| 6594 | - bugfix in two_bird_helper |
| 6595 | - the last few helpers updated to use change_attack() and change_defense() |
| 6596 | - copyright messages in joseki sgf files replaced by a patterns/README |
| 6597 | |
| 6598 | 2.5.11 released September 26, 1999 |
| 6599 | |
| 6600 | - tuning |
| 6601 | - revised "You stepped on a bug" message |
| 6602 | - new pattern in eyes.db |
| 6603 | - revised joseki in hoshi.db |
| 6604 | - komi initialized in main.c |
| 6605 | |
| 6606 | 2.5.10 released September 22, 1999 |
| 6607 | |
| 6608 | - important bugfix in moyo.c, fixing an indexing out of bounds error. |
| 6609 | - tuning |
| 6610 | |
| 6611 | 2.5.9 released September 21, 1999 |
| 6612 | |
| 6613 | - cleanup of showbord.c |
| 6614 | - hashitem renamed hashdata |
| 6615 | - tuning |
| 6616 | - more debug info in moyo.c |
| 6617 | |
| 6618 | 2.5.8 released September 20, 1999 |
| 6619 | |
| 6620 | - bugfix in fuseki.c to avoid passing if opponent plays on first line |
| 6621 | - tuning |
| 6622 | - error messages in moyo.c redirected to stderr |
| 6623 | |
| 6624 | 2.5.7 released September 16, 1999 |
| 6625 | |
| 6626 | - added src/utils to patterns/ Makefile includes |
| 6627 | - tuning |
| 6628 | - remember to add center stone in sgf file in sethand() |
| 6629 | |
| 6630 | 2.5.6 released September 15, 1999 |
| 6631 | |
| 6632 | - minor changes for Windows support |
| 6633 | |
| 6634 | 2.5.5 released September 13, 1999 |
| 6635 | |
| 6636 | - more informative renaming of variables in moyo.c |
| 6637 | - added #include "getopt.h" to mkpat.c |
| 6638 | - check setlinebuf(), if not available use setbuf() in play_ascii.c |
| 6639 | - check snprintf(), if not available redefine to g_snprintf() (glib) |
| 6640 | - new file docs/WINDOWS |
| 6641 | |
| 6642 | 2.5.4 released September 12, 1999 |
| 6643 | |
| 6644 | - bugfix with --analyze --score: analyze the correct move |
| 6645 | - make install now copies gnugo.6 to /usr/local/man/man6 |
| 6646 | - we do not install mkpat, joseki, mkeyes or sgfgen |
| 6647 | - gnugo.6 moved to top directory |
| 6648 | - revisions to documentation |
| 6649 | - docs/structure.doc is eliminated |
| 6650 | - docs/BOUZY renamed MOYO |
| 6651 | - patterns/fuseki2.sgf is back in patterns/ |
| 6652 | - suppression of many messages when running --quiet |
| 6653 | - bugfix in fuseki.c which could cause illegal moves |
| 6654 | - bugfix in fuseki.c: do not set i,j then return 0 |
| 6655 | |
| 6656 | 2.5.3 released September 10, 1999 |
| 6657 | |
| 6658 | - bugfix in make_worms: typo in adjacent worm code |
| 6659 | - bugfix in trymove() and legal(): check ko color |
| 6660 | - tuning and cleanup of patterns.db |
| 6661 | - bugfix in filllib preventing rare illegal moves |
| 6662 | - bugfix in hashing code |
| 6663 | - MAX_HANDICAP set to 9 |
| 6664 | |
| 6665 | 2.5.2 released September 7, 1999 |
| 6666 | |
| 6667 | - revision of --help |
| 6668 | - revision of documentation |
| 6669 | - separation of globals. New file src/globals.c |
| 6670 | - further revision of moyo.c: dilation revised |
| 6671 | - bugfix in filllib preventing rare illegal moves |
| 6672 | - tuning |
| 6673 | |
| 6674 | 2.5.1 released September 3, 1999 |
| 6675 | |
| 6676 | - delta_moyo_simple() checks for isolated groups like delta_moyo() |
| 6677 | - new function average_moyo_simple() |
| 6678 | - docs/BOUZY updated |
| 6679 | - reimplementation of erosion |
| 6680 | - patch to sgfana.c using multiple character names |
| 6681 | |
| 6682 | 2.3.94 released September 3, 1999 |
| 6683 | |
| 6684 | - Tuning |
| 6685 | - Renumbering and cleanup of patterns.db |
| 6686 | - Bug fix in linear_eye_space(). |
| 6687 | - load_sgf_file() gets the right color to move at end of file |
| 6688 | - Various small corrections. |
| 6689 | - backfill_depth is now 8 |
| 6690 | |
| 6691 | 2.3.93 released September 2, 1999 |
| 6692 | |
| 6693 | - bugfix in recognize_eye |
| 6694 | - bugfix in readlad1: use null pointers in readlad2 call |
| 6695 | - fill_liberty() rewritten recursively with backfilling |
| 6696 | - atari_save_helper replaced by constraint. |
| 6697 | - tuning |
| 6698 | - Previous change to moyo_assistance reimplemented correctly |
| 6699 | - sethand() places fixed handicap stones as traditional |
| 6700 | |
| 6701 | 2.3.92 released September 1, 1999 |
| 6702 | |
| 6703 | - Two new eye patterns |
| 6704 | - Bug fix in filllib.c, avoiding a possible assertion failure |
| 6705 | - Use delta_moyo_simple() in moyo assistance function |
| 6706 | - Tuning |
| 6707 | - gnugo complains about wrong boardsizes |
| 6708 | - avoids some warnings in sgfana.c |
| 6709 | - now -o in ascii mode works with handicap stones |
| 6710 | - bugfix in readlad2 |
| 6711 | - bugfix in basicnet3 |
| 6712 | - docs/OVERVIEW updated |
| 6713 | |
| 6714 | 2.3.91 released August 27, 1999 |
| 6715 | |
| 6716 | - warnings when compiling with ncurses are hopefully fixed |
| 6717 | - The connections code no longer amalgamates attackable worms |
| 6718 | - Bug fix in the topological halfeye code. |
| 6719 | - uncovered a problem with halfeyes in the eyes code, documented in a FIXME |
| 6720 | - Minor tuning. |
| 6721 | - Bug fix in the linear eyes code. |
| 6722 | - Random bonus taken into account in the TRACE prints in shapes. |
| 6723 | - fill_liberty() completely rewritten |
| 6724 | - destroyer taken down |
| 6725 | |
| 6726 | 2.3.90 released August 26, 1999 |
| 6727 | |
| 6728 | - hey.db removed from distribution |
| 6729 | - we no longer give a point for a pass and compel white to pass last |
| 6730 | - play_solo.c and genmove.c: calls to snprintf changed to sprintf |
| 6731 | - revisions to documentation, and to NEWS, AUTHORS, README, INSTALL |
| 6732 | - partial cleanup of main.c |
| 6733 | - one new eye pattern |
| 6734 | - worm.cut field moved to eye_data structure and initialized properly. |
| 6735 | - Added endgame patterns to fix one non-finish bug |
| 6736 | - Replaced movenum by move_number() in play_solo.c. |
| 6737 | - Removed dead code from dragon.c and liberty.h |
| 6738 | - Minor cleanup in worm.c |
| 6739 | - One new cut pattern in conn.db |
| 6740 | - sente_hane1_helper replaced by constraint |
| 6741 | - Bugfix in computation of max weight in mkpat.c |
| 6742 | - Tuning |
| 6743 | |
| 6744 | 2.3.89 released August 25, 1999 |
| 6745 | |
| 6746 | - bugfix in eye_finder |
| 6747 | - one new eye pattern |
| 6748 | - gaminfo.seed is set |
| 6749 | - handicap stones added when not present. |
| 6750 | (Doesn't work with "-l filename --mode ascii") |
| 6751 | - revision to documentation |
| 6752 | - message about unimplemented commands removed from ascii help |
| 6753 | - One new connection pattern in conn.db. |
| 6754 | - Revised connect_under_helper and |
| 6755 | - replaced safe_hane_helper by a constraint |
| 6756 | - Revised some joseki values in hoshi.sgf |
| 6757 | - Tuning of patterns.db. |
| 6758 | |
| 6759 | 2.3.88 released August 23, 1999 |
| 6760 | |
| 6761 | - board size bug fix in moyo.c |
| 6762 | - fuseki.c: 3-3 invasion deprecated in 9 stone fuseki |
| 6763 | - New joseki in hoshi.sgf (tsukenobi variation and one 3-3 invasion) |
| 6764 | - tuning |
| 6765 | |
| 6766 | 2.3.87 released August 22, 1999 |
| 6767 | |
| 6768 | - eye.esize-eye.msize>7 is alive in recognize_eye |
| 6769 | - several eye patterns added |
| 6770 | - dragon_status: escape_route bound for CRITICAL upped to 6 |
| 6771 | - -o and --analyzerfile add handicap stones by AB,AW |
| 6772 | - in nonfile modes the handicap stones are added in sethand() |
| 6773 | - sethand() checks for max handicap values and returns actually set stones |
| 6774 | - reduced MAX_HANDICAP to 19 |
| 6775 | - main.c checks for MAX_HANDICAP |
| 6776 | - sgf_close_file is called only once, when ending ascii mode with "quit" |
| 6777 | - GM property added in --analyzerfile |
| 6778 | - HA property added in --analyzerfile (in sethand()) |
| 6779 | - defined MIN_BOARD 3 in liberty.h |
| 6780 | - help output shows MIN_BOARD, MAX_BOARD and MAX_HANDICAP |
| 6781 | - cleanup of shapes.c, optics.c and moyo.c |
| 6782 | |
| 6783 | 2.3.86 released August 21, 1999 |
| 6784 | |
| 6785 | - resolved: hashed functions shall be readlad2 and basicnet3 |
| 6786 | - connection code patch to reconcile amalgamation and cutstone |
| 6787 | classification (needs rewriting) |
| 6788 | - tuning |
| 6789 | - amalgamate over _dead_ ko positions |
| 6790 | - bugfix in not_lunch_helper |
| 6791 | - Changed semantics of play_attack_defend_n() |
| 6792 | - unused color parameter removed from get_read_result |
| 6793 | - no compiler warnings under GNU/Linux |
| 6794 | - man page docs/gnugo.6 added |
| 6795 | - convenient tcsh completion described in docs/MISC |
| 6796 | |
| 6797 | 2.3.85 released August 20, 1999 |
| 6798 | |
| 6799 | - configure option --disable-hashing now functional |
| 6800 | - values are not hashed when stackp>depth |
| 6801 | - cleanup of mkpat.c |
| 6802 | - cleanup of eyes.h |
| 6803 | - tuning |
| 6804 | - now prints number of eyes in analyzerfile with --analyze eyeinfo |
| 6805 | |
| 6806 | 2.3.84 released August 18, 1999 |
| 6807 | |
| 6808 | - tuning |
| 6809 | - cleanup of dragon.c |
| 6810 | - halfeyes.c removed from the distribution |
| 6811 | - configure option --disable-hashing sets HASHING to 0 |
| 6812 | - sgf.c: avoid trying to close output file twice |
| 6813 | - eyes.db: code # has been changed to @ to avoid conflict with comments |
| 6814 | - Revised compute_eyes() and split off linear eyes to an own function. |
| 6815 | - Made return value from recognize_eye() more consistent. |
| 6816 | - New autohelper functions to identify eye space points: eye(), |
| 6817 | proper_eye(), and marginal_eye() |
| 6818 | - Major revisions of endgame patterns, taking eye space into account |
| 6819 | - obsolete functions play_attack_defend2() to play_attack_defend8() removed |
| 6820 | |
| 6821 | 2.3.83 released August 15, 1999 |
| 6822 | |
| 6823 | - joseki.c upgraded to generate constraints in .db |
| 6824 | - 3 new autohelpers in mkpat.c: diff_moyo, area_space, area_stone |
| 6825 | - interface/play_test.c: bugfix when --testmode and --analyze are combined |
| 6826 | - CHECK_HASHING turned off |
| 6827 | |
| 6828 | 2.3.82 released August 14, 1999 |
| 6829 | |
| 6830 | - hash codes are now computed incrementally |
| 6831 | - bugfix in hash.c |
| 6832 | - reading.c: sacrifice only if stackp<backfill_depth to avoid slow reads |
| 6833 | - sgf.c and main.c: --decidestring works with small boards |
| 6834 | - cleanup of src/attdef.c |
| 6835 | - update: doc/MISC |
| 6836 | - play_ascii: new commands HELPDEBUG, GOTO, DEFEND, SHOWMOYO, SHOWTERRI, |
| 6837 | SHOWAREA, SHOWDRAGONS, SAVE, and LISTDRAGONS |
| 6838 | - play_ascii: command COMMENT now only writes to analyzerfile |
| 6839 | - analyze: new commands AREACOLOR, DEFENSE, MOYOVALUE, TERRICOLOR, TERRITORY, TERRIVALUE |
| 6840 | - abortgo saves abortgo.sgf independent of any -o or --analyzerfile |
| 6841 | |
| 6842 | 2.3.81 released August 11, 1999 |
| 6843 | |
| 6844 | - new function number_weak returns the number of weak groups |
| 6845 | - little tuning in hoshi.sgf |
| 6846 | - major update of all fuseki.c |
| 6847 | - change in --playstyle options, new fuseki become the default |
| 6848 | - added stone color NONE in liberty.h for use with set_computer_player() |
| 6849 | - new function capture in ascii mode |
| 6850 | - new function last in ascii mode |
| 6851 | - bugfix: sethand does not set handicap stones to sgf tree any more |
| 6852 | - bugfix: testmode game with --analyze skips variations |
| 6853 | - new sgfana.c with analyze functions and gnugo specific parts of ttsgf.c |
| 6854 | - new function sgfTriangle() |
| 6855 | - new function sgfMarkWorm() |
| 6856 | - bugfix: analyze function recommended switched off as default |
| 6857 | - new analyze function capture |
| 6858 | |
| 6859 | 2.3.80 released August 10, 1999 |
| 6860 | |
| 6861 | - Implement hashing for attack() and find_defense() |
| 6862 | - option -H = --hash allows user to specify which functions use hashing |
| 6863 | - cleanup of sethand.c |
| 6864 | - cleanup of semeai.c |
| 6865 | - option --playstyle <style>, replace old --fuseki and --fearless |
| 6866 | |
| 6867 | 2.3.79 released August 10, 1999 |
| 6868 | |
| 6869 | - hash.h: bugfix which caused reading errors in rr_set_result_ri_rj |
| 6870 | - reading.c: savestone2 looks for double ataris to chain when stackp>depth |
| 6871 | - updated docs/MISC: analyze functions |
| 6872 | - option --analyze works again (was temporarily off by accident) |
| 6873 | - option --analyze works in --testmode game, no variations tested |
| 6874 | - new analyze functions: moyocolor, recommended, eyeinfo, worminfo |
| 6875 | - bug fix in analyze function eyes |
| 6876 | - option --score last --analzyerfile saves the potential territory with TW,TB |
| 6877 | - option --statistics writes also to analyzerfile |
| 6878 | - abortgo() saves analyzerfile |
| 6879 | - ttsgf.c: ttsgf_move_made() removed |
| 6880 | - play_solo.c: timing added to benchmark mode |
| 6881 | |
| 6882 | 2.3.78 released August 7, 1999 |
| 6883 | |
| 6884 | - hashing in basicnet3 and savestone3 |
| 6885 | - bugfix in play_gmp.c: undo now seems to work! |
| 6886 | - sgf/sgf_utils.c: bugfixes in get_moveX and get_moveY |
| 6887 | - interface/play_solo.c: bugfix in get_moveXY |
| 6888 | |
| 6889 | 2.3.77 released August 5, 1999 |
| 6890 | |
| 6891 | - showbord.c: revised behavior of -E option |
| 6892 | - minor change in moyo.c to have it reinitialized when a game is reloaded |
| 6893 | - change in scoring system for compliancy with chinese & japanese style rules |
| 6894 | - ascii mode: save territory points to analyzerfile |
| 6895 | - gmp mode: log game in sgf tree |
| 6896 | - gmp mode: undo implemented by replaying sgf tree |
| 6897 | - gmp mode: save result and territory points to analyzerfile |
| 6898 | - ttsgf.c: new function sgfOverwritePropertyInt() |
| 6899 | - ttsgf.c: new function sgfAddStone() |
| 6900 | - sethand.c: sets handicap stones to sgf tree |
| 6901 | - hash.diff removed from distribution |
| 6902 | |
| 6903 | 2.3.76 released August 4, 1999 |
| 6904 | |
| 6905 | - interface/html directory contains cgi interface |
| 6906 | - bugfix in optics.c: initialization of domains |
| 6907 | - bugfix in reading.c: some variations were being overlooked |
| 6908 | - hashing implemented in savestone2 |
| 6909 | |
| 6910 | 2.3.75 released August 2, 1999 |
| 6911 | |
| 6912 | - mark illegal moves in --printsgf with IL property |
| 6913 | - Some new macros in hash.h |
| 6914 | - Use hashing in readlad2 |
| 6915 | - Some cleanup of worm.c |
| 6916 | - option -f rewritten : opening tuning, including oba moves |
| 6917 | - non fuseki part of old -f option became --fearless option |
| 6918 | |
| 6919 | 2.3.74 released August 1, 1999 |
| 6920 | |
| 6921 | - bugfixes in helpers.c. One of these could cause a crash |
| 6922 | - two connection patterns increased substantially |
| 6923 | - moved get_komi() and inc_movenumber() to liberty.h |
| 6924 | - play_ascii(): new commands to navigate the game tree in ascii mode |
| 6925 | - back command (undo) implemented in ascii mode! Newly placed |
| 6926 | stones appear as variations in the sgf |
| 6927 | - play_ascii(): changed the compare length of some commands. Now q works |
| 6928 | for quit, b for back and f for forward. |
| 6929 | - removed bug in play_ascii(): user pass after computer pass did not |
| 6930 | display result. |
| 6931 | - fixed bug in helpanalyzer output |
| 6932 | - utils.c: added function intialize board() and removed remove_stone() |
| 6933 | - fixed the komi bug reported by Douglas in --analzyerfile |
| 6934 | |
| 6935 | 2.3.73 This version may be released later |
| 6936 | |
| 6937 | 2.3.72 released July 30, 1999 |
| 6938 | |
| 6939 | - bugfix in updateboard ko handling |
| 6940 | - Moved obsolete documentation about reading.c to doc about utils.c |
| 6941 | - Expanded documentation about reading with hashing |
| 6942 | - minor tuning |
| 6943 | |
| 6944 | 2.3.71 released July 29, 1999 |
| 6945 | |
| 6946 | - bugfix in make_worms: moving point of defense |
| 6947 | - fixes to handling of ko after a pass |
| 6948 | - updatepassmove() removed |
| 6949 | - updateboard now handles pass moves. |
| 6950 | - KO handling by trymove is currently broke |
| 6951 | - play_ascii.c, play_gmp.c, play_solo.c updated accordingly. |
| 6952 | - revisions to ascii interface. |
| 6953 | - legal() now reports a pass move to be legal. |
| 6954 | - revision of one eye pattern |
| 6955 | - tuning to increase attention to connections |
| 6956 | - 2 new helpers |
| 6957 | - mkpat: weak autohelper option needed ==CRITICAL |
| 6958 | - modified worm values |
| 6959 | |
| 6960 | 2.3.70 released July 28, 1999 |
| 6961 | |
| 6962 | - Zobrist hashing implemented |
| 6963 | - new files src/hash.h and src/hash.c |
| 6964 | - readlad1 uses hashing |
| 6965 | - readlad2 does consider 2 stone sacrifices if stackp<backfill_depth |
| 6966 | - revised method of ko detection using |
| 6967 | - New file docs/HALFEYES describing the topology of false eyes and half eyes. |
| 6968 | - Halfeye detection rewritten from scratch according to docs/HALFEYES. |
| 6969 | - Revisions to connection code. |
| 6970 | - A small amount of tuning. |
| 6971 | - Dragon values changed when worm values are. |
| 6972 | - Designation of marginal eye spaces revised to consider if enemy has a safe move |
| 6973 | - Bugfix in worm.c |
| 6974 | |
| 6975 | 2.3.69 released July 27, 1999 |
| 6976 | |
| 6977 | - bug fix in connections.c |
| 6978 | - two false eye patterns added |
| 6979 | - one pattern added |
| 6980 | - readlad2 sorts liberties before plunging in to the read |
| 6981 | - readlad2 rejects sacrifices of more than one stone |
| 6982 | - bugfix in shapes.c |
| 6983 | - in worm.c we sometimes try point of attack for defense |
| 6984 | - removed the -b bug |
| 6985 | - removed some warnings |
| 6986 | - ascii mode: new command comment writes one line comments to file |
| 6987 | - ascii mode: new command score displays terri_eval |
| 6988 | - ascii mode: new command dead shows dead stones as lower letters |
| 6989 | - ascii mode: at end shows dead dragons, lets user toggle their state |
| 6990 | - ascii mode: REsult propterty is written to analyzerfile |
| 6991 | - new command line option helpanalyze |
| 6992 | - option --score end outputs territory points (TW,TB) to analyzerfile |
| 6993 | - utils.c: new function remove_stone |
| 6994 | - utils.c: new function change_dragon_status |
| 6995 | - main.c: added shortcut for --help to the help message |
| 6996 | - ttsgf.c: reduced the memory consumption of the sgf structure |
| 6997 | - liberty.h: made the dragon structure public |
| 6998 | |
| 6999 | 2.3.68 released July 26, 1999 |
| 7000 | |
| 7001 | - Tuning, seki patterns. |
| 7002 | - New connection patterns. |
| 7003 | - Revision of connections code. |
| 7004 | - New helpers. |
| 7005 | - eye_finder() now considers shape's move as defender() and attacker() do |
| 7006 | - Cleaning up and bug fixes in attdef.c. |
| 7007 | - More debug messages for the eyes code. |
| 7008 | - Bug fixes in compute_eyes() and play_attack_defend_n(). |
| 7009 | - Bug fix in shapes.c: TRACE was missing an argument |
| 7010 | - fixed testwind compiler warning |
| 7011 | |
| 7012 | 2.3.67 released July 25, 1999 |
| 7013 | |
| 7014 | - bugfix in attacker: depth was changing each move |
| 7015 | - A class patterns, analogous to the D class, implemented but not tested |
| 7016 | - B and C classes can now be used in the same pattern. |
| 7017 | - The meta_connect bonus now specified with a new field |
| 7018 | - doc/PATTERNS revised |
| 7019 | - the oplay_attack() and similar autohelper functions documented |
| 7020 | - meta_connect bonus removed from most patterns except block/expand |
| 7021 | - Weakness bonuses are now applied at a later time than they were. |
| 7022 | Thus B and C patterns are treated the same as patterns using helpers |
| 7023 | - A 5,5 weakness bonus added to all cut/connect patterns |
| 7024 | - diag_miai2 helper revised. |
| 7025 | - Some tuning. |
| 7026 | - shapes.c cleaned up. |
| 7027 | - revisions in interface/play_ascii.c |
| 7028 | - substantial revision in sgf/ttsgf.c |
| 7029 | - new option --analyzerfile (see docs/MISC) |
| 7030 | - docs/SCORING is renamed docs/MISC |
| 7031 | |
| 7032 | 2.3.66 released July 23, 1999 |
| 7033 | |
| 7034 | - make_worms: bugfix in resetting of worm.attack and worm.defend |
| 7035 | - bugfix in does_defend |
| 7036 | - new autohelper macros |
| 7037 | - play_attack_defend_n can take an arbitrary number of parameters |
| 7038 | - function who_win renamed who_wins for grammatical reasons |
| 7039 | - play_gmp.c: if there is a handicap we assume komi=0.5 |
| 7040 | - play_solo.c: captures not added a second time |
| 7041 | - new patterns in eyes.db |
| 7042 | - some tuning |
| 7043 | - sgf.c: pass is [tt] unless board_size>19 |
| 7044 | - depth and backfill_depth are augmented in attacker() and defender() |
| 7045 | - bugfix in printsgf mode |
| 7046 | - sgf_printboard prints current board position to sgf file |
| 7047 | - LOAD_AND_PRINT mode: read file, output final position |
| 7048 | |
| 7049 | 2.3.65 released July 21, 1999 |
| 7050 | |
| 7051 | - dragon_eye does not amalgamate across an ikken tobi |
| 7052 | - play_ascii.c: change depth on the fly |
| 7053 | - new option --statistics |
| 7054 | - revision of various helpers and 2 new helpers |
| 7055 | - mkpat rewritten so constraints can now be on several lines. |
| 7056 | - New autohelper functions xplay_attack, oplay_attack, xplay_defend, |
| 7057 | and oplay_defend, which take variable number of arguments. |
| 7058 | - New functions in utils.c to support the above. |
| 7059 | - tuning |
| 7060 | - bugfix in sethand.c |
| 7061 | - increased DEPTH to 14 and BACKFILL_DEPTH to 7 |
| 7062 | - change_attack can sometimes reclassify dragons as DEAD |
| 7063 | - command line resetting of depth |
| 7064 | |
| 7065 | 2.3.64 released July 20, 1999 |
| 7066 | |
| 7067 | - reformatting of reading.c |
| 7068 | - bugfix in break_chain2 |
| 7069 | - revised basicnet3: try harder to rescue boundary chains |
| 7070 | - revised basicnet3: remember moves tried to avoid redundant reading |
| 7071 | - bugfix in find_lunch: pick juciest worm |
| 7072 | - sgf property PL implemented in play_solo |
| 7073 | - revisions in play_solo.c and fuseki.c for small boards |
| 7074 | |
| 7075 | 2.3.63 released July 19, 1999 |
| 7076 | |
| 7077 | - delta_moyo, delta_terri work with either color |
| 7078 | - 2 new functions diff_terri and diff_moyo, |
| 7079 | - cleanup of moyo.c |
| 7080 | - -f option revised |
| 7081 | - docs/BOUZY revised |
| 7082 | - new docs/SCORING |
| 7083 | - New autohelper functions. |
| 7084 | - New connection patterns and revisions of the connections matching code. |
| 7085 | - Bugfix to an eye pattern. |
| 7086 | - Much tuning. |
| 7087 | - Revised criterion for when to defend or attack a worm. |
| 7088 | - Extended the scope of destroyer(). |
| 7089 | - Experimental worm and cut revaluation in light of dragon formations |
| 7090 | - Changed heuristics for eye values of non-matched eye shapes. |
| 7091 | - reordered arguments to does_attack() and does_defend() |
| 7092 | - bugfix in readlad2: backfill was turned off |
| 7093 | - default backfill_depth is now 5 |
| 7094 | - -l and -o options can be - for stdin and stdout |
| 7095 | |
| 7096 | 2.3.62 released July 17, 1999 |
| 7097 | |
| 7098 | - New autohelper functions, xlib(), olib(), xcut(), and ocut(). |
| 7099 | - Revised documentation for autohelper functions. |
| 7100 | - Connections database introduced. New files: connections.c and conn.db. |
| 7101 | - find_dragon_pairs() disabled, replaced by connection patterns. |
| 7102 | - Cutting patterns from the connection database can modify eye spaces. |
| 7103 | - Amalgamation in dragon_eye() no longer done over marginal eyes. |
| 7104 | - mkpat partially rewritten. |
| 7105 | - Minor correction to eyes.db. |
| 7106 | - Nakade helpers cleaned away. |
| 7107 | - Minor tuning, |
| 7108 | - two more nakade like patterns removed, EC63 again C pattern. |
| 7109 | - Bug fix in attacker(): discount bad captures, not good ones |
| 7110 | - New function destroyer() to capture of strings that can't currently |
| 7111 | be defended, but which could be after opponent backfilling |
| 7112 | - Some cleaning in genmove.c. |
| 7113 | - Attack points of non-defendable strings not moved in make_worms |
| 7114 | - defense points added for adjacent non-defendable strings so |
| 7115 | dragon amalgamation won't confuse semeai() |
| 7116 | - new function read_sgf_header used by load_and_analyse_sgf_file |
| 7117 | - new function load_and_score_sgf_file |
| 7118 | - new option --score and new mode LOAD_AND_SCORE |
| 7119 | - new function evaluate_territory |
| 7120 | |
| 7121 | 2.3.61 released July 15, 1999 |
| 7122 | |
| 7123 | - nakade patterns are gone |
| 7124 | - only linear patterns are currently hand-coded |
| 7125 | - many new eye patterns |
| 7126 | - not_lunch_helper aids in hane/kill combinations |
| 7127 | - undid a change in 2.3.59: amalgamation on first line |
| 7128 | |
| 7129 | 2.3.60 released July 15, 1999 |
| 7130 | |
| 7131 | - TODO revised |
| 7132 | - copyright revised in interface/ files |
| 7133 | - new pattern in eyes.db |
| 7134 | - halfeyes: require O not dead |
| 7135 | - revision of detect_trap_helper |
| 7136 | - revision of one pattern in hey.db |
| 7137 | - new ko patterns |
| 7138 | - other minor changes |
| 7139 | - new functions does_attack and does_defend in utils.c |
| 7140 | - attacker and defender call these functions |
| 7141 | - copyright notice slightly changed in main.c |
| 7142 | - reformatting of worm.c |
| 7143 | - unwanted handicap printf removed from play_gmp.c |
| 7144 | |
| 7145 | 2.3.59 released July 14, 1999 |
| 7146 | |
| 7147 | - revision of docs/DRAGON |
| 7148 | - several new eye patterns |
| 7149 | - fair amount of tuning. Particularly, changes to diag_miai patterns |
| 7150 | - dragon.c: we don't amalgamate a dragon if it touches the eyeshape |
| 7151 | only on the first line |
| 7152 | - COLOR_STACK_SIZE increased to 70 |
| 7153 | - DEBUG used in optics.c |
| 7154 | |
| 7155 | 2.3.58 released July 13, 1999 |
| 7156 | |
| 7157 | - mkpat revised. Autohelper functions now can take multiple parameters. |
| 7158 | First out is defend_against(a,b) which plays our own stone at a and |
| 7159 | then checks whether the opponent can safely play at b. |
| 7160 | - some tuning of patterns. |
| 7161 | - new function defend_against() in utils.c |
| 7162 | - bugfix in compute_eyes(): missing returns |
| 7163 | - two new eye patterns |
| 7164 | - bugfix in add_half_eye |
| 7165 | - more refined testing of att_X case in halfeyes.c |
| 7166 | - halfeye: obsolete test that eye and halfeye are in distinct cavities omitted |
| 7167 | - halfeye: we check that * is a safe move for X |
| 7168 | - restored marginal test in throw_in_atari_helper (removed in 2.3.55) |
| 7169 | - superceded docs/GRAPHS removed from distribution |
| 7170 | - filllib.c reformatted |
| 7171 | |
| 7172 | 2.3.57 released July 12, 1999 |
| 7173 | |
| 7174 | - count and chain rewritten for speed |
| 7175 | - more graceful error message if no in file specified in testmode |
| 7176 | - eye pattern 10 needed a vital point |
| 7177 | - find_lunch and make_worms: a ko is not lunch |
| 7178 | |
| 7179 | 2.3.56 released July 11, 1999 |
| 7180 | |
| 7181 | - add_half_eye: when a half eye's vital point is in another eyeshape |
| 7182 | the eyeshapes are amalgamated. This is correct and stops some crashes |
| 7183 | - computer tries to compute the score at end of game |
| 7184 | - new function who_win in moyo.c |
| 7185 | - one chimera pattern included in eyes.db |
| 7186 | - bugfix in attdef.c: color in territory test |
| 7187 | - bugfix in showbord.c: display of capture count |
| 7188 | |
| 7189 | 2.3.55 released July 9, 1999 |
| 7190 | |
| 7191 | - integration of half eye and eye code |
| 7192 | - separate eye domains for black and white |
| 7193 | - revision of docs/EYES to document the algorithm |
| 7194 | - a couple of changes that will be undone in a later release: |
| 7195 | temporary oversimplification of treatment of att_X in hey_callback |
| 7196 | temporary oversimplification of throw_in_atari_helper |
| 7197 | - removal of one half eye pattern |
| 7198 | - experimental penalty for running inside enemy territory |
| 7199 | - bug fix in semeai.c |
| 7200 | - revision in showboard for -E option |
| 7201 | |
| 7202 | 2.3.53 released July 8, 1999 |
| 7203 | |
| 7204 | - reading.c: new function special_rescue finds certain saving moves |
| 7205 | - revisions to savestone2 including use of special_rescue |
| 7206 | - speedup in find_lunch |
| 7207 | - minor revisions to hey.db and eyes.db |
| 7208 | - bugfix in mkpat (this could cause compilation failure) |
| 7209 | - bug fix in make_dragons (ignore eyes when not relevant) |
| 7210 | |
| 7211 | 2.3.52 released July 7, 1999 |
| 7212 | |
| 7213 | - bugfix in setup_double_atari_helper (could cause crash) |
| 7214 | - minor tuning |
| 7215 | - revision make_domains: influence can't creep under third line stone |
| 7216 | - revision to find_lunch: if already eaten it's not lunch |
| 7217 | - revision in halfeyes.c vis a vis Pattern 12 |
| 7218 | |
| 7219 | 2.3.51 released July 6, 1999 |
| 7220 | |
| 7221 | - revision of mkeyes |
| 7222 | - new function recognize_eye() for use by the reading code (unfinished) |
| 7223 | - revision of the -f option (move generator based on territory) |
| 7224 | - cleanup in helpers.c and replacement of helpers by constraints |
| 7225 | |
| 7226 | 2.3.50 released July 4, 1999 |
| 7227 | |
| 7228 | - gnugo -f implements search for big moves with delta_moyo>=12 |
| 7229 | - and delta_terri >=14. Such a move gets value 80. |
| 7230 | - tuning |
| 7231 | - some work on false eye code |
| 7232 | - some work on the eye code |
| 7233 | - bugfix in double_atari_helper |
| 7234 | |
| 7235 | 2.3.49 released July 2, 1999 |
| 7236 | |
| 7237 | - Correction to sgf output from ascii interface. |
| 7238 | - Results of safe_move() are cached if stackp==0. |
| 7239 | - Helpers and some other code rewritten to use safe_move() |
| 7240 | - Bugfixes in block_attack_defend_helper and urgent_connect_helper |
| 7241 | - Reading bug fixed in savestone2(). |
| 7242 | - tuning |
| 7243 | - autohelper options safe_xmove,safe_omove,xmoyo,omoyo,xarea,oarea,xterri,oterri |
| 7244 | - new function mkeyes to compile the eye database (unfinished) |
| 7245 | - docs/GRAPHS explains the approach to the eye code |
| 7246 | - revisions to eyes.db and eyes.h |
| 7247 | - in halfeyes.c we make an exception to the rule that X can't be captured |
| 7248 | - revisions to hey.db |
| 7249 | - dragons with one eye and lunch are CRITICAL |
| 7250 | - revisions to eye_finder to find such dragons |
| 7251 | - eyespaces are not connected through adjacent marginal eyes |
| 7252 | - various fields initialized in make_domains() |
| 7253 | - bugfixes in make_domains |
| 7254 | - bugfix in compute_eyes: sometimes found the wrong end of a linear space |
| 7255 | |
| 7256 | 2.3.48 released June 29, 1999 |
| 7257 | |
| 7258 | - experimental changes to fuseki.c |
| 7259 | - revisions to helpers and patterns |
| 7260 | - eye_finder() now calls sgf_move_considered() |
| 7261 | - revisions to compute_eyes: eye shapes of size 4 |
| 7262 | - DEPTH is now 13, BACKFILL_DEPTH is 9 |
| 7263 | - gnugo --help now prints defaults of depth and backfill_depth |
| 7264 | - bugfix in worm.c: some non-kos were incorrectly identified as ko |
| 7265 | |
| 7266 | 2.3.47 released June 29, 1999 |
| 7267 | |
| 7268 | - substantial speedup in chainlinks |
| 7269 | - minor tuning |
| 7270 | |
| 7271 | 2.3.46 release June 28, 1999 |
| 7272 | |
| 7273 | - tuning, new helpers and patterns |
| 7274 | - some half eye code restored to dragon.c |
| 7275 | - some further linear patterns in compute_eyes() |
| 7276 | - bugfix in savestone3 |
| 7277 | - speedup in find_lunch: if stackp==0, we used cached info |
| 7278 | - in break_chain2 don't try certain foolish moves |
| 7279 | - speedup in basicnet3 (avoid unnecessary readlad1) |
| 7280 | |
| 7281 | 2.3.45 released June 27, 1999 |
| 7282 | |
| 7283 | - 3 new functions delta_terri_color, delta_moyo_color, delta_area_color |
| 7284 | - new board stack in moyo.c |
| 7285 | - BOUZY updated |
| 7286 | - bug fixes regarding half eyes in dragon.c and eyes.c |
| 7287 | - new code for some linear patterns |
| 7288 | - bugfix: dragons around a ko were getting amalgamated |
| 7289 | |
| 7290 | 2.3.44 released June 25, 1999 |
| 7291 | |
| 7292 | - bugfix in atari_save_helper (could cause crash) |
| 7293 | - revision to CD68 (could cause GNU to play out a ladder) |
| 7294 | - bugfix in dragon.c: incrementing msize wrongly |
| 7295 | - minor revisions to make_domains() |
| 7296 | - new functions int moyo_color(int m,int n) and int terri_color(int m,int n) |
| 7297 | returning the color of the intersection as seen by terri & moyo modules |
| 7298 | - new function delta_moyo_simple() without meta_connect bonus, delta_moyo() |
| 7299 | is now a wrapper to this one (should be a transparent modification) |
| 7300 | - diag_miai_helper uses the new moyo_color() |
| 7301 | |
| 7302 | 2.3.43 released June 24, 1999 |
| 7303 | |
| 7304 | - revisions to ascii interface |
| 7305 | - gnugo can resume adjourned games |
| 7306 | - gnugo plays through endgame phase of the ascii interface |
| 7307 | - much tuning |
| 7308 | - revisions to helpers and new helpers |
| 7309 | - in this version a weak group has between 0 and 20 points space |
| 7310 | - two half eye patterns are back. Half eyes still not working right |
| 7311 | - (incomplete) revision of eye code to deal with half eyes |
| 7312 | - bug fix in eyes.c regarding opponent stones within eyespace |
| 7313 | - tinkering with hoshi.sgf |
| 7314 | |
| 7315 | |
| 7316 | 2.3.42 released June 23, 1999 |
| 7317 | |
| 7318 | - weak groups now have between 4 and 20 liberties |
| 7319 | - diag_miai_helper won't recommend a move in opponent's territory |
| 7320 | - revisions to patterns/hoshi.sgf |
| 7321 | - mkpat.c: fields in NULL pattern at end of patterns.c corrected |
| 7322 | - mkpat.c: weak option added to pattern compiler |
| 7323 | - some tuning |
| 7324 | - dragon.c: error eye.msize was preventing us from finding false eyes |
| 7325 | - some code moved from eye.c to dragon.c to help finding false eyes |
| 7326 | - compute_eyes and propogate_eyes are now public functions |
| 7327 | - bugfix in shapes.c: obonus and xbonus should now work correctly |
| 7328 | - revisions to documentation |
| 7329 | |
| 7330 | 2.3.41 released June 22, 1999 |
| 7331 | |
| 7332 | - compute_eyes is partially written (without using matchpat) |
| 7333 | - revisions to computation of genus |
| 7334 | - openeyes is expunged |
| 7335 | - half eye database is invoked earlier |
| 7336 | - half eye database used only to find false eyes |
| 7337 | - bonus field split into obonus and xbonus |
| 7338 | - obonus and xbonus are applied to patterns involving weak groups |
| 7339 | - most EB patterns now have bonuses |
| 7340 | - 5 point bonus for patterns involving weak groups (2.3.38) is gone |
| 7341 | - some tuning |
| 7342 | - some bugfixes in eyes.c, dragons.c and semeai.c |
| 7343 | |
| 7344 | 2.3.40 released June 21, 1999 |
| 7345 | |
| 7346 | - substantial revisions and new code in dragon.c and eye.c |
| 7347 | - dragons around an eye shape are now amalgamated |
| 7348 | - delta_moyo looks in meta_connect for the tested move |
| 7349 | - Bug fixes for two helpers. |
| 7350 | - Minor tuning. |
| 7351 | - GNU now can read sgf files with missing final ")". |
| 7352 | - defender and the attacker try the move suggested by shapes() |
| 7353 | - The semeai player now prefers to play on mutual liberties if this |
| 7354 | improves the liberty balance. |
| 7355 | |
| 7356 | 2.3.39 released June 18, 1999 |
| 7357 | |
| 7358 | - some tuning, new helper block_attack_defend_helper |
| 7359 | - eye code now fills out an array eye[][] with data |
| 7360 | - revision to eye algorithm |
| 7361 | - open eye spaces now have origins |
| 7362 | - bugfix with -E option |
| 7363 | - dead groups are now cyan in showboard (were white) |
| 7364 | |
| 7365 | 2.3.38 released June 17, 1999 |
| 7366 | |
| 7367 | - experimental bonus of 5 points to patterns involving a weak dragon |
| 7368 | - revision of patterns/hoshi.sgf: attachment variations deprecated |
| 7369 | - open eye shapes are now computed. Display these with gnugo -E |
| 7370 | - some tuning |
| 7371 | |
| 7372 | 2.3.37 released June 16, 1999 |
| 7373 | |
| 7374 | - weak groups no longer classed dragon.status==CRITICAL. Instead ... |
| 7375 | - new field dragon.weak |
| 7376 | - old worm.weak and dragon.weak renamed worm.lunch and dragon.lunch |
| 7377 | - weak groups (found by moyo) classed dragon.weak==CRITICAL |
| 7378 | - dragon.weak field not used by genmove but displayed by showboard |
| 7379 | - new helper wedge2_helper |
| 7380 | - tuning and other revisions to pattern database |
| 7381 | - src/eye.c code is now linked though not used by genmove |
| 7382 | - revisions to showboard to display eye domains if xo=1 |
| 7383 | - int make_worms() (was void) returns 1 if board not empty |
| 7384 | - find_weak() renamed find_lunch() |
| 7385 | |
| 7386 | 2.3.36 released June 15, 1999 |
| 7387 | |
| 7388 | - weak groups are classed CRITICAL so they scrounge eyes |
| 7389 | - new function test_weak to find weak groups (in moyo.c) |
| 7390 | - revision to print_txt_color |
| 7391 | - bugfix in fill_liberties |
| 7392 | - revised docs/BOUZY |
| 7393 | - bugfix: find_defense no longer checks that strings can be attacked |
| 7394 | which required some modifications, slowing us down a little |
| 7395 | - DEPTH reduced to 12 |
| 7396 | |
| 7397 | 2.3.35 released June 15, 1999 |
| 7398 | |
| 7399 | - reading code is much faster now and hopefully also more accuracy. |
| 7400 | - new function relative_break_chain() used in revised readlad2() |
| 7401 | - caching of moves eschewed in break_chain(), break_chain2() |
| 7402 | if return pointer is NULL |
| 7403 | - DEPTH increased from 10 to 13 |
| 7404 | - new docs/READING explains using --decidestring -o with gdb |
| 7405 | - connect_under_helper() rewritten to use connection_value() |
| 7406 | - housecleaning in patterns.db |
| 7407 | |
| 7408 | 2.3.34 released June 14, 1999 |
| 7409 | |
| 7410 | - test for pass in play_solo.c corrected |
| 7411 | - tuning |
| 7412 | - new pattern classification: Edge Expansion |
| 7413 | - GNU tries in two ways to fill liberties (points in Chinese count) |
| 7414 | - before passing, DEAD opponent stones in semeai are reclassed |
| 7415 | unknown, then shapes is rerun |
| 7416 | - if that doesn't work, new function fill_liberty() tries again |
| 7417 | - new field dragon.semeai, new function revise_semeai() |
| 7418 | - static_eval() is gone (superceded by moyo()) |
| 7419 | - reading.c: new function savestone3() |
| 7420 | - reading.c: savestone2 no longer tries to find the best move since |
| 7421 | we have ways to improve points of attack and defense |
| 7422 | - some code taken out of find_defense() |
| 7423 | - dump_stack() uses gprintf instead of TRACE and counts variation |
| 7424 | |
| 7425 | 2.3.33 released June 12, 1999 |
| 7426 | |
| 7427 | - new function meta_connect to test a move against area ownership |
| 7428 | (returns true when the move connects/disconnects meta groups) |
| 7429 | - area ownership now sees kosumi connections |
| 7430 | - minor changes in moyo.c data structures |
| 7431 | - in shape.c, added some bonus for meta_connect moves |
| 7432 | - in mkpat.c, some bonus added to maxwt for meta_connect moves |
| 7433 | - minor tuning |
| 7434 | - in readlad2() we consider throwins |
| 7435 | - Copyright updated (no longer says 2.0) in src/ and patterns/ |
| 7436 | |
| 7437 | 2.3.32 released June 11, 1999 |
| 7438 | |
| 7439 | - substantial speedup of reading code |
| 7440 | - in savestone2, we try to find an easy saving move before reading |
| 7441 | - in savestone2, we don't try second move if first works |
| 7442 | - in readlad2, we postpone break_chain2 but not break_chain |
| 7443 | - option --decidestring -o now outputs variation numbers |
| 7444 | - bugfix in extend_to_kill_helper |
| 7445 | - embryonic src/eyes.c included in tar file |
| 7446 | |
| 7447 | 2.3.31 released June 10, 1999 |
| 7448 | |
| 7449 | - new globals last_move_i and last_move_j give the last move made. |
| 7450 | This is used to improve(?) ascii output. |
| 7451 | - fixed bug ascii play where the captured stones where added wrong |
| 7452 | - play_ascii and play_test start with move 0 like play_gmp |
| 7453 | - in ascii play the last move is now marked |
| 7454 | - bug fixed in ascii play when a pass is made |
| 7455 | |
| 7456 | 2.3.30 released June 9, 1999 |
| 7457 | |
| 7458 | - reimplementation of of handicap in ascii without writing p[][] |
| 7459 | - new functions for saving/restoring game state without using stack |
| 7460 | - use inc_movenum instead of movenum++ in play_gmp and play_solo |
| 7461 | - revision to ko_important_helper: ko values cut in half |
| 7462 | - move_attack() and move_defense() renamed change_attack() and change_defense() |
| 7463 | - new komoku pattern |
| 7464 | - 2 new patterns |
| 7465 | |
| 7466 | 2.3.29 released June 7, 1999 |
| 7467 | |
| 7468 | - connection_value moved to src/util.c |
| 7469 | - alive11_helper modified |
| 7470 | - eschewing of kos by attacker() and defender(), dropped in 2.3.28 is back |
| 7471 | - edge_ko_important helper added |
| 7472 | - new sente_extend_helper, straight_connect_helper, block_to_kill_helper |
| 7473 | extend_to_kill_helper, revise_value_helper |
| 7474 | - new half eye pattern |
| 7475 | - several new patterns and changes to patterns.db |
| 7476 | - moved some CC patterns from wrong section |
| 7477 | - now --color should work with ascii interface |
| 7478 | |
| 7479 | 2.3.28 released June 6, 1999 |
| 7480 | |
| 7481 | - bugfix (worm.c, shapes.c, helpers.c): propogate_worm not used with stackp>0 |
| 7482 | - attacker() and defender() no longer eschew kos |
| 7483 | - unused sgfAddPlay is commented out (fixing a warning) |
| 7484 | - fixes to trace (indent is back, caves which are kos are reported correctly) |
| 7485 | - default backfill_depth is 7 (arrived at by trial and error) |
| 7486 | - option --decidestring no longer requires -o (useful with or without it) |
| 7487 | - in make_worms() code to improve worm.attack, worm.defend we now read |
| 7488 | one step deeper in the stack to avoid horizon effect |
| 7489 | - initialization in propogate_worm() uses memset |
| 7490 | |
| 7491 | 2.3.27 released June 5, 1999 |
| 7492 | |
| 7493 | - new option -B [depth] should now work |
| 7494 | - default values of depth and backfill_depth are 10 and 5 |
| 7495 | - new function mprintf which is similar to gprintf but writes to stdout |
| 7496 | - changed vgprintf to work with different outputs (i.e. stderr, stdout) |
| 7497 | - the testmode now write its output to stdout only (never stderr) |
| 7498 | - bugfix in backfire_helper |
| 7499 | |
| 7500 | 2.3.26 released June 4, 1999 |
| 7501 | |
| 7502 | - Backfill depth can now be set with -B [depth] |
| 7503 | - very minor revisions to patterns.db |
| 7504 | - reading.c: bc was not being initialized when stackp>0 (twice) |
| 7505 | |
| 7506 | 2.3.25 released June 1, 1999 |
| 7507 | |
| 7508 | - bug fix in new make_worm() code |
| 7509 | - connection_value gives a bonus if the connecting move makes 2 eyes |
| 7510 | - mystery pattern CB102 removed |
| 7511 | |
| 7512 | 2.3.24 released May 30, 1999 |
| 7513 | |
| 7514 | - tuning of joseki and patterns |
| 7515 | - revised definition of inessential worms --- require worm.weak==-1 |
| 7516 | - new code in make_worms() to revise points of attack/defense |
| 7517 | - BACKFILL_DEPTH reduced to 4 due to increased slowness |
| 7518 | - basicnet4 included but turned off |
| 7519 | |
| 7520 | 2.3.23 released May 29, 1999 |
| 7521 | |
| 7522 | - asymmetry bug in moyo.c fixed: when init_moyo() is launched, |
| 7523 | boardsize is not known |
| 7524 | - area computation and dilat algorithm bug |
| 7525 | - distribution includes reading.c.alt for the experimentally inclined |
| 7526 | - tuning and new helpers |
| 7527 | - dragon.c split into dragon.c and worm.c |
| 7528 | |
| 7529 | 2.3.22 released May 27, 1999 |
| 7530 | |
| 7531 | - disabled long jumps into enemy area without a secure connection |
| 7532 | - no center pattern can jump down to or along the second line |
| 7533 | - revision to the endgame patterns according to docs/ENDGAME |
| 7534 | - detect_trap_helper looks for moves attacking two groups at once |
| 7535 | - some other tuning |
| 7536 | - evaluate_game removed from the distribution |
| 7537 | - semeai will not recommend a move which leads to an immediate loss |
| 7538 | - bugfix in semeai: bestlib was not getting updated |
| 7539 | |
| 7540 | 2.3.21 released May 27, 1999 |
| 7541 | |
| 7542 | - Empty corner play moved to src/fuseki.c (new) and reimplemented |
| 7543 | - Embryos for 3-4, 3-3, 5-3, and 5-4 joseki databases in patterns/*.sgf |
| 7544 | - option -m [level] for debugging moyos |
| 7545 | - docs/EYES revised |
| 7546 | - bugfix in urgent_connect_helper |
| 7547 | - pattern revisions |
| 7548 | |
| 7549 | 2.3.20 released May 26, 1999 |
| 7550 | |
| 7551 | - readlad2 now tries backfilling. readlad2 and attack return 2 if |
| 7552 | a backfill is found but no direct attacking move |
| 7553 | - new patterns |
| 7554 | - use of macros to simplify helpers |
| 7555 | - trymove: sgf --decidestring now gives more information |
| 7556 | - solves errors when MAX_DILAT != MOY_DILAT |
| 7557 | - now the area ownership uses 4 dilation, which seems better. |
| 7558 | - docs/ENDGAME added from Gunnar's email of May 18, 1999 |
| 7559 | |
| 7560 | 2.3.19 released May 24, 1999 |
| 7561 | |
| 7562 | - edge block/expand patterns reordered |
| 7563 | - tuning |
| 7564 | - a new joseki |
| 7565 | - a new helper |
| 7566 | - Move evaluate_game functionality into play_test.c |
| 7567 | - It is now main.c that loads the sgf file into a tree. |
| 7568 | - If no playmode / testmode is supplied, look for a comment |
| 7569 | of the form C[testmode=...] in the root node. If found, |
| 7570 | this sets the playmode / testmode. |
| 7571 | - Other interface fns take the tree, rather than filename, as param. |
| 7572 | - testmode is now a local variable, passed as param into play_test, |
| 7573 | rather than setting into global state via set_testmode / get_testmode |
| 7574 | - Move the tests for acceptable sgf file (GM[1]FF[3/4]) into the |
| 7575 | sgf reader, rather than in the user of the tree. |
| 7576 | - bugfix in hane_backfill_helper |
| 7577 | - semeai now attacks dragons of low vitality |
| 7578 | - semeai tries a little harder to choose a smart liberty |
| 7579 | |
| 7580 | 2.3.18 released May 23, 1999 |
| 7581 | |
| 7582 | - break_chain() and break_chain2() return 2 if saving move can be taken |
| 7583 | - savestone2() and find_defense() try harder not to make self-atari |
| 7584 | - find_defense() now considers tenuki |
| 7585 | - forgot to initialize adjsize and adjlib in chainlinks() |
| 7586 | |
| 7587 | 2.3.17 released May 23, 1999 |
| 7588 | |
| 7589 | - Complete reordering and some tuning of the fuseki patterns. |
| 7590 | - A little tuning elsewhere. |
| 7591 | - Documentation of the new features in the patterns.db format. |
| 7592 | - The -m option enhanced with another board with delta_moyo values. |
| 7593 | - chainlinks test now in basicnet3 |
| 7594 | - delta_terri(int ti, int tj,int color) : the same as delta_moyo(), |
| 7595 | but against the 5/21 evaluation |
| 7596 | - area ownership evaluation (using 5/0 algo), with wrapper functions : |
| 7597 | area_stone(int m,int n), area_space(int m,int n) |
| 7598 | area_color(int m,int n), area_tag(int m,int n) |
| 7599 | set_area_tag(int m,int n,int tag) |
| 7600 | - the values are computed during make_moyo evaluation, use |
| 7601 | "gnugo -m" to see how area are evaluated. |
| 7602 | - bugfix in play_test.c |
| 7603 | |
| 7604 | 2.3.16 released May 22, 1999 |
| 7605 | |
| 7606 | - Wind assistance complemented by moyo assistance. |
| 7607 | - Move dependent randomness replaced by pattern dependent randomness. |
| 7608 | - Format of patterns.db changed to accomodate new features mentioned above. |
| 7609 | - One new joseki line. |
| 7610 | - Jump out patterns retuned. They may still be somewhat out of tune |
| 7611 | but in a new and different way. Or maybe they even work quite well. |
| 7612 | - Some tuning of fuseki patterns. |
| 7613 | - Caching of upower and mypower values from testwind. |
| 7614 | - Some functions moved from matchpat.c to shapes.c. |
| 7615 | |
| 7616 | 2.3.15 released May 22, 1999 |
| 7617 | |
| 7618 | - board-setup nodes were being ignored in test-mode |
| 7619 | - fixes a bug where moves annotated as bad (MA[]) were reported as good. |
| 7620 | - took ascii_showboard out of play_test.c. |
| 7621 | - end_sgfdump() tries to pop the stack before closing the file |
| 7622 | - DEPTH ramped all the way up to 10, the new reading code is so fast |
| 7623 | - evaluation of moves is moved to break_chain and break_chain2 |
| 7624 | - simplification of readlad1, readlad2, savestone2, find_defense and basicnet3 |
| 7625 | - a few annotated games against David Fotland's XGO added to regression/ |
| 7626 | |
| 7627 | 2.3.14 released May 21, 1999 |
| 7628 | |
| 7629 | - documentational changes to helpers.c |
| 7630 | - minor changes in patterns.db |
| 7631 | - all jump_out_helper patterns changed to weight 60 for moyo heuristics |
| 7632 | - jump_out_helper() modified to use moyo heuristics |
| 7633 | - new function delta_moyo() run quite fastly, using the cache as proposed. |
| 7634 | the result of this function go in global variables : |
| 7635 | moyo_test[WHITE],moyo_test[BLACK] and the difference from precedent |
| 7636 | moyo evaluation is in moyo_test[0] |
| 7637 | delta_moyo returns what is expected : the difference from point of view |
| 7638 | of "color" player, aka moyo_test[0] |
| 7639 | the same for moyo_eval[3] and terri_eval[3] |
| 7640 | so all the results are availables for later use. |
| 7641 | (see sources for details) |
| 7642 | - used #defines for the variables 5/21 and 5/10 (can be 4/10 too), see liberty.h |
| 7643 | |
| 7644 | |
| 7645 | 2.3.13 released May 20, 1999 |
| 7646 | |
| 7647 | - further revisions to ttsgf_read.c regarding file buffering |
| 7648 | - tuning, new patterns, helpers, half eye patterns |
| 7649 | |
| 7650 | 2.3.12 released May 20, 1999 |
| 7651 | |
| 7652 | - tuning |
| 7653 | - ttsgf_read.c: changed |
| 7654 | |
| 7655 | 2.3.11 released May 19, 1999 |
| 7656 | |
| 7657 | - reading.c from 2.3.8 is restored |
| 7658 | - MAX_FILE_BUFFER increased to 150000 in ttsgf_read.c |
| 7659 | - tuning and a new joseki |
| 7660 | - hide most of liberty.h from non-src/ code. |
| 7661 | - src/ and patterns/ define BUILDING_GNUGO_ENGINE, |
| 7662 | and are therefore allowed to see all the internal |
| 7663 | symbols. Otherwise, code just sees a few functions, |
| 7664 | and sees 'const' versions of the variables. |
| 7665 | - (liberty.h defines a macro PUBLIC_VARIABLE which expands |
| 7666 | to extern for engine source files, and extern const |
| 7667 | for others) |
| 7668 | - *NOTE* : we get many warnings about const violations, |
| 7669 | where other modules write to these variables. In particular, |
| 7670 | ascii_showboard makes temporary changes to p[][]. |
| 7671 | But it still compiles (with gcc at least). These interface |
| 7672 | violations were always there. Now they are visible. |
| 7673 | - Moved remove_string() and count_territory() from play_ascii |
| 7674 | into src/utils : these need to be part of the engine |
| 7675 | since they have intimate access to the state. |
| 7676 | - Did a bit of gratuitous changes with play_test.c |
| 7677 | No functionality changes. |
| 7678 | - lost get_*_a and put_*_a interface functions. |
| 7679 | - make_dragons() is no longer predicated on movenum, but |
| 7680 | on existence of worms. |
| 7681 | - potential_moves[][] is now taken seriously : genmove() |
| 7682 | clears it at the start of the move cycle, rather than |
| 7683 | having sgf_move_made() clear it at some random time |
| 7684 | after genmove has returned. |
| 7685 | - semeai criterion slightly changed: my dragon.vitality<0 |
| 7686 | and your dragon.status==DEAD. |
| 7687 | |
| 7688 | 2.3.10 released May 18, 1999 |
| 7689 | |
| 7690 | - hane_backfill_helper deprecated |
| 7691 | - semeai module now consults vitality field to initiate fighting |
| 7692 | - test mode did not pass movenum to engine code: fixed. |
| 7693 | did away with the game_info entries for boardsize and move_number, |
| 7694 | made the interface use the engine's global variables instead. |
| 7695 | Better solution is needed (see TODO) |
| 7696 | |
| 7697 | 2.3.9 released May 17, 1999 |
| 7698 | |
| 7699 | - play_solo.c: in load_sgf_file() we now use global movenum instead of mv |
| 7700 | - play_solo.c: white stones were loading as black (fixed) |
| 7701 | - new helpers, tuning, revisions to pattern database |
| 7702 | - mkpat.c: maxwt now takes bonus into account |
| 7703 | - reading.c: break_chain2 simplified |
| 7704 | |
| 7705 | 2.3.8 released May 17, 1999 |
| 7706 | |
| 7707 | - backfill.sgf added to regression/ |
| 7708 | - color added to moyo.c |
| 7709 | - bugfix in moyo.c: captures were counted backwards |
| 7710 | - BOUZY added to docs/ |
| 7711 | - bugfix in sente_hane_helper |
| 7712 | - joseki patterns are now type 's' |
| 7713 | - fix the board_size bug in test mode |
| 7714 | - reimplement load_sgf_file() in terms of the sgf parser : gives us |
| 7715 | ability to read multiple AB[][]... for free |
| 7716 | - move load_sgf_file and load_and_analyse_sgf_file from sgf/ into |
| 7717 | interface. (Currently play_solo.c but that's temporary.) |
| 7718 | Justification is that these fns have more to do with the engine |
| 7719 | than with sgf files. |
| 7720 | - put in the emacs variable blocks into some of the files |
| 7721 | - remove some extern refs from .c files - according to David |
| 7722 | this is a bad practise |
| 7723 | - Remove a few remaining // comments, and disable // comments in |
| 7724 | GNUGO_SOME_WARNINGS |
| 7725 | - Reorganise the --help page, and add long options for most of the |
| 7726 | short ones. The --help is modelled after gnu tar. |
| 7727 | - Some files had #define _NO_PROTO to hide getopt() prototype, but |
| 7728 | these files were not doing option parsing, so assume this is redundant. |
| 7729 | - interface game_info structure was used only in interface.c, so |
| 7730 | moved the structure defn out of a public header file |
| 7731 | - The ttsgf_read.c code only offered to parse an sgf file which had |
| 7732 | already been read into a buffer. Moved a code fragment which appeared |
| 7733 | in two places to load the file then parse it into a readsgffile() |
| 7734 | function. |
| 7735 | - Prefixed all the symbols for long option names with OPT_, and mode |
| 7736 | names with MODE_to avoid namespace clashes. (DECIDE_STRING was being |
| 7737 | used as a mode and an option.) |
| 7738 | |
| 7739 | 2.3.7 released May 15, 1999 |
| 7740 | |
| 7741 | - Jerome's moyo mode (-m option) |
| 7742 | - new patterns and helpers, including backfill patterns CD47 and CD48 |
| 7743 | - reading.c: trysafe in readlad2 has been removed |
| 7744 | - reading.c: in savestone2 if stackp==0 we first try to capture |
| 7745 | - a surrounding string. This would lead to thrashing if we tried |
| 7746 | - it at deeper levels |
| 7747 | - reading.c: bug fix in find_defense (Gunnar) |
| 7748 | - reading.c: in break_chain2 we omit harder attacks if string has |
| 7749 | - 3 liberties since this causes too many errors. |
| 7750 | - reading.c: in basicnet3 we test a little more the attack really works |
| 7751 | |
| 7752 | 2.3.6 released May 15, 1999 |
| 7753 | |
| 7754 | - bug fixes in patterns/ |
| 7755 | |
| 7756 | 2.3.5 released May 14, 1999 |
| 7757 | |
| 7758 | - tuning, new helper |
| 7759 | - initialization in src/evaluate_game.c and interface/play_test.c |
| 7760 | |
| 7761 | 2.3.4 released May 13, 1999 |
| 7762 | |
| 7763 | - Nils' changes to main.c and src/Makefile.am |
| 7764 | - tuning, joseki revisions, new helper wedge_helper |
| 7765 | |
| 7766 | 2.3.3 released May 12, 1999 |
| 7767 | |
| 7768 | - find_weak eschewed in find_defense |
| 7769 | - change to allow build in a directory other than source |
| 7770 | - braces to joseki.c to avoid a warning about dangling else |
| 7771 | - added --testmode game to analyze games and see if it considered the moves |
| 7772 | - added docs/structure.doc describing program structure and APIs |
| 7773 | |
| 7774 | 2.3.2 released May 12, 1999 |
| 7775 | |
| 7776 | - missing library files restored in utils/Makefile.am |
| 7777 | - tuning, invasion under hoshi joseki |
| 7778 | - and a cosmetic bug fix in shapes.c. |
| 7779 | - patterns for endgame ko |
| 7780 | - bugfix in double_attack patterns |
| 7781 | |
| 7782 | 2.3.1 released May 11, 1999 |
| 7783 | |
| 7784 | - Joseki compiler and beginnings of a Joseki database |
| 7785 | - some tuning |
| 7786 | - Tweak sgf/Makefile.am to write generated sgf_properties to $(srcdir)/ |
| 7787 | note : this generates a warning at automake, but I think it is benign. |
| 7788 | - remove the GCC_OPTS from the Makefile.am's, and replace with either |
| 7789 | @GNUGO_SOME_WARNINGS@ or @GNUGO_ALL_WARNINGS@. |
| 7790 | This means we can centralise the choice of which warnings we enable, |
| 7791 | rather than having to duplicate the list of warnings in each component. |
| 7792 | - Add code to configure.in to generate the above. ALL_WARNINGS switches off use |
| 7793 | of // comments (via -Wp,-lang-c89 which runs preprocesser in ansi mode). |
| 7794 | SOME_WARNINGS will do the same once all components have been cleaned up. |
| 7795 | SOME_WARNINGS is intended for code over which we don't have full control (eg gmp.c) |
| 7796 | and so we have to be more liberal in the diagnostics. |
| 7797 | - Removed from the build some of the stuff in utils/ which we do not (currently) use. |
| 7798 | - fixed clear_board() bug that caused segfaults |
| 7799 | - fixed game parameter handling in main() to use interface API |
| 7800 | - updated other interfaces to partially use interface API (no more |
| 7801 | passing from main!) |
| 7802 | - removed // comments where they were not needed |
| 7803 | They stil are in the tt* code, that needs to be revisited!! |
| 7804 | - patched sgfgen to use stdin and stdout- makes things easier |
| 7805 | |
| 7806 | 2.1.25 released May 10, 1999 |
| 7807 | |
| 7808 | - added --decidestring option for sgf debugging reading code |
| 7809 | - added regression directory: contains a few example test files |
| 7810 | - added --quiet option |
| 7811 | - added --testmode option: move, annotation, or both |
| 7812 | This allows some flexibility in handling differently annotated files |
| 7813 | - added --infile and --outfile options |
| 7814 | - wrote play_test to handle regression testing |
| 7815 | - wrote sgfgen, a program to translate SGF definitions into a header file |
| 7816 | - added Tommy Thorn's code for SGF parsing and implemented tree parsing |
| 7817 | - updated ASCII interface to rely on interface routines- it works! |
| 7818 | - updated interfaces to handle new 'pass' based on int returned from genmove |
| 7819 | - made genmove return boardsize, boardsize coordinates for pass |
| 7820 | - added interface specification and code-- we now have engine independence! |
| 7821 | - moved all SGF code into sgf directory |
| 7822 | |
| 7823 | 2.1.23 released May 7, 1999 |
| 7824 | |
| 7825 | - sgf debugging of reading code (from gdb only in this release) |
| 7826 | |
| 7827 | 2.1.22 released May 6, 1999 |
| 7828 | |
| 7829 | - renum target removed from pattern Makefile.am and Makefile.in |
| 7830 | - strategic_distance was being calculated incorrectly |
| 7831 | - revisions to pattern database |
| 7832 | - chainlinks now tabulates the size of adjacent worms in preparation |
| 7833 | to trying to sorting them when stackp<depth |
| 7834 | - split out play_solo() into play_solo.c |
| 7835 | - moved interface routines (play*, gmp*, sgf*) into interfaces/ directory |
| 7836 | - combined play*.h into interface.h |
| 7837 | - renamed 'lib' directory to 'utils' to be consistent with other dir names |
| 7838 | - moved AUTOMAKE.README into docs |
| 7839 | |
| 7840 | 2.1.21 released May 5, 1999 |
| 7841 | |
| 7842 | - minor revisions to pattern database |
| 7843 | - adds tests for term.h and curses.h before defing CURSES |
| 7844 | - fixes a typo in helpers.c |
| 7845 | - fixes some hard-wired 18's in make_worms() |
| 7846 | - fixes what I believe to be a bug in scoping in make_worms |
| 7847 | - gratuitously moves some variable declarations around in make_worms |
| 7848 | - moved pattern files to patterns directory |
| 7849 | - pattern files and functions are now linked in as a library: libpatterns |
| 7850 | |
| 7851 | 2.1.20 released May 5, 1999 |
| 7852 | |
| 7853 | - configure options |
| 7854 | - main.c: LOAD_AND_ANALYZE mode |
| 7855 | |
| 7856 | 2.1.19 released May 4, 1999 |
| 7857 | |
| 7858 | - removed #include "../lib/getopt.h" from play_ascii.c - not needed |
| 7859 | - added some code to better handle config.h to main.c and play_ascii.c |
| 7860 | - added ascii_showboard() before the counting starts, useful after 'play 999' |
| 7861 | - added --mode option to main.c |
| 7862 | - changed how different play modes are started: now using switch() |
| 7863 | - removed -g option: use --mode instead |
| 7864 | - changed MAX_BOARD to 25 in liberty.h: try some bigger games! |
| 7865 | - changed sgf 'pass' to [tt] if boardsize>19, else [] (by SGF standard) |
| 7866 | - changed 'pass' moves to send board_size, board_size to sgf routines |
| 7867 | |
| 7868 | 2.1.18 released May 3, 1999 |
| 7869 | |
| 7870 | - play_ascii: playblack and playwhite are recognized as valid commands. |
| 7871 | - play_ascii: Correct use of strtok on Solaris (missing strsep) |
| 7872 | - ascii display and showboard now work as stated in the help command |
| 7873 | - ascii display doesn't draw the board twice if showboard is enabled. |
| 7874 | - ascii force was broken, is no longer. |
| 7875 | - added check for getopt.h to configure.in |
| 7876 | - fixed PLAY in play_ascii: need to check for two passes! |
| 7877 | - prettyfication in main.c: changed strcmp() usage |
| 7878 | - fixed seed printing in sgf.c |
| 7879 | - play_gmp: handicap was not being passed to sgf_write_game_info |
| 7880 | |
| 7881 | 2.1.17 released May 2, 1999 |
| 7882 | |
| 7883 | - added counting to ascii interface |
| 7884 | - Gunnar's reshuffled patterns |
| 7885 | - LDFLAGS = $(COLORLIB) in src/Makefile.am and src/Makefile.in |
| 7886 | |
| 7887 | 2.1.16 released May 1, 1999 |
| 7888 | |
| 7889 | - further revisions to ascii interface |
| 7890 | |
| 7891 | 2.1.15 released May 1, 1999 |
| 7892 | |
| 7893 | - further revisions to play_ascii and sgf.c |
| 7894 | - Gunnar's pattern classification in patterns.db |
| 7895 | - static evaluation of the board position |
| 7896 | |
| 7897 | 2.1.13 released April 30, 1999 |
| 7898 | |
| 7899 | - moved all sgf routines into sgf.c |
| 7900 | - changed pass value: from 19, 19 --> board_size, board_size |
| 7901 | - added sgf_open_file() sgf_close_file() and sgf_flush_file() to sgf.c |
| 7902 | - also added sgf_write_line() and sgf_write_game_info() |
| 7903 | - rewrote play_solo to use new sgf routines |
| 7904 | - absolutely no more build errors! (at least on Linux...) |
| 7905 | - renamed ascii.* play_ascii.* |
| 7906 | - moved play_gmp into play_gmp.c and added header file |
| 7907 | - added komi option (doesn't do anything yet, just parses it) |
| 7908 | |
| 7909 | 2.1.12 released April 29, 1999 |
| 7910 | |
| 7911 | - finished adding long options |
| 7912 | - color also works now (--handicap and --boardsize have been working) |
| 7913 | - needs a little cleanup with short options- some should become long |
| 7914 | - finished ASCII interface |
| 7915 | - can display any board size up to 25x25 |
| 7916 | - has command line options and help |
| 7917 | - enhanced error messages |
| 7918 | - added 'switch' command to switch colors in the middle of play |
| 7919 | |
| 7920 | 2.1.11 realeased April 29, 1999 |
| 7921 | |
| 7922 | - Minor changes to the syntax of patterns.db and hey.db as a preparation |
| 7923 | for restructuring of patterns.db. Documentation in PATTERNS updated. |
| 7924 | - moved ascii play code into ascii.c |
| 7925 | - copied showboard code for ascii play into ascii.c (ascii_showboard) |
| 7926 | - updated Makefile.am's to reflect changes |
| 7927 | - removed posix and error.c files from lib dir- not needed |
| 7928 | - added long option parsing; still need to add this to help menu |
| 7929 | - moved PATTERNS, DRAGON and OVERVIEW to /docs |
| 7930 | |
| 7931 | 2.1.10 released April 28, 1999 |
| 7932 | |
| 7933 | - incorporated more reorganizational patches |
| 7934 | |
| 7935 | 2.1.9 released April 28, 1999 |
| 7936 | |
| 7937 | - Automake-ized (NL) |
| 7938 | - Made code which moves dragon[m][n].borders contingent on !worm[m][n].ko |
| 7939 | - Set TRUST_GRID back to 1. |
| 7940 | |
| 7941 | -------------------------------------------------------------- |
| 7942 | |
| 7943 | This is GNU Go, a Go program. Contact gnugo@gnu.org, or see |
| 7944 | http://www.gnu.org/software/gnugo/ for more information. |
| 7945 | |
| 7946 | Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 |
| 7947 | and 2008 by the Free Software Foundation. |
| 7948 | |
| 7949 | This program is free software; you can redistribute it and/or |
| 7950 | modify it under the terms of the GNU General Public License as |
| 7951 | published by the Free Software Foundation - version 3 or |
| 7952 | (at your option) any later version. |
| 7953 | |
| 7954 | This program is distributed in the hope that it will be useful, |
| 7955 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 7956 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 7957 | GNU General Public License in file COPYING for more details. |
| 7958 | |
| 7959 | You should have received a copy of the GNU General Public |
| 7960 | License along with this program; if not, write to the Free |
| 7961 | Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| 7962 | Boston, MA 02111, USA. |