+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
+
+2013-11-24 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/league/floodgate.rb: Improved robustness against
+ empty file under ruby 1.9.3p194
+ - shogi-server:
+ - Previously, reloading in daemon mode failed on
+ ruby 1.9.3p194. This issue has been fixed.
+ - 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)".
+ * [mk_game_results]
+ - Fixed for reading Japanese comments under ruby1.9.3p194.
+ * mk_rate-from-grep, mk_rate-grep:
+ - Removed files that are no longer used.
+
+2013-11-23 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_rate]
+ - gsl library may be provided as a gem
+ - Now duplicated inputs are checked and skipped.
+ * test/TC_floodgate.rb
+ - Improved randomness check so that it works on Ruby 2.0.0 as well
+
+2013-11-04 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_rate]
+ - Added a new option, --ignore, which is imported from
+ mk_rate-from-grep.
+ * [mk_game_results]
+ - Flush after each output line.
+ * Rleased: Revision "20131104"
+
+2013-09-08 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/{game,time_clock}.rb:
+ When StopWatchClock is used, "Time_Unit:" of starting messages
+ in CSA protocol supplies "1min".
+
+2013-04-07 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/{game,time_clock}.rb:
+ Adds variations of thinking time calculation: ChessClock
+ (current) and StopWatchClock (new).
+ StopWatchClock, which is usually used at official games of human
+ professional players, is a clock where thiking time less than a
+ miniute is regarded as zero.
+ To select StopWatchClock, use a special game name with "060"
+ byoyomi time. ex. "gamename_1500_060".
+
+2013-03-31 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - %%FORK command: %%FORK <source_game> [<new_buoy_game>] [<nth-move>]
+ The new_buoy_game parameter is now optional. If it is not
+ supplied, Shogi-server generates a new buoy game name from
+ source_game.
+ - command.rb: More elaborate error messages for the %%GAME command.
+
+2013-03-20 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - New pairing algorithm: ShogiServer::Pairing::LeastDiff
+ This pairing algorithm aims to minimize the total differences of
+ matching players' rates. It also includes penalyties when a match
+ is same as the previous one or a match is between human players.
+ It is based on a discussion with Yamashita-san on
+ http://www.sgtpepper.net/kaneko/diary/20120511.html.
+
+2013-02-23 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - New command: %%FORK <source_game> <new_buoy_game> [<nth-move>]
+ Fork a new game from the posistion where the n-th (starting from
+ one) move of a source game is played. The new game should be a
+ valid buoy game name. The default value of n is the position
+ where the previous position of the last one.
+ - The objective of this command: The shogi-server may be used as
+ the back end server of computer-human match where a human player
+ plays with a real board and someone, or a proxy, inputs moves to
+ the shogi-server. If the proxy happens to enter a wrong move,
+ with this command you can restart a new buoy game from the
+ previous stable position.
+ ex. %%FORK server-denou-14400-60+p1+p2+20130223185013 buoy_denou-14400-60
+
+2012-12-30 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Backported a5c94012656902e73e00f46e7a4c7004b24d4578:
+ test/TC_logger.rb depeneded on a specific directory where it was
+ running on. This issues has been fixed.
+ - Backported 87d145bd1f1a14a33f5f6fbc78b63a1952f1ca90 and
+ 2df8c798aeb7f0e77735e893fd1370c2c6f15c4d:
+ shogi_server/floodgate.rb: Generating next time around the new
+ year day by reading configuration files did not work correctly.
+ This issue has been fixed.
+
+2012-12-28 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/pairing.rb:
+ + There was a bug in the logic avoiding human-human match.
+ This issue has been fixed.
+ + Improved the logic avoiding human-human match. Human-human
+ matches will less likely happen.
+
+2012-01-07 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Added shogi_server/compatible.rb, which implements compatible
+ methods and allows Ruby 1.8.7 to run the server.
+ - test/TC_floodgate.rb failed with Ruby 1.8.7. This issue has
+ been fixed.
+ - test/TC_uchifuzume.rb did not run with Ruby 1.8.7. This issue
+ has been fixed.
+ - test/TC_league.rb failed with Ruby 1.8.7. This issue has been
+ fixed.
+ * csa-file-filter,mk_game_results,mk_html,mk_rate:
+ - Updated documents in the command files.
+ Both Ruby 1.9.3 and 1.8.7 are supported.
+ - Make their shebang consistent (/usr/bin/ruby1.9.1)
+ * README:
+ - Both Ruby 1.9.3 and 1.8.7 are supported.
+ * Renewed year of copyright notice in each file.
+
+2012-01-06 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - test/TC_logger.rb depeneded on a specific directory where it was
+ running on. This issues has been fixed.
+
+2012-01-01 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/floodgate.rb: Generating next time around the new
+ year day by reading configuration files did not work correctly.
+ This issue has been fixed.
+
+2011-12-18 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/board.rb, piece.rb: Refactoring to cache OU pieces,
+ which was inspired by 81SquareShogi-server's change
+ (74b24b88c843f1dd767412475b117481d1d5e8eb).
+ - Added shogi-server-profile to take profile of shogi-server.
+ * [mk_rate] [mk_game_results]
+ - Supports Ruby 1.9.3.
+
+2011-12-12 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Support Ruby 1.9.3.
+ - Result of test/benchmark.rb
+ - Environment:
+ - CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
+ - RAM: 4GB
+ - OS: Debian Squeeze
+ - ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
+ - ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
+ - Server: ruby1.8 (or ruby1.9.1) ./shogi-server hoge 4000
+ - Clients: ruby1.8 (or ruby1.9.1) -d ./benchmark.rb
+ csa/wdoor+floodgate-900-0+gps_normal+gps_l+20100507120007.csa 20
+ - Scores in seconds: (the smaller, the better)
+ clients
+ 1.8.7 1.9.3
+ server 1.8.7 20 sec 21 sec
+ 1.9.3 26 sec 27 sec
+
+2010-10-06 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - mk_rate: the usage was not updated.
+ Thanks to Hoki-san to report this issue. (Closes: #23358)
+
+2010-09-18 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/board.rb, game.rb: For hadicapped games, wrong
+ initial positions were delivered to players and monitors. This
+ issue has been fixed. (Closes: #23245)
+ Thanks to HIDETCHI for reporting the issue.
+
+2010-09-05 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/login.rb: Enhanced the CSA Login mode.
+ Logging in the server with the CSA mode, users are now allowed to
+ specify a turn preference in an enhanced gamename string which
+ looks like <gamename>-<time>-<time>-<turn>. The first three
+ parts are a regular game definition. The last "-<turn>"
+ part is optional.
+ + Without -<turn> (i.e. same as the previous behavior), there
+ is no turn preference. A user's turn will be defined randomly.
+ + <turn> is either "B" for black or "W" for white.
+
+2010-09-04 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/{board,command,game,league,player}.rb
+ The Buoy behavior is changed.
+ + Starting a buoy game, players are notified a starting game
+ position with the initial position and moves, instead of a
+ targeting position.
+ + Players are allowed to start buoy games with specific turns.
+ ex. %%GAME buoy_foo-1500-0 +
+
+2010-08-05 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/command.rb: Prevent a possible password from be
+ logged in a log file when players send invalid LOGIN-like commands.
+ Thanks to Tomoyuki Kaneko for this idea.
+
+2010-08-03 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - sample/{check_file.rb,check_time.rb,check_time2.rb,test_time.rb}:
+ Added new files to test an issue where mtime of log files was
+ earlier than system time.
+ - shogi_server/league/floodgate_thread.rb: SetupFloodgate#start
+ now returns an instance correctly.
+ - ../shogi_server.rb, ../shogi_server/util.rb: Refactored
+ mkdir_for to Mkdir.mkdir_for.
+ - ../shogi_server/game.rb: mkdir_p will be performed in a global
+ mutex of ShogiServer::Mkdir.
+
+2010-07-25 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/command.rb:
+ + For an unknown error command log, an empty line is no longer logged.
+ + Commands specific to 81Dojo, starting with '%%%', are just
+ ignored instead of unknown command errors.
+ - shogi_server.rb:
+ + Refactoring. Added test/TC_logger.rb to test
+ ShogiServer::Logger class.
+ + Fixed race condition: creating a new directory to archive
+ logs may have caused race condition, which ended up with
+ making the server unavailable. This issue has been fixed.
+ - shogi-server:
+ + Improved fault tolerance of the server.
+
+2010-07-23 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/league/floodgate_thread.rb: When the server run
+ with DEBUG mode, it ended up with an undefined variable error.
+ This issue has been fixed.
+
+2010-07-17 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server.rb, shogi_server/board.rb, shogi_server/move.rb
+ - Refactoring: Board can now move_to() and move_back() a move
+ instead of deep_copy().
+
+2010-07-11 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/player.rb: Set initial values to BasicPlayer's
+ instance variables.
+ - shogi_server/league.rb: Improved performance of
+ Persistant#get_players. It took about 20 seconds for a large
+ size of players (5,300 lines in players.yaml). Now it completes in an
+ instance.
+
+2010-06-22 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - A new command line option:
+ --floodgate-names GameStringA[,GameStringB[,...]]
+ where a game string should be a valid game name such as
+ floodgate-900-0.
+ .
+ Note: Without this option, no floodgate games are started. If
+ you want floodgate-900-0 to run, which was default enabled in
+ previous versions, you need to specify the game name in this new
+ option.
+ - Floodgate time configuration file:
+ You need to set starting times of floodgate groups in
+ configuration files under the top directory. Each floodgate
+ group requires a corresponding configuration file named
+ "<game_name>.conf". The file will be re-read once just after a
+ game starts.
+ .
+ For example, a floodgate-3600-30 game group requires
+ floodgate-3600-30.conf. However, for floodgate-900-0 and
+ floodgate-3600-0, which were default enabled in previous
+ versions, configuration files are optional if you are happy with
+ default time settings.
+ File format is:
+ Line format:
+ # This is a comment line
+ DoW Time
+ ...
+ where
+ DoW := "Sun" | "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat" |
+ "Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" |
+ "Friday" | "Saturday"
+ Time := HH:MM
+
+ For example,
+ Sat 13:00
+ Sat 22:00
+ Sun 13:00
+
+2010-06-01 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/command.rb: Fixed an issue that MONITOR2OFF did not
+ work. Thanks to HIDECHI and koudayu.
+
+2010-05-10 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - test/*.rb: Improved performance and stability of tests
+ - shogi_server/player.rb: Help the write_thread to terminate
+
+2010-05-06 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_rate]
+ - Previously mk_rate did not count in draw games. Now a draw game
+ is considered to weight 0.5 win and 0.5 loss. Respect
+ Inaniwa-shogi which strategically aims to draw.
+ - a new command line option, --skip-draw-games. In this mode, draw
+ games are just ignored as mk_rate previously did.
+
+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. Previously,
+ 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 deprecated. 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 recommended 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 instead 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 existing 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. %%SETBUOY buoy_foo-900-0 +7776FU 10
+ ex. %%SETBUOY 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
+ specific 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 empty 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]
+ - The Board could not recognize a certain pattern of
+ Oute-Sennichite. This issue has been fixed.
+ (Closes: #13966)
+
+2009-03-22 Daigo Moriwaki <daigo at debian dot org>
+
+ * [utils/correct-bug14635.rb]
+ - Added a new file. This program corrects illegal lines introduced
+ by the #14635 bug.
+
+2009-03-07 Daigo Moriwaki <daigo at debian dot org>
+
+ * [csa-file-filter]
+ - Improved performance.
+
+2009-02-15 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - A duplicated comment that is the one of the previous (or older)
+ move might be erroneously recorded in a csa file. This issue has
+ been fixed. (Closes: #15080)
+
+2009-02-11 Daigo Moriwaki <daigo at debian dot org>
+
+ * [utils/csa-filter.rb]
+ - Added a new file. This program filters CSA files.
+
+2009-02-01 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - The shogi-server records csa files of games in an illegal
+ format. This issue has been fixed. (Closes: #14635)
+ - A ##[MONITOR] command for showing a game result such as %TORYO
+ was not correct. This issue has been fixed.
+
+2009-01-13 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - It failed to proccess a game result, OuteKaihiMoreWin where a
+ checked king does not escape. This issue has been fixed.
+
+2009-01-02 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - shogi_server/timeout_queue.rb: the timeout parameter of the
+ constructor was not respected erroneously. This issue
+ has been fixed.
+ - shogi_server/players.rb: When a player was finishing with its
+ write socket broken, there was a chance that the thread of the
+ player in the giant lock had to wait for a long time (about 20
+ seconds), which might cause threads of other players stop and
+ time out. (Closes: #14469)
+
+2008-12-30 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_html]
+ - Added a new option: --footer filename, which inserts contents of
+ the filename at the bottom of a generated page. A text specific to
+ wdoor should be written by using this option.
+ (Closes: #14470)
+ - It does no more depend on RDoc. RDoc::usage does not work well
+ (due to RDoc).
+
+2008-12-28 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_rate]
+ - Check kifu files more carefully so that files that contain
+ incomplete records are skipped.
+ - mk_rate might have failed to alloc due to out of memory. Now it
+ consumes less memory (about 200MB instead of 2GB).
+ - File names can be put into STDIN instead of specifying directory
+ names in command line arguments.
+ * [csa-file-filter]
+ - New file. It filters kifu files and is of use for a pre-filter
+ of mk_rate.
+
+2008-12-13 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Improved an existance check and etc. of directories specified
+ by command line options, especially in case of the daemon mode.
+ (Closes: #14244)
+ - A rotated log file is moved to $topdir/YYYY/MM/DD.
+ (Closes: #14245)
+
+2008-11-27 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Added sample/*.sh for command line samples.
+
+2008-11-24 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Added a new option --floodgate-history, which allows users to
+ specify a file name that stores the records of games. The
+ records are taken care of when games are matched.
+
+2008-10-18 Daigo Moriwaki <daigo at debian dot org>
+
+ * [utils/eval_graph.rb]
+ - Display time control graphs as well.
+ Thanks to Nishimura-san for this idea.
+ (Closes: #13678)
+
+2008-10-08 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Ruby 1.8.7 (or later) must be used. Ruby 1.8.6 is not supported.
+ - Daemon mode is available.
+ - shogi_server/piece_ky.rb is again merged with
+ shogi_server/piece.rb, then has been removed.
+ - Added a test case, TC_usi.rb.
+
+2008-06-30 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Added a new option --player-log-dir, which allows users to log
+ messages that are received or sent to the wire.
+
+2008-06-28 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - A rating comment line is now written before the first move in a
+ record file instead of after the last move, which allows other
+ applications watching a game to recognize players in the middle
+ of the game. (Closes #12821)
+ - If a player, including a monitor, stuck at the time of sending
+ messages to the wire, which means that the giant lock was locked,
+ it might have prevented other players from processing until
+ timeout occurred. This issue has been fixed. (Closes #12555)
+
+2008-06-27 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Pairing players might not have shuffled players because of
+ poor shuffling algorithm. This issue has been fixed.
+ (Closes: #12661)
+
+2008-06-25 Daigo Moriwaki <daigo at debian dot org>
+
+ * [players_graph.rb]
+ - Check invalid arguments. (Closes: #12856)
+
+2008-06-23 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_rate]
+ - Added a new option: --fixed-rate and --fixed-rate-player
+ whose rate always results in that rate. (Closes: #12800)
+
+2008-06-06 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - The source has been splited to multiple sub files.
+ - The program now depends on rubygems and activesupport.
+ - The program can reload the source files on the flight, by
+ sending a HUP signal to the server.
+ - The server log will be rotated daily.
+
+2008-05-18 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Last game results (win or lose) of x1 players were not
+ available on the next game. This issue has been fixed.
+ Thanks to Tomoyuki Kaneko for debugging.
+ - For draw games, "'rating" line in a .csa file was
+ wrong (meaningless). This issue has been fixed.
+
+2008-05-16 Daigo Moriwaki <daigo at debian dot org>
+
+ * [news]
+ - The repository has been converted from CVS to Subversion.
+
+2008-05-13 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Floodgate's thread could cause an error when players.yaml was
+ cleared by another program (mk_rate). This issue has been
+ fixed.
+ - Give default values to BasicPlayer, which fixed undefined
+ method error in Pairing.
+
+2008-05-10 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - The server could not recognize uchifuzume as an illegal move.
+ This bug has been fixed.
+ - The server crashed by an undefined method error.
+ This issue has been fixed.
+
+2008-05-05 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - .csa files will be located in a sub directory such as
+ "2008/05/05/*.csa". These days, we have many games in a day.
+ This change will help users browse a file list.
+
+2008-05-03 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_html]
+ - Show players who have accessed in the last 30 minutes with
+ different colors.
+
+2008-04-22 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_html]
+ - When YSS was not rated on the wdoor mode, wrong rate24 scores
+ were displayed. This issue has been fixed. Now YSS absence
+ results in "N/A".
+
+2008-04-21 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_rate]
+ - The half-life period is now configurable.
+ ex $ ./mk_rate --half-life 14 --half-life-ignore 7 <records>
+
+2008-04-12 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Renamed variables (@id) since they caused Ruby's warning.
+
+2008-04-11 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Improved a way to handle diferred moves (2008-03-24's change),
+ based on Tomoyuki Kaneko's patch.
+
+2008-04-01 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - An incorrect LOGIN crashed the server. This issue has been
+ fixed.
+
+2008-03-24 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Converting characters for comments in moves caused an error. This
+ issue has been fixed.
+ - If a player moves in the opponent's turn, it is illegal. But the
+ current CSA protocol does not clearly define a way to tell so to
+ the players. This shogi-server internally keeps such a move in a
+ buffer and replay it when the player of the move gets his/her
+ turn.
+
+2008-03-16 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - Erroneously, Board#to_s's current player was always Black.
+ It caused wrong determination of sennichite since it did not
+ care about the current player of a state. This has been fixed.
+ Thanks Takada-san for reporting this bug.
+
+2008-03-10 Daigo Moriwaki <daigo at debian dot org>
+
+ * [util/players-graph.rb]
+ - Applied Kaneko-san's patch, which also shows expected-rate24
+ rates.
+ - Small PNG gets smaller.
+
+2008-03-08 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_html]
+ - Added an option --wdoor. In this mode, a rate expected at Shogi
+ Club 24 is calculated from YSS's rating (he is 2400 now).
+
+2008-03-04 Daigo Moriwaki <daigo at debian dot org>
+
+ * [mk_rate]
+ - If the computed ratings do not stabilize, then mk_rate aborts.
+ $ ./mk_rate dir && ./mk_rate dir > players.yaml
+ can avoid rewriting the invalid ratings to the file.
+
+2008-02-23 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - A comment is converted to EUC-JP and then written in a log.
+ Note that this conversion guesses the input encoding. Clients
+ are recommended to send EUC-JP compatible strings to the
+ server.
+
+2008-02-21 Daigo Moriwaki <daigo at debian dot org>
+
+ * [util/players-graph.rb]
+ - Released. Draw a chart for a player's rating score.
+
+2008-02-17 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server]
+ - An illegal teban specified for Floodgate login could crash the
+ server. This issue has been fixed.
+
2008-02-16 Daigo Moriwaki <daigo at debian dot org>
* [shogi-server]
* [shogi-server]
- Added a new pairing variation, Swiss-like style. Winners at the
- prevous games (his/her point of view, not the server's) are
+ previous games (his/her point of view, not the server's) are
paired first, and then the others are matched. This is the
default option now.
- Pairing classes are located in a separate source file,