3.0.0
-
Improved UCI-compatibility: hash size and number of threads are now configurable via UCI. Calvin will now output "id" information as well as available option commands.
-
Fixed UCI bug where the UCI was not 'stateless' - previous board state was retained even when "position" command moves changed.
-
Evaluation/search parameter config externalised: previously hardcoded search and evaluation parameters are now read on startup from a configuration file. Subsequent releases will allow the user to provide a custom config file to tweak the parameters.
-
Search optimization: changed order of null-move pruning/reverse-futility pruning checks. Checking whether reverse futility pruning is feasible before null-move leads to a big jump in search speed and playing strength (now ~2350-2400 on Lichess).