Version 1.3.6
~~~~~~~~~~~~~
Released: 2026-06-16

Backends:
 * apt: Implement allow_deps in RemovePackages transaction (Alessandro Astone)
 * apt: Tidy up isApplication check (Matthias Klumpp)
 * apt: Avoid stack sprintf in AptCacheFile::ShowBroken (Matthias Klumpp)
 * apt: Fix SourceRecord::operator= self-assign and Sections leak (Matthias Klumpp)
 * apt: Improve pmconffile parsing code and prevent possible out-of-bounds read (Matthias Klumpp)
 * apt: Flatten matchPackage filter chain (Matthias Klumpp)
 * apt: Always use std namespace explicitly (Matthias Klumpp)
 * apt: Fix wrong iterator in emitPackages multiversion loop (Matthias Klumpp)
 * apt: Store SourceRecord::Sections as std::vector<std::string> (Matthias Klumpp)
 * apt: Own SourcesList records via std::unique_ptr (Matthias Klumpp)
 * dnf5: Set cacheonly mode when offline (Gordon Messmer)
 * dnf5: Add a try/catch block around dnf5_setup_base to prevent uncaught exceptions (Gordon Messmer)
 * eopkg: Use new _get_package_obj_from_id() helper in get_details/get_files/get_update_detail (Joey Riches)
 * eopkg: Slightly improve the filtering in __get_package() (Joey Riches)
 * eopkg: Remove newest filter hack in resolve() (Joey Riches)
 * eopkg: Use _get_package_obj_from_id in {depends,requires}_on() (Joey Riches)
 * eopkg: Fix "failed to parse updated" warning (Joey Riches)
 * eopkg: Adjust percentage updates for eopkg v4.5.0 (Joey Riches)
 * eopkg: Remove unused transaction maps (Joey Riches)
 * eopkg: Rework __get_package() to employ a candidates system (Joey Riches)
 * eopkg: Ensure we unpack tuple from get_package_repo() call (Joey Riches)

Bugfixes:
 * daemon: stop idle progress timer after flushing updates (Darafei Praliaskouski)
 * tests: Actually run the daemon tests on CI using a helper (Matthias Klumpp)
 * tests: daemon: Auto-answer interactive prompts from the test (Matthias Klumpp)
 * tests: Refactor and reorganize tests (Matthias Klumpp)
 * pk-client: Perform any state changes & teardown before g_task_return_*() (Matthias Klumpp)
 * package-sack: Fix a double-free issue on PkTask (Matthias Klumpp)
 * Ensure we can send SIGQUIT to spawned backends (Matthias Klumpp)
 * Prevent a race between the test harness and pk_readline* for input (Matthias Klumpp)
 * daemon: Do not accept symlinks as frontend socket (Matthias Klumpp)
 * daemon: Return proper error codes for bad SetHints() input (Matthias Klumpp)
 * Don't leak TESTDATADIR into production binaries (Matthias Klumpp)
 * daemon: Whitelist ONLY_DOWNLOAD for specific transaction roles only (Matthias Klumpp)
 * lib: Don't warn on generic D-Bus errors (Matthias Klumpp)
 * Send SIGTERM to ask subprocesses to quit, instead of SIGQUIT (Matthias Klumpp)
 * daemon: Check errno instead of kill() return values to determine why it failed (Matthias Klumpp)
 * pk-client: Fix race between cancellation and TID/proxy assignment (Philip Withnall)

Miscellaneous:
 * PkTransaction: Simplify the error quark creation (Corentin Noël)
 * ci: Ensure D-Bus is available and running for all tests (Matthias Klumpp)
 * docs: Add error-checking to PK usage example (Matthias Klumpp)

Version 1.3.5
~~~~~~~~~~~~~
Released: 2026-04-22

Notes:
 * This release fixes a critical security vulnerability that allows
   unprivileged local users to obtain root privileges on any distribution
   that uses PackageKit. Details will be disclosed very soon, please update
   to a fixed version of PackageKit immediately (ensure the patch from commit
   76cfb675fb31acc3ad5595d4380bfff56d2a8697 is applied).

Backends:
 * Drop slack backend (Eugen Wissner)
 * alpm: perform sysupgrade on install and update (Yakov Till)
 * freebsd: Fix crashing when libpkg asks about ABI mismatch (Gleb Popov)
 * portage: Revamp backend (TableFlipper9)

Bugfixes:
 * meson: test.depends does not accept a dummy dependency, give it an empty array instead (Matthias Klumpp)
 * pkgcli: Set up proxy also if only PAC is available (Matthias Klumpp)
 * Do not allow re-invoking methods on non-new transactions (Matthias Klumpp)
 * packagekit/progress: updated old usage of raise StopIteration (TableFlipper9)

Miscellaneous:
 * pkgcli: Add TRANSLATORS comments for commands (Rafael Fontenelle)
 * pkgcli: Rename list-required-by to list-requiring (Matthias Klumpp)

Version 1.3.4
~~~~~~~~~~~~~
Released: 2026-01-28

Notes:
 * This version introduces the new DNF5 backend for distributions that use DNF.
 * The "pkgctl" utility has been renamed to "pkgcli" to avoid a name clash
   with an Arch Linux-specific developer tool that has the same binary name.
   It is also now built by default.

Features:
 * Build pkgctl by default (Matthias Klumpp)
 * pkgctl: Add manual page (Matthias Klumpp)
 * pkgctl: Add basic bash-completion support (Matthias Klumpp)
 * Rename the pkgctl utility to pkgcli (Matthias Klumpp)
 * pkgcli: Autoremove unused dependencies by default (Matthias Klumpp)

Backends:
 * alpm: Ignore new Sandbox configuration options (Jelle van der Waa)
 * apt: Pretty-print Launchpad PPA repos and shorten repo-IDs a bit (Matthias Klumpp)
 * apt: Do not destroy multiline fields when editing deb822 sources (Matthias Klumpp)
 * apt: Only upgrade packages selected by the user instead of all packages (Matthias Klumpp)
 * dnf: Implement DependsOn and RequiredBy (Neal Gompa)
 * backends: Initial implementation of the DNF5 backend (Neal Gompa)
 * dnf5: Invalidate context when receiving updates-changed signal (Gordon Messmer)
 * dnf5: Inhibit handling duplicate/redundant change notifications (Gordon Messmer)
 * dnf5: Add rpm plugin to notify PackageKit when transactions complete (Gordon Messmer)
 * freebsd: Properly finish the some job when we're offline (Gleb Popov)
 * freebsd: Don't check if we're online when handling get-updates (Gleb Popov)
 * freebsd: Feed package names without versions to the update command (Gleb Popov)

Bugfixes:
 * backends: Hook up job user_data destroy func (Alessandro Astone)
 * pkgctl: Make updating a specific package work like in pkcon (Matthias Klumpp)
 * pkgctl: Filter out blocked packages before attempting an update (Matthias Klumpp)
 * pkgctl: Improve filtering and error handling (Matthias Klumpp)
 * pkgctl: Improve local package detection (Matthias Klumpp)
 * pkgcli: Fix progress-bar on CJK locale by resolving char width to terminal columns (Matthias Klumpp)
 * pkgcli: Pad & align packages/summaries in output for requested changes (Matthias Klumpp)
 * pkgcli: Display proper error if pkg is already installed & quit progress bars (Matthias Klumpp)
 * cli: Cap progress-bar drawing area at a reasonable size (Matthias Klumpp)
 * cron: Use pkgcli to execute operations (Matthias Klumpp)
 * pkgcli: Set default cache-age of 3 days, instead of "never" (Matthias Klumpp)
 * policy: Only permit password-less system *updates* not system *upgrades* (Matthias Klumpp)
 * meson: Ensure enums.py is always available for Python tests (Matthias Klumpp)
 * meson: Take flags into account when testing for features (Matthias Klumpp)
 * pk-client: Fix assertion failure when PkClientState is cancelled early (Philip Withnall)
 * pk-client: Improve error code when PkClientState is cancelled early (Philip Withnall)
 * pk-client: Remove a load of redundant GCancellable NULL checks (Philip Withnall)
 * Fix invalid size checks for size and download-size for spawned backends (sid)
 * Add details() tests for 'size' and 'download-size' properties for spawned backends (sid)

Miscellaneous:
 * Start requiring 'download-size' for get_details() in spawned backends (Joey Riches)
 * python: Ensure 'size' & 'download-size' are reported as unknown if None (Joey Riches)
 * progress-bar: Drop deprecated API (Matthias Klumpp)
 * pk-client: Add more debug messages to the PkClientState lifecycle (Philip Withnall)
 * general: Fix spelling of D-Bus in comments and docs (Philip Withnall)
 * docs: Fix capitalisation of GLib and GObject (Philip Withnall)
 * doc: Delete MAINTAINERS file in favour of PackageKit.doap (Philip Withnall)

Version 1.3.3
~~~~~~~~~~~~~
Released: 2025-11-24

Notes:
 * This release introduces the experimental pkgctl utility, as a modern command-line
   PackageKit client. It will eventually replace pkcon/pkmon, although we will keep
   both available for a long time. The pkgctl build is disabled by default, pass
   -Dpkgctl=true to enable it for testing.

Features:
 * lib: Modernize progress bar display (Matthias Klumpp)
 * backends: Make extended job details API the default (Matthias Klumpp)
 * progress-bar: Allow restarting an existing progress-bar (Matthias Klumpp)
 * pkgctl: Add initial version of modern package-management CLI tool (Matthias Klumpp)

Backends:
 * backends: Add eopkg (forked from PiSi) (Joey Riches)
 * apt: Fully resolve update candidates, allowing removals (Matthias Klumpp)
 * apt: Emit pulsing/unknown progress while waiting for cache lock (Matthias Klumpp)

Bugfixes:
 * offline-update: Move FailureAction= to the correct  (Andrew Sayers)
 * PkBackendJob: Fix clearing GDateTime pointer (Jelle van der Waa)
 * lib: When spawning debconf helper, actually pass environment (Matthias Klumpp)
 * client: Send SIGTERM to debconf helper instead of SIGQUIT (Matthias Klumpp)
 * client: Pass a few more env vars to the debconf helper to fix Qt helpers (Matthias Klumpp)
 * pkcon: Don't filter out removed packages from the update target set (Matthias Klumpp)
 * client: Allow showing progress on very wide terminals on large screens (Matthias Klumpp)
 * Add missing role-enum description for repair-system (Matthias Klumpp)
 * command-not-found: inherit stdin (Osama Albahrani)

Miscellaneous:
 * Bump C standard version to C17 (Matthias Klumpp)
 * policy: Allow admins to trigger updates without password, require password for installations (Matthias Klumpp)
 * policy: Allow inactive users to refresh sources (Matthias Klumpp)
 * policy: Allow offline-upgrades to be triggered without password for admin users (Matthias Klumpp)
 * Find KDE debconf communicator in libexec as well (Matthias Klumpp)
 * offline-updates: Assume plymouth>=0.9.5 by default (Matthias Klumpp)
 * build: Fix "missing field initializer" clang warnings (sid)
 * build: Fix "set but not used" clang warnings (sid)
 * meson: Move broader warning flags ahead of narrower ones for clang (sid)

Version 1.3.2
~~~~~~~~~~~~~
Released: 2025-10-02

Features:
 * Modernize the codebase for modern GLib (Corentin Noël)
 * pk-offline: Store package ID lists using g_key_file_set_string_list() (Gleb Popov)
 * pkcon: Make description field the last field in 'get-details' output (sid)
 * pkcon: Improve 'size' output formatting for 'get-details' command (sid)
 * pkcon: Add 'download-size' to 'get-details' command (sid)

Backends:
 * alpm: Use 'pk_backend_job_details_full()' so download size is reported properly (sid)
 * apt: Handle gstreamer ()(64bit) suffix on any architecture (Alessandro Astone)
 * apt: Fix updated and issued dates on changelog parsing (Ismael Asensio)
 * apt: debconf-helper: Fix g_object_unref (main_loop) assertion error (sid)
 * apt: debconf-helper: Fix g_object_unref (socket) assertion error (sid)
 * dnf: update ROSA config (Mikhail Novosyolov)
 * dnf5: Compile against both sdbus version 1 and 2 (Alessandro Astone)
 * dnf5: Do not wait for dbus reply (Alessandro Astone)
 * dnf5: Ignore bus errors (Alessandro Astone)
 * dnf5: Link against libdnf5 (Alessandro Astone)
 * zypp: Implement parallel downloading (Jonathan Kang)
 * zypp: use gint instead of guint for _preload_progress (Jonathan Kang)
 * zypp: Use 'pk_backend_job_details_full()' so download size is reported properly (sid)

Bugfixes:
 * Use GDateTime instead of the deprecated GTimeVal (Corentin Noël)
 * pk-control: Use g_debug() rather than g_warning() for proxy error (Philip Withnall)
 * pk-client: Fix a leak when cancelling a client task (Philip Withnall)
 * pk-client: Use pk_client_state_add() internally more consistently (Philip Withnall)
 * pk-client: Avoid array being modified during iteration (Philip Withnall)
 * pk-client: Tidy up waiting_for_finished implementation (Philip Withnall)
 * pk-client: Track PkClientState from earlier in its lifecycle (Philip Withnall)
 * pk-client: Factor out duplicated PkClientState finish code (Philip Withnall)
 * pk-client: Fix an assertion failure in PkClient (Philip Withnall)
 * pk-client: Simplify implementation of PkClient:idle property (Philip Withnall)
 * pk-client: Fix leak on copy-downloads code path (Philip Withnall)
 * pkmon: Fix g_object_unref(client) assertion error (sid)

Miscellaneous:
 * Require polkit 0.114 (Corentin Noël)
 * ci: Add PR label workflow (Matthias Klumpp)
 * Add backend maintainer list (Matthias Klumpp)
 * style: Use GET_PRIVATE macro consistently (Matthias Klumpp)
 * tests: Add test to sanity check all object types in public API (sid)

Version 1.3.1
~~~~~~~~~~~~~
Released: 2025-04-22

Features:
 * Add GetResults method to the Offline interface (Gleb Popov)

Backends:
 * apt: Fix matching gstreamer pkgs where the only modifier is ()(64bit) (Alessandro Astone)
 * apt: Add tests for gst-matcher (Alessandro Astone)
 * apt: Define an apt backend static library (Corentin Noël)
 * apt: Adjust for libapt-pkg7.0 API (Julian Andres Klode)
 * apt: Fix floating point value comparison (Matthias Klumpp)
 * apt: Drop remnants of RPM sources support (Matthias Klumpp)
 * apt: Add tests for repo-source reading (Matthias Klumpp)
 * apt: Add non-destructive Deb822 file parser & streamline sources parsing (Matthias Klumpp)
 * apt: Implement enable/disable support for deb822-style repo sources (Matthias Klumpp)
 * apt: Harmonize repo-ids between deb822 and legacy sources (Matthias Klumpp)
 * apt: Use 'pk_backend_job_details_full()' so download size is reported properly (sid)
 * apt: not call dbus on ostree-managed systems (ssk-wh)
 * alpm: fix mixed declarations and code (Christian Hesse)
 * alpm: fix function declaration prototype (Christian Hesse)
 * alpm: Use 'alpm_errno()' rather than incorrect 'errno' for libalpm errors (sid)
 * alpm: Fix 'pk_alpm_logcb' printf format warning (sid)
 * dnf5: Compile against both libdnf5 version 5.1.x and 5.2.x (Alessandro Astone)
 * dnf: Make a bunch of implicit enum conversions explicit (Matthias Klumpp)
 * dnf: OpenMandriva: small repo changes (Virtuti Militari)
 * entropy/portage: Fix missing 'comma' in meson.install_data () (sidt4)
 * freebsd: Use correct types for PackageView::{compressed,flat}size() (Gleb Popov)
 * zypp: Mark the correct packages to-be-installed (Jonathan Kang)
 * zypp: Raise exception on empty search string (Miika Alikirri)
 * zypp: Fix -Werror=missing-declarations by making functions static (sid)
 * zypp: Add G_GNUC_UNUSED to unused function 'zypp_get_packages_by_file' (sid)
 * zypp: Fix '-Wignored-qualifiers' by removing 'const' (sid)
 * zypp: Use 'G_GNUC_PRINTF' attribute to 'zypp_backend_finished_error' and fixup warnings (sid)
 * zypp: Disable deprecation errors in zypp backend temporarily (sid)

Bugfixes:
 * pk-client-helper: Do not crash on edge-case GIO error (Alessandro Astone)
 * pk-client: Allow debconf helper to display Wayland windows (Alessandro Astone)
 * pk-task: pk_task_user_accepted/declined_idle_cb actually take an unowned gtask (Corentin Noël)
 * PkClient: Use g_atomic_int for the copy count (Corentin Noël)
 * PkClient: Remove the proxy_props field (Corentin Noël)
 * PkClient: Fix mismatch between remaining and elapsed time (Corentin Noël)
 * pk_dbus_get_session: Move ConsoleKit check under the appropriate ifdef case (Gleb Popov)
 * Fix check in pk_engine_proxy_logind_cb (Gleb Popov)
 * meson: Explicitly specify native argument when adding C++ compiler (Matthias Klumpp)
 * pk-client: Fix runtime warning when backend does not support role (Milan Crha)

Miscellaneous:
 * Allow changing offline update action without polkit authentication (Alessandro Astone)
 * pk-task: Modernize the codebase (Corentin Noël)
 * PkPackage: Modernize the codebase (Corentin Noël)
 * PkControl: Modernize the codebase (Corentin Noël)
 * PkProgress: Move the progress_callback from PkClientState to PkProgress (Corentin Noël)
 * Decouple offline_update and systemd Meson features (Gleb Popov)
 * Decouple pk-backend from HAVE_SYSTEMD_SD_LOGIN_H (Gleb Popov)
 * ci: Build on Debian trixie & latest Fedora (Matthias Klumpp)
 * ci: Speed up build tests on Debian (Matthias Klumpp)
 * ci: Add ALPM & ZYPP backends to Fedora CI (sid)
 * meson: Remove deprecated functions & bump to 1.0 (Matthias Klumpp)
 * Compile with C11 + GNU extensions (Matthias Klumpp)
 * meson: Bring back maintainer mode for stricter checks (Matthias Klumpp)
 * doap: Update the maintainer list to current maintainers (Neal Gompa)
 * pkcon: Sort commands in 'pkcon' help output (sid)

Version 1.3.0
~~~~~~~~~~~~~
Released: 2024-06-16

New Features:
 * Expand PkInfoEnum to contain package target states for updates (Matthias Klumpp)
 * lib: Notify when installed database changed (Milan Crha)

Backends:
 * freebsd: Initialize libpkg plugins when doing work (Gleb Popov)
 * freebsd: Advertise PK_GROUP_ENUM_VIRTUALIZATION package group (Gleb Popov)
 * dnf: Free DNF sacks when they are unused for 10 minutes (Gordon Messmer)
 * dnf5: Add dnf5 posttrans notify plugin (Alessandro Astone)
 * dnf/zypp: Add support for language(ll_CC) to what-provides queries (Philip Withnall)
 * alpm: add compatibility with libalpm 14 (Jelle van der Waa)
 * apt: Don't accidentally identify Ubuntu as Debian (Matthias Klumpp)
 * apt: Don't limit by-repo-name update classification to Debian and Ubuntu (Matthias Klumpp)
 * apt: debconf-helper: Cleanup properly when exiting (Matthias Klumpp)
 * apt: Use the correct version number when parsing changelogs (Matthias Klumpp)
 * apt: Prefer deb version comparison to strcmp (sid)

Bugfixes:
 * Apply i18n for percentage values (Emir SARI)
 * metainfo: Mark PK as compulsory for most desktops (Matthias Klumpp)
 * pk-progress: Fix a leak of package ID (Philip Withnall)
 * Check string length correctly to prevent memory over-consumption [RHEL-19527] (Thibault Guittet)
 * pk-offline-update: Fix crash due to invalid g_auto declaration in switch / case (sid)
 * PkPackage: Handle all cases for 'update-severity' property (sid)
 * pkcon: Use appropriate callbacks for client / task async calls (sid)
 * Fix 'g-ir-scanner' matching async / finish warning (sid)
 * pk-offline-update: Fix crash during error cases (sid)
 * PkControl: Fix crash with 'get-time' transaction (sid)
 * PkTask: Fix invalid cast from 'GsPackagekitTask' to 'GTask' (sidt4)

Miscellaneous:
 * PkPackageSack: Replace the GSimpleAsyncResult with the GTask API (Corentin Noël)
 * PkControl: Replace the GSimpleAsyncResult with the GTask API (Corentin Noël)
 * PkTask: Replace the GSimpleAsyncResult with the GTask API (Corentin Noël)
 * PkClient, PkProgress, PkCategory: Use a more modern GObject style (Corentin Noël)
 * Enable building FreeBSD backend on FreeBSD CI (Gleb Popov)
 * Convert README to Markdown (Matthias Klumpp)
 * pk-matrix.html: Document which backends support InstalledChanged signal (Milan Crha)
 * docs: Update real-time chat room to point to the new Matrix room (Neal Gompa)

Version 1.2.8
~~~~~~~~~~~~~
Released: 2023-11-08

Libraries:
 * offline-updates: Make package update list deduplication more efficient (Matthias Klumpp)
 * offline-updates: Add only one entry per package to 'offline-update-competed' file (sid)
 * PkClient: Replace the GSimpleAsyncResult with the GTask API (Corentin Noël)
 * pk-client: Fix use-before-set of PkProgress on cancellation (Philip Withnall)
 * pk-client: Move cancellable disconnect to dispose (Philip Withnall)
 * pk-client: Rework refcounting for PkClientState (Philip Withnall)

Backends:
 * apt/dnf: Adjust for upcoming AppStream 1.0 API (Matthias Klumpp)
 * dnf: Avoid downloading caches multiple times in one call (Alessandro Astone)
 * dnf: Better weigh the progress of download-only transactions (Alessandro Astone)
 * dnf: Remove unused import from backends/dnf/notify_packagekit.py (Gordon Messmer)
 * Revive PiSi backend (Erkan IŞIK)
 * freebsd: Add new FreeBSD backend (Gleb Popov)

Bugfixes:
 * tests: Exclusively use g_assert_true (Matthias Klumpp)
 * tests: Avoid bashisms in sh by using bash (Matthias Klumpp)
 * transaction: We only need to emit finished when we were committed (Matthias Klumpp)

Miscellaneous:
 * tests: Restructure, enable daemon tests on CI (Matthias Klumpp)
 * ci: Modernize & launch dbus-daemon (Matthias Klumpp)
 * transaction: replace defunct www.packagekit.org URL with freedesktop URL (Corentin Noël)
 * docs: Update outdated offline-updates.txt (sid)

Version 1.2.7
~~~~~~~~~~~~~
Released: 2023-08-26

New Features:
 * pkclient: Add an option to count download size with dependencies (Milan Crha)
 * pk-transaction: Add support for getting the RemainingTime property (Philip Withnall)

Backends:
 * dnf: Notify PackageKit when dnf installs or removes packages (Gordon Messmer)
 * dnf: Run pk_backend_refresh_repo in a new process to avoid keeping libdnf memory leaks (Gordon Messmer)
 * dnf: Calculate download size with dependencies, if requested (Milan Crha)
 * zypp: Fix ambiguous reference to 'filesystem' class (Jonathan Kang)
 * apt: Display more useful pretty names for repositories (Matthias Klumpp)
 * apt: Set update urgency as urgency as well as status again (Matthias Klumpp)
 * apt: Don't crash while resolving mimetypes, modernize mime search code (Matthias Klumpp)
 * apt: Fix 'search-file' regexp as per BRE pattern (which is the default) (sid)
 * alpm: add and support deepin group (Wang Zichong)

Bugfixes:
 * progress: Free the sender value on finalize (Corentin Noël)
 * Add G_PARAM_STATIC_STRINGS to all properties (Corentin Noël)
 * pkcon: Widen progressbar text area (Frank Dana)
 * Use more portable shebang in Python test scripts (Gleb Popov)
 * Make use of SYSCONFDIR definition when setting a config file watch (Gleb Popov)
 * Shutdown daemon on idle by default again (yump)
 * Fix use of potentially uninitialized timer ID (Gordon Messmer)
 * pk-transaction: Return an error if property name is not known (Philip Withnall)
 * pk-client: Signal a transaction as finished if it disappears off the bus (Philip Withnall)
 * pk-transaction: Check that Finished signal is emitted at most once (Philip Withnall)
 * pk-transaction: Check that Finished signal is emitted at least once (Philip Withnall)

Miscellaneous:
 * Add FreeBSD CI using cirrus (Alexey Yushkin)
 * packagekitd: Use export_dynamic explicitly (Dominique Leuenberger)
 * Use the term DDE instead of deepin (Gary Wang)
 * packagekit-glib2: Use the correct enum for DDE (Neal Gompa)
 * data/meson.build: Install dbus policy in /usr/share, not /etc (Gioele Barabucci)
 * Globally pass -DPK_COMPILATION to the C++ compiler (Gleb Popov)
 * metadata: Remove reference to defunct screenshots URL (Marcus Müller)
 * metadata: replace defunct www.packagekit.org URL with freedesktop URL (Marcus Müller)
 * docs: replace defunct www.packagekit.org URL with freedesktop URL (Marcus Müller)
 * HACKING: Refresh to match current practices (Neal Gompa)

Version 1.2.6
~~~~~~~~~~~~~
Released: 2022-12-01

New Features:
 - Expose transaction sender as read-only property on the bus (Matthias Klumpp)
 - pkmon: Display transaction sender binary name in log (Matthias Klumpp)
 - pk-transaction: Add Packages signal (Philip Withnall)
 - pk-transaction: Combine some D-Bus PropertiesChanged signal emissions (Philip Withnall)
 - pk-transaction: Add UpdateDetails signal (Philip Withnall)

Backends:
 - alpm: Fix incorrect handling of hookdirs config [fixes #342] (Adrián Insaurralde Avalos)
 - aptcc: Refactor backend and rename to apt (Matthias Klumpp)
 - apt: Fix emission of package IDs if there is just one candidate available (Matthias Klumpp)
 - apt: Use smartpointers in more places (Matthias Klumpp)
 - apt: Don't report bug URLs with empty ID, and use HTTPS URLs (Matthias Klumpp)
 - apt: Don't add previous header and spaces to changelog entry end (Matthias Klumpp)
 - apt: Don't create an unnecessary PkBackendSpawn instance (Matthias Klumpp)
 - apt: Generate logging output properly (Matthias Klumpp)
 - apt: Emit the correct status when downloading changelogs or indices (Matthias Klumpp)
 - apt: Implement support for Packages signal to emit many packages at once (Matthias Klumpp)
 - apt: Implement support for the new UpdateDetails plural signal (Matthias Klumpp)
 - apt: Detect if apt system settings specify --force-conf* options and if so do not override them (Richard Schleich)
 - nix: Fix compatibility with Nix 2.7.0 (Alex Ameen)
 - nix: fix build with Nix 2.9.0 (#551) (Bobby Rong)
 - zypp: implement upgrade-system method (Jonathan Kang)
 - zypp: Clean up trailing whitespaces (Jonathan Kang)
 - zypp: Avoid statuReset() on locked packages (Jonathan Kang)
 - zypp: restore pool status after simulating an update (Jonathan Kang)
 - zypp: Disable upgrade-system support in SLE (Jonathan Kang)
 - zypp: build the pool before calling is_tumbleweed() (Jonathan Kang)
 - zypp: update libzypp dependency version (Jonathan Kang)
 - zypp: Don't refresh repos before searching (Jonathan Kang)
 - zypp: Check if packages are locked before removing (Jonathan Kang)
 - zypp: add repository data in package id (Jonathan Kang)
 - zypp: Remove trailing whitespace (Rodrigo Pedra Brum)

Bugfixes:
 - docs: Adjust the definition of pkgid "data" field to match the status quo (Matthias Klumpp)
 - Store sender command-line in transaction database again (Matthias Klumpp)
 - Fix documentation of package-install policy (#568) (Michael Catanzaro)
 - pk-client: Fix default value of cache-age property (Philip Withnall)
 - docs: Fix some XML typos in the Transaction interface documentation (Philip Withnall)
 - pk-main: Add newline on g_printerr() calls (Philip Withnall)
 - pk-main: Mark some early-start error messages as translatable (Philip Withnall)
 - pk-engine: Fix checking D-Bus caller details when setting proxy (Philip Withnall)
 - pk-transaction: Reduce frequency of progress signal emissions (Philip Withnall)
 - pk-client: Factor out parsing of UpdateDetail signal (Philip Withnall)

Version 1.2.5
~~~~~~~~~~~~~
Released: 2022-02-17

Backends:
 - alpm: adapt to changes in db updates and total cb calling (Carsten Haitzler)
 - alpm: adapt to changes in setting arch config - now a list (Carsten Haitzler)
 - alpm: Also mark single ignored matches as blocked (Aleix Pol)
 - alpm: Do not call dlcb completed explicitly (Aleix Pol)
 - alpm: fix apparent lack of braces in if clause (Carsten Haitzler)
 - alpm: fix bug waiting to happen with cast from ptr to boolean (Carsten Haitzler)
 - alpm: fix change in alpm_option_set_logcb to add ctx pointer (Carsten Haitzler)
 - alpm: fix changes in alpm_option_set_fetchcb to add ctx (Carsten Haitzler)
 - alpm: fix get-update-detail which uses totally wrong list of strings (Carsten Haitzler)
 - alpm: fix get-updates (Jan Blackquill)
 - alpm: fix missing handling of hookdir in pacman.conf (Carsten Haitzler)
 - alpm: fix uninitialized stack vars used later in config (Carsten Haitzler)
 - alpm: fix warning about fallthrough - be explicit about it (Carsten Haitzler)
 - alpm: fix warning of casing ptr to gboolean - this is problematic (Carsten Haitzler)
 - alpm: fix warning to keep local var declarations c99 consistent (Carsten Haitzler)
 - alpm: handle configuration 'NoProgressBar' (Antonio Rojas)
 - alpm: have pk_alpm_update_databases() return meaningful information (Aleix Pol)
 - alpm: Offer the database we create when updating (Aleix Pol)
 - alpm: Properly check if upgrades is set (Aleix Pol)
 - alpm: remove unused error PK_ERROR_ENUM_REPO_NOT_FOUND (Carsten Haitzler)
 - alpm: set the status of the job (Aleix Pol)
 - alpm: silence warning for gool to ptr conversion with a cast (Carsten Haitzler)
 - alpm: Support replaces with version expressions (Aleix Pol)
 - alpm: update to breaking changes in transactions (Carsten Haitzler)
 - aptcc: Allow PkgList to track additional state per package (Matthias Klumpp)
 - aptcc: Apply auto/manual state from previously resolved pkgids when needed (Matthias Klumpp)
 - aptcc: Attempt to fix broken packages again when system repair is requested (Matthias Klumpp)
 - aptcc: correctly lists all the available package versions .. (liushuyu)
 - aptcc: Display an excerpt of dpkg's log on error instead of not failing at all (Matthias Klumpp)
 - aptcc: Emit only the first, likely highest-quality error when dpkg fails (Matthias Klumpp)
 - aptcc: fix a bug where downgrade is not working .. (liushuyu)
 - aptcc: Only set locale from job if we are not on Debconf passthrough (Matthias Klumpp)
 - aptcc: Propagate install mode info in all emitted package-IDs (Matthias Klumpp)
 - aptcc: return local file listings in the same format as installed ones (Matthias Klumpp)
 - dnf: Add support for autoremove flag when removing packages (Neal Gompa)
 - dnf: Searches by name and package details should be case insensitive (Matias De lellis)
 - dnf: Update appstream xml files if dnf_sack_add_repos() does the download (Owen W. Taylor)
 - nix: remove g_assert_not_reached (Matthew Bauer)
 - nix: Update backend to use Nix Flakes (#414) (Matthew Bauer)
 - slack: Add bzip2 and sqlite3 dependencies (Eugen Wissner)
 - zypp: Add -std=c++1z cpp flags (Jonathan Kang)
 - zypp: Fix crash when search string is NULL (Jonathan Kang)
 - zypp: Fix package installation using undefined data (Pekka Vuorela)

Bugfixes:
 - Install offline-update enablement symlink if Meson is new enough (Matthias Klumpp)
 - Move Wants= line for network-online.target (Erich Eickmeyer)
 - Add flags to D-Bus offline invoking methods (Milan Crha)
 - Properly handle allow-reinstall flag for installations (Matthias Klumpp)
 - Provide better error message if trying to install an installed package (Matthias Klumpp)
 - Wait until online to activate systemd service (Erich Eickmeyer)

Version 1.2.4
~~~~~~~~~~~~~
Released: 2021-07-30

Notes:

Libraries:
 - Add specific error code when user declined interaction (Milan Crha)
 - Avoid spurious GObject::notify signal emissions (Philip Withnall)
 - Correct 'cancellable' use in pk_client_repair_system_async() (Milan Crha)
 - Fix a leak on calling set_locale() a second time (Philip Withnall)
 - Fix a possible use-after-free under pk_client_cancel_cb() (Milan Crha)
 - Improve thread safety on an operation cancellation (Milan Crha)

Backends:
 - dnf: Read update information also when getting list of updates (Milan Crha)
 - dnf: honor install_weak_deps=False if it is there (Dario Faggioli)
 - dnf: Use 'hy_query_get_advisory_pkgs', if available (Milan Crha)

New Features:
 - PkDetails: Add 'download-size' property (Milan Crha)
 - PkPackage: Add update severity property (Milan Crha)

Bugfixes:
 - Let the finish understand the 'cancelled' exit code (Milan Crha)
 - Make backends that use pk-backend-spawn work (#477) (Ivan Zakharyaschev)
 - Only set polkit interactive flag if method call has too (Philip Withnall)

Version 1.2.3
~~~~~~~~~~~~~
Released: 2021-03-22

Backends:
 - alpm: Add post transaction hook (Vlad Zahorodnii)
 - alpm: Rename errno to alpm_err to avoid name clashes (Richard Neumann)
 - aptcc: Auto-remove old kernels, unless configured otherwise (Matthias Klumpp)
 - dnf: Add support for coercing upgrade to distupgrade (Neal Gompa)
 - zypp: Make sure pool is initialized at the beginning of some methods (Jonathan Kang)
 - zypp: Reset update mode after getting updates (Jonathan Kang)

Bugfixes:
 - Append to cron log instead of overwriting it (realsobek)
 - Cancel a transaction if calling Cancel fails or the daemon disappears (Philip Withnall)
 - Do not crash when calling pk_dbus_get_uid() before D-Bus is setup (Richard Hughes)
 - Fix all compiler warnings (Matthias Klumpp)
 - Fix multilib conflicts in generated pk-enum-types.h (Kalev Lember)
 - Free scheduler array correctly again (Matthias Klumpp)
 - Remove large transaction size sanity check (Nate Graham)

Version 1.2.2
~~~~~~~~~~~~~
Released: 2020-11-02

Backends:
 - aptcc: Build socket-activated debconf helper again (Matthias Klumpp)
 - aptcc: Do not trust local debs (CVE-2020-16122) (Julian Andres Klode)
 - aptcc: Drop apt-inst, use apt-pkg pkg-config file for dependency detection (Matthias Klumpp)
 - zypp: Don’t refresh repos again when actually updating packages (Jonathan Kang)
 - zypp: Erase tmp repo from pool after local installation (#409) (Rinat Dobrokhotov)
 - zypp: Set PATH variable (Jonathan Kang)

New Features:
 - Notify the service manager when it's beginning to shutdown (Jonathan Kang)

Bugfixes:
 - Fix possible information disclosure [CVE-2020-16121] (Julian Andres Klode)
 - Install required test helper files (Neal Gompa)
 - Silence meson warning by bumping minimum version (Matthias Klumpp)

Version 1.2.1
~~~~~~~~~~~~~
Released: 2020-09-07

Backends:
 - alpm: Fix paths for configuration files (Christian Hesse)
 - alpm: Pass correct type to pk_alpm_transaction_initialize() (Christian Hesse)
 - alpm: Synchronise syncdbs on update (#400) (jan Pontaoski)
 - dnf: Add vendor configuration for openSUSE (Neal Gompa)
 - zypp: Clean up temporary files when PK quits (Jonathan Kang)
 - zypp: Ensure ResPool is built before is_tumbleweed() (Jonathan Kang)

Bugfixes:
 - Actually merge in the PolicyKit translation (Richard Hughes)
 - Fix setting libexecdir for command-not-found helper (Elliott Sales de Andrade)
 - Fix command-not-found handling arguments with spaces (Fernando Herrera)
 - Use SQL statements for queries with input (Juho Hämäläinen)
 - Exit pkcon with retval 5 if no packages needed be installed (Dominique Leuenberger)

Version 1.2.0
~~~~~~~~~~~~~
Released: 2020-05-04

Backends:
 - alpm: Fix assertion failures for download start signals (Felix Yan)
 - alpm: Fix config parsing for DisableDownloadTimeout (Felix Yan)
 - alpm: Handle blank target name for progress cb (Carson Black)
 - alpm: Improve dlcb handling (Carson Black)
 - alpm: Respect ignored packages on update (#390) (jan Pontaoski)
 - alpm: Sync with the latest libalpm (Dominik Opyd)
 - alpm: Updates-changed implementation (Carson Black)
 - alpm: Use separate alpm_handle_t for updates (Carson Black)
 - aptcc: Add libutil to linker args (David Hewitt)
 - aptcc: Do not emit PK_ERROR_ENUM_GPG_FAILURE (Julian Andres Klode)
 - aptcc: Include helper socket/service when making release tarball (Matthias Klumpp)
 - aptcc: Only report errors if there are errors (Julian Andres Klode)
 - aptcc: Set locale env vars properly according to frontend request (Matthias Klumpp)
 - aptcc: Use pk_backend_convert_uri on proxy settings (David Hewitt)
 - dnf: Load all the repos and vars directories (Neal Gompa)
 - Make pk_alpm_update_database a nullop without force (Carson Black)
 - pisi: Remove unmaintained backend (Richard Hughes)
 - ports: Remove unmaintained backend (Richard Hughes)
 - urpmi: Remove unmaintained backend (Richard Hughes)
 - yum: Remove unmaintained backend (Richard Hughes)
 - zypp: Ignore already installed package when installing (Jonathan Kang)
 - zypp: Remove upgrade-system implementation (Jonathan Kang)

New Features:
 - Port to the meson build system (Corentin Noël and many others)
 - Remove the GTK2 gtk-module support (Richard Hughes)

Bugfixes:
 - Do not do failable actions in the PkDbus constructor (Richard Hughes)
 - Do not do failable actions in the PkTransaction constructor (Richard Hughes)
 - Revert "Shutdown the daemon on idle by default" (Michael Catanzaro)

Version 1.1.13
~~~~~~~~~~~~~~
Released: 2020-01-08

Libraries:
 - packagekit-glib2: Add pk_client_helper_is_active() (Julian Andres Klode)
 - packagekit-glib2: Export pk_client_create_helper_argv_envp() (Julian Andres Klode)
 - packagekit-glib2: Extract pk_client_helper_start_with_socket() (Julian Andres Klode)
 - packagekit-glib2: Use $XDG_RUNTIME_DIR/debconf-socket if it exists (Julian Andres Klode)

Backends:
 - alpm: update for 5.2 API change (Christian Hesse)
 - aptcc: also generate a repo detail when a download happened (and finished) (Harald Sitter)
 - aptcc: apt-inst folded into apt-pkg in apt 1.9, make it optional (Julian Andres Klode)
 - aptcc: Completely remove distro-upgrade support for now (Matthias Klumpp)
 - aptcc: Disable distro-upgrade functionality (for now) (Matthias Klumpp)
 - aptcc: Implement frontend-locking (Julian Andres Klode)
 - aptcc: Introduce socket-activated pk-debconf-helper (Julian Andres Klode)
 - aptcc: pk-debconf-helper: raise timeout to 60 seconds (Julian Andres Klode)
 - aptcc: Port to apt 1.9 (Julian Andres Klode)
 - dnf: Add vendor configuration for ROSA Linux (Neal Gompa)
 - dnf: Do not trigger an event when the AppStream XML data is unchanged (Richard Hughes)
 - dnf: Don't override DnfContext's release_ver for the running system (Kalev Lember)
 - dnf: Fix OpenMandriva vendor for rolling variant and new architectures (Neal Gompa)
 - dnf: Invalidate the sack cache after downloading new metadata (Kalev Lember)
 - dnf: Move libgit2 module reset downstream (Neal Gompa)
 - dnf: Replace armv5tl with aarch64 for Mageia repo configuration vendor (Neal Gompa)
 - dnf: Reset libgit2 module when upgrading to F31 (Kalev Lember)
 - zypp: Add support for newest filter in what-provides (Jonathan Kang)
 - zypp: Don't set upgrade mode in update-packages (Jonathan Kang)
 - zypp: Emit installed package for newest filter (Jonathan Kang)
 - zypp: Fix get-updates in Tumbleweed (Jonathan Kang)
 - zypp: Implement upgrade-system (Jonathan Kang)
 - zypp: Make name/description search case insensitive (Carson Black)
 - zypp: pass an array of strings to pk_backend_job_files() (Jonathan Kang)
 - zypp: Perform actions disallowed by update in upgrade mode (Stasiek Michalski)
 - zypp: Promt users to use upgrade-system in Tumbleweed (Jonathan Kang)
 - zypp: Promt users when installing already installed packages (Jonathan Kang)
 - zypp: Reset upgrade mode to FALSE when not needed (Jonathan Kang)
 - zypp: Switch to doUpgrade solver when required by distribution (Stasiek Michalski)

New Features:
 - Add elogind support (Sven Eden)
 - Add support for user services (Julian Andres Klode)
 - Use new plymouth "system-upgrade" and "reboot" modes (Kalev Lember)

Bugfixes:
 - Add mutex lock to protect EULAs array (Jonathan Kang)
 - Correct bug tracker links on website (David Hewitt)
 - Do not dereference pk-client-helper argument before checking it (Julian Andres Klode)
 - Improve the 'using' documentation with a link to API (#277) (Damien Cassou)
 - Keep a ref on transaction while doing async polkit call (Kalev Lember)
 - List installed, removed and obsoleted packages in pkcon get-updates (Aleksei Nikiforov)
 - Properly mark obsoleted packages when simulating upgrade (Aleksei Nikiforov)
 - Provide information about obsoleted packages (Aleksei Nikiforov)
 - Return directly when its state is going backwards (Jonathan Kang)
 - Shrink the progress bar to fit when run in small spaces (Deftdawg)
 - Support non-x86 arches in gstreamer helper (Dan Horák)
 - Use the detected PYTHON version (Javier Jardón)
 - zsh command not found should return the same as its bash equivalent (Tim Speetjens)
 - Don't use a bash regex to fix command not found on other shells (Richard Hughes)

Version 1.1.12
~~~~~~~~~~~~~~
Released: 2018-11-28

Backends:
 - aptcc: Always try multi-arch lookups for lists (Julian Andres Klode)
 - aptcc: Update section mappings (Guillem Jover)
 - dnf: Avoid offline updates cache growing unchecked (Kalev Lember)
 - dnf: Emit download-size-remaining signals when downloading packages (Kalev Lember)
 - dnf: Fix multithreaded race and memory corruption when reloading repos (Kalev Lember)
 - dnf: Run subscription-manager sync before refreshing metadata (Richard Hughes)
 - dnf: Use dnf_repo_is_source from libdnf (Kalev Lember)
 - dnf: Use rpmvercmp for comparing cache directory versions (Kalev Lember)
 - zypp: Implement GetFilesLocal in zypp backend (xiaoguang wang)

Bugfixes:
 - common: Handle quoted strings in /etc/os-release (Kalev Lember)
 - offline update: Fix translations to show up (Kalev Lember)

Version 1.1.11
~~~~~~~~~~~~~~
Released: 2018-09-25

Backends:
 - aptcc: Fix invalid version dereference in AptInf::providesCodec() (Julian Andres Klode)
 - aptcc: Fix memory leak when GstMatcher has no matches (Daniel Nicoletti)
 - aptcc: Only autoremove packages that relate to the current transaction (Robert Ancell)
 - aptcc: Removing duplicate delete call (Julio Faracco)
 - aptcc: Use installed version to determine garbage (Julian Andres Klode)
 - dnf: Adapt for DnfAdvisory changes in new libdnf (Kalev Lember)
 - dnf: Adapt for dnf_package_get_advisories() free func changes (Kalev Lember)
 - dnf: Allow module filtering (Jaroslav Mracek)
 - dnf: Avoid using deprecated hy_goal_downgrade_to() (Kalev Lember)
 - dnf: Increase the BR requirement for the latest API (Richard Hughes)
 - dnf: Reflect latest changes in libdnf (Jaroslav Mracek, Daniel Mach)
 - nix: Build with Nix 2.0 correctly (Matthew Bauer)

New Features:
 - Add --autoremove option to pkcon (Robert Ancell)
 - Shutdown the daemon on idle by default (Richard Hughes)

Bugfixes:
 - De-register callbacks on PkClientHelper finalize (Robert Ancell)
 - Don't complain if command-not-found get uninstalled while running (Adam Jackson)
 - Fix critical on idle shutdown (Kalev Lember)
 - Fix issues with debconf helper not working (Robert Ancell)
 - Never assert when an interactive TTY is not available (Richard Hughes)
 - Schedule offline update service to run after system-update-pre.target (Kalev Lember)
 - Shut down services cleanly before rebooting after offline updates (Alan Jenkins)

Version 1.1.10
~~~~~~~~~~~~~~
Released: 2018-04-23

Notes:
 - This release fixes CVE-2018-1106 which is a moderate security issue.

Backends:
 - aptcc: Not all downloads have to be packages (Julian Andres Klode)
 - aptcc: Return multiple packages when using '|' operator (David Hewitt)
 - aptcc: Simplify search methods (#247) (David Hewitt)
 - dnf: Add OpenMandriva vendor (Bernhard Rosenkränzer)
 - dnf: Don't abort() when failing to set up context (Kalev Lember)
 - zypp: Implement GetDetailsLocal in zypp backend (Jonathan Kang)
 - zypp: Improve refresh-cache function in zypp backend (Jonathan Kang)

Bugfixes:
 - Do not set JUST_REINSTALL on any kind of auth failure (Richard Hughes)

Version 1.1.9
~~~~~~~~~~~~~~
Released: 2018-03-05

Backends:
 - aptcc: add support for downgrades as part of updates (Harald Sitter)
 - aptcc: fix RequireRestart emission by moving it out of destructor (Harald Sitter)
 - aptcc: Include whether it's a Source repository (Aleix Pol)
 - dnf: Clean up leftover cache directories (Kalev Lember)
 - dnf: Don't cache repo list (Kalev Lember)
 - dnf: Don't filter -source and -debuginfo repos with SUPPORTED filter (Kalev Lember)
 - dnf: Fix a memory leak when installing packages (Kalev Lember)
 - dnf: Fix a warning when enabling/disabling repos (Kalev Lember)
 - dnf: Fix PK_FILTER_ENUM_SOURCE (Kalev Lember)
 - dnf: Make DnfContext reload its repos when .repo files change (Kalev Lember)
 - dnf: Make sure cache invalidation doesn't destroy a DnfSack we are using (Kalev Lember)
 - dnf: strdup temporary string returned by dnf_package_get_nevra() (Kalev Lember)
 - dnf: Update repos shown with PK_FILTER_ENUM_SUPPORTED filter (Kalev Lember)
 - slack: Add application filter (Eugen Wissner)
 - slack: Add first search filters: (not)installed (Eugen Wissner)
 - slack: Fix install call in UpdatePackages (Eugen Wissner)
 - slack: Fix slack_cmp_repo (Eugen Wissner)
 - slack: make global definitions to static members (Eugen Wissner)
 - slack: Move common props/accessors to parent class (Eugen Wissner)
 - slack: Put the tests into a separate subdirectory (Eugen Wissner)
 - slack: Update slackware to latest stable (14.2) (Eugen Wissner)
 - slack: Use static_cast to cast pointers (Eugen Wissner)
 - urpmi: typo fix inside pk_backend_get_author() (Julio Faracco)
 - zypp: removing memory leak from zypp backend (Julio Faracco)

Bugfixes:
 - Fix missing PK_STATUS_ENUM_RUN_HOOK in pk-enum.c (Daniel Nicoletti)
 - Fix Qt annotation on DBus signature (Daniel Nicoletti)
 - client: Fix an invalid read when cancelling races with Finish (Kalev Lember)
 - engine: Fix a memory leak when handling GetTransactionList (Kalev Lember)
 - Fix getting user session ID with D-Bus "user bus" model (Kalev Lember)
 - Fix g_object_ref() type cast warnings with glib 2.56 (Kalev Lember)
 - Rename "Software Sources" to "Software Repositories" (Kalev Lember)
 - transaction: Don't leak polkit authority (Kalev Lember)
 - transaction: Fix a memory leak when authorizing actions (Kalev Lember)
 - transaction: Log transaction completed messages on debug, not info level (Kalev Lember)

Version 1.1.8
~~~~~~~~~~~~~~
Released: 2018-01-09

Notes:
 - The Slackware backend was renamed from "katja" to "slack"

Libraries:
 - Add getters for PkEulaRequired (Robert Ancell)
 - Add new pk_results_set_role() API (Kalev Lember)

Backends:
 - aptcc: do not crash on double free when updating a config file (Harald Sitter)
 - aptcc: fix offline updates by sanitizing origin more aggressively (Harald Sitter)
 - aptcc: Make mimetype search work again (Matthias Klumpp)
 - slack: Add tests (Eugen Wissner)
 - slack: Fix collecting file list (Eugen Wissner)
 - slack: Fix memory leak in slack_slackpkg_manifest (Eugen Wissner)
 - zypp: Return error if invalid package IDs are detected (Jonathan Kang)

New Features:
 - Save transaction role to the offline update results file (Kalev Lember)

Bugfixes:
 - Various fixes to docs (Robert Ancell)
 - Bring introspection and vapigen m4 macros into the source (Robert Ancell)
 - command-not-found: Be more explicit when ignoring path components (Richard Hughes)
 - service: Use ConditionPathExists=!/run/ostree-booted (Colin Walters)

Version 1.1.7
~~~~~~~~~~~~~~
Released: 2017-09-11

Libraries:
 - Add missing context pushes and pops (David Hewitt)

Backends:
 - alpm: Read the session proxy settings for each job (Xiang Fan)
 - aptcc: Ignore -dbg for codec queries (Iain Lane)
 - aptcc: Support "()(64bit)" (Iain Lane)
 - dnf: Add fedora-cisco-openh264 repos to supported repos list (Neal Gompa)
 - dnf: Fix an inverted condition that led to frequent crashes (Kalev Lember)
 - katja: Compile backend with C++14 (Eugen Wissner)
 - katja: declare download() and install() in the iface (Eugen Wissner)
 - katja: Fix double g_object_unref (Eugen Wissner)
 - katja: katja_pkg_is_installed -> katja::isInstalled (Eugen Wissner)
 - katja: Move all utils into the backend namespace (Eugen Wissner)
 - katja: Move GLib class functionality to C++ classes (Eugen Wissner)
 - katja: Put initialized repos in std::forward_list (Eugen Wissner)
 - zypp: Fix stack smashing on 32-bit system (Jonathan Kang)

New Features:
 - Add the ability to install updates on reboot in PackageKit-cron (Sander Hoentjen)

Bugfixes:
 - Don't search for NetworkManager or ConnMan anymore (Matthias Klumpp)
 - Effectively check for previous proxy entries (Xiang Fan)
 - Fix proxy environment variables (Xiang Fan)
 - Show a different progress message for system upgrades (Kalev Lember)

Version 1.1.6
~~~~~~~~~~~~~~
Released: 2017-06-07

Backends:
 - alpm: Calculate progress for hooks (Christian Hesse)
 - alpm: Clean up status, add handling for hooks (Christian Hesse)
 - alpm: Use enum for upgrade/reinstall/downgrade (Christian Hesse)
 - aptcc: Don't deinit (Iain Lane)
 - aptcc: Fix a crash when the user supplies a bad package ID (Harald Sitter)
 - aptcc: Fix crash in GetFilesLocal (Robert Ancell)
 - aptcc: Fix WhatProvides gstreamer for 1.0 (Iain Lane)
 - dnf: Ensure AppStream is deployed when the repo is updated (Richard Hughes)

New Features:
 - Add new status "Running hooks" (Christian Hesse)

Bugfixes:
 - Checks NULL strings inside pk_progress_bar_start (Julio Faracco)
 - Fix segfault when config file is not found [v3] (Julio Faracco)
 - Return success to avoid reboot in pk-offline-update (Zbigniew Jędrzejewski-Szmek)
 - Use g_printerr() for errors instead g_print() (Julio Faracco)
 - Various tweaks to the offline-updates service file (Zbigniew Jędrzejewski-Szmek)

Version 1.1.5
~~~~~~~~~~~~~~
Released: 2017-01-17

Notes:
 - This release removes the hif backend which is superseded by the new dnf
   backend (Kalev Lember)

Backends:
 - alpm: Get alpm backend warnings on the syslog() (Aleix Pol)
 - aptcc: handle updates distinct from installs (Harald Sitter)
 - aptcc: make toinstall more apt compliant (Harald Sitter)
 - aptcc: exclude held packages from update list (Harald Sitter)
 - aptcc: Update for new programming language sections (Josh Triplett)
 - aptcc: fix ac_compile_ifelse (tintou)
 - katja: pk-backend-katja -> C++14 (Eugen Wissner)
 - katja: Add classes for the main repository types (Eugen Wissner)
 - katja: Add explicit casting (Eugen Wissner)
 - katja: Enable logging in the backend (Eugen Wissner)
 - katja: Link with glibmm (Eugen Wissner)
 - katja: Rewrite katja_pkg_is_installed in C++ (Eugen Wissner)
 - katja: Switch to gobject properties (Eugen Wissner)
 - katja: Fix libpcre segmentation fault (Eugen Wissner)

Bugfixes:
 - Fix redeclaration of polkit autocleanup functions (Philip Withnall)
 - Check for a zero-length search string before passing to backends (Richard Hughes)
 - command-not-found: Ignore commands of only one character (Richard Hughes)

Version 1.1.4
~~~~~~~~~~~~~~
Released: 2016-09-19

Backends:
 - aptcc: Add get-files-local support (Daniel Nicoletti)
 - aptcc: Add support for pk_backend_get_details_local (Daniel Nicoletti)
 - aptcc: Add support for searching for relative paths (Daniel Nicoletti)
 - aptcc: Convert a few more loops to C++11 range for (Daniel Nicoletti)
 - aptcc: Drop DebFile helper class (Matthias Klumpp)
 - aptcc: Fix locating package which a file list belongs to (Daniel Nicoletti)
 - aptcc: Fix NULL assertion warning (Daniel Nicoletti)
 - aptcc: Fix typo (Daniel Nicoletti)
 - aptcc: Install local files using APT API (Daniel Nicoletti)
 - aptcc: Update pk-matrix for GetDetailsLocal (Daniel Nicoletti)
 - aptcc: Use C++11 range for loops (Daniel Nicoletti)
 - aptcc: Use FindGrp instead of manual matching every package when resolving (Daniel Nicoletti)
 - apt: Remove reference from pk-matrix.html (Daniel Nicoletti)
 - dnf: Port from libhif to libdnf (Kalev Lember)
 - hif/dnf: Fix a tiny memory leak when installing packages (Kalev Lember)
 - hif/dnf: Fix a tiny memory leak when invalidating repo cache (Kalev Lember)
 - zypp: pass the patch "Application Restart Suggested" flag down to PK (Dominique Leuenberger)
 - zypp: Return error if invalid package IDs are detected (Michael Andres)

New Features:
 - Add a new DNF backend (Kalev Lember)
 - Use GetFilesLocal in pkcon get-files if argument is a file (Daniel Nicoletti)

Bugfixes:
 - Add a new REPO_ALREADY_SET error enum and use it in backends (Kalev Lember)
 - Annotate PreparedUpgrade DBus property for usage in PackageKit-Qt (Dominique Leuenberger)
 - Change the configuration of the cron script to a sysconfig-like config (Dominique Leuenberger)
 - Do not try to exec plymouth if it is not installed (Richard Hughes)
 - Don't crash when emitting PropertiesChanged for NULL values (Kalev Lember)
 - Fix a leak in get_prepared_sack() (Kalev Lember)
 - Fix a tiny memory leak on error path (Kalev Lember)
 - Fix a tiny memory leak when setting a proxy (Kalev Lember)
 - Fix "cache-age changed to -1" debug message (when cache-age is G_MAXUINT) (Alan Jenkins)
 - Fix two small memory leaks when processing signals from the daemon (Richard Hughes)
 - Fix updates and change code to aid in not breaking this again (#149) (Harald Sitter)
 - Fix various g_variant_get ^a&s leaks (Kalev Lember)
 - Invalidate PreparedUpgrade property when the prepared file changes (Kalev Lember)
 - Look for command-not-found dbus socket in /run instead of /var/run (Dominique Leuenberger)
 - Remove declaration of non-existent pk_task_{get,set}_interactive() (Alan Jenkins)

Version 1.1.3
~~~~~~~~~~~~~~
Released: 2016-07-14

Bugfixes:
 - backend job: Avoid emitting duplicates with parallel download (Kalev Lember)
 - Revert a patch that caused PackageKit to always request auth when installing packages (Kalev Lember)
 - Update the GPLv2 text in COPYING (Kalev Lember)

Backends:
 - zypp: PK_FILTER_ENUM_ARCH is supposed to filter on primary arch (Dominique Leuenberger)

Version 1.1.2
~~~~~~~~~~~~~~
Released: 2016-07-12

Notes:
 - This release adds a new backend for the Nix package manager (Matthew Bauer)

New Features:
 - Add a test for offline distro upgrades (Kalev Lember)
 - Add PreparedUpgrade DBus property (Kalev Lember)

Bugfixes:
 - Make pk_console_get_prompt() big endian safe (Richard Hughes)
 - Require admin authorisation to trigger a distro upgrade (Richard Hughes)
 - build: Avoid g_simple_async_result deprecation warnings (Kalev Lember)
 - task: Fix only-trusted property notifications (Kalev Lember)
 - task: Honour the only_trusted property when setting up transactions (Kalev Lember)

Backends:
 - alpm: Don't discard a resolve call just because one package is missing (Aleix Pol)
 - alpm: Ignore the "Usage" key instead of crashing (Dustin Falgout)
 - aptcc: Fix mimetype list (Harald Sitter)
 - aptcc: Return the correct and complete result for package origins (Matthias Klumpp)
 - hif: Add support for build-time vendor configurations (Neal Gompa)
 - hif: Don't leak a dup'd string in get_author/get_description (Kalev Lember)
 - hif: Don't set user action when installing / updating packages (Kalev Lember)
 - hif: Drop ifdefs for older hawkey versions (Kalev Lember)
 - hif: Match unavailable packages for the what-provides query (Kalev Lember)
 - hif: Set the installonly limit one higher than usual for system upgrades (Kalev Lember)
 - hif: Use new libhif API to run a test transaction for offline updates (Kalev Lember)
 - katja: Fix return type warnings (Eugen Wissner)

Version 1.1.1
~~~~~~~~~~~~~~
Released: 2016-04-20

Backends:
 - alpm: port to g_autoptr() (Christian Hesse)
 - hif: Set ALLOW_DOWNGRADE flag for all transactions (Kalev Lember)
 - zypp: Enforce formatting input as string (Neal Gompa)

New Features:
 - Add UpdateTriggered / UpgradeTriggered DBus properties (Kalev Lember)
 - Add TriggerUpgrade DBus method handling (Kalev Lember)

Bugfixes:
 - Emit UpdatesChanges when installing packages (Richard Hughes)
 - Fix GIR annotations for progress callbacks (Matthias Klumpp)
 - Increase the number of packages that can be resolved (Richard Hughes)
 - Point offline update/upgrade trigger to the prepared update (Kalev Lember)
 - Unlink any existing offline update triggers before creating (Kalev Lember)

Version 1.1.0
~~~~~~~~~~~~~~
Released: 2016-02-12

Backends:
 - alpm: Update for pacman 5.x API change (Christian Hesse)
 - alpm: Remove versioning support (Christian Hesse)
 - aptcc: Always append the repository name to the pkgid data (Matthias Klumpp)
 - aptcc: Always use "installed" as data when the pkg is installed (Matthias Klumpp)
 - aptcc: Do not use deprecated API (Matthias Klumpp)
 - aptcc: Require C++11 support (Matthias Klumpp)
 - aptcc: Store "packagekit role='%s'" as the apt cmdline (Michael Vogt)
 - hif: Add support for UpgradeSystem (Kalev Lember)
 - hif: Don't store repos in global data (Kalev Lember)
 - hif: Factor out pk_backend_job_set_context (Kalev Lember)
 - hif: Factor out pk_backend_setup_hif_context() (Kalev Lember)
 - hif: Save cache files in versioned directories (Kalev Lember)
 - hif: Save release ver in sack cache hash key (Kalev Lember)
 - hif: Split out UpgradeSystem handling to a separate function (Kalev Lember)
 - hif: Store the currently used HifContext in job private data (Kalev Lember)
 - zypp: Avoid media access when testing for cd/dvd URL scheme (Michael Andres)
 - zypp: Fix build (Dominique Leuenberger)
 - zypp: Use libzypp's arch compatibility check (Thomas Perl)

New Features:
 - Add client side API for triggering offline system upgrades (Kalev Lember)
 - Add getters for PkProgress (Robert Ancell)
 - Add pk_get_distro_version_id (Kalev Lember)
 - Add system upgrade API to PkTask (Kalev Lember)
 - Port to g_autoptr() (Richard Hughes, Kalev Lember)
 - Remove the PackageKit browser plugin (Richard Hughes)
 - Use the GLib network monitoring support (Richard Hughes)

Bugfixes:
 - Add missing description for obsoleted packages (Kalev Lember)
 - Add support for offline system upgrades (Kalev Lember)
 - Allow to enable or disable systemd units for offline update (Christian Hesse)
 - Correctly store file descriptor from logind (#94070) (Benjamin Berg)
 - Do not crash on GetPrepared when there are no offline updates (Rui Matos)
 - Do not crash on transaction database corruption (Richard Hughes)
 - Do not crash when parsing a very broken transaction log (Richard Hughes)
 - Do not install offline update related files if disabled (Christian Hesse)
 - Emit PropertiesChanged for UpgradeSystem transaction flags (Kalev Lember)
 - Fix download-size-remaining property type (Robert Ancell)
 - Fix various minor memory leaks (Matthias Klumpp)
 - Make transaction get_proxy() return TRUE for no proxy settings (Matthias Klumpp)
 - Minor fixes in command_not_found_handle{,r}() for bash and zsh (Carsten Hey)
 - Relax validation performed on input strings passed to backends (Richard Hughes)
 - Require dbus.socket for offline update (Christian Hesse)
 - Set PACKAGEKIT_CALLER_UID environment (Michael Vogt)
 - Sort package names when printing out simulation (Kalev Lember)
 - Use new PkTask API for system upgrades (Kalev Lember)

Version 1.0.11
~~~~~~~~~~~~~~
Released: 2015-11-27

Notes:
 - By popular demand, reintroduce the UpgradeSystem method (Richard Hughes)

Backends:
 - aptcc: Compile with APT 1.1 (Matthias Klumpp)
 - aptcc: Create really random temporary directories (Matthias Klumpp)
 - aptcc: Ensure proxy and frontend-socket aren't used if they are NULL (Matthias Klumpp)
 - aptcc: Fix comment spelling mistakes (Robert Ancell)
 - aptcc: Fix formatting and kill some old cruft (Matthias Klumpp)
 - aptcc: Fix several compiler warnings (Matthias Klumpp)
 - aptcc: Make use of the new APT-internal method for fetching changelogs (Matthias Klumpp)
 - aptcc: Remove dead code and make source filenames consistent (Matthias Klumpp)
 - alpm: Make pk_alpm_pkg_build_list() more resiliant to failure (Richard Hughes)
 - dummy: Implement simulating UpgradeSystem and respect the transaction flags (Richard Hughes)
 - hif: Add support for HTTP proxy (Marek Marczykowski-Górecki)
 - hif: Improve RefreshCache progress updates (Kalev Lember)
 - portage: add helper to change portage settings (Gilles Dartiguelongue)
 - portage: cosmetics (Gilles Dartiguelongue)
 - portage: do not redefine builtin license (Gilles Dartiguelongue)
 - portage: do not refetch package listing for no reason (Gilles Dartiguelongue)
 - portage: drop unused imports (Gilles Dartiguelongue)
 - portage: enhance get_repo_list function (Gilles Dartiguelongue)
 - portage: fix a typo (Gilles Dartiguelongue)
 - portage: fix a typo in restoring license settings (Gilles Dartiguelongue)
 - portage: fix exception handling to be python2.7+ compatible (Gilles Dartiguelongue)
 - portage: fix step percentage computation (Gilles Dartiguelongue)
 - portage: fix typo python backend detection (Gilles Dartiguelongue)
 - portage: initialize licenses variable (Gilles Dartiguelongue)
 - portage: remove compatibility with older portage (Gilles Dartiguelongue)
 - portage: remove useless instruction (Gilles Dartiguelongue)
 - portage: retrieve EAPI and KEYWORDS before calling setcpv method (Gilles Dartiguelongue)
 - portage: simplify _get_cpv_slotted with collections module (Gilles Dartiguelongue)
 - portage: simplify _get_metadata (Gilles Dartiguelongue)
 - portage: sort imports according to PEP8 (Gilles Dartiguelongue)
 - portage: update layman API usage to >=2 (Gilles Dartiguelongue)
 - portage: use PackageKitProgress to ease progress steps manipulations (Gilles Dartiguelongue)
 - portage: use PackagekitProgress as an iterable (Gilles Dartiguelongue)
 - portage: use python idioms (Gilles Dartiguelongue)
 - python: make PackagekitProgress an Iterable (Gilles Dartiguelongue)
 - python: set steps on PackagekitProgress instantiation (Gilles Dartiguelongue)
 - zypp: Raise priority of ZYPP stack updates if a security patch is shadowed (bsc#951592) (Michael Andres)

New Features:
 - Allow the use of variadic functions in vala (Corentin Noël)

Bugfixes:
 - Make pk_details_get_size documentation more specific (Aleix Pol)

Version 1.0.10
~~~~~~~~~~~~~~
Released: 2015-09-21

Bugfixes:
 - Process the offline update triggered by older PK versions (Kalev Lember)
 - Use Glib for reading symlink to prevent crash with some compilers (Kalev Lember)

Version 1.0.9
~~~~~~~~~~~~~
Released: 2015-09-15

Backends:
 - aptcc: Don't assume time_t is same as long (Adam Borowski)

New Features:
 - Support g_autoptr() for all packagekit-glib2 object types (Kalev Lember)

Bugfixes:
 - Check the offline action trigger before performing the update (Richard Hughes)
 - Fix two critical warnings (Richard Hughes)
 - Sdd PackageKitGlib-1.0.metadata to release tarball (Christian Hesse)
 - Fix a race with the backend job thread creation (Kalev Lember)

Version 1.0.8
~~~~~~~~~~~~~
Released: 2015-08-19

Backends:
 - hif: Record the UID of the session user in the yumdb (Richard Hughes)
 - urpmi: Add support for FILTER_ARCH (Thierry Vignaud)
 - urpmi: Enable newer filters by default (Thierry Vignaud)
 - urpmi: Implement install_files (Thierry Vignaud)
 - urpmi: Other distros have synced their urpm API with mga (Thierry Vignaud)
 - urpmi: Support the NOT filter variants too (Thierry Vignaud)
 - yum: Add support for GetDetailsLocal (Richard Hughes)
 - yum: Record the UID of the session user in the yumdb (Richard Hughes)

New Features:
 - Generate Vala bindings (Robert Ancell)

Bugfixes:
 - Correctly register enum properties (Robert Ancell)
 - Exit quietly if we didn't prepare the offline update (Will Woods)
 - Fix various docstring errors in the library (Robert Ancell)
 - Look for libsystemd now that journal/login are merged (Matthias Klumpp)

Version 1.0.7
~~~~~~~~~~~~~
Released: 2015-07-13

Backends:
 - alpm: Set install reason to explicitly installed (Christian Hesse)
 - entropy: Fixed remove_package and search_details (skullbocks)
 - entropy: Removed messages and fixing remove function (skullbocks)
 - hif: Add missing locking when accessing sack cache (Kalev Lember)
 - hif: Improve depsolving for parallel kernel installs (Kalev Lember)
 - hif: Include any packages marked for installation when doing upgrades (Kalev Lember)
 - portage: Removed messages and fixing remove function (skullbocks)
 - python/backend: Fixing parameter order (skullbocks)
 - urpm: Properly use is_package_installed() (Thierry Vignaud)
 - yum: Fix backtrace when getting the update details (Richard Hughes)
 - yum: Fix up two almost impossible-to-hit python warnings (Richard Hughes)
 - yum: Forward port to the new WhatProvides API (Richard Hughes)
 - yum: Return installed packages first with NEWEST filter (Kalev Lember)
 - yum: Update comps groups code for internal Details API change (Kalev Lember)

New Features:
 - Define command_not_found_handler for zsh (Will Thompson)

Bugfixes:
 - Correct punctuation while applying offline updates (Matthew Miller)
 - Don't run if bash command completion is being run (Ville Skyttä)
 - Fix Details() from spawned backends (Richard Hughes)
 - Port GTK+ module to org.freedesktop.PackageKit.Modify2 (Matthias Clasen)
 - Return the correct error for syntax errors in pkcon (Richard Hughes)
 - Return the correct error if nothing was done for repo-enable (Richard Hughes)

Version 1.0.6
~~~~~~~~~~~~~
Released: 2015-04-07

Backends:
 - alpm: do not mix declarations and code (which ISO C90 forbids) (Christian Hesse)
 - alpm: move configured global field into backend priv (Fabien Bourigault)
 - alpm: move disabled global field into backend priv (Fabien Bourigault)
 - alpm: reinitialize libalpm when localdb changed (Fabien Bourigault)
 - alpm: remove RepoEnable (Fabien Bourigault)
 - alpm: remove no longer used disabled repos logic (Fabien Bourigault)
 - alpm: remove unused variable (Christian Hesse)
 - hif: Fix use-after-free during untrusted repo check (Kalev Lember)

New Features:
 - Add dbus method for returning prepared packages (petervo)
 - Add pk_backend_is_transaction_inhibited (Fabien Bourigault)
 - gstreamer plugin: Add support for v2 of the PK session service interface (Kalev Lember)

Bugfixes:
 - Don't recursive lock the debug mutex when using --verbose without a tty (Richard Hughes)
 - Make "reboot" the default action for no action file (Stephen Gallagher)
 - gstreamer plugin: Adapt to gstreamer missing plugin changes (Kalev Lember)
 - gstreamer plugin: Avoid criticals when some of the parameters are NULL (Kalev Lember)

Version 1.0.5
~~~~~~~~~~~~~
Released: 2015-02-09

Backends:
 - alpm: Fix bad event usage when removing package (Fabien Bourigault)
 - alpm: Honor simulate flag while removing packages (Fabien Bourigault)
 - alpm: Honor simulate on pk_backend_install_files (Fabien Bourigault)
 - alpm: Inhibit cache invalidation while commiting transaction (Fabien Bourigault)
 - alpm: Track local db changes and invalidate cache (Fabien Bourigault)
 - hif: Adapt to the new Hawkey API (Richard Hughes)

Bugfixes:
 - Add missing --allow-downgrade and --allow-reinstall to the man page (Richard Hughes)

Version 1.0.4
~~~~~~~~~~~~~
Released: 2015-01-19

Libraries:
 - Add PK_INFO_ENUM_UNAVAILABLE (Richard Hughes)

Backends:
 - alpm: Clean logic in pk_alpm_transaction_packages (Fabien Bourigault)
 - alpm: Fix bad logic in pk_backend_resolve_name (Fabien Bourigault)
 - alpm: Fix SIGSEV when asking for package files (Fabien Bourigault)
 - alpm: Honor simulation when installing packages (Fabien Bourigault)
 - alpm: Pacman 4.2 support (Christian Hesse, piernov)
 - aptcc: Always respect the noninteractive flag (Matthias Klumpp)
 - aptcc: Don't ask about config changes if we are not interactive (Matthias Klumpp)
 - aptcc: Use subdirectory in /tmp to store temporary data (Matthias Klumpp)
 - apt: Remove unmaitained backend (Richard Hughes)
 - dummy: Fix make check by not calling pk_backend_job_finished() in the threaded code (Richard Hughes)
 - hif: Automatically import metadata public keys when safe to do so (Richard Hughes)
 - hif: Automatically install AppStream metadata (Richard Hughes)
 - hif: Fix compile with newer versions of libhif (Richard Hughes)
 - hif: Fix several small memory leaks (Richard Hughes)
 - hif: Look for unavailable packages during resolve (Richard Hughes)
 - hif: Move hif_source_is_supported() here (Colin Walters)
 - hif: Proxy the allow-cancel state from the state to the job (Richard Hughes)
 - hif: Return 'unavailable' packages for metadata-only repos (Richard Hughes)
 - hif: Support HIF_SOURCE_KIND_LOCAL (Richard Hughes)
 - hif: Use a thread-local HifTransaction to avoid db3 index corruption (Richard Hughes)
 - urpmi: Actually implement only_download & simulate (Thierry Vignaud)
 - urpmi: Add myself as maintainer (Thierry Vignaud)
 - urpmi: Add support for 'allow_downgrade' (Thierry Vignaud)
 - urpmi: Add support for allow-reinstall (Thierry Vignaud)
 - urpmi: Consider gstreamer1.0 those days (Thierry Vignaud)
 - urpmi: Do pass new removepackages args (Thierry Vignaud)
 - urpmi: Lock write transactions (Thierry Vignaud)

New Features:
 - Add 'quit' command to pkcon (Richard Hughes)
 - Add the install and remove commands to the packagekit-direct test tool (Richard Hughes)

Bugfixes:
 - Actually inhibit logind when the transaction can't be cancelled (Richard Hughes)
 - Allow pk_backend_job_set_allow_cancel() after ErrorCode has been set (Richard Hughes)
 - Do not attempt to run command-not-found for anything prefixed with '.' (Richard Hughes)
 - Don't use PkBackendSpawn helpers in compiled backends (Richard Hughes)
 - Fix a hard-to-debug crash when cancelling a task that has never been run (Richard Hughes)
 - Make pk_backend_job_call_vfunc() threadsafe (Richard Hughes)
 - Make pk_backend_repo_list_changed() threadsafe (Richard Hughes)
 - Make the network detection code simpler (Richard Hughes)
 - Really remove the timer GSource when quitting the daemon (Matthias Klumpp)
 - Recreate the download location if it does not already exist (Richard Hughes)

Version 1.0.3
~~~~~~~~~~~~~
Released: 2014-11-10

Libraries:
 - glib: Add support for reinstallation and downgrades (Michal Minar)

Backends:
 - hif: Add support for reinstall and downgrade (Michal Minar)
 - hif: Use hif_context_set_vendor_cache_dir() to be smarter about the vendor cache (Richard Hughes)
 - hif: Use repo loader provided by the context (Michal Minar)
 - zypp: Improve progress status (Dominique Leuenberger)
 - zypp: propagate install errors to PK (Dominique Leuenberger)
 - zypp: Remap 'recommended' patches to 'BUGFIX' (Dominique Leuenberger)

New Features:
 - Add reinstall and downgrade support to pkcon (Michal Minar)

Version 1.0.1
~~~~~~~~~~~~~
Released: 2014-10-21

Backends:
 - alpm: Environment initialization refactoring (Fabien Bourigault)
 - alpm: Fix a few potential double-frees (Richard Hughes)
 - hif: Invalidate offline updates when the rpmdb changes (Kalev Lember)
 - urpmi: Implement filter_application (Thierry Vignaud)
 - urpmi: Implement filter_download (Thierry Vignaud)
 - zypp: Be more specific with the progress status messages (Dominique Leuenberger)
 - zypp: Ensure to reach 100% on complete cache_refresh (Dominique Leuenberger)
 - zypp: Fix compiler warning (Dominique Leuenberger)

New Features:
 - Add a KeepCache config parameter (Richard Hughes)

Bugfixes:
 - Do not install the python helpers unless required (Richard Hughes)
 - Don't assume systemd is found if --with-systemdsystemunitdir is passed (Matthias Klumpp)
 - Fall back to /usr/lib/os-release if /etc/os-release does not exist (Richard Hughes)
 - Fix compile when the systemd headers are not located in /usr/include (Richard Hughes)
 - Never allow cancelling a transaction twice (Richard Hughes)
 - Overwrite an existing link for packagekit-offline-update.service (Dominique Leuenberger)

Version 1.0.0
~~~~~~~~~~~~~
Released: 2014-09-12

Notes:
 - After over 7 years, 99 tarball releases and 11697 commits from 284 people
   we've finally released the first stable version. Woohoo!

 - I wanted to sent out a heart-felt thank you to all the people who have
   contributed to the success of this project. I couldn't have done it on my
   own and quite a few people were more important than they realize.

 - Now, onto more practical aspects. These are the big changes for this release:

  * The offline update functionality has moved to a proper D-Bus interface and
    the pkexec helpers have been removed. Offline updates is an important
    feature that no longer deserves to be bolted-on. All the existing users
    have been ported to the new interface, but you need 3.13.92 if you're
    running GNOME from unstable or jhbuild.

  * No more plugins. Both in-tree and out-of-tree plugins were the biggest
    source of crashes, and with the systemd offline updates merged into the core
    daemon they are just not reuired anymore. All affected projects have been
    notified.

  * No more conary, opkg, smart or yum plugins. These have been unmaintained and
    broken for over two years, so time to give them the heave-ho.

  * The alpm, aptcc, hif and zypp plugins have had lots of love, and are up to
    date with the latest features and working well.

Backends:
 - alpm: Add APPLICATION filter (Fabien Bourigault)
 - alpm: Add DOWNLOADED filter for get-updates (Fabien Bourigault)
 - alpm: Correctly namespace files and symbols (Richard Hughes)
 - alpm: Don't crash when emitting the update details URLs (Richard Hughes)
 - alpm: Don't set the cancellable or status before finished (Richard Hughes)
 - alpm: Honor cache age while refreshing repos (Fabien Bourigault)
 - alpm: Honor only download flag for update packages (Fabien Bourigault)
 - alpm: Use a helper structure for backend data (Richard Hughes)
 - alpm: Use the system database rather than the one in the prefix (Richard Hughes)
 - aptcc: Link against -lutil for forkpty (Colin Watson)
 - conary: Remove the Conary backend (Richard Hughes)
 - hif: Make the lock dir respect the DESTDIR (Richard Hughes)
 - hif: Remove some unused functions (Richard Hughes)
 - hif: Use a real path for hy_sack_create() (Richard Hughes)
 - hif: Use hif_source_commit() for new versions of the library (Richard Hughes)
 - hif: Use the cached metadata if available (Richard Hughes)
 - katja: Fix repository initialization flaw (Eugene Wissner)
 - opkg: Remove the opkg backend (Richard Hughes)
 - smart: Remove the SMART backend (Richard Hughes)
 - yum: Remove the yum backend (Richard Hughes)
 - zypp: Add APPLICATION filter support (Dominique Leuenberger)
 - zypp: Add DOWNLOADED filter support (Dominique Leuenberger)
 - zypp: Update to build with PK 0.9.x (Dominique Leuenberger)

New Features:
 - Add a D-Bus interface and helpers for offline support (Richard Hughes, Kalev Lember)
 - Add a repo-set-data command to packagekit-direct (Richard Hughes)
 - Add a simple script that generates some offline metadata (Richard Hughes)
 - Add pk_backend_job_get_cancellable() (Richard Hughes)
 - Add pk_backend_job_is_cancelled() (Richard Hughes)
 - Add pk_backend_set_user_data() (Richard Hughes)
 - Add pk_offline_get_prepared_sack() and use it in the systemd-updates plugin (Richard Hughes)
 - Remove pk-debuginfo-install (Richard Hughes)
 - Remove support for distros not supporting /etc/os-release (Richard Hughes)
 - Remove the --enable-systemd-updates configure switch (Richard Hughes)
 - Remove the events/pre-transaction.d functionality (Richard Hughes)
 - Remove the pkexec systemd helpers (Richard Hughes)
 - Remove the plugin interface (Richard Hughes)
 - Remove various options from the config file (Richard Hughes)

Bugfixes:
 - Automatically do pk_backend_job_finished() for threaded backends (Richard Hughes)
 - Do not shutdown the daemon on idle by default (Richard Hughes)
 - Fix compile of the ConnMan network support (Richard Hughes)
 - Fix packagekit-offline-update.service generation (Kalev Lember)
 - Increase the default transaction limits (Matthias Klumpp)
 - Prefer npapi-sdk over mozilla-plugins (Dominique Leuenberger)
 - Refresh the NetworkManager state when the daemon starts (Richard Hughes)

Version 0.9.5
~~~~~~~~~~~~~
Released: 2014-09-02

Backends:
 - alpm: Port the ALPM backend to the latest API (Aleix Pol)
 - hif: Fix a crash when refreshing a repo that is not enabled (Richard Hughes)
 - hif: Fix up a few state warnings when refreshing (Richard Hughes)
 - hif: Make the HyQuery refcounting easier to understand (Richard Hughes)
 - hif: Regenerate the SAT indexes when refreshing the cache (Richard Hughes)
 - hif: Support setting DESTDIR from packagekit-direct (Richard Hughes)

New Features:
 - Add --allow-untrusted option to pkcon (Michael Vogt)
 - Add a new tool called packagekit-direct that can run without a daemon (Richard Hughes)
 - Remove remaining time reporting (Richard Hughes)
 - Remove the desktop.db plugin (Richard Hughes)

Bugfixes:
 - Do not commit the transaction manually but instead set the correct state (Richard Hughes)
 - Do not log a critical warning when idle exiting (Richard Hughes)
 - Fix a crash when we are cancelling a transaction that has not yet been run (Richard Hughes)
 - Make browser-plugin search for npapi-sdk or mozilla-plugin (Matthias Klumpp)
 - Never ever use g_main_context_iteration() manually (Richard Hughes)

Version 0.9.4
~~~~~~~~~~~~~
Released: 2014-07-17

Backends:
 - hif: Fix up a signature mismatch with a libhif signal handler (Kalev Lember)
 - hif: Include both available and installed packages in NEWEST filter (Kalev Lember)
 - hif: Use new hawkey API for getting advisory details (Radek Holy)

Bugfixes:
 - Automatically switch to hif backend when the config file says hawkey (Kalev Lember)
 - Plug a small leak in the gstreamer-plugin (Kalev Lember)

Version 0.9.3
~~~~~~~~~~~~~
Released: 2014-06-23

Backends:
 - aptcc: Use Python3 for g-d-upgrade helper (Matthias Klumpp)
 - hawkey: Port to libhif and rename the backend to "Hif" (Richard Hughes)
 - hif: Adapt to hif_package_set_action() API change (Richard Hughes)
 - hif: Allow untrused packages to be installed again (Richard Hughes)
 - hif: Fix compile warning for new libhif versions (Richard Hughes)
 - hif: Reimplement multiple kernel package installation (Kalev Lember)
 - hif: Rely on libhif doing the rpmdb watching (Richard Hughes)
 - hif: Set the context parameters before setting it up (Richard Hughes)
 - hif: Use hif_context_get_install_root() (Richard Hughes)
 - hif: Use hif_context_get_native_arches() (Richard Hughes)
 - hif: Use hif_transaction_download() (Richard Hughes)
 - hif: Use the new hif_goal_get_packages() API from libhif (Richard Hughes)
 - zypp: Don't prompt to install already installed packages (Scott Reeves)

Bugfixes:
 - Add PK_ROLE_ENUM_GET_OLD_TRANSACTIONS to get-roles response (Daniel Nicoletti)
 - Automatically fix permissions of transactions.db (Matthias Klumpp)
 - Fix crash when a plugin is using the backend in it's initialization stage (Matthias Klumpp)
 - Make the polkit policy not be desktop-centric (Stef Walter)
 - Simplify prepared updates file creation (Kalev Lember)
 - Update group list in the documenation (Eugene Wissner)

Version 0.9.2
~~~~~~~~~~~~~
Released: 2014-04-29

Backends:
 - aptcc: Added support to remove repository and it's packages (Daniel Nicoletti)
 - aptcc: Add installed prefix on package id data field (Daniel Nicoletti)
 - aptcc: Add support for APPLICATIONS filter (Daniel Nicoletti)
 - aptcc: Add support for PK_FILTER_ENUM_DOWNLOADED (Daniel Nicoletti)
 - aptcc: Disable the PK_FILTER_ENUM_COLLECTIONS support (Richard Hughes)
 - aptcc: Fix package name dependecy (Daniel Nicoletti)
 - aptcc: If repo name is null and package is installed don't leave an ending : at the end (Daniel Nicoletti)
 - aptcc: Improve repo id and description (Daniel Nicoletti)
 - aptcc: Initial commit to support RepoRemove totally broken (Daniel Nicoletti)
 - aptcc: Make sure get_roles returns REPO_REMOVE (Daniel Nicoletti)
 - aptcc: Properly send the package summary and license when getting details (Daniel Nicoletti)
 - aptcc: Remove _config and _system repeated initialization to the backend init            this was causing an incremental sloweness to each new transaction (Daniel Nicoletti)
 - aptcc: Update default changelog URL (Matthias Klumpp)
 - aptcc: use a more appropriate enum from broken deps (Daniel Nicoletti)
 - katja: Add getters for Pkgtools members (Eugene Wissner)
 - katja: add katja-utils with help functions (Eugene Wissner)
 - katja: Add PkBackendKatjaJobData structure (Eugene Wissner)
 - katja: Don't try to install obsolete packages (Eugene Wissner)
 - katja: Exclude duplicates from search results (Eugene Wissner)
 - katja: Exclude obsolete from the search results (Eugene Wissner)
 - katja: fix wrong save of patch metadata (Eugene Wissner)
 - katja: Make Pkgtools to Interface (Eugene Wissner)
 - katja: Pass blacklist to the constructor (Eugene Wissner)
 - katja: Pass job pointer to class methods (Eugene Wissner)
 - katja: Recognize obsolete packages (Eugene Wissner)
 - katja: remove obsolete packages on update-packages (Eugene Wissner)
 - hawkey: Fix hif_find_pkg_from_name() to return the correct package (Richard Hughes)
 - hawkey: Store a helper array of packages rpm wants to obsolete (Richard Hughes)
 - hawkey: Store the status in the package private area (Richard Hughes)

New Features:
 - Show the full package name and version in the systemd-updates logs (Richard Hughes)

Bugfixes:
 - Don't crash when polkit_authority_get_sync() fails (Richard Hughes)
 - Link gstreamer plugin against 1.0 as well (Dimitri John Ledkov)
 - Only search for packages when shell is interactive (Dan Nicholson)
 - Quote the arguments passed to pk-command-not-found (Dan Nicholson)
 - Use local variables in the shell cnf handler (Dan Nicholson)
 - Fix get-roles and remove trailing semicolon on repo-set-data (Daniel Nicoletti)
 - Reduce logging verbosity in systemd-updates (Richard Hughes)

Version 0.9.1
~~~~~~~~~~~~~
Released: 2014-03-24

Notes:
 - slapt-get backend replaced with the Katja backend (Eugene Wissner)
 - Properly bump the soname after the branch (Richard Hughes)

Libraries:
 - Add pk_package_sack_find_by_id_name_arch() (Richard Hughes)
 - Support an old daemon for PkDetails and new library versions (Richard Hughes)

Backends:
 - alpm: Adapt to the WhatProvides API change (Richard Hughes)
 - apt: Adapt to the WhatProvides API change (Richard Hughes)
 - aptcc: Adapt to the WhatProvides API change (Richard Hughes)
 - aptcc: Change some changelog formatting which can confuse markdown parsers (Matthias Klumpp)
 - aptcc: Fix Debian changelog url generation (Matthias Klumpp)
 - aptcc: Fix Ubuntu changelog loading as well (Matthias Klumpp)
 - aptcc: If the aptcc backend fails to spawn gdebi std_out and std_err is invalid (Daniel Nicoletti)
 - aptcc: Make changelog-loading future-proof on Debian/Tanglu (Matthias Klumpp)
 - aptcc: Update to new pk_backend_job_details and pk_backend_spawn_new APIs (Daniel Nicoletti)
 - aptcc: Update to the new PK backend API (Daniel Nicoletti)
 - dummy: Adapt to the WhatProvides API change (Richard Hughes)
 - entropy: Adapt to the WhatProvides API change (Richard Hughes)
 - entropy: Add Entropy Resources Lock support (Fabio Erculiani)
 - entropy: Add support for parallel Entropy (Fabio Erculiani)
 - entropy: Allow lazy load of all the heavy object instances (Fabio Erculiani)
 - entropy: Drop compatibility with old entropy releases (Fabio Erculiani)
 - entropy: Drop support for PackageFileUpdates interface, removed upstream (Fabio Erculiani)
 - entropy: Enable backend parallelization support (Fabio Erculiani)
 - entropy: PackageKitEntropyClient.output API update (Fabio Erculiani)
 - hawkey: Adapt to the WhatProvides API change (Richard Hughes)
 - hawkey: Add support for the 'source' filter for queries (Richard Hughes)
 - hawkey: Allow getting the .repo filename from the HifSource (Richard Hughes)
 - hawkey: Allow packages to change architecture when updating (Richard Hughes)
 - hawkey: Always change repo data in a thread (Richard Hughes)
 - hawkey: Automatically repair the system if the transaction fails (Richard Hughes)
 - hawkey: Do not fail when update details are no longer available (Richard Hughes)
 - hawkey: Do not re-create the sack if the media repo was verified less than 1s ago (Richard Hughes)
 - hawkey: Do not replace all kernel packages with a new update (Richard Hughes)
 - hawkey: Do not return available packages that are already installed (Richard Hughes)
 - hawkey: Do not re-use the sack when a media source is cached in the repos (Richard Hughes)
 - hawkey: Do not use librepo to download packages on the DVD (Richard Hughes)
 - hawkey: Do the refresh-cache transaction in a thread (Richard Hughes)
 - hawkey: Drop HifSourceScanFlags (Richard Hughes)
 - hawkey: Fix installing i386 packages on a 64bit computer (Richard Hughes)
 - hawkey: Free memory after g_file_new_for_path (Eugene Wissner)
 - hawkey: Get and set the correct keys in the yumdb (Richard Hughes)
 - hawkey: if a specified a specific cache-age then do not use the sack cache (Richard Hughes)
 - hawkey: Implement GetDetailsLocal (Richard Hughes)
 - hawkey: Implement GetFilesLocal (Richard Hughes)
 - hawkey: Implement RepairSystem (Richard Hughes)
 - hawkey: Implement RepoRemove() (Richard Hughes)
 - hawkey: Never replace newer metadata with an older copy (Richard Hughes)
 - hawkey: Release locks early if the state fails (Richard Hughes)
 - hawkey: Return a better error when the rpmdb is hosed (Richard Hughes)
 - hawkey: Return a depsolved list when doing GetUpdates (Richard Hughes)
 - hawkey: Return the proper error code if hy_sack_load_yum_repo() fails (Richard Hughes)
 - hawkey: Run GetDetails() in a thread to avoid blocking the daemon (Richard Hughes)
 - hawkey: Save the previously downloaded packages when refreshing the cache (Richard Hughes)
 - hawkey: Show the package origin when simulating (Richard Hughes)
 - hawkey: Split out the repos functionality to its own file (Richard Hughes)
 - hawkey: Support more filter modes when getting the list of repos (Richard Hughes)
 - hawkey: Support the package_id origin syntax used by yum (Richard Hughes)
 - hawkey: Take more locks when writing to metadata and repo files (Richard Hughes)
 - hawkey: Use the cache age in deciding when to download new metadata (Richard Hughes)
 - hawkey: Use the correct error code when the lock is required (Richard Hughes)
 - hawkey: Use the location basename when downloading packages (Richard Hughes)
 - hawkey: Use the package cost when choosing a repo to use (Richard Hughes)
 - hawkey: Work around an oddity in the Fedora metadata format (Richard Hughes)
 - Katja: Add cache_info table (Eugene Wissner)
 - Katja: Add header files to the Makefile (Eugene Wissner)
 - Katja: Add metadata.db (Eugene Wissner)
 - Katja: Always enable foreign keys (Eugene Wissner)
 - Katja: Change percent_step type to gdouble to avoid 0 value (Eugene Wissner)
 - Katja: Delete existing database on refresh force (Eugene Wissner)
 - Katja: Don't close the database on error (Eugene Wissner)
 - Katja: Download file lists (Eugene Wissner)
 - Katja: Download single packages (Eugene Wissner)
 - katja: Fix 'make distcheck' (Richard Hughes)
 - Katja: Force refresh if the cache is too old (Eugene Wissner)
 - Katja: Implement pk_backend_job_start (Eugene Wissner)
 - Katja: Modify default Slackware mirror based on architecture (Eugene Wissner)
 - Katja: Parse MANIFEST.bz2 (Eugene Wissner)
 - Katja: Remember configuration modifications (Eugene Wissner)
 - Katja: Rename local 'conf' variables (Eugene Wissner)
 - Katja: Search file (Eugene Wissner)
 - Katja: Use pk_directory_remove_contents (Eugene Wissner)
 - poldek: Adapt to the WhatProvides API change (Richard Hughes)
 - urpmi: Adapt to mageia api list (Nicolas Lécureuil)
 - urpmi: Adapt to the WhatProvides API change (Richard Hughes)
 - urpmi: Use mageia bugzilla as default (Nicolas Lécureuil)
 - yum: Adapt to the WhatProvides API change (Richard Hughes)
 - zypp: Adapt to the WhatProvides API change (Richard Hughes)

New Features:
 - Add a new method GetDetailsLocal to get details about local packages (Richard Hughes)
 - Add a RepoRemove method to the transaction interface (Richard Hughes)
 - Add GetFilesLocal() to be able to get the file list of a local file (Richard Hughes)
 - Fall back to a details search for 'pkcon search foo' (Richard Hughes)
 - Include summary in PkDetails (Giovanni Campagna)
 - pkcon: print summary in get-details (Giovanni Campagna)
 - Set all the proxy settings when using pkcon (Richard Hughes)
 - Set an idle IO priority for background threaded transactions (Richard Hughes)
 - systemd-updates: Allow optionally shutting down after applying updates (Richard Hughes)

Bugfixes:
 - Add missing header (Nicolas Lécureuil)
 - Add Qt annotation to the new Details signature (Daniel Nicoletti)
 - Annotate DBUS Interfaces (Dominique Leuenberger, Daniel Nicoletti)
 - Assume a cache-age of 'any' by default when using pkcon (Richard Hughes)
 - Assume we don't want to install source packages with pkcon (Richard Hughes)
 - Clear the prepared-updates file only when the update is invalidated (Richard Hughes)
 - Do not disregard any transaction that takes more than 43 seconds to complete (Richard Hughes)
 - Do not install into python_sitelib (Richard Hughes)
 - Do not overrride CLEANFILES from gtk-doc, append to it (Alban Browaeys)
 - Do not refer to packages in the PolicyKit dialog messages (Richard Hughes)
 - Do not use the '…' character when talking to plymouth (Richard Hughes)
 - Don't use the default main context in sync PkClient methods (Richard Hughes)
 - Fix directory path in the docs (Eugene Wissner)
 - Fix project links in docs (William Jon McCann)
 - gstreamer-plugin: Link with gstreamer 1.0 (Kalev Lember)
 - gtk-doc: DOC_SOURCE_DIR is relative to builddir (Alban Browaeys)
 - Make functions called by pk_backend_job_thread_create() thread safe (Richard Hughes)
 - Only scan .desktop files in the datadir (Richard Hughes)
 - Remove deprecated API from the libpackagekit-glib library (Richard Hughes)
 - Remove PkConf and use GKeyFile directly (Richard Hughes)
 - Remove the PkProvidesEnum parameter from WhatProvides (Richard Hughes)
 - Remove the workaround for the gvfs session bus fix (Richard Hughes)
 - Rename GetDepends and GetRequires to DependsOn and RequiredBy (Matthias Klumpp)
 - Return an error if a client tries to execute an unknown method (Richard Hughes)
 - Set the default cache-age to 'never' (Richard Hughes)
 - When using 'pkcon install' assume arch filter unless specified otherwise (Richard Hughes)

Version 0.8.14
~~~~~~~~~~~~~~
Released: 2013-12-02

Notes:
 - We've removed and deprecated the parts of PackageKit that either didn't
   work very well, or simply were not being used. The library and soname stays
   the same, but a lot of daemon cruft has been removed.
 - If you're wondering why a particular feature was removed, please either
   look at the commit history or have a look at the ChangeLog.
 - A lot of the work above focused on speed, and packagekitd is substantially
   faster on most backends now. 100ms here, 50ms there; things feel a lot more
   snappy doing the most common operations.

Libraries:
 - Do not add two refs on the PkPackage when in a sack (Richard Hughes)
 - Do not check if the package-id name is valid UTF-8 (Richard Hughes)
 - Do not maintain two arrays of the same packages (Richard Hughes)
 - Do not use g_strdup_printf() when building a package_id (Richard Hughes)
 - Optimise pk_package_set_id() by not using g_strsplit() (Richard Hughes)
 - Remove an overly-cautious dup when setting the package ID (Richard Hughes)

Backends:
 - box: Remove backend, it's obsolete upstream (Richard Hughes)
 - entropy: Add PackageActionFactory API support (Fabio Erculiani)
 - entropy: Handling SIGQUIT is no longer needed (Fabio Erculiani)
 - entropy: Migrate pk_backend_remove_packages to the new API (Fabio Erculiani)
 - entropy: Port to the new add_package_repository() API (Fabio Erculiani)
 - entropy: Remove support for UpdateSystem (Fabio Erculiani)
 - entropy: Use transaction_flags (Fabio Erculiani)
 - hawkey: Cache the loaded sacks to save 280ms for repeat transactions (Richard Hughes)
 - hawkey: Do not hardcode x86_64 as the native architecture (Richard Hughes)
 - hawkey: Invalidate the sack cache if anything changes the rpmdb (Richard Hughes)
 - hawkey: Update the percentage allocation when searching (Richard Hughes)
 - portage: Migrate pk_backend_remove_packages to the new API (Fabio Erculiani)
 - portage: Remove support for UpdateSystem (Fabio Erculiani)
 - portage: Use transaction_flags (Fabio Erculiani)
 - zif: Remove as nearly all functionality is available in hawkey (Richard Hughes)

Deprecations and Removed Features:
 - Deprecate catalogs in favour of using the low level APIs (Richard Hughes)
 - Deprecate messages as they are never shown to the user (Richard Hughes)
 - Do not allow the user to specify the proxy in PackageKit.conf (Richard Hughes)
 - Do not check for running processes when we update packages (Richard Hughes)
 - Do not check processes when updating (Richard Hughes)
 - Do not try and guess the default backend when compiling (Richard Hughes)
 - Do not use 'DeveloperMode' as nobody uses it (Richard Hughes)
 - Remove PmUtils script helper (Richard Hughes)
 - Remove service pack functionality (Richard Hughes)
 - Remove support for upgrading very old PackageKit databases (Richard Hughes)
 - Remove the --daemonize command line option (Richard Hughes)
 - Remove the --enable-tests configure argument (Richard Hughes)
 - Remove the RequireRestart plugin with the hardcoded package names (Richard Hughes)
 - Remove the Udev firmware loading functionality (Richard Hughes)
 - Remove the ability to deselect the network stack at runtime (Richard Hughes)
 - Remove the config option 'BackendSpawnAllowSIGKILL' (Richard Hughes)
 - Remove the config option 'BackendSpawnIdleIOBackground' (Richard Hughes)
 - Remove the config option 'CancelBackgroundTransactions' (Richard Hughes)
 - Remove the config option 'CheckSharedLibrariesInUse' (Richard Hughes)
 - Remove the config option 'NoUpdateProcessList' (Richard Hughes)
 - Remove the config option 'TransactionKeepFinishedTimeout' (Richard Hughes)
 - Remove the config option 'UseIdleBandwidth' (Richard Hughes)
 - Remove the config option 'UseSyslog' (Richard Hughes)
 - Remove the config option 'WritePreparedUpdates' (Richard Hughes)
 - Remove the maintainer tool to get the free licence list (Richard Hughes)

New Features:
 - Update the website and developer docs to reflect reality (Richard Hughes)

Bugfixes:
 - Don't populate a PkResults object just so we can save one PkErrorEnum value (Richard Hughes)
 - Don't update the text package cache when refreshing (Richard Hughes)
 - Explicitly mark the required PolicyKit as a hard dep (Richard Hughes)
 - Never ever use WError (Richard Hughes)
 - Only get the sender cmdline when the value is going to be used (Richard Hughes)
 - Only load the transaction introspection once (Richard Hughes)
 - Only validate UTF-8 text from the spawned backends (Richard Hughes)
 - Speed up loading the transaction introspection by 13ms (Richard Hughes)

Version 0.8.13
~~~~~~~~~~~~~~
Released: 2013-11-22

Backends:
 - hawkey: Calculate the pkgid in all cases to fix a crash on remove (Richard Hughes)
 - hawkey: Calibrate the progress bars on more transactions (Richard Hughes)
 - hawkey: Check if the package is downloaded before trying to download (Richard Hughes)
 - hawkey: Do not crash when installing local files (Richard Hughes)
 - hawkey: Do not explode in a ball of fire if the dbpath couldn't be generated (Richard Hughes)
 - hawkey: Do not load all the repos just to write the yumdb entry (Richard Hughes)
 - hawkey: Do not load the updateinfo unless required (Richard Hughes)
 - hawkey: Do not log the state if the combined time is less than 1ms (Richard Hughes)
 - hawkey: Don't try to clean the source if it does not yet exist (Richard Hughes)
 - hawkey: Download to a temp location before nuking the previous metadata (Richard Hughes)
 - hawkey: Fix a crash when writing the yumdb metadata (Richard Hughes)
 - hawkey: Never go back to the test-commit phase when running the transaction (Richard Hughes)
 - hawkey: Run all the backend methods in threads (Richard Hughes)
 - hawkey: Support .repo files having metalink and not mirrorlist (Richard Hughes)
 - hawkey: Switch the backend job to 'running' when it's been set up (Richard Hughes)
 - hawkey: Use hy_query_filter_latest_per_arch() to fix multiarch (Richard Hughes)
 - hawkey: Use the new hy_query_filter_provides_in() (Richard Hughes)
 - hawkey: Use the xattr hash value when checking files (Richard Hughes)
 - hawkey: librepo now tells us when the download size has been recalculated (Richard Hughes)
 - poldek: Adapt to the new API (Jakub Bogusz)
 - yum: Do not auto-close the rpmdb when running a transaction (Richard Hughes)

New Features:
 - Add a systemd packagekit.service file (Colin Walters)
 - Provide a way to run the spawned backend under strace (Richard Hughes)
 - Raise the GLib dep to 2.32 (Richard Hughes)

Bugfixes:
 - Fix the --with-systemdsystemunitdir option to actually work (Richard Hughes)
 - Do not abort the daemon if we can't write to a database (Richard Hughes)
 - Do not proxy the action states when simulating (Richard Hughes)
 - Don't crash if ProxyHTTP is set (Richard Hughes)
 - Fix a small memory leak spotted by clang (Richard Hughes)
 - Fix critical warning when killing a backend with new versions of GLib (Richard Hughes)
 - Fix memory leak when running plugins (Thomas Perl)
 - Fix memory leak when using new versions of GLib (Richard Hughes)
 - Ignore the prefix when dealing with the PackageKit prepared update (Richard Hughes)
 - Make the debugging print formatter thread safe (Richard Hughes)
 - Remove duplicate assignment of pkcon '-y' option (Thomas Perl)
 - browser-plugin: Never use the application icon (Richard Hughes)
 - systemd-updates: Log all warnings and notices to the journal (Richard Hughes)
 - systemd-updates: Show some text progress (Richard Hughes)

Version 0.8.12
~~~~~~~~~~~~~~
Released: 2013-10-18

Libraries:
 - Add a method to parse a PkPackage from it's description (Richard Hughes)
 - Add pk_transaction_past_get_timestamp() as a helper (Richard Hughes)
 - Add some simple getters for PkDetails (Richard Hughes)
 - Add some simple getters for PkTransactionPast (Richard Hughes)
 - Destroy and re-create the control proxy if the server changes (Richard Hughes)
 - Do not have duplicate 'interactive' properties (Richard Hughes)
 - Make PkTask thread-default-context aware (Giovanni Campagna)

Backends:
 - pisi: Detect when reboot is required and report it (Ikey Doherty)
 - pisi: Fix parsing of package update messages (Ikey Doherty)
 - pisi: Support INFO_BUGFIX when listing new updates (Ikey Doherty)

New Features:
 - Add GetPackageHistory() that returns history data for packages (Richard Hughes)

Bugfixes:
 - Check for packagekitd in the right location (Dominique Leuenberger)
 - Do not send the backend a cache age of -308 when using UINT_MAX (Richard Hughes)

Version 0.8.11
~~~~~~~~~~~~~~
Released: 2013-09-02

Backends:
 - hawkey: Adapt to the new API in librepo (Richard Hughes)
 - hawkey: Do not abort the refresh if a specific repo is not available (Richard Hughes)
 - hawkey: Do not fail to refresh if a single repo is unavailable (Richard Hughes)
 - hawkey: Do not hardcode version numbers and architecture details (Richard Hughes)
 - hawkey: Port to the new librepo API (Richard Hughes)
 - hawkey: Write to the yumdb when running a transaction (Richard Hughes)
 - pisi: Major code cleanups to pass lint tests (Ikey Doherty)
 - yum: Do not check for infra packages when getting the update list (Richard Hughes)
 - yum: Do not use network access if we're filtering with ONLY_DOWNLOAD (Richard Hughes)
 - zif: Do not use network access if we're filtering with ONLY_DOWNLOAD (Richard Hughes)
 - zypp: Adapt to pk_backend_job_files change (Dominique Leuenberger)

New Features:
 - Make it possible to cancel an offline update (Matthias Clasen)

Bugfixes:
 - Add offline update commands to the pkcon man page (Matthias Clasen)
 - Make sure basic stuff is set up before entering the STARTED plugin phase (Matthias Klumpp)
 - pkcon: Add a few missing subcommands to the help output (Matthias Clasen)
 - pkcon: Document commands and options (Matthias Clasen)

Version 0.8.10
~~~~~~~~~~~~~~
Released: 2013-07-26

Libraries:
 - glib: Actually return the error if any PkClient methods failed (Richard Hughes)
 - glib: Fix a potential segfault when getting the error code for the results (Richard Hughes)
 - ruby_packagekit: update enums with enum-convertor (Anders F Bjorklund)
 - ruby_packagekit: update prints with commands (Anders F Bjorklund)
 - ruby_packagekit: update the backend API (Anders F Bjorklund)

Backends:
 - aptcc: Don't store downloads in partial (Daniel Nicoletti)
 - aptcc: Fix compilation for the backend API where seding package files gets an array of gchar (Daniel Nicoletti)
 - aptcc: Use glib types to deal with the files emit (Daniel Nicoletti)
 - dummy: Adapt to pk_backend_job_files change (Richard Hughes)
 - hawkey: Add a new backend designed to replace the yum and zif backends (Richard Hughes)
 - hawkey: Add update states and update info details (Richard Hughes)
 - hawkey: Always filter the updates list to the newest packages only (Richard Hughes)
 - hawkey: Remove the cached .rpm files after they have been used for install (Richard Hughes)
 - hawkey: Support the DOWNLOADED filter (Richard Hughes)
 - hawkey: Use the new hy_package_get_userdata() functionality (Richard Hughes)
 - pisi: Basic fixes required to make backend functional again (Ikey Doherty)
 - pisi: Coding cleanups and hiccups removals, better handling of deps, etc. (Ikey Doherty)
 - pisi: Fix homepage in details (Ikey Doherty)
 - pisi: Implement 'download-packages' (Ikey Doherty)
 - pisi: Implement 'get-update-detail' (Ikey Doherty)
 - pisi: Load PiSi components -> PK Group mappings from file (Ikey Doherty)
 - pisi: Mark myself as maintainer in pk-backend-pisi (Ikey Doherty)
 - pisi: Report installation and removal progress to PackageKit (Ikey Doherty)
 - pisi: Report progress in all relevant transactions, use factory deps method, clean up (Ikey Doherty)
 - pisi: Support simulated transactions, allow multiple package removal and installation (Ikey Doherty)
 - ports: Add the mime-type for .txz packages (Anders F Bjorklund)
 - ports: Remove the update_system function (Anders F Bjorklund)
 - ports: Upgrade the backend for portupgrade to 0.8 (Anders F Bjorklund)
 - yum: Only download the offline update packages if not already in the cache (Richard Hughes)
 - yum: Use yb.downloadPkgs() to download updates (Richard Hughes)
 - zif: Adapt to pk_backend_job_files change (Richard Hughes)
 - zif: Add support for the DOWNLOADED filter (Richard Hughes)

New Features:
 - Add a 'DOWNLOADED' filter to select only packages already in the cache (Richard Hughes)
 - Add three pkcon sub-commands for offline updates (Richard Hughes)
 - Allow local active users in the wheel group to install signed packages without a password (Richard Hughes)
 - Allow plugins to override PolicyKit action IDs (Colin Watson)

Bugfixes:
 - Also look for libraries in type txt from lsof (Anders F Bjorklund)
 - Correctly handle SIGINT signals again (Matthias Klumpp)
 - Default lsof installation path on FreeBSD (Anders F Bjorklund)
 - Depend on GLib 2.30.0 for the UNIX signal handling features (Richard Hughes)
 - Do not start the daemon if we cannot get a valid starting ID (Richard Hughes)
 - Don't cause warnings if /proc/net/route is missing (Anders F Bjorklund)
 - Do proper error checking when modifying the transaction database (Richard Hughes)
 - Emit error for Listaller package installs, if Listaller is not installed (Matthias Klumpp)
 - Ensure we create the per-system metadata cache location (Richard Hughes)
 - Fix Listaller compat check if IPK mime type is not installed (Matthias Klumpp)
 - Generate the python files to get the path right (Anders F Bjorklund)
 - If the transaction database is missing, show an error and cleanly shutdown (Richard Hughes)
 - Load an instance of the transaction database for each transaction (Richard Hughes)
 - Make pk_backend_job_files() accept an array of strings (Richard Hughes)
 - Make the client-helper run on non-Linux systems (Anders F Bjorklund)
 - Make the test scripts use a standard shell (Anders F Bjorklund)
 - Only check the package-id of ::Files when specified (Richard Hughes)
 - Only search newest packages when resolving 'pkcon update foo' (Richard Hughes)
 - Raise the package process threshold to 5000 (Richard Hughes)
 - systemd-updates: Do not exit with an error for a race condition (Richard Hughes)

Version 0.8.9
~~~~~~~~~~~~~
Released: 2013-05-20

Backends:
 - yum: Update the comps->group mapping for Fedora 19 (Richard Hughes)
 - yum: When converting to unicode special case YumBaseError (Richard Hughes)

New Features:
 - Add 'pkcon backend-details' to be get details of the selected backend (Richard Hughes)

Bugfixes:
 - Add fallback for older libarchive (Anders F Bjorklund)
 - Do not rely on Python2 to write UTF-8 strings (Richard Hughes)
 - Do not use -fPIE when calling g-ir-scanner (Richard Hughes)
 - Ensure the package is removed from the sack properly (Richard Hughes)
 - Modify CodingStyle (Murilo Opsfelder Araujo)

Version 0.8.8
~~~~~~~~~~~~~
Released: 2013-05-08

Notes:
 - PackageKit now allow local active users to install signed software without
   prompting for authentication. If you need to change this you will need to
   either install a PolicyKit override or just patch the policy file.

Libraries:
 - Add some public getters to PkUpdateDetail (Richard Hughes)
 - Don't use the default main context in sync PkClient methods (Giovanni Campagna)
 - When getting desktop data try the installed prefix, and then the system copy (Richard Hughes)

Backends:
 - alpm: Account for minor API changes in alpm 8 (Jonathan Conder)
 - alpm: Add GPGDir config option (Jonathan Conder)
 - alpm: Add new error codes (Jonathan Conder)
 - alpm: Allow forced install of untrusted packages (Jonathan Conder)
 - alpm: Fix freedesktop.org bug #44713 (Jonathan Conder)
 - alpm: Fix locale and proxy support (Jonathan Conder)
 - alpm: Implement preliminary signature checking (Jonathan Conder)
 - alpm: Improve and update config file parsing (Jonathan Conder)
 - alpm: Improve messages and status/progress reports (Jonathan Conder)
 - alpm: Make use of new package origin API (Jonathan Conder)
 - alpm: Port configuration logic to new API (Jonathan Conder)
 - alpm: Port enum constants to new API (Jonathan Conder)
 - alpm: Port error messagess to new API (Jonathan Conder)
 - alpm: Port function calls to new API (Jonathan Conder)
 - alpm: Port public structs to new API (Jonathan Conder)
 - alpm: Port type names to new API (Jonathan Conder)
 - alpm: Remove ShowSize option, add VerbosePkgLists (Jonathan Conder)
 - alpm: Report new informational updates to frontend (Jonathan Conder)
 - alpm: Update error codes again (Jonathan Conder)
 - aptcc: Check if we have network only for operations that need it (Daniel Nicoletti)
 - aptcc: Make sure we always use gboolean on g_variant_get calls (Daniel Nicoletti)
 - aptcc: Fix compile warnings (Daniel Nicoletti)
 - aptcc: Fix repo set data signature (Daniel Nicoletti)
 - aptcc: Fix sorting of packages and duplicates removal (Daniel Nicoletti)
 - aptcc: GDebi supports now the installation of multi-arch packages (Daniel Nicoletti)
 - aptcc: Get changelogs like apt-get does (Daniel Nicoletti)
 - aptcc: Use gboolean for g_variant_get (Daniel Nicoletti)
 - aptcc: Make sure we do the network test before setting the no network error (Daniel Nicoletti)
 - aptcc: Remove redundant colon (Daniel Nicoletti)
 - aptcc: Set a friendly message on the changelog text if we failed to fetch it (Daniel Nicoletti)
 - aptcc: Use the right var type (Daniel Nicoletti)
 - dummy: Fix compile with __attribute__ gnu_printf (Richard Hughes)
 - entropy: Add compatibility with Entropy 179 (Fabio Erculiani)
 - entropy: Add forward compatibility with upcoming new Entropy Library releases (Fabio Erculiani)
 - entropy: Fix undefined reference "update" (Fabio Erculiani)
 - yum: Ensure conf.cache is set before repo.cache is created (Richard Hughes)
 - yum: Ignore errors when removing packages to work out the requires list (Richard Hughes)
 - zif: Do not issue a critical warning when doing WhatProvides (Richard Hughes)
 - zif: Fix compile with __attribute__ gnu_printf (Richard Hughes)
 - zif: Fix GetDepends when more than one package is specified (Richard Hughes)
 - zif: Respect the filters when doing GetRequires (Richard Hughes)
 - zif: Use the same speedup used in libzif upstream (Richard Hughes)
 - zypp: Do not trigger invalid numbers (Stephan Kulow)
 - zypp: Fix compile with __attribute__ gnu_printf (Stephan Kulow)
 - zypp: Fix download progress (Stephan Kulow)
 - zypp: Fix removing packages (Stephan Kulow)
 - zypp: Ignore system resolvables during install too (Stephan Kulow)
 - zypp: Ignore @System upgrades during update (Stephan Kulow)
 - zypp: Instantiate PoolStatusSaver after pool is built (bnc#804054) (Michael Andres)
 - zypp: Less debug in progress functions (Stephan Kulow)
 - zypp: Merge all backend code into one file, much easier to refactor (Stephan Kulow)
 - zypp: Only allow to update candidates (fdo#61231) (Stephan Kulow)
 - zypp: Remap PK provides into rpm provides as the zif backend does (Stephan Kulow)
 - zypp: Use the right functions to get solvables (Stephan Kulow)

New Features:
 - Added Provides property to retrieve which Provides the backend supports (Daniel Nicoletti, Richard Hughes)
 - Expose the transaction flags on the .Transaction object (Richard Hughes)
 - Use __attribute__ gnu_printf when dealing with varargs (Richard Hughes)
 - Use G_GNUC_NULL_TERMINATED for pk_backend_spawn_helper (Richard Hughes)
 - Use PIE to better secure installed tools and also use full RELRO in the daemon (Richard Hughes)

Bugfixes:
 - Add compatibility with newer libarchive versions (Matthias Klumpp, Daniel Nicoletti)
 - Allow clients to call org.freedesktop.DBus.Peer (Richard Hughes)
 - browser-plugin: Do not crash when running an installed package that is upgradable (Richard Hughes)
 - Do not install the bash-completion code in /etc (Richard Hughes)
 - Do not use _UTF8Writer when using python3 (Richard Hughes)
 - Do not write the prepared-updates file if systemd is not available (Richard Hughes)
 - Don't abort the daemon if the client requests a property that does not exist (Richard Hughes)
 - Don't initialize GType system on newer GLib versions (Matthias Klumpp)
 - Ensure /var/lib/PackageKit exists before using it (Colin Walters)
 - Fix compiling with --enable-systemd --disable-systemd-updates (Dominique Leuenberger)
 - Fix crash while calling inhibit into systemd-login (Stephan Kulow)
 - Fixed connman interface (Pekka Lundstrom)
 - Fix symbol-prefix passed to g-ir-scanner (Evan Nemerson)
 - Make PackageKit compile on !Linux again (Matthias Klumpp)
 - Pause for 10 seconds if an error occurred before restarting systemd-updates (Richard Hughes)
 - Remove pk-plugin-clear-system-update as removing the trigger file is never required (Richard Hughes)
 - Remove the prepared-updates file if any relevant state was changed (Richard Hughes)
 - Resolve according to the filters when doing 'pkcon get-requires' (Richard Hughes)
 - Support getting the distro-id from /etc/os-release (Richard Hughes)
 - Use the correct session method to fix font installation in pk-gtk-module (Richard Hughes)
 - Write a pre-failure status file in case the update transaction crashes (Richard Hughes)

Version 0.8.7
~~~~~~~~~~~~~
Released: 2013-01-16

Backends:
 - aptcc: Fix a remaining lock that was being left on the archive directory (Daniel Nicoletti)
 - aptcc: Fix bug that caused the resolver wanted to remove some random packages (Daniel Nicoletti)
 - aptcc: Fix bug that was marking some packages as auto-installed and confused the resolver (Daniel Nicoletti)
 - aptcc: Fix build when using AM_CPPFLAGS (Alban Browaeys)
 - aptcc: Fix crash caused by trying to Close the AptCacheFile that wasn't opened (Daniel Nicoletti)
 - aptcc: Fix trusted packages not being emitted when an untrusted package was available (Daniel Nicoletti)
 - aptcc: Make sure we init the config files so the Arch filter is properly set (Daniel Nicoletti)
 - aptcc: Make the refresh cache code the same of apt-get (Daniel Nicoletti)
 - aptcc: Since PackageKit doesn't emulate finished anymore we need to finish the package when installing (Daniel Nicoletti)
 - urpm: (fullname_to_package_id) fix missing ";" (tv)
 - urpm: (get_package_id) fix missing ";" (tv)
 - urpmi: fix alt text for bad status (tv)
 - urpmi: fix alt text for good status (tv)
 - urpmi: fix filtering free/non-free packages (tv)
 - urpmi: fix getting media of first non installed package (tv)
 - urpmi: _huge_ speed up when retrieving ID of an installed package (tv)
 - urpmi: tell from where pkg2medium() come (tv)
 - urpmi: update status (tv)
 - zypp: always solve dependencies with 'IgnoreAlreadyRecommended ON' (bnc#747751) (Michael Andres)
 - zypp: check for best architecture and version when looking for the 'newest' package (Michael Andres)
 - zypp: finish port of backend to 0.8 API (Stephan Kulow)
 - zypp: match the patch name to prevent an internal error (Gary Ching-Pang Lin)
 - zypp: return package list ordered witht respect to solver policies (Michael Andres)
 - zypp: TODO is old and outdated, removed (Stephan Kulow)

Bugfixes:
 - Do not ask for authentication when the transaction is being simulated (Richard Hughes)
 - Do not connect to NetworkManager in _init() (Richard Hughes)
 - Don't use the deprecated INCLUDES in Makefile.am (Richard Hughes)
 - If a simulated only-trusted transaction returns with need-untrusted then re-simulate with only-trusted=FALSE (Richard Hughes)
 - Remove the emulation of finishing last_package since it breaks when we are working with multiple packages at the same time (Daniel Nicoletti)
 - Return the correct type when the network state changed (Richard Hughes)
 - systemd-updates: Don't show debugging text when using PK_OFFLINE_UPDATE_TEST (Richard Hughes)
 - systemd-updates: Don't show 'Update process 99% complete' as it's not translated (Richard Hughes)
 - The GStreamer provide name is gstreamer1() not gstreamer1.0() (Richard Hughes)
 - Use /dev/tty or /dev/console where available rather than just using stdout (Richard Hughes)

Version 0.8.6
~~~~~~~~~~~~~
Released: 2012-11-26

Libraries:
 - glib: Add pk_package_sack_to_file() to save the sack to disk (Richard Hughes)
 - glib: Check for failure to copy files when making a service pack (Richard Hughes)
 - glib: Remove some unused code spotted by coverity (Richard Hughes)
 - qt: Move the libpackagekit-qt code to a separate project (Richard Hughes)

Backends:
 - aptcc: Fix valgrind warning about use of uninitialized var (Daniel Nicoletti)
 - urpmi: Add support Mageia too (& next Mdv Server) (Thierry Vignaud)
 - urpmi: Fix compilation without UPDATE_SYSTEM (Thierry Vignaud)
 - urpmi: Fix displaying inverted repo_list status (Thierry Vignaud)
 - urpmi: Fix filter_installed (Thierry Vignaud)
 - urpmi: Fix "pkcon repo-list" failing to parse (Thierry Vignaud)
 - urpmi: Port to the new PkTransactionFlags API (Thierry Vignaud)
 - urpmi: Use utf8:: functions instead of Encode (Thierry Vignaud)
 - yum: Don't crash when resolving groups (Richard Hughes)
 - yum: Don't rely on a blacklist for RequireRestart (Richard Hughes)
 - yum: Handle NoMoreMirrorsRepoError when using repo.getPackage() (Richard Hughes)
 - yum: Only emit the package list once when using WhatProvides() with multiple search terms (Richard Hughes)
 - yum: Use a the error NoPackagesToUpdate when there are no updates available (Richard Hughes)
 - zif: Don't try to cancel the backend if it's not running (Richard Hughes)
 - zif: Remove an unused variable spotted by coverity (Richard Hughes)

New Features:
 - Add a 'make coverity' command to the buildsystem (Richard Hughes)
 - cnf: Don't search for packages if backend is known to be too slow (Elad Alfassa)
 - Convert Python scripts to Python3 and make it possible to use Python3 (Matthias Klumpp)
 - Reinstate 'pkcon list-create' for the service pack functionality (Richard Hughes)

Bugfixes:
 - Always return the DBus error when input validation fails (Richard Hughes)
 - Check the return value of fcntl before spawning the helper (Richard Hughes)
 - cnf: Check for ctrl-d when the user selects a package to install (Richard Hughes)
 - cnf: Fall back to MaxSearchTime=5000 if the config file is missing (Elad Alfassa)
 - Correctly match the installed file to a package when checking shared libraries (Richard Hughes)
 - Correct the pkcon example in the pkgenpack man page (Richard Hughes)
 - Discard any user input over 64 chars when asking for a package number (Richard Hughes)
 - Do not abort the transaction if the plugin exits with success (Richard Hughes)
 - Do not divide by zero if all the time gradients are invalid (Richard Hughes)
 - Do not send the UpdatesChanged signal for only-download or simulate (Richard Hughes)
 - Do not try to run the job signal callback when it has been disconnected (Richard Hughes)
 - Do not use --force for 'pkcon refresh' it gets swallowed by the option parser (Richard Hughes)
 - Don't throw a cryptic warning when 'pkcon update' has no packages needing an update (Richard Hughes)
 - Don't try to cancel the backend if it's not running after thread setup (Richard Hughes)
 - Emit RequireRestart(system) in a PackageKit daemon plugin (Richard Hughes)
 - Fix a crash on 32bit when using DownloadSizeRemaining (Richard Hughes)
 - Perform the simulation of spawned transactions correctly (Richard Hughes)
 - Show a progressbar if the user presses [esc] during the system update to get to text mode (Richard Hughes)
 - Simplify check for polkit (Ryan Lortie)
 - Update website C sample for installing packages (Matthias Klumpp)

Version 0.8.5
~~~~~~~~~~~~~
Released: 2012-10-29

Notes:
 - This is probably the last release where packagekit-qt is bundled with
   the main daemon. Distros should package up the QT bindings before
   the next PackageKit release.

Libraries:
 - glib: Ensure remote error is stripped before showing it to the user (Richard Hughes)
 - qt: Add introspection properties (Daniel Nicoletti)
 - qt: Add invokable methods to retrieve the package id sections (Daniel Nicoletti)
 - qt: A few more changes so Daemon and Transaction flags can be accessed by QML (Daniel Nicoletti)
 - qt: Break ABI to make pk-qt more closer to what pk-glib is and allow for searchGroup() to work (Daniel Nicoletti)
 - qt: Simplied API (by greatly breaking it) so it can be safer in QML (Daniel Nicoletti)

Backends:
 - aptcc: Added workaround for the not-respecting-simulate bug (Matthias Klumpp)
 - dummy: Fix a critical warning when updating from the command line (Richard Hughes)
 - poldek: keep pkgdb open through the whole transaction (Marcin Banasiak)
 - poldek: port to the new API (Marcin Banasiak)
 - poldek: remove UpdateSystem method (Marcin Banasiak)
 - yum: Print the exception detail when a package failed to be downloaded (Richard Hughes)
 - zif: Fix a critical warning when enabling a repository (Richard Hughes)

Bugfixes:
 - Change the priority state changed timeout to 2 seconds (Richard Hughes)
 - cnf: Ignore InvalidInput errors from the daemon (Richard Hughes)
 - Correctly register remote transaction DBus errors (Richard Hughes)
 - offline-updates: Don't crash when writing the offline-update-competed file (Richard Hughes)
 - offline-updates: Only save packages that have been updated or installed (Richard Hughes)
 - pk-gtk-module: Argument pango_language_matches() must be canonical (Owen W. Taylor)
 - Use g_dbus_error_get_remote_error() rather than just looking at the prefix (Richard Hughes)

Version 0.8.4
~~~~~~~~~~~~~
Released: 2012-10-01

Notes:
 - Lots of nice bugfixes (mainly for the parallel-backend code), but
   also a few new features to play with.

Libraries:
 - packagekit-qt: Fix getTimeSinceAction (Daniel Nicoletti)

Backends:
 - aptcc: Disable parallelization for now (Matthias Klumpp)
 - dummy: Use a thread when doing the socket ping-pong test (Richard Hughes)
 - yum: Emit finished() if the lock is not available (Richard Hughes)
 - yum: Handle RepoError when downloading packages (Richard Hughes)
 - yum: Work around a yum API break for resolving (Richard Hughes)
 - zypp: Adjust PK_FILTER_ENUM_NOT_DEVELOPMENT (bnc#770028) (Michael Andres)
 - zypp: Construct PoolItem from sat::Solvable rather than doing a search (Michael Andres)
 - zypp: Don't retrieve raw package attributes but use zypp::ResObject (bnc#764677) (Michael Andres)
 - zypp: Don't waste time comparing zypp::Arch string representations (Michael Andres)
 - zypp: Fix missing dtor (Michael Andres)
 - zypp: No longer use the old and deprecated ZYppCommitResult members (bnc#769764) (Michael Andres)
 - zypp: No need to retrieve installed packages attributes from rpm database (Michael Andres)
 - zypp: Set CXXFLAGS and use --std=c++0x as libzypp does (bnc#769764) (Michael Andres)
 - zypp: Use pre-increment in for-loops to avoid temporaries (Michael Andres)

New Features:
 - cnf: Suggest a Linux binary if the Solaris name is used (Richard Hughes)
 - Remove support for the deprecated category search prefix (Richard Hughes)
 - Use pkttyagent to request user passwords if required (Matthias Klumpp)
 - When retrying a cancelled task wait before rescheduling it (Richard Hughes)
 - yum-plugin: Ask PackageKit to quit when yum is started (Elad Alfassa)

Bugfixes:
 - Allow plugins to restore transaction signals (Matthias Klumpp)
 - Allow the user to specify standard GNU help options (Richard Hughes)
 - cnf: Return with exit code 127 for a cancelled transaction (Richard Hughes)
 - Do not allow the client to overwrite files when downloading packages (Richard Hughes)
 - Do not fail with lock-required when a cancelled transaction (Richard Hughes)
 - Don't finish an adopted transaction prematurely (Jonathan Conder)
 - Don't leak pango languages (William Jon McCann)
 - Drop unneeded schema (Matthias Clasen)
 - Ensure we cancel background transactions for a interactive transaction (Richard Hughes)
 - Fix plugin interface transaction_start method (Matthias Klumpp)
 - Fix several return values in pkcon when there is an error (Richard Hughes)
 - Increase MaximumItemsToResolve default value to 1200 (Matthias Klumpp)
 - Make sure all plugin events are processed (Matthias Klumpp)
 - Preserve previously-set backend roles (Matthias Klumpp)
 - Remove backend/ includes dir and install missing Jobs header (Matthias Klumpp)
 - Remove PK_PLUGIN_PHASE_TRANSACTION_FINISHED_START as it's unused (Richard Hughes)
 - Remove the --nowait option in pkcon, it does not work with PkTask (Richard Hughes)
 - Run the transaction-run plugins before we start the transaction (Richard Hughes)
 - Wire up all signals for pk_plugin_transaction_run() (Richard Hughes)

Version 0.8.3
~~~~~~~~~~~~~
Released: 2012-08-06

Notes:
 - This is the first release that features the work done by Matthias to
   allow multiple transactions to run in parallel.
   This makes applications such as gnome-software and software-center
   run without having to wait for the global lock just to query.
 - The aptcc and zif backends are run in parallel by default, other
   backends still run each transaction one at a time.

Libraries:
 - glib: Save the transaction flags when removing packages (Richard Hughes)

Backends:
 - aptcc: Don't use pk_backend_set_simultaneous_mode as it is obsoleted by ItemProgress (Daniel Nicoletti)
 - aptcc: Implement pk_backend_reset_job() to keep the cache alive (Daniel Nicoletti)
 - dummy: Add fake-locks to test parallelization (Matthias Klumpp)
 - dummy: Fix cancellation when using threads (Richard Hughes)
 - dummy: Make InstallPackages() threaded (Matthias Klumpp)
 - dummy: Make RefreshCache() threaded (Matthias Klumpp)
 - dummy: Make Resolve() threaded (Richard Hughes)
 - dummy: Make search_details and search_names threaded (Matthias Klumpp)
 - dummy: Make sure we unlock the backend again on UpdatePackages() (Matthias Klumpp)
 - dummy: Make UpdatePackages() threaded and fix lock-issue (Matthias Klumpp)
 - yum: Don't return an obscure error if the rpmdb returns a result it can't later find (Richard Hughes)
 - yum: Fix a backtrace if we send the legacy percentage update (Richard Hughes)
 - yum: Fix a python backtrace when removing a package (Richard Hughes)
 - yum: Set the item percentage when installing the package (Richard Hughes)
 - yum: Use the correct API when using ItemProgress (Richard Hughes)

New Features:
 - Add handling for parallel transactions to PkTransactionList (Matthias Klumpp)
 - Add sanity checks for PkBackendJob to check if it is running or not (Matthias Klumpp)
 - Add self-tests for parallelization (Matthias Klumpp)
 - Allow backends to disable parallelization if they don't support it (Matthias Klumpp)
 - Always make some transaction roles exclusive (Matthias Klumpp)
 - Print the ItemProgress signals in pkmon when in verbose mode (Richard Hughes)

Bugfixes:
 - Add GStreamer 1.0 support to the PackageKit plugin (Richard Hughes)
 - Add WritePreparedUpdates config item for admins to turn off the systemd-updates feature (Richard Hughes)
 - Allow the authentication steps to be optionally skipped when in self-test mode (Matthias Klumpp)
 - Don't skip the reset action if a backend only implements _start() or _stop() (Richard Hughes)
 - Don't treat a dispatcher failure as an ignorable error (Richard Hughes)
 - Fix GIR annotations (and add PkBackendJob) (Matthias Klumpp)

Version 0.8.2
~~~~~~~~~~~~~
Released: 2012-07-16

Notes:
 - We broke backend API and libpackagekit-glib and libpackagekit-qt
   ABI. Again. This should hopefully be the last soname bump in the
   0.8.x series.
 - We split up PkBackend into PkBackend and PkBackendJob. It's a pretty
   huge internal change, but it'll allow us to turn on the parallel
   transactions stuff in the next couple of releases. Most backends
   need updating, although sed has done a lot of the heavy lifting.
 - The systemd-updates has had a lot of bugfixes and poilish and is now
   ready to be used by end users. There's even a test document now.
 - You can now write plugins that get run if the daemon is told to drop
   internal state as another package manager is running, e.g. YUM CLI.

Libraries:
 - glib: Don't update the transaction role to 'unknown' (Richard Hughes)
 - glib: Remove support for UpdateSystem() (Richard Hughes)
 - qt: Fix compilation on 32 bit (Rex Dieter)
 - qt: Fix infinite loop on Package operator== (Daniel Nicoletti)
 - qt: Fix TransactionFlags to receive bitwise values (Daniel Nicoletti)
 - qt: Remove support for UpdateSystem() (Richard Hughes, Daniel Nicoletti)
 - qt: Update Role enum to match the bitwise number of pk-enum.h (Daniel Nicoletti)

Backends:
 - alpm: Partial port to PkBackendJob [untested] (Richard Hughes)
 - aptcc: Don't freeze if apt-listchanges is installed (Matthias Klumpp)
 - aptcc: Don't use tempfile with fixed name for conffiles (Matthias Klumpp)
 - aptcc: Fix compilation without UPDATE_SYSTEM (Daniel Nicoletti)
 - aptcc: Port to PkBackendJob (Daniel Nicoletti)
 - aptcc: Remove two unused methods from AptCacheFile (Daniel Nicoletti)
 - apt: Partial port to PkBackendJob [untested] (Richard Hughes)
 - box: Partial port to PkBackendJob [untested] (Richard Hughes)
 - conary: Partial port to PkBackendJob [untested] (Richard Hughes)
 - dummy: Port to PkBackendJob (Richard Hughes)
 - dummy: Remove support for UpdateSystem() (Richard Hughes)
 - entropy: Partial port to PkBackendJob [untested] (Richard Hughes)
 - opkg: Partial port to PkBackendJob [untested] (Richard Hughes)
 - pisi: Partial port to PkBackendJob [untested] (Richard Hughes)
 - poldek: Partial port to PkBackendJob [untested] (Richard Hughes)
 - portage: Partial port to PkBackendJob [untested] (Richard Hughes)
 - ports: Partial port to PkBackendJob [untested] (Richard Hughes)
 - slapt: Partial port to PkBackendJob [untested] (Richard Hughes)
 - smart: Partial port to PkBackendJob [untested] (Richard Hughes)
 - test: Port to PkBackendJob (Richard Hughes)
 - test: Remove support for UpdateSystem() (Richard Hughes)
 - urpmi: Partial port to PkBackendJob [untested] (Richard Hughes)
 - yum: Add support for the only-download transaction flag (Richard Hughes)
 - yum: Disable async parallel downloading to prevent a hard to debug infinate loop (Richard Hughes)
 - yum: Emit ItemProgress() as the files are being installed by rpm (Richard Hughes)
 - yum: Fix a backtrace when updating packages (Richard Hughes)
 - yum: Pass all the transaction_flags to _runYumTransaction() (Richard Hughes)
 - yum: Port to PkBackendJob (Richard Hughes)
 - yum: Remove support for UpdateSystem() (Richard Hughes)
 - zif: Port to PkBackendJob (Richard Hughes)
 - zif: Remove support for UpdateSystem() (Richard Hughes)
 - zypp: Partial port to PkBackendJob [untested] (Richard Hughes)

New Features:
 - Abstract out a PkBackendJob object for parallel transactions (Richard Hughes)
 - Add a status parameter to Transaction::ItemProgress() (Richard Hughes)
 - Allow retrieving the PkBackendJob from a PkTransaction (Matthias Klumpp)
 - Inhibit shutdown when the package manager is locked (Richard Hughes)
 - Remove the backend UpdateSystem action (Richard Hughes)
 - Remove the Transaction.UpdateSystem() method (Richard Hughes)
 - Run any methods that implement pk_plugin_state_changed() when the daemon state changes (Richard Hughes)

Bugfixes:
 - Always process the finished signal at a priority lower than the other signals (Richard Hughes)
 - Always return signals to the daemon using idle (Richard Hughes)
 - Check for the finished signal being connected before running each backend method (Richard Hughes)
 - Do not use UpdateSystem() in pkcon (Richard Hughes)
 - Disable package-cache by default (Matthias Klumpp)
 - Do not run the plugins when using only-download (Richard Hughes)
 - Don't show a warning on refresh if /var/run/PackageKit/udev does not exist (Richard Hughes)
 - Fix a crash when emitting ItemProgress (Richard Hughes)
 - Fix a crash when updating a package that has ItemProgress (Richard Hughes)
 - Fix segfault in pkcon when user does ctrl-d at the package prompt (Richard Hughes)
 - Implement locked-changed in PkBackendJob (Matthias Klumpp)
 - Make each plugin skip simulate actions, if needed (Matthias Klumpp)
 - Move the prepared-update functionality into a plugin (Richard Hughes)
 - Never run any plugins for simulated actions (Richard Hughes)
 - Only simulate in pkcon if only-download is not set (Richard Hughes)
 - Reset the job vfuncs when resetting the job in a plugin (Richard Hughes)
 - Send a PropertyChanged signal when setting the role (Richard Hughes)
 - Set the exit code before running the plugin finished handlers (Richard Hughes)
 - systemd-updates: Add environment PK_OFFLINE_UPDATE_TEST=1 for testing funcitonality (Richard Hughes)
 - systemd-updates: If the upgrade tool exits with an error reboot the system (Richard Hughes)
 - systemd-updates: Remove the prepared-updates file if GetUpdates() returns no packages (Richard Hughes)
 - systemd-updates: Remove the prepared-updates file if the daemon state changes (Richard Hughes)
 - systemd-updates: Write package_ids into /var/lib/PackageKit/prepared-update (Richard Hughes)
 - We don't need to authenticate at all to just download packages (Richard Hughes)
 - When doing 'pkcon update' allow the user to specify filters but enforce NEWEST (Richard Hughes)
 - When sending ::Transaction(), send the role as a uint to match the DBus specification (Richard Hughes)

Version 0.8.1
~~~~~~~~~~~~~
Released: 2012-06-25

Notes:
 - We've broken a lot of API in this release. A LOT. If you're using the
   systemd D-Bus interface of PackageKit, then it's likely you'll have
   to spend a few minutes converting to the new interfaces.
   If you use the packagekit-glib or packagekit-qt bindings they'll
   be the odd change too, but nothing quite as drastic.
 - Both the client libraries broke ABI, so there's a soname bump.
 - Needless to say, it's probably not a good idea to push all this new
   and broken code into your super-stable paid-for-support distro.
 - If anyone has questions about porting, grab one of us developers on
   the PackageKit mailing list.

Libraries:
 - qt: Fix updatePackages() and Package() creating to keep store the summary (Daniel Nicoletti)
 - qt: Globaly opening the sqlite desktop db is also usefull (Daniel Nicoletti)
 - qt: Make the returned role match to our bitwise enum (Daniel Nicoletti)
 - qt: Split Package class in three and update API to match current (Daniel Nicoletti)
 - qt: Turns out global setHints is quite usefull (Daniel Nicoletti)
 - qt: update it to use QDBusObjectPath (Daniel Nicoletti)
 - qt: Update to the new API (Daniel Nicoletti)
 - qt: Use QStringList for mimetypes and uit for canAuthorize, also drop utils and bitfield classes (Daniel Nicoletti)
 - glib: Add a PkItemProgress helper object to remove the workaround in PkProgress (Richard Hughes)
 - glib: Make the 'update-vendor-urls' property have a proper char** type (Richard Hughes)
 - glib: Make the updates and obsoletes items in Transaction::UpdateDetail actual arrays (Richard Hughes)
 - glib: Make the URL items in Transaction::UpdateDetail actual arrays (Richard Hughes)

Backends:
 - alpm: Do not return a value from the thread functions (Richard Hughes)
 - aptcc: Add suport for PREPARE flag (Daniel Nicoletti)
 - aptcc: Add support to DownloadSizeRemaining (Daniel Nicoletti)
 - aptcc: Do not return a value from the thread functions (Richard Hughes)
 - aptcc: do the porting to the flags bitfield (Daniel Nicoletti)
 - aptcc: Ported to the new emitItemProgress() signal (Daniel Nicoletti)
 - apt: Disable the backend until support for simulate and only-download are added (Richard Hughes)
 - box: Disable the backend until support for simulate and only-download are added (Richard Hughes)
 - box: Do not return a value from the thread functions (Richard Hughes)
 - conary: Disable the backend until support for simulate and only-download are added (Richard Hughes)
 - dummy: Do not use the deprecated pk_backend_set_sub_percentage() (Richard Hughes)
 - dummy: don't emit an extra backend message, it breaks the self tests (Richard Hughes)
 - dummy: Only show action enums when simulating (Richard Hughes)
 - dummy: Port to the new PkTransactionFlags API (Richard Hughes)
 - entropy: Disable the backend until support for simulate and only-download are added (Richard Hughes)
 - opkg: Disable the backend until support for simulate and only-download are added (Richard Hughes)
 - opkg: Do not return a value from the thread functions (Richard Hughes)
 - pisi: Disable the backend until support for simulate and only-download are added (Richard Hughes)
 - poldek: Disable the backend until support for simulate and only-download are added (Richard Hughes)
 - poldek: Do not return a value from the thread functions (Richard Hughes)
 - portage: Disable the backend until support for simulate and only-download are added (Richard Hughes)
 - ports: Disable the backend until support for simulate and only-download are added (Richard Hughes)
 - slapt: Disable the backend until support for simulate and only-download are added (Richard Hughes)
 - smart: Fix crasher with the get-packages method (Anders F Bjorklund)
 - smart: port to 0.8.x (Anders F Bjorklund)
 - test: Convert to the modified thread helper API (Richard Hughes)
 - test: Do not return TRUE from the thread functions (Richard Hughes)
 - test: Port to the new PkTransactionFlags API (Richard Hughes)
 - urpmi: Disable the backend until support for simulate and only-download are added (Richard Hughes)
 - yum: Do not try to set the transaction sub-percentage anymore (Richard Hughes)
 - yum: Port to the new PkTransactionFlags API (Richard Hughes)
 - yum: Use job_start() and job_stop() to set the media repo options (Richard Hughes)
 - zif: add suport for PK_TRANSACTION_FLAG_ENUM_ONLY_DOWNLOAD (Richard Hughes)
 - zif: Add the custom ZifLock error domain and codes (Richard Hughes)
 - zif: call pk_backend_set_locked() when locked and show a message on the console (Richard Hughes)
 - zif: Convert to the modified thread helper API (Richard Hughes)
 - zif: Do not return TRUE from the thread functions (Richard Hughes)
 - zif: Do not use deprecated libzif API (Richard Hughes)
 - zif: Do not use the deprecated pk_backend_set_sub_percentage() (Richard Hughes)
 - zif: Only emit a Package() when the package_id hint is valid (Richard Hughes)
 - zif: Port to the new pk_backend_update_detail() API (Richard Hughes)
 - zif: Port to the new PkTransactionFlags API (Richard Hughes)
 - zif: Raise the required version of libzif to remove a ton of #ifdef's (Richard Hughes)
 - zif: Use job_start() and job_stop() to set the media repo options (Richard Hughes)
 - zif: Use the default root set in Zif.conf (Richard Hughes)
 - zypp: Disable the backend until support for simulate and only-download are added (Richard Hughes)
 - zypp: Do not return a value from the thread functions (Richard Hughes)
 - zypp: Fix calculation of package size with recent versions of libzypp (Max Lin)

New Features:
 - Add a dummy GTK+2 module to avoid a warning when starting GTK+2 applications (Richard Hughes)
 - Add an optional binary to update the system when offline (Richard Hughes)
 - Add an optional pkexec binary to create the system-update symlink (Richard Hughes)
 - Add a --only-download option to pkcon for testing (Richard Hughes)
 - Added Transaction property DownloadSizeRemaining, so backends can tell how much download is left to do (Daniel Nicoletti)
 - Add logind support which is enabled by default (Richard Hughes)
 - Add method to check if an exclusive transaction is running (Matthias Klumpp)
 - Add pkexec executable pk-clear-offline-update to be able to clear the offline-update message (Richard Hughes)
 - Allow backends to declare when they've locked the database (Matthias Klumpp)
 - Handle LOCK_REQUIRED signal in transactions & allow transaction reset (Matthias Klumpp)

Notable API Breaks:
 - Add a PkBitfield of the transaction_flags for Transacton.RemovePackages to allow simulate (Richard Hughes)
 - Add a PK_TRANSACTION_FLAG_ENUM_ONLY_DOWNLOAD option for all transactions (Richard Hughes)
 - Allow a user_data parameter to be passed to the backend thread functions (Richard Hughes)
 - Convert the Daemon.MimeTypes property into an array (Richard Hughes)
 - Do not return a boolean from the backend thread functions (Richard Hughes)
 - Make the result parameter of CanAuthorize an enumerated value (Richard Hughes)
 - Make the transaction ID in Transaction::Transaction() a DBus object path, not a string (Richard Hughes)
 - Make Transaction::Files return an array of strings (Richard Hughes)
 - Make transactions in Daemon::GetTransactionList() a DBus object path array, not a string array (Richard Hughes)
 - Remove Daemon.SetRoot(), nothing uses it (Richard Hughes)
 - Remove Message(UntrustedPackage) as it's no longer used and deprecated (Richard Hughes)
 - Remove support for the deprecated Transaction.Subpercentage property (Richard Hughes)
 - Remove support for the table-of-vfuncs backend compatibility mode (Richard Hughes)
 - Remove the only_trusted flag and Simulate* methods in favour of using transaction flags (Richard Hughes)
 - Remove the Transaction.Rollback method, nothing uses it (Richard Hughes)
 - Rename GetTid() to CreateTransaction() and make it return an object path (Richard Hughes)
 - Use an enumerated value for the base.NetworkState property (Richard Hughes)
 - Use a PkBitfield for the base.Filters property (Richard Hughes)
 - Use a PkBitfield for the base.Groups property (Richard Hughes)
 - Use a PkBitfield for the base.Roles property (Richard Hughes)
 - Use a uint64 bitfield for the filter argument in methods (Richard Hughes)
 - Use enumerated values for the code field in ::ErrorCode() (Richard Hughes)
 - Use enumerated values for the exit field in ::Finished() (Richard Hughes)
 - Use enumerated values for the group field in ::Details() (Richard Hughes)
 - Use enumerated values for the info field in ::Package() (Richard Hughes)
 - Use enumerated values for the media-code field in ::MediaChangeRequired() (Richard Hughes)
 - Use enumerated values for the restart field in ::RequireRestart() (Richard Hughes)
 - Use enumerated values for the restart field in ::UpdateDetail() (Richard Hughes)
 - Use enumerated values for the role field in ::Transaction() (Richard Hughes)
 - Use enumerated values for the sig_type argument in ::InstallSignature() (Richard Hughes)
 - Use enumerated values for the state field in ::UpdateDetail() (Richard Hughes)
 - Use enumerated values for the Transaction.Role property (Richard Hughes)
 - Use enumerated values for the Transaction.Status property (Richard Hughes)
 - Use enumerated values for the type argument in ::WhatProvides() (Richard Hughes)
 - Use enumerated values for the type field in ::Message() (Richard Hughes)
 - Use enumerated values for the type field in ::RepoSignatureRequired() (Richard Hughes)
 - Use enumerated values for the upgrade_kind argument in Transaction.UpgradeSystem() (Richard Hughes)

Bugfixes:
 - Add the pkg to the PkPackageSack hash when using pk_package_sack_add_package_by_id() (Richard Hughes)
 - Allow using package-cache and cached list independently (Matthias Klumpp)
 - Always call the backend vfuncs that call into the daemon in the main thread (Richard Hughes)
 - cache-plugin: Add functionality of the update-package list plugin & remove it (Matthias Klumpp)
 - Change the role parameter of GetTimeSinceAction() to an enumerated value (Richard Hughes)
 - Convert the python spawned backend helper to PkTransactionFlags (Richard Hughes)
 - Convert various backend signals to vfunc (Matthias Klumpp)
 - Do not set the name and load the backend in two seporate steps (Richard Hughes)
 - Drop the unused polkit-backend-1 check from configure as it's gone upstream (Richard Hughes)
 - Fix a crash where NetworkManager is restarted whilst packagekitd is running (Richard Hughes)
 - Fix undefined reference to 'g_bus_get_sync' adding GIO library to linker (Alejandro Leiva)
 - Implement get_active_transactions to get all running transactions (Matthias Klumpp)
 - Make PkBackend a non-singleton and load new instances when required (Richard Hughes)
 - Pause the plymouth progress when applying offline updates (Richard Hughes)
 - plugin-cache: Limit package cache to GUI packages only (Matthias Klumpp)
 - plugin-cache: Only use on setting to enable/disable plugin (Matthias Klumpp)
 - Restore the backend signals to a known state in case a plugin misbehaves (Richard Hughes)

Version 0.7.4
~~~~~~~~~~~~~
Released: 2012-04-24

Libraries:
 - packagekit-glib2: Add GType's for packagekit-glib2 enumerations (Stef Walter)
 - packagekit-qt2: Add simulateRepairSystem and repairSystem(bool) to the Transaction API (Daniel Nicoletti)
 - python: Speed up get_package_list (Tomáš Trnka)

Backends:
 - apt: apt.cache.Cache() now reuses the dpkg of the chroot (Sebastian Heinlein)
 - apt: Fix modalias search on non-multi-arch systems (Sebastian Heinlein)
 - apt: Replace use of depracted python-apt 0.7.x API (Sebastian Heinlein)
 - aptcc: Add a new class to show cache opening progress (Daniel Nicoletti)
 - aptcc: Add AptCacheFile to handle all pkg cache openings (Daniel Nicoletti)
 - aptcc: Add SimulateRepairSystem and RepairSystem methods (Daniel Nicoletti)
 - aptcc: Avoid crashing when error messages containing invalid utf8 is sent (Daniel Nicoletti)
 - aptcc: Change the way we mark auto-installed packages (Daniel Nicoletti)
 - aptcc: Correctly emit if a repo is enabled (Matthias Klumpp)
 - aptcc: Create a PkgList class to provide convience methods (Daniel Nicoletti)
 - aptcc: Don't emit error if repo is empty (Matthias Klumpp)
 - aptcc: Don't emit untrusted packages when we are not simulating (Daniel Nicoletti)
 - aptcc: Emit newly-installed local package information (Matthias Klumpp)
 - aptcc: Emit packages that are untrusted with the PK_INFO_ENUM_UNTRUSTED enum (Daniel Nicoletti)
 - aptcc: Emit UnfinishedTransaction when we were not able to fix the cache (Daniel Nicoletti)
 - aptcc: Fix a multiarch bug that failed to resolve packages (Daniel Nicoletti)
 - aptcc: Fix crash when a package for an invalid version (Daniel Nicoletti)
 - aptcc: Fix INSTALLED filter (Daniel Nicoletti)
 - aptcc: Fix resolving of gdebi packages when they have :arch field (Daniel Nicoletti)
 - aptcc: Fix SUPPORTED check and component-finding code (Matthias Klumpp)
 - aptcc: Implement basic support for InstallFiles() (Matthias Klumpp)
 - aptcc: Implement SUPPORTED support (Matthias Klumpp)
 - aptcc: Improve classes readability, and fix a crash caused by an invalid package (Daniel Nicoletti)
 - aptcc: Improve the autoremove code (Daniel Nicoletti)
 - aptcc: Make sure BuildPolicy is called when getting the dep cache (Daniel Nicoletti)
 - aptcc: Make sure we discard errors when closing the cache (Daniel Nicoletti)
 - aptcc: Mark dependencies of a file-installation as automatic (Matthias Klumpp)
 - aptcc: Move cache related functions to pkgCacheFile subclass (Daniel Nicoletti)
 - aptcc: Move ShowBroken to AptCacheFile, and added CheckDeps from apt-get (Daniel Nicoletti)
 - aptcc: Refactored to use AptCacheFile (Daniel Nicoletti)
 - aptcc: Reident the code and re-enforce KDElibs coding style (Daniel Nicoletti)
 - aptcc: Remove a code duplication and emit proper RestartRequired signal (Daniel Nicoletti)
 - aptcc: Reorganise parts of AptCC to make the code more readable (Matthias Klumpp)
 - aptcc: Separate the try install/remove functions (Daniel Nicoletti)
 - aptcc: Simplify code for checking trusted packages (Matthias Klumpp)
 - aptcc: Some more stuff required for installFiles() (Matthias Klumpp)
 - aptcc: Update license headers & fix some more indentation and typos (Matthias Klumpp)
 - aptcc: use const_iterators to avoid mistakes (Daniel Nicoletti)
 - aptcc: Use _exit() to quit the child process as synaptic does (Daniel Nicoletti)
 - aptcc: We are not apt-get so remove "APT::Get::*" confs (Daniel Nicoletti)
 - aptcc: When on multiarch some packages that should have the :arch appended to the installed list files (Daniel Nicoletti)
 - entropy: Add support to ConfigurationUpdates (Fabio Erculiani)
 - portage: Port code to new Layman API and fix usage with newer Portage API (Fabio Erculiani)
 - yum: Always set GPG checking members if present (Nils Philippsen)
 - yum: Convert all instances of Message(untrusted-package) to Package(untrusted) (Richard Hughes)
 - zif: Do not use Message(untrusted-package) (Richard Hughes)
 - zif: Fix segfault of the daemon when a program does Resolve with no arguments (Richard Hughes)
 - zypp: Build pool before resolving (Vincent Untz)
 - zypp: Do not set a PACKAGE_NOT_FOUND error when resolving packages (Vincent Untz)

New Features:
 - Deprecate Message(untrusted-package) from the API (Richard Hughes)
 - Install pk-task-sync.h as part of the public API (Stef Walter)
 - Add full integration so that UI can know when to repair the system (Daniel Nicoletti)

Bugfixes:
 - Add some documentation about the auto-untrusted logic (Richard Hughes)
 - Add some documentation for the new RepairSystem transaction interaction (Richard Hughes)
 - Do not allow an empty resolve call to be passed down to the backends (Richard Hughes)
 - Do not include the website in the tarball (Richard Hughes)
 - Drop --print-reply from dbus-send command used on suspend/resume (Adam Williamson)

Version 0.7.3
~~~~~~~~~~~~~
Released: 2012-03-01

Notes:
 - Lots of stability and crasher fixes which means updating to this
   release is a really good idea if you're already got 0.7.x installed.

Libraries:
 - glib: Don't segfault the client if there are no cached properties (Richard Hughes)
 - glib: Fix a critical warning in gnome-settings-daemon when setting the proxy (Richard Hughes)
 - glib: Fix transfer annotation of pk_results_get_package_sack() (Vincent Untz)
 - glib: Fix transfer annotations for GPtrArray returns (Martin Pitt)
 - glib: Do not send progress updates for non-verb packages (Richard Hughes)

Backends:
 - apt: Add support for plugins, call them for what-provides (Martin Pitt)
 - apt: Add test case for what-provides CODEC (Martin Pitt)
 - apt: Add test cases for what-provides ANY and unsupported types (Martin Pitt)
 - apt: Add test for what-provides MODALIAS (Martin Pitt)
 - apt: Do not fail on missing /var/lib/PackageKit/mime-map.gdbm (Martin Pitt)
 - apt: Fix error code for what-provides CODEC (Martin Pitt)
 - apt: Implement support for what-provides ANY (Martin Pitt)
 - apt: Implement support for what-provides MODALIAS (Martin Pitt)
 - apt: what_provides() search argument is a list, not a string (Martin Pitt)
 - aptcc: Disable InstallFiles() again (Matthias Klumpp)
 - aptcc: Don't hang on long transactions (Matthias Klumpp)
 - aptcc: Fix crash when simulating local package install (Matthias Klumpp)
 - zif: Autoremove deps if 'autoremove' is set (Richard Hughes)
 - zif: Do not pretty-print a package when it's not found (Richard Hughes)
 - zif: Ensure the files are sorted by name before returning them to the daemon (Richard Hughes)

New Features:
 - Add LANGUAGE_SUPPORT what-provides type (Martin Pitt)

Bugfixes:
 - Document CODEC what-provides type (Martin Pitt)
 - Don't crash when the system bus isn't available, just abort with an error (Richard Hughes)
 - Fix a critical warning when starting gnome-settings-daemon (Matthias Clasen)
 - Imply the install trusted polkit auth when we get the remove auth (Richard Hughes)
 - Imply the install trusted polkit auth when we get the untrusted auth (Richard Hughes)
 - Port the session example code to GDBus (Richard Hughes)
 - web: Add a note to the website about the session helper API (Richard Hughes)
 - web: Rename KPackageKit to Apper (Matthias Klumpp)

Version 0.7.2
~~~~~~~~~~~~~
Released: 2011-01-17

Notes:
 - Lots of new features, bugfixes and bugs, so please test this release
   carefully if you're uploading into a stable distribution. If you want
   stability, you're probably better off with a release from the
   0.6.x series until all the new stuff has settled down.

Libraries:
 - glib: Convert libpackagekit-glib2 from dbus-glib to GDBus (Richard Hughes)
 - glib: Skip empty catalog entries (Christian Persch)
 - qt: automatically rebuild moc files with different moc version (Nils Philippsen)

Backends:
 - apt: Adapt progress reporting to the latest PackageKit and python-apt API (Sebastian Heinlein)
 - apt: Add a test suite covering already most of the methods (Sebastian Heinlein)
 - apt: Add support for piping the debconf communication to the client (Sebastian Heinlein)
 - apt: Add support for repair-system and simulate-repair-system including correpsonding test cases (Sebastian Heinlein)
 - apt: Add tests if security updates and backports are detected correctly (Sebastian Heinlein)
 - apt: Disable apt-listbugs frontend (Sebastian Heinlein)
 - apt: Do not try to install not available files (TODO.apt) (Sebastian Heinlein)
 - apt: Don't open the cache on backend initialization to speed up processing (Sebastian Heinlein)
 - apt: Don't use optparse to safe some startup time. Instead use a separate profiler script (Sebastian Heinlein)
 - apt: Fix a wrong str/unicode replacement by the Py3 preparation (Sebastian Heinlein)
 - apt: Fix filter tests since we have a new package in the test repo (Sebastian Heinlein)
 - apt: Fix media change failure and a test case (Sebastian Heinlein)
 - apt: Fix repo details signals (Sebastian Heinlein)
 - apt: Improve detection and killing of hanging maintainer scripts (Sebastian Heinlein)
 - apt: Improve forked child setup (Sebastian Heinlein)
 - apt: improve progress range handling (Sebastian Heinlein)
 - apt: More python3 related clean ups (Sebastian Heinlein)
 - apt: Port to latest PackageKit API (Sebastian Heinlein)
 - apt: Raise exceptions in the backend code instead of calling PackageKitBaseBackend.error directly (Sebastian Heinlein)
 - apt: remove encoding mangling - should be handled by packagekit.backend already (Sebastian Heinlein)
 - apt: remove oboslete files (Sebastian Heinlein)
 - apt: Respect the ROOT environment variable (Sebastian Heinlein)
 - apt: Start with updating the backend on several places (Sebastian Heinlein)
 - apt: Too many API and style fixes to count (Sebastian Heinlein)
 - apt: Use the apt.progress.base.InstallProgress abilities to handle dpkg progress (Sebastian Heinlein)
 - apt: use the dpkg bin and options from the apt configuration (Sebastian Heinlein)
 - apt: Use the ROOT env to set the backend to the chroot and the correct path to the test repo (Sebastian Heinlein)
 - aptcc: Add Multi-Arch support (Daniel Nicoletti)
 - aptcc: Add native filter so we do not show i386 packages if we are on amd64 for example (Daniel Nicoletti)
 - aptcc: Fix crash on get-categories, backend does not support that (Matthias Klumpp)
 - aptcc: forgot to add DebFile class (Daniel Nicoletti)
 - aptcc: Initial commit to support InstallPackageFiles (Daniel Nicoletti)
 - aptcc: Only return GetDistroUpgrades and installFiles if the helpers are available (Daniel Nicoletti)
 - aptcc: Properly read GDebi install/remove line (Daniel Nicoletti)
 - aptcc: Use gdebi to resolve local file installation, Fix conffile handlying by interpreting the exit status properly (Daniel Nicoletti)
 - apt(cc): Use gdbus in the post-update hook call to StateHasChanged (Sebastian Heinlein)
 - dummy: Add dummy RepairSystem methods (Richard Hughes)
 - urpmi: Add enums for unimplemented features as commented out code (Per Øyvind Karlsen)
 - urpmi: Add support for provide type (Per Øyvind Karlsen)
 - urpmi: Do matching against fullname (Per Øyvind Karlsen)
 - urpmi: First shot at what-provides (Per Øyvind Karlsen)
 - urpmi: Fix 'Using a hash as a reference is deprecated' warning (Per Øyvind Karlsen)
 - urpmi: Implement a 'Supported' filter (Per Øyvind Karlsen)
 - urpmi: Implement 'Cancel' feature (Per Øyvind Karlsen)
 - urpmi: Implement 'Free' filter (Per Øyvind Karlsen)
 - urpmi: Implement get_mime_types (Per Øyvind Karlsen)
 - urpmi: Implement get_roles (Per Øyvind Karlsen)
 - urpmi: Implement is_package_installed() which uses URPM:is_package_installed() (Per Øyvind Karlsen)
 - urpmi: import urpm::msg for N() (Per Øyvind Karlsen)
 - urpmi: Make find_installed_version use EVRD (Per Øyvind Karlsen)
 - urpmi: Put 'supported' filter to use (Per Øyvind Karlsen)
 - urpmi: Traverse database by name rather than nvra (Per Øyvind Karlsen)
 - urpmi: Update to use find_installed_fullname (Per Øyvind Karlsen)
 - urpmi: Use urpm2deium from tools & check if undefined or not (Per Øyvind Karlsen)
 - yum: Use current API for installing untrusted packages (Nils Philippsen)
 - yum: Consistently use same logic to determine GPG checking (Nils Philippsen)
 - yum: Don't request authorization for trusted packages (#771746) (Nils Philippsen)
 - zif: Use the new transaction_reset hook to clear the backend state (Richard Hughes)
 - zypp: Retrieve url for packages instead of returning "TODO" (Duncan Mac-Vicar P)

New Features:
 - Add a new repair-system policy and use it by the corresponding RepairSystem method (Sebastian Heinlein)
 - Add a transaction_reset backend hook (Richard Hughes)
 - Add new roles SimulateRepairSystem and RepairSystem (Sebastian Heinlein)
 - Add pk_*_enum_to_localised_text to pk-enum.h and export via GIR (Michael Vogt)
 - Add possibility to connect/disconnect backend signals (Matthias Klumpp)
 - Add PropertiesChanged signals to the main and transaction interfaces (Richard Hughes)
 - Allow the Plasma version to be specified for PK_PROVIDES_ENUM_PLASMA_SERVICE (Kevin Kofler)

Bugfixes:
 - browser-plugin: Make it compile with newest xulrunner (Matthias Klumpp)
 - Fix a critical warning in the client tools when a simulation is cancelled (Richard Hughes)
 - Fix builddir != srcdir issue (Ryan Lortie)
 - Fix item-percentage call in the spawned backend (Sebastian Heinlein)
 - gtk-plugin: Fix name of GTK plugin schema file (Matthias Klumpp)
 - Make PkProc part of the daemon again (Matthias Klumpp)
 - Remove deprecated g_thread_init() on GLib < 2.31 (Per Øyvind Karlsen)
 - Set the frontend socket as environment variable in the spawned backend (Sebastian Heinlein)
 - Update the website matrix to include the new (Simulate)RepairSystem roles (Sebastian Heinlein)

Version 0.7.1
~~~~~~~~~~~~~
Released: 2011-11-10

Libraries:
 - qt2: Remove old Find* macro (Matthias Klumpp)
 - qt2: Really do not distribute moc files (Vincent Untz)
 - qt: Drop packagekit-qt1 which is obsolete in favor of packagekit-qt2 (Daniel Nicoletti)

Backends:
 - aptcc: Don't wrap sys.stdout with codecs.getwriter(...) (Nils Philippsen)
 - dummy: Make sure we don't ask for eula or repo signatures while simulating (Daniel Nicoletti)
 - entropy: Add forward compatibility with upcoming API changes (Fabio Erculiani)
 - entropy: Drop PK_BACKEND_OPTIONS macro usage (Fabio Erculiani)
 - entropy: Update entropy library path (Fabio Erculiani)
 - portage: Drop PK_BACKEND_OPTIONS macro usage (Fabio Erculiani)
 - ports: Remove the vfuncs table (Anders F Bjorklund)
 - python: Add initial Python3 compatibility (keeping Python2.7 support) (Fabio Erculiani)
 - python: Implement and use utf8 stream writer for stdout, stderr (Nils Philippsen)
 - python: Require at least Python 2.7 (in configure.ac) (Fabio Erculiani)
 - python: Update exception code syntax, make it work with both Python2 and Python3 (Fabio Erculiani)
 - python: Use print() as function (Fabio Erculiani)
 - slapt: Implement the simulate methods (Anders F Bjorklund)
 - slapt: Remove the vfuncs table (Anders F Bjorklund)
 - smart: Don't wrap sys.stdout with codecs.getwriter(...) (Nils Philippsen)
 - smart: Implement the simulate methods (Anders F Bjorklund)
 - smart: Make sure that data=installed is honored (Anders F Bjorklund)
 - smart: Remove the vfuncs table (Anders F Bjorklund)
 - yum: Add ourselves to YumBase.run_with_package_names (Nils Philippsen)
 - yum: Cope with missing YumBase.run_with_package_names (Nils Philippsen)
 - yum: Don't let yum.misc.setup_locale() override stdout codec (Nils Philippsen)
 - zif: Add an unhandled ZifStateAction mapping (Richard Hughes)
 - zif: Add support for the latest status and transaction enum values (Richard Hughes)
 - zif: Always show the update metadata if available by using the correct repo (Richard Hughes)
 - zif: Do not always ask for untrusted authentication for trusted repos (Richard Hughes)
 - zif: Do not report packages as installable if they are already installed (Richard Hughes)
 - zif: Don't call zif_init() in newer versions of the library (Richard Hughes)
 - zif: Don't try to map error domains that are no longer exported (Richard Hughes)
 - zif: Don't use zif_package_get_package_id() (Richard Hughes)
 - zif: Enable globbing for Resolve() (Richard Hughes)
 - zif: Ensure the downloading status is set correctly (Richard Hughes)
 - zif: Fix a critical warning when using WhatProvides (Richard Hughes)
 - zif: Include zif-private.h for very new versions of zif (Richard Hughes)
 - zif: Prefer native packages when resolving user input (Richard Hughes)
 - zif: Refresh the cache rather than just cleaning it for RefreshCache (Richard Hughes)
 - zif: Save the effective user ID and command line (Richard Hughes)
 - zif: Use zif_store_array_resolve_full() when possible (Richard Hughes)
 - zif: Use zif_transaction_commit_full() to be able to install untrusted packages (Richard Hughes)
 - zif: When the transaction has no thing to do, use the correct PK error code enum (Richard Hughes)
 - zypp: Dont call build pool inside the loop (Duncan Mac-Vicar P)
 - zypp: Only load repositories once (Duncan Mac-Vicar P)
 - zypp: Refactor the private static data into one structure (Duncan Mac-Vicar P)

New Features:
 - Add command line option to keep environment (Nils Philippsen)
 - Add Introspection support for PK-Plugins (Matthias Klumpp)
 - Add possibility for backends/plugins to skip transactions (Matthias Klumpp)
 - Add 'uid' and 'cmdline' properties to PkBackend (Richard Hughes)
 - Use the new g_thread_new() for new versions of GLib (Richard Hughes)

Bugfixes:
 - Check if a transaction should be skipped after it has started too (Matthias Klumpp)
 - Don't use the deprecated g_thread_supported() in the dameon code (Richard Hughes)
 - Finalize PackageKitPlugin GIR file (Matthias Klumpp)
 - Find uninstalled PackageKitGlib-1.0.gir when building (Nils Philippsen)
 - Fix the role of the EULA transaction (Daniel Nicoletti)
 - Make PK compile on GNU Hurd (Matthias Klumpp)
 - Move the gtk-module extra files to the PK tarball (Richard Hughes)
 - Offset the cache age by 30 minutes (Richard Hughes)
 - plugin: Add a few GIR annotations (Matthias Klumpp)
 - Remove the implemented checks for the simulate methods (Richard Hughes)
 - Require exactly 'y<enter>' or 'yes<enter>' before running a transaction (Richard Hughes)
 - Use the newest filter when resolving for new packages to install (Richard Hughes)
 - website: Fix broken link to gdb docs (Milan Bouchet-Valat)
 - website: Improve links to bug trackers (Milan Bouchet-Valat)

Version 0.7.0
~~~~~~~~~~~~~
Released: 2011-09-05

Notes:
 - This is the first release of the unstable 0.7.x series.
 - This code removes a lot of deprecated code and compatibility shims
   compared to the previous branch.
 - Highlights of this release is the new transaction plugin interface
   that allows external projects to add modules for interfacing with
   PackageKit. This allows projects such as Listaller to interface with
   PackageKit to install self contained software blobs.
   See http://listaller.tenstral.net/ for more information.
 - The daemon code is now using GDBus rather than dbus-glib, but the
   libpackagekit-glib library is still using the latter. It'll be
   converted hopefully in time for 0.7.1.
 - It's probably not a good idea to use releases from this branch for
   stable distros or enterprise products!

Libraries:
 - glib: Free the PkProgress' package (Garrett Regier)
 - glib: Remove the foo_from_text() compatibility defines (Richard Hughes)
 - python: Remove the native python library (Richard Hughes)
 - qt2: Use cmake package config instead of Find* module (Matthias Klumpp)
 - qt: Do not dist the moc files (Richard Hughes)

Backends:
 - aptcc: Fix crash when long description blow char buffer (Daniel Nicoletti)
 - aptcc: Fix the size by emitting installed and download size (Daniel Nicoletti)
 - aptcc: Implement provides-library (Matthias Klumpp)
 - apt: Remove the python apt backend (Richard Hughes)
 - dummy: Implement SimulateUpdatePackages and SimulateRemovePackages (Richard Hughes)
 - entropy: properly account package size when "extra" downloads are available (Fabio Erculiani)
 - razor: Remove the razor backend, upstream razor is dead (Richard Hughes)
 - yum: Add a document detailing the yum API we're using (Richard Hughes)
 - yum: Emit Package(Untrusted) for each package that is untrusted in the transaction (Richard Hughes)
 - yum: Ignore missing obsoleted updates rather than failing the update (Richard Hughes)
 - yum: Manually convert the results of GetDetails to unicode. Fixes rh#719916 (Richard Hughes)
 - yum: Parse the new style .discinfo files for F15 (Chris Lumens)
 - zif: Emit Message(UntrustedPackage) to sometimes skip the trusted authentication (Richard Hughes)
 - zif: Emit Package(Untrusted) for each package that is untrusted in the transaction (Richard Hughes)
 - zif: Fix a fatal error when doing 'pkcon repo-list --filter=~devel' (Richard Hughes)
 - zif: Use the shared version for newest filtering (Richard Hughes)
 - zypp: do not install locked (taboo) patches (Ladislav Slezak)
 - zypp: Do not rebuild the pool on every call causing slowness (bnc#679650) (Duncan Mac-Vicar P)
 - zypp: Just use the iterator instead of so many temps (Duncan Mac-Vicar P)

New Features:
 - Add an 'auto' string for the --with-default-backend= configure option (Richard Hughes)
 - Add an example plugin that saves private state (Richard Hughes)
 - Add an example to contrib to show how to build an out-of-tree plugin (Richard Hughes)
 - Add an ItemProgress signal designed to eventually replace SubPercentage (Richard Hughes)
 - Add an untrusted section header when using console applications (Richard Hughes)
 - Add a PK_PROVIDES_ENUM_LIBRARY entry (Matthias Klumpp)
 - Add a "Python" type to PkProvidesEnum and document how the provided components should be named (Matthias Klumpp)
 - Add a transaction plugin infrastructure to packagekitd (Richard Hughes)
 - Port the browser-plugin from dbus-glib to GDBus (Richard Hughes)
 - Convert the daemon to use GDBus rather than dbus-glib (Richard Hughes)
 - Do not do the compatibility method fallbacks anymore (Richard Hughes)
 - Don't ship all the valid licences as enums anymore (Richard Hughes)
 - Install a pkgconfig file so external projects can build plugins (Richard Hughes)
 - Move the check for libraries in use for security updates functionality to a plugin (Richard Hughes)
 - Move the checking for running processes before update to a plugin (Richard Hughes)
 - Move the clearing firmware functionality into a plugin (Richard Hughes)
 - Move the desktop database rescan functionality into a plugin (Richard Hughes)
 - Move the pre-transaction.d and post-transaction.d functionality into a plugin (Richard Hughes)
 - Move the update check for running processes into a plugin (Richard Hughes)
 - Move the updating of the package list into a plugin (Richard Hughes)
 - Raise the PolicyKit required version to 0.98 and drop the compat code (Richard Hughes)
 - Remove PkFileMonitor, we can now use GFileMonitor (Richard Hughes)
 - Remove the deprecated PK_BACKEND_OPTIONS (Richard Hughes)
 - Remove the GTK+2 pango module and only support GTK+3 (Richard Hughes)
 - Remove the HAL integration code (Richard Hughes)
 - Require a new version of automake, and make configure.in sane again (Richard Hughes)
 - Use g_bus_watch_name() and remove the homegrown EggDbusMonitor (Richard Hughes)

Bugfixes:
 - Actually use the value from /etc/login.defs (Richard Hughes)
 - Fix the browser-plugin build with GTK+ < 2.24 (Frederic Crozat)
 - Port the gstreamer-plugin from dbus-glib to GDBus (Richard Hughes)
 - gtk-module: Port from dbus-glib to GDBus (Richard Hughes)
 - Ignore local packages when calculating the simulate list (Richard Hughes)
 - Ignore untrusted packages when calculating the simulate list (Richard Hughes)
 - Make percentage, subpercentage and remaining proper GObject properties on the PkBackend object (Richard Hughes)
 - Make the lsof plugin code support distros such as Fedora with /lib64 (Richard Hughes)
 - pk-command-not-found: An ellipsis has three dots, not two (Adam Jackson)
 - Make lsof use the '-n' option to avoid looking up hostnames (Richard Hughes)
 - Remove cppunit check as packagekit-qt2 does not use it (Daniel Nicoletti)
 - Remove the duplicate 'The software is not from a trusted source' (Richard Hughes)
 - Use g_unix_signal_add_full() which has been renamed in  GLib (Denis Washington)

Version 0.6.16
~~~~~~~~~~~~~~
Released: 2011-07-04

Libraries:
 - glib: Added element-type annotations for each function returning a GPtrArray (Alex Eftimie)
 - glib: Ensure packages from the progress handler have the package_id assigned (Richard Hughes)

Backends:
 - aptcc: Better put last fix in pk_backend_initialize (Daniel Nicoletti)
 - aptcc: Fix bug that resolved packages were emited as installed when updates (Daniel Nicoletti)
 - aptcc: Fix getDetails to actually use the resolved version, deb#606135 (Daniel Nicoletti)
 - aptcc: Initial support to conffile handling (Daniel Nicoletti)
 - aptcc: Set env var to disable apt-listbugs closes deb#628835 (Daniel Nicoletti)
 - conary: Don't show redirected packages (Jesse Zhang)
 - conary: Simplify _resolve_list (Jesse Zhang)
 - yum: Emit RepoDetail when refreshing a repository (Richard Hughes)
 - yum: Fix CVE-2011-2515 which only affects the YUM backend (Richard Hughes)
 - zif: Fix a critical warning when getting details about a package (Richard Hughes)
 - zif: Implement UpdateSystem (Richard Hughes)

New Features:
 - Generate .tar.xz release tarballs (Richard Hughes)
 - Support looking up Plasma services (Kevin Kofler)

Bugfixes:
 - Do not hardcode G_DISABLE_DEPRECATED as it breaks with GTK+-2 and GLib (Richard Hughes)
 - Do not hardcode the UID_MIN as 500. Fixes rh#717110 (Richard Hughes)
 - Do not try to parse any arguments in command-not-found (Richard Hughes)
 - Ensure we save the updates cache for the pre-transaction checks (Richard Hughes)
 - Fix a build error in the browser plugin when using old versions of gdk (Richard Hughes)
 - Update the PackageKit matrix webpage to reflect current backends (Robert Xu)

Version 0.6.15
~~~~~~~~~~~~~~
Released: 2011-06-07

Libraries:
 - gir: Annotations for file arrays (Matthias Klumpp)
 - gir: Some more annotation updates (Matthias Klumpp)
 - packagekit-qt2: Remove package caching as we use const Packages now (Daniel Nicoletti)

Backends:
 - alpm: Fix package cache location (Jonathan Conder)
 - alpm: Improve backend messages (Jonathan Conder)
 - aptcc: Emit repos while refreshing cache, and speed up searchDetails a bit (Daniel Nicoletti)
 - aptcc: Fix the way we emit repos, now it emits the string more human readable (Daniel Nicoletti)
 - yum: Allow the 'any' WhatProvides kind to match already formatted provide strings (Richard Hughes)
 - yum: Fix a failure to get updates caused by using the rename of pre_process (Richard Hughes)
 - zypp: Fix deletion of package locks (bnc#690038) (Duncan Mac-Vicar P)
 - zypp: log to ZYpp's log the start of a PK backend function to ease debugging (Duncan Mac-Vicar P)

New Features:
 - Added PK_INFO_ENUM_UNTRUSTED so we can tell which packages are trusted (Daniel Nicoletti)
 - When refreshing cache backends should emit RepoDetail as frontends will be able to present extra details (Daniel Nicoletti)

Bugfixes:
 - Do not prevent updating when firefox is running, we don't have all the client UI ready yet (Richard Hughes)
 - Only include glib-unix.h if the GLib version is >= 2.29.4 (Richard Hughes)

Version 0.6.14
~~~~~~~~~~~~~~
Released: 2011-05-04

Notes:
 - Lots of nice bugfixes in this release, along with slight changes to
   the SetProxy() and DownloadPackages() D-Bus API.
   If you're using either packagekit-glib or packagekit-qt then there's
   no change required as the libraries have symbol fallbacks.
 - The packageKit-qt2 library has been committed by Daniel Nicoletti,
   which is eventually aiming to replace packagekit-qt.

Libraries:
 - glib: Add GIR annotations to make PK GIR usable (Matthias Klumpp)
 - glib: Add header name to GIR and set export package (Matthias Klumpp)
 - qt2: A crash was apparently a caching error on apper build dir (Daniel Nicoletti)
 - qt2: Add Eula class to avoid API breaks in case pk changes (Daniel Nicoletti)
 - qt2: Add Signature header and install Daemon header (Daniel Nicoletti)
 - qt2: Change the Transaction constructor to be more convinient (Daniel Nicoletti)
 - qt2: Fix Package class to not delete d, which fixes crashes weirdly (Daniel Nicoletti)
 - qt2: Include QSet in package.h so that Groups get defined (Daniel Nicoletti)
 - qt2: Updating enums and adding UpgradeSystem() method (Daniel Nicoletti)
 - qt: Add storeInCache parameter to downloadPackages to cover new API (Daniel Nicoletti)
 - qt: Fix typo in SearchGroups (Dimitar Popov)

Backends:
 - alpm: download packages to the system cache if no directory is specified (Jonathan Conder)
 - alpm: Port features from the pacman backend (Jonathan Conder)
 - alpm: update for libalpm 6 (Jonathan Conder)
 - aptcc: Fix configure.ac to avoid pk-qt linking against apt-pkg (Daniel Nicoletti)
 - conary: add a method to reset callback (Jesse Zhang)
 - conary: add exception handling around get_updateall_job (Jesse Zhang)
 - conary: bring back exception handling around build_update_job (Jesse Zhang)
 - conary: clear job cache at the right place (Jesse Zhang)
 - conary: clear the job cache when updating through non-sysmodel pathway. (Og B. Maciel)
 - conary: don't support UpdatePackages (Jesse Zhang)
 - conary: fix call of deleted method in conaryCallback (Jesse Zhang)
 - conary: fix exception processing of applyUpdateJob (Jesse Zhang)
 - conary: fix generating XMLCache for custom labels (Jesse Zhang)
 - conary: fix get-updates (Jesse Zhang)
 - conary: handle stale jobs for updateall (Og B. Maciel)
 - conary: implement get-updates for system model (Jesse Zhang)
 - conary: implement install/remove for system model (Jesse Zhang)
 - conary: make pylint happier (Jesse Zhang)
 - conary: move build_update_job to where it belongs (Jesse Zhang)
 - conary: move job caching methods to UpdateJobCache (Jesse Zhang)
 - conary: move more code to conarypk (Jesse Zhang)
 - conary: port away from PK_BACKEND_OPTIONS (Jesse Zhang)
 - conary: process packages update/erase in a single job (Jesse Zhang)
 - conary: really implement simulate* and don't rely on conary --test (Jesse Zhang)
 - conary: reduce code duplication between get_updates and update_system (Jesse Zhang)
 - conary: remove abundant imports (Jesse Zhang)
 - conary: remove broken GetDepends implementation (Jesse Zhang)
 - conary: remove class scope variable (Jesse Zhang)
 - conary: rename variables to better reflect the return type (Jesse Zhang)
 - conary: show update jobs correctly (Jesse Zhang)
 - entropy: drop entropy.tools deprecated functions usage (Fabio Erculiani)
 - entropy: make use of the new Entropy Web Services interfaces (Fabio Erculiani)
 - entropy: restore compatibility with newer releases (Fabio Erculiani)
 - poldek: port away from PK_BACKEND_OPTIONS (Marcin Banasiak)
 - yum: fix DownloadPackages to save to the system cache if there is no directory passed to it (Richard Hughes)
 - yum: implement _pkg_compare() and use get_package_list() (Richard Hughes)
 - zypp: check repo file before using it (Zhang Qiang)
 - zypp:consider only_trusted option while installing packages (Zhang Qiang)
 - zypp:fix memory leak in pk_backend_transaction_start (Zhang Qiang)
 - zypp: Patch::Content is returned by value. Fixes crash on get-updates (bnc#685831) (Duncan Mac-Vicar P)
 - zypp:reload RpmDB before removing packages (Zhang Qiang)
 - zypp: Report download speed (bnc#663069) (Duncan Mac-Vicar P)
 - zypp: reset packages status in repo while removing packages (Zhang Qiang)
 - zypp:Set locale info at the begin of transaction (Zhang Qiang)
 - zypp: support proxy_https,proxy_socks,no_proxy (Zhang Qiang)
 - zypp: use namespace once to remove the namespace noise. (Duncan Mac-Vicar P)
 - zypp: Use output parameters (references) for containers (Duncan Mac-Vicar P)

New Features:
 - Add a 'store_in_cache' attribute to the DownloadPackages method (Richard Hughes)
 - Automatically cancel running background transactions if a foreground transaction is committed (Richard Hughes)
 - Cancel any background transactions when we get SuggestDaemonQuit (Richard Hughes)
 - Introduce other attributes in the SetProxy() method (Richard Hughes)

Bugfixes:
 - docs: Set zypp backend can downloadPackages (Zhang Qiang)
 - browser-plugin: Remove deprecated symbols (Matthias Klumpp)
 - Fix precedence when assigning strings to a *GStrv (Jonny Lamb)
 - Create transaction db properly if it's not exist (Zhang Qiang)
 - docs: Fix path of packagekitd (Jesse Zhang)
 - docs: Update Feature Matrix for conary (Jesse Zhang)
 - docs: Updating the kpackagekit info and adding myself to authors (Daniel Nicoletti)
 - Do not abort in pk_catalog_init() if PackageKit is not available. Fixes rh#688280 (Richard Hughes)
 - Do not allow backends to output duplicate older packages when searching with newest (Richard Hughes)
 - Fix a crash where the error code was pointing to freed memory. Fixes rh#684464 (Richard Hughes)
 - Fix a typo in pk_transaction_db_get_proxy (Zhang Qiang)
 - Get more proxy info after the new proxy parameters was introduced (Zhang Qiang)
 - Honour ACLOCAL_FLAGS in Makefile.am. Fixes fd#35237 (Richard Hughes)
 - pkcon: add missing {} around if (Jesse Zhang)
 - pk-debuginfo-install: fix typo of using PK_FILTER (Zhang Qiang)
 - Remove pacman backend (Jonathan Conder)
 - Use the new threadsafe signal handling support in GLib (Richard Hughes)

Version 0.6.13
~~~~~~~~~~~~~~
Released: 2011-03-07

Libraries:
 - Allow pk_client_download_packages_async() to be called with no target directory (Richard Hughes)
 - Port away from PolkitBackendActionLookup to support new versions of PolicyKit (Richard Hughes)

Backends:
 - conary: fix get-updates (Jesse Zhang)
 - conary: make update-system faster (Jesse Zhang)
 - conary: not need to call _get_package_update before _do_package_update (Jesse Zhang)
 - entropy: add forward compatibility with newer Entropy (Fabio Erculiani)
 - entropy: do not switch UrlFetcher using a Client property (Fabio Erculiani)
 - entropy: update handled mime types (Fabio Erculiani)
 - slapt: update to glib2 types (Anders F Bjorklund)
 - slapt: update to new api (Anders F Bjorklund)
 - slapt: update to new slapt (Anders F Bjorklund)
 - slapt: use hash for catgroup (Anders F Bjorklund)
 - yum: Enable use of new callback mode on yum versions that support it (Panu Matilainen)
 - zif: fix compile with libzif upstream in zif_store_remote_set_enabled (Richard Hughes)
 - zypp: remove check online in refresh cache (Zhang Qiang)
 - zypp: uses the standard system update algorithm from ZYpp. Fixes bnc#637764 (Duncan Mac-Vicar P)

Bugfixes:
 - Add missing python(gio) requirement (Anders F Bjorklund)
 - Check for polkit_authority_get_sync symbol (Anders F Bjorklund)
 - Change the connman DBus name (Zhang Qiang)
 - Update for NetworkManager 0.9 snapshots (Dan Williams)

Version 0.6.12
~~~~~~~~~~~~~~
Released: 2011-02-01

Notes:
 - There is a new 'Speed' API addition optionally available for backends.
 - Multiple 'default' backends can be specified to allow fallbacks.

Translations:
 - Update Bulgarian translation (al_shopov)
 - Update Czech translation (fri)
 - Update Panjabi translation (aalam)
 - Update Spanish translation (aloriel)
 - Update Swedish translation (yeager)

Libraries:
 - glib: Allow the service pack self tests to run by setting the temp directory (Richard Hughes)
 - glib: Avoid spamming lots of low level debugging to .xsession-errors. Fixes rh#668303 (Richard Hughes)
 - glib: Check sscanf() returned the correct number of items before using the answer (Richard Hughes)
 - glib: Do not return distro-specific id's whilst testing, to fix 'make check' on Debian (Richard Hughes)
 - glib: Ensure we test for and always run the self-check-socket-program in 'make check' (Richard Hughes)
 - glib: Only use g_time_val_from_iso8601() when we have a valid ISO8601 value (Richard Hughes)
 - packagekit-qt: Do not cause a build error when building with -j4 (Richard Hughes)

Backends:
 - aptcc: Fix compile with GLib 2.24 (Matthias Klumpp)
 - aptcc: Sanitize file descriptor handling (Matthias Klumpp)
 - aptcc: Use a pty rather than a pipe for writing to apt (Colin Watson)
 - conary: Add get_roles so pkcon correctly reports all supported commands (Jesse Zhang)
 - conary: Fix get-details to really output the licenses (Jesse Zhang)
 - conary: Fix get-files (Jesse Zhang)
 - conary: Fix ~installed filter (Jesse Zhang)
 - conary: Fix installed filter (Jesse Zhang)
 - conary: Fix refresh-cache (Jesse Zhang)
 - conary: Fix resolve to not do repo_query if trove is found locally (Jesse Zhang)
 - conary: Fix resolve to show all versions of installed pkgs (Jesse Zhang)
 - conary: Fix search-details (Jesse Zhang)
 - conary: Fix search-group (Jesse Zhang)
 - conary: Fix search-name (Jesse Zhang)
 - conary: Fix search to show all versions of installed pkgs (Jesse Zhang)
 - conary: Space means AND for search-name and search-details (Jesse Zhang)
 - entropy: Fix compatibility with newer Entropy releases (Fabio Erculiani)
 - entropy: Fix crash in dependencies removal calculation releases (Fabio Erculiani)
 - yum: Correct three syntax errors that could cause a backtrace (Richard Hughes)
 - yum: Do not attempt to call yum.repos twice when using RHN (Richard Hughes)
 - yum: Do not block the update list on infrastructure packages it breaks auto-updating (Richard Hughes)
 - yum: Ensure the category data is valid UTF8 (Richard Hughes)
 - yum: Update the cached comps group list when enabling of disabling a repo. Fixes rh#629049 (Richard Hughes)
 - zif: Do not crash when returning the package untrusted error (Richard Hughes)
 - zif: Ensure we set the correct key for the metadata_expire value (Richard Hughes)
 - zif: Return the correct error when a transaction needs further authorisation (Richard Hughes)
 - zif: Support the new speed property (Richard Hughes)
 - zypp: Consider autoremove in remove_packages (Zhang Qiang)
 - zypp: Don't send package signal in DownloadProgressReportReceiver (Zhang Qiang)
 - zypp: Erase system resolvables in zypp_build_pool (Zhang Qiang)
 - zypp: Implement download packages (Zhang Qiang)
 - zypp: Include system repo when install local rpm (Zhang Qiang)
 - zypp: Refresh cache before searching (Zhang Qiang)
 - zypp: Support download source RPM packages (Zhang Qiang)

New Features:
 - Add speed python backend method (Anders F Bjorklund)
 - Allow the user to specify a comma delimited list of default backends (Richard Hughes)
 - Provide a hook so spawned backends can report speed (Richard Hughes)

Bugfixes:
 - Do not enable command not found debugging by default. Fixes rh#666254 (Richard Hughes)
 - Explictly include GIO in LDADD to fix a compile error on Debian (Matthias Klumpp, Richard Hughes)
 - Fix calling pk_client_helper_start() with no environment set (Richard Hughes)
 - Fix LP#591474 bug which caused a crash when the Section() of a package was NULL (Daniel Nicoletti)
 - Only try to populate the command list in pkcon after the PkControl command has finished (Richard Hughes)
 - pkcon: check PK error in pk_console_resolve_package (Zhang Qiang)
 - Set client locale to LC_MESSAGES rather than LC_ALL (Colin Watson)

Version 0.6.11
~~~~~~~~~~~~~~
Released: 2010-12-13

Notes:
 - Additonal notes have been added to the DBus specification that allow
   backends to send the origin of a installed package. This is optional.
 - Additionally, more reccomendations have been made to allow searching
   by repository. See the DBus specification for more details.
 - An experimental Zif backend has been added. This should not be used
   on production machines as it may crash and cause filesystem corruption.

Translations:
 - Added Basque translation (assar)
 - Updated Chinese (Taiwan) (zh_TW) translation (Cheng-Chia Tseng)
 - Updated Czech (cs) translation (fri)
 - Updated Polish (pl) translation (Piotr Drąg)
 - Updated Spanish (Castilian) (es) translation (Jorge González)
 - Updated Ukrainian (uk) translation (Yuri Chornoivan)

Libraries:
 - glib: Add some C getters to PkDistroUpgrade (Richard Hughes)
 - packagekit-qt: Add searchGroups methods that can take a string so we can search on categories (Daniel Nicoletti)
 - packagekit-qt: Emit transactionListChanged(empty) when daemon crashes (Daniel Nicoletti)
 - packagekit-qt: Fix order of initialization (Daniel Nicoletti)
 - packagekit-qt: Updated enums and converted tabs to spaces (Daniel Nicoletti)
 - packagekit-qt: Use QDBusServiceWatcher instead of watching for serviceOwnerChanged() (Daniel Nicoletti)
 - packagekit-qt: Write the getCategories() code so we can use it (Daniel Nicoletti)
 - python: use SetHints now instead of SetLocale (Tim Waugh)

Backends:
 - aptcc: Added GStreamer search (Daniel Nicoletti)
 - aptcc: Fix crash due to NULL strings
 - aptcc: Fix regex not to match "()(64bit)" as we don't support multiarch anyway (Daniel Nicoletti)
 - aptcc: Make sure the package is valid before some operations (Daniel Nicoletti)
 - aptcc: Port away from PK_BACKEND_OPTIONS (Daniel Nicoletti)
 - aptcc: Set the env proxy vars so that Apt::Acquire is not overwritten, fixes LP: #633008 (Daniel Nicoletti)
 - aptcc: Use the new PK_ERROR_ENUM_CANNOT_GET_LOCK (Daniel Nicoletti)
 - dummy: Add a more realistic UpgradeSystem (Richard Hughes)
 - dummy: Fix a potential NULL dereference spotted by clang (Richard Hughes)
 - pacman: Prevent recursive logging (Jonathan Conder)
 - smart: Add origin to installed, if available (Anders F Bjorklund)
 - yum: Allow a cache refresh when offline to deal with networkless setups (Richard Hughes)
 - yum: Do not claim to implement the RepoSetData method (Richard Hughes)
 - yum: Fix compiling when not using Zif (Richard Hughes)
 - yum: Set the repository directory when doing a complete upgrade (Richard Hughes)
 - yum: Support repo:foo virtual categories and searching using SearchGroup (Richard Hughes)
 - yum: Support the optional origin extension for installed packages by using the yumdb information (Richard Hughes)
 - zif: Add a new backend, which uses Zif to interface with the rpmdb and the Fedora metadata (Richard Hughes)
 - zif: Add support for SearchGroup('repo:foo') (Richard Hughes)
 - zif: Don't emit a ZifState warning if an update does not have update details (Richard Hughes)
 - zif: Fix changelog generation when there is no changeset version available (Richard Hughes)
 - zif: For updates without updateinfo, do not put '<none>' in the translated display (Richard Hughes)
 - zif: Get the update vendor string and send to the daemon (Richard Hughes)
 - zif: If we are running in background mode, depsolve the update lists (Richard Hughes)
 - zif: Try to use PK_ERROR_ENUM_INTERNAL_ERROR less by using the correct PackageKit error code (Richard Hughes)
 - zif: Use zif_package_get_printable() to get easier to understand error messages (Richard Hughes)
 - zypp: Catch ZYppFactoryException in get_zypp (Zhang Qiang)
 - zypp: Filter installed packages to update (Zhang Qiang)
 - zypp: Fix a logic error in refresh cache (Zhang Qiang)
 - zypp: Fix a typo in get_zypp (Zhang Qiang)
 - zypp: Port from PK_BACKEND_OPTIONS function table (Duncan Mac-Vicar P)
 - zypp: Support repo filter in geting repo list (Zhang Qiang)
 - zypp: Transfer correct restart info while updating packages (Zhang Qiang)
 - zypp: Use zypp::sat::SolvAttr::filelist in search file (Zhang Qiang)

New Features:
 - Add a new backend role for updating the whole distro: UpgradeSystem (Richard Hughes)
 - Allow backend to encode the package origin in the package-id (Richard Hughes)
 - Added PK_ERROR_ENUM_CANNOT_FETCH_SOURCES when refreshing cache fails (Daniel Nicoletti)
 - Add recommendation repo:foo' to be able to return all packages in a certain repository (Richard Hughes)
 - Change the spec to recommend 'category:web-development' rather than '@web-development' (Richard Hughes)
 - Spawn KDE Debconf frontend if KDE is running (Matthias Klumpp)

Bugfixes:
 - Allow cancelling a transaction if it is not cancellable (Richard Hughes)
 - Always show update a package even if already update (Zhang Qiang)
 - Correct the description of org.freedesktop.packagekit.upgrade-system (Sveinung Kvilhaugsvik)
 - Do not disable background mode if we are marked as interactive, as the two are orthognal (Richard Hughes)
 - Ensure we can send a cache-age of maxuint to fix command-not-found (Richard Hughes)
 - Ensure we emit PK_STATUS_ENUM_WAIT when a transaction is in the 'ready' state (Richard Hughes)
 - Ignore unknown entries in the pk_x_bitfield_from_string() to ensure forwards compatibility (Richard Hughes)
 - Use G_LOG_DOMAIN in all the backends (Richard Hughes)

Version 0.6.10
~~~~~~~~~~~~~~
Released: 2010-11-01

Notes:
 - This is the first release of PackageKit to support session
   configuration helper support in the GLib and QT libraries.
 - This allows debconf to work when using PackageKit on Debian.
 - A formal transaction lifecyle is now in place, which allows future
   extensions to hook into the transaction at certain points.

Libraries:
 - glib: Add several more FSF free licenses (Richard Hughes)
 - glib: Add some C getters and setters for PkClient and PkTask (Richard Hughes)
 - glib: Fix up a lot of the gobject-introspection warnings (Richard Hughes)

Backends:
 - alpm: Fixed detection code (Valeriy Lyasotskiy)
 - aptcc: Add a nicer string pointing to launchpad when the changelog is not available (Daniel Nicoletti)
 - aptcc: Feature: added a fetcher/parser for updates changelogs (Daniel Nicoletti)
 - dummy: Add a self test which uses the frontend-socket hint, and plays ping-pong with the client (Richard Hughes)
 - slapt: Updated backend for compatibility with slapt-get 0.10.2g (Jason Woodward)
 - smart: dpkg requires a PATH variable, so set it (Anders F Bjorklund)
 - smart: Set PATH for FreeBSD and Linux (Anders F Bjorklund)
 - test: Add a pk_backend_get_description() vfunc to allow the backends to be loaded (Richard Hughes)
 - yum: Add some initial code to support SearchGroup(collections) when using the Zif backend (Richard Hughes)
 - yum: Fix compile with libzif from git master (Richard Hughes)
 - yum: Properly fix the Resolve(@category) search as pkcon needs this to work to be able to install and remove groups (Richard Hughes)
 - yum: Remove selinux-policy from InfrastructurePackages, it's updated way too often (Richard Hughes)
 - yum: Support SearchGroup(newest) when using the Zif backend (Richard Hughes)
 - yum: Use the cache-age if set by the frontend (Richard Hughes)
 - yum: Use the Zif 'action-changed' signal to emit StatusChanged events for the transaction (Richard Hughes)
 - yum: When returning results from SearchGroup(collections) check if the groups are installed (Richard Hughes)
 - zypp: Call zypp_build_pool() when searching with what_provides (Zhang Qiang)

New Features:
 - Add a new optional hint, 'cache-age' to allow the frontend to control the maximum age of the metadata (Richard Hughes)
 - Add PkClientHelper, which allows a helper session program to be run for a transaction (Richard Hughes)
 - Add the concept of a transaction lifecycle (Richard Hughes)
 - Document the @category resolve special case in the specification as it's been used for at least a year now (Richard Hughes)
 - Document the @category search in the docs, as it's been used in a few backends for over two years... (Richard Hughes)

Bugfixes:
 - Add a special case of a DBus unique name of :org.freedesktop.PackageKit which is used in the self check code (Richard Hughes)
 - Always emit Message(BackendError) when there is a parsing error from a spawned process (Richard Hughes)
 - Always emit the locked and unlocked signals even if HAL is not available (Richard Hughes)
 - cnf: Pass all arguments to comand-not-found so we open the newly installed tool with existing argv (Richard Hughes)
 - Do not strip the trailing plus when comparing licences, as GPL+ exists, but GPL does not (Richard Hughes)
 - Ensure we notice when a spawn command is invalid by printing it in red on the command line (Richard Hughes)
 - Make PkLsof find lsof on Debian (Matthias Klumpp)
 - Make the output of command-not-found match the bash builtin. Fixes rh#641311 (Richard Hughes)
 - Move the managed bindings to a seporate repo as they are very out of date (Richard Hughes)
 - Prevent a segfault when estimating the time when the backend issues many ProgressChanged signals at one time. Fixes #30941 (Richard Hughes)
 - Raise the default of StateChangedTimeoutPriority from 5 seconds to 30 seconds. Fixes rh#641691 (Richard Hughes)
 - Require GTK >= 2.91.0 for the GTK3 version of the PackageKit font install module (Richard Hughes)
 - Return with success if the database contained no proxy values for a transaction, as this could be correct (Richard Hughes)
 - Switch from EggDebug to the GLib debugging framework (Richard Hughes)
 - Switch the default to UseUpdateCache=false now we are using cache-age (Richard Hughes)

Version 0.6.9
~~~~~~~~~~~~~
Released: 2010-10-04

Libraries:
 - glib: Check the GCancellable is not already cancelled at startup in PkClient and PkControl (Richard Hughes)
 - glib: Do not crash the client if a catalog file has both file and package sections (Richard Hughes)
 - glib: Do not return simulation failures as critical errors (Richard Hughes)
 - glib: Only return packages for catalogs that are _not_ installed (Richard Hughes)
 - qt: Use setHints() on new constructor (Daniel Nicoletti)

Backends:
 - aptcc: Added Fonts group (Daniel Nicoletti)
 - aptcc: Updated calls not to use deprecated apt code (Daniel Nicoletti)
 - dummy: Remove the table-of-vfuncs from the dummy backend (Richard Hughes)
 - entropy: Add forward compatibility, use EntropyRepositoryBase.listPackageIdsInCategory() if available. (Fabio Erculiani)
 - portage: Add compatibility with latest Portage 2.2 rc snapshots (Fabio Erculiani)
 - test: Remove the table-of-vfuncs from the test backends (Richard Hughes)
 - yum: Allow SearchFiles and GetUpdateDetail to be processed using zif (Richard Hughes)
 - yum: Change the configuration value UseZif to a bitfield of roles (Richard Hughes)
 - yum: Don't assume yb.pkgSack.searchNevra() only returns one result to fix service pack generation (Richard Hughes)
 - yum: Fix the split media handling in PackageKit yum backend (Hedayat Vatankhah)
 - yum: For some reason yum needs to download the packagelists at init, so mark the download as cancellable. Fixes fd#30276 (Richard Hughes)
 - yum: Get the changelog text using zif if it is available (Richard Hughes)
 - yum: Only cancel the GCancellable if we are using ZIF (Richard Hughes)
 - yum: Remove RepoSetData, it's a NOOP (Richard Hughes)
 - yum: Remove the set-proxy from get_distro_upgrades(), it's already done in transaction_start() (Richard Hughes)
 - yum: Remove the table-of-vfuncs from the yum backend (Richard Hughes)
 - yum: Select the repository with the higher priority when a package exists in serveral repositories (Hedayat Vatankhah)
 - yum: Switch to using transaction_start() and transaction_stop() to reduce backend complexity (Richard Hughes)
 - yum: Use GetCategories also for using a zif GetGroups, as GetGroups does not have a role enum (Richard Hughes)
 - yum: When prompting for media, include the disc number (Hedayat Vatankhah)
 - zypp: Add development package support to filtering (Michael Meeks)
 - zypp: Calculate sizes for patches correctly: bmo#2281, bnc#559802 (Michael Meeks)
 - zypp: Enable proxy for zypp backend (Zhang Qiang)
 - zypp: Include patches in 'resolve' results. bmc#2059 (Michael Meeks)
 - zypp: Refresh cache and sat solv pool data if necessary (Zhang Qiang)
 - zypp: Refresh cache before geting upgrade and installing (Zhang Qiang)
 - zypp: Refresh system rpmdb while refresh cache (Zhang Qiang)
 - zypp: Remove premature require_restart emission in update_packages_thread (Michael Meeks)

New Features:
 - Add transaction_start() and transaction_stop() vfuncs to make backends simpler (Richard Hughes)
 - Add a feature that allows external scripts to be run after certain transactions (Richard Hughes)
 - Allow backends to omit the table-of-vfuncs and use GModule functionality to resolve backend functions (Richard Hughes)

Bugfixes:
 - Add a nicer translated error when UpdatePackages has no packages to update. Fixes fd#30459 (Richard Hughes)
 - browser-plugin: Do not query PkDesktop by default (Richard Hughes)
 - browser-plugin: Fix up 2 small memory leaks in error paths (Richard Hughes)
 - cnf: Add a proper error message when the transaction was cancelled (Richard Hughes)
 - Don't call back into the daemon (from the daemon) when checking service packs. Fixes rh#634628 (Richard Hughes)
 - Ensure we set an error if the spawned backend gets cancelled (Richard Hughes)
 - Fix build with newer gobject-introspection (Matthias Clasen)
 - Fix generating an updates service pack using pkgenpack (Richard Hughes)
 - Use the correct network state for connman (Zhang Qiang)

Version 0.6.8
~~~~~~~~~~~~~
Released: 2010-09-06

Translations:
 - Add Lithuanian translation (Žygimantas Beručka)
 - Updates to Chinese (Taiwan) (zh_TW) translation (zerng07)
 - Updates to Indonesian (id) translation (dapidc)
 - Updates to Panjabi (Punjabi) (pa) translation (aalam)
 - Updates to Swedish (sv) translation (yeager)

Libraries:
 - packagekit-qt: Fix compilation
 - packagekit-qt: Fixed error on proxy creating, extended API (Daniel Nicoletti)
 - packagekit-qt: Forgot to setHints()

Backends:
 - aptcc: Improved user experience by setting subprogress on package installation/remove/update (Daniel Nicoletti)
 - aptcc: Disable auto remove by default (Daniel Nicoletti)
 - aptcc: Fix how downloads are emitted (Daniel Nicoletti)
 - aptcc: Forbid canceling while installing, the user might need to dpkg --configure -a on the cmd line (Daniel Nicoletti)
 - aptcc: Improved how packages are emited (Daniel Nicoletti)
 - aptcc: Improved logic for the updates category (Daniel Nicoletti)
 - aptcc: make sure all downloaded packages emit FINISHED (Daniel Nicoletti)
 - aptcc: Show apt error message when we could not get the cache lock (Daniel Nicoletti)
 - entropy: encode input strings into UTF-8 before processing (Fabio Erculiani)
 - entropy: implement what_provides feature for mimetypes (Fabio Erculiani)
 - yum: Add selinux-policy to the list of infrastructure packages (Richard Hughes)
 - yum: Fix update notices: not all yum repos are official fedora ones (Mark J Cox)
 - yum: Redundant updated date gets displayed (Mark J Cox)
 - zypp: Immediately abort transactions that set errors relating to signature interactions (Michael Meeks)
 - zypp: Remove a double pk_backend_finish path, and an incorrect update_packages callback (Michael Meeks)

Bugfixes:
 - Add accessor to detect if an error is already set on a backend (Michael Meeks)
 - Ensure gobject-introspection is installed before running configure. Fixes #29861 (Richard Hughes)
 - Fix compile with the latest PolicyKit release (Richard Hughes)
 - Increase timeout between an error message and assuming the thread is dead (Michael Meeks)
 - Set allow_cancel default in init to match that in pk_transaction_set_running ie. FALSE (Michael Meeks)

Version 0.6.7
~~~~~~~~~~~~~
Released: 2010-08-04

Translations:
 - Updates to Chinese translation (chenh)
 - Updates to Dutch translation (warrink)
 - Updates to Japanese translation (makoto)
 - Updates to Polish translation (raven)
 - Updates to Spanish translation (logan)
 - Updates to Ukrainian translation (yurchor)

Libraries:
 - glib: Add an 'interactive' property to PkTask so that we  can use it to do '-y' in pkcon properly (Richard Hughes)

Backends:
 - alpm: Do not fail on unrecognized config directives (Valeriy Lyasotskiy)
 - alpm: fixed compilation with ALPM 5 (Valeriy Lyasotskiy)
 - apt: Adapt latest Python backend API changes (Sebastian Heinlein)
 - apt: Add a hook script that pokes packagekitd when cmd line tools are used (Daniel Nicoletti)
 - apt: Added support for distro upgrades
 - apt, aptcc: Fix apt errors when the the packagekit package is removed. (Daniel Nicoletti)
 - apt, aptcc: start packagekitd before asking it to emit cache-update (Daniel Nicoletti)
 - entropy: add forward compatibility with upcoming UrlFetcher changes (Fabio Erculiani)
 - entropy: improve Entropy backward compatibility (Fabio Erculiani)
 - opkg: fix status type in get_updates (Sebastian Krzyszkowiak)
 - pacman: add support for versioned provides field (Jonathan Conder)
 - pisi: Adapt backend for the recent API changes (Fatih Aşıcı)
 - portage: port to new API, make backend working again (Fabio Erculiani)
 - yum: add gnome-packagekit and kpackagekit to the list of infrastructure packages (Richard Hughes)
 - yum: do not issue RepoListChanged when we disable or enable the media repo automatically (Richard Hughes)
 - yum: ensure we call _check_init when we do GetCategories (Richard Hughes)
 - yum: Ensure we disable the MediaRepo when the PackageKit backend has finished (Richard Hughes)
 - yum: wrap _getEVR in a try,catch block to deal with invalid version numbers. Fixes rh#612360 (Richard Hughes)

New Features:
 - Add a long document explaining the media-repo functionality (Richard Hughes)
 - If either of ProxyHTTP are set in PackageKit.conf then ignore the user proxy setting. Fixes rh#604317 (Richard Hughes)

Bugfixes:
 - Add 0install to the user list (Carlo Marcelo Arenas Belon)
 - cron: Do not exit with 1 if the cron script is disabled in the config (Vincent Untz)
 - Don't ship README AUTHORS NEWS COPYING in all subpackages. Fixes rh#612332 (Richard Hughes)
 - Make the PkBackend always start with the WAIT state, but do not proxy this onto the bus (Richard Hughes)
 - Recognise bluetooth connections as mobile networks. Fixes rh#609827 (Richard Hughes)
 - Unbreak CNF after the daemon moved to libexec. Fixes rh#613514 (Richard Hughes)

Version 0.6.6
~~~~~~~~~~~~~
Released: 2010-07-01

Translations:
 - Updates to Chinese translation (chenh)
 - Updates to Japanese translation (khasida)
 - Updates to Chinese (Taiwan) translation (zerng07)

Libraries:
 - glib: Explicitly mark the library as LGPLv2 by using the correct boilerplate code (Richard Hughes)

Backends:
 - apt: Adapt to split arguments from the Python backend (Sebastian Heinlein)
 - apt: Adapt to an API change to allow OR searches (Sebastian Heinlein)
 - apt: Fix group searching (Sebastian Heinlein)
 - aptcc: Added distro upgrade support (Daniel Nicoletti)
 - entropy: Implement forward compatibility support (Fabio Erculiani)
 - pacman: Update for pacman-glib 3.4.0 (Jonathan Conder)
 - ports: Use distfiles size, for uninstalled packages (Anders F Bjorklund)
 - urpmi: Fix update-system command and only_trusted parameter (Aurelien Lefebvre)
 - yum: Don't crash with an internal error if the .discinfo is malformed (Richard Hughes)
 - zypp: Disable get_zypp in intialize (Michael Meeks)
 - zypp: Fix FPE when there are no repos (Michael Meeks)
 - zypp: Don't crash checking status of non-patches (Michael Meeks)

New Features:
 - Add a MaxSearchTime entry in CommandNotFound.conf and default to 2000ms (Richard Hughes)
 - Assign names to our idle sources when using new versions of glib2 (Richard Hughes)
 - Build the gtk-module for gtk-3.0 as well as gtk-2.0 if available (Richard Hughes)
 - Port 'make check' to GTest rather than using our homegrown EggTest functionality (Richard Hughes)
 - Get the control properties async when the user starts the pkmon tool (Richard Hughes)

Bugfixes:
 - Only set a cancelled error after we've given the backend a fighting chance to process the request (Richard Hughes)
 - Move the packagekitd binary to libexec (Richard Hughes)
 - Ensure we clear the cancel timer when we finish a PkBackend transaction (Richard Hughes)
 - Ensure filters are properly split for spawned backends (Richard Hughes)

Version 0.6.5
~~~~~~~~~~~~~
Released: 2010-06-02

Notes:
 - Added pacman-glib backend (Jonathan Conder)

Translations:
 - Updates to Chinese (Taiwan) (zh_TW) translation (zerng07)
 - Updates to Danish (da) translation (kristho)
 - Updates to Finnish (fi) translation (vpv)

Libraries:
 - glib: Add some new PkTask methods that handle the Media and Eula callbacks (Richard Hughes)
 - qt: Add Q_ENUMS to DaemonError (Adrien Bustany)
 - python: Fix a typo in format_string (Sebastian Heinlein)

Backends:
 - APT: Adapt patch for name searching to the 0.6 API (Sebastian Heinlein)
 - APT: Allow to do an AND search for multiple package names (Sebastian Heinlein)
 - APT: Make sure to use format_string consequently on every output (Sebastian Heinlein)
 - APT: Show a sub progress for package downloads (Sebastian Heinlein)
 - APT: Use UTF-8 as default encoding and allow to write unicode to stdout (Sebastian Heinlein)
 - entropy: Make backend working with latest Entropy releases (Fabio Erculiani)
 - pacman: Add basic transaction infrastructure (Jonathan Conder)
 - pacman: Add cancellation infrastructure (Jonathan Conder)
 - pacman: Add dependency lookup (Jonathan Conder)
 - pacman: Add error reporting infrastructure (Jonathan Conder)
 - pacman: Add package-related methods and helpers (Jonathan Conder)
 - pacman: Add searching support (Jonathan Conder)
 - pacman: Add support for installing packages (Jonathan Conder)
 - pacman: Add support for managing repos (Jonathan Conder)
 - pacman: Add support for package groups (Jonathan Conder)
 - pacman: Add support for removing packages (Jonathan Conder)
 - pacman: Add support for updating packages (Jonathan Conder)
 - yum: Attempt to use removable disk repos if they exist at backend startup (Richard Hughes)
 - yum: Catch and ignore the socket exception on oddball systems. Fixes rh#596779
 - yum: Do not abort init when Yum.conf does not contain some required keys (Richard Hughes)
 - yum: Fix up the filter check when doing GetRepoList(). Fixes rh#598697
 - yum: Remove all the MediaManager implementations and write a small GIO based callback (Richard Hughes)
 - yum: The transaction root is not set at _init(), so we have to re-query the root when we start each action (Richard Hughes)
 - yum: Use the system installed version of the zif accelerator (Richard Hughes)
 - zypp: Detect and advertise from /etc/meego-release (Peter J Zhu)
 - zypp: Re-factor to pass PkBackend around (Michael Meeks)
 - zypp: Re-work install_packages_thread (Michael Meeks)
 - zypp: Unify code used to generate the list of updates (Michael Meeks)

New Features:
 - Add --force argument to pkcon refresh (Michael Meeks)
 - Show the MediaChangeRequired signals in pkmon (Richard Hughes)
 - Use the new PkTask API in pkcon so we can deal with Media and Eula queries (Richard Hughes)

Bugfixes:
 - Build conditional BUILD_ZIF needs to be at the top level (Michael Meeks)
 - Fix problem whereby the terminal wouldn't return data to scanf from a read (Michael Meeks)
 - Fix up several daemon thinkos when a client tries to set a root other than '/' (Richard Hughes)

Version 0.6.4
~~~~~~~~~~~~~
Released: 2010-05-06

Notes:
 - This release is the first to support a relocatable root, which may be useful
   to LTSP and some virtualised environments. It's not yet well tested, and
   early adopters are encouraged to joint the mailing list.

Translations:
 - Updates to Danish (da) translation (kristho)
 - Updates to Dutch (Flemish) (nl) translation (warrink)
 - Updates to Indonesian (id) translation (dichi)
 - Updates to Panjabi (Punjabi) (pa) translation (aalam)
 - Updates to Polish (pl) translation (raven)
 - Updates to Portuguese (pt) translation (ruigo)
 - Updates to Serbian (Latin) (sr@latin) translation (kmilos)
 - Updates to Serbian (sr) translation (kmilos)
 - Updates to Spanish (Castilian) (es) translation (logan)
 - Updates to Ukrainian (uk) translation (yurchor)

Libraries:
 - glib: Add C accessors for PkMessage (Richard Hughes)
 - glib: Add some more C accessors for PkPackage (Richard Hughes)

Backends:
 - apt: Fix a spelling error in the config file prompt message (Warren Turkal)
 - entropy: Catch DependenciesNotRemovable exception during reverse dependencies calculation (Fabio Erculiani)
 - opkg: Include stdio.h before opkg.h to make newer gcc happy (Koen Kooi)
 - box: Updated backend to fix compile (Grzegorz Dabrowski)
 - yum: Catch exceptions.IOError whenever we do a low-level yum call. Fixes rh#577549 (Richard Hughes)
 - yum: Do not abort if the package-id is not unique in the reposet (Richard Hughes)
 - yum: Ensure the lock failure message is proper unicode. Fixes rh#585620 (Richard Hughes)
 - yum: Ensure we catch the exception if there are no groups. Fixes rh#587196 (Richard Hughes)
 - yum: Ensure we create /var/cache/PackageKit if the user nukes it and then tries to re-create the comps cache (Richard Hughes)
 - yum: Ensure we force a cache update if the comps groups cannot be loaded (Richard Hughes)
 - yum: Get the correct state for each update. Fixes rh#574658 (Richard Hughes)
 - yum: Move the list of infrastructure packages that are updated first to the config file (Richard Hughes)
 - yum: Move the list of system packages that cannot be removed to the config file (Richard Hughes)
 - yum: Ship a standalone version of licenses.txt for future code (Richard Hughes)
 - yum: Sync with libzif upstream which offers a pretty stellar performance increase (Richard Hughes)
 - yum: Use zif to get the update lists if UseZif is enabled (Richard Hughes)
 - zypp: Attempt to improve backend_find_packages (Michael Andres)
 - zypp: Cleanup a certain amount of superstitious coding (Michael Meeks)
 - zypp: cleanup 'resolve' filtering code (Michael Meeks)
 - zypp: Factor pool item change notification out into zypp_backend_pool_item_notify (Michael Meeks)
 - zypp: Fix leaks in GetRequires, resolve and what_provides (Michael Meeks)
 - zypp: Fix memory leaks (Michael Andres)
 - zypp: Fix multiple bugs in Resolve() (Michael Meeks)
 - zypp: Get the final 'finished' signal right on remove (Michael Meeks)
 - zypp: Implement simulated package removal (Michael Meeks)
 - zypp: Improve exception handling (Michael Meeks)
 - zypp: Introduce a pseudo-architecture "source" to distinguish source packages from binary ones (Michael Meeks)
 - zypp: Let libzypp determine whether a patch is needed (Michael Andres)
 - zypp: Share the version / architecture comparison code into zypp_ver_and_arch_equal (Michael Meeks)
 - zypp: Tweak filtering to ensure that we never emit both states even if a package is also re-installable (Michael Meeks)

New Features:
 - Allow clients to request a relocatable root, but only with admin authority (Richard Hughes)
 - Add hint:simulate boolean on the backend, set for all simulation methods, to increase code re-use (Michael Meeks)
 - Add maximum wait time limit to cron checks (Marko Myllynen)
 - Add support for the 'frontend-socket' hint and pass it to backends (Richard Hughes)
 - Ported PackageKit to Haiku (Grzegorz Dabrowski)
 - Send a message when other updates are held back so we can add a note to the GUI tool (Richard Hughes)

Bugfixes:
 - Correctly fallback by checking the transaction role, not the backend role. Fixes fd#27527 (Richard Hughes)
 - Don't return from SetProxy() before we've got the authentication result (Richard Hughes)
 - Downgrade required autoconf version (Michael Meeks)
 - Ensure the daemon emits Message() signals when replaying the cached GetUpdates data (Richard Hughes)
 - Fix parallel-build snafu wrt. MOC generated files (Michael Meeks)
 - Fix system name variable name inconsistency in the cron script (Marko Myllynen)
 - Fix the permission of /etc/sysconfig/packagekit-background to be non-executable (Richard Hughes)
 - Fix up three typos in translated strings (Yuri Chornoivan)
 - If http_proxy or ftp_proxy are set in the environment, use them in pkcon (Richard Hughes)
 - Remove the ruck client, it's been broken for the last few releases (Richard Hughes)

Version 0.6.3
~~~~~~~~~~~~~
Released: 2010-03-29

Notes:
 - Two important bugfixes, one that causes high CPU load in client programs, and
   one that fixes an odd crash in the libnm-glib threading code.
 - Lots of yum backend improvements, using libzif for performance speedups if
   it is enabled.

Translations:
 - Updated Finnish translation (vpv)
 - Updated Portuguese translation (ruigo)
 - Updated Serbian translation (sr@latin) translation (kmilos)
 - Updated Serbian translation (kmilos)
 - Updated Chinese translation (Traditional) (zerng07)
 - Updated Danish translation (kristho)
 - Updated Dutch translation (warrink)
 - Updated Polish translation (raven)
 - Updated Russian translation (shnurapet)
 - Updated Spanish translation (logan)
 - Updated Swedish translation (yeager)
 - Updated Ukrainian translation (yurchor)

Libraries:
 - glib: Add pk_package_sack_filter() and pk_package_sack_remove_by_filter() (Richard Hughes)
 - glib: Do not generate a PkPackageSack from the package array, instead add packages as they appear (Richard Hughes)
 - glib: Ensure we remove CLEANUP and FINISHED from the package sack before we run the simulate callback (Richard Hughes)
 - glib: Fix up a critical warning when installing a file, not a package (Richard Hughes)
 - qt: Fixed UpdateState enum (Daniel Nicoletti)
 - python: Fixed packagekit.client.search_file() (Tim Waugh)

Backends:
 - aptcc: Don't allow essential packages to be removed (Daniel Nicoletti)
 - aptcc: Fix a small mem leak (Daniel Nicoletti)
 - aptcc: Fix show broken packages (Daniel Nicoletti)
 - apt: Convert search-files to latest Python backend API changes. Perform an AND instead an OR search (Sebastian Heinlein)
 - conary: Get conary backend to listen to simulate_* (Scott Parkerson)
 - conary: Fix details views, more or less (Scott Parkerson)
 - conary: Improvements to XMLCache and generateXML (Scott Parkerson)
 - conary: Instantiate XMLCache only once, avoiding massive memory usage (Scott Parkerson)
 - conary: Make _get_update a bit less spaghetti-ish (Scott Parkerson)
 - conary: Refrain from using threaded mode (Scott Parkerson)
 - conary: Refuse to explode on a warning callback (Scott Parkerson)
 - conary: Tidy things up a bit in conaryCallback (Scott Parkerson)
 - entropy: Fix up the backend as the filters string is now a list, not a delimited string (Fabio Erculiani)
 - smart: Convert filters string to array (Anders F Bjorklund)
 - yum: Add an entry UseZif into Yum.conf so admins can change the default setting (Richard Hughes)
 - yum: Add a Yum.conf configuration file and add the DisabledPlugin key there (Richard Hughes)
 - yum: Add the 'Zif' accelerator so we don't have to use yum for small local queries (Richard Hughes)
 - yum: enable the libzif code for downloading packages (Richard Hughes)
 - yum: ensure to catch exceptions when we fail to initialize for GetRepoList (Richard Hughes)
 - yum: ensure we actually do self._check_init() for RefreshCache so non-contactable repos get disabled (Richard Hughes)
 - yum: ensure we inform Zif of the network state so it can download repodata if required (Richard Hughes)
 - yum: ensure we send out the UntrustedPackage message when we simulate installing a file, so ensure we don't prompt the user twice (Richard Hughes)
 - yum: ensure we trigger the GCancellable when we're doing a transaction cancel (Richard Hughes)
 - yum: fix up API usage of get_applicable_notices to prevent an internal error (Richard Hughes)
 - yum: fix up the backend as the filters string is now a list, not a delimited string (Richard Hughes)
 - yum: Fix up the LXDE and Moblin groups. Fixes rh#571775 (Richard Hughes)
 - yum: for installed files, use Zif to get the file list (Richard Hughes)
 - yum: for installed packages, use Zif to get the package details (Richard Hughes)
 - yum: get the group list from Zif rather than hardcoding a fixed list (Richard Hughes)
 - yum: if we failed to resolve deps in a simulate pass, then don't just return empty package list (Richard Hughes)
 - yum: if yum, rpm or PackageKit are available as updates, then update these packages first and surpress any other updates until the next check (Richard Hughes)
 - yum: ignore repos that are not contactable when using libzif (Richard Hughes)
 - yum: use libzif to refresh the repos (Richard Hughes)
 - yum: use libzif when doing WhatProvides (Richard Hughes)
 - yum: use more Zif functionality when searching for packages (Richard Hughes)
 - yum: Use Zif for enabling and disabling repos (Richard Hughes)
 - yum: Use Zif for getting the category lists (Richard Hughes)
 - yum: Use Zif for getting the repo list (2x speedup) (Richard Hughes)
 - yum: Use Zif to get the list of distro-upgrades (Richard Hughes)
 - yum: when using libzif, quit the spawned backend rather than waiting for it to time out (Richard Hughes)

New Features:
 - Add a configure option UseThreadsInBackend so we can more easily debug packagekitd (Richard Hughes)
 - Break internal python API by supplying a list of filters to the backend, not a delimited list (Richard Hughes)
 - Add a boolean configure variable 'SimilarNameSearch' to allow skipping swizzle testing. Fixes #27246 (Richard Hughes)
 - Show PkPackage changes in pkmon for easier debugging (Richard Hughes)

Bugfixes:
 - Add some missing G_BEGIN_DECLS and G_END_DECLS to fix including from C++ (Richard Hughes)
 - Be more careful when testing the value of waitpid() to try to debug a problem where the backend appears to exit (Richard Hughes)
 - Do not crash libdbus when libnm-glib uses it's own context (Richard Hughes)
 - Do not finish the transaction with success when the spawned backend does a non-finished exit (Richard Hughes)
 - Do not show installed packages when we choose packages to download (Richard Hughes)
 - Ensure the Package(finished) signal is always sent during the transaction. Fixes rh#522628 (Richard Hughes)
 - Fix a nasty segfault if the library check-restart code tries to emit a restart-required (Richard Hughes)
 - Fix Kubuntu support for upgrade (Jonathan Riddell)
 - Fix reporting distribution upgrades by setting the correct property in two places (Richard Hughes)
 - Never exit the daemon, even when we hit a race in PkSpawn - just cleanup, warn, and continue (Richard Hughes)
 - Do not call finished before exiting the script due to an error (Richard Hughes)
 - When realpath fails, do not silently fail but return with an error (Richard Hughes)

Version 0.6.2
~~~~~~~~~~~~~
Released: 2010-03-01

Notes:
 - We broke PackageKit-Qt API in a big way this release. You'll need a new KPackageKit if you're using KDE.
 - There is a _tiny_ API break in PackageKit-glib2 which means most apps just need a recompile.
 - A new backend called entropy has been merged by Fabio Erculiani.

Translations:
 - Updated translation for Bulgarian
 - Updated translation for Indonesian (dichi)
 - Updated translation for Brazilian Portuguese (igor)
 - Updated translation for German (kenda)
 - Updated translation for Danish (kristho)
 - Updated translation for Portuguese (ruigo)
 - Updated translation for Hungarian (snicore)

Libraries:
 - PackageKit-glib2: Add pk_control_suggest_daemon_quit() (Vincent Untz)
 - PackageKit-Qt: Add a Last[enum-type] entry to each type (Richard Hughes)
 - PackageKit-Qt: Added more constness to the lib (Daniel Nicoletti)
 - PackageKit-Qt: Drop QObject for Package (Adrien Bustany)
 - PackageKit-Qt: Fix filtersToString and make enumToString more robust (Adrien Bustany)
 - PackageKit-Qt: Fix up a typo that prevents compiling programs that use -pedantic-errors (Slawomir Czarko)
 - PackageKit-Qt: Fully automatize the proxy generation (Adrien Bustany)
 - PackageKit-Qt: Moved the package enums to Enum class (Daniel Nicoletti)
 - PackageKit-Qt: Port tests to current API (Adrien Bustany)
 - PackageKit-Qt: Port the tests to the new Enum class (Adrien Bustany)
 - PackageKit-Qt: Switch from QDbusReply to QDBusPendingReply (Adrien Bustany)

New Features:
 - Add a new library function: pk_package_sack_filter_by_info() (Richard Hughes)
 - Add a pk_backend_set_speed() helper function (Richard Hughes)
 - Added autoremove to simulateRemovePackage (Daniel Nicoletti)
 - Add the eula-required python method helper (Richard Hughes)
 - Change the python helpers to get sent an array of values, not a delimited string (Richard Hughes)
 - Define a new error code for when the user declines the simulation (Richard Hughes)
 - Removed deprecated SetLocale (Daniel Nicoletti)
 - Show messages in the pkmon output when the task has completed (Richard Hughes)

Bugfixes:
 - Add the environment variable accecpted_eulas to the spawned processes (Richard Hughes)
 - Add the polkit backend library in LIBADD, not LDFLAGS. Fixes fd#26373 (Richard Hughes)
 - Do not run the transaction with only_trusted if the simulation inferred that any packages were unsigned (Richard Hughes)
 - Ensure that a malicious user can't make the backend exit by injecting a bogus EULA call into the transaction (Richard Hughes)
 - Fix a logic problem where the PkSpawn and PkBackend instances would race and sometimes issue a pk_backend_finished() when the dispatcher instance was being changed (Richard Hughes)
 - Initialize relevant GError's in the daemon to NULL (Jonathan Conder)
 - Install the introspection data to the correct location (Richard Hughes)
 - Update the list of free licences from the Fedora wiki (Richard Hughes)

Backends:
 - apt: call the correct command for simualte-install-files (Sebastian Heinlein)
 - aptcc: fix once package descriptions FDO bug #26357 (Daniel Nicoletti)
 - aptcc: fix unknown progress when download takes too much time to go to 1% (Daniel Nicoletti)
 - aptcc: improved kind of updates detection (Daniel Nicoletti)
 - entropy: add eula-required signal emission (Fabio Erculiani)
 - entropy: add get_mime_types support in backend (Fabio Erculiani)
 - entropy: add simulate_* support (Fabio Erculiani)
 - entropy: basic functionality of PackageKitEntropyBackend.refresh_cache() (Fabio Erculiani)
 - entropy: complete PackageKitEntropyBackend.get_updates() (Fabio Erculiani)
 - entropy: complete PackageKitEntropyBackend.search_file() (Fabio Erculiani)
 - entropy: complete PackageKitEntropyBackend.search_group() (Fabio Erculiani)
 - entropy: complete PackageKitEntropyBackend.search_name() (Fabio Erculiani)
 - entropy: complete PackageKitEntropyBackend.search_details() (Fabio Erculiani)
 - entropy: disable EntropyPackageKitBackend.get_distro_upgrades for now (Fabio Erculiani)
 - entropy: implement EntropyPackageKitBackend.download_packages() support (Fabio Erculiani)
 - entropy: implement EntropyPackageKitBackend.get_categories() (Fabio Erculiani)
 - entropy: implement EntropyPackageKitBackend.get_requires() (Fabio Erculiani)
 - entropy: implement EntropyPackageKitBackend.install_packages() and update_packages() (Fabio Erculiani)
 - entropy: implement EntropyPackageKitBackend.remove_packages() (Fabio Erculiani)
 - entropy: implement EntropyPackageKitBackend.update_system() (Fabio Erculiani)
 - entropy: implement EULA handling on pkgs install (Fabio Erculiani)
 - entropy: implement PackageKitEntropyBackend.get_depends() (Fabio Erculiani)
 - entropy: implement PackageKitEntropyBackend.get_details() (Fabio Erculiani)
 - entropy: implement PackageKitEntropyBackend.get_files() (Fabio Erculiani)
 - entropy: implement PackageKitEntropyBackend.get_packages() (Fabio Erculiani)
 - entropy: implement PackageKitEntropyBackend.get_repo_list() (Fabio Erculiani)
 - entropy: implement PackageKitEntropyBackend.get_update_detail() (Fabio Erculiani)
 - entropy: implement PackageKitEntropyBackend.install_files() (Fabio Erculiani)
 - entropy: implement PackageKitEntropyBackend.repo_enable() (Fabio Erculiani)
 - entropy: implement PackageKitEntropyBackend.resolve() (Fabio Erculiani)
 - entropy: initial commit, add build system support and basic (non-working) backend (Fabio Erculiani)
 - entropy: spawn error on missing accepted EULAs (Fabio Erculiani)
 - entropy: subclass entropy.client.interfaces.Client, get transparent progress update support (Fabio Erculiani)
 - entropy: subclass UrlFetcher to redirect output to PK, make possible to cancel pkg install/removal (Fabio Erculiani)
 - portage: factor out portage code from PackageKit overridden methods, several bug fixes (Fabio Erculiani)
 - portage: implement PackageKitPortageBackend.get_categories() (Fabio Erculiani)
 - portage: port portage backend to PackageKit HEAD (Fabio Erculiani)
 - smart: change encoding to preferred, replace errors on stdout (Anders F Bjorklund)
 - smart: convert search term string to array (Anders F Bjorklund)
 - smart: make repo-list work with channelsync too (Anders F Bjorklund)
 - yum: add simulate-install-packages, simulate-update-packages and simulate-remove-packages (Richard Hughes)
 - yum: add simulate-install-packages, simulate-update-packages and simulate-remove-packages (Richard Hughes)
 - yum: blacklist auto-update-debuginfo when using PK tools to prevent madness. Fixes rh#566578 (Richard Hughes)
 - yum: don't show an internal error if the database was changed by rpm when we are building a transaction (Richard Hughes)
 - yum: remove the '&' multiple parameter hacks (Richard Hughes)
 - zypp: add more features to repo_set_data (Ladislav Slezak)
 - zypp: change policy to download first (Scott Reeves)

Version 0.6.1
~~~~~~~~~~~~~
Released: 2010-02-01

Translations:
 - Updated translation for Chinese (Simplified) (gml520)
 - Updated translation for Dutch (warrink)
 - Updated translation for Polish (raven)
 - Updated translation for Spanish (elsupergomez)

Libraries:

Backends:
 - alpm: Added autoremove and HoldPkg functionality (PirateJonno)
 - alpm: Changed search functions to allow multiple search values (Valeriy Lyasotskiy)
 - alpm: Handle ILoveCandy config option (PirateJonno)
 - alpm: More formatting (PirateJonno)
 - alpm: Understand more config options (PirateJonno)
 - aptcc: Impoved search file (Daniel Nicoletti)
 - portage: Fix compilation and port code to new API (Fabio Erculiani)
 - ports: Convert search params to array values (Anders F Bjorklund)
 - urpmi: Fix backend api (Aurelien Lefebvre)
 - yum: Emit a warning when a developer tries to use autoremove (Richard Hughes)
 - yum: Ensure we look in all update notices for a security update. Fixes rh#526279 (Richard Hughes)
 - yum: Include PackageKit in the list of essential packages (Richard Hughes)
 - yum: Show a message to the user if the repo could not be reached. Fixes rh#531838 (Richard Hughes)
 - yum: Use repo-for-developers-only when enabling rawhide (Richard Hughes)
 - zypp: Add more features to repo_set_data (Ladislav Slezak)
 - zypp: Partial support of multiple values for search params (Scott Reeves)
 - zypp: Work with packagekit-glib2 (Scott Reeves)

New Features:
 - Add Kubuntu support for upgrade (Daniel Nicoletti)
 - Add support for the 'interactive' hint in the daemon, and also sent it to the backend (Richard Hughes)
 - Add a new message enum 'repo-for-developers-only' for repos that should not be used by users (Richard Hughes)
 - Add sync versions of the PkPackageSack functions (Richard Hughes)
 - Enable initial introspection support in PackageKit-glib2 (Richard Hughes)
 - Sort the packages by name in all pkcon results (Richard Hughes)

Bugfixes:
 - Ensure we enter SETUP before we run the pre-transaction checks (Richard Hughes)
 - Add a parent object to all the source objects to track the source role and transacton id (Richard Hughes)
 - Ensure we set an error when the transaction is cancelled (Richard Hughes)
 - Ensure PkProgress sends ::notify signals when properties change (Richard Hughes)
 - When adopting a transaction ensure we set the role on the PkResults object (Richard Hughes)
 - Show the translated role and status when using pkgenpack (Richard Hughes)
 - Ensure that pkgenpack generates filenames without ';' embedded in them (Richard Hughes)
 - If the user uses 'pkcon install dave.rpm' then give a useful error message (Richard Hughes)
 - Fixed packagekit.client.install_packages() in Python bindings (Tim Waugh)
 - Cache autoremove too in transaction_remove_packages (Valeriy Lyasotskiy)

Version 0.6.0
~~~~~~~~~~~~~
Released: 2010-01-2010

Translations:
 - Updated translation for Assamese (amitakhya)
 - Updated translation for Malayalam (anipeter)
 - Updated translation for German (hedda)
 - Updated translation for Tamil (ifelix)
 - Updated translation for Brazilian Portuguese (igor)
 - Updated translation for Punjabi (jassy)
 - Updated translation for Japanese (khasida)
 - Updated translation for Telugu (kkrothap)
 - Updated translation for Chinese (Simplified) (leahliu)
 - Updated translation for Italian (perplex)
 - Updated translation for Hindi (rajesh)
 - Updated translation for Bengali (India) (runab)
 - Updated translation for Marathi (sandeeps)
 - Updated translation for Kannada (shanky)
 - Updated translation for Chinese (Traditional) (snowlet)
 - Updated translation for French (troubi51)
 - Updated translation for Finnish (vpv)
 - Updated translation for Dutch (warrink)
 - Updated translation for Russian (ypoyarko)

Libraries:

Backends:
 - smart: Convert search params to array values (Anders F Bjorklund)
 - aptcc: Updated searchNames, files and groups. (Daniel Nicoletti)

New Features:
 - Remove the deprecated DBus methods from the daemon (Richard Hughes)
 - Break internal and external API to support OR queries (Richard Hughes)
 - Add a new error enum 'failed-due-to-running-process' for future code (Richard Hughes)
 - Add a new config file entry, NoUpdateProcessList that specifies processes that should not be updated when running (Richard Hughes)
 - glib: Remove the deprecated glib library (Richard Hughes)
 - packagekit-qt: Removed deprecated methods (Daniel Nicoletti)
 - packagekit-qt: Added searchNames, searchFiles and searchGroups (Daniel Nicoletti)

Bugfixes:
 - cnf: Ensure we send error messages to stderr, not stdout. Fxes rh#545220 (Richard Hughes)
 - Fix a crash where the extra library check file callbacks had the wrong signature (Richard Hughes)
 - Allow the inhibit call to go through even if cancel is not implemented (Scott Reeves)
 - packagekit-qt: Improved and fixed transaction handling so does not crash kded module anymore (Daniel Nicoletti)
 - packagekit-qt: Fixed the naming of the conviniece functions to match the same function (Daniel Nicoletti)

Version 0.5.5
~~~~~~~~~~~~~
Released: 2009-12-07

Translations:
 - Updated translation for Punjabi (aalam)
 - Updated translation for Spanish (beckerde)
 - Updated translation for Hebrew (elad)
 - Updated translation for Telugu (kkrothap)
 - Updated translation for Serbian (kmilos)
 - Updated translation for Spanish (logan)
 - Updated translation for Oriya (mgiri)
 - Updated translation for Dutch (nippur)
 - Updated translation for Polish (raven)
 - Updated translation for Gujarati (swkothar)
 - Updated translation for Finnish (vpv)

Libraries:
 - PackageKit-qt: Add function in Package class to get icon path (Adrien Bustany)
 - PackageKit-qt: Fix behavior on failed desktop database open (Adrien Bustany)
 - PackageKit-qt: Refuse to run tests if backend != dummy (Adrien Bustany)
 - PackageKit-qt: Fix signal signature in Transaction test (Adrien Bustany)
 - PackageKit-qt: Make error message more informative (Adrien Bustany)
 - PackageKit-qt: Watch DBus signal NameOwnerChanged to detect in flight PK crashes (Adrien Bustany)
 - PackageKit-qt: Make running transactions emit error on daemon crash (Adrien Bustany)
 - PackageKit-qt: Properly delete transactions on daemon crash (Adrien Bustany)
 - PackageKit-qt: Added multiple files support to searchFile (Daniel Nicoletti)
 - PackageKit-qt: Added setHints(QString) convenience function (Daniel Nicoletti)
 - PackageKit-qt: Fix compilation path of desktop.db (Daniel Nicoletti)
 - PackageKit-qt: Fix the open desktopdb path (Daniel Nicoletti)
 - PackageKit-qt: A few improvements to getIcon() (Daniel Nicoletti)
 - PackageKit-qt: Fix icon loading (Daniel Nicoletti)
 - PackageKit-qt: Added support to what provides with a QStringList (Daniel Nicoletti)
 - PackageKit-qt: Fixed emission of updatesChanged(), and added DEPRECATED macro (Daniel Nicoletti)
 - python: Fixed packagekit.client.what_provides() in Python bindings (Tim Waugh)
 - glib2: Never try to disconnect DBus signals if they were never connected (Richard Hughes)
 - glib2: Switch to a 100% GObject design, and get rid of the typedef'd PkItemX structures (Richard Hughes)
 - glib2: Drop the 'Code' from PkError as it's a redundant suffix (Richard Hughes)

Backends:
 - apt: Allow emitting apt.package.Version. Use when emitting Package signals (Sebastian Heinlein)
 - apt: Add a helper method which allows to emit all visible versions of package (Sebastian Heinlein)
 - apt: Fix emitting the correct installed/available status for packages (Sebastian Heinlein)
 - apt: Show a better error report for broken packages in get_depends (Sebastian Heinlein)
 - apt: Do not fail if we cannot unset the locale correctly (Sebastian Heinlein)
 - apt: Fix installing package files from a not ASCII path (Sebastian Heinlein)
 - apt: Add a helper to get the apt.package.Version instance corresponding to a package id (Sebastian Heinlein)
 - apt: If a dependency cannot be installed emit a blocked package (Sebastian Heinlein)
 - apt: Rewrite get_requires to actually parse the dependency information (Sebastian Heinlein)
 - apt: Replace the _find_package_by_id helper by _get_package_by_id (Sebastian Heinlein)
 - apt: Remove obsolete return statements after PackageKitBackend.error call (Sebastian Heinlein)
 - apt: Fix small typo in method call of simulate_update (Sebastian Heinlein)
 - apt: Only emit additional changes in Simulate* (Sebastian Heinlein)
 - apt: Catch an internal python-apt changelog download failed error message (Sebastian Heinlein)
 - apt: Show some progress for processing downloads of changelogs (Sebastian Heinlein)
 - apt: Take the version of package into account when removing, installing and updating (Sebastian Heinlein)
 - apt: Don't use internal attributes of python-apt as far as possible (Sebastian Heinlein)
 - apt: Fix update version sanity check and add the package name to the error message (Sebastian Heinlein)
 - apt: Use markdown for the changelog and update_text of UpdateDetail (Sebastian Heinlein)
 - apt: Allow to set the status of the PackgeKitFetchProgress (Sebastian Heinlein)
 - apt: Separate the apt.package.Version/package id converter into its own method (Sebastian Heinlein)
 - apt: Refractor download_packages and emit the files signal for downloaded packages (Sebastian Heinlein)
 - apt: Send the currently downloaded package in the download_package method (Sebastian Heinlein)
 - apt: Send the INFO_FINISHED status for downloaded packages (Sebastian Heinlein)
 - apt: Emit the INFO_DOWNGRADING for currently downgrading packages (Sebastian Heinlein)
 - apt: Add missing datetime import (Sebastian Heinlein)
 - apt: Add support for removing obsoleted dependencies in RemovePackages (Sebastian Heinlein)
 - apt: Fix a typo which broke RemovePackages (Sebastian Heinlein)
 - apt: Make use of the package metadata to search for provided gstreamer plugins (Sebastian Heinlein)
 - apt: Share the pinning file with Synaptic which allows to block updates in Synaptic (Sebastian Heinlein)
 - apt: Use a more readable markdown raw syntax (Sebastian Heinlein)
 - apt: Minor cleanups to the markdown creator (Sebastian Heinlein)
 - apt: Parse for closed Launchpad bugs in the Ubuntu changelogs (Sebastian Heinlein)
 - aptcc: Better error handling in instalation (Daniel Nicoletti)
 - aptcc: Added what provides mime type support (Daniel Nicoletti)
 - aptcc: Added gstreamer codec search (Daniel Nicoletti)
 - dummy: ensure we send valid ISO8601 dates to the daemon (Richard Hughes)
 - smart: fix syntax error typo with only_trusted (Anders F Bjorklund)
 - yum: only advertise GetDistroUpgrades if the preupgrade binary is present (Richard Hughes)
 - yum: add a few more entries in the yum-comps mapping (Richard Hughes)
 - yum: disable repos that are not contactable (Richard Hughes)
 - yum: format the package_id for printing when we print an error (Richard Hughes)
 - yum: fix the broken metadata ISO8601 encoded update detail values (Richard Hughes)
 - yum: check the filename is valid before exploding when yum fails on us. Fixes rh#537381 (Richard Hughes)
 - yum: don't fail with a crypic message if a package is being searched for is in a repo no longer available (Richard Hughes)
 - yum: throw errors from _findPackage which mackes it much easier to report different types of errors (Richard Hughes)
 - yum: Protect more against repos that get disabled (Richard Hughes)
 - yum: put a file monitor on /etc/yum.repos.d and signal RepoListChanged when it is manually changed (Richard Hughes)
 - yum: protect against yum, rpm and glibc from being removd manually or as deps in RemovePackages() (Richard Hughes)
 - yum: Only check certain transaction elements, not all of them. Fixes rh#541645 (Richard Hughes)

New Features:
 - Add a --plain option to pkcon to better support not-running with a console (Richard Hughes)
 - Moved get_distro id to a daemon property (Daniel Nicoletti)
 - Fixed one old call to get_distro_id and changed all identifiers to distro;version;arch (Daniel Nicoletti)
 - Make the scan for desktop files be recursive (Daniel Nicoletti)

Bugfixes:
 - Reverse version order for unstable versions to match (Carlo Marcelo Arenas Belon)
 - Refactor download instructions for precompiled packages (Carlo Marcelo Arenas Belon)
 - Fixed python session example (Daniel Nicoletti)
 - Updated the Faq and example.catalog to match the new distro id (Daniel Nicoletti)
 - pkcon: search provides for ANY instead of CODEC (Daniel Nicoletti)
 - cnf: don't exit before we try to search if no alternatives were found (Richard Hughes)
 - cnf: handle the error condition where the package name would be invalid. Fixes rh#533014 (Richard Hughes)
 - cnf: after a successful installation, re-exec new binary not command-not-found. Fixes rh#533554 (Richard Hughes)
 - Ensure we use the unique package id for the de-duplication filter dictionary. Fixes gnome#601246 (Richard Hughes)
 - cnf: handle the error condition where the package name would be invalid. Fixes rh#533014 (Richard Hughes)
 - cnf: after a successful installation, re-exec new binary not command-not-found. Fixes rh#533554 (Richard Hughes)
 - cnf: when we search for available files, use our preferred arch. Fixes rh#534169 (Richard Hughes)
 - Ensure the update detail ISO8601 dates are formatted correctly before they are sent to the daemon (Richard Hughes)
 - Switch the signed install permission to require the root password (Richard Hughes)
 - Rename three methods in the unstable glib2 library so we are ready for 0.6.x in December (Richard Hughes)
 - Update to a better version of the egg-debug code (Richard Hughes)
 - cnf: Run the newly installed file sync so we can return a proper exit code. Fixes rh#540482 (Richard Hughes)
 - Fix a potential crash when pkcon gets a restart-required signal (Richard Hughes)
 - pkcon: Add a message when there are no updates (Richard Hughes)
 - pkcon: Add a return code for pkcon of 5 for 'nothing useful was done' (Richard Hughes)
 - cron: Only email when a useful action was done. Fixes rh#540949 (Richard Hughes)
 - Fix up the free license checker to include the free font licenses too (Richard Hughes)
 - Use the license generator to update the list of free licenses to include font licences. Fixes rh#519394 (Richard Hughes)
 - Ensure we return a very big number if we ask for the time since a role completed, and the role has never completed (Richard Hughes)
 - Do not split more than one locale hint to fix setting LC_ variables. Fixes rh#543716 (Richard Hughes)
 - Do not abort the daemon if the desktop database is invalid or corrupt (Richard Hughes)
 - Remove the two-line title in the custom PolicyKit dialog for install (Richard Hughes)

Version 0.5.4
~~~~~~~~~~~~~
Released: 2009-11-02

Translations
 - Updated translation for Japanese (hyuuga)
 - Updated translation for Tamil (ifelix)
 - Updated translation for Brazilian Portuguese (igor)
 - Updated translation for Serbian (kmilos)
 - Updated translation for Ukrainian (mvdz)
 - Updated translation for Italian (perplex)
 - Updated translation for Portuguese (ruigo)
 - Updated translation for Greek (thalia)

Backends
 - apt: Add support for allow_deps of RemovePackages (Sebastian Heinlein)
 - apt: Add support for only_trusted (Sebastian Heinlein)
 - apt: Add support for SimulateInstallFiles (Sebastian Heinlein)
 - apt: Add support for Simulate(Install|Remove|Update) (Sebastian Heinlein)
 - apt: Allow file name alternation in SearchFile (Sebastian Heinlein)
 - apt: Don't fail if the syslog daemon is not available (Sebastian Heinlein)
 - apt: wait until the lock is freed again rather than failing straight away (Sebastian Heinlein)
 - apt: Make the InstallProgress more safe to not fail dpkg triggers messages (Sebastian Heinlein)
 - apt: Only use apt-file when not searching exclusively for installed packages (Sebastian Heinlein)
 - apt: Optionally make use of apt-file to search for files in not installed packages (Sebastian Heinlein)
 - apt: Respect the SearchFile value specification (Sebastian Heinlein)
 - aptcc: Added install/remove/update support in non-interactive mode (Daniel Nicoletti)
 - aptcc: cleaned lots of unused code, merged the dist-upgrade code (Daniel Nicoletti)
 - aptcc: Emit a useful message while conffiles are not well handled (Daniel Nicoletti)
 - poldek: Implemented SimulateInstallPackages, SimulateRemovePackages and SimulateUpdatePackages (Marcin Banasiak)
 - urpmi: Added get_repo_list method implementation (Aurelien Lefebvre)
 - urpmi: Added repo_enable method implementation (Aurelien Lefebvre)
 - yum: Add a few more entries in the yum-comps mapping (Richard Hughes)
 - yum: Disable repos that are not contactable (Richard Hughes)
 - yum: Only advertise GetDistroUpgrades if the preupgrade binary is present (Richard Hughes)
 - yum: Copy the check for .src.rpm packages to the simulate phase to fix rh#530264 (Richard Hughes)
 - zypp: Add support for get_mime_types (Scott Reeves)

New Features
 - Add a vtable entry get_roles() to allow the backend to override what is advertised by the daemon (Richard Hughes)
 - glib2: Add an 'idle' parameter to PkClient to show when all pending transactions have finished (Richard Hughes)
 - glib2: Add a package property to PkProgress so we can track the complete package object (Richard Hughes)
 - packagekit-qt: Updated the API to have all the new enums and use the properties (Daniel Nicoletti)

Bugfixes:
 - Add the missing InstallSignature role from the backend auto-detection. Fixes rh#530945 (Richard Hughes)
 - Ensure we emulate FINISHED correctly for non-simultaneous backends (Richard Hughes)
 - Raise some of the DoS limits in the config file as it causes gnome-shell not to install properly (Richard Hughes)
 - cnf: don't exit before we try to search if no alternatives were found (Richard Hughes)
 - Fix up some html problems (Carlo Marcelo Arenas Belon)
 - Don't prompt for the authentication dialog when we set the proxy to the same as it was before (Richard Hughes)
 - Ensure we print a newline if command-not-found finds exactly 0 possible results (Richard Hughes)
 - Ensure we save the proxy to the database even without PolicyKit (Richard Hughes)
 - glib2: ensure we send PK_STATUS_ENUM_FINISHED even if the transaction has failed (Richard Hughes)
 - glib2: Fix a TODO where we would show the original package on the simulate screen of glib2 applications (Richard Hughes)
 - glib2: Only set the package-id in PkProgress if LastPackage has been ever set (Richard Hughes)
 - glib2: Remove all the finished packages before we pass the result to a simulate handler (Richard Hughes)
 - glib2: Rename the 'id' parameter 'package-id' so it matches the other objects (Richard Hughes)
 - gtk-module: Check the language code exists before we search for it. Fixes half of rh#531105 (Richard Hughes)
 - packagekit-qt: Fixed filters bug (Daniel Nicoletti)
 - When cancelling, don't check the UID if the sender matches (Richard Hughes)

Version 0.5.3
~~~~~~~~~~~~~
Released: 2009-10-05

Notes:
 - Quite a few method and property additions and clarifications to the spec,
   with 7 methods now deprecated. We'll be supporting the deprecated methods all
   through 0.5.x so client code does not have to worry until 0.6.x.
 - Support for using idle bandwidth, disk and CPU in some circumstances.
 - A new 'slapt' backend for slackware packages as a preview release.
 - This is the first release to use the glib2 library internally. This makes the
   client tools faster, more stable and more supportable. The headers are also
   now used in the daemon and many of the synchronous methods are now async.
   It is not yet recommended for external client programs use packagekit-glib2
   as the API is not yet set in stone and may change. This is expected in 0.6.x.

Specification
 - Add a Speed property to the interface as some users require the download speed (Richard Hughes)
 - Add a per-Transaction ::Changed() signal and deprecate the other FooChanged() signals (Richard Hughes)
 - Add OR delimiters to SearchName, SearchDetails, SearchGroup, SearchFile and WhatProvides (Richard Hughes)
 - Add ElapsedTime and RemainingTime as properties on the Transaction interface (Richard Hughes)
 - Mandate that ::Files() from DownloadPackages must be one per package, with the package_id set correctly (Richard Hughes)
 - Deprecate SetLocale() and add another method to replace it, SetHints() (Richard Hughes)
 - Deprecate ::Locked() and ::NetworkStateChanged() and add properties and a ::Changed() signal (Richard Hughes)

Translations
 - Updated translation for Assamese (amitakhya)
 - Updated translation for Bengali (runab)
 - Updated translation for Brazilian Portuguese (igor)
 - Updated translation for Catalan (xconde)
 - Updated translation for Chinese Simplified (cyrushmh)
 - Updated translation for Czech (hunter688)
 - Updated translation for Danish (kristho)
 - Updated translation for Dutch (warrink)
 - Updated translation for Finnish (vpv)
 - Updated translation for Gujarati (swkothar)
 - Updated translation for Hindi (rajesh)
 - Updated translation for Hungarian (kelemeng)
 - Updated translation for Italian (perplex)
 - Updated translation for Japanese (hyuuga)
 - Updated translation for Kannada (shanky)
 - Updated translation for Malayalam (anipeter)
 - Updated translation for Marathi (sandeeps)
 - Updated translation for Oriya (mgiri)
 - Updated translation for Polish (raven)
 - Updated translation for Portuguese (ruigo)
 - Updated translation for Punjabi (aalam)
 - Updated translation for Punjabi (jassy)
 - Updated translation for Russian (sergeyr)
 - Updated translation for Serbian (kmilos)
 - Updated translation for Spanish (beckerde)
 - Updated translation for Spanish (fgonz)
 - Updated translation for Swedish (yeager)
 - Updated translation for Tamil (ifelix)
 - Updated translation for Telugu (kkrothap)
 - Updated translation for Ukrainian (mvdz)

Backends
 - alpm: migrated to new packagekit-glib2 library (Valeriy Lyasotskiy)
 - alpm: fixed download_files to comply with new spec (Valeriy Lyasotskiy)
 - aptcc: Fix aptcc to work with glib2 (Daniel Nicoletti)
 - dummy: Do the resolve in an idle loop, not just sync (Richard Hughes)
 - dummy: Match the new spec for DownloadPackages (Richard Hughes)
 - opkg: Require opkg in version greater or equal than 0.1.5, not just equal 0.1.5 (Sebastian Krzyszkowiak)
 - poldek: Make it compile with pk-glib2 (Marcin Banasiak)
 - slapt: Add new backend for Slackware packages (Anders F Bjorklund)
 - smart: Fix get_mime_types for slack (Anders F Bjorklund)
 - smart: Use noninteractive debconf (Anders F Bjorklund)
 - yum: Add moblin-desktop to desktop-other metagroup (Richard Hughes)
 - yum: Be more agressive about not downloading all metadata before we do anything (Richard Hughes)
 - yum: Catch RepoError in one more place if the yum sqlite is malformed (Richard Hughes)
 - yum: Disable MediaGrabber until we have a backend we can use by default (Richard Hughes)
 - yum: Don't explicitly download the file lists as we're not globbing (Richard Hughes)
 - yum: Fix yum-comps-groups.conf to bring back the Xfce packages (Christoph Wickert)
 - yum: Match the new spec for DownloadPackages (Richard Hughes)
 - yum: Support the OR delimitors for the search methods (Richard Hughes)
 - yum: Support using idle bandwidth in special circumstances (Richard Hughes)

New Features
 - cnf: Print more status values now they are translated for us (Richard Hughes)
 - daemon: Add a check to ensure that ::Files() are sent for DownloadPackages (Richard Hughes)
 - daemon: Add a PkTransaction warning if a backend does not download files to the specified directory (Richard Hughes)
 - debuginfo-install: Add a --noninteractive command line option to suppress the simulate (Richard Hughes)
 - Add a --enable-glib configure entry, but default this to TRUE (Richard Hughes)
 - Add a compile time agreement of API unstableness in any external tools using the glib2 library (Richard Hughes)
 - Add a developer tool to download the Fedora licensing page and parse it for free licenses (Richard Hughes)
 - Add an initial version of the glib1->glib2 migration document (Richard Hughes)
 - Add an option to use idle bandwidth when we are getting the update lists (Richard Hughes)
 - Add two new new package status 'Decompressing' and 'Preparing' (Daniel Nicoletti)
 - Add --noninteractive and --idle command line switches to pkcon (Richard Hughes)
 - Add some more translations to make the output of pkcon better in non-English locales (Richard Hughes)
 - Allow multiple search terms in packagekit-glib2, and add support in the client programs (Richard Hughes)
 - Convert all the daemon to use the new glib2 headers (Richard Hughes)
 - Schedule non-idle tasks before idle tasks (Richard Hughes)
 - Monitor network-status in pkmon (Richard Hughes)
 - Store the is-idle information in the backend and use it as a policy choice (Richard Hughes)
 - Switch the doc-generation to glib2 (Richard Hughes)
 - Use different values of BackendSpawnNiceValue and BackendSpawnIdleIO when we are idle or not-idle (Richard Hughes)
 - glib2: Make PkControl cancel pending DBus calls when cancelled (Richard Hughes)
 - glib2: Make the PkItem structures refcountable (Richard Hughes)
 - glib2: Add an 'idle' parameter to PkSpawn (Richard Hughes)
 - glib2: Add a PkTransactionList class which is like a stripped down glib1 PkTaskList (Richard Hughes)
 - glib2: Add a simulate property to PkTask so the simulate step can be supressed if it would be run (Richard Hughes)
 - glib2: Add a transaction-id property to PkProgress (Richard Hughes)
 - glib2: Add a transaction-id property to PkResults (Richard Hughes)
 - glib2: Add helper alias to get corresponding fields from the results of pk_package_id_split (Valeriy Lyasotskiy)
 - glib2: Add pk_client_get_progress_async() so we can peek at the transaction without adopting it (Richard Hughes)
 - glib2: Add some self tests that fail for downloading (Richard Hughes)
 - glib2: Add the missing pk_client_adopt() function to PkClient (Richard Hughes)
 - glib2: Add two properties to PkClient, idle and interactive (Richard Hughes)
 - glib2: Add UID attribute to PkProgress (Richard Hughes)
 - glib2: Allow getting the complete PkProgress object from PkResults (Richard Hughes)
 - glib2: Copy non-native files before we try to install them to avoid GUI clients having to do this (Richard Hughes)
 - glib2: Export the locale as a read-write property on PkClient (Richard Hughes)
 - glib2: Port PkCatalog from glib1, and speed things up by an order of magnitude (Richard Hughes)
 - glib2: Print warning if pk_progress_bar_set_percentage() is called before pk_progress_bar_start (Richard Hughes)
 - glib2: Ship the -sync versions of PkClient and PkControl in the shared library (Richard Hughes)
 - glib2: Split out pk-client-sync.[c|h] from the shared console code (Richard Hughes)
 - glib2: Use SetHints() rather than SetLocale(), and pass the idle and interactive hints (Richard Hughes)

Bugfixes:
 - browser-plugin: Don't unref plugin twice to fix a crash when firefox is closed (Richard Hughes)
 - Actually make the PackageKit GTK module resident (Matthias Clasen)
 - Add a check for glib-2.0 >= 2.22.0 for the new glib2 library (Richard Hughes)
 - Call dbus_g_thread_init() in the client tools, even though nothing bad seems to happen if we dont (Richard Hughes)
 - Don't free stuff allocated by fontconfig with g_free (Matthias Clasen)
 - Don't set the last element to NULL in pk_ptr_array_to_strv (Richard Hughes)
 - Do the legacy fallback in the daemon, not generally, else we try to run methods that do not exist (Richard Hughes)
 - Emit the correct transaction-id in the glib2 PkTransactionList code (Richard Hughes)
 - Ensure we invalidate the updates cache every time the daemon sends updates-changed. Fixes rh#523593 (Richard Hughes)
 - Exit pk-command-not-found with 127 when we have not run a program. Fixes rh#527044 (Richard Hughes)
 - Fix a client crash when we're doing a simulated install of a local package (Richard Hughes)
 - Fix a couple of crashers in pk_transaction_pre_transaction_checks (Richard Hughes)
 - Fix double free in pk-gstreamer-install which caused a crash. Fixes rh#526600 (Dave Airlie)
 - Localise the info enums in pkcon (Richard Hughes)
 - Read unbuffered input rather than using ungetc. Fixes rh#522679 (Richard Hughes)
 - Refresh the free licenses we can parse from the Fedora wiki. Fixes rh#519394 (Richard Hughes)
 - cnf: Directly install packages using PkTaskText rather than calling out to pkcon (Richard Hughes)
 - cnf: Don't print critical warnings if run with no arguments (Richard Hughes)
 - contrib: Fix crash on 64 bit architectures in the plugin installer. Fixes rh#523861 (Richard Hughes)
 - debuginfo-install: Correctly list all the dependant packages (Richard Hughes)
 - glib2: Don't stomp on state->call when the interface changes (Richard Hughes)
 - glib2: Don't use weak pointers, use a proper reference to avoid clearing the proxy (Richard Hughes)
 - glib2: Ensure we call the progress callback when initially setting the role in PkClient (Richard Hughes)
 - glib2: Check for OOM and connection failure in PkClient and PkControl (Richard Hughes)
 - glib2: Don't append blank version and arch sections in pk_package_id_to_printable (Richard Hughes)
 - glib2: Use ARCH and NEWEST filters when getting the deps for a service pack (Richard Hughes)
 - glib2: We're treating PK_foo_ENUM_UNKNOWN as a delimiter, but it's actually part of the ABI. Use PK_foo_LAST (Richard Hughes)
 - glib: Use the newest filter when getting catalog data (Richard Hughes)
 - packagekit-qt: Fix crash when using getOldTransactions to get uid (Daniel Nicoletti)
 - packagekit-qt: Fix simulateInstallPackage call (Daniel Nicoletti)
 - pkcon: When removing packages, allow removal of deps too (Richard Hughes)
 - pkmon: Don't print transactions before we have properties set (Richard Hughes)

Version 0.5.2
~~~~~~~~~~~~~
Released: 2009-09-07

Notes
 - A new read-only backend for FreeBSD Ports.
 - New Simulate* methods added to find out what a transaction will do.
 - Resove() now accepts a package_id as well as a package name.
 - New properties on the DBus interfaces, with the old methods deprecated.
 - The new packagekit-glib2 library is experimental and unstable, but is designed to
   replace the old packagekit-glib library long term. Early testing welcomed.

Translations
 - Updated translation for Malayalam (anipeter)
 - Updated translation for Spanish (beckerde)
 - Updated translation for Greek (charnik)
 - Updated translation for Korean (eukim)
 - Updated translation for Czech (hunter688)
 - Updated translation for Tamil (ifelix)
 - Updated translation for Brazilian Portuguese (igor)
 - Updated translation for German (kenda)
 - Updated translation for Spanish (logan)
 - Updated translation for Oriya (mgiri)
 - Updated translation for Ukranian (mvdz)
 - Updated translation for Slovak (palos)
 - Updated translation for Hindi (rajesh)
 - Updated translation for Polish (raven)
 - Updated translation for Portuguese (ruigo)
 - Updated translation for Bengali (runab)
 - Updated translation for Marathi (sandeeps)
 - Updated translation for Gujarati (swkothar)
 - Updated translation for Finnish (vpv)
 - Updated translation for Dutch (warrink)
 - Updated translation for Catalan (xconde)

New Features
 - Make the browser plugin interaction better (Matthias Clasen)
 - Add more plugin polish with coloured backgrounds and curved edges (Matthias Clasen)
 - Add FreeBSD distro IDs (Anders F Bjorklund)
 - Add the external D-Bus methods for Simulate (Daniel Nicoletti)
 - Simulate installing packages and files in pkcon if possible (Daniel Nicoletti)
 - Use SimulateRemovePackages in preference to GetRequires in pkcon (Daniel Nicoletti)
 - Print the different types of action from simulate with a different list prefix in pkcon (Richard Hughes)
 - Add the device rebinding functionality required for the session to install drivers (Richard Hughes)
 - Add PK_PROVIDES_ENUM_POSTSCRIPT_DRIVER for the new foomatic functionality (Richard Hughes)
 - Add a very early version of the glib2 asynconous library (Richard Hughes)
 - Allow resolve to match on an exact package_id (Richard Hughes)
 - Add properties to the transaction and daemon interface and deprecate the old methods (Richard Hughes)
 - Property names have to be WindowsStyleCaps (Richard Hughes)

Bugfixes
 - Avoid realpath segfault on freebsd (Anders F Bjorklund)
 - Use correct configure test for newer polkit (Christopher Aillon)
 - Detect the new libnm-glib name as well as the old libnm_glib (Richard Hughes)
 - Send percentage-invalid when setting up the transaction and waiting for authentication (Richard Hughes)
 - Create log file with correct permissions (Valeriy Lyasotskiy)
 - Fixup the package types if we are emulating the simulate methods (Daniel Nicoletti)
 - PackageKit browser plugin must support windowed mode (Martin Stransky)
 - The managed library feature needs gapi-sharp to build (Mounir Lamouri)
 - Remove unused docbook-docs option add man-pages option to build man pages (Mounir Lamouri)
 - Fix packagekit-qt dep: cppunit is needed only when building tests (Mounir Lamouri)
 - Add a check for ConsoleKit and warn the user if not found (Mounir Lamouri)
 - Add some error checking when we try to parse package_ids, to avoid segfaulting on bad backends (Richard Hughes)
 - Handle not having ConsoleKit available more gracefully (Richard Hughes)
 - Add some error detection in command-not-found if the daemon cannot be started (Richard Hughes)
 - Don't run the helper script in command-not-found when dbus is not running. Fixes fd#23149 (Richard Hughes)
 - Removing packages should invalidate the updates cache. Fixes rh#516457 (Richard Hughes)
 - If there is no HAL, don't segfault when unloading PkInhibit (Richard Hughes)
 - Add a CanAuthorize method to the daemon to know if the daemon will show an authentication window (Richard Hughes)
 - Reduce the amount of GUI interaction in the web plugin (Richard Hughes)
 - Make 'pkcon update foo' actually work (Richard Hughes)
 - Change the pkcon repo-list output to be more normal. Fixes rh#520330 (Richard Hughes)
 - Make the number on the progressbar track the actual percentage in debuginfo-install (Richard Hughes)
 - Remove the trailing newline from fgetc in pkcon so multiple requests work (Richard Hughes)
 - For backends without simulate, we need to emit the original packages before we fall back (Richard Hughes)
 - Fix up some return values in the event of an error. Spotted by clang (Richard Hughes)
 - Fix up the python example in the FAQ (مؤيد السعدي)

Libraries
 - glib: Add pk_control_can_authorize() as a client helper (Richard Hughes)
 - glib: Fix up the self tests after recent error change (Richard Hughes)
 - glib: Trap errors from simulate clients in the same way as the other methods (Richard Hughes)
 - glib: Fix up the PkControl properties with the interface change (Richard Hughes)
 - glib: Fix up a few shared files so glib2 can build with Werror flags set (Richard Hughes)
 - glib: Don't assert the client if new properties are added to the interface (Richard Hughes)
 - glib: Add the glib client helpers for Simulate (Daniel Nicoletti)
 - glib: Add a 'status' property to PkClient (Richard Hughes)
 - qt: Update the API to match PK 0.5, and handle DBus errors better (Adrien Bustany)
 - qt: Fix undefined symbol daemonErrorFromDBusReply (Adrien Bustany)
 - qt: Properly remove the old PolicyKit files (Adrien Bustany)
 - qt: Never return null when expecting a Transaction (Adrien Bustany)
 - qt: Fix wrong signal connection in transaction.cpp (Adrien Bustany)
 - qt: Fix a bug where the error state of a transaction wouldn't be initialized (Adrien Bustany)
 - qt: Update Transaction::Status enum (Adrien Bustany)
 - qt: Add simulate support (Adrien Bustany)
 - qt: Add additionnal methods to preserve API with earlier versions (Adrien Bustany)
 - qt: Add const qualifier on some methods (Adrien Bustany)
 - qt: Migrate to the new properties based API (Adrien Bustany)
 - qt: Remove unused qt-gui dep (Mounir Lamouri)
 - qt: Removed default values from getDepends, getRequires and removePackages (Daniel Nicoletti)
 - python: Add the simulate stuff to the common python class (Richard Hughes)

Backends
 - alpm: Code cleanup in cb_trans_evt; honor dependencies when installing package (Valeriy Lyasotskiy)
 - alpm: Migrate to pacman 3.3 branch (Valeriy Lyasotskiy)
 - alpm: Fix GetDepends by removing obsolete code; set correct error when package_id was not correct (Valeriy Lyasotskiy)
 - alpm: Added support for resolving by package_id (Valeriy Lyasotskiy)
 - apt: Use dist-upgrade to detect installable upgrades (Sebastian Heinlein)
 - apt: Do not calculate updates using the dist-upgrade method (Sebastian Heinlein)
 - apt: UpdatePackages should not fail on already up-to-date packages (Sebastian Heinlein)
 - apt: Workaround a bug in python-apt which would mark upgraded packages as not automatic installed (Sebastian Heinlein)
 - apt: Don't allow to install updates in UpdatePackages which would remove already installed packages (Sebastian Heinlein)
 - apt: Do not allow to update not installed packages (Sebastian Heinlein)
 - apt: Also use removal detection and action groups for InstallPackages (Sebastian Heinlein)
 - apt: Make use of the problem resolver to detect conflicting installs/updates (Sebastian Heinlein)
 - apt: Enhance also the removal of packages by action group and resolver (Sebastian Heinlein)
 - apt: Use the enhanced safe upgrade for update-system (Sebastian Heinlein)
 - apt: Don't use the resolver to detect additional safe upgrades since they should not introduce any problems (Sebastian Heinlein)
 - apt: Emit a warning message if an untrusted package gets installed (Sebastian Heinlein)
 - apt: Optimize update calculation by using the problem resolver directly (Sebastian Heinlein)
 - apt: Fix an old reference of a method of the former D-Bus based frontend (RequireRestart) (Sebastian Heinlein)
 - apt: Only send dbus cache changed signal if system dbus is running. Thanks to Michael Biebl! (Sebastian Heinlein)
 - apt: Use the resolver in get-requires and get-depends (Sebastian Heinlein)
 - apt: Fix resolver handling for removing packages. They have to be protected (Sebastian Heinlein)
 - apt: Fix the not auto installed marking of upgrades (Sebastian Heinlein)
 - apt: Speed up searching for the package name by creating only the matching packages (Sebastian Heinlein)
 - apt: Emit results in the details search as soon as possible. Furthermore use a more modern syntax in the xapian search (Sebastian Heinlein)
 - apt: Improve APT cache based search-details by using a more modern syntax(Sebastian Heinlein)
 - apt: Workaround a regression in python-apt 0.7.12 which only allows strings as keys for packages in the cache dict (Sebastian Heinlein)
 - apt: Unset LC_ALL to gain support for translated descriptions (Sebastian Heinlein)
 - apt: Fix distro upgrade call (Sebastian Heinlein)
 - apt: Fix wrong media type enum (Sebastian Heinlein)
 - apt: Remove not required imports (Sebastian Heinlein)
 - apt: Make use of the new RepoMetadataDownloadFailed message (Sebastian Heinlein)
 - apt: Do not sort the apt.Cache, since it slows down the whole process a lot (Sebastian Heinlein)
 - aptcc: Fix search-file to search for just one file (Daniel Nicoletti)
 - aptcc: Fixed resolve and added simulate (Daniel Nicoletti)
 - aptcc: Added proxy support and simplified setlocale (Daniel Nicoletti)
 - aptcc: Added non interactive mode to dpkg (Daniel Nicoletti)
 - aptcc: Fix to handle packages ids in resolve (Daniel Nicoletti)
 - dummy: Add simulate-install-packages for testing
 - dummy: Respect the filter settings (Daniel Nicoletti)
 - dummy: Support resolve by exact package_id (Richard Hughes)
 - dummy: Add progress updates to resolve (Richard Hughes)
 - dummy: Add _use_trusted support to install_files (Richard Hughes)
 - opkg: Fix installing and removing multiple packages at once (Sebastian Krzyszkowiak)
 - portage: get-details returns a size when a package is installed (Mounir Lamouri)
 - portage: Clean lock usage (Mounir Lamouri)
 - portage: Better managing of cyclic dep in get_requires (Mounir Lamouri)
 - portage: Search-name is now category aware (Mounir Lamouri)
 - portage: Fix repo-list (Mounir Lamouri)
 - portage: Fix search-files doublon results when a package has many files with the key in the name (Mounir Lamouri)
 - portage: Remove removed packages from world set  by adding them to favorites (Mounir Lamouri)
 - portage: -get-details show a cleanier LICENSE info -get_metadata is now able to add cache keys -misc cleaning (Mounir Lamouri)
 - portage: -move id_to_cpv() to the class -call self.error(ERROR_PACKAGE_ID_INVALID) instead of raising exception (Mounir Lamouri)
 - portage: -search-details now search for real (updated) license -refactoring (Mounir Lamouri)
 - portage: Block interactive packages to be used via the backend (Mounir Lamouri)
 - portage: Use MESSAGE_CONFIG_FILES_CHANGED to inform the user about updated configuration files (Mounir Lamouri)
 - portage: Send an error if an ebuild with RESTRICT='fetch' is in the installation list (Mounir Lamouri)
 - portage: Add some status info to install-packages, update-packages and update-system (Mounir Lamouri)
 - portage: Use ERROR_DEP_RESOLUTION_FAILED if generating depgraph fails (Mounir Lamouri)
 - portage: Show elog messages when installing (Mounir Lamouri)
 - portage: Use restricted-download error instead of download-failed for fetch restriction (Mounir Lamouri)
 - portage: Show elog messages when updating packages or system and when removing packages (Mounir Lamouri)
 - portage: Add error management when install/updating/removing (Mounir Lamouri)
 - ports: Configure and add backend (Anders F Bjorklund)
 - ports: Implement the remaining read-write items (Anders F Bjorklund)
 - ports: Need to use right error code for unsupported only_trusted (Anders F Bjorklund)
 - ports: Implement download-packages and install-files (Anders F Bjorklund)
 - ports: Implement the newest group (Anders F Bjorklund)
 - ports: Implement vuxml for get-update-detail (Anders F Bjorklund)
 - ports: Use update, not fetch (Anders F Bjorklund)
 - smart: Fix duplicatation bug with cve/bugzilla urls (Anders F Bjorklund)
 - smart: Implement only_trusted (Anders F Bjorklund)
 - smart: Remove the what-provides feature (Anders F Bjorklund)
 - yum: If we're on RHEL, then preupgrade functionality isn't available (Dennis Gregorovic)
 - yum: Include the releasever in the updates link. Fixes rh#457358 (Richard Hughes)
 - yum: Add the PROVIDES_POSTSCRIPT_DRIVER prefix for Fedora (Richard Hughes)
 - yum: Fix bad date formatting in update descriptions. Fixes rh#516700 (Richard Hughes)
 - yum: Add a simple implimentation of SimulateInstallFiles (Richard Hughes)
 - yum: Pretect against broken repo ChangeLog metadata. Fixes rh#519083 (Richard Hughes)
 - yum: Support SimulateInstallFiles properly (Richard Hughes)
 - yum: Check for initialisation failures in more cases (Richard Hughes)
 - yum: Don't check for unfinished transactions when the cache is lazy loaded (Richard Hughes)
 - yum: Setect yum.Errors.RepoError in more places, rather than backtracing (Richard Hughes)
 - yum: Use NotImplementedError to fix a backtrace (Tim Lauridsen)
 - yum: DeviceKit implementation for mediarepo (مؤيد السعدي)

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: Explicitly 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 existence 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.

