Skip to content

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.


  • 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 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.

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.

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.