=================================
Checkpoint Version Control System
=================================

Checkpoint 0.1b2 - September 17, 2008
-------------------------------------
  * Lockfile race condition fixed.  Thanks to Gary Bernhardt for pointing out a race condition
    in the creation of the repository lockfiles.  Multiple checkpoint processes could have run
    at the same time in certain circumstances, which would cause havok with everything.  A 
    proper solution was implemented that uses fcntl.lockf() - which is compatible with POSIX, 
    with NFS, and is supposed to work between different python threads as well.  This is the 
    same solution that the Django folks seem to be converging on.
  * In order to fix the race condition, Repository.is_locked() was removed.  Any repository
    operations that need a lock should use the @lock() decorator, which does the right thing.
  * RepositoryLocked exception message was referencing a deprecated 'cleanup' command,
    that's now called 'recover'.  Error message was fixed.

Checkpoint 0.1b1 - July 20, 2008
-------------------------------
  * Complete code reorganization: Source code is now properly split up into
    classes and modules, and all standard refractoring patterns were
    implemented so the code should now be easy to understand.
    Resolves issue #2.
  * Rough documentation created: A README, Changelog, and UsageGuide have
    been created so people can get started using Checkpoint.
    Resolves issue #10.
  * Crash recovery: A simple lockfile is now used to prevent concurrency
    issues and provide the ability to detect program crashes.  A new
    command called 'recover' has been implemented that restores the active
    set (all files seen at last successful commit), which is useful if 
    a checkpoint command crashes or is interrupted (with ctrl-C for example).
    Resolves issue #1.

Checkpoint 0.1a - July 17, 2008
-------------------------------
  * Full functionality was implemented and manually tested.