Let LaunchSearch() also start ponder search
[uci2wb.git] / README.txt
index 199c2d8..3a09133 100644 (file)
@@ -50,6 +50,63 @@ 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
+Set 'UCI_Opponent' option in accordance with CECP 'name' and 'computer' commands\r
+Fix option setting during analysis (MultiPV!)\r
+\r
+22/11/2016 2.2\r
+Use USI gameover command to relay game result\r
+Handle USI win claims\r
+Correct wtime/btime for byoyomi\r
+\r
+7/11/2016 2.1\r
+Make Linux version SIGTERM-proof\r
+Recognize forward Pawn pushes as irreversible in UCCI\r
+Block input from GUI during thinking\r
+Use uxinewgame\r
+Implement support for pre-standard UCI Chess960 engines ('Arena960 dialect')\r
+Fix hash-size setting in UCCI\r
+Combine name and version when engine gives them in separate 'id' commands\r
+Fake time and node count for engines that do not report it\r
+Add interactive options for byoyomi work-around\r
+\r
 28/10/2014 2.0\r
 Implement UCCI support\r
 \r