Changes
Gomill 0.8.2 (2018-02-11)
- SGF parsing: the parser now permits lower-case letters in PropIdents.
- Bug fix:
Tree_node.set()
didn’t check itsidentifier
parameter was a well-formed PropIdent. - Made the GTP
protocol_version
check more lenient: it now accepts2.0
and similar forms as equivalent to2
.
Gomill 0.8.1 (2018-02-03)
- The
candidate_colour
setting[1]
[2]
for the Monte Carlo tuner and cross-entropy tuner can now be"random"
. - Bug fix:
candidate_colour
was being ignored for the cross-entropy tuner (the candidate always played black). - Bug fix:
Game_job_result.engine_descriptions
in 0.8 was using colours rather than player codes for its keys. The effect was crashes withcem_tuner
andmc_tuner
, and mangled player descriptions at the end of tournament report files. - Updated documentation to build with Sphinx 1.4
Gomill 0.8 (2017-04-14)
SGF parsing: increased the length limit on PropIdents from 8 to 64.
Reworked the
gtp_games
interface and implementation, splitting out thegameplay
module andgtp_controllers.Game_controller
. Visible behaviour changes:- Gomill reports game results, rather than treating games as void, in more cases when a player exits unexpectedly after the result has been determined.
- Gomill now ignores GTP failure responses from
play
for a game-ending pass. - GTP
move
commands now send the vertex in upper case. - Text descriptions of forfeits (eg in
Game_result.detail
) have changed slightly.
Updated the
twogtp
example script to show the new programming interface.twogtp
now supports playing multiple games and SGF output.Engine comments (from
gomill-explain_last_move
) for resignations and forfeits are now included in SGF records.Improved player descriptions in SGF files and competition reports when the GTP
name
command isn’t implemented.Added the
Game_result.is_unknown
attribute.Documented the
Game_result.cpu_times
attribute.interpret_diagram()
now ignores leading whitespace (it already ignored trailing whitespace).Board
methods now raiseIndexError
for out-of-range coordinates (previously behaviour was explicitly unspecified).
Gomill 0.7.4 (2012-08-26)
- Added the
GOMILL_GAME_ID
andGOMILL_SLOT
environment variables. gtp_games
now permits free-handicap games with the maximum number of handicap stones permitted by GTP (the previous restriction was one less).- Bug fix:
Board.is_empty()
was wrong after a self-capture which leaves the board empty. - Documentation correction: the example in Using the API in scripts showed
Ringmaster.tournament_results()
rather thanRingmaster.get_tournament_results()
.
Gomill 0.7.3 (2012-05-02)
Bug-fix release.
- Made the documentation (index page) build properly with Sphinx v1.1.
- Documentation correction: failure responses from
startup_gtp_commands
are not ignored. - Bug fix: internal scorer with
internal_scorer_handicap_compensation
"short"
was off by one in a non-handicap game. - Bug fix:
Tree_node.new_child()
was failing if it was called with an explicitly-specified index on the root node of anSgf_game
which was loaded from a string and had not otherwise had its structure modified.
Gomill 0.7.2 (2011-09-05)
- Added the wrap parameter to
Sgf_game.serialise()
. - Added the
gomill-clop
example script.
Gomill 0.7.1 (2011-08-15)
Bug-fix release.
- Bug fix: made board sizes 24 and 25 work (column lettering, and therefore GTP support, was incorrect for these sizes in all previous versions).
- Tightened up input validation for
format_vertex()
andcolour_name()
. - Distinguished Stone, Point, and Move in the Property types table in SGF documentation.
Gomill 0.7 (2011-08-13)
The ringmaster now applies handicap stone compensation when using its internal scorer. Set internal_scorer_handicap_compensation
to "no"
to return to the old behaviour.
- Added a full implementation of SGF support, replacing the previous minimal support.
- Added a
split_sgf_collection.py
example script. - The
common
,boards
,ascii_boards
, andhandicap_layout
modules are now documented as stable. - Improved handling of long responses to the
version
GTP command. - Added support for handicap stone compensation when scoring games.
- Gomill now checks the response to the
fixed_handicap
GTP command. - Added the
gomill.__version__
constant.
Changes to (previously) undocumented parts of the library:
- Renamed the
gomill.gomill_common
module togomill.common
. - Renamed the
gomill.gomill_utils
module togomill.utils
. - Renamed
Board.board_coords
toboard_points
. - Replaced the
ascii_boards.play_diagram()
function withinterpret_diagram()
, making the board parameter optional. gtp_engine.interpret_float()
now rejects infinities and NaNs.- Changes to the
gtp_states
module: tightened error handling, removed the komi-mangling feature, renamedHistory_move.coords
toHistory_move.move
.
Gomill 0.6 (2011-02-13)
Playoff tournament state files from Gomill 0.5 are incompatible with Gomill 0.6. Tuning event state files are compatible.
- Added the All-play-all tournament type.
- Expanded and documented the Tournament results API. Changed return type of
get_matchup_results()
. - Fixed reporting for matchups with the same player specified twice.
- Allowed arbitrary filename extensions for control files.
Gomill 0.5 (2010-10-29)
- First public release.