Releases: aywrite/arche
Releases · aywrite/arche
v0.3.6
Bug Fixes
- Reinitialize selective depth on call to search
- Fix inverted calculation of least valuable attacker score
- Ensure quiescence nodes are never used for pv
- Don't overwrite exact hash table entries with non-exact evals
- Resolve hash collisions by comparing to original key
Miscellaneous Tasks
- Various minor lint fixes
- Stop including release candidate tags in changelog
Performance
- Calculate negative score when sorting instead of sort then reverse
- Modify move ordering score when destination is attacked
- Use depth in hash table replacement strategy
Refactor
- Clean up syntax used for bitboard mutations
- Implement Not operator for Color enum to simplify some match blocks
Testing
- Add test for hash key random uniqueness
v0.3.6-rc.5
Bug Fixes
- Reinitialize selective depth on call to search
- Fix inverted calculation of least valuable attacker score
- Ensure quiescence nodes are never used for pv
- Don't overwrite exact hash table entries with non-exact evals
- Resolve hash collisions by comparing to original key
Miscellaneous Tasks
- Various minor lint fixes
- Stop including release candidate tags in changelog
Performance
- Calculate negative score when sorting instead of sort then reverse
- Modify move ordering score when destination is attacked
- Use depth in hash table replacement strategy
Refactor
- Clean up syntax used for bitboard mutations
- Implement Not operator for Color enum to simplify some match blocks
Testing
- Add test for hash key random uniqueness
v0.3.6-rc.4
Bug Fixes
- Reinitialize selective depth on call to search
- Fix inverted calculation of least valuable attacker score
- Don't overwrite exact hash table entries with non-exact evals
- Resolve hash collisions by comparing to original key
Miscellaneous Tasks
- Various minor lint fixes
- Stop including release candidate tags in changelog
Performance
- Calculate negative score when sorting instead of sort then reverse
- Modify move ordering score when destination is attacked
Refactor
- Clean up syntax used for bitboard mutations
- Implement Not operator for Color enum to simplify some match blocks
Testing
- Add assert to help prevent erroneous retrival of best move from hash table
- Add test for hash key random uniqueness
v0.3.6-rc.3
Bug Fixes
- Reinitialize selective depth on call to search
- Fix inverted calculation of least valuable attacker score
- Move abort for search to before hash table save
- Don't overwrite exact hash table entries with non-exact evals
- Resolve hash collisions by comparing to original key
Miscellaneous Tasks
- Various minor lint fixes
- Stop including release candidate tags in changelog
Performance
- Decrease default size of hash table
- Calculate negative score when sorting instead of sort then reverse
- Further decrease default hash table size
- Revert changes to default hash table size
Refactor
- Clean up syntax used for bitboard mutations
Testing
- Add assert to help prevent erroneous retrival of best move from hash table
- Add test for hash key random uniqueness
v0.3.6-rc.2
Bug Fixes
- Reinitialize selective depth on call to search
- Fix inverted calculation of least valuable attacker score
Miscellaneous Tasks
- Various minor lint fixes
- Stop including release candidate tags in changelog
Performance
- Decrease default size of hash table
- Calculate negative score when sorting instead of sort then reverse
- Further decrease default hash table size
Refactor
- Clean up syntax used for bitboard mutations
Testing
- Add assert to help prevent erroneous retrival of best move from hash table
v0.3.6-rc.1
Bug Fixes
- Reinitialize selective depth on call to search
- Fix inverted calculation of least valuable attacker score
Miscellaneous Tasks
- Various minor lint fixes
- Stop including release candidate tags in changelog
Performance
- Decrease default size of hash table
- Calculate negative score when sorting instead of sort then reverse
Refactor
- Clean up syntax used for bitboard mutations
v0.3.5
Testing
- Refactor benchmarks to use shared test positions
- Add basic iai benchmark for alpha beta
v0.3.5-rc.1
Bug Fixes
- Display engine author and name on separate id lines
- Add missing increment for fifty move rule
- Improve calculation of move time
Features
- Include selective search depth in uci info output
- Increase selective search depth for positions where in check
Miscellaneous Tasks
- Don't include release commits in changelog
Performance
- Optimize check for repeated positions
Refactor
- Move bitboard trait to standalone module
v0.3.4
Bug Fixes
- Try clearing cache key for moves made
- Fix off by one error for white checkmate in calculations
Documentation
- Add brief description of project purpose to README
Miscellaneous Tasks
- Add checksum to release created in CI
- Update pretty_assertions to fix security warning
- Disable criterion compare CI step until it is fixed
Performance
- Use bitmask to avoid checking empty squares during evaluation
- Increase maximum depth for quiescence search to prevent horizon effects
Refactor
- Use array instead of vector for magic bits
v0.3.3
Bug Fixes
- Try re-ordering draw check to prevent draws in winning positions
- Slightly increase score for 5th rank pawns
- Add template for cargo-release commit messages
Documentation
- Add basic usage to readme
Miscellaneous Tasks
- Add CI job to compare benchmarks on pull requests
Performance
- Use small vec instead to reduce allocations in move generation
Refactor
- Clean up some tests by using a macro
Styling
- Minor lint fixes based on clippy output
- Add pre-commit config and associated initial fixes
Testing
- Fix transposition table shortcutting alpha-beta benchmarks