- Improved move generator performance
- Improved EvalPawn(), EvalPawnRace(), and CalculateImbalance()
- Improved Passed Pawn Extension
- Added the null-move value to the TT
- The oldest entry is now replaced when a cluster is full
- Tried faster sorting methods
- Added some tuned values (WIP)
- Reuse checks in Quiescent Search when available
- Tuned and/or tapered many parameters
- Improved locality for some data structures
- Fixed an issue in Eval_KNB_VS_K()
- Improved Eval_KBB_VS_KN() performance
- Fixed some nasty issues in Eval_KR_VS_KP()
- Improved bishop and knight outpost evaluation
- Improved passed pawn candidate evaluation
- Fixed the isolated pawn penalty
- GenerateKings() was not symmetric!
- Improved the fifty-move rule and draw probability
- No king safety checks in pawn endings
- Slightly changed knight and bishop pair evaluation
- Promotion is now taken into account for MVVLVA in the move picker
- Check extensions now avoid search explosions by counting every two plies
- Fixed a singular move issue
- Added quiet-move pruning
- Removed the pawn cache; bitboards are now used
You can download it at ChessKISS 2..1