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



New version chess engine: Lynx 1.8.0 (Windows, MacOS, Linux)



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

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

v.1.8.0
🔍 Search

Improving: LMP (#1129)
Improving: RFP (#1130, #1133)
Improving: LMR (#1135)
NMP, tweak reduction using eval - beta (#1139)
NMP: Use the right score for TT condition (#1268)
LMR: reduce more on cutnode (#1233)
LMR: avoid when being checkmated (#1231)
LMR: increase pv min moves 2 (#1230)
History: History_BestScoreBetaMargin 80 -> 60 (#1118)
History: increase bonus when best score is over beta by some margin (#1110)
History: increase bonus when static eval is lower than alpha (#1123)
Save static eval in TT (#1084, #1085)
Aspiration windows: fail high reduction (#800, #1285)
⌛ Time management

Add node time management (#1203, #1206)
Add best move stability (#1211)
Add score stability (#1223)
Soft limit <= hard limit (#1210)
⚡ Speedups

Move to .NET 9 (#1108)
Don't attempt continuation history on root moves (#1065)
Use Unsafe.Add for PSQT() (#1153)
Make TaperedEvaluationTerm fields constant (#1174)
Make TT (wrapper) a readonly struct (#1200)
Flatten killer moves array (and stack-allocate it) (#1247)
Minimal speedup in go UCI command parsing (#1264)
🐛 Bug fixes

Clear PlyStackEntry shared array on return (#1182)
Don't allow the search to stop if no best move is found (#1251)
IDDFS finishes some depths with no moves (#1266)
Incorrect (too negative) mate scores when being checkmated (#1271)
Make sure staticEval var always gets initialized as part of the search (#1272)
Prevent aspiration windows to go outside of [MinEval, MaxEval] after window overflow (#1275)



Lynx 1.7.0 vs other engines:
Devel 4.0.2.32.5/3+23 Games
Shallow 52/2+22 Games
CT800 1.462/2+22 Games
LazySMP 2.02/2+22 Games
Fornax 4.02/2+22 Games
Hedgehog 2.4072/2+22 Games
Snail Chess 1.0.12/2+22 Games
Catto 0.12.32/2+22 Games
Lozza 3 Dev.874772a JA1.5/2+12 Games
Princhess 0.19.01/2+02 Games
Stockfish 170.5/2-12 Games
Expositor 4WR020.5/2-12 Games
Vafra 14.12.2 Stockfish0.5/2-12 Games
Heimdall 1.0.00.5/2-12 Games
4ku 5.10.5/2-12 Games
Critter 1.6a0.5/2-12 Games
Pingu 4.0.00.5/2-12 Games
Motor 0.7.00/2-22 Games
JigSaw 6.00/2-22 Games
Lizard 11.0.00/2-22 Games
HypnoS 220824bis0/2-22 Games


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

Comments