Since you’re here...

We hope you will consider supporting us today. We need your support to continue to exist, because good entries are more and more work time. Every reader contribution, however big or small, is so valuable. Support "Chess Engines Diary" even a small amount– and it only takes a minute. Thank you.
============================== My email: jotes@go2.pl



Wordfish 4.50 190326 - new version chess engine

 

Wordfish is a free, open-source UCI chess engine implementing cutting-edge search algorithms combined with neural network evaluation. Derived from fundamental chess programming principles, Wordfish analyzes positions through parallelized alpha-beta search enhanced with null-move pruning and late move reductions.

Author: Jorge Ruiz Centelles and the Stockfish developers

Wordfish 4.50 190326 what's new?

Root Syzygy shortcut is now gated for the problematic modes only: the immediate root-tablebase shortcut is no longer taken for go infinite or ponder. In Wordfish, the equivalent root-TB path lives in src/thread.cpp, so the narrow adaptation was applied there. Normal timed searches still keep the fast root-tablebase path enabled.

Why this was applied: the purpose of the patch is to reduce the risk of Playchess time losses in Syzygy endgames, especially in low-latency and short-time scenarios where immediate and fully consistent bestmove delivery matters more than an aggressive root shortcut in non-timed modes.

UCI callbacks cleaned up as proper instance handlers: stateful callback paths were kept as instance methods and wired consistently through this. This matters because low-time suppression and throttling are state-dependent and should not be split across static-style paths.

Atomic bestmove output: the final bestmove line is now emitted in a single sync_cout << ... << sync_endl chain, with optional ponder appended in the same chain. Mixed std::cout writes were removed from that path so GUI-facing move delivery is cleaner and more deterministic.

No broad search or evaluation rewrite: this is not a speculative strength patch, not a broad upstream sync, and not an NNUE change. It is a narrow operational fix aimed at real-world engine behaviour under Playchess/Syzygy/UCI conditions.

Deterministic EXE + UCI identity preserved and rebranded: the release base is now Wordfish-4.50-190326, and the compiled ISA suffix remains carried consistently into both the executable filename and the UCI id name. This keeps GUI discovery and tournament indexing stable across -sse41popcnt, -avx2, -FMA3, and other supported build targets.

Supporting tooling added for follow-up validation: the release also adds a Windows-oriented latency harness (tests/uci_latency_harness.py) and a dry reproduction note (docs/playchess_tb_latency.md) for the real 6-man Playchess/Syzygy scenario.

Compatibility note: compared to 4.40, this release does not change the verified NNUE pair and does not widen scope into unrelated engine logic. It is a focused maintenance patch for root-TB gating, UCI callback correctness, and atomic GUI-visible bestmove delivery.

Wordfish 3.10 011125 vs other engines:

Stockfish 17.110/22-222 games
SugaR 1.0.19.5/22-322 games
ShashChess 408.5/18-118 games
Stockfish dev-202511028.5/18-118 games
HypnoS 1.007.5/18-318 games
DarkSeid 7.0 EE6.5/16-316 games
SpecTral 116.5/14-114 games
CorChess 202510056.5/14-114 games
JudaS 1.0.16.5/14-114 games
Brainlearn 316/14-214 games
Killfish PB 1510256/14-214 games
Artemis 18.8TR6/14-214 games
Kookaburra 3.115/14-414 games
Revolution 3.10 0511254.5/14-514 games
Revolution 3.0 0111254/8+08 games
PlentyChess 7.0.124/8+08 games
Tactical Titan 5.73.5/8-18 games
Solistafish Sep25 PB3.5/8-18 games
Deep Blue3/8-28 games
Revolution 3.40 0811252.5/8-38 games
Omega Explorer 1210253/6+06 games



Comments