Freecell Solver's Previous News Items


Freecell Solver 2.4.0 was released. The highlight of this release is the ability for several scans to operate on the same state collection. This is done using a mechanism called "soft threads", which is switched in user-land and does not require system multi-threading.


Freecell Solver 2.2.0 came into the world today. This release features several improvements and fixes to the library's internals - it now resides solely in the "freecell_solver_" namespace, has a more robust state output, and has a simplified and more modular scans' code. Aside from that, the maintainance of the package became more integrated and now it is possible to build an RPM by typing executing rpm -ta on the archive.


Freecell Solver 2.0.0 was released. This version features a lot of new enhancements and additions:

  1. Added some presets for Beleaguered Castle, Citadel and Streets and Alleys.
  2. Re-factoring of the scans code to make it simpler.
  3. Added many functions to the programmer's library.
  4. fc-solve now uses it, so it is fully independant of the library it is linked against.
  5. Added a randomized DFS scan (with a user-defined seed).
  6. Win32 Makefile can now generate a working DLL
  7. Most importantly : a new initial digit! All hail the "2"!!


Freecell Solver version 1.10.0 was released. This version can now solve deals of Simple Simon, as well as solving all the Freecell-like variants that it could before.


Freecell Solver version 1.8.0 was released into the world. Its main highlight is its new building process based on GNU Autotools. Now, one can build a shared library, a static library and an executable across many UNIX variants out of the box.

I also adapted the GNOME AisleRiot board generation program to generate the boards of the new Solitaire variants that were added to it and are supported by Freecell Solver.


Freecell Solver version 1.6.0 has been released. It supports a solution path optimization routine which enables it to generate solutions that contain a smaller number of moves. Furthermore, there are some optimizations, so it should be at least a little faster.

Otherwise, a lot of comments were added to the code, to make it easier for interested developers to understand it.


I have set up a mailing-list for Freecell Solver. For the mailing-list homepage and for subscription information consult the following page:

If possible, send your questions or commentary there. If not you can still E-mail me (Shlomi Fish).


The long-awaited Freecell Solver 1.4.0 is now available. Changes from the previous version include some fixes for bugs and memory leaks (mostly library-related), as well as an improved Soft-DFS scan, plus A* and BFS scans. (which are experimental and do not always work properly).

A choice between all of those scans is available at run-time.


I have setup a mirror for Freecell Solver at BerliOS. It will contain much of the same contents as this one, but will not be updated as frequently.

The motivation for setting up the mirror was because I noticed that the connectivity at the Technion was not failsafe, and I want a backup site.


Version 1.2.0 of Freecell Solver is now available for download. This version has several improved moves so it can solve more boards. It also sports a more robust command-line argument handling so you can expect much less segfaults if you use it improperly.

The code has also changed quite a bit, so it may be of interest to developers who are interested to look under its hood.


Freecell Solver version 1.0.0 was released. This version can solve more game types, and can be compiled so it will be less memory intensive which is especially good for such games as Die Schlange or Der Katzenschwantz.

Now there is also a library interface for use with games, which supports suspending a solution process and resuming it from its last position. And naturally, there is a bug fix or two, so you should upgrade. :-)

But the most important news is that it is no longer version 0.x.y but rather version 1.x.y. Hoorah for the new initial digit!


Freecell Solver version 0.10.0 was released. This version features support for several Solitaire variants besides Freecell, such as Forecell, Seahaven Towers and Eight Off. Aside from that, it offers a more verbose solution, as well as several bug-fixes.


Freecell Solver version 0.8.0 was released. New features in this version include:
  1. Some bug-fixes. (users of previous versions should upgrade)
  2. Support for a variable number of freecells, stacks, and cards per stack.
  3. Board generators for Microsoft Freecell, Freecell Pro and PySol.
  4. An option to use the balanced binary tree implementations of libavl , glib , or libredblack . Using them makes Freecell Solver about 33% faster.
  5. Support for using "T" instead of "10" in board input/output.
  6. Improved Documentation.


Freecell Solver version 0.6 was released. This version features a more modular code as well as the following usability features:
  1. An extra movement that allows Freecell Solver to solve some boards which it could not solve previously.
  2. The order of the stacks and freecells is preserved throughout the solutions.
  3. Limit to a certain number of iterations (so it will stop before it consumes too much memory)
  4. Specify the order of the movements that will be tested. Usually, a test order can be found that will solve a given board really fast.


Freecell Solver version 0.4 was released. This version contains three major code optimizations, so it now runs much faster. It can now also start solving from a non-initial board.