Fifth Release V1.20
V1.20, released 17-Feb-2018, is the fifth stable version. You can download the ZIP file (5 MB):
Changes from V1.12
- The time management is a bit less aggressive.
- Higher priority for found null moves.
- Reduced the passed pawn extension.
- Removed the draw recognition in quiescence search with king and blocked pawns.
- Fixed a bug in KR:KB where the correct defender edge was not highlighted enough over its adjacent rim squares.
- Added rule of the square for passed pawns.
- Improved the defence in rook vs. rook and pawn.
- Fixed a corner case with the 50 moves rule: the 50th move draws only if it does not deliver checkmate.
- Increased the amount of pseudo-legal moves that entered positions can have from 140 to 190.
- Undoing or redoing moves within the opening book range handles the little ‘b’ that denotes book moves.
- Added more opening knowledge.
- When returning a move, the engine does not execute that move internally. This increases the GUI compatibility when looking for alternative moves via the UCI feature “searchmoves”.
- The half move counter in the FEN string is parsed correctly.
- Added options for controlling the contempt factor.
- Added an option to limit the speed via the node rate. At 30 kNPS and 1 MB hash, the performance should be close to the dedicated unit.
- Overhauled the I/O layer to achieve more robustness across the supported platforms. In particular, the engine idle state does not keep the OS from entering deeper energy saving modes.
- Fixed double final PV output in fixed depth search.
- Removed the “Show Short PVs” option - it is now always enabled. This reduces the perceived engine lag under some GUIs.
- The Windows binaries have ASLR and NX enabled (security enhancement).
- The build chain has been updated from GCC 6.3 to 6.4.
- Still no binaries included, but added a quick compilation guide under binaries/Linux in the download.
- In addition to the ARM binary in 32 bit, there are also ones for ARM64, x86 and x86-64.
- The binaries are dynamically linked to the C standard library for better support of position independent code (security enhancement).
- The Android build chain has been updated from Android NDK r15b to r15c.
- All versions
- The search in drawn KQ:KP positions is instable because the draw recognition in quiescence was removed with V1.20.
- Embedded target
- In complicated middlegame positions, the pre-search alone can take 10 seconds.
- Manually saving and loading a game in game-in or tournament mode adds Fischer delay and player bonus to the player’s clock.
- Building the firmware with GCC 7.0 or higher fails because of false positive warnings that are treated as errors.
- UCI versions
- Update to V1.30 advised: a buffer overrun happens with “debug on” and long input lines.
- A Clang issue with the compiler requires a small workaround for 64 bit. As to keep the versions in line, the impacted feature has been disabled for all Android builds.
Note: issues are fixed with new releases only – there are no backports. However, if an issue is found, it will be listed for the previous releases where applicable.