Version 0.5.1
~~~~~~~~~~~~~
Released: 2009-08-03

Notes
 - We've done some initial security review on this release, and the PackageKit
   architecture in general. We've made a few small changes, but it all looked
   pretty good overall. Certainly nothing to worry about.
   See http://cgit.freedesktop.org/packagekit/plain/docs/security.txt
 - This is the first release of PackageKit where multiple users with different
   proxy servers is supported. Proxy server support was pretty broken before.
   See http://cgit.freedesktop.org/packagekit/plain/docs/setting-the-proxy.txt
 - We now detect security updates to shared libraries in use.
 - Lots of bugfixes and a few new configure options

Translations
 - Updated translation for Malayalam (anipeter)
 - Updated translation for Brazilian Portuguese (igor)
 - Updated translation for Danish (kristho)
 - Updated translation for Spanish (logan)
 - Updated translation for German (nazgul)
 - Updated translation for Polish (raven)
 - Updated translation for Swedish (yeager)
 - Updated translation for Hungarian (zoltanh721)

New Features
 - Check for pm-utils installation if pm-utils option is enabled (Mounir Lamouri)
 - Adding 'strict' option to configure to add -Werror (auto-enabled in repo) (Mounir Lamouri)
 - Add networkmanager, connman and service-packs options to prevent auto-magic deps (Mounir Lamouri)
 - Add functionality to detect when shared libraries are being used that are updated in a security update (Richard Hughes)
 - Limit the maximum number of requests a given user is able to request and queue (Richard Hughes)
 - Limit the number of packages that can be processed by the daemon in one method call (Richard Hughes)
 - Add a security document after some initial review (Richard Hughes)
 - glib: Add a PkClientPool object to better manage async clients (Richard Hughes)
 - Add uid and session to proxy mapping in the database (Richard Hughes)
 - Add a document explaining how we map the proxy internally (Richard Hughes)
 - Add arch filtering to the generic python filter helper (Richard Hughes)
 - debuginfo-install: handle untrusted packages (Richard Hughes)
 - Detect when the PolicyKit authentication was timed out, and show this as a message to the user (Richard Hughes)
 - cnf: Search other directories that commands can be found in, not just /usr/bin (Richard Hughes)
 - cnf: Show status rather than just hanging for a long time without any output (Richard Hughes)
 - cnf: Handle SIGINT in command-not-found (Richard Hughes)
 - glib: expose the some new properties on the PkClient object (Richard Hughes)

Bugfixes
 - Change remove-packages python backend function to get autoremove value (Mounir Lamouri)
 - Fixed the python frontend to comply with the correct DBUS signatures and signals (Thomas Liu)
 - Use the configured libexec dir, don't hardcode it (Vincent Untz)
 - Prevent duplicate require-restart signal from being sent from the daemon (Richard Hughes)
 - Rewrite the browser plugin in C, to fix several issues and add functionality (Richard Hughes)
 - glib: Fix the signal type for destroy, and protect against unref in the handler (Richard Hughes)
 - Remove all instances of atoi, it's just not secure (Richard Hughes)
 - Send an ErrorCode when the authentication agent fails to be contacted (Richard Hughes)
 - Ensure we set the correct proxy for the transaction according to the uid and session. Fixes rh#491859 (Richard Hughes)
 - Fix the exit codes for pkcon and pkmon, and document them. Fixes fd#22819 (Richard Hughes)
 - gstreamer-plugin: check for invalid codecs and don't send if all are invalid (Richard Hughes)
 - Don't emit the RequireRestart security signals until the transaction completes with success. Fixes rh#513856 (Richard Hughes)
 - Fix a couple of small memory leaks in PkTransactionExtra and PkNetworkStackUnix(Richard Hughes)
 - gtk-module: check for zero length data from FcNameUnparse to mitigate fd#22792 (Richard Hughes)
 - Ensure the transaction database is not world readable (Richard Hughes)
 - Add the package name in the authentication details (Richard Hughes)
 - glib: don't exit from the loop when the first tid times out, and we're requeued (Richard Hughes)
 - glib: clear the saved error from the first client if we are requeueing a second (Richard Hughes)

Backends
 - apt: A backwards running progress is reported as not available progress information (Sebastian Heinlein)
 - dummy: Add to the file list for the new lsof functionality testing (Richard Hughes)
 - portage: Improve get_depends and move it to trunk version of portage (Mounir Lamouri)
 - portage: get-depends filtering output (Mounir Lamouri)
 - portage: Improve get-updates with security updates (Mounir Lamouri)
 - portage: Update the category/group map (Mounir Lamouri)
 - portage: Explicitely let portage backend accept sigkill (Mounir Lamouri)
 - portage: Cleaning, fixing not-found-error, misc (Mounir Lamouri)
 - portage: Clean remove-packages after portage fixes (Mounir Lamouri)
 - portage: Show a message if try to use remove-packages with autoremove=True (Mounir Lamouri)
 - portage: Fix a small bug in get-requires (Mounir Lamouri)
 - portage: Create get_packages_required and use it for get_requires (Mounir Lamouri)
 - portage: Remove-packages now removes alse required packages (Mounir Lamouri)
 - portage: Remove-packages breaks if a candidate is in the system set (Mounir Lamouri)
 - portage: Improve install-packages to let install many packages and filter output (Mounir Lamouri)
 - portage: Manage only_trusted (show error) for {install,update}-packages and update-system (Mounir Lamouri)
 - portage: Update-system prevents failures and block outputs (Mounir Lamouri)
 - portage: Don't allow_cancel functions that will affect system even if cancelled (Mounir Lamouri)
 - yum: Add the start of MediaManager code for external media handling (Muayyad Alsadi)
 - yum: Add some fixes to the MediaManager code (Muayyad Alsadi)
 - yum: Add a HAL implementation of MediaManager (Muayyad Alsadi)
 - yum: Ignore physical media when refreshing (Muayyad Alsadi)
 - yum: Add a GIO MediaManager implementation (Muayyad Alsadi)
 - yum: Add a linux native MediaManager implementation (Muayyad Alsadi)
 - yum: Add some more comps group mapping entries (Richard Hughes)
 - yum: Remove the preupgrade code, as we now depend on this package (Richard Hughes)
 - yum: Ignore another error in checkForNewer. Fixes rh#510874 (Richard Hughes)
 - yum: When we're waiting for a crashed instance of ourselves, kill the process with SIGQUIT (Richard Hughes)
 - yum: Add arch filtering support (Richard Hughes)
 - yum: Unselect groups we previously selected when we get package deps (Richard Hughes)
 - yum: Ensure selectGroup() returns a list of packages by forcing deselectGroup() (Richard Hughes)
 - yum: When we fail to get the lock, print the process information in the error details. Fixes rh#513376 (Richard Hughes)
 - yum: Package arch should be taken into account for newest filtering. Fixes rh#472876 (Richard Hughes)
 - yum: Ignore another exception from yum about having no groups. Fixes rh#514708 (Richard Hughes)
 - yum: Abort initialisation with an error if unfinished transactions are pending. Fixes rh#513557 (Richard Hughes)

Version 0.5.0
~~~~~~~~~~~~~
Released: 2009-07-06

Notes
 - This is the first release of the unstable 0.5.x branch, which depends on
   PolicyKit1, rather than the old PolicyKit.
 - The API has been slightly changed for PolicyKit1 support and new functionality;
   see the interface for more details.
 - New pk-debuginfo-install functionality to install missing debuginfo packages:
   http://blogs.gnome.org/hughsie/2009/06/29/abrt-and-pk-debuginfo-install/

Translations
 - Updated translation for Spanish (aloriel)
 - Updated translation for Czech (hunter688)
 - Updated translation for Tamil (ifelix)
 - Updated translation for Telugu (kkrothap)
 - Updated translation for Danish (kristho)
 - Updated translation for Spanish (logan)
 - Updated translation for Dutch (nippur)
 - Updated translation for Polish (raven)
 - Updated translation for Portuguese (ruigo)
 - Updated translation for Marathi (sandeeps)
 - Updated translation for Kannada (shanky)
 - Updated translation for Gujarati (swkothar)
 - Updated translation for Finnish (vpv)

New Features
 - Add ConnMan networking stack support (Peter J Zhu)
 - Add force parameter to refresh-cache function in python backends (Mounir Lamouri)
 - Improve SearchFile, SearchName, SearchDetails and SearchGroup specifications (Mounir Lamouri)
 - Port to polkit1, and remove a lot of the complexity with the old PolicyKit code (Richard Hughes)
 - Rewrite the networking code to derive from a common PkNetworkStack object (Richard Hughes)
 - Enable nice build output on automake1.11 (Richard Hughes)
 - Make GIO a hard build dependency and remove the conditional code (Richard Hughes)
 - Enable the warning GSEAL_ENABLE and fix up build failures (Richard Hughes)
 - Add a trusted parameter to InstallPackages, UpdatePackage and UpdateSystem (Richard Hughes)
 - Add a convenience Exit enum, NEED_UNTRUSTED, and set for the correct error enums (Richard Hughes)
 - Don't hardcode the StateChangedTimeout's and add them to the config file (Richard Hughes)
 - Add a PolicyKit action lookup so we can do the translated authentication from the server (Richard Hughes)
 - Populate some initial PolkitDetails when we ask PolicyKit1 for authorization (Richard Hughes)
 - Add pk-debuginfo-install functionality as a new contrib project (Richard Hughes)
 - Create a PkRequireRestartObj type (Richard Hughes)

Bugfixes
 - Fix reading freed-memory when GetBackendDetail is used with a NULL name parameter (Daniel Elstner)
 - Add missing header to fix compile on FreeBSD (Jared D. McNeill)
 - Don't use BASHisms on FreeBSD (Jared D. McNeill)
 - Don't check for docbook2man, check for libxslt (Valeriy Lyasotskiy)
 - Throw an error if SearchGroup search term contains spaces (Mounir Lamouri)
 - Add pk-transaction checks if the given path in search-file is valid (Mounir Lamouri)
 - Add errors when backend can't get filelist or can't get requires packages (Mounir Lamouri)
 - Never return FALSE from StateHasChanged. Fixes rh#483164 (Richard Hughes)
 - Reject files passed to InstallFiles that are not supported by the backend (Richard Hughes)
 - Convert non-ASCII text to unicode for spawned backends. Fixes rh#504377 (Richard Hughes)
 - Add subclasses to our registered mime-types. Fixes rh#504137 (Richard Hughes)
 - To fix make snapshot and giant paths, use ustar-type tarballs (Richard Hughes)
 - glib: Quit the synchronous loop if we get destroyed, to avoid hanging forever (Richard Hughes)
 - glib: If we're running synchronous then return false if there is not success (Richard Hughes)
 - glib: Remove the horror that is pk_client_get_cached_objects (Richard Hughes)
 - glib: Ensure PkTaskList monitor objects save state to buffers (Richard Hughes)
 - pkcon: Quit the synchronous loop if we get destroyed, to avoid hanging forever (Richard Hughes)
 - Use proper booleans in the python backends rather than 'true' and 'false' (Richard Hughes)
 - Send PK_STATUS_ENUM_WAITING_FOR_AUTH when we are waiting for an authentication (Richard Hughes)
 - Make the PackageKit plugin available to firefox (Richard Hughes)
 - Depend on gtk2+ >= 2.14.0 for the browser plugin (Richard Hughes)
 - Require new style xulrunner headers only (Richard Hughes)
 - Add some special casing for the pk-debuginfo-install in the PolicyKit helper (Richard Hughes)
 - Make debuginfo-install also install package deps (Richard Hughes)
 - Add a man page for pk-debuginfo-install (Richard Hughes)
 - Add a console progress bar to pk-debuginfo-install (Richard Hughes)
 - Add a --quiet option to pk-debuginfo-install (Richard Hughes)
 - Emit RequireRestart as a PkRequireRestartObj (Richard Hughes)
 - Impliment newest filtering according to the newly agreed specification (Richard Hughes)
 - Make pk_client_get_require_restart_list return a PkObjList of PkRequireRestartObj's (Richard Hughes)

Backends
 - alpm: Added update_system, improved transaction progress stuff (Valeriy Lyasotskiy)
 - apt: Downloading the package changelog was merged into python-apt (Sebastian Heinlein)
 - apt: Show the installed size for installed packages instead of the package size (Sebastian Heinlein)
 - apt: Ignore obsolete but not purged packages (James Westby)
 - aptcc: Fix missing include (Sebastian Heinlein)
 - portage: Update groups/filters list (Mounir Lamouri)
 - portage: Working install-packages function (Mounir Lamouri)
 - portage: Add search-group function with a table conversion from gentoo's categories (Mounir Lamouri)
 - portage: Working but version of remove-package (Mounir Lamouri)
 - portage: Add get-requires function (Mounir Lamouri)
 - portage: Add search-details, minor changes (Mounir Lamouri)
 - portage: Update install-packages, cleaning and world list compatibility (Mounir Lamouri)
 - portage: Add group in get-details, add installed info in packageid and keywords info (Mounir Lamouri)
 - portage: Add refresh_cache function (Mounir Lamouri)
 - portage: Add get-updates function (Mounir Lamouri)
 - portage: Add get-updates-detail and update-packages (Mounir Lamouri)
 - portage: Add update-system function (Mounir Lamouri)
 - portage: Add repo-list and repo-enable functions with layman api (Mounir Lamouri)
 - portage: Add percentage to search-files and change search method to match exact path (Mounir Lamouri)
 - portage: Let search-file accept filename or fully qualified path and filename (Mounir Lamouri)
 - portage: Take a position for supported filters (Mounir Lamouri)
 - portage: Add filter management for search-file and search-groups (Mounir Lamouri)
 - portage: Use default configuration instead of user's one for ACCEPT_KEFWORDS (Mounir Lamouri)
 - portage: Improved management of filters, especially free filter (Mounir Lamouri)
 - portage: Get_packages is filter aware, search_file is free filter aware (Mounir Lamouri)
 - portage: Fix bug when using portdb.aux_get for installed but not in the tree cpv (Mounir Lamouri)
 - portage: Show installed packages first, make best use of cpv list and filters (Mounir Lamouri)
 - portage: Add progress info to search-name and search-group (Mounir Lamouri)
 - portage: Add multi-key search in search_name and exclude category from search (Mounir Lamouri)
 - portage: Improve resolve function to use filters and correctly use list in input (Mounir Lamouri)
 - portage: Add filter management to get_packages (Mounir Lamouri)
 - portage: Improved error management and progress for get_files and get_details (Mounir Lamouri)
 - portage: Improve get_repo_list and repo_enable functions, refactoring (Mounir Lamouri)
 - portage: Use a trick to prevent outputs when adding a repository (Mounir Lamouri)
 - portage: Improve repository policy by adding a gentoo dummy repo (Mounir Lamouri)
 - portage: Change newest filter behaviour and add slot manage to it (Mounir Lamouri)
 - portage: Add SLOT management in id/cpv/id conversions (Mounir Lamouri)
 - portage: Better remove-package function (Mounir Lamouri)
 - smart: Slackware packages now support xz compression too (Anders F Bjorklund)
 - urpmi: Some more fields are now filled in get-details method (Aurelien Lefebvre)
 - urpmi: Only_trusted implementation (Aurelien Lefebvre)
 - yum: We support application/x-servicepack, so advertise it in the mime type list (Richard Hughes)
 - yum: Download the ChangeLog data when we get the update list. Fixes rh#499590 (Richard Hughes)
 - yum: Be more descriptive why we didn't have a package cache (Richard Hughes)
 - yum: Format the package_id before showing it in the error detail (Richard Hughes)
 - yum: Correct an error enum for a missing group (Richard Hughes)
 - yum: Use the new update-not-found error enum for missing updates (Richard Hughes)
 - yum: Don't hardcode network access to install or update packages. Fixes rh#506110 (Richard Hughes)
 - yum: Respect trusted for InstallPackages, UpdatePackages and UpdateSystem (Richard Hughes)
 - yum: Support the new error codes, and don't warn for untrusted packages anymore (Richard Hughes)
 - yum: Use a float for present_version as rawhide is 11.90. Fixes rh#506649 (Richard Hughes)
 - yum: Don't check ts_state when getting the restart-required signal (Richard Hughes)
 - yum: Provide restart-required data for all the packages, not just the first update (Richard Hughes)
 - yum: Fix up the logic in RepoEnable (Richard Hughes)
 - yum: Don't do unconditional NEWEST filtering on resolve (Richard Hughes)
 - yum: Remove custom hacking in Resolve, and treat like precise search (Richard Hughes)
 - yum: Do newest filtering when the list isn't ordered (Richard Hughes)

Version 0.4.8
~~~~~~~~~~~~~
Released: 2009-06-01

Notes:
 - The start of a portage backend has been added by Mounir Lamouri.
 - Numerous daemon speedups and bugfixes, so an upgrade is recommended.

Translations:
 - Updated translation for Bulgarian (Alexander Shopov)
 - Updated translation for Punjabi (aalam)
 - Updated translation for Malayalam (anipeter)
 - Updated translation for Greek (charnik)
 - Updated translation for Oriya (mgiri)
 - Updated translation for Hindi (mgiri)
 - Updated translation for Polish (raven)
 - Updated translation for Bengali (runab)
 - Updated translation for Thai (willwill)
 - Updated translation for Marathi (sandeeps)
 - Updated translation for Finnish (vpv)

New Features:
 - Add a PK_CHECK_VERSION macro (Richard Hughes)
 - Add three properties on the main interface with the runtime daemon versions (Richard Hughes)
 - Export version-* properties in PkControl (Richard Hughes)
 - Add a prototype backend interface definition as a tech-preview (Richard Hughes)
 - Don't use --enable-developer, instead use DeveloperMode set in the config file (Richard Hughes)
 - Create a shared pk_backend_bool_to_text() helper to reduce copy&paste (Richard Hughes)

Bugfixes:
 - Make PkNetworkUnix watch /proc/net/route and check for network state changes (Richard Hughes)
 - Ensure we send ::Finished() even when the dispatcher closed normally (Richard Hughes)
 - Ensure we disconnect ::Finished() when we unref a transaction in the PkTransactionList (Richard Hughes)
 - Emit ::Destroy() in the dispose phase to ensure it is proxied to the bus (Richard Hughes)
 - Fix SuggestDaemonQuit to exit using the mainloop (Richard Hughes)
 - Fix the logic of when ::RestartSchedule is used (Richard Hughes)
 - Don't cache the update detail anymore, we can't ensure cache-consistency (Richard Hughes)
 - Don't try to clear the cancel timeout if it fires again on PkClient finalise (Richard Hughes)
 - Only return the newest available package for the command-not-found tool (Richard Hughes)
 - Check earlier if we don't have libarchive when creating a service pack (Richard Hughes)
 - Be more paranoid when parsing ISO8601 dates from the backend to avoid a critical error (Richard Hughes)
 - Fix a small memory leak when we check for session restarts (Richard Hughes)
 - When we search for the file list after an install or upgrade, use the local package (Richard Hughes)
 - Don't crash the session program if we are connecting to an old packagekitd with a new libpackagekit (Richard Hughes)
 - Protect a few function in pk-package-ids.c from NULL input (Richard Hughes)

Backends:
 - dummy: Make the depends return both types of packages (Richard Hughes)
 - portage: Working search-name, get-details and download-packages (Mounir Lamouri)
 - portage: Add get-files function (Mounir Lamouri)
 - portage: Add search-file function (Mounir Lamouri)
 - portage: Beginning of resolve function (Mounir Lamouri)
 - portage: Add get_depends function (Mounir Lamouri)
 - portage: Add get_packages function (Mounir Lamouri)
 - yum: Add some more error handing when updating packages (Richard Hughes)
 - yum: Clear previous data so a test transaction do not break actual one (Richard Hughes)
 - yum: Setup the locale using yum.misc. Fixes rh#487614 (Richard Hughes)
 - yum: Protect when the presto plugin doesn't send a name for the rebuild callback. Fixes rh#500428 (Richard Hughes)
 - yum: Disable the rpm-warm-cache yum plugin, it's so broken (Richard Hughes)
 - yum: Blacklist remove-with-leaves as well. Fixes rh#502399 (Richard Hughes)

Version 0.4.7
~~~~~~~~~~~~~
Released: 2009-05-05

Notes:
 - Many speed improvements to the yum backend
 - Added media change support in a few backends

Translations:
 - Updated translation for Assamese (amitakhya, raven)
 - Updated translation for Bengali (runab)
 - Updated translation for Brazilian Portuguese (igor)
 - Updated translation for Chinese (Simplified) (leahliu)
 - Updated translation for Danish (kristho)
 - Updated translation for Dutch (nippur)
 - Updated translation for French (mrtom)
 - Updated translation for German (fab)
 - Updated translation for Gujarati (swkothar)
 - Updated translation for Italian (marionline)
 - Updated translation for Marathi (sandeeps)
 - Updated translation for Oriya (mgiri)
 - Updated translation for Kannada (shanky)
 - Updated translation for Polish (raven)
 - Updated translation for Portuguese (ruigo)
 - Updated translation for Punjabi (aalam)
 - Updated translation for Russian (amitakhya)
 - Updated translation for Serbian (kmilos)
 - Updated translation for Spanish (elsupergomez)
 - Updated translation for Tamil (ifelix)
 - Updated translation for Telugu (kkrothap)

New Features:
 - Add DOAP file to the project (Richard Hughes)
 - Add a method to disable SIGKILL in PkSpawn (Richard Hughes)
 - Added media change support to -qt lib (Daniel Nicoletti)
 - Added support to recognize Debian version (Daniel Nicoletti)
 - Add media change request support to the spawned backend (Sebastian Heinlein)
 - Allow a spawned backend to opt-out of the SIGKILL cancel process (Richard Hughes)
 - Remove job_count.dat, it's not used anymore (Richard Hughes)
 - Remove the DBus backend. The only user (apt) has switched to spawned (Richard Hughes)
 - New signal, media-change-required (daemon and glib) (Daniel Nicoletti)

Bugfixes:
 - Add support for /etc/lsb-release to pk_get_distro_id(). Fixes fd#21550 (Richard Hughes)
 - Allow the dummy security model to authorise actions (Richard Hughes)
 - Check the transaction totals are not zero before using them. Fixes rh#495849 (Richard Hughes)
 - Correct the allow-cancel duplicate logic (Richard Hughes)
 - Correct the logic for SetSynchronous without returning in the duplicate check (Richard Hughes)
 - Display Message()'s in pkcon rather than just ignoring them (Richard Hughes)
 - Don't filter out 'Presto' unconditionally from the stdout to fix rh#496091 (Richard Hughes)
 - Fix compile on FreeBSD (Richard Hughes)
 - pkgenpack man page still pointed to pk-generate-package-list (James Westby)
 - pk_package_ids_check is not valid when the packageids array is zero length (Richard Hughes)
 - Remove the NameOwnerChanged handler when we unref PkConnection to prevent a bug in client applications (Richard Hughes)
 - Still use command not found for commands one character long (Richard Hughes)
 - To fix spawned backends, http_proxy has to be a URI not a bare proxy. Fixes rh#491859 (Richard Hughes)
 - Use the new session interface for installing Fontconfig resources and GStreamerCodecs (Richard Hughes)

Libraries:
 - PackageKit-Qt: Add support for cancel-foreign PolicyKit action (Adrien BUSTANY)
 - Packagekit-Qt: Changed License to QString in package (Daniel Nicoletti)
 - PackageKit-Qt: Drop support for building with CMake. The module for the lib is still included (Adrien BUSTANY)
 - Packagekit-Qt: Switch some QSets to QFlags, because keyToValue() returns int not qint64 (Daniel Nicoletti)
 - Packagekit-Qt: Adds registration to MessageType (Daniel Nicoletti)
 - Packagekit-Qt: Fixed Message enum the same way as Filter and Action (Daniel Nicoletti)
 - Packagekit-Qt: Removed a useless resolv method (Daniel Nicoletti)
 - Packagekit-Qt: Renamed various enums to have a prefix to avoid conflicts (Daniel Nicoletti)
 - Python: Add two further helpers get_package_id and split_package_id (Sebastian Heinlein)
 - Python: Add two helpers format_string and text_to_bool to the backend module (Sebastian Heinlein)

Backends:
 - apt: Add a command line option to only operate a single command (Sebastian Heinlein)
 - apt: Add a helper function to get the version instance matching a package id (Sebastian Heinlein)
 - apt: Add media change request support. But in an ugly state (Sebastian Heinlein)
 - apt: Emit a Package signal for the currently processed package while applying changes (Sebastian Heinlein)
 - apt: Ifdef the distro upgrade correctly (Sebastian Heinlein)
 - apt: install the script to create the mime and codec map (Sebastian Heinlein)
 - apt: Make the unlock cache decorator even unlock the cache (Sebastian Heinlein)
 - apt: Remove method _get_package_description since it is included in python-apt (Sebastian Heinlein)
 - apt: Set the path to the codec and mime type handler map correctly (Sebastian Heinlein)
 - apt: Turn the dbus backend into a spawned one (Sebastian Heinlein)
 - apt: Use text_to_bool and format_string from the backend module (Sebastian Heinlein)
 - apt: Use the new fetch_binary method to download packages (Sebastian Heinlein)
 - apt: use the new get_package_id method (Sebastian Heinlein)
 - aptcc: Added media change support (Daniel Nicoletti)
 - conary: Add exception for bad xml generation (Andres Vargas)
 - conary: Add generateXML with it no need get XML from web (Andres Vargas)
 - conary: Add get-repo-list (Andres Vargas)
 - conary: Add more validations of network (Andres Vargas)
 - conary: Add search file (Andres Vargas)
 - conary: Disable packageBrowsing (Andres Vargas)
 - conary: Fix status on get-repo-list (Andres Vargas)
 - conary: Make remove packages faster (Andres Vargas)
 - conary: New fetch xml cache for unsupported repos (Andres Vargas)
 - dummy: Add media-change-required support into the dummy backend (Richard Hughes)
 - dummy: Allow setting the use-gpg and use-eula variables in runtime (Richard Hughes)
 - dummy: Set allow-cancel TRUE at the start of UpdatePackages (Richard Hughes)
 - opkg: Let opkg backend compilable again (Tick Chen)
 - opkg: Update the filters using pk_bitfield_contain (Tick Chen)
 - smart: Add arch package versioning support (Anders F Bjorklund)
 - smart: Better download status for slack/arch (Anders F Bjorklund)
 - smart: Don't require rpm-python (Anders F Bjorklund)
 - yum: Catch RepoError when we try to get the ChangeLog (Richard Hughes)
 - yum: Catch yum.Errors.RepoError rather than printing a backtrace. Fixes rh#494227 (Richard Hughes)
 - yum: Check for the package_id and error out if invalid. We can't imply resolve now (Richard Hughes)
 - yum: Consider the installed state when we do newest filtering. Fixes rh#472876 (Richard Hughes)
 - yum: Deal with Presto downloading updates in a better way (Richard Hughes)
 - yum: Disable the refresh-packagekit plugin when running under PackageKit (Richard Hughes)
 - yum: Don't search all repos when we resolve a package_id to a pkg. This saves
        55ms per lookup, and makes multiple package matches much quicker (Richard Hughes)
 - yum: Do the download name parsing code a better way so that we work with Presto (Richard Hughes)
 - yum: Emit a backend message when the transaction status isn't known (Richard Hughes)
 - yum: Fix up a pylint warning in the new status code (Richard Hughes)
 - yum: Handle repo-set-data with an invalid repo in a better way (Richard Hughes)
 - yum: Only filter newest by name and not name+arch. Fixes rh#493936 (Richard Hughes)
 - yum: Only search the rpmdb when the package_id data is installed (Richard Hughes)
 - yum: Opt out of SIGKILL as this can lead to RPM database corruption in some situations (Richard Hughes)
 - yum: Send INFO_FINISHED when we've finished downloading a file. Fixes rh#496787 (Richard Hughes)
 - yum: When yum fails to load the rpmdb, it helpfully emits TypeError. Catch. (Richard Hughes)

Version 0.4.6
~~~~~~~~~~~~~
Released: 2009-03-30

Notes:
- Lots of profiling lead to many speed increases, most at cold startup
- Fixes to command not found for bash 4.0
- Experimental aptcc backend merged, which does not use python-apt at all

Translations:
 - Add Portuguese translation (Rui Manuel da Costa Gouveia)
 - Updated Italian translation (Daniele Catanesi)
 - Updated Punjabi translation (aalam)
 - Updated Italian translation (ccielogs)
 - Updated Brazilian Portuguese translation (igor)
 - Updated Spanish translation (kad)
 - Updated Hungarian translation (kelemeng)
 - Updated Serbian translation (kmilos)
 - Updated Danish translation (kristho)
 - Updated Slovak translation (palos)
 - Updated Portuguese translation (ruigo)
 - Updated Serbian translation (soko)
 - Updated Italian translation (tombo)
 - Updated German translation (tomspur)
 - Updated Finnish translation (vpv)
 - Updated Catalan translation (xconde)

New Features:
 - Add a config variable to be able to turn off the updates cache for debugging (Richard Hughes)
 - Warn if there are any pending sources at the end of each self test section (Richard Hughes)

Bugfixes:
 - Make the GTK+ module resident to fix crash when session is reloaded (Matthias Clasen)
 - Only check the transaction database once at startup, to reduce 25ms off the cold start (Richard Hughes)
 - Don't force SQLite to do fsync in PkTransactionDb, to reduce our cold cache start by 700ms (Richard Hughes)
 - Don't store the job-id in a separate file, as this adds 37ms to each generate method (Richard Hughes)
 - Don't allow pk_backend_error_timeout_delay_cb() to be called more than once (Richard Hughes)
 - Escape the ';' in the UpdateDetail:ChangeLog signal so we can send more than one line (Richard Hughes)
 - Use the bash 4.0 command_not_found function name to fix new versions of bash (Richard Hughes)
 - When we get the update detail in pkcon, resolve not-installed packages. Fixes rh#492004 (Richard Hughes)
 - glib: Don't hardcode /var/lib/PackageKit for the desktop database (Richard Hughes)
 - qt: Check for QtXml in configure and use the correct deps in the packagekit-qt pc file (Richard Hughes)
 - qt: Made Transaction::cancel() a slot (Daniel Nicoletti)
 - qt: Updated almost all the enums (Daniel Nicoletti)

Backends:
 - alpm: Fixed a typo that caused search failures (Valeriy Lyasotskiy)
 - aptcc: Search from apt-cache working (Daniel Nicoletti)
 - aptcc: Searching like aptitude without leaks (Daniel Nicoletti)
 - aptcc: Fixed versions bug now using pin's file (Daniel Nicoletti)
 - aptcc: Fixed the development filter (Daniel Nicoletti)
 - aptcc: Added get_files and search_file support (Daniel Nicoletti)
 - aptcc: Class search_name improved by the matcher class search_details added (Daniel Nicoletti)
 - aptcc: Improved search files by creating a stecial matcher (Daniel Nicoletti)
 - aptcc: Fixed a small bug in search_name and removed a unused function (Daniel Nicoletti)
 - aptcc: Initial cancel support (Daniel Nicoletti)
 - aptcc: Added cancel support (Daniel Nicoletti)
 - aptcc: Added get_requires and get_depends support (Daniel Nicoletti)
 - aptcc: Included emit_details in aptcc class (Daniel Nicoletti)
 - aptcc: Added recursive mode to get_requires and get_depends, still need some improvements like OR deps (Daniel Nicoletti)
 - aptcc: Added backend_resolve (Daniel Nicoletti)
 - aptcc: Added get_updates and get_update_detail support although there still some stuff to improve (Daniel Nicoletti)
 - aptcc: Added refresh cache support, it downloads the translation files (Daniel Nicoletti)
 - aptcc: Added package_download support (Daniel Nicoletti)
 - aptcc: Added repo_list and repo_enable support (Daniel Nicoletti)
 - aptcc: Fixed repo_enable, progress on fetcher, emit package on fetcher and some code clean up (Daniel Nicoletti)
 - aptcc: Added backend finished before all returns (Daniel Nicoletti)
 - conary: Add more info to callbacks (Andres Vargas)
 - conary: Fix updateSystem (Andres Vargas)
 - conary: Remove error signal when not found (Andres Vargas)
 - conary: Remove many conary instances (Andres Vargas)
 - conary: Add DepFailure exception and catch the Packages (Andres Vargas)
 - conary: Add xmlfile for conary.rpath.com repo what its missed (Andres Vargas)
 - conary: More rapid search (Andres Vargas)
 - conary: Fix the high memory usage on search (Andres Vargas)
 - conary: Fix high memory usage (Andres Vargas)
 - conary: Fix repository output on get-details (Andres Vargas)
 - conary: Implement get-packages (Andres Vargas)
 - conary: Fix the get-updates broke conary: add licenses metadata (Andres Vargas)
 - dummy: Make the distro upgrade data configurable (Richard Hughes)
 - dummy: Do the restart required when we update packages too (Richard Hughes)
 - poldek: Emit file list we downloaded in DownloadPackages (Marcin Banasiak)
 - yum: Return the ChangeLog data for yum updates if it is available (Richard Hughes)
 - yum: Don't explode parsing the ChangeLog data when not unicode (Richard Hughes)
 - yum: Only show update-detail ChangeLog entries newer than the package we have installed (Richard Hughes)
 - yum: Remove the tabs in the package description (Richard Hughes)
 - yum: Don't explode when faced with an invalid ChangeLog header, just report a message (Richard Hughes)
 - yum: Don't explode when we can't find the package when we try to get the update detail (Richard Hughes)
 - yum: Don't output duplicated updates. Fixes rh#488509 (Richard Hughes)
 - yum: Replace the hardcoded comps->groups map with a config file (Richard Hughes)

Version 0.4.5
~~~~~~~~~~~~~
Released: 2009-03-09

Translations:
 - Updated Punjabi translation (A S Alam)
 - Updated Spanish translation (Domingo Becker)
 - Updated Brazilian Portuguese translation (Igor Pires Soares)
 - Updated German translation (Jens-Uwe Peter)
 - Updated Spanish translation (Jorge A Gallegos)
 - Updated Polish translation (Piotr Drąg)
 - Updated Marathi Translations (Sandeep Sheshrao Shedmake)
 - Updated Catalan translation (Xavier Conde)

New Features:
 - Enable ptrace() on libpackagekit, it was always a bandaid (Richard Hughes)
 - python: add a PkError exception class to better handle nested errors (Richard Hughes)
 - Clarify the spec that a Details::size value of zero of a non-installed file
   indicates it's in cache and doesn't need to be downloaded (Richard Hughes)
 - Remove the app-install feature, it's now it's own project (Richard Hughes)
 - Allow backends to enable simultaneous mode to do actions in parallel (Richard Hughes)
 - Updated QPackageKit soname version to 0.4.1 (Daniel Nicoletti)
 - Made package methods const and added an operator== to package (Daniel Nicoletti)

Bugfixes:
 - When we reset a PkClient, get a new reference to a PkPackageList (Richard Hughes)
 - Ensure we set PK_STATUS_ENUM_FINISHED when we return cached updates (Richard Hughes)
 - glib: When we cancel a transaction, don't overwrite the role as Cancel (Richard Hughes)
 - Fix the self test by using actual provides in the catalog file (Richard Hughes)

Backends:
 - apt: Update the postinst script to store desktop file information in the desktop.db (Sebastian Heinlein)
 - conary: Fix some typos for search methods (Andres Vargas)
 - conary: Fix the unicode decode (Andres Vargas)
 - conary: Remove chars what break the backend (Andres Vargas)
 - dummy: Add other package details for updates (Richard Hughes)
 - dummy: Make the gpg and eula prompts configurable (Richard Hughes)
 - yum: Do proper error handling to avoid exiting the script on correctable errors (Richard Hughes)
 - yum: Support the 'any' provide search (Richard Hughes)
 - yum: Output a Details::size value of zero if the file is in cache (Richard Hughes)

Version 0.4.4
~~~~~~~~~~~~~
Released: 2009-02-23

Translations:
 - Updated Swedish translation (Daniel Nylander)
 - Updated Spanish translation (Domingo Becker)
 - Updated German translation (Fabian Affolter)
 - Updated Brazilian Portuguese translation (Igor Pires Soares)
 - Updated Polish translation (Piotr Drąg)
 - Updated Simplified Chinese translation (zhourongrong)

New Features:
 - Add a new method GetDaemonState to the main interface to help debugging on
   live systems (Richard Hughes)
 - Print the daemon state when using pkmon in verbose mode (Richard Hughes)
 - Add a draft standard for application install metadata handling (Richard Hughes)
 - Add a pk-app-install binary for manipulating the sqlite cache (Richard Hughes)
 - PackageKit-Qt: Sync API for RequireRestart (Adrien BUSTANY)
 - PackageKit-Qt: Add support for application filter (Adrien BUSTANY)
 - PackageKit-Qt: Add a searchFromDesktopFile method  (Adrien BUSTANY)

Bugfixes:
 - Updated documentation with UseSyslog parameter (Balaji)
 - Fix for the updates and obsoletes delimiter (Daniel Nicoletti)
 - Make the dbus policy more fine grained (Sebastian Heinlein)
 - Fix compile failure with gcc-4.4.0 and old versions of glib2 (Richard Hughes)
 - If we fail to exit from the dispatcher, make sure we cleanup the poll as the
   child check isn't going to be run (Richard Hughes)
 - The QT lib now depends on QtSql, so add this to the configure (Richard Hughes)
 - Fix up resolve in pkcon and from libpackagekit-glib (Richard Hughes)
 - Don't dereference a NULL pointer in pk_console_resolve() which can be done
   using pkcon list-install (Richard Hughes)
 - Don't use an local error in pkcon list-install else we'll fail to free it,
   and it's non-fatal (Richard Hughes)
 - PackageKit-Qt: Handle daemon errors more gracefully (Adrien BUSTANY)
 - PackageKit-Qt: Add a getLastError method to get the last daemon error (Adrien BUSTANY)
 - PackageKit-Qt: Add missing implementation for uid and cmdline (Adrien BUSTANY)
 - Packagekit-Qt: Fix to make what provides work (Daniel Nicoletti)

Backends:
 - alpm: Added experimental support for progress indication (Valeriy Lyasotskiy)
 - alpm: Updated alpm backend status in status matrix (Valeriy Lyasotskiy)
 - apt: Allow the properties and introspection interface of the backend
        to everyone (Sebastian Heinlein)
 - apt: Use the merged debfile module of python-apt (Sebastian Heinlein)
 - apt: Fix an API change in debfile (Sebastian Heinlein)
 - apt: Install the main Python module into the packagekit package and use a command
        wrapper to improve the start time (*.pyc) (Sebastian Heinlein)
 - apt: Remove code which is now merged with python-apt (Sebastian Heinlein)
 - apt: Add script to extract information from app-install desktop files (Sebastian Heinlein)
 - conary: Fix get-updates command (Andres Vargas)
 - conary: Fix the group search (Andres Vargas)
 - conary: Change the error signal for groups not found (Andres Vargas)
 - conary: Add a percent progress on install packages (Andres Vargas)
 - conary: Remove the subpercent signal only percent signal (Andres Vargas)
 - conary: Add subpercent for minitasks (Andres Vargas)
 - conary: Tuning the percent update (Andres Vargas)
 - conary: Fix step feeling for percent download (Andres Vargas)
 - conary: Add percent to update/remove/get-updates/update-system (Andres Vargas)
 - conary: Add a exception for run get-updates first and then update (Andres Vargas)
 - conary: update-system do a stepdown percent (Andres Vargas)
 - conary: Fix the search ~installed filter (Andres Vargas)
 - conary: Add more classify groups (Andres Vargas)
 - conary: Implement the conaryEnums for classify category in groups fix the
           backend for search groups (Andres Vargas)
 - conary: Add more log info to callbacks fix get-files (Andres Vargas)
 - conary: Fix get-files from many troves (Andres Vargas)
 - dummy: Use the correct delimiter for the obsoletes in the kernel package (Richard Hughes)
 - dummy: Add update detail for the blocked package, and raise an error
          if we can't find a match (Richard Hughes)
 - dummy: Add a simple rollback action (Richard Hughes)
 - poldek: Build fix (Patryk Zawadzki)
 - poldek: For NOT_INSTALLED filter return only available packages that are NOT
           installed (Marcin Banasiak)
 - yum: Adds an auto_close attribute to the rpmdb object (Seth Vidal)
 - yum: Add support for the new font and mimehandler provides (Richard Hughes)
 - yum: Don't backtrace with an internal error when the filename is not
        unicode. Fixes rh#480440 (Richard Hughes)
 - zypp: Fix up virtual callback methods (Scott Reeves)

Version 0.4.3
~~~~~~~~~~~~~
Released: 2009-02-02

Translations:
 - Updated Finnish translation (Ville-Pekka Vainio)
 - Updated Catalan translation (Xavier Conde)

New Features:
 - Add new packagekit-sharp binding (Stephane Delcroix)
 - Allow the user to specify a complete output file name with pkgenpack (Richard Hughes)

Bugfixes:
 - Repair pkcon resolve argument parsing (Martin Pitt)
 - Remove dep on python-sqlite2 and use internal python sqlite. Fixes rh#481270 (Richard Hughes)
 - Dist the website in the tarball correctly, and install in the -docs subpackage (Richard Hughes)
 - Fix up a translation in pkcon when we fail to get the time since action (Richard Hughes)
 - Add an option to configure so we can specify a different directory. Fixes fd#19884 (Richard Hughes)
 - Remove bare send_interface lines in the DBus rules (Scott Reeves)
 - Add _get_info, get_id and _get_summary for PkPackageObj (Stephane Delcroix)
 - Removed -Wswitch-enum from compiler switches (Valeriy Lyasotskiy)
 - Don't print an internal error if we don't pass an argument to --package (Utsav Handa)

Backends:
 - alpm: Change source code to be more standards compliant (Valeriy Lyasotskiy)
 - smart: Don't filter *-testing channels as development (Anders F Bjorklund)
 - yum: Get some useful text when yum passes us an invalid message. Fixes fd#19781 (Richard Hughes)
 - zypp: Remove GROUP_ENUM_UNKNOWN as engine returns empty if included in list (Scott Reeves)

Version 0.4.2
~~~~~~~~~~~~~
Released: 2009-01-19

Translations:
 - Added British translation (Tim Waugh)
 - Updated Slovak translation (Pavol Šimo)
 - Updated Greek translation (Jennie Petoumenou)
 - Updated Polish translation (Piotr Drąg)

New Features:
 - Use the detail field as a package_id so we can propogate useful information
   to clients (Richard Hughes)
 - Add an entry to the config file to turn on time estimation, and enable it
   by default (Richard Hughes)
 - Remove the udev helper from PackageKit now the core functionality is in
   udev itself (Richard Hughes)

Bugfixes:
 - If a script is still running and PkSpawn is asked to unload, be more careful
   about disconnecting timers (Richard Hughes)
 - Ensure we call the backend finalise method when the daemon times out (Richard Hughes)
 - Ensure we send the correct network state with the new changed codepath (Richard Hughes)
 - Don't leak directory on commit-failed error path (Richard Hughes)
 - Set the setup signal after we've connected the backend to the transaction so
   it is emitted for clients (Richard Hughes)
 - Don't emit allow-cancel over and over if it is the same state as before (Richard Hughes)
 - A *-testing repo is not a development repo, so should not be filtered by
   default. Fixes rh#480135 (Richard Hughes)
 - Remove the obsolete specific vendor_url for each PolicyKit authorisation
   and rely on the packagekit homepage. Fixes novell#450349 (Richard Hughes)
 - Only try to exit the spawned backend if it is running, which removes an error
   warning if it is already closed (Richard Hughes)
 - Clear the backend store in pk_backend_reset() as we can't guarantee the
   ordering for cancelled jobs (Richard Hughes)
 - Fix compile of the browser plugin with newer versions of xulrunner (Richard Hughes)

Backends:
 - dummy: Output a load of messages we can play with in GUI tools (Richard Hughes)
 - yum: Get the yum lock before we start setting up comps (Richard Hughes)
 - yum: Set the allow cancel flag when we are waiting for yum to release its lock (Richard Hughes)
 - yum: Fixed a bug that prevents installing a local file that isn't in the repos (Trever Fischer)

Version 0.4.1
~~~~~~~~~~~~~
Released: 2009-01-08

Translations:
 - Add Punjabi translation (A S Alam)
 - Updated Spanish translation (Domingo Becker)
 - Updated German translation (Fabian Affolter)
 - Updated Polish translation (Piotr Drąg)

New Features:
 - Use NetworkManager to get the network device type for session policy decisions (Richard Hughes)
 - Resolve() is now case sensitive (Richard Hughes)
 - Upload some updated screenshots and some videos (Richard Hughes)
 - Added arch linux recognition code to pk_get_distro_id (Valeriy Lyasotskiy)
 - Adapted pk-upgrade-distro.sh for suse (Thomas Goettlicher)
 - Don't let spawned backends hog the disk by default using ioprio (Adel Gadllah)
 - glib: Add a client side timeout monitor so we can set a limit on queries (Richard Hughes)
 - glib: Added accessors for PkPackageId (Valeriy Lyasotskiy)
 - Import ruck, a port of rum, which is a port of rug (Aidan Skinner)
 - ruck: Add ruck client (Aidan Skinner)
 - Added search file method and search details convinience method to packagekit-qt (Daniel Nicoletti)
 - Daemon backend: Separate object creation and running (Sebastian Heinlein)

Bugfixes:
 - QPackageKit: Revert the threaded polkit as it breaks everything (Adrien BUSTANY)
 - Define a macro directory so we work with newer versions of libtool (Richard Hughes)
 - Remove the concept of slow and fast interfaces, since we don't actualy know the speed (Richard Hughes)
 - Get the caller (and uid) for all transactions from the GetTid method as we
   cannot get the UID from the non-async methods (Richard Hughes)
 - Clarify that free form text in Details and UpdateDetail is formatted to markdown syntax (Richard Hughes)
 - Fix a signed vs. unsigned problem when checking the error of a spawned backend
   that is killed (Richard Hughes)
 - Fix a signed vs. unsigned problem when checking a PkBitfield (Richard Hughes)
 - Enable more compiler warnings on GCC, and stop abusing global CFLAGS in configure (Richard Hughes)
 - Allow pkcon to resolve all the command line arguments, not just the first one (Richard Hughes)
 - Don't attempt to free the package object twice if we skip it due to duplicate filtering (Richard Hughes)
 - Fix the python client library for SearchDetails and SearchFile. Fixes fd#19426 (Richard Hughes)
 - Make get_packages call GetPackages, not GetUpdates (Aidan Skinner)
 - ruck: Make update use update_packages instead of update_system (Aidan Skinner)
 - ruck: convert to use native buildsystem (Richard Hughes)
 - Forget arch for foresight, let the backend handle that at install time. (Ken VanDine)

Backends:
 - alpm: Code modified to use PkPackageId accessors (Valeriy Lyasotskiy)
 - alpm: Download_packages stuff moved to its own thread (Valeriy Lyasotskiy)
 - apt: Fix order of locking and threading (Sebastian Heinlein)
 - apt: Start a new testing framework using mox and nose (Sebastian Heinlein)
 - apt: Use the root of apt to search for files (Sebastian Heinlein)
 - apt: Do not report a package twice if the file search string matches more
        than once (Sebastian Heinlein)
 - apt: Iterate over all pending events in the main loop during tests to allow
        the dbus object to unregister (Sebastian Heinlein)
 - apt: Add a test for file search (Sebastian Heinlein)
 - apt: Do not register the test backend on the dbus (Sebastian Heinlein)
 - apt: Shorten wait for join of test threads (Sebastian Heinlein)
 - apt: Add test for doInit and doRefresh (Sebastian Heinlein)
 - apt: Fix status test file by removing all dependencies of xterm (Sebastian Heinlein)
 - apt: Add a test repository Packages file (Sebastian Heinlein)
 - apt: Fix refresh: After calling refresh the cache has to be reopened (Sebastian Heinlein)
 - apt: Register callbacks centrally for the test (Sebastian Heinlein)
 - apt: Add check for updates, add numbers to the test name to make them sortable,
        use variables where possible for internal strings (Sebastian Heinlein)
 - apt: Move test data files to a separate folder (Sebastian Heinlein)
 - apt: Adapt changed test data paths (Sebastian Heinlein)
 - apt: Allow to speicify additional nosetests parameters for the test script (Sebastian Heinlein)
 - apt: Provide details for a failed download (Sebastian Heinlein)
 - dummy: Ddd some markdown text for demos (Richard Hughes)
 - poldek: Documentation packages have its own group (Marcin Banasiak)
 - poldek: Added support for InstallGStreamerCodecs (Marcin Banasiak)
 - poldek: Improved SearchFile (query rpmdb for local files) (Marcin Banasiak)
 - poldek: Move GetPackages to its own function (Marcin Banasiak)
 - yum: Don't show DeprecationWarnings from yum (Richard Hughes)
 - yum: Catch another exception from yum when doing self.yumbase.comps.return_group,
        possibly triggered by deselecting all sources (Richard Hughes)
 - yum: Clear the package sack before we get the updates list to ensure it's correct (Richard Hughes)
 - yum: Import yum for file, rather than just in main to fix exception handling.
        Fixes rh#476381 (Richard Hughes)
 - yum: Emit more percentage signals so that the progress bar is smoother and the
        time estimation is more accurate (Richard Hughes)
 - yum: Print the full exception in the internal error case, else it's useful to no-one... (Richard Hughes)
 - yum: Treat new packages dragged in as update deps as enhancements (Richard Hughes)
 - yum: Don't show an error when we try to get the details of a package that does
        not have a description field. Fixes RH#477018 (Richard Hughes)
 - yum: Remove all tab characters in update descriptions (Richard Hughes)
 - yum: Issue a warning when the user enables a rawhide repo (Richard Hughes)
 - yum: Catch IOError and handle out of disk space. Fixes RH#478377 (Richard Hughes)

Version 0.4.0
~~~~~~~~~~~~~
Released: 2008-12-09

Notes:
- Now integrates with BASH suggesting replacements and offering to install
  missing packages.
- Now integrates with Pango using a gtk-module to install missing fonts.
- Much tighter security model and new audit logging framework.
- Lots of new, untested, code so probably not a good idea for stable distributions.

Translations:
 - Updated Swedish translation (Daniel Nylander)
 - Updated Polish translation (Piotr Drąg)

New Features:
 - qt: Add GetMimeTypes to Qt bindings (Adrien BUSTANY)
 - Add a PolicyKit rule so other users can cancel tasks from other users (Richard Hughes)
 - Add command-not-found functionality to PackageKit (Richard Hughes)
 - Add a various possible replacement models to command not found (Richard Hughes)
 - Use a config file to control the actions we take on command-not-found (Richard Hughes)
 - Add a Pango module that can be used to automatically install missing fonts (Behdad Esfahbod)
 - Set the environment variable NETWORK for the spawned backends (Richard Hughes)

Bugfixes:
 - Get the lang and network state in the generic spawned backend (Richard Hughes)
 - pk-generate-package-list is not used any more, remove from the man page (Anders F Bjorklund)
 - Check the sender for SetLocale and the UID for Cancel (Richard Hughes)
 - Fix a small memory leak in pk_transaction_action_is_allowed (Richard Hughes)
 - Fix a small memory leak in pk_backend_package (Richard Hughes)
 - Make a lot of new strings translatable in pkcon (Richard Hughes)
 - Add the DBus interface now that the default send interface is now deny (Richard Hughes)
 - Allow all clients to send to all interfaces of the server. Fixes DBus introspection. (Richard Hughes)
 - gtk-module: Fix typos, clean up and improve README (Behdad Esfahbod)
 - glib: Don't emit a critical warning if a desktop file contains an error (Richard Hughes)
 - qt: Fix make check with the threaded Polkit client (Adrien BUSTANY)
 - qt: ifdef the Polkit relevant parts for make distcheck (Adrien BUSTANY)
 - qt: Fix the old transactions, and upgrade to new API (Adrien BUSTANY)
 - qt: Fixed freezed UI while waiting for blocking polkit_auth_obtain call (Thomas Goettlicher)

Backends:
 - apt: Fix apt configuration (Sebastian Heinlein)
 - poldek: Implement get_mime_types (Marcin Banasiak)
 - yum: Catch yum.Errors.RepoError when we get the yum comps groups. Fixes fd#18722 (Richard Hughes)
 - yum: Add a few more entries into the comps groups mapping (Richard Hughes)
 - yum: Use the NETWORK environment variable to change the way we access the repos (Richard Hughes)
 - yum: Remove two developer debugging statements left in by accident (Richard Hughes)
 - yum: Try harder to work from a cache when offline (Richard Hughes)
 - yum: Avoid hanging the daemon when a repo is down. Fixes rh#473379 (Richard Hughes)
 - yum: Catch all exceptions from self.yumbase.doConfigSetup. Fixes fd#18834 (Richard Hughes)
 - yum: Don't error out with an internal error if the non-installed dep check fails. Fixes rh#474138 (Richard Hughes)
 - yum: Make sure we call doObsoletes explicitly when we get the ObsoletesTuples (Richard Hughes)
 - yum: As we can't treat yum like a usual python module, hand-hold it. (Richard Hughes)
 - yum: check if a package has the correct architecture, and if not exit with an error. Fixes rh#474740 (Richard Hughes)

Version 0.3.11
~~~~~~~~~~~~~~
Released: 2008-11-24

Translations:
 - Updated German translation (Fabian Affolter)
 - Updated Italian translation (Francesco Tombolini)
 - Updated Brazilian Portuguese translation (Igor Pires Soares)
 - Updated Slovak translation (Pavol Šimo)
 - Updated Polish translation (Piotr Drąg)
 - Updated Finnish translation (Ville-Pekka Vainio)
 - Updated Simplified Chinese translation (sainrysec)
 - Updated Malayalam Translation (Ani Peter)

New Features:
 - Add three commands to pkcon: list-create, list-diff and list-install (Richard Hughes)
 - Pass around the PolkitCaller rather than the dbus sender (Richard Hughes)
 - Add two elements to the Transaction signal so we can get the user and cmdline
   in client tools (Richard Hughes)
 - Glib: Remove PkExtra and use a new class PkDesktop to manage the desktop file cache
   in a more abstract way (Richard Hughes)
 - When a package is installed, automatically scan and add the desktop file if
   RefreshCacheScanDesktopFiles is set (Richard Hughes)
 - Add syslog logging so that we keep a record of obtained authorisations (Richard Hughes)
 - Glib: Provide a method to only return desktop files that will be shown in menus (Richard Hughes)
 - Plugin: Remove the 'desktopnames' parameter from the x-packagekit-plugin code and
   add the desktop icon if installed (Richard Hughes)

Bugfixes:
 - Allow single charicter package names (Richard Hughes)
 - Fix compile for older GTK versions (Anders F Bjorklund)
 - When we do pkcon update, don't attempt to do what-provides if it's not implemented (Richard Hughes)
 - Create the log file directory if we are running the daemon in a prefix (Richard Hughes)
 - Fix a segfault in the error path when files could not be installed with pkcon (Richard Hughes)
 - Set the transaction role in GetOldTransactions() else it shows as unknown (Richard Hughes)
 - When logging to LOG_AUTHPRIV also log to LOG_DAEMON (Richard Hughes)
 - Enable translations in the client tools. Fixes fd#18674 (Richard Hughes)
 - Glib: Add GetDistroUpgrades to requeue as this may be required with a repo signature (Richard Hughes)
 - Glib: Make bitfield functions return zero if any of the elements are unknown (Richard Hughes)
 - Glib: Tidy up the error handling in PkClient so we always fix up remote errors (Richard Hughes)
 - Glib: Fix crash when pk-control is referenced after it's finalized (Scott Reeves)
 - Glib: Allow building the glib library outside the source tree (Trever Fischer)
 - QT: Add a config.h to allow disabling polkit (Adrien BUSTANY)
 - QT: Correct the location of the library in the cmake file (Trever Fischer)
 - QT: Behave better if PolKit is not present (Adrien BUSTANY)
 - QT: Fixed freezed ui while waiting for blocking PolicyKit call (Thomas Goettlicher)
 - Python: Instead of only package ids allow to use PackageKitPackage
   instances as parameter (Sebastian Heinlein)
 - Python: Add PackageKitTransaction.get_error method which returns (Sebastian Heinlein)
 - Python: Don't use CamelStyle for methods (Sebastian Heinlein)
 - Python: Use error naming of the ErrorCode signal (Sebastian Heinlein)
 - Python: Collect messages (Sebastian Heinlein)
 - Python: Make filter optional (Sebastian Heinlein)

Backends:
 - alpm: Add initial version of what_provides to the backend (Valeriy Lyasotskiy)
 - alpm: Added download_packages stuff (Valeriy Lyasotskiy)
 - conary: Merged in more fixes from Andres (Ken VanDine)
 - conary: Updated the update-detail call (Ken VanDine)
 - yum: Further fixes to repository signing (Richard Hughes)
 - yum: Don't explode if the preupgrade package cannot be found (Richard Hughes)
 - yum: Don't setup the repo list in GetRepoList, this method doesn't change anything (Richard Hughes)
 - yum: Add support for signed repository metadata (Tim Lauridsen)
 - yum: Make sure the repos are setup before we run any command else (Richard Hughes)
 - zypp: Don't leak the filters (Scott Reeves)
 - zypp: Minor bugfix (Stefan Haas)
 - zypp: zypp >= 5.20.0 is needed now (Stefan Haas)
 - zypp: Fixed restart-flag handling (Stefan Haas)
 - zypp: Do not abort when a repo is unavailable (Stefan Haas)
 - zypp: Do not show empty messages or messages twice (Stefan Haas)
 - zypp: Handle filters in WhatProvides and Resolve (Stefan Haas)

Version 0.3.10
~~~~~~~~~~~~~~
Released: 2008-11-10

Translations:
 - Updated Spanish translation (Domingo Becker)
 - Updated German translation (Fabian Affolter)
 - Updated Italian translation updated (Francesco Valente)
 - Updated Brazilian Portuguese translation (Igor Pires Soares)
 - Updated Turkish translations (S.Çağlar Onur)
 - Updated Finnish translation (Ville-Pekka Vainio)
 - Updated Simplified Chinese (甘露(Gan Lu))
 - Updated Catalan translation (Xavier Conde)

New Features:
 - Redesign python packagekit client to support async operations (Sebastian Heinlein)
 - Monitor scripts in PkSpawn for standard error too, as messages often get put
   there by libraries and may be useful to a backend (Richard Hughes)
 - Add filter functions to allow the spawned backends to filter stderr (Richard Hughes)

Bugfixes:
 - Add missing includes to fix the build (S.Çağlar Onur)
 - Install FindQPackageKit.cmake as KPackageKit needs it to build (Richard Hughes)
 - Use the correct session interface in the browser plugin (Richard Hughes)
 - Fix protocol violation in the server and client (Richard Hughes)
 - Store job count in /var/lib as it's persistent (Richard Hughes)
 - When we call Error from a python spawned backend with exit=False, don't do
   Finished else we'll get warned by the daemon (Richard Hughes)
 - plugin: Send the XID of the browser window so focus stealing and modality is
   set correctly (Richard Hughes)
 - DaemonBackend: Do not include use a separate inactivity timeout (Sebastian Heinlein)
 - Add the description to the PackageKitError exception in client (Sebastian Heinlein)
 - Fix the idle timer in  daemonBackend - do not exit on running threads (Sebastian Heinlein)
 - python client: UpdateSystem should be handled as a long taking action (Sebastian Heinlein)
 - python client: SetLocale does not report a status (Sebastian Heinlein)
 - python client: Show status, progress and allow_cancel in the widget (Sebastian Heinlein)
 - python client: Replace the async parameter by an exit_handler (Sebastian Heinlein)

Backends:
 - alpm: change GetDepends to handle filters properly (Valeriy Lyasotskiy)
 - conary: Fixed data.split, I think that space was a typo (Ken VanDine)
 - yum: Add support for non categorized groups (Tim Lauridsen)
 - yum: Sort the groups in each category (James Antill)
 - yum: Sort by group and not groupid (James Antill)
 - yum: Replace a regular expression with four simple comparisons (Richard Hughes)
 - yum: Fix a recently introduced regression where installing a zero byte
        file would not return the correct error code (Richard Hughes)
 - yum: Filter out stderr KEY requests before the data is processed (Richard Hughes)
 - yum: Fix getting distibution upgrade information when we have multiple repos
        providing preupgrade. Fixes rh#469172 (Richard Hughes)
 - yum: Move the groups sqlite cache into a PackageKit directory, rather than a
        yum owned directory. Fixes rh#469324 (Richard Hughes)
 - zypp: Changed get_distro_upgrades function (Stefan Haas)
 - zypp: Adapted signature callbacks (Stefan Haas)
 - zypp: Set status when installing a signature (Stefan Haas)

Version 0.3.9
~~~~~~~~~~~~~~
Released: 2008-10-27

Notes:
- Nothing much new here, just lots of translation updates and bugfixes.

Translations:
 - Added Gujarati translation (Ankitkumar Patel)
 - Update Czech translation (Adam Pribyl)
 - Update Malayalam (ml) translation (Ani Peter)
 - Update Swedish translation (Daniel Nylander)
 - Update Spanish translation (Domingo Becker)
 - Update Serbian translation (Igor Miletic)
 - Update French translation (PabloMartin-Gomez)
 - Update Brazilian Portuguese translation (Igor Pires Soares)
 - Updated Polish translation (Piotr Drąg)
 - Updated Bengali India translation (Runa Bhattacharjee)
 - Updated German translation (Stefan Posdzich)
 - Updated Traditional Chinese translation (Terry Chuang)
 - Updated Finnish translation (Ville-Pekka Vainio)
 - Update Simplified Chinese translation (Wei Liu, 甘露(Lu Gan))

New Features:
 - Provide more feedback to what is going on when we create a service pack,
   and allow it to be cancelled (Richard Hughes)
 - Print service pack creation status in pkgenpack and cancel it if we
   ctrl-c to cancel (Richard Hughes)

Bugfixes:
 - Fix the check for installed, else we fail the resolve in pkcon (Richard Hughes)
 - Add a type= key to metadata.conf so we can tell if the service pack is an
   update or install pack (Richard Hughes)
 - Fix excluding a list of packages in pkgenpack by adding and using a proper
   equality function (Richard Hughes)
 - Catch exceptions from sys.stdin.readline to fix rh#468486 (Richard Hughes)
 - glib: Allow GetOldTransactions to be run sync (Richard Hughes)
 - glib: Send a more precise error code when we fail a transaction (Richard Hughes)

Backends:
 - yum: Use the external yum API to change the config, not the internal one (James Antill)
 - yum: Be cleverer when installing service packs of different types (Richard Hughes)
 - yum: Emit a proper error message when we fail to depsolve and then have
        nothing to do. Fixes rh#466006 (Richard Hughes)
 - yum: Do some testing when yum has _no_ metadata and the user is offline, and
        make sure we don't send internal error in these cases (Richard Hughes)
 - yum: Handle utf8 error values to fix non English locales. Fixes rh#468602 (Richard Hughes)
 - yum: Fix the newest filter to properly output installed status (Richard Hughes)
 - zypp: Update includes to match the new header layout (Scott Reeves)

Version 0.3.8
~~~~~~~~~~~~~~
Released: 2008-10-20

Notes:
 - This release brings many, many new and updated translations.
 - This is the first release with an integrated PackageKit-Qt library developed
   by Adrien BUSTANY. It was included in the project SCM and tarball to give
   it the same level as testing as the Glib library and to provide the same
   ABI and API with consistent versioning.
 - The GLib binding has been renamed to packagekit-glib.

Translations:
 - Added Bengali India Translation (Runa Bhattacharjee)
 - Added Chinese Traditional translation (Terry Chuang)
 - Update Finnish translation (Ville-Pekka Vainio)
 - Update Catalan translation (Xavier Conde)
 - Update Chinese Simplified translation (甘露 Lu Gan, Chinese Simplified)
 - Update German translation (Daniela Kugelmann)
 - Update Swedish translation (David Andersson, Domingo Becker)
 - Update Brazilian Portuguese translation (Igor Pires Soares)
 - Update Slovak translation (Pavol Šimo)
 - Update Polish translation (Piotr Drąg)
 - Updated Hebrew translation (Oron Peled)

New Features:
 - Merge in the QPackageKit QT library from Adrien BUSTANY so we can synchronise
   releases and keep the code in sync (Richard Hughes)
 - Add functionality to check for files being used that have been updated,
   and send a session restart required signal (Richard Hughes)
 - Move the library into /usr/include/PackageKit/packagekit-glib as we now have
   a few libraries that talk to PackageKit (Richard Hughes)

Bugfixes:
 - Print a message to the user when we try to install a package using pkcon that
   is already installed (Richard Hughes)
 - qt: Convert the CMake buildsystem into native automake (Richard Hughes)
 - qt: Use a separate .pc file for packagekit-qt (Richard Hughes)
 - qt: Hook up the packagekit-qt self checks to make check (Richard Hughes)
 - qt: Fix the installation path on 64 bit Linux when using CMake (Laurent Montel)
 - qt: Unify headers path (Adrien BUSTANY)
 - qt: Add categories to PackageKit-Qt (Adrien BUSTANY)
 - qt: add some of the missing enumerated values (Richard Hughes)
 - glib: make ::transaction return a pointer to a struct for lists (Richard Hughes)
 - Allow distros to disable the plugins in the configure script (Richard Hughes)
 - If no packages were updated or the transaction failed then don't try to get
   the file lists when refreshing (Richard Hughes)

Backends:
 - dummy: Make the backend a little cleverer for testing (Richard Hughes)
 - yum: Add GROUP_NEWEST support to search-group (Tim Lauridsen)
 - yum: Use the filters that make sense in the newest group code (Richard Hughes)
 - yum: Use the yum dependency filter when there is not installed in the filter
        string, not just if it's exactly installed (Richard Hughes)
 - yum: Maintain a dictionary of the summary text so we can use it when rpm is
        giving us package names without summaries on cleanup (Richard Hughes)
 - zypp: Return repo error instead of a internal error (Scott Reeves)

Version 0.3.7
~~~~~~~~~~~~~~
Released: 2008-10-13

Translations:
 - Updated Brazilian Portuguese translation (Igor Pires Soares)
 - Updated Greek translation (Nikos Charonitakis)
 - Updated Slovak translation (Pavol Šimo)
 - Updated German Translation (Thomas Spura)

New Features:
 - Add a GetCategories method and Category signal so we can build a dynamic
   group list (Richard Hughes, Tim Lauridsen)
 - Add support for getting the category list in PkClient (Richard Hughes)
 - Speed up filtering by nearly an order of magnitude (Richard Hughes)
 - Make the command line parsing on pkgenpack more sane (Richard Hughes)
 - Add a -u option to pkgenpack so we can generate a pack of updates (Richard Hughes)
 - Show progress as the packages are downloaded in pkgenpack (Richard Hughes)
 - More PkServicePack into libpackagekit for GUI client tools (Richard Hughes)
 - Lots of updates to the pkgenpack manpage (Richard Hughes)

Bugfixes:
 - Add some functionality to compare PackageIDs with a fuzzy arch (Richard Hughes)
 - Don't crash the client tools if PkControl launches the daemon (Richard Hughes)
 - Change the docs as the duration of the transaction is measured in ms (Richard Hughes)
 - Register the mime-type x-package-list as we are using it for service packs (Richard Hughes)
 - Mime type of a service pack is x-servicepack, not x-pack (Richard Hughes)
 - Fix refresh cache actions to set store values for threaded backends (Scott Reeves)
 - python: fixed cut & paste error (Tim Lauridsen)
 - python: use stdin.readline as it behaves better when terminating (Tim Lauridsen)

Backends:
 - alpm: Add get_mime_types (Valeriy Lyasotskiy)
 - alpm: Don't list available packages with the same version as installed (Valeriy Lyasotskiy)
 - apt: Dix the gstreamer whatprovides regular expression (Sebastian Heinlein)
 - apt: Do not require to be online to make a refresh (Sebastian Heinlein)
 - urpmi: Fix in backend with new package ids delimiter (Aurelien Lefebvre)
 - yum: Add support for categories (Tim Lauridsen)
 - yum: Don't emit full paths for icons, just emit the icon name (Richard Hughes)
 - zypp: Changes for zypp 4.14.0 (Stefan Haas)
 - zypp: fixed BNC#402372 (Stefan Haas)

Version 0.3.6
~~~~~~~~~~~~~~
Released: 2008-10-06

Translations:
 - Updated German Translation (Thomas Spura)

New Features:
 - Add the GetMimeTypes method to get the MIME types of packages supported (Richard Hughes)
 - Add a Destroy signal when we destroy the interface (Richard Hughes)
 - Do a self check in PkTransaction so backends cannot wedge the daemon (Richard Hughes)
 - Add Vendor.conf so vendors to change the URLs used in the frontend programs (Richard Hughes)
 - Renice the spawned process so that we don't hog the system when doing automatic updates (Richard Hughes)
 - Add a way for a big company to change the name of the vendor enumerated group (Richard Hughes)

Bugfixes:
 - Remove items about to be run from the transaction list without crashing (Richard Hughes)
 - Use a 64 bit codec suffix for the codec provides on 64 bit machines (Richard Hughes)
 - Make the GStreamer helper use proper GStreamer exit codes (Richard Hughes)
 - Set the default timeout to the maximum as dbus-glib times out after 25 seconds (Richard Hughes)
 - Fix a theoretical hang where we could try to reuse a exiting instance (Richard Hughes)
 - Unlock the backend before we send finished on ErrorCode as unlocking may take some time (Richard Hughes)
 - When we exit the dispatcher with 'exit' ensure we unlock if locked (Richard Hughes)
 - If the refresh cache fails, don't do the PkRefresh actions (Richard Hughes)
 - If a caller does GetTid and then crashes, the daemon should timeout the transaction (Richard Hughes)
 - Use environent variables rather than static instance variables to hold the debugging state,
   so that we can get access to libpackagekit debugging when linked in (Richard Hughes)
 - When we query the progress of a transaction, use the cached transaction values rather
   than querying the backend, as it might not be the transaction actually running (Richard Hughes)
 - We are allowed to cancel queued (and not running) transactions (Richard Hughes)
 - Use the correct command names in packagekit-background.cron. Fixes fd#17875 (Richard Hughes)
 - Catch all errors in a transaction to even catch attribute errors in yum. Fixes fd#17920 (Richard Hughes)


Backends:
 - apt: Fix StateHasChanged call after a cache update (Sebastian Heinlein)
 - apt: Instead of using the raw codec string in WhatProvides use the one (Sebastian Heinlein)
 - apt: Add a note about implementing the codec search using debtags (will (Sebastian Heinlein)
 - apt: Dpkg calls should use the same system root as the apt cache (Sebastian Heinlein)
 - apt: There is no need to mark the required changes of local package (Sebastian Heinlein)
 - pisi: Trivial changes for pisi-dispatcher work (S.Çağlar Onur)
 - smart: Use loader.getInstalled() instead of channel.getType (Anders F Bjorklund)
 - smart: Implement GetMimeTypes (Anders F Bjorklund)
 - smart: Restore the backend.reset() that got lost in refactoring (Anders F Bjorklund)
 - yum: Don't backtrace when we search group on no collections. Fixes rh#465722 (Richard Hughes)

Version 0.3.5
~~~~~~~~~~~~~~
Released: 2008-09-29

Translations:
 - Add new Malay translation (Sharuzzaman Ahmat Raslan)
 - Updated Czech translation (Adam Pribyl)
 - Updated Polish translation (Piotr Drąg)
 - Updated Catalan translation (Xavier Conde)

New Features:
 - Add new API so we can avoid loading data when we are just writing (Richard Hughes)
 - Add a helper which can be used by GStreamer to install codecs.
   The conversion code was written by Bastien Nocera (Richard Hughes)
 - Add an abstract filter object as backends keep getting this wrong (Richard Hughes)
 - Keep an array of modification times for the desktop files so we don't force
   processing each unchanged one when we do RefreshCache. Fixes fd#17817 (Richard Hughes)

Bugfixes:
 - Turn off synchronous fsync when using PkExtra as the data isn't valuable (Richard Hughes)
 - Don't send ::Finished() when the script exits because of a dispatcher exit (Richard Hughes)
 - When we have more than one transaction queued, don't try to run them all at once (Richard Hughes)
 - Check if an instance is already running (Richard Hughes)
 - Finish a cached transaction in an idle loop (Richard Hughes)
 - Fix up a couple of potential crashers in PkControl if SetLocale fails (Richard Hughes)
 - Remove all the funny '^','|',<tab> seporators and make the delimiters all the same (Richard Hughes)
 - libpackagekit needs sqlite, so mark it as such in the pkgconfig file (Richard Hughes)
 - Python client: add the right type to obj vars to the Package object (Tim Lauridsen)
 - Python client: store the whole info in PackageKitPackage (Sebastian Heinlein)
 - Python client: store 'free' strings as unicodes instead of utf-8 encoded (Sebastian Heinlein)

Backends:
 - apt: Add a decorator which cleans up the system cache lock (Sebastian Heinlein)
 - apt: Check if the in memory cache is insync with the file cache (Sebastian Heinlein)
 - apt: Enhance the test script to a full package client (Sebastian Heinlein)
 - apt: Do not fork the whole backend to only run dpkg (Sebastian Heinlein)
 - apt: Use openpty() to create a fd which can be used for stdin and stdout (Sebastian Heinlein)
 - apt: Do not require to lock the cache before running dpkg (Sebastian Heinlein)
 - apt: Scan for debian bugs and cves referred to in the changelog (Sebastian Heinlein)
 - apt: Fix config file prompts in direct dpkg calls and add a small sleep (Sebastian Heinlein)
 - apt: Instead of catching and answering a config file prompt just set the dpkg options --force-confdef and --force-confold (Sebastian Heinlein)
 - alpm: Added support for new pacman, resolver stuff changed and moved functions to another thread (Valeriy Lyasotskiy)
 - smart: Restore the missing installed collections (Anders F Bjorklund)
 - smart: Always use the dispatcher (Anders F Bjorklund)
 - smart: Look for apt metapackages as well as yum/yast (Anders F Bjorklund)
 - pisi: Convert the backend to using a dispatcher (Richard Hughes)
 - yum: Added set-locale support and return translated collection name & decription (Tim Lauridsen)
 - yum: Use the LANG environment var to set language of group names & decriptions (Tim Lauridsen)
 - yum: Make the yum comps db use a version, so we can change the schema in the future (Tim Lauridsen)
 - yum: Fix the name of the enum when no mirrors are found (Richard Hughes)
 - yum: Fix up a load of issues with rpmlint in yumBackend (Richard Hughes)
 - yum: Make the check for additional deps much faster in the specific case where we can emulate a transaction (Richard Hughes)
 - yum: Use the new PackagekitFilter abstract object (Richard Hughes)
 - yum: Always enforce a finished call after ErrorCode to avoid a daemon warning (Richard Hughes)
 - yum: Fix getting the update list after we installed updates (Richard Hughes)
 - zypp: Fix returning bogus packages by setting ignoreAlreadyRecommended (Scott Reeves)

Version 0.3.4
~~~~~~~~~~~~~~
Released: 2008-09-22

New Features:
 - Add PK_PROVIDES_ENUM_HARDWARE_DRIVER to query for hardware drivers (Scott Reeves)
 - python: Implemented some extra methods and did some code cleanups (Tim Lauridsen)
 - python: Removed packagekitwrapper.py, it is replaced by packagekit/client.py (Tim Lauridsen)
 - python: Implemented the last methods and make the wrapper-test.py a lot better (Tim Lauridsen)
 - Change ScanDesktopFiles and UpdatePackageList to default true (Richard Hughes)
 - Use a new in-process desktop scanner and package list generator (Richard Hughes)
 - Add a --quiet flag for the import tools (Richard Hughes)

Bugfixes:
 - Add PLD to pk_get_distro_id (Marcin Banasiak)
 - Split the dispatcher commands using tab else we don't handle filenames
   with spaces in them correctly (Richard Hughes)
 - Store translations in the C locale so we can still provide a package name
   in C even if there are no translations (Richard Hughes)
 - Emit a proper error code when we can't start the dameon (Richard Hughes)
 - Don't show a critical warning if we can't start up the daemon (Richard Hughes)
 - Use gconstpointer rather than const gpointer (Richard Hughes)
 - Make pkcon always overwrite the percentage values (Richard Hughes)
 - python API: return objects instead of dict (Tim Lauridsen)

Backends:
 - dummy: Respect the filter setting in SearchFile (Richard Hughes)
 - smart: Add download status for non-package/repodata files (Anders F Bjorklund)
 - smart: Implement GetUpdateDetail (Anders F Bjorklund)
 - smart: Only allow one download at a time, to avoid confusing interface (Anders F Bjorklund)
 - urpmi: Now using dispatched backend (Aurelien Lefebvre)
 - yum: Make meta packages use verbose name as summary, insted of description (Tim Lauridsen)
 - yum: Fix a potential problem if the package_id could not be found (Richard Hughes)
 - yum: Hook up get-distro-upgrades in the dispatcher (Richard Hughes)
 - yum: Don't try and upgrade kernel when we GetDistroUpgrades (Richard Hughes)
 - yum: Don't report the collection version or arch as meta (Richard Hughes)
 - yum: Add the collection size to the output of GetDetails (Richard Hughes)
 - yum: get-updates should list obsoletes too (Tim Lauridsen)
 - yum: GetDepends return packages added from group, not only deps (Tim Lauridsen)
 - zypp: Fix the separator when returning multiple id's (Scott Reeves)
 - zypp: Build pool before solving (Stefan Haas)
 - zypp: Cleaned WhatProvides method (Stefan Haas)
 - zypp: Fix potential segfault (Martin S)
 - zypp: Check provides if no package was found (Stefan Haas)
 - zypp: Package expects a summary, not a (long) description (Martin S)

Version 0.3.3
~~~~~~~~~~~~~~
Released: 2008-09-16

Notes:
 - This release fixes a serious bug where the daemon would sometimes stop
   handling requests under heavy load.
 - A new package type of Collection has been added that is designed to work
   as an abstract package. It can be used to install or remove groups of packages.

New Features:
 - Add PK_INFO_ENUM_COLLECTION_INSTALLED and PK_INFO_ENUM_COLLECTION_AVAILABLE (Richard Hughes)
 - Add pk-upgrade-distro.sh so we can actually do the distro upgrade action (Richard Hughes)
 - Add support for running the Ubuntu dist upgrade tool (Sebastian Heinlein)
 - Add PK_FILTER_ENUM_COLLECTIONS and PK_FILTER_ENUM_NOT_COLLECTIONS functionality (Tim Lauridsen)
 - Add documentation about how the udev firmware loading stuff actually works (Richard Hughes)
 - Added client Python API based on the packagekitwrapper.py (Tim Lauridsen)
 - Python client API - many improvements (Tim Lauridsen)

Bugfixes:
 - Don't assume /bin/sh supports echo -e (James Westby)
 - Complete handling of local backend directory for test (James Westby)
 - When we have finished RefreshCache delete the udev file if it exists (Richard Hughes)
 - Fix the race where firemware is requested by udev and and old file is overwritten (Richard Hughes)
 - Actually print the transactions without using --verbose when using pkmon (Richard Hughes)
 - Use a proper error enum when we have no more mirrors to try (Richard Hughes)
 - Don't convert null sections of a package_id instead use an empty string (Richard Hughes)
 - Turn off -Wformat-security as old gtk-doc generators break the build (Richard Hughes)
 - Use a bitfield when searching for files in the catalog (Richard Hughes)
 - Execute the pk_transaction_run handler in an idle callback (Richard Hughes)
 - Allow the catalog list to be split with more than just ; chars (Richard Hughes)
 - Fix up all the memory leaks found by the self tests in src and libpackagekit (Richard Hughes)
 - Make PkBitfield a 64 bit type now we have 33 group enums (Richard Hughes)
 - Emit custom exit status from PkSpawn so we can tell the exit status (Richard Hughes)
 - Only return the icon name in PkExtra if it's an icon name, and not an actual icon (Richard Hughes)
 - PkExtra is a singleton, so don't error out when we try to reuse it (Richard Hughes)
 - Add GError parameters to all the public functions in PkControl that can fail (Richard Hughes)

Backends:
 - apt: Handle inconsistent source repo state (James Westby)
 - apt: Only define the enhanced softwareproperties class if possible (Sebastian Heinlein)
 - apt: Disable the sources list repository if it is inconsistent (Sebastian Heinlein)
 - apt: Add missing support for cdrom sources (Sebastian Heinlein)
 - apt: Check the cache at first in doUpdatePackages (Sebastian Heinlein)
 - apt: Add support for collections. Based on the metapackages section (Sebastian Heinlein)
 - apt: Use a dictonary for the section to group mapping (Sebastian Heinlein)
 - apt: Make sure that we are can lock the pkg system before installing local packages (Sebastian Heinlein)
 - apt: Fix path of the reboot-required stamp (Sebastian Heinlein)
 - dummy: Make what-provides take some time, and also special case some codec names (Richard Hughes)
 - dummy: Make install_files and get_depends a little smarter (Richard Hughes)
 - smart: Only show the best requires/provides, and remove the package itself (Anders F Bjorklund)
 - smart: Better error reporting for install/remove of non-existing package (Anders F Bjorklund)
 - smart: Fix progress report bug that was stopping update_system (Anders F Bjorklund)
 - smart: Add basename_filtering (Anders F Bjorklund)
 - smart: Need to reset backend between runs, when using dispatching mode (Anders F Bjorklund)
 - smart: Use filters for get_updates (Anders F Bjorklund)
 - smart: Set special repo data for installed/local (Anders F Bjorklund)
 - smart: Fix unicode decode errors by using a temporary variable (Anders F Bjorklund)
 - smart: Avoid looking in external pathlists for installed packages (Anders F Bjorklund)
 - smart: Send more status updates when using dispatcher (Anders F Bjorklund)
 - smart: Avoid KeyError when no extra deps (Anders F Bjorklund)
 - smart: Add yum/yast metapackages group (Anders F Bjorklund)
 - smart: Add alternative groups from opensuse rpm (Anders F Bjorklund)
 - smart: Search for rpm subgroups, if no group matches (Anders F Bjorklund)
 - smart: Add collections_filtering (Anders F Bjorklund)
 - smart: Set special status for collection packages (Anders F Bjorklund)
 - smart: Report get_details error when package not found or in wrong channel (Anders F Bjorklund)
 - smart: Report get_fileserror when package not found or in wrong channel (Anders F Bjorklund)
 - smart: Add mandriva rpm groups (Anders F Bjorklund)
 - smart: Sync smart groups with urpmi groups somewhat (Anders F Bjorklund)
 - smart: Move emulators to virtualization (Anders F Bjorklund)
 - smart: Add more rpm groups from opensuse (Anders F Bjorklund)
 - urpmi: Warn the user when installation failed because of bad signatures (Aurelien Lefebvre)
 - urpmi: Best error's handle in refresh-cache method (Aurelien Lefebvre)
 - urpmi: get-detail method now supports package ids list (Aurelien Lefebvre)
 - urpmi: get-update-details now supports package ids list argument (Aurelien Lefebvre)
 - urpmi: get-requires now supports package ids list argument (Aurelien Lefebvre)
 - urpmi: resolve now supports package ids list argument (Aurelien Lefebvre)
 - urpmi: get-files now supports package ids list argument (Aurelien Lefebvre)
 - urpmi: get-depends now supports package ids list argument (Aurelien Lefebvre)
 - urpmi: get_distro_upgrades method implemented (Aurelien Lefebvre)
 - urpmi: Start converting methods to a dispatched backend (Aurelien Lefebvre)
 - urpmi: Added support for install-packages to install more than one package (Aurelien Lefebvre)
 - yum: Disable the YumDirect code, it dont work (Tim Lauridsen)
 - yum: Add some code to support metapackage installation (Tim Lauridsen)
 - yum: More metapackage functionality (Tim Lauridsen)
 - yum: Add some percentage to collections (Tim Lauridsen)
 - yum: Remove-packages should not fail on meta package (Tim Lauridsen)
 - yum: Make remove-packages handle meta packages (Tim Lauridsen)
 - yum: Make get-requires handle meta packages (comps groups) (Tim Lauridsen)
 - yum: Handle unknown group in search-group (Tim Lauridsen)
 - yum: Make get-details work with meta-packages (comps groups) (Tim Lauridsen)
 - yum: Now we depend on 3.2.19, rip out YumDirectSQL as we can use yum directly
        rather than fumble about in the sqlite files (Richard Hughes)
 - yum: Add a workaround when getObsoletesTuples fails, fixes fd#17528 (Richard Hughes)
 - yum: Support the collections group (Richard Hughes)
 - yum: Handle the collections filter like we do all the other filters (Richard Hughes)
 - zypp: Update the repo location (Scott Reeves)
 - zypp: Implement fate #301904 to warn for outdated repo (Stefan Haas)
 - zypp: Added get_distro_upgrades (Stefan Haas)
 - zypp: Reset force flag also if something fails (Stefan Haas)

Version 0.3.2
~~~~~~~~~~~~~~
Released: 2008-09-08

Notes:
 - This is the first release with the dispatcher functionality that allows
   backend reuse. This speeds up packagekitd to native speeds when doing
   repeated similar transactions from the same session and locale.

Translations:
 - Updated Spanish translation (Domingo Becker)
 - Updated Brazilian Portuguese translation (Igor Pires Soares)
 - Updated Polish translation (Piotr Drąg)
 - Updated Finnish translation (Ville-Pekka Vainio)

New Features:
 - Allow the engine to reuse the backend as a dispatcher (Richard Hughes, Tim Lauridsen)
 - Optionally auto-run pk-generate-package-list and pk-import-desktop (Richard Hughes)
 - Unexport generic functions libpackagekit to avoid pollution (Richard Hughes)

Bugfixes:
 - Fix pkcon to treat the filters as bitfields, not enums (Richard Hughes)
 - Check the install_files input before we process it. Fixes fd#17350 (Richard Hughes)
 - Add another error enum for package conflicts (Richard Hughes)
 - Add instructions for getting PackageKit on Ubuntu (Dimitris Symeonidis)
 - Add the new status enum LOADING_CACHE (Richard Hughes)
 - Fix pk-import-desktop so that it uses a valid bitfield, not just an enum (Richard Hughes)
 - Spawned backends are allowed to call finished manually (Richard Hughes)
 - Don't corrupt envp when we pass it to the new executable (Richard Hughes)
 - Allow the backend to force the dispatcher to close after a timeout (Richard Hughes)
 - Wait for the previous dispatcher to finish exiting before we try to launch the new one (Richard Hughes)
 - Fix the dispatcher when called from different user sessions or locales (Richard Hughes)
 - Remove pk-backend-python and the complicated interpretor stuff (Richard Hughes)
 - Give a warning if a package is already installed, and a proper error if all
   packages in the transaction are already installed. Fixes rh#459870 (Robin Norwood)
 - Fix udev firmware rule to call the correct script (Scott Reeves)
 - Rename the mime extension so we match service packs (Shishir Goyal)
 - Fix the python enum converter to allow underscores in the value names (Sebastian Heinlein)
 - Add support for distro upgrades to the dbus backend (Sebastian Heinlein)

Backends:
 - apt: Implement SearchFile (Sebastian Heinlein)
 - apt: Implement the free filter (Sebastian Heinlein)
 - apt: Handle the candidate origin to not break on obsolete packages (Sebastian Heinlein)
 - apt: Add a custom cache class based on python-apt's consolidate branch (Sebastian Heinlein)
 - apt: Import latest debfile from python-apt's consolidate branch (Sebastian Heinlein)
 - apt: The __iter__ now uses a sorted list of the package names (Sebastian Heinlein)
 - apt: Fix section to group mapping for non-main packages (Sebastian Heinlein)
 - apt: Implement GetDistroUpgrades (Sebastian Heinlein)
 - apt: Implement GetRepoList (Sebastian Heinlein)
 - apt: Implement RepoEnable (Sebastian Heinlein)
 - apt: Updates which succeed a security update as a security update (Sebastian Heinlein)
 - apt: Acquire the system lock before making any invasive changes (Sebastian Heinlein)
 - apt: Fail correctly if installing from cdrom (Sebastian Heinlein)
 - apt: Detect a cancel in the cache refreshing correctly (Sebastian Heinlein)
 - apt: Use the correct names if we fail to get the changelog. Fixes fd#17406 (Richard Hughes)
 - apt: Remove the localised error descriptions (Richard Hughes)
 - smart: Allow for multiple packages (Anders F Bjorklund)
 - smart: Add get_packages (Anders F Bjorklund)
 - smart: Add RPM/DEB groups (Anders F Bjorklund)
 - smart: Add get_requires (Anders F Bjorklund)
 - smart: Add basic status reports (Anders F Bjorklund)
 - smart: Add more filters, graphical/development/license (Anders F Bjorklund)
 - smart: Use filters for depends/requires (Anders F Bjorklund)
 - smart: Make packageid work for deb/slack channels (Anders F Bjorklund)
 - smart: Add search_file (Anders F Bjorklund)
 - smart: Add what_provides (Anders F Bjorklund)
 - smart: Add repo_set_data (Anders F Bjorklund)
 - smart: Do graphical/development filtering (Anders F Bjorklund)
 - smart: Add newest filtering (Anders F Bjorklund)
 - smart: Fix packages/depends/requires bug with post filters (Anders F Bjorklund)
 - smart: Allow cancel - killing backend (Anders F Bjorklund)
 - smart: Show package for download/install (Anders F Bjorklund)
 - smart: Don't forget the files signal in smart download (Anders F Bjorklund)
 - smart: Don't remove essential packages (Anders F Bjorklund)
 - smart: Avoid bombing out for smart progress updates without packages (Anders F Bjorklund)
 - smart: Optionally allow backend to use dispatcher (Anders F Bjorklund)
 - yum: Use inheritence insted of declaring a helper class (Tim Lauridsen)
 - yum: Cleanup imports (Tim Lauridsen)
 - yum: Use the sqlite3 build into python-2.5 (Tim Lauridsen)
 - yum: Add dispatcher script for future improvement of the backend (Tim Lauridsen)
 - yum: Let the yum backend use the new multiple command dispatcher (Tim Lauridsen)
 - yum: Don't always prefer the first package returned from returnNewestByNameArch()
        as this will be i386 on x64 which is wrong on multiarch (Richard Hughes)
 - yum: Use the new PACKAGE_CONFLICTS error enum. Fixes rh#459914 (Richard Hughes)
 - yum: Add GetDistroUpgrades support using the preupgrade package (Richard Hughes)
 - yum: Never set self.yumbase.conf.cache = 1 to fix the dispatcher (Richard Hughes)
 - yum2: Remove the yum2 plugin now we have a fast dispatcher (Richard Hughes)
 - zypp: Updated pk-matrix (Stefan Haas)

Version 0.3.1
~~~~~~~~~~~~~~
Released: 2008-08-27

New Features:
 - Add new API for GetDistroUpgrades() and ::DistroUpgrade() (Richard Hughes)
 - Change DownloadPackages() so we get the correct SELinux contexts (Richard Hughes)
 - Change Service Packs extension from .pack to .servicepack (Shishir Goel)
 - Set "directory" as an argument for DownloadPackages() (Marcin Banasiak)
 - Switch to using a guint64 bitfield type (Richard Hughes)
 - Make PkMessages into proper enumerated types (Richard Hughes)
 - Make sure the backends are respecting the installed filter (Richard Hughes)
 - Remove the libtar code, and instead use the libarchive library (Richard Hughes)

Bugfixes:
 - Fix compiling the browser plugins with a new gtk (Richard Hughes)
 - Don't crash the daemon if we never called SetLocale. Fixes fd#17298 (Richard Hughes)
 - Don't allow reset (if sync) or cancel in ::Finished() (Richard Hughes)
 - Fix a memory leak in RemovePackages (Shishir Goel)
 - Clarify some documentation about the transaction methods (Richard Hughes)
 - Build fix for pk-import-desktop (Sebastian Heinlein)
 - Don't crash the 64 bit client tools when the daemon exits (Richard Hughes)
 - Fix compile by adding add locale.h include (Scott Reeves)

Backends:
 - apt: Add support for Ubuntu supported filter (Sebastian Heinlein)
 - apt: Fix filtering. Was totally broken (Sebastian Heinlein)
 - apt: Fix wrong use of the STATUS_SETUP in doInit() (Sebastian Heinlein)
 - apt: implement GetFiles (Sebastian Heinlein)
 - apt: Instead of sending an empty file list for a package send none (Sebastian Heinlein)
 - apt: support the new groups science, doc and electronics (Sebastian Heinlein)
 - apt: do not report the package itself on GetDepends (Sebastian Heinlein)
 - apt: Implement InstallFiles (Sebastian Heinlein)
 - apt: Send a message if a newer package exists (Sebastian Heinlein)
 - apt: fix killing hanging installations (Sebastian Heinlein)
 - apt: Do not allow to remove essential packages (Sebastian Heinlein)
 - apt: Add method for calling InstallFiles in the dbus backend (Sebastian Heinlein)
 - conary: update to support {install,remove}-packages (Ken VanDine)
 - conary: more updates to work with 0.3.x series (Ken VanDine)
 - poldek: support multiple package_ids in GetFiles (Marcin Banasiak)
 - poldek: make execute_* functions use va_list (Marcin Banasiak)
 - poldek: fix crash (Marcin Banasiak)
 - poldek: get localized descriptions and summaries (Marcin Banasiak)
 - poldek: removed backend reference count (Marcin Banasiak)
 - poldek: use source name as repo description (Marcin Banasiak)
 - poldek: pass changes to GetUpdateDetail() (Marcin Banasiak)
 - poldek: support documentation group (Marcin Banasiak)
 - smart: use alias if channel has no name (Anders F Bjorklund)
 - smart: GetDetails should be getDescription (Anders F Bjorklund)
 - smart: match helpers with backend (Anders F Bjorklund)
 - smart: use PackagekitPackage (Anders F Bjorklund)
 - urpmi: make updatedetail signal compatible with 0.3.X (Aurelien Lefebvre)
 - yum: fix InstallFile to make it work for multiple simultaneous packs (Shishir Goel)
 - zypp: finish the switch to PkBitfield (Scott Reeves)

Version 0.3.0
~~~~~~~~~~~~~~
Released: 2008-08-18

Notes:
 - This is the first release of the 0.3.x codebase and it may still have
   regressions when compared to 0.2.4. These will be fixed as a priority.
 - There is a lot of new functionality and many bug fixes in this release.
 - The 0.3.0 branch is not ABI stable, as new API will be added on this branch
   to support new use cases.
 - The 0.2.x branch is ABI and API stable, and the 0.1.x branch is now obsolete.

New Features:
 - Add a PackageKit browser plugin (Owen W. Taylor)
 - Add a README section on testing the plugin (Owen W. Taylor)
 - Add a profiles page on the website so we can show typical users (Richard Hughes)
 - Rename some of the PolicyKit actions on advice of David Zeuthen (Richard Hughes)
 - GetRole now returns the role and the search parameter or the package name (Richard Hughes)
 - Add a SetLocale method so we can support native localisations (Richard Hughes)
 - Add a libtar build requirement for the new pkgenpack executable (Richard Hughes)
 - Add pk-generate-package-list to generate a package list (Richard Hughes)
 - Add pkgenpack, a way of packaging up a package and it's deps for installation (Shishir Goel)
 - Add 4 new fields to the UpdateDetail callback struct (Richard Hughes)
 - Add a new method DownloadPackages() to be able to create ServicePacks (Shishir Goel)
 - Added download packages functionality to pkcon (Shishir Goel)

Translations:
 - Updated German translation (Fabian Affolter)
 - Updated Brazilian Portuguese translation (Igor Pires Soares)
 - Updated Brazilian Portuguese translation (Matt Domsch)
 - Updated Polish translation (Piotr Drąg)

Backends:
 - alpm: fix build for 0.3.0 (Valeriy Lyasotskiy)
 - apt: Add a first try to implement DownloadPackages. Does not work yet (Sebastian Heinlein)
 - apt: Add a small script to analyze the HotShot profiling stats (Sebastian Heinlein)
 - apt: Add mime-type support for WhatProvides (Sebastian Heinlein)
 - apt: Add new command line options to the backend (Sebastian Heinlein)
 - apt: Clean up doUpdatePackages () (Sebastian Heinlein)
 - apt: Allow to get details of several package ids (Sebastian Heinlein)
 - apt: Fix doResolve. Thanks to Martin Pitt for the patch (Sebastian Heinlein)
 - apt: fixes in GetDepends: report packages to be upgraded and installed (Sebastian Heinlein)
 - apt: GetDepends(): Take version requirements into account (Sebastian Heinlein)
 - apt: Implement a basic doGetDepends() (Sebastian Heinlein)
 - apt: Implement codec searching in WhatProvides (Sebastian Heinlein)
 - apt: Implement GetRequires (Sebastian Heinlein)
 - apt: Implement SetLocale (Sebastian Heinlein)
 - apt: Implement SetProxy (Sebastian Heinlein)
 - apt: implement the missing doUpdatePackages() method (Michael Vogt)
 - apt: Provide more details about updates (Sebastian Heinlein)
 - apt: Report packages that are upgradable but cannot be upgraded (Sebastian Heinlein)
 - apt: Show license information based on the repositories (Sebastian Heinlein)
 - apt: Support string array of package names in doResolve (Sebastian Heinlein)
 - dummy: add some more functionality to the dummy backend (Richard Hughes)
 - dummy: properly emulate package_ids for get_update_detail (Richard Hughes)
 - opkg: fix some memory leak issue (I-Fan, Chen)
 - PiSi: compile with 0.3 changes (S.Çağlar Onur)
 - poldek: build fix (Marcin Banasiak)
 - poldek: implement DownloadPackages (Marcin Banasiak)
 - razor: add an experimental razor backend (Richard Hughes)
 - razor: add initial functionality (Richard Hughes)
 - razor: add Resolve() functionality (Richard Hughes)
 - razor: add SearchName and SearchDescription (Richard Hughes)
 - razor: add the devel filter (Richard Hughes)
 - smart: change packageid to packageids (Anders F Bjorklund)
 - smart: use smart status flags. Fixes #16525 (Anders F Bjorklund)
 - urpmi: Improve download error handling in installation method (Aurelien Lefebvre)
 - yum: add a nice class to access the yum sqlite database directly (Richard Hughes)
 - yum: add Bohdi ID to the UpdateDetail if available. Fixes RH#457358 (Richard Hughes)
 - yum: add the SericePack decompressing code (Shishir Goel)
 - yum: allow more than one package to be removed in one transaction (Richard Hughes)
 - yum: don't show a backtrace if we try to install a zero byte rpm (Richard Hughes)
 - yum: fix an error message which can lead to printf breakage in the daemon (Richard Hughes)
 - yum: fix the DownloadPackages call to give useful output (Richard Hughes)
 - yum: fix the GetDepends call to match on installed before available (Richard Hughes)
 - yum: fix the Resolve call with multiple packages (Richard Hughes)
 - yum: fix up DownloadPackages for the yum backend (Shishir Goel)
 - yum: fix up GetRequires and GetDepends to do the filtering in the backend (Richard Hughes)
 - yum: fix up the GPG key method since the yum API changed (Richard Hughes)
 - yum: return all packages when we do GetPackages() rather than just the newest (Richard Hugh
 - yum: abstract out the filtering stuff (Richard Hughes)
 - yum: support passing more than one package_id to GetUpdateDetail (Richard Hughes)
 - yum: tidy up yumBackend and use yumComps, yumDirect and yumProgress (Richard Hughes)
 - zypp: added driver search for new hardware (Stefan Haas)
 - zypp: added relogin-flag for patches (Stefan Haas)
 - zypp: changes for new api (Wang Hoi)
 - zypp: changes for zypp 5.4.0 (Stefan Haas)
 - zypp: change to return all restart_suggested patches not just the first one (Scott Reeves)
 - zypp match the libzypp updates for listing repos (Scott Reeves)
 - zypp: pk_backend_require_restart will be send when needed (Stefan Haas)

Bindings:
 - C: Bump the soname as we changed ABI some time ago (Richard Hughes)
 - C: Rename some source files and be more militant with const (Richard Hughes)
 - C: Don't use-after-free in pk_task_list_status_changed_cb (Richard Hughes)
 - C: Export libpackagekit with -export-dynamic. Fixes fd#16991 (Richard Hughes)
 - C: Correct the 'over the wire' enum for update-packages (Richard Hughes)
 - python: Import new python frontend bindings (Aidan Skinner)
 - python: Use glib mainloop for running (Aidan Skinner)
 - python: Make Resolve and GetDetails return easy-to-use dicts, not tuples (Aidan Skinner)
 - python: Add generic wrapper call that takes a dict of callbacks to connect (Aidan Skinner)
 - python: Wrap dbus calls so that they attempt to obtain the right privilages (Aidan Skinner)
 - browser-plugin: Use org.freedesktop.PackageKit session service (Owen W. Taylor)
 - browser-plugin: Call gnome_desktop_item_set_launch_time() with value from event (Owen W. Taylor)
 - browser-plugin: Switch launching from gnome-desktop to GAppInfo (Owen W. Taylor)

Bugfixes:
 - Fixed a typo in policy file (Daniel Nicoletti)
 - Fix building with -Wformat-security. Fixes fd#16431 (Martin Pitt)
 - Changed the required version of dbus-glib to 0.76 (Patrick Niklaus)
 - Add the EulaRequired signal to the dbus python backend (Sebastian Heinlein)
 - Check the package_id for UTF8 validity (Richard Hughes)
 - Don't optimise for the common case in pk-import-desktop (Richard Hughes)
 - Add a new helper class for talking to an embedded python instance (Richard Hughes)
 - Fix a small memory leak in pk_engine_transaction_list_changed_cb (Richard Hughes)
 - Don't leak the package_ids in pk_transaction_get_update_detail (Richard Hughes)
 - AllowCancel(FALSE) is allowed when we are finished, but not TRUE (Richard Hughes)
 - Don't print out '%' chars on the console from python exceptions (Richard Hughes)
 - Properly match local files correctly so we don't try to resolve them (Richard Hughes)
 - WhatProvides has a free form search string that we need to check (Richard Hughes)
 - Check for a zero destination in the unix network code. Fixes rh#453531 (Richard Hughes)
 - Add some convenience helpers for managing ISO8601 dates (Richard Hughes)
 - Use g_key_file_* in pkgenpack as we need to use a group name (Richard Hughes)
 - Check service pack's compatibility with the distro before installing it (Shishir Goel)
 - Don't blacklist apostrophe characters. Fixes rh#459155 (Richard Hughes)
 - Check for write access on the directory we are downloading into (Richard Hughes)
 - Fix broken DownloadPackages in the DBus backend (Sebastian Heinlein)
 - Submit the filters to the doGetDepends method in the python backend (Sebastian Heinlein)
 - Implement SetLocale in the python dbus backend (Sebastian Heinlein)
 - Add a --with-package-list option to pkgenpack to make it useful (Shishir Goel)
 - Add a metadata.conf file while creating the pack (Shishir Goel)
 - Fix the configure check for libtar.h (Val L)

Version 0.2.3
~~~~~~~~~~~~~~
Released: 2008-07-04

* Backends
 - alpm: fixed critical error in package_source_free (Valeriy Lyasotskiy)
 - alpm: fixed install_packages (Valeriy Lyasotskiy)
 - alpm: added download notification support for install_packages (Valeriy Lyasotskiy)
 - alpm: fixes related to local/installed things change (Valeriy Lyasotskiy)
 - alpm: added get_cancel (Valeriy Lyasotskiy)
 - alpm: added get_depends (Valeriy Lyasotskiy)
 - alpm: added get_updates, added get_update_detail (Valeriy Lyasotskiy)
 - conary: updated the get_details call (Ken VanDine)
 - poldek: install all suggested packages (Marcin Banasiak)
 - poldek: implement percentage for installing / updating (Marcin Banasiak)
 - poldek: now GetUpdateDetail returns obsoleted packages too (Marcin Banasiak)
 - smart: use smart status flags, fixes fd#16525 (Anders F Bjorklund)
 - urpmi: fix installation of more than one package (Aurelien Lefebvre)
 - urpmi: in remove-packages.pl (Aurelien Lefebvre)
 - urpmi: update-packages of the urpmi backend (Aurelien Lefebvre)
 - urpmi: Added update-system implementation  (Aurelien Lefebvre)
 - urpmi: get-updates now take care of update importance (Aurelien Lefebvre)
 - yum: implemented the newest filter (Tim Lauridsen)
 - yum: added newest support to group-search and get_packages (Tim Lauridsen)
 - yum: use the proper package group when we do ::Details() (Richard Hughes)
 - yum: limit the error text to 1024 chars. fixes rh#450594 (Richard Hughes)
 - yum: allow more than one package to be removed in one transaction (Richard Hughes)
 - yum: methods should have 'self' as the first argument, fixes rh#451458 (Robin Norwood)
 - zypp: roll in zypp backend from openSUSE branch (Scott Reeves)
 - zypp: change to return all restart_suggested patches not just the first one (Scott Reeves)

* Translations
 - Updated Catalan translation (Xavier Conde)
 - Updated Polish translation (Piotr Drąg)

* New features:
 - Add PkCatalog for installing catalogs of applications (Richard Hughes)
 - Add a mime handler for .catalog files (Richard Hughes)

* Bugfixes:
 - Fix building with -Wformat-security, fixes fd#16431 (Martin Pitt)
 - Make pk_client_get_package() actually work (Richard Hughes)
 - Don't convert stdout from the C locale to UTF-8 (Richard Hughes)
 - Add Catalan locale to LINGUAS -- fixes fd#451550 (Richard Hughes)
 - Properly document the method and signal descriptions (Richard Hughes)
 - Fix the permissions of the cron helper, fixes rh#451870 (Richard Hughes)
 - Check all the internal and public functions with flawfinder (Richard Hughes)
 - Check the package_id for utf8 validity (Richard Hughes)
 - Don't use-after-free in pk_task_list_status_changed_cb (Richard Hughes)
 - Audit the use of FIXME and TODO and fix up some of the issues (Richard Hughes)
 - Update release with typo fixes, new step, and new version #s (Robin Norwood)

Version 0.2.2
~~~~~~~~~~~~~
Released: 2008-06-05

* Backends:
 - alpm: fixed backend_remove_packages (Valeriy Lyasotskiy)
 - apt: Replace the apt backend by the apt2 one, since the former one is deprecated (Sebastian Heinlein)
 - apt2: Always perform a normal upgrade instead of dist-upgrade in doUpdateSystem (Sebastian Heinlein)
 - apt2: do not segfault if xapian is not available. Perform a  test during init (Sebastian Heinlein)
 - apt2: implement GetPackages (Sebastian Heinlein)
 - apt2: Update the FAQ to represent the GetPackages support (Sebastian Heinlein)
 - apt2: Implement resolve. Update documentation accordingly (Sebastian Heinlein)
 - apt2: Fix RemovePackages in the daemon backend (Sebastian Heinlein)
 - apt2: Fix doRemovePackages and doInstallPackages (Sebastian Heinlein)
 - apt2: use the async wrapper from the daemonDBus instead of our own (Sebastian Heinlein)
 - dummy: add subpercentage support into the dummy backend when installing packages (Richard Hughes)
 - dummy: add an multiline example (Richard Hughes)
 - urpmi: Added perl_packagekit perl modules (Aurelien Lefebvre)
 - urpmi: Added get-updates method (Aurelien Lefebvre)
 - urpmi: Added get-update-detail.pl (Aurelien Lefebvre)
 - urpmi: Added refresh-cache.pl to URPMI backend (Aurelien Lefebvre)
 - urpmi: Added install-packages.pl in URPMI backend (Aurelien Lefebvre)
 - urpmi: Added remove-packages method to URPMI backend (Aurelien Lefebvre)
 - urpmi: Added get-groups method in URPMI backend (Aurelien Lefebvre)
 - urpmi: Added search-group method to URPMI backend (Aurelien Lefebvre)
 - urpmi: Added get_filters method in URPMI backend (Aurelien Lefebvre)
 - urpmi: Added get-packages method for urpmi backend (Aurelien Lefebvre)
 - urpmi: Added get-requires method for urpmi backend (Aurelien Lefebvre)
 - urpmi: Added search-details method for urpmi backend (Aurelien Lefebvre)
 - urpmi: Added search-file method in urpmi backend (Aurelien Lefebvre)
 - urpmi: Added resolve method for urpmi backend (Aurelien Lefebvre)
 - urpmi: Added update-packages method in urpmi backend (Aurelien Lefebvre)
 - urpmi: Fix a bug when package description contains a tab (Aurelien Lefebvre)
 - urpmi: Another fix in get-details when xml_info_file doest not exists (Aurelien Lefebvre)
 - opkg: Adding group message to get-details (I-Fan, Chen)
 - opkg: support new error handling from libopkg (Thomas Wood)
 - opkg: send status and package signals during progress updates (Thomas Wood)
 - opkg: support multiple packages in install and remove (Thomas Wood)
 - opkg: update error checking for install and update methods (Thomas Wood)
 - opkg: update to use new package corrupt error enum (Thomas Wood)
 - poldek: implement WhatProvides (Marcin Banasiak)
 - poldek: implement GetGroups. Now user can search group (Marcin Banasiak)
 - poldek: recognize and set correct PkInfoEnum for security updates (Marcin Banasiak)
 - poldek: fix crash in Resolve method (Marcin Banasiak)
 - poldek: fix RemovePackages to remove more than one package (Marcin Banasiak)
 - poldek: fix InstallPackages to install more than one package (Marcin Banasiak)
 - yum: backport the skip broken stuff from yum2 to improve the interaction a little (Richard Hughes)
 - yum: only attempt to install .rpm files rather than all types of packages (Richard Hughes)
 - yum: correct the name of remove_packages as this won't have worked for a little while (Richard Hughes)
 - yum: convert ';' chars in update description in to ','. Fixes rh#447347 (Richard Hughes)
 - yum: improve the 'Missing Dependency:' detailed output a smidgin (Richard Hughes)
 - yum: be more specific when we specify a package to yumbase. Fixes rh#447767 (Richard Hughes)
 - yum: when we searchNevra make sure we pass in the arch to try to fix rh#447957 (Richard Hughes)
 - yum: fallback to i686 for i386 arch packages to prevent warning the user (Richard Hughes)
 - yum2: fix RemovePackages to work with more than one package_id (Richard Hughes)
 - yum2: fix reporting of details from yumbase, just like we did for the yum backend (Richard Hughes)
 - yum: Clean up a couple of error messages (Robin Norwood)
 - yum: Fix exception name (Robin Norwood)
 - yum: keyData['fingerprint'] is a method, not a string (Robin Norwood)
 - yum: Convert fingerprint into hex (Robin Norwood)
 - yum: We never want to show self.txt (Robin Norwood)
 - zypp: rotate logs #BNC390339 (Stefan Haas)
 - zypp: fixed #BNC392435 (Stefan Haas)
 - zypp: added copyright stuff again (Stefan Haas)
 - zypp: added source filter support (Stefan Haas)
 - zypp: require libzypp 4.25.0 (Stefan Haas)
 - zypp: Fix transaction db path to use current dir when using --enable-local (Duncan Mac-Vicar P)
 - zypp: remove the localised text that crept into the backend (Richard Hughes)

* Translations
 - Updated German translation (Fabian Affolter)
 - Initial Hungarian translation (Peter Sulyok)
 - Updated Polish translation (Piotr Drąg)

* New features:
 - Add pk_package_obj_copy() and allow freeing a NULL PkPackageObj without going boom (Richard Hughes)
 - Allow setting 101 for backends for sub-percentages (Richard Hughes)
 - Add pk_package_list_add_obj() and pk_package_list_contains_obj() (Richard Hughes)
 - Allow passing environment parameters to pk_spawn_argv (Richard Hughes)
 - Add support for http and ftp proxy servers in the daemon (Richard Hughes)
 - Allow adding and removing multiple packages at one time with pkcon (Richard Hughes)
 - Add the source filter (Richard Hughes)
 - Allow proxy_http and proxy_ftp to be NULL in the DBUS backend (Richard Hughes)
 - Add another convenience function, egg_strreplace() (Richard Hughes)
 - Add some notes on howto do the release, as Robin is going to do the next one (Richard Hughes)
 - Add pk_package_list_add_list() convenience function (Richard Hughes)
 - Add pk_client_get_package_list() (Richard Hughes)
 - Babysit the DBUS backends and do Init() again it when they crash (Richard Hughes)
 - Add API to PkPackageList to enable sorting by package_id, summary or PkInfoEnum (Richard Hughes)
 - Add Rice BSD license (Robin Norwood)
 - Add Qhull license (Robin Norwood)
 - Add a new error enum for corrupt packages (Thomas Wood)

* Bugfixes:
 - Use pk_client_install_packages() in pkcon (Marcin Banasiak)
 - Add some updated copyright attributions (Richard Hughes)
 - Fix a backtrace when we use refresh-packagekit.py with an old daemon. Fixes rh#446331 (Richard Hughes)
 - Ignore duplicate Package() calls from backends (Richard Hughes)
 - Make sure we reset the resolve client before we try to reuse it (Richard Hughes)
 - Make the get-actions, get-filters and get-groups output prettier (Richard Hughes)
 - Actually check for NM before we try to use it in the networking code (Richard Hughes)
 - Support RefusedByPolicy on the base interface too (Richard Hughes)
 - Only try to install local files if they are files, not files or folders (Richard Hughes)
 - Ref and unref the PkClient in pk_client_finished_cb() if we do unref in ::finished (Richard Hughes)
 - Newline is a valid char, else the update descriptions look bad (Richard Hughes)
 - Preventative fix as in theory we could do ::Finished and then Wait:: (Richard Hughes)
 - Don't ignore ::Finished() if we warn the user (Richard Hughes)
 - If the transaction has been queued but not run, just remove from the list (Richard Hughes)
 - If we've finished the transaction, don't allow it to be cancelled -- (Richard Hughes)
 - In PkClient don't do a NULL dereference when we try to set an error when not reset (Richard Hughes)
 - Fix a compile warning (S.Çağlar Onur)
 - Remove "nonzero MTU" check and skip "loopback" interface checking (S.Çağlar Onur)

Version 0.2.1
~~~~~~~~~~~~~
Released: 2008-05-09

* Backends:
 - alpm: added backend_search_group (Valeriy Lyasotskiy)
 - alpm: added more group mapping (Valeriy Lyasotskiy)
 - alpm: fixes backend_install_files stuff moved to another thread (Valeriy Lyasotskiy)
 - box: build fix (Grzegorz Dabrowski)
 - opkg: add a package callback in remove_packages (Thomas Wood)
 - opkg: implement GetDetails using new opkg api (Thomas Wood)
 - opkg: update to latest opkg api (Thomas Wood)
 - zypp: added repo-name for gpg-handling (Stefan Haas)
 - zypp: check for network before refreshing (Stefan Haas)
 - zypp: changed backend to handle package arrays (Scott Reeves)
 - zypp: refresh the repos before checking for updates (Stefan Haas)
 - xypp: fix build breakage after 'change some methods to accept more than one param' (Stefan Haas)
 - poldek: build fix (Marcin Banasiak)
 - pisi: fix build breakage (S.Çağlar Onur)

* Translations
 - Fixed a typo in the Russian translation (Valeriy Lyasotskiy)

* New features:
 - Add pk_backend_set_array so we can save trivial data arrays (Richard Hughes)
 - Change some methods to accept more than one parameter (Richard Hughes)
   InstallPackage(s)  ->   InstallPackages(as)
   RemovePackage(s)   ->   RemovePackages(as)
   InstallFile(s)     ->   InstallFiles(as)

* Bugfixes:
 - Correct the gtk-doc markup so the ::details signal is descibed properly (Richard Hughes)
 - Fix manpage build, make it cross-distro (Valeriy Lyasotskiy)

Version 0.2.0
~~~~~~~~~~~~~~
Released: 2008-05-06

* Cool new stuff
 - Tons of new help and example code
 - New faster transaction DBUS interface
 - Transiflex integration for new translations
 - EULA and GPG signature callback support

* Caveats
 - This is the first (read: unstable) release of a new codebase - 0.1.11 is more stable.
 - There's a ton of new functionality that has only had light testing.
 - Importing multiple GPG keys or EULAs in one transaction breaks horribly.

* Translations
 - Add Dutch translation (Arnout Lok)
 - Add Hebrew translation (Alon Zakai)
 - Add Serbian and Serbian Latin translation (Goran Rakic)
 - Add Brazilian Portugese translation (Igor Pires Soares)
 - Add Russian translation (Ivan Ignatyev)
 - Add Italian translation (Daniele Costarella)
 - Add Spanish translation (Javier Castro)
 - Add Slovak translation (Lubomir Kundrak)
 - Add French translation (Marc-André Lureau)
 - Add Norwegian Bokmaal translation (Mats Taraldsvik)
 - Add Polish Translation (Piotr Drąg)
 - Add german translation (Stephan Sachse)
 - Add Finnish translation (Ville-Pekka Vainio)
 - Add a czech translation (Vojtěch Smejkal)
 - Add simplified Chinese translation (jcome)
 - Unknown translation (Dimitris Glezos)
 - Unknown translation (Fabian Affolter)
 - Unknown translation (Francesco Tombolini)

* Backends:
 - alpm: Changes related to new alpm (Valeriy Lyasotskiy)
 - alpm: Fix compilation on 64-bit configurations (Valeriy Lyasotskiy)
 - alpm: finished parse_config, added resolve method for local dbs, fixed repo-list (Valeriy Lyasotskiy)
 - alpm: improvements in search functions (Valeriy Lyasotskiy)
 - alpm: updated backend_install_file (Valeriy Lyasotskiy)
 - alpm: implemented backend_search_name (Valeriy Lyasotskiy)
 - alpm: some fixes in backend_refresh_cache (Valeriy Lyasotskiy)
 - alpm: added backend_get_description (Valeriy Lyasotskiy)
 - alpm: fixes for refresh_cache, partially reformatted to follow the coding standards (Valeriy Lyasotskiy)
 - alpm: added backend_get_packages (Valeriy Lyasotskiy)
 - alpm: added backend_get_files (Valeriy Lyasotskiy)
 - alpm: improvements in backend_resolve, find_packages_by_name (Valeriy Lyasotskiy)
 - alpm: Fixed alpm make fail (Andrea Scarpino)
 - box: fixed broken search function (Grzegorz Dabrowski)
 - conary: Use the new style get_package_update for install and remove (Ken VanDine)
 - conary: First stab at searchByGroup using DB (Robin Norwood)
 - conary: Another pass at adding group searching (Robin Norwood)
 - conary: Look up group list from map (Robin Norwood)
 - opkg: update opkg backend to use new libopkg api (Thomas Wood)
 - opkg: include pk-backend-internal.h for PK_BACKEND macro (Thomas Wood)
 - opkg: fix uninitialised variable warning (Thomas Wood)
 - opkg: add some checks for NULL search parameters (Thomas Wood)
 - opkg: add missing backend reference for callbacks (Thomas Wood)
 - pisi: Use pk_backend_is_online instead of pk_network_is_online (S.Çağlar Onur)
 - poldek: break UpdatePackages when an error occurs (Marcin Banasiak)
 - poldek: add GetPackages (Marcin Banasiak)
 - poldek: add UpdateSystem (Marcin Banasiak)
 - poldek: warn user about problems with connecting to the server (Marcin Banasiak)
 - poldek: when an error occurs try to recognize which enum would be the most suitable (Marcin Banasiak)
 - yum: Fix a bug in _get_update_extras caused by invalid tab->space conversion (rh#304527) (Luke Macken)
 - yum: Use our local 'title' variable instead of from the ref in _get_update_extras (Luke Macken)
 - yum: add devel filtering in get-repo-list (Richard Hughes)
 - yum: use the filter in get-depends, else we tell the user we are going to download files
   that already exist (Richard Hughes)
 - yum: fix GetPackages, and connect it up to the daemon (Richard Hughes)
 - yum: forward port the repo filtering form yum1 to yum2 (Richard Hughes)
 - yum: fix basename sorting so that we still show packages even if they do not produce a rpm as the
 - yum: update status in the faq (Richard Hughes)
 - yum: improve the BASENAME filter by preferably matching against packages (Richard Hughes)
 - yum: some fixes to the yumBackend.py trusted code (Richard Hughes)
 - yum: add a warning when we are installing remote unsigned files
 - yum: catch a case where we can't load the comps list (Richard Hughes)
 - yum: Handle cache errors for yum backend by rebuilding the cache and trying again (Robin Norwood)
 - yum: Set default throttle to 90% (Robin Norwood)
 - yum: Change from network error to repo error when we cannot connect to a repository (Robin Norwood)
 - yum: Fix some error messages (Robin Norwood)
 - yum: Catch errors when checking for updated packages during install_file method (Robin Norwood)
 - yum: Fix for bug #443341 - RefreshYumcache not defined (Robin Norwood)
 - yum: Since we disable existing repos, we have to manually init pkgSack.  Yuck (Robin Norwood)
 - yum: Add several checks when installing a local package (Robin Norwood)
 - yum: Fix error messages for new install-file error cases (Robin Norwood)
 - yum: Fix duplicates in search lists (Robin Norwood)
 - yum: update_system should set AllowCancel to True at first - it will be set to False later (Robin Norwood)
 - zypp: fix error check when calling pk_backend_error_code more than once (Scott Reeves)
 - zypp: emit error on bad option to set repo data. rip redundant code (Scott Reeves)
 - zypp: fix logic check to match version AND arch. Fixes BNC# 378591 (Scott Reeves)
 - zypp: clean up reads of freed mem pointed out by valgrind (Scott Reeves)
 - zypp: fix up group searching and start fixing arch filtering (Scott Reeves)
 - zypp: dont call pk_backend_finished twice (Scott Reeves)
 - zypp: show right size for packages (Stefan Haas)
 - zypp: add the install_signature backend method, and reorder the methods (Stefan Haas)
 - zypp: added digest callbacks (Stefan Haas)
 - zypp: corrected wrong order of backend options (Stefan Haas)
 - zypp: remove multiple calls of pk_backend_error_code (Stefan Haas)
 - zypp: removed unnecessary pk_backend_finished (Stefan Haas)
 - zypp: changed libzypp logging stuff (Stefan Haas)
 - zypp: added possibility to change the priority of a repo (Stefan Haas)
 - zypp: changed RpmDB access (Stefan Haas)
 - zypp: fixed segfault in getRequires (Stefan Haas)
 - zypp: fix for getRequires the 2nd (Stefan Haas)
 - zypp: cleanup zypp_get_packages_by_file (Stefan Haas)
 - zypp: changes for zypp 4.10.0 (Stefan Haas)
 - zypp: make search group faster (Stefan Haas)
 - zypp: fixed segfault (Stefan Haas)
 - zypp: removed code duplication in backend_get_updates_thread (Stefan Haas)
 - zypp: set pk_status and add patches for installing (Stefan Haas)
 - zypp: rearrange groups and make it compile again (Stefan Haas)
 - zypp: added GetPackages to zypp-Backend (Stefan Haas)
 - zypp: fixed GetPackages (Stefan Haas)
 - zypp: changed get_updates and get_update_detail (Stefan Haas)
 - zypp: added license handling stuff (Stefan Haas)
 - zypp: building buzilla & cve links like in dummy-backend (Stefan Haas)
 - zypp: logical error in license-handling (Stefan Haas)
 - zypp: build whole in get_requires (Stefan Haas)
 - zypp: look for the right arch (Stefan Haas)
 - zypp: changed license-handling (Stefan Haas)
 - zypp: changed conversion from rpm-groups to pk-groups (Stefan Haas)
 - zypp: added filter support to search_group (Stefan Haas)
 - zypp: added general way for filter support (Stefan Haas)
 - zypp: removed code duplication (Stefan Haas)
 - zypp: added install-file to the backend (Stefan Haas)
 - zypp: added install-file to zypp-backend (Stefan Haas)
 - zypp: fixed BNC# 381698 and maked it even faster (Stefan Haas)
 - zypp: added install-file to zypp-backend (Stefan Haas)
 - zypp: fixed BNC# 381697 and BNC# 381698 (Stefan Haas)
 - zypp: Added arch filter to backend (Stefan Haas)
 - zypp: changes for zypp 4.14.0, needed for reboot-flag (Stefan Haas)
 - zypp: better error-messages when refreshing repositories (Stefan Haas)
 - zypp: reset the status of a poolitem if installation fails (Stefan Haas)
 - zypp: added summary to install callback (Stefan Haas)
 - zypp: changed filter behaviour to accept more then one (Stefan Haas)
 - zypp: look also for patches (Stefan Haas)
 - zypp: alter db schema. add categories from changesets (Stu Gott)
 - zypp: Fixups for category code (Stu Gott)
 - zypp: caching update code (Stu Gott)

* New features:
 - Transaction id is now a dbus path (Richard Hughes)
 - Add the install_signature backend method (Richard Hughes)
 - Watch for all changes on the config file, to properly detect rpm upgrades (Richard Hughes)
 - Add per-backend instance getters and setters to PkBackend (Richard Hughes)
 - Add a simple thread handler in PkBackend (Richard Hughes)
 - Make pkcon be cleverer when doing the moving bars - hopefully it's more sane now (Richard Hughes)
 - Rename some commands in pkcon, allow a --filter parameter, and only show entries we can do in the
   help text (Richard Hughes)
 - Don't allow org.freedesktop.packagekit.install-signature to be retained (Richard Hughes)
 - Disable ptrace() and core dumping for applications which use libpackagekit so that local trojans
   cannot silently abuse privileges (Richard Hughes)
 - Add a role to allow us to accept a eula (Richard Hughes)
 - Add pk_backend_accept_eula and pk_backend_is_eula_valid (Richard Hughes)
 - Add more status enums for downloading cache types (Richard Hughes)
 - Add a make snapshot target for rpm builds (Richard Hughes)
 - Add the udev rules for telling PackageKit we need firmware (Richard Hughes)
 - Add the ARCH filter so we can match native and non-native archs in search results (Richard Hughes)
 - Add SuggestDaemonQuit to politely ask the daemon to quit as soon as possible (Richard Hughes)
 - Add a 'reason' parameter to StateHasChanged (Richard Hughes)
 - Add 'zlib with acknowledgement' license tag (Robin Norwood)
 - Add VOSTROM public license (Robin Norwood)
 - Add xerox license to 'free' list (Robin Norwood)
 - Add repo configuration error enum (Robin Norwood)
 - Don't inhibit by default. THIS MEANS BACKENDS SHOULD CALL pk_backend_set_allow_cancel(FALSE) if
   they need to inhibit at startup (Richard Hughes)
 - Move PkNetwork into src (as it can use the dbus interface) and make building a unix backend to
   fallback to for NM missing (Richard Hughes)
 - Check that install, remove and update emit package(), and if not, report a warning (Richard Hughes)

* Bugfixes:
 - Little fix in doc (Aurelien Lefebvre)
 - Fix several small memory leaks (James Antill)
 - Fix compiling PackageKit with GCC2 (Jens Granseuer)
 - Friendlier message for "permission denied" (Matthias Clasen)
 - Raise the PolicyKit dep to 0.8 (Patrick Niklaus)
 - Don't warn the user about the system dbus when we are just prevented from connecting (Richard Hughes)
 - Don't let GIO start it's own session bus: gnome#526454 (Richard Hughes)
 - Don't allow a backend to use pk_backend_repo_signature_required more than once (Richard Hughes)
 - Only fire the transaction-list-changed signal _after_ the other handlers have run (Richard Hughes)
 - Disconnect the backend connections straight away, as the PkTransaction object takes time to
   timeout and we don't want to warn when we try to process on multiple fast objects (Richard Hughes)
 - Send a nag message when backends send unknown error (Richard Hughes)
 - Only connect the backend signals when the transaction is running, not wen it is queued (Richard Hughes)
 - Fix the cancel warning when the transaction is long gone, and add some unit tests to make sure it
   can't happen in the future (Richard Hughes)
 - Don't error out with 'Package is not installed' when getting requires of a not-installed
   package. Fixes rh#442221 (Richard Hughes)
 - 95packagekit should be executable when installed. fixes rh#442286 (Richard Hughes)
 - Don't allow org.freedesktop.packagekit.install-file to be retained (Richard Hughes)
 - Make sure we set the verbose state in pkcon (Richard Hughes)
 - Emit a custom error when there is a file conflict (Richard Hughes)
 - Check for valid UTF8 in pk_strsafe() to avoid crashing the daemon on invalid input (Richard Hughes)
 - Allow adding a package with NULL summary to the packagelist (Richard Hughes)
 - Wait for network to come back up before refreshing after a suspend. fixes rh#442166 (Richard Hughes)
 - Convert the unused metadata signals into status signals. Now we get nice UI feedback (Richard Hughes)
 - Fix a metric ton of translation issues (Richard Hughes)
 - Correct an error enum when we failed to install a local file. rh#443235 (Richard Hughes)
 - Don't rely on a space to seporate the command list, as this breaks installing local files from
   directories with spaces in them. fixes rh#443235 (Richard Hughes)
 - Properly handle exceptions rather than using customTracebackHandler. fixes rh#443342 (Richard Hughes)
 - Peporate the PolicyKit roles into trusted and untrusted for local file installs (Richard Hughes)
 - Make the test DBUS backend run due to a changed constant name (Richard Hughes)
 - Fix pk_va_list_to_argv so that it splits lines with spaces as seporate entries (Richard Hughes)
 - get_groups and get_filters are not compulsory, don't assert if they are not present (Richard Hughes)
 - Return a specific error code when we fail to get auth. fixes rh#443551 (Richard Hughes)
 - When we find a package by it's repo id, make sure we take into account the NEVRA _and_ the
   repo_id. Fixes rh#443976 (Richard Hughes)
 - Protect against running an old daemon with new client tools (Richard Hughes)
 - Get the default parameters from the config file, rather than hardcoding it (Richard Hughes)
 - Massively simplify PkExtra; we can keep all the data hot in memory (Richard Hughes)
 - Rename GetDescription to GetDetails (Richard Hughes)
 - Rename the Description signal to Details (Richard Hughes)
 - Make sure we disconnect any pending signals in pk_backend_reset (Richard Hughes)
 - Add generated files to make clean target (Robin Norwood)
 - Purge ERROR_INTERNAL_ERROR from all backends (Robin Norwood)
 - Fix enum names (Robin Norwood)
 - fix logic so package_ids are actually cached (Scott Reeves)
 - Compile fix for not NETWORK_MANAGER (Tick)
 - Remove unneeded sourcing from the pm-utils script (Till Maas)

Version 0.1.11
~~~~~~~~~~~~~~
Released: 2008-04-05

* Backends:
 - conary: Added update (Ken VanDine)
 - poldek: Implement 'newest' filter (Marcin Banasiak)
 - yum: Don't mention yum so much in the detailed error text. rh#440701
 - yum: Fix YumBaseError message handling in _runYumTransaction (Luke Macken)
 - yum: Extended repo_signature_required and implemented new signature-install method (Tim Lauridsen)
 - yum: Fix one char at a line messages (Tim Lauridsen)
 - yum: Make get-requires pkg return the packages there need to removed if pkg is removed (Tim Lauridsen)
 - yum: Rewrite the yum search functions so that we filter out available packages. rh#440122 (Richard Hughes)
 - yum: Copy the basename filtering from yum2 into yum. rh#440066 (Richard Hughes)
 - yum: Replace unicode decoding errors with question marks. rh#439764 (Luke Macken)
 - yum: Fixed traceback in install_file. rhbz #439728 (Tim Lauridsen)
 - yum: Fix 'No package to instal' typo, fixes rh#439778 (Richard Hughes)
 - yum: Correct some grammar pointed out in rh#439780 (Richard Hughes)
 - yum2: Remove file extensions from the MetaDataMap (Luke Macken)
 - yum2: Set NoPercentageUpdates when doing a dep resolve (Richard Hughes)
 - zypp: Added rpm-exceptions (Stefan Haas)
 - zypp: Make more verbose if resolution failed (Stefan Haas)
 - zypp: Changes for libzypp 4.7.0 (Stefan Haas)
 - zypp: Check for valid package names before emitting. BNC#372429 (Scott Reeves)

* New features:
 - Add a hash table into PkExtra so we can see if the query is likely to succeed
   - This reduces the profile time from 340ms to 69ms on my machine (Richard Hughes)
 - Make libgbus send a signal when something is replaced on the bus (Richard Hughes)
 - The daemon will quit when the conf file is changed (Richard Hughes)
 - Add a new DBUS interface org.freedesktop.PackageKit.Notify so we can get system wide
   notifications from PackageKit, without having to bodge PkClient to do this for us (Richard Hughes)
 - Add the NEWEST filter (Richard Hughes)
 - Change the API of GetRepoList(void) to GetRepoList(filter) (Richard Hughes)

* Bugfixes:
 - Use BUFSIZ chunks of memory in PkSpawn to use the entire page of memory (Richard Hughes)
 - Make PkRestart and PkConf use the same config file logic (Richard Hughes)
 - Correct some problems after Matthias' daemon review (Richard Hughes)
 - Constify *_get_type, it's top of the profile and could be unrolled (Richard Hughes)
 - Fix 'No package to instal' typo. rh#439778 (Richard Hughes)
 - Install pk-import-* into libexec as they are not meant to be run by users (Richard Hughes)
 - Display why the pk-import-* tools fail to open the PkExtra database. rh#439738 (Richard Hughes)
 - Resolve the path before passing it to the backend. rh#439692 (Richard Hughes)
 - When the backend has finished, manually set the allow cancel to FALSE (Richard Hughes)
 - Set the backend exit code to canceled when we cancel the transaction (Richard Hughes)
 - When asked to cancel, send ::set-allow-cancel(false) to update UI elements (Richard Hughes)
 - Warn when we are doing PkClient actions when we don't need to (Richard Hughes)
 - Update the dummy backend to be able to test the client tools (Richard Hughes)
 - Ignore some errors like 'Already finished' when we try to cancel (Richard Hughes)
 - Cancel a running client transaction if we try to reset it (Richard Hughes)
 - Be more paranoid about sqlite status (Richard Hughes)
 - Fix 'pkcon get repos' by actually waiting for the return value (Klaus Kämpf)

Version 0.1.10
~~~~~~~~~~~~~~
Released: 2008-03-28

* Backends:
 - apt2: Allow to cancel SearchName, SearchDetails and GetUpdates (Sebastian Heinlein)
 - apt2: Move the threaded decorator to the module (Sebastian Heinlein)
 - apt2: Add a decorator for functions that need to lock the cache (Sebastian Heinlein)
 - apt2: Fix the total progress bar for all actions (Sebastian Heinlein)
 - box: Implemented backend_update_packages (Grzegorz Dabrowski)
 - conary: Add stub for search-group (Ken VanDine)
 - opkg: Fix search name (Thomas Wood)
 - poldek: Add poldek backend (Marcin Banasiak)
 - poldek: Make GetRequires and GetDepends use the filter parameter (Marcin Banasiak)
 - poldek: Force unique package names and use the new PkFilter code (Marcin Banasiak)
 - poldek: Add GetUpdateDetail (Marcin Banasiak)
 - poldek: Make GetRequires use recursive for installed packages (Marcin Banasiak)
 - poldek: Improve percentage updates in UpdatePackages (Marcin Banasiak)
 - poldek: Don't try to update blocked package (Marcin Banasiak)
 - smart: Get the C file compiling again (James Bowes)
 - yum: Handle yum.Errors.GroupsError fd:#14906 (Debarshi Ray)
 - yum: Added what-provides support (Tim Lauridsen)
 - yum : Cleanup install_file and use code in current yum instead (Tim Lauridsen)
 - yum2: Use the forked decorator in more places (Sebastian Heinlein)
 - yum2: Send INFO_BLOCKED signal for packages that were not updated (Robin Norwood)
 - yum2: Add UpdatePackages method for future use (Robin Norwood)
 - yum2: Maybe implement cancel correctly (Robin Norwood)
 - yum2: Reset progress bar so percentage feedback is correct (Robin Norwood)
 - yum2: Make InstallFile bail out on a src.rpm (Tim Lauridsen)
 - yum2: Fix Cancel() action (Robin Norwood)
 - yum2: What-provides (Robin Norwood)
 - yum(2): Handle problem with getting repo data in a better way (Tim Lauridsen)
 - yum(2): Make install-file send a message if a newer file exits (Tim Lauridsen)
 - yum(2): Emit dep-resolve when doing dep resolving (James Bowes)
 - yum(2): Use status enum TEST_COMMIT and SIG_CHECK (Richard Hughes)
 - zypp: Update zypp status and fix crash (Scott Reeves)
 - zypp: GetRequires is now also usable for uninstalled packages (Stefan Haas)
 - zypp: Added GetUpdateDetail (Stefan Haas)
 - zypp: Changed opensuse to real vendor of the package (Stefan Haas)
 - zypp: Unitized commit process and added Update System (Stefan Haas)
 - zypp: Changed install-algorithm and connected KeyRing-Callback (Stefan Haas)
 - zypp: Require new libzypp 4.6 (Scott Reeves)
 - zypp: Remove the description causing markup parse errors (Scott Reeves)
 - zypp: Added update_packages (Stefan Haas)
 - zypp: Added what-provides (Stefan Haas)

* New features:
 - Don't queue StateHaschanged to fix rh:436840 (Richard Hughes)
 - Disable the cron script by default (Richard Hughes)
 - Use G_GNUC_WARN_UNUSED_RESULT to find a few bugs in the daemon (Richard Hughes)
 - Document PkClient with gtk-doc (Richard Hughes)
 - Don't queue duplicate GetUpdates in the daemon (Richard Hughes)
 - Add a filter parameter to GetRequires and GetDepends to fix fd:14838 (Richard Hughes)
 - Use the backend user in the dbus configuration files (Sebastian Heinlein)
 - Add a sensible error for installing source packages (Richard Hughes)
 - Add another status enum so we can do the 'waiting' UI elements better (Richard Hughes)
 - Increase speed of pk-import-desktop by an order of magnitude (Richard Hughes)
 - Log to a file if we have TransactionLogging specified (Richard Hughes)
 - Add PackageKitThread class which enhances the Thread class (Sebastian Heinlein)
 - Make pkcon when we have multiple possible packages (Richard Hughes)
 - Make libpackagekit force WAIT when the transaction is queued (Richard Hughes)
 - Turn UpdatePackage() into UpdatePackages() - this allows coolness (Richard Hughes)
 - Add RepoListChanged when a repo is added, removed or changed (Richard Hughes)

* Bugfixes:
 - Fix segmentation fault in pk-import-desktop fd:14920 (Debarshi Ray)
 - Changed signal PK_BACKEND_REPO_SIGNATURE_REQUIRED to avoid a segfault (Stefan Haas)
 - Don't SIGABRT when trying to run a second instance of the daemon (Richard Hughes)
 - Protect pk_strsafe against NULL text (Thomas Wood)
 - Fix many sparse warnings and small memory leaks (Richard Hughes)
 - Backend Unicode handling improvements (Luke Macken)
 - Remove the stderr path for the backends as they sometimes get unsynchronised (Richard Hughes)
 - Fix bashisms in autogen.sh (Alex Converse)
 - Fix so that authentication requirements are consistent (Robin Norwood)
 - Add --enable-developer to fix developer warnings rh:439216 (Richard Hughes)
 - Only enable time remaining calculations it if PK_IS_DEVELOPER is set (Richard Hughes)
 - Don't set the STATUS_CANCEL state in the backend, do it in the runner (Richard Hughes)
 - Manually flush the output rather than relying on python to do it for us (Richard Hughes)

Version 0.1.9
~~~~~~~~~~~~~
Released: 2008-03-04

* Backends:
 - apt2: Add a simple profiler and a test script (Sebastian Heinlein)
 - apt2: add Refresh, InstallPackage, RemovePackage, UpdateSystem (Sebastian Heinlein)
 - apt2: Implement SearchDetails using the xapian database (Sebastian Heinlein)
 - apt2: unlock the backend after reopening the cache (Sebastian Heinlein)
 - apt2: Adapt new basename filter API change (Sebastian Heinlein)
 - opkg: Call no percentage updates before the install thread starts (Thomas Wood)
 - opkg: Make description search case insensitive (Thomas Wood)
 - opkg: Implement search_group method (Thomas Wood)
 - opkg: Consolidate search threads into one function and implement description search (Thomas Wood)
 - opkg: Pass allow_deps and autoremove flags to libopkg (Thomas Wood)
 - opkg: protect against packages not found in the package hash (Thomas Wood)
 - yum2: Add an experimental InstallPublicKey method (Robin Norwood)
 - yum2: Add a timeout on the yum dbus backend (Robin Norwood)
 - yum2: Add skip_broken flag to update the system even if there are dep errors (Robin Norwood)
 - yum2: Fix error code when package is not found for install (Robin Norwood)
 - yum2: Make caching more lazy for certain calls (Robin Norwood)
 - yum2: Over DBUS, we don't need to use semicolons instead of newlines (Robin Norwood)
 - yum: Make install and update handle multiple packages (Tim Lauridsen)
 - zypp: Assign the right group to a package (Stefan Haas)
 - zypp: Changed backend to use sat::solvables (Stefan Haas)
 - zypp: fix to build with newer libzyp (4.2.9) (Scott Reeves)
 - zypp: Minor changes because of changes in the zypp api (Stefan Haas)

* New features:
 - Add another error constant: cannot-cancel (Richard Hughes)
 - Add a new configuration option --with-backend-user (Sebastian Heinlein)
 - Added a new filter 'basename' to the list of allowed filter types and use with GetUpdate (Richard Hughes)
 - Make the PackageKit actions localised, and generally enable gettext (Richard Hughes)
 - Add autoremove boolean to the PackageRemove method (Thomas Wood)
 - Change the daemonBackend to fork to perform actions (Robin Norwood)
 - Use colour on the terminal to help me debug warnings and errors (Richard Hughes)
 - Change the daemonBackend to fork to perform actions (Rob Norwood)
 - Use Python's logging instead of print statements in the daemonBackend (Sebastian Heinlein)

* Bugfixes:
 - Fix packagekitd startup failure due to NetworkManager (Richard Hughes)
 - Make the backends use a common interface and path (Richard Hughes)
 - Clean up dbus config files (Robin Norwood)
 - Run intltoolize in the autogen.sh script (Thomas Wood)
 - Make the PkClient gobjects return GError (Richard Hughes)
 - Keep PolKitContext object up to date when we authorise (Richard Hughes)
 - Add some icons and vendor_url's to the policykit actions (Richard Hughes)
 - Remove the artificial 1024 char limit on error_code messages (Richard Hughes)
 - Add more checks to ensure we can't output data after we called error-code (Richard Hughes)
 - Initial version of packagekit cron support for headless servers (Richard Hughes)
 - Don't try to set an error if we cancel an unused transaction (Richard Hughes)
 - Properly detect NoPercentageUpdates at startup (Richard Hughes)
 - Fixed possible GError segfault in the client library (Grzegorz Dabrowski)

Version 0.1.8
~~~~~~~~~~~~~
Released: 2008-02-21

* Backends:
 - apt: some random fixes to get it work again (Sebastian Heinlein)
 - apt2: initial work on a dbus based backend introduced as apt2 (Sebastian Heinlein)
 - apt2: implement GetDetails (Sebastian Heinlein)
 - apt2: fix SearchName (Sebastian Heinlein)
 - apt2: fix a typo in GetUpdates (Sebastian Heinlein)
 - yum: check for missing package in GetUpdateDetail call (Robin Norwood)
 - yum: change throttling policy: at init, change to 90%, throttle to 60% for UpdateSystem call (Robin Norwood)
 - yum: Refresh the yum cache when it is determined to be invalid (Robin Norwood)
 - yum: Make _refresh_yum_cache and RefreshCache work similarly (Robin Norwood)
 - yum2: Added test script to call most of the YumBackend methods (Tim Lauridsen)
 - yum2: Fixed unicode decode error in SearchDetails (Tim Lauridsen)
 - yum2: add call to _check_init there check if Init() has been called (Tim Lauridsen)
 - yum2: added GetPackages(filters) DBus method (Tim Lauridsen)
 - zypp: libzypp >= 4.2.3 is now needed (Stefan Haas)
 - zypp: Added SearchFiles (Stefan Haas)
 - zypp: Added SearchDetails (Stefan Haas)
 - zypp: Added GetRequires (Stefan Haas)
 - zypp: added missing stuff of GetDetails (Stefan Haas)

* New features:
 - Allow pkcon to actually remove dependancies on user prompt (Richard Hughes)
 - Add some FAQ text on user interaction during the transaction (Richard Hughes)
 - Add the ServicePack functionality - no backends support it yet (Richard Hughes)
 - Enforce that finished is sent 500ms after error_code (Richard Hughes)
 - Add some more self checks to PkBackend (Richard Hughes)
 - Add the supported filter to search for supported packages (Richard Hughes)

* Bugfixes:
 - Unload nicely on ctrl-c - including closing down the backends (Richard Hughes)
 - Fix a tricky crash (use after unref) in pk_client_finished_cb (Richard Hughes)
 - Use pk_client_set_synchronous() in pkcon to remove loads of code (Richard Hughes)
 - Use $VAR$ syntax in makefiles, not @VAR@ (Stepan Kasal)
 - Do not list check_PROGRAMS again in noinst_PROGRAMS (Stepan Kasal)
 - Remove the dbus at_console rule for the backends (Richard Hughes)
 - Try harder to get a translation when we have stored a base locale (Richard Hughes)
 - Add finalizer for libgbus to free some memory on unload (Richard Hughes)
 - Clear the hash when we reset PkClient, else we fail to show repeat search results (Richard Hughes)

Version 0.1.7
~~~~~~~~~~~~~
Released: 2008-02-14

* Backends:
 - apt: update to latest API (Tom Parker)
 - apt: add get_updates and get_update_detail (Michael Vogt)
 - apt: cleanup of Package class, by making it a subclass of apt.Package (Tom Parker)
 - apt: make sure ordering of versions is installed one first (Tom Parker)
 - apt: add initial hacky install-file support (Tom Parker)
 - apt: add recursion to get-depends (Tom Parker)
 - apt: add repo enable (Tom Parker)
 - box: ported to the new API (Grzegorz Dabrowski)
 - ipkg: remove ipkg backend as it has been superseded by opkg (Thomas Wood)
 - opkg: forward opkg messages through PackageKit (Thomas Wood)
 - opkg: compare the current and previous urls properly during cache refresh
 -      download progress callback
 - opkg: hook into download progress when updating package lists (Thomas Wood)
 - opkg: hook into download progress callback when installing packages (Thomas Wood)
 - opkg: implement get_groups function (Thomas Wood)
 - conary: implement update_detail (Ken VanDine)
 - conary: provide summary data (Ken VanDine)
 - conary: query the correct troveSource when getting the files list (Elliot Peele)
 - conary: Added get-update-detail (Ken VanDine)
 - yum: several utf-8 encoding fixes (Tim Lauridsen)
 - yum: fix search-file to be much faster (Tim Lauridsen)
 - yum: fixed ERROR_SIGNATURE_NOT_IMPORTED traceback (Tim Lauridsen)
 - yum: added get-packages and make the yum backend more resistant to UTF-8 decoding (Tim Lauridsen)
 - yum2: merge in a new backend that uses the dbus service activation.
   It does not work yet (Tim Lauridsen, Robin Norwood, Richard Hughes)
 - zypp: move to PkBackendThread (Scott Reeves)

* New features:
 - Use a single instance backend. This allows us to keep processes open over
   transactions, and should allow us to speed things up an order of magnitude
   in the future (Richard Hughes)
 - Add PkExtra and PkExtraObj gobjects to retrieve extra metadata from a
   system store (Richard Hughes)
 - Add client side filtering support so we can trivially strip out the correct
   package when we have it installed and available in many repos (Richard Hughes)
 - Add a cancelling state, as cancelling will take some time (Richard Hughes)
 - Add a specspo import utility to get translations from specspo (Richard Hughes)
 - Add a .desktop import utility for icons and translated summaries (Richard Hughes)

* Bugfixes:
 - Rationalise the AllowCancel nomenclature and make it standard throughout -
   this should fix lots of bugs where the cancel button was the wrong state in
   client applications (Richard Hughes)
 - Rename ENUM_PROCESS_QUIT to ENUM_TRANSACTION_CANCELLED (Richard Hughes)
 - Allow building more than one backend for a system (Richard Hughes)
 - Add a new method that lets us search for items in an enumerated list
   with a priority (Richard Hughes)
 - Raise an exception if an action is attempted on an unlocked python
   daemon backend (Robin Norwood)
 - More en_UK to en_US fixes in comments (Richard Hughes)
 - The dbus interface and path should be common between backends (Richard Hughes)
 - Make the experimental dbus backend asyncronous (Richard Hughes)
 - Warn the user the security framework name is invalid (Richard Hughes)
 - Improve gtk-doc support (Thomas Wood)
 - Check (and warn) for percentages bigger than 100% (Richard Hughes)

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 egg_strzero, egg_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.

