Previous versions
- Version 3.2.1 - February 3rd 2024
- fix and initialization problem with LimitStrengthMode UCI
parameter
- fix tablebases UCI parameters limits
- improve the code to limit nodes and speed
- change UCI_Elo formula
- simplifications in move generation and evaluation
- Version 3.2 - December 9th 2023
- use Fathom library for tablebases (7 men support)
- rewrite tuner, using Gradient descent algorithm
- fix YBWC splitpoint initialization for non PV node
- fix move ordering problem with aspiration window
- fix possible crashes with bad parameters in command line
or in config file
- reduce stack memory usage and use std::thread
- add personality option to load full evaluation parameters
from a file
- change LMR and LMP conditions
- new evaluation tuning results
- add bishop outpost evaluation
- add bonus by file for passed pawns
- add pawn storm evaluation
- rewrite pawn shield evaluation
- change tempo bonus
- Version 3.1.1 - December 17th 2022
- fix a draw by material detection problem from version
3.1.0
- Version 3.1.0 - December 10th 2022
- evaluation tuned with Texel's tuning method
- modify evaluation function for better tuning
- fix a data race in YBWC
- change move ordering at root
- add an UCI option to choose ELO strength reduction
method
- add endgame material variables in personality
- continue to simplify and modernize code
- add new unit tests
- use continuous integration on Gitlab
- Version 3.0.1 - January 15th 2022
- fix SMP mode initialization for more than 64 threads
- fix FRC castling initialization in FEN parsing
- fix best thread choice in Lazy SMP
- fix uninitialized variables in benchmark
- Version 3.0 - December 18th 2021
- add "Lazy SMP"
- add Syzygy Tablebases support (maximum 6 mens)
- use Polyglot opening book format
- support PEXT instruction for magic bitboards
- add UCI hashfull and tbhits informations
- use the program main thread for inputs
- change PST tables
- change pawn shield values
- rewrite passed pawns evaluation
- don't prune advanced pawn push
- change LMR parameters
- fix problems in YBWC
- fix problem in KPK endgame
- fix bug with trapped knight evaluation
- fix problem in SEE
- fix problem with maximum game phase
- modernize code from C++03 to C++17
- code refactoring and simplifications
- add unit tests (using GTest)
- release source code (from version 3.0)
- Version 2.2 - September 5th 2020
- fix invalid moves in pondering
- fix FRC makemove problem introduced in version 2.1
- fix UCI strength problem with UCI protocol
- randomness is now only used in personality
- don't count pruned nodes
- change king PST
- change LMP parameters
- remove penality for no pawns in endgame
- add counter moves
- use futility pruning and razoring in endgame
- reduce history for moves not improving the position
- use a table for MVVLVA
- optimizations
- Version 2.1 - July 8th 2019
- fix initialization of UCI Strength in .ini file
- fix FEN parsing with FRC castling rights
- fix few problems with threads
- rewrite UCI and XBoard protocols code
- small optimizations and simplifications
- fix a problem with LMP
- increase LMR for non PV nodes
- Version 2.0 - December 15th 2018
- add multi processor support (YBWC)
- new opening book format
- add contempt factor
- add benchmark option
- add personality option
- add parameter to reduce engine speed
- add late move pruning
- remove bonus for queen on 7th rank
- change parameters for mobility
- change bonus for pawns and rooks
- Version 1.9.2 - February 17th 2018
- fix engine not responding in pondering mode since version
1.9
- fix illegal moves in pondering when the search ends
before receiving message from the interface
- fix an error with Arena/UCI when pondering is enable,
always return a move to ponder (if possible)
- fix a problem when starting next tournament game in Fritz
GUI
- March 3rd 2018 : Add an arm version for Raspberry Pi
- Version 1.9.1 - September 16th 2017
- fix illegal moves played in rare cases with FEN start
positions, because of wrong castling rights initialization
- fix crashes in the testsuite option when 'am' or 'bm' is
found twice
- print an error message when illegal moves are received
from the GUI
- add options to disable Null moves pruning and LMR
- few code optimizations
- October 1st 2017 : Update Android version
- Version 1.9 - May 6th 2017
- fix possible crash : not initialized variable for
castling
- fix rare crash in very long games
- reduce pawn hashtable structure size
- change main hash table structure
- remove early queen move penality
- remove lost castling penality
- more reduction in LMR based on move count and depth
- null moves pruning reduction based on depth
- use config.ini for default values in UCI mode
- add logfile option
- rewrite move ordering and generation
- reorganize search code
- release armv8 version
- Version 1.8 - March 19th 2016
- fixed problem in game phase update
- fixed crash with 1 Mb hash table
- fixed nodes count output
- fixed problem in multipv output
- add FRC support
- use LMR in PV nodes
- add "reverse futility pruning"
- add checking moves in 1st ply of quiescence search
- skip minor promotions in quiescence search
- remove mate condition in null moves pruning
- rewrite FEN parsing
- reorganize code for eval,movegen,endgame,protocols
- optimize move sorting
- Version 1.7 - April 4th 2015
- Fix problem with checks evasion in quiescence search
- Fix problems in multipv
- Fix problem in iterative deepening
- Changed futility pruning margins
- Add razoring
- Use 4 buckets in main hashtable
- Use a KPK endgame table
- Changes root moves ordering
- Removed mate threat extension
- Add a pawn hashtable (2 Mb)
- now PSQT are not incremental
- Add UCI_Strength option
- Increase Lazy evaluation margin
- Optimizations
- Release Android (armv7) version
- Version 1.6.1 - May 31st 2014
- Fixed problem in pondering on Linux / Mac OS X, now use
unbuffered stdin
- Fixed problem when pondering was canceled
- Fixed "level" command for Xboard, now use floats for
increment
- Fixed : uci command "info depth" was sent in Xboard mode
- Version 1.6 - May 10th 2014
- New evaluation function
- Improved pawns evaluation
- Improved king safety evaluation
- Use mobility tables
- Add endgames detection
- Improved time management
- Change aspiration window method
- Fixed problem in PV installation
- Fixed problem in 50 moves rule
- Fixed promotion output in pv for UCI/Winboard
- Add UCI multi pv option
- UCI : send info depth before searching
- Optimizations
- Version 1.5 - July 6th 2013
- add staged move generation
- fix problems in move validation
- fix problem in draw evaluation
- fix problem in mate distance prunning
- fix possible crash in long games
- fix problem in null moves pruning
- change node counting method (+1 before making a legal
move in search)
- change history heuristic array (piece/to)
- disable recapture extension
- use check evasion in the first ply of quiescence
- add evaluation tempo bonus
- adjust mate scores in hash table
- few optimizations
- windows : replace QueryPerformanceCounter() function by
GetTickCount()
- use UCI parameters seldepth, lowerbound, upperbound
- perft now return only nodes count (old perft renamed
"perftd")
- Version 1.4 - March 17 2012
- Fix a problem with killer moves
- Fix a problem with history heuristic
- Increase buffer size for UCI/Winboard
- Optimize move generation
- Optimize makemove/unmakemove
- Optimize futility pruning
- Optimize SEE calls
- Remove killer moves at ply - 2
- Remove mate killer moves
- Add tapered evaluation for piece table
- Improve evaluation function
- Improve king safety
- Reduce number of calls for the time check function
- Show time and speed in perft and divide
- Add UCI option to clear hash table
- Increase maximum size of hash table to 4096 Mo
- Version 1.3b - January 2012 14th
- changes for compiling 64 bits version
- recompiled under windows with Visual Studio 2010 Express
- Version 1.3 - November 1st 2008
- fix a problem in Winboard : Cheese was playing after
loosing the game
- fix a problem in SEE
- fix a problem with repetitions
- change test for recapture extension
- add pondering in UCI and Winboard
- add analyse mode in Winboard
- use UCI options to configure the engine
- add mate distance pruning
- optimize move generation and evaluation
- use incremental pieces square table
- change move sorting at root
- change move ordering
- change number of moves before using LMR
- increase margin used for lazy evaluation
- Version 1.2 - May 24 2008
- fix timing problem : in winboard opening moves was not
always count
- use magic bitboards for Bishops, Rooks, and Queens
- optimize move generation and SEE
- Linux version available
- Version 1.1b - January 22 2008
- fix problems of illegal moves with promotions
- fix problems of illegal moves for Winboard
- fix score output in Winboard
- fix timing problems
- Version 1.1 - January 2 2008
- fix problem in move generation
- fix problems with UCI and Winboard
- fix problem with extensions
- fix problems + optimization in SEE
- fix problem when a non power of two size was used for
hash tables
- change the method of communication with the interface
- change the way to count nodes
- better time management
- add recapture extension
- add bonus for pawns in end game
- add knight outposts
- add bonus for connected passed pawns
- Version 1.0c - November 12 2007
- fix problem in time management
- fix problems in UCI and Winboard engine, in tournament
mode
- (previous versions was not working in tournament mode)
- don't think when only one legal move
- possibility to use opening book
- fix problems when sending info to the interface during
the search
- Version 1.0b - November 4 2007
- solve problems with Winboard protocol
- change time function
- Version 1.0 - October 19 2007 (first release)
- cleaning code
- fix problem with FEN strings
- fix mate value
- add other search modes (UCI)
- add safe mobility
- add futility, extended futility + razoring
- increase UCI command buffer
- fix problem in pieces square table
- fix problem in safe mobilitty
- adjust mate value in hash table
- fix problem with null moves in endgame
- fix problem with Internal Iterative Deepening
- add fractional ply
- add mate threat extension
- add pawn on 7th extension
- optimize move generation functions
- Version 0.9 - May 4 2007
- cleaning code
- add 3-fold repetitions
- add 50 moves rule
- fix in move ordering
- give higher value to passed pawns
- add insuficiant material evaluation
- optimize move generation
- fix incremental material evaluation
- add bonus for bishop pair
- fix problem with null moves
- fix problem with late move reduction
- add mate killer, killers at depth-2
- add incremental gamephase
- fix problem in quiescence search
- optimize move ordering
- minimize number of call of inCheck function
- add adaptive Null Move pruning
- fix problem with FEN strings
- Version 0.8 - April 2 2007
- fix problem in null moves
- add Principal Variation Search
- add incremental material evaluation
- add gamephase in evaluation function
- add penality for early queen move
- add bonus and penality for pawns
- add bonus for rooks on open / semi-open files
- add Static Exchange Evaluation
- add check extension
- add bonus for rooks on 7th rank
- add king safety and tropism
- fix problem with UCI engine
- add Late Move Reduction
- add Internal Iterative Deepening
- Version 0.7 - January 21 2007
- add UCI / Winboard engine
- fix problem in iterative deepening
- add aspiration window
- add quiescent search
- fix problem in alpha-beta
- add null moves pruning
- fix problem with history heuristic
- optimize evaluation function
- fix problem in move generation
- ajout aspiration window
- Version 0.6 - December 19 2006
- optimize alpha-beta search
- add iterative deepening
- optimize move generation
- add move ordering, MVV/LVA and killer moves
- add function to run testsuites in epd format
- add history heuristic
- Version 0.5 - March 22 2006
- add Zobrist hash key + Transposition Table
- add FEN strings
- fix and optimize move generation
- add Perft function
- add divide function
- optimize hash key calculation
- fix problem in alpha-beta
- Version 0.2 - February 26 2006
- Rotated Bitboards
- Move generation
- check evasion function
- Simple alpha-beta search
- Start - February 6 2006
- Simple interface with SDL + OpenGL, no rules