4c39ced075e9f856068e38d4898c99880068d2f9
[xboard.git] / whats_new / 4.9.0 / index.html
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" -->
6
7 <h2>What is new in XBoard/WinBoard 4.9.0?</h2>
8 <table cellpadding="20"><tr valign="top"><td>
9
10 <a href="#tag-A"><h4>New features in this release</h4></a>
11 <ul><li>
12 <a href="#tag-A5">Running EPD test suites</a>
13 </li><li>
14 <a href="#tag-A6">Getting instant help (XB)</a>
15 </li><li>
16 <a href="#tag-A16">Editing castling rights in a position</a>
17 </li><li>
18 <a href="#tag-A7">Use mouse wheel to set up position (XB)</a>
19 </li><li>
20 <a href="#tag-A8">Allow engine to pop up its settings dialog</a>
21 </li><li>
22 <a href="#tag-A9">Specifying ultra-fast games (XB)</a>
23 </li><li>
24 <a href="#tag-A10">Installing board themes from packages (XB)</a>
25 </li><li>
26 <a href="#tag-A11">Using a single-button mouse</a>
27 </li><li>
28 <a href="#tag-A12">A special directory for start positions</a>
29 </li><li>
30 <a href="#tag-A13">Allow terminal-less ICS play (XB)</a>
31 </li><li>
32 <a href="#tag-A14">Sound warnings in analysis mode</a>
33 </li><li>
34 <a href="#tag-A15">Changing fonts through the GUI (XB)</a>
35 </li><li>
36 <a href="#tag-A17">Automatic adapting of fonts to board size (XB)</a>
37 </li></ul>
38
39 </td><td>
40
41 <a href="#tag-B"><h4>New variant support</h4></a>
42 <ul><li>
43 <a href="#tag-B1">New piece types</a>
44 </li><li>
45 <a href="#tag-B2">Allowing more than 26 piece types</a>
46 </li><li>
47 <a href="#tag-B3">More flexible piece promotion</a>
48 </li><li>
49 <a href="#tag-A2">Restricting promotion choice</a>
50 </li><li>
51 <a href="#tag-A3">New configurable move types</a>
52 </li><li>
53 <a href="#tag-A4">Inscribing pieces with text</a>
54 </li><li>
55 <a href="#tag-B4">Setting rules from the command line</a>
56 </li><li>
57 <a href="#tag-B5">Allow inaccessible squares</a>
58 </li><li>
59 <a href="#tag-B6">Load Shogi games in .kif format</a>
60
61 </li></ul>
62
63 </td><td>
64
65 <img src="../4.5.0/winboardF.png">
66   <p>
67     <a href="../4.9.0/index.html">Follow-up</a>
68   </p>
69   <p>
70     <a href="../4.8.0/index.html">Preceding release (4.8.0)</a>
71   </p>
72   <p>
73     <a href="http://hgm.nubati.net/news.html">Experimental and future stuff</a>
74   </p>
75 </td></tr></table>
76
77 <a name="tag-A"><h2>The following features are new in XBoard 4.9.0:</h2></a>
78
79 <img src="EPD.png" style="float:left;margin:20px">
80 <h3><a name="tag-A5">EPD test suites</a></h3>
81 <p>
82 A new volatile option <b>-epd</b> will switch XBoard in EPD mode for the duration of the session.
83 In this mode all games will be terminated after a single move.
84 This move will then be compared with the best-move (bm) or avoid-move (am) fields
85 from the EPD position specification from which the game started,
86 and counters will be kept of the number of good and wrong solutions thus given by the engine.
87 XBoard can thus be used to run an EPD test suite, through a command like
88 "<b>xboard -epd -mg 100 -lpf STS1.epd -lpi -1 -fcp crafty</b>"
89 to solve the first 100 test positions on the STS1.epd file with the Crafty engine
90 at the default time control.
91 The results of the test suite will be reported in the second pane of the Engine Output window,
92 and as the 'match' result in the title bar:
93 finding a correct best move will be counted as a win, playing an avoid move as a loss,
94 and all other moves as draws.
95 </p>
96
97 <h3><a name="tag-A7">Selecting a piece with the mouse wheel</a></h3>
98 <p>
99 In Edit Position mode, operating the mouse wheel above a square now creates a piece in that square,
100 or changes the identity of that piece, making it run through the entire set of pieces participating in the current variant.
101 This is especially useful in variants with many piece types,
102 where sweep selection becomes problematic due to lack of space to move the mouse.
103 </p>
104
105 <h3><a name="tag-A11">What if your mouse only has a single button?</a></h3>
106 <p>
107 Setting up a position required the right mouse button ('button 3' in Linux) to put new pieces on the board.
108 The option <b>-monoMouse</b> can allow XBoard to use the left button for this.
109 In that case clicking over an empty square will behave like it was a right-click,
110 and will create a piece in that square.
111 Clicking over an occupied square will select or grab the piece,
112 as usual for left-clocks.
113 </p>
114
115 <h3><a name="tag-A12">Your favorite starting positions</a></h3>
116 <p>
117 A new option <b>-positionDir</b> can force the file-selector dialog that pops up in response to Load Position
118 to start browsing in the specified directory, rather than in the current directory.
119 This can be useful whan you have a fvorite set of positions from which you often start games,
120 e.g. for several material-odds positions.
121 </p>
122
123 <img src="Help.png" style="float:right;margin:20px">
124 <h3><a name="tag-A6">Clicking menus and dialog texts for instant help</a></h3>
125 <p>
126 All text labels in dialogs and the main pop-down menu items can now be right-clicked,
127 in order to pop up a text box with the description of their function from the manual.
128 The man page has been largely rewritten and re-organized to make sure most
129 items produce satisfactory help this way.
130 </p>
131
132 <h3><a name="tag-A9">Fractions in the time-control parameters</a></h3>
133 <p>
134 The spin controls in the Time Control dialog of XBoard's GTK build do not allow entering non-integer values,
135 which precluded setting base times like 0:30 (for 30 sec) or increments like 0.1 (sec).
136 To work around that there now is a divide-by-60 checkbox in that dialog,
137 which allows you to enter base times in seconds and increments in units of 1/60 seconds.
138 </p>
139
140 <h3><a name="tag-A8">Engine Settings on the engine's demand</a></h3>
141 <p>
142 It was already possible for an engine to cause pop up of a message, or a simple question.
143 Now engines can modify their settings dialog after startup, and force it to pop up.
144 This is triggered by the 'feature done=N' command, where a meaning has been given to new values of N.
145 XBoard will now erase the engine's option list on receiving done=0,
146 so that the engine can redefine the settings, or even the options itself, by resending 'feature option' commands.
147 Ending such a resent option list with "feature done=1" will now cause the contents of an open settings dialog to be updated.
148 Ending it with done=2 will alert XBoard that the list of options itself changed,
149 and force it to close and re-open a dialog that was already open.
150 Ending with done=3 will even open a redesigned dialog when no dialog was up before,
151 allowing the engine to ask for attention.
152 </p>
153
154 <img src="Password.png" style="float:left; margin:20px">
155 <h3><a name="tag-A13">Getting rid of the xterm window in ICS play</a></h3>
156 <p>
157 The console from which XBoard was started was historically used as text window to interact with the Internet Chess Server.
158 But the ICS Chat/Console window now fulfills the same function.
159 So not being able to read from or write to the terminal is no longer a fatal error,
160 and XBoard can be started in ICS mode without terminal, provided the ICS Chat/Console window is open.
161 This window now also hides the password you are typing,
162 and prevents you from recalling it with the arrow keys.
163 </p>
164
165 <h3><a name="tag-A16">Controlling castling and e.p. rights in Edit Position mode</a></h3>
166 <img src="Rights.png" style="float:right; margin:20px">
167 <p>
168 XBoard has long since been made castling-aware, but the castling rights could only be fully controlled by pasting a FEN.
169 In Edit Position mode a simplistic heuristic was used to assign such rights:
170 King and Rooks on their normal starting square would be assumed to not have moved.
171 This is usually the case, but not always, and setting up those exceptional positions was not possible.
172 And set up positions never had the right to e.p. capture.
173 </p>
174 <p>
175 Now it has been made possible to grant or revoke castling or e.p. rights to arbitrary pieces.
176 By first selecting a Rook, King or Pawn in Edit Position mode with a left-click, and then clicking it again,
177 the assignment of rights to that piece will be reversed.
178 The new state of the piece will be displayed in the message field,
179 so you won't lose track.
180 By endowing a Pawn with rights you will indicate it has just been double-pushed,
181 and e.p. rights to capture it will be assigned to the position.
182 Kings and Rooks created by a right-click in a square will be assumed to have rights based on the old heuristic,
183 but Kings and Rooks put on their starting square by moving them there will be assumed to have moved.
184 </p>
185 <h3><a name="tag-A10">Auto-install of board themes</a></h3>
186 <p>
187 A new option <b>-installTheme</b> has been added, which can be put into XBoard's master settings file
188 when installing a package with new piece images and/or board textures,
189 to make a selection item for this board theme automatically appear in XBoard's themes listbox.
190 This opens the possibility for easy packaging and distribution of board themes.
191 </p>
192
193 <img src="Fonts.png" style="float:left; margin:20px">
194
195 <h3><a name="tag-A15">A dialog to alter XBoard's font settings interactively</a></h3>
196 <p>
197 In the GTK build fonts have names that can be handled by mortals, like "Sans Bold 10"
198 for a 10-point bold sans-serif font.
199 It has thus become sensible to set them through a dialog.
200 (In WinBoard this has of course been long since possible.)
201 XBoard's new Fonts dialog allows you to type the name of a pango font in a text edit,
202 or operate four buttons:
203 to increase or decrease the point size,
204 or to toggle the 'bold' or 'italic' font attributes.
205 Operating the buttons changes the font name in the preceding text edit accordingly,
206 and actually displays that name in the font it represents,
207 so the user has a preview of what he is doing.
208 </p><p>
209 Each window type has its own font control,
210 so that the user can use a monospace font in windows where columnar output is expected
211 (such as the ICS Chat/Console,
212 use a figurine font where mostly moves are displayed (Engine Output or Move History), etc.
213 </p>
214
215 <h3><a name="tag-A17">Persistent sizing and font selection in XBoard's GTK build</a></h3>
216 <p>
217 Sizing the window now not only affects the board part of XBoard's main window,
218 but also the fonts chosen in clocks and message above the board, making the clock and message area size too.
219 (Just like WinBoard has always been doing.)
220 This also makes it possible to size the board much smaller than it initial size,
221 as the default fonts get smaller as the board shrinks.
222 This eventually makes the board look just as it would look when you would start it in the final size.
223 This consistent board size is now saved in the settings file,
224 so that next time you will indeed start up with almost the same board as the sized one
225 (except some rounding of the square size to one of the 18 standard sizes).
226 </p><p>
227 For the fonts in other windows it is not so obvious that you want them to change when the board window is resized,
228 although the default fonts for these windows does depend on board size.
229 Therefore a more subtle algorithm is used for those:
230 XBoard keeps track of whether the font used for each size is the default for that size,
231 or a font that once was defined by the user through a command-line option or the Fonts dialog,
232 (and possibly transfered through the settings file).
233 Such non-default fonts will then be adhered to after sizing the board window
234 when no explicitly specified font for the new size did exist yet.
235 Meaning that you would only have to select a new font for each window once,
236 after which it will be kept no matter how you size the board.
237 Unless you take explicit action to select a separate font for each board size.
238 </p>
239
240 <h3><a name="tag-A14">Making a sound during analysis</a></h3>
241 <p>
242 The move sound can now also be played when a new PV arrives in Analyze mode
243 (where normal moving does not take place).
244 A new option <b>-analysisBell DELAY</b> can specify a DELAY in seconds,
245 and any line of engine thinking output that arrives after this delay
246 will cause the move sound to be played.
247 Setting the value to zero will disable move sounds during analysis.
248 </p>
249
250
251
252 <a name="tag-B"><h2>New variant support</h2></a>
253
254 <div>
255 <img src="Pieces.png" style="float:right; margin:20px">
256 <h3><a name="tag-B1">22 New piece types</a></h3>
257 <p>
258 The number of piece types in XBoard has been expanded from 44 to 66.
259 The order of the pieces beyond the first 22 in the <b>-pieceToCharTable</b> option,
260 which was never officially defined, (as those pieces were only used in Chu Shogi), is now established as well.
261 This ordering is depicted in the image.
262 XBoard distinguishes primary and secondary pieces (the latter indicated on purple background).
263 To make pieceToCharTables compatible with future expansion of the number of primary pieces,
264 a slash '/' in this table indicates that the pieces following it are from the secondary series
265 (except for King, which is always the last piece of each color).
266 These secondary pieces are assumed to be less generally useful,
267 satisfying very specific needs of some Shogi variants,
268 and would thus hardly be needed.
269 </p><p>
270 All pieces have a default image in XBoard, scalable to all square sizes.
271 WinBoard, however, does not have built-in bitmaps for most unorthodox pieces
272 for square sizes other than 33x33 ('petite'), 49x49 ('middling') and 72x72 ('bulky'),
273 and no bitmaps for the pieces on green or purple background in any size.
274 WinBoard can load images for all pieces from external bitmap files, however.
275 The name of these files in the pieceImageDirectory should be
276 pieceNN_SSo.bmp, pieceNN_SSs.bmp, and pieceNN_SSw.bmp, 
277 (for the outline, solid and background image),
278 with SS the square size (e.g. 49),
279 and NN the number of the pieces in the pieceToCharTable ordering (0-65).
280 Pieces shown in black in XBoard are duplicats of other pieces in the default piece theme,
281 but in principle have different names for their image files,
282 so that in other themes they could be different.
283 (This is useful in Shogi, where the same piece sometimes has a different name written on it.)
284 </p><p>
285 Note that the Lance and Lion image occur on two different pieces;
286 This because the pieces originally using these images have special properties in XBoard.
287 The Lance is considered an alternative Pawn, and thus is assumed to promote 
288 (with full promotion choice)
289 when reaching last rank.
290 The Lion is subject to rules that restrict its trading.
291 The duplicats are added so that these pictograms can also be used for pieces not having this property.
292 </p>
293 </div>
294
295 <h3><a name="tag-B2">Beating the alphabet</a></h3>
296
297 <p>
298 Some Shogi variants have (far) more than 26 piece types.
299 This makes it impossible to assign a single letter as ID for the piece,
300 for the purpose of writing its moves as SAN, or its occurrence in FEN.
301 In XBoard this problem has now been solved by allowing pieces to be represented by 'dressed letters',
302 a letter followed by a punctuation mark like an exclamation point or quote.
303 So if L represents one piece, L' represents another, and L! yet another.
304 In the future this could be extended with still other symbols (like L"),
305 but at the moment having 3x26 = 78 possible IDs,
306 still stretched more by the +L notation for promoted pieces,
307 seems more than enough.
308 </p>
309
310 <h3><a name="tag-B3">Promoting pieces, but to what?</a></h3>
311 <p>
312 XBoard already supported Shogi-style promotion of pieces,
313 where each piece promotes to a fixed 'partner'.
314 The assignment of a promotion partner was fixed, however:
315 each piece in the first 11 of the pieceToCharTable could promote to the piece 11 places further.
316 This was enabled by defining the ID for the latter as '+'.
317 For reasons of backward compatibility, this is still how things work by default.
318 </p><p>
319 But in XBoard 4.9 a piece can be indicated by multiple characters in the pieceToCharTable,
320 and the combination ^L defines a piece not only as a promoted type (like '+' would),
321 but also specifies it is the promoted partner of the piece with ID 'L',
322 which could be any other piece in the pieceToCharTable.
323 So any piece can potentially promote to any other,
324 redefining the fixed pairing between pieces in the first and second group of 11.
325 </p><p>
326 Another novelty is that pieces can also be defined with an ID *L.
327 This has the same effect as defining it as the (unpromoted) 'L',
328 but in addition defines the 10th piece of the secondary series as its promoted form.
329 This allows many pieces to have the same promoted form,
330 (as commonly occurs in large Shogi variants),
331 without the need to have multiple representations for that promoted version.
332 </p>
333
334 <h3><a name="tag-A2">Promotion choice, but with restrictions</a></h3>
335 <p>
336 XBoard assumes by default that Pawns can promote to any piece participating in the variant
337 that is not a Pawn or King.
338 This then is the choice the user is offered through detour or sweep promotions.
339 It is left to the engine to refuse moves that would choose a non-allowed piece,
340 and often the default choice (the piece obtained when not dragging the Pawn through a detour,
341 or making a static click on the to-square)
342 would not be the strongest piece at all.
343 </p><p>
344 XBoard 4.9 supports a new extension of the engine communication protocol,
345 where an engine can send a 'choice' command
346 in response to a 'put' or 'lift' command sent to it because the user
347 performed a promoting move (to last rank, or to a square highlighted in magenta).
348 This 'choice' command conveys a list of piece IDs of possible promotion choices,
349 to which XBoard then will limit the choice offered to the user.
350 The first mentioned piece in this list will then be the default choice.
351 </p>
352
353 <img src="Inscribe.png" style="float:left;margin:20px">
354 <h3><a name="tag-A4">UTF8 text inscriptions on pieces</a></h3>
355 <p>
356 XBoard 4.9 has a new volatile option -inscriptions, which can define an UTF8 text string.
357 The characters in this string correspond to pieces according to the same rules as the -pieceTCharTable option.
358 Thus defined characters will then be written on top of the corresponding piece image.
359 In addition there is a new 'fall-back' rule for missing piece images in a user-defined <b>-pieceImageDirectory</b>:
360 XBoard will first try to find an image called White/BlackTile.svg before using the piece image from the default theme.
361 </p><p>
362 Together, this can be used for on-the-fly reation of Shogi themes.
363 One just provides an image of a blank tile of average size as the Tile.svg image,
364 and no image for all pieces that are intended to use this.
365 (For pieces like Pawn and King that need different tile size, you an still include dediated images.)
366 The -insrciptions argument then indicates what kanji should be written on which piece.
367 The kanji are written in red when the piece was defined as a promoted one,
368 and rendered upside-down for the side playing downward when pieces are flipped Shogi style.
369 </p>
370
371 <h3><a name="tag-A3">New move-generator capabilities</a></h3>
372 <p>
373 XBoard 4.9 is capable to handle moves with two 'locust captures',
374 i.e. where two pieces disappear on squares other than to which the moving piece goes.
375 It also adopts the convention that locust capture of an own piece on the rank where the King starts
376 will be considered a castling of the capturing piece ('King analog') with the victim ('Rook analog'),
377 the latter ending up next to, but on the other side of the former.
378 This allows the definition of castling (through a betza 'O' atom) on non-royal pieces,
379 such as the 'guarding' of (extended) Omega Chess.
380 For castlings where the King moves one step this method is also used,
381 to resolve the ambiguity with normal King moves.
382 Castlings defined through an 'O' atom are not necessarily with the piece furthest away from the King (or other castling piece),
383 but one or more 'j' prefixes on the 'O' can indicate how many squares away from the edge the castling partner is located.
384 </p><p>
385 Another novelty is the use of an 'ii' prefix to Pawn moves,
386 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.
387 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,
388 but still 1 or 2 squares from 3rd rank, as in Wildebeest Chess.
389 The 'i' modifier has also been given a meaning for its appearence in continuation legs
390 (where its meaning as move for virgin pieces only makes no sense):
391 it can be used on sliding continuation legs to indicate the move has to be equally long (in basic steps)
392 as the preceding sliding leg ('i' standing for 'iso').
393 This allows for instance definition of slider rifle captures.
394 </p>
395
396 <img src="DarkSquares.png" style="float:right;margin:20px">
397 <h3><a name="tag-B5">Non-rectangular boards, or boards with holes</a></h3>
398 <p>
399 XBoard 4.9 supports inaccessible squares, displayed in black.
400 These can be used as fillers to fit non-rectangular boards in the display of XBoard.
401 E.g. the Omega-Chess board with the dangling Wizard squares can be realized
402 by defining a 12x12 board, and making all edge squares except the corners inaccessible.
403 In FENs these inaccessible squares are indicated by asterisks '*'.
404 </p>
405 <p>
406 In Edit Position mode you can create inaccessible squares by dragging empty squares off board,
407 but you can also fill them again by moving pieces or empty squares to them.
408 Clearing the board leaves the inaccessible squares as they are.
409 </p>
410
411 <h3><a name="tag-B4">Command-line options to redefine game rules</a></h3>
412 <p>
413 A new option <b>-fen</b> can define an alternative starting position
414 (from which the board size will be deduced).
415 This could already been done by specifying a position file through <b>-lpf</b>,
416 but the <b>-fen</b> option can do it directly from the command line, without the need for a separate file.
417 </p>
418 <p>
419 A new option <b>-men</b> can redefine moves of the pieces,
420 like the VariantMen tag does in a PGN file.
421 Its value can be a semicolon-separated list of piece ID : Betza move description pairs,
422 like Q:KGH;B:mBcaibB.
423 Both the <b>-men</b> and <b>-fen</b> options are volatile,
424 and apply only as long as the New Variant dialog is not used to select a variant.
425 </p>
426
427 <h3><a name="tag-B6">Foreign game formats</a></h3>
428 <p>
429 XBoard's game parser should now understand traditional Shogi notation, as in .kif files.
430 It would understand those both in UTF8 and Shift-JIS encoding.
431 This allows you to directly paste Shogi games into XBoard.
432 XBoard will always save games in PGN format, though.
433 </p>
434
435 <h3><a name="tag-C">Fixed bugs</a></h3>
436 <ul>
437   <li>
438         Fix crash on using Game List Tags dialog when Game List was not up.
439   </li>
440   <li>
441         Fix Browse buttons in Tournament Options dialog.
442   </li>
443   <li>
444         Fix file-type drop-down in Xaw file-selector dialog.
445   </li>
446   <li>
447         Fix crash on pasting garbage FEN.
448   </li>
449   <li>
450         Fix crash on loading empty PGN file.
451   </li>
452   <li>
453         Fix hanging on non-existent texture file (XB).
454   </li>
455   <li>
456         Fix spurious copying instead of moving in Edit Position mode.
457   </li>
458   <li>
459         Do not delay showing book changes while editing book.
460   </li>
461   <li>
462         Fix spurious clearing of Engine Output panes when PV walking.
463   </li>
464   <li>
465         Fix remembering tourney file and (WB) ticking of auto-step boxes in Tournament Options dialog when using Continue Later.
466   </li>
467   <li>
468         Ignore Continue Later button in Tournament Options when match in progress.
469   </li>
470   <li>
471         Fix closing of Error popup from Tournament Options dialog.
472   </li>
473   <li>
474         Prevent popup of Time Control dialog during game in XBoard.
475   </li>
476   <li>
477         Improve horizontal sizing of menu bar by better clipping of the menu names.
478   </li>
479   <li>
480         Fix date measurement in -addMaster option.
481   </li>
482   <li>
483         Wait for engine when switching to Edit Game mode when first engine is thinking.
484   </li>
485   <li>
486         Fix defaulting of second engine to first when UCI flag or directory specified (XB).
487   </li>
488   <li><b>Cosmetic</b></li>
489   <li>
490         Print mate scores in #N format also in message field.
491   </li>
492   <li>
493         Fix sorting of #N mate scores in Engine Output window (where smaller N is better).
494   </li>
495   <li>
496         Show moves as SAN in Edit Book window.
497   </li>
498   <li>
499         Display exclusion header in Engine Output window only for engines that support move exclusion.
500   </li>
501   <li>
502         Gray-out Machine Match menu when match already scheduled for termination.
503   </li>
504   <li>
505         Update user logo when username is changed.
506   </li>
507   <li>
508         Prevent old logos from remaining (partially) visible when new one does not exist or has deviant format.
509   </li>
510   <li>
511         Use result mentioned in game to reconstruct missing PGN Result tag, rather than considering it 'unfinished'.
512   </li>
513   <li>
514         Fix highlight clearing in Edit Position mode.
515   </li>
516   <li>
517         Fix highlighting of last move after rejection of premove.
518   </li>
519   <li>
520         Improve pointing of highlight arrow and its erasure.
521   </li>
522   <li>
523         Fix thick border around saved diagrams (WB).
524   </li>
525   <li>
526         Ignore grabbing / selecting opponent pieces in Analyze mode.
527   </li>
528   <li><b>GTK build</b></li>
529   <li>
530         Provide OK and Cancel buttons in top-level windows (that want them) for GTK build.
531   </li>
532   <li>
533         Fix periodic updates during analysis for GTK build.
534   </li>
535   <li>
536         Fix highlighting text in Engine Output and Move History windows GTK build.
537   </li>
538   <li>
539         Repair flashing of moved piece in GTK build (flaky!).
540   </li>
541   <li>
542         Allow default context menu to appear on 'off-target' right-clicks in GTK build.
543   </li>
544   <li>
545         Define mnemonic keys for items on menu bar.
546   </li>
547   <li>
548         Remember last browsed folder per file type rather than globally in GTK build.
549   </li>
550   <li><b>OSX App</b></li>
551   <li>
552         Save settings on quitting through menu in OSX App.
553   </li>
554   <li>
555         Fix behavior on case-sensitive OS X file systems.
556   </li>
557   <li>
558         Fix creation of spurious XBoard instances on OS X.
559   </li>
560   <li><b>ICS and zippy mode</b></li>
561   <li>
562         Fix crashing of Xaw build in ICS-zippy mode when opponent kibitzes and chat window is open.
563   </li>
564   <li>
565         Fix spurious undo at start of ICS game in zippy mode imediately after previous game was resigned.
566   </li>
567   <li>
568         Fix width of secondary board (for ICS background observe) in the GTK build.
569   </li>
570   <li>
571         Logout from ICS after engine failure in zippy mode.
572   </li>
573   <li>
574         Prevent Fix bell character from being printed in ICS Console window.
575   </li>
576   <li><b>Variants</b></li>
577   <li>
578         Fix behavior of engine-defined castling moves w.r.t. board holes and King rank.
579   </li>
580   <li>
581         Fix e.p. capture of triply-pushed Pawns.
582   </li>
583   <li>
584         Fix accepting illegal drops with legality testing off.
585   </li>
586   <li>
587         Fix higlight-induced promotions (moves to squares marked purple by the engine).
588   </li>
589   <li>
590         Fix sweep-promotion problems (black Pawns in Shogi, up-clicks in from-square, spurious promotion popups).
591   </li>
592   <li>
593         Fix spurious promotion suffix on drop moves parsed after a promotion move.
594   </li>
595   <li>
596         Fix sending of spurious 'lift' command to engine on deselecting a piece.
597   </li>
598   <li>
599         Fix parsing of SAN moves for pieces with redefined moves when legality testing is off.
600   </li>
601   <li>
602         Fix pasting FENs that start with an inaccessible square.
603   </li>
604   <li>
605         The GUI book code can now handle up to 48 (unpromoted) piece types, and boards up to 256 squares.
606   </li>
607   <li>
608         Allow promotion choice in variant ASEAN (to support this rule change).
609   </li>
610   <li>
611         Fix bare-king adjudication correction for Atomic, where a bare King is beats an exploded one.
612   </li>
613   <li>
614         Fix pasting of moves immediately after starting from position file.
615   </li>
616   <li>
617         Reset old piece redefinitions when loading new game.
618   </li>
619   <li>
620         Fix setting of piece virginity from reading PGN.
621   </li>
622   <li>
623         Fix variant switching triggered by engine load.
624   </li>
625 </ul>
626
627
628 </div><!-- for id="content", starts in the include above -->
629 <!--#include virtual="/server/footer.html" -->
630 <div id="footer">
631
632 <p>Please send general FSF &amp; GNU inquiries to
633 <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.
634 There are also <a href="/contact/">other ways to contact</a>
635 the FSF.<br />
636 Please send broken links and other corrections or suggestions to
637 <a href="mailto:bug-xboard@gnu.org">&lt;bug-xboard@gnu.org&gt;</a>.</p>
638
639 <p>Please see the <a
640 href="/server/standards/README.translations.html">Translations
641 README</a> for information on coordinating and submitting translations
642 of this article.</p>
643
644 <p>Copyright &copy; 2009, 2010, 2011, 2012, 2013, 2014, Free Software Foundation, Inc.</p>
645
646 <p>This page is licensed under a <a rel="license"
647 href="http://creativecommons.org/licenses/by-nd/3.0/us/">Creative
648 Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
649
650 <p>Updated:
651 <!-- timestamp start -->
652 $Date: 2016/03/20 05:01:49 $
653 <!-- timestamp end -->
654 </p>
655 </div>
656 </div>
657 </body>
658 </html>
659