0.1.5.2 - 2012 July 08:
 * Implement support for new options framework

0.1.5.1 - 2012 June 16:
 * Fix reading of new option format

0.1.5 - 2012 May 28:
 * Added '-j' option to tune concurrency
 * Removed '--force' and '--force-all' option to simplify code
 * Major rewrite of stage handling code
 * Initial work for splitting the repo method into multiple stages
 * Use a separate log directory for chroot builds.
 * Use the DependHandler to install ports (i.e. explicit ports can now be
    installed directly from repo or package if --method prescribes that)
 * Fixes:
   * Partial fix for bug 0.1.3.1-0 (superseded by bug 0.1.5-0)
   * Fix the "0 failed" Top-interface bug
   * Properly display information about failed ports
   * Mark dependencies as such (-DINSTALLS_DEPENDS, `pkg set -a 1`)
   * Properly detect installed ports (only match port origin)

0.1.4.1 - 2012 April 23:
 * Fixes:
   * Fix assertion for Port.build_stage (error prevented any port building)
   * Suppress questions from pkgng (s/ALWAYS_ASSUME_YES/ASSUME_ALWAYS_YES/)

0.1.4 - 2012 April 22:
 * Support pkgng as an alternative package manager
 * Support installing packages from a repository
 * Support port pre-cleaning
 * Support dynamic defaults from /etc/make.conf (i.e. DEPENDS_(PRE)CLEAN)
 * Major code cleanup and refactor effort
 * Switch to a revised milestone schedule
 * Fixes:
   * Fix assertion when using PKGINSTALL builder
   * If kevent fails with EINTR then retry command again

0.1.3.1 - 2011 July 21:
 * Install project meta files, for port
 * Add copyright notice (FreeBSD style BSD license)
 * Fixes:
   * Ordering of ports in Top-style monitor
   * Upgrading multiple ports with -u flag (-U is preferred)
   * Many fixes to the build logic (depend resolution and stage checks)

0.1.3: 2011 June 19:
 * Implemented a kqueue (external) event handler
 * Remove the use of callback (use Signal instead)
 * Add multiple methods (with fallback) to resolve a port
 * Obey -DUSE_PACKAGE_DEPENDS (see previous item)
 * Create a persistent stage (and stage) tracker based on signals from builders
 * Improve performance by:
   * Skipping exception check from subprocess
   * Caching variables used by Mk/bsd.port.mk and Mk/bsd.port.subdir.mk
   * Use StateTracker for Top UI

0.1.2 - 2011 April 16:
 * Rename to portbuilder (and pyport->libpb)
 * Use python/distutils to make program installable
 * Add support for profiling internals (use gprof2dot to parse output)
 * Add FreeBSD port (currently only -devel)

0.1.1 - 2011 March 16:
 * Add support for fetch_only mode
 * Add support for (recursive) update mode
 * Cleanup after port completion
 * Allow program to be terminated prematurely
 * Add support for building ports in a chroot environment
 * Add internal support for cross building (convenience)
 * Add package building

0.1.0 - 2011 February 15:
 *  Rewrite of pypkg (now pyport) to remove need for threads

0.0.5 - 2008 November 17:
 * Speedups in:
   - pkg_version
   * CacheDB:
     - Caching of port data
     - Caching of fetched files
   - AutoExit (move to quick notification)
   - PortCache (reduced duplicate jobs)
 * Fix monitor when console access is required (config and interactive build)
 * Port:
   - Self cleaning and precleaning (with precision cleaning)
   - Add logging of port targets
   - Handle pkg-message
   - config stage only calls config when needed
   - fetch exclusion based on files fetching
   - Proper handling of non privileged building (via sudo)

0.0.4 - 2008 October 29:
 * pypkg:
   * Add a stripped down version that can
     - Install/upgrade ports
     - Make packages
     - Allow variables to be passed to make
     - fetch only
     - No op (just prints the commands)
   * Initial support for making INDEX (still too slow)
 * Port:
   - Can clean ports
 * Rename TargetBuilder to StageBuilder
 * Create progress monitor for the build process (aka top mode)
 * Create progress monitor type 2 (aka stat mode)
 * Implement proper thread/system shutdown:
   - Create interrupt handlers
   - Create exit handlers
   - Provide easy interface for running main
 * Cleanup the use of tools
 * Create proper statistical handling of data (with easy collection methods)
 * Allow KeyboardInterrupt to terminate program:
   - Get threads to terminate kindly
 * PortCache:
   - Normalise name (for getters)
 * WorkerQueue:
   - Add terminate and kill functions (to clean off threads)


0.0.3 - 2008 September 30:
 * Port:
   - Make thread safe
   - Use TargetBuilder to handle stages
   - Make depends allocate late
   - Stage resolution fixes
 * DependHandler:
   - Make thread safe
   - Allow constructor to initialise dependencies
   - Add getters for dependencies and dependants (ports and/or field)
 * WorkerQueue:
   - Have all threads terminate on exit()
 * queue:
   - Add installer queue
 * make:
   - Rename pre_target to pre_cmd
   - Handle pipes properly
   - Allow disabling of pre_cmd
   - Condense functionality
 * Create ordering logic for building (and resolving dependants)
 * Remove make_target from global import

0.0.2 - 2008 August 30:
 * Port:
   - Update attribute tables and fixers
   - Late allocation for dependent handler
   - Create handlers for targets
   - Refractured handler code
 * PortDepend:
   - Implement with API and pseudo working code
 * make:
   - Handles environment variables
   - Executor for make targets

0.0.1 - 2008 July 19:
 * Port:
   - Basic Port class created
   - Version information about build and install status
   - Generic attribute support
   - Port creation filterable (to prevent all dependants being created at once)
 * PortCache:
   - Live cache of ports
   - Handles adding ports to the queue for construction
   - Creates a Port on-demand
 * WorkerQueue:
   - Dynamic pool of workers to execute jobs
   - Workers created on-demand
   - Worker pool (numbers) dynamically adjustable
   - Workers terminate when idle
