2026-05-21 Mike Gabriel

        * Release 3.1.1 (HEAD -> main, tag: 3.1.1)
        * Merge branch 'personal/gszymaszek/glycin' into 'main' (43835a4)

2026-05-20 Ratchanan Srirattanamet

        * d/rules: disable LTO when building against Ubuntu 26.04 (6872615)

2026-04-22 Grzegorz Szymaszek

        * Disable animated_gif* incremental loading tests when using Glycin
          (f83cfb0)
        * Allow larger images in thumbnailer-admin test when using Glycin
          (a0269fa)
        * Fix ignoring too small thumbnails when using Glycin (0822734)

2026-04-28 Marius Gripsgard

        * Merge branch 'bye-boost-system' into 'main' (7542d9a)

2026-02-20 Jeremy Bícha

        * CMakeLists: dont request Boost.system component (ec4fb81)

2025-12-01 Mike Gabriel

        * Release 3.1.0 (51b7e3e) (tag: 3.1.0)

2025-11-14 Mike Gabriel

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

2025-11-14 Guido Berhoerster

        * Build static libs as PIC since they are linked into a shared
          library (de35af3)

2025-11-07 Ratchanan Srirattanamet

        * tests/qml: avoid Qt connecting to session bus before we setup
          fixture (cd76c3c)

2025-08-28 Guido Berhoerster

        * Fix thumbnailer-admin tests under Qt 6 (53ed9ec)

2025-08-27 Guido Berhoerster

        * Add build option to specify directories ignored by tests (617da6c)

2025-08-26 Guido Berhoerster

        * Fix underlinking (4f3e66a)
        * Remove skipped test since it does not build with Qt 6 (324a382)

2025-08-21 Guido Berhoerster

        * Fix build failure of libtestutils (c1734dd)
        * Fix invalid type signature (f63f9ba)

2025-08-13 Guido Berhoerster

        * debian: Build both Qt 5 and 6 packages (c898026)
        * Allow optional build against Qt 6 (1de786c)

2025-10-12 Ratchanan Srirattanamet

        * Merge branch 'personal/sunweaver/riscv64-test-timeouts' into 'main'
          (cde54fc)

2025-10-10 Aurelien Jarno

        * tests/: Increase timeouts in tests to make tests more likely to
          pass on slow architectures (such as riscv64). (6b7aa61)

2025-10-01 Mike Gabriel

        * Release 3.0.5 (646e036) (tag: 3.0.5)

2025-09-30 Mike Gabriel

        * CMakeLists.txt: Support building with CMake 4 without warning.
          (5ed3364)

2025-09-16 Mike Gabriel

        * Merge branch 'fix/unnecessary_cmake_cmp0043' into 'main' (c6d587a)

2025-09-16 Maciej Sopylo

        * Remove cmake_policy CMP0043 (02075a3)

2025-08-25 Mike Gabriel

        * Merge branch 'fix/reenableDocsCoverage' into 'main' (50bbde0)

2025-01-16 OPNA2608

        * Make GTest available to example test (d9152f5)
        * Re-enable coverge reporting (ffec028)
        * doc/liblomiri-thumbnailer-qt/examples: Drop qt5_use_modules usage
          (010d19f)
        * Re-enable documentation (37687a1)
        * doc/liblomiri-thumbnailer-qt: Honour CMAKE_INSTALL_DOCDIR (e8893fc)

2025-01-13 Ratchanan Srirattanamet

        * Merge branch 'personal/sunweaver/taglib-2.x' into 'main' (b7f1055)

2025-01-13 Boyuan Yang

        * src/local_album_art.cpp: Support building against taglib 2.x API.
          (ca826d3)
        * src/local_album_art.cpp: Fix missing include of <stdexcept>.
          (8506408)

2025-01-07 Mike Gabriel

        * Release 3.0.4 (622c467) (tag: 3.0.4)

2024-08-17 Mike Gabriel

        * Merge branch 'add/optionalTests' into 'main' (d6f38f2)

2023-12-23 OPNA2608

        * Make tests optional (17d42fb)

2024-06-04 Mike Gabriel

        * Merge branch 'fix/gnuinstalldirsUsage' into 'main' (3a3bbeb)

2023-12-30 OPNA2608

        * Add more/better GNUInstallDirs variables usage (f7405eb)

2024-04-04 Mike Gabriel

        * Merge branch
          'personal/peat-psuwit/build-against-noble-modernize-packaging'
          into 'main' (7c8f10f)

2023-02-05 Mike Gabriel

        * Adjust ignore_pat in copyright_check.sh (86f9dc5)

2024-03-22 Ratchanan Srirattanamet

        * debian/: update packaging to also build on Debian testing (83a6b4e)
        * debian/control: update description of compat pkg (029431a)
        * debian/control: add Breaks, Replaces, Provides on the old pkg name
          (0e9dd7b)
        * debian/: adapt packaging from Debian unstable as appropriate
          (80026a9)
        * debian/: upgrade to debhelper-compat 13 (1973e51)

2024-03-20 Mike Gabriel

        * Merge branch 'c++17' into 'main' (af41bd3)

2023-11-25 Luca Weiss

        * Upgrade C++ standard to C++17 (fcc4e97)

2024-01-28 Mike Gabriel

        * Release 3.0.3 (a81acf5) (tag: 3.0.3)

2023-12-25 Mike Gabriel

        * Merge branch 'fix/nosuchfileordirectoryTextCheck' into 'main'
          (179143d)

2023-12-23 OPNA2608

        * Fix check for "No such file or directory: " error (de8f917)

2023-12-24 Mike Gabriel

        * Merge branch 'fix/qt5_use_modules' into 'main' (d35b299)

2023-12-23 OPNA2608

        * Stop using qt5_use_modules (a0d8186)

2023-12-24 Mike Gabriel

        * Merge branch 'fix/extraPathDelimiter' into 'main' (fd41469)

2023-12-23 OPNA2608

        * tests/headers/CMakeLists.txt: Remove extra "/" in include paths
          (3598fdc)

2023-12-05 Ratchanan Srirattanamet

        * Merge branch 'includes' into 'main' (cbf65a4)

2023-10-17 Brandon Boese

        * Add missing includes (60fc30e)

2023-10-15 Mike Gabriel

        * Release 3.0.2 (77dede8) (tag: 3.0.2)

2023-08-18 Mike Gabriel

        * Merge branch 'personal/peat-psuwit/fd-passing' into 'main'
          (a51cbc6)

2023-07-07 Ratchanan Srirattanamet

        * thumbnailer-admin: migrate to FD-based DBus API (a86e0d1)
        * liblomiri-thumbnailer-qt: migrate to FD-based DBus API (70df787)

2023-07-06 Ratchanan Srirattanamet

        * thumbnailer, service: support requesting thumbnail by FD (428f3af)

2023-06-05 Mike Gabriel

        * Merge branch 'personal/peat-psuwit/cache-migration' into 'main'
          (c80d39d)

2023-05-24 Ratchanan Srirattanamet

        * session-migrations: do migration/cleanup of old cache (dd2f512)

2023-02-05 Mike Gabriel

        * Release 3.0.1 (6ef0298) (tag: 3.0.1)

2023-01-30 Mike Gabriel

        * Merge branch 'personal/gberh/dh-12' into 'main' (1c30993)

2023-01-30 Guido Berhoerster

        * Update to dh version 12 (8442645)

2022-12-15 Mike Gabriel

        * Merge branch 'mr/move-executables-to-libexec' into 'main' (7c0a0c1)

2022-12-15 Guido Berhoerster

        * Update debian packaging (3d4c53d)

2021-11-26 Mike Gabriel

        * CMakeLists.txt: Executables belong into <prefix>/libexecdir.
          (22c76cd)

2022-11-27 Marius Gripsgard

        * Merge branch 'personal/fredldotme/galleryapparmor' into 'main'
          (cc8ee3c)

2022-11-27 Alfred Neumayer

        * service: Add AssumedAppArmorLabel (edf4efc)

2022-10-03 Mike Gabriel

        * Merge branch 'fix_warn' into 'main' (fb2f414)

2022-07-25 Sergey Chupligin

        * Fix warinigs (2653ada)

2022-10-03 Mike Gabriel

        * Merge branch 'main' into 'main' (50b033b)

2022-10-02 Anton Gladky

        * Fix compilation error with GCC-12. Debian-Bug: #1012993 (758f9fd)

2021-12-02 Ratchanan Srirattanamet

        * Merge branch 'main' into 'main' (5ea5dc7)

2021-11-25 Guido Berhoerster

        * Remove delete file from copyright check exceptions (40335db)

2021-11-16 Guido Berhoerster

        * Fix art_extractor tests for TagLib >= 1.12 (issue #5) (778aeef)

2021-11-15 Guido Berhoerster

        * Fix symbol conflict when linking thumbnailer-service (#4) (e802528)

2021-11-26 Dalton Durst

        * Merge branch 'personal/peat-psuwit/copyright-exclude-authors' into
          'main' (8f58b0d)

2021-11-17 Ratchanan Srirattanamet

        * tests/copyright: ignore AUTHOR file (bbd5e38)

2021-07-04 Ratchanan Srirattanamet

        * Release 3.0.0 (49d35af) (tag: 3.0.0)

2021-03-28 Marius Gripsgard

        * Merge branch 'personal/peat-psuwit/rename-to-lomiri' into 'main'
          (d0de88d)

2021-03-26 Ratchanan Srirattanamet

        * Workaround GlibC bug related to static-TLS optimisation (534c5aa)
        * tests: remove obsolete distro test (d3b758d)

2021-03-12 Ratchanan Srirattanamet

        * d/control: update metadata about the software (3e9320d)
        * doc: update the last Unity reference in the thumbnailer-qt doc
          (ae06cea)
        * CTestCustom: update the list of Memcheck-ignoring tests (381fe88)
        * thumbnailer: switch the cache directory to lomiri (2ad8a26)
        * d/*: add a session-migration script to migrate gsettings (be08bc1)
        * d/control: rename thumbnailer-service to lomiri-thumbnailer-service
          (ee007e5)
        * Change gsettings schema namespace to com.lomiri (6b448cd)
        * valgrind-suppress: correct the C++ namespace (42932af)

2021-03-11 Ratchanan Srirattanamet

        * man: rename the manpage to match the binary name (9682ff0)
        * service: rename DBus namespaces to com.lomiri (d935a1e)
        * thumbnailer-qt: rename to lomiri-thumbnailer-qt (1a3b280)
        * thumbnailer-admin: prepend lomiri- to the binary name (a7a0905)
        * data: rename the apport blacklist file to be more understandable
          (f59b523)
        * Rename the "libexec" directory to include lomiri (1ecc753)

2021-03-10 Ratchanan Srirattanamet

        * d/*: handle qml plugin name change (1b0d769)
        * plugins: add an Ubuntu QML compatibility type (963055a)
        * plugins: rename to be under Lomiri (QML) namespace (04acd3a)
        * Change the C++ namespace to lomiri (05720c7)
        * tests/download: disable test_connection_error (17ba988)
        * Migrate .bzrignore to .gitignore (82da73e)
        * Remove unused .bzr-builddeb/ (13ab6ce)
        * tests/copyright: update ignore pattern to ignore .git instead of
          .bzr (171c978)
        * Move Jenkinsfile to debian/ per the new guideline (b583885)
        * Stops contacting dash.ubuntu.com while allowing the tests to pass
          (0900685)
        * Revert "don't do any requests to dash.ubuntu.com since it's not
          alive anymore" (5974472)
        * Revert "Disable tests" (efe8c7b)
        * Migrate to lomiri-api (cbc4a0d)
        * d/control: remove from B-Ds: gstreamer1.0-fluendo-mp3 (7c1e907)
        * Change the project name to lomiri-thumbnailer (36ff71b)
        * Start new changelog entry for 3.0 (1aaf979)

2021-03-16 Rodney

        * Merge pull request #5 from ubports/xenial_-_thumbnailer-qt512
          (c69d47d)

2021-03-10 Ratchanan Srirattanamet

        * Update Jenkinsfile to use shared library (a860197)

2018-06-09 Ivan Semkin

        * Fix build with Qt 5.11_beta3 (dropping qt5_use_modules) (91e8950)

2018-01-08 Dan Chapman

        * Disable docs and coverage reports (a4387b8)
        * Update jenkinsfile and build for xenial (751fb47)

2017-11-01 Marius Gripsgard

        * Disable tests (597ceb5)
        * don't do any requests to dash.ubuntu.com since it's not alive
          anymore (ebf60cf)

2017-10-31 Marius Gripsgard

        * Imported to UBports (235999c)

2016-11-14 Bileto Bot

        * Releasing 2.4+17.04.20161114.1-0ubuntu1 (4c8601a)
        * Added zesty to list of distros for which we suppress Qt tests.
          Fixed code to work with taglib 1.11, which breaks the
          behavior   of the taglib 1.9 API. (86e3611)

2016-11-14 Michi Henning

        * Merged trunk. (273af38)
        * Fixed changelog. (5b39e10)
        * No change rebuild against boost1.62. (9adcfa2)

2016-11-12 Michi Henning

        * I hate changedlog. (5af73ae)
        * Changelog again... (08b07fe)
        * Merged parent. (3ab9ea5)
        * Merged changelog from trunk. (e2d4e8d)

2016-11-11 Michi Henning

        * Reverted to rev 368 (prior to disabling tests). (76de106)
        * 1.18 not available on zesty. (cf54dc8)
        * Trying to force liblevedb 1.18. (a4f7484)
        * Dump kernel version. (fdf78a1)
        * Trying test with valgrind. (727f35e)
        * More trace. (355a23e)
        * Disabled stats calls. (481f9a6)
        * Disabled most tests. (71d132f)

2016-11-10 Michi Henning

        * Back to original test. (f1acae6)
        * Fault seems to be moving. (0da9ff2)
        * Another try. (504a2d2)
        * Disabled parts of segfaulting test to narrow down the problem.
          (3035807)
        * Updated changelog. (b1f51df)
        * Extraction with taglib 1.11 now works again. (5fe027e)
        * First shot at conditional code for taglib 1.11. (147bf89)

2016-11-09 Michi Henning

        * Updated changelog. (47a7236)
        * Added zesty to list of distros with suppressed Qt tests. (c58735e)

2016-09-28 Michi Henning

        * Back-merge from trunk:;  Disabled QDBus-related tests on xenial and
          yakkety for the time being due   to problems with Qt 5.6.
          See
          https://bugs.launchpad.net/ubuntu/+source/thumbnailer/+bug/1613561

          https://bugs.launchpad.net/ubuntu/+source/qtbase-opensource-src/+bug/1625930
          * Changed python-tornado dependency to python-tornado
          <!nocheck> for   cross-builds.;  Changed python-tornado
          dependency to python-tornado <!nocheck> for cross-builds.
          * Relaxed copyright for trace.cpp and trace.h to LGPL.
          No-change rebuild for boost soname change. [ Michi Henning
          ];  Changed copyright from GPL to LGPL for two files used
          in storage framework. [ James Henstridge ];  Fixed
          pkgconfig file for qt library. (3d0a0c8)

2016-09-26 Bileto Bot

        * Releasing 2.4+16.10.20160926.2-0ubuntu1 (4693bfb)
        * Disabled QDBus-related tests on xenial and yakkety for the time
          being due to problems with Qt 5.6. See
          https://bugs.launchpad.net/ubuntu/+source/thumbnailer/+bug/1613561
          https://bugs.launchpad.net/ubuntu/+source/qtbase-opensource-src/+bug/1625930
          (7b2b343)

2016-09-26 Michi Henning

        * Changed python-tornado dependency to python-tornado <!nocheck> for
          cross-builds. (f76252c)
        * Merged trunk. (8f9e66a)
        * Fixed arch expression. Increased timeout for slow-vs-thumb test
          because it fails occasionally on Vivid arm64. (43bc3d4)
        * Disabling selectively only for problem architectures. (ed58a50)

2016-09-23 Michi Henning

        * Manually merged changes from
          https://bileto.ubuntu.com/log/1991/status/7/ (9ee7daa)
        * Got rid of stale unreleased changelog entry. (b707059)
        * More changelog fixing. (dfc4cac)
        * Merged dependent branch. (ba257d6)
        * Changelog fix. (651f010)
        * More changelog fixing. (35bd3f4)
        * Pulled changes made to MR by doko. (cb11b90)
        * Disabled QDBus-related tests on xenial and yakkety for the time
          being due to problems with Qt 5.6. See
          https://bugs.launchpad.net/ubuntu/+source/thumbnailer/+bug/1613561
          https://bugs.launchpad.net/ubuntu/+source/qtbase-opensource-src/+bug/1625930
          (d047273)

2016-08-12 Michi Henning

        * Relaxed copyright for trace.cpp and trace.h to LGPL. (1216d35)
        * Changed licence for trace.cpp to LGPL so we can lift it for storage
          framework. (54b7ba5)

2016-08-05 Michi Henning

        * Merged changes made to trunk. (2ffe901)

2016-07-25 Michi Henning

        * Changed python-tornado dependency to python-tornado <!nocheck> for
          cross-builds. (74d5a38)

2016-07-21 Michi Henning

        * Merged lp:~michihenning/thumbnailer/fix-crossbuild: Changed
          python-tornado dependency to python-tornado:native for
          cross-builds. (720a54b)

2016-07-20 Michi Henning

        * Changed python-tornado dependency to python-tornado:native for
          cross-builds. (841cde2)

2016-07-19 Florian Boucault

        * Crossbuilding fixes (819423a)

2016-07-19 James Henstridge

        * Fix up SHARE_PRIV_ABS definition in cmake configuration. (7da02b9)

2016-07-19 Bileto Bot

        * Releasing 2.4+16.10.20160719-0ubuntu1 (1d479f9)
        * Changed copyright from GPL to LGPL for two files used in storage
          framework.;  Fixed pkgconfig file for qt library.
          (df513b4)

2016-07-19 Michi Henning

        * merged:   James Henstridge 2016-07-18 Fix typo introduced when
          cleaning up CMake files. (3706900)

2016-07-18 James Henstridge

        * Fix typo introduced when cleaning up CMake files. (48025a3)

2016-07-13 Michi Henning

        * [ Michi Henning ];  Changed copyright from GPL to LGPL for two
          files used in storage framework. [ James Henstridge .
          Fixed pkgconfig file for qt library. (37ab308)

2016-07-12 James Henstridge

        * Fix up the libthumbnailer-qt pkg-config file. (32a0935)
        * Looks like Qt5::Network was only required for QML.  Find that
          package instead. (02bc2bb)
        * Do find_package on Qt5Network to see if that cleans up the
          vivid-overlay bug. (b344aeb)

2016-07-12 Michi Henning

        * Changed copyright to LGPL for the bits we stole for storage
          framework. (53c6c41)

2016-07-12 James Henstridge

        * Fix up pkg-config file, and simplify some of the cmake build files.
          (14acf2b)

2016-07-12 Michi Henning

        * Changed license to LGPL for the bits we stole for storage
          framework. (6fd86ac)

2016-05-31 Michi Henning

        * Merging 2.4+16.10.20160530.3-0ubuntu1 from trunk. (3b3c47d)

2016-06-01 Michi Henning

        * Merging 2.4+16.10.20160530.3-0ubuntu1 from trunk. (16cdc39)

2016-05-30 CI Train Bot

        * Releasing 2.4+16.10.20160530.3-0ubuntu1 (f790f6b)

2016-05-30 Michi Henning

        * Fix for copyright test on yakkety. (bc271f5)
        * Merged push from doko. (36779e1)
        * Minor fix to stop complaint from ubsan. (ce3da5b)
        * Fix for escape sequence in regex. (e7e9abf)
        * Re-enabled copyright test on xenial. Added missing copyright
          headers. (d50ac82)
        * Fixed undefined behavior flagged by ubsan. (39b17de)

2016-04-14 Michi Henning

        * Fixed undefined behavior flagged by ubsan. (f8d6758)

2016-04-08 Michi Henning

        * Re-enable copyright/licence test for xenial. (4de862c)
        * Fixed changelog. (82a90e4)
        * Merged devel. (fcfebe3)

2016-04-07 Michi Henning

        * Back-merge of 2.4+16.04.20160321-0ubuntu1 from trunk. (81306c8)
        * Fixed a few more issues with the copyright test and missing
          copyright headers. (f8ecabb)
        * Back-merge of 2.4+16.04.20160321-0ubuntu1 from trunk. (03b4c36)

2016-03-31 Michi Henning

        * Added a nother exclusion to copyright test. (205eef8)
        * Re-enabled copyright test for xenial. (533962a)

2016-03-21 CI Train Bot

        * Releasing 2.4+16.04.20160321-0ubuntu1 (4e0a7f6)

2016-03-21 Michi Henning

        * vs-thumb now uses a separate pipe instead of writing to stdout (LP:
          #1556835).
          Fixes: #1556835 Approved by: PS Jenkins bot
          (492a10d)
        * Fixes from James's review. (d78229b)

2016-03-19 Michi Henning

        * Reserve capacity in image buffer for better performance. (698698f)

2016-03-18 Michi Henning

        * Fixed issues with URL parsing spotted by James. (db77cbb)

2016-03-17 Michi Henning

        * Close read-end of pipe for the child. (16d4b93)
        * Minor simplification. (4858f14)
        * Removed a few pessimizing moves. (7f779b7)
        * vs-thumb now uses a separate pipe instead of writing to stdout (LP:
          #1556835). (57cc1cd)

2016-03-11 Michi Henning

        * Removed #include <iostream> that was left behind after debugging.
          (abf330f)
        * Removed #include <iostream> that was left behind after debugging.
          (19f115c)

2016-03-03 Michi Henning

        * Back-merge of 2.4+16.04.20160302.1-0ubuntu1 from trunk. (20b0a25)

2016-03-04 Michi Henning

        * Back-merge of 2.4+16.04.20160302.1-0ubuntu1 from trunk. (54ea70a)

2016-03-02 CI Train Bot

        * Releasing 2.4+16.04.20160302.1-0ubuntu1 (3a92713)

2016-03-02 Michi Henning

        *   * Thumbnails now preserve transparency of source image (LP:
          #1532719, LP: #1541836).   * Fixed incorrect tests when
          checking full-size cache hits (LP: #1540753).   * Minor
          improvements to man pages. Approved by: PS Jenkins bot
          (b0d59b5)
        * Merged changes on devel since last release. (f153e37)
        * Minor fixes to man pages. (29bb260)
        * Fixed a typo. (9f21b39)
        * Minor fixes for man page. (9a143a5)
        * Back merge of 2.4+16.04.20160226-0ubuntu1 from trunk after release.
          (3800e70)
        * Back merge of 2.4+16.04.20160226-0ubuntu1 from trunk after release.
          (9c39b15)
        * Added valgrind suppression for uninitialized jump in
          libgstlibav.so. (73dcd51)
        * Added valgrind suppression for uninitialized jump in
          libgstlibav.so. (469e6b9)

2016-02-29 Michi Henning

        * Support transparency for thumbnails.
          Fixes:
          https://bugs.launchpad.net/bugs/1532719,
          https://bugs.launchpad.net/bugs/1541836. (fe67ddc)
        * Fixes for full-size tests.
          Fixes:
          https://bugs.launchpad.net/bugs/1540753. (8c7fff5)
        * Review comments from James. (6df51f2)
        * Fix for 1540753. Code was correct, but test wasn't. (1e982ab)
        * Fixed util.cpp to actuall return png (probably a merge error from
          devel). Added more tests for coverage. (a45c0de)

2016-02-27 Michi Henning

        * Merged devel. (d6325ad)
        * Fixed typo in comment. (031d2c1)

2016-02-26 CI Train Bot

        * Releasing 2.4+16.04.20160226-0ubuntu1 (bb310a8)

2016-02-26 Michi Henning

        *   [ Michi Henning ]   * Fixed incorrect build dependency for
          settings-defaults.h.   * Re-enabled tests on powerpc and
          s390x, except for qml test.   * Disabled vs-thumb test on
          powerpc64le due to gstreamer codec bug.   * Added version
          check on start-up and automatic cache wipe if cache
          encoding version changes.   * Changed local audio
          extraction for better performance: 12 times     faster on
          Mako, 5 times faster on desktop.   * thumbnailer-admin now
          works with relative paths (LP: #1538774). (10eb104)
        * Merged devel. (8fe393a)
        * Fix assert() in thumbnailer if local file path was empty. Fix
          relative paths for thumbnailer-admin.
          Fixes:
          https://bugs.launchpad.net/bugs/1538774. (7ea7e02)
        * Removed unused variable. (7e77a14)
        * Second fix for bug 1538774. (fe73087)
        * Relaxed test some more. s-jenkins is in a mess. (5d6ef01)
        * Fixes for insanely slow Arm machines on s-jenkins. (a038568)

2016-02-25 Michi Henning

        * Minor tidy-up. (95ed56c)
        * Added librsvg2-common to control. (e30c432)
        * Fixed thumbnailer-admin to produce png images. (1d0f557)
        * Merged devel and fixed broken test. (53622bb)
        * Merged devel. (a000aab)
        * Started change to png for thumbnailer-admin. (aa412c2)
        * Fixed incorrect extraction of video still frames. Got rid of build
          warning in release mode. (d1ecc55)

2016-02-24 Michi Henning

        * Remove trailing newline at EOF. (c2fbfbc)
        * Fixed error I introduced during merge conflict. (f574f03)
        * Updated changelog. (3cdeecd)
        * Merged devel. (1ad3ce2)
        * Wipe the cache if we are upgrading from 2.3.x. (af4f3da)
        * Changed audio cover art extraction to use taglib. (186f0ac)
        * Changed settings retrieval for client lib to use a single method
          for all settings. (a213413)
        * First cut at transparency. (d32a2ed)
        * Review comments from James. (00db683)
        * Changed settings retrieval for client lib to use a single method
          for all settings. (c1490a1)

2016-02-22 James Henstridge

        * Back-merge of 2.3+16.04.20160210-0ubuntu1 from trunk. (34af46d)

2016-02-22 Michi Henning

        * Back-merge of 2.3+16.04.20160210-0ubuntu1 from trunk. (98e0bd4)

2016-02-16 Michi Henning

        * Don't request audio properties when opening file. (0258ead)

2016-02-15 Michi Henning

        * Added a cache encoding version that is now used by the thumbnailer
          to decided whether to wipe the cache. Whenever the cache
          encoding version changes, all three caches are wiped.
          (632856f)
        * More tests. (e0968f7)
        * Added some tests. (b322d75)
        * Changed version to 2.4 in changelog. Minor renaming and clean-up.
          (f0d232a)
        * Basic version update functionality. Still needs tests. (8df4435)
        * Merged taglib branch. (b9fef2f)

2016-02-10 Michi Henning

        * Canonicalise paths on the client side because relative paths on the
          server side don't make sense.
          Fixes:
          https://bugs.launchpad.net/bugs/1538774. (a8c1d29)
        * Review comments from James. (0571084)

2016-02-10 CI Train Bot

        * Releasing 2.3+16.04.20160210-0ubuntu1 (1710db1)

2016-02-10 James Henstridge

        * When a thumbnail can not be loaded, return an error from the image
          provider rather than substituting in a fallback image.
          Users can detect the problem via the status property of
          the QML Image component and provide their own fallback
          handling.
          Fixes: #1324142 Approved by: Michi Henning, PS
          Jenkins bot (5af8853)

2016-02-09 Michi Henning

        * Removed redundant check whether file is readable. Because we always
          determine the mime type by deep inspection first, the call
          to open() just wastes cycles. (ce939d2)

2016-02-05 Michi Henning

        * Added support for old OGG COVERART tag. (1b2f031)

2016-02-04 Michi Henning

        * Review comments from James. (1828c8c)
        * Better names, clearer code. (b9a2ae6)

2016-02-03 Michi Henning

        * Updated comment. (c9ec109)
        * More tests. (9c2235c)
        * Simplified code. (8c3f2df)
        * Stripped out optional audio file types. More tests. (058ca7a)
        * Increase wait time for Jenkins. (4b3be01)

2016-02-02 Michi Henning

        * Updated debian/control. (1ebc839)
        * Removed audio tests for vs-thumb because it is no longer used for
          audio files. Lots of other test clean-up. (a457a85)
        * Minor updates to vs-thumb. We need to keep audio support because
          the tags for videos live in the audio part of the
          container. (aee03fd)
        * Fixed test failures caused by changes. (936c791)
        * Another test. Reduced iterations for mp3 stress test to 100 for now
          to avoid overrunning DBus. (64fca34)
        * Fixed build warning on arm. (b8df01e)
        * Switched thumbnailer to use taglib extractor for audio files.
          (24a3e95)
        * First cut at cover art extraction using taglib. (2b139d9)

2016-01-29 Michi Henning

        * Fixed copyright. (81c525d)
        * Moved mime type detection into separate source file. (ad3d01b)
        * Remove unused variable. (66780b9)
        * Better error reporting for content type detection, plus extra test.
          (33f8150)

2016-01-28 Michi Henning

        * Canonicalise paths on the client side because relative paths on the
          server side don't make sense. (871bdac)

2016-01-21 Michi Henning

        * Disabled qml test for powerpc and s390x, re-enabled all other tests
          on those architectures. Disabled vs-thumb test for PPC
          little-endian on vivid only because a gstreamer codec has
          an endian bug there. (33346e2)
        * Increased wait time to 10 seconds for libthumbnailer-qt_test to
          avoid failures caused by overloaded builders. (d67f38e)
        * Fixed typo in changelog. (05627d1)
        * Fixed architecture strings, disabled vs-thumb test on vivid for PPC
          little-endian. (3fa575e)
        * First try for silo testing. (2824873)

2016-01-20 James Henstridge

        * When reading a potentially animated image, stop processing chunks
          once we've fully decoded the first frame.  This reduces
          the IO and CPU load when thumbnailing large animated GIF
          files.
          Fixes: https://bugs.launchpad.net/bugs/1527315.
          (72726a3)

2016-01-19 James Henstridge

        * Simplify logic a little. (684c349)
        * When loading a scaled animation, the area-prepared signal may be
          delayed until the loader is closed.  So instead, try to
          create the PixbufAnimationIter after feeding each chunk to
          the loader. (e83df58)
        * Add a test for loading a scaled animated gif. (1c69a9b)
        * Silence unused variable warnings. (81e22b7)
        * Remove code banning large GIF files: it is animations that blow out
          the memory usage, and we should stop loading them early
          now. (0c4b2a4)
        * Add a test that shows that we decode the first frame of an animated
          image and don't read the entire file. (68a98c9)
        * Stop reading the image once the first frame of an animated image
          has been fully decoded. (1c1b4f4)

2016-01-13 Michi Henning

        * Made client-side config settings available from the server.
          Fixes:
          https://bugs.launchpad.net/bugs/1528058. (cc40b25)
        * Documented location of on-disk cache files. (be1b583)
        * Simplified dbus invocation. (d5ea1aa)

2016-01-12 James Henstridge

        * Remove error logging in requestFinished() method. (583835a)
        * Remove obsolete comment from textureFactory() method. (48538a5)
        * Add direct image provider tests for error conditions. (6d78dc2)
        * Fix up QML tests. (c8a794f)

2016-01-12 Michi Henning

        * Documented location of on-disk cache files. (0a55c63)

2016-01-11 James Henstridge

        * Merge from devel, fixing massive conflicts. (c0d9ce2)

2016-01-11 Michi Henning

        * Feedback from James. Got rid of mis-guided attempt to default based
          on the number of CPUs. (3a313ab)
        * Fixed incorrect build dependency for settings-defaults.h with
          parallel builds. (ab0d1a1)
        * Dealt with remaining coverage issues by adding tests or suppressing
          as needed. Made file_lock test skip slow parts when
          slowtests is off. (8370a75)
        * Feedback from James, thanks! (4d16105)
        * Fixed typo in error message. (a78bc17)
        * Oope, stale test from having merged devel. (ac27cd6)
        * Minor comment adjustment. (f859db8)

2016-01-10 Michi Henning

        * Minor adjustments to the way backlog is used. Default is now number
          of CPUs + 2. (9e087ab)
        * Merged devel. (ba6d0ea)
        * Fixed incorrect error message string. (052dc73)

2016-01-09 Michi Henning

        * Dealt with remaining coverage issues by adding tests or suppressing
          as needed. Made file_lock test skip slow parts when
          slowtests is off. (546d96e)
        * Fixed incorrect build dependency for settings-defaults.h with
          parallel builds. (ad9ded7)

2016-01-09 CI Train Bot

        * Merged 2.3+16.04.20160108.2-0ubuntu1 from trunk after release.
          (de3607e)

2016-01-09 Michi Henning

        * Merging 2.3+16.04.20160108.2-0ubuntu1 from trunk after release.
          (dc62241)

2016-01-08 CI Train Bot

        * Releasing 2.3+16.04.20160108.2-0ubuntu1 (fcef9d4)

2016-01-08 Michi Henning

        * Limit GIF file size to 2 MB (LP: #1527315).
          Fixes: #1527315
          Approved by: PS Jenkins bot (62d2670)
        * Limit GIF file size to 2 MB (LP: #1527315). Fixed incorrect display
          of cache policy by "thumbnailer-admin stats". (7c1f22d)
        * Limit extraction of thumbnails from GIF to files no larger than 2
          MB.
          Fixes: https://bugs.launchpad.net/bugs/1527315.
          (ea9a956)
        * Better log message. (fc59545)
        * Updated changelog. (bcd9182)
        * Limit gif extraction to files no larger than 2 MB. (feb1c7a)
        * Fixed incorrect display of cache policy by "thumbnailer-admin
          stats". (99c7fe9)
        * Fixed incorrect display of cache policy by "thumbnailer-admin
          stats". (bf474d3)

2016-01-08 CI Train Bot

        * Back-merge from trunk after release. (df165b7)

2016-01-08 Michi Henning

        * Merged trunk at 2.3+16.04.20160107.1-0ubuntu1. (dd98a72)

2016-01-07 CI Train Bot

        * Releasing 2.3+16.04.20160107.1-0ubuntu1 (59fdb91)

2016-01-07 Michi Henning

        * Fix for lp:1531038. Much better user experience this way. Approved
          by: Michi Henning (74cea21)
        * Fix for lp:1531038 for landing in silo. (c6057ac)
        * Merged 2.3+16.04.20160107-0ubuntu1 from trunk after publishing.
          (8238f43)
        * Merged 2.3+16.04.20160107-0ubuntu1 from trunk after publishing.
          (9a44d2b)
        * After long discussions with slangasek, robru, and infinity, ignored
          test failures for s390x because, by an unfortunate chain
          of events, s390x packages were published back on 2
          November. (d0b0cf7)
        * Disabled tests failures for s390x as for PPC, as discussed with
          Adam Conrad. (e0a09f1)

2016-01-07 CI Train Bot

        * Releasing 2.3+16.04.20160107-0ubuntu1 (1d80de9)

2016-01-07 Michi Henning

        * Merge changes from devel to trunk for landing. Approved by: Michi
          Henning, PS Jenkins bot (a5b8f3b)
        * Made tests succeed on s390x, the same as for PPC, due to gstreamer
          problems, as discussed with Adam Conrad. (3acdca9)
        * Changed default backlog to 10. Change RateLimiter to work on LIFO
          basis. Fixes lp:1531038.
          Fixes:
          https://bugs.launchpad.net/bugs/1531038. (da4e86e)
        * Changed default backlog to 10. RateLimiter now works on last-in,
          first-out basis instead of FIFO. This gives cancellation a
          much better chance of actually cancelling something.
          (f73c6c5)
        * Updated doc for Thumbnailer constructors. (82c5427)
        * Updated doc for Thumbnailer constructors. (199864d)

2016-01-06 Michi Henning

        * Default for trace-client setting if dbus call fails is true for
          now, for debugging. (1337db7)

2016-01-05 Michi Henning

        * Made client-side config settings available from the server.
          (1cb6273)

2016-01-04 Michi Henning

        * Michi Henning 2016-01-04 [merge] Michi Henning 2016-01-04 Added
          exponential backoff for unexpected server errors.
          (fced536)
        * Michi Henning 2016-01-04 Added exponential backoff for unexpected
          server errors. (9f53496)
        * Added exponential backoff for unexpected server errors. (7c93f4b)

2015-12-31 Michi Henning

        * Merged devel. (60ab814)
        * Minor optimizations to reduce memory pressure. (68d24dc)
        * Minor optimizations to reduce memory pressure. (9475a27)
        * Merged devel. (ff93757)
        * Do not treat request timeout as a temporary error because we see
          this quite often from the remote server.
          Fixes:
          https://bugs.launchpad.net/bugs/1528105. (b59f557)

2015-12-30 Michi Henning

        * Merged devel. (bfb7d10)
        * Changed the default number of concurrent downloads to 8. (ceea4e3)
        * Fixed settings test. (60cf3e5)
        * Changed the default number of concurrent downloads to 8. (05f7647)
        * Fixed missing status assignment. (7c4e1f4)
        * Add missing switch case. (8771e60)

2015-12-28 Michi Henning

        * Do not treat request timeout as a temporary error because we see
          this quite often from the remote server. (813c5d0)

2015-12-27 Michi Henning

        * Merged devel. (826df90)
        * Added two missing codec guards to test. (b17e7e7)
        * Added missing mpeg guards to two tests. (7c7ab8d)

2015-12-23 Michi Henning

        * Merged devel. (d4bbbe1)
        * Using old signal syntax in test because, on arm64 on Vivid, the
          test fails with the new syntax. (1f3022c)
        * Empty commit to force rebuild. (87dd8fa)
        * Using old signal syntax in test because, on arm64 on Vivid, the
          test fails with the new syntax. (90f4703)
        * Added comment. (5e4fa07)
        * Trying old signal syntax to see whether this avoids failure on
          arm64 Vivid test. (1b82b18)

2015-12-22 Michi Henning

        * Merged parent. (72b95e0)
        * Merged devel. (8223665)
        * Increased signal wait time for CI Train. Minor renaming for
          consistency and excluding tests from coverage. (2305fd8)
        * Minor renaming for consistency and excluding tests from coverage.
          (a226b41)
        * Doubled signal wait time for CI Train. (e12846a)
        * Doubled signal wait time for Jenkins. (ce6d28f)

2015-12-21 Michi Henning

        * Merged devel. (0c6b9f1)
        * Fixes two minor bugs in the vs-thumb test. (fe1f9c5)
        * Fixed cancellation logic if requests are destroyed without being
          cancelled first. Documentation and test improvements.
          (a4f068f)
        * Doc improvements, simplified limiter() accessor. (23439a0)
        * Accessor on thumbnailer to allow pumping the limiter via the
          thumbnailer because we can't schedule a member function on
          RequestImpl to pump the limiter from the RequestImpl's
          destructor. (279c176)
        * Merged devel. (6ca5100)
        * Removed temp code in settings.cpp. (d482771)
        * Removed more trace. (cddecf9)
        * Stripped trace. (bff5f60)
        * Removed trace from limiter. (b0c4eb3)

2015-12-19 Michi Henning

        * Delay pumping from destructor. (fb45713)

2015-12-18 James Henstridge

        * Add some direct C++ tests for the QQuickImageProvider
          implementations in the QML plugin. (0ce5150)

2015-12-18 Michi Henning

        * Typo. (a5f30dc)
        * Moved done trace. (5ec132c)
        * Fix trace. (5c0fd2d)

2015-12-18 James Henstridge

        * Run image-providers test under Xvfb. (2cd2e1e)
        * Fix linkage of test program. (6de78b7)

2015-12-18 Michi Henning

        * Fixed limiter pump conditional. (424dde0)

2015-12-17 James Henstridge

        * Add QML code back to coverage report. (b42a727)
        * Add a stub test for cancellation. (0258908)
        * Add a test calling the thumbnailer QQuickImageProvider directly
          from C++. (d00a8c2)
        * Put the majority of the QML plugin in an intermediate static
          library. (3bd1f4e)

2015-12-17 Michi Henning

        * trace... (ca50e85)
        * Whitespace. (d2e5172)
        * Better naming. (4e1724c)
        * Don't check cancelled_ in destructor. (8d6df0c)
        * Better comments. (e8ed0a7)
        * Make sure watcher is reset even if an exception is thrown while
          processing a reply. (10b9950)
        * Destructor needs to check watcher_, not finished_. (0985aa0)
        * trace... (c822360)
        * More settings tests. (26cfe18)
        * Trace for get_bool (4f94b10)
        * Pump limiter from destructor. (6123677)
        * Cancel from RequestImpl destructor. (b22dae8)
        * More trace. (fdc4f4a)
        * Added trace for debugging. (787cb80)

2015-12-16 Michi Henning

        * Backed out s390x-specific changes. (82b1534)
        * Backed out s390x-specific changes again. (5c63757)
        * Oops, wrong operator. (4af2d58)
        * Oops, wrong operator. (58d1743)
        * Skipping qml test on s390x. (ad03ff8)
        * Skipping qml test on s390x. (062c512)
        * Checking CPU string for IBM. (946c45d)
        * Avoid build and test failure on s390x. (6b91a58)
        * Check for aac mime type correctly, guard mp3 extraction for missing
          codec. (a46e957)
        * Avoid build failure on s390x. (cc2cc4f)

2015-12-15 Michi Henning

        * Merged devel. (faf468a)
        * 100% coverage again for thumbnailextractor.cpp. (63377dc)
        * 100% coverage again for thumbnailextractor.cpp. (4e24bf4)
        * Merged devel. (7148edb)
        * Added log-level gsetting to reduce chatter in the logs. (05296a5)
        * Merged devel. (d392d6a)
        * Avoid the intermediate conversion to tiff for audio and video files
          with embedded artwork. (4a9b78b)
        * Removed useless lambda. (38f1bd6)
        * Fixed memory management issue for buffermap. (015beee)
        * Changes from devel branch. (a8c0129)
        * Updated changelog. (8328109)
        * Merged devel and resolved conflicts. (f821a7b)
        * Merged devel and resolved conflicts. (2ee3d17)

2015-12-14 Michi Henning

        * Passing an invalid size to the QML or Qt APIs is now an error.
          (0872ede)
        * Merged devel and resolved conflicts. (47b09b0)
        * Merged devel and resolved conflicts. (49d2b6b)
        *  Fixed clang warnings about missing pragma push. (4001d12)
        * Fixed ubuntuserverdownloader to behave correctly when test machine
          has no internet connection. (494296a)
        * Resolved merge conflict. (4803ec8)
        * Merged devel. (894ac58)
        * Merged devel and resolved conflicts. (b91f32f)
        * Merged devel and resolved conflicts. (d42d058)
        * Merged devel and resolved conflict. (82a2ae3)
        * This fixes the bad request problem in bug 1512608 ( No thumbnails
          generated for OGG audio).
          Fixes:
          https://bugs.launchpad.net/bugs/1512608. (29481ac)
        * Removed redundant operator<< for QString when tests fail. (b1109f0)
        * Added log-level config setting. (9c13fac)
        * Added custom operator<< for QString for gtest. (5fcd47e)
        * Merged parent. (273bd2b)
        * Dump error output from xvfb-run if qml test fails. (ba513da)
        * Increased pump time to avoid failure with Arm tests on Jenkins.
          (9398045)

2015-12-12 Michi Henning

        * Increased wait time for Jenkins. (9dbdb40)
        * Removed env_vars map and used constexpr char const* instead. Got
          rid of a few redundant comments that just endlessly go out
          of sync. (738e785)
        * Fixes suggested by James. (6177d5c)
        * Fixed warning from clang pragma. Fixed doxygen complaint about
          example location. (c8c869f)

2015-12-11 Michi Henning

        * Fixed misguided attempt to send finished() signal when Request is
          destroyed. (e28744f)
        * Added another valgrind suppression. (4bd38cb)
        * Now avoiding conversion to tiff if we found embedded artwork.
          (e9fe907)

2015-12-10 Michi Henning

        * More simplification, better diagnostic for "no artwork exists".
          (88a2cbb)
        * First refactoring steps. Check and apply rotation only for video
          frames. (ddbfd46)
        * Merged devel. (d7638a2)
        * Minor fix. (bea3a26)
        * Fixed clang warnings about missing pragma push. (df62da0)

2015-12-09 Michi Henning

        * Removed stale assert that that got left behind after resolving a
          merge conflict. (6b6d307)
        * Removed stale assert. (964e124)
        * Removed stale assert. (5ca95d1)
        * Removed stale assert. (a71030f)
        * Merged devel and resolved conflicts. (16cc8bb)
        * Merged devel and resolved conflict. (fd34cfc)
        * Fixed poor cancellation logic. (a75ce9e)
        * Undid incorrect merge from devel. (6163b43)
        * Merged devel and resolved conflicts. (0851ee2)
        * Removed debug trace. (65a9142)
        * Passing an invalid size to the QML or Qt APIs is now an error.
          (b339950)

2015-12-07 Michi Henning

        * Removed hack to try and deal with the arm gstreamer problems in a
          hardware-specific way. (88360cc)
        * Stop tests from failing when test machine has no internet
          connection. (22ba45c)

2015-12-04 Michi Henning

        * Don't hang on tests if there is no internet connection. (Not
          finished yet.) (83430a2)
        * Merged devel and resolved conflicts. (38020a1)
        * Replaced returning of thumbnails via file descriptor with returning
          the image contents directly over DBus. About 7-8%
          performance improvement for hits on 128-size thumbnails.
          (8aa529c)
        * Removed trace, updated changelog. (5473e9b)
        * Some tidy-up, stricter tests. (b219e58)
        * More thorough server error test. Make sure we always get a duration
          in the log, even if check() returns an error status.
          (a372239)
        * Temporary check-in, moving machines. (17c0c1c)

2015-12-03 Michi Henning

        * Tighter tests, better diagnostics, unified error handling. fetch()
          is noexcept now and download() no longer throws for
          unsurprising errors (permission denied, server down, etc.)
          Still need to adjust logic in handler to not call download
          if check() reports an error. (0dfe936)
        * Merged parent branch. (a7fb68c)
        * Merged devel. (b325c5e)
        * Removed QByteArray annotation from DBus interface xml. (7f0959e)

2015-12-02 Michi Henning

        * Addressed review comments from James. Thanks heaps for that, the
          data() copy issue was pretty damn serious! (0eb39e5)
        * Simplified code for conditionally-compiled adjusted_limit().
          (2c1901f)
        * Removed redundant error check. (c260425)
        * Refactored ArtReply and UbuntuServerArtReply. (6f683f7)
        * Removed stale thumbnailer tests. Changed network retry test to use
          recoverable error code. (a1456cc)

2015-12-01 Michi Henning

        * Added lsb-release to build deps. (8792654)
        * Added lsb-release to build deps. (e691420)
        * Merged devel. (c71b339)

2015-11-30 Michi Henning

        * Minor change from reviewing the diff. More consistent argument
          ordering for write_file() functions. (a00104c)
        * Replaced returning of thumbnails via file descriptor with returning
          the image contents directly over DBus. About 7-8%
          performance improvement for hits on 128-size thumbnails.
          (bbc0dd9)

2015-11-29 Michi Henning

        * Back to queue-based limiter, with minor change in done(). (1ce7c98)

2015-11-27 Michi Henning

        * Increased wait time again for Jenkins. (6a56f47)
        * Merged devel. (8e0dafd)
        * Bring coverage for Image class back up to 100%. (f6874ca)
        * Oops, needs to work on Arm too... (77fddc5)
        * Removed hack to try and deal with the arm gstreamer problems in a
          hardware-specific way. Nothing we can do about the codecs.
          (b071b9f)
        * Another test adjustment. (a73ce86)
        * Relaxed test to allow for slow machines when building on Jenkins.
          (2809253)
        * Removed check for impossible error condition. (1b92b40)
        * Removed trace from test. (24c77d3)
        * Removed redundant capture from lambda. (d924701)
        * Cancellations and signals now working correctly. Still using overly
          complex rate limiter. (946c965)

2015-11-25 Michi Henning

        * Make sure we always emit a signal, even when a request is destroyed
          prematurely. Still a problem with bulk cancellation test,
          which fails intermittently. (501b721)
        * Refactored client-side trace. (8ab5f38)
        * Removed sent_ member from RequestImpl. Instead, the ratelimiter
          cancel function returns whether the request was actually
          cancelled. That's cleaner than tracking that state from
          outside. (f9289e2)

2015-11-24 Michi Henning

        * Removed check for impossible error condition. (39af7dd)
        * Bring coverage for Image class back up to 100%. (cb3e4f5)
        * Stopped bogus cancellation messages when client-trace is turned on.
          (768a204)
        * Fixed cancel client-trace noise in log. (c1594e0)

2015-11-19 Michi Henning

        * Added devscripts to build dependencies. (27fd80b)

2015-11-13 Michi Henning

        * Fixed incorrect scaling of thumbnails with dimensions (w,0) or
          (0,h).
          Fixes: https://bugs.launchpad.net/bugs/1515848.
          (989d2d9)
        * Added work-around for broken licensecheck on xenial. (9f4262b)
        * Reworded a bit of doc for clarity. (490bbab)
        * Fixed doc to match actual behavior and added a few more tests.
          (9dddd55)
        * Noticed that a bunch of copyright headers taken from elsewhere and
          fixed those. (83b88fd)
        * Fixed stale comment. (0c888c0)
        * Added devscripts to build dependencies. Needed by copyright test,
          which uses license-check. (08e43d1)

2015-11-10 Michi Henning

        * Updated changelog. (d4ada95)
        * Merged devel. (d9daf61)
        * Minor test improvements. (0bb1d21)
        * Use an advisory lock to prevent shutdown/start-up race between
          service instances. Disconnect from DBus at the earliest
          possible moment so new requests will be redirected to a
          new instance.
          Fixes:
          https://bugs.launchpad.net/bugs/1511553. (8ef52ea)
        * Fixed crash that would trigger if we call shutdown() on the admin
          interface while there were still requests in the thread
          pools.
          Fixes: https://bugs.launchpad.net/bugs/1511553.
          (a9708a4)

2015-11-09 Michi Henning

        * Minor coverage improvement for vs-thumb, plus better error message.
          (ef4f5d8)
        * Merged dependent branch. (b926bf6)
        * Stripped atomic_load for request pointer. Not needed anyway because
          the destructor waits for the pooled jobs to complete.
          (1799bf2)
        * Simplified code a little. (fad5129)
        * Merged dependent branch. (93f3947)
        * Fixed bug in image.cpp that could cause a scaled dimension to
          become zero, causing an error in the scaler. (72d6c6a)

2015-11-06 Michi Henning

        * Suppressed compile warning in test. (dc65bef)
        * Use an advisory lock to prevent shutdown/start-up race between
          service instances. Disconnect from DBus at the earliest
          possible moment so new requests will be redirected to a
          new instance. (61ab6ed)
        * Updated changelog. (b8b5471)
        * Stress testing early termination now. (f637b95)
        * Minor coverage improvement for vs-thumb, plus better error message.
          (16d1f6a)
        * Merged devel. (873ed15)
        * debian/rules now ignores failing tests on PPC. (daa9df9)
        * Re-enabled remaining stress tests. (852cb54)
        * Fixed idiotic editing mistake in dbusinterface.h. (8c7da6c)

2015-11-05 Michi Henning

        * Merged parent. (547ff1f)
        * Temporary check-in for James. (28b24a8)
        * shared_ptr for inactivity handler. Still getting a crash if
          thumbnailer is not kept alive in main. (63a6dee)

2015-11-04 Michi Henning

        * Added invalid size error on service side. (26aceca)
        * Stage 1 of making invalid QSize a hard error. Changed in
          libthumbnailer, removed warning from QML side (now emitted
          as error by Qt lib). Fixed many EXPECT macros in the test
          that were the wrong way around. (4b1717b)
        * Updated changelog. (4220008)

2015-11-03 Michi Henning

        * Removed individual exclusions for tests for PPC now that we are
          ignoring test failures for PPC globally. (3fb1488)
        * Merged devel. (c07fda4)
        * Back-merge of 2.3+15.10.20150915.1-0ubuntu2 from trunk. (f08ad69)
        * Merged devel. (61adb2c)
        * Fixed incorrect variable setting. (4556c19)
        * Fixed comment. (ca0b40e)
        * Change debian/rules to ignore failing PPC tests. (c60b557)
        * Clearing all caches now also resets the network retry timeout.
          (b793294)
        * Disabled test for PPC entirely. (6fc0e24)
        * Clearing all caches now also resets the network retry timeout.
          (532b3df)
        * CI Train Bot 2015-11-02 Releasing 2.3+16.04.20151102.2-0ubuntu1
          (3976470)
        * Back-merge of 2.3+15.10.20150915.1-0ubuntu2 from trunk. (7c27b07)

2015-11-02 CI Train Bot

        * Releasing 2.3+16.04.20151102.2-0ubuntu1 (c407e64)

2015-11-02 Michi Henning

        * [ Michi Henning ]   * "thumbnailer-admin clear f" now also resets
          the network retry timeout.   * API documentation and man
          page improvements.   * Requests made via the Qt and QML
          APIs are correctly rate-limited now.   * Service log now
          shows statistics on start-up.   * Resetting the stats now
          also resets the network failure retry timout.   * Fix for
          cover art extraction if only a preview cover image is
          available. (d49827a)
        * Fix for broken MP4 decoder on PPC. (faa10e5)
        * Merged devel. (ac66e34)
        * Changed vs-thumb to complain about missing .tiff extension instead
          of appending it silently. (1babafe)
        * Fixed merge conflict. (5eb699f)
        * Michi Henning 2015-11-02 [merge] Fixed broken request cancellation.
          Improved test coverage.
          Fixes: https://bugs.... Michi
          Henning 2015-10-30 [merge] Relaxed a few valgrind
          suppression for gcc5 ABI. Michi Henning 2015-10-30 Relaxed
          a few valgrind suppression for gcc5 ABI. Michi Henning
          2015-10-30 [merge] Two trivial new valgrind suppressions.

          Fixes: https://bugs.launchpad.net/bu... Michi Henning
          2015-10-30 Two new valgrind suppressions for unitialized
          values. (0f4822e)
        * Fixed broken request cancellation. Improved test coverage.
          Fixes:
          https://bugs.launchpad.net/bugs/1501349. (d568f1c)
        * Michi Henning 2015-11-02 Changed no-extension test to use a real
          file instead of a symbolic link, otherwise we pick
          (83b3f97)
        * Changed no-extension test to use a real file instead of a symbolic
          link, otherwise we pick up the thumbnail from the
          previously-cached version. This ensures that we correctly
          test content type determination for non-empty files
          without a file extensions. Fixed incorrect coverage
          suppression for glib >2.21. (0b7a8f5)

2015-10-30 Michi Henning

        * Relaxed a few valgrind suppression for gcc5 ABI. Added new
          suppressions for Wily. Fixed incorrect test names in
          CtestCustom.cmake.in.
          Fixes:
          https://bugs.launchpad.net/bugs/1476506. (e5a1658)
        * Relaxed a few valgrind suppression for gcc5 ABI. Added new
          suppressions for Wily. Fixed incorrect test names in
          CtestCustom.cmake.in. (486050c)
        * Two trivial new valgrind suppressions.
          Fixes:
          https://bugs.launchpad.net/bugs/1476506. (4afaa77)
        * Two new valgrind suppressions for unitialized values. (7bd76a3)

2015-10-29 Michi Henning

        * Better changelog message. (4943e38)
        * vs-thumb now errors for missing .tiff extension instead of silently
          appending it. (a2fe5d6)
        * Videos with embedded artwork now display the artwork thumbnail
          instead of an extracted still frame. (2826c29)

2015-10-28 Michi Henning

        * Updated changelog. (58af9d4)
        * Updated changelog. (42cb44e)
        * Michi Henning 2015-10-28 Stripped debug trace. (c17c94d)
        * Stripped debug trace. (d175869)
        * Michi Henning 2015-10-28 Yet more trace. (7788c47)
        * Yet more trace. (fffacb8)
        * Michi Henning 2015-10-28 More detailed client-side trace. Michi
          Henning 2015-10-28 Trace for clearing and compacting.
          Michi Henning 2015-10-28 Suppressed quotation marks in
          trace. (5f03021)
        * More detailed client-side trace. (9d4c39e)
        * Trace for clearing and compacting. (002b2e1)
        * Suppressed quotation marks in trace. (2586508)
        * More trace for performance verification. (c9e2256)
        * Added rate limiter trace. (b96ec7b)
        * Configurable client-side tracing. (83c117a)

2015-10-27 Michi Henning

        * Merged request-cancellation. (51587cc)
        * Removed trace. (8d9f264)
        * Merged request-cancellation branch. (2d65146)
        * Coverage improvements. (d36fdd7)
        * Merged devel. (634f498)
        * Merged request-cancellation branch. (7747a0b)
        * Adjusted tests, minor clean-up. (11ee8fb)

2015-10-26 Michi Henning

        * Stripped some trace. (fa5d505)
        * pending merges:   Michi Henning 2015-10-26 More trace on rate
          limiter. (914593d)
        * More trace on rate limiter. (0c65129)

2015-10-23 Michi Henning

        * Partially refactored vs-thumb. Better performance, tracing, and
          error messages. (5307732)
        * Test improvements. Should be pumping limiter correctly now.
          (b05775f)
        * Test improvements. Should be pumping limiter correctly now.
          (636ad64)
        * Merged request-cancellation branch. (6ec649f)
        * Added missing call to limiter_->done(). (d55ae6a)
        * Cancel goes through finishWithError() path again. (ce9367f)
        * Merged parent. (46005cd)
        * Merge from request-cancellation branch. (80c3c7c)
        * Merged parent. (6500861)
        * Enabled EMIT again. (18d9df4)
        * Enabled EMIT again. (00320e9)

2015-10-22 Michi Henning

        * Fixed typo. (dee1f30)
        * Suppress bogus error message after cancellation on QML side.
          (7433d4d)
        * Syncing with request-cancellation branch. (e1524bb)
        * Changes from silo branch. (7e4133c)
        * Fixed typo. (202e74b)
        * Trying with disabled EMIT after cancel(). (8283f74)
        * Disabled EMIT on QML side for cancelled request. (9f76db8)
        * Disabled Q_EMIT after cancel. (50a3db3)
        * Suppress bogus D-Bus error message from QML plugin after request
          was cancelled. (c492dd5)
        * Merged request-cancellation branch. (b13f0af)
        * Minor re-arrangement for clarity. More trace. Still not clear why
          the finished callback pops after cancel(). (4e9f77e)
        * Minor fixes. (9b4e58c)
        * Don't call finishWithError() after cancel(). (4b16dc7)
        * Don't call finishWithError() after cancel(). (de67b29)
        * Re-merged request-cancellation branch. (17d1ba9)
        * Review comments from James. Added trace for testing. (eae85b4)
        * Addressed review comments from James. (1a5f152)

2015-10-21 Michi Henning

        * Added cancellation trace. (b793705)
        * Better bug reference in changelog. (46dc6ed)
        * Merged request cancellation branch. (bfba37d)
        * Merged devel (fix for incorrect reported hit rate). (efb32af)
        * Fixed test that broke due to change in behavior in glib 2.22.
          (ff4dadc)

2015-10-20 Michi Henning

        * Added missing entry to symbols file. (d3fd192)
        * Removed trace and added more tests. (2c8e33b)
        * Fixed broken cancel logic. (beecd90)

2015-10-15 Michi Henning

        * Fixed incorrect hit rate reported on service start-up.
          Fixes:
          https://bugs.launchpad.net/bugs/1506304. (28aaf50)
        * Fixed incorrect hit rate. (dc84370)
        * Fixed typo. (09fc18e)
        * Disabled MP4 tests on PPC. (3cfa064)
        * Fixed comment. (03859df)
        * __PPC__, not __ppc__ :-( (0f41c11)
        * Limiting concurrent extractions to 1 on PPC. (8d04f1e)

2015-10-14 Michi Henning

        * Added missing whitespace. (3edcfa9)
        * Merged devel and updated changelog in for landing. (63ef6d5)
        * Moved rate limiter from QML to Qt side. Fixed bug in
          libthumbnailer-qt that caused the state of completed
          request to not be released. Changed stress test to test
          the rate limiting via Qt. (3a219a0)
        * Review comments from James. (6fc0c4e)
        * Added missing file. (9691a2a)
        * Better diagnostics. Better coverage. (62658b6)

2015-10-13 Michi Henning

        * More thorough rotation tests. (d5aaec9)
        * Added writing to stdout. (4f13531)
        * Append .tiff to output file if not present already. (f6587e3)
        * Added URI to trace messages. (5ef5ba5)

2015-10-12 Michi Henning

        * Better error reporting that includes the URI. (087c35d)
        * Refactored find_audio_cover() to be a free function. (4dd1c9a)
        * Minor clean-up. (1cc200a)
        * More refactoring. (24c67d0)
        * Starting refactor of vs-thumb. (68d0302)

2015-09-30 Michi Henning

        * Removed redundant #include. (81479c7)
        * Merged devel and resolved conflicts. (8e5c965)
        * vs-thumb now looks for both image and preview image tags to extract
          artwork. (b0c3ed0)

2015-09-30 Albert Astals Cid

        * Fixes suggested by clazy (e446c93)

2015-09-29 Albert Astals Cid

        * Fixes suggested by clazy (a8f8cbe)

2015-09-29 Michi Henning

        * Minor fixes to man pages. (d1e52f3)

2015-09-25 Michi Henning

        * Minor style fix. (f52b2e2)

2015-09-25 Michael Sheldon

        * Fall back to full content type detector if the fast detector fails
          to return anything useful (e.g. because a file doesn't
          have an extension).
          Fixes:
          https://bugs.launchpad.net/bugs/1499341. (71b3ecd)

2015-09-25 Michi Henning

        * Minor coding style fix. (3cfe724)

2015-09-24 Michael Sheldon

        * Fall back to full content type detector if the fast detector fails
          to return anything useful (e.g. because a file doesn't
          have an extension) (03c899d)

2015-09-23 Michi Henning

        * thumbnailer-admin now resets the network retry timeout when the
          failure cache is cleared. Service prints some basic stats
          on start-up, which is useful when diagnosing things from
          the log.
          Fixes: https://bugs.launchpad.net/bugs/1497648.
          (6a786cd)
        * Fixed another typo. (d9366b3)
        * Minor fixes to man pages. (952f60d)

2015-09-22 Michi Henning

        * Suppressed build warning when compiling with clang. (d4dd57d)
        * Added test for Chinese filename. (500e5b0)
        * Reduced max-backlog to 20, otherwise we blow the reply timeout on
          Arm for video thumbnails. (3a302f6)
        * Increased wait time for tests on Arm. (40d9e9e)
        * Disabled stress test for now, so I can get packages for local
          testing. (4f7d688)
        * Dropping backlog to 60 to see whether that fixes test failure on
          Arm. (ccea18e)
        * Removed outdated gsettings item. Updated doc for missing gsettings
          item. (5ea667c)

2015-09-21 Michi Henning

        * Added suppression directive for coverage. (ae6085b)
        * Lengthened wait time for stress test for running on Jenkins.
          (2386f46)
        * Minor doc fix. (6934423)
        * Fixed bug in libthumbnailer-qt: watchers were never reset and we
          were hanging onto the state for each request until the
          request instance was destroyed. (1f4fdd4)
        * Merged devel. (137d157)
        * Stress test still failing. (1faa9da)
        * Fixed whitespace test failure. (205a31a)
        * More detailed stats on start-up. (654d557)

2015-09-20 Michi Henning

        * Minor comment improvement. (34a395e)
        * Fixed stale comment in changelog. (904640f)
        * Merged devel. (1143eef)
        * Merged devel. (11488af)
        * Merged devel and resolved conflict. (6efcde6)
        * Back-merge of 2.3+15.10.20150915.1-0ubuntu1 from trunk at r127.
          (5646a6a)
        * "thumbnailer-admin clear f" now also resets the network retry
          timeout. Add log entry with cache sizes on service
          start-up. (1d137b3)

2015-09-19 Michi Henning

        * Back-merge of 2.3+15.10.20150915.1-0ubuntu1 from trunk at r127.
          (74f8e33)

2015-09-18 Michi Henning

        * Started working on new stress test. (28246c8)
        * Added missing gstreamer initialization to stress test. (ddcf485)
        * Added gstreamer1.0-libav for H.264 decoding tests. (0cc828e)
        * Fixed gstreamer critical error caused by gst_sample_get_info()
          returning nullptr for AAC audio file. (9c49970)
        * QML test now passes. (7bb8154)

2015-09-17 Michi Henning

        * Stripped rate limiter from QML side. Not completely working just
          yet. (e94de7e)
        * Added rate limiter to Qt lib. (ec02d74)
        * Fixed warning when building with clang. (8554219)

2015-09-16 Michi Henning

        * Added fix from James for incorrect cover image type recognition.
          (cc237e9)
        * Suppressed build warning from gstcompat.h. (0dfe5e0)
        * Added mp3 test and added fluendo plugin to build deps. (563646a)
        * Merged devel. (a75d152)
        * Added gstreamer1.0-plugins-bad-faad to build deps, so Jenkins will
          test extraction from AAC audio files. (7c29f3e)

2015-09-16 James Henstridge

        * Add some sample files in MP3 and M4A format with cover art.
          (6a9abf7)

2015-09-16 Michi Henning

        * Added test for m4a extraction. (7cba859)

2015-09-16 James Henstridge

        * Add copyright header. (caa1c45)
        * Add a script to add cover art to songs in various formats, along
          with sample files in MP3 and M4A format. (98d23e5)

2015-09-16 Michi Henning

        * Moved error logging in common_fetch() past the "not found" and
          "network down" conditions, because these are expected
          errors and are indicated already in the trace. Used
          qCritical() instead of qDebug() to report unexpected
          errors. (c70fa13)
        * Fixed cover art extraction to also look for preview images:
          (3d82f95)
        * Merged devel and resolved conflict. (85907f8)
        * Suppressed build warning from gstcompat.h. (4e28880)

2015-09-15 CI Train Bot

        * Releasing 2.3+15.10.20150915.1-0ubuntu1 (1989eae)

2015-09-15 Michi Henning

        * Landing changes on devel to trunk. Approved by: James Henstridge
          (4bb49fa)
        * Merged devel. (a35e3ff)

2015-09-15 James Henstridge

        * Add a test that handles the case when we can't connect to the
          online art service, and actually log errors from the art
          downloader. (e90415f)
        * Mark connection refused as a network error. (634d3ea)
        * Add a test to simulate network errors. (b3fa06e)
        * Add support for blocking access to the art server. (6208820)

2015-09-15 Michi Henning

        * [ Michi Henning ];  Added man pages for thumbnailer-admin,
          thumbnailer-service,   thumbnailer-settings, and vs-thumb.
          * Removed a bunch of lintian warnings and errors.
          Removed source for persistent cache.;  Added inactivity
          timeout to admin interface, so the service   exits after
          30 seconds if it is started only to, for example,
          retrieve the stats. Activity on the admin interface now
          keeps   the service alive the same way activity on the
          thumbnailer interface does.;  Added average hit and miss
          run length to stats returned by   thumbnailer-admin.
          Changed semantics for requests with (0,0) size. All
          requests are now   clamped to a 1920x1920 bounding box.
          Fixed incorrect timeout semantics for unexpected network
          errors. [ James Henstridge ];  Renamed QML package to
          qml-module-XXX format and add transitional   package. (LP:
          #1342031);  Port QML module to use libthumbnailer-qt. [
          Xavi Garcia ];  Add new libthumbnailer-qt1.0 library,
          providing a C++ client API. [ Albert Astals Cid ];  In QML
          image provider, only create QQuickTextureFactory when
          needed, fixing a memory leak when requests are cancelled.
          (LP:   #1484914) [ Michi Henning ];  Added request limiter
          on the qml side, so we don't overrun DBus with   too many
          outstanding requests. (DBus kills the connection if there
           are more than 400 or so outstanding requests.) (4be17fa)

2015-09-15 James Henstridge

        * Rename the QML module binary package to qml-module-xxx.
          Fixes:
          https://bugs.launchpad.net/bugs/1342031. (05c926d)
        * Merge from devel. (49b8678)

2015-09-15 Michi Henning

        * Updated changelog. (de09ce6)
        * Added preview tag to tags search when looking for embedded artwork.
          (a01dc1f)

2015-09-15 James Henstridge

        * Add some missing change log entries. (44cfb26)
        * Add breaks/replaces for new qml-module package. (3293663)

2015-09-15 Michi Henning

        * Added inactivity timeout to admin interface, so the service exits
          after 30 seconds if it is started only to, for example,
          retrieve the stats, and activity on the admin interface
          keeps the service alive the same way activity on the
          thumbnailer interface does. (4c18af1)

2015-09-15 James Henstridge

        * Renamed QML package to qml-module-XXX format and add transitional
          package. (LP: #1342031) (1a6064e)

2015-09-15 Michi Henning

        * Fix noise about policy 28 from cmake when building on Vivid.
          (f8afdb2)
        * Removed unused code I left behind by mistake when resolving a merge
          conflict. Fixed incorrect warning suppression for gtest.
          (c6adccd)

2015-09-15 James Henstridge

        * In the QML plugin, use the shared connection to the session bus and
          use a single RateLimiter instance. (b3cf74b)
        * Revert back to the version of vs-thumb in the previous version of
          thumbnailer released to the archive. (0885131)

2015-09-15 Michi Henning

        * Removed unused code I left behind by mistake when resolving a merge
          conflict. Fixed incorrect warning suppression for gtest.
          (280b029)
        * Fix noise about policy 28 from cmake when building on Vivid.
          (69e9866)
        * Merged devel and resolved conflict. (909db8e)
        * Re-factored inactivity handler to use a counter. (edb6a47)

2015-09-14 James Henstridge

        * Use a single instances of Thumbnailer and RateLimiter shared
          between the three ImageProvider classes. (0af357e)
        * Fix copyright header. (9f60299)

2015-09-11 James Henstridge

        * Port test-seq to old ThumbnailExtractor code. (eaf9f86)

2015-09-11 Michi Henning

        * Added recovery logic such that, if any operation on a persistent
          cache reports db corruption, we wipe the cache and retry
          the operation. (74a44f2)

2015-09-10 Michi Henning

        * Fixed typo in comment. (5c0bfe1)
        * Merged devel and resolved conflicts. Re-ordered tests into a more
          useful order (least important and slowest tests last).
          (398e579)
        * Got rid of build noise from gtest/gmock. (b8e0557)
        * Using cmake-extras now to build gtest and gmock. (920e63a)

2015-09-10 James Henstridge

        * Revert vs-thumb changes from r257. (e5b8f6a)

2015-09-10 Michi Henning

        * We now handle unexpected network errors correctly, re-trying only
          after the wait time has expired. Added logging for
          requests with invalid size to the service-side log, so we
          don't have look through all the application logs to spot
          when this happens. The invalid requests are still logged
          in the application log, but are now adjusted by the
          service. Added correct error handling when we can't
          construct an ImageData instance and get an exception. This
          now correctly creates a failure cache entry. Fixed
          incorrect handling of requests for larger than the
          1920-pixel limit. (The implementation incorrectly relied
          on invalidly-sized requests.) Disabled failure caching for
          failures from vs-thumb. If vs-thumb fails, it may work
          again next time. But, if we cache the failure, it won't
          manage to create a thumbnail again for the same image
          until the failure falls out of the cache (which is likely
          never). Added missing test fixture to slow-vs-thumb test,
          so the result doesn't depend on the actions of earlier
          tests or what's in the default cache location. Fixed tests
          to no longer use invalid QSizes. Changed (0,0) size
          semantics to limit returned image to 1920 bounding box.
          (80b36d6)
        * Fixed typo in doc. (46fc412)
        * Updated changelog. (1caf5cb)
        * Updated doc for new (0,0) semantics. (a55834d)
        * Merged devel. (e0e3cb3)
        * Removed special-casing for QSize(0,0). We now unconditionally limit
          returned image size to 1920x1920. (a161ecc)

2015-09-09 Michi Henning

        * Added average hit and miss run length to stats returned by
          thumbnailer-admin. (9fa7da9)
        * Code examples from doc are now compiled and tested. Doc includes
          the real source code as snippets, so the example code in
          the doc is guaranteed correct. Re-worked the example to
          discourage use of a separate Thumbnailer instance (and
          separate DBus connection) for each request. (b7bdc07)
        * Enforce 1920 limit. (a5b2bc0)
        * Merged devel. (a0aca92)

2015-09-08 Michi Henning

        * Added suppressions for a large number of warnings caused by Qt5
          when compiling with clang. Removed left-behind unused
          directory. In turn, that triggered some other failures
          (stand-alone header tests were failing). Also fixed up doc
          generation to actually use the doxygen file we provided.
          (The one in /usr/share/cmake doesn't allow us to turn off
          graph generation.). (047dbc9)

2015-09-09 Michi Henning

        * Merged devel and resolved conflicts. Fixed broken Qt library header
          test. (d3c9f86)

2015-09-01 James Henstridge

        * Port the QML plugin to use libthumbnailer-qt instead of using
          direct D-Bus calls.  As a result,
          qtdeclarative5-ubuntu-thumbnailer0.1 now depends on
          libthumbnailer-qt1.0. (2b5c81a)

2015-09-01 Michi Henning

        * 100% coverage for recovery without any suppressions. (99b4218)

2015-08-31 James Henstridge

        * Don't link artgeneratorcommon into the QML plugin: that code is now
          in libthumbnailer-qt only. (7a908fe)
        * Make qtdeclarative5-ubuntu-thumbnailer0.1 depend on
          libthumbnailer-qt1.0. (103e0eb)
        * Sort and uniq symbols file, and add cancel() symbol. (64ada71)
        * Add cancellation support to libthumbnailer-qt. (c3e6e93)

2015-08-31 Michi Henning

        * Full coverage for recovery logic. (2046113)

2015-08-31 James Henstridge

        * Convert to use libthumbnailer-qt. (0dd0004)

2015-08-29 Michi Henning

        * Minor comment fixes. (87a223b)
        * Made helper class a template so we can use dependency injection for
          mock testing. (91f8751)
        * Simplifications and more robust recovery. (c52a05c)

2015-08-28 Michi Henning

        * Moved call() template to source file. (c0ee2a0)
        * Added typedef for UPtr. Removed temporary hack in thumbnailer test.
          (37952b2)
        * Comment fixes. (c8de0b5)
        * Re-factored re-try into a template member function. (4435bf8)
        * Fixed incorrect rethrow. (035cdfd)
        * Started on wrapper for persistent caches so we can do recovery if
          the DB gets corrupted. (17e5fee)
        * Added inactivity timeout to admin interface, so the service exits
          after 30 seconds if it is started only to, for example,
          retrieve the stats, and activity on the admin interface
          keeps the service alive the same way activity on the
          thumbnailer interface does. (e930e3b)
        * Missed one more format change. (eba1e91)
        * Better layout for printf statements. (cf29e3a)
        * Added average hit and miss run length to stats returned by
          thumbnailer-admin. (a394653)
        * Added avg hit and miss run length to stats. (0ae7fa6)

2015-08-25 Michi Henning

        * Removed source for persistent cache. Fixed valgrind suppression
          entry. (bdc9a72)
        * Review comments from James. (c4b8387)

2015-08-24 Michi Henning

        * Fixed incorrect remarks about separate DBus connection. (4b1524b)
        * Fixed broken coverage build. (7eefeb2)
        * More doc improvements. Clean up example to not encourage use of a
          separate Thumbnailer instance (and separate DBus
          connection) for each request. Integrated example code into
          doc, so it's guaranteed to not go out of sync. (13f5589)
        * Added missing copyright message. Fixed broken header test.
          (40e3556)
        * Merged prereq branch. (fe6dea7)

2015-08-22 Michi Henning

        * Don't rely on installed service for test. (f588dc0)
        * Merged parent. (c34f605)

2015-08-21 James Henstridge

        * Compile using -fvisibility=hidden to reduce code size. (dd6db3c)
        * Revert removal of linker version script (b233fa7)
        * Use -fvisibility=hidden compiler flag: this results in roughly a
          16% code size reduction for the thumbnailer-service.
          (6acb4fc)

2015-08-21 Michi Henning

        * Turned code example from doc into a real example that is compiled
          and tested, so we can be sure that the doc is actually
          correct. (22862e7)
        * Backed out -Wabi-tag. (b09b517)
        * Fixed attribute syntax. (d9ddf83)
        * Fixed incorrect qt header location in header test. (da3f263)
        * More trace for testing. (336eb31)
        * Merged devel and resolved conflicts. (a93eccd)
        * Tinkering with C++11 abi tag warnings. For testing on Jenkins for
          now... (5f92e69)
        * Removed source for persistent cache. Fixed valgrind suppression
          entry. (8c2a509)

2015-08-20 Michi Henning

        * Added request limiter on the qml side to prevent overrunning DBus
          with too many requests and losing the connection.
          (f3b9bc1)
        * Added man pages for thumbnailer-admin, thumbnailer-service,
          thumbnailer-settings, and vs-thumb. (8e83971)
        * Merged devel. (7a20623)
        * Suppressed one more clang warning. (fd0e2d9)
        * Merged devel. (648bbbc)

2015-08-20 CI Train Bot

        * Synchronise devel with trunk. (8fb5f53)

2015-08-20 James Henstridge

        * Remove date portion of unreleased changelog message. (74e3b4a)
        * Merge lp:thumbnailer r125. (ba06d17)

2015-08-20 Michi Henning

        * Removed a bunch of lintian warnings and errors. (acd3e58)
        * Merged devel and resolved conflicts. (f19977a)
        * Fix broken running count in rate limiter. (da9c4e5)
        * Review comments from James, thanks! (8dd2935)
        * Merged devel and resolved conflict. (05f288a)
        * Merged devel and resolved conflict. (ec7f613)
        * Updated changelog. (5827d75)
        * Removed vs-thumb man page. (7202266)

2015-08-19 James Henstridge

        * Convert the ThumbnailExtractor class to run the extraction within
          the event loop.
          Fixes:
          https://bugs.launchpad.net/bugs/1425009. (a673bc6)
        * gst_bus_remove_watch() doesn't exist in GStreamer 1.4, so use
          g_source_remove instead. (91d87f5)

2015-08-18 Xavi Garcia

        * Moved public headers of libthumbnailer in the source tree to match
          the namespace and installation path. (6a5d605)

2015-08-18 Michi Henning

        * Did a copy edit of the documentation. Fixed minor issues with
          lintian and changed doc generation to use the cmake-extras
          module. (7f0ef80)

2015-08-18 James Henstridge

        * Fix test for error message on empty files. (f1c3a71)

2015-08-17 Albert Astals Cid

        * Only create the QQuickTextureFactory when needed (894c378)
        * compile++ (2a56856)

2015-08-17 James Henstridge

        * Bail out on errors from any element rather than just the playbin.
          (ff17bfc)

2015-08-15 James Henstridge

        * Don't bother moving sample in call to save_screenshot(). (d84eec1)
        * Move pixbuf saving out of ThumbnailExtractor and into the callback.
          (6a458c0)

2015-08-14 James Henstridge

        * Make methods private. (adf733d)
        * Update test suite to pass with new thumbnailer code. (2e80c71)

2015-08-14 Albert Astals Cid

        * Only create the QQuickTextureFactory when needed (0ea02e3)

2015-08-14 Michi Henning

        * Added -Wabi-tag for gcc. Added suppressions for a large number of
          warnings caused by Qt5 when compiling with clang.
          (994a316)
        * We now handle unexpected network errors correctly, re-trying only
          after the wait time has expired. Added logging for
          requests with invalid size to the service-side log, so we
          don't have look through all the application logs to spot
          when this happens. The invalid requests are still logged
          in the application log, but are now adjusted by the
          service. Added correct error handling when we can't
          construct an ImageData instance and get an exception. This
          now correctly creates a failure cache entry. Fixed
          incorrect handling of requests for larger than the
          1920-pixel limit. (The implementation incorrectly relied
          on invalidly-sized requests.) Disabled failure caching for
          failures from vs-thumb. If vs-thumb fails, it may work
          again next time. But, if cache the failure, it won't
          manage to create a thumbnail again for the same image
          until the failure falls out of the cache (which is likely
          never). Added missing test fixture to slow-vs-thumb test,
          so the result doesn't depend on the actions of earlier
          tests or what's in the default cache location. Fixed tests
          to no longer use invalid QSizes. (2ab5c2f)

2015-08-13 James Henstridge

        * Convert ThumbnailExtractor class over to using asynchronous
          GStreamer API. (1e528b3)

2015-08-11 Michi Henning

        * Fixed typo in doc comment. (2b2f84b)

2015-08-11 Xavi Garcia

        * Merged with doc changes (deb3770)
        * Moved public headers to follow the namespace structure (1baceb7)

2015-08-11 Michi Henning

        * More trivial doc fixes. (86eec77)
        * Added missing install target. (01fa173)
        * Use doxygen target in cmake-extras. (308b853)
        * Suppressed lintian warning for jquery.js. (e529710)
        * Did a copy edit on the library doc. Removed graphviz from build
          deps and disabled inheritance graph generation for doc.
          (8404398)

2015-08-10 Xavi Garcia

        * Thumbnailer API library documentation. (d0ac495)
        * Adds the thumbnailer API library code and unit tests. (7045bf8)
        * Merged with pre-requisite branch, fixed conflict (0180009)

2015-08-07 Xavi Garcia Mena

        * This branch moves a class that will be used in the new library API
          for the thumbnailer to a common directory and renames the
          target name of the static library previously called
          thumbnailer to thumbnailer-static. (a85d1f6)

2015-08-06 Xavi Garcia

        * Added graphviz as build dependency (3b01db8)
        * Added doxygen as build dependency (73572ea)
        * Documentation updated. Code branch merged (1362066)

2015-08-06 Michi Henning

        * Added comment for dh_override in debian/rules. (279c5b7)
        * Removed a bunch of lintian warnings and errors. (e42dfe2)
        * Oops, need to leave the ubuntu version in place, otherwise lintian
          complains. (1941a20)
        * Updated changelog. (24dc606)
        * Added man pages. (46f3bf7)

2015-08-05 Xavi Garcia

        * Updated implementation. Adding back the constructor with the
          QDBusConnection (61566e0)
        * Changed include installation path to
          thumbnailer-1.0/unity/thumbnailer/qt (8532786)

2015-08-04 Xavi Garcia

        * Erased 3 symbols in the symbols file after making the Thumbnailer
          class final (3f0a48f)
        * Changed location of includes, code changes following suggestions
          (0462dcb)

2015-08-03 Michi Henning

        * Oops, don't want ubuntu version. (691bdd4)
        * Updated changelog. (86a3fa1)
        * Removed now-unused constructor. Added missing cancel_func_
          initialization. (83aba14)
        * Merged parent. (fb0e179)
        * Added Qt5::Test to vs-thumb_test so cmake stops complaining.
          (c9b099c)
        * Merged stress test branch. (a1ff5ca)
        * Fixed rate limiter. cancel() in the destructor currently commented
          out until I figure out whe the qml test hangs. (38d5e72)

2015-08-01 CI Train Bot

        * Releasing 2.2+15.10.20150801-0ubuntu1 (1ad8eb8)
        * Merge lp:thumbnailer/devel r250 to trunk. Approved by: PS Jenkins
          bot, Michi Henning (ac7eb8e)

2015-07-31 Xavi Garcia

        * Added clean-public-headers test (6ea77f7)
        * Added stand-alone test for libthumbnailer-qt (524ca74)
        * Fixed coverage target names (f60061a)
        * changed package names from libthumbnailer1.0 to
          libthumbnailer-qt1.0 (1bad581)
        * Moved files and directories from libthumbnailer to
          libthumbnailer-qt, updated namespace to include qt
          (3c765c0)
        * Updated soname for libthumbnailer (603f132)
        * Changed test constructor to have 100% test coverage (734c80c)
        * Adding new lines at the end of files (0054f81)
        * Removed thumbnailer.pc.in file (df19ac9)
        * File thumbnailer.cpp in the thumbnailer API moved to
          libthumbnailer.cpp (c49916c)
        * Workaround to the cmake-extras issue (8a9f588)

2015-07-31 James Henstridge

        * Add Debian changelog entries for changes from devel. (a90d4f5)

2015-07-31 Michi Henning

        * Merged devel and resolved conflicts. (30b6749)
        * Moved supports_decoder() in testutils, so it's usable in both
          vs-thumb and stress tests. (6b4bea4)
        * Merged devel and resolved conflicts. (2594772)
        * Reverted back to r231. Messed up my branches :-( (c29a4ba)
        * Added cancel() call to image response destructor, so we don't end
          up dereferencing a dangling this pointer if the image
          response is destroyed before the request was scheduled.
          (70c681a)
        * Minor change to get command syntax to make it consistent
          (underscore vs hyphen). Also renamed clear-stats to
          zero-stats. (45a3f8b)
        * Fixed compile error caused by new version of
          /usr/include/sys/apparmor.h. (3904d5d)
        * Oops, got it wrong the first time. (11050dc)
        * Fixed compile error caused by new version of
          /usr/include/sys/apparmor.h (f8d91c0)
        * Changed zero-stats description to match command. (c271911)
        * Merged devel. (97d757a)

2015-07-30 Xavi Garcia

        * Modified library package name, removed .pc file (8989265)

2015-07-30 Michi Henning

        * More valgrind suppressions for errors we can't do anything about.

          Fixes: https://bugs.launchpad.net/bugs/1476506. (01b818a)

2015-07-30 Xavi Garcia

        * Documentation updated to reflect the changes in the API method
          names (c3029b3)
        * Changed methods name to follow Qt naming conventions (8934fa0)

2015-07-30 Michi Henning

        * Sync devel with trunk. (d0f651d)

2015-07-30 James Henstridge

        * Empty commit to quiet errors about ghost revisions. (9523c99)

2015-07-30 Xavi Garcia

        * merged with devel (cb4bbd4)

2015-07-30 Michi Henning

        * More valgrind suppressions for errors we can't do anything about.
          (e226c96)
        * Merged devel. (de6d46b)
        * Fixed broken local install target. (ae61c53)

2015-07-30 James Henstridge

        * Change ImageExtractor to take a file name rather than file
          descriptor, and pass that to vs-thumb rather than using an
          fd://$N URI. (b3b0d0f)

2015-07-30 Michi Henning

        * Fixed broken local install target. (67aaed4)

2015-07-30 James Henstridge

        * Make ImageExtractor take a filename rather than a file descriptor.
          This means we are no longer using the GStreamer fdsrc
          element, which seems to be causing problems with GStreamer
          1.5.2 on Wily.  We already perform the access check
          separate from opening the file descriptor, so this
          shouldn't meaningfully change the security. (39fae0b)

2015-07-29 Xavi Garcia Mena

        * Addind libthumbnailer.map-g file (3c561e9)
        * Fixing coverage target (d5b3b46)
        * Adding libthumbnailer documentation (07de6ae)
        * Added libthumbnailer. This commit includes the code and unit tests
          (d2ff95a)
        * moved artgeneratorcommon to a common directory, thumbnailer static
          library target renamed to thumbnailer-static (546bbfa)

2015-07-23 Michi Henning

        * Minor doc fix. (5209935)
        * Fixed problem found with valgrind: after detecting a version
          mismatch, we had a path through the code that used an
          uninitialized value. (7313d80)

2015-07-22 Michi Henning

        * Fixes for the transition to gcc 5. A few tests no longer compiled
          with boost 1.58. The changes work with both
          gcc-4.9/boost-1.55 and gcc-5.0/boost-58.
          Fixes:
          https://bugs.launchpad.net/bugs/1476738. (f7f4a20)
        * Fixes for changes in boost 1.58 (required by gcc 5 transition).
          (1dc9939)

2015-07-21 Michi Henning

        * Fixed problem found with valgrind: after detecting a version
          mismatch, we had a path through the code that used an
          uninitialized value. (254f915)

2015-07-17 James Henstridge

        * Remove the thumbnailer-common binary package:  * Move the apport
          blacklist file to thumbnailer-service (only listing
          current architecture now, since it is arch specific).  *
          Remove the fallback images entirely, since they are no
          longer used. (f58fef2)
        * Remove the default image override code from tests. (87d1bc4)
        * Remove fallback images. (7e5bc6e)

2015-07-17 Michi Henning

        * Renamed thumbnailer-admin command "clear-stats" to "zero-stats", to
          avoid a hasty typist accidentally wiping the cache instead
          of resetting the stats. (05b1f84)
        * Fixed typo. (33d02f2)

2015-07-16 James Henstridge

        * Fix up tests for removal of fallback art. (b3184a0)
        * Merge from devel (4e0c66a)

2015-07-15 CI Train Bot

        * Releasing 2.1+15.10.20150715-0ubuntu1 (3f137c2)

2015-07-15 James Henstridge

        * Merge lp:thumbnailer/devel r240 into trunk. Approved by: PS Jenkins
          bot, Michi Henning (9605c6e)

2015-07-14 James Henstridge

        * Merge lp:thumbnailer/devel r241 (01c3fd2)

2015-07-10 James Henstridge

        * If applications do not specify a size for their thumbnails, return
          a 128x128 thumbnail.  This is what the old thumbnailer did
          by accident. (1c8bbfe)

2015-07-08 James Henstridge

        * Pass correct size to ThumbnailerImageResponse. (3fc6e97)
        * Also limit size of album/artist art. (385352a)

2015-07-03 James Henstridge

        * Bump down to 128x128, which is what the old thumbnailer was
          providing by accident. (555e825)

2015-07-03 Michi Henning

        * Removed Schwartz counter from trace message handler. (35b42e9)

2015-07-03 James Henstridge

        * Try limiting size of unsized photo thumbnails to see if it fixes
          gallery-app stress test. (deffcea)

2015-07-03 Michi Henning

        * Added rate limiter. (No coverage for cancel functionality yet.)
          (cce1043)

2015-07-02 James Henstridge

        * Merge lp:thumbnailer/devel r240 (ca344bf)

2015-07-02 Michi Henning

        * Added work-around for QNetworkAcessManager problems when device is
          in flight mode.
          Fixes:
          https://bugs.launchpad.net/bugs/1470284. (a9c91c5)
        * Fixed memory management problem. (d602ff5)
        * Minor change to get command syntax to make it consistent with
          clear-stats. (c7662c5)
        * Added coverage exclusions for flight mode hack. (dd33689)
        * Using return value from getaddrinfo() now to determine whether
          network is down. (7157855)

2015-07-01 Michi Henning

        * Don't try to connect and rely on getaddrinfo(). (0c465eb)
        * Added some more trace. (fab9f8b)
        * Added work-around for QNetworkAcessManager problems when device is
          in flight mode. (374b4c3)

2015-06-29 James Henstridge

        * Include the ID in the errors from album/artist art generators.
          (e69dba1)
        * Simplify image response code a bit more.  Still doesn't work right
          due to Qt bug:
          https://bugs.launchpad.net/ubuntu/+source/qtdeclarative-opensource-src/+bug/1469611
          (c1d0ec1)

2015-06-29 Michi Henning

        * First steps towards a dbus request limiter. (f158a44)

2015-06-29 James Henstridge

        * Update "no fallback" code to work with QQuickAsyncImageResponse.
          (e9b1118)

2015-06-29 Michi Henning

        * Added simple stress test. MP3 and MP4 tests are currently disabled,
          until we can sort out what to with testing these on
          Jenkins without dragging unwanted codecs into the image.
          (f4f8b24)

2015-06-29 James Henstridge

        * Merge from devel (3515bd2)

2015-06-29 Michi Henning

        * Basic stress test. (57a59d3)

2015-06-27 Michi Henning

        * Minor doc fix. (fcdd1b9)

2015-06-26 Michi Henning

        * Added stress test for the various image types with realistic sizes.
          (c6b7631)
        * Added test stub. (ce3635a)

2015-06-25 James Henstridge

        * Merge from devel (88d3da8)

2015-06-25 Michi Henning

        * If max-extractions == 0:     - if hardware == BQ, adjust to 1     -
          else if hardware == Arm, adjust to 2     - else leave at 0
          If max-extractions != 0, use it as set. (0fd649c)
        * Oops, moved hw declaration out of disabled section. (edd8994)
        * Setting max-extractions to 1 on Arm now if configured value is 0,
          irrespective of any particular hardware. (acd4e75)

2015-06-24 Michi Henning

        * Fixed typo in error message. (e035ddb)
        * Fixed wrong pattern string. (7cc6383)
        * If max-extractions == 0:     - if hardware == BQ, adjust to 1     -
          else if hardware == Arm, adjust to 1     - else leave at 0
          If max-extractions != 0, use it as set. (1e7bdb4)

2015-06-23 James Henstridge

        * Update Debian changelog. (2322736)
        * Merge from devel (9213800)
        * Fix up the permission bit constants used in the aa_query_label
          permission check. (711fb9f)

2015-06-23 Michi Henning

        * Use EnableCoverageReport from cmake-extras. Fixed warning in clang
          build. (81aab34)
        * Emit warning for invalid QSize passed by QML, in preparation for
          turning this into an error. (Lazy applications end up
          hammering the cache with full-size thumbnails when passing
          an invalid QSize.). (914766e)
        * invalidate() now implicitly clears the ephemeral stats too. It
          doesn't make sense to keep them around after wiping the
          cache. (79b2753)

2015-06-23 James Henstridge

        * Set finish_time within the Handler::sendThumbnail and sendError
          methods so it is guaranteed to be set before the finished
          signal is emitted.
          Fixes:
          https://bugs.launchpad.net/bugs/1467751. (fee79e5)
        * Fix permission bit constants in AppArmor check code. (7d46405)
        * Merge from devel, fixing conflicts (0ffc5c3)

2015-06-23 Michi Henning

        * Set minimum version for cmake-extras. (43bc66d)
        * Picked some more low-hanging coverage fruit (mostly suppressions).
          Improved diagnostics in a few places and fixed a few
          incorrect error message. (587aee0)
        * Save vs-thumb output as TIFF instead of PNG. That's about 20%
          faster. (f28cf09)

2015-06-23 James Henstridge

        * Set finish_time within sendThumbnail and sendError.  These are the
          only two code paths that emit the finished signal, and by
          updating the variable here we avoid missing it. (6f65284)

2015-06-23 Michi Henning

        * Removed no-longer-needed XEnableCoverageReport module. (a3fcd74)
        * Fix test: was checking non-ephemeral value. (a8a651d)
        * Clear ephemeral stats as part of invalidate(). (ae7328a)
        * Emit warning for invalid QSize passed by QML, in preparation for
          turning this into an error. (Lazy applications end up
          hammering the cache with full-size thumbnails when passing
          an invalid QSize.) (21e209d)
        * Save vs-thumb output as TIFF instead of PNG. That's about 20%
          faster. (e27bf54)
        * Use EnableCoverageReport from cmake-extras. Fixed warning in clang
          build. (cbf4680)

2015-06-22 Michi Henning

        * Picked some more low-hanging coverage fruit (mostly suppressions).
          Improved diagnostics in a few places and fixed a few
          incorrect error message. (a93632a)

2015-06-22 James Henstridge

        * Update debian changelog. (4a41897)
        * Merge from lp:thumbnailer/devel (135b0b2)

2015-06-22 Michi Henning

        * Improved coverage testing for vs-thumb. (ed2ea67)
        * Merged devel and resolved conflict. (8222291)
        * Added coverage exclusions to credentials cache. It doesn't look
          possible to cover the remaining code paths with reasonable
          effort. (ebb78e9)
        * Limit max-extractions to 2 on Arm. (9ef1fde)
        * vs-thumb now saves as png, to avoid artefacts due to applying jpg
          compression three times. Previously, we saved as jpg 75%
          in vs-thumb, then again at 90% for the full-size cache,
          and then a third time at 75% when creating the actual
          thumbnail. Now it's lossless -> 90% -> 75%, which should
          be OK (90% is nearly perfect). (1723e3d)
        * Avoid calling download() after we get a hit on the failure cache.
          This was needlessly slowing down retrieval of thumbnails
          when we definitely do not have any artwork. Improved
          diagnostics when something goes wrong with subprocess
          termination. Restored single-shot timer for handler and
          downloader. Removed incorrect Q_EMIT in timeout().
          (3c71944)
        * vs-thumb now saves as png, to avoid artefacts due to applying jpg
          compression twice. (5b8a1d1)
        * Limit max-extractions to 2 on Arm. (7eccf15)
        * Fixed feedback from James. (6ba74a7)
        * Fixed link failure when building with coverage. (0aed0bd)
        * Added coverage exclusions to credentials cache. It doesn't look
          possible to cover the remaining code paths with reasonable
          effort. (591459b)
        * Follow Pete's advice and use explicit link directive for Qt5
          libraries to get rid of "policy 28" warnings from cmake
          when building in release mode. (2248dac)

2015-06-22 Adam Conrad

        * Switch to unversioned Conflicts/Replaces on libthumbnailer0 to
          force removal of the obsolete package on upgrade from the
          previous version. (386e570)

2015-06-22 Michi Henning

        * Added crash test. (8c5ba5c)
        * Fixed exit bug in slow test. (ac20c9e)
        * Better coverage for vs-thumb. (fc23069)

2015-06-21 Michi Henning

        * Avoid calling download() after we get a hit on the failure cache.
          This was needlessly slowing down retrieval of thumbnails
          when we definitely do not have any artwork. Improved
          diagnostics when something goes wrong with subprocess
          termination. Restored single-shot timer for handler and
          downloader. (da2fe02)
        * Use explict link directive for Qt5 libraries to get rid of "policy
          28" warnings from cmake when building in release mode.
          (9574ab0)

2015-06-19 Michi Henning

        * Added missing compact and shutdown commands to thumbnailer-admin.
          (1101d39)
        * Set default extraction concurrency to number of cores. (5482470)
        * Removed 100% quality setting when saving jpg. Using default 75%
          now, which is a lot smaller. Full-size cache contains
          high-quality images, so we don't accumulate scaling
          artefacts. Adjusted tests accordingly. (abeae07)
        * Merged devel and resolved conflict. (736b7b0)
        * Fixed incorrect license headers. (3784346)
        * Merged devel. (ee7313e)
        * Fixed stale comment for make_output_path(). (00f2f3c)
        * Made statistics persist across re-starts. Added dirty flag so we
          can tell if we didn't shut down cleanly. If so, the stats
          counters automatically reset to zero. For clean caches, we
          now avoid the scan over the Atime index on start-up.
          (11137d3)
        * A number of files had the wrong license header (LGPL instead of
          GPL). Also fixed style of license headers so they are
          consistent throughout. (5037254)

2015-06-18 James Henstridge

        * Move the AppArmor check earlier so it is not skipped for files
          already in the cache.
          Fixes:
          https://bugs.launchpad.net/bugs/1381713. (209ac82)
        * Fix stale comment, as per Michi's review. (5bfd4a4)
        * Rename ThumbnailRequest::set_client_credentials to
          check_client_credentials, and move the AppArmor check for
          LocalThumbnailRequest to that method.  Previously we would
          provide cached thumbnails to clients without the
          permission check. (b34aae2)

2015-06-17 James Henstridge

        * Remove the filename_fd argument to the GetThumbnail() D-Bus method,
          instead using aa_query_label() to check whether the caller
          has access to the relevant file.
          Fixes:
          https://bugs.launchpad.net/bugs/1381713. (9f677e7)
        * Remove the extra nul byte at the end of the buffer passed to
          aa_query_label() -- this causes the check to fail for
          AppArmor labels other than "unconfined". (6975b49)
        * Add some more debug logging. (71bff7d)
        * Point the QML plugin at one of the real default images, rather than
          a JPEG with rotation data that is rendered differently by
          different Qt versions. (9864207)

2015-06-16 James Henstridge

        * Merge from devel, fixing conflicts. (3a6a9b7)
        * Re-enable the replace_video test, changing where we replace the
          image. (2baad6d)
        * Don't need to link QML plugin with safe_strerror. (7cf0f60)
        * Remove the file descriptor argument from the D-Bus method call.
          (9fb5a3c)
        * Remove the filename_fd parameter from Thumbnailer::get_thumbnail(),
          and update tests to accomodate.  The two
          replace_{video,audio} tests are disabled, since we can no
          longer detect this race condition. (ab0765e)

2015-06-16 Michi Henning

        * Fixed stale comment for make_output_path(). (a875418)

2015-06-15 James Henstridge

        * Perform AppArmor security check in LocalThumbnail::fetch() method
          rather than constructor.  This leaves some tests broken
          because we are no longer validating the file descriptor
          passed to the method. (fb7328c)
        * Pass the client credentials down to the ThumbnailRequest class.
          (c805c25)
        * Add utility function to check for AppArmor read access. (e8c34ad)

2015-06-15 Michi Henning

        * Added compact and shutdown command to thumbnailer-admin. (1ddaee1)
        * Made download/extract timeout configurable. (7bd013f)
        * More detailed trace. It now splits out time spent waiting in queue
          and actual extraction time, so we can see whether a
          request was slow because it was delayed in the queue, or
          because the extraction itself was slow. (f96c336)

2015-06-15 James Henstridge

        * Link libthumbnailer.a with libapparmor. (f1815ef)
        * If the subprocess is still running in the ImageExtractor
          destructor, try to kill it again, and log if
          waitForFinished() fails. (a588ed0)
        * In the ImageExtractor destructor, try to kill the process if it is
          still running, and log failures from waitForFinished().
          (2d6e02d)
        * Track the credentials (user ID, AppArmor label) of clients
          connecting to the D-Bus service.  This is not yet used to
          make security decisions. (4cdaf8f)
        * Fix up warning message, from Michi's review. (71784ea)
        * Make qml_test depend on thumbnailer-qml. (131de1b)

2015-06-14 Michi Henning

        * Added missing #include. (b3c1f33)
        * Adjustments to const-correctness and noexcept. Minor fix in
          PersonCache test. (86abd08)
        * Changed start-up logic to read dirty flag and initialize from saved
          stats if the cache clean. We now only run a scan over the
          Atime index only if the cache is dirty, meaning that
          start-up is much faster in the normal case. (b731d60)

2015-06-13 Michi Henning

        * A number of files had the wrong license header (LGPL instead of
          GPL). Also fixed style of license headers so they are
          consistent throughout. (d277415)
        * Slightly less sloppy test. (1cb6504)
        * Keep images in the full-size cache at reasonably high quality.
          Otherwise, we accumulate scaling artefacts. (8a85ed7)

2015-06-13 James Henstridge

        * A few style changes. (55aca31)

2015-06-12 James Henstridge

        * Update log message. (a4d8c07)
        * Limit the size of the credentials cache. (6bb5883)
        * Look up credentials as first part of request. (16a00d6)
        * Trim the mode from the AppArmor label, and pass the credentials
          cache down to the Handler. (7f714c7)

2015-06-12 Michi Henning

        * Loosened a test because jpg compression isn't the same on i386.
          (7546efe)
        * Removed 100% quality setting when saving jpg. Using default now,
          which a lot smaller. Adjusted tests accordingly. (7effe5c)

2015-06-12 James Henstridge

        * CredentialsCache doesn't need to be a QObject. (75692fb)
        * Add class to look up and cache D-Bus peer credentials. (4c4d796)
        * Compile stub to call the GetConnectionCredentials method. (6195e72)

2015-06-12 Michi Henning

        * Oops, leveldb wants a concrete range for disk estimate. (010fa7b)
        * Fixed comment. Changed disk estimate to include absolutely
          everything. (0bd7ffd)
        * Fixed clearing things after a version mismatch. (e362fdc)
        * Updated doc for persistent stats. (e87949d)
        * Merged devel and resolved conflict. (14c3510)
        * Remove coverage flags for core. (c3f7e28)
        * Set dirty flag in both constructors. Fix misleading exception text.
          (b6f5a46)
        * Added test for persistent stats. (1821e25)
        * Removed newlines from gsettings parameter descriptions, to avoid
          weird-looking layout when dconf-editor shows the
          description. (1cc9530)
        * Merged devel. (5944ad9)
        * Fixed retarded thinking. (c7370c6)
        * Merged devel. (8ba04a5)

2015-06-11 Michi Henning

        * Minor fixes to speed test: adjusted some types to prevent overflow
          when benchmarking very large caches and fixed two
          insignificant off-by-one errors. Changed prerequisite
          branch; now calling compact() explicitly in speed test.
          (0463740)
        * Merged devel and resolved conflicts. (1944094)
        * Pulled parent branch. (8b2b4b2)
        * Cache no longer implicitly compacts the DB on shutdown. Instead, it
          now provides an explicit compact() method. The DBus
          service now shuts down the thumbnailer before tearing down
          the DBus connection, so it is guaranteed that the DB locks
          are released before DBus can start another service
          instance. (12f5442)
        * Factored out dbus name and dbus paths into separate header so they
          aren't hard-wired repeatedly all over the place. Also made
          a bunch of style fixes and removed a bunch of redundant
          header files. (709518b)
        * Merged devel and resolved conflicts. (a51dcde)
        * Merged devel and resolved conflicts. (f8c794f)

2015-06-11 James Henstridge

        * Clean up ImageResponse implementation in QML plugin. (eda9399)

2015-06-11 Michi Henning

        * Merged devel and resolved conflicts. (75d2d32)
        * Merged devel and resolved conflicts. (48ec73f)
        * Added start-stop messages to thumbnailer service. That's useful
          when changing settings, which are read only on start-up,
          and to monitor initialization time. (dc9f712)
        * Renamed VideoScreenshotter to ImageExtractor because that more
          accurately expresses what it does. (It's used for audio
          and video files.) Improved diagnostics. Did minor style
          tidy-up and removed unused code. Destructor now-waits for
          sub-process to complete. (1a3c05c)
        * Reduced the internal block cache size for small caches. This
          reduces cache memory requirements for the thumbnailer
          service from 24 MB to 13.5 MB without affecting
          performance. Renamed a variable in the speed test for
          clarity. (58214f0)

2015-06-11 James Henstridge

        * Change signal name again to make its purpose more clear. (69f210b)

2015-06-11 Michi Henning

        * Persistent stats. Not finished yet. (894963f)

2015-06-11 James Henstridge

        * Merge from devel, fixing conflicts (78d511f)

2015-06-11 Michi Henning

        * Removed debug trace. (91e0484)

2015-06-10 Michi Henning

        * Merged devel and resolved conflict. (22429e9)
        * Added message handler for QDebug so we get time stamps and locking,
          so trace doesn't interleave across threads. Other changes
          are coding style issues, and slightly improved diagnostics
          in some cases. Also removed a bunch of redunant #includes
          and re-ordered include directives. (3fe7c9f)
        * Fixed incorrect filename in exception message. (ecdfcbd)
        * Merged devel. (b615868)
        * Re-named BUS constants as suggested by James. (56c1c45)
        * Disabled stand-alone header compilation tests when slowtests option
          is set. (a6a3516)
        * Suppress a bunch of warnings from cmake when building in release
          mode. (af57b29)

2015-06-10 James Henstridge

        * Add a comment to the cancel method. (336862a)
        * Remove debug print in cancel() method. (4da98d9)
        * Add a comment explaining the use of invokeMethod. (4ad909c)
        * Convert return_default_image_based_on_mime to a plain function.
          (a178fac)
        * Remove unused id argument from ThumbnailerImageResponse
          constructor. (6bfae2f)
        * Move the getenv() call out of the constructor so I'm not repeating
          myself. (127efec)
        * Fix typo in constructor. (f3c74fe)
        * Put the QDBusPendingCallWatcher under unique_ptr control sooner,
          and add a second constructor to ThumbnailerImageResponse
          to handle the eror case. (3661775)

2015-06-10 Michi Henning

        * Rough draft only. (73561d8)
        * Set default extraction concurrency to number of cores. (4820427)

2015-06-09 Xavi Garcia

        * Removed the size parameter from the artist and album queries.
          (40433b3)
        * Removed size parameter from the artist and album art queries
          (7f51255)

2015-06-09 Michi Henning

        * Merged dependent branch and fixed shutdown in speed test. (c6eee0c)
        * Calling compact() at end of speed test now. (4c452b4)
        * Added start and stop messages to service, so we can see in the logs
          when it's not running. (7a75834)
        * Fixed formatting of time values for stats: asctime() writes a
          newline at the end of the string. (4cd72fe)
        * Fixed comment. (4699013)
        * Reduced the internal block cache size for small caches. This
          reduces cache memory requirements for the thumbnailer
          service from 24 MB to 13.5 MB without affecting
          performance. Renamed a variable in the speed test for
          clarity. (ae3ca6d)

2015-06-08 Xavi Garcia

        * Added tool to parse the Settings schema and create a header file
          with the default values. (1837cf7)

2015-06-09 Michi Henning

        * Updated to use Xavi's settings defaults. (9c8e596)

2015-06-08 Xavi Garcia

        * Added tool to parse the Settings schema and create a header file
          with the default values (18e9007)

2015-06-08 Michi Henning

        * Made extraction timeout configurable. (f9007c0)
        * Intermediate commit before merging prereq branch. (9e8afe6)
        * Factored out dbus name and dbus paths into separate header so they
          aren't hard-wired repeatedly all over the place. Also made
          a bunch of style fixes and removed a bunch of redundant
          header files. (7cfa540)
        * Merged devel. (080077d)
        * Improved coverage. (a94245d)
        * Added clear and clear-stats commands to thumbnailer admin.
          Fixes:
          https://bugs.launchpad.net/bugs/1462204. (1345b78)
        * Merged dependent branch and resolved conflicts. Simplified service
          main(). (3807af9)
        * Fixed test failure due to change in error message. (4a921c9)
        * Slightly improved diagnostics when reporting errors returned by
          dbus. (0c639d7)
        * Improved trace with less noise. (4431234)
        * Better tracing with timestamps. (fcc4db4)
        * No need for mutex. (2d2fbbb)

2015-06-07 Michi Henning

        * Adjusted crash comment for correctness. (4969a06)
        * Oops, left number of iterations too high. (f5f0e59)
        * Minor fixes to speed test: adjusted some types to prevent overflow
          when benchmarking very large caches. Fixed two (not really
          relevant) off-by-one errors. (c698a15)

2015-06-06 Michi Henning

        * Suppress a bunch of warnings from cmake when building in release
          mode. (8ec16c4)
        * Disabled stand-alone header compilation tests when slowtests option
          is set. (1eb5e77)
        * Removed a few redundant #includes. (e1e60d6)
        * Renamed VideoScreenshotter to ImageExtractor because that more
          accurately expresses what it does. (It's used for audio
          and video files.) Improved diagnostics. Did minor style
          tidy-up and removed unused code. Destructor now-waits for
          sub-process to complete. (fbcd6af)
        * Merged devel and resolved conflicts. (120dab9)
        * Refactor some duplicated code. Added fix for hang in vsthumb when
          trying to thumbnail an empty file. Added check to prevent
          thumbnailing of file descriptors that don't refer to a
          regular file. Made calls to rate limiter exception safe.
          (3cf1dc6)

2015-06-05 Xavi Garcia

        * Added setting values for max-downloads and max-video-thumbnails, so
          we can tune concurrency without re-building. (76797ba)
        * Added suggested changes. video_thumbnail_limiter_ renamed as
          extraction_limiter_. Descriptions in schema updated
          (ade66f7)

2015-06-05 Michi Henning

        * Re-instated compaction correctness test. (f886e69)
        * Grammar fix for doc. (0115714)
        * Added clear and clear-stats commands to thumbnailer admin.
          (2c96224)
        * Cache no longer implicitly compacts the DB on shutdown. Instead, it
          now provides an explicit compact() method. DBus service
          now shuts down the thumbnailer before tearing down the
          DBus connection, so it is guaranteed that the DB locks are
          released before DBus can start another service instance.
          (40d229b)

2015-06-04 Xavi Garcia

        * Fixed schema xml (311274b)
        * Added setting values for max-downloads and max-video-thumbnails, so
          we can tune concurrency without re-building (b9fb68b)

2015-06-04 Michi Henning

        * Improved coverage, mainly for qml. (4d5e92f)
        * Merged devel and resolved conflict. (f7449c0)
        * Restructured tests so each test has its own directory. Test targets
          are now pushed into the top-level CMakeLists.txt so the
          test targets for coverage are updated automatically.
          Removed no-longer needed tools. (839c1af)
        * Added thumbnailer-admin tool. Removed obsolete tools. Improved
          coverage. (6b2f3b7)
        * Added message handler for QDebug so we get time stamps and locking,
          so trace doesn't interleave across threads. Other changes
          are coding style issues, and slightly improved diagnostics
          in some cases. (a51feab)
        * Removed redundant qdbus test dependencies. (6424d91)
        * Fixed file descriptor leak. (fa1a3eb)

2015-06-03 Michi Henning

        * Fix broken assertions in thumbnailer.cpp. (f4b7e4f)
        * More valgrind suppressions for stuff we started calling recently.
          (d230503)
        * Fixed inability to change size of pre-existing cache via dconf.
          Made max thumbnail size configurable, as well as retry
          interval after authoritative and non-authoritative
          download failure. More detailed semantic checking and
          error reporting for config parameters. (a26862d)
        * Added trace message handler for qDebug with locking and time stamp.
          (b064033)

2015-06-02 Michi Henning

        * No need for catch ... (1fc9001)
        * Fixed broken assertions in thumbnailer.cpp. (679b36b)

2015-06-01 Michi Henning

        * Improved coverage, mainly for qml. (1bcd263)
        * More restructuring. Now pushing list of test targets to top level
          for coverage reporting. (0af2e3f)
        * Tidied up test directory. (a636c85)

2015-05-30 Michi Henning

        * Reverted unintentional whitespace change. (d071128)
        * Syntax error in XML. (91b7d3d)
        * Fixed inability to change size of pre-existing cache via dconf.
          Made max thumbnail size configurable, as well as retry
          interval after authoritative and non-authoritative
          download failure. More detailed semantic checking and
          error reporting for config parameters. (edcd9dd)
        * Merged devel and fixed conflicts. Fixed cmake config warning.
          (641f1ef)
        * Merged devel. (03f45fe)
        * Review comments from James. (c02aa85)

2015-05-29 James Henstridge

        * Add settings support for the cache size. (71f1f9e)
        * Use the memory GSettings backend so we don't hit settings from the
          user's home directory in tests. (7c87e88)
        * Fixes from michi's review: (d7ce32d)
        * Invoke gcovr directly rather than using a cmake command file.
          Update the filter pattern glob->regexp conversion for the
          gcovr command line arguments to match what lcov does.
          (0cff899)
        * Invoke gcovr directly rather than through a cmake command script to
          avoid character escaping hell, and update the
          pattern->regexp conversion to match lcov exactly.
          (de15d9d)

2015-05-28 Michi Henning

        * Made license headers consistent. (7cbaa37)
        * A few minor fixes flagged by coverity. (4ef6294)

2015-05-28 James Henstridge

        * Add tests for settings class. (ed563ec)

2015-05-28 Michi Henning

        * More valgrind suppressions for stuff we started calling recently.
          (af2bf03)

2015-05-28 James Henstridge

        * Don't bother converting keys to std::strings. (286fa2a)
        * Use settings to pick cache sizes. (5746da4)

2015-05-28 Michi Henning

        * Coverage suppression. (0fea0b5)
        * formatcode changes. (3b7eeff)

2015-05-28 James Henstridge

        * Separate out settings code into a separate class, and add settings
          for the cache size (not yet wired up). (c0a2511)

2015-05-28 Michi Henning

        * Wrong install path. (aab7b67)
        * Fixed whitespace. (911d211)
        * Added installation for admin tool. (6f9efb8)
        * Fixed connect failure test. (47ddfe1)
        * Review comments from James. Also fixed incorrect licensing test in
          debian/control. (57432cf)
        * Tests for remote admin commands. (a944263)
        * Coverage suppressions. (77ca3e9)
        * Fixed whitespace test failure. (39c78df)
        * Merged devel. (b2c0fc8)
        * Added remote thumbnails. (82a4113)
        * More tests. (94ff8d5)
        * More test coverage. (3c426a9)
        * Moving to another machine. (a1d71dd)
        * Removed obsolete get-thumbnail.py. (21214d8)
        * Added get command to thumbnailer-admin, removed obsolete cachetool
          and scaler. (56586c1)

2015-05-27 CI Train Bot

        * Releasing 2.0+15.10.20150527-0ubuntu1 (15fb55b)

2015-05-27 Michi Henning

        * Merge lp:thumbnailer/devel r189 to trunk, and update Debian change
          log. Approved by: PS Jenkins bot, Michi Henning (a62eb8f)
        * Tidied up some more. (be9a76e)
        * Finally with parsing of inner command. (b8cd501)
        * Using Qt command-line parser in main program now. (8928804)

2015-05-27 James Henstridge

        * Empty commit to see if this triggers different Jenkins jobs.
          (9d7336a)

2015-05-27 Michi Henning

        * Made license headers consistent. (72d395a)
        * Merged devel. (0d16c9c)
        * Fixes for things found by coverity. (3c0ef78)

2015-05-26 James Henstridge

        * Update Debian change log. (720b921)

2015-05-26 Xavi Garcia

        * Added Async Image Provider. (fe352d5)

2015-05-26 Michi Henning

        * Added tests for stand-alone header compilation, copyright, and
          whitespace. Fixed errors reported by those. (2fd7b81)
        * Added HACKING file. (f01f9b1)
        * Got rid of QDateTime in CacheStats. (8f6d8c9)
        * Use qPrintable() (29e7de5)
        * Fixed locale. (1780072)
        * Added better tests for correctness of output. (088f132)
        * Added QCoreApplication. Moving towards Qt argument parsing.
          (19944d8)
        * Added partial coverage tests for admin tool. (9967203)
        * Merged devel. (b536dc2)
        * Showing histogram in output now. (9fa4bce)

2015-05-25 James Henstridge

        * Limit the concurrency of downloads and vs-thumb invocations.
          (0e2d922)
        * Indent style. (54cdf0e)
        * Catch all exceptions from the Thumbnailer constructor. (51cb054)
        * No point in using both cstdio and iostream. (da8beb2)
        * Add some tests for exit conditions for the thumbnailer service.
          (dde54dd)
        * Fix up race in the duplicate_requests test case, and add one that
          exercises the rate limiting feature. (513380f)
        * Add some comments to RateLimiter header. (d5c9a5b)

2015-05-25 Michi Henning

        * Added missing copyright headers. (f1970fa)
        * Merged devel and resolved conflicts. (cb32879)
        * Merged parent branch. (8e8131e)
        * Merged devel. (a4fe4e5)

2015-05-25 James Henstridge

        * Limit the number of concurrent downloads or video thumbnails that
          can be active at one time. (9c498b9)

2015-05-25 Michi Henning

        * Printing time stamps now. (792d03c)
        * Merged prereq branch. (de16db5)
        * Tmp check-in before merging prereq branch. (d9251d8)
        * Removed redundant includes of QDBus and GIO in header test.
          (e03397e)
        * Updated HACKING and added missing tsan-suppress file. (f4bdc9d)
        * Remove trace. (8e4e648)
        * Got rid of QDateTime in CacheStats. (0e85636)
        * Fixed time conversion code to generate fixed point independent of
          locale. Fixed stats test to test for correct time
          regardless of locale. Added sanity test for non-epoch
          timestamps to verify that marshaling and conversion work
          correctly; the test now checks that the timestamps are
          near the current time. Fixed type spec in the xml to match
          reality. (a9e6fc9)
        * Merged devel. (24402aa)
        * Check-in before merging devel. (9ba258d)

2015-05-23 James Henstridge

        * Factor out common DBus test setup code, and add some more targets
          to the coverage report. (04bfb03)
        * Exclude core include files from coverage report. (d898402)

2015-05-23 Michi Henning

        * Fixed type spec for Stats() method to match reality. (8f7a5f8)
        * Fixed time conversion code to generate fixed point independent of
          locale. Fixed stats test to test for correct time
          regardless of locale. Added sanity test for non-epoch
          timestamps to verify that marshaling and conversion work
          correctly; test now checks that the timestamps are near
          the current time. (82ca858)

2015-05-22 James Henstridge

        * Simplify lcov command line for filtering coverage data. (1a35d51)
        * Be a bit more strict in the glob conversion. (8bf2e90)
        * Exclude filtered files from the XML coverage report too. (857a432)
        * Remove old includes. (0e73f89)
        * Remove the cache targets from the coverage report, after discussion
          with michi. (94e7ba6)

2015-05-22 Xavi Garcia

        * Merge with devel, conflicts resolved (b13785a)

2015-05-22 James Henstridge

        * Simplify the RemoteServer fixture, which also seems to stop it from
          leaking temporary directories. (726a835)
        * Add targets missing from the coverage report. (2ab5298)
        * Fix up test, and make DBusServer members match style guide.
          (1abbd86)
        * Merge from devel (166c29d)
        * Port tests over to new fixture. (1ca68f0)
        * Add DBusServer helper util. (b7e42bd)
        * If multiple requests for the same resource are received, delay
          processing of the second request (and subsequent ones) so
          we can take advantage of any downloads (for album
          requests), extracted images (for videos/songs), or cached
          failures. (da75e7a)
        * Rename local variable so there is less confusion with the member
          var. (c1eabfc)

2015-05-22 Michi Henning

        * Added HACKING. (9b2640c)

2015-05-22 James Henstridge

        * Merge from devel (7f1d909)

2015-05-22 Michi Henning

        * Added DBus interface for stats collection. (a6071ab)
        * 100% coverage for dbusinterface.cpp. (19dc687)
        * Waiting for Shutdown() to return, with a sleep to give gcovr some
          time to do its thing. (e33136f)
        * Changed marshaling of QDateTime members to int64 and fixed type
          string in xml. (348a6ea)
        * Added whitespace tests and fixed errors reported by that. (f5dca64)
        * Added copyright test and missing copyright headers. (2ca7838)
        * Added stand-alone header compilation test. (0a4fdec)
        * Simpler shutdown: use QCoreApplication::instance(). (2866ec3)
        * Added shutdown method. (bf60447)

2015-05-21 Michi Henning

        * Moved stats marshaling code into its own files. (f96dd0e)
        * Minor review comments from James. (39b3780)
        * Fixed build error with clang. (89f9a75)

2015-05-21 James Henstridge

        * Add a third request to the duplicate requests test. (522066b)

2015-05-21 Michi Henning

        * Single bus with two interfaces now. (Thanks James!) (1f45917)
        * Added trace to failing test. (1f9b939)
        * Hopefully fixed size issue when running on 32-bit machine.
          (53d2949)

2015-05-21 James Henstridge

        * Add a test for concurrent requests for a single resource. (0c9b3c1)
        * Add a test that ensures that artist and album artwork get different
          cache keys. (453d954)

2015-05-21 Michi Henning

        * Removed noise in dbust test for unknown ExitStatus type. (7578f2c)

2015-05-21 James Henstridge

        * Merge from parent (28d59bf)
        * Chain requests that use the same unsized cache key rather than
          running them in parallel. (0c31d4c)

2015-05-21 Michi Henning

        * Made QDateTime conversion more robust. (ca32319)
        * Merged devel. (a94f560)
        * 100% coverage on thumbnailer. A few coding style fixes. Improved
          error handling and diagnostics via unity::Exception. Fixed
          incorrect logic in vs-thumb when launching the child
          process and collecting error/timeout info. (bd62f74)
        * Fixed build error with clang. (f76e20d)
        * Removed redundent RemoteServer code in thumbnailer test. (f8b82cf)
        * Fixed bug in dbus test cmake file. (21a0966)
        * Removed cmake trace. (37527eb)
        * Merged prereq branch. (b309528)

2015-05-21 James Henstridge

        * Expose the unsized cache key for ThumbnailRequest. (2c08a1f)

2015-05-21 Michi Henning

        * Minor fix. (a5524bb)
        * Merged devel and resolved conflicts. (60cc513)

2015-05-20 Michi Henning

        * Merged prereq branch. (8759602)
        * Error tests are now separate test cases. (8e345d6)
        * More review comments from James. (dabe30a)

2015-05-20 Xavi Garcia

        * Added some suggested changes. (9bda155)

2015-05-20 Michi Henning

        * Merged prereq branch. (b75c35c)
        * Fixed incorrect stats test. (f7d57ed)
        * Removed special-casing for unity::Exception. (fdb1055)
        * Review comments from James. (03f225b)

2015-05-20 James Henstridge

        * Create a small utility library for common test setup code.
          (e7194fb)

2015-05-20 Michi Henning

        * Added test for failure stats changes. (8ecc172)
        * Changed Thumbnailer to use get() on failure cache instead of
          contains_key(). Re-enabled all the dbus tests. (3bb47e4)
        * Added tests for stats extraction. (9f78c47)
        * Changed steady_clock to system_clock because steady_clock resets at
          reboot, so it's no good for persistent time stamps.
          (15e657b)
        * Intermediate check-in. Started moving towards separate interface.
          (4cec154)

2015-05-19 James Henstridge

        * Remove some more dead code from the fake art server, left over
          after removing last.fm support. (9148bf1)
        * Port tests over to using central art server setup code. (96ff0c5)
        * Add a small utils static library to share code between test suites.
          (3de6c6e)

2015-05-19 Michi Henning

        * DBus service should be good now. About to add tests. (03ce705)
        * Merged system_clock change. (cb32d73)
        * Some basic scaffolding for stats. (295e66e)
        * Changed steady_clock to system_clock because steady_clock resets at
          reboot, so it's no good for persistent time stamps.
          (1ab57e7)

2015-05-18 Xavi Garcia

        * Modified failure unit tests for QML to not depend on having the
          package thumbnailer-common package installed (d74af31)

2015-05-18 Michi Henning

        * 100% coverage on thumbnailer. A few coding style fixes. Improved
          error handling and diagnostics via unity::Exception. Fixed
          incorrect logic in vs-thumb when launching the child
          process and collecting error/timeout info. (49e2f91)
        * Merged devel. (fe29911)
        * Renaming for clarity. (37dcf13)

2015-05-15 Xavi Garcia

        * Merged with devel (10eca57)
        * Added qml tests for the case that the image is not found in the
          remote server (7d8549b)
        * Fixed issue with default images when downloading files (5036f74)

2015-05-15 Michi Henning

        * Added namespaces to all code that was still in the global
          namespace. (d6b7c9b)

2015-05-15 James Henstridge

        * Convert the test_dbus test to use generated stubs, and inspect
          returned images using the Image class. (d91ff3f)
        * Use the image class to inspect the images, rather than using our
          own pixbuf code. (17ff049)
        * Make the test_dbus tests use generated stubs for the D-Bus
          interface rather than manually constructing the method
          calls. (31d86ea)

2015-05-15 Michi Henning

        * Added namespaces to all code that was still in the global
          namespace. (ec11592)
        * Put the code through formatcode. (adf52c8)
        * Put the code and headers through formatcode. (91f2de4)
        * Moved Thumbnailer into the internal namespace. Un-pimpled
          Thumbnailer and VideoScreenshotter. Image class coverage
          back up to 100%. Slightly better coverage for Thumbnailer.
          Fixed Thumbnailer test to not create a new temp dir for
          each test. (Because of the caching in glib, the tempdir
          "stuck" at the first one that was created.). (904b82b)
        * Merged dependent branch. (956468d)
        * Review comments from James. (6d36a05)
        * Un-pimpled VideoScreenshotter. (29f0f2a)
        * Un-pimpled Thumbnailer. (ffc5267)
        * Moved Thumbnailer into unity::thumbnailer::private, seeing that
          there is no public API anymore. (e861af8)
        * Slightly better coverage. (eb6ec8c)
        * Image coverage back up to 100%. (d677229)

2015-05-14 Xavi Garcia

        * Added use of async image provider to improve performance (4709ffd)

2015-05-14 James Henstridge

        * Rename unique_gobj<T> to gobj_ptr<T>. (5a2fa27)

2015-05-14 Michi Henning

        * Improved test coverage. (258012a)
        * Merged devel and resolved conflicts. (afea9ff)

2015-05-14 James Henstridge

        * Add a test for gobj_ptr<T> copy behaviour, and remove GdkPixbuf
          dependency from this suite (just use
          GObject/GInitiallyUnowned). (5906169)
        * Rename test to gobj_ptr. (5ff52d2)
        * Rename unique_gobj<T> to gobj_ptr<T>, since it is now somewhat
          closer to shared_ptr<T> by allowing copying. (dbc58b7)

2015-05-14 Michi Henning

        * We no longer add an entry to the failure cache if thumbnailing
          fails because the network is down. Renamed network_error()
          to network_down() to make it clear that this is an
          expected failure (rather than a surprising one). Changed
          enumerators for FetchStatus to lower case as per style
          guide. Refactored fetch() for artist and album into common
          helper function. (a2a7220)

2015-05-14 James Henstridge

        * Use the file descriptor we open at the start of the request when
          thumbnailing videos or songs. (1419e36)

2015-05-14 Michi Henning

        * Merged devel and resolved conflicts. (725dcb7)

2015-05-14 James Henstridge

        * Add a test that shows vs-thumb continues after file replacement.
          (e8b7acf)
        * Remove FIXME message, since we're now thumbnailing from a file
          descriptor. (d725ff1)
        * Make VideoScreenshotter ask vs-thumb to thumbnail from an inherited
          file descriptor. (285c50f)
        * Use O_CLOEXEC when opening files. (5625f8f)
        * Rather than trying to sniff the mimetype in vs-thumb, simply use
          has_video() to decide whether to try and extract a video
          frame or look for cover art. (b0a619a)
        * Add a has_video() method to ThumbnailExtractor class. (2b029b3)
        * When thumbnailing local photos make sure we are reading from the
          file that matches the client's file descriptor.
          Videos/songs still end up re-opening the file at present.
          (f6266cf)

2015-05-13 James Henstridge

        * Fix up album and artist cache keys to be distinct again. (ad2f152)
        * Move the FIXME comment, and make it more specific since it is only
          vs-thumb that needs fixing now. (774c494)
        * Close the client FD in the image replacement test. (b926961)
        * No need to link libthumbnailer.a to QtDBus. (a350425)
        * Add a test that exercises replacing the image mid-thumbnail.
          (e1f3cd4)
        * Merge from devel, fixing conflicts. (f40c188)
        * Add tests for passing bad file descriptors to get_thumbnail().
          (f453b44)
        * Since we're only using the file descriptor in the
          ThumbnailRequest's constructor, we don't need to pass the
          QDBusUnixFileDescriptor down to get_thumbnail(). (4a52cdf)
        * Have the fetch() method return the Image, and be passed a hint for
          the desired size of the image. (a14bdeb)
        * Add a scale() method to Image. (57b8a69)

2015-05-13 Michi Henning

        * More tests for image.cpp. (cb4627b)

2015-05-13 James Henstridge

        * Move the file descriptor comparison into the LocalThumbnailRequest
          constructor. (099c267)
        * Add filename_fd argument to get_thumbnail() method. (a1854d0)

2015-05-13 Michi Henning

        * Merged devel. (2017daf)
        * Added test for safe_strerror(). Removed accidentally-added file.
          (5fd5ed0)
        * Added timeout to ThumbnailRequest::download(), so we can control
          timeout value for the tests. (5cebdf2)
        * Fixed typo in comment. (cc75227)
        * We no longer add an entry to the failure cache if thumbnailing
          fails because the network is down. Renamed network_error()
          to network_down() to make it clear that this is an
          expected failure (rather than a suprising one). Changed
          enumerators for FetchStatus to lower case as per style
          guide. Refactored fetch() for artist and album into common
          helper function. (27caded)
        * Removed redundant setSingleShot() calls. Using chrono::milliseconds
          for timeouts everywhere now. Cancelled requests are now
          reported as a network error. Minor improvements to the
          tests. (e89d15a)

2015-05-12 Michi Henning

        * Moved timeout implementation into UbuntuServerArtReply. (b1f7bc8)

2015-05-12 James Henstridge

        * Allow constructing an Image from a file descriptor as an
          alternative to in-memory data. (1dda636)
        * Add tests for loading image from file descriptor. (ad2135c)
        * Convert Image constructor over to using Reader helper class, and
          add a constructor that takes a file descriptor instead.
          (4540f1b)

2015-05-12 Michi Henning

        * Merged devel. (699470f)
        * Added timeout to ThumbnailRequest::download(), so we can control
          timeout value for the tests. (1efb753)

2015-05-12 James Henstridge

        * Port load_image() to take an Image::Reader as an argument rather
          than the buffer directly. (a28cbf6)
        * Add Reader class with specialisations for reading from a buffer or
          reading from a file descriptor. (954bd9c)

2015-05-12 Michi Henning

        * This adds a failure cache to the mix, so we don't endlessly re-try
          failed downloads or aborted attempts to extract a
          thumbnail from a broken local media file. Cache size and
          timeouts for failure entries are hard-coded for the time
          being, until we get around to making this configurable.
          (31399c1)
        * Merged devel and resolved conflicts. (e92affc)

2015-05-11 Xavi Garcia

        * Added new method to check if the download finished due to a network
          error. (2c8eac4)
        * Added new method to check if the download finished due to a network
          error (0d9b206)
        * I've added tests for album and artist download using the fake
          server and the downloaders. (bae4c5c)

2015-05-11 James Henstridge

        * Merge the Handler subclasses into their base in the D-Bus service.
          (8f99174)

2015-05-11 Michi Henning

        * Fixed a few broken diagnostic pragmas. Replaced remaining
          double-include guards with #pragma once. (968f10c)

2015-05-11 Xavi Garcia

        * Re-merged with devel (669f500)

2015-05-11 Michi Henning

        * Various improvements for clang: - support for address/thread
          sanitizer - allow coverage testing with clang - fixed a
          bunch of clang warnings . (44dab35)
        * Fixed review comments from James. (af99cae)
        * Merged devel and resolved conflicts. (794f35a)

2015-05-11 James Henstridge

        * Simplify Handler further, now that it isn't trying to be
          extensible. (1532ab4)
        * Fix exception message. (7572ddc)

2015-05-11 Michi Henning

        * 1920 size limit for images in full-size cache. Thumbnails are also
          limited to 1920, unless the caller asks for (0,0), in
          which case we return the original size. Images in the
          full-size cache are now always stored a jpeg instead of
          original format. Fixed minor bug in dbus test. (f9857de)
        * Removed LastFM downloader, seeing that we are not using it.
          (fcd7fa7)

2015-05-11 James Henstridge

        * Use the FdPtr definition from <internal/raii.h> in
          write_to_tmpfile(). (f3a6630)
        * Remove separate Handler classes for the three different request
          types, having a single class do the work based on an
          arbitrary ThumbnailRequest. (c15aea0)

2015-05-11 Michi Henning

        * Fixed lots of valgrind issues, so "make valgrind" is usable again.
          (877b0be)
        * Removed queries subdir for downloader test. (74bd643)
        * Timeout set to 15 seconds now for videoscreenshotter. Tests waits
          up to 20 seconds for signal to arrive. (fb2f0aa)
        * Increased timeout for video and audio fetch test. (c6aa93f)
        * Resolved merge conflict. (4256d88)
        * Added vs-thumb to coverage targets. (6a1d21e)
        * Fixed minor bug in fake server for artist thread test. Added test
          case for lastfmdownloader getting artist art. (6ad9e0d)
        * Removed remaining traces of LastFM. (46c1784)
        * Various improvements for clang: - support for address/thread
          sanitizer - allow coverage testing with clang - fixed a
          bunch of clang warnings (d7ad2f7)
        * Fixed a few broken diagnostic pragmas. Replaced remaining
          double-include guards with #pragma once. (800dab1)
        * Merged devel. (9b71299)
        * Merged devel. (6f3042c)
        * Merged devel. (198ff4c)
        * Merged devel. (5bdf6ed)

2015-05-08 Xavi Garcia

        * Added 2 QThreadPools to run separately the check and create phases.
          (a2c7580)
        * Changed names of thread pools and variables to avoid confusion
          (55635b3)

2015-05-08 Michi Henning

        * Fixed comment. (9f8af90)
        * Fixed lots of valgrind complaints. (53972bd)
        * Merged devel. (e3e5b36)
        * Merged devel. (7ec73fb)
        * Merged devel. (e4350e7)
        * Merged devel and resolved conflicts. (03f4b82)
        * Merged devel and resolved conflicts. (34fd3b7)

2015-05-07 James Henstridge

        * Convert the VideoScreenshotter class to an asynchronous API so we
          can wait on the vs-thumb helper process from the event
          loop rather than by blocking in the thread pool. (d26297b)

2015-05-07 Xavi Garcia

        * Added 2 QThreadPools to run separately the check and create phases
          (6feb888)

2015-05-07 James Henstridge

        * Update ThumbnailHandler to handle async invocation of helper
          process. (5d7cf90)

2015-05-07 Michi Henning

        * Merged devel. Minor bug fixes. (470cf03)

2015-05-07 James Henstridge

        * Remove AudioImageExtractor code. (67a8630)
        * Update copyright headers, and simplify slot definition. (25570aa)
        * Fix up spawning of process. (7c86bac)
        * Convert VideoScreenshotter class over to a single-job async API.
          (ccf7620)

2015-05-07 Michi Henning

        * First stab at dealing with failures. (009cd8e)
        * Removed LastFM downloader, seeing that we are not using it.
          (03ada44)
        * Merged devel. (5f76de0)
        * Added test case for coverage. (20f373e)
        * Merged devel. (0a9e485)
        * Merged devel. (848e29a)
        * Merged devel. (5f36361)
        * pending merges:   James Henstridge 2015-05-07 [merge] Merge from
          devel, fixing conflicts. (fadaade)

2015-05-07 James Henstridge

        * Update the Thumbnailer class API to return ThumbnailRequest
          objects, and make the art D-Bus handlers perform downloads
          asynchronously in the event loop. (5ecbb96)

2015-05-07 Michi Henning

        * Merged dependent branch and resolved conflicts. (504853f)
        * Fixed minor bug in fake server. (246b854)

2015-05-07 James Henstridge

        * Merge from devel, fixing conflicts. (94d9a57)

2015-05-06 Xavi Garcia

        * Added downloaders tests for qml with fake server (7bf25ed)

2015-05-06 Michi Henning

        * Added vs-thumb to coverage targets. (9933ec2)
        * Merged devel (47cf5e2)

2015-05-06 Xavi Garcia Mena

        * Fake server modified to add returning 404 code when the file we try
          to read is not found, also erased some imports and methods
          that were not used. (ff8f750)

2015-05-06 James Henstridge

        * Rewrite the description of the RequestBase::thumbnail() method to
          reflect reality. (19a6b30)

2015-05-05 Xavi Garcia

        * Modified fake server to use the extension of the file instead to
          inspect the content of the file. Removed not needed
          dependency in debian/control (bc6da5c)

2015-05-04 Xavi Garcia

        * Fixed missed png file. Fixed conflicts (c8eb56f)

2015-05-02 Michi Henning

        * Merged devel and fixed conflicts. (a3aa4eb)

2015-05-02 Xavi Garcia Mena

        * Removed python-httplib2 dependency (eea66d2)

2015-05-01 Xavi Garcia Mena

        * Added suggested changes (ab42e9b)

2015-05-01 Michi Henning

        * Added better coverage target. Currently, the code still uses a
          private XEnableCoverage module. Once the MR for
          cmake-extras merges, we'll use the version in there. See
          https://code.launchpad.net/~michihenning/cmake-extras/cmake-extras-coverage/+merge/258021.
          (8ad88a2)
        * Added coverage flags to link phase for tests. (16449a8)

2015-05-01 James Henstridge

        * Remove dependency on libsoup and libxml2, since the corresponding
          code is now gone. (9ef35c8)

2015-05-01 Michi Henning

        * Cleaned up coverage testing. (8f71bf1)

2015-05-01 James Henstridge

        * Remove SyncDownloader class, since we are accessing the async
          downloader directly now. (2643d11)
        * Merge from trunk (b0a8900)
        * Add myself to the list of authors. (623d0c9)
        * Merge from devel (42eb225)

2015-05-01 Michi Henning

        * Improvements to build env: (f8a6d5c)
        * Merged devel and resolve conflict. Fixed warning about missing
          default in switch statement. (136162e)

2015-05-01 James Henstridge

        * Use album/artist art downloaders asynchronously. (8c96731)

2015-05-01 Xavi Garcia Mena

        * Fake server modified to add returning 404 code when the file we try
          to read is not found, also erased some imports and methods
          that were not used (f96db28)

2015-05-01 James Henstridge

        * Merge from trunk. (ea7c6d7)
        * Return ThumbnailRequest from the various Thumbnailer class methods.
          (32d958a)
        * Move thumbnailing code to a set of Request classes in preparation
          for exposing asynchronous downloading for use by the D-Bus
          service. (584f7d1)
        * Remove build-depends. (1fafb71)
        * Remove libxml2 and libsoup pkg-config checks. (ccf229e)

2015-05-01 Xavi Garcia Mena

        * Added unit tests for dbus using fake server. Also includes
          modification in fake server to return binary data.
          (af141f7)

2015-05-01 Michi Henning

        * Suppressed more warnings from gstreamer that show up only on Arm.
          (2197e8e)
        * Removed soupdownloader.h too :-) (f6ed0ae)
        * Addressed review comments from James, thanks! (9ebf81f)

2015-05-01 Xavi Garcia Mena

        * Added suggested changes (d0a39b3)

2015-05-01 Michi Henning

        * Remove check for CTest variable because it doesn't work on
          subsequent cmake runs. (06862cb)

2015-05-01 James Henstridge

        * Add back TODO comment. (76ef29c)

2015-04-30 James Henstridge

        * Move extract_image() code into LocalThumbnailRequest::fetch().
          (3c1e553)

2015-04-30 Michi Henning

        * Got rid of unused C_FLAGS. (a2cc714)
        * Improvements to build env: (1ffa67e)

2015-04-30 James Henstridge

        * Start of work to move to async loaders: move logic of Thumbnailer
          methods to Request objects. (130f89b)

2015-04-30 Xavi Garcia Mena

        * Added unit tests for dbus using fake server. Also includes
          modification in fake server to return binary data
          (597a92e)
        * Fixed data being truncated. Added workaround to avoid adding the
          "album" prefix to the album name. (07ea8a1)
        * Added fix to not trucate data and temporary workaround to avoid
          adding prefix to album name (334771b)

2015-04-30 Michi Henning

        * 1920 size limit for images in full-size cache. Thumbnails are also
          limited to 1920, unless the caller asks for (0,0), in
          which case we return the original size. Images in the
          full-size cache are now always stored a jpeg instead of
          original format. Fixed minor bug in dbus test. (6ab1b96)

2015-04-30 Xavi Garcia Mena

        * This branch is not expected to be merged as includes changes not
          fully working. (d30aec7)
        * Added python3 dependency to debian/control (5d5ee97)
        * Changed the way we start the fake server process (e887f97)

2015-04-29 Xavi Garcia Mena

        * Added QSignalSpy to wait for fake server's stdout (0bcc31f)
        * Added extra debug statement to inspect obtained url from downloader
          (0b20d9d)
        * Fixed conflicts (3cf455a)
        * Removed non valid include after removing Q_OBJECT (8c1c3d6)

2015-04-29 Michi Henning

        * Changed code to cache full-size images only if the are remote or,
          if they are local, if they are inside and audio or video
          container. Otherwise, we use the local image file directly
          and don't cache it. (67068cf)
        * Made write_file() atomic using rename(). Added some tests for
          file_io functions. (f110280)

2015-04-29 Xavi Garcia Mena

        * Errors in debian/control fixed (f7a526b)

2015-04-29 Michi Henning

        * Merged devel. (49038f1)
        * Merged devel and resolved conflicts. Fixed qml test failure due to
          missing version number for Thumbnailer plugin. (c9b8c23)
        * Full-size image is now cached only for remote images and local
          video or audio files. For local image files, we don't put
          the image into the full-size cache. (015793d)

2015-04-29 Xavi Garcia Mena

        * added #include <iostream> to thumbnailer.cpp (e342697)
        * Removed process-cpp when linking (b7a5145)
        * Added 100 multiple downloads (5d9317c)
        * Erased not used includes (6a1e5cf)
        * Erased process-cpp includes (57f1f02)
        * Erased not useful statement (6e8ca67)
        * Added virtual destructor (593ffac)
        * Added fixes as suggested (f377d25)

2015-04-29 Michi Henning

        * make_directories() now uses g_mkdir_with_parents(). (cad2a98)

2015-04-29 James Henstridge

        * Scale images while loading them, and use the EXIF thumbnail if it
          is at least as large as the requested size. (0ee4f0c)

2015-04-29 Michi Henning

        * Merged dependent branch. (5c43fb6)
        * make_directories() now uses g_mkdir_with_parents() (cfaf00a)
        * write_file() now creates tmp file in the same dir as the eventual
          file. (3379d1d)

2015-04-29 James Henstridge

        * Move QML test over to new images. (ea14ce0)
        * Use QTemporaryDir to manage the test's temporary directory.
          (1be1aac)
        * Add pixel sampling checks to image test. (7aca800)
        * Rationalise use of test images a bit. (7330573)
        * Remove unneeded include. (aa3b6da)
        * Make image tests use new images. (8a8dc2e)

2015-04-28 James Henstridge

        * Add orientation samples. (0843200)
        * Test scaling of a rotated image. (dfeff5b)
        * Fix up logic in image.cpp/thumbnailer.cpp and adjust tests (some
          thumbnail dimensions have changed due to use of embedded
          thumbnail or different scaling). (5ee2ee8)
        * Initial changes to move EXIF handling into the Image class.
          (b6a9e1d)

2015-04-28 Xavi Garcia Mena

        * Fixed CMakeLists.txt (5c73687)
        * Conflicts with main branch fixed (822e2c7)
        * Added sync downloader, moved functionality to ArtReply classes to
          avoid using maps to identify QNetworkReply objects
          (cb8efc9)

2015-04-28 Michi Henning

        * Made write_file() atomic using rename(). Added some tests for
          file_io functions. (36a4088)
        * Use new cache for local thumbnails. This is poor in regression
          tests, but has reasonably good coverage. For now, I've
          tested thumbnail extraction manually by saving retrieved
          thumbnails and inspecting them by hand. Will add more
          tests that are more rigorous next. (7b15163)
        * Merged devel and fixed compile error. (3c154b0)
        * Changed qml test to expect incorrect values for the time being
          until the rotate code is correct. (8b89841)

2015-04-27 Xavi Garcia

        * Added a new inactivity handler to exist the thumbnailer service
          after some time of inactivity. (22b4c05)

2015-04-28 Michi Henning

        * Merged devel and resolved conflicts. (6e72af1)

2015-04-27 James Henstridge

        * Add a test fixture that runs QML tests against a private version of
          thumbnailer-service. (8d5e59e)

2015-04-28 Michi Henning

        * Fixed bug in mkstemp call. (e1d8052)

2015-04-27 Xavi Garcia Mena

        * Using std::cerr to print out error message (c87c8b6)

2015-04-28 Michi Henning

        * Merged parent. (4dc9c13)
        * Use fast content type instead of thorough one. (5712fdb)
        * Moved pixbuf and exif RAII helpers out of raii.h. (bd25aee)

2015-04-27 Xavi Garcia Mena

        * Catching the InactivityHadler exception in the main function
          (50c0871)

2015-04-27 Michi Henning

        * Fixed typo in error message. (fa8e2b2)
        * Review comments from James. (bbe763c)

2015-04-27 Xavi Garcia Mena

        * API returning a shared_ptr (9bd3d57)

2015-04-27 Michi Henning

        * Fixed broken image test. (ef3c4a0)

2015-04-24 Xavi Garcia

        * UrlDownloader no longer needed (d3f7f5c)
        * Main CMakeLists.txt restored (1afc283)
        * New downloaders interface, similar to QNetworkAccessManager
          (41727af)
        * Changed unit test and modified as suggested (e0e4e81)

2015-04-24 James Henstridge

        * Set TN_UTILDIR before spawning the D-Bus service.  Otherwise the
          change doesn't propagate. (f07203e)
        * Rename Fixture.sourceSize property to requestedSize to more closely
          match ImageProvider API. (29c3a5f)
        * Set TN_UTILDIR environment variable in QML test harness. (f84acc1)
        * Fix ordering of build dependencies. (6ee044e)
        * Name the QML test suites. (614b3ee)
        * Build-Depend on QtQuick2 and QtTest QML modules. (ca50a61)
        * Add a test for embedded album art from a Vorbis file. (b56a180)
        * Add some tests for image://thumbnailer/ used on photos, and disable
          the albumart tests: we can re-enable them once we've got
          the fake albumart server integrated into the test suite.
          (c2b7c8c)

2015-04-23 Xavi Garcia

        * Modified QSignalSpy to use new syntax (a18efdc)
        * Added suggested changes (9babbd7)

2015-04-23 James Henstridge

        * Add test harness to run QML tests, and run them under Xvfb so that
          they can be run headless. (0b4215c)

2015-04-23 Michi Henning

        * Added missing close for pixbuf loader. Better logic for cache
          access in thumbnailer.cpp. Slightly better tests.
          (75117b6)

2015-04-22 Xavi Garcia

        * Added inactivity handler to exit the application after some time of
          inactivity (df95216)

2015-04-22 Michi Henning

        * Merged devel. (2ac64f2)
        * Define QT_NO_KEYWORDS for service. (da7bdbf)

2015-04-21 Michi Henning

        * Fixed broken key construction in thumbnailer.cpp. (5cf134a)

2015-04-22 Michi Henning

        * Minor refactoring. (1f77c31)
        * Merged James's updates and resolved conflicts. (92b80a5)

2015-04-21 Michi Henning

        * Added comment about failure for O_TMPFILE. (94e41dc)

2015-04-21 James Henstridge

        * Pass the requested size to the D-Bus service directly rather than
          converting it to a ThumbnailSize constant first. (b47ba1d)

2015-04-21 Michi Henning

        * Fix typo. (cf2a9c7)
        * Trying to deal with different behavior from different kernels for
          O_TMPFILE flag for open(). (3167e63)
        * Merged James's changes and fix broken key creation (\0 problem).
          (dc28fb2)
        * Fixed broken key construction in thumbnailer.cpp. (edf4ad1)

2015-04-21 James Henstridge

        * Adjust the scaling code a bit: fill in the missing height/width
          before checking if scaling is needed. (e7b1441)
        * Push the requestedSize down into the individual method handler
          classes. This way the scaling behaviour of each method can
          be updated individually. (b0d6bb1)
        * Reintroduce the QML side scaling that was lost when refactoring the
          GetThumbnail case.  This will be a no-op if we are passed
          correctly scaled images by D-Bus. (bc99841)
        * Merge from trunk (3f15da6)

2015-04-21 Xavi Garcia

        * Fixed CMake files conflicts (30072ce)

2015-04-21 James Henstridge

        * If the kernel doesn't support O_TMPFILE, create a named temporary
          file with mkstemp() and then unlink it. (caa1b1c)

2015-04-21 Michi Henning

        * Added coverage for get_thumbnail() in a very simple test. No real
          testing there yet, but enough to see that things are
          mostly working by inspecting coverage output. (20bdef1)

2015-04-21 James Henstridge

        * Update packaging to allow replacement of files in old
          libthumbnailer0 package. (5e6ff5f)
        * Add a fallback path for when O_TMPFILE is not supported by the
          kernel (resulting in an EISDIR error code). (7bba174)

2015-04-21 Michi Henning

        * valgrind suppression fix. (f9c3756)
        * Rotation test. (bff2cf5)
        * Added EXIF orientation corrections. (b0b9941)
        * Fixed thumbnail generation from EXIF. (bc84a12)
        * Minor refactoring. (95135c5)
        * Merged James's QSize changes. (b870b54)
        * Merged James's handler improvements. (17bf71c)

2015-04-20 Xavi Garcia

        * Added new unit tests for downloaders (2f6d52a)

2015-04-20 James Henstridge

        * Fix up helper tools. (2850af5)
        * Don't error on an invalid requested size: this is a valid use of
          the QQuickImageProvider API. (bb31faf)
        * Namespace the QML plugin classes. (29b4316)
        * Generate stubs to talk with the D-Bus interface to avoid
          unintentional bugs.  Also adapt the QML plugin to call
          thumbnailer-service with the actual requested image size
          rather than a constant that approximates it. (39de6a1)

2015-04-20 Michi Henning

        * Added image tests. Started on valgrind suppressions for gdk.
          (785461c)

2015-04-20 James Henstridge

        * Make the DBus interface take the desired size directly as a QSize
          (marshalled as "(ii)"). (098593b)
        * Split out the D-Bus method request handlers into separate classes,
          with some processing happening in a thread pool (where
          blocking is permissible) and some in the event loop thread
          (where blocking is not allowed, but we don't monopolise a
          thread). (964449f)
        * Merge from devel, fixing conflicts. (8f58b15)

2015-04-20 Michi Henning

        * formatcode for basic.cpp. (3ef5b71)
        * Merged safe_strerror() branch. (8006b4f)

2015-04-20 Xavi Garcia

        * Modified strerror to use safe_strerror instead. (179c4c7)

2015-04-20 Michi Henning

        * Removed imagescaler. Added file IO helpers. (80116ce)
        * Fixed bugs in image.cpp. (43b42f6)

2015-04-17 Xavi Garcia

        * Renamed classes QUrlDownloader and QArtDownloader to UrlDownloader
          and ArtDownloader (36f8859)

2015-04-17 James Henstridge

        * Capture exception in a wrapper around the function called in the
          thread pool, so we correctly capture exception messages.
          (963464b)
        * Merge from devel (bf19b1c)
        * Ensure thread pool jobs complete when destroying a Handler, and
          then stop further processing. (d82524f)
        * Add a test suite to check the behaviour of the D-Bus service.
          Currently only covers GetThumbnail, with
          GetAlbumArt/GetArtistArt to come later when we can
          substitute in the fake implementation of the art service.
          (747b116)
        * Fixes from Michi's review: make sure pixbuf loader is closed on
          destruction, and check the message in the D-Bus error
          tests. (40130fb)
        * Delete the request handlers when they complete. (7dc2947)
        * Move DBusInterface into namespace. (f62c36c)
        * Convert other two methods to Handler classes. (afbb175)
        * Hook up GetThumbnail to run via Handler. (366e5c9)
        * Add Handler class as a base for asynchronous method calls.
          (07958a1)

2015-04-16 Xavi Garcia

        * Added python-tornado to debian/control (4cd36ee)
        * Added LastFM downloader unit tests (de9ade0)
        * Modified LastFM downloader to use the Qt API (3d4a1df)
        * Added user defined id for a download (7d0a805)
        * Avoid using strerror and changed to use safe_strerror instead as we
          have to be thread safe (38d8980)
        * Linking tools with static library instead of separated files
          (5a8db61)
        * Declaring const strings as static constexpr const char* (d9041e1)
        * Added libprocess-cpp-dev to debian/control (5f18a11)
        * CMake files modifications following suggestions (f607879)
        * Erased not needed files (46b678b)
        * Modified UbuntuServerDownloader to use Qt. Added QUrlDownloader and
          QArtDownloader. Added unit tests for new downloaders
          (243d0c4)
        * Added Fake server (5e8a687)

2015-04-15 James Henstridge

        * Add a test suite that checks the behaviour of the D-Bus service.
          Currently tests for the album and artist artwork methods
          are disabled until we can point them at a fake service.
          (cb372ab)

2015-04-15 Michi Henning

        * Adapted dbus-interface for new get_thumbnail(). (651ea29)
        * Major re-factoring of thumbnailer for caching local content. basic
          test segfaults at the moment. (3eed356)
        * Merged devel. (31c1a4e)
        * Intermediate check-in before merging devel. (38f7904)

2015-04-14 Michi Henning

        * This replaces the media art cache with the new cache. Note that,
          for now, the images are returned without scaling in
          original size. (90438fd)
        * More review comments from James. Removed mediaartcachetest.cpp and
          changed write_to_tmpfile() to return a Qt file descriptor
          instead of wrapping the fd in the caller. (d3c1317)
        * Try again... (988c018)
        * Fixed error in control file. (3adada6)
        * Addressed review comments from James. (383917e)
        * Removed headroom concept because it doesn't achieve anything other
          than making the benchmark look better. Shortened speed
          test so it runs faster with mechanical disks. (26c533b)
        * Various doc improvements. Tweaks to speed test to make it more
          realistic. (49c70b8)

2015-04-14 James Henstridge

        * Don't install libthumbnailer.so, instead statically linking the
          code into thumbnailer-service.  As a consequence, the
          libthumbnailer0 and libthumbnailer-dev binary packages
          have been removed. (58d477f)

2015-04-14 Michi Henning

        * Removed size groups. 0 means original size. (6f6831e)

2015-04-14 James Henstridge

        * Add a GetThumbnail D-Bus method to thumbnailer-service for local
          thumbnails, and update the QML plugin to use it rather
          than libthumbnailer directly. (9b911e4)

2015-04-14 Michi Henning

        * Merged prerequisite branch. (aa1d8e8)
        * Minor refactoring. (3b8c6dc)
        * Merged James's no-library branch and resolved conflicts. (7645672)

2015-04-13 James Henstridge

        * Remove the libthumbnailer0 and libthumbnailer-dev packages, and
          move the vs-thumb helper to thumbnailer-service. (a183575)
        * Don't install libthumbnailer.so and its headers: clients should use
          the D-Bus API instead. (2d3e2bc)
        * Don't make qtdeclarative5-ubuntu-thumbnailer0.1 require
          libthumbnailer0. (e897df4)

2015-04-13 Michi Henning

        * Removed headroom concept because it doesn't achieve anything other
          than making the benchmark look better. (2eaaf6f)
        * Merged parent. (20311e5)
        * Oops, need different keys for album and artist art. (c7187f8)
        * Removed unnecessary dependency. (b45ebba)
        * Removed headroom setting because it won't change anything.
          (87207ac)
        * Merged parent and resolved conflicts. (f152c49)

2015-04-13 James Henstridge

        * Make image://thumbnailer image provider go via D-Bus. (54712d0)

2015-04-13 Michi Henning

        * Typo in doc. (5a83ad7)

2015-04-13 James Henstridge

        * Add the server side of the GetThumbnail routine. (752fea0)

2015-04-13 Michi Henning

        * Another minor doc fix. (4dfde1f)
        * Minor doc fix. (c0092e8)
        * Added doxygen comment for core namespace. Without this, doc for
          definitions in the core namespace won't be emitted.
          (890e6b2)
        * Fixed doc typo. (c2c459f)
        * Various doc improvements. Tweaks to speed test to make it more
          realistic. (7246433)

2015-04-10 Michi Henning

        * I've added the leveldb cache to the tree. It's not used by
          anything, just hooked up to the build env so it compiles
          and passes its tests. Eventually, this will move into a
          separate core project but, for the time being, we'll
          dog-food it here to see how we go with the API. (10a84da)
        * Addressed review comments from James. (eeb3b80)
        * Comment fix. (a2eccbb)
        * Added comment. (e576832)
        * Minor code fix (removed redundant test and stale variable).
          (372678d)

2015-04-09 Michi Henning

        * Doc fix. (7ae07d2)
        * Renamed Codec -> CacheCodec and moved it into the core namespace.
          (83fee5c)
        * Merged devel. (5aac899)

2015-04-09 James Henstridge

        * Use playbin to extract audio and video thumbnails, rather than a
          custom pipeline. (64b1e08)
        * Port thumbnailer-service to QDBus. (ce3e2a8)

2015-04-09 Xavi Garcia

        * Changed ArtDownloader interface to return std::string containing
          the image. (a3de47e)

2015-04-09 Michi Henning

        * Added eviction counts to stats. (5f4a86c)

2015-04-08 Michi Henning

        * Comment fix. (49dc621)
        * Improved comments. (32d8778)
        * Added bitwise operators for events, and removed set_handler()
          overload. (b6570c2)
        * Lower-cased enumerators. (27bce10)
        * Oops, removed redundant internal:: qualifications. (08f2853)
        * Moved CacheEventIndex into internal header file. (ec09946)
        * Fixed broken comment and renamed variable for clarity. (38d657e)
        * Improved doc for load function. (bcb8371)
        * Moved Optional into core namespace. (57be121)
        * Renamed IOTraits -> Codec, and changed function names to
          encode()/decode(). (f67d327)
        * Made take() and take_data() non-const. (fefeec0)

2015-04-07 Michi Henning

        * Re-instated deprecated symbol. (3155b77)
        * Added core library to plugin and thumbnailer. (944a27d)
        * Removed deprecated symbol from symbols file. (acc422e)
        * Replaced MediaArtCache with new cache. (086c7b4)

2015-04-03 Michi Henning

        * More tests. Impl has to be immovable. (4c3bbb5)

2015-04-02 Michi Henning

        * Added histogram to stats. Minor fix for iterator overrun. Stylistic
          fixes and general code clean-up. (2009fad)

2015-04-01 James Henstridge

        * Increase the method time out, since we may wait on a network
          service. (b6290ea)
        * Add a small test script to exercise the GetAlbumArt D-Bus method.
          (b38742d)
        * Port thumbnailer service over to QDBus to make future expansion
          easier. (82fcdca)

2015-04-01 Michi Henning

        * Xavi Garcia 2015-03-31 Removed LastFmDownloader destructor
          implementation (which was empty) to use the default
          instead Xavi Garcia 2015-03-31 Raw pointer removed to use
          unique_ptr instead. Some coding style changes Xavi Garcia
          2015-03-27 Modified ArtDownloader interface to return a
          std::string with the content of the image. Cha...
          (8800e53)

2015-03-31 Xavi Garcia

        * Removed LastFmDownloader destructor implementation (which was
          empty) to use the default instead (e7b5748)
        * Raw pointer removed to use unique_ptr instead. Some coding style
          changes (1c9bd5e)

2015-03-31 Michi Henning

        * Suppressed parallel tests in debian/rules. (9fe6264)
        * Removed stale using declaration. (af8cd66)
        * Removed stale #include for UnityExceptions.h. (9e98d9d)
        * Try again, this time with libboost-filesystem-dev as the build dep.
          (9398258)
        * Added libboost-dev to build deps. (d656fea)
        * Added leveldb to build deps. (70e8a37)
        * Initial draft of persitent cache based on leveldb. (2e1a58a)

2015-03-30 James Henstridge

        * Add a test for the case of a missing file, and include the class
          name in the error messages. (0b7da23)

2015-03-27 Xavi Garcia

        * Modified ArtDownloader interface to return a std::string with the
          content of the image. Changed coding style to files using
          the ArtDownloader interface. Modified unit tests that used
          the ArtDownloader interface (ff7baa0)

2015-03-27 James Henstridge

        * Emit more detailed error messages. (3c9b613)

2015-03-25 James Henstridge

        * Move the test data to a subdirectory of the tests. (99f3b01)
        * Fix typo in test so the Theora test uses the theora test file.
          (3b40503)
        * Add some debug output to help with jenkins test failure. (881b678)
        * Cut down on the libraries vs-thumb links with. (7608238)
        * Make vs-thumb use playbin for audio thumbnailing. (97e6d93)
        * Add extract_audio_cover_art() method to ThumbnailExtractor.
          (6120a77)

2015-03-24 James Henstridge

        * Add some test videos to check thumbnailing of H.264 videos,
          including rotation. (055064f)
        * Fix up test so it can find the vs-thumb executable again. (a3c46da)
        * Separate the video frame extraction code from the image saving
          code, so we can add audio thumbnailing to the playbin
          based code. (52b4d44)
        * Check that the result image can be loaded and has the expected
          size. (d7bfe92)
        * Make sure the mapped memory stays active for as long as the pixbuf
          based on it does. (726f09e)
        * Add test suite for vsthumb. (e2c0d14)

2015-03-20 James Henstridge

        * Rotate the screenshot as needed. (71c7819)

2015-03-16 James Henstridge

        * Plug ThumbnailExtractor into vs-thumb. (53282aa)

2015-03-13 James Henstridge

        * Don't try to render audio with the playbin. (a570756)
        * Partial thumbnail extraction class (d9f4459)

2015-03-12 CI Train Bot

        * Releasing 1.3+15.04.20150312-0ubuntu1 (6809541)

2015-03-12 Albert Astals Cid

        * Use own QDBusConnection (3efd631)

2015-03-10 James Henstridge

        * Move vs-thumb sources to a subdirectory. (847540f)

2015-03-05 Albert Astals Cid

        * more (8b41643)
        * pointer nit picking (0974405)
        * Comment++ (16cd341)

2015-02-26 Albert Astals Cid

        * Use own QDBusConnection (a8d1d7a)

2015-01-22 CI Train Bot

        * Releasing 1.3+15.04.20150122-0ubuntu1 (c343c9f)

2015-01-22 Florian Boucault

        * QML thumbnail provider: make sure sourceSize (aka requestedSize) is
          respected by downscaling at loading time if necessary.
          Makes TN_SIZE_ORIGINAL case much faster.
          Fixes: #1391368
          Approved by: Jussi Pakkanen, PS Jenkins bot (e2d6bf0)
        * Keeps track of failed thumbnails and do not try to regenerate them.

          Fixes: #1389678 Approved by: Jussi Pakkanen, PS Jenkins
          bot (84f3e03)

2015-01-20 Florian Boucault

        * mark_failure: handle error case better (ea4f2f8)
        * Mark ThumbnailCache::has_failure as not returning any value.
          (560f0f9)
        * Mark ThumbnailCache::has_failure as noexcept (2c1b866)
        * Catch with const exception (0a82727)

2015-01-12 Florian Boucault

        * Support zero width/height (1842369)
        * QML thumbnail provider: make sure sourceSize (aka requestedSize) is
          respected by downscaling at loading time if necessary.
          Makes TN_SIZE_ORIGINAL case much faster. (70fa93b)
        * Keeps track of failed thumbnails and do not try to regenerate them.
          (5a6620a)

2015-01-06 CI Train Bot

        * Releasing 1.3+15.04.20150106-0ubuntu1 (cf01a58)

2015-01-06 Jussi Pakkanen

        * Fix a few potential memory corruptions.
          Fixes: #1403906 Approved
          by: James Henstridge (ea2e73a)

2015-01-05 Jussi Pakkanen

        * Else fix too, just for good measure. (24b0b7b)
        * Memory safety fixes. (60aed88)

2014-12-02 CI bot

        * Releasing 1.3+15.04.20141202-0ubuntu1 (bec081f)

2014-12-02 Alfonso Sanchez-Beato

        * [ Alfonso Sanchez-Beato ] Workaround for files with very few intra
          frames
          Fixes: #1393834 Approved by: Jussi Pakkanen
          (298b197)

2014-11-21 Alfonso Sanchez-Beato

        * [ Alfonso Sanchez-Beato ] Workaround for files with very few intra
          frames (a46e36d)

2014-11-06 CI bot

        * Releasing 1.3+15.04.20141106-0ubuntu1 (acded98)

2014-11-06 Jussi Pakkanen

        * Use videoflip to fix orientation.
          Fixes: 1191934 Approved by: James
          Henstridge, PS Jenkins bot (7dcb29e)
        * Fix memory leak. Approved by: James Henstridge, PS Jenkins bot
          (1916e06)

2014-11-05 CI bot

        * Releasing 1.3+15.04.20141105-0ubuntu1 (9e39da5)

2014-11-05 Ricardo Salveti de Araujo

        * Enabling exif thumbnails again, as we now got the proper fix at
          qtubuntu-camera (3c7b8f4)
        * Enabling exif thumbnails again, as we now got the proper fix at
          qtubuntu-camera (e7854b0)

2014-10-20 Jussi Pakkanen

        * Use videoflip to fix video orientation. (693c13a)

2014-10-02 CI bot

        * Releasing 1.3+14.10.20141002-0ubuntu1 (b2e4157)

2014-10-02 Jussi Pakkanen

        * Disable exif thumbnails temporarily to work around a regression.
          Approved by: Alejandro J. Cura (798155f)
        * Disable exif thumbnails to work around bug where camera produces
          images with incorrect aspect ratio in exif thumbnail.
          (e30a37f)

2014-09-29 Jussi Pakkanen

        * Fix memory leak. (64c0262)

2014-09-26 CI bot

        * Releasing 1.3+14.10.20140926-0ubuntu1 (042396f)

2014-09-26 Pete Woods

        * Aggregate the various MRs, with conflicts resolved Approved by: PS
          Jenkins bot (4d13607)
        * Just enumerate all the arches (b225f47)

2014-09-25 Pete Woods

        * The thumbnailer blacklist is arch-specific (10dd7bd)
        * Bump version (87d5379)
        * Clean up changelog (27fe888)
        * Add changelog notes (7157241)

2014-09-25 Pawel Stolowski

        * Added gsettings schema with API key used for accessing
          dash.ubuntu.com service. Pass the key with artist/album
          requests. (8c520ff)

2014-09-25 Jussi Pakkanen

        * Use exif thumbnail if one is available. (7afba50)
        * A few simple fixes for issues found compiling against libc++.
          (c765dd3)
        * Prevent apport from sending vs-thumb stacktraces. (5924c72)

2014-09-25 Pawel Stolowski

        * Install album_missing icon (taken from libunitycore package) with
          new thumbnailer-common package. (0b0999c)
        * Fix cmake install rule. (bea0c15)
        * Two more icon paths to fix, plus missing video icon added.
          (d4bc966)

2014-09-25 Jussi Pakkanen

        * Path fix as requested by James. (1cff034)

2014-09-25 Pawel Stolowski

        * Set multi-arch for the common pkg. (f61d948)
        * Updated changelog (d69ab2e)

2014-09-24 Pawel Stolowski

        * Create thumbnailer-common package with album_missing.png icon.
          (239df40)

2014-09-24 Jussi Pakkanen

        * Dirty path fixup. (194e738)
        * Added apport blacklist file for vs-thumb. (5ad8181)

2014-09-18 Jussi Pakkanen

        * A few fixes for libc++. (e2989ac)

2014-09-17 Pawel Stolowski

        * Use ASSERT_NE. (0854d9e)
        * Merged trunk (12e711c)
        * Added test for api key in the url. (2f78891)

2014-09-16 Pawel Stolowski

        * Bumped version. (9a99221)
        * Check if schema exists. (47339cd)

2014-09-16 Jussi Pakkanen

        * Add test for an image without embedded exif data. (09db4b5)

2014-09-16 Pawel Stolowski

        * Read and pass api key to the ubuntu server. (6b20b2a)
        * Fix schema. (b8bf1a6)
        * Added schema file. (5feb184)

2014-09-16 Jussi Pakkanen

        * Reorient thumbnail image according to orientation info in the
          source image. (9754d58)

2014-09-16 CI bot

        * Releasing 1.2+14.10.20140916-0ubuntu1 (77f8a41)

2014-09-16 Jussi Pakkanen

        * Clean up warnings as reported by gcc and shiny new clang. Approved
          by: Pete Woods, PS Jenkins bot (ab0514a)
        * Make a few classes more resistant to copying. Approved by: Pete
          Woods, PS Jenkins bot (820f376)

2014-09-15 Jussi Pakkanen

        * Warning cleanup. (70f3ebd)
        * And in the Qml plugin. (a2232e2)
        * Made cache more robust. (4042611)

2014-09-11 Jussi Pakkanen

        * Play around with file names so things work. (ead1f1c)

2014-09-10 Jussi Pakkanen

        * Extract exif thumbnail if it exists. (19294aa)

2014-09-04 CI bot

        * Releasing 1.2+14.10.20140904-0ubuntu1 (8b6c247)

2014-09-04 Jussi Pakkanen

        * Move embedded thumbnail extraction to a helper binary to avoid
          linking main library with gstreamer.
          Fixes: 1363314
          Approved by: James Henstridge (e4d7d85)

2014-09-03 Jussi Pakkanen

        * Sync trunk with distro release (7e34811)
        * Bring in changelog entries from manual revert uploads. (9550e67)
        * Move embedded thumbnail extraction out of process to a helper
          binary. (5f3b25c)

2014-09-01 CI bot

        * Releasing 1.2+14.10.20140901-0ubuntu1 (3a6bb0f)

2014-09-01 Pawel Stolowski

        * Changed requests image sizes to match sizes supported by the
          server. Approved by: James Henstridge, Jussi Pakkanen
          (91d9047)

2014-08-29 Pawel Stolowski

        * Updated changelog. (7c91e6a)
        * Merged trunk (4e7d634)

2014-08-27 CI bot

        * Releasing 1.2+14.10.20140827.1-0ubuntu1 (50c2023)

2014-08-27 Jussi Pakkanen

        * Link against thread library explicitly. Approved by: PS Jenkins
          bot, Rodney Dawes (c6e46e5)
        * Re-enable embedded album art. Approved by: Pete Woods, Pawel
          Stolowski (9f67315)

2014-08-20 Pawel Stolowski

        * Changed requested image sizes to ones better supported by the web
          service. (ac1b9c2)

2014-08-20 Jussi Pakkanen

        * Link against thread lib explicitly. (9e149c3)

2014-08-18 Jussi Pakkanen

        * Re-enable embedded album art now that GStreamer 0.10 is dead.
          (d4d76f9)

2014-08-14 CI bot

        * Releasing 1.2+14.10.20140814-0ubuntu1 (6d1719a)

2014-08-14 Jussi Pakkanen

        * Print log message when errors happen. Approved by: Jean-Baptiste
          Lallement (12b5c41)
        * Some logging. (6b55cfe)

2014-08-12 CI bot

        * Releasing 1.2+14.10.20140812-0ubuntu1 (6374fa7)

2014-08-12 Pawel Stolowski

        * Use Ubuntu webservice for album art and provide artist art API.
          (01e4f96)
        * Merged trunk (e3d732a)
        * Bumped version (4702ee6)
        * Merfed devel. (e6c5625)

2014-08-11 CI bot

        * Releasing 1.1+14.10.20140811-0ubuntu1 (ec6d437)
        * Replaced 0replaceme with real versions. (f8764f7)

2014-08-11 Pawel Stolowski

        * Request images of size 400 instead of 200 from ubuntu server.
          Approved by: Michal Hruby (72d1231)

2014-08-11 Jussi Pakkanen

        * Work with file names with non-european characters by not writing
          metadata chunks when they can't be represented in
          ISO-8859-1.
          Fixes: 1319698 Approved by: Arthur Mello, PS
          Jenkins bot (814afe3)

2014-08-11 Łukasz 'sil2100' Zemczak

        * Merge in direct upload of 1.1+14.04.20140401.1-0ubuntu3 (a1f9d93)

2014-08-11 Jussi Pakkanen

        * Grab changelog info from upload that went past CI train. (8910422)

2014-08-07 Pawel Stolowski

        * Doubled requested image size from 200 to 400 (7ea1f62)
        * Fix try - catch one more time. (44fce3a)
        * Fixed try - catch braces. (844a57e)
        * Fixed symbols file. (e831c09)

2014-08-06 Pawel Stolowski

        * Changed requested image size for ubuntu server. (a76db4a)
        * Updated symbols. (6c10039)
        * Use a known working artist/album for ubuntuserver test tool.
          (eaf152c)

2014-08-04 Pawel Stolowski

        * Enhanced QML test with artist art fetching. (fadd24e)
        * Added tests for artist art. (a2cf67a)

2014-08-01 Pawel Stolowski

        * Reduce code duplication. (07dba6a)
        * More complete impl. (bb10d4f)
        * Take artist and album when getting artist art. (61022e4)
        * Moved out duplicated code from the art/album generators in the
          plugin into helper functions. (e6c2ecb)
        * Added ArtistArtGenerator. (d3e1fad)
        * More complete impl. (5ed0e40)

2014-07-31 Pawel Stolowski

        * Implemented download_artist for ubuntu server downloader. (c99cf57)
        * Added abstract class for the downloader. Added downloader for
          ubuntu server. (65fb531)

2014-06-03 Jussi Pakkanen

        * Work around PNG requirement that text chunks must be representable
          in ISO-8859-1. (60a83dd)

2014-06-02 Arthur Mello

        * Add test to handle files with chinese text as name (90ce668)

2014-05-14 James Henstridge

        * Remove unneeded global var. (14be4ec)
        * Return an null image object rather than the fallback image.  This
          lets applications detect the failure and provide their own
          fallback. (d741ade)

2014-04-29 Ricardo Salveti de Araujo

        * releasing package thumbnailer version 1.1+14.04.20140401.1-0ubuntu2
          (120fd97)

2014-04-01 CI bot

        * Releasing 1.1+14.04.20140401.1-0ubuntu1 (0b04f3d)

2014-04-01 Michal Hruby

        * Provide virtual thumbnailer package. (7b67ef1)
        * Provide virtual thumbnailer package (12a20c6)

2014-03-31 CI bot

        * Releasing 1.1+14.04.20140331-0ubuntu1 (d818e47)

2014-03-31 Jussi Pakkanen

        * Add a D-Bus service that uses libthumbnailer to download cover art
          and then provides that art to the client via a read only
          file descriptor.  This allows confined applications to
          safely access a shared media art cache.
          Fixes: 1262711
          (4130299)

2014-03-28 James Henstridge

        * Other fixes from Jussi's review comments. (a489145)
        * Add a note to the D-Bus interface definition file warning about
          security considerations when adding new methods to the
          service. (13400e1)
        * Add a test for the image provider.  Not currently hooked up as an
          automated test, since it can't run headless. (59554f7)
        * Merge lp:~jpakkane/thumbnailer/lastfmtest (bd1b325)
        * Merge from trunk, fixing conflicts. (1856ea9)
        * Register a bogus type so the QML module can be imported. (3c10977)
        * Add packaging for thumbnailer QML plugin. (4642a69)
        * Copy over the libthumbnailer QML image providers over from
          ubuntu-ui-toolkit. (00b2302)

2014-03-27 CI bot

        * Releasing 1.0+14.04.20140327-0ubuntu1 (0539c66)

2014-03-27 Jussi Pakkanen

        * Obey the TMPDIR.
          Fixes: 1296987 (3ba9bf8)

2014-03-26 Jussi Pakkanen

        * Follow application confinement guidelines. (5271bd9)

2014-03-24 James Henstridge

        * Update per Jussi's review comments. (f55b704)

2014-03-24 Jussi Pakkanen

        * Override XDG_CACHE_DIR in MediaArtCache test. (d9b119d)

2014-03-24 James Henstridge

        * Fix up installation of service file. (2ec773e)
        * Add a package to hold the D-Bus service.  Set it to Multi-Arch:
          foreign, since the single D-Bus service should be usable
          by other architectures on a system. (148c65f)
        * Install a service file. (39d7f4f)
        * Add code for dbus thumbnailing service. (d9e1f3a)

2014-03-20 Jussi Pakkanen

        * Not completely fail at concurrency. (5ef937b)
        * Test thread safety of downloader. (c82622a)
        * Better. (da3b078)
        * Guard against utf8 normalisation changing string length. (04cee49)
        * Make sure there is room for terminator. (1abb67c)

2014-03-19 CI bot

        * Releasing 1.0+14.04.20140319-0ubuntu1 (8dc61c9)

2014-03-19 Jussi Pakkanen

        * Prevent crash if exif entry is null.
          Fixes: 1294274 (992cefe)
        * Doh. (a80acee)
        * Unlink tmp file. (21c3cc8)
        * Created fake server and added a test that uses it. (0a27665)
        * Test scaffolding for downloader. (5092676)
        * Factored downloading to its own class. (4e73f42)
        * More dense. (fc0d968)
        * Guard against null exif entry. (0b8e2e6)

2014-03-12 Jussi Pakkanen

        * Merged trunk. (2693ab5)

2014-03-10 Jussi Pakkanen

        * No longer need to override build type. (0b3b1f7)
        * Clean up temp files. (9e74aac)
        * Symbol fix. (58a88ca)
        * Bump version for new stuff and update deb packaging. (7d8484b)
        * Bring basic to new gtest era. (52f9bf0)
        * Unique_gobj now uses gtest. (712eace)
        * Enable MediaArtCache tests. (bb6a397)
        * Use downloader class in test app. (d102d44)
        * Moved lastfm downloader into its own class. (52dcbdd)
        * Moved MediaArtCache class into here. (59fc152)
        * Now with explicit gioness. (0dda620)
        * Merged visibility changes. (76c2ffe)

2014-03-07 CI bot

        * Releasing 1.0+14.04.20140307-0ubuntu1 (20a83b0)

2014-03-07 Jussi Pakkanen

        * Reorient images manually to work around a bug in GdkPixbuf.
          (f382619)
        * Added visibility info to prevent accidental ABI breakages.
          (94525a8)
        * Now with working symbol version file. (5fad349)
        * Experiments with symbol visibility map. (e3e63b9)

2014-03-06 Jussi Pakkanen

        * Even more visibility hiddenness. (df025c1)
        * Now with less visible symbols. (3ba1b27)

2014-03-05 Jussi Pakkanen

        * Add test for image reorientation. (954edb5)
        * Fix orientation manually. (2083c39)

2014-03-04 CI bot

        * Releasing 1.0+14.04.20140304-0ubuntu1 (ca1f896)

2014-03-04 Ugo Riboni

        * Add a new nonstandard thumbnail size (360) needed by gallery-app
          (2377bd5)

2014-03-04 Jussi Pakkanen

        * Fix image orientation. (a6540bc)
        * Error condition checking and error messages. (485fd32)

2014-02-25 Ugo Riboni

        * Remove mistakenly committed code from another branch that wasn't
          approved yet. (234e8c7)

2014-02-24 Ugo Riboni

        * Fix typo in comment (bbfcfc1)

2014-02-20 Ugo Riboni

        * Add tests for the xlarge size (d79538f)
        * Update the size of the xlarge thumbs as 512, the next logical
          progression (4e9423f)
        * Fix a bug in how the directory name is retrieved (88c4eca)
        * Merge changes from trunk (a6173a0)

2014-02-19 Ugo Riboni

        * Add one non-standard thumbnail size, needed by gallery-app
          (980a109)

2014-02-19 CI bot

        * Resync trunk (68f9df0)

2014-02-18 Ricardo Salveti de Araujo

        * vs-thumb: give pipeline at least 3 seconds to preroll. (39fce5f)

2014-02-18 CI bot

        * Releasing 1.0+14.04.20140218-0ubuntu1 (b1489f0)

2014-02-18 Ricardo Salveti de Araujo

        * vs-thumb: give pipeline at least 3 seconds to preroll (0d85d49)
        * vs-thumb: give pipeline at least 3 seconds to preroll (eb9f169)

2014-02-17 Jussi Pakkanen

        * Invalidate cached images when source has changed. (7ee7fae)
        * Fix image orientation. (2346492)

2014-02-14 Jussi Pakkanen

        * Error message. (e785dae)
        * Fallback and print error if duration check fails. (7ada007)

2014-02-12 Jussi Pakkanen

        * Invalidate cache if source has changed. (d15d752)

2014-02-11 Jussi Pakkanen

        * Removed accidentally added file. (75db877)
        * Removed accidentally added file. (1d167d9)

2013-12-10 Jussi Pakkanen

        * A bunch of fixes to make the project compile on precise. (74be018)
        * Hopefully the last fix for precise. (0580cc0)
        * Final mangling for precise. (71d3176)

2013-12-06 Jussi Pakkanen

        * Precise fix. (2c256e6)

2013-12-04 Jussi Pakkanen

        * Fix use of #includes.
          Fixes:
          https://bugs.launchpad.net/bugs/1237045. (3ed7d79)
        * Moved #ifdef to the top so it is before any #includes. (fe0ef75)
        * More explicitnessing. (3487e83)
        * Include direnct explicitly. (22ad932)

2013-11-08 Jussi Pakkanen

        * Typo fix. (b89c1c3)
        * Use the correct free. (82b14fb)
        * Use unique_gobj with soupsession. (b290338)
        * Rework API. (1b0c4f4)
        * Reorganised generator code. (107e0e1)
        * Merged trunk. (56f0327)

2013-11-04 Jussi Pakkanen

        * Created a unique_gobj class for managing gobject based resources.
          (7aae968)
        * Added implementations for get_deleters. (5f73c33)
        * Assure size of unique_gobj is the same as plain pointer. (0281f0a)
        * Added nullptr_t constructor. (03f0901)
        * Comment clarification. (76b1544)

2013-11-01 Jussi Pakkanen

        * Unique_gobj is final. (dd83ab5)
        * Made operator* not noexcept. (71ee166)
        * Made reset more standard compliant. (875a8c3)
        * Added deleter getters. (9cdb7a8)
        * Some noexcepts. (99bb55c)
        * Null test fix. (feba6ea)

2013-10-31 Jussi Pakkanen

        * Documented unique_gobj. (fd92604)
        * Tuning. (1922106)
        * Unique_ptring. (700e4b5)
        * Can read images from lastfm. (666db57)
        * Parse XML. (520fda8)
        * Pull data from lastfm. (0d6d83b)
        * Started downloader code. (7dbc3b9)

2013-10-29 Jussi Pakkanen

        * Use std::swap. (23934cd)
        * Some nullptring and noexcepting. (cd5bde1)
        * Get rid of unique_ptr and do management manually. (f379495)

2013-10-16 Jussi Pakkanen

        * Test nulls. (8d08bef)
        * Test that moves work. (a33bd2c)
        * Some more asserts. (3f1ab46)
        * Check that someone is not trying to add a floating gobject.
          (8443ada)

2013-10-14 Jussi Pakkanen

        * Test tweak. (4dcb596)
        * Test swap. (4e56481)

2013-10-11 Automatic PS uploader

        * Releasing 1.0+13.10.20131011-0ubuntu1 (revision 58 from
          lp:thumbnailer). (97ff917)

2013-10-11 Jussi Pakkanen

        * Check that refcount actually reduces. (353d3dc)
        * One last fix. (dfe28cb)
        * Some more fixes for issues raised by Michi. (983c378)
        * C++ fixes for issues found by Michi. (bc8af77)
        * Test that release works. (c6250db)
        * Start using unique_gobj. (d1f857b)
        * Renamed gobj_unique to unique_gobj. (9890455)
        * Equality test. (8ba16a0)
        * Implementation of unique_gobj. (4435606)

2013-10-11 Automatic PS uploader

        * Releasing 1.0+13.10.20131011-0ubuntu1, based on r58 (382f915)

2013-10-09 Jussi Pakkanen

        * Wait for child process to die when killing it with SIGKILL.
          (3c0c5fd)
        * Fix install directory of vs-thumb.
          Fixes:
          https://bugs.launchpad.net/bugs/1235325. (b63f499)
        * Install vs-thumb in the proper place. (d76ae2b)
        * Clear zombies. (4c6945b)

2013-10-08 Automatic PS uploader

        * Releasing 1.0+13.10.20131008-0ubuntu1 (revision 55 from
          lp:thumbnailer). (8bae5df)
        * Releasing 1.0+13.10.20131008-0ubuntu1, based on r55 (84ee1fa)

2013-10-08 Jussi Pakkanen

        * Disable use of in-process GStreamer because we use 1.0, which
          clashes with 0.10.
          Fixes:
          https://bugs.launchpad.net/bugs/1235484. (b0167a9)
        * Documented reason why audio was disabled. (35f929b)
        * Temporarily disable all parts that use GStreamer 1.0 in-process as
          those caused a clash. (f4b629d)
        * Fix off by one error.
          Fixes:
          https://bugs.launchpad.net/bugs/1235444. (e9e647e)

2013-10-07 Jussi Pakkanen

        * Fix off by one error. (14e8c43)

2013-10-07 Automatic PS uploader

        * Releasing 1.0+13.10.20131007-0ubuntu1 (revision 52 from
          lp:thumbnailer). (6effb76)
        * Releasing 1.0+13.10.20131007-0ubuntu1, based on r52 (946336b)

2013-10-04 Jussi Pakkanen

        * Document the public interface. (ad3f306)
        * Clarification. (a81aadd)
        * Documentation improvement. (e4966ca)
        * Guard against a frozen worker process. (e1cf7d8)
        * Cleanup leftover temp file. (45ae256)
        * Increase time vs-thumb is allowed to run. (0008c9f)
        * Guard against a frozen worker process. (9d22507)

2013-10-03 Jussi Pakkanen

        * Write files into cache atomically. (0e3b51a)
        * Write files to cache atomically. (c11ff9c)

2013-10-03 Automatic PS uploader

        * Releasing 1.0+13.10.20131003-0ubuntu1 (revision 48 from
          lp:thumbnailer). (35c31f0)
        * Releasing 1.0+13.10.20131003-0ubuntu1, based on r48 (21664c2)

2013-10-02 Jussi Pakkanen

        * Adds support for full resolution thumbnails. (fc412d0)
        * Path fix. (c78ca29)
        * Check that full res images are not cached but the original is
          returned instead. Also fix code so said test passes.
          (5d8997a)
        * Error to stderr. (0c8c3c4)
        * Final tests and packaging changes for full sized thumbnails.
          (2152edb)
        * Cleanup. (2077ab5)
        * Store full size images. (63da779)
        * One more refactoring. (4ef839c)
        * Refactoring. (b93ec16)
        * Start work on full size image support. (aeef26c)

2013-10-02 Automatic PS uploader

        * Releasing 1.0+13.10.20131002-0ubuntu1 (revision 43 from
          lp:thumbnailer). (18498cf)

2013-10-02 Jussi Pakkanen

        * Use helper binary from build dir when running tests. (c430cb8)
        * Get helper path from config.h. (66ef634)
        * Run gstreamer video pipelines in an external process. (7f7e30a)

2013-10-02 Automatic PS uploader

        * Releasing 1.0+13.10.20131002-0ubuntu1, based on r43 (3b22575)

2013-09-30 Łukasz 'sil2100' Zemczak

        * Packaging review (ea3217c)
        * Merge in trunk (c3e325e)

2013-09-30 Jussi Pakkanen

        * Typo fix. (b1c0f37)

2013-09-30 Łukasz 'sil2100' Zemczak

        * Packaging review (517ea3b)

2013-09-30 Jussi Pakkanen

        * Renamed GStreamer deps. (0a25d73)
        * Added coverage support for great Jenkins justice. (851f455)
        * Added test for video. (f9c3171)

2013-09-27 Jussi Pakkanen

        * Store data required by the thumbnail spec into png metadata fields.
          (ffc3746)
        * Prune old files from cache if it gets too large. (52fa8d4)
        * Test that stale image deletion works. (af2687f)
        * Delete stale files from cache. (e41f886)
        * Changed license to LGPL3. (0ffd5c0)
        * Added cache clearing functionality. (db999e5)
        * Guard even more against malformation. (003c415)
        * Use either global or app-local cache directory based on write
          access permissions. (0a1d015)

2013-09-26 Jussi Pakkanen

        * Better error messages. (20ea7e1)
        * Made public class C++03 compatible. (cf48f84)
        * Removed final specifier from public header so it works with C++
          earlier than 0x. (c2754bf)
        * Gdk-pixbuf fix from James. (68ab6aa)

2013-09-25 Jussi Pakkanen

        * Package renaming. (e7fcba5)
        * A few fixes. (00f6846)
        * Added gstreamer plugins to deps. (559cda0)
        * Added few missing includes. (1d47360)
        * Added Debian packaging. (70b2396)

2013-09-23 Jussi Pakkanen

        * Install headers and pc file. (124001f)
        * Set shared library version and install things. (20d35d7)
        * Added some tests. (96faaac)
        * Now can extract and store thumbnails of pictures, videos and audio
          files. (d082e37)
        * Getting there. (78c78ea)
        * Initialize thumbnail cache. (0363f3b)
        * Renamed enum. (ed690fd)
        * Build file names and dirs. (869be52)
        * Work on thumbnail cache. (22ac768)
        * Made all classes final. (bc3ec06)
        * Can haz scaled images. (a7dc781)
        * Check against conversion failure. (b900989)
        * Specify file name from the outside. (eaaa110)
        * Can grab screenshots from videos. (21bae8a)
        * Simple dumper app. (6cd49c1)
        * Write thumbnail into a temp file. (9e1617d)
        * Added code to extract thumbnails from audio files. (9365bf3)

2013-09-20 Jussi Pakkanen

        * Skeleton for image scaler. (8902fb2)
        * Skeleton for video screenshot taker. (0860fe9)
        * Skeleton for audio extractor. (3a039c1)
        * Start project with skeleton. (38a68b2)
