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



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