update NEWS file
[xboard.git] / NEWS
1 ** Version 4.8.0 **
2
3    (see http://www.gnu.org/software/xboard/whats_new/4.8.0/ )
4
5    * New features in this release
6     * Resuming saved unfinished games
7     * Setting up positions more easily
8     * Bitbase adjudication
9     * Showing tablebase hits
10     * A new ICS window
11     * Recalling board themes (XBoard)
12     * Playing moves by clicking them
13     * Fonts in the XBoard GTK build
14     * Using the mousewheel (XBoard)
15     * Displaying a blunder graph
16     * Slicing up a PGN database
17     * Auto-install of engines
18
19    * New variant support
20     * ASEAN Chess
21     * Chu Shogi
22     * Mighty Lion
23     * Highlighting squares on engine command
24     * Let the engine finish a user move
25     * Non-standard variant names
26     * Fischer castling in any variant
27     * Knowing the moves of unknown pieces
28
29    * Fixed bugs
30     * Fix crash on using some Browse buttons in dialogs of the GTK
31       build.
32     * Fix buffer overflow in PGN parser, when all lines end in
33       comments.
34     * Fix crash on specifying non-existent board texture.
35     * Prevent crash on double-click in XB Game List Tags dialog.
36     * Fix the auto-display comment control in the General Options
37       dialog of WinBoard, which was ignored.
38     * Fix adjusting clocks by clicking them in Xaw build.
39     * Fix zooming of Evaluation Graph XB with mousewheel, which was
40       not working at all.
41     * Fix sticky-windows feature WB for Windows 8, where it did not
42       work at all.
43     * WinBoard's seek graph is now sized to also cover any board rim.
44     * Key bindings XB for non menu items are no longer ignored.
45     * Set castling rights correctly after loading of game file from
46       command line.
47     * Allow castling and e.p. moves to be edited into opening book
48       (and prevent their disappearance from it).
49     * The sorting of engine output was made more robust against
50       engines that send thinking output on fail lows.
51     * Fix node-count display, which was clipped to 32 bits.
52     * Suppress board-size oscillations in GTK build.
53     * Fixed detection of screen size in GTK.  (This is a mixed
54       blessing, as now it picks the largest possible window size, and
55       in GTK interactive down-sizing is not possible.)
56     * Fix mode highlighting after refusal of Two Machines mode because
57       2nd engine did not support variant.
58     * Blow up textures that are too small.
59     * Ignore invalid color specs in stead of treating them as black
60       (important because Cairo does not understand old xpm color
61       names).
62     * Prevent XB and WB from becoming unresponsive during lengthy
63       tasks such as book building.
64     * Fix slowdown of WB during loading of huge PGN files due to
65       Game-List window update.
66     * Limit width of menu bar for small board sizes in GTK build.
67     * Improve the code to kill rogue engines in XB.
68     * Drawing of pieces outside the board (in maximaized windows),
69       which left lots of debris, is now suppressed.
70     * Make WB window sizing handle multiple screens.
71     * 50-move counter is no longer reset on Chess960 castlings.
72     * Fix legality testing of A-side castling in FRC (which was
73       allowed with Rook on a- and blocker on b-file).
74     * Fixed piece ID of Falcon in Falcon Chess, which was written as
75       '.' and could not be selected on promotion.
76     * Fix cross-edge e.p. captures in Cylinder Chess (which was not
77       recognized as e.p.).
78     * Fix animation of Seirawan Chess castling + gating at Rook
79       square, which made Rook disappear.
80     * Fix adjudication of stalemates in variant Giveaway.
81
82
83 ** Version 4.7.3 **
84
85    (see http://www.gnu.org/software/xboard/whats_new/4.7.3/ )
86
87    bugfix release for 4.7.2
88
89    * Fix buffer overflow in parser on long PGN with scores
90    * Allow castling and e.p. capture moves to survive when editing opening book
91    * Fix node-count overflow in engine output
92    * Better sorting of fail-low lines in engine output
93    * Fix Chess960 a-side castling legality check
94    * Fix position search in Chess960
95    * Fix adjudication of Giveaway stalemates
96    * Adapt WinBoard window positioning to work with multiple screens
97    * Cure some weirdness in XBoard when dragging pieces outside the board
98    * Some dialog layout improvements to facilitate internationalization
99    * Fix crash on using some dialog Browse buttons in GTK version
100    * Connect manual menu item work in GTK version
101    * Put code for OS X integration in the GTK version
102
103 ** Version 4.7.2 **
104
105    (see http://www.gnu.org/software/xboard/whats_new/4.7.2/ )
106
107    bugfix release for 4.7.1
108
109    * Make PGN parser immune to unprotected time stamps
110    * Fix book creation
111    * Fix GUI book after setup position
112    * Allow drops / promotions/ deferrals to be edited into book
113    * Allow entry of negative numbers in spin control (WB)
114    * Fix grabbing of selected piece
115    * Fix initial board sizing WB
116    * Fix -zippyVariants option
117
118
119 ** Version 4.7.1 **
120
121    (see http://www.gnu.org/software/xboard/whats_new/4.7.1/ )
122
123    bugfix release for 4.7.0
124
125    * updated translations
126    * fixed texinfo 5.0 problems
127    * Work-around for Xt selection bug
128    * Add -backupSettingsFile option
129    * Make skipping of unknown option smarter
130    * Let popping up of WinBoard chatbox for channel open it
131    * Fix vertical sizing of GTK board
132    * Fix buffer overflow in feature parsing
133    * Accept setup command for non-standard board size
134    * Fix fatal error on unsupported board size
135    * Fix GTK box popup
136    * Let XBoard -autoBox option also affect move type-in
137    * Fix spurious popup after batch-mode Analyze Game
138    * Fix saving of analyzed game
139    * Provide compatibility with Alien Edition setup command
140    * Fix quoting of book name in tourney file
141    * Fix disappearence of pieces that were moved illegally
142    * Fix horrible bug in reading scores from PGN
143    * Print score of final position in Analyze Game
144    * Fix GTK SetInsertPos
145    * Fix scrolling of Chat Box
146    * Make Chat Box window obey -topLevel option
147    * Fix Xaw file browser
148    * Update zippy.README
149
150
151 ** Version 4.7.0 **
152
153    (see http://www.gnu.org/software/xboard/whats_new/4.7.0/ )
154
155    * Code refactoring of XBoard
156     * The old X11 front-end has been largely rewritten,
157       so that all windows are now created by a single
158       generic routine
159     * XBoard now uses the Cairo library for all drawing
160     * Pixmaps and bitmaps no longer supported;
161       XBoard now uses PNG and SVG images instead.
162     * An alternative (as yet experimental) front-end
163       using GTK has been added
164
165    * Interactive Analysis
166     * Excluding moves from analysis by playing them
167     * Excluded-moves header in Engine Output window
168     * Analyzing with two engines simultaneously
169     * Annotating an entire muti-game file
170     * Analysing positions by Monte-Carlo play
171
172    * Other New Functionality
173     * Displaying player logos (XB)
174     * Player logo on ICS can be based on player handle
175     * Chat boxes for XBoard
176     * Narrowing down of position searches
177     * Copying pieces when editing a position
178     * Starting WinBoard through drag & drop
179     * Recalling fully configured engines and ICS
180     * Creating an opening book from a game file
181     * Pausing a game
182     * Automatically observing partner games with dual-board
183
184    * Interface Improvements
185     * Recognizes file type of lone argument by extension
186     * Default startup settings configurable per mode
187     * Separate menu items for loading 1st and 2nd engine
188     * Engines can be selected from listboxes
189     * Grouping of engines in the installed-engines list
190     * Stay in Analyze or Game Start mode after engine loading
191     * 'Continue Later' button in WB tournament dialog
192     * A new --help option (XB)
193     * A second board window for observing ICS games (XB)
194     * Smoother graphics and a resizable board (XB)
195     * A rejuvenated file browser (XB Xaw)
196     * Scrolling listboxes with mouse wheel (XB Xaw)
197     * Tabbing through dialog etry fields (XB Xaw)
198     * Adapt width of auxilliary windows on board resize (WB)
199     * External piece bitmaps (WB)
200     * Border around the board (WB)
201     * Saving settings as themes (WB)
202
203    * Bug fixes
204     * Grayout of Analysis menu item in zippy mode
205     * Crash on flagging in -st mode
206     * Keep track of virginity in variant seirawan FENs
207     * Immunity to capitalized promo pieces
208     * Avoid board sizes with unavailabile variant pieces
209     * Work-around for FICS violation of SAN
210     * Check validity of tourney participants
211     * Loop-Chess promotions with legality testing on
212     * Fix -fSAN option in Analyze File mode
213     * Scrolling of Engine Output after PV walk (XB)
214     * Start browsing in currently-selected folder (WB)
215     * Allow entry of fractional timeIncrement (WB)
216     * Resolve conflict between -mps and -inc options
217     * Size of mini-Shogi promotion zone
218     * Adjudication of stalemate and perpetuals in Shogi
219     * Rep-draw detection in drop games
220     * Insufficient-material draws in Knightmate
221     * Replacing of engine in non-last game position
222     * Sweep selection of promo-piece in click-click move
223     * Don't save aborted games in tourney PGN
224     * Remember ponder, book and other settings in tourney file
225     * Do not erase PGN tags on engine loading
226     * Solved feature problems with engine loading in match mode
227     * Re-send option settings to -xreuse engine
228     * Allow use of 'shadow' promotion pieces in any variant
229     * WinBoard did not always start in its installation folder
230     * Initialization of 'Twice' checkbox in Tournament dialog (WB)
231     * Clearing of marker dots after mode or settings change
232     * some smaller bugfixes
233
234 ** Version 4.6.2 **
235    (for a more detailed list with screenshots see http://www.gnu.org/software/xboard/whats_new/4.6.2/ )
236    bugfix relase for 4.6.1
237    * Suppress clear-board message after pasting FEN
238    * Fix faking of castling rights after editing position with holdings
239    * Fix second-engine variant test
240
241 ** Version 4.6.1 **
242    (for a more detailed list with screenshots see http://www.gnu.org/software/xboard/whats_new/4.6.1/ )
243
244    bugfix release for 4.6.0
245
246    * Fix memory corruption bug on second-engine loading (through menu or in tournament),
247      which could destroy -firstInitString
248    * Fix bug loading a new engine through the menu (not loading it with the full game,
249      but just upto the current move)
250    * Prefix engine command with "./" when a pathname is split up during install, so the engine actually runs (XB)
251    * Fix fall-back to -ncp mode when engine does not start (cutting short the feature timeout)
252    * Fix bug in position search for FRC castlings (where a King could 'fall off' the board)
253    * Add a message to inform the user how to clear the board, in sweep-select edit-position mode
254    * Fix a bug that could stop the clock when the board window was dragged (XB)
255    * Fix switching off highlighting during game (so last highlights do not remain for the rest of the game)
256    * Allow user to enter the name of a non-existing file when browsing for a save file (WB)
257    * Make sure rarely used engine-related options (such as -firstNPS) are also correctly loaded during session
258    * Correctly handle parsing of Crazyhouse promotions with legality-testing off
259    * Fix click-click detour under-promotions, which were not working for non-captures
260    * Don't strip path from engine command if directory is explicitly given in Load Engine dialog
261    * Consistently make auxiliary windows top level-shells or not, with new -topLevel option (XB)
262    * No longer fatal if second engine does not support current variant (just refuse Two Machines mode)
263    * Scroll XBoard game list to keep selected item in view (XB)
264    * Suppress spurious error popup when starting observing of bughouse games
265    * Fix vertical axis ticks in eval graph with drop games
266    * Put title on same line as menu bar only for -size 72 and larger (with -titleInWindow, XB)
267    * Properly open and close debug file when switching debug mode through key binding Ctrl-D (XB)
268
269 ** Version 4.6.0 **
270
271    (see http://www.gnu.org/software/xboard/whats_new/4.6.0/ )
272
273    * Engine vs. Engine
274     * Loading and installing engines through the menu
275     * Running tournaments with more than two partipants
276     * Stopping a match between two engines
277     * Replacing a tourney participant
278     * Playing openings in color-reversed pairs
279     * Perpetual chasing in Xiangqi
280
281    * Interface Improvements
282     * Auto-Queen, and still under-promote?
283     * Piece fonts and figurine fonts
284     * Displaying PVs as SAN
285     * Small scores in the Eval Graph
286     * How close is the 50-move draw?
287     * Sign of the engine scores
288
289    * Interactive Analysis
290     * Playing moves from the PV
291     * Rapidly changing the number of PVs
292     * Setting the other side to move in analysis
293     * Annotating a game with an engine
294
295    * Other New Functionality
296     * Searching a position in a PGN file
297     * Editing the opening book
298
299    * XBoard -> WinBoard Convergence
300     * Exporting the game list (XB)
301     * A move type-in box (XB)
302     * New-style Move History window (XB)
303
304 ** Version 4.5.3a **
305
306    (see http://www.gnu.org/software/xboard/whats_new/4.5.3a/ )
307
308   * only changes to Winboard : build non JAW by default, fix compile errors
309
310 ** Version 4.5.3 **
311
312    (see http://www.gnu.org/software/xboard/whats_new/4.5.3/ )
313
314   * fixes of major bugs:
315    * In the file-browse dialog . and .. no longer mask other files if they are non-first in the directory
316    * Fix XBoard crash on showing an empty Engine Settings dialog, printing a message in stead
317    * The XBoard Game List can now handle files with more than 1900 games, by paging through them
318    * The state of the Move-History window is now remembered by XBoard even when the Engine-Output window is up
319    * Fix crash on switching sounds in WinBoard under Windows Vista
320    * Fix empty-string option values on XBoard command line (which were ignored)
321    * Fix spurious vertical scrolling in XBoard Engine-Output window on clicking in it
322    * Obey an engine's san feature when sending book moves to it
323    * Fix XBoard crash when 'filtering' made Game List empty
324    * Suppress clearing of Engine-Output window on automatic updates in analyze mode
325    * Force Move-History refresh after loading/reverting variation
326    * Fix closing brace, when joining two comments to same move
327
328   * fixes of minor bugs:
329    * Suppress playing sounds when no -soundProgram is set
330    * Fix display of last move of last match game
331    * Update window title after last game of match
332    * Never one-click move when legality testing is off
333    * Suppress playing book move when total weigth of all moves is zero
334    * Restore echo after ^C killed XBoard during ICS password
335    * Fix default of -remoteUser, which could cause crash when playing remote engines
336    * Fix recognition of separators between options in -adapterCommand command line
337    * Fix button sizing in generic popup
338    * Fix translatability of 'Spartan Chess' menu item WB
339    * Remove some duplicats from WB language template file
340    * Fix spurious 'Unfinished' sounds during ICS examining
341    * Fix bug in handling of partner command in zippy-mode bughouse games
342    * Create more space in some WB dialogs to accomodate translations
343
344   * Improvements benefitting the speaking version for the visually impaired (WB):
345    * Implement NVDA support in JAWS version
346    * Fix translation of spoken composite messages
347    * Fix JAWS reading of Engine-Settings dialog by removing group-boxes
348    * Add tab stops in WB generic popup
349    * Reorder controls in Engine-Setings dialog WB, so they are tabbed through in logical order
350
351   * fixed compiler warnings/errors and portability:
352    * Fix use of random function in XBoard shuffle dialog callback
353    * Fix inconsistent type of the variable 'shuffleOpenings'
354    * Silence warnings during rpm build
355    * Fix warnings XBoard file browser
356    * Fix some warnings and header-file improvement
357
358   * misc:
359    * Add -at and -opt options as alternative for @, as work-around for Windows shortcut bug
360    * Make occurrence of unknown option in settings file non-fatal
361    * Stale output no longer lingers in the engine-output window when a new game starts
362    * Popdown (stale) Comment window on new game
363
364 ** Version 4.5.2a (Winboard only)**
365
366    (see http://www.gnu.org/software/xboard/whats_new/4.5.2/ )
367
368   * Fix Engine Settings button options in WinBoard
369
370 ** Version 4.5.2  **
371
372    (see http://www.gnu.org/software/xboard/whats_new/4.5.2/ )
373
374   * Main new feature:
375    * Added many option dialogs and reworked some of the old ones
376
377   * bugfixes, packaging and install:
378    * Fix nps bug
379    * Fix flipBlack option XBoard with board texture
380    * Fix two bugs in reading position diagram
381    * Fix parsing bug of FRC castling
382    * Fix bugs in FRC castling rights
383    * Fix display of promotion piece in ICS superchess
384    * Fix path browsing in WinBoard
385    * Fix use of game/position file in first match game
386    * Fix build on Mac OS X
387    * install bitmaps and sounds during "make install"
388    * some minor bug fixes
389    * code cleanup (e.g. 64 bit warnings, removed malloc.h)
390
391 ** Version 4.5.1 **
392
393    (see http://www.gnu.org/software/xboard/whats_new/4.5.1/ )
394
395  * bugfixes:
396    * Revert "Implement -reset option feature in WinBoard"
397    * Fix deselection of greyed-out variant button (WB)
398    * Put warning in HTML help
399    * Fix unmarked translation
400    * Fix Alfil bug
401    * Fix variant janus size prefix
402    * Fix Xiangqi King facing
403    * Fix showing of user move after adjudication
404    * Make language choice from menu persistent
405    * Fix ICS channel 0
406    * Fix some resource leaks
407
408  * fixed packaging issues:
409    * add DIFFSTAT and SHORTLOG to tar-ball
410    * added history.c to the tar-ball. Needed for Winboard
411
412  * fixed compiler warnings/errors:
413    * added missing header file for sprintf
414    * added missing #includes and missing prototypes to filebrowser
415    * Fix MSVC compilability
416    * Fix 64-bit Windows compilability
417    * Fix MSVC snprintf problem
418
419  * fixed configure problems:
420    * fixed configure script to correctly detect Xaw3d library
421    * updated configure.ac to check for Xaw header files
422
423  * misc:
424    * Fix two typos in option names in texi file
425
426
427 ** Version 4.5.0 **
428
429    (see http://www.gnu.org/software/xboard/whats_new/4.5.0/ for more details)
430
431     General
432     -------
433     * User specific settings files
434     * More logical (and standard) menu structure
435     * Translation into other languages (WB)
436     * Walking the PV of an engine
437     * Exploring variations
438     * Playing through PGN variations
439     * Annotating a game with analysis results
440     * Editing Comments
441     * Controlling move choice of the GUI book
442     * Keeping the clock in sync in tournaments
443     * Starting an engine match from the menu
444     * Fixed thinking time per move
445     * Improved multi-PV support
446     * Where your pieces can move to
447     * Editing crazyhouse holdings
448     * Thai Chess (Makruk) and Seirawan Chess
449     * Non-compliant FEN and SAN input
450     * Improved Xiangqi adjudications
451     * Allowing engines to setup a position
452
453     Merging XBoard & WinBoard
454     ------------------------------
455     * Evaluation graph (XB)
456     * Settings file (XB)
457     * Filtering the game list (XB)
458     * Game-List options dialog (XB)
459     * Recalling the ICS input history (XB)
460     * Aribtrary board textures (XB)
461     * Highlight arrow (XB)
462
463     ICS-client Enhancements
464     -----------------------
465     * Maintaining a healty ICS connection
466     * Claiming a draw after your move
467     * ICS seek graph
468     * One-click moving
469     * Observing your bughouse partner
470     * Improved Chat-Box interface (WB)
471     * Uploading games to an ICS
472     * Side-by-side boards
473
474
475 ** Version 4.4.4 **
476
477  * Repair exit-popup deadlock patch
478  * Fix bug in sending "usermove" when forcing book moves
479  * Let move parser return ImpossibleMove for off-board moves
480  * Prevent engine stall on perpetual-chase evasion
481  * Pop down old tags on loadng new game in WinBoard
482  * Fix game end during dragging
483  * Repair animate dragging
484  * Fix bug in sending cores command to engine
485  * Fix parsing of SAN shogi promotions
486  * Fix variant switch on PGN loading
487  * Allow -flipBlack to work with font-based piece rendering
488  * Allow font-based piece rendering in board sizes below petite
489  * Fix WinBoard game-list title
490  * Fix deadlock in match-result display
491  * Fix regression in colorization of zippy-matched commands
492  * Fix zippy handling of draw offers from ICS
493  * Make some more zippy code obey the --disable-zippy flag
494  * Remove unnecessary double equals from configure.ac.
495  * Cut board squares out of texture bitmap more cleverly
496
497 ** Version 4.4.3 **
498
499  * Add variant Makruk
500  * Implement castling for variant CRC
501  * Extensive bugfix of -autoKibitz
502  * Accept <Enter> for changing chat partner
503  * Change opening array -variant fairy
504  * Send continuation lines to chat box they belong to
505  * Use -keepAlive option to determine connection health
506  * Fix of ancient WinBoard bug: check value of int options
507  * Fix bug for incommensurate time odds
508  * Fix piece-to-char table -variant fairy
509  * Fix TwoKings ICS castling-rights bug
510  * Fix reading castling rights FEN in knightmate and twokings
511  * Fix OO-castling in FRC after pasting FEN
512  * Fix bug in display of logos
513  * Fix highlighting bug in XBoard
514  * Match handles with multiple titles for channel Chat Boxes
515  * Make WinBoard makefiles use parser.c in XBoard directory
516  * Added missing sounds files to be able to compile on windows
517  * Added logo files for xboard
518  * Bugfix stale first-click
519  * Fix copying of WB Chat Window contents
520  * Fix XB crash on giving keyboard focus to non-text widget
521  * Bugfix copying from Chat Box, own lines
522  * Fix 'mamer bug' in Chat Boxes
523  * Fix copying of kibitzed lines from WB Engine-Output window
524  * Do not recognize non-ICS variants from PGN event tag
525  * Remake programVersion string after receiving engine features
526  * Set keyboard focus at startup to board window
527  * Fix window-position upset on failing engine start in WinBoard
528  * Allow lower-case promochar in moves of type h8=Q
529  * Small bugfixed for JAWS version
530  * Small bugfixes
531
532 ** Version 4.4.2 **
533
534  * add Winboard source files into tar-ball
535  * remove trailing \r in xboard output
536  * double buffer size to prevent overflow
537  * fix problem with empty string in -firstNeedsNoncompliantFEN
538  * updates makefiles to include dependency on config.h
539  * correctly apply some check boxes from the option menu
540  * score sign in analysis mode
541  * fix for bug #28077: xboard needs to link against x11
542  * fix castling rights when copying FEN to clipboard (again)
543  * fixed some outstanding pixmaps
544  * fix the irritating wandering off of the MoveHistory window in XBoard on opening/closing.
545  * use xtell for talking to handles, but tell for talking into a channel.
546  * fix bug in bughouse drop menu
547  * removing some rather verbose debug messages that seem no longer needed.
548  * fix engine-sync on move-number type-in bug
549  * fix declaration of engineOutputDialogUp
550  * fix double start of zippy engine after switch to gothic
551  * the last move before the time control now gets its time listed in the PGN
552  * fix casting rights after FEN pasting
553  * fix crash on engine crash
554  * fixed build on openbsd
555  * cleaned up some debug messages and typos
556  * removed files that should only be in the windboard directory
557  * added missing library for build on OS X
558
559 ** Version 4.4.1 **
560
561  * added chat windows to keep track of multiple conversations (WinBoard only)
562  * allow the result comment as a display item in the game list
563  * added a "Mute All Sounds" item in the WinBoard Options menu
564  * new -forceIllegalMoves option
565  * new -keepAlive option (for ICS play)
566  * ported -autoDisplayComment and -autoDisplayTags to xboard, controling popups
567  * replaces analysispopup with engineoutputpopup in xboard
568  * allow copy/paste position and game to use clipboard (xboard)
569  * updated several bitmaps (xboard)
570  * Made the beep sounds for JAWS board navigation configurable
571    through command-line options
572  * added the result comment to the game-list tags when the game
573    list is exported to the clipboard
574  * updated RTF docs
575  * fixed premove problem
576  * fixed engine did not start playing when out of GUI book on second
577    move with white
578  * fix bug using opening books (file were not closed)
579  * fixed crash when opening Engine #1 Settings when there were no
580    text-edit options in the dialog
581  * fixed loading of games from command lines, fixes cmail bug
582  * fix joining lines split by ICS and resizing terminal window when using ICS
583    (new option -keepLineBreaksICS, -wrapContinuationSequence, -useInternalWrap)
584  * fixed -autoDisplayComment
585  * fixed wrong default value for engineDebugOutput in xboard
586  * swapped 'tell' and 'message' parsing order for correct colorization.
587  * fixed parse bug for pgn files
588  * fix for edit-position "moves" being sent by XBoard to the engine
589  * bugfix for protocol extensions: egtbpath -> egtpath
590  * fix bug in parser
591  * further bugfixes:  #8847, #10990, #27427, #27642,
592    #27666, #27667, #27668, #27715, #27751, #27760,
593    #27772, #27799, #27826 and several small ones
594  * use "make distcheck" to generate tar-balls
595  * prepared a system to internationalize winboard menus
596  * improved mouse handler
597  * rewrote wevalgraph for better frontend/backend separation
598  * code cleanup
599
600 ** Version 4.4.0 **
601
602 A new release of both XBoard and WinBoard is now available.  Version
603 4.4.0 includes many changes. It is the first major release of
604 xboard/winboard after a fork of the project after version 4.2.7. It
605 includes small changes made in the main line and changes made by a
606 fork of Alessandro Scotti and lots of changes made afterwards by
607 H.G. Muller (released as versions 4.3.x). This release represents a
608 unified version of all changes made after the fork. It includes many
609 new features and bugfixes.
610
611 You can get both XBoard and WinBoard from the Savannah
612 project pages:
613
614 https://savannah.gnu.org/projects/xboard/
615
616 If you find a bug, please report it in the bug tracker at
617 https://savannah.gnu.org/projects/xboard/ or by email to bug-xboard
618 (AT) gnu.org.
619
620
621 ** Version 4.3.16 **
622
623 New command-line options
624 /niceEngines=N       for adjusting the priority of engine processes so they don't soak up all your system resources
625 /firstOptions="..."   Allows the setting of options that engines define through the feature option="..." commands
626 /secondOptions="..."
627 /firstLogo=filename.bmp  Displays the mentioned bitmap next to the clock (with H:W =1:2 aspect ratio) (WB only)
628 /secondLogo=filename.bmp
629 /autoLogo=false          get logo files automatically from engineDirectory\logo.bmp
630
631 General enhancements:
632 * New WB-protocol command: 'feature option="NAME -TYPE VALUE OTHER"', which engines can use to define options
633 * New WB-protocol command: 'option NAME VALUE' used to set value of engine-defned options.
634 * implements /delayAfterQuit and /delayBeforeQuit in XBoard, and uses SIGKILL to terminate rogue engine processes
635
636
637 ** Version 4.3.15 **
638
639 New command-line options
640 /rewindIndex=N (for the new auto-increment mode of the loadGameIndex or loadPositionIndex in match mode)
641 /sameColorGames=N (for playing a match where the same player has white all the time)
642 /egtFormats="..." (for specifying where various end-game tables are installed on the computer)
643
644 New menu items
645 + Time-odds factors can be set in the time-control dialog
646 + Nr of CPUs for SMP engines can be set in the Options -> UCI dialog
647 + Own-Book options can be switched from the Options -> UCI dialog
648 + The ScoreIsAbs options can be set from the Options -> Engine dialog
649 + New-Variant menu adds Superchess
650
651 General Enhancements:
652 * WinBoard engines can now also use the Polyglot opening book (implemented as general GUI book)
653 * New WB-protocol commands memory, cores and egtpath make interactive setting of these parameters
654   possible on WB engines
655 * New Polyglot is available that relays the interactive setting of these parameters to UCI engines
656 * Match mode suports an auto-increment mode, so that all games or positions from a file can be played
657 * Draw claims with Kings and an arbitrary number of like Bishops (e.g. KBBKB) are accepted
658
659 The source tree in original xboard 4.2.7 format can now be compiled under Cygwin with the aid
660 of the cygwin.mak file in the ~/winboard/ subdirectory of the source releasy, after you put
661 the hep-file from an executabl distribution there. Maefiles for other compilers are not updated
662 since 4.2.7, as I do not have those compilers.
663
664
665 ** Version 4.3.14 **
666
667 This relaese was not made by the GNU xboard team, but by H.G.Muller.
668 It mainly contains developments on WinBoard. Nevertheless, an attempt
669 has been started to back-port the enormous number of improvements that
670 have been made to WinBoard since the Linux and Windows developments branched
671 to xboard. This is reflected by the source tree now having the same format
672 as that of xboard 4.2.7, including all the xboard sources.
673
674 An enormous amount of work still has to be done to make the xboard version
675 fully equivalent to WinBoard, especially on user-interface side. As a modest
676 beginning, the xboard source files have been patched to allow their compilation
677 with the newer back-end files from WinBoard. To this end, the number of piece
678 types in xboard has been increased from 6 to 22, and the WinBoard bitmaps
679 have been converted to xboard source format (.bm) and are included in the
680 xboard bitmaps directory. Other quick patches include the coloring of the
681 board squares (for xiangqi and holdings), and some code in the user-move
682 handling to suppress all moves into or out of the area between board and
683 holdings in crazyhouse, and the treatment of king-captures-own-piece
684 as a possibly valid move (for FRC castling). This should make it possible
685 to run xboard with the new back-end files without too much inconvenience.
686
687 New xboard command-line options have been added to make the added back-end
688 features available. The include the new variants (as argument of the old
689 -variant option), -boardWidth, -boardHeight and -holdingsSize. Be sure
690 to call xboard with "-boardSize middling" or "-boardSize bulky" if you
691 want to play with fairy pieces, or xboard might crash due to unavailability
692 of bitmaps. Other added xboard options are:
693
694 ADJUDICATION OPTIONS:
695 -checkMates
696 -testClaims
697 -materialDraws
698 -trivialDraws
699 -ruleMoves
700 -repeatsToDraw
701 -adjudicateLossThreshold
702 -firstScoreAbsolute
703 -secondScoreAbsolute
704
705 TIME-CONTROL OPTIONS
706 -firstTimeOdds
707 -secondTimeOdds
708 -timeOddsMode
709 -firstNPS
710 -secondNPS
711
712 GENERAL OPTIONS
713 -matchPause
714 -engineDebugOutput
715 -userName
716 -pgnExtendedInfo
717 -pgnEventHeader
718 -hideThinkingFromHuman
719
720 This is all completely untested, but as the options merely switch on well-tested
721 code in the back-end, there should not be too many problems with them.
722 Bugs can be reported in the WinBoard forum.
723
724
725 ** Version 4.3.14k **
726
727 Compared to version 4.3.13 described below, this version features
728
729 New command-line options:
730 /autoKibitz (for relaying the PV info of the engine to the ICS)
731 /userName="..." (for setting the name of the Human player, also as menu)
732 /engineDebugOutput=N (controlling the writing of engine output to debug file)
733 /firstNPS=N (for time management by node count or CPU time)
734 /secondNPS=N (likewise for the other engine)
735
736 New Menu items
737 + Enter Username (same as /userName command-line option)
738 + Save Diagram (for saving the Chessboard display as bitmap file)
739 + Machine Both (not implemented yet, but menu item already provided)
740 + New-Variant menu adds CRC, Janus and Berolina (the latter only with legality testing off!)
741 + Any variant can be played from a shuffled opening setup
742
743 Bugfixes:
744 * Problems with switching the variant in ICS zippy mode solved
745 * In ICS observing mode game history is now fully accessible
746 * Moves are not fed to engine in zippy mode, when observing a game from a variant unknown to the engine
747 * a problem with loading PGN of FRC games with move disambiguation and initial castling rights was fixed.
748 * A bug in the clock display that made previous versions of WinBoard crash for tiny displays is fixed
749
750 General enhancements:
751 * variant name displayed in title bar in ICS mode, when not 'normal'
752 * when receiving a challenge in ICS zippy mode, it is checked if the engine supports the variant (/zippyVariants="..." can still be used to limit the allowed variants, and for protocol-1 engines is still the only thing to go on)
753 * when loading a game from a PGN file, WB automatically switches to the variant specified in the PGN tags
754 * when starting from a loaded position (using /loadPositionFile), this position will be used on subsequent 'New Game' commands as well (until we switch variant)
755
756 New is also that the source tree is now brought back in the original WinBoard 4.2.7 format, including
757 xboard source files. Note, however, that the xboard sources are from an older date, and I did not test
758 if they still compile together with the much newer backend sources. I did add code in xboard.c to recognize
759 the new command-line options I added since then, and in so far they are back-end options that should be enough
760 to make them work. This is completely untested, though; I did not even try to compile it. Last time anyone
761 built a working xboard.exe from this was at a stage where WinBoard did have adjustable board size, allowing
762 it to play Xiangqi. But no crazyhouse holdings yet.
763
764
765 ** Version 4.3.13a **
766
767 This version of WinBoard_F fixes several bugs in 4.3.12, and also addse a few new features.
768 The new features include:
769 - some more fairy pieces, so that each side now has 22 piece types in stead of 17,
770 making most fairy pieces available in board size "petite" (next to "bulky" and "middling"),
771 making the ArchBishop and Chancellor, as well as one wildcard piece (the Lance) available in all
772 sizes from "petite" to "bulky".
773 - The FRC support is fully fixed, both in local and ICS mode.
774 - A mechanism is provided for safe draw claiming in cases where a 3-fold repetition woud occur only
775   after your own move. In this case a draw will be awarded by WinBoard if the engine sends "offer draw"
776   before making its move.
777 - Genuine draw offers are not passed on immediately to the opponent but held up to when the offerer announces
778   its move.
779 - Variants FRC, Cylinder and Falcon are added to the "New Variant..." menu.
780 - Support for playing time-odds games is added. (Options /firstTimeOdds, /secondTimeOdds, /timeOddsMode)
781 - A mechanism is provided for attaching WinBoard options to the engine command, to create options that
782 follow the engine (e.g. time odds) in a tournament run under a tournament manager.
783 Bugfixes include:
784 - Shatranj in ICS mode (did not work at all before)
785 - Some draw adjudications (QRKR was mistaken for KRKR, and KBKB with like Bishops is now recognized)
786 - time info in the PGN is now correct
787
788 ** Winboard_F.4.3.12 release notes
789
790 This WinBoard (beta-)version is derived from Allessandro Scotti's
791 Winboard_x, and supports the following new options, mainly in the area
792 of adjudication of engine-engine games, improved Crazyhouse support,
793 and allowing variants with non-conventional pieces and or board
794 sizes. (All option are shown here with their default values):
795
796 /variant=normal
797 This (already existing) option has been expanded with
798 several new variants, involving non-conventional pieces and deviating
799 board sizes. The board size is automatically adapted to the selected
800 variant, unless explicitly overruled (see below). The new variants are
801 (with default board size, files x ranks, in parentheses):
802
803 variant name    Game           board     description
804 knightmate    Knightmate        (8x8)  Variant where the King moves as a Knight, and vice versa
805 capablanca    Capablanca Chess (10x8)  Variant featuring Archbishop and Chancellor as new pieces
806 gothic        Gothic Chess     (10x8)  Same as Capablanca, with a more interesting opening position
807 courier       Courier Chess    (12x8)  a Medieval form that combines elements of Shatranj and modern Chess
808 shogi         Shogi             (9x9)  Japanese Chess
809 xiangqi       Xiangqi          (9x10)  Chinese Chess
810 fairy         Fairy Chess       (8x8)  Variant were you can use all pieces of other variants together
811
812 The variant can be set from the newly added "File -> New Variant..."
813 sub-menu.  Extra board files are indicated by the letters i, j, k, l,
814 ... For boards with more than 9 ranks, the counting starts at zero!
815 More than 10 ranks is not tested and unlikely to work in the area of
816 PGN saving / reading. Non-FIDE pieces will be referred to in FENs and
817 PGN by letters that depend on the variant, and might collide with
818 piece designators in other variants. E.g. in Xiangqi 'C' is a Cannon,
819 in Capablanca Chess it is a Chancellor. Pieces that do not belong in a
820 variant cannot be addressed in FEN and PGN either, for as long as that
821 variant is selected, unless the letter assignment is overruled with
822 the aid of the /pieceToCharTable option. The variant is not saved in
823 the winboard.ini file; on start-up we always get variant "normal"
824 unless we use the command-line option, or have added the option to the
825 winboard.ini file manually (in which case it will disappear when this
826 file is overwritten by WinBoard saving its options).  WinBoard_F knows
827 the movement of all pieces occurring in Capablanca Chess (of which
828 FIDE Chess is a subset), Shatranj, Courier, Xiangqi and 9x9 Shogi, so
829 that these games can be played with legality testing enabled.
830
831 /pieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
832 Each piece that WinBoard knows (in its legality test) has a letter
833 associated with it, by which it will be referred to in FEN or PGN. The
834 default assignment can be overruled with this option. The value has to
835 be a string of even length, with at least 12 characters. The first
836 half of the string designates the white pieces, the second half the
837 black.  The last letter for each color will be assigned to the
838 King. (This is the piece that moves as an orthodox King; note that
839 Nightmate and Xiangqi have a different royal piece.) All letters
840 before it will be assigned to the other pieces in the order:
841
842 P Pawn                 (move often depends on variant)
843 N Knight               (move subtly different in Xiangqi (where it is written as H) or Shogi)
844 B Bishop
845 R Rook
846 Q Queen                (Lance L in Shogi)
847 F Ferz/General         (The Shatranj 'Queen' and Xiangqi 'Adviser', used for Silver General S in Shogi.)
848 W Wazir/GrandVizer     (Gold General G in Shogi, in Xiangqi it is royal and denoted by K)
849 E Alfil/Elephant       (Moves subtly different in Xiangqi vs Shatranj/Courier)
850 M Commoner/Man
851 O Cannon/Pao
852 U Unicorn              (representation of Royal Knight in Knightmate, used as promoted Pawn in Shogi)
853 H Nightrider           (Promoted Knight in Shogi and CrazyHouse)
854 A Archbishop/Cardinal  (Promoted Bishop in Shogi and CrazyHouse)
855 C Chancellor/Marshall  (Promoted Rook   in Shogi and CrazyHouse)
856 G Grasshopper          (Promoted Queen in Crazyhouse, promoted Lance in Shogi)
857 S                      (Promoted Silver in Shogi)
858 K King
859
860 Pieces that are not mentioned (because the argument has less than 34
861 characters) will remain disabled. Mentioned pieces can be disabled by
862 assigning them a '.' (period). They are then not recognized in FEN or
863 PGN input. Non-FIDE pieces that are not assigned a letter will also
864 not appear on the promotion menu. It is not advisable to disable a
865 piece that is present in the opening position of the selected variant,
866 though.
867 Promoted pieces that need to be distinguished from original pieces of
868 the same type (because of demotion on capture and transfer to the
869 holdings) will be indicated by the letter for the unpromoted piece
870 with a '+' in front of it (Shogi), or by the letter of the promoted
871 piece with a '~' after it (Crazyhouse, Bughouse, in general everything
872 with holdings that is not Shogi). To achieve this, they should be
873 assigned the characters '+' or '~', respectively.
874 All the new pieces have a native bitmap representation in the board
875 sizes 'bulky' and 'middling'. For all window sizes that do not support
876 such fairy bitmaps, promoted NBRQ are represented as a 2-sizes-smaller
877 normal piece symbol, so that Crazyhouse can be played at any
878 size. People disliking the fairy representations might even prefer
879 this.
880 There is an enhanced 'Edit Position' menu popup (right-clicking on the
881 squares after selecting this mode in the main menu), featuring some
882 common non-FIDE pieces, and 'promote' and 'demote' options to make
883 those not directly in the menu. The promotion popup shows ArchBishop
884 and Chancellor in Capablanca and Gothic, (or in fact in any game where
885 this piece is not disabled or a promoted version of a normal piece),
886 and leaves only the options YES / NO in Shogi. In Xiangqi there are no
887 promotions.
888
889 /fontPieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
890 This option is similar to /pieceToCharTable, but sets the font
891 character that is used to display the piece on the screen (when
892 font-based rendering is in use), rather than in the FEN or PGN. The
893 default setting should work with George Tsavdaris' WinboardF font,
894 which uses the 'intuitive' mapping of font characters to symbols. With
895 font-based rendering the fairy pieces can be used at any board size.
896 Note that UHACGS are also used to represent the promoted versions of
897 PNBRQF, in games like Crazyhouse and Shogi, where the promotion has to
898 be undone on capture. In such games you are likely to prefer a
899 different representation of those pieces then when they represent true
900 fairy pieces.
901
902 /flipBlack=FALSE
903 Traditional Shogi bitmaps are only included for size "moderate". For
904 other sizes you must depend on font-based rendering.
905
906 /detectMate=TRUE
907 /testClaim=TRUE
908 /materialDraws=TRUE
909 /trivialDraws=FALSE
910 /ruleMoves=51
911 /repeatsToDraw=6
912 The option /materialDraws=TRUE causes games with insufficient mating
913 material to be adjudicated immediately as draws, in case the engines
914 would not claim these draws. This applies to KK, KNK and KBK.  The
915 option /trivialDraws adjudicates KNNK, KBKB, KNKN, KBKN, KRKR and KQKQ
916 to draws after 3 moves (to allow for a quick tactical win). Note that
917 in KQKQ this might not be sound, but that problem would disappear once
918 bitbase probing is implemented.
919
920 Clocks
921 The flag-fell condition is now indicated as '(!)' behind the displayed
922 time, to eliminate the necessity for overwriting the message in the
923 title bar (which might contain indispensible information in match
924 mode).
925
926 Other improvements / changes
927 Castling rights and e.p. rights are now fully maintained, and
928 considered in legality testing. They are imported from and written to
929 FEN, as is the 50-move counter. (When reading an incomplete FEN they
930 are still guessed, though.)  The time (in sec, or min:sec) is now
931 always stored together with the PV information to the PGN, if storing
932 the latter was requested (through ticking "extended PGN info" in
933 "Options -> General..."). The saved time is the WinBoard clock time
934 (as opposed to the time reported by the engine).
935
936 ** Winboard_F.4.3.8 release notes
937
938 This Winboard supports the following new options (shown here with their default values):
939
940 /variant=normal
941 This (already existing) option has been expanded with several new
942 variants, involving non-conventional pieces and deviating board
943 sizes. The board size is automatically adapted to the selected
944 variant, unless explicitly overruled (see below). The new variants are
945 (with default board size, files x ranks, in parentheses):
946
947 variant name    Game           board     description
948 knightmate    Knightmate        (8x8)  Variant where the King moves as a Knight, and vice versa
949 capablanca    Capablanca Chess (10x8)  Variant featuring Archbishop and Chancellor as new pieces
950 gothic        Gothic Chess     (10x8)  Same as Capablanca, with a more interesting opening position
951 courier       Courier Chess    (12x8)  a Medieval form that combines elements of Shatranj and modern Chess
952 shogi         Shogi             (9x9)  Japanese Chess
953 xiangqi       Xiangqi          (9x10)  Chinese Chess
954 fairy         Fairy Chess       (8x8)  Variant were you can use all pieces of other variants together
955
956 The variant can be set from the newly added "File -> New Variant..." sub-menu.
957 Extra board files are indicated by the letters i, j, k, l, ... For
958 boards with more than 9 ranks, the counting starts at zero! Non-FIDE
959 pieces will be referred to in FENs and PGN by letters that depend on
960 the variant, and might collide with piece designators in other
961 variants. E.g. in Xiangqi 'C' is a Cannon, in Capablanca Chess it is a
962 Chancellor. Pieces that do not belong in a variant cannot be addressed
963 in FEN and PGN either as long as that variant is selected, unless the
964 letter assignment is overruled by the /pieceToCharTable option. The
965 variant is not saved in the winboard.ini file; on start-up we always
966 get variant "normal" unless we use the command-line opton, or have
967 added the option to the winboard.ini file manually (in which case it
968 will disappear when this file is overwritten).  WinBoard_F knows the
969 movement of all pieces occurring in Capablanca Chess (of which FIDE
970 Chess is a subset), Shatranj, Courier, Xiangqi and 9x9 Shogi, so that
971 these games can be played with legality testing enabled.
972
973 /pieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
974 Each piece that WinBoard knows (in its legality test) has a letter
975 associated with it, by which it will be referred to in FEN or PGN. The
976 default assignment can be overruled with this option. The value has to
977 be a string of even length, with at least 12 characters. The first
978 half of the string designates the white pieces, the second half the
979 black.  The last letter for each color will be assigned to the
980 King. (This is the piece that moves as an orthodox King; note that
981 Nightmate and Xiangqi have a different royal piece.) All letters
982 before it will be assigned to the other pieces in the order:
983
984 P Pawn                 (move often depends on variant)
985 N Knight               (move subtly different in Xiangqi (where it is written as H) or Shogi)
986 B Bishop
987 R Rook
988 Q Queen                (Lance L in Shogi)
989 F Ferz/General         (Silver General S in Shogi)
990 W Wazir/GrandVizer     (Gold General G in Shogi, in Xiangqi it is royal and denoted by K)
991 E Alfil/Elephant       (Moves subtly different in Xiangqi vs Shatranj/Courier)
992 M Commoner/Man
993 O Cannon/Pao
994 U Unicorn              (representation of Royal Knight in Knightmate, used as promoted Pawn in Shogi)
995 H Nightrider           (Promoted Knight in Shogi and CrazyHouse)
996 A Archbishop/Cardinal  (Promoted Bishop in Shogi and CrazyHouse)
997 C Chancellor/Marshall  (Promoted Rook   in Shogi and CrazyHouse)
998 G Grasshopper          (Promoted Queen in Crazyhouse, promoted Lance in Shogi)
999 S                      (Promoted Silver in Shogi)
1000 K King
1001
1002 Pieces that are not mentioned (because the argument has less than 34
1003 characters) will remain disabled. Mentioned pieces can be disabled by
1004 assigning them a '.' (period). They are then not recognized in FEN or
1005 PGN input. It is not advisable to disable a piece that is present in
1006 the opening position of the selected variant, though.
1007 Promoted pieces that need to be distinguished from original pieces of
1008 the same type (because of demotion on capture and transfer to the
1009 holdings) will be indicated by the letter for the unpromoted piece
1010 with a '+' in front of it (Shogi), or by the letter of the promoted
1011 piece with a '~' after it (Crazyhouse, Bughouse, in general everything
1012 with holdings that is not Shogi).
1013 All the new pieces have a native biytmap representation in the board
1014 sizes 'bulky' and 'middling'. For all window sizes that do not support
1015 such fairy bitmaps, promoted NBRQ are represented as a 2-sizes-smaller
1016 normal piece symbol, so that Crazyhouse can be played at any
1017 size. People disliking the fairy representations might even prefer
1018 that.
1019 There is an enhanced 'Edit Position' menu popup (right-clicking on the
1020 squares after selecting this mode in the main menu), featuring some
1021 common non-FIDE pieces, and 'promote' and 'demote' options to make
1022 those not directly in the menu. The promotion popup shows ArchBishop
1023 and Chancellor in Capablanca and Gothic, (or in fact in any game where
1024 this piece is not disabled), and leaves only the options YES / NO in
1025 Shogi. In Xiangqi there are no promotions.
1026
1027 /alphaRank=FALSE
1028 This option does not seem to work for reading PGN files. Saving works
1029 fine. For now, using it is not recommended. In the future it might be
1030 redefined as only affecting engine-engine communication, .
1031
1032 /flipBlack=FALSE
1033 Setting this option will cause upside-down display of the native piece
1034 bitmaps used to represent the pieces of the side that plays black, as
1035 would be needed for a traditional representation of Shogi pieces. It
1036 can be set from the "Options -> Board..." sub-menu, and it is saved in
1037 the winboard.ini file. For now, traditional Shogi bitmaps are not
1038 included, though.
1039
1040 Other improvements / changes
1041 Castling rights and e.p. rights are now fully maintained, and
1042 considered in legality testing. They are imported from and written to
1043 FEN, as is the 50-move counter. The time (in sec, or min:sec) is now
1044 always stored together with the PV information to the PGN, if storing
1045 the latter was requested (through ticking 'extended PGN info' in
1046 "Options -> General..."). The saved time is the Winboard clock time
1047 (as opposed to the time reported by the engine).
1048
1049 ** Winboard_F.4.3.7 release notes
1050
1051 This Winboard supports the following new options (shown here with
1052 their default values):
1053
1054 /variant=normal
1055 This (already existing) option has been expanded with several new
1056 variants, involving non-conventional pieces and deviating board
1057 sizes. The board size is automatically adapted to the selected
1058 variant, unless explicitly overruled (see below). The new variants are
1059 (with default board size, files x ranks, in parentheses):
1060
1061 variant name    Game           board     description
1062 knightmate    Knightmate        (8x8)  Variant where the King moves as a Knight, and vice versa
1063 capablanca    Capablanca Chess (10x8)  Variant featuring Archbishop and Chancellor as new pieces
1064 gothic        Gothic Chess     (10x8)  Same as Capablanca, with a more interesting opening position
1065 courier       Courier Chess    (12x8)  a Medieval form that combines elements of Shatranj and modern Chess
1066 shogi         Shogi             (9x9)  Japanese Chess
1067 xiangqi       Xiangqi          (9x10)  Chinese Chess
1068 fairy         Fairy Chess       (8x8)  Variant were you can use all pieces of other variants together
1069
1070 The variant can be set from the newly added "File -> New Variant..." sub-menu.
1071 Extra board files are indicated by the letters i, j, k, l, ... For
1072 boards with more than 9 ranks, the counting starts at zero! Non-FIDE
1073 pieces will be referred to in FENs and PGN by letters that depend on
1074 the variant, and might collide with piece designators in other
1075 variants. E.g. in Xiangqi 'C' is a Cannon, in Capablanca Chess it is a
1076 Chancellor. Pieces that do not belong in a variant cannot be addressed
1077 in FEN and PGN either as long as that variant is selected, unless the
1078 letter assignment is overruled by the /pieceToCharTable option. The
1079 variant is not saved in the winboard.ini file; on start-up we always
1080 get variant "normal" unless we use the command-line opton, or have
1081 added the option to the winboard.ini file manually (in which case it
1082 will disappear when this file is overwritten).  WinBoard_F knows the
1083 movement of all pieces occurring in Capablanca Chess (of which FIDE
1084 Chess is a subset), Shatranj, Courier, Xiangqi and 9x9 Shogi, so that
1085 these games can be played with legality testing enabled.
1086
1087 /pieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
1088 Each piece that WinBoard knows (in its legality test) has a letter
1089 associated with it, by which it will be referred to in FEN or PGN. The
1090 default assignment can be overruled with this option. The value has to
1091 be a string of even length, with at least 12 characters. The first
1092 half of the string designates the white pieces, the second half the
1093 black.  The last letter for each color will be assigned to the
1094 King. (This is the piece that moves as an orthodox King; note that
1095 Nightmate and Xiangqi have a different royal piece.) All letters
1096 before it will be assigned to the other pieces in the order:
1097
1098 P Pawn                 (move often depends on variant)
1099 N Knight               (move subtly different in Xiangqi (where it is written as H) or Shogi)
1100 B Bishop
1101 R Rook
1102 Q Queen                (Lance L in Shogi)
1103 F Ferz/General         (Silver General S in Shogi)
1104 W Wazir/GrandVizer     (Gold General G in Shogi, in Xiangqi it is royal and denoted by K)
1105 E Alfil/Elephant       (Moves subtly different in Xiangqi vs Shatranj/Courier)
1106 M Commoner/Man
1107 O Cannon/Pao
1108 U Unicorn              (representation of Royal Knight in Knightmate, used as promoted Pawn in Shogi)
1109 H Nightrider           (Promoted Knight in Shogi and CrazyHouse)
1110 A Archbishop/Cardinal  (Promoted Bishop in Shogi and CrazyHouse)
1111 C Chancellor/Marshall  (Promoted Rook   in Shogi and CrazyHouse)
1112 G Grasshopper          (Promoted Queen in Crazyhouse, promoted Lance in Shogi)
1113 S                      (Promoted Silver in Shogi)
1114 K King
1115
1116 Pieces that are not mentioned (because the argument has less than 34
1117 characters) will remain disabled. Mentioned pieces can be disabled by
1118 assigning them a '.' (period). They are then not recognized in FEN or
1119 PGN input. It is not advisable to disable a piece that is present in
1120 the opening position of the selected variant, though.
1121 Promoted pieces that need to be distinguished from original pieces of
1122 the same type (because of demotion on capture and transfer to the
1123 holdings) will be indicated by the letter for the unpromoted piece
1124 with a '+' in front of it (Shogi), or by the letter of the promoted
1125 piece with a '~' after it (Crazyhouse, Bughouse, in general everything
1126 with holdings that is not Shogi).
1127 All the new pieces have a native biytmap representation in the board
1128 sizes 'bulky' and 'middling'. For all window sizes that do not support
1129 such fairy bitmaps, promoted NBRQ are represented as a 2-sizes-smaller
1130 normal piece symbol, so that Crazyhouse can be played at any
1131 size. People disliking the fairy representations might even prefer
1132 that.
1133 There is an enhanced 'Edit Position' menu popup (right-clicking on the
1134 squares after selecting this mode in the main menu), featuring some
1135 common non-FIDE pieces, and 'promote' and 'demote' options to make
1136 those not directly in the menu. The promotion popup shows ArchBishop
1137 and Chancellor in Capablanca and Gothic, (or in fact in any game where
1138 this piece is not disabled), and leaves only the options YES / NO in
1139 Shogi. In Xiangqi there are no promotions.
1140
1141 /fontPieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
1142 This option is similar to /pieceToCharTable, but sets the font
1143 character that is used to display the piece on the screen (when
1144 font-based rendering is in use), rather than in the FEN or PGN. The
1145 default setting should work with the WinboardF font, which uses the
1146 'intuitive' mapping of font characters to symbols.  Note that UHACGS
1147 are also used to represent the promoted versions of PNBRQF, in games
1148 like Crazyhouse and Shogi, where the promotion has to be undone on
1149 capture.
1150
1151 /boardWidth=-1 /boardHeight=-1
1152 Set a number of files and ranks of the playing board to a value that
1153 will override the defaults for the variant that is selected. A value
1154 of -1 means the variant default board size will be used for the
1155 corresponding parameter (and is itself the default value of these
1156 options). These parameters can be set in the "Files -> New Variant..."
1157 sub-menu, where they are reset to the default -1 is you OK the chosen
1158 variant without typing something to overrule it. These parameters are
1159 saved in the winboard.ini file. (But unless you saved while a variant
1160 with board-size override was selected, they will always be saved as
1161 -1.)
1162 A variant with a non-standard board size will be communicated to the
1163 engine(s) with the board size prefixed to the variant name,
1164 e.g. "variant 12x8_capablanca". In protocol 2 the engine must first
1165 enable this feature by sending "boardsizeFxR" amongst the accepted
1166 variants, where F is the maximum number of files, and R the maximum
1167 number of ranks, as decimal numbers.
1168
1169 /holdingsSize=-1
1170 Set the size of the holdings for dropable pieces to a value that will
1171 override the default for the variant that is selected. A value of -1
1172 means the variant default holdings size will be used for that
1173 parameter (and is itself the default value of this options). This
1174 parameter can be set in the Files -> New Variant... sub-menu, where it
1175 is reset to the default -1 is you OK the chosen variant without typing
1176 something to overrule it. This parameters is saved in the winboard.ini
1177 file.  To disable holdings, set their size to 0. They will then not be
1178 displayed. For non-zero holding size N, the holdings are displayed
1179 left and right of the board, and piece drops can be effected by
1180 dragging pieces from the holdings to the drop square. In bughouse, the
1181 holdings will be filled by the ICS. In all other variants, captured
1182 pieces will go into the holdings (after reversing their color). Only
1183 the first N pieces of the /pieceToCharTable argument will go into the
1184 holdings. All other pieces will be converted to Pawns. (In Shogi,
1185 however they will be demoted in the regular way before determining if
1186 they fit.) Pieces that are disabled (per default and per
1187 /pieceToCharTable option) might not be counted when determining what
1188 are the first N pieces.  Non-standard holdingsize will be communicated
1189 to the engine by prefixing it (together with the board size, even if
1190 this is standard) to the variant name, e.g. "variant 7x7+5_shogi". In
1191 protocol 2 the engine should enable this feature by sending
1192 "holdingsH" amongst the variant names, where H is the maximum
1193 acceptable holdings size as a decimal number.
1194
1195 /alphaRank=FALSE
1196 When this parameter is true, a-h are converted to 1-9, and vice versa,
1197 in all move output and input (to PGN files or SAN move display as well
1198 as in communication with the engine). This might be useful for Shogi,
1199 where conventionally one uses letters to designate ranks, and digits
1200 to designate files. Engines that want to use this option must make
1201 sure pieces are never represented by lower case! This option can be
1202 set from the Files -> New Variant... menu, where it defaults to FALSE
1203 unless you explicitly set it. It is not saved in the winboard.ini
1204 file.  Note that the PGN format in Shogi also leaves out the trailing
1205 '+' as check indicator: In Shogi such a trailing '+' means promotion,
1206 while a trailing '=' means defer promotion. Prefix '+' signs are used
1207 on moves with promoted pieces, disambiguation is done western SAN
1208 style.
1209
1210 /allWhite=FALSE
1211 Causes the outline of the 'white' pieces to be superimposed onto the
1212 'black' piece symbols as well (as a black outline) when native bitmaps
1213 are used (as opposed to font-based rendering). This is useful if we
1214 choose a very light color to represent the 'black' pieces. It might be
1215 particularly useful in Shogi, where the conventional representation of
1216 the 'black' pieces is as upside-down white pieces, so that both colors
1217 would be white. This option is saved in the winboard.ini file, and can
1218 be set in the "Options -> Board..." sub-menu.
1219
1220 /flipBlack=FALSE
1221 This option is reserved for future use. It will cause upside-down
1222 display of the 'black' native piece bitmaps, as would be needed for
1223 Shogi. For now it can be set from the "Options -> Board..." sub-menu,
1224 and it is saved in the winboard.ini file, but it is ignored.
1225
1226 /detectMate=TRUE
1227 /testClaim=TRUE
1228 /materialDraws=TRUE
1229 /trivialDraws=FALSE
1230 /ruleMoves=51
1231 /repeatsToDraw=6
1232 These are all options that only affect engine-engine play, and can be
1233 set from the "Options -> Engine..." sub-menu. They are all related to
1234 adjudication of games by the GUI. Legality checking must be switched
1235 on for them to work.  If /detectMate is TRUE, the GUI recognizes
1236 checkmate and stalemate (but not in games with holdings!), and ends
1237 the game accordingly before the engines can claim. This is convenient
1238 for play with engines that fail to claim, and just exit.  With
1239 /testClaim set, all result and illegal-move claims by engines that
1240 claim more than their own loss are scrutinized for validity, and false
1241 claims result in forfeit of the game. Useful with buggy engines.  The
1242 option /materialDraws=TRUE causes games with insufficient mating
1243 material to be adjudicated immediately as draws, in case the engines
1244 would not claim them.  The option /trivialDraws adjudicates KNNK,
1245 KBKB, KNKN, KBKN, KRKR and KQKQ to draws after 3 moves (to allow for a
1246 quick tactical win. Note that in KQKQ this might not be sound, but
1247 that problem would disappear once bitbase probing is added).  The
1248 /ruleMoves determine after how many reversible moves the game is
1249 adjudicated as a draw. Setting this to 0 turns this option off. Draw
1250 claims by the engine are still accepted (by /testClaim) after 50
1251 reversible moves, even if /ruleMoves species a larger number. Note
1252 that it is perfectly legal according to FIDE rules to play on after 50
1253 reversible moves, but in tournaments having two engines that want to
1254 play on forever is a nuisance in endings like KBNKR, where one of the
1255 engines thinks it is ahead and can avoids repeats virtually forever.
1256 The option /repeatsToDraw makes the GUI adjudicate a game as draw
1257 after the same position has occurred the specified number of times. If
1258 it is set to a value > 3, engines can still claim the draw after
1259 3-fold repeat.  All these options are saved in the winboard.ini file.
1260
1261 Clocks
1262 There is an "Options -> flip Clocks" command, that swaps the position
1263 of white and black clocks (convenient in over-the-board matches, where
1264 the screen is next to the board, and you want your own time to be
1265 displayed on your side of the screen). The clocks can be adjusted in
1266 "edit game" mode: right-clicking them adds one minute, left-clicking
1267 subtracts one minute. (Also for OTB matches, to keep them synchronized
1268 with the official match clock.) The flag-fell condition is now
1269 indicated as (!) behind the time.
1270
1271 Other improvements
1272 Castling rights and e.p. rights are now fully maintained, and
1273 considered in legality testing. They are imported from and written to
1274 FEN, as is the 50-move counter.
1275
1276 ** Winboard_F 4.3.2
1277
1278 These are the release notes of Winboard_F 4.3.2, which is released
1279 under the GPL.  This version was derived from Allessandro Scotti's
1280 Winboard_x 4.2.7 source files.  It only includes the files that were
1281 changed:
1282
1283 config.h
1284 common.h
1285 parser.h
1286 moves.h
1287 resource.h
1288
1289 winboard.c
1290 backend.c
1291 moves.c
1292
1293 parser.l
1294 winboard.rc
1295
1296 and some bitmaps for piece symbols
1297
1298 I made modifications in the following areas:
1299
1300 1) Adjudication and claim verification
1301 2) Fairy pieces and board sizes other than 8x8
1302 3) Miscellaneous
1303
1304 Miscellaneous
1305
1306 /matchPause=10000
1307 is an option to set the length of the pause between two games of a
1308 match. The value is in msec, default value is 10000 (I will present
1309 all newly implemented options with their default value as example). Be
1310 aware that some engines might not be stopped yet if you make the pause
1311 too small, but might still be puking output, which then will interfere
1312 with the next game. But the fixed value of 10 sec of the old Winboard
1313 seemed like overdoing it.
1314
1315 Time info in PGN
1316 When you ask for the PV-info to be stored in the PGN (a Winboard_x
1317 option), it now also stores the time spent on the move with it.
1318
1319 Flag fell
1320 In engine-engine games the messge "white/black/both" flag(s) fell" no
1321 longer appears in the window caption, but as an exclamation point
1322 behind the clock time. (To prevent the annoying overwriting of the
1323 normal header line).
1324
1325 Adjudications and Claim verification.
1326
1327 These functions are only present in engine-engine games, and only if
1328 legality-testing is switched on. (The latter will be typically
1329 switched off in games with bizarre rules, which the GUI doesn't know,
1330 and in that case the GUI can never have an opinion on the outcome of a
1331 game.)
1332
1333 Illegal-move forfeit
1334 As soon as one of the engines plays an illegal move, it forfeits the
1335 game. This feature was already present, but it should be 100% reliable
1336 now, as it also takes e.p. and castling rights into account, rather
1337 than erring on the safe side.
1338
1339 Illegal-move claim
1340 From the above, it follows that any illegal-move claims by an engine
1341 must be false, and will result in forfeiting the game. (In Winboard_x
1342 this message is ignored, causing the game or match to hang.)
1343
1344 Checkmate adjudication
1345 As soon as one of the engines does a move that results in checkmate,
1346 the GUI declares the game won, without waiting for the engine to claim
1347 it.
1348
1349 Insufficient mating material
1350 As soon as the material on the board has shrunk to KK, KNK or KBK, the
1351 game is declared draw.
1352
1353 /adjudicateLossThreshold=0
1354 This option was already present in Winboard_x, (to declare a game lost
1355 for which both engines agree for 3 moves that the score is below the
1356 given threshold), but a non-zero value is now also used to enable the
1357 following adjudications. If you only want the latter, just make the
1358 threshold impossibly low (-40000 will usually do the trick).
1359
1360 Trivial draws
1361 If we are 3 moves into a KQKQ, KRKR, KBKB KBKN or KNKN end-game, the
1362 game is adjudicated as draw.
1363
1364 /repeatsToDraw=6
1365 When the specified number of repeats occurs, the game is adjudicated
1366 draw. Should keep track of e.p. and castling rights. This does not
1367 require legality-testing to be switched on. The engines retain the
1368 legal right to claim after a 3-fold repetition, though. If you set
1369 this parameter to 3 or less, they will never get the chance. Better
1370 not set it to 1 or less.
1371
1372 /ruleMoves=51
1373 After the given number of full moves without capture or Pawn move, the
1374 game is adjudicated draw. Even without legality testing. The engines
1375 retain the legal right to claim after 50 moves.
1376
1377 /testClaims=FALSE
1378 When enabled, this option verifies all result claims made by the
1379 engines, and overrules the claim if it is false (forfeiting the game
1380 for the claimer). An engine can still safely claim a win for its
1381 opponent on a nonsense reason, though; this is taken to be the
1382 equivalent of 'resign'. Draw claims (made before a draw adjudication)
1383 are checked against the 50-move, 3-fold-repetition or
1384 insufficient-material rules. Win claims are always considered false,
1385 as the GUI adjudicates checkmates (and stalemates) before any engine
1386 can claim them.
1387
1388 Fairy-Chess support
1389
1390 /boardWidth=8
1391 Sets the number of files on the board. The additional files are named
1392 i, j, k, l... in PGN, and should be indicated this way in
1393 communicating moves to and from the engine. Currently works upto
1394 12. No guarantees on how the rest of the display (clocks, etc.) looks
1395 if you make this number < 8.
1396
1397 /boardHeight=8
1398 Sets the number of ranks. Extra ranks are numbered 9, 10, 11... in
1399 PGN. This is so far largely untested, and unlikely to work for
1400 double-digit ranks. Displaying boards with upto 12 ranks seems to
1401 work, though, but double-digit ranks might cause all kind of unforseen
1402 problems in PGN file and move parser, or in communication with the
1403 engine. To avoid such problems as much as possible, in boards with
1404 more than 9 ranks the counting of ranks will start at zero rather than
1405 one!
1406
1407 /fontPieceToCharTable="......."
1408 This paramater, controlling the mapping of font symbols to piece
1409 types, was already present in Winboard_x. The default is dependent on
1410 the font selected with the /renderPiecesWithFont option. It can now
1411 accept upto 32 pieces, but the length should always be even. The first
1412 half designates the white pieces, the second half the black, both in
1413 the order PNBRACHFEWDOGMQK. (The letters mentioned here are the
1414 letters by which the pieces will be indicated in PGN and FEN notation,
1415 what you have to give as argument depends on the font you use. A black
1416 king might be 'l', for instance).  If you give fewer then 32 pieces,
1417 this will go at the expense of what is just before Queen. So the last
1418 two symbols you give for each color are always Queen and King, the
1419 others are assigned in the order Pawn, Knight, ... Pieces that do not
1420 get a symbol assigned will remain invisible.
1421
1422 fairy-FEN support
1423 The letters ACDEFGHMOW are accepted in FENs in addition to the regular
1424 PNBRQK,(and of course the lower case versions for black), and are
1425 passed to the engine in a setboard or edit menu.  Double-digit skips
1426 are acceptable in FENs. 'x' is interpreted as a skip of 10.  Castling
1427 rights should no longer be ignored. (Doesn't work for FRC yet,
1428 though.)  The 50-move-plies field should also be meaningful now.
1429
1430 Legality testing for Fairy pieces
1431 There is a build in notion of what some of the new pieces can do, according to
1432 A = Archbishop (aka Cardinal) = N+B
1433 C = Chancellor (aka Marshall) = N+R
1434 F = Ferz (aka General), moves 1 step diagonal
1435 W = Wazir (aka Grand Vizer), moves 1 step orthogonal
1436 E = Elephant (aka Alfil), jumps 2 steps diagonal
1437 D = Dabbabah (aka War Machine), jumps 2 steps orthogonal
1438 M = Man (aka Commoner), moves as King, but is not a royal piece
1439 O = Cannon, moves along Rook lines, but cannot capture unless it jumps over
1440             exactly one piece (friend or foe), and captures the first piece
1441             it encounters thereafter. It can only jump if it captures something.
1442             The piece jumped over (the 'platform') is not affected.
1443 The other pieces have not yet any moves implemented:
1444 H = Nightrider
1445 G = Grasshopper
1446 In games that use the mentioned pieces as described (Shatranj,
1447 Courier, Capablanca Chess) you can leave legality testing on. If you
1448 use them to represent pieces that move differently, you should switch
1449 legality testing off.
1450
1451 Pawn moves
1452 Pawn motion is made dependent on the variant played: in Shatranj and
1453 Courier the double move is forbidden. In those games promotions are
1454 always to Ferz. In Capablanca Chess the ArchBishop and Chancellor also
1455 appear as choices in the promotion popup box.
1456
1457
1458 /variant="normal"
1459 Several new variants names are added (replacing "variant31" upto
1460 "variant36"). They affect the initial position. (Board size has to be
1461 set separately.) They are: courier (a Medieval predecessor of modern
1462 Chess, played on a 12x8 board) capablanca (on a 10x8 board, featuring
1463 Archbishop and Chancellor) gothic (as Capablanca, but with a more
1464 exciting initial setup) xiangqi (Chinese Chess) shogi (Japanese Chess,
1465 no support yet) fairy (This variant plays on 8x8 with HEW in stead of
1466 NBR on the Queen side, so that all back-rank pieces are (potentially)
1467 different) Make sure the selected board size matches the variant; this
1468 is not automatic
1469
1470 Xiangqi and Shogi support (or lack thereof)
1471 Xiangqi is only partially supported. The board display is
1472 western-style (the pieces play on squares, rather than grid
1473 intersections). The legality testing uses the Shatranj Knight and
1474 Elephant, that cannot be blocked, and thus allows some moves that
1475 should be illegal in Xiangqi. The Palace region is indicated on the
1476 board, but there is no testing if the King or Mandarins (implemented
1477 as ordinary Ferzes) leave the Palace. SAN might be non-standard, as it
1478 uses O to indicate Cannon. Most of this will be fixed in a future
1479 version.  Shogi is not yet supported at all, first the shaky
1480 implementation of Crazyhouse will have to be beefed up.