OSDN Git Service

Applied a patch from the wdoor-stable branch: Improved the logic avoiding human-human...
[shogi-server/shogi-server.git] / changelog
index 028efba..949397c 100644 (file)
--- a/changelog
+++ b/changelog
@@ -1,3 +1,298 @@
+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]
@@ -8,7 +303,7 @@
 
        * [shogi-server]
          - shogi-server: The command line option --floodgate-history has
-           been deprectated. The server will decide history file names such
+           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.
        * [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'.  
+           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 instread of the
+           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.
            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
+           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
            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
+             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
-             spcific position that you want to start with.
+             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
 2009-06-18 Daigo Moriwaki <daigo at debian dot org>
 
        * [shogi-server]
-         - An emtpy floodgate_history.yaml caused a server error. This
+         - An empty floodgate_history.yaml caused a server error. This
            issue has been fixed. 
            (Closes: #15124)
 
 
        * [mk_html]
          - Added a new option: --footer filename, which inserts contents of 
-           the filename at the bottom of a genrated page. A text specific to 
+           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
 
        * [shogi-server]
          - Improved an existance check and etc. of directories specified
-           by command line options, expecially in case of the daemon mode. 
+           by command line options, especially in case of the daemon mode. 
            (Closes: #14244)
-         - A lotated log file is moved to $topdir/YYYY/MM/DD.
+         - 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]
          - .csa files will be located in a sub directory such as
-           "2008/05/05/*.csa". Thease days, we have many games in a day. 
+           "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>