OSDN Git Service

../shogi_server.rb, ../shogi_server/util.rb: Refactored mkdir_for to Mkdir.mkdir_for.
[shogi-server/shogi-server.git] / changelog
1 2010-08-03  Daigo Moriwaki <daigo at debian dot org>
2
3         * [shogi-server]
4           - sample/{check_file.rb,check_time.rb,check_time2.rb,test_time.rb}:
5             Added new files to test an issue where mtime of log files was
6             earlier than system time.
7           - shogi_server/league/floodgate_thread.rb: SetupFloodgate#start
8             now returns an instance correctly.
9           - ../shogi_server.rb, ../shogi_server/util.rb: Refactored
10             mkdir_for to Mkdir.mkdir_for.
11
12 2010-07-25  Daigo Moriwaki <daigo at debian dot org>
13
14         * [shogi-server]
15           - shogi_server/command.rb: 
16             + For an unknown error command log, an empty line is no longer logged.
17             + Commands specific to 81Dojo, starting with '%%%', are just
18               ignored instead of unknown command errors.
19           - shogi_server.rb: 
20             + Refactoring. Added test/TC_logger.rb to test
21               ShogiServer::Logger class.
22             + Fixed race condition: creating a new directory to archive
23               logs may have caused race condition, which ended up with
24               making the server unavailable. This issue has been fixed. 
25           - shogi-server:
26             + Improved fault tolerance of the server.
27
28 2010-07-23  Daigo Moriwaki <daigo at debian dot org>
29
30         * [shogi-server]
31           - shogi_server/league/floodgate_thread.rb: When the server run
32             with DEBUG mode, it ended up with an undefined variable error. 
33             This issue has been fixed.
34
35 2010-07-17  Daigo Moriwaki <daigo at debian dot org>
36
37         * [shogi-server]
38           - shogi_server.rb, shogi_server/board.rb, shogi_server/move.rb
39             - Refactoring: Board can now move_to() and move_back() a move
40               instread of deep_copy().
41
42 2010-07-11  Daigo Moriwaki <daigo at debian dot org>
43
44         * [shogi-server]
45           - shogi_server/player.rb: Set initial values to BasicPlayer's
46             instance variables.
47           - shogi_server/league.rb: Improved performance of
48             Persistant#get_players. It took about 20 seconds for a large
49             size of players (5,300 lines in players.yaml). Now it completes in an
50             instance.
51
52 2010-06-22  Daigo Moriwaki <daigo at debian dot org>
53
54         * [shogi-server]
55           - A new command line option: 
56               --floodgate-names GameStringA[,GameStringB[,...]]
57             where a game string should be a valid game name such as
58             floodgate-900-0.  
59             .
60             Note: Without this option, no floodgate games are started. If
61             you want floodgate-900-0 to run, which was default enabled in
62             previous versions, you need to spefify the game name in this new
63             option.
64           - Floodgate time configuration file:
65             You need to set starting times of floodgate groups in
66             configuration files under the top directory. Each floodgat
67             e group requires a correspoding configuration file named
68             "<game_name>.conf". The file will be re-read once just after a
69             game starts. 
70             .
71             For example, a floodgate-3600-30 game group requires
72             floodgate-3600-30.conf.  However, for floodgate-900-0 and
73             floodgate-3600-0, which were default enabled in previous
74             versions, configuration files are optional if you are happy with
75             defualt time settings.
76             File format is:
77               Line format: 
78                 # This is a comment line
79                 DoW Time
80                 ...
81               where
82                 DoW := "Sun" | "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat" |
83                        "Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" |
84                        "Friday" | "Saturday" 
85                 Time := HH:MM
86              
87               For example,
88                 Sat 13:00
89                 Sat 22:00
90                 Sun 13:00
91
92 2010-06-01  Daigo Moriwaki <daigo at debian dot org>
93
94         * [shogi-server]
95           - shogi_server/command.rb: Fixed an issue that MONITOR2OFF did not
96             work. Thanks to HIDECHI and koudayu.
97
98 2010-05-10  Daigo Moriwaki <daigo at debian dot org>
99
100         * [shogi-server]
101           - test/*.rb: Improved performance and stability of tests
102           - shogi_server/player.rb: Help the write_thread to terminate
103
104 2010-05-06  Daigo Moriwaki <daigo at debian dot org>
105
106         * [mk_rate]
107           - Previously mk_rate did not count in draw games. Now a draw game
108             is considered to weight 0.5 win and 0.5 loss. Respect
109             Inaniwa-shogi which strategically aims to draw.
110           - a new command line option, --skip-draw-games. In this mode, draw
111             games are just ignored as mk_rate previously did.
112
113 2010-04-25  Daigo Moriwaki <daigo at debian dot org>
114
115         * [shogi-server]
116           - shogi_server/player.rb:
117             Log a warning message in a case that a player closes a
118             connection suddenly.
119
120 2010-04-13  Daigo Moriwaki <daigo at debian dot org>
121
122         * [shogi-server]
123           - shogi_server/command.rb:
124             Equality of MonitorHandler class was wrong. %%MONITOROFF and
125             %%MONITOR2OFF may cause unexpected behavior. This issue has been
126             fixed. Thanks to Kota Fujiwara for reporting.
127
128 2010-03-07  Daigo Moriwaki <daigo at debian dot org>
129
130         * [shogi-server]
131           - If two sequential moves from a player are identical, the last
132             one will be ignored and a game is in play. This situation might
133             happen with human players, especially on slow network,
134             impatiently sending a move twice. 
135
136 2010-02-27  Daigo Moriwaki <daigo at debian dot org>
137
138         * [shogi-server]
139           - The server now provides more accurate time control. Previouslly,
140             a player's thinking time included a time waiting to get the giant
141             lock. This may have caused games to time up, especially, during
142             byo-yomi etc.
143
144 2010-01-22  Daigo Moriwaki <daigo at debian dot org>
145
146         * [shogi-server]
147           - Experimental feature: support handicapped games.
148             Game names that have the following prefixes are recognized as
149             handicapped games. Turn symbols "+" and "-" mean Uwate (expert)
150             and Shitate (beginner) respectively (i.e. Uwate players first).
151             "*" is not available. 
152             - hclance_
153             - hcbishop_
154             - hcrook_
155             - hcrooklance_
156             - hc2p_
157             - hc4p_
158             - hc6p_
159             - hc10p_
160
161 2010-01-16  Daigo Moriwaki <daigo at debian dot org>
162
163         * [shogi-server]
164           - shogi_server/command.rb, test/TC_command.rb
165             Proposal implementation of a new command called MONITOR2{ON,OFF}.
166             When the MONITOR2ON command is issued by a player, the server
167             immediately sends the player the entire contents of a record
168             file of the game, i.e. history of moves and so on, at that time.
169             Then, the server will forward subsequent moves like they are
170             appended to the record file.
171           - Behavior changed: A player monitoring a game with MONITORON will
172             not receive Game#show again when a gaming player resigns (:toryo).
173
174 2010-01-10  Daigo Moriwaki <daigo at debian dot org>
175
176         * Converted the repository from Subversion to Git.
177
178 2009-12-26 Daigo Moriwaki <daigo at debian dot org> 
179
180         * [shogi-server]
181           - The server can now provide multiple floodgate modes such as
182             floodgate-900-0 and floodgate-3600-0.
183
184 2009-12-25 Daigo Moriwaki <daigo at debian dot org>
185
186         * [shogi-server]
187           - shogi-server: The command line option --floodgate-history has
188             been deprectated. The server will decide history file names such
189             as 'floodgate_history_900_0.yaml' and
190             'floodgate_history_3600_0.yaml', and then put them in the top
191             directory.
192
193 2009-12-20 Daigo Moriwaki <daigo at debian dot org>
194
195         * [shogi-server]
196           - shogi_server/player.rb: Added new methods: is_human? and
197             is_computer?. 
198             A human player is recommened to use a name ending with '_human'.  
199             ex. 'hoge_human', 'hoge_human@p1'
200           - shogi_server/pairing.rb: Added a new class:
201             StartGameWithoutHumans, which tries to make pairs trying to
202             avoid a human-human match. This is now enabled instread of the
203             previous class: StartGame.
204           - shogi-server, shogi_server/league/floodgate.rb:
205             Changed the argument of Floodgate.new.
206
207 2009-12-04 Daigo Moriwaki <daigo at debian dot org>
208
209         * [shogi-server]
210           - The HUP signal is not supported by Ruby on Windows.
211
212 2009-11-11 Daigo Moriwaki <daigo at debian dot org>
213
214         * [mk_rate]
215           - Added a new command line option: --base-date. You can specify a
216             base date to calculate rating scores. Games in the `future' are
217             ignored for the calculation.
218
219 2009-11-10 Daigo Moriwaki <daigo at debian dot org>
220
221         * [shogi-server]
222           - The server logs a result of each game to a file named '00LIST',
223             which will be used to generate players.yaml. If the file does
224             not exist, the server will create one automatically.
225             Instruction to use the game result list file:
226             1. Make a list of game results from exisiting CSA files with
227                mk_game_results
228                % ./mk_game_results dir_of_csa_files > 00LIST
229             2. Run the server. It appends a result of each game to
230                '00LIST' when the game finishes.
231             3. From the list of game results, calculate rating scores of
232                players.
233                % ./mk_rate 00LIST > players.yaml
234
235 2009-11-08 Daigo Moriwaki <daigo at debian dot org>
236
237         * [mk_rate]
238           - Split a pre-process collecting game results from csa files into
239             a new command, mk_game_results. Now, Generating players.yaml
240             requires two steps as follows:
241               % ./mk_game_results dir_of_csa_files > 00LIST
242               % ./mk_rate 00LIST > players.yaml
243               or
244               % ./mk_game_results dir_of_csa_files | ./mk_rate > players.yaml 
245             (Closes: #19454)
246
247 2009-08-06 Daigo Moriwaki <daigo at debian dot org>
248
249         * [shogi-server]
250           - A experimental new feature, codenamed Buoy: it allows players to
251             play a game starting with a specified position. First, a player
252             sets a buoy game with moves to a specific position. Then, two
253             players can play a new game with the game name.
254             New commands:
255             + %%SETBUOY <game_name> <moves> [count]
256               Set a new buoy game.
257               ex. %%SETBUOYGAME buoy_foo-900-0 +7776FU 10
258               ex. %%SETBUOYGAME buoy_foo-1500-0 +7776FU-3334FU
259               - game_name is a valid game name with a prefix "buoy_".
260               ex. buoy_foo-900-0
261               - moves are initial moves from the Hirate position to a
262               spcific position that you want to start with.
263               ex. +7776FU-3334FU+8786FU
264               - count is an optional attribute to tell how many times the
265               game can be played (default 1). The count is decremented
266               when the game finishes. If the count reaches zero, the buoy
267               game is removed automatically by the server.
268               ex. 10
269             + %%DELETEBUOY <game_name>
270               Delete a buoy game. The only owner who set up the game is
271               allowed to delete it.
272               ex. %%DELETEBUOY buoy_foo-900-0
273               - game_name is the buoy game name that was created.
274             + %%GETBUOYCOUNT <game_name>
275               Show a current count of the buoy game or -1 for non-existing
276               games.
277
278
279 2009-07-11 Daigo Moriwaki <daigo at debian dot org>
280
281         * [shogi-server]
282           - shogi_server/command.rb: refactored commands out of player.rb.
283
284 2009-06-18 Daigo Moriwaki <daigo at debian dot org>
285
286         * [shogi-server]
287           - An emtpy floodgate_history.yaml caused a server error. This
288             issue has been fixed. 
289             (Closes: #15124)
290
291 2009-06-17 Daigo Moriwaki <daigo at debian dot org>
292
293         * [shogi-server]
294           - If a new game matched between two players is not started within
295             a certain time (default 120 seconds) (i.e. the agree_waiting or
296             start_waiting state lasts too long), the Server REJECTs the game.
297             (Closes: #14425)
298
299 2009-06-15 Daigo Moriwaki <daigo at debian dot org>
300
301         * [shogi-server]
302           - When a Gote player AGREEd a new game and then a Sente player
303             logged out (LOGOUT), the Gote incorrectly received a LOGOUT message 
304             from the server. Since Gote's state was not AGREEd or STARTed yet,
305             the Gote should be REJECTed. This issue has been fixed. 
306             (Closes: #17335)
307
308 2009-06-14 Daigo Moriwaki <daigo at debian dot org>
309
310         * [shogi-server]
311           - The Board could not recognize a certain pattern of
312             Oute-Sennichite. This issue has been fixed.
313             (Closes: #13966)
314
315 2009-03-22 Daigo Moriwaki <daigo at debian dot org>
316
317         * [utils/correct-bug14635.rb]
318           - Added a new file. This program corrects illegal lines introduced
319             by the #14635 bug.
320
321 2009-03-07 Daigo Moriwaki <daigo at debian dot org>
322
323         * [csa-file-filter]
324           - Improved performance.
325
326 2009-02-15 Daigo Moriwaki <daigo at debian dot org>
327
328         * [shogi-server]
329           - A duplicated comment that is the one of the previous (or older)
330             move might be erroneously recorded in a csa file. This issue has 
331             been fixed. (Closes: #15080)
332
333 2009-02-11 Daigo Moriwaki <daigo at debian dot org>
334
335         * [utils/csa-filter.rb]
336           - Added a new file. This program filters CSA files.
337
338 2009-02-01 Daigo Moriwaki <daigo at debian dot org>
339
340         * [shogi-server]
341           - The shogi-server records csa files of games in an illegal
342             format. This issue has been fixed. (Closes: #14635)
343           - A ##[MONITOR] command for showing a game result such as %TORYO
344             was not correct. This issue has been fixed.  
345
346 2009-01-13 Daigo Moriwaki <daigo at debian dot org>
347
348         * [shogi-server]
349           - It failed to proccess a game result, OuteKaihiMoreWin where a
350             checked king does not escape. This issue has been fixed.
351
352 2009-01-02 Daigo Moriwaki <daigo at debian dot org>
353
354         * [shogi-server]
355           - shogi_server/timeout_queue.rb: the timeout parameter of the
356             constructor was not respected erroneously. This issue
357             has been fixed.
358           - shogi_server/players.rb: When a player was finishing with its
359             write socket broken, there was a chance that the thread of the
360             player in the giant lock had to wait for a long time (about 20
361             seconds), which might cause threads of other players stop and 
362             time out. (Closes: #14469)
363
364 2008-12-30 Daigo Moriwaki <daigo at debian dot org>
365
366         * [mk_html]
367           - Added a new option: --footer filename, which inserts contents of 
368             the filename at the bottom of a genrated page. A text specific to 
369             wdoor should be written by using this option. 
370             (Closes: #14470)
371           - It does no more depend on RDoc. RDoc::usage does not work well
372             (due to RDoc).
373
374 2008-12-28 Daigo Moriwaki <daigo at debian dot org>
375
376         * [mk_rate]
377           - Check kifu files more carefully so that files that contain
378             incomplete records are skipped.
379           - mk_rate might have failed to alloc due to out of memory. Now it
380             consumes less memory (about 200MB instead of 2GB).
381           - File names can be put into STDIN instead of specifying directory
382             names in command line arguments.
383         * [csa-file-filter]
384           - New file. It filters kifu files and is of use for a pre-filter
385             of mk_rate.
386
387 2008-12-13 Daigo Moriwaki <daigo at debian dot org>
388
389         * [shogi-server]
390           - Improved an existance check and etc. of directories specified
391             by command line options, expecially in case of the daemon mode. 
392             (Closes: #14244)
393           - A lotated log file is moved to $topdir/YYYY/MM/DD.
394             (Closes: #14245)
395
396 2008-11-27 Daigo Moriwaki <daigo at debian dot org>
397
398         * [shogi-server]
399           - Added sample/*.sh for command line samples.
400
401 2008-11-24 Daigo Moriwaki <daigo at debian dot org>
402
403         * [shogi-server]
404           - Added a new option --floodgate-history, which allows users to
405             specify a file name that stores the records of games. The
406             records are taken care of when games are matched.
407
408 2008-10-18 Daigo Moriwaki <daigo at debian dot org>
409
410         * [utils/eval_graph.rb]
411           - Display time control graphs as well.
412             Thanks to Nishimura-san for this idea.
413             (Closes: #13678)
414
415 2008-10-08 Daigo Moriwaki <daigo at debian dot org>
416
417         * [shogi-server]
418           - Ruby 1.8.7 (or later) must be used. Ruby 1.8.6 is not supported.
419           - Daemon mode is available.
420           - shogi_server/piece_ky.rb is again merged with
421             shogi_server/piece.rb, then has been removed.  
422           - Added a test case, TC_usi.rb.
423
424 2008-06-30 Daigo Moriwaki <daigo at debian dot org>
425
426         * [shogi-server]
427           - Added a new option --player-log-dir, which allows users to log
428             messages that are received or sent to the wire.
429
430 2008-06-28 Daigo Moriwaki <daigo at debian dot org>
431
432         * [shogi-server]
433           - A rating comment line is now written before the first move in a
434             record file instead of after the last move, which allows other
435             applications watching a game to recognize players in the middle 
436             of the game. (Closes #12821)
437           - If a player, including a monitor, stuck at the time of sending
438             messages to the wire, which means that the giant lock was locked,
439             it might have prevented other players from processing until
440             timeout occurred. This issue has been fixed. (Closes #12555)
441
442 2008-06-27 Daigo Moriwaki <daigo at debian dot org>
443
444         * [shogi-server]
445           -  Pairing players might not have shuffled players because of
446              poor shuffling algorithm. This issue has been fixed.
447              (Closes: #12661)
448
449 2008-06-25 Daigo Moriwaki <daigo at debian dot org>
450
451         * [players_graph.rb]
452           - Check invalid arguments. (Closes: #12856)
453
454 2008-06-23 Daigo Moriwaki <daigo at debian dot org>
455
456         * [mk_rate]
457           - Added a new option: --fixed-rate and --fixed-rate-player
458             whose rate always results in that rate. (Closes: #12800)
459
460 2008-06-06 Daigo Moriwaki <daigo at debian dot org>
461
462         * [shogi-server]
463           - The source has been splited to multiple sub files.
464           - The program now depends on rubygems and activesupport.
465           - The program can reload the source files on the flight, by
466             sending a HUP signal to the server.
467           - The server log will be rotated daily.
468
469 2008-05-18 Daigo Moriwaki <daigo at debian dot org>
470
471         * [shogi-server]
472           - Last game results (win or lose) of x1 players were not
473             available on the next game. This issue has been fixed.
474             Thanks to Tomoyuki Kaneko for debugging.
475           - For draw games, "'rating" line in a .csa file was 
476             wrong (meaningless). This issue has been fixed.
477
478 2008-05-16 Daigo Moriwaki <daigo at debian dot org>
479
480         * [news]
481           - The repository has been converted from CVS to Subversion.
482
483 2008-05-13 Daigo Moriwaki <daigo at debian dot org>
484
485         * [shogi-server]
486           - Floodgate's thread could cause an error when players.yaml was
487             cleared by another program (mk_rate). This issue has been 
488             fixed.
489           - Give default values to BasicPlayer, which fixed undefined 
490             method error in Pairing.
491
492 2008-05-10 Daigo Moriwaki <daigo at debian dot org>
493
494         * [shogi-server]
495           - The server could not recognize uchifuzume as an illegal move.
496             This bug has been fixed.
497           - The server crashed by an undefined method error.
498             This issue has been fixed.
499
500 2008-05-05 Daigo Moriwaki <daigo at debian dot org>
501
502         * [shogi-server]
503           - .csa files will be located in a sub directory such as
504             "2008/05/05/*.csa". Thease days, we have many games in a day. 
505             This change will help users browse a file list.
506
507 2008-05-03 Daigo Moriwaki <daigo at debian dot org>
508
509         * [mk_html]
510           - Show players who have accessed in the last 30 minutes with 
511             different colors.
512
513 2008-04-22 Daigo Moriwaki <daigo at debian dot org>
514
515         * [mk_html]
516           - When YSS was not rated on the wdoor mode, wrong rate24 scores
517             were displayed. This issue has been fixed. Now YSS absence 
518             results in "N/A".
519
520 2008-04-21 Daigo Moriwaki <daigo at debian dot org>
521
522         * [mk_rate]
523           - The half-life period is now configurable.
524             ex $ ./mk_rate --half-life 14 --half-life-ignore 7 <records>
525
526 2008-04-12 Daigo Moriwaki <daigo at debian dot org>
527
528         * [shogi-server]
529           - Renamed variables (@id) since they caused Ruby's warning.
530
531 2008-04-11 Daigo Moriwaki <daigo at debian dot org>
532
533         * [shogi-server]
534           - Improved a way to handle diferred moves (2008-03-24's change),
535             based on Tomoyuki Kaneko's patch.
536
537 2008-04-01 Daigo Moriwaki <daigo at debian dot org>
538
539         * [shogi-server]
540           - An incorrect LOGIN crashed the server. This issue has been
541             fixed.
542
543 2008-03-24 Daigo Moriwaki <daigo at debian dot org>
544
545         * [shogi-server]
546           - Converting characters for comments in moves caused an error. This 
547             issue has been fixed.
548           - If a player moves in the opponent's turn, it is illegal. But the
549             current CSA protocol does not clearly define a way to tell so to 
550             the players. This shogi-server internally keeps such a move in a
551             buffer and replay it when the player of the move gets his/her 
552             turn.
553
554 2008-03-16 Daigo Moriwaki <daigo at debian dot org>
555
556         * [shogi-server]
557           - Erroneously, Board#to_s's current player was always Black.
558             It caused wrong determination of sennichite since it did not
559             care about the current player of a state. This has been fixed.
560             Thanks Takada-san for reporting this bug.
561
562 2008-03-10 Daigo Moriwaki <daigo at debian dot org>
563
564         * [util/players-graph.rb]
565           - Applied Kaneko-san's patch, which also shows expected-rate24
566             rates.
567           - Small PNG gets smaller.
568
569 2008-03-08 Daigo Moriwaki <daigo at debian dot org>
570
571         * [mk_html]
572         - Added an option --wdoor. In this mode, a rate expected at Shogi
573           Club 24 is calculated from YSS's rating (he is 2400 now). 
574
575 2008-03-04 Daigo Moriwaki <daigo at debian dot org>
576
577         * [mk_rate]
578           - If the computed ratings do not stabilize, then mk_rate aborts.
579               $ ./mk_rate dir && ./mk_rate dir > players.yaml 
580             can avoid rewriting the invalid ratings to the file.
581
582 2008-02-23 Daigo Moriwaki <daigo at debian dot org>
583
584         * [shogi-server]
585           - A comment is converted to EUC-JP and then written in a log.
586             Note that this conversion guesses the input encoding. Clients
587             are recommended to send EUC-JP compatible strings to the
588             server.
589
590 2008-02-21 Daigo Moriwaki <daigo at debian dot org>
591
592         * [util/players-graph.rb]
593           - Released. Draw a chart for a player's rating score.
594
595 2008-02-17 Daigo Moriwaki <daigo at debian dot org>
596
597         * [shogi-server]
598           - An illegal teban specified for Floodgate login could crash the
599             server. This issue has been fixed.
600
601 2008-02-16 Daigo Moriwaki <daigo at debian dot org>
602
603         * [shogi-server]
604           - Thread.abort_on_exception is now false, meaning that 
605             a thread's abort does not affect the others. 
606           - The uchifuzume check did not generate promoting moves, which
607             could crash the server with illegal moves. This issue has
608             been fixed.
609
610 2008-02-14 Daigo Moriwaki <daigo at debian dot org>
611
612         * [shogi-server]
613           - Added a new pairing variation, Swiss-like style. Winners at the
614             previous games (his/her point of view, not the server's) are 
615             paired first, and then the others are matched. This is the 
616             default option now.
617           - Pairing classes are located in a separate source file,
618             pairing.rb. The file is 'load'ed each time to be used,
619             meaning that modifying the code will be applied to a running
620             server.
621           - You can specify a single player who will be out of pairing
622             when there are odd players waiting for Floodgate.
623
624 2008-02-13 Daigo Moriwaki <daigo at debian dot org>
625
626         * [shogi-server]
627           - When there are odd players wating for Floodgate, the random
628             pairing deletes the player who has ever played the most games.
629
630 2008-02-08 Daigo Moriwaki <daigo at debian dot org>
631
632         * [ml_html]
633           - For the Not-Yet-Rated group, those who have not connected
634             recently are not listed.
635         * [shogi-server]
636           - Floodgate's thread checks the current time each 10 secs.
637
638 2008-02-05 Daigo Moriwaki <daigo at debian dot org>
639
640         * [mk_rate] [mk_html]
641           - Display not-yet-rated players as well.
642         * [mk_html]
643           - Use Yahoo! UI Library.
644
645 2008-02-04 Daigo Moriwaki <daigo at debian dot org>
646
647         * [shogi-server] [webserver]
648           - In the daemon mode, if the specified directory was a relative
649             path, the server could fail to start with a permission denied
650             error. This issue has been fixed. The path is interpreted as 
651             an absolute path before switching to daemon. 
652           - In the daemon mode, a wrong process id was written in 
653             '--pid-file'. This issue has been fixed. Also, the pid file
654             will be removed when the server shuts down.
655
656 2008-02-03 Daigo Moriwaki <daigo at debian dot org>
657
658         * [shogi-server]
659           - Game names that are recognized as the floodgate mode are now 
660             /^floodgate-\d+-\d+$/.
661           - Floodgate could not schedule the next time when it was the next
662             day. This issue has been fixed.
663
664 2008-02-02 Daigo Moriwaki <daigo at debian dot org>
665
666         * [shogi-server]
667           - Implemented a new feature, Floodgate mode, for covenience with
668             public rating games. Now there is a special game "wdoor-900-0".
669             Matching players for that game is scheduled each 30 minitues.
670
671 2007-11-03 Daigo Moriwaki <daigo at debian dot org>
672
673         * [mk_rate]
674          - Support Ruby 1.8.6 patch level 111 (or higher) and GSL 1.10 (or higher).
675            It may not work with lower verions. 
676
677 2007-09-06 Daigo Moriwaki <daigo at debian dot org>
678
679         * [shogi-server]
680           - The logic to detect Oute-Sennichite was not complete. Both players
681             (checking side and escaping side) may cause Oute-Sennichite. The old
682             logic only cared for the checking player. This issue has been fixed.
683
684 2007-06-16  Daigo Moriwaki <daigo at debian dot org>
685
686         * [webserver]
687           - Initial version. This web server is an interface between HTTP and
688             shogi-server. Shogi-server commands will be available over HTTP. As
689             of now %%LIST and %%WHO commands are supported.
690         * [mk_rate]
691           - Bumped up GAME_LIMIT (from 10) to 15 because the calculation of
692             rates sometimes went wrong (infinite values).
693
694 2007-04-21  Daigo Moriwaki <daigo at debian dot org>
695
696         * [shogi-server]
697           - Implemented `CHALLENGE' command, and the server will respond with
698             `CHALLENGE ACCEPTED'. Note that this command is dummy for this server
699             because it is only available for CSA's official testing server and does
700             not belong to the CSA standard protocol.  Therefor, when clients receive
701             `CHALLENGE ACCEPTED' from this server, they must ignore it.
702           - Show revision in a start up message.
703
704 2007-04-01  Daigo Moriwaki <daigo at debian dot org>
705
706         * [shogi-server]
707           - Implemented one of the keepalive protocol in CSA protocol; If clients
708             send LF, the server sends back LF.
709           - More care for socket errors.
710
711 2007-03-27  Daigo Moriwaki <daigo at debian dot org>
712
713         * [mk_rate] When there were too few games to rate players (i.e. no
714           player to rate), mk_rate caused an error. Now it no longer shows
715           the error.
716
717 2007-03-10  Daigo Moriwaki <daigo at debian dot org>
718
719         * [mk_html] Popup shows additional information.
720
721 2007-03-02  Daigo Moriwaki <daigo at debian dot org>
722
723         * [shogi-server]
724           - Use WEBrick for server framework.
725           - Daemon mode is available.
726
727 2007-02-26  Daigo Moriwaki <daigo at debian dot org>
728
729         * [shogi-server]
730           - Failed to show usage. This issue has been fixed. 
731           - Initial start of the server failed beacause of empty players.yaml.
732             This issues has been fixed.
733
734 2007-02-18  Daigo Moriwaki <daigo at debian dot org>
735
736         * [mk_html]
737           - Show groups in the order specified in players.html.
738           - Players who gamed recently have a background color.
739         * [mk_rate]
740           - Implemented half-life effect. Numbers of win/lose decrease by this effect.
741
742 2006-11-26  Daigo Moriwaki <daigo at debian dot org>
743
744         * [shogi-server] Sente (gote) was able to move gote's (sente's) hand.
745           That move should be illegal. This issue has been fixed.
746
747 2006-11-01  Daigo Moriwaki <daigo at debian dot org>
748
749         * [mk_rate] Skip "abnormal" games, which were finished because of
750           network failure or communication error.  Recently some programs seem
751           to have a lot of tries to connect to the Shogi Server at wdoor for
752           debugging. We should ignore such games for a while to get a meaningful
753           ratings.
754
755 2006-10-30  Daigo Moriwaki <daigo at debian dot org>
756
757         * [mk_rate][mk_html]
758           - Put players into "connected" groups in order to
759             show a correct, meaningful rating. In the group, each player has at
760             least a game with other players.
761           - The format of players.yaml was updated.
762         * [shogi-server] Followed the new format of players.yaml.
763
764 2006-10-08  Daigo Moriwaki <daigo at debian dot org>
765
766         * [mk_rate] Corrected making win_loss_matrix.
767
768 2006-10-02  Daigo Moriwaki <daigo at debian dot org>
769
770         * [mk_rate] players who never win or lose are not rated in order
771           the calculation to complete.
772
773 2006-09-30  Daigo Moriwaki <daigo at debian dot org>
774
775         * [shogi-server] The CSA mode supports the trip in a password.
776
777 2006-09-22  Daigo Moriwaki <daigo at debian dot org>
778
779         * [shogi-server] Refactored the login procedures.
780
781 2006-09-21  Daigo Moriwaki <daigo at debian dot org>
782
783         * [mk_rate] It failed parse draw games. Now this bug has been fixed.
784         * [mk_html] Add CSS to look better.
785
786 2006-09-15  Daigo Moriwaki <daigo at debian dot org>
787
788         * [shogi-server]
789           - Remove the trip in a password. Now the password is hashed.
790         * [mk_rate]
791           - Support @NORATE syntax in a name, which avoids the player is
792             rated.
793
794 2006-09-09  Daigo Moriwaki <daigo at debian dot org>
795
796         * [shogi-server]
797           - Support a new command, %%VERSION. It shows the server's revision#.
798
799 2006-09-07  Daigo Moriwaki <daigo at debian dot org>
800
801         * [shogi-server]
802           - Re-design: trip is now a suffix of the password, not name.
803           - Simplified the output of %%RATING.
804         * [mk_rate]
805           - Support "@" indentificaton in a name; players with same
806             before-@-names are mapped to one.
807
808 2006-09-05  Daigo Moriwaki <daigo at debian dot org>
809
810         * [mk_rate] Fix a bug. It solves the correct rate.
811
812 2006-08-18  Daigo Moriwaki <daigo at debian dot org>
813
814         * [mk_rate] Re-design. 
815           - Correct the equations.
816           - Apply deaccelerated Newton method.
817
818 2006-08-16  Daigo Moriwaki <daigo at debian dot org>
819
820         * [mk_rate]
821           - Fix a bug. Now it can see black/white players in a csa file.
822         * [shogi-server]
823           - Add a space in the output of %%RATING.
824
825 2006-08-14  Daigo Moriwaki <daigo at debian dot org>
826
827         * [mk_rate] Record numbers of win/loss games.
828         * Add mk_html, which generates html from players.yaml
829         * Fix test/test_board.rb. Now it works. 
830         * Add test/TC_ALL.rb to run all test cases.
831         * [shogi-server] Fix a bug. Now it can show %%RATING even if it has no
832           rated player.
833
834 2006-08-11  Daigo Moriwaki <daigo at debian dot org>
835         
836         * Add mk_rate, which calculate rating scores.
837
838 2006-08-10  Daigo Moriwaki <daigo at debian dot org>
839
840         * Change the style of a comment line on the rated game.
841
842 2006-08-07  Daigo Moriwaki <daigo at debian dot org>
843
844         * Change the player id, which is now <name>+<hash_of_the_trip>.
845         * Fix the max length of the login name with a trip.
846         * Add a comment line about the rated game status in the CSA file.
847         * Remove the rating system, which will be calculated by another
848           program.
849
850 2006-08-01  Daigo Moriwaki <daigo at debian dot org>
851
852         * Add a command, %%RATING, to show a ranking sorted by rates.
853
854 2006-07-31  Daigo Moriwaki <daigo at debian dot org>
855
856         * Add a simple rating system.
857
858 2006-07-30  Daigo Moriwaki <daigo at debian dot org>
859
860         * Add a @move_counter in Board class, which is used by Shogi Viewer
861           CGI.
862
863 2006-04-28  Daigo Moriwaki <daigo at debian dot org>
864
865         * Jishogi kachi declaration did not work. This bug has been fixed.
866           Add debug lines to show a jishogi state.
867
868 2006-04-08  Daigo Moriwaki <daigo at debian dot org>
869
870         * Support CSA Protocol Version 1.1.
871         * Change the declaration of Jishogi 1.1.
872
873 2006-03-10  Daigo Moriwaki <daigo at debian dot org>
874
875         * Kifu logs are always written in separate files.
876         * Add a test case, test/TC_functional.rb
877         * Some refactorings.
878