2026-06-19 Mike Gabriel

        * Release 0.5.0 (HEAD -> main, tag: 0.5.0)

2026-03-12 Ratchanan Srirattanamet

        * Merge branch 'personal/gberh/qt6' into 'main' (d2a36a8)

2026-03-05 Guido Berhoerster

        * debian: Enable parallel build (d96e9c8)
        * Use imported targets for pkg-config-based dependencies (ec79e5c)
        * Enable GoogleTest and CTest integration (074fd07)
        * Integrate GoogleTest using its CMake package and imported targets
          (d5f0684)

2026-03-03 Guido Berhoerster

        * Increase copyright test timeout in order to avoid CI build failures
          (4457d7c)

2026-01-26 Guido Berhoerster

        * Fix include paths for headers test (a05f6e3)
        * Add missing include (5b4df8e)
        * debian: Ignore files in build directories in copyright and
          whitespace checks (d67427c)
        * Remove leftover bazaar files (1bef905)
        * Add build option to specify directories ignored by tests (2b2a9aa)

2026-01-12 Guido Berhoerster

        * Unwrap QFuture (47eeb77)
        * Fix return types (e911dff)
        * Fix QDateTime::fromTime_t usage (16825bd)
        * Fix ambiguous type in QString construction (818fe38)
        * Fix invalid cast (d04e52f)
        * Fix missing headers causing build failures with Qt 6 moc (26333b6)

2026-01-07 Guido Berhoerster

        * debian: Build packages for both Qt 5 and 6 (90e4593)

2026-01-08 Guido Berhoerster

        * Add prefix to Qt 6 libraries (ddf57e2)

2026-01-07 Guido Berhoerster

        * Add support for building against Qt 6 (c715c0d)

2026-01-09 Guido Berhoerster

        * Revert workaround for ancient gcc issue regarding cv-qualified
          references (1ab3f35)

2026-01-07 Guido Berhoerster

        * Do not hardcode PIC and symbol visibility in compiler flags
          (6261d76)
        * Do not hardcode C++ 14 in compiler flags and switch to C++ 17 for
          Qt 6 (adb35e1)
        * Bump minimum CMake version (0ebbd96)
        * debian: Remove redundant dh_missing invocation (93fd805)

2025-10-23 Mike Gabriel

        * Release 0.4.0 (d64ba96) (tag: 0.4.0)

2025-10-13 Mike Gabriel

        * Merge branch 'personal/fredldotme/noble-bringup' into 'main'
          (cc3612d)

2025-08-26 Alfred Neumayer

        * src/provider: Keep LSF_PROVIDER_API_VERSION in pkg-config name
          (a05898a)

2025-08-25 Alfred Neumayer

        * src/provider: Remove LSF_PROVIDER_API_VERSION from library name
          (3b49031)
        * Clear .gitignore (cf3d098)
        * debian: Reinstate no-parallel build (65c9e8c)

2025-08-20 Mike Gabriel

        * r/rules: Assure dh_missing --fail-missing option is used. (747304d)
        * d/control: Enable all hardening build flags. (1338aef)
        * d/control: Amend package descriptions of Qt5 client APIv1 / APIv2
          lib:pkgs. Avoid lintian warning of too short package
          descriptions. (6025cbb)
        * plugins/: Rename QML namespace from Ubuntu to Lomiri. (4dbe4a9)
        * d/control: Bump Standards-Version: to 4.7.2. No changes needed.
          (948c9b9)
        * d/copyright: Use https URL in Format: field. (a7b97a4)
        * d/rules: Drop --no-parallel. Build supports building parallelly.
          Drop --fail-missing, default in DH compat level 13.
          (a16b6fa)
        * d/{control,compat}: Bump to DH compat level version 13. (2d804f9)
        * d/lib*.install: Include SO_VERSION_MAJOR in filename globbings so
          we realized when to bump SO_VERSION_MAJOR in lib:pkg
          names. (78bc67f)
        * d/*.shlibs: Remove .shlibs files. Not required anymore nowadays.
          (1a4a032)

2025-08-19 Alfred Neumayer

        * treewide: Move binaries to libexec folder (b3c2d81)
        * debian: Rename ll-s-f-provider-1 to
          liblomiri-storage-framework-provider1 (96e85da)

2025-08-16 Alfred Neumayer

        * Update .gitignore (90e9e9c)

2025-07-24 Alfred Neumayer

        * Revert "debian: Ignore missing shlibdeps info" (dcfbeb9)
        * Apply 1 suggestion(s) to 1 file(s) (c1d9f5e)

2025-07-21 Alfred Neumayer

        * debian: Remove now-invalid comment (2e180f5)

2025-07-18 Alfred Neumayer

        * debian: Ignore missing shlibdeps info (ac8de79)
        * debian: Fix missed rename and versioning in shlibs file (353e264)

2025-07-16 Alfred Neumayer

        * debian: Remove unused file (aa63834)
        * tests: Use GTEST_SKIP for broken tests (99f9fc8)
        * debian: Use correct flag for non-parallel builds (fe6e485)
        * debian: Fix Maintainer field and missed rename (203c312)
        * debian: Rename missed shlibs file (26ea18e)

2025-07-14 Alfred Neumayer

        * debian: Resort to -j1 (3c9acee)

2025-07-08 Alfred Neumayer

        * cmake, include, src: sed-replace SF_CLIENT_API_VERSION (244d39a)
        * debian & tools: Cleanup & fixup (49876c0)
        * debian, src, cmake: Remove version from library file name (2cdca09)
        * debian: Restore history changelog entry (82d0ebc)
        * include: Rename missed macros (c1a4c3f)

2025-07-02 Alfred Neumayer

        * src/qt: Correct Cflags for qt-client.pc.in (8af7d29)
        * src: Also fix up paths to DBus activatiable services (7e38cc6)
        * src: Rename DBus service configs to Lomiri namespace (f4487e2)
        * src/qt: Point pkgconfig files to correct library names (5a3d381)

2025-07-01 Alfred Neumayer

        * Revert "debian: Only leave amd64 for running tests" (1b290b8)
        * Initial .gitignore (e9bcf8c)
        * debian: Remove Debian as build target for now (29e9b0a)
        * debian: Only leave amd64 for running tests (e398273)
        * tests: Hide last failing confusive test (52a5d59)
        * tests: Further disable known broken tests (c4f2f1c)
        * debian & tests: Multiple changes (72c8e53)
        * Version Bump (369f09a)
        * treewide: Finalize Lomiri renaming for now (5af6b85)
        * treewide: Further renamings to lomiri (875aefe)
        * src: Further renamings (c2a4d89)
        * debian: Rename install and shlibs files to lomiri (6201c70)
        * debian: Further lomiri renaming (2463581)
        * treewide: Rename to lomiri namespace (16a7318)
        * debian: Begin lomiri renaming (7863217)
        * debian: Remove old TODO (ff50f3f)

2025-06-29 Alfred Neumayer

        * treewide: Bringup to noble (90d2235)

2023-04-11 Marius Gripsgard

        * tests/: Correct dbus path to OnlineAccounts to lomiri rename
          (16b0951)

2023-04-10 Marius Gripsgard

        * [debian] Set version to allign with source format (d7dbecd)
        * [ubports] Add jenkinsfile (c998523)

2023-04-10 Alfred Neumayer

        * debian & src: Enable builds on focal & integrate with NextCloud
          provider (93e0fad)

2017-03-20 Bileto Bot

        * Releasing 0.3+17.04.20170320.1-0ubuntu1 (e1d4442)
        * Make providers exit after 30 seconds of inactivity. (LP:
          #1616758);  Add UnauthorizedException to the provider
          library, so the provider   can trigger reauthentication of
          the account and have the request   restarted. (LP:
          #1616756);  Dynamically add and remove providers as the
          associated accounts   are enabled and disabled. (LP:
          #1616757);  Allow creation of storage providers that don't
          use online-accounts.   Thisis likely only of interest to
          the local storage provider.;  Add a storage provider
          backed by the local file system.;  Move
          unity::storage::provider::Item to its own header file.
          (LP:   #1668872);  If a provider can't acquire its D-Bus
          well known name, exit rather   than throwing a (usually
          uncaught) exception. (LP: #1604640) (d16ee08)

2017-03-20 Michi Henning

        * Re-instated previous dummy debian/control file which got
          accidentally clobbered by merge from trunk. (fabd01d)
        * Merged devel for 0.3 release. (d9623e3)

2017-03-20 James Henstridge

        * Add tests for storage-framework-registry. (4178c91)

2017-03-17 James Henstridge

        * Add change log entries for some of the other landings with user
          visible changes. (73ecf19)
        * Add a test to exercise the ListAccounts method of the registry.
          (3530941)
        * Link registry code to registry test. (c06da20)

2017-03-17 Michi Henning

        * Use temporary dir for local provider test. (2ef57ac)
        * Add entry for local provider to list of accounts returned by
          registry. (93991e4)
        * Use temporary dir for local provider test. (990050e)
        * Move provider::Item definition into its own header file.
          Fixes:
          https://bugs.launchpad.net/bugs/1668872. (63db99a)

2017-03-17 James Henstridge

        * Move the client and provider libraries up to $SNAP/client/lib and
          $SNAP/provider/lib respectively.  Make sure webdav
          provider can find the provider library. (a6c0e37)

2017-03-17 Michi Henning

        * Add user name to account details. Fix object path. (23e5155)
        * Added proper local provider. (a7bf773)

2017-03-17 James Henstridge

        * Move location for content slots up to the top level, and fix launch
          script for webdav provider. (53692a0)

2017-03-17 Michi Henning

        * Merged devel. (31c432c)
        * Add local provider to accounts returned by registry. (8358733)
        * Updated debian Standards-Version. (2df58fc)
        * Renamed STORAGE_FRAMEWORK_ROOT to SF_LOCAL_PROVIDER_ROOT. Added
          .service file and fixed debian packaging. (175fbeb)
        * Ignore backup files ending in ~ in copyright test. Also ignore
          noise caused by snapcraft builds for copyright and
          whitespace tests. (04e7189)
        * Rename storage-framework -> storage-framework-service. (6c6d4f5)
        * Rename plug and slot: storage-framework ->
          storage-framework-service (f5b5fb9)
        * Allow Server::run() to return exit status and exit if it cannot
          register itself as a service on DBus.
          Fixes:
          https://bugs.launchpad.net/bugs/1604640. (815ce9f)
        * Added missing #include. (41216c3)
        * Add snap build support. (c2b9b84)
        * Added accidentally lost ~$ pattern back into copyright check.
          (c11bed7)

2017-03-16 Michi Henning

        * Review comments from James. (550734e)
        * Also ignore noise caused by snapcraft builds for copyright and
          whitespace tests. (8586bec)
        * Allow Server::run() to return exit status and exit if it cannot
          register itself as a service on DBus. (fde5d32)
        * Move provider::Item definition into its own header file. (6c12aeb)
        * Ignore files ending in ~ in copyright test. (05f714c)
        * Merged devel. (096e710)
        * Pay attention to SNAP_USER_DATA, plus other minor changes discussed
          with James. (a319463)

2017-03-15 Michi Henning

        * Using gobj_ptr now. (aa0756b)
        * Fix debian install file. (3cc4014)
        * Review comments from James. (e926c06)

2017-03-14 Michi Henning

        * Merged devel. (b9a5a3e)
        * 100% test coverage. (494aaf5)

2017-03-10 Michi Henning

        * tmp check-in. (6eff5c2)

2017-03-10 James Henstridge

        * If an empty service ID is passed to the Server<T> constructor,
          export a single instance of the provider without
          consulting online-accounts. (1643d0a)
        * Expose and hide providers on D-Bus as accounts are added and
          removed at runtime.
          Fixes:
          https://bugs.launchpad.net/bugs/1616757. (b5ccab6)

2017-03-10 Michi Henning

        * Temp check-in before stripping down test. (94498b7)

2017-03-09 James Henstridge

        * Allow passing a NULL account to TestServer, which will cause
          FixedAccountData to be used. (396b2ae)
        * If the service_id is empty, don't connect to online-accounts and
          instead export a single instance of the provider at
          "/provider/0" using the FixedAccountData class to manage
          the account data. (db8ea0d)
        * Add FixedAccountData class that bypasses online-accounts. (741b354)
        * Split AccountData into a virtual base class, and a subclass
          containing the OnlineAccounts integration code. (61ee5d8)

2017-03-09 Michi Henning

        * Initial local provider implementation. Test not yet complete.
          (8e67795)

2017-03-09 James Henstridge

        * Merge trunk into devel. (53e5009)
        * Update debian/changelog. (221c1fb)

2017-03-08 James Henstridge

        * Add a test to show that account details changes are handled
          correctly. (900733c)
        * Add test for adding a new account and having it show up on the bus.
          (8a089f6)
        * Add a test to show an account being unexported. (b73a349)

2017-03-07 James Henstridge

        * Add skeleton of Server/ServerImpl tests. (5cd8989)

2017-03-03 James Henstridge

        * Remove using directives from header file. (a52985d)
        * Add and remove accounts as OnlineAccounts reports them. (dd6f513)

2017-03-02 James Henstridge

        * When the account says it has changed, invalidate authentication
          data. (235ac30)

2017-02-24 Michi Henning

        * Added missing copyright header. (f9952d6)
        * Make snap-launch part of storage-framework part. (f16d2d8)
        * Unconditional coverage again. (59a6899)
        * Conditional coverage report. (8161310)
        * Added build-packages. (0473e5b)

2017-02-23 Michi Henning

        * Minor fixes. (90653de)

2017-02-22 Michi Henning

        * More changes to patch up paths and fix LD_LIBRARY_PATH. (7489153)

2017-02-17 Michi Henning

        * First cut at snapcraft.yaml with owncloud provider. (25070ba)

2017-01-30 James Henstridge

        * Add an UnauthorizedException that providers can use to signal when
          the credentials provided by online-accounts are invalid or
          have expired.
          Fixes:
          https://bugs.launchpad.net/bugs/1616756. (568a39c)

2017-01-27 James Henstridge

        * Update documentation based on Michi's review. (4f06e75)

2017-01-25 James Henstridge

        * Update debian/changelog (dc01c09)
        * Merge from devel (79b58f3)

2017-01-24 James Henstridge

        * Fix up handling of invalid credentials so that they actually get
          re-requested on failure. (9c1ecb2)
        * Don't call the ProviderBase implementation if authentication
          failed. (d3aee7b)
        * Expose Unauthorized error on the client side. (278f9ae)
        * Add a test to show UnauthorizedException being returned to the
          client. (3f6be20)
        * Add tests for throwing UnauthorizedException, and for requests
          requiring interactive authentication. (3eb6eb8)

2017-01-14 James Henstridge

        * Change retry flag to a boolean. (63fa009)

2017-01-13 Gary.Wzl

        * A quick fix to service name conflict between mcloud scope and its
          storage provider. Also added a new bus name for google
          drive provider. (4a12f27)

2017-01-13 James Henstridge

        * Retry on UnauthorizedException errors once. (edc448a)

2017-01-13 Gary.Wzl

        * One more fix in tests/utils/fake-online-accounts-deamon.py.
          (496e9b8)

2017-01-13 Michi Henning

        * Fixed memory leak in remote_client-test and ProviderFixture.
          Process pending events at end of tests to avoid bogus leak
          reports from valgrind. (7aa5136)

2017-01-13 Gary.Wzl

        * Fixed bus name for mcloud and added a new bus name for gdrive.
          (ee1a8a6)

2017-01-12 James Henstridge

        * Handle UnauthorizedException specially. (5baad06)
        * Move authenticate() call into Handler class. (7b2cbfc)

2017-01-12 Michi Henning

        * Process pending events at end of tests to avoid bogus leak reports
          from valgrind. (5e399c2)

2016-12-21 Michi Henning

        * Make providers exit after 30 seconds of inactivity. (LP: #1616758)
          (5368882)

2016-12-21 James Henstridge

        * Make providers exit after 30 seconds of idle time.
          Fixes:
          https://bugs.launchpad.net/bugs/1616758. (347b248)

2016-12-20 James Henstridge

        * Move initialisation of member variable to definition. (7fcaa14)
        * Make storage provider exit timeout configurable via environment
          variable. (f5942c5)

2016-12-20 Michi Henning

        * Added missing reset() for account manager in ProviderFixture.
          (ba74736)
        * Fix memory leak in remote-client_test. (a5fd004)
        * Skip tests that are pointless when running with valgrind. (41131fa)

2016-12-20 James Henstridge

        * Start changelog for next release. (911d6c4)
        * Add a message before exiting on idle. (ae2d74e)

2016-12-20 Michi Henning

        * Skip tests that are pointless when testing with valgrind. (7f537e4)

2016-12-20 James Henstridge

        * Add move semantics to ActivityNotifier, and have UploadJob and
          DownloadJob track activity. (f847289)
        * Make Handler keep track of its activity. (c4d2d04)
        * Simplify InactivityTimer further by letting the QTimer hold the
          timeout value. (912adf8)
        * Share InactivityTimer to AccountData object. (164d329)

2016-12-19 James Henstridge

        * Add InactivityTimer instance to ServerImpl. (37f8a27)
        * Manage timeout callback in InactivityTimer as a signal. (73dcff8)

2016-12-12 Michi Henning

        * Updated for new cmake-extras. Replaced debian/control with minimal
          dummy. (607039f)

2016-12-12 Bileto Bot

        * Releasing 0.2+17.04.20161212.1-0ubuntu1 (d433c15)
        * Fix for lp:1644577, fail list job if metadata for any item is
          incorrect.;  Always emit itemsReady(), even if list is
          empty.;  Improvements to error logging and detail in error
          messages: lp:1644577;  Added separate registry service.
          (a4e1ed6)

2016-12-12 Michi Henning

        * Replaced debian/control with minimal dummy. Updated control.in for
          new cmake-extras. (c6b8151)
        * Replaced debian/control with minimal dummy. Updated control.in for
          new cmake-extras. (96d2850)

2016-12-09 Michi Henning

        * Merged devel at r99 for merge to trunk. Updated changelog.
          (1b7b6d6)

2016-11-29 Michi Henning

        * Added a separate registry service. (89b2254)

2016-11-29 James Henstridge

        * Fix up "copyright" test. (a248be1)
        * Run with "set -eu" to make the shell script a little more robust.
          (7e13134)
        * Build-Depend on licensecheck, or a version of devscripts old enough
          to bundle licensecheck. (03f29c9)

2016-11-28 Michi Henning

        * Account::name() -> Account::displayName() (562faac)
        * Merged devel. (c4916c1)

2016-11-25 Michi Henning

        * Fixed a bunch of warnings caused by new gtest. (30d554b)
        * Fix for bug 1644577, fail list job if metadata for any item is
          incorrect. Always emit itemsReady(), even if list is
          empty. validate() failures now log the error. Lots of
          improvements to log messages to provide more detail.

          Fixes: https://bugs.launchpad.net/bugs/1644577. (b8d5c10)
        * Review comments from James. (0aaa50e)
        * Fix for bug 1644577, fail list job if metadata for any item is
          incorrect. Always emit itemsReady(), even if list is
          empty. validate() failures now log the error. Lots of
          improvements to log messages to provide more detail.
          (05447f6)

2016-11-23 Michi Henning

        * Fix a bunch of warnings exposed by new gtest. (d54b4fb)

2016-11-22 Michi Henning

        * Review comments from James. (d533a96)

2016-11-21 Michi Henning

        * Merged devel. (fe5ab30)
        * Review comments from James. (1d599aa)
        * Make ubuntu-system-settings-online-accounts a runtime dependency.
          (bdef91d)
        * Fix install path in registry .install file. (0fc683b)
        * Registry in separate package. (d6c9c89)
        * Removed redundant QDBusArgument inserter/extractor. Fixed macros
          for install locations. One more rename of provider_id ->
          bus_name. (112ae10)
        * Don't use temporary file names for header test. This hugely speeds
          up the header compilation tests if ccache is enabled.
          (1f141d1)
        * Use unique pointer for RegistryInterface. (ff30c9e)
        * Use QDBusObjectPath instead of QString. (f781b65)
        * Using o dbus format for bus name, and u dbus format for account id.
          Renamed AccountDetails members and Account methods to be
          clearer. (ca8b42c)
        * Removed env var for registry bus name. (6779de0)
        * Add test for double-inclusion of headers. (8e5eff0)

2016-11-18 Michi Henning

        * Added missing depedency of client-dev package on lib for v2 of the
          API. (fd24784)
        * Added missing depedency of client-dev package on lib for v2 of the
          API. (8e29b24)
        * Don't use temporary file names for header test. This hugely speeds
          up the header compilation tests if ccache is enabled.
          (abdce9d)
        * Merged devel. (21b2b87)
        * Remove prog_name from accounts manager; it doesn't work. (08d6a30)

2016-11-16 James Henstridge

        * Update fake-online-accounts-daemon.py to work with
          online-accounts-api 0.1+17.04.20161110-0ubuntu1. (f9ad59d)
        * Remove copy of online accounts introspection XML. (f85eb0f)
        * Update to work with online-accounts-api 0.1+17.04.20161110-0ubuntu1
          (6890189)

2016-11-15 Michi Henning

        * Merged trunk at revision at r14: Bileto Bot 2016-11-04 Releasing
          0.2+17.04.20161104-0ubuntu1 (e913fd8)
        * Merged devel. (7131914)
        * Client-side and testing support for registry. (851693f)
        * Use "storage-provider-test" instead of "google-drive-scope" for
          provider test account. (101755e)
        * Tests pass now if registry is started by hand. (a356c81)
        * Changed client-side implementation to use registry instead of
          online accounts. (5cc9254)

2016-11-11 Michi Henning

        * Packaging changes. (3b61736)

2016-11-10 Michi Henning

        * Fault seems to be moving. (0b26d26)
        * Registry now part of qt-client package. (983cfeb)
        * Dummy registry test. (60e991c)

2016-11-09 Michi Henning

        * Env var for registry timeout. (7a74dd8)

2016-11-08 Michi Henning

        * Fix whitespace. (430b4d4)
        * Added inactivity timer. (f0f85d2)
        * debian/control fixes. (5dee9cc)
        * Fix whitespace. (15ec658)
        * Updated debian for shared runtime. (3e1ef6a)
        * Fixed coverage build. (0ffb972)
        * Updated control. Without ubuntu-system-settings-online-accounts
          installed, the registry gets an error on start-up.
          (dd952ab)
        * Correctly registering adapter now. (70ecd51)
        * Complete implementation, not tested yet. (5ccd88f)

2016-11-07 Michi Henning

        * Registry in outline. CMakefiles and the like are working. (61a396c)

2016-11-04 Bileto Bot

        * Releasing 0.2+17.04.20161104-0ubuntu1 (a626461)
        * Added v2 of the client-side API.;  Updated server-side API to
          tell the provider which metadata to return.;  Update
          provider API to manager ProviderBase class as a
          shared_ptr.;  Update client to discover ownCloud/Nextcloud
          and OneDrive accounts.;  Add match_etag argument to
          Download() D-Bus method. (746436f)

2016-11-04 Michi Henning

        * Merged devel at revision 91. (a066a58)

2016-11-04 James Henstridge

        * Fix bileto_pre_release_hook for Zesty.  Add debian/*.shlibs files.
          (eab7a0f)
        * Fix up "auto generated" warning. (4d4a143)
        * Make copyright test pass. (8e5dc6b)

2016-11-04 Michi Henning

        * Changed Uploader and Downloader to derive from QIODevice. (5c91008)

2016-11-04 James Henstridge

        * Replace all occurences on a line (needed for substitution in shlibs
          file). (5080879)
        * Actually add shlibs files, and update .bzrignore. (05e1732)
        * Add shlibs files, and parameterise creation of install and shlibs
          files for provider binary package. (d057ba2)
        * Treat Zesty like Yakkety for the purposes of
          libstorage-framework-provider sonames.  They won't be
          identical once Zesty switches to Boost 1.62, but we may
          not update Yakkety by then. (85246ab)

2016-11-04 Michi Henning

        * Renamed finishUpload() and finishDownload() to close(). (2a9f126)
        * Review comments from James. (fa34925)
        * Added code to deal with synchronous wait on uploader. Not tested
          yet, because we need to make changes to the mock provider
          harness for this. (c998cf7)

2016-11-04 James Henstridge

        * Merge from trunk. (5876256)

2016-11-03 Michi Henning

        * Renamed Account accessors to reflect what we get from online
          accounts. A few fixes for QML:  - accounts property is no
          tied to a method that returns a QVariantList  - Changed to
          fully-qualified type names for Q_INVOKABLE methods, so QML
             doesn't complain about an unknown return type.
          (7d764e1)
        * Merged devel and resolved conflict. (b4c690e)

2016-11-03 James Henstridge

        * Add match_etag argument to Download D-Bus method. (4fe6852)

2016-11-03 Michi Henning

        * Review comments from James. (431db5b)

2016-11-03 James Henstridge

        * Merge from devel, fixing conflicts. (e1847fa)
        * Add service ID for ownCloud/Nextcloud and OneDrive providers.
          (50369a1)

2016-11-03 Michi Henning

        * Client-side changes for etag check on downloads. (53057a3)
        * Merged devel. (0529de2)

2016-11-03 James Henstridge

        * Update debian changelog. (9a27337)
        * Add match_etag argument to Download() D-Bus method.  Currently only
          exposed on the provider side: client side is still to-do.
          (a719852)

2016-11-03 Michi Henning

        * Merged devel and resolved conflicts. (2908445)
        * Removed the Account id() and serviceId() methods and replaced them
          with bus_name() and object_path(). Internally, for
          comparison, id and serviceId are still used, because a
          destroyed and re-created account isn't the same account.
          (20b6896)
        * Got rid of merge conflict file and redundant Q_INVOKABLEs.
          (735d7d3)

2016-11-02 James Henstridge

        * Add some changelog entries. (edad87e)
        * Add OneDrive, at Gary's request. (4f7b0af)

2016-11-02 Michi Henning

        * Reduce noise from fake online accounts daemon. (6233bbd)

2016-11-02 James Henstridge

        * Add service ID / D-Bus well known name for owncloud provider.
          (9e24aaf)

2016-11-02 Michi Henning

        * Moved metadata key definitions into common.h and move
          metadata_keys.h to include/unity/storage/internal so both
          client and server side can see them. Added commonly
          supported metadata keys. Removed free and used space
          methods (they are metadata now). No metadata validation
          for roots because Dropbox can't support that. (2892419)
        * Added custom type ostream operators for gtest so we get decent
          output when a QString comparison fails. (a8e3894)
        * Added string list param to all methods that return an item, so the
          client can specify which metadata values should be
          returned. (6b0299b)
        * Relaxed validation of etag so it applies only to files. (ae5f221)
        * Merged dependent branch. (8319956)
        * Merged dependent branch. (b25b3f2)
        * Fixed compile failure due to Qt header changes on Vivid. (a14a62f)
        * Merged dependent branch. (582323d)
        * Merged dependent branch. (d0bd8d0)
        * Got rid of MetadataKeys typedef. (3198f3b)
        * Renamed Account accessors to reflect what we get from online
          accounts. A few fixes for QML:  - accounts property is no
          tied to a method that returns a QVariantList  - Changed to
          fully-qualified type names for Q_INVOKABLE methods, so QML
             doesn't complain about an unknown return type.
          (a8f2138)

2016-11-01 Michi Henning

        * Reduce noise from fake online accounts daemon. (9e35017)
        * Suppress warnings from Qt headers. (93e19e4)
        * Added custom type ostream operators for gtest so we get decent
          output when a QString comparison fails. (ccc52e5)
        * Added tests for upload/download. (37aca8b)
        * Uploader derives from QIODevice now. (b5c86c1)
        * Downloader derives from QIODevice now. (7a07722)

2016-10-31 Michi Henning

        * Server-side API version back to 1. Updated changelog accordingly.
          (d8f8d75)
        * Updated changelog. Bumped API version. (edd1a25)
        * Coverage for metadata validation. (adaf0f7)
        * Added missing sizeInBytes() and implemented metadata(). (2c69f1b)
        * Fixed comment. (1f1fe0f)
        * Added commonly supported metadata keys. Removed free and used space
          methods (they are metadata now). No metadata validation
          for roots because Dropbox can't support that. (a60686b)
        * Moved metadata key definitions into common.h and move
          metadata_keys.h to include/unity/storage/internal so both
          client and server side can see them. (96dd28b)

2016-10-21 Michi Henning

        * Added string list param so client can specify metadata keys.
          (b5e1686)

2016-10-17 Michi Henning

        * Added createFile(). (82490a9)
        * Check policy for exists error. (0de5a4d)
        * Test to cover Exists error. (ba874f1)
        * Coverage tests for createFile. (2baaa97)

2016-10-13 Michi Henning

        * Implemented createFile(). No tests yet. (7abbf11)
        * Lots of upload tests. (85cbbf2)
        * Added lots of tests for upload. (2e671a3)
        * Merged devel. (8fd45fe)

2016-10-12 Michi Henning

        * Download implementation. (293a358)
        * Fixed more compiler warnings. (8e2d3da)
        * Two more Vivid errors. (13093f4)
        * Another fix for non-const reply argument. Added suppression for
          tons of warnings on Vivid from
          provider/internal/ProviderInterface.cpp. (95e65c8)
        * Work around compiler bug on Vivid:
          https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60420
          (6ea8776)
        * Got rid of DeletedError (not needed). Setting error info on
          cancallation now. (3a3a707)
        * Fixed typos. (52e2cdd)
        * Upload implementation with basic test only. (a101765)
        * Complete coverage for download. (270f1f2)

2016-10-11 Michi Henning

        * Intermediate check-in. Still race condition in cancel test, and a
          memory leak when downloader goes out of scope. (3b83705)
        * Log more provider errors. (4eaf5a7)
        * Log more provider errors. (c1d9e04)

2016-10-10 Michi Henning

        * Merged devel. (872d9d5)
        * Outline for createDownloader(). (1cfa2f6)
        * Added more operation implementations and tests. Replaced enum class
          with enum. (7b8becf)
        * Re-enabled two Q_DECLARE_METATYPE. (f0a2872)
        * Merged devel. (692c5db)

2016-10-10 James Henstridge

        * Add start of QML plugin for v2 client API.  The plugin is currently
          only built but not installed. (a209939)

2016-10-10 Michi Henning

        * Merged James's QML branch. (6428b8b)
        * Merged devel. Replaced "enum class" with "enum". (73613ac)
        * Added list(). More tests for coverage. (570bf04)
        * Added copy and move implementations. (227f3a7)
        * Changed ItemMetadata for parent_ids to QList (from QVector). Added
          parents() implementation. Refactored ItemListJobImpl and
          MultiItemJobImpl to use a base class that does most of the
          work, so we can create an ItemListJob from both a single
          invocation that returns a list, and from multiple
          invocations that return a single item each. Minor renaming
          of the make_* factory methods for brevity. A few minor bug
          fixes here and there. Lots more tests. (a16c7b2)
        * Merged parent branch and resolved conflicts. (f27e774)
        * Simplified ItemImpl template methods for checking preconditions.
          (ecf2de7)
        * Merged dependent branch. (37138a2)
        * Chained StorageErrorImpl constructors. Used QStringLiteral for type
          names initialization. (1340e18)

2016-09-30 James Henstridge

        * Include <QList> in Account.h to try and standalone headers test on
          yakkety. (bd7b490)
        * Make copyright check test ignore qmldir file. (4a7c65e)

2016-09-30 Michi Henning

        * Added VoidJob. Implemeted get(). Implemeted deleteItem(). Some
          minor refactoring and tidy-up. Lots more tests. (e72f029)
        * Started list implementation. (fa07b87)

2016-09-30 James Henstridge

        * Update control file. (afff778)

2016-09-29 Michi Henning

        * Merged dependent branch. Removed redundant fully-qualified names.
          (b59351b)
        * Merged dependent branch. Removed redundant fully-qualified names.
          (61d5572)
        * Removed redundant fully-qualified names. (5f0f479)
        * Merged dependent branch. (e02f552)
        * Review comments from James. (a2c03e5)

2016-09-29 James Henstridge

        * Update demo a bit. (ee8da0f)
        * Add skeleton (useless) demo.qml file. (696b78b)
        * Fix up Qt metatype foo for Runtime and Account. (a0729b6)
        * Add skeleton QML plugin. (f5267a3)

2016-09-29 Michi Henning

        * Changed enums to enum classes. (7b82359)
        * Added copy and move implementations and tests. (27b54e1)

2016-09-29 James Henstridge

        * Make ProviderBase derive from std::enable_shared_from_this. Add
          "host" member to PasswordCredentials for benefit of
          OwnCloud provider. Relax client side ETag validation, so
          it is only required for files. (cd35c6a)

2016-09-28 James Henstridge

        * Add temporary workaround for
          https://bugs.launchpad.net/bugs/1628473 (b57dba2)
        * Bump soname for provider library. (3403d20)
        * If the etag is empty, only throw if the type is ItemType::file.
          (2932736)
        * Use QPointer to guard the OnlineAccounts::Account object that is
          owned by the OnlineAccounts::Manager object.  We still
          don't correctly handle accounts being deleted/disabled,
          but this will ensure we see a null pointer dereference
          rather than garbage memory. (a732a8a)
        * Extract hostname setting for password-style accounts. (1fe2a9d)
        * Make ProviderBase subclass std::shared_from_this<>, and manage
          instances as std::shared_ptr's for the benefit of
          lifecycle management in provider implementations.
          (41dd1ae)

2016-09-28 Michi Henning

        * Changed ItemMetadata for parent_ids to QList (from QVector). Added
          parents() implementation. Refactored ItemListJobImpl and
          MultiItemJobImpl to use a base class that does most of the
          work, so we can create an ItemListJob from both a single
          invocation that returns a list, and from multiple
          invocations that return a single item each. Minor renaming
          of the make_* factory methods for brevity. A few minor bug
          fixes here and there. Lots more tests. (3c4d689)

2016-09-27 Michi Henning

        * Changed Q_PROPERTY definitions to emit statusChanged where
          appropriate. Moved ConflictPolicy definition into Item.
          Enumerator values are set from common.h. Got rid of
          deferred signal emission except where we need to emit
          signal from constructor. Removed disconnectFromBus() in
          RuntimeImpl. Moved ProviderFixture construct/destructor
          code to SetUp()/TearDown(). (e24433b)
        * Fixed whitespace. (6d55d16)

2016-09-26 Michi Henning

        * Added VoidJob. Implemeted get(). Implemeted deleteItem(). Some
          minor refactoring and tidy-up. Lots more tests. (1c318b7)
        * Moved ProviderFixture construct/destructor code to
          SetUp()/TearDown(). (93cc0b3)
        * Changed Q_PROPERTY definitions to emit statusChanged wehre
          appropriate. Moved ConflictPolicy definition into Item.
          Enumerator values are set from common.h. Got rid of
          deferred signal emission except where we need to emit
          signal from constructor. Removed disconnectFromBus() in
          RuntimeImpl. (2403c7f)

2016-09-23 Michi Henning

        * First batch of fixes from code review: Removed CONSTANT from
          Q_PROPERTY definitions of Item and Account. Moved qHash()
          into correct namespace. Adjusted hash() and qHash() of
          Item to also combine with the account hash. Adjusted
          operator==() and operator<() of Item to compare equal or
          less than only if the accounts also compare equal or less
          than. make_test_account() trailing arguments are now
          defaulted, so we don't need an overload. Chained the
          RuntimeImpl constructors. (cc7c59d)

2016-09-22 Michi Henning

        * Removed CONSTANT from Q_PROPERTY definitions of Item and Account.
          Moved qHash() into correct namespace. Adjusted hash() and
          qHash() of Item to also combine with the account hash.
          Adjusted operator==() and operator<() of Item to compare
          equal or less than only if the accounts also compare equal
          or less than. make_test_account() trailing arguments are
          now defaulted, so we don't need an overload. Chained the
          RuntimeImpl constructors. (df23ac7)

2016-09-21 Michi Henning

        * Arm build warning fix. (ce2f7f5)
        * Started implementation of v2 API. (07c2610)
        * A few more packaging fixes. (f5b4b6e)
        * Separated old and new header install location. Added new binary
          package for v2 client API. Fix broken pkgconfig files.
          Bumped project version. Updated changelog. (3eabdbd)
        * More Q_DECLARE_METATYPE :-( (7b2c2f3)
        * Another missing Q_DECLARE_METATYPE (e1a0c20)
        * Added missing Q_DECLARE_METATYPE (62b2af9)
        * Fixed wrong location for installing pc file. (403754a)
        * Fixed compilation error on Vivid. More warning suppressions for
          Arm. (a51e948)
        * Q_ENUM -> Q_ENUIMS for Vivid. Disabled check for connection state
          when creating the runtime. (31fcc15)

2016-09-20 Michi Henning

        * impossible_name() -> object_path() (80f3723)
        * bus_path() -> impossible_name() for testing. (278a758)
        * Trying this->bus_path(); (a31f086)
        * Whitespace fixes. Trying qualified name for failing bus_path()
          call. (ee873b3)
        * Comment changes to mark review items. (43464f6)
        * get() now on Account. More tests. (d592237)

2016-09-16 Michi Henning

        * More tests, added most of ItemImpl and metadata validation.
          (74d1971)

2016-09-12 Michi Henning

        * AccountsJob tests. (7668ba2)
        * Added qHash(). (3242e5f)

2016-09-09 Bileto Bot

        * Releasing 0.1+16.10.20160909-0ubuntu1 (b61989f)
        * Merged devel at revision 64. (8e9810d)

2016-09-09 Michi Henning

        * Merged devel at revision 68. (3094bed)

2016-09-08 Michi Henning

        * Added some basic unity tests. (ca07802)

2016-09-06 James Henstridge

        * Use std:: prefix on make_shared() call to avoid ADL error on
          Yakkety. (66acc05)
        * Fix the deadlock when cleaning up stale upload and download jobs
          when a client disconnects from the session bus. (d7c1b34)

2016-09-06 Michi Henning

        * Merged
          lp:~michihenning/storage-framework/remove-qfuture-overloads/+merge/304042:
          Removed overloads from make_future.h that accept a
          QFutureInterface because that made it too easy to
          accidentally call the wrong overload. Added attribute to
          remaining functions to warn if the return value is unused.
          (ec4a466)
        * Merged devel. (416d853)
        * Retrieve accounts in AccountsJob. (78f106e)

2016-09-05 James Henstridge

        * Include the upload or download ID in the "No such upload/download"
          exception messages. (c6200e2)

2016-09-05 Michi Henning

        * More internal wiring for correct life cycle. (5a53aea)

2016-09-03 James Henstridge

        * Cancel remaining jobs when destroying PendingJobs instance.
          (82ec87b)
        * When a client disconnects, remove them from the service watcher.
          (13e9f84)
        * Remove code special casing Boost 1.55, since we never build with
          that version now. (590f1c9)

2016-09-02 James Henstridge

        * Don't scan the map twice in remove_download/remove_upload, and
          output LogicException on unknown uploads/downloads.
          (d63027a)
        * Add tests for cancelling downloads on closed connections, and tests
          for finishing or cancelling uploads/downloads belonging to
          other connections. (b6fafef)
        * Store the job cancellation future in a shared_ptr<> that will live
          until the continuation is called. (045f0c4)
        * Add a test to cover clients disconnecting from the bus during an
          upload. (4137ce9)
        * Simplify ProviderFixture a bit. (a1753d0)

2016-09-01 Michi Henning

        * Started outline implementation of v2 API. (de37a66)
        * Use custom deleter for sockets given to client, so the socket is
          destroyed when the event loop is re-entered. (28f23ba)
        * Use custom deleter for sockets given to client, so the socket is
          destroyed when the event loop is re-entered. (97e0612)

2016-08-31 Michi Henning

        * Merged devel. (4f11b1a)

2016-08-29 Michi Henning

        * Tidy up after review comments from James. (1e9b168)
        * Draft outline of new Qt/QML API. (7e51a9c)

2016-08-26 Michi Henning

        * Removed overloads from make_future.h that accept a QFutureInterface
          because that made it too easy to accidentally call the
          wrong overload. Adding warning to remaining functions to
          warn if the return value is unused. (f460842)
        * Merged devel at revision 64. (c84efdb)
        * Send cancel message to server if uploader is destroyed without a
          prior call to cancel() or finish_upload(). (5b388f7)
        * Set future via the promise in the handler rather than returning a
          new ready future. (5765428)
        * Suppressed one more compiler warning. (215ed2e)
        * Suppressed a bunch more compiler warnings from Arm builds.
          (2edf9cb)
        * Send cancel message to server if uploader is destroyed without a
          prior cancel() or finish_upload(). (effe3e2)

2016-08-25 Michi Henning

        * Removed stale debug trace. Suppressed more compile warnings from
          system headers that caused a lot of noise in the arm
          builds. (f07c055)
        * Don't throw when unknown metadata key is received and log a warning
          instead. (a250439)

2016-08-25 James Henstridge

        * Add a drain() method to UploadJob to allow the provider to read the
          last bit of data from the socket when the client asks to
          finish the upload. (b693c88)

2016-08-25 Michi Henning

        * Removed stale debug trace. Suppressed more compile warnings from
          system headers that caused a lot of noise in the arm
          builds. (e13339e)
        * Increased test timeouts because CI builders are hopelessly
          overloaded. (9ca9435)
        * Don't throw when unknown metadata key is received and log a warning
          instead. (c01b0a9)
        * Increased test timeouts because CI builders are hopelessly
          overloaded. (d12cb9d)

2016-08-24 James Henstridge

        * Fix compile failure caused by merge. (64af625)
        * Merge from devel (3743c03)
        * Run all tests with a larger file content. (77cbf01)
        * Remove drain() virtual from UploadJob, but keep version on
          TempfileUploadJob as a normal method.  Update test
          provider to match. (625b2e3)
        * Fix select() code in TestUploadJob. (b872b35)

2016-08-24 Michi Henning

        * Removed half-close on the provider side because this messes with
          QLocalSocket on the client side. (2e11aa7)
        * Added provider headers to unit tests. (55f91e7)
        * Don't half-close sockets in the provider side because this confuses
          QLocalSocket, which thinks that both channels were closed.
          (d200fae)
        * Fixed stand-alone header test failure on yakkety. (2a3040b)
        * Merged devel. (06b7137)

2016-08-23 Michi Henning

        * Increased remote client coverage. (8479d37)

2016-08-23 James Henstridge

        * Add tests for TempfileUploadJob. (4ebf44b)
        * Add drain() implementation to TempfileUploadJob. (aa647fa)

2016-08-23 Michi Henning

        * Renamed FakeProvider -> ProviderFixture. (6231997)

2016-08-22 Michi Henning

        * Oops, missed change in MockProvider.cpp. (5332ef7)
        * Review comments from James. (35e84e5)
        * Added provider headers to unit tests. (5cc6dc2)

2016-08-22 James Henstridge

        * Add a test for unclosed socket behaviour. (51a4bcc)
        * Add drain() method to UploadJob to drain the socket before calling
          finish(). (16ebdde)

2016-08-19 Michi Henning

        * Merged devel. (6d484b9)
        * Fixed whitespace. (2094d4c)
        * Added mock provider that can respond to instructions via cmd
          parameter passed to constructor. Increased coverage for
          check for destroyed runtime before reply for an async call
          trickles in. (fe1ba90)
        * Got rid of hard-wired bus name in RuntimeImpl. (f6e922c)
        * Got rid of hard-wired bus name in RuntimeImpl. (efcf433)

2016-08-18 James Henstridge

        * Merge lp:storage-framework into devel, fixing conflicts. (697a248)

2016-08-18 Michi Henning

        * Added trace for surprising exceptions to server side and remote
          client. (4603bd3)
        * Moved test fixture out of provider interface test into utils
          FakeProvider class. (915cd48)

2016-08-17 Michi Henning

        * Logging surprising exceptions with qCritical() now. (6869fa6)

2016-08-12 Michi Henning

        * Fixed broken test. (730b39a)
        * Merged devel. (7986253)
        * First steps towards exception logging. (42648d7)
        * Replaced runtime_error with storage exceptions on server side.
          (9b94b88)
        * Replaced runtime_error with storage exceptions on server side.
          (2ee58a9)

2016-08-12 James Henstridge

        * Provide an API to create a new Account object in the client for a
          provider identified by an arbitrary (bus_name,
          object_path) pair. (7f34454)
        * Exclude make_test_account() from doxygen docs. (0d2fa39)
        * Silence unused variable warning. (6599c6b)
        * Merge from devel, fixing conflicts. (18b3b4b)
        * Add Runtime::make_test_account() method. (0dd697f)

2016-08-11 Michi Henning

        * Changed single parent_id to vector<parent_id>. (d5e4ba6)
        * Merged devel and resolved conflict. (14fe6b1)
        * Added fake mcloud scope. (dedf542)

2016-08-11 James Henstridge

        * Add unity::storage::provider::testing::TestServer class. (32a6e3c)
        * Move Account object creation out to a helper function. (c499020)
        * Pull construction of (bus_name, object_path) pair up into
          RuntimeImpl. (3d52427)

2016-08-11 Michi Henning

        * Merged devel. (13ed4ce)

2016-08-11 James Henstridge

        * Move QDBusArgument marshalling code for ItemMetadata to
          storage-framework-common-internal library: while
          local-client doesn't explicitly need it, it was already
          linking to QtDBus, so it doesn't really matter. (118bea3)

2016-08-11 Michi Henning

        * Marshal known metadata, with sanity checks on the client side.
          (d7b5914)

2016-08-11 James Henstridge

        * Merge from devel, fixing conflict. (438150c)

2016-08-11 Michi Henning

        * Fixed broken test. (1d753d4)

2016-08-11 James Henstridge

        * Make ProviderInterface test link against the .so version of
          storage-framework-provider. (bb8760e)
        * Use TestServer in provider-ProviderInterface test. (164c529)

2016-08-11 Michi Henning

        * Merged devel. (6111e0b)
        * Merged devel and resolved conflict. (de1fc6e)
        * Merged devel. (5fef2e2)

2016-08-11 James Henstridge

        * Make TestServer actually hook up the provider to the bus. (31e5407)

2016-08-11 Michi Henning

        * Added exception hierarchy for server side, plus
          marshaling/unmarshaling code for exceptions. Some coverage
          in the remote client to show that this works (but more
          coverage is needed). (821f266)
        * Removed stale comments. (ec826ac)
        * Added check on unmashaling to ensure that ISO time includes a time
          zone. (e2e773d)
        * Merged dependent branch and resolved conflicts. (7df7b4d)
        * Merged devel. (934e084)
        * Moved get-provider-soversion.sh into ./tools. (1d06c4b)

2016-08-11 James Henstridge

        * Add stub of TestServer class. (79bceb9)

2016-08-11 Michi Henning

        * Instrumented failing test. (9172978)
        * Added fake mcloud provider. (f044ad1)
        * Merged devel. (e4b12be)
        * Fixed top-level makefile soversion script invocation. (1c2fb35)
        * Fixed wrong parent_ids type spec in provider.xml. (4ec031b)
        * Addressed review comments from James. (8018e74)
        * Merged devel and resolved conflicts. (b8f447f)
        * Removed O_NONBLOCK from local client socket pair. (5924aee)

2016-08-10 James Henstridge

        * Add tests for the D-Bus interface code in
          libstorage-framework-provider. (251932f)
        * Add some tests for the AccountData and DBusPeerCache classes from
          the provider. (acb9bb6)

2016-08-10 Michi Henning

        * Merged lp:~michihenning/storage-framework/upload-download-fixes:
          Added size() accessor to Uploader. Fixed upload/download
          finalization for remote client. (0445277)
        * Merged lp:~michihenning/storage-framework/more-coverage: Improved
          coverage. Better error reporting/handling. (b1a3e48)
        * Removed O_NONBLOCK from local client socket pair. (af28d0f)

2016-08-09 Michi Henning

        * Changed single parent_id to vector<parent_id>. (1dd3ca4)

2016-08-09 James Henstridge

        * Silence unused variable warnings. (faf5a9b)
        * Add tests for uploads. (88cd524)

2016-08-09 Michi Henning

        * Moved get-provider-soversion.sh into ./tools. (0358c27)
        * Added metadata marshaling. (67870d2)

2016-08-08 James Henstridge

        * Test download operations. (3a3cf9c)

2016-08-08 Michi Henning

        * Use call() template instead of explicit watchers in test. (46eb8f9)

2016-08-08 James Henstridge

        * Fix some unused variable warnings. (494528f)

2016-08-05 James Henstridge

        * Merge from provider-tests-auth (e8d65a0)
        * Add tests for more D-Bus methods. (0b3dd67)

2016-08-05 Michi Henning

        * Added exception hierarchy for server side, plus
          marshaling/unmarshaling code for exceptions. Some coverage
          in the remote client to show that this works (but more
          coverage is needed). (4f96f83)

2016-08-04 James Henstridge

        * Add tests for provider Roots and List D-Bus methods. (34e08c2)

2016-08-04 Bileto Bot

        * Releasing 0.1+16.10.20160804.1-0ubuntu1 (3ecaac0)

2016-08-04 James Henstridge

        * Initial release of storage framework. (f799e72)

2016-08-04 Michi Henning

        * Added trace to track down failure on arm. (df474b3)

2016-08-04 James Henstridge

        * Merge lp:storage-framework/devel (626561b)
        * Update Debian control file to require Boost 1.58, explicitly
          depending on libboost-*1.58-dev packages if the default
          Boost is older. (e30d8e9)

2016-08-04 Michi Henning

        * Tests for destroyed runtime. (0035929)

2016-08-03 James Henstridge

        * Clean up extra new lines the whitespace test was complaining about.
          (62a6cd8)

2016-08-03 Michi Henning

        * Merged dependent branch. (e7627bf)
        * Tidied up checks for destroyed runtime/item in a few places.
          (7d7b912)
        * Fix typos. (0f50d42)
        * Fixed incorrect check for parent destruction in copy() and move().
          (3c755c9)
        * Added a few missing checks for destroyed runtime or item. (ba52c9d)
        * Fixed remote upload/download finalization. (4c94359)

2016-08-03 James Henstridge

        * Silence warnings caused by Qt headers. (fb88d94)

2016-08-03 Michi Henning

        * Test to check that calling finish_upload() twice after error
          returns the same error future. (d06611f)

2016-08-03 James Henstridge

        * Ensure generated files are built before object library. (c738f36)

2016-08-03 Michi Henning

        * Added size() accessor to Uploader. Added tests for upload size
          mismatch. (9e13426)
        * Fixed hang in test. Fixed sigpipe problem when cancelling upload.
          (ff3281e)

2016-08-02 Michi Henning

        * A few coverage suppressions. (7baec2f)
        * Removed stale code, fixed spy usage in tests. (a3bf95f)
        * More refactoring to get rid of repeated exception handlers.
          (a131d2a)
        * More refactoring for error handling. (40ffbb0)

2016-08-02 James Henstridge

        * Require Boost >= 1.58. (e4b5d69)

2016-08-02 Michi Henning

        * Removed dependency on boost from remote client for exception
          handling. Refactored exception handling logic and fixed
          tests to look for the correct exception. (4770b5c)

2016-07-29 Michi Henning

        * Improved coverage. Better error reporting/handling. (ecebcaa)

2016-07-28 James Henstridge

        * Fix test name. (83293cc)
        * Add a test for DBusPeerCache class. (287194b)

2016-07-27 James Henstridge

        * Add test for account credentials parsing. (d3b1658)
        * Build a static version of libstorage-framework-provider for use in
          tests. (2c95ec0)

2016-07-27 Michi Henning

        * Merged
          lp:~michihenning/storage-framework/no-boost-with-remote-client:
          Removed boost dependency from remote client lib. (e8302e8)
        * Remote client lib no longer has any dependency on boost now.
          (95d7ff2)

2016-07-26 James Henstridge

        * Don't use boost::make_ready_future<T>(value), because Boost 1.55
          (found in Vivid) will instead create an exceptional
          future. (7c56c68)

2016-07-26 Michi Henning

        * Merged devel and resolved conflicts. (2622b1b)

2016-07-26 James Henstridge

        * Flush stdout after printing log information so it actually shows up
          in the test output. (2ebc526)

2016-07-26 Michi Henning

        * Wait time for remote client test now 30 seconds, which is more than
          the DBus timeout (25 seconds). (3f67329)
        * Increased timeout for remote client test. (2cffd8a)
        * Merged devel and resolved conflict. (234dd18)
        * Merged lp:~michihenning/storage-framework/fix-linkat: Work-around
          for failing linkat() on Vivid/Arm. (09a66be)
        * Merged lp:~michihenning/storage-framework/fix-compile-warnings:
          Minor changes to get rid of warnings when compiling on
          vivid. (890ec5d)

2016-07-26 James Henstridge

        * Move fake-online-accounts-daemon.py over to python3-dbus, since Gio
          D-Bus bindings don't seem to be working on vivid.
          (1732f8b)

2016-07-26 Michi Henning

        * Changed logic for handling temp file linking/renaming. We use
          O_TMPFILE and linkat() if that works, and mkstemp() and
          rename(), otherwise. (6fb92d8)

2016-07-25 James Henstridge

        * Add python3-dbus as a dependency. (6690b22)
        * Add missing break; statements. (79f1c93)
        * Move fake provider over to old python-dbus bindings, which work on
          Vivid. (5f6df1b)

2016-07-25 Michi Henning

        * Merged exceptions branch and resolved conflicts. (2583ab5)

2016-07-23 Michi Henning

        * Work-around for failing linkat() on Vivid/Arm. (0c0afa9)

2016-07-22 James Henstridge

        * Add support for landing to multiple distro series with different
          sonames for the provider library. (132bde9)
        * Add trusty as a special case. (5b6b14e)

2016-07-22 Michi Henning

        * Work-around for O_TMPFILE failure on Vivid/Arm. (13d3de9)

2016-07-22 James Henstridge

        * Add copyright header to shell script. (6a4cb6a)

2016-07-22 Michi Henning

        * Some more trace to get kernel version. (dd25455)

2016-07-22 James Henstridge

        * Add lsb-release as a dependency. (8c0f079)
        * Make storage provider soversion dependent on distro release.
          (02cb11c)

2016-07-22 Michi Henning

        * More trace. (1e752f4)
        * Added trace to see whether linkat() failure on Vivid is due to
          missing /proc. (5388081)
        * Reverted test for failing link() again because the fix is a bit
          more involved, and we are focussing on other things right
          now. (30618d7)
        * Minor changes to get rid of warnings when compiling on vivid.
          (f0fdaba)
        * Merged devel for initial release. (41304b0)
        * Merged lp:~michihenning/storage-framework/exceptions: Cleaned up
          exception reporting. (344b4f3)
        * More warning cleanup. (514dc65)
        * Include file fixes to get rid of warnings on Vivid. (7f69051)
        * Merged devel and resolved conflicts. Added override for what() to
          StorageException. (ff6d1df)
        * Merged devel and started to resolve conflicts. (f846e7f)
        * Merged devel. Started to resolve conflicts. (205ab02)

2016-07-21 Michi Henning

        * Merged lp:~michihenning/storage-framework/metadata: Initial cut at
          metadata API. (724068b)
        * Merged devel. (261c5f7)
        * Merged devel. (bbc683a)
        * Merged lp:~michihenning/storage-framework/add-upload-size: Added
          size to create_uploader() and create_file(). (e8a380a)

2016-07-21 Marcus Tomlinson

        * Temporary fix to get storage-framework building in CI (f88da83)

2016-07-21 Michi Henning

        * Merged devel and resolved conflict. (0544721)

2016-07-21 Marcus Tomlinson

        * Temporary fix to get storage-framework building in CI (055a3ee)

2016-07-21 Michi Henning

        * Merged devel and remove bogus files. (2330a6c)

2016-07-21 Marcus Tomlinson

        * Fix for building in dev PPA (75c404b)

2016-07-21 Michi Henning

        * Merged lp:~michihenning/storage-framework/fix-version-typo: Fixed
          wrong version comparison for boost. (684fd21)
        * Merged lp:~michihenning/storage-framework/no-half-close into
          lp:storage-framework/devel: Removed socket half-close from
          uploader because that seems to interfere with
          QLocalSocket. (64d95f6)
        * Fixed wrong version comparison for boost. (639daff)

2016-07-21 James Henstridge

        * Run remote-client tests under a private session bus with a fake
          account provider.  These changes rely on the new
          online-accounts-api packages that will be siloed with
          storage-framework. (454bbaa)
        * Add missing copyright headers. (9c2ecdd)
        * Add an instance of the demo provider under the private session bus,
          and make the fake account daemon expose a
          google-drive-scope account. (7ed5a58)
        * Merge from devel, fixing some conflicts in the cmake files.
          (4fec34b)
        * Use a private session bus in the remote_client tests. (b17fc2c)
        * Use the provided session bus connection in the client. (e01a284)

2016-07-21 Michi Henning

        * Removed socket half-close from uploader because that seems to
          interfere with the signals from QLocalSocket. (a6659d5)
        * Merged devel. (6c34a6d)

2016-07-20 James Henstridge

        * Update provider library to compile on Vivid's old version of Boost.
          (e2c9a59)

2016-07-20 Michi Henning

        * Manually merged lp:~michihenning/storage-framework/qt-cmake-fixes
          (bde2804)
        * More shoring up against the runtime disappearing while a reply is
          outstanding. (3bff1d1)
        * Merged dependent branch. (6194212)

2016-07-20 James Henstridge

        * Add exception guard around call to Handler callback that I
          accidentally removed while refactoring the code to work
          without relying on executors. (3d9052c)

2016-07-20 Michi Henning

        * Fixed broken coverage in top-level cmake file. Simplified boost
          version check. (1694f2b)

2016-07-19 James Henstridge

        * promis.set_exception() fails for std:: exceptions due to ambiguity
          over which copy_exception function to call on old Boost.
          (ff90e00)
        * More vivid build fixes. (b2e8b0b)
        * Actually use queued connections. (d25099a)
        * Make MainLoopExecutor call in ServerImpl conditional on executor
          support. (60b6337)
        * Fix up coverage build. (515c23c)
        * Merge from lp:~michihenning/storage-framework/qt-cmake-fixes and
          fix conflict. (8b45885)
        * Provide our own versions of
          make_ready_future/make_exceptional_future, since vivid's
          Boost doesn't include them. (c3e8bac)

2016-07-19 Michi Henning

        * Tests for DeletedException. (3ca930c)

2016-07-19 James Henstridge

        * Don't compile MainLoopExecutor if executors are not supported.
          (50f4ac9)
        * Make code run correctly with boost versions that do not support
          executors: (eead429)

2016-07-18 Michi Henning

        * More details for ResourceException. Generic unpacking of
          boost::filesystem errors. (54963c5)

2016-07-15 Michi Henning

        * Another include file clean-up. (c0b8fcc)
        * Cleaned up a bunch of include directives. (428279a)
        * Made sure that lambdas don't use things that no longer exist if a
          reply trickles in after the runtime is destroyed.
          (141fdcf)
        * More future streamlining. (f22a24f)

2016-07-14 Michi Henning

        * Minor fix to top-level cmake file. (d2698a7)
        * Need exceptions to be thread-safe. (83098db)
        * Added QuotaException and PermissionException. (d83d21a)
        * Cleaned up conflict detection. (ce1ef20)
        * Merged devel, resolved conflicts. Some exception handling added to
          remote client. (536a0e8)
        * Changed debian source/format to 1.0. (66d2c5e)
        * Merged devel. Added missing copyright header. Removed stale files.
          (779501a)
        * Merged devel and resolved conflict. (2d310a2)

2016-07-13 Michi Henning

        * Fixed macro to test for boost version. (cef8b6e)
        * Fixed compile error with boost::filesystem on Vivid. (6137c72)
        * Fixed typo in comment. (6fc883f)
        * Fix for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60420
          (ab45fcf)
        * Another try... (ff69454)
        * Code formatting fix. (aadaac8)
        * Fixed a bunch of clang warnings. (ea1cd6b)
        * Another try... (d400190)
        * Testing fix for vivid build failure. (11f0190)
        * Changing source/format back to 1.0, due to Jenkins problems.
          (fd2aff7)
        * Merged devel. (0d00e98)
        * Merged
          https://code.launchpad.net/~michihenning/storage-framework/copyright/+merge/299761
          (b14f5bc)
        * Added missing dependency to control. (3fdb628)
        * Changed cmake files to build the local and remote libs in the
          qt/client dir because we cannot add .moc files to OBJECT
          libraries on Vivid. Added GENERATED property to generated
          files. Adjusted indentation in a few places. (006d527)

2016-07-12 James Henstridge

        * Add a second Runtime constructor that lets us inject a custom
          QDBusConnection. (f19b2dc)
        * Add test utility library, currently consisting of a class to set up
          a private D-Bus session bus with a fake online-accounts
          daemon running. (216026b)

2016-07-12 Michi Henning

        * Removed one more old qt5_use_modules. (f99016e)
        * Get rid of the old qt5_use_modules macros. (be9042e)

2016-07-12 James Henstridge

        * First go at a fake version of the OnlineAccounts D-Bus service,
          written with python3-gi. (7363b44)

2016-07-12 Michi Henning

        * Added copyright headers and enabled copyright test. Some minor
          improvements to debian files to get rid of lintian noise.
          (fe4f630)
        * Merged devel and resolved conflicts. (3a2b09e)
        * Fixed test that was broken by merge of another branch. (012f1a3)
        * Merged devel. (dfb19bc)
        * Added etag() method to public API. (5846199)

2016-07-11 Michi Henning

        * Merged decltype branch. (a2c1338)
        * "title" -> "name" (0ed97f4)
        * Upload size for server side. (d862c8b)
        * Merged decltype branch. (3efd865)
        * Merged decltype branch. (f764918)
        * Merged decltype branch. (bc01218)
        * Merged devel and got rid of a bunch of compiler warnings. (be1cbc6)
        * Fixed recursive list(). Got rid of a few redundant std::
          qualifiers. (ab010cf)

2016-07-11 James Henstridge

        * Add cmake rules to install libraries, headers, and pkg-config
          files. Update debian packaging to produce multiple binary
          packages. (ed18278)

2016-07-11 Michi Henning

        * Added implementation of remote client-side API. Lots of refactoring
          and API polish. (8e6fc9b)

2016-07-11 James Henstridge

        * Fix typos in packaging. (16c8b8f)
        * Split the API_VERSION variable into client and provider versions.
          Also create separate -dev packages for the two versions.
          (a7db92d)
        * Add a pkg-config file for the real client library. (9ffcd7d)

2016-07-11 Michi Henning

        * Simplified handler callbacks with decltype. (3e3f07a)

2016-07-10 James Henstridge

        * Contraint Handler template constructor a bit more: it looks like we
          can declare the closure using decltype() without getting
          compile errors. (0e594ad)

2016-07-09 James Henstridge

        * Merge from devel, fixing conflicts (022b1ff)

2016-07-08 Michi Henning

        * More Q_OBJECT cleanup. (eb2cc1b)
        * Minor cleanup for unneeded moc includes and Q_OBJECT macros.
          (610758b)
        * Removed Runnable from Handler. (f9591e4)

2016-07-07 Michi Henning

        * Factored out item creation from metadata. (d735e52)
        * Removed redundant #includes. (246e1f8)
        * Factored out reply error checking. (6e3aa2d)
        * Refactored reply handling to use template. (8c0ae65)

2016-07-06 Michi Henning

        * Fixed file descriptor life cycle problems. (b819f50)
        * Added make_future templates. (93ba8e2)
        * Added visibility hiddent to privated constructors. (293b2db)
        * Proper exception handling for local client. (e191ffc)

2016-07-01 Michi Henning

        * Moved metadata methods into Item. (445cfe0)

2016-07-01 James Henstridge

        * Add a build-depend on libonline-accounts-qt-dev. (b7be843)

2016-07-01 Michi Henning

        * First shot at metadata API. (29259b9)

2016-07-01 James Henstridge

        * Make debian/rules executable. (1b74257)
        * Add a test to ensure the Debian package version matches the project
          version. (c6de386)
        * Some minor fixes after first build. (9fcfbb0)
        * Add bzr-builddeb boilerplate. (585593d)
        * Add binary packages to debian control file. (60aebdf)
        * Add pkg-config file for Qt local-client, and set its SONAME.
          (777a388)

2016-07-01 Michi Henning

        * Finished upload size. (2809546)

2016-07-01 James Henstridge

        * Install header files. (352dcfe)
        * Add a description to pkg-config file. (b12a48e)

2016-06-30 James Henstridge

        * Add a pkg-config file for the libstorage-framework-provider.
          (fb18fc4)

2016-06-30 Michi Henning

        * First few modifications for upload size. (533e9c3)
        * Added etag() method. (b723682)

2016-06-30 James Henstridge

        * Add some dependencies to debian/control. (dc20426)
        * Install the provider and client libraries. (279315b)

2016-06-29 Michi Henning

        * Merged devel. Removed a bunch of redundant std:: prefixes in the
          provider demo. (7d85ff6)

2016-06-29 James Henstridge

        * Add DownloadJob, and the remaining D-Bus methods to ProviderBase.
          (518b1a7)
        * Update Python test script to exercise more of the D-Bus API.
          (9303a3a)
        * Add early reporting of failures to Uploadjob. (ace9d3e)

2016-06-28 Michi Henning

        * Removed some empty namespaces. (27a47b0)
        * Minor doc tidy-up. (ae36a4e)

2016-06-28 James Henstridge

        * Add support for reporting completion of the download early.
          (e013ba6)

2016-06-28 Michi Henning

        * Removed some debug trace. (0c25121)
        * Some basic tests for remote client API. (bff24d4)
        * shared_ptr in handlers so things can't accidentally disappear.
          (c187761)
        * Implemented remote client side. (2d678ab)

2016-06-24 James Henstridge

        * Fix up some unused variable declarations, and make sure the
          closures being used as future continuations keep the
          AccountData instance alive. (02632ec)

2016-06-24 Michi Henning

        * Added CancelledException. Change finish_upload to return File.
          (b307d05)

2016-06-23 James Henstridge

        * Hide some methods on UploadJob/DownloadJob that shouldn't be called
          by provider implementations. (ad14eb5)
        * Fill out remaining D-Bus methods. (4d3c1b1)

2016-06-22 Michi Henning

        * Merged devel. (2aab7e5)
        * Merged changes from add_tests branch (now in devel). (75058be)

2016-06-22 James Henstridge

        * Add DownloadJob management to PendingJobs. (8c85f97)
        * Add DownloadJob class. (59f54e0)

2016-06-21 James Henstridge

        * Pass online accounts credentials to ProviderBase methods via the
          Context struct.  Also refactor the internal classes a bit
          to simplify memory management. (238aeba)
        * Merge from devel, fixing conflicts. (406c4e7)

2016-06-21 Michi Henning

        * Merged add_tests branch. (c51b37c)
        * Temp check-in. (4fe0901)
        * Temp check-in, moving machines. (c023643)
        * Merged devel. (15b8a11)
        * disconnectFromServer() now called as part of finish_upload().
          (0c6c917)

2016-06-21 James Henstridge

        * Add UploadJob API to the provider library. (0c827a4)

2016-06-21 Michi Henning

        * Moving machines. (648bcb9)

2016-06-17 James Henstridge

        * Rename CredentialsCache to DBusPeerCache to avoid confusion with
          online accounts credentials. (72abc25)
        * Pass in online accounts credentials through Context structure.
          (977bf5f)
        * jobs_ doesn't need to be a shared pointer anymore. (7275bae)
        * Just pass the AccountData object to the Handler's callback rather
          than passing the provider and jobs object separately.
          (ba21467)
        * Move ProviderInterface over to using AccountData to manage the
          account information. (5e5fe86)

2016-06-16 James Henstridge

        * Add AccountData class to manage authentication and hold the jobs
          and other state for the account. (a55deff)

2016-06-16 Michi Henning

        * Using readChannelFinished signal now instead of disconnected
          signal. (a35daf7)

2016-06-16 James Henstridge

        * Extract credentials from online-accounts reply. (1cfb754)

2016-06-15 James Henstridge

        * Fix marshalling of Item.metadata map, pointed out by Michi in
          review. (67efa3f)

2016-06-15 Michi Henning

        * Fix for boost 1.55 copy_file issue. (55b4d93)
        * Fall back to conventional temp file creation if O_TMPFILE isn't
          supported. (214158e)

2016-06-14 Michi Henning

        * Fixed incorrect library dependencies. Added -Wl,--no-undefined when
          building .so. (0ab4863)

2016-06-13 James Henstridge

        * Make MainLoopExecutor subclass boost::executors::executor, in hope
          of better compatibility with yakkety's boost. (9cf9a51)

2016-06-13 Michi Henning

        * Got rid of busy-wait for thread initialization. (d6a3071)
        * Removed StorageSocket. (2e39ad7)

2016-06-09 James Henstridge

        * Use unique_ptr to manage TempfileUploadJobImpl's child QObjects
          rather than Qt's object tree memory management.  The
          UploadJobImpl class gets deleted with deleteLater(), so
          destruction will happen in the correct thread, and not be
          re-entering any problem code. (f3d29ff)

2016-06-09 Michi Henning

        * Temp check-in, moving machines. (6e4ec7b)
        * Added accounts creation from online accounts info. (282c64c)

2016-06-09 James Henstridge

        * Complete initialisation of the UploadJobImpl in the event loop
          thread so that signals can be delivered correctly.
          (9c0fdc6)

2016-06-08 James Henstridge

        * Add a Python program to test out the upload code path in the D-Bus
          provider. (267f2af)
        * Fix up a few issues picked up by test upload client. (6d2bcba)
        * Remove DisconnectWatcher, since it has been folded into
          PendingJobs. (3befdbb)
        * Add a mutex to protect PendingJobs from access by other threads.
          (6d5680d)
        * Hook in Update(), CancelUpload() and FinishUpload(). (50a12f5)

2016-06-08 Michi Henning

        * Fixed broken MakeLists.txt for the tests. (ae6771b)
        * Big refactor. Added remote client skeletons. (19b6d51)

2016-06-08 James Henstridge

        * Cancel pending uploads if the client drops off the bus. (b163463)

2016-06-07 James Henstridge

        * Add PendingJobs class. (1ff4a68)

2016-06-06 Michi Henning

        * Merged dependent branch. (aa4a44b)
        * Moved ItemMedata to storage::internal. (bf806ce)
        * Slightly more coverage. (643fd79)
        * Update modified time after upload. (c41f441)
        * Uploader thread. (4b612b3)

2016-06-05 Michi Henning

        * Minor tidy-up. (ae45789)
        * Downloader with worker thread. (be966e6)

2016-06-03 James Henstridge

        * Use the executor interface so that our future continuations are run
          in the event loop thread. (c2f7229)
        * Expose CreateFile over D-Bus.  Still needs to manage UploadJob
          objects cancelation and completion. (d400219)

2016-06-03 Michi Henning

        * Merged devel. (8f0aa5e)
        * Minor tidy-up. (e664671)
        * More tests and minor fixes. (1baf433)
        * Lots more tests and fixes for upload/download. (0630d10)

2016-06-02 James Henstridge

        * Add UploadJob classes. (eb31e5f)

2016-06-01 James Henstridge

        * Add class to track disconnections from the bus. (742c4c9)

2016-06-01 Michi Henning

        * Protected socket read methods. (fb0399b)
        * Added parent_ids(). For root, changed return value of parents() and
          parent_ids() to empty vector. (6df7a7f)
        * Slight more coverage. (51b10b4)
        * Fixed recursive copy. More and simpler tests. (479474a)

2016-05-31 James Henstridge

        * Create one instance of the ProviderBase for each account providing
          the relevant service ID, and attempt a non-interactive
          authentication to retrieve the credentials. (0556e01)

2016-05-31 Michi Henning

        * Download tests. (a931ce7)
        * More tests, including uploader. (8b5925c)

2016-05-27 Michi Henning

        * More tests. Need to think about destroy and threading some mor.
          the atomic flag may not be good enough. (6b8ba77)
        * Added some basic functionality unit tests. (27b9571)

2016-05-26 Michi Henning

        * finish_{up,down}load() now waits for disconnection and is async.
          state_ is thread-safe now. (3443acf)
        * Added create_file() implementation. (52087c2)
        * Don't leak socket pair descriptors. Minor include file tidy-up.
          (79fb8d2)
        * Merged parent. (35a7bac)
        * Fix incorrect eof detection in uploader. (d5dc5b5)

2016-05-25 Michi Henning

        * A few #include clean-ups. (68f0dff)
        * Minor tidy-up. (bae4166)
        * Improved comment. (bd63f85)
        * Added uploader implementation. Not tested yet. (812d8f5)

2016-05-25 James Henstridge

        * Push setting of account service ID up to provider-test.cpp.
          (ccbadab)
        * Request authentication details from account non-interactively.
          (6b0e43b)

2016-05-25 Michi Henning

        * Download implemented, superficially tested. (21999e9)

2016-05-24 James Henstridge

        * Construct one instance of the provider for each online account.
          (36dd0be)

2016-05-23 James Henstridge

        * Move server implementation to an internal impl class. (8c9b39a)

2016-05-23 Michi Henning

        * Start of Qt API. (05e4518)
        * Added recursive move and copy. Metadata and modified time are
          synchronous now. (edc8b3b)
        * More fleshing out of the local client implementation. (a8a4da8)

2016-05-18 Michi Henning

        * Complete libs for qt and qt-local client lib. (bfb0fae)
        * Hoisted ItemType up into common namespace. Got rid of mime_type()
          and replaced with type() returning ItemType enum.
          (b9fb3e5)
        * Added move() and copy(). Review comments from James. (26f0af8)

2016-05-17 James Henstridge

        * Add unity::provider::Context class holding information about the
          client app, and pass it to the various ProviderBase
          methods. (2f85129)

2016-05-13 James Henstridge

        * Pass client details to ProviderBase as an extra Context argument.
          (33e1489)

2016-05-12 James Henstridge

        * Create credentials cache, and pass it down to the underlying
          Handler instances. (1b8176d)
        * Add credentialscache code. (3576fb4)
        * Merge in skeleton of backend provider support library. (0625a38)
        * Rename upload_fd/download_fd to just file_descriptor to avoid
          confusion with upload_id/download_id. (3c96ee6)
        * Code style updates from review. (c1d5a45)

2016-05-11 Michi Henning

        * Adjusted API to match DBus side. (b04eb9d)

2016-05-11 James Henstridge

        * Fix a few cases where I still had the CompleteUpload name in
          documentation. (773af24)

2016-05-10 James Henstridge

        * Change error name so Qt will actually send it. (7609f4a)
        * Add demo script, and fix up bugs preventing method calls from being
          handled. (c03e542)
        * Add Server<T> class. (c4555b6)

2016-05-06 James Henstridge

        * Add marshalling code for Item class. (e97ad77)
        * Add Handler class. (925cdcc)

2016-05-05 James Henstridge

        * Add QtDBus skeletons. (e9114f0)

2016-05-04 James Henstridge

        * Update d-bus interface XML. (7874d1e)

2016-05-03 Michi Henning

        * More skeleton code for public and internal APIs. (fa3a63d)
        * More skeleton files for public and internal implementations.
          (f75eee6)

2016-04-27 Michi Henning

        * Qt version of client API. (ffa88de)

2016-04-20 Michi Henning

        * Documentation from Ted. (d357311)
        * Fixed header test. (09b2c26)
        * More build env scaffolding. (d7cf45e)
        * Added debian/rules. (4c8f38d)
        * Dummy first entry for changelog. (6d1e2a3)
        * Bits of the debian files. (6c0ed9c)
        * Started basic build env. (b8eef18)

2016-04-19 Michi Henning

        * Added account, root, runtime, metadata classes. (d1aa96f)

2016-04-18 Michi Henning

        * First steps towards a client-side API. (f68aa44)
