The 'bind' configuation parameter has changed. See
[cboard.git] / NEWS
blob47090611e1782c2bff2d4c7df5d0c81084aa1bc9
1 Cboard version 0.2.0
2 --------------------
3 Quite a while since the last release, I've lost interest in the project off
4 and on but still keep at it enough to fix and add things. The most important
5 change is better SAN handling. Ambiguities are fixed along with frfr to SAN
6 conversion. There are quite a few internal changes too but unfortunately this
7 version is quite a bit slower than the last do to more functionality. I'm
8 trying to find ways to speed it up though. The PGN portion of the code has
9 been split up into a library "libchess". This allows for easy inclusion into
10 other projects when it's better tested and stable. In-game keys have changed
11 quite a bit. Press F1 to see them. Also read the manual page as configuration
12 parameters have been changed/added/removed. Here's the rest of the changes:
14 Switch from CVS to GIT.
16 Lots of FEN tag fixes when parsing, saving and editing the board.
18 When in history mode, the cursor is updated to the last position on the board.
20 Support for Unix 98 ptys.
22 Show the repeat count in the status window.
24 Added command line options -V to only validate a .pgn file, -S to save a PGN
25 formatted game and -R to save a reduced PGN formatted game. The return value
26 of cboard will be 1 if there was a parse error or 0 on success.
28 Added option -t to save custom tags from the configuration file when -S is
29 specified.
31 Added option -E to stop processing the file when a game contains a parse
32 error. Also see configuration parameter stop_on_error in the manual page.
34 A few key bindings have been removed. Press 'F1' in game for help.
36 Added human/human play. Toggle it with the 'H' key.
38 Added engine/engine play. Toggle it with the 'E' key then hit 'g'o!.
40 I've got a new email address. Write to me at bjk@luxsci.net.
42 When a piece is selected cboard will only highlight legal squares the piece
43 can move to.
45 Updated manual page. Read this because a few configuration parameters have
46 changed.
48 Added game key 'd' to show board details. Details are the enpassant square and
49 castling availability.
51 The parser now supports RAV. Moves are read into the history but the interface
52 is minimal at the moment. Saving also works but is buggy.
54 Support window resizing when in an xterm. Need at least an 80x24 terminal.
56 Support for all engines that utilize the XBoard protocol. Not very well tested
57 though. GNUChess and Crafty seem to work fine though.
59 Added configuration parameter 'engine_init' which sends a command to the
60 engine when initialized.
62 The file browser (save/load prompt) supports filters.
64 A "Loading..." window/line when a file is being loaded.
66 Added configuration parameter 'bind' which binds a key to a command to send to
67 the engine when in play mode.
69 Added key 'W' to show an engine io window.
71 New menu code. Looks better with custom colors. Type ahead searching is buggy
72 though.
74 Lots of internal, parser, validation and bug fixes.
77 CBoard version 0.1.6
78 --------------------
79 A few important save game, validation and file parser fixes.
81 Added command 't' to edit tags. You won't be prompted to edit tags anymore
82 when saving.
84 Renamed game deletion commands 'd' and 'D' to 'x' and 'X'. The delete commands
85 also accept a "range" to delete by specifying a count the one of the delete
86 commands then a direction ('<' or '>').
88 Tildes in the load/save dialog are expanded.
90 Added commands '!'-'*' and 'A'-'H' to move the cursor to the specified
91 rank/file.
93 Move numbers and tags are no longer needed in a PGN file.
95 The ncurses interface is initialized before trying to parse a file specified
96 on the command line.
98 The annotation viewing commands '[' and ']' have changed to 'V' and 'v'.
100 The next/prev move text expression keys '}' and '{' have changed to ']' and
101 '['.
103 Added game searching commands '?', '}' and '{'. These work like to move text
104 searching commands, but for roster tags instead.
106 Now parses the FEN tag. When editing tags, you can press CTRL-f to insert or
107 update the FEN tag with the current move in the move history.
109 Added command 'e' to toggle edit mode. This will allow positioning, deleting
110 ('x' command) and inserting ('I' command) of pieces. No move validation is
111 done in edit mode and may only be enabled with a fresh board ('N' or 'n'
112 commands). After leaving edit mode, a FEN tag is created. It's somewhat
113 useless right now though.
115 Redone main command keys help.
117 Added commands '_' and '+' to decrease and increase the engine depth. These
118 can take a count.
121 CBoard version 0.1.5
122 --------------------
123 The repeat count commands are now 0-9. The first non-integer is the command to
124 repeat. So now you can have more than ten as a count. Pressing ESCAPE in the
125 middle of the count will reset it (similar to VIM's repeat).
127 The 'u'ndo command can take a repeat count.
129 Replaced the black and white status windows with a Seven Tag Roster window
130 (like before). The black and white info will be in the game status window.
132 Check and checkmate recognition are working (not draw though).
134 Added history move text searching commands. '/' will prompt for a new regular
135 expression and jump to the next match, '{' and '}' will jump to the previous
136 or next match prompting for an expression if one doesn't already exist. All of
137 these commands can take a repeat count.
139 Move numbers in the history window are full move numbers now. So by default,
140 the cursor keys in history mode will jump 2 moves. Pressing SPACE in history
141 mode will toggle half-move stepping.
143 The "board_moves" color parameter has been replaced by "board_white_moves" and
144 "board_black_moves" to specify the valid move color for those squares.
147 CBoard version 0.1.4
148 --------------------
149 This release fixes a few bugs and plugs a couple memory leaks in the menu code.
150 The SAN move parser still needs quite a bit of work though when interfaced
151 with the engine, so check and end-of-game determination are on hold until that
152 gets stable. But viewing games seems alright. Beginnings of ICS support
153 (ignore the manual references as its useless right now). Hopefully the code is
154 little more readable and easier to follow now. Heres the rest of the news:
156 "make install" will install the data files and example configuration file to
157 DATADIR/cboard (/usr/local/share/cboard by default). They will be copied to
158 ~/.cboard if they cannot be found.
160 Linux runtime fixes.
162 Can load and save .Z, .gz, .zip, .bz and .bz2 compressed files. Can't append
163 to a compressed file though (for now).
165 If theres a parse error when loading a file with multiple games, CBoard will
166 keep reading the file rather than aborting.
168 When editing the "Site" tag, you can lookup country codes which are stored in
169 ~/.cboard/cc.data.
171 If a filename doesn't contain a ".", then ".pgn" is appended to it when
172 saving.
174 A few but important PGN parser fixes.
176 Tags are sorted when loading and saving.
178 Added command "d" to toggle the delete flag of the current game. Pressing "D"
179 will delete all flagged games or the current one if none are flagged. This
180 adds the configuration parameter "delete_prompt". The default is on.
182 Added configuration parameter "valid_moves" to show valid moves when a piece
183 is selected. The color can be adjusted with the "board_moves" color parameter.
184 The cursor keys will move to the associated valid move. This is still buggy
185 though.
187 Added cursor repeat commands 0..9 (zero being ten). These will work with the
188 board navigation, history browsing and game browsing keys.
190 Removed cursor movement command 'j', 'k', 'l', and ';'.
192 Added commands 'j' and 'J' to jump to a history move number or game number.
194 Added "board_window" color configuration parameter.
196 Added "engine_cmd" to specify the chess engine path, command and any
197 arguments. The default is "gnuchess xboard". Note that other commands/engines
198 haven't been tested.
201 CBoard version 0.1.3
202 --------------------
203 Can now load and save SAN move format! Still not perfect I'm sure.
205 A file browser has been added to the load/save game prompt. Pressing TAB will
206 enable it.
208 Added configuration parameter "save_directory". If set, saved games will be
209 stored here and will also be the default open location of the file browser.
211 The annotation viewing keys have changed from 'V' and 'v' to '[' and ']'.
213 Configuration parameters whose values were either "0" or "1" are now "off" or
214 "on" respectively.
216 New configuration parameter "line_graphics". If "off", then the board line
217 graphics will not be drawn.
219 The data window has been replaced by two separate white and black player
220 information windows. This adds color configuration parameters white_... and
221 black_...
223 The PGN file parser now supports "!?"/"!!"/etc. NAG format and end-of-game
224 markers.
226 When multiple games are loaded, you can choose to save all games or just the
227 current one.
229 When saving from history mode, you can save up to the current move or all
230 moves.
232 Added configuration parameter "save_prompt" and ingame command "S". When set
233 to "off", don't prompt to edit roster tags and for history save commands when
234 in history mode.
236 The ingame "N" command has changed to start a new game from scratch. The "n"
237 command starts a new game or round.
239 Added command "D" to delete game.
242 CBoard version 0.1.2
243 --------------------
244 Loading a saved game and resuming a game from previous history works now. This
245 is done by having the chess engine read a FIFO and have CBoard write to it.
246 This allows for easy game switching when more than one game has been loaded.
248 Promotions, En Passant and castling moves are recognized now.
250 Agony strings are stored in ~/.cboard/agony.data and can be disabled with a
251 configuration file option (see below).
253 Rewritten move text section in the PGN parser. Now move annotations are read
254 and written and can be viewed with the 'v' and 'V' commands in history mode.
255 This supports both move comments and NAG data (see below).
257 There is no longer a -f command line option to specify a configuration file.
258 The new configuration file is stored in the ~/.cboard directory along with a
259 few data files. The files that need to be found in this directory are:
261     config     - This is optional, CBoard will use defaults if not found.
262     nag.data   - For viewing and editing move annotations.
263     agony.data - Agony strings displayed in the status window when a capture
264                  has been made.
265     fifo       - Used for resuming games.
267 You can find the data files along with an example configuration file in the
268 'etc/' directory of the archive. You'll have to copy them over to ~/.cboard
269 yourself until I figure out a way to do it with 'make install'.
271 You can define custom colors and attributes in the configuration file. See the
272 manual page for more infomation on the syntax.
274 Added configuration parameters:
275           pgntag - Define custom tags for new games or override defaults.
276            agony - Show a random agony string on a capture.
277     historyagony - Enable or disable agony strings in history mode.
279 SAN move format is the next major thing that needs to be done. It seems like
280 I'm going in reverse order of how things should be developed, but oh well.