+2010-04-25 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/player.rb:
+ Log a warning message in a case that a player closes a
+ connection suddenly.
+
+2010-04-13 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/command.rb:
+ Equality of MonitorHandler class was wrong. %%MONITOROFF and
+ %%MONITOR2OFF may cause unexpected behavior. This issue has been
+ fixed. Thanks to Kota Fujiwara for reporting.
+
+2010-03-07 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - If two sequential moves from a player are identical, the last
+ one will be ignored and a game is in play. This situation might
+ happen with human players, especially on slow network,
+ impatiently sending a move twice.
+
+2010-02-27 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - The server now provides more accurate time control. Previouslly,
+ a player's thinking time included a time waiting to get the giant
+ lock. This may have caused games to time up, especially, during
+ byo-yomi etc.
+
+2010-01-22 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Experimental feature: support handicapped games.
+ Game names that have the following prefixes are recognized as
+ handicapped games. Turn symbols "+" and "-" mean Uwate (expert)
+ and Shitate (beginner) respectively (i.e. Uwate players first).
+ "*" is not available.
+ - hclance_
+ - hcbishop_
+ - hcrook_
+ - hcrooklance_
+ - hc2p_
+ - hc4p_
+ - hc6p_
+ - hc10p_
+
+2010-01-16 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/command.rb, test/TC_command.rb
+ Proposal implementation of a new command called MONITOR2{ON,OFF}.
+ When the MONITOR2ON command is issued by a player, the server
+ immediately sends the player the entire contents of a record
+ file of the game, i.e. history of moves and so on, at that time.
+ Then, the server will forward subsequent moves like they are
+ appended to the record file.
+ - Behavior changed: A player monitoring a game with MONITORON will
+ not receive Game#show again when a gaming player resigns (:toryo).
+
+2010-01-10 Daigo Moriwaki <daigo at debian dot org>
+
+ * Converted the repository from Subversion to Git.
+
+2009-12-26 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - The server can now provide multiple floodgate modes such as
+ floodgate-900-0 and floodgate-3600-0.
+
+2009-12-25 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi-server: The command line option --floodgate-history has
+ been deprectated. The server will decide history file names such
+ as 'floodgate_history_900_0.yaml' and
+ 'floodgate_history_3600_0.yaml', and then put them in the top
+ directory.
+
+2009-12-20 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/player.rb: Added new methods: is_human? and
+ is_computer?.
+ A human player is recommened to use a name ending with '_human'.
+ ex. 'hoge_human', 'hoge_human@p1'
+ - shogi_server/pairing.rb: Added a new class:
+ StartGameWithoutHumans, which tries to make pairs trying to
+ avoid a human-human match. This is now enabled instread of the
+ previous class: StartGame.
+ - shogi-server, shogi_server/league/floodgate.rb:
+ Changed the argument of Floodgate.new.
+
+2009-12-04 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - The HUP signal is not supported by Ruby on Windows.
+
+2009-11-11 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_rate]
+ - Added a new command line option: --base-date. You can specify a
+ base date to calculate rating scores. Games in the `future' are
+ ignored for the calculation.
+
+2009-11-10 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - The server logs a result of each game to a file named '00LIST',
+ which will be used to generate players.yaml. If the file does
+ not exist, the server will create one automatically.
+ Instruction to use the game result list file:
+ 1. Make a list of game results from exisiting CSA files with
+ mk_game_results
+ % ./mk_game_results dir_of_csa_files > 00LIST
+ 2. Run the server. It appends a result of each game to
+ '00LIST' when the game finishes.
+ 3. From the list of game results, calculate rating scores of
+ players.
+ % ./mk_rate 00LIST > players.yaml
+
+2009-11-08 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_rate]
+ - Split a pre-process collecting game results from csa files into
+ a new command, mk_game_results. Now, Generating players.yaml
+ requires two steps as follows:
+ % ./mk_game_results dir_of_csa_files > 00LIST
+ % ./mk_rate 00LIST > players.yaml
+ or
+ % ./mk_game_results dir_of_csa_files | ./mk_rate > players.yaml
+ (Closes: #19454)
+
+2009-08-06 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - A experimental new feature, codenamed Buoy: it allows players to
+ play a game starting with a specified position. First, a player
+ sets a buoy game with moves to a specific position. Then, two
+ players can play a new game with the game name.
+ New commands:
+ + %%SETBUOY <game_name> <moves> [count]
+ Set a new buoy game.
+ ex. %%SETBUOYGAME buoy_foo-900-0 +7776FU 10
+ ex. %%SETBUOYGAME buoy_foo-1500-0 +7776FU-3334FU
+ - game_name is a valid game name with a prefix "buoy_".
+ ex. buoy_foo-900-0
+ - moves are initial moves from the Hirate position to a
+ spcific position that you want to start with.
+ ex. +7776FU-3334FU+8786FU
+ - count is an optional attribute to tell how many times the
+ game can be played (default 1). The count is decremented
+ when the game finishes. If the count reaches zero, the buoy
+ game is removed automatically by the server.
+ ex. 10
+ + %%DELETEBUOY <game_name>
+ Delete a buoy game. The only owner who set up the game is
+ allowed to delete it.
+ ex. %%DELETEBUOY buoy_foo-900-0
+ - game_name is the buoy game name that was created.
+ + %%GETBUOYCOUNT <game_name>
+ Show a current count of the buoy game or -1 for non-existing
+ games.
+
+
+2009-07-11 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/command.rb: refactored commands out of player.rb.
+
+2009-06-18 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - An emtpy floodgate_history.yaml caused a server error. This
+ issue has been fixed.
+ (Closes: #15124)
+
+2009-06-17 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - If a new game matched between two players is not started within
+ a certain time (default 120 seconds) (i.e. the agree_waiting or
+ start_waiting state lasts too long), the Server REJECTs the game.
+ (Closes: #14425)
+
+2009-06-15 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - When a Gote player AGREEd a new game and then a Sente player
+ logged out (LOGOUT), the Gote incorrectly received a LOGOUT message
+ from the server. Since Gote's state was not AGREEd or STARTed yet,
+ the Gote should be REJECTed. This issue has been fixed.
+ (Closes: #17335)
+
2009-06-14 Daigo Moriwaki <daigo at debian dot org>
* [shogi-server]