v1.2.0
- π Prune SEE bad captures in QSearch (#558)
- π Reduce SEE bad captures in regular search (#564, #571)
- π Use spsa tuned search values (#543, #553)
- βοΈ Add rook mobility to eval (#539)
- 𧬠Improve move generation: hardcode castling moves and a few calculated variables (#541)
- 𧬠Implement SEE and order bad captures after killers but before quiet moves (#554)
- β‘ Reduce TT entry size to 8 bytes (#544)
- β‘ Optimize
go
command parsing (#545) - β‘ Split
MoveGenerator.GenerateAllMoves
andMoveGenerator.GenerateCaptures
to avoid branching (#549) - β‘ Set search thread as high priority (#546)
- β‘ SEE micro-optimizations (#566)
- β‘ Use stack-allocated span for movegen (#551, #596)
- β‘ Optimize
PositionHash
(#582) - β‘ Optimize castling and en-passant moves Zobrist hashing (#577)
- β‘ Replace
EnPassantCaptureSquares
dictionary with equivalent array (#578) - β‘ Optimize FEN parsing (#581)
- β‘ Attempt to initialize
MoveGenerator
andGoCommand
asap (#576) - π Fix engine crash due to a negative calculated time to move (#555)
- π Add support for negative
wtime
andbtime
(#556) - π Enable
InvariantGlobalization
and fix crash in some Linux scenarios (#575)
Non strength-winning changes:
- Add option to run
bench
at different depths (#537)
Full Changelog: v1.1.0...v1.2.0