Release V1.20
V1.20 was released on 2018-Feb-17. You can download the release 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 KR:KRP.
- 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.
UCI versions
- 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.
Windows
- The Windows binaries have ASLR and NX enabled (security enhancement).
- The build chain has been updated from GCC 6.3 to 6.4.
Linux
- Still no binaries included, but added a quick compilation guide under binaries/Linux in the download.
Android
- 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 NDK r15b to r15c.
Known issues
All versions
- The search in drawn KQ:KP positions is unstable because the draw recognition in quiescence was removed with V1.20.
- Capturing a castling enabled rook and then recapturing with another rook keeps the castling rights.
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.
- When entering a new position after undoing or redoing moves, the move list in the main screen is not cleared.
- Building the firmware with GCC 7.0 or higher fails because of false positive warnings that are treated as errors.
- The firmware is not compatible with the Olimex H405 mainboard variant that has a GigaDevice GD32F405 controller instead of an STMicroelectronics STM32F405.
UCI versions
- Update to V1.30 advised: a buffer overrun happens with “debug on” and long input lines.
Android
- 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.