v1.5.0
- π Add Futility pruning (FP) (#733)
- π LMR: allow when in check (#702)
- π LMR: reduce more if there's a TT move and a capture (#706)
- π Move RFP before NMP (#732)
- π SPSA search parameters tuning (#730, #764)
- βοΈ Remove double pawns penalty [proper SPRT pawn eval] (#746)
- βοΈ Index bishop mobility bonus by attacks count (#758)
- βοΈ Index rook mobility bonus by attacks count exluding own pieces (#768)
- βοΈ Add knight mobility bonus and index it by attacks count excluding own pieces (#775)
- βοΈ Take only pawns into account for king shield (#789)
- βοΈ Add king virtual mobility indexed by mobility count (#785)
- βοΈ Use some Stoofvlees quiet data for eval tuning (#710)
- β‘ Improve search logic (#725)
- β‘ Use optimized method to check if a move was valid (#716)
- β‘ Use a
StringBuilder
to generate UCIinfo
command (#805) - β‘ Remove option to disable TT (#720)
- β‘ Remove manual piece count during static eval (#698)
- β‘ Simplify
TaperedEvaluationTermByRank
(#757) - β‘ Simplify
TaperedEvaluationTermByCount
(#767) - β‘ Simplify Aspiration windows (#802)
- π Fix index out of range exception on max depth (#708)
- π Detect threefold repetition on
pvNode
(#796) - π Fix
Game.MakeMove
behavior on invalid moves (#804)
Non strength-winning changes:
- Add ponder support (#772)
- Generate UCI options for search parameters dynamically (#734)
- Normalize mobility values (#788)
Full Changelog: v1.4.0...v1.5.0