commit b085a95596537409df2510aab72cb033c50ae253 Author: Philip Withnall Date: Wed Sep 17 23:44:38 2014 +0100 tasks: Output the ‘hidden’ property in generated JSON It’s read-only, but that hasn’t stopped us outputting all the other read-only properties. This can be reverted if real life testing proves it’s a problem. gdata/services/tasks/gdata-tasks-task.c | 3 +++ 1 file changed, 3 insertions(+) commit c1fdff59c73dfa0f1883d8f108d4923b6becf246 Author: Philip Withnall Date: Wed Sep 17 23:44:21 2014 +0100 tasks: Simplify some code This introduces no functional changes. gdata/services/tasks/gdata-tasks-task.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) commit a7346660e2b60f338fe225bc12ad1addbc19912c Author: Philip Withnall Date: Wed Sep 17 23:01:04 2014 +0100 core: Fix various minor mutex abuses GLib has recently got stricter about abusing mutexes, and now no longer allows: • Clearing a locked mutex. • Unlocking a non-locked mutex. Both of which libgdata was doing, and now does no longer. gdata/gdata-service.c | 7 ++++++- gdata/gdata-upload-stream.c | 1 - 2 files changed, 6 insertions(+), 2 deletions(-) commit d5938f7c4c778ec42f1d0dd9af96dbb0065be1c7 Author: Philip Withnall Date: Wed Sep 17 22:59:06 2014 +0100 tests: Add support for the new SoupServer API This increments the maximum libsoup dependency to ≤ 2.47.3, but does not increment the minimum dependency. configure.ac | 10 ++- gdata/tests/streams.c | 181 ++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 147 insertions(+), 44 deletions(-) commit 65745626ffc893a06d2d27c562effed4b683002b Author: Philip Withnall Date: Sun Aug 31 00:59:12 2014 +0100 tests: Add unit tests for the Google Tasks service These are non-interactive and non-network tests, since I don’t currently have time to get networked tests working for Google Tasks — they require OAuth 2 support to land first (bug #646285). By themselves, these non-network tests give 64% line coverage and 74% function coverage of gdata/services/tasks/. gdata/tests/Makefile.am | 4 + gdata/tests/tasks.c | 712 +++++++++++++++++++++++++ gdata/tests/traces/tasks/authentication | 58 ++ gdata/tests/traces/tasks/global-authentication | 58 ++ gdata/tests/traces/tasks/tasklist-insert | 43 ++ 5 files changed, 875 insertions(+) commit dfd4735d645bdf9d64718f7c72c68ad683bb96a3 Author: Philip Withnall Date: Sun Aug 31 01:02:56 2014 +0100 tasks: Add a custom error parser The errors returned by the Google Tasks API are a simple JSON format which allows for multiple error messages to be included. It appears to be undocumented anywhere, so has been reverse engineered from examples returned by the server. gdata/services/tasks/gdata-tasks-service.c | 184 +++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) commit ef593215455ad8d4766ff8aef61b230c58a3c3d3 Author: Philip Withnall Date: Sun Aug 31 01:01:57 2014 +0100 core: Add an error code in GDataServiceError for exceeding the API quota This adds API: • GDATA_SERVICE_ERROR_API_QUOTA_EXCEEDED gdata/gdata-service.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 574b54eb1cf9748ea58323037d68d2c0497da1eb Author: Philip Withnall Date: Sun Aug 31 01:01:09 2014 +0100 docs: Remove unnecessary clean rules from documentation Makefile.am These are now correctly included in gtk-doc.make. docs/reference/Makefile.am | 10 ---------- 1 file changed, 10 deletions(-) commit 31c69604484a0c1a0e9913c2db760c2f63b72883 Author: Philip Withnall Date: Sun Aug 31 00:13:59 2014 +0100 tests: Add a dummy GDataAuthorizer implementation This will come in useful when testing services which don’t support ClientLogin authorisation, such as Google Tasks. Such services require OAuth authorisation, which requires user interaction. That puts up a big barrier to running the unit tests frequently, and Google seem to provide no ‘playground’ API key which could be used to bypass this requirement for testing purposes. The idea is that traces are recorded for tests using an OAuth authoriser (requiring user interaction), then the dummy authoriser is substituted when the tests are run offline against the pre-recorded traces. This will require custom message matching in uhttpmock to ignore the Authorization header, which will differ between the OAuth and dummy authorisers. docs/reference/Makefile.am | 5 +- gdata/tests/Makefile.am | 2 + gdata/tests/gdata-dummy-authorizer.c | 222 +++++++++++++++++++++++++++++++++++ gdata/tests/gdata-dummy-authorizer.h | 71 +++++++++++ 4 files changed, 299 insertions(+), 1 deletion(-) commit 760ca0235f7b0e6413cd31cb371f5e3e83a8c490 Author: Philip Withnall Date: Sun Aug 31 00:10:07 2014 +0100 tasks: Improve documentation for GDataTasksTask properties Better document the format of datetime-typed properties — they are the number of seconds since the UNIX epoch. gdata/services/tasks/gdata-tasks-task.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) commit d10a15b0d5016d027bb7613218d64b81b2b5c724 Author: Philip Withnall Date: Sun Aug 31 00:09:38 2014 +0100 tasks: Fix a property definition on GDataTasksTask This one was certainly never tested. gdata/services/tasks/gdata-tasks-task.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit eaaaddb30e93e528c1acfd741e2f08c3d3e619d9 Author: Philip Withnall Date: Sun Aug 31 00:08:26 2014 +0100 tasks: Add missing kind_terms to GDataEntry subclasses This is necessary to ensure the ‘kind’ JSON property appears in generated output. I’m not sure how the service could have functioned without these missing, unless Google is validating tasks very relaxedly. gdata/services/tasks/gdata-tasks-task.c | 3 +++ gdata/services/tasks/gdata-tasks-tasklist.c | 4 ++++ 2 files changed, 7 insertions(+) commit 674d85182bf2c855122c21a06b3977a399eeeb11 Author: Philip Withnall Date: Sun Aug 31 00:07:53 2014 +0100 tasks: Document missing features of GDataTasksTask Currently it doesn’t support links associated with a task. gdata/services/tasks/gdata-tasks-task.c | 3 +++ 1 file changed, 3 insertions(+) commit 7b34e0a1fe2bf717129b25ea418bcb5f590ecc36 Author: Philip Withnall Date: Sun Aug 31 00:07:16 2014 +0100 tasks: Invalid GDataTasksQuery:etag on property changes Since the ETag no longer represents the query. gdata/services/tasks/gdata-tasks-query.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) commit c83a01a0eb222999574e2344c702e1a36dc1cb5a Author: Philip Withnall Date: Sun Aug 31 00:06:02 2014 +0100 tasks: Deprecate the ‘q’ parameter of gdata_tasks_query_new() It was never a valid parameter, and we really should have caught this before the API was finalised. Deprecate the parameter and document that it should only ever have NULL passed to it. Don’t use the parameter internally. This is necessary because Google don’t support the ‘q’ parameter for Tasks queries — there is no way to search within task titles or notes. gdata/services/tasks/gdata-tasks-query.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 28a4fada8a3077ab5ea3062c1d59b48971a51283 Author: Philip Withnall Date: Sun Aug 31 00:05:47 2014 +0100 tasks: Remove unused members from GDataTasksQuery gdata/services/tasks/gdata-tasks-query.c | 8 -------- 1 file changed, 8 deletions(-) commit 4b96f5b68c0bc70bf7b0d76fc3c36ff9f9dbe5fd Author: Philip Withnall Date: Sun Aug 31 00:04:28 2014 +0100 tasks: Add helper constants for GDataTasksTask:status So the user doesn’t need to keep typing out the well-known strings which form the accepted values of GDataTasksTask:status. This adds new API: • GDATA_TASKS_STATUS_NEEDS_ACTION • GDATA_TASKS_STATUS_COMPLETED docs/reference/gdata-sections.txt | 2 ++ gdata/services/tasks/gdata-tasks-task.c | 5 +++-- gdata/services/tasks/gdata-tasks-task.h | 27 +++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) commit af3498df1429182b85bec3e5cbfaeae8acebfe35 Author: Philip Withnall Date: Sat Aug 30 23:30:11 2014 +0100 tests: Tighten error checking on UHM trace setup If the trace file didn’t exist, we weren’t catching the error, and things were failing further down the line. gdata/tests/common.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 5e9c4ff3adc83bb21ac7a7436dcb0637b3662342 Author: Philip Withnall Date: Sat Aug 30 23:29:18 2014 +0100 tests: Split OAuth helper function out of oauth1-authorizer tests Move it to the common test library, as it will be useful in future for testing services which require OAuth authentication (such as Google Tasks). gdata/tests/common.c | 29 +++++++++++++++++++++++++++++ gdata/tests/common.h | 2 ++ gdata/tests/oauth1-authorizer.c | 24 ++---------------------- 3 files changed, 33 insertions(+), 22 deletions(-) commit ff6c831378848cce5622cea8fb1236154e83f9d2 Author: Philip Withnall Date: Sat Aug 30 23:28:17 2014 +0100 tasks: Add a missing symbol to gdata.symbols gdata/gdata.symbols | 1 + 1 file changed, 1 insertion(+) commit e7cfb96f471f133d57a09dbba9c747db3be52f1a Author: Philip Withnall Date: Sat Aug 30 23:04:04 2014 +0100 build: Split common test code into a libtool convenience library Instead of compiling the common code files into each test binary. gdata/tests/Makefile.am | 67 +++++++++++++++++++++---------------------------- 1 file changed, 29 insertions(+), 38 deletions(-) commit 240c44f484c3bd6b5d887f3628ecbb2e52fe1749 Author: Philip Withnall Date: Sat Aug 30 22:53:26 2014 +0100 build: Tidy up whitespace in tests Makefile.am It was offending my sensibilities, which have apparently moved on since I originally wrote that file. gdata/tests/Makefile.am | 75 +++++++++++++++++++++++++------------------------ 1 file changed, 38 insertions(+), 37 deletions(-) commit 6bf1f79e2032b406fde5fe14634ddc1908bd6f20 Author: Matej Urbančič Date: Sun Sep 14 21:22:46 2014 +0200 Updated Slovenian translation po/sl.po | 53 +++++++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 24 deletions(-) commit 192768e1a47b7e96cc7ce6c41e003e3aa88c6f38 Author: Balázs Úr Date: Thu Sep 11 15:56:45 2014 +0000 Updated Hungarian translation po/hu.po | 58 +++++++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 27 deletions(-) commit 3ef0de48702176d58cc11be7014b383b98b47138 Author: Yuri Myasoedov Date: Sun Sep 7 19:17:12 2014 +0400 Updated Russian translation po/ru.po | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) commit c06c478f9468b117c69dfb84baab65b2d40986cb Author: Rūdolfs Mazurs Date: Sun Sep 7 17:59:35 2014 +0300 Updated Latvian translation po/lv.po | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) commit aa92cf8c2901cc3254cd7ceae7f9e5bfa1394303 Author: Claudio Arseni Date: Sun Sep 7 14:54:44 2014 +0000 Updated Italian translation po/it.po | 62 ++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 34 insertions(+), 28 deletions(-) commit 2ad6b1bc61271ea02481689eaab5ac6e35509d2c Author: Kjartan Maraas Date: Sat Sep 6 14:05:27 2014 +0200 Updated Norwegian bokmål translation. po/nb.po | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) commit f1e7dc4bf313c780bedbe6c86ba2237d529a6669 Author: Changwoo Ryu Date: Sat Sep 6 18:28:12 2014 +0900 Updated Korean translation po/ko.po | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) commit 1c3906cbf3345fd4019a6b40e3e6cb322d6fb6fa Author: Andika Triwidada Date: Thu Sep 4 04:31:41 2014 +0000 Updated Indonesian translation po/id.po | 53 +++++++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 24 deletions(-) commit fe810dcec28d1735b2d471f390d1f00ea52611d7 Author: Claude Paroz Date: Tue Sep 2 22:55:16 2014 +0200 Updated French translation po/fr.po | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) commit bda850e5f996e265ff09b4455cc4ec561594e60d Author: Sweta Kothari Date: Tue Sep 2 15:18:36 2014 +0530 Updated gujarati translations po/gu.po | 480 ++++++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 303 insertions(+), 177 deletions(-) commit b450fb03cc05e66b6cd9404f17c41b3aefd7902b Author: Chao-Hsiung Liao Date: Sat Aug 30 18:42:39 2014 +0800 Updated Traditional Chinese translation(Hong Kong and Taiwan) po/zh_HK.po | 26 +++++++++++++++----------- po/zh_TW.po | 26 +++++++++++++++----------- 2 files changed, 30 insertions(+), 22 deletions(-) commit ea2a9f8f241a6f9baf42f799c7f969b040cdc88f Author: Yosef Or Boczko Date: Fri Aug 29 02:15:40 2014 +0300 Updated Hebrew translation po/he.po | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) commit 1cf06c454f6a525e5282c23f3a31bc8e0d80a4bc Author: Philip Withnall Date: Sun Aug 24 17:17:43 2014 +0100 build: Update git.mk from upstream git.mk | 48 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 12 deletions(-) commit 6e89b033b33fcc8e8316e58f0ee28f3809ca9667 Author: Philip Withnall Date: Sun Aug 24 17:14:32 2014 +0100 core: Add gzip encoding support libsoup already transparently supported gzip encoding of data from the server, using SoupContentDecoder, which is present by default in a SoupSession. We were correctly sending the Accept-Encoding header, but Google also require that the string ‘gzip’ be present in the User-Agent header to enable gzip support. Add a User-Agent header which supports this. https://bugzilla.gnome.org/show_bug.cgi?id=666623 gdata/gdata-service.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) commit c55465b20f4f3560198894a61b0613b1b72cf4de Author: Philip Withnall Date: Sun Aug 24 16:47:51 2014 +0100 tests: Remove debug log storage system automake's parallel-tests feature now automatically separates and stores logs, and only prints them out on test failure. This is exactly what the logging code in the tests was doing before, so the logging code can now be simplified. https://bugzilla.gnome.org/show_bug.cgi?id=703192 gdata/tests/common.c | 78 ++++++++++++++++------------------------------------ gdata/tests/common.h | 3 -- 2 files changed, 24 insertions(+), 57 deletions(-) commit 8442be8e40bbfa1b4e46e9bd2c9ed6d1bc6256d4 Author: Philip Withnall Date: Sun Aug 24 16:19:16 2014 +0100 build: Enable automake parallel-tests This should speed up the test runs somewhat, as well as improving log output handling. https://bugzilla.gnome.org/show_bug.cgi?id=703192 configure.ac | 2 +- gdata/tests/Makefile.am | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) commit f817fdaff889764125c5f073be4fd433c5c33b14 Author: Philip Withnall Date: Sun Aug 24 16:05:42 2014 +0100 core: Add support for ACL entries with keys This adds support for elements, allowing for authorisation keys in ACLs, e.g. for Google Documents. This adds the following API: • GDataAccessRule:key • gdata_access_rule_get_key() and appropriate tests. https://bugzilla.gnome.org/show_bug.cgi?id=690628 docs/reference/gdata-sections.txt | 1 + gdata/gdata-access-rule.c | 97 ++++++++++++++++++++++++++++++++++++++- gdata/gdata-access-rule.h | 1 + gdata/gdata.symbols | 1 + gdata/tests/general.c | 59 +++++++++++++++++++++++- 5 files changed, 156 insertions(+), 3 deletions(-) commit 3a2ac16abda66aa8af22181f72fe912a32981f4f Author: Marek Černocký Date: Fri Aug 22 07:50:33 2014 +0200 Updated Czech translation po/cs.po | 53 +++++++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 24 deletions(-) commit 08bd2109c6c99975ca8c7900aace75d0a1df25c0 Author: ngoswami Date: Tue Aug 19 17:04:04 2014 +0000 Updated Assamese translation po/as.po | 121 +++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 67 insertions(+), 54 deletions(-) commit f0797bb178911134f5d26f795b75edc906117aa7 Author: Philip Withnall Date: Tue Aug 19 00:08:49 2014 +0100 contacts: Allow and ignore empty e-mail addresses Empty e-mail addresses () are apparently allowed by convention in the XML. Previously, we treated the empty address attribute as an error. Instead, we should ignore the entire element, treating it as non-existent. https://bugzilla.gnome.org/show_bug.cgi?id=734863 gdata/services/contacts/gdata-contacts-contact.c | 36 ++++++++++++++++++++++-- gdata/tests/contacts.c | 1 + 2 files changed, 34 insertions(+), 3 deletions(-) commit c8aae3ecc1440bb8b2aec1212f5ccee2d9d917b7 Author: Carles Ferrando Date: Sun Aug 17 13:34:07 2014 +0200 [l10n] Updated Catalan (Valencian) translation po/ca@valencia.po | 107 +++++++++++++++++++++++++++--------------------------- 1 file changed, 54 insertions(+), 53 deletions(-) commit 8c315a5323137646f42b35f539dfedd001eb66c5 Author: Gil Forcada Date: Sun Aug 17 13:34:04 2014 +0200 [l10n] Updated Catalan translation po/ca.po | 37 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 24 deletions(-) commit 45459fba6f808340d7b509c51fadf32438e5c58a Author: Philip Withnall Date: Sat Aug 9 21:14:47 2014 +0100 core: Remove outdated gdata_parser_int64_to_json_iso8601() gdata_parser_int64_to_iso8601() now does exactly the same. https://bugzilla.gnome.org/show_bug.cgi?id=732809 gdata/gdata-entry.c | 2 +- gdata/gdata-parser.c | 6 ------ gdata/gdata-parser.h | 1 - gdata/services/freebase/gdata-freebase-search-query.c | 2 +- gdata/services/tasks/gdata-tasks-task.c | 4 ++-- 5 files changed, 4 insertions(+), 11 deletions(-) commit 18c16bfc9e517d44bf84449e58cc5b10bde07f09 Author: Philip Withnall Date: Sat Aug 9 21:10:03 2014 +0100 core: Tweak generated ISO8601 dates to appease Google’s parsers Even though the protocol documentation claims to accept RFC3339 dates, the servers have recently started rejecting dates formatted as ‘2014-08-09T21:10:05Z’ which don’t include microseconds and specify the timezone non-numerically. Since the issue hasn’t been resolved at Google’s end, we need to hack the date formats generated by libgdata to appease the servers, completely undermining the point of having a defined protocol and RFC to base the code on. Sigh. Change gdata_parser_int64_to_iso8601() to produce dates in the format ‘YYYY-MM-DDTHH:MM:SS.000001+00:00’. This was previously used by the JSON output generator, so perhaps the server breakage was introduced when Google started rolling out the JSON APIs. https://bugzilla.gnome.org/show_bug.cgi?id=732809 gdata/gdata-parser.c | 29 +++++++++++++++++------------ gdata/tests/calendar.c | 20 ++++++++++---------- gdata/tests/general.c | 32 ++++++++++++++++---------------- gdata/tests/youtube.c | 16 ++++++++-------- 4 files changed, 51 insertions(+), 46 deletions(-) commit 30546923f89ce2b95cb6f6e97bf59317e5f69fda Author: Philip Withnall Date: Sat Aug 9 18:42:01 2014 +0100 build: Increment version to 0.15.3 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 08ebb3e5804b29e18a67872eb071fd50e7fcc4b3 Author: Philip Withnall Date: Sat Aug 9 18:41:03 2014 +0100 Release version 0.15.2 NEWS | 23 +++++++++++++++++++++++ configure.ac | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-)