2.10
- Dropped support for old GNU/Linux distributions.
- All processor architectures are supported again.
- Added detection for all draw conditions:
- threefold repetition
- insufficient material
- fifty-move rule
- stalemate was already detected
- Added undo and redo.
- Added options to change piece colors.
- Added an option to make knights face sideways.
- Added support for the XBoard protocol commands "?", "undo" and "remove".
- Now changed settings are applied instantly even when the engine is thinking.
- Now the status labels indicate if the game has ended and the reason, if any.
- Now the engine can use results from partial searches.
- Significantly improved engine performance.
- Improved exit time when the engine is thinking.
- Added repaints to fix some cases where nothing seems to happen until you move the mouse.
- In XBoard mode, now Project Invincible stops thinking when it receives the command "new", "force", "white", "black" or "result".
- Improved responsiveness in XBoard mode when a process with higher priority has high CPU usage.
- When the engine finds that it can be mated no matter what, now it makes the move that leads to the slowest mate. Previously it made a random legal move.
- Improved startup time in XBoard mode.
- In XBoard mode, now Project Invincible rejects clearly invalid positions.
- Fixed a deadlock when changing the number of threads when the engine is thinking.
- Fixed: the process didn't terminate if you attempted to exit the game when the game showed a dialog that asked something.
- Fixed an use-after-free on exit if a dialog that asks something has been shown.
- Fixed theoretical race conditions.
- Fixed minor memory leaks.
- Windows: fixed crash on exit with QeffectsGL.
- Unix: fixed an error message on exit with the closed source "fglrx" AMD graphics drivers.
- Unix: improved performance by enabling more compiler optimizations.
- Unix: made the binary smaller by stripping information that you don't need to run Project Invincible.
- Unix: when Project Invincible is installed, now it stores its settings in $XDG_CONFIG_HOME or $HOME/.config as required by the XDG Base Directory Specification.
- Minor changes.
2.04a
Unix only: fixed build on distributions where so-called implicit DSO linking is disabled by default such as Ubuntu 13.04.
2.04
2.03
- Fixed a random crash when making a move.
- Fixed: the evaluation function didn't take passed pawns of black into account.
- Fixed bugs which reduced engine performance.
- Fixed crash in XBoard mode when told to move in a position without legal moves.
- Minor changes.
2.02
- Improved performance by enabling more compiler optimizations.
- Fixed: the focused square was often off by one.
- Windows: upgraded the compiler to MSVC 2012. The main advantage is that I can use some C++11 features which improve my productivity.
2.01
- New reflection implementation. The old implementation required an optional OpenGL feature called stencil buffer that, to my surprise, is not implemented in many graphics drivers.
- Fixed: sometimes a piece was selected when you opened a dialog.
2.00
- From now on, the only supported processor architectures are IA-32 and x86-64.
- Huge AI performance improvements:
- removed mobility evaluation
- removed capture extension
- dramatically reduced memory allocations
- dramatically reduced memory copying
- dramatically reduced object initializations
- moved some work from a function that the move generator calls all the time into the move generator itself
- multithreading
- a new technique which I call Aggressive Futility Pruning (AFP)
- Added XBoard support.
- Implemented animations.
- Implemented reflections. In order to not distract, reflections are rather subtle by default, but they can be made more visible in settings.
- Added mouse controls.
- Implemented Iterative Deepening which causes the AI to repeat the search with ever-increasing depths until the time is up.
- Implemented Static Exchange Evaluation (SEE) which makes the AI much stronger. As weak players probably don't want SEE, it can be disabled in settings.
- Implemented Tapered Eval which makes the AI stronger during the endgame.
- Changed colors: now the background is black, text is white and the link hover effect is transcludent white.
- Moved AI settings into a separate tab.
- Settings are now saved.
- The AI no longer blocks the user interface.
- Controls are now disabled when a dialog is shown.
- Upgraded the included Liberation Sans font to version 2.00.0.
- Enabled font smoothing because Liberation Sans 2.00.0 looks bad without it.
- You can no longer move the camera below the chessboard.
- Now the AI considers material more important than before.
- Fixed: the move generator didn't generate promotions (the most visible symptom was that the AI was unable to promote its pawns)
- Fixed: the move generator sometimes generated moves where a pawn moved diagonally out of the board.
- Fixed: in the endgame, the AI considered passed pawns way too valuable (for example, it was ready to sacrifice a queen to gain one).
- Fixed a bug that reduced AI performance.
- Windows: the stdout.txt and stderr.txt files are no longer created.
- Windows: updated the SDL library to version 1.2.15.
- Unix: improved installing (most importantly, icon cache is now updated on install).
- Refactored move generator source code.
- Rewrote most of internal text rendering code.
- Minor changes.
1.02
- Slightly improved AI performance.
- Fixed crash when the AI castles.
- Fixed: the AI used one more ply than the player wanted.
- Fixed: the AI didn't protect its king (it calculated a king safety score but didn't use it).
- Fixed some compiler warnings.
- Unix: added a desktop entry that enables desktop environment integration (such as being present in the application menu) when the game is installed.
- Unix: now cleanup.sh removes the makefile as well (it depends on some files which cleanup.sh already removed).
- Unix: fixed installing.
- Minor changes.
1.01
- Added a hover effect to links to make it more clear that they are clickable.
- Dramatically reduced CPU usage.
- Fixed: the AI didn't attempt to mate the player. (duh.)
- Fixed a memory leak.
- Fixed a rare deadlock on startup.
- Windows: added an icon.
- Unix: added a cleanup.sh script which allows you to free disk space by removing files which you don't need to run Project Invincible.
- Unix: made the binary around 30 megabytes smaller by stripping debug information by default.
- Unix: improved performance by enabling more compiler optimizations.
- Unix: you no longer need to have zlib installed.
- The GNU/Linux package is now built automatically. It means that releasing new versions is easier for us than before.
- Minor changes.
1.00b
Windows only: in the previous version, bundled msvcr100.dll and msvcp100.dll were 64-bit versions. They are now replaced with 32-bit versions. NOW the game will work without Microsoft Visual C++ 2010 SP1 Redistributable.
1.00a
Windows only: bundled msvcr100.dll and msvcp100.dll, so that the game no longer requires Microsoft Visual C++ 2010 SP1 Redistributable.
1.00
Initial release.