Version 0.1.6
~~~~~~~~~~~~~
Released: 2008-01-18

* Backends:
 - ipkg: use threads for refresh cache and get description functions (Thomas Wood)
 - ipkg: Implement remove package function (Thomas Wood)
 - ipkg: Implement install package (Thomas Wood)
 - ipkg: implement initial get_updates function (Thomas Wood)
 - ipkg: move get_depends function into a thread (Thomas Wood)
 - ipkg: protect against NULL user input (Thomas Wood)
 - ipkg: do not run init and destroy functions more times than required (Thomas Wood)
 - ipkg: add backend_update_package function (Thomas Wood)
 - ipkg: improve devel filter (Thomas Wood)
 - ipkg: implement update system function (Thomas Wood)
 - ipkg: Add Installed, Development and GUI filter support (Thomas Wood)
 - yum: implemented vendor_url for urls not bugzilla or cve (Tim Lauridsen)
 - yum: Implemented bugzilla_url, cve_url, vendor_url in GetUpdateDetails (Tim Lauridsen)
 - yum: make the updates severity work and show all 3 types (Tim Lauridsen)
 - yum: fix missing package signals when downloading packages with '-' in names (Tim Lauridsen)
 - yum: fix percent not shown if the bump is < 1% (Tim Lauridsen)
 - yum: make get-update-detail work better and dont brake on missing update metadata (Tim Lauridsen)
 - yum: catch RepoError in get-updates and submit ERROR_NO_CACHE to frontend (Tim Lauridsen)
 - yum: make Yum Traceback send the right values to the frontend (Tim Lauridsen)

* New features:
 - Add initial ipkg backend (Thomas Wood)
 - Add the visible filter (Richard Hughes)
 - Add some more info and group enums (Richard Hughes)
 - Replace the UpdateDetail url parameter with vendor, bugzilla, cve (Richard Hughes)
 - Add PK_STATUS_ENUM_FINISHED when we are just watching status (Richard Hughes)
 - Add a pm-utils hook so we can drop caches and check for updates on resume (Richard Hughes)
 - First stab at daemonizing the yum backend (Robin Norwood)

* Bugfixes:
 - Only do the 100 limit count on emitted packages, not on searched packages.
   This bug becomes evident when using a couple of filters and searching a large number
   of package_ids (Richard Hughes)
 - An empty url list should be empty, not 'none' (Richard Hughes, Matthias Clasen)
 - Use $(LIBTOOL) rather than hardcoding libtool filename to prevent problems
   when cross compiling (Thomas Wood)
 - Add details about what we are winging about in the daemon messages (Richard Hughes)
 - Include pk-apt-search.h in the tarball to fix fd:13406 (Richard Hughes)
 - Capture and show the Message() in pkmon (Richard Hughes)
 - Only look for helpers and the config file in a local root if we have configured
   with --enable-local to make people less uneasy with path globbing (Richard Hughes)
 - Finish removing filelist from package description (James Bowes)

Version 0.1.5
~~~~~~~~~~~~~
Released: 2007-12-21

* Backends:
 - apt: Commit a general cleanup patch (Michael Vogt's)
 - apt: Add GetRepoList support (Tom Parker)
 - apt: Fix resolution of not installed packages (Tom Parker)
 - apt: Do recursive requires (Tom Parker)
 - apt: Add GetRequires and GetDepends (Tom Parker)
 - apt: Reduce whining about lack of status messages (Tom Parker)
 - conary: Add better exception handling (Elliot Peele)
 - conary: Add some extra sanity checks (Elliot Peele)
 - pisi: Provide status information (S.Çağlar Onur)
 - yum: Add support for the "free" filter (Robin Norwood)
 - zypp: Added initial stab at backend_get_updates() for zypp backend (Boyd Timothy)
 - zypp: Add RemovePackage (Boyd Timothy)
 - zypp: SearchName will return both installed and available packages (Boyd Timothy)
 - zypp: Query the SQL database directly and instead just query the cached
   repository information (Boyd Timothy)
 - zypp: Added some sub_progress information for general repo events (Boyd Timothy)
 - zypp: Add Refresh cache method (Boyd Timothy)

* New features:
 - Add exception handler so unhandled exceptions are sent as a error signal to
   packagekit (Tim Lauridsen)
 - Fully re-integrate sqlite search backend for apt - we've now reintegrated
   everything from apt.old, so we're dropping that at the same time (Tom Parker)
 - Add me, Tim Lauridsen, S.Çağlar Onur, Ken VanDine and Elliot Peele to the
   authors html page (All)
 - Document a whole lot more with gtk-doc and generate some HTML (Richard Hughes)
 - Add a bugreport script so we can get info about the system (Richard Hughes)
 - Add generic licence parsing and add all the enums (Robin Norwood)

* API changes:
 - Add in a 'free' filter enum to filter non-free and free packages (Richard Hughes)

* Bugfixes:
 - PackageKitExceptions now include the original DBusException (Tom Parker)
 - Use the correct bus name and object path in the yum plugin (Luke Macken)
 - Fix PackageKit to build against PolicyKit 0.7 (Matthias Clasen)
 - Change from 'licence' to 'license' throughout (Robin Norwood)
 - Check the user is root before we run packagekitd (Richard Hughes)
 - Do the threading correctly in the threaded backends (Richard Hughes)
 - waf: Fix x86_64 build, missing -fPIC (Gustavo Carneiro)

Version 0.1.4
~~~~~~~~~~~~~
Released: 2007-11-26

* Backends:
 - yum: Mark our status as QUERY when we have finished setting up the
   transaction so we get the correct icon (Richard Hughes)
 - yum: Improved yum UpdateMetadata handling for reboot-suggested (Luke Macken)
 - conary: Add GetFiles (Elliot Peele)
 - conary: Enable Cancel (Elliot Peele)
 - conary: Add Resolve support (Elliot Peele)
 - conary: Added new python files to distfiles (Ken VanDine)
 - zypp: add initial backend code (Boyd Timothy, Scott Reeves)
 - zypp: Add GetRepoList (Boyd Timothy)
 - zypp: emit the correct status from the backend (Boyd Timothy)
 - zypp: Add InstallPackage method (Boyd Timothy, Scott Reeves)
 - zypp: Query SQL database to resolve names (Scott Reeves)
 - box: set Status more often (Grzegorz Dabrowski)
 - box: Remove all the shell helpers and use C implementations (Grzegorz Dabrowski)

* New features:
 - Lots more waf build system updates - it now builds and installs 100%
   but requires waf from svn (Gustavo Carneiro, Daniel Svensson, Richard Hughes)
 - Add the requires check before remove in pkcon (Richard Hughes)
 - Monitor when the calling program exits from the system bus (Richard Hughes)
 - waf: Add unit test reporting in waf buildsystem (Daniel Svensson)
 - Convert all the active methods async. This lets us get the sender so we can
   watch to see if they fall off the bus or not (Richard Hughes)
 - Add a yum-packagekit plugin to refresh the PackageKit data when a manual
   update command is run. Code is copied from yum-updatesd in yum-utils and
   was authored by James Bowes.
 - Install the bash completion file so it works by default (Richard Hughes)
 - Add into pkcon to get the time since something was checked (Richard Hughes)
 - Log when the last command is run so we can work out how long since a command
   was run. This allows us to accuratly preseve the "session" setting of
   GetUpdates policy (Richard Hughes)

* API changes:
 - Add a status enum so we get the correct icon when getting data (Richard Hughes)
 - Add a info enum for blocked updates (Richard Hughes)
 - Add some more status constants for backend transaction progress (Richard Hughes)
 - Add messages to be shown from the transaction to the session (Richard Hughes)

* Bugfixes:
 - Use a different PolicyKit permissions for UpdateSystem and UpdatePackage
   as both were defined as the same thing in the policy (Richard Hughes)
 - Build fixes with autogen.sh (Tom Parker, Boyd Timothy)
 - Free memory in case of dbus error (Grzegorz Dabrowski)
 - Fix a crash in pk_transaction_list_get_array (JP Rosevear)
 - We should only invalidate the internal cache if the transaction succeeded.
   This stops a failed update-system from clearing the cache (Richard Hughes)
 - Fix the manpage corruption issue described in Bug #12796 (Luke Macken)

Version 0.1.3
~~~~~~~~~~~~~
Released: 2007-11-10

* Backends:
 - smart: Add installed filter (James Bowes)
 - smart: Add search-details (James Bowes)
 - smart: Add install-file (James Bowes)
 - PiSi: Add gui filter (S.Çağlar Onur)
 - yum: Add gui filter (Tim Lauridsen)
 - yum: Add repo-set-data (Tim Lauridsen)
 - yum: Add get-update-detail (Tim Lauridsen)
 - yum: Add get-requires (Tim Lauridsen)
 - box: Use C API with percent updates for cache refreshing (Grzegorz Dabrowski)

* New features:
 - Split out the KDE, GNOME and XFCE desktop groups (Richard Hughes)
 - Add power-management package group (S.Çağlar Onur)
 - Add 'make gcov' and 'make gprof' for unit testing (Richard Hughes)
 - Add a metric ton of unit tests (Richard Hughes)
 - Check backends do not send finished more than once (Richard Hughes)
 - Add enums builder for python (Tom Parker)
 - Add the start of a waf build system - untested and unsupported.
   (Richard Hughes, Alberto Ruiz, Daniel Svensson)
 - Add initial work for multiple apt searching backends (Tom Parker)

* API changes:
 - PkClient restart should be an enumerated type, not free text (Richard Hughes)

* Bugfixes:
 - Replace the g_strjoinv and use pk_strbuild_va to append a va_list to fix
   a crash on i86_64 (Richard Hughes)
 - Immediate exit has to wait a few cycles for registration (Richard Hughes)
 - Check for existance of apt_pkg python module with apt backend (Tom Parker)
 - yum: Emit no-cache in resolve if the cache is invalid (Tim Lauridsen)
 - Correct typos and thinkos, and add a few more application notes to the
   developer documentation (Richard Hughes)
 - Fix memleaks in a few places of the daemon code (Grzegorz Dabrowski)
 - Fix memleaks in PkClient and PkJobList (James Bowes)
 - Don't emit error for the transaction if cancel is not valid - cancel
   operates on an existing tid and shouldn't have control of the finished or
   error signals (Richard Hughes)
 - Parse updatedetail from stdout and discover get_update_detail (Richard Hughes)
 - Update packagekit.pc.in to require glib and gobject (Tom Parker)

~~~~~~~~~~~~~
Version 0.1.2
~~~~~~~~~~~~~
Released: 2007-11-01

* Backends:
 - Add a new python based APT backend (Ali Sabil)
 - Significant smart backend updates (James Bowes)
 - Significant PiSi backend updates (S.Çağlar Onur)
 - More yum functionality (James Bowes, Tim Lauridsen)
 - More box functionality (Grzegorz Dabrowski)

* New features:
 - Allow PkClient to be set promiscuous, i.e. to report all activity and use to
   get the errors and completions (Richard Hughes)
 - Add pk-backend-python.[c|h], for common spawning functions for python
   backends and switch the backends to use them (James Bowes)
 - Use pk_strzero, pk_strlen and pk_strcmp to increase performance and
   potentally improve security (Richard Hughes)
 - Add resolve support to pkcon get depends/requires/description/updatedetail
   (S.Çağlar Onur)
 - Try to guess the remaining time of the transaction using a super nifty
   algorithm (Richard Hughes)
 - Add Cleanup and Obsoleting as info states so we don't scare the user with
   DELETING when they are doing an upgrade (Richard Hughes, Tim Lauridsen)

* API changes:
 - Switch the discrete GetPercentage and GetSubPercentage to a GetProgress
   method that allows us to report remaining and elapsed time into the
   client UI (Richard Hughes)

* Bugfixes:
 - Sanitise more text from the backends in case the backend sends invalid or
   malicious text (Richard Hughes)
 - Defer destroying the backend for 5 seconds so we can query it in the
   finished handler in clients (Richard Hughes)
 - Add GetFiles method so we don't slow down the GUI box getting the file list
   every time we click a package (James Bowes)
 - Calculate progress bar length based on terminal columns (James Bowes)
 - Convert RefreshCache to a privileged operation but with default to allow
   when on active console. The distro can then patch this default to whatever
   depending on the security policy - and the admin can of course change the
   default. (S.Çağlar Onur)

~~~~~~~~~~~~~
Version 0.1.1
~~~~~~~~~~~~~
Released: 2007-10-23

* New backends:
 - A SMART backend (James Bowes)
 - A PiSi backend (S.Çağlar Onur)

* New features:
 - A better, easier to use website; http://www.packagekit.org (Richard Hughes)
 - Added missing install-file.py so we can do local rpm installs (Tim Lauridsen)
 - Be ultra-paranoid about validating input from the user (Richard Hughes)
 - Send SIGQUIT and then SIGKILL after a little delay, so we can clean up the
   backends nicely by unlocking when we cancel (Richard Hughes)
 - Add resolve functionality in pkcon to allow non-package_id use, for instance
   'pkcon remove gimp' now does the right thing (Richard Hughes)
 - Display a pulsing progress bar for no-progress-updates and percentage-update
   that is shown when using a console (James Bowes)
 - Remove the hard dependency on NetworkManager so other networking stacks
   can be used instead (S.Çağlar Onur, Richard Hughes)
 - Add a filter parameter for Resolve() so we can do the filtering in the
   spawned backend without duplicating code (James Bowes, Richard Hughes)
 - Substantial additions to the box backend (Grzegorz Dabrowski)
 - Add GetRepoList and RepoEnable to the yum backend (Tim Lauridsen)
 - Add bash completion script for pkcon (James Bowes)
 - Get the repo list for the aplm backend (Andreas Obergrusberger)

* API changes:
 - Store the transaction database in /var/lib rather than /var/db (James Bowes)
 - Don't expose the private list in PkTaskList, instead use verified functions
   to ensure we can't corrupt data accidentally (Richard Hughes)
 - Don't export the private data array in PkClient or PkPackageList - this
   breaks API, so the library version has been bumped (Richard Hughes)

* Bugfixes:
 - Fix the resolve method parameter passing - now pk-install-package should work
   correctly (James Bowes)
 - Fix all the copyright notices to be a standard GPL2+ boilerplate license
   text (Tom Parker, Robin Norwood)
 - Dist the local apt headers so the apt backend can be compiled from a tarball
   rather than just from git (Richard Hughes)
 - Fix a 1-in-10 random daemon startup crash when backends do libnm_glib init,
   shutdown, init, shutdown repeatedly (Richard Hughes)
 - Added locking in the yum backend to allow simultaneous use of the yum command
   line tool or yum-updatesd (Tim Lauridsen)
 - Fix NoPercentageUpdates validity checking (James Bowes)

~~~~~~~~~~~~~
Version 0.1.0
~~~~~~~~~~~~~
Released: 2007-10-16

* The first public release of PackageKit:
 - New gobject client library for session software to easily talk to PackageKit.
 - Asynchronous API that does not block.
 - Daemon that can queue and manage multiple simultaneous blocking and
   non-blocking transactions
 - Client applications (pkcon and pkmon) that interact with PackageKit on the
   command line without any GUI dependencies
 - Many compiled and scripted backends: conary, yum, apt, box, alpm
 - Comprehensive docbook documentation
 - Daemon configuration parameters in etc
 - Module level unit tests as standard
 - Python backend and frontend helper libraries
 - Transaction logging and capability exports for GUI tools
 - HAL locking supported for not-to-be interrupted phases of the transaction
 - NetworkManager integration for network state
 - PolicyKit integration for fine-grained permission control.

