Lynx 1.11.0 - new version chess engine



Lynx it's written in C# (.NET 6). UCI protocol is needed.
Chess Engines Diary Rating CEDR=3278

Lynx release artifacts are self-contained and require no dependencies to be run.
However, you can also choose to build Lynx yourself.
Requirements
NET 6 SDK. You can find instructions about how to install it in yo

Lynx 1.11.0 - what's new in this version?

⭐ New features

DFRC support (#2046)
🔍 Search

SE: low depth extension (#1796)
SE: avoid correcting on verification (#1844)
History: move to x^2 + x +c formula, split between between bonus & malus + tuning (#1818)
History: don't update on low depths (#1876)
Major correction history / corrhist - major key revival, weight 150 (#1912)
NMP: add staticEval - beta margin >= 30 (#1918)
Corrplexity (#1923)
Remove TT score usage as static eval (#1971)
Use TT score as static eval for RFP (#1973)
Use TT static eval in QSearch (#2017)
Use TT score as static eval for NMP (#2055)
Allow static eval correction and improving calculation on pv nodes (#1999)
Threat history (#2020)
IIR min depth: 4 -> 5 (#2035)
RFP: max depth 7 -> 9 (#1842)
Razoring simplification: no need to run QSearch when tt corrected eval (#2039)
SPSA 2025-5-10 - including TM tuning (#1955)
⚖️ Evaluation

Threats: piece threats, simplest impl (no defenders) (#1817)
Threats: defended piece threats - defended by pawns (#1820)
Threats: king threats (#1822)
Backwards pawn: (blocked or can't push) and undefended (#1994)
King ring attacks - linear, excluding king square (#2067)
Total king ring attacks (#2079)
King ring total attacks: add pawns two squares ahead of the king when 1st and 8th rank (#2081)
Endgames: OCB - eval/=2 (#1875)
Endgames: scale down bishop & A/H pawns (#1879)
Pawnless endgames: scale down R vs minor and 2 minors vs 1 (#1877)
Pawnless endgames: scale down RB and RN vs R (#1878)
Pawnless endgames: scale down R vs R and R vs 2 minors (#1880)
Mobility: only exclude same side pawns, instead of all pieces (#2063)
King mobility, restricting only opponent pawn attacks (#2069)
Isolated pawns: split by file (#1988)
Rook open/semiopen bonus penalty: split by file (#1992)
Safe/unsafe checks: split existing checks (#1823)
King open/semiopen bonus-penalty: split by file and king bucket (#2001)
Rook open/semiopen bonus: split by kings buckets (#2002)
Simplify PieceProtectedByPawnBonus, removing buckets (#1855)
[DFRC] Cornered bishop penalty (#2057)
[DFRC] Cornered bishop + blocked pawn (#2073)
777777 -> 1M Ethereal FRC data (#2053)
0.5M Clockwork 2.1 data (#2090)
2M Sirius 40ppg data (#2147)
⚡Speedups

GC mode Server -> Workstation (#1718)
Use array.AsSpan().Clear() for small arrays (#1835)
Don't accept EvaluationContext as ref readonly parameter (#1933, #2040)
Refactor TT proving to return a boolean, an out-return a TTProbeResult ref readonly struct (#1984)
Span: ref + Unsafe.Add() (#2112)
Only copy the needed items during Position clone constructor (#1803)
Castling free squares using presaved bitboards (#1816)
ScoreMove: score quiets first, as they should be more common (#1831)
Pawn movegen: improve branching and doublePushSquare calculation (#1861, #1863)
Pawn movegen: incremental promo encoding + simplification (#1862, #1864, #1866, #1867)
Movegen: kings - don't generate pseudolegal king moves that land in an attacked square attacked (#1894, #1896)
Movegen: reuse attacks and occupancy arrays (#1895, #1897)
Move encoding: Remove IsCapture flag (#1929)
Use mask to check if a piece is a minor (#1910)
FEN parsing: huge en-passant optimization (#2075)
FEN parsing: avoid duplicated occupancy population (#1972)
Position speedups (#2109, #2110)
Replace every pair of friend-enemy PQST() calls by a single one (#2150)
Reduce indirections and other minor improvements (#1806, #2095)
🐛 Bugfixes

Fix engine stalls/loses on time on low movestogo (#2050)
Avoid too shallow searches when stopping on mate (#2130)
Ensure TT clearing on first ucinewgame, regardless of previous go commands (#1978)
Correction history: use node type instead of TT entry type for update checks (#1909)
TT replacement policy: empty entries (#2010, #2012, #2013)
TT replacement: on collision (#2014)
TT static eval saving: depth overflow (#2011)
Don't correct TT 'no-scores' (#2016)
Non-strength winning changes

Add MoveOverhead UCI option (#1809)
Make UCI booleans lowercase (#2060)
Add support for positions with more than 250 pseudolegal moves (#1928)
Allow positions with >8 pawns (#1810)
Show half-move counter when printing position (#2059)

Lynx 1.10.1 vs other engines:

Critter 1.6a20.5/42-142 Games
Reckless 0.8.01/25-2325 Games
Knightx 4.522/23+2123 Games
Stallion GB Edition8/20-420 Games
Patricia 5.03.5/20-1320 Games
Radiance 4.118/18+1818 Games
Belofte 2.1.9 (u) JA14/14+1414 Games
Cheese 3.3.0 JA8.5/12+512 Games
Iris 2.03/12-612 Games
Tarnished 4.00.5/10-910 Games
Caissa 1.230/10-1010 Games
Maelstrom 3.1.15/8+28 Games
Lambergar 1.24.5/8+18 Games
Bitbit 1.43.5/8-18 Games
Uralochka 3.42 dev142.5/8-38 Games
Oxide 1.3.02.5/8-38 Games
Astra 6.01.5/8-58 Games
Integral 7 dev.322b JA0.5/8-78 Games
Belofte 2.1.9 (u)6/6+66 Games
Chess-3 2.0 JA6/6+66 Games
Senpai 2.0 JA4/6+26 Games


---
Lynx 1.11.0 download  mirror
github:https://github.com/lynx-chess/Lynx/releases/

Comments

Popular posts from this blog

We already have the new Fritz 20 program - what does it look like and how does it work?

Stockfish 250702 wins Android Chess Engines Tournament, 2025.08.03-04