2024-08-19 Mike Gabriel

        * Release 0.1.8 (HEAD -> main, tag: 0.1.8)
        * Merge branch 'fix/pkg-config-includedir' into 'main' (2a9082f)

2024-08-19 OPNA2608

        * debian/control: Add xauth so xvfb tests can pass (85a78f6)

2024-08-18 OPNA2608

        * debian/control: Drop qt5-default (6f1953d)

2024-04-12 OPNA2608

        * Fix pkg-config file's includedir variable (ddafbfa)

2023-06-12 Mike Gabriel

        * Merge branch 'personal/gberh/doc-cleanup' into 'main' (dd8027d)

2023-06-06 Guido Berhoerster

        * Add missing qdoc module documentation for U1db (61e4f56)
        * Use consistent qdoc module names (7446737)

2023-03-21 Guido Berhoerster

        * Remove sed hack to inject stylesheet (e045d1e)
        * Remove broken URL and index file from qdoc configuration (88f09e0)
        * Correct URL to examples (1265d51)
        * Remove Google fonts usage in HTML documentation (ac1653e)
        * Rename Ubuntu to Lomiri (e0ba1b3)

2023-03-20 Guido Berhoerster

        * Remove non-existent example 4 (5c83cda)
        * Remove copied documentation contents from example 6 (662f58e)
        * Replace obsolete qdoc markup (46c1679)
        * Fix documentation installation path (dcc8a55)

2023-02-04 Mike Gabriel

        * Release 0.1.7 (5584f7f) (tag: 0.1.7)

2023-01-19 Guido Berhoerster

        * Merge branch 'personal/sunweaver/prepare-0.1.7-release' into 'main'
          (b0563a5)

2023-01-19 Mike Gabriel

        * CMake: Add ENABLE_WERROR boolean build option. (4f47947)
        * d/changelog: Add 0.1.7 pre-release stanza. (3a03edc)
        * CMakeLists.txt: Set (next) upstream version in project() macro.
          (73023a3)
        * CMake: Bump mininum version requirement to 3.5 (a84f744)
        * gallery/u1db-qt-gallery.desktop: Drop deprecated Encoding= key.
          (1303a8f)

2021-07-30 Dalton Durst

        * Merge branch 'ubports/focal_-_build' into 'main' (507a5bf)

2021-06-03 Rodney Dawes

        * Rename the qml module package to modern convention. (983b152)
        * Remove the licensecheck script and test. (246339a)
        * Update build dependency for Lomiri renaming. (bf5fe68)
        * Migrate obsolete bzr config to git. (9ae3a74)
        * Move Jenkinsfile to debian directory. (9777fd8)

2020-12-17 Florian Leeber

        * Merge pull request #3 from ubports/xenial_-_qt-5-12 (b9f6d9e)

2020-12-17 Rodney Dawes

        * Update Jenkinsfile (e764bc1)

2020-08-26 Rodney Dawes

        * Skip bad tests and set XDG_DATA_HOME for qml tests (bcd0e4f)
        * Don't fail on qdoc.err existing (527bfce)

2020-08-25 Rodney Dawes

        * Clean up QML module dependencies (869d825)

2020-10-08 Marius Gripsgard

        * Fix deprecated use of QByteArray::append(const QString &str) (#1)
          (feb494e)

2018-04-16 Marius Gripsgard

        * Imported to UBports (8dd87b9)

2015-08-26 CI Train Bot

        * Releasing 0.1.5+15.10.20150826.1-0ubuntu1 (2a665f3)

2015-08-26 Marco Trevisan (Treviño)

        * Query: allow adding more than one result for each doc, allowing
          indexing subfields of objects in a list (73601f1)
        * Document: ensure defaults and contents are set when database path
          changes
          Fixes: #1426178 Approved by: PS Jenkins bot,
          Christian Dywan (4a86ed7)
        * Database: support parsing of URI paths using something such as
          "file://"+ path
          Fixes: #1426180 Approved by: PS Jenkins
          bot, Christian Dywan (cf28770)

2015-08-26 Christian Dywan

        * Mention BUILD_DOC flag in HACKING file Approved by: Nekhelesh
          Ramananthan, PS Jenkins bot (9910d64)
        * Add new advanced-game example Approved by: PS Jenkins bot,
          Christian Dywan (46367df)

2015-03-27 CI Train Bot

        * Releasing 0.1.5+15.04.20150327-0ubuntu1 (58c5918)

2015-03-27 Christian Dywan

        * Port qdoc syntax to QML annotations
          Fixes: #1277601 Approved by: PS
          Jenkins bot, Marco Trevisan (Treviño) (b956350)

2015-03-24 Christian Dywan

        * Clarify path behavior documentation (bf91710)

2015-03-06 Marco Trevisan (Treviño)

        * Index: ensure we've the index set on db when path changes (c30ade7)
        * Example7: fix indentation (8f56fc9)
        * Query: allow adding more than one result for each doc, allowing
          indexing subfields of objects in a list (a55f68f)
        * TestDatabase: verify indexing subfields of objects in a list
          (9bad27a)
        * examples: add example for indexing subfields of objects in a list
          (bfacc85)

2015-03-05 Marco Trevisan (Treviño)

        * Database: make sure that setting an empty path, moves the db to
          memory (1a03297)
        * Database: keep the ":memory:" special path saved in
          Database::MEMORY_PATH (3469694)
        * TestDatabase: open temporary files, to actually create paths
          (4fd39b9)
        * Database: don't change the internal m_path value when sanitizing,
          just keep the user value (81e8778)

2015-03-02 Marco Trevisan (Treviño)

        * Fix tests (69c9676)
        * Examples: use Qt.resolvedUrl to open databases (4b2315d)
        * Document: put current contents on database when path changes and
          new one is empty (8b79277)
        * Document: ensure defaults are set when database path changes
          (61fd82c)

2015-02-28 Marco Trevisan (Treviño)

        * Database: support parsing of URI paths using something such as
          "file://"+ path (2af9f37)

2015-02-20 CI Train Bot

        * Releasing 0.1.5+15.04.20150220-0ubuntu1 (547b8b3)

2015-02-20 Albert Astals Cid

        * Make tests pass with Qt 5.4
          Fixes: #1423473 Approved by: PS Jenkins
          bot, Christian Dywan (4ed66de)

2015-02-19 Albert Astals Cid

        * Make it work with Qt 5.4 (5f12594)

2014-11-14 Christian Dywan

        * C++ documentation for everyone (59a9110)
        * Drop unnecessary include statements (bf990bf)
        * C++ documentation for Database (7ab1e20)

2014-11-13 Christian Dywan

        * Merge lp:u1db-qt (955abf1)

2014-11-11 CI bot

        * Releasing 0.1.5+15.04.20141111~rtm-0ubuntu1 (61a1bf1)

2014-11-11 Christian Dywan

        * Create parent folder for full database path
          Fixes: 1390166 Approved
          by: PS Jenkins bot, Michał Karnicki (e9a62cc)

2014-11-07 Christian Dywan

        * Create parent folder for full database path (69c8853)
        * Split up C++ Database test cases (5f29bdd)
        * Enable stdout for test-database in addition to XML (0f14e45)

2014-08-25 Nekhelesh Ramananthan

        * some small fixes (e2b2559)
        * Updated game to use latest sdk version (074974e)

2014-07-16 CI bot

        * Releasing 0.1.5+14.10.20140716-0ubuntu1 (f6daaee)

2014-07-16 Pete Woods

        * Improve database init performance by adding transactions Approved
          by: PS Jenkins bot, Christian Dywan (32d41f1)

2014-07-16 Timo Jyrinki

        * (sync with archive) No-change rebuild for shlib changes in qtbase
          and qtdeclarative. (ac60a38)

2014-07-09 Pete Woods

        * Formatting (e5deb3c)
        * Manage transactions with ScopedTransaction class, batch inserts
          (7f3a3de)
        * Add transaction inside putDoc (6b5bb56)
        * Add transaction around schema initialization (d1fbd80)

2014-03-14 Timo Jyrinki

        * Sync changelog for this special case that got manually uploaded
          after the CI Train build. (22ce0b8)

2014-03-14 Christian Dywan

        * Revert r113 and update unit test to verify previous behavior
          (01a4911)

2014-03-13 Christian Dywan

        * Revert r113 and update unit test to verify previous behavior
          (eb0bc98)

2014-03-10 Christian Dywan

        * Mention apt-get build-dep for installing dependencies (ff3f5b4)
        * Reverse query logic to check non-matching and internally convert
          between query syntaxes.
          Fixes:
          https://bugs.launchpad.net/bugs/1214538,
          https://bugs.launchpad.net/bugs/1215898,
          https://bugs.launchpad.net/bugs/1284194. (43900ef)

2014-03-07 Christian Dywan

        * Convert between query syntaxes in generateQueryResults (04e9ed1)
        * Add copyright headers to advanced game files (da00d72)
        * Add new advanced-game example (154c31c)

2014-03-05 Christian Dywan

        * Explicitly verify different query syntaxes and log expected
          failures (14a6ac3)

2014-03-03 Christian Dywan

        * Add document to fully reproduce the one/two fields issue (d09d3b2)
        * Reverse query logic to check for non-matching (a1bc601)
        * Merge lp:~kalikiana/u1db-qt/ordering (71c412d)
        * Merge lp:u1db-qt (29cb6c7)
        * Store whole document contents in the results and unit test that.

          Fixes: https://bugs.launchpad.net/bugs/1271973. (9343c15)

2014-02-28 Christian Dywan

        * Port qdoc syntax to QML annotations (48d25b7)

2014-02-24 Christian Dywan

        * Add wonderious fields test case that ignores the query (3d5ee88)
        * Merge lp:u1db-qt (fb660f9)
        * Increase consistency in the whole file (03e8a62)

2014-02-19 Christian Dywan

        * Merge lp:u1db-qt (b136a6a)

2014-02-18 Christian Dywan

        * Query improvements and more advanced example.
          Fixes:
          https://bugs.launchpad.net/bugs/1266478,
          https://bugs.launchpad.net/bugs/1271972,
          https://bugs.launchpad.net/bugs/1271977. (5ddf898)

2014-02-17 Christian Dywan

        * Use new-style qmlrunner log option to enable stdout. (d42cd47)
        * Use deleteDoc to delete document from the bookmarks example
          (02e1807)
        * Merge lp:u1db-qt (fda6b03)
        * Fix glob for installing all examples (80fed24)
        * Implement Database.removeDoc method and use it in unit test
          (4537c05)
        * Sort out build warnings and make them always fatal. (158a4f8)
        * Mention declarative test plugin package in HACKING (e23510f)
        * Change cmake stanza to a better one (9559eb3)
        * Mention branch and dependencies in HACKING (dfdaa1c)

2014-02-07 Christian Dywan

        * Mention BUILD_DOC flag in HACKING file (38afc73)

2014-02-06 Christian Dywan

        * Add unit tests for top level fields and list in hash (587fc11)
        * Override built-in compare to resolve matching and JSON output
          (8297863)

2014-01-31 Christian Dywan

        * Replace example 4 with a bookmarks sample with several query styles
          (156c6df)
        * Handle string list in index and query (631099f)
        * Check for original field to avoid ".foo" as the field (bc261eb)

2014-01-24 Christian Dywan

        * Merge lp:u1db-qt (476f4dc)
        * Store whole document contents in the results and unit test that
          (1839422)
        * Rename removeDoc to deleteDoc (40f1ddc)
        * Merge lp:u1db-qt (f649f45)
        * Merge lp:u1db-qt (f0da1d9)

2014-01-23 Christian Dywan

        * Adopt xvfb.sh script from ui toolkit to run tests (a22446a)

2014-01-22 Christian Dywan

        * Invoke xvfb.sh via sh (4bf3b40)
        * Add xvfb and libgl1-mesa-dri build deps (cca7fa5)
        * Adopt xvfb.sh script from ui toolkit to run tests (399d666)

2013-11-25 Christian Dywan

        * Fallback targetDb to NULL to ensure it's always initialized
          (95b3f90)

2013-11-22 Christian Dywan

        * Make build warnings always fatal (d962bba)
        * Swap private variables in Synchronizer to match constructor
          (b7566f6)
        * Drop unused increaseVectorClockRev (c6dc229)
        * Implement Database.removeDoc method and use it in unit test
          (e57aa9c)

2013-09-16 Automatic PS uploader

        * Releasing 0.1.5+13.10.20130916-0ubuntu1 (revision 106 from
          lp:u1db-qt). (08f5ad6)
        * Releasing 0.1.5+13.10.20130916-0ubuntu1, based on r106 (b72d079)

2013-09-06 Christian Dywan

        * Update developer website URL.
          Fixes:
          https://bugs.launchpad.net/bugs/1209372. (1c51de1)
        * Add devel to developer website URL (a00b87e)

2013-09-04 Christian Dywan

        * Unit test query bugs related to the ordering of fields (7b4f07d)
        * Use new-style qmlrunner log option to enable stdout (5fa2b67)

2013-08-27 Automatic PS uploader

        * Releasing 0.1.5+13.10.20130827-0ubuntu1 (revision 104 from
          lp:u1db-qt). (77bc257)
        * Releasing 0.1.5+13.10.20130827-0ubuntu1, based on r104 (4edd93d)

2013-08-27 Christian Dywan

        * Always omit deleted/ empty Query results and update tests.
          Fixes:
          https://bugs.launchpad.net/bugs/1213013. (1fcfa92)
        * Always omit deleted/ empty Query results and update tests (2352fad)
        * Update developer website URL (28de61d)

2013-08-21 Automatic PS uploader

        * Releasing 0.1.5+13.10.20130821.1-0ubuntu1 (revision 102 from
          lp:u1db-qt). (63752df)
        * Releasing 0.1.5+13.10.20130821.1-0ubuntu1, based on r102 (6daed93)

2013-08-21 Christian Dywan

        * Use QStandardPaths to find a good path for relative filenames.

          Fixes: https://bugs.launchpad.net/bugs/1206935. (9b70a65)

2013-08-14 Automatic PS uploader

        * Releasing 0.1.5+13.10.20130814.1-0ubuntu1 (revision 100 from
          lp:u1db-qt). (d49e363)
        * Releasing 0.1.5+13.10.20130814.1-0ubuntu1, based on r100 (b3e7862)

2013-08-14 Christian Dywan

        * Use QStandardPaths to find a good path for relative filenames
          (7e1547e)

2013-08-14 Kevin Wright

        * This branch merges the latest trunk with the code for
          synchronization of databases.
          Fixes:
          https://bugs.launchpad.net/bugs/1184628. (c3bdca0)

2013-08-12 Kevin Wright

        * Fixed one test to remove a warning. (efe7d58)
        * Modified tests. In one instance a query property was missing from a
          Query element (in tst_query.qml), and in another occurance
          the test needed to be updated to reflect a different
          return value (in test_database.qml). (298fd7e)
        * Fixed qdoc warnings. (14cd7e1)

2013-08-09 Kevin Wright

        * Changed qdoc markup class to qmlclass in synchronizer.cpp.
          (30e6d18)
        * Modified database.cpp to fix a small bug re: setError. (1446a59)
        * Modified database.cpp so that all query.exec() statements are
          covered by setError. Unfortunately setSerror cannot be the
          return value in some places, because the method is void or
          something other than a string. (7fed594)
        * Modified database.cpp so that all query.exec() statements have
          either qDebug output of the error message, or are covered
          by setError. Eventually error handling should be more
          consistant, and perhaps utilize the same mechanism as
          sync_output in the Synchronizer class. Some functions in
          Database are used side by side with other functions in
          Synchronizer, so perhaps this is a wise idea where
          applicable. (2e9c454)
        * Modified several source files to fix warnings from qdoc. (6f5188b)
        * Modified 'errors'. Changed to 'sync_output' (since not everything
          was an error); changed from QString to QVariantMap that
          includes more meta-data; and created more generic output
          descriptions (i.e. removed most hard data and placed into
          meta-data instead). This approach is still primarily
          intented as a mechanism for application developers to
          troubleshoot (or simply keep themselves/users informed of
          background activity), but can be utilized within the
          plugin itself as well (e.g. log files, console output). It
          does not presently include error codes (where appropriate)
          but should, and additionally it needs to be documented so
          people can take advantage of it and use it properly. The
          example u1db-qt-example-6.qml uses it as of this commit,
          but is only applying the output message and not any of the
          meta-data. (19a3b3f)

2013-08-08 Kevin Wright

        * Added 'U1Db-Qt v1.0' to the raw header information sent to the
          server. (d67e417)
        * Updated code comments in src/synchronizer.cpp to be more
          descriptive with respect to the instructions for how to
          use the plugin with the python implementation (the server
          part to be specific). (56a0af1)
        * Removed an unecessary code from src/synchronizer.cpp, and updated
          putDoc in src/database.cpp to return QString instead of
          int. (790c15c)
        * Removed an unecessary function call and code comment from
          src/database.cpp. (19e7149)
        * Removed some additional unecessary code comments. (9ed3ea9)
        * Removed some unecessary code comments. (16dfdcd)
        * Fixed an error in src/synchronizer.cpp where the plugin would not
          build because Synchronizer::source was not initialized.
          (edcb887)
        * Removed some debug output from src/synchronizer.cpp. (ea3a591)
        * More edits to merge synchronization changes with trunk. (87310f8)
        * Merged synchronization changes with trunk. (fe96b68)

2013-08-07 Kevin Wright

        * Fixed u1db-qt-example-6.qml to better refelect the latest sync
          related code. The example works with the python server of
          u1db itself. Some basic instructions were added to the
          code comments of synchronizer.cpp. (c9e389d)
        * As of this commit the basic two way synchronization between a local
          source database and a remote target database is working,
          to a minimal, but less than perfect degree. Some of the
          meta data that would normally be used in a sync
          transaction is not yet being utilized properly, or updated
          properly at the end of the transaction. However, the
          post/get functionality is now doing more or less as it
          should, and the function of updating the document contents
          on either end of the transation is working (but work
          remains to ensure it is being done accurately -- probably
          partly tied into the meta-data issue mentioned earlier).
          Some good effort has been made to add appropriate code
          commenting / qdoc markup that explains things in detail,
          but has not been run through qdoc or proof read to ensure
          it is up to date or follows a logical flow in any way.
          Most changes are in the code for Synchronizer itself, but
          some modification to Database is also included in this
          commit. (455e69a)

2013-08-07 Automatic PS uploader

        * Releasing 0.1.5+13.10.20130807-0ubuntu1 (revision 98 from
          lp:u1db-qt). (b399b8d)
        * Releasing 0.1.5+13.10.20130807-0ubuntu1, based on r98 (efe153f)

2013-08-01 Timo Jyrinki

        * Rename the QML plugin to qtdeclarative5-u1db1.0 according to the
          new convention. Tweak short descriptions a bit. (b6ff6ba)
        * Rename the QML plugin to qtdeclarative5-u1db1.0 according to the
          new convention. Tweak short descriptions a bit. (2b78656)

2013-07-31 Timo Jyrinki

        * Split QML plugin, install into multi-arch directories. (715c0c8)
        * Split QML plugin, install into multi-arch directories. (1fbd364)
        * Fix license (non-"later"), remove redundant debian/* section,
          remove non-needed rules lines, add blank lines to the
          changelog. (cb45bea)
        * Fix license (non-"later"), remove redundant debian/* section,
          remove non-needed rules lines, add blank lines to the
          changelog. (077773f)

2013-07-30 Timo Jyrinki

        * Bootstrap, fix debian/copyright, run wrap-and-sort -a -t. (e918cc5)
        * Bootstrap, fix debian/copyright, run wrap-and-sort -a -t (c582717)

2013-07-30 Christian Dywan

        * Resolve missing copyright and license details.
          Fixes:
          https://bugs.launchpad.net/bugs/1195299. (c9b2727)

2013-07-29 Christian Dywan

        * Don't check licenses of generated files in CMakeFiles (b12ca65)
        * Check licenses of sh files and add license to qmltestrunner wrapper
          (35f87bb)
        * Add checklicense.sh test and add licenses to CSS files and python
          wrapper (10903e5)
        * Debian packaging tweaks according to
          https://wiki.ubuntu.com/DailyRelease/InlinePackaging.

          Fixes: https://bugs.launchpad.net/bugs/1195299. (242e458)
        * Drop debian/source/format file (644026a)
        * Change to downstream version, quilt and "split" package (dd91159)
        * Make debian/copyright not look like a template (943bccf)
        * Resolve lintian complaints about debian/control (a4b0788)
        * Don't exceed 80 columns in debian/changelog (15d4263)

2013-07-18 Christian Dywan

        * Empty commit (60d01fe)

2013-07-17 Christian Dywan

        * Empty commit (714bfc8)
        * Empty commit (5fb53f8)

2013-07-16 Christian Dywan

        * Empty commit (42aec1a)
        * Uncomment unreliable unicode warning test (7c45e29)

2013-07-04 Kevin Wright

        * This commit continues the work to support the second stage of a
          local to remote sync transaction, where the client (aka
          source) begins sharing information about new data since
          the previous sync between the two databases (if any
          previous transaction occured). The post is sending
          complete data as of this commit, but the server is still
          replying with a bad request error. On the surface
          everything appears to comply with the high level
          architecture documentation, but something is obviously
          still incorrect. (bf9109e)
        * This commit continues the work to support the second stage of a
          local to remote sync transaction, where the client (aka
          source) begins sharing information about new data since
          the previous sync between the two databases (if any
          previous transaction occured). The code now is up to the
          point of initiating the post to the remote server, but at
          this time is showing bad request errors. The post is not
          sending complete data at this time, which may be the
          reason for the bad request error. (a4a63e7)
        * Added the initial steps for sync with a remote database. There are
          several steps in the archtitecure for remote sync, whereby
          the server and client communicate information between each
          other (e.g. previous sync transations, new data). This
          commit consists of the first step, where the client
          initiates the sync transaction and the server responds
          with known information about previous syncs if any. Also
          in this commit is the first roughed in code for the second
          stage of a sync transaction, where the client (aka source)
          begins sharing information about new data since the
          previous sync between the two databases (if any previous
          transaction occured). (e68160e)

2013-07-01 Christian Dywan

        * Debian packaging tweaks according to
          https://wiki.ubuntu.com/DailyRelease/InlinePackaging
          (93287b4)

2013-06-27 Kevin Wright

        * Fixed a regression relating to the active source Database for
          Synchronizer. In the function syncLocalToLocal is the
          ability to overide the main source database (the 'source'
          property) with another database when a query is defined
          within an individual 'target' definition (with the key
          'source_query'). (7845a89)

2013-06-26 Kevin Wright

        * Migrated getSyncLogInfoFromLocalDb function from Synchronizer class
          to Database class, and renamed getSyncLogInfo. Previously
          this class used the path of a database file rather than an
          instance of an active Database class' database connection.
          With the function now hosted by the Database class itself
          the path of the file and opening of the database
          connection within the scope of the function is no longer
          required (i.e. the class' active database connection is
          used instead). This function is used by the Synchronizer
          class' getLastSyncInformation function to retrieve data
          from the source and target databases. The data represents
          information that one database has about the other the last
          time they synced (if ever). (d10023d)
        * Migrated listTransactionsSince function from Syncrhonizer class to
          Database class. Previously this class used the path of a
          database file rather than an instance of an active
          Database class' database connection. With the function now
          hosted by the Database class itself the path of the file
          and opening of the database connection within the scope of
          the function is no longer required (i.e. the class' active
          database connection is used instead). (437564d)

2013-06-19 Kevin Wright

        * Modified Query class so that it updates its model properly. Added
          support for passing Query types to Synchronizer (the Index
          and Database types are also supported and can be extracted
          from the Query object). (57531e6)

2013-06-18 Kevin Wright

        * A few light modifiactions only... (5fbffc0)
        * Synchronizer will now sync two databases that have never been
          synced before. (c75f11e)
        * With this commit the Synchronization class will sync two previously
          synced local databases. Still missing is the ability to
          sync two databases that have not been synced before, but
          this should be fixed in the next commit. Also missing is
          the functionality to update the sync log information in
          each database. That should be added to the next commit's
          features as well. (40af19b)
        * More modifications towards completing the functionality for local
          to local database synchronization. This commit adds the
          first ability to sync between two databases. The two
          databases are compared and new documents, or new
          modifications to existing documents, are added to one or
          the other of the target/source database. Missing from this
          commit is the updating of the doc_rev field in the
          document table. (69556c4)
        * Added functionality to generate a list of known transactions from a
          specific generation number, for a particular database.
          This is necessary for comparing new documents, updates to
          documents etc. since the last time two databases synched,
          or the first sync between the two. As of this commit the
          query is done directly on the database files rather than
          using an instance of the Database class. Since it is a
          read only activity it is not necessary to have a live
          instance of the Database class, and therefore it would be
          possible to work on databases that are not currently
          active in the application. (8ab2415)
        * Cleaned up some of the code and comments related to the changes for
          transactions within the Database class, as well as added
          some additional descriptive comments to ensure clarity.
          Those comments may be used with qdoc, but are not heavily
          marked up or optimised for that purpose. (fe6e02c)
        * Further modifications to Database class to ensure properly working
          transactions. With this commit it appears transaction_log
          table and sqlite_sequence table are updated as expected
          when a new transaction is commited. Transactions are
          created whenever a document is inserted or updated in the
          database. (3e2ff88)
        * Fixed Document class so that it more properly handles transactions
          and generation. (5cf3d60)

2013-06-17 Kevin Wright

        * More big changes for Synchronizer. Added a logging mechanism that
          allows the developer to have access to errors and other
          log messages accumulated during the sync procedure. Fixed
          a problem in Database where the document revision
          (doc_rev) was incorrect (it was hard coded to always be
          7???). The core local to local synchronization
          functionality is at the point where the target database is
          queried for the sync history with the source database. The
          next functionality to be added is to compare the known
          information from each database (sync history, new
          transactions) to determine what updates need to go into
          the source database as well as new documents. Following
          that conflict resolution and final re-sync (if needed). A
          great attempt has been made to try and match the logic of
          local to remote sync as best possible, so that when it
          comes time to add that functionality the delta will be
          minimal (and more code can be shared between the two
          approaches). Example 6 has been updated to include the
          logging functionality. (3a8d6dd)

2013-06-07 Kevin Wright

        * Heavily modified Synchronizer to use a list to define the database
          to sync (aka targets property). Each element in the list
          is a map, representing a database to sync -- on other
          words one source database can sync with multiple target
          databases in one sync session (one by one). Each map
          contains key and value pairs for various properties.
          Because the developer is free to create any key and value
          pair, and add any type for the value, checks are done to
          ensure that the minimal mandatory keys are present and
          that each value is the correct type. As of this commit no
          actual synchronizing is done for either local or remote
          targets. However, the functionality towards synchronizing
          with a local target has begun -- current up to the point
          of checking the existance of the local database file,
          attempting to open it and retrieve its uid. Manual testing
          of current functionality during development was
          accomplished using u1db-qt-example-6.qml under the
          examples folder. (3a1ef3d)

2013-05-16 Kevin Wright

        * Modified Synchronizer to support batch sync of remote and local
          targets. Split identification of local targets as Database
          elements (via each one's id property), and remote targets
          as QStrings representing their respective url -- both
          remote and local targets will be contained within QLists
          (remote_targets and local_targets), which can be set via
          the QML interface. (2c0ac7f)

2013-05-13 Christian Dywan

        * Add .index file for cross-linking to -doc package and set URL.
          (3e04993)
        * Follow up on ui-toolkit doc index rename (be3f7ac)
        * Depend on ubuntu-ui-toolkit-doc at build-time for cross-linking
          (5fa7d82)
        * Merge lp:u1db-qt (9496e8b)
        * Shuffle Index::setExpression to ensure Index is defined.
          Fixes:
          https://bugs.launchpad.net/bugs/1177357. (3780b30)

2013-05-10 Christian Dywan

        * Run query unit tests against a local filename (818757d)
        * Shuffle Index::setExpression to ensure Index is defined (cbfe8ee)

2013-05-10 Kevin Wright

        * Changed a few lines in Index::setExpression to fix a bug where an
          Index was not being pointed to as expected, and missed
          having itself defined properly. (5ff6a2b)

2013-05-03 Christian Dywan

        * Add qch file for QtCreator to -dev package. (09b637c)

2013-05-02 Christian Dywan

        * Configure 3 content pages shown in QtCreator (4454d0f)

2013-05-02 Kevin Wright

        * Modified u1db-qt-example-6 to better reflect the Schronizer element
          functionality. Added an extra ListView that is aligned
          with a second database. Included a button that modifies
          the Synchronizer's synchronize property to true when
          pressed. The Synchronizer's source is the first database,
          the target is the second and the resolver is the first,
          which means the target database will be updated with the
          content from the first after sync is initiated. (232ba65)

2013-05-02 Christian Dywan

        * Add qch file for QtCreator to -dev package (1dc7e5d)
        * Install qch documentation for QtCreator (d938ae1)

2013-05-02 Kevin Wright

        * Added u1db-qt-example-6 to reflect the Schronizer element. There is
          a qml example files and qdoc tutorial file. The latter
          still needs to be updated with the specific details of how
          to work with the Synchronizer element. (e182e9f)
        * Fixed some small errors in defining properties for Synchronizer as
          well as one error in the plugin file to support
          Synchronizer itself. (6a31872)

2013-05-02 Christian Dywan

        * Use MainView as root item in all examples. (0981a86)
        * Drop unused id and objectName uses in examples (cf8c79a)
        * Use MainView as root item in all examples (434cdc0)

2013-05-02 Kevin Wright

        * Committing skeleton of Synchronizer element's code. Synchronizer is
          intended to sync two databases -- a 'source' data base and
          a local or remote 'target' database. The initial aim is to
          design the Synchronizer element so that it supports
          synchronizing through changes in a small set of
          properties, rather than relying on the developer using the
          API to need to rely heavily on any procedural code.
          (2efb92a)

2013-05-01 Christian Dywan

        * Cross-link to Ubuntu Components in overview and tutorial (a297dc4)
        * Add .index file for cross-linking to -doc package and set URL
          (1f5de66)

2013-05-02 Christian Dywan

        * Warn only once on wrong query type and test cases. (ec913da)

2013-05-01 Christian Dywan

        * Add QtCreator Application templates and plugins.qmltypes to -dev
          package. (4b1b13f)
        * Warn only once on wrong query type and test cases (c7a36b8)
        * Split up custom commands and disable build during install (6a0d958)
        * Install generated plugins.qmltypes for QtCreator (e66a454)
        * Enable and fix number and defaults behavior. (451daff)

2013-04-30 Christian Dywan

        * Add QtCreator Application templates to -dev package (6583fb6)

2013-04-29 Christian Dywan

        * Emit warnings on unexpected types in query (d9ac73d)
        * Correct keyword query test definitions (cca4509)
        * Wrap qmltestrunner instead of a separate warning test case
          (cd4dd50)
        * Ensure connection isn't re-used and test expected warnings
          (dd9fc5b)
        * Numeric queries are fine (92efcc7)
        * The query default is equal to '*' (3d6b3a7)

2013-04-25 Christian Dywan

        * Introduce Query.documents property and add test cases. (33d999d)
        * Add missing qdoc comment for Query.documents (be3f12d)
        * Introduce Query.documents property and add test cases (f6f37b9)
        * Hide private Index and Query methods from the outside (61f5c82)

2013-04-24 Christian Dywan

        * Move enable_testing back to toplevel, otherwise it quietly does
          nothing. (e124900)
        * Move enable_testing back to toplevel, otherwise it quietly does
          nothing (cf07e93)

2013-04-23 Christian Dywan

        * Remove range property for now, it's not implemented. (b91b878)
        * Work-around to make build fail if qdoc warns (c5aeab5)
        * Mark up Javascript-only snippets as \code not \qml (0e50ddb)
        * Document Query::results property (a20bb6e)
        * Merge 'Initial ground work splitting off query tests' (1c22668)
        * Sort out documentation of signals and properties (83f4021)
        * Remove dataIndexed and documentsAvailable signals (f800580)
        * Don't bother calling 'assistant', leave it to install (e1678cb)
        * Remove redundant documentCount variable (0ee1780)
        * Fix un-closed comment in concepts.qdoc (25d676b)
        * Rename the overview - qdoc expects a page titled All Modules
          (2db78ae)
        * Fill in documentation for remaining C++ class methods (a29b74f)
        * Initial ground work splitting off query tests. (6f9dab0)
        * Remove range property for now, it's not implemented' (7053260)

2013-04-23 Kevin Wright

        * Modified example qml files to reduce number of warnings from qdoc.
          Changed each example's tutorial file from \example to
          \page and modified all \qml tags to \code tags. (2c01ed8)
        * Modified example qml files to reduce number of warnings from qdoc.
          Changed each example's tutorial file from \example to
          \page and modified all \qml tags to \code tags. (42e863b)

2013-04-23 Christian Dywan

        * Packaging refactoring. (e82b5e4)
        * Don't hide qdoc errors from default output (8b4c9aa)
        * Enable building the Python module via BUILD_PYTHON (3258663)
        * Bump changelog for -doc and -examples addition (1046e02)
        * Split off CMakeLists rules for src into src (181a32b)
        * Move documentation generation to CMakeLists.txt (f8ce664)

2013-04-22 Christian Dywan

        * Stricter approach to installing HTML docs. (af451ae)
        * Stricter approach to installing HTML docs (71ef790)
        * Add Index and Query to barebones C++ test (747afed)
        * Split off query tests, add Query.results property (3c3fd4e)
        * Mark internal methods, mention model feature and document
          parameters. (bc83bd9)
        * Mark internal methods, mention model feature and document
          parameters (575cafa)
        * Ignore token Q_INVOKABLE in qdoc (6ff8d6f)
        * Add Design Concepts to the overview. (8b069b4)
        * Add Design Concepts to the overview (bf2a6f5)
        * Replaces classes page with a real overview. (d49a93d)
        * Replace classes page with a proper overview (812b8e2)
        * Implement tabbed example gallery and install to example package.
          (71c1f1c)
        * Install HTML docs to doc/html (07ea7ff)

2013-04-19 Kevin Wright

        * Added support for 'Query' to use string, list or map. Removed
          'queries' property. (165cbd3)
        * Fixed u1db-qt-example-5.qml -- an incorrect modification was
          accidently pushed, where a query was designed to not
          return anything (which is fine for testing but not
          desireable for the example suite). (3397470)
        * Added support for 'Query' to use string, list or map. Removed
          'queries' property. (816184e)

2013-04-19 Christian Dywan

        * Rename u1db{,-qt}-gallery.desktop (8aa4c74)

2013-04-18 Christian Dywan

        * Install U1Db example gallery and add to example package (01f462e)

2013-04-18 Kevin Wright

        * Modified Query to split up the querying functionality across more
          reasonable and intuitive methods. Additionally changed
          some method names and variable names to be more intuitive
          (e.g. checkMapMatch to queryField) (3da0020)
        * Modified Query to update the proposed new querying functionality.
          The new modification fixes a bug where an else clause was
          returning incorrect results. The clause was changed to an
          if else to check for the existance of the wildcard first
          and then the proper boolean value determined after that.
          Additionally changed the surrounding function to default
          to return false if none of the checks are true (previously
          it was set to true). (bc290b5)
        * Modified Query to support the querying functionality. In order to
          support proper querying on QVariantMaps a property
          'queries' was added to Query. The property is a list that
          includes key value pairs matching a field/sub-field with a
          query statement. Example: queries:
          [{id:*},{message:Hel*}]. Query supports exact match and
          wild cards (i.e. *). Additionaly added a queries
          definition to the Query element in
          examples/u1db-qt-example-5/u1db-qt-example-5.qml, but
          includes a not that the property is proposed. The
          'queries' property would replace the 'query' property
          (which does not support query on QVariantMaps). (06e683d)

2013-04-17 Christian Dywan

        * Implement a tabbed example gallery (a48b70d)

2013-04-12 Christian Dywan

        * Add qttools5-dev-tools to build dependencies (e3abab7)
        * Add -doc.install needed for -doc package (185f693)
        * Add -examples package containing the QML examples. (f73bbf5)
        * Build docs in binary dir, BUILD_DOCS option, add -doc package
          (68ef781)
        * Add -examples package containing the QML examples (3366fc2)
        * Install QML sources for all examples (f0c619f)
        * Moves sources to src folder. (8dbff73)
        * Move sources from root into src folder (98f93f5)
        * Bail out of dataInvalidated if index is unset.
          Fixes:
          https://bugs.launchpad.net/bugs/1168034. (b3d403e)
        * Bail out of dataInvalidated if index is unset (3a2e944)

2013-04-12 Kevin Wright

        * Added in additional information to
          examples/u1db-qt-example-5/u1db-qt-example-5.qdoc
          concerning Index and Query elements. Additionally, updated
          some of the other text in the same file, fixed formatting
          issues, and ensured there was consistancy between all the
          files and example code for u1db-qt-example-5. (0090d2c)
        * Added qdoc sections to
          examples/u1db-qt-example-5/u1db-qt-example-5.qdoc.
          (72ab748)
        * Fixed some formatting problems in the qdoc markup and qml within
          all files under examples/u1db-qt-example-5. (699ef87)
        * Fixed a small ending tag error in the qdoc markup within
          examples/u1db-qt-example-5/u1db-qt-example-5.qdoc.
          (46b7036)
        * Added in additional information to
          examples/u1db-qt-example-5/u1db-qt-example-5.qdoc
          concerning Index and Query elements. Additionally, updated
          some of the other text in the same file, fixed formatting
          issues, and ensured there was consistancy between all the
          files and example code for u1db-qt-example-5. (4547831)

2013-04-10 Olivier Tilloy

        * Install missing header for the -dev package.
          Fixes:
          https://bugs.launchpad.net/bugs/1167395. (0a2ef31)
        * Install missing header for the -dev package. (bbc2b76)
        * Fix pkg-config requirements.
          Fixes:
          https://bugs.launchpad.net/bugs/1167247. (0068c2a)
        * Remove a useless addition to the list of pkg-config requirements.
          (914941e)
        * Fix pkg-config requirements. (66d19f3)

2013-04-09 Christian Dywan

        * Enable unit tests during Debian package build. (1ab7b19)
        * Add libqt5sql5-sqlite to build dependencies (83af943)

2013-04-09 Kevin Wright

        * Moved qdoc markup from qml example files into .qdoc files. Provided
          a sub-directory under 'examples' for each existing example
          that includes both the example qml and corresponding qdoc
          file. Modified u1db.qdocconf to account for these changes.
          Additionally modified u1db.qdocconf to automatically add
          the correct styles to each html output file (required some
          additional modifications to postheader, footer etc. to
          support the style sheets). (be56b7b)

2013-04-09 Christian Dywan

        * Add dependencies providing QtQuickTest and QtQuick2 (42e2da4)
        * Add qt5-default build dependency (ae93327)
        * Add qtdeclarative5-dev-tools build dep for qmltestrunner (f0a6107)
        * Enable unit tests during Debian package build (75d11da)

2013-04-09 Kevin Wright

        * Modified examples/u1db-qt-example-5.qml so that it is
          representative of a tutorial demonstrating Index and other
          U1Db-Qt functionality. Additionally added appropriate qdoc
          markup for the tutorial to the file. (35cba5c)

2013-04-08 Kevin Wright

        * Moved qdoc markup from qml example files into .qdoc files. Provided
          a sub-directory under 'examples' for each existing example
          that includes both the example qml and corresponding qdoc
          file. Modified u1db.qdocconf to account for these changes.
          Additionally modified u1db.qdocconf to automatically add
          the correct styles to each html output file (required some
          additional modifications to postheader, footer etc. to
          support the style sheets). (e592495)
        * Created initial example to demonstrate index functionality.
          (8d3706a)
        * Created initial index functionality. Modified source for both Index
          and Query. Within the Index source, QVariantMaps are
          generated (based on the index expressions), using
          appropriate data, and put into a QList, which is used by
          Query::data as its return value. Some known issues:
          currently will match on any index expression criteria
          (rather than on all criteria), and will not recognize new
          databases / documents (but has no problems with existing
          ones). (67651d3)

2013-04-07 Kevin Wright

        * Modified examples/u1db-qt-example-5.qml, with additional edits to
          the section of the tutorial qdoc markup regarding ListView
          and delegates. (bb4b8a2)
        * Modified examples/u1db-qt-example-5.qml to edit a small portion of
          the tutorial qdoc markup (regarding ListView and
          delegates). (43800ef)
        * Modified examples/u1db-qt-example-5.qml to add more tutorial qdoc
          markup, up to the end of describing the variations of the
          Document instances used in the example. (a321328)
        * Modified examples/u1db-qt-example-5.qml. Made mostly minor
          modifications to the tutorial qdoc markup. (b3a6810)
        * Modified examples/u1db-qt-example-5.qml to include additional
          tutorial qdoc markup, focussed on describing support for
          embedded lists within the Document element's 'default'
          property definition. (0e611d4)
        * Modified examples/u1db-qt-example-5.qml to include code markup in
          the qdoc sections, surrounding appropriate example
          snippets. (fd0bc19)
        * Modified examples/u1db-qt-example-5.qml so that it is
          representative of a tutorial demonstrating Index and other
          U1Db-Qt functionality. Additionally added appropriate qdoc
          markup for the tutorial to the file. (93029c7)

2013-04-06 Kevin Wright

        * Fixed a critical issue with Index and Query where newly created
          databases / documents were not being realized in the
          model. (143fa29)
        * Created initial example to demonstrate index functionality.
          (c7c9967)
        * Fixed index.h and query.h by adding back in some important ifdef
          Q_DOC conditions that were accidently overwritten.
          Additionally added back in one qdoc 'inmodule' markup line
          that was accidently erased in query.cpp. (5d0d945)

2013-04-05 Kevin Wright

        * Created initial index functionality. Modified source for both Index
          and Query. Within the Index source, QVariantMaps are
          generated (based on the index expressions), using
          appropriate data, and put into a QList, which is used by
          Query::data as its return value. Some known issues:
          currently will match on any index expression criteria
          (rather than on all criteria), and will not recognize new
          databases / documents (but has no problems with existing
          ones). (1dafd70)
        * Added documentation/u1db.tutorial.qdoc file. This document
          initially represents an all-in-one cheatsheet for U1Db-Qt,
          which includes reference, tutorial, examples, best
          practice etc. (9dd3b30)

2013-04-05 Christian Dywan

        * Install docs into QtAssistant, add Ubuntu style and fix Concepts.
          (5f31086)

2013-04-05 Kevin Wright

        * Added documentation/u1db.tutorial.qdoc file. This document
          initially represents an all-in-one cheatsheet for U1Db-Qt,
          which includes reference, tutorial, examples, best
          practice etc. (f62176f)

2013-04-04 Christian Dywan

        * Revamp concepts page markup to parse correctly (a34495c)
        * Use Ubuntu style orange base.css stylesheet (d9f887a)
        * Install docs into QtAssistant when running make doc (3b3a8b0)

2013-04-03 Christian Dywan

        * Implement 'make doc'; fix C++ classes to be parsed by qdoc
          (9006cce)
        * qdoc for Database, Document, Index and Query. (b7fad06)
        * Add qdoc comments to Query class (24b3559)
        * Add qdoc comments to Index class (51466ee)
        * Add introduction to Document class (4382fe0)

2013-04-02 Christian Dywan

        * Add qtdoc comments to Document class (abe5f74)
        * Add qtdoc comments for all methods and summary of Database
          (70481e5)
        * Document Variant/ JSON conversion behavior (45c97af)

2013-03-28 Christian Dywan

        * Use consistent test database naming and disable getIndexKeys test.
          (5120383)
        * Fix libu1db-qt5-1.install, erroneous install target and Python
          module (c1392e1)
        * Comment out getIndexKeys tests for now until it's fixed (137d07b)
        * Consistently name databases 'aDatabase*' to easily bzr ignore them
          (bdc9ea2)

2013-03-27 Christian Dywan

        * Add upstream test runner and Python C++ wrapper module (2c35dbd)
        * Add .install files, corrected dependencies, drop obsolete
          -DWITHQT5=1 (ae25dc1)

2013-03-20 Christian Dywan

        * Add example 2b using sub-fields for a model (3cae86d)
        * Add qdocconf for generating HTML docs (4497215)
        * Modify test delegates to avoid binding loop errors (a83ddc1)
        * Implement docLoaded and fillDocument test case (5ddbdc8)
        * Implement Database::getIndexKeys (work-in-progress) (1142393)

2013-03-19 Kevin Wright

        * Added examples/u1db-qt-example-2b.qml to demonstrate the creation
          and querying of sub-fields in a Document. Discovered a bug
          where the database, document contents do not appear to
          update properly if a change has been made and the contents
          contain sub-fields. (6c881e4)

2013-03-18 Kevin Wright

        * Created qdocconf file for generating html documentation. Ran qdoc
          using the qdocconf file. Created QtHelpProject and
          QtHelpCollectionProject files to create documentation
          files for QtCreator. Ran qhelpgenerator and
          qcollectiongenerator using appropriate files. Some work
          still needs to be done here to get the proper
          documentation builds for QtCreator and fine tune the html
          docs. Additionally some of the examples need to have the
          qdoc markup edited, as the tags are not correct. (c11679a)

2013-03-14 Christian Dywan

        * Fill in concept docs based on tutorial in example 4 (f9246c1)
        * Placeholders for documentation pages (56ef559)
        * Add example 4 based on example 3 and using a ListView (16c66bd)

2013-03-14 Kevin Wright

        * Modified the proposed topic list in documentation/concepts.qdoc,
          and reordered existing topics so they are in some logical
          order. (5ef1f70)
        * Added start of overiew content to documentation/concepts.qdoc that
          describes U1DB, and the differences between the standard
          U1DB implementations and U1Db-Qt implementation. (80a5779)
        * Added concept content to documentation/concepts.qdoc. Most of the
          content was copied from the tutorial text in
          examples/u1db-qt-exmaple-4.qml as a starting point. Also
          roughed in a table of suggested topics. (d7d63d9)

2013-03-13 Kevin Wright

        * Added placeholder docs in documentation for architecture, best
          practices, concepts, overview and troubleshooting. These
          should be started ASAP, even if the amount of information
          at this time is minimal. (def9967)
        * Added a document to u1db-qt-example4.qml to represent bookmarks. A
          ListView will be added to the second tab in the
          application and docId vlues from the database will be
          stored there. The user can select one of those docIds and
          the main tab will be updated accordingly. (9bef281)
        * Added the start of u1db-qt-example-4.qml. This example will begin
          to use more MainView tabs and introduce a bookmark feature
          in a ListView. (8e3bf4a)

2013-03-13 Christian Dywan

        * Updated debian rules, changelog, and control for initial package
          (3241dfa)

2013-03-13 Kevin Wright

        * Updated debian rules, changelog, and control files to create
          initial package. (62c3fac)

2013-03-12 Christian Dywan

        * Add moc files to list of files for 'make clean' (a020f0e)
        * Store dbschema.sql in a resource (dfe5066)
        * example 3: Implement next/ previous and describe getting docId's
          (5856bb7)
        * example 3: Implement 'Home' and add an opening summary (fc1a13b)

2013-03-12 Kevin Wright

        * Put dbschema.sql into a qrc file and made it available as a
          resource. Also modified database.cpp to make use of it as
          a resource rather than a local file. (2623159)
        * Resolved https://bugs.launchpad.net/u1db-qt/+bug/1153938 by
          removing clear button from address bar in
          u1db-qt-example-3.qml (TextField component's
          hasClearButton : bool property set to false). (8a2bd0d)
        * Fixed a small code comment error so that the section will be picked
          up by qdoc. (3416704)
        * Improved u1db-qt-example-3.qml by adding the functionality for
          retrieving the next and previous documents in the
          database. Additionally some tutorial text was added to
          describe the retireving of docId values from the database,
          which this new functionality makes use of. (f676a3a)

2013-03-11 Kevin Wright

        * Improved u1db-qt-example-3.qml by adding in the ability to return
          to 'home', added more tutorial text (including an opening
          summmary and learning outcomes), and removed some console
          output calls. (8f3becb)

2013-03-11 Christian Dywan

        * example 3: Save content for current id key represented in the
          address bar (0002fe2)

2013-03-11 Kevin Wright

        * Improved u1db-qt-example-3.qml by adding in the functionality to
          save content to the database for the current id key
          represented in the address bar. (2536548)

2013-03-11 Christian Dywan

        * example3: Update database based on the key the user types (95f4a08)

2013-03-11 Kevin Wright

        * Improved u1db-qt-example-3.qml by adding in the functionality to
          update the content text area with data from the database,
          based on the key the user types into the address bar.
          Additionally more tutorial content was added to the code
          comments. (5ef8898)

2013-03-08 Kevin Wright

        * Added more tutorial text to u1db-qt-example-3, modified some of the
          existing text to reflect recent code changes, and fixed
          some typos. (e0d486c)
        * Continued to add more markup for the tutorial content that goes
          with u1db-qt-example-3. Also modified some properties of
          the TextArea representing the document content so that it
          is more visually pleasing. (7374b64)

2013-03-08 Christian Dywan

        * Split off getIndexExpressions from putIndex (567731a)
        * Removed unecessary ListView elements example 3 and reworded
          tutorial text (e4b811b)

2013-03-08 Kevin Wright

        * Modified u1db-qt-example-3 to generate a new document entry in the
          database with a key / name / address that corresponds to
          user input in the address bar, but without changing the
          application's global document ('aDocument'). (59d46e7)
        * Modified u1db-qt-example-3 so that the address bar will display the
          object's key (aka the search string or name/address of a
          document in the database) rather than the return value of
          the search. (c6a2b6b)
        * Removed unecessary ListView elements from u1db-qt-example-3 and
          reworded some of the tutorial text. Removing those
          elements has also removed part of the tutorial markup, and
          new text will need to be added. (7910158)

2013-03-07 Christian Dywan

        * Add a basic HACKING file about building and testing (d737f1e)
        * Save changes to document in example 3 (0d5ef4e)
        * Bring example 3 closer to needs of a web browser (0dc29cd)

2013-03-07 Kevin Wright

        * Added bidirectional change functionality between Document and
          address bar. (a000d45)
        * Fixed some corruption in one of the example files. (ef7ab20)
        * More modifications to u1db-qt-example-3.qml to better reflect more
          real world use cases. (ef11cf6)
        * Added more functionality to u1db-qt-example-3, began to change
          application behaviour so that it evolves into a
          demonstration of how to store and navigate documents in a
          database. This would be mildly similar to functionality
          required for a basic web browser. (fcb0818)

2013-03-06 Christian Dywan

        * Changed interval in example 2 to 5000 (e94aed9)
        * Adding 2 more examples and inline documentation (c6026cb)
        * Fix updating Document whenever contents changes (9129189)

2013-03-06 Kevin Wright

        * Increased the interval value in example 2 to from 5 to 5000
          (611312d)
        * Fixed some more formatting issues in example code, changed some
          code comments in the example code, reduced the interval
          value in example 2 to 5 from 500, and ensured every
          delegate in each example is using 'text: contents.hello'
          (891c9ec)

2013-03-06 Christian Dywan

        * listDocs should return docId's not contents (be0a5f5)

2013-03-06 Kevin Wright

        * Added more to the layout of example 3, to begin representing the
          desired functionality. Added navigation buttons and an
          area to enter text that will be saved (and to display text
          when navigating the document history). Also cleaned up
          tabs in the qml file and replaced with spaces (1d00c87)

2013-03-05 Kevin Wright

        * Added a third example to demonstrate use with TextInput elements,
          modified other examples, and continued to add doc markup
          for tutorials for each example. (139dcad)
        * Added a third example to demonstrate use with TextInput elements,
          modified other examples, and continued to add doc markup
          for tutorials for each example. (6f9c8a8)

2013-03-04 Christian Dywan

        * Documentation comments for the first example (7254e92)

2013-03-04 Kevin Wright

        * Added a new example that dynamically creates documents, modified
          the original example slightly, and added some
          documentation markup (61fff54)

2013-03-04 Christian Dywan

        * Work-around new rows not appearing in the view (d3e732b)

2013-03-01 Christian Dywan

        * Use getDocUnchecked in Document to avoid false errors (2d385fe)
        * Replace Database hash table with OFFSET lookup (de83c46)
        * Make getDocUnchecked return variant map like getDoc (ac94ddb)
        * Fix off by one inserting into hash and fix example delegate
          (60bc8d9)

2013-03-01 Kevin Wright

        * Fixed off by one problem when inserting records into hash table,
          and modified the example to display retrieved contents of
          the document from the database into the ListView. This
          unfortunately only works for updates to the database or
          inserts into the database, and not existing, unmodified
          records. (4fd2d49)

2013-02-28 Christian Dywan

        * Remove spurious log calls from QML test (990230d)
        * Index.dataInvalidated and Query.QAbstractListModel (e024e54)
        * Drop Query.database property; Index is enough (be273e1)
        * First example using Ubuntu components (ae9770b)
        * Implement 'create' to create documents with defaults (f852c31)
        * Don't start exclusive transaction - to be revisited (d814677)

2013-02-28 Kevin Wright

        * Added first example to demonstrate basic usage. This initial commit
          does not do much on the surface. (7a4c9ab)

2013-02-27 Christian Dywan

        * Have Document reflect changes via docChanged (3f352d8)

2013-02-26 Christian Dywan

        * Add contents property to Document, analogous to delegate (dbc8dc9)
        * Make Index put indexes on demand, merge putIndex functions
          (4037889)
        * Rename s/create/put/Index(List) to avoid conflict with
          QAbstractListModel (1fcd8aa)
        * Database::createIndexList/ createIndex implementations (b8bf76f)
        * Always check if QVariant/ QJsonDocument converted (5712d04)
        * Expose 'docId' and 'contents' to delegate (d2a9d01)

2013-02-26 Kevin Wright

        * Modified comment: int Database::createIndex(QString index_name,
          QStringList expressions), which corresponds to the u1db.c
          function: int u1db_create_index(u1database *db, const char
          *index_name, int n_expressions, ...). It is being marked
          as INCOMPLETE (1b169f3)
        * Added the function int Database::createIndex(u1database *db, const
          char *index_name, QStringList expressions). It is
          currently marked INCOMPLETE. (05463f0)
        * Added the function int Database::createIndexList(QString
          index_name, QStringList expressions), which corresponds to
          the u1db.c function: int u1db_create_index_list(u1database
          *db, const char *index_name, int n_expressions, const char
          **expressions). It is currently marked INCOMPLETE.
          (cc4cf13)

2013-02-26 Christian Dywan

        * Install to QT_INSTALL_QML, qmlscene/ testrunner doesn't see
          QT_INSTALL_IMPORTS (fd639b8)

2013-02-25 Christian Dywan

        * Fix QT_BEGIN_NAMESPACE_U1DB, use QT_PREPEND_NAMESPACE_U1DB
          (883684d)

2013-02-22 Christian Dywan

        * QAbstractListModel support in Database + model test fixes (312470b)

2013-02-19 Christian Dywan

        * Put without docId, suppressing false errors (d01d260)

2013-02-18 Christian Dywan

        * Introduce setError/ errorChanged/ lastError (600e212)
        * Verify docId against regex before storing (eab6d10)
        * Init db when changing name and "bind" correctly (45be6be)

2013-02-15 Christian Dywan

        * Split off global macro boilerplate into global.h (4cae982)
        * Add Query and Index classes based on proposed API (48b9756)

2013-02-14 Christian Dywan

        * Add empty U1Db.Document class (83b8ad9)
        * Methods for get/ put/ list docs, schema, json (12b2721)

2013-01-31 Christian Dywan

        * QML plugin boilerplate, one C++ class, empty unit tests (45c4e8a)
