Lynx 1.4.1
This is the first public 1.4-series release. It includes the unreleased 1.4.0 TT/hash-move safety work together with 1.4.1 search hotpath and move-ordering improvements.
Highlights
- Hardened TT/hash move handling so stale, aliased, or corrupted TT moves cannot enter search or emitted PVs.
- Added validated TT-first move picking.
- Improved UCI ponder support with TT-derived ponder fallback.
- Reduced overhead in search hotpaths after the TT safety work.
- Improved quiet move ordering with direct-check bonuses and expanded low-ply history.
Fixed
- Fixed malformed TT/hash moves being accepted as searchable moves.
- Fixed illegal PV risk from stale or corrupted TT moves, including SMP/hash-aliasing cases.
- Fixed validation of impossible moves, wrong-side moves, friendly-occupied destinations, malformed king moves, and malformed special-move encodings before
make_move. - Fixed fast legal validation for recaptures that remove a checking piece, such as
...gxf6afterNxf6+.
Search And Move Ordering
- Reworked move picking to emit a validated TT move first.
- Skipped duplicate generated moves after the TT move has already been emitted.
- Added a direct-check ordering bonus for quiet checking moves.
- Expanded low-ply quiet history from 4 plies to 8 plies.
- Skipped duplicate TT capture scoring in staged move picking.
- Batched Lazy SMP shared node accounting so threaded search avoids aggregate atomic node increments on every node while still reporting exact final totals.
Ponder And PV Safety
- Added TT-derived ponder fallback from the child position when the searched PV does not already contain a ponder move.
- Ensured TT moves are canonicalized and legally validated before use in search, quiescence, PV construction, or ponder fallback.
- Added PV replay safety coverage for tournament-derived malformed TT/hash-move positions at
Threads=1andThreads=8.
Tests And Validation
- Added board-level pseudo-legal and legal move validation APIs for raw UCI or TT-shaped moves.
- Added board benchmark coverage for direct legal move validation.
- Added regression tests for:
- friendly-occupied king moves
- impossible king movement
- malformed tournament-derived TT moves
- pseudo-legal pinned moves
- TT-first move picking
- TT-derived ponder fallback
- direct-check quiet move ordering
- expanded 8-ply low-ply history boundaries
- UCI PV replay legality with one and eight search threads