+2016-11-26 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server] Allow to customize maximum lenght of a login indentifier
+ (Closes #36821)
+ - The current maximum length of a login identifier is 32. Some
+ private uses require longer player names to distinguish each other
+ by specifying randomly generated tokens. It would of help to add a
+ new command line option --max-identifier to overwrite the default
+ maximum length.
+ * Build a Docker image for Shogi-server
+ (Closes #36822)
+ - Build a Docker image
+ % make image-build
+ - Running a local shogi-server would look like
+ % docker pull shogiserver/shogiserver
+ % docker run -p 4081:4081 -v `pwd`/logs:/logs shogiserver/shogiserver
+
+2016-04-09 Daigo Moriwaki <daigo at debian dot org>
+
+ * utils/eval_graph.rb
+ - Support Fischer time control.
+ * [shogi-server] Bump up the revision to 20160409.
+
+2016-04-02 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server] Support Fischer Time Control
+ (Closes #36230)
+ - Fischer time control means that:
+ Before a player has made their move, a specified time increment is
+ added to their clock. Time can be accumulated, so if the player
+ moves within the delay period, their remaining time actually
+ increases.
+ (https://en.wikipedia.org/wiki/Chess_clock)
+ - New syntax of game names:
+ An 'F' suffix denotes a Fisher time in seconds. For example,
+ "floodgate-600-10F" specifies
+ + A floodgate game
+ + Total allotted time is 600 seconds for each player
+ + 10-second increment before a player's move in a Fischer way
+ - The server now proposes game conditions upon a game start with
+ - "Protocol_Version 1.2"
+ - "Increment:<n>" for Fischer Time Control
+ - Kifu files can include the following comment for Fischer Time
+ Control:
+ - "'Increment:<n>"
+ * [shogi-server] Fix some lint warnings.
+
+2015-12-13 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server] Enhance capability of Floodgate configuration file
+ - New parameter: Max_Moves, defined in the CSA protocol
+ ex. set Max_Moves 256
+ - New parameter: Least_Time_Per_Move, defined in the CSA protocol
+ ex. set Least_Time_Per_Move 0
+ - Proposed messages distributed to each player upon starting a new
+ game will include Max_Moves as well as Least_Time_Per_Move.
+ - CSA files produced by the server will include settings of
+ Max_Moves and Least_Time_Per_Move in comment lines as follows:
+ 'Max_Moves:256
+ 'Least_Time_Per_Move:0
+ - The official Shogi-server on wdoor.c.u-tokyo.ac.jp will
+ be running with different parameters, depending on game names.
+ a) Max_Moves will be 256 for floodgate-600-10 games;
+ otherwise, 0.
+ b) Least_Time_Per_Move will be 0 for floodgate-600-10 games;
+ otherwise 1.
+ (Closes: #35839)
+ * [shogi-server] shogi_server/pairing.rb:
+ - LeastDiff attempts more trials, depending of a number of players
+ to be matched, top achieve more optimized matching combinations.
+
+2015-11-27 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server] shogi_server/time_clock.rb:
+ - A time consumed could be -1.
+ * The start time of a move is captured after sending a move to a
+ player of the next turn at the end of the giant lock
+ * The end time of the move is captured at the exact time when the
+ server receives it before the giant lock
+ Therefore, end_time < start_time is possible when a player returns a
+ move instantly.
+ Thanks to Tomoyuki Kaneko for reporting this issue.
+ (Closes: #35795)
+
+2015-02-14 Daigo Moriwaki <daigo at debian dot org>
+
+ * util/statistics.rb:
+ - Updated to investigate floodgate-600-10 games.
+ Consult the result at
+ http://www.sgtpepper.net/hyspro/diary/20150214.html.
+ - Added a companion R script: histogram.R
+
+2015-02-01 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/login.rb: When players are logged in, log their
+ player_id if they have it.
+
+2015-01-20 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_rate]
+ - Getting an absolute path of this file was wrong if it was a
+ symbolic link. This issue has been addressed.
+ * [mk_html]
+ - Links to details pages for players now use a relative path so
+ that it works on a testing site.
+
+2015-01-17 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi-server, shogi_server/{command,game_result,player}.rb:
+ The change at 2014-10-13 was not worked as expected. Reworked.
+ A player, attempting to login with the current live player
+ stalling for more than a day, can forcibly override the current
+ player.
+
+2015-01-12 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server.rb: Follow an API change in a upstream class:
+ LogDevice.previous_period_end
+
+2014-12-27 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - When a non-rated player participates in Floodgate, the following exception
+ was thrown and a Floodgate game would not start:
+ undefined method `[]' for nil:NilClass
+ ["/home/shogi-server/www/x/shogi_server/pairing.rb:499:in `block
+ in calculate_diff_with_penalty'"
+ This issue has been resolved. Only players who have player ID
+ (i.e. those who log in with valid password) are now allowed to
+ participate in Floodgate as the spec web page
+ [http://shogi-server.sourceforge.jp/rating.html] describes.
+
+2014-12-23 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Addressed Ruby incompatibility on ShogiServer::Usi::alphabetToDan.
+ It (and usiToCsa.rb) did not work with Ruby 1.9.3. This issue
+ has now been fixed.
+ Thanks to Hiraoka-san for debugging.
+
+2014-12-18 Daigo Moriwaki <daigo at debian dot org>
+
+ * utils/eval_graph.rb:
+ - Gnuplot 4.6.6 drew evaluation-value lines with a dashed style.
+ This issue has now been addressed so that solid lines are used.
+
+2014-11-30 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_html]
+ - Corrected a url.
+
2014-11-24 Daigo Moriwaki <daigo at debian dot org>
* Ruby 2.0:
'black_rate:Test_sente+275876e34cf609db118f3d84b799a790:2763.0
'white_rate:Test_gote+275876e34cf609db118f3d84b799a790:2345.0
+2014-10-12 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi_server]
+ - New feature: max moves
+ - New command line option: --max-moves n
+ When a game with the n-th move played does not end, make the
+ game a draw (default 256 in compliance with CSA Protocol V1.2
+ or later). Setting 0 disables this feature for
+ CSA Protocol V1.1.2 or before.
+ - Players will receive a new message, "#MAX_MOVES", upon an end
+ of such a game:
+ #MAX_MOVES
+ #CENSORED
+ - A new log summary type, "max_moves", has been assigned for games
+ drawing with max moves.
+ 'summary:max_moves:name_sente draw:name_gote draw
+ - Least time per move:
+ - New command line option: --least-time-per-move n
+ This option specifies a least time in second per move, which
+ is 0 second by default, meaning that a decimal
+ fraction of time for a move will be truncated in compliance
+ with CSA Protocol V1.2 or later.
+ Set 1 for CSA Protocol V1.1.2 or before.
+
2014-07-19 Daigo Moriwaki <daigo at debian dot org>
* [mk_rate]