V1.20 should win back some Elo that V1.12 had lost. The important changes are:
- The time management is a bit less aggressive in the early phase. - Higher priority for found null moves. - Reduced the passed pawn extension. - Fixed a bug in the rook vs. bishop endgame where the correct defender edge was not highlighted enough over its adjacent rim squares. - Added rule of the square. - Fixed a corner case with the 50 moves rule: the 50th move draws only if it does not deliver checkmate. - Added more opening knowledge.
UCI versions: - After 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", in particular on the DGT Pi. - The half move counter in the FEN string is parsed correctly in plies. - 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. - Removed the "Show Short PVs" option - it is now always enabled. This reduces the perceived engine lag under some GUIs.
Windows: - ASLR and NX has been enabled (enhanced security). - Updated the GCC version from 6.3.1 to 6.4.0.
Android: - In addition to the ARM 32 bit binary, there are now also ones for ARM64, x86 and x86-64. - The binaries are now dynamically linked to the C standard library for better support of position independent code (security enhancement) and reduction of the program size. - Updated the NDK version from r15b to r15c.