Let LaunchSearch() also start ponder search
[uci2wb.git] / README.txt
index 09d94ae..3a09133 100644 (file)
@@ -50,6 +50,41 @@ H.G.Muller
 \r
 Change log:\r
 \r
+8/12/2018 4.0\r
+Complete redesign of the internal logic, to make interruption of thinking\r
+actually work. The engine thread is made responsible for parsing the GUI\r
+commands that require the engine to be idle. These commands are passed to\r
+it from the GUI thread through an internal command queue. The engine thread\r
+can peek in this queue when a search terminates and it enters the idle or\r
+pondering state. It only goes reading the ponder output after all queued\r
+commands are processed. This way the GUI thread is sensitive to input all\r
+the time, and can instantly handle all commands by either processing those\r
+that can be done during search, and queueing the others. In the latter case\r
+it can abort an ongoing search to divert the attention of the engine thread\r
+back to the command queue.\r
+ Other changes are:\r
+Added option to force the engine to ponder if force mode (for OTB tournaments).\r
+Produce a compliant error message for unknown commands.\r
+Fix time increment in ponder-on games (which was subtracted rather than added).\r
+Fix periodic updates, to include move and correct move counts.\r
+Set UCCI newgame option after initial isready handshake rather than before it.\r
+Suppress spurious sending of 'uxinewgame' in UCCI mode.\r
+Suppress 'setup' command in the standard variants 'suicide' and 'losers'.\r
+Add support for robbobases and Scorpio bitbases as EGT flavors.\r
+Support extended UCI info-string-variant command that can set board size.\r
+Assume engines with UCI_Chess960 option but no UCI_Variants play only Chess and\r
+Chess960, and not xiangqi or shogi.\r
+\r
+24/12/2016 3.0\r
+Implement UCI_AnalyseMode option\r
+Support egtpath command for Nalimov, Gaviota and Syzygy\r
+Allow ?, quit, force and result commands to terminate thinking\r
+Stop search during setoption commands, or buffer those until engine is done thinking\r
+Explicitly report when engine dies, through GUI popup (tellusererror)\r
+Make sure reporting of mated-in-0 score causes resign, even without PV\r
+Fix eclipsing of -var option with engines that have UCI_Chess960 option\r
+Fix empty default of string options\r
+\r
 8/11/2016 2.3\r
 Implement handling of 'UCI_Variant' option for variant announcement and selection\r
 Pass 'info string variant' line as 'setup' command to allow engine-defined variants\r