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