1 <!--#include virtual="/server/html5-header.html" -->
2 <title>XBoard - GNU Project - Free Software Foundation - NEWS</title>
3 <!--#include virtual="/server/banner.html" -->
4 <!--#set var="article_name" value="/server/standards/boilerplate" -->
5 <!--#include virtual="/server/gnun/initial-translations-list.html" -->
7 <h2>What is new in XBoard/WinBoard 4.9.0?</h2>
8 <table cellpadding="20"><tr valign="top"><td>
10 <a href="#tag-A"><h4>New features in this release</h4></a>
12 <a href="#tag-A5">Running EPD test suites</a>
14 <a href="#tag-A6">Getting instant help</a>
16 <a href="#tag-A7">Use mouse wheel to set up position</a>
18 <a href="#tag-A8">Allow engine to pop up its settings dialog</a>
20 <a href="#tag-A9">Specifying ultra-fast games</a>
22 <a href="#tag-A10">Installing board themes from packages</a>
24 <a href="#tag-A11">Using a single-button mouse</a>
26 <a href="#tag-A12">A special directory for start positions</a>
28 <a href="#tag-A13">Allow terminal-less ICS play</a>
30 <a href="#tag-A14">Sound warnings in analysis mode</a>
32 <a href="#tag-A15">Changing fonts through the GUI</a>
37 <a href="#tag-B"><h4>New variant support</h4></a>
39 <a href="#tag-B1">New piece types</a>
41 <a href="#tag-B2">Allowing more than 26 piece types</a>
43 <a href="#tag-B3">More flexible piece promotion</a>
45 <a href="#tag-A2">Restricting promotion choice</a>
47 <a href="#tag-A3">New configurable move types</a>
49 <a href="#tag-A4">Inscribing pieces with text</a>
51 <a href="#tag-B4">Setting rules from the command line</a>
53 <a href="#tag-B5">Allow inaccessible squares</a>
55 <a href="#tag-B6">Load Shogi games in .kif format</a>
61 <img src="../4.5.0/winboardF.png">
63 <a href="../4.9.0/index.html">Follow-up</a>
66 <a href="../4.8.0/index.html">Preceding release (4.8.0)</a>
69 <a href="http://hgm.nubati.net/news.html">Experimental and future stuff</a>
73 <a name="tag-A"><h2>The following features are new in XBoard 4.9.0:</h2></a>
75 <img src="EPD.png" style="float:left;margin:20px">
76 <h3><a name="tag-A5">EPD test suites</a></h3>
78 A new volatile option <b>-epd</b> will switch XBoard in EPD mode for the duration of the session.
79 In this mode all games will be terminated after a single move.
80 This move will then be compared with the best-move (bm) or avoid-move (am) fields
81 from the EPD position specification from which the game started,
82 and counters will be kept of the number of good and wrong solutions thus given by the engine.
83 XBoard can thus be used to run an EPD test suite, through a command like
84 "<b>xboard -epd -mg 100 -lpf STS1.epd -lpi -1 -fcp crafty</b>"
85 to solve the first 100 test positions on the STS1.epd file with the Crafty engine
86 at the default time control.
87 The results of the test suite will be reported in the second pane of the Engine Output window,
88 and as the 'match' result in the title bar:
89 finding a correct best move will be counted as a win, playing an avoid move as a loss,
90 and all other moves as draws.
93 <h3><a name="tag-A7">Selecting a piece with the mouse wheel</a></h3>
95 In Edit Position mode, operating the mouse wheel above a square now creates a piece in that square,
96 or changes the identity of that piece, making it run through the entire set of pieces participating in the current variant.
97 This is especially useful in variants with many piece types,
98 where sweep selection becomes problematic due to lack of space to move the mouse.
101 <h3><a name="tag-A11">What if your mouse only has a single button?</a></h3>
103 Setting up a position required the right mouse button ('button 3' in Linux) to put new pieces on the board.
104 The option <b>-monoMouse</b> can allow XBoard to use the left button for this.
105 In that case clicking over an empty square will behave like it was a right-click,
106 and will create a piece in that square.
107 Clicking over an occupied square will select or grab the piece,
108 as usual for left-clocks.
111 <h3><a name="tag-A12">Your favorite starting positions</a></h3>
113 A new option <b>-positionDir</b> can force the file-selector dialog that pops up in response to Load Position
114 to start browsing in the specified directory, rather than in the current directory.
115 This can be useful whan you have a fvorite set of positions from which you often start games,
116 e.g. for several material-odds positions.
119 <img src="Help.png" style="float:right;margin:20px">
120 <h3><a name="tag-A6">Clicking menus and dialog texts for instant help</a></h3>
122 All text labels in dialogs and the main pop-down menu items can now be right-clicked,
123 in order to pop up a text box with the description of their function from the manual.
124 The man page has been largely rewritten and re-organized to make sure most
125 items produce satisfactory help this way.
128 <h3><a name="tag-A9">Fractions in the time-control parameters</a></h3>
130 The spin controls in the Time Control dialog of XBoard's GTK build do not allow entering non-integer values,
131 which precluded setting base times like 0:30 (for 30 sec) or increments like 0.1 (sec).
132 To work around that there now is a divide-by-60 checkbox in that dialog,
133 which allows you to enter base times in seconds and increments in units of 1/60 seconds.
136 <h3><a name="tag-A8">Engine Settings on the engine's demand</a></h3>
138 It was already possible for an engine to cause pop up of a message, or a simple question.
139 Now engines can modify their settings dialog after startup, and force it to pop up.
140 This is triggered by the 'feature done=N' command, where a meaning has been given to new values of N.
141 XBoard will now erase the engine's option list on receiving done=0,
142 so that the engine can redefine the settings, or even the options itself, by resending 'feature option' commands.
143 Ending such a resent option list with "feature done=1" will now cause the contents of an open settings dialog to be updated.
144 Ending it with done=2 will alert XBoard that the list of options itself changed,
145 and force it to close and re-open a dialog that was already open.
146 Ending with done=3 will even open a redesigned dialog when no dialog was up before,
147 allowing the engine to ask for attention.
150 <img src="Password.png" style="float:left; margin:20px">
151 <h3><a name="tag-A13">Getting rid of the xterm window in ICS play</a></h3>
153 The console from which XBoard was started was historically used as text window to interact with the Internet Chess Server.
154 But the ICS Chat/Console window now fulfills the same function.
155 So not being able to read from or write to the terminal is no longer a fatal error,
156 and XBoard can be started in ICS mode without terminal, provided the ICS Chat/Console window is open.
157 This window now also hides the password you are typing,
158 and prevents you from recalling it with the arrow keys.
161 <h3><a name="tag-A10">Auto-install of board themes</a></h3>
163 A new option <b>-installTheme</b> has been added, which can be put into XBoard's master settings file
164 when installing a package with new piece images and/or board textures,
165 to make a selection item for this board theme automatically appear in XBoard's themes listbox.
166 This opens the possibility for easy packaging and distribution of board themes.
169 <img src="Fonts.png" style="float:left; margin:20px">
171 <h3><a name="tag-A15">A dialog to alter XBoard's font settings interactively</a></h3>
173 In the GTK build fonts have names that can be handled by mortals, like "Sans Bold 10"
174 for a 10-point bold sans-serif font.
175 It has thus become sensible to set them through a dialog.
176 (In WinBoard this has of course been long since possible.)
177 XBoard's new Fonts dialog allows you to type the name of a pango font in a text edit,
178 or operate four buttons:
179 to increase or decrease the point size,
180 or to toggle the 'bold' or 'italic' font attributes.
181 Operating the buttons changes the font name in the preceding text edit accordingly,
182 and actually displays that name in the font it represents,
183 so the user has a preview of what he is doing.
185 Each window type has its own font control,
186 so that the user can use a monospace font in windows where columnar output is expected
187 (such as the ICS Chat/Console,
188 use a figurine font where mostly moves are displayed (Engine Output or Move History), etc.
191 <h3><a name="tag-A14">Making a sound during analysis</a></h3>
193 The move sound can now also be played when a new PV arrives in Analyze mode
194 (where normal moving does not take place).
195 A new option <b>-analysisBell DELAY</b> can specify a DELAY in seconds,
196 and any line of engine thinking output that arrives after this delay
197 will cause the move sound to be played.
198 Setting the value to zero will disable move sounds during analysis.
203 <a name="tag-B"><h2>New variant support</h2></a>
206 <img src="Pieces.png" style="float:right; margin:20px">
207 <h3><a name="tag-B1">22 New piece types</a></h3>
209 The number of piece types in XBoard has been expanded from 44 to 66.
210 The order of the pieces beyond the first 22 in the <b>-pieceToCharTable</b> option,
211 which was never officially defined, (as those pieces were only used in Chu Shogi), is now established as well.
212 This ordering is depicted in the image.
213 XBoard distinguishes primary and secondary pieces (the latter indicated on purple background).
214 To make pieceToCharTables compatible with future expansion of the number of primary pieces,
215 a slash '/' in this table indicates that the pieces following it are from the secondary series
216 (except for King, which is always the last piece of each color).
217 These secondary pieces are assumed to be less generally useful,
218 satisfying very specific needs of some Shogi variants,
219 and would thus hardly be needed.
221 All pieces have a default image in XBoard, scalable to all square sizes.
222 WinBoard, however, does not have built-in bitmaps for most unorthodox pieces
223 for square sizes other than 33x33 ('petite'), 49x49 ('middling') and 72x72 ('bulky'),
224 and no bitmaps for the pieces on green or purple background in any size.
225 WinBoard can load images for all pieces from external bitmap files, however.
226 The name of these files in the pieceImageDirectory should be
227 pieceNN_SSo.bmp, pieceNN_SSs.bmp, and pieceNN_SSw.bmp,
228 (for the outline, solid and background image),
229 with SS the square size (e.g. 49),
230 and NN the number of the pieces in the pieceToCharTable ordering (0-65).
231 Pieces shown in black in XBoard are duplicats of other pieces in the default piece theme,
232 but in principle have different names for their image files,
233 so that in other themes they could be different.
234 (This is useful in Shogi, where the same piece sometimes has a different name written on it.)
236 Note that the Lance and Lion image occur on two different pieces;
237 This because the pieces originally using these images have special properties in XBoard.
238 The Lance is considered an alternative Pawn, and thus is assumed to promote
239 (with full promotion choice)
240 when reaching last rank.
241 The Lion is subject to rules that restrict its trading.
242 The duplicats are added so that these pictograms can also be used for pieces not having this property.
246 <h3><a name="tag-B2">Beating the alphabet</a></h3>
249 Some Shogi variants have (far) more than 26 piece types.
250 This makes it impossible to assign a single letter as ID for the piece,
251 for the purpose of writing its moves as SAN, or its occurrence in FEN.
252 In XBoard this problem has now been solved by allowing pieces to be represented by 'dressed letters',
253 a letter followed by a punctuation mark like an exclamation point or quote.
254 So if L represents one piece, L' represents another, and L! yet another.
255 In the future this could be extended with still other symbols (like L"),
256 but at the moment having 3x26 = 78 possible IDs,
257 still stretched more by the +L notation for promoted pieces,
258 seems more than enough.
261 <h3><a name="tag-B3">Promoting pieces, but to what?</a></h3>
263 XBoard already supported Shogi-style promotion of pieces,
264 where each piece promotes to a fixed 'partner'.
265 The assignment of a promotion partner was fixed, however:
266 each piece in the first 11 of the pieceToCharTable could promote to the piece 11 places further.
267 This was enabled by defining the ID for the latter as '+'.
268 For reasons of backward compatibility, this is still how things work by default.
270 But in XBoard 4.9 a piece can be indicated by multiple characters in the pieceToCharTable,
271 and the combination ^L defines a piece not only as a promoted type (like '+' would),
272 but also specifies it is the promoted partner of the piece with ID 'L',
273 which could be any other piece in the pieceToCharTable.
274 So any piece can potentially promote to any other,
275 redefining the fixed pairing between pieces in the first and second group of 11.
277 Another novelty is that pieces can also be defined with an ID *L.
278 This has the same effect as defining it as the (unpromoted) 'L',
279 but in addition defines the 10th piece of the secondary series as its promoted form.
280 This allows many pieces to have the same promoted form,
281 (as commonly occurs in large Shogi variants),
282 without the need to have multiple representations for that promoted version.
285 <h3><a name="tag-A2">Promotion choice, but with restrictions</a></h3>
287 XBoard assumes by default that Pawns can promote to any piece participating in the variant
288 that is not a Pawn or King.
289 This then is the choice the user is offered through detour or sweep promotions.
290 It is left to the engine to refuse moves that would choose a non-allowed piece,
291 and often the default choice (the piece obtained when not dragging the Pawn through a detour,
292 or making a static click on the to-square)
293 would not be the strongest piece at all.
295 XBoard 4.9 supports a new extension of the engine communication protocol,
296 where an engine can send a 'choice' command
297 in response to a 'put' or 'lift' command sent to it because the user
298 performed a promoting move (to last rank, or to a square highlighted in magenta).
299 This 'choice' command conveys a list of piece IDs of possible promotion choices,
300 to which XBoard then will limit the choice offered to the user.
301 The first mentioned piece in this list will then be the default choice.
304 <img src="Inscribe.png" style="float:left;margin:20px">
305 <h3><a name="tag-A4">UTF8 text inscriptions on pieces</a></h3>
307 XBoard 4.9 has a new volatile option -inscriptions, which can define an UTF8 text string.
308 The characters in this string correspond to pieces according to the same rules as the -pieceTCharTable option.
309 Thus defined characters will then be written on top of the corresponding piece image.
310 In addition there is a new 'fall-back' rule for missing piece images in a user-defined <b>-pieceImageDirectory</b>:
311 XBoard will first try to find an image called White/BlackTile.svg before using the piece image from the default theme.
313 Together, this can be used for on-the-fly reation of Shogi themes.
314 One just provides an image of a blank tile of average size as the Tile.svg image,
315 and no image for all pieces that are intended to use this.
316 (For pieces like Pawn and King that need different tile size, you an still include dediated images.)
317 The -insrciptions argument then indicates what kanji should be written on which piece.
318 The kanji are written in red when the piece was defined as a promoted one,
319 and rendered upside-down for the side playing downward when pieces are flipped Shogi style.
322 <h3><a name="tag-A3">New move-generator capabilities</a></h3>
324 XBoard 4.9 is capable to handle moves with two 'locust captures',
325 i.e. where two pieces disappear on squares other than to which the moving piece goes.
326 It also adopts the convention that locust capture of an own piece on the rank where the King starts
327 will be considered a castling of the capturing piece ('King analog') with the victim ('Rook analog'),
328 the latter ending up next to, but on the other side of the former.
329 This allows the definition of castling (through a betza 'O' atom) on non-royal pieces,
330 such as the 'guarding' of (extended) Omega Chess.
331 For castlings where the King moves one step this method is also used,
332 to resolve the ambiguity with normal King moves.
333 Castlings defined through an 'O' atom are not necessarily with the piece furthest away from the King (or other castling piece),
334 but one or more 'j' prefixes on the 'O' can indicate how many squares away from the edge the castling partner is located.
336 Another novelty is the use of an 'ii' prefix to Pawn moves,
337 indicating a move that can only be made when the Pawn is on the rank just in front of the one where it starts on.
338 This can be used for the often encountered rule on 10-rank boards that Pawns can be pushed 1, 2 or 3 squares from 2nd rank,
339 but still 1 or 2 squares from 3rd rank, as in Wildebeest Chess.
340 The 'i' modifier has also been given a meaning for its appearence in continuation legs
341 (where its meaning as move for virgin pieces only makes no sense):
342 it can be used on sliding continuation legs to indicate the move has to be equally long (in basic steps)
343 as the preceding sliding leg ('i' standing for 'iso').
344 This allows for instance definition of slider rifle captures.
347 <img src="DarkSquares.png" style="float:right;margin:20px">
348 <h3><a name="tag-B5">Non-rectangular boards, or boards with holes</a></h3>
350 XBoard 4.9 supports inaccessible squares, displayed in black.
351 These can be used as fillers to fit non-rectangular boards in the display of XBoard.
352 E.g. the Omega-Chess board with the dangling Wizard squares can be realized
353 by defining a 12x12 board, and making all edge squares except the corners inaccessible.
354 In FENs these inaccessible squares are indicated by asterisks '*'.
357 In Edit Position mode you can create inaccessible squares by dragging empty squares off board,
358 but you can also fill them again by moving pieces or empty squares to them.
359 Clearing the board leaves the inaccessible squares as they are.
362 <h3><a name="tag-B4">Command-line options to redefine game rules</a></h3>
364 A new option <b>-fen</b> can define an alternative starting position
365 (from which the board size will be deduced).
366 This could already been done by specifying a position file through <b>-lpf</b>,
367 but the <b>-fen</b> option can do it directly from the command line, without the need for a separate file.
370 A new option <b>-men</b> can redefine moves of the pieces,
371 like the VariantMen tag does in a PGN file.
372 Its value can be a semicolon-separated list of piece ID : Betza move description pairs,
373 like Q:KGH;B:mBcaibB.
374 Both the <b>-men</b> and <b>-fen</b> options are volatile,
375 and apply only as long as the New Variant dialog is not used to select a variant.
378 <h3><a name="tag-B6">Foreign game formats</a></h3>
380 XBoard's game parser should now understand traditional Shogi notation, as in .kif files.
381 It would understand those both in UTF8 and Shift-JIS encoding.
382 This allows you to directly paste Shogi games into XBoard.
383 XBoard will always save games in PGN format, though.
386 <h3><a name="tag-C">Fixed bugs</a></h3>
389 Fix crash on using Game List Tags dialog when Game List was not up.
392 Fix Browse buttons in Tournament Options dialog.
395 Fix file-type drop-down in Xaw file-selector dialog.
398 Fix crash on pasting garbage FEN.
401 Fix crash on loading empty PGN file.
404 Fix hanging on non-existent texture file (XB).
407 Fix spurious copying instead of moving in Edit Position mode.
410 Do not delay showing book changes while editing book.
413 Fix spurious clearing of Engine Output panes when PV walking.
416 Fix remembering tourney file and (WB) ticking of auto-step boxes in Tournament Options dialog when using Continue Later.
419 Ignore Continue Later button in Tournament Options when match in progress.
422 Fix closing of Error popup from Tournament Options dialog.
425 Prevent popup of Time Control dialog during game in XBoard.
428 Improve horizontal sizing of menu bar by better clipping of the menu names.
431 Fix date measurement in -addMaster option.
434 Wait for engine when switching to Edit Game mode when first engine is thinking.
437 Fix defaulting of second engine to first when UCI flag or directory specified (XB).
439 <li><b>Cosmetic</b></li>
441 Print mate scores in #N format also in message field.
444 Fix sorting of #N mate scores in Engine Output window (where smaller N is better).
447 Show moves as SAN in Edit Book window.
450 Display exclusion header in Engine Output window only for engines that support move exclusion.
453 Gray-out Machine Match menu when match already scheduled for termination.
456 Update user logo when username is changed.
459 Prevent old logos from remaining (partially) visible when new one does not exist or has deviant format.
462 Use result mentioned in game to reconstruct missing PGN Result tag, rather than considering it 'unfinished'.
465 Fix highlight clearing in Edit Position mode.
468 Fix highlighting of last move after rejection of premove.
471 Improve pointing of highlight arrow and its erasure.
474 Fix thick border around saved diagrams (WB).
477 Ignore grabbing / selecting opponent pieces in Analyze mode.
479 <li><b>GTK build</b></li>
481 Provide OK and Cancel buttons in top-level windows (that want them) for GTK build.
484 Fix periodic updates during analysis for GTK build.
487 Fix highlighting text in Engine Output and Move History windows GTK build.
490 Repair flashing of moved piece in GTK build (flaky!).
493 Allow default context menu to appear on 'off-target' right-clicks in GTK build.
496 Define mnemonic keys for items on menu bar.
499 Remember last browsed folder per file type rather than globally in GTK build.
501 <li><b>OSX App</b></li>
503 Save settings on quitting through menu in OSX App.
506 Fix behavior on case-sensitive OS X file systems.
509 Fix creation of spurious XBoard instances on OS X.
511 <li><b>ICS and zippy mode</b></li>
513 Fix crashing of Xaw build in ICS-zippy mode when opponent kibitzes and chat window is open.
516 Fix spurious undo at start of ICS game in zippy mode imediately after previous game was resigned.
519 Fix width of secondary board (for ICS background observe) in the GTK build.
522 Logout from ICS after engine failure in zippy mode.
525 Prevent Fix bell character from being printed in ICS Console window.
527 <li><b>Variants</b></li>
529 Fix behavior of engine-defined castling moves w.r.t. board holes and King rank.
532 Fix e.p. capture of triply-pushed Pawns.
535 Fix accepting illegal drops with legality testing off.
538 Fix higlight-induced promotions (moves to squares marked purple by the engine).
541 Fix sweep-promotion problems (black Pawns in Shogi, up-clicks in from-square, spurious promotion popups).
544 Fix spurious promotion suffix on drop moves parsed after a promotion move.
547 Fix sending of spurious 'lift' command to engine on deselecting a piece.
550 Fix parsing of SAN moves for pieces with redefined moves when legality testing is off.
553 Fix pasting FENs that start with an inaccessible square.
556 The GUI book code can now handle up to 48 (unpromoted) piece types, and boards up to 256 squares.
559 Allow promotion choice in variant ASEAN (to support this rule change).
562 Fix bare-king adjudication correction for Atomic, where a bare King is beats an exploded one.
565 Fix pasting of moves immediately after starting from position file.
568 Reset old piece redefinitions when loading new game.
571 Fix setting of piece virginity from reading PGN.
574 Fix variant switching triggered by engine load.
579 </div><!-- for id="content", starts in the include above -->
580 <!--#include virtual="/server/footer.html" -->
583 <p>Please send general FSF & GNU inquiries to
584 <a href="mailto:gnu@gnu.org"><gnu@gnu.org></a>.
585 There are also <a href="/contact/">other ways to contact</a>
587 Please send broken links and other corrections or suggestions to
588 <a href="mailto:bug-xboard@gnu.org"><bug-xboard@gnu.org></a>.</p>
591 href="/server/standards/README.translations.html">Translations
592 README</a> for information on coordinating and submitting translations
595 <p>Copyright © 2009, 2010, 2011, 2012, 2013, 2014, Free Software Foundation, Inc.</p>
597 <p>This page is licensed under a <a rel="license"
598 href="http://creativecommons.org/licenses/by-nd/3.0/us/">Creative
599 Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
602 <!-- timestamp start -->
603 $Date: 2016/03/20 05:01:49 $
604 <!-- timestamp end -->