libchess: Make the first character of a tag name uppercase.
[cboard.git] / NEWS
blobb2448ca1d184ce97ddbcf8873e0f711d0db5962c
1 CBoard version 0.2.2
2 --------------------
3 Black opening and history mode fix.
5 Tag window and long value fix.
7 Added frfr2san.pgn to test/.
9 Increased MAX_PGN_NAG from 5 to 8.
11 The "Result" tag is determined by the move validator. Don't trust the result
12 tag from PGN import format unless it's a draw and the result couldn't be
13 determined.
15 -E command line switch fix.
17 When there is no promotion piece in the move text, promote to queen.
19 A few PGN parsing and writing fixes. RAV, NAG, comments and EOG.
21 Fix for copying the cc.data file.
23 Fix installing config.example to PREFIX/share/man/man6.
25 Added Debianization stuff.
28 Cboard version 0.2.1
29 --------------------
30 The move validator is a little more than 5 times faster. The major problem was
31 initializing each games g->b board when a file was parsed. Now g->b has
32 disappeared and a single board is used (caching). I discovered this on
33 accident, learn something new every day. Still not as fast as 0.1.6 though.
35 Switching between games will remember the cursor position and selected piece.
37 Switching playing sides will update the White and Black roster tags.
39 Castling and en passant validation fixes.
41 Resuming a game with a Black opening fixed.
43 FEN tag fix when loading a file.
45 Fixed the 'u'ndo command.
47 Cosmetic menu fix.
49 Added configuration parameter 'board_details' to enable/disable it by default.
51 Added board details indicator at the lower-right of the board window.
53 Added a move clock for both Black and White. Also added a countdown clock that
54 can be set by pressing 'C' in play mode.
56 When an ambiguous piece was pinned both the pinned piece and the other piece
57 failed validation. This has been fixed.
59 Fixed another SAN bug. If an ambiguous piece was pinned and the other was on
60 the same file the libchess would put the rank next to the piece in the move
61 text rather than the file.
63 Fixed resuming a game from a previous move in the history.
65 SIGTERM and SIGINT are caught and both will have cboard exit cleanly.
67 Black opening fix. Also when saving.
70 Cboard version 0.2.0
71 --------------------
72 Quite a while since the last release, I've lost interest in the project off
73 and on but still keep at it enough to fix and add things. The most important
74 change in this version is better SAN handling. Ambiguities are fixed along
75 with frfr to SAN conversion. There are quite a few internal changes too but
76 unfortunately this version is quite a bit slower than the last do to more
77 functionality. I'm trying to find ways to speed it up though. The PGN portion
78 of the code has been split up into a library "libchess". This allows for easy
79 inclusion into other projects. In-game keys have changed quite a bit. Press F1
80 to see them. Also read the manual page as configuration parameters have been
81 changed/added/removed. Here's the rest of the changes:
83 Switch from CVS to GIT.
85 Lots of FEN tag fixes when parsing, saving and editing the board.
87 When in history mode, the cursor is updated to the last position on the board.
89 Support for Unix 98 ptys.
91 Show the repeat count in the status window.
93 Added command line options -V to only validate a .pgn file, -S to save a PGN
94 formatted game and -R to save a reduced PGN formatted game. The return value
95 of cboard will be 1 if there was a parse error or 0 on success.
97 Added option -t to save custom tags from the configuration file when -S is
98 specified.
100 Added option -E to stop processing the file when a game contains a parse
101 error. Also see configuration parameter stop_on_error in the manual page.
103 A few key bindings have been removed. Press 'F1' in game for help.
105 Added human/human play. Toggle it with the 'H' key.
107 Added engine/engine play. Toggle it with the 'E' key then hit 'g'o!.
109 I've got a new email address. Send any bugs reports patches etc to me at
110 bjk@luxsci.net.
112 When a piece is selected cboard will only highlight legal squares the piece
113 can move to.
115 Updated manual page. Read this because a few configuration parameters have
116 changed.
118 Added game key 'd' to show board details. Details are the enpassant square and
119 castling availability.
121 The parser now supports RAV. Moves are read into the history but the interface
122 is minimal at the moment. Saving also works but is buggy.
124 Support window resizing when in an xterm. Need at least an 80x24 terminal.
126 Support for all engines that utilize the XBoard protocol. Not very well
127 tested. GNUChess and Crafty seem to work fine though.
129 Added configuration parameter 'engine_init' which sends a command to the
130 engine when initialized.
132 The file browser (save/load prompt) supports filters.
134 A "Loading..." window/line when a file is being loaded.
136 Added configuration parameter 'bind' which binds a key to a command to send to
137 the engine when in play mode. Read the manual page.
139 Added key 'W' to show an engine io window.
141 New menu code. Looks better with custom colors. Type ahead searching is buggy
142 though.
144 Lots of internal, parser, validation and bug fixes.
147 CBoard version 0.1.6
148 --------------------
149 A few important save game, validation and file parser fixes.
151 Added command 't' to edit tags. You won't be prompted to edit tags anymore
152 when saving.
154 Renamed game deletion commands 'd' and 'D' to 'x' and 'X'. The delete commands
155 also accept a "range" to delete by specifying a count the one of the delete
156 commands then a direction ('<' or '>').
158 Tildes in the load/save dialog are expanded.
160 Added commands '!'-'*' and 'A'-'H' to move the cursor to the specified
161 rank/file.
163 Move numbers and tags are no longer needed in a PGN file.
165 The ncurses interface is initialized before trying to parse a file specified
166 on the command line.
168 The annotation viewing commands '[' and ']' have changed to 'V' and 'v'.
170 The next/prev move text expression keys '}' and '{' have changed to ']' and
171 '['.
173 Added game searching commands '?', '}' and '{'. These work like to move text
174 searching commands, but for roster tags instead.
176 Now parses the FEN tag. When editing tags, you can press CTRL-f to insert or
177 update the FEN tag with the current move in the move history.
179 Added command 'e' to toggle edit mode. This will allow positioning, deleting
180 ('x' command) and inserting ('I' command) of pieces. No move validation is
181 done in edit mode and may only be enabled with a fresh board ('N' or 'n'
182 commands). After leaving edit mode, a FEN tag is created. It's somewhat
183 useless right now though.
185 Redone main command keys help.
187 Added commands '_' and '+' to decrease and increase the engine depth. These
188 can take a count.
191 CBoard version 0.1.5
192 --------------------
193 The repeat count commands are now 0-9. The first non-integer is the command to
194 repeat. So now you can have more than ten as a count. Pressing ESCAPE in the
195 middle of the count will reset it (similar to VIM's repeat).
197 The 'u'ndo command can take a repeat count.
199 Replaced the black and white status windows with a Seven Tag Roster window
200 (like before). The black and white info will be in the game status window.
202 Check and checkmate recognition are working (not draw though).
204 Added history move text searching commands. '/' will prompt for a new regular
205 expression and jump to the next match, '{' and '}' will jump to the previous
206 or next match prompting for an expression if one doesn't already exist. All of
207 these commands can take a repeat count.
209 Move numbers in the history window are full move numbers now. So by default,
210 the cursor keys in history mode will jump 2 moves. Pressing SPACE in history
211 mode will toggle half-move stepping.
213 The "board_moves" color parameter has been replaced by "board_white_moves" and
214 "board_black_moves" to specify the valid move color for those squares.
217 CBoard version 0.1.4
218 --------------------
219 This release fixes a few bugs and plugs a couple memory leaks in the menu code.
220 The SAN move parser still needs quite a bit of work though when interfaced
221 with the engine, so check and end-of-game determination are on hold until that
222 gets stable. But viewing games seems alright. Beginnings of ICS support
223 (ignore the manual references as its useless right now). Hopefully the code is
224 little more readable and easier to follow now. Heres the rest of the news:
226 "make install" will install the data files and example configuration file to
227 DATADIR/cboard (/usr/local/share/cboard by default). They will be copied to
228 ~/.cboard if they cannot be found.
230 Linux runtime fixes.
232 Can load and save .Z, .gz, .zip, .bz and .bz2 compressed files. Can't append
233 to a compressed file though (for now).
235 If theres a parse error when loading a file with multiple games, CBoard will
236 keep reading the file rather than aborting.
238 When editing the "Site" tag, you can lookup country codes which are stored in
239 ~/.cboard/cc.data.
241 If a filename doesn't contain a ".", then ".pgn" is appended to it when
242 saving.
244 A few but important PGN parser fixes.
246 Tags are sorted when loading and saving.
248 Added command "d" to toggle the delete flag of the current game. Pressing "D"
249 will delete all flagged games or the current one if none are flagged. This
250 adds the configuration parameter "delete_prompt". The default is on.
252 Added configuration parameter "valid_moves" to show valid moves when a piece
253 is selected. The color can be adjusted with the "board_moves" color parameter.
254 The cursor keys will move to the associated valid move. This is still buggy
255 though.
257 Added cursor repeat commands 0..9 (zero being ten). These will work with the
258 board navigation, history browsing and game browsing keys.
260 Removed cursor movement command 'j', 'k', 'l', and ';'.
262 Added commands 'j' and 'J' to jump to a history move number or game number.
264 Added "board_window" color configuration parameter.
266 Added "engine_cmd" to specify the chess engine path, command and any
267 arguments. The default is "gnuchess xboard". Note that other commands/engines
268 haven't been tested.
271 CBoard version 0.1.3
272 --------------------
273 Can now load and save SAN move format! Still not perfect I'm sure.
275 A file browser has been added to the load/save game prompt. Pressing TAB will
276 enable it.
278 Added configuration parameter "save_directory". If set, saved games will be
279 stored here and will also be the default open location of the file browser.
281 The annotation viewing keys have changed from 'V' and 'v' to '[' and ']'.
283 Configuration parameters whose values were either "0" or "1" are now "off" or
284 "on" respectively.
286 New configuration parameter "line_graphics". If "off", then the board line
287 graphics will not be drawn.
289 The data window has been replaced by two separate white and black player
290 information windows. This adds color configuration parameters white_... and
291 black_...
293 The PGN file parser now supports "!?"/"!!"/etc. NAG format and end-of-game
294 markers.
296 When multiple games are loaded, you can choose to save all games or just the
297 current one.
299 When saving from history mode, you can save up to the current move or all
300 moves.
302 Added configuration parameter "save_prompt" and ingame command "S". When set
303 to "off", don't prompt to edit roster tags and for history save commands when
304 in history mode.
306 The ingame "N" command has changed to start a new game from scratch. The "n"
307 command starts a new game or round.
309 Added command "D" to delete game.
312 CBoard version 0.1.2
313 --------------------
314 Loading a saved game and resuming a game from previous history works now. This
315 is done by having the chess engine read a FIFO and have CBoard write to it.
316 This allows for easy game switching when more than one game has been loaded.
318 Promotions, En Passant and castling moves are recognized now.
320 Agony strings are stored in ~/.cboard/agony.data and can be disabled with a
321 configuration file option (see below).
323 Rewritten move text section in the PGN parser. Now move annotations are read
324 and written and can be viewed with the 'v' and 'V' commands in history mode.
325 This supports both move comments and NAG data (see below).
327 There is no longer a -f command line option to specify a configuration file.
328 The new configuration file is stored in the ~/.cboard directory along with a
329 few data files. The files that need to be found in this directory are:
331     config     - This is optional, CBoard will use defaults if not found.
332     nag.data   - For viewing and editing move annotations.
333     agony.data - Agony strings displayed in the status window when a capture
334                  has been made.
335     fifo       - Used for resuming games.
337 You can find the data files along with an example configuration file in the
338 'etc/' directory of the archive. You'll have to copy them over to ~/.cboard
339 yourself until I figure out a way to do it with 'make install'.
341 You can define custom colors and attributes in the configuration file. See the
342 manual page for more infomation on the syntax.
344 Added configuration parameters:
345           pgntag - Define custom tags for new games or override defaults.
346            agony - Show a random agony string on a capture.
347     historyagony - Enable or disable agony strings in history mode.
349 SAN move format is the next major thing that needs to be done. It seems like
350 I'm going in reverse order of how things should be developed, but oh well.