OSDN Git Service

Correct Dockerfile so that it creates directories properly
[shogi-server/shogi-server.git] / changelog
1 2016-11-26  Daigo Moriwaki <daigo at debian dot org>
2
3         * [shogi-server] Allow to customize maximum lenght of a login indentifier
4           (Closes #36821)
5           - The current maximum length of a login identifier is 32. Some
6             private uses require longer player names to distinguish each other
7             by specifying randomly generated tokens. It would of help to add a
8             new command line option --max-identifier to overwrite the default
9             maximum length.
10         * Build a Docker image for Shogi-server
11           (Closes #36822)
12           - Build a Docker image
13               % make image-build
14           - Running a local shogi-server would look like
15               % docker pull shogiserver/shogiserver
16               % docker run -p 4081:4081 -v `pwd`/logs:/logs shogiserver/shogiserver
17
18 2016-04-09  Daigo Moriwaki <daigo at debian dot org>
19
20         * utils/eval_graph.rb
21           - Support Fischer time control.
22         * [shogi-server] Bump up the revision to 20160409.
23
24 2016-04-02  Daigo Moriwaki <daigo at debian dot org>
25
26         * [shogi-server] Support Fischer Time Control
27           (Closes #36230)
28           - Fischer time control means that:
29             Before a player has made their move, a specified time increment is
30             added to their clock. Time can be accumulated, so if the player
31             moves within the delay period, their remaining time actually
32             increases.
33             (https://en.wikipedia.org/wiki/Chess_clock)
34           - New syntax of game names:
35             An 'F' suffix denotes a Fisher time in seconds. For example,
36             "floodgate-600-10F" specifies
37               + A floodgate game
38               + Total allotted time is 600 seconds for each player
39               + 10-second increment before a player's move in a Fischer way
40           - The server now proposes game conditions upon a game start with
41             - "Protocol_Version 1.2"
42             - "Increment:<n>" for Fischer Time Control
43           - Kifu files can include the following comment for Fischer Time
44             Control:
45             - "'Increment:<n>"
46         * [shogi-server] Fix some lint warnings.
47
48 2015-12-13  Daigo Moriwaki <daigo at debian dot org>
49
50         * [shogi-server] Enhance capability of Floodgate configuration file
51           - New parameter: Max_Moves, defined in the CSA protocol
52             ex. set Max_Moves 256
53           - New parameter: Least_Time_Per_Move, defined in the CSA protocol
54             ex. set Least_Time_Per_Move 0
55           - Proposed messages distributed to each player upon starting a new
56             game will include Max_Moves as well as Least_Time_Per_Move.
57           - CSA files produced by the server will include settings of
58             Max_Moves and Least_Time_Per_Move in comment lines as follows:
59               'Max_Moves:256
60               'Least_Time_Per_Move:0
61           - The official Shogi-server on wdoor.c.u-tokyo.ac.jp will
62             be running with different parameters, depending on game names.
63             a) Max_Moves will be 256 for floodgate-600-10 games;
64                otherwise, 0.
65             b) Least_Time_Per_Move will be 0 for floodgate-600-10 games;
66                otherwise 1.
67           (Closes: #35839)
68         * [shogi-server] shogi_server/pairing.rb:
69           - LeastDiff attempts more trials, depending of a number of players
70             to be matched, top achieve more optimized matching combinations.
71
72 2015-11-27  Daigo Moriwaki <daigo at debian dot org>
73
74         * [shogi-server] shogi_server/time_clock.rb:
75           - A time consumed could be -1.
76             * The start time of a move is captured after sending a move to a
77               player of the next turn at the end of the giant lock
78             * The end time of the move is captured at the exact time when the
79               server receives it before the giant lock
80             Therefore, end_time < start_time is possible when a player returns a
81             move instantly.
82             Thanks to Tomoyuki Kaneko for reporting this issue.
83             (Closes: #35795)
84
85 2015-02-14  Daigo Moriwaki <daigo at debian dot org>
86
87         * util/statistics.rb:
88           - Updated to investigate floodgate-600-10 games.
89             Consult the result at
90             http://www.sgtpepper.net/hyspro/diary/20150214.html.
91           - Added a companion R script: histogram.R 
92
93 2015-02-01  Daigo Moriwaki <daigo at debian dot org>
94
95         * [shogi-server]
96           - shogi_server/login.rb: When players are logged in, log their
97             player_id if they have it.
98
99 2015-01-20  Daigo Moriwaki <daigo at debian dot org>
100
101         * [mk_rate]
102           - Getting an absolute path of this file was wrong if it was a
103             symbolic link. This issue has been addressed.
104         * [mk_html]
105           - Links to details pages for players now use a relative path so
106             that it works on a testing site.
107
108 2015-01-17  Daigo Moriwaki <daigo at debian dot org>
109
110         * [shogi-server]
111           - shogi-server, shogi_server/{command,game_result,player}.rb:
112             The change at 2014-10-13 was not worked as expected. Reworked.
113             A player, attempting to login with the current live player
114             stalling for more than a day, can forcibly override the current
115             player.
116
117 2015-01-12  Daigo Moriwaki <daigo at debian dot org>
118
119         * [shogi-server]
120           - shogi_server.rb: Follow an API change in a upstream class:
121             LogDevice.previous_period_end
122
123 2014-12-27  Daigo Moriwaki <daigo at debian dot org>
124
125         * [shogi-server]
126           - When a non-rated player participates in Floodgate, the following exception
127             was thrown and a Floodgate game would not start:
128               undefined method `[]' for nil:NilClass
129               ["/home/shogi-server/www/x/shogi_server/pairing.rb:499:in `block
130               in calculate_diff_with_penalty'"
131             This issue has been resolved. Only players who have player ID
132             (i.e. those who log in with valid password) are now allowed to
133             participate in Floodgate as the spec web page
134             [http://shogi-server.sourceforge.jp/rating.html] describes.
135
136 2014-12-23  Daigo Moriwaki <daigo at debian dot org>
137
138         * [shogi-server]
139           - Addressed Ruby incompatibility on ShogiServer::Usi::alphabetToDan.
140             It (and usiToCsa.rb) did not work with Ruby 1.9.3. This issue
141             has now been fixed.
142             Thanks to Hiraoka-san for debugging.
143
144 2014-12-18  Daigo Moriwaki <daigo at debian dot org>
145
146         * utils/eval_graph.rb:
147           - Gnuplot 4.6.6 drew evaluation-value lines with a dashed style.
148             This issue has now been addressed so that solid lines are used.
149
150 2014-11-30  Daigo Moriwaki <daigo at debian dot org>
151
152         * [mk_html]
153           - Corrected a url.
154
155 2014-11-24  Daigo Moriwaki <daigo at debian dot org>
156
157         * Ruby 2.0:
158           - Ruby 2.0.0 or later is recommended to use with shogi-server
159             since Ruby 1.8 reached its End-of-Life on the end of July, 2014.
160         * [shogi-server]
161           - Addressed a warning of duplicated range in a regular expression.
162
163 2014-10-13  Daigo Moriwaki <daigo at debian dot org>
164
165         * [shogi-server]
166           - A player, attempting to login with the current live player
167             stalling for more than a day, can forcibly override the current
168             player.
169           - Kifu record files now includes rating scores of players at the
170             time when games start.  Previously, for rating games, a record
171             file includes player IDs of both players with a line starting with
172             "'rating".  Now it also shows rating scores for players who have
173             valid scores.  The formats for black and white players are as
174             follows:
175               'black_rate:<player_id>:<score>
176               'white_rate:<player_id>:<score>
177             A sample output:
178               'rating:Test_sente+275876e34cf609db118f3d84b799a790:Test_gote+275876e34cf609db118f3d84b799a790
179               'black_rate:Test_sente+275876e34cf609db118f3d84b799a790:2763.0
180               'white_rate:Test_gote+275876e34cf609db118f3d84b799a790:2345.0
181
182 2014-10-12  Daigo Moriwaki <daigo at debian dot org>
183
184         * [shogi_server]
185           - New feature: max moves
186             - New command line option: --max-moves n
187               When a game with the n-th move played does not end, make the
188               game a draw (default 256 in compliance with CSA Protocol V1.2
189               or later).  Setting 0 disables this feature for
190               CSA Protocol V1.1.2 or before.
191             - Players will receive a new message, "#MAX_MOVES", upon an end
192               of such a game:
193                 #MAX_MOVES
194                 #CENSORED
195             - A new log summary type, "max_moves", has been assigned for games
196               drawing with max moves.
197               'summary:max_moves:name_sente draw:name_gote draw
198           - Least time per move:
199             - New command line option: --least-time-per-move n
200               This option specifies a least time in second per move, which
201               is 0 second by default, meaning that a decimal
202               fraction of time for a move will be truncated in compliance
203               with CSA Protocol V1.2 or later.
204               Set 1 for CSA Protocol V1.1.2 or before.
205
206 2014-07-19  Daigo Moriwaki <daigo at debian dot org>
207
208         * [mk_rate]
209           - Added a new option, --abnormal-threshold n:
210             Games that end with the 'abnormal' status are counted in
211             win/lost games for the rating calculation if a game plays more
212             than n plies. Otherwise (or if n is zero), abnormal games are
213             counted out of rating games.
214
215 2014-01-07  Daigo Moriwaki <daigo at debian dot org>
216
217         * [shogi-server]
218           - Released: Revision "20140107"
219
220 2013-12-29  Daigo Moriwaki <daigo at debian dot org>
221
222         * [shogi-server]
223           - Previously, parameters in Floodgate time configuration file were
224             not applied to actual instances. This issue has been fixed.
225
226 2013-12-21  Daigo Moriwaki <daigo at debian dot org>
227
228         * [shogi-server]
229           - shogi_server/pairing.rb: Impose penalty on matches between
230             likely kin players.
231
232 2013-12-15  Daigo Moriwaki <daigo at debian dot org>
233
234         * [webserver]
235           - Listen on only IPv4 explicitly. Under ruby 1.9.3p194, without
236             any bind addresses, ruby attempts to listen on both "0.0.0.0"
237             and "::". Specifying "::" on Linux leads to listen on both IPv4
238             and IPv6, which results in a warning message saying "Address
239             already in use - bind(2)".
240         * [shogi-server]
241           - Released: Revision "20131215"
242
243 2013-12-14  Daigo Moriwaki <daigo at debian dot org>
244
245         * [usiToCsa]
246           - Added a new program, bin/usiToCsa.rb, which is a bridge for a
247             USI engine to connect to the Shogi-server.
248           - bin/usiToCsa is a sample wrapper script.
249
250 2013-12-13  Daigo Moriwaki <daigo at debian dot org>
251
252         * [shogi-server]
253           - shogi_server/league/floodgate_thread.rb:
254             - Added a log message.
255
256 2013-12-08  Daigo Moriwaki <daigo at debian dot org>
257
258         * [shogi-server]
259           - shogi-server/shogi_server/pairing.rb:
260             - Modified comment for LeastDiff match.
261             - Changed log messages and levels. 
262
263 2013-12-07  Daigo Moriwaki <daigo at debian dot org>
264
265         * [shogi-server]
266           - shogi_server/pairing.rb, player.rb:
267             Simplify estimated rate of unrated players (less memory).
268           - Enhanced syntax of Floodgate time configuration file.
269             Now it supports "set sacrifice <player_id>"; it sets a
270             sacrificed player for a specific Floodgate game.
271             ex. set sacrifice gps500+e293220e3f8a3e59f79f6b0efffaa931
272
273 2013-12-05  Daigo Moriwaki <daigo at debian dot org>
274
275         * [shogi-server]
276           - Added a new pairing method, ShogiServer::ExcludeUnratedPlayers,
277             which filters out unrated players.
278           - Enhanced syntax of Floodgate time configuration file.
279             Now it supports "set pairing_factory <function_name>"; it sets a
280             factory function name generating a pairing method which will be
281             used in a specific Floodgate game.
282             ex. set pairing_factory floodgate_zyunisen 
283           - Implemented conversion of move representation between CSA format
284             and USI one.
285
286 2013-11-24  Daigo Moriwaki <daigo at debian dot org>
287
288         * [shogi-server]
289           - shogi_server/league/floodgate.rb: Improved robustness against
290             empty file under ruby 1.9.3p194
291           - shogi-server:
292             - Previously, reloading in daemon mode failed on
293               ruby 1.9.3p194. This issue has been fixed.
294             - Listen on only IPv4 explicitly. Under ruby 1.9.3p194, without
295               any bind addresses, ruby attempts to listen on both "0.0.0.0"
296               and "::". Specifying "::" on Linux leads to listen on both IPv4
297               and IPv6, which results in a warning message saying "Address
298               already in use - bind(2)".
299         * [mk_game_results]
300           - Fixed for reading Japanese comments under ruby1.9.3p194.
301         * mk_rate-from-grep, mk_rate-grep:
302           - Removed files that are no longer used.
303
304 2013-11-23  Daigo Moriwaki <daigo at debian dot org>
305
306         * [mk_rate]
307           - gsl library may be provided as a gem
308           - Now duplicated inputs are checked and skipped.
309         * test/TC_floodgate.rb
310           - Improved randomness check so that it works on Ruby 2.0.0 as well
311
312 2013-11-04  Daigo Moriwaki <daigo at debian dot org>
313
314         * [mk_rate]
315           - Added a new option, --ignore, which is imported from
316             mk_rate-from-grep.
317         * [mk_game_results]
318           - Flush after each output line.
319         * Rleased: Revision "20131104"
320
321 2013-09-08  Daigo Moriwaki <daigo at debian dot org>
322
323         * [shogi-server]
324           - shogi_server/{game,time_clock}.rb:
325             When StopWatchClock is used, "Time_Unit:" of starting messages
326             in CSA protocol supplies "1min".
327
328 2013-04-07  Daigo Moriwaki <daigo at debian dot org>
329
330         * [shogi-server]
331           - shogi_server/{game,time_clock}.rb:
332             Adds variations of thinking time calculation: ChessClock
333             (current) and StopWatchClock (new).
334             StopWatchClock, which is usually used at official games of human
335             professional players, is a clock where thiking time less than a
336             miniute is regarded as zero.
337             To select StopWatchClock, use a special game name with "060"
338             byoyomi time. ex. "gamename_1500_060".
339
340 2013-03-31  Daigo Moriwaki <daigo at debian dot org>
341
342         * [shogi-server]
343           - %%FORK command: %%FORK <source_game> [<new_buoy_game>] [<nth-move>]
344             The new_buoy_game parameter is now optional. If it is not
345             supplied, Shogi-server generates a new buoy game name from
346             source_game.
347           - command.rb: More elaborate error messages for the %%GAME command.
348
349 2013-03-20  Daigo Moriwaki <daigo at debian dot org>
350
351         * [shogi-server]
352           - New pairing algorithm: ShogiServer::Pairing::LeastDiff
353             This pairing algorithm aims to minimize the total differences of
354             matching players' rates. It also includes penalyties when a match
355             is same as the previous one or a match is between human players.
356             It is based on a discussion with Yamashita-san on
357             http://www.sgtpepper.net/kaneko/diary/20120511.html.
358
359 2013-02-23  Daigo Moriwaki <daigo at debian dot org>
360
361         * [shogi-server]
362           - New command: %%FORK <source_game> <new_buoy_game> [<nth-move>]
363             Fork a new game from the posistion where the n-th (starting from
364             one) move of a source game is played. The new game should be a
365             valid buoy game name. The default value of n is the position
366             where the previous position of the last one.
367             - The objective of this command: The shogi-server may be used as
368             the back end server of computer-human match where a human player
369             plays with a real board and someone, or a proxy, inputs moves to
370             the shogi-server. If the proxy happens to enter a wrong move,
371             with this command you can restart a new buoy game from the
372             previous stable position.
373             ex. %%FORK server-denou-14400-60+p1+p2+20130223185013 buoy_denou-14400-60
374
375 2012-12-30  Daigo Moriwaki <daigo at debian dot org>
376
377         * [shogi-server]
378           - Backported a5c94012656902e73e00f46e7a4c7004b24d4578:
379             test/TC_logger.rb depeneded on a specific directory where it was
380             running on. This issues has been fixed.
381           - Backported 87d145bd1f1a14a33f5f6fbc78b63a1952f1ca90 and
382             2df8c798aeb7f0e77735e893fd1370c2c6f15c4d:
383             shogi_server/floodgate.rb: Generating next time around the new
384             year day by reading configuration files did not work correctly.
385             This issue has been fixed.
386
387 2012-12-28  Daigo Moriwaki <daigo at debian dot org>
388
389         * [shogi-server]
390           - shogi_server/pairing.rb:
391             + There was a bug in the logic avoiding human-human match.
392               This issue has been fixed.
393             + Improved the logic avoiding human-human match. Human-human
394               matches will less likely happen.
395
396 2012-01-07  Daigo Moriwaki <daigo at debian dot org>
397
398         * [shogi-server]
399           - Added shogi_server/compatible.rb, which implements compatible
400             methods and allows Ruby 1.8.7 to run the server.
401           - test/TC_floodgate.rb failed with Ruby 1.8.7. This issue has
402             been fixed.
403           - test/TC_uchifuzume.rb did not run with Ruby 1.8.7. This issue
404             has been fixed.
405           - test/TC_league.rb failed with Ruby 1.8.7. This issue has been
406             fixed.
407         * csa-file-filter,mk_game_results,mk_html,mk_rate:
408           - Updated documents in the command files.
409             Both Ruby 1.9.3 and 1.8.7 are supported.
410           - Make their shebang consistent (/usr/bin/ruby1.9.1)
411         * README:
412           - Both Ruby 1.9.3 and 1.8.7 are supported.
413         * Renewed year of copyright notice in each file.
414
415 2012-01-06  Daigo Moriwaki <daigo at debian dot org>
416
417         * [shogi-server]
418           - test/TC_logger.rb depeneded on a specific directory where it was
419             running on. This issues has been fixed.
420
421 2012-01-01  Daigo Moriwaki <daigo at debian dot org>
422
423         * [shogi-server]
424           - shogi_server/floodgate.rb: Generating next time around the new
425             year day by reading configuration files did not work correctly.
426             This issue has been fixed.
427
428 2011-12-18  Daigo Moriwaki <daigo at debian dot org>
429
430         * [shogi-server]
431           - shogi_server/board.rb, piece.rb: Refactoring to cache OU pieces,
432             which was inspired by 81SquareShogi-server's change
433             (74b24b88c843f1dd767412475b117481d1d5e8eb).
434           - Added shogi-server-profile to take profile of shogi-server.
435         * [mk_rate] [mk_game_results]
436           - Supports Ruby 1.9.3.
437
438 2011-12-12  Daigo Moriwaki <daigo at debian dot org>
439
440         * [shogi-server]
441           - Support Ruby 1.9.3.
442           - Result of test/benchmark.rb
443             - Environment:
444               - CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+  
445               - RAM: 4GB
446               - OS: Debian Squeeze
447               - ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
448               - ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
449             - Server:  ruby1.8 (or ruby1.9.1) ./shogi-server hoge 4000
450             - Clients: ruby1.8 (or ruby1.9.1) -d ./benchmark.rb
451               csa/wdoor+floodgate-900-0+gps_normal+gps_l+20100507120007.csa 20
452             - Scores in seconds: (the smaller, the better)
453                             clients
454                             1.8.7   1.9.3
455               server 1.8.7  20 sec  21 sec
456                      1.9.3  26 sec  27 sec
457
458 2010-10-06  Daigo Moriwaki <daigo at debian dot org>
459
460         * [shogi-server]
461           - mk_rate: the usage was not updated.
462             Thanks to Hoki-san to report this issue.  (Closes: #23358)
463
464 2010-09-18  Daigo Moriwaki <daigo at debian dot org>
465
466         * [shogi-server]
467           - shogi_server/board.rb, game.rb: For hadicapped games, wrong
468             initial positions were delivered to players and monitors.  This
469             issue has been fixed. (Closes: #23245) 
470             Thanks to HIDETCHI for reporting the issue.
471
472 2010-09-05  Daigo Moriwaki <daigo at debian dot org>
473
474         * [shogi-server]
475           - shogi_server/login.rb: Enhanced the CSA Login mode.
476             Logging in the server with the CSA mode, users are now allowed to
477             specify a turn preference in an enhanced gamename string which
478             looks like <gamename>-<time>-<time>-<turn>. The first three 
479             parts are a regular game definition. The last "-<turn>"
480             part is optional. 
481             + Without -<turn> (i.e. same as the previous behavior), there
482             is no turn preference. A user's turn will be defined randomly. 
483             + <turn> is either "B" for black or "W" for white.
484
485 2010-09-04  Daigo Moriwaki <daigo at debian dot org>
486
487         * [shogi-server]
488           - shogi_server/{board,command,game,league,player}.rb
489             The Buoy behavior is changed.
490             + Starting a buoy game, players are notified a starting game
491               position with the initial position and moves, instead of a
492               targeting position.
493             + Players are allowed to start buoy games with specific turns.
494               ex. %%GAME buoy_foo-1500-0 +
495
496 2010-08-05  Daigo Moriwaki <daigo at debian dot org>
497
498         * [shogi-server]
499           - shogi_server/command.rb: Prevent a possible password from be
500             logged in a log file when players send invalid LOGIN-like commands.
501             Thanks to Tomoyuki Kaneko for this idea.
502
503 2010-08-03  Daigo Moriwaki <daigo at debian dot org>
504
505         * [shogi-server]
506           - sample/{check_file.rb,check_time.rb,check_time2.rb,test_time.rb}:
507             Added new files to test an issue where mtime of log files was
508             earlier than system time.
509           - shogi_server/league/floodgate_thread.rb: SetupFloodgate#start
510             now returns an instance correctly.
511           - ../shogi_server.rb, ../shogi_server/util.rb: Refactored
512             mkdir_for to Mkdir.mkdir_for.
513           - ../shogi_server/game.rb: mkdir_p will be performed in a global
514             mutex of ShogiServer::Mkdir.
515
516 2010-07-25  Daigo Moriwaki <daigo at debian dot org>
517
518         * [shogi-server]
519           - shogi_server/command.rb: 
520             + For an unknown error command log, an empty line is no longer logged.
521             + Commands specific to 81Dojo, starting with '%%%', are just
522               ignored instead of unknown command errors.
523           - shogi_server.rb: 
524             + Refactoring. Added test/TC_logger.rb to test
525               ShogiServer::Logger class.
526             + Fixed race condition: creating a new directory to archive
527               logs may have caused race condition, which ended up with
528               making the server unavailable. This issue has been fixed. 
529           - shogi-server:
530             + Improved fault tolerance of the server.
531
532 2010-07-23  Daigo Moriwaki <daigo at debian dot org>
533
534         * [shogi-server]
535           - shogi_server/league/floodgate_thread.rb: When the server run
536             with DEBUG mode, it ended up with an undefined variable error. 
537             This issue has been fixed.
538
539 2010-07-17  Daigo Moriwaki <daigo at debian dot org>
540
541         * [shogi-server]
542           - shogi_server.rb, shogi_server/board.rb, shogi_server/move.rb
543             - Refactoring: Board can now move_to() and move_back() a move
544               instead of deep_copy().
545
546 2010-07-11  Daigo Moriwaki <daigo at debian dot org>
547
548         * [shogi-server]
549           - shogi_server/player.rb: Set initial values to BasicPlayer's
550             instance variables.
551           - shogi_server/league.rb: Improved performance of
552             Persistant#get_players. It took about 20 seconds for a large
553             size of players (5,300 lines in players.yaml). Now it completes in an
554             instance.
555
556 2010-06-22  Daigo Moriwaki <daigo at debian dot org>
557
558         * [shogi-server]
559           - A new command line option: 
560               --floodgate-names GameStringA[,GameStringB[,...]]
561             where a game string should be a valid game name such as
562             floodgate-900-0.  
563             .
564             Note: Without this option, no floodgate games are started. If
565             you want floodgate-900-0 to run, which was default enabled in
566             previous versions, you need to specify the game name in this new
567             option.
568           - Floodgate time configuration file:
569             You need to set starting times of floodgate groups in
570             configuration files under the top directory. Each floodgate
571             group requires a corresponding configuration file named
572             "<game_name>.conf". The file will be re-read once just after a
573             game starts. 
574             .
575             For example, a floodgate-3600-30 game group requires
576             floodgate-3600-30.conf.  However, for floodgate-900-0 and
577             floodgate-3600-0, which were default enabled in previous
578             versions, configuration files are optional if you are happy with
579             default time settings.
580             File format is:
581               Line format: 
582                 # This is a comment line
583                 DoW Time
584                 ...
585               where
586                 DoW := "Sun" | "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat" |
587                        "Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" |
588                        "Friday" | "Saturday" 
589                 Time := HH:MM
590              
591               For example,
592                 Sat 13:00
593                 Sat 22:00
594                 Sun 13:00
595
596 2010-06-01  Daigo Moriwaki <daigo at debian dot org>
597
598         * [shogi-server]
599           - shogi_server/command.rb: Fixed an issue that MONITOR2OFF did not
600             work. Thanks to HIDECHI and koudayu.
601
602 2010-05-10  Daigo Moriwaki <daigo at debian dot org>
603
604         * [shogi-server]
605           - test/*.rb: Improved performance and stability of tests
606           - shogi_server/player.rb: Help the write_thread to terminate
607
608 2010-05-06  Daigo Moriwaki <daigo at debian dot org>
609
610         * [mk_rate]
611           - Previously mk_rate did not count in draw games. Now a draw game
612             is considered to weight 0.5 win and 0.5 loss. Respect
613             Inaniwa-shogi which strategically aims to draw.
614           - a new command line option, --skip-draw-games. In this mode, draw
615             games are just ignored as mk_rate previously did.
616
617 2010-04-25  Daigo Moriwaki <daigo at debian dot org>
618
619         * [shogi-server]
620           - shogi_server/player.rb:
621             Log a warning message in a case that a player closes a
622             connection suddenly.
623
624 2010-04-13  Daigo Moriwaki <daigo at debian dot org>
625
626         * [shogi-server]
627           - shogi_server/command.rb:
628             Equality of MonitorHandler class was wrong. %%MONITOROFF and
629             %%MONITOR2OFF may cause unexpected behavior. This issue has been
630             fixed. Thanks to Kota Fujiwara for reporting.
631
632 2010-03-07  Daigo Moriwaki <daigo at debian dot org>
633
634         * [shogi-server]
635           - If two sequential moves from a player are identical, the last
636             one will be ignored and a game is in play. This situation might
637             happen with human players, especially on slow network,
638             impatiently sending a move twice. 
639
640 2010-02-27  Daigo Moriwaki <daigo at debian dot org>
641
642         * [shogi-server]
643           - The server now provides more accurate time control. Previously,
644             a player's thinking time included a time waiting to get the giant
645             lock. This may have caused games to time up, especially, during
646             byo-yomi etc.
647
648 2010-01-22  Daigo Moriwaki <daigo at debian dot org>
649
650         * [shogi-server]
651           - Experimental feature: support handicapped games.
652             Game names that have the following prefixes are recognized as
653             handicapped games. Turn symbols "+" and "-" mean Uwate (expert)
654             and Shitate (beginner) respectively (i.e. Uwate players first).
655             "*" is not available. 
656             - hclance_
657             - hcbishop_
658             - hcrook_
659             - hcrooklance_
660             - hc2p_
661             - hc4p_
662             - hc6p_
663             - hc10p_
664
665 2010-01-16  Daigo Moriwaki <daigo at debian dot org>
666
667         * [shogi-server]
668           - shogi_server/command.rb, test/TC_command.rb
669             Proposal implementation of a new command called MONITOR2{ON,OFF}.
670             When the MONITOR2ON command is issued by a player, the server
671             immediately sends the player the entire contents of a record
672             file of the game, i.e. history of moves and so on, at that time.
673             Then, the server will forward subsequent moves like they are
674             appended to the record file.
675           - Behavior changed: A player monitoring a game with MONITORON will
676             not receive Game#show again when a gaming player resigns (:toryo).
677
678 2010-01-10  Daigo Moriwaki <daigo at debian dot org>
679
680         * Converted the repository from Subversion to Git.
681
682 2009-12-26 Daigo Moriwaki <daigo at debian dot org> 
683
684         * [shogi-server]
685           - The server can now provide multiple floodgate modes such as
686             floodgate-900-0 and floodgate-3600-0.
687
688 2009-12-25 Daigo Moriwaki <daigo at debian dot org>
689
690         * [shogi-server]
691           - shogi-server: The command line option --floodgate-history has
692             been deprecated. The server will decide history file names such
693             as 'floodgate_history_900_0.yaml' and
694             'floodgate_history_3600_0.yaml', and then put them in the top
695             directory.
696
697 2009-12-20 Daigo Moriwaki <daigo at debian dot org>
698
699         * [shogi-server]
700           - shogi_server/player.rb: Added new methods: is_human? and
701             is_computer?. 
702             A human player is recommended to use a name ending with '_human'.  
703             ex. 'hoge_human', 'hoge_human@p1'
704           - shogi_server/pairing.rb: Added a new class:
705             StartGameWithoutHumans, which tries to make pairs trying to
706             avoid a human-human match. This is now enabled instead of the
707             previous class: StartGame.
708           - shogi-server, shogi_server/league/floodgate.rb:
709             Changed the argument of Floodgate.new.
710
711 2009-12-04 Daigo Moriwaki <daigo at debian dot org>
712
713         * [shogi-server]
714           - The HUP signal is not supported by Ruby on Windows.
715
716 2009-11-11 Daigo Moriwaki <daigo at debian dot org>
717
718         * [mk_rate]
719           - Added a new command line option: --base-date. You can specify a
720             base date to calculate rating scores. Games in the `future' are
721             ignored for the calculation.
722
723 2009-11-10 Daigo Moriwaki <daigo at debian dot org>
724
725         * [shogi-server]
726           - The server logs a result of each game to a file named '00LIST',
727             which will be used to generate players.yaml. If the file does
728             not exist, the server will create one automatically.
729             Instruction to use the game result list file:
730             1. Make a list of game results from existing CSA files with
731                mk_game_results
732                % ./mk_game_results dir_of_csa_files > 00LIST
733             2. Run the server. It appends a result of each game to
734                '00LIST' when the game finishes.
735             3. From the list of game results, calculate rating scores of
736                players.
737                % ./mk_rate 00LIST > players.yaml
738
739 2009-11-08 Daigo Moriwaki <daigo at debian dot org>
740
741         * [mk_rate]
742           - Split a pre-process collecting game results from csa files into
743             a new command, mk_game_results. Now, Generating players.yaml
744             requires two steps as follows:
745               % ./mk_game_results dir_of_csa_files > 00LIST
746               % ./mk_rate 00LIST > players.yaml
747               or
748               % ./mk_game_results dir_of_csa_files | ./mk_rate > players.yaml 
749             (Closes: #19454)
750
751 2009-08-06 Daigo Moriwaki <daigo at debian dot org>
752
753         * [shogi-server]
754           - A experimental new feature, codenamed Buoy: it allows players to
755             play a game starting with a specified position. First, a player
756             sets a buoy game with moves to a specific position. Then, two
757             players can play a new game with the game name.
758             New commands:
759             + %%SETBUOY <game_name> <moves> [count]
760               Set a new buoy game.
761               ex. %%SETBUOY buoy_foo-900-0 +7776FU 10
762               ex. %%SETBUOY buoy_foo-1500-0 +7776FU-3334FU
763               - game_name is a valid game name with a prefix "buoy_".
764               ex. buoy_foo-900-0
765               - moves are initial moves from the Hirate position to a
766               specific position that you want to start with.
767               ex. +7776FU-3334FU+8786FU
768               - count is an optional attribute to tell how many times the
769               game can be played (default 1). The count is decremented
770               when the game finishes. If the count reaches zero, the buoy
771               game is removed automatically by the server.
772               ex. 10
773             + %%DELETEBUOY <game_name>
774               Delete a buoy game. The only owner who set up the game is
775               allowed to delete it.
776               ex. %%DELETEBUOY buoy_foo-900-0
777               - game_name is the buoy game name that was created.
778             + %%GETBUOYCOUNT <game_name>
779               Show a current count of the buoy game or -1 for non-existing
780               games.
781
782
783 2009-07-11 Daigo Moriwaki <daigo at debian dot org>
784
785         * [shogi-server]
786           - shogi_server/command.rb: refactored commands out of player.rb.
787
788 2009-06-18 Daigo Moriwaki <daigo at debian dot org>
789
790         * [shogi-server]
791           - An empty floodgate_history.yaml caused a server error. This
792             issue has been fixed. 
793             (Closes: #15124)
794
795 2009-06-17 Daigo Moriwaki <daigo at debian dot org>
796
797         * [shogi-server]
798           - If a new game matched between two players is not started within
799             a certain time (default 120 seconds) (i.e. the agree_waiting or
800             start_waiting state lasts too long), the Server REJECTs the game.
801             (Closes: #14425)
802
803 2009-06-15 Daigo Moriwaki <daigo at debian dot org>
804
805         * [shogi-server]
806           - When a Gote player AGREEd a new game and then a Sente player
807             logged out (LOGOUT), the Gote incorrectly received a LOGOUT message 
808             from the server. Since Gote's state was not AGREEd or STARTed yet,
809             the Gote should be REJECTed. This issue has been fixed. 
810             (Closes: #17335)
811
812 2009-06-14 Daigo Moriwaki <daigo at debian dot org>
813
814         * [shogi-server]
815           - The Board could not recognize a certain pattern of
816             Oute-Sennichite. This issue has been fixed.
817             (Closes: #13966)
818
819 2009-03-22 Daigo Moriwaki <daigo at debian dot org>
820
821         * [utils/correct-bug14635.rb]
822           - Added a new file. This program corrects illegal lines introduced
823             by the #14635 bug.
824
825 2009-03-07 Daigo Moriwaki <daigo at debian dot org>
826
827         * [csa-file-filter]
828           - Improved performance.
829
830 2009-02-15 Daigo Moriwaki <daigo at debian dot org>
831
832         * [shogi-server]
833           - A duplicated comment that is the one of the previous (or older)
834             move might be erroneously recorded in a csa file. This issue has 
835             been fixed. (Closes: #15080)
836
837 2009-02-11 Daigo Moriwaki <daigo at debian dot org>
838
839         * [utils/csa-filter.rb]
840           - Added a new file. This program filters CSA files.
841
842 2009-02-01 Daigo Moriwaki <daigo at debian dot org>
843
844         * [shogi-server]
845           - The shogi-server records csa files of games in an illegal
846             format. This issue has been fixed. (Closes: #14635)
847           - A ##[MONITOR] command for showing a game result such as %TORYO
848             was not correct. This issue has been fixed.  
849
850 2009-01-13 Daigo Moriwaki <daigo at debian dot org>
851
852         * [shogi-server]
853           - It failed to proccess a game result, OuteKaihiMoreWin where a
854             checked king does not escape. This issue has been fixed.
855
856 2009-01-02 Daigo Moriwaki <daigo at debian dot org>
857
858         * [shogi-server]
859           - shogi_server/timeout_queue.rb: the timeout parameter of the
860             constructor was not respected erroneously. This issue
861             has been fixed.
862           - shogi_server/players.rb: When a player was finishing with its
863             write socket broken, there was a chance that the thread of the
864             player in the giant lock had to wait for a long time (about 20
865             seconds), which might cause threads of other players stop and 
866             time out. (Closes: #14469)
867
868 2008-12-30 Daigo Moriwaki <daigo at debian dot org>
869
870         * [mk_html]
871           - Added a new option: --footer filename, which inserts contents of 
872             the filename at the bottom of a generated page. A text specific to 
873             wdoor should be written by using this option. 
874             (Closes: #14470)
875           - It does no more depend on RDoc. RDoc::usage does not work well
876             (due to RDoc).
877
878 2008-12-28 Daigo Moriwaki <daigo at debian dot org>
879
880         * [mk_rate]
881           - Check kifu files more carefully so that files that contain
882             incomplete records are skipped.
883           - mk_rate might have failed to alloc due to out of memory. Now it
884             consumes less memory (about 200MB instead of 2GB).
885           - File names can be put into STDIN instead of specifying directory
886             names in command line arguments.
887         * [csa-file-filter]
888           - New file. It filters kifu files and is of use for a pre-filter
889             of mk_rate.
890
891 2008-12-13 Daigo Moriwaki <daigo at debian dot org>
892
893         * [shogi-server]
894           - Improved an existance check and etc. of directories specified
895             by command line options, especially in case of the daemon mode. 
896             (Closes: #14244)
897           - A rotated log file is moved to $topdir/YYYY/MM/DD.
898             (Closes: #14245)
899
900 2008-11-27 Daigo Moriwaki <daigo at debian dot org>
901
902         * [shogi-server]
903           - Added sample/*.sh for command line samples.
904
905 2008-11-24 Daigo Moriwaki <daigo at debian dot org>
906
907         * [shogi-server]
908           - Added a new option --floodgate-history, which allows users to
909             specify a file name that stores the records of games. The
910             records are taken care of when games are matched.
911
912 2008-10-18 Daigo Moriwaki <daigo at debian dot org>
913
914         * [utils/eval_graph.rb]
915           - Display time control graphs as well.
916             Thanks to Nishimura-san for this idea.
917             (Closes: #13678)
918
919 2008-10-08 Daigo Moriwaki <daigo at debian dot org>
920
921         * [shogi-server]
922           - Ruby 1.8.7 (or later) must be used. Ruby 1.8.6 is not supported.
923           - Daemon mode is available.
924           - shogi_server/piece_ky.rb is again merged with
925             shogi_server/piece.rb, then has been removed.  
926           - Added a test case, TC_usi.rb.
927
928 2008-06-30 Daigo Moriwaki <daigo at debian dot org>
929
930         * [shogi-server]
931           - Added a new option --player-log-dir, which allows users to log
932             messages that are received or sent to the wire.
933
934 2008-06-28 Daigo Moriwaki <daigo at debian dot org>
935
936         * [shogi-server]
937           - A rating comment line is now written before the first move in a
938             record file instead of after the last move, which allows other
939             applications watching a game to recognize players in the middle 
940             of the game. (Closes #12821)
941           - If a player, including a monitor, stuck at the time of sending
942             messages to the wire, which means that the giant lock was locked,
943             it might have prevented other players from processing until
944             timeout occurred. This issue has been fixed. (Closes #12555)
945
946 2008-06-27 Daigo Moriwaki <daigo at debian dot org>
947
948         * [shogi-server]
949           -  Pairing players might not have shuffled players because of
950              poor shuffling algorithm. This issue has been fixed.
951              (Closes: #12661)
952
953 2008-06-25 Daigo Moriwaki <daigo at debian dot org>
954
955         * [players_graph.rb]
956           - Check invalid arguments. (Closes: #12856)
957
958 2008-06-23 Daigo Moriwaki <daigo at debian dot org>
959
960         * [mk_rate]
961           - Added a new option: --fixed-rate and --fixed-rate-player
962             whose rate always results in that rate. (Closes: #12800)
963
964 2008-06-06 Daigo Moriwaki <daigo at debian dot org>
965
966         * [shogi-server]
967           - The source has been splited to multiple sub files.
968           - The program now depends on rubygems and activesupport.
969           - The program can reload the source files on the flight, by
970             sending a HUP signal to the server.
971           - The server log will be rotated daily.
972
973 2008-05-18 Daigo Moriwaki <daigo at debian dot org>
974
975         * [shogi-server]
976           - Last game results (win or lose) of x1 players were not
977             available on the next game. This issue has been fixed.
978             Thanks to Tomoyuki Kaneko for debugging.
979           - For draw games, "'rating" line in a .csa file was 
980             wrong (meaningless). This issue has been fixed.
981
982 2008-05-16 Daigo Moriwaki <daigo at debian dot org>
983
984         * [news]
985           - The repository has been converted from CVS to Subversion.
986
987 2008-05-13 Daigo Moriwaki <daigo at debian dot org>
988
989         * [shogi-server]
990           - Floodgate's thread could cause an error when players.yaml was
991             cleared by another program (mk_rate). This issue has been 
992             fixed.
993           - Give default values to BasicPlayer, which fixed undefined 
994             method error in Pairing.
995
996 2008-05-10 Daigo Moriwaki <daigo at debian dot org>
997
998         * [shogi-server]
999           - The server could not recognize uchifuzume as an illegal move.
1000             This bug has been fixed.
1001           - The server crashed by an undefined method error.
1002             This issue has been fixed.
1003
1004 2008-05-05 Daigo Moriwaki <daigo at debian dot org>
1005
1006         * [shogi-server]
1007           - .csa files will be located in a sub directory such as
1008             "2008/05/05/*.csa". These days, we have many games in a day. 
1009             This change will help users browse a file list.
1010
1011 2008-05-03 Daigo Moriwaki <daigo at debian dot org>
1012
1013         * [mk_html]
1014           - Show players who have accessed in the last 30 minutes with 
1015             different colors.
1016
1017 2008-04-22 Daigo Moriwaki <daigo at debian dot org>
1018
1019         * [mk_html]
1020           - When YSS was not rated on the wdoor mode, wrong rate24 scores
1021             were displayed. This issue has been fixed. Now YSS absence 
1022             results in "N/A".
1023
1024 2008-04-21 Daigo Moriwaki <daigo at debian dot org>
1025
1026         * [mk_rate]
1027           - The half-life period is now configurable.
1028             ex $ ./mk_rate --half-life 14 --half-life-ignore 7 <records>
1029
1030 2008-04-12 Daigo Moriwaki <daigo at debian dot org>
1031
1032         * [shogi-server]
1033           - Renamed variables (@id) since they caused Ruby's warning.
1034
1035 2008-04-11 Daigo Moriwaki <daigo at debian dot org>
1036
1037         * [shogi-server]
1038           - Improved a way to handle diferred moves (2008-03-24's change),
1039             based on Tomoyuki Kaneko's patch.
1040
1041 2008-04-01 Daigo Moriwaki <daigo at debian dot org>
1042
1043         * [shogi-server]
1044           - An incorrect LOGIN crashed the server. This issue has been
1045             fixed.
1046
1047 2008-03-24 Daigo Moriwaki <daigo at debian dot org>
1048
1049         * [shogi-server]
1050           - Converting characters for comments in moves caused an error. This 
1051             issue has been fixed.
1052           - If a player moves in the opponent's turn, it is illegal. But the
1053             current CSA protocol does not clearly define a way to tell so to 
1054             the players. This shogi-server internally keeps such a move in a
1055             buffer and replay it when the player of the move gets his/her 
1056             turn.
1057
1058 2008-03-16 Daigo Moriwaki <daigo at debian dot org>
1059
1060         * [shogi-server]
1061           - Erroneously, Board#to_s's current player was always Black.
1062             It caused wrong determination of sennichite since it did not
1063             care about the current player of a state. This has been fixed.
1064             Thanks Takada-san for reporting this bug.
1065
1066 2008-03-10 Daigo Moriwaki <daigo at debian dot org>
1067
1068         * [util/players-graph.rb]
1069           - Applied Kaneko-san's patch, which also shows expected-rate24
1070             rates.
1071           - Small PNG gets smaller.
1072
1073 2008-03-08 Daigo Moriwaki <daigo at debian dot org>
1074
1075         * [mk_html]
1076         - Added an option --wdoor. In this mode, a rate expected at Shogi
1077           Club 24 is calculated from YSS's rating (he is 2400 now). 
1078
1079 2008-03-04 Daigo Moriwaki <daigo at debian dot org>
1080
1081         * [mk_rate]
1082           - If the computed ratings do not stabilize, then mk_rate aborts.
1083               $ ./mk_rate dir && ./mk_rate dir > players.yaml 
1084             can avoid rewriting the invalid ratings to the file.
1085
1086 2008-02-23 Daigo Moriwaki <daigo at debian dot org>
1087
1088         * [shogi-server]
1089           - A comment is converted to EUC-JP and then written in a log.
1090             Note that this conversion guesses the input encoding. Clients
1091             are recommended to send EUC-JP compatible strings to the
1092             server.
1093
1094 2008-02-21 Daigo Moriwaki <daigo at debian dot org>
1095
1096         * [util/players-graph.rb]
1097           - Released. Draw a chart for a player's rating score.
1098
1099 2008-02-17 Daigo Moriwaki <daigo at debian dot org>
1100
1101         * [shogi-server]
1102           - An illegal teban specified for Floodgate login could crash the
1103             server. This issue has been fixed.
1104
1105 2008-02-16 Daigo Moriwaki <daigo at debian dot org>
1106
1107         * [shogi-server]
1108           - Thread.abort_on_exception is now false, meaning that 
1109             a thread's abort does not affect the others. 
1110           - The uchifuzume check did not generate promoting moves, which
1111             could crash the server with illegal moves. This issue has
1112             been fixed.
1113
1114 2008-02-14 Daigo Moriwaki <daigo at debian dot org>
1115
1116         * [shogi-server]
1117           - Added a new pairing variation, Swiss-like style. Winners at the
1118             previous games (his/her point of view, not the server's) are 
1119             paired first, and then the others are matched. This is the 
1120             default option now.
1121           - Pairing classes are located in a separate source file,
1122             pairing.rb. The file is 'load'ed each time to be used,
1123             meaning that modifying the code will be applied to a running
1124             server.
1125           - You can specify a single player who will be out of pairing
1126             when there are odd players waiting for Floodgate.
1127
1128 2008-02-13 Daigo Moriwaki <daigo at debian dot org>
1129
1130         * [shogi-server]
1131           - When there are odd players wating for Floodgate, the random
1132             pairing deletes the player who has ever played the most games.
1133
1134 2008-02-08 Daigo Moriwaki <daigo at debian dot org>
1135
1136         * [ml_html]
1137           - For the Not-Yet-Rated group, those who have not connected
1138             recently are not listed.
1139         * [shogi-server]
1140           - Floodgate's thread checks the current time each 10 secs.
1141
1142 2008-02-05 Daigo Moriwaki <daigo at debian dot org>
1143
1144         * [mk_rate] [mk_html]
1145           - Display not-yet-rated players as well.
1146         * [mk_html]
1147           - Use Yahoo! UI Library.
1148
1149 2008-02-04 Daigo Moriwaki <daigo at debian dot org>
1150
1151         * [shogi-server] [webserver]
1152           - In the daemon mode, if the specified directory was a relative
1153             path, the server could fail to start with a permission denied
1154             error. This issue has been fixed. The path is interpreted as 
1155             an absolute path before switching to daemon. 
1156           - In the daemon mode, a wrong process id was written in 
1157             '--pid-file'. This issue has been fixed. Also, the pid file
1158             will be removed when the server shuts down.
1159
1160 2008-02-03 Daigo Moriwaki <daigo at debian dot org>
1161
1162         * [shogi-server]
1163           - Game names that are recognized as the floodgate mode are now 
1164             /^floodgate-\d+-\d+$/.
1165           - Floodgate could not schedule the next time when it was the next
1166             day. This issue has been fixed.
1167
1168 2008-02-02 Daigo Moriwaki <daigo at debian dot org>
1169
1170         * [shogi-server]
1171           - Implemented a new feature, Floodgate mode, for covenience with
1172             public rating games. Now there is a special game "wdoor-900-0".
1173             Matching players for that game is scheduled each 30 minitues.
1174
1175 2007-11-03 Daigo Moriwaki <daigo at debian dot org>
1176
1177         * [mk_rate]
1178          - Support Ruby 1.8.6 patch level 111 (or higher) and GSL 1.10 (or higher).
1179            It may not work with lower verions. 
1180
1181 2007-09-06 Daigo Moriwaki <daigo at debian dot org>
1182
1183         * [shogi-server]
1184           - The logic to detect Oute-Sennichite was not complete. Both players
1185             (checking side and escaping side) may cause Oute-Sennichite. The old
1186             logic only cared for the checking player. This issue has been fixed.
1187
1188 2007-06-16  Daigo Moriwaki <daigo at debian dot org>
1189
1190         * [webserver]
1191           - Initial version. This web server is an interface between HTTP and
1192             shogi-server. Shogi-server commands will be available over HTTP. As
1193             of now %%LIST and %%WHO commands are supported.
1194         * [mk_rate]
1195           - Bumped up GAME_LIMIT (from 10) to 15 because the calculation of
1196             rates sometimes went wrong (infinite values).
1197
1198 2007-04-21  Daigo Moriwaki <daigo at debian dot org>
1199
1200         * [shogi-server]
1201           - Implemented `CHALLENGE' command, and the server will respond with
1202             `CHALLENGE ACCEPTED'. Note that this command is dummy for this server
1203             because it is only available for CSA's official testing server and does
1204             not belong to the CSA standard protocol.  Therefor, when clients receive
1205             `CHALLENGE ACCEPTED' from this server, they must ignore it.
1206           - Show revision in a start up message.
1207
1208 2007-04-01  Daigo Moriwaki <daigo at debian dot org>
1209
1210         * [shogi-server]
1211           - Implemented one of the keepalive protocol in CSA protocol; If clients
1212             send LF, the server sends back LF.
1213           - More care for socket errors.
1214
1215 2007-03-27  Daigo Moriwaki <daigo at debian dot org>
1216
1217         * [mk_rate] When there were too few games to rate players (i.e. no
1218           player to rate), mk_rate caused an error. Now it no longer shows
1219           the error.
1220
1221 2007-03-10  Daigo Moriwaki <daigo at debian dot org>
1222
1223         * [mk_html] Popup shows additional information.
1224
1225 2007-03-02  Daigo Moriwaki <daigo at debian dot org>
1226
1227         * [shogi-server]
1228           - Use WEBrick for server framework.
1229           - Daemon mode is available.
1230
1231 2007-02-26  Daigo Moriwaki <daigo at debian dot org>
1232
1233         * [shogi-server]
1234           - Failed to show usage. This issue has been fixed. 
1235           - Initial start of the server failed beacause of empty players.yaml.
1236             This issues has been fixed.
1237
1238 2007-02-18  Daigo Moriwaki <daigo at debian dot org>
1239
1240         * [mk_html]
1241           - Show groups in the order specified in players.html.
1242           - Players who gamed recently have a background color.
1243         * [mk_rate]
1244           - Implemented half-life effect. Numbers of win/lose decrease by this effect.
1245
1246 2006-11-26  Daigo Moriwaki <daigo at debian dot org>
1247
1248         * [shogi-server] Sente (gote) was able to move gote's (sente's) hand.
1249           That move should be illegal. This issue has been fixed.
1250
1251 2006-11-01  Daigo Moriwaki <daigo at debian dot org>
1252
1253         * [mk_rate] Skip "abnormal" games, which were finished because of
1254           network failure or communication error.  Recently some programs seem
1255           to have a lot of tries to connect to the Shogi Server at wdoor for
1256           debugging. We should ignore such games for a while to get a meaningful
1257           ratings.
1258
1259 2006-10-30  Daigo Moriwaki <daigo at debian dot org>
1260
1261         * [mk_rate][mk_html]
1262           - Put players into "connected" groups in order to
1263             show a correct, meaningful rating. In the group, each player has at
1264             least a game with other players.
1265           - The format of players.yaml was updated.
1266         * [shogi-server] Followed the new format of players.yaml.
1267
1268 2006-10-08  Daigo Moriwaki <daigo at debian dot org>
1269
1270         * [mk_rate] Corrected making win_loss_matrix.
1271
1272 2006-10-02  Daigo Moriwaki <daigo at debian dot org>
1273
1274         * [mk_rate] players who never win or lose are not rated in order
1275           the calculation to complete.
1276
1277 2006-09-30  Daigo Moriwaki <daigo at debian dot org>
1278
1279         * [shogi-server] The CSA mode supports the trip in a password.
1280
1281 2006-09-22  Daigo Moriwaki <daigo at debian dot org>
1282
1283         * [shogi-server] Refactored the login procedures.
1284
1285 2006-09-21  Daigo Moriwaki <daigo at debian dot org>
1286
1287         * [mk_rate] It failed parse draw games. Now this bug has been fixed.
1288         * [mk_html] Add CSS to look better.
1289
1290 2006-09-15  Daigo Moriwaki <daigo at debian dot org>
1291
1292         * [shogi-server]
1293           - Remove the trip in a password. Now the password is hashed.
1294         * [mk_rate]
1295           - Support @NORATE syntax in a name, which avoids the player is
1296             rated.
1297
1298 2006-09-09  Daigo Moriwaki <daigo at debian dot org>
1299
1300         * [shogi-server]
1301           - Support a new command, %%VERSION. It shows the server's revision#.
1302
1303 2006-09-07  Daigo Moriwaki <daigo at debian dot org>
1304
1305         * [shogi-server]
1306           - Re-design: trip is now a suffix of the password, not name.
1307           - Simplified the output of %%RATING.
1308         * [mk_rate]
1309           - Support "@" indentificaton in a name; players with same
1310             before-@-names are mapped to one.
1311
1312 2006-09-05  Daigo Moriwaki <daigo at debian dot org>
1313
1314         * [mk_rate] Fix a bug. It solves the correct rate.
1315
1316 2006-08-18  Daigo Moriwaki <daigo at debian dot org>
1317
1318         * [mk_rate] Re-design. 
1319           - Correct the equations.
1320           - Apply deaccelerated Newton method.
1321
1322 2006-08-16  Daigo Moriwaki <daigo at debian dot org>
1323
1324         * [mk_rate]
1325           - Fix a bug. Now it can see black/white players in a csa file.
1326         * [shogi-server]
1327           - Add a space in the output of %%RATING.
1328
1329 2006-08-14  Daigo Moriwaki <daigo at debian dot org>
1330
1331         * [mk_rate] Record numbers of win/loss games.
1332         * Add mk_html, which generates html from players.yaml
1333         * Fix test/test_board.rb. Now it works. 
1334         * Add test/TC_ALL.rb to run all test cases.
1335         * [shogi-server] Fix a bug. Now it can show %%RATING even if it has no
1336           rated player.
1337
1338 2006-08-11  Daigo Moriwaki <daigo at debian dot org>
1339         
1340         * Add mk_rate, which calculate rating scores.
1341
1342 2006-08-10  Daigo Moriwaki <daigo at debian dot org>
1343
1344         * Change the style of a comment line on the rated game.
1345
1346 2006-08-07  Daigo Moriwaki <daigo at debian dot org>
1347
1348         * Change the player id, which is now <name>+<hash_of_the_trip>.
1349         * Fix the max length of the login name with a trip.
1350         * Add a comment line about the rated game status in the CSA file.
1351         * Remove the rating system, which will be calculated by another
1352           program.
1353
1354 2006-08-01  Daigo Moriwaki <daigo at debian dot org>
1355
1356         * Add a command, %%RATING, to show a ranking sorted by rates.
1357
1358 2006-07-31  Daigo Moriwaki <daigo at debian dot org>
1359
1360         * Add a simple rating system.
1361
1362 2006-07-30  Daigo Moriwaki <daigo at debian dot org>
1363
1364         * Add a @move_counter in Board class, which is used by Shogi Viewer
1365           CGI.
1366
1367 2006-04-28  Daigo Moriwaki <daigo at debian dot org>
1368
1369         * Jishogi kachi declaration did not work. This bug has been fixed.
1370           Add debug lines to show a jishogi state.
1371
1372 2006-04-08  Daigo Moriwaki <daigo at debian dot org>
1373
1374         * Support CSA Protocol Version 1.1.
1375         * Change the declaration of Jishogi 1.1.
1376
1377 2006-03-10  Daigo Moriwaki <daigo at debian dot org>
1378
1379         * Kifu logs are always written in separate files.
1380         * Add a test case, test/TC_functional.rb
1381         * Some refactorings.
1382