OSDN Git Service

Correct Dockerfile so that it creates directories properly
[shogi-server/shogi-server.git] / changelog
index c498f62..03d8ff5 100644 (file)
--- a/changelog
+++ b/changelog
@@ -1,3 +1,245 @@
+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:
+         - Ruby 2.0.0 or later is recommended to use with shogi-server
+           since Ruby 1.8 reached its End-of-Life on the end of July, 2014.
+       * [shogi-server]
+         - Addressed a warning of duplicated range in a regular expression.
+
+2014-10-13  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - A player, attempting to login with the current live player
+           stalling for more than a day, can forcibly override the current
+           player.
+         - Kifu record files now includes rating scores of players at the
+           time when games start.  Previously, for rating games, a record
+           file includes player IDs of both players with a line starting with
+           "'rating".  Now it also shows rating scores for players who have
+           valid scores.  The formats for black and white players are as
+           follows:
+             'black_rate:<player_id>:<score>
+             'white_rate:<player_id>:<score>
+           A sample output:
+             'rating:Test_sente+275876e34cf609db118f3d84b799a790:Test_gote+275876e34cf609db118f3d84b799a790
+             '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]
+         - Added a new option, --abnormal-threshold n:
+           Games that end with the 'abnormal' status are counted in
+           win/lost games for the rating calculation if a game plays more
+           than n plies. Otherwise (or if n is zero), abnormal games are
+           counted out of rating games.
+
+2014-01-07  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - Released: Revision "20140107"
+
+2013-12-29  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - Previously, parameters in Floodgate time configuration file were
+           not applied to actual instances. This issue has been fixed.
+
+2013-12-21  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi_server/pairing.rb: Impose penalty on matches between
+           likely kin players.
+
+2013-12-15  Daigo Moriwaki <daigo at debian dot org>
+
+       * [webserver]
+         - Listen on only IPv4 explicitly. Under ruby 1.9.3p194, without
+           any bind addresses, ruby attempts to listen on both "0.0.0.0"
+           and "::". Specifying "::" on Linux leads to listen on both IPv4
+           and IPv6, which results in a warning message saying "Address
+           already in use - bind(2)".
+       * [shogi-server]
+         - Released: Revision "20131215"
+
 2013-12-14  Daigo Moriwaki <daigo at debian dot org>
 
        * [usiToCsa]
 2013-12-13  Daigo Moriwaki <daigo at debian dot org>
 
        * [shogi-server]
+         - shogi_server/league/floodgate_thread.rb:
+           - Added a log message.
+
+2013-12-08  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi-server/shogi_server/pairing.rb:
+           - Modified comment for LeastDiff match.
+           - Changed log messages and levels. 
+
+2013-12-07  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - shogi_server/pairing.rb, player.rb:
+           Simplify estimated rate of unrated players (less memory).
+         - Enhanced syntax of Floodgate time configuration file.
+           Now it supports "set sacrifice <player_id>"; it sets a
+           sacrificed player for a specific Floodgate game.
+           ex. set sacrifice gps500+e293220e3f8a3e59f79f6b0efffaa931
+
+2013-12-05  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - Added a new pairing method, ShogiServer::ExcludeUnratedPlayers,
+           which filters out unrated players.
+         - Enhanced syntax of Floodgate time configuration file.
+           Now it supports "set pairing_factory <function_name>"; it sets a
+           factory function name generating a pairing method which will be
+           used in a specific Floodgate game.
+           ex. set pairing_factory floodgate_zyunisen 
          - Implemented conversion of move representation between CSA format
            and USI one.