Overview of changes from libgdata 0.17.11 to libgdata 0.17.12 ============================================================= * Make OAuth 1 support optional and disabled by default; this makes the `oauth` dependency optional on `-Doauth1=enabled` (#1) * Bugs fixed: - #1 Consider loosening the liboauth dependency - #23 Authentication errors with Google Drive - #36 Clarify license in meson.build * Translation updates: - Basque - Catalan - Chinese (Taiwan) - Croatian - Czech - Danish - Dutch - Finnish - French - Friulian - Galician - German - Hungarian - Indonesian - Italian - Japanese - Korean - Latvian - Lithuanian - Malay - Polish - Portuguese (Brazil) - Romanian - Serbian - Slovenian - Spanish - Swedish - Turkish Overview of changes from libgdata 0.17.10 to libgdata 0.17.11 ============================================================= * Various fixes to the Meson port, including a soversion fix (#30, #32, #35, !9, !10) * Add support for user-specified properties of documents in Drive (!7) * Bugs fixed: - #30 meson: debug messages of libgdata don't come from correct log domain - "libgdata" - #31 gdata_entry_get_id should not free current value if not changed - #32 Build failure on Continuous - #33 en_GBism in a string - #35 Installed tests fails with an assert in gdata_oauth2_authorizer_request_authorization - !7 Drive v2 Properties API - !9 Meson fixes - !10 meson minor fixes - !13 docs: Drop use of `` to delimit plurals - !16 Minor revision of italian translation (after >2ys) * Translation updates: - Basque - Czech - English (United Kingdom) - German - Indonesian - Italian - Lithuanian - Polish - Portuguese (Brazil) - Romanian - Spanish - Swedish Overview of changes from libgdata 0.17.9 to libgdata 0.17.10 ============================================================ * Port to Meson and drop autotools support (#27) * Migrate from intltool to gettext (bug #787252) * Bugs fixed: - #26 Support deleting shared Google Drive files - #27 Port to Meson - !1 Remove use of foreach with wrong function prototype and use g_list_free_full - !3 core: Move the header guards before including other headers - !4 tasks: Turn 'position' and 'parent' into writable properties - Bug 787252 — [Patch] Migrate from intltool to gettext * Translation updates: - Catalan - Chinese (Taiwan) - Croatian - Danish - Dutch - English (United Kingdom) - Esperanto - French - Indonesian - Nepali - Romanian - Turkish Overview of changes from libgdata 0.17.8 to libgdata 0.17.9 =========================================================== Major changes: • Support reporting quotas for Drive usage (thanks to Michael Terry) • Bump GLib dependency to 2.44 for g_autoptr() support • Add g_autoptr() support for some core classes • Port from GSimpleAsyncResult to GTask • More porting to the Google Drive v2 API (ongoing thanks to Debarshi Ray for working on and maintaining this) API changes: • Add GDataDocumentsMetadata • Add gdata_documents_service_get_metadata(), gdata_documents_service_get_metadata_async(), gdata_documents_service_get_metadata_finish() • Initial g_autoptr() support for core classes Bugs fixed: • Bug 783046 — Invalid URIs are generated when q and q_internal properties are set • GitHub PR #1 — added initial .travis.yml • Bug 785885 — Expose information about quota usage • Bug 684920 — Port to Google Drive API v2 Overview of changes from libgdata 0.17.7 to libgdata 0.17.8 =========================================================== Major changes: • Bump GLib dependency to 2.38.0 for G_TEST_DIST • Bump libsoup dependency for tests to 2.55.90; the dependency if building libgdata without tests is still 2.42.0 • Fix use of deprecated GTK+ API in the demos Bugs fixed: • Bug 779641 — test_query_properties broken on i686 • Bug 780067 — Unable to sync Google Contacts • Bug 780081 — libgdata 0.17.7 fails streams tests (unable to set up SSL cert) Updated translations: • be (Yuras Shumovich) • da (Alan Mortensen) • el (Tom Tryfonidis) • fi (Jiri Grönroos) • gl (Fran Dieguez) • oc (Cédric Valmary) • ru (Yuri Myasoedov) Overview of changes from libgdata 0.17.6 to libgdata 0.17.7 =========================================================== Major changes: • Fix licensing in OAuth2 files (they were mistakenly declared as GPLv3+; they’re actually LGPLv2.1+) • More Google Drive fixes and tests • Documentation improvements (including bumping the gtk-doc dependency to 1.25) • Google Calendar parsing fixes • Pagination fixes for more modern APIs (Calendar, Documents, Tasks, YouTube) • Pagination support in demo programs • Add a demo program for Google Tasks • Fix Google Calendar query parameters for v3 of the API • Disable PicasaWeb tests as PicasaWeb server is now mostly read-only • Deprecate Freebase service as Freebase server is now shutdown API changes: • Add GDataDocumentsEntry:file-size • Add gdata_parsable_get_content_type() • Add GDataFeed:next-page-token • Deprecate GDataCalendarQuery:recurrence-expansion-start • Deprecate GDataCalendarQuery:recurrence-expansion-end • Deprecate GDataCalendarQuery:sort-order • Deprecate everything to do with GDataFreebase* Bugs fixed: • Bug 684920 — Port to Google Drive API v2 • Bug 772756 — Take advantage of Unicode • Bug 773057 — Provide document file size • Bug 774179 — Fails to build VAPI file with GOA enabled • Bug 777980 — Add a public wrapper for GDataParsable:get_content_type • Bug 775813 — GTasks pagination doesn't work Updated translations: • cs (Marek Černocký) • da (Ask Hjorth Larsen) • de (Mario Blättermann) • es (Daniel Mustieles) • eu (Inaki Larranaga Murgoitio) • fi (Jiri Grönroos) • fr (Claude Paroz) • fur (Fabio Tomat) • hu (Gábor Kelemen) • id (Kukuh Syafaat) • it (Gianvito Cavasoli) • ko (Changwoo Ryu) • lt (Aurimas Černius) • lv (Rūdolfs Mazurs) • nb (Kjartan Maraas) • pl (Piotr Drąg) • pt (Tiago Santos) • pt_BR (Rafael Fontenelle) • sk (Dušan Kazik) • sl (Matej Urbančič) • sr (Марко М. Костић) • sv (Anders Jonsson) • zh_CN (Qizhi Zhou) • zh_TW (Chao-Hsiung Liao) Overview of changes from libgdata 0.17.5 to libgdata 0.17.6 =========================================================== Major changes: • Minor test case fixes • Fix a download crash on zero-length files (thanks Ondrej Holy) Bugs fixed: • Bug 768278 — release tarball 0.17.5 contains empty ChangeLog • Bug 768363 — dev-libs/libgdata-0.17.5 fails tests (on the alpha architecture, possibly elsewhere) • Bug 768282 — test-suite failure: ERROR: general - too few tests run (expected 98, got 2) • Bug 769727 — Crashes on zero-length files Updated translations: • en_GB (David King) • he (Yosef Or Boczko) • pl (Piotr Drąg) • th (Akom Chotiphantawanon) Overview of changes from libgdata 0.17.4 to libgdata 0.17.5 =========================================================== Major changes: • Google Drive documentation and test fixes • Minor memory leak fixes • Update autogen.sh to latest GNOME recommendations, fixing builddir ≠ srcdir Bugs fixed: • Bug 684920 — Port to Google Drive API v2 • Bug 759180 — Can't open PDF file shared in Google Drive • Bug 767784 — picasaweb: Clarify how to handle authentication failures during upload • Bug 767785 — Mention that GDataGoaAuthorizer uses OAuth 2.0 Updated translations: • cs (Marek Černocký) • da (Ask Hjorth Larsen) • de (Mario Blättermann) • el (Tom Tryfonidis) • es (Daniel Mustieles) • eu (Inaki Larranaga Murgoitio) • fr (Alexandre Franke) • fur (Fabio Tomat) • gl (Fran Dieguez) • id (Andika Triwidada) • it (Milo Casagrande) • ko (Changwoo Ryu) • lt (Aurimas Černius) • lv (Rūdolfs Mazurs) • hu (Balázs Meskó) • nb (Kjartan Maraas) • oc (Cédric Valmary) • pl (Piotr Drąg) • pt (Sérgio Cardeira) • pt_BR (Enrico Nicoletto, Rafael Fontenelle) • ru (Stas Solovey) • sk (Dušan Kazik) • sl (Matej Urbančič) • sr (Мирослав Николић) • sv (Anders Jonsson) • th (Akom Chotiphantawanon) • vi (Trần Ngọc Quân) • zh_CN (Jeff Bai) • zh_TW (Chao-Hsiung Liao) Overview of changes from libgdata 0.17.3 to libgdata 0.17.4 =========================================================== Major changes: • Download stream data corruption fixes and fixes to content length calculation • Fix symbol exporting on OS X • Fix copying and deleting documents in Google Drive • Fix folder creation in Google Drive • Fix metadata-only uploads in Google Drive • Fix searching by title in Google Drive API changes: • Remove a couple of incorrect GIR annotations Bugs fixed: • Bug 755976 — Seeking with GDataDownloadStream can be broken if a range was set in the HTTP request • Bug 754821 — Compilation issues on Mac OS X • Bug 758119 — make check fails in git master (3.19.x) • Bug 684920 — Port to Google Drive API v2 • Bug 758524 — Cannot search documents by title Updated translations: • cs (Marek Černocký) • da (Ask Hjorth Larsen) • de (Wolfgang Stöggl) • es (Daniel Mustieles) • eu (Iñaki Larrañaga Murgoitio) • hu (Balázs Meskó) • lt (Aurimas Černius) • lv (Rūdolfs Mazurs) • pl (Piotr Drąg) • pt (Pedro Albuquerque) • pt_BR (Enrico Nicoletto) • ru (Stas Solovey) • sk (Dušan Kazik) • sr (Марко Костић, Милош Поповић) • tr (Muhammet Kara) Overview of changes from libgdata 0.17.2 to libgdata 0.17.3 =========================================================== Major changes: • More Google Drive improvements • A few memory leak fixes and improvements in the unit tests API changes: • Soft API break for gdata_service_insert_entry() when creating Google Drive folders — you must now use gdata_documents_service_add_entry_to_folder() due to changes on the server API (see https://bugzilla.gnome.org/show_bug.cgi?id=684920) • Remove two unused symbols from the export list; these were never intended to be public API: gdata_freebase_result_error_get_type, gdata_freebase_result_error_quark Bugs fixed: • Bug 684920 — Port to Google Drive API v2 • Bug 754821 — Compilation issues on Mac OS X Updated translations: • cs (Marek Černocký) • de (Paul Seyfert) • el (Tom Tryfonidis) • es (Daniel Mustieles) • fr (Bruno Brouard) • gl (Fran Dieguez) • hu (Balázs Úr) • id (Andika Triwidada) • it (Claudio Arseni) • ko (Changwoo Ryu) • lt (Aurimas Černius) • nb (Kjartan Maraas) • pl (Piotr Drąg) • pt (Pedro Albuquerque) • sk (Dušan Kazik) • sl (Matej Urbančič) • sv (Anders Jonsson, Mattias Eriksson) • th (Akom Chotiphantawanon) • zh_TW (Chao-Hsiung Liao) Overview of changes from libgdata 0.17.1 to libgdata 0.17.2 =========================================================== Major changes: • More Google Drive API porting • Port from v2 to v3 of the Calendar API • Update and re-enable a lot of unit tests (streams, youtube, freebase, calendar). • Add calendar-cli demo • Port to use installed-tests; this adds --enable-always-build-tests and --enable-installed-tests configure options • Port to autoconf-archive macros and add an implicit build-time dependency on autoconf-archive • Allow applications to store and restore the refresh token for a GDataOAuth2Authorizer to avoid re-authenticating on each startup • Bump libuhttpmock dependency to 0.5.0 API changes: • Add gdata_calendar_service_insert_calendar_event(), gdata_calendar_service_insert_calendar_event_async() • Deprecate GDataCalendarCalendar:times-cleaned, gdata_calendar_calendar_get_times_cleaned(), GDataCalendarCalendar:edited, gdata_calendar_calendar_get_edited() • Deprecate GDataCalendarFeed:timezone, gdata_calendar_feed_get_timezone(), GDataCalendarFeed:times-cleaned, gdata_calendar_feed_get_times_cleaned() • Add GDataAccessHandlerIface.get_rules as a virtual method backing gdata_access_handler_get_rules() • Add GDataCalendarAccessRule • Add GDataDocumentsAccessRule • Add gdata_oauth2_authorizer_dup_refresh_token(), gdata_oauth2_authorizer_set_refresh_token() • Add GDataBatchable.is_supported virtual function Bugs fixed: • Bug 684920 — Port to Google Drive API v2 • Bug 664353 — Upgrade to Calendar API version 3 • Bug 750335 — Silence a bunch of warnings • Bug 750480 — Fix -Werror build for clang • Bug 750395 — Fix the GDataAccessRule example • Bug 750746 — Cold start OAuth2 authorization • Bug 751782 — Enable Drive authorization domains if a GOA account has "files" enabled • Bug 750914 — Build fails because -Werror=unused-function Updated translations: • oc (Cédric Valmary (Tot en òc)) • pl (Piotr Drąg) • pt (Pedro Albuquerque) • th (Akom Chotiphantawanon) Overview of changes from libgdata 0.17.0 to libgdata 0.17.1 =========================================================== Major changes: • Correctly increment LT version; this release should always be used instead of 0.17.0 Overview of changes from libgdata 0.16.0 to libgdata 0.17.0 =========================================================== Major changes: • Port from v2 to v3 of the YouTube API — your client’s developer key may stop working due to never being conigured for v3; refresh it here: https://developers.google.com/youtube/registering_an_application • Port from the Google Docs API to the Google Drive API (v2) — the same libgdata APIs should continue to work unchanged • Both the YouTube and Drive API ports are not thoroughly tested, and a number of unit tests have been disabled temporarily; code quality will be ramped up again in subsequent releases • Add support for OAuth 2.0 authorisation • Commit to API and ABI stability • Add --disable-tests configure flag to skip building tests • Various improvements to the unit tests • Fix pagination handling in Google Docs • Add demo applications for Google Docs and YouTube • Various Freebase fixes, including a huge number of new tests and authentication fixes • Various JSON parser fixes • Note that the Calendar v2 API has now been withdrawn; there has not been enough time to port libgdata to version 3 (ongoing: https://bugzilla.gnome.org/show_bug.cgi?id=664353), but clients can (and should, regardless) use the CalDAV API provided by Google Calendar API changes: • Add GDATA_OAUTH2_REDIRECT_URI_OOB • Add GDATA_OAUTH2_REDIRECT_URI_OOB_AUTO • Add GDataOAuth2Authorizer • Add API padding and commit to API stability • Add GDataServiceClass.parse_feed • Add gdata_freebase_search_result_item_get_type(), GDATA_TYPE_FREEBASE_SEARCH_RESULT_ITEM • Add GDATA_CATEGORY_SCHEMA_LABELS_SHARED • Add GDATA_CATEGORY_SCHEMA_LABELS_VIEWED • Add GDataYouTubeFeed • Deprecate GDataYouTubeQuery:format, gdata_youtube_query_get_format(), gdata_youtube_query_set_format() • Deprecate GDataYouTubeQuery:has-location • Deprecate GDataYouTubeQuery:language, gdata_youtube_query_get_language(), gdata_youtube_query_set_language() • Deprecate GDataYouTubeQuery:sort-order, gdata_youtube_query_get_sort_order(), gdata_youtube_query_set_sort_order() • Deprecate GDataYouTubeQuery:uploader, gdata_youtube_query_get_uploader(), gdata_youtube_query_set_uploader() • Deprecate GDataYouTubeSortOrder • Deprecate GDataYouTubeUploader • Deprecate GDataYouTubeContent • Deprecate GDataYouTubeFormat • Deprecate GDataYouTubeVideo:video-id, gdata_youtube_video_get_video_id() • Deprecate gdata_youtube_video_look_up_content() (use gdata_youtube_video_get_player_uri() instead) • Deprecate GDATA_YOUTUBE_RATING_TYPE_SIMPLE • Deprecate GDataYouTubeCredit, GDATA_YOUTUBE_CREDIT_ENTITY_PARTNER • Deprecate GDataYouTubeVideo:credit, gdata_youtube_video_get_credit() • Deprecate GDataYouTubeVideo:is-draft, gdata_youtube_video_is_draft(), gdata_youtube_video_set_is_draft() • Deprecate GDATA_YOUTUBE_*_FEED except GDATA_YOUTUBE_MOST_POPULAR_FEED (all others have been deprecated online and will transparently return the most popular videos from the past 24 hours) • GDataYouTubeQuery:restriction no longer accepts IP addresses • All GDataCommentable functionality on GDataYouTubeVideo is disabled at runtime until the v3 YouTube API for comments is finished online • Not all properties of a GDataYouTubeVideo may be retrieved when doing searches, retrieving related videos, or listing standard feeds — to guarantee getting all properties, use gdata_service_query_single_entry() for the video in question; common properties such as title, description, player URI and thumbnails will always be retrieved • Deprecate GDataDocumentsEntry:edited Bugs fixed: • Bug 646285 — Add OAuth 2 support • Bug 657539 — Add support for Google Tasks • Bug 739395 — Add an option to build without uhttpmock • Bug 737799 — Error while updating google address book • Bug 739956 — libgdata-0.16.1: tests fail • Bug 741345 — Paging does not work • Bug 737539 — Freebase: topic results are shallower than expected • Bug 737936 — Freebase: Add GType for GDataFreebaseSearchResultItem • Bug 737540 — Freebase: async topic queries use the wrong result gtype • Bug 737541 — freebase: search query buglets • Bug 742472 — Freebase: Pass API key on all service requests • Bug 742473 — Small freebase oauth2 access bugs • Bug 687597 — Update to YouTube API v3 • Bug 684920 — Port to Google Drive API v2 Updated translations: • bg (Alexander Shopov) • bs (Samir Ribić) • da (Aputsiaq Niels Janussen) • de (Bernd Homuth) • et (Mattias Põldaru) • pa (A S Alam) • sk (Dušan Kazik) • sr (Мирослав Николић) • sv (Mattias Eriksson) • tr (Muhammet Kara) • zh_CN (Iris Gou) Overview of changes from libgdata 0.15.2 to libgdata 0.16.0 =========================================================== Major changes: • Update date parsing to handle recent changes in Google’s servers • Support ACLs with keys (e.g. for link-only sharing of documents) • Add gzip encoding support for network packet compression • Support for libsoup ≥ 2.47.3 (but the dependency has not been bumped) • Basic test suite for the Google Tasks service • Fix mutex warnings with new GLib versions API changes: • Add GDataAccessRule:key • Add gdata_access_rule_get_key() • Add GDATA_TASKS_STATUS_NEEDS_ACTION • Add GDATA_TASKS_STATUS_COMPLETED • Deprecate the ‘q’ parameter of gdata_tasks_query_new() • Add GDATA_SERVICE_ERROR_API_QUOTA_EXCEEDED Bugs fixed: • Bug 732809 — evolution-3.12.3: cannot edit google contact due to invalid format of timestamp • Bug 734863 — Google contacts without email address block search/autocomplete • Bug 690628 — element Not Handled by libgdata • Bug 703192 — The global log handler interferes with other application • Bug 666623 — Add gzip encoding support Updated translations: • as (Nilamdyuti Goswami) • ca (Gil Forcada) • cs (Marek Černocký) • fr (Bruno Brouard) • gu (Sweta Kothari) • he (Yosef Or Boczko) • hu (Balázs Úr) • id (Andika Triwidada) • it (Claudio Arseni) • ko (Changwoo Ryu) • lv (Rūdolfs Mazurs) • nb (Kjartan Maraas) • ru (Yuri Myasoedov) • sl (Matej Urbančič) • zh_HK (Chao-Hsiung Liao) • zh_TW (Chao-Hsiung Liao) Overview of changes from libgdata 0.15.1 to libgdata 0.15.2 =========================================================== Major changes: • Support PicasaWeb in the GOA authoriser (thanks to Saurav Agarwalla) • Fix a data corruption bug in the downloads/uploads code Bugs fixed: • Bug 731269 — Wrong scope information in authorization domain • Bug 731949 — Memory leak from gdata_parser_int64_to_iso8601() • Bug 731946 — Removing a task result in error, but succeeds • Bug 732890 — Refresh authoriser on receiving SOUP_STATUS_NOT_FOUND Updated translations: • el (Tom Tryfonidis) • en_GB (Philip Withnall) • es (Daniel Mustieles) • eu (Iñaki Larrañaga Murgoitio) • gl (Fran Dieguez) • lt (Aurimas Černius) • pt_BR (Enrico Nicoletto) • sv (Anders Jonsson) Overview of changes from libgdata 0.15.0 to libgdata 0.15.1 =========================================================== Major changes: • Add a Freebase service and demo (thanks to Carlos Garnacho) • Various minor fixes to make libgdata compile without Coverity errors API changes: • Add GDATA_LINK_PARENT • Add GDataFreebase* Bugs fixed: • Bug 707477 — Fill in GDataCategory::label for GDataDocumentsDocument instances • Bug 725827 — Define GDATA_LINK_PARENT • Bug 726486 — Add support for the Freebase service Updated translations: • ca (Gil Forcada) • da (Aputsiaq Niels Janussen) • de (Benjamin Steinwender) • eu (Iñaki Larrañaga Murgoitio) • fr (Bruno Brouard) • he (Yosef Or Boczko) • ko (Changwoo Ryu) • lv (Rūdolfs Mazurs) • nb (Kjartan Maraas) • pl (Piotr Drąg, Aviary.pl) • pt (Tiago S.) • ru (Yuri Myasoedov) • zh_HK (Chao-Hsiung Liao) • zh_TW (Chao-Hsiung Liao) Overview of changes from libgdata 0.14.0 to libgdata 0.15.0 =========================================================== Major changes: • Add JSON support and a Google Tasks service (thanks to Pēteris Krišjānis) - This adds a dependency on json-glib ≥ 0.15 and breaks ABI (but not API) • Add support for GProxyResolver proxies (thanks to Matthew Barnes) • Fix build with recent gnome-common versions • Fix build and installed header files for C++ • Remove deprecated function calls • Fix compilation with -fstrict-aliasing • Port local tests to use libuhttpmock (which is a new dependency) API changes: • Add gdata_parsable_new_from_json() • Add gdata_parsable_get_json() • Add GDataParsable->get_content_type • Add GDataService:proxy-resolver, gdata_service_get_proxy_resolver(), gdata_service_set_proxy_resolver() • Add GDataClientLoginAuthorizer:proxy-resolver, gdata_client_login_authorizer_get_proxy_resolver(), gdata_client_login_authorizer_set_proxy_resolver() • Add GDataOAuth1Authorizer:proxy-resolver, gdata_oauth1_authorizer_get_proxy_resolver(), gdata_oauth1_authorizer_set_proxy_resolver() • Add Google Tasks service: GDataTasksService, GDataTasksQuery, GDataTasksTasklist, GDataTasksTask Bugs fixed: • Bug 712565 — Fix compilation's warnings • Bug 719647 — gdata-goa-authorizer.h broken for C++ Updated translations: • as (Nilamdyuti Goswami) • be (Ihar Hrachyshka) • ca (Gil Forcada) • cs (Marek Černocký) • da (Aputsiaq Niels Janussen) • de (Christian Kirbach) • el (Dimitris Spingos, Efstathios Iosifidis) • es (Daniel Mustieles) • et (Mattias Põldaru) • fi (Jiri Grönroos) • fr (Bruno Brouard) • gl (Fran Dieguez) • hu (Gabor Kelemen) • id (Andika Triwidada) • it (Claudio Arseni, Milo Casagrande) • ja (Jiro Matsuzawa) • ko (Changwoo Ryu) • lt (Aurimas Černius) • lv (Rūdolfs Mazurs) • nb (Kjartan Maraas) • pa (A S Alam) • pl (Piotr Drąg) • pt (António Lima) • pt_BR (Enrico Nicoletto) • ru (Yuri Myasoedov) • sk (Ján Kyselica) • sl (Matej Urbančič) • sr (Мирослав Николић) • th (Akom Chotiphantawanon) • zh_CN (甘露) • zh_HK (Chao-Hsiung Liao) • zh_TW (Chao-Hsiung Liao) Overview of changes from libgdata 0.13.4 to libgdata 0.14.0 =========================================================== Updated translations: • ca (Gil Forcada) • cs (Marek Černocký) • de (Christian Kirbach) • el (Dimitris Spingos) • es (Daniel Mustieles) • fr (Alexandre Franke) • he (Yaron Shahrabani) • it (Claudio Arseni) • lt (Aurimas Černius) • nb (Kjartan Maraas) • nl (Reinout van Schouwen) • pt_BR (Rafael Ferreira) • sl (Matej Urbančič) • th (Akom Chotiphantawanon) • zh_HK (Chao-Hsiung Liao) • zh_TW (Chao-Hsiung Liao) Overview of changes from libgdata 0.13.3 to libgdata 0.13.4 =========================================================== Major changes: • Fixes to request cancellation and progress notification • Fix tests to be more reliable in the face of distributed system non-synchronisation • Add support for running tests offline using stored HTTP request traces API changes: • Added GDATA_YOUTUBE_SERVICE_ERROR_CHANNEL_REQUIRED Bugs fixed: • Bug 627895 — Pretty-print XML in test output • Bug 703192 — The global log handler interferes with other application • Bug 705266 — make check fails Updated translations: • eu (Iñaki Larrañaga Murgoitio) • gl (Fran Diéguez) • pl (Piotr Drąg) • pt (António Lima) • tg (Victor Ibragimov) Overview of changes from libgdata 0.13.2 to libgdata 0.13.3 =========================================================== Major changes: • Fix dependencies in pkg-config file • Add OAuth 2.0 support to the GOA authoriser • Fix some licencing inconsistencies (libgdata is entirely licenced under LGPLv2.1+) • Add support for PDF documents in Google Documents • Add in-tree Vala bindings (they were previously in Vala’s tree) Bugs fixed: • Bug 685464 — [PATCH] Package config file depends on too much • Bug 685289 — GOA now uses OAuth 2.0 for Calendar, Contacts and Documents • Bug 690281 — do not add unused gnome dependencies to libgdata.pc when configured with --disable-gnome • Bug 690225 — [patch] Make GOA optional • Bug 690656 — unhandled XML warnings from totem youtube plugin • Bug 693855 — Port introspection fixes from Vala bindings • Bug 693958 — Add PDF support • Bug 693865 — Add Vala bindings • Bug 694415 — Don't require introspection.m4 to be installed system-wide Updated translations: • et (Mattias Põldaru) • sk (Ján Kyselica) • ug (Gheyret Kenji) Overview of changes from libgdata 0.13.1 to libgdata 0.13.2 =========================================================== Major changes: • Expand the documentation and add more examples • Explicitly check for libxml2 in configure • Port code coverage support to use gnome-common Bugs fixed: • Bug 683209 — Port to gnome-common code coverage macros Updated translations: • as (Nilamdyuti Goswami) • bg (Alexander Shopov) • ca (Joan Duran) • cs (Marek Černocký) • da (Ask H. Larsen) • de (Mario Blättermann) • el (Tom Tryfonidis) • es (Daniel Mustieles) • fr (Alexandre Franke) • gl (Fran Dieguez, Leandro Regueiro) • hi (Rajesh Ranjan) • hu (Gabor Kelemen) • it (Milo Casagrande) • ko (Changwoo Ryu) • lt (Aurimas Černius) • lv (Rūdolfs Mazurs) • ml (Anish A) • pa (A S Alam) • pl (Piotr Drąg) • pt (António Lima) • pt_BR (Rafael Ferreira) • ru (Yuri Kozlov) • te (Krishnababu Krothapalli) • th (Akom Chotiphantawanon) • tr (Muhammet Kara) • vi (Nguyễn Thái Ngọc Duy) • zh_HK (Chao-Hsiung Liao) • zh_TW (Chao-Hsiung Liao) Overview of changes from libgdata 0.13.0 to libgdata 0.13.1 =========================================================== Major changes: • Add support for Google Drawings • Fix some of the test suite • Add support for copying Google documents • Moved GOA authoriser from EDS/GNOME Documents into libgdata (adding a GOA dependency) • Remove libgnome-keyring dependency in favour of libgcr-base API changes: • Added GDataDocumentsDrawing • Added gdata_documents_service_copy_document(), gdata_documents_service_copy_document_async(), gdata_documents_service_copy_document_finish() • Added GDataGoaAuthorizer • Added gdata_documents_document_get_download_uri() Bugs fixed: • Bug 633548 — Add Google Drawings support • Bug 679072 — Tests for all Google services fail • Bug 607270 — Support copying documents • Bug 656976 — Merge eds and GNOME Documents GOA authorisers • Bug 679867 — Use libgcr-base instead of libgnome-keyring for secure memory • Bug 656970 — Add thumbnail support Updated translations: • be (Ihar Hrachyshka) • bg (Alexander Shopov) • el (Γιώργος Στεφανάκης, Tom Tryfonidis) • en_GB (Philip Withnall) • es (Daniel Mustieles) • gl (Fran Dieguez) • he (Yaron Shahrabani) • id (Andika Triwidada) • nb (Kjartan Maraas) • nl (Willem Heppe, Wouter Bolsterlee) • sl (Matej Urbančič) • sr (Мирослав Николић) • te (Sasi Bhushan Boddepalli) • zh_HK (Chao-Hsiung Liao) • zh_TW (Chao-Hsiung Liao) Overview of changes from libgdata 0.12.0 to libgdata 0.13.0 =========================================================== Major changes: • Bump GLib dependency to 2.31.0 in order to use its new threading primitives • Add basic support for resumable uploads to GDataUploadStream (bug #607272) • Update support for Google Documents to v3 of the API • Add support for arbitrary file uploads to Google Documents (using GDataDocumentsDocuemtn), and document conversion on upload (using GDataDocumentsUploadQuery) API changes: • Added gdata_upload_stream_new_resumable() • Added GDataUploadStream:content-length, gdata_upload_stream_get_content_length() • Added gdata_documents_service_upload_document_resumable() • Added gdata_documents_service_update_document_resumable() • Added GDataDocumentsUploadQuery • Made GDataDocumentsDocument instantiable (this isn’t a real API break, though) • Added GDATA_DOCUMENTS_TEXT_JPEG • GDataDocumentsEntry:quota-used, gdata_documents_entry_get_quota_used() Bugs fixed: • Bug 593537 — Upgrade Documents service to version 3.0 • Bug 607616 — Permit the uploading of documents of any type • Bug 656971 — Deprecate GDataDocumentsDocument subclasses • Bug 588714 — handling in GDataDocumentsEntry Updated translations: • ca (Jordi Serratosa) • en_GB (Philip Withnall) • es (Daniel Mustieles) • he (Yaron Shahrabani) • sv (Daniel Nylander) Overview of changes from libgdata 0.11.0 to libgdata 0.11.1 =========================================================== Major changes: * Bump libsoup dependency to 2.37.91 in order to ensure it checks the validity of TLS certificates before accepting them (Note that this was implemented in 0.10.2 using a --with-ca-certs configure argument. This argument isn't necessary with 0.11.1, since the newer libsoup version which 0.11.1 requires already knows where the system CA cert file is.) Bugs fixed: * Bug 667577 — fix introspection for srcdir != builddir builds * Bug 668365 — libgdata 0.10.x link error because of exported symbols that don't exist * Bug 671535 — Security issue in libgdata Updated translations: * be (Kasia Bondarava) * te (Praveen Illa) * uk (Korostil Daniel) Overview of changes from libgdata 0.10.0 to libgdata 0.11.0 =========================================================== Major changes: * Added version checking macros (thanks to Holger Berndt) * Ported scrapbook demo to GtkGrid; this sets our GTK+ dependency to 2.91.2 * Added a LIBGDATA_DISABLE_DEPRECATED macro for disabling deprecated API in headers * Sensitive details (passwords, auth. tokens, etc.) are now redacted from logs unless LIBGDATA_DEBUG=4 is set (which is a new logging level) * Sensitive details are also now stored in non-pageable memory as much as possible to reduce the risk of them being leaked NOTE: This has not been formally certified or reviewed, and is a precaution rather than a guarantee of security This adds a dependency on libgnome-keyring when libgdata is configured with --enable-gnome (and is disabled otherwise) * Use GHmac instead of liboauth's HMAC; this bumps our GLib dependency to 2.30.0 * Use the new GLib threading API iff compiled with GLib ≥ 2.31.0 (this doesn't bump the hard dependency, though) API changes: * Added GDATA_MAJOR_VERSION, GDATA_MINOR_VERSION, GDATA_MICRO_VERSION, GDATA_CHECK_VERSION * Added GDataDocumentsEntry:resource-id, gdata_documents_entry_get_resource_id() * Deprecated GDataDocumentsEntry:document-id, gdata_documents_entry_get_document_id() * Added GDataYouTubeQuery:license, gdata_youtube_query_get_license(), gdata_youtube_query_set_license() * Deprecated GDATA_DOCUMENTS_PRESENTATION_SWF * Added GDATA_CATEGORY_SCHEMA_LABELS, GDATA_CATEGORY_SCHEMA_LABELS_STARRED * Added GDataContactsContact:file-as, gdata_contacts_contact_get_file_as(), gdata_contacts_contact_set_file_as() Bugs fixed: * Bug 659016 — @rel not mandatory in website references * Bug 660038 — Add preprocessor macro for version checking * Bug 656972 — Tidy up document IDs * Bug 658865 — Add support for the license query parameter * Bug 660174 — Deprecate SWF export of presentations * Bug 659148 — Add search-term query example to documentation * Bug 656973 — Add an example of starring a document * Bug 656783 — Review security of memory storing authentication details * Bug 662290 — Can't update contact that has no full name Updated translations: * as (Nilamdyuti Goswami) * da (Aputsiaq Niels Janussen) * eu (Iñaki Larrañaga Murgoitio) * fi (Tommi Vainikainen) * hu (Gabor Kelemen) * it (Claudio Arseni) * ja (Jiro Matsuzawa) * kn (Shankar Prasad) * ko (Changwoo Ryu) * lt (Žygimantas Beručka) * lv (Rūdofls Mazurs) * or (Manoj Kumar Giri) * pa (A S Alam) * pl (Piotr Drąg) * pt (António Lima) * pt_BR (Flamarion Jorge) * sr (Мирослав Николић) * ta (I Felix) * vi (Nguyễn Thái Ngọc Duy) * zh_CN (YunQiang Su) * zh_HK (Chao-Hsiung Liao) * zh_TW (Chao-Hsiung Liao) Overview of changes from libgdata 0.9.1 to libgdata 0.10.0 ========================================================== Major changes: * Added support for comments to YouTube and PicasaWeb (thanks to Richard Schwarting) * Added a “scrapbook” demo application (thanks to Joe Cortes) * Added lots of cancellation tests API changes: * Added GDataCommentable * Added GDataComment, GDataYouTubeComment, GDataPicasaWebComment * Added gdata_entry_remove_link() * Added gdata_youtube_video_get_media_rating(), GDATA_YOUTUBE_RATING_TYPE_SIMPLE, GDATA_YOUTUBE_RATING_TYPE_MPAA, GDATA_YOUTUBE_RATING_TYPE_V_CHIP Bugs fixed: * Bug 618587 — Implement GDataGDFeedLink * Bug 598752 — Support comments * Bug 647882 — Support rating schemes * Bug 628069 — Add some demo applications * Bug 656529 — undefined references trying to compile/build libgdata * Bug 633364 — Add cancellation tests Updated translations: * bg (Alexander Shopov) * ca, ca@valencia (Gil Forcada) * cs (Andre Klapper) * de (Mario Blättermann) * eo (Kristjan SCHMIDT) * es (Jorge González) * fr (Bruno Brouard) * gl (Fran Diéguez) * he (Yaron Shahrabani) * id (Andika Triwidada) * lt (Aurimas Černius) * lv (Rūdofls Mazurs) * nb (Kjartan Maraas) * ru (Yuri Kozlov) * sl (Matej Urbančič) * sv (Daniel Nylander) * th (Akom Chotiphantawanon) * ug (Gheyret Kenji) Overview of changes from libgdata 0.9.0 to libgdata 0.9.1 ========================================================= Major changes: * Added GDestroyNotify parameters to query-type methods so that they're properly introspectable, breaking API (see below) * Fixed seeking in GDataDownloadStream * Made the tests individually idempotent, so the test suites should be less of a tangled mess now * Fixed uploading to non-default PicasaWeb albums * Fixed GDataAuthorizer to re-process requests after refreshing, involving a slight change to the semantics of GDataAuthorizer (see bgo#653535) * Ensure that Google Contacts uses HTTPS for everything * Fixed the IDs used for Google Documents so that deleting documents now consistently works, even when they're in folders API changes: * Changed the following methods, adding GDestroyNotify parameters for their progress user data parameters: - gdata_access_handler_get_rules_async() - gdata_service_query_async() - gdata_calendar_service_query_all_calendars_async() - gdata_calendar_service_query_own_calendars_async() - gdata_calendar_service_query_events_async() - gdata_contacts_service_query_contacts_async() - gdata_contacts_service_query_groups_async() - gdata_documents_service_query_documents_async() - gdata_picasaweb_service_query_all_albums_async() - gdata_picasaweb_service_query_files_async() - gdata_youtube_service_query_standard_feed_async() - gdata_youtube_service_query_videos_async() - gdata_youtube_service_query_related_async() * Added GDataCalendarQuery:max-attendees, gdata_calendar_query_get_max_attendees(), gdata_calendar_query_set_max_attendees() * Added GDataCalendarQuery:show-deleted, gdata_calendar_query_show_deleted(), gdata_calendar_query_set_show_deleted() * Added gdata_picasaweb_service_get_user_async(), gdata_picasaweb_service_get_user_finish() Bugs fixed: * Bug 649728 — Add introspection annotations for documents_service_query(_async) * Bug 639405 — Add max-attendees query parameter * Bug 637664 — Fix GSeekable interface implementation in GDataDownloadStream * Bug 633359 — Make tests individually idempotent * Bug 653535 — Let GDataAuthorizer re-process request after refreshing * Bug 653530 — Bogus run-time warnings * Bug 653224 — Add gdata_picasaweb_service_get_user_async() Updated translations: * ca, ca@valencia (Joan Duran) * cs (Andre Klapper) * de (Mario Blättermann) * es (Daniel Mustieles) * fi (Tommi Vainikainen) * gl (Fran Diéguez) * he (Yaron Shahrabani) * lt (Aurimas Černius) * ru (Yuri Kozlov) * sl (Matej Urbančič) * sr (Мирослав Николић) * sv (Daniel Nylander) * tr (Muhammet Kara) Overview of changes from libgdata 0.8.0 to libgdata 0.9.0 ========================================================= Major changes: * Switched to even–odd/stable–unstable versioning (so 0.9.0 is an *unstable* release) * Use HTTPS for all requests * Some minor parsing fixes * Fixed some nasty threading/cancellation problems * Removed the old authentication API in favour of a more extensible, flexible one based on a GDataAuthorizer interface: - ClientLogin is now handled by GDataClientLoginAuthorizer - OAuth 1.0 support has been added with GDataOAuth1Authorizer * Added a dependency on liboauth ≥ 0.9.4 * Introspection annotation improvements by Philip Chimento * Removed some outdated contact photo API API changes: * Added GDATA_AUTHENTICATION_ERROR_INVALID_SECOND_FACTOR (later renamed to GDATA_CLIENT_LOGIN_AUTHORIZER_ERROR_INVALID_SECOND_FACTOR as below). * Rename GDataAuthenticationError to GDataClientLoginAuthorizerError * Rename GDATA_AUTHENTICATION_ERROR and gdata_authentication_error_quark() similarly. * Remove gdata_service_authenticate() in favour of using GDataClientLoginAuthorizer with GDataService::authorizer: - Remove gdata_service_authenticate(), gdata_service_authenticate_async() and gdata_service_authenticate_finish(). - Replace gdata_service_is_authenticated() by gdata_service_is_authorized() with much the same functionality. - Add GDataService::authorizer, gdata_service_get_authorizer(), gdata_service_set_authorizer() and gdata_service_get_authorization_domains(). - Remove gdata_service_get_client_id() in favour of GDataClientLoginAuthorizer::client-id. - Remove gdata_service_get_username() in favour of GDataClientLoginAuthorizer::username. - Remove gdata_service_get_password() in favour of GDataClientLoginAuthorizer::password. - Remove GDataServiceClass->service_name in favour of GDataAuthorizationDomain::service-name. - Remove GDataServiceClass->authentication_uri and GDataServiceClass->parse_authentication_response in favour of different GDataAuthorizer implementations. - Add GDataAuthorizer parameters to and remove client_id parameters from: gdata_calendar_service_new(), gdata_contacts_service_new(), gdata_documents_service_new(), gdata_picasaweb_service_new() and gdata_youtube_service_new(). * Add GDataAuthorizationDomain. - Add GDataServiceClass->get_authorization_domains and gdata_service_get_authorization_domains(). - Add auth. domain getters to various GDataService subclasses: gdata_youtube_service_get_primary_authorization_domain(), gdata_contacts_service_get_primary_authorization_domain(), gdata_calendar_service_get_primary_authorization_domain(), gdata_picasaweb_service_get_primary_authorization_domain(), gdata_documents_service_get_primary_authorization_domain() and gdata_documents_service_get_spreadsheet_authorization_domain(). - Add auth. domain properties to various standalone request objects: GDataDownloadStream::authorization-domain with gdata_download_stream_get_authorization_domain(), GDataUploadStream::authorization-domain with gdata_upload_stream_get_authorization_domain() and GDataBatchOperation::authorization-domain with gdata_batch_operation_get_authorization_domain(). - Add GDataAccessHandlerIface->get_authorization_domain. This doesn't have to be implemented by existing GDataAccessHandlers, but it's highly recommended. - Add a GDataAuthorizationDomain parameter to GDataServiceClass->append_query_headers, gdata_service_query(), gdata_service_query_async(), gdata_service_query_single_entry(), gdata_service_query_single_entry_async(), gdata_service_insert_entry(), gdata_service_insert_entry_async(), gdata_service_update_entry(), gdata_service_update_entry_async(), gdata_service_delete_entry(), gdata_service_delete_entry_async(), gdata_batchable_create_operation(), gdata_download_stream_new() and gdata_upload_stream_new(). * Add GDataAuthorizer as described above, implemented by GDataClientLoginAuthorizer. * Add GDataOAuth1Authorizer and all its properties and methods. * Remove gdata_contacts_contact_has_photo() and GDataContactsContact:has-photo (use gdata_contacts_contact_get_photo_etag() instead). Bugs fixed: * Bug 642983 — libgdata-0.8.0: test fail with --enable-gtk-doc * Bug 644940 — Use HTTPS only * Bug 644946 — Support two-factor authentication * Bug 639610 — Allow access to a contact's photo ETag * Bug 648058 — Doesn't allow empty names for user defined fields * Bug 650835 — [abrt] evolution-data-server-3.0.1-1.fc15: Process /usr/libexec/e-addressbook-factory was killed by signal 6 (SIGABRT) Updated translations: * as (Nilamdyuti Goswami) * da (Kris Thomsen) * de (Wolfgang Stöggl) * bg (Ivaylo Valkov) * bn_IN (Runa Bhattacharjee) * ca (Joan Duran) * cs (Marek Černocký) * de (Mario Blättermann) * el (Γιώργος Στεφανάκης, Michael Kotsarinis) * en_GB (Bruce Cowan) * eo (Kristjan SCHMIDT) * es (Daniel Mustieles, Jorge González) * eu (Iñaki Larrañaga Murgoitio) * fr (Bruno Brouard) * gl (Leandro Regueiro, Fran Diéguez) * gu (Sweta Kothari) * he (Yaron Shahrabani) * hi (Rajesh Ranjan) * hu (Gabor Kelemen) * id (Andika Triwidada) * it (Claudio Arseni) * kn (Shankar Prasad) * ko (Changwoo Ryu) * lv (Rudolfs) * mr (Sandeep Shedmake) * nb (Kjartan Maraas) * or (Manoj Kumar Giri) * pa (A S Alam) * pl (Piotr Drąg) * pt (António Lima) * pt_BR (Rodrigo Padula de Oliveira) * ro (Lucian Adrian Grijincu) * ru (Yuri Kozlov) * sl (Matej Urbančič) * sr, sr@latin (Мирослав Николић) * sv (Daniel Nylander) * th (Akom Chotiphantawanon) * tr (Senol Korkmaz) * ug (Gheyret Kenji) * uk (Korostil Daniel) * zh_CN (ben) * zh_HK (Chao-Hsiung Liao) * zh_TW (Chao-Hsiung Liao) Overview of changes from libgdata 0.7.0 to libgdata 0.8.0 ========================================================= Major changes: * Added async counterparts to all remaining blocking methods * Added various cancellation tests to the test suite * Many fixes and improvements for cancellation of various operations * Fixed many race conditions in authentication and cancellation of operations * Removed the separate youtube-user property for YouTube authentication * Fixed attribute escaping across all of libgdata * Removed some deprecated PicasaWeb properties (file clients and positions) * Switched to stream-based downloading for all download operations * Tidied up (i.e. broke) the Documents service API a lot * Tidied up a few test cases and made them idempotent * Fixed several minor and major memory leaks * Ensured that batch operations' callbacks are always called, even if the entire batch operation errors out * Bumped our gdk-pixbuf dependency to 2.14 * Fixed all the XML comparison tests in light of an invalid assumption we made about hash table ordering being broken * Added GeoRSS support to YouTube videos * Overhauled download and upload streams, fixing many race conditions and deadlocks and adding some test cases * Added support for flushing GDataUploadStream instances * Added many code examples to the documentation and expanded a few other bits of the documentation API changes: * Added gdata_picasaweb_service_insert_album_async() * Added gdata_picasaweb_service_query_files_async() * Removed GDataYouTubeService:youtube-user, gdata_youtube_service_get_youtube_user() * Removed GDataPicasaWebFile:client, gdata_picasaweb_file_get_client(), gdata_picasaweb_file_set_client() * Removed GDataPicasaWebFile:position, gdata_picasaweb_file_get_position(), gdata_picasaweb_file_set_position() * Changed gdata_documents_document_download() to be stream-based * Changed gdata_documents_service_upload_document(), gdata_documents_service_update_document() to be stream-based * Added gdata_documents_service_finish_upload() * Renamed gdata_documents_service_move_document_to_folder() to gdata_documents_service_add_entry_to_folder() * Renamed gdata_documents_service_remove_document_from_folder() to gdata_documents_service_remove_entry_from_folder() * Added gdata_documents_service_add_entry_to_folder_async(), gdata_documents_service_add_entry_to_folder_finish() * Added gdata_documents_service_from_entry_from_folder_async(), gdata_documents_service_from_entry_from_folder_finish() * Changed GDataDownloadStream::content-length, GDataDownloadStream::content-type to be emitted in the download thread rather than the main thread * Changed gdata_picasaweb_service_upload_file() to be stream-based * Removed gdata_picasaweb_service_upload_file_async(), gdata_picasaweb_service_upload_file_finish() * Added gdata_picasaweb_service_finish_file_upload() * Changed gdata_media_content_download() to be stream-based * Changed gdata_media_thumbnail_download() to be stream-based * Changed gdata_youtube_service_upload_video() to be stream-based * Added gdata_youtube_service_finish_video_upload() * Added gdata_calendar_service_query_events_async() * Added gdata_calendar_service_insert_event_async() * Changed gdata_contacts_contact_get_photo(), gdata_contacts_contact_set_photo() to use guint8 instead of gchar for image data * Added gdata_contacts_contact_get_photo_async(), gdata_contacts_contact_get_photo_finish() * Changed gdata_contacts_contact_set_photo() to require a content type to be passed in * Added gdata_contacts_contact_set_photo_async(), gdata_contacts_contact_set_photo_finish() * Added GDataYouTubeVideo:latitude, GDataYouTubeVideo:longitude, gdata_youtube_video_get_coordinates(), gdata_youtube_video_set_coordinates() * Changed gdata_upload_stream_new() to take a GCancellable * Added GDataUploadStream:cancellable, gdata_upload_stream_get_cancellable() * Changed gdata_download_stream_new() to take a GCancellable * Added GDataDownloadStream:cancellable, gdata_download_stream_get_cancellable() Bugs fixed: * Bug 607620 — Cancelled uploads appear partially complete in PicasaWeb * Bug 635959 — Proper cancellation support for GDataUploadStream * Bug 635736 — Asynchronous authentication tests broken * Bug 634033 — Use standard login URI for YouTube * Bug 635335 — GIR missing exported packages information * Bug 631033 — Fix escaping and add tests * Bug 633363 — Add missing *_async() methods * Bug 594814 — Handle GeoRSS for YouTube videos * Bug 637036 — Overhaul cancellation support * Bug 579885 — Add code examples to documentation Updated translations: * ca@valencia (Joan Duran) * cs (Marek Černocký) * da (Kris Thomsen) * de (Mario Blättermann) * en_GB (Philip Withnall) * es (Jorge González) * eu (Iñaki Larrañaga Murgoitio) * fr (Bruno Brouard) * hu (Gabor Kelemen) * sl (Matej Urbančič) * sv (Daniel Nylander) * zh_CN (Eleanor Chen) Overview of changes from libgdata 0.6.0 to libgdata 0.7.0 ========================================================= Major changes: * Improved and updated introspection support and annotations for gobject-introspection >= 0.9.7 (which we now depend on) * Added more code examples to documentation * Added support for service localisation using gdata_service_set_locale() * Added support for listing video categories from YouTube * Tidied up object comparison using a new GDataComparable interface instead of lots of *_compare() methods * Added batch operation support and implemented it for the Contacts, YouTube, Calendar and Documents services * Fixed ID projection issues with Contact entries * Added support for alerting the user of account migration with GDATA_AUTHENTICATION_ERROR_ACCOUNT_MIGRATED * Added support for a --no-internet option to the tests, so that more of the test suite can be run automatically without an internet connection * Split handling of entries with inline content from external content (using the new gdata_entry_get_content_uri()) * Rearranged Documents classes so that instantiable entries are now subclasses of a new GDataDocumentsDocument, which handles downloading of document files * Use gtk-doc's no-tmpl flavour, bumping our gtk-doc requirement to 1.14 * Tightened up URI escaping * Switched to depending on only gdk-pixbuf instead of the whole of GDK, since we only (optionally) use GdkPixbuf for the test suite * Tightened up attribute escaping * Switched from GTimeVal to gint64 for representing UNIX timestamps * Switched to using upstream gettext instead of glib-gettext * Added support for manipulating Contact groups API changes: * Added gdata_entry_get_authors * Added gdata_service_get_locale, gdata_service_set_locale * Added GDataYouTubeCategory, GDataAPPCategories * Added gdata_youtube_service_get_categories, gdata_youtube_service_get_categories_async, gdata_youtube_service_get_categories_finish * Added GDataComparable * Removed *_compare() functions in favour of implementing the GDataComparable interface * Added GDataEntryClass->kind_term * Added GDataBatchable, GDataBatchOperation * Added GDATA_AUTHENTICATION_ERROR_ACCOUNT_MIGRATED * Added GDATA_DOCUMENTS_PRESENTATION_PDF, GDATA_DOCUMENTS_PRESENTATION_PNG, GDATA_DOCUMENTS_PRESENTATION_PPT, GDATA_DOCUMENTS_PRESENTATION_SWF GDATA_DOCUMENTS_PRESENTATION_TXT, GDATA_DOCUMENTS_SPREADSHEET_CSV, GDATA_DOCUMENTS_SPREADSHEET_HTML, GDATA_DOCUMENTS_SPREADSHEET_ODS, GDATA_DOCUMENTS_SPREADSHEET_PDF, GDATA_DOCUMENTS_SPREADSHEET_TSV, GDATA_DOCUMENTS_SPREADSHEET_XLS, GDATA_DOCUMENTS_TEXT_DOC, GDATA_DOCUMENTS_TEXT_HTML, GDATA_DOCUMENTS_TEXT_ODT, GDATA_DOCUMENTS_TEXT_PDF, GDATA_DOCUMENTS_TEXT_PNG, GDATA_DOCUMENTS_TEXT_RTF, GDATA_DOCUMENTS_TEXT_TXT, GDATA_DOCUMENTS_TEXT_ZIP * Removed GDataDocumentsPresentationFormat, GDataDocumentsSpreadsheetFormat, GDataDocumentsTextFormat and made the appropriate changes to the relevant Documents functions which took them * Added gdata_entry_get_content_uri, gdata_entry_set_content_uri and changed the behaviour of gdata_entry_get_content as appropriate * Added GDataDocumentsDocument as a subclass of GDataDocumentsEntry and the parent of GDataDocumentsPresentation, GDataDocumentsSpreadsheet and GDataDocumentsText * Added gdata_documents_document_download, gdata_documents_document_get_download_uri * Removed gdata_documents_presentation_download_document, gdata_documents_presentation_get_download_uri, gdata_documents_spreadsheet_download_document, gdata_documents_text_download_document, gdata_documents_text_get_download_uri (moved to GDataDocumentsDocument) * Made GDataDocumentsEntry abstract * Removed gdata_contacts_service_update_contact (use gdata_service_update_entry instead) * Removed GDataTimeVal (boxed type) * Removed GTimeVal from the public API, in favour of gint64 * Added GDATA_LINK_ACCESS_CONTROL_LIST * Removed gdata_access_handler_insert_rule (use gdata_service_insert_entry instead), gdata_access_handler_update_rule (use gdata_service_update_entry instead), gdata_access_handler_delete_rule (use gdata_service_delete_entry instead) * Added gdata_access_handler_get_rules_async * Added gdata_contacts_service_insert_contact_async * Added GDataContactsGroup * Added gdata_contacts_service_query_groups, gdata_contacts_service_query_groups_async, gdata_contacts_service_insert_group, gdata_contacts_service_insert_group_async Bugs fixed: * Bug 616222 — libgdata fails to build from a remote directory * Bug 579885 — Add code examples to documentation * Bug 618584 — Implement gdata_entry_get_authors() * Bug 615721 — Support listing video categories * Bug 618586 — gdata_service_query_single_entry() encounters NULL type class * Bug 579169 — Add batch processing support * Bug 624142 — Add batch operation support to Calendar service * Bug 624141 — Add batch operation support to Documents service * Bug 630350 — Email address cannot contain name Updated translations: * ca (Gil Forcada) * cs (Marek Cernocky) * da (Kris Thomsen) * de (Mario Blättermann, Christian Kirbach) * en_GB (Philip Withnall) * es (Jorge González) * fr (Claude Paroz) * gl (Fran Diéguez) * hu (Gabor Kelemen) * id (Andika Triwidada) * it (Milo Casagrande) * lt (Aurimas Černius) * pl (Piotr Drąg) * pt (António Lima) * pt_BR (Djavan Fagundes) * ro (Daniel Șerbănescu, Lucian Adrian Grijincu) * sl (Matej Urbančič) * sv (Daniel Nylander) * zh_CN (Yinghua Wang, Eleanor Chen, YunQiang Su) Overview of changes from libgdata 0.5.0 to libgdata 0.6.0 ========================================================= Major changes: * Added feed icon support * Added support for querying for user information on the PicasaWeb service * Added some code examples to the documentation * Ensured UTF-8 is supported correctly everywhere * Added GObject introspection support (GData-0.0.gir) * Added a download API for PicasaWeb images and thumbnails * Added an asynchronous PicasaWeb upload API * Reorganised the build system to use non-recursive automake * Added gcov support and consequently improved test coverage somewhat * Ensured HTTPS requests are used wherever possible, unless the LIBGDATA_FORCE_HTTP environment variable is set * Modified memory management to consistently use the GLib memory manager, eliminating 53 calls to g_strdup() on an average test run * Consolidated generic API errors to GDATA_SERVICE_ERROR_PROTOCOL_ERROR API changes: * Added gdata_picasaweb_query_new_with_limits * Added gdata_feed_get_icon * Added GDataPicasaWebUser, gdata_picasaweb_service_get_user * Removed gdata_picasaweb_album_get_name, gdata_picasaweb_album_get_description, gdata_picasaweb_album_set_description and corresponding properties * Added GDataPicasaWebFeed * Removed gdata_youtube_video_get_title, gdata_youtube_video_set_title * Added gdata_media_content_download, gdata_media_thumbnail_download * Added gdata_picasaweb_service_insert_album * Added gdata_picasaweb_service_upload_file_async, gdata_picasaweb_service_upload_file_finish * Added gdata_gd_organization_get_location, gdata_gd_organization_set_location, gdata_gd_email_address_get_display_name, gdata_gd_email_address_set_display_name * Added GDataOperationType * Removed GDATA_SERVICE_ERROR_WITH_*; GDATA_SERVICE_ERROR_PROTOCOL_ERROR is now returned instead Bugs fixed: * Bug 597248 — Add gdata_picasaweb_query_new_with_limits * Bug 598746 — gdata_picasaweb_query_set_image_size documentation fix * Bug 598910 — Timestamp bug * Bug 598912 — Test data was changed by my mucking around with comments * Bug 598893 — gdata_picasaweb_album_new doesn't set a valid visibility * Bug 599140 — Have albums initialise date to now by default * Bug 589858 — Handle gphoto XML elements found in 'GDataFeed' * Bug 598913 — Add gdata_picasaweb_service_insert_album() * Bug 602156 — GDataUploadStream should close GOutputStream on dispose * Bug 598649 — Download API for PicasaWeb images and thumbnails * Bug 600262 — Add async PicasaWeb upload API * Bug 604313 — Test failures in 0.5.1 * Bug 601919 — Expand a comment, organise some media tests * Bug 598748 — *_download_document prevents non-overwriting saving into directories * Bug 607607 — Undefined symbol with introspection Updated translations: * cs (Marek Cernocky, Petr Kovar) * de (Mario Blättermann) * es (Jorge González) * fr (Claude Paroz, Julien Hardelin) * gl (Fran Dieguez) * hu (Gabor Kelemen) * it (Rita Bandiera) * ja (Takeshi AIHANA) * pt (António Lima) * pt_BR (Djavan Fagundes, Og Maciel) * sl (Matej Urbančič) * sv (Daniel Nylander) * zh_CN (Aron Xu) Overview of changes from libgdata 0.4.0 to libgdata 0.5.0 ========================================================= Major changes: * Added Exif support for PicasaWeb files * Added the ability to query single Google Documents files * Errors are now logged in the "libgdata" domain * Added GeoRSS support for PicasaWeb files and albums * Optimisation to the XML output functions * Added streaming download and upload support using GDataDownloadStream and GDataUploadStream * Added support for silent building with AM_SILENT_RULES * Updated the GData namespace to version 3, improving name and address support API changes: * Changed gdata_documents_*_download_document to accept a destination file, rather than a directory * Added gdata_picasaweb_file_get_distance, gdata_picasaweb_file_get_exposure, gdata_picasaweb_file_get_flash, gdata_picasaweb_file_get_focal_length gdata_picasaweb_file_get_fstop, gdata_picasaweb_file_get_image_unique_id, gdata_picasaweb_file_get_iso, gdata_picasaweb_file_get_make gdata_picasaweb_file_get_model and corresponding properties * Added GDataExifTags * Added gdata_documents_entry_is_deleted * Added GDataEntry:rights, gdata_entry_get_rights, gdata_entry_set_rights * Added gdata_documents_service_query_single_document * Added GDataPicasaWebAlbum:latitude, GDataPicasaWebAlbum:longitude, gdata_picasaweb_album_get_coordinates, gdata_picasaweb_album_set_coordinates, GDataPicasaWebFile:latitude, GDataPicasaWebFile:longitude, gdata_picasaweb_file_get_coordinates, gdata_picasaweb_file_set_coordinates * Added GDataGeoRSSWhere * Added GDataDownloadStream * Added GDATA_SERVICE_ERROR_WITH_DOWNLOAD, GDATA_SERVICE_ERROR_WITH_UPLOAD service errors * Added gdata_documents_*_get_download_uri * Added GDataUploadStream * Added GDataGDName * Added GDataGDOrganization:department, gdata_gd_organization_get_department, gdata_gd_organization_set_department, GDataGDOrganization:job-description, gdata_gd_organization_get_job_description, gdata_gd_organization_set_job_description, GDataGDOrganization:symbol, gdata_gd_organization_get_symbol, gdata_gd_organization_set_symbol * Added GDATA_GD_MAIL_CLASS_*, GDATA_GD_ADDRESS_USAGE_* * Removed the address parameter from gdata_gd_postal_address_new * Added GDataGDPostalAddress:mail-class, gdata_gd_postal_address_get_mail_class, gdata_gd_postal_address_set_mail_class, GDataGDPostalAddress:usage, gdata_gd_postal_address_get_usage, gdata_gd_postal_address_set_usage, GDataGDPostalAddress:agent, gdata_gd_postal_address_get_agent, gdata_gd_postal_address_set_agent, GDataGDPostalAddress:house-name, gdata_gd_postal_address_get_house_name, gdata_gd_postal_address_set_house_name, GDataGDPostalAddress:street, gdata_gd_postal_address_get_street, gdata_gd_postal_address_set_street, GDataGDPostalAddress:po-box, gdata_gd_postal_address_get_po_box, gdata_gd_postal_address_set_po_box, GDataGDPostalAddress:neighborhood, gdata_gd_postal_address_get_neighborhood, gdata_gd_postal_address_set_neighborhood, GDataGDPostalAddress:city, gdata_gd_postal_address_get_city, gdata_gd_postal_address_set_city, GDataGDPostalAddress:subregion, gdata_gd_postal_address_get_subregion, gdata_gd_postal_address_set_subregion, GDataGDPostalAddress:region, gdata_gd_postal_address_get_region, gdata_gd_postal_address_set_region, GDataGDPostalAddress:postcode, gdata_gd_postal_address_get_postcode, gdata_gd_postal_address_set_postcode, GDataGDPostalAddress:country, GDataGDPostalAddress:country-code, gdata_gd_postal_address_get_country, gdata_gd_postal_address_get_country_code, gdata_gd_postal_address_set_country * Added GDataContactsContact:name, gdata_contacts_contact_get_name * Added gdata_documents_service_get_upload_uri Bugs fixed: * Bug 589265 – Crash on query error * Bug 589545 – *_download_document(): let the client decide where to download * Bug 589201 – Add EXIF support for PicasaWeb image files * Bug 589850 – gdata_picasaweb_album_get_timestamp() returns date in 1970! * Bug 590345 – handling in GDataDocumentsEntry * Bug 589855 – Obsolete not handled in GDataPicasaWebAlbum parse_xml() * Bug 590341 – Allow querying of single documents * Bug 590132 – Unhandled XML for georss * Bug 590568 – Crash on querying inside a folder * Bug 591966 — Can't query single spreadsheets * Bug 591974 — remove_document_from_folder moves documents to the trash * Bug 591691 — Getting a feed containing PDF documents returns NULL * Bug 592124 — G_LOG_DOMAIN not set for subdirectories * Bug 592845 — Undefined symbol: gdata_picasaweb_query_new_with_limits * Bug 593239 — Use GDataUploadStream for uploading files * Bug 593336 — Query parameter "q=..." isn't valid for album kinds Updated translations: * de (Mario Blättermann) * en_GB (Philip Withnall) * es (Jorge González) * eu (Iñaki Larrañaga Murgoitio) * fr (Nicolas Repentin) * gl (Fran Dieguez) * hu (Gabor Kelemen) * nb (Kjartan Maraas) * po (Piotr Drąg) * pt (António Lima) * pt_BR (Flamarion Jorge) * sv (Daniel Nylander) * zh_HK (Chao-Hsiung Liao) * zh_TW (Chao-Hsiung Liao) Overview of changes from libgdata 0.3.0 to libgdata 0.4.0 ========================================================= Major changes: * Added comparison functions for all small XML elements (such as GDataLink and friends) * Added GDataContactsContact photo support * Translatable strings are now even clearer, and all have translator comments * Fixed a number of locale-dependent bugs * Converted small XML element structs to full GObjects * Added a PicasaWeb service by Richard Schwarting * Fixed more licencing issues (libgdata is licenced under LGPLv2.1+) * Required link relation types to be full URIs * Added a Google Documents service by Thibault Saunier API changes: * Added gdata_contacts_contact_get_extended_properties * Added *_compare * Added GDataContactsContact:has-photo, gdata_contacts_contact_has_photo, gdata_contacts_contact_get_photo, gdata_contacts_contact_set_photo * Converted GDataAuthor, GDataCategory, GDataLink, GDataGenerator to GObjects (removed *_free functions and added mandatory field accessors) * Converted GDataGDEmailAddress, GDataGDFeedLink, GDataGDIMAddress, GDataGDOrganization, GDataGDPhoneNumber, GDataGDPostalAddress, GDataGDRating, GDataGDWhen, GDataGDReminder, GDataGDWhere, GDataGDWho to GObjects (removed *_free functions and added mandatory field accessors) * Converted GDataMediaCategory, GDataMediaContent, GDataMediaCredit, GDataMediaRating, GDataMediaRestriction, GDataMediaThumbnail to GObjects (removed *_free functions and added mandatory field accessors) * Removed gdata_media_thumbnail_parse_time, gdata_media_thumbnail_build_time * Converted GDataYouTubeState to GObject (removed gdata_youtube_state_free and added mandatory field accessors) * Added GDataYouTubeControl * Added PicasaWeb service API * Removed gdata_entry_new_from_xml, other *_new_from_xml functions, gdata_entry_get_xml * Added gdata_parsable_new_from_xml, gdata_parsable_get_xml * Removed GDATA_PARSER_ERROR_UNHANDLED_XML_ELEMENT parser error * Added GDataParsableClass->element_name, GDataParsableClass->element_namespace * Added GDATA_LINK_ALTERNATE, GDATA_LINK_EDIT, GDATA_LINK_EDIT_MEDIA, GDATA_LINK_ENCLOSURE, GDATA_LINK_RELATED, GDATA_LINK_SELF, GDATA_LINK_VIA for use with gdata_entry_look_up_link * Added gdata_contacts_service_update_contact * Added gdata_youtube_service_query_single_video, gdata_youtube_service_query_single_video_async, gdata_youtube_service_query_single_video_finish * Added gdata_youtube_video_get_video_id_from_uri * Added GDataYouTubeAspectRatio, gdata_youtube_video_get_aspect_ratio, gdata_youtube_video_set_aspect_ratio * Added Google Documents service API * Added gdata_contacts_contact_remove_all_email_addresses, gdata_contacts_contact_remove_all_im_addresses, gdata_contacts_contact_remove_all_postal_addresses, gdata_contacts_contact_remove_all_phone_numbers, gdata_contacts_contact_remove_all_organizations Bugs fixed: * Bug 584417 – Strings are not properly formed for localisation * Bug 584737 – String parsing is locale-sensitive * Bug 579170 – Eliminate gdata_parser_error_unhandled_element * Bug 587277 – Some files are GPLv3 but license is LGPLv2.1? * Bug 588052 – Parse the yt:aspectratio tag * Bug 587073 – Add Google Documents service * Bug 588995 – float radix character depends on LC_NUMERIC, but Google wants "." Updated translations: * ca (Joan Duran) * de (Mario Blättermann) * en_GB (Philip Withnall) * es (Jorge González) * nb (Kjartan Maraas) * pa (A S Alam) * sv (Daniel Nylander) * uk (Maxim Dziumanenko) Overview of changes from libgdata 0.2.0 to libgdata 0.3.0 ========================================================= Major changes: * Empty (but present) entry titles are now set to an empty string, rather than NULL * GDataCalendarEvent has basic recurrence support * Optional GNOME support has been added for automagic proxy configuration (depends on libsoup-gnome-2.4) * Deprecated libsoup API has been removed, bumping the requirement to 2.26.1 * Translation comments and some translatable strings have been made clearer * Default error handling has been improved * More async versions of functions have been added * The XML output of GDataCalendarCalendar has been completed * GDataYouTubeVideo now has support for recorded times and comment feed links * Added a GDataYouTubeQuery class * Access control list (ACL) support, implemented on GDataCalendarCalendar * Abstract XML parsing into GDataParsable to allow GDataFeed to be overridden * Added a GDataCalendarFeed class to deal with calendar-specific properties API changes: * Added GDataCalendarEvent:recurrence, gdata_calendar_event_get_recurrence, gdata_calendar_event_set_recurrence * Added GDataCalendarEvent:original-event-id, GDataCalendarEvent:original-event-uri, gdata_calendar_event_get_original_event_details * Added gdata_calendar_event_is_exception * Added GDATA_SERVICE_ERROR_NOT_FOUND, GDATA_SERVICE_ERROR_CONFLICT * Changed GDataServiceClass->parse_error_response * Added gdata_service_insert_entry_async, gdata_service_insert_entry_finish * Added gdata_service_update_entry_async, gdata_service_update_entry_finish * Added gdata_service_delete_entry_async, gdata_service_delete_entry_finish * Added gdata_color_to_hexadecimal * Added GDataYouTubeVideo:comments-feed-link, gdata_youtube_video_get_comments_feed_link * Added GDataYouTubeVideo:recorded, gdata_youtube_video_get_recorded, gdata_youtube_video_set_recorded * Added read_only parameter to gdata_gd_feed_link_new and member to GDataGDFeedLink * Added GDataYouTubeQuery * Added GDataAccessHandler, GDataAccessRule * Added GDATA_SERVICE_ERROR_FORBIDDEN * Added GDataParsable * Changed GDataEntry to extend GDataParsable, rather than GObject * Removed GDataEntry->parse_xml * Changed GDataFeed to extend GDataParsable, rather than GObject * Added GDataCalendarFeed * Added GDataServiceClass->feed_type Bugs fixed: * Bug 582026 – Access Control List functionality * Bug 578367 – Add support for YouTube-specific query parameters * Bug 581706 – translation issues * Bug 580330 – Rejects empty entry titles Updated translations: * de (Mario Blättermann) * el (Giannis Katsampirhs) * en_GB (Philip Withnall) * es (Jorge González) * gl (Fran Diéguez, Antón Méixome) Overview of changes from libgdata 0.1.0 to libgdata 0.2.0 ========================================================= Major changes: * The updated entry is now returned when inserting an entry * Entries can be updated with gdata_service_update_entry * Entries can be deleted with gdata_service_delete_entry * GDataService has proxy support with the proxy-uri property * Redirects from the server are now handled correctly * API documentation is now complete * Unknown XML elements are stored and returned when building the XML for an entry * ETag support for entries and feeds * Added a Google Contacts service API changes: * Added GDataEntry:etag, gdata_entry_get_etag * Added gdata_entry_get_categories * Added GDataFeed:etag, gdata_feed_get_etag * Added gdata_feed_look_up_entry * Added GDataGDWhen, gdata_gd_when_new, gdata_gd_when_free * Added GDataGDEmailAddress, gdata_gd_email_address_new, gdata_gd_email_address_free * Added GDataGDIMAddress, gdata_gd_im_address_new, gdata_gd_im_address_free * Added GDataGDPhoneNumber, gdata_gd_phone_number_new, gdata_gd_phone_number_free * Added GDataGDPostalAddress, gdata_gd_postal_address_new, gdata_gd_postal_address_free * Added GDataGDOrganization, gdata_gd_organization_new, gdata_gd_organization_free * Added GDataGDReminder, gdata_gd_reminder_new, gdata_gd_reminder_free * Renamed GDataQuery:strict to GDataQuery:is-strict, gdata_query_get_strict to gdata_query_is_strict, gdata_query_set_strict to gdata_query_set_is_strict * Added GDataQuery:etag, gdata_query_get_etag, gdata_query_set_etag * Added GDataService:proxy-uri, gdata_service_get_proxy_uri, gdata_service_set_proxy_uri * Added gdata_service_update_entry * Added gdata_service_update_entry * Removed gdata_service_get_session * Renamed GDataCalendarCalendar:hidden to GDataCalendarCalendar:is-hidden, gdata_calendar_calendar_get_hidden to gdata_calendar_calendar_is_hidden, gdata_calendar_calendar_set_hidden to gdata_calendar_calendar_set_is_hidden * Renamed GDataCalendarCalendar:selected to GDataCalendarCalendar:is-selected, gdata_calendar_calendar_get_selected to gdata_calendar_calendar_is_selected, gdata_calendar_calendar_set_selected to gdata_calendar_calendar_set_is_selected * Renamed GDataCalendarEvent:event-status to GDataCalendarEvent:status, gdata_calendar_event_get_event_status to gdata_calendar_event_get_status, gdata_calendar_event_set_event_status to gdata_calendar_event_set_status * Added gdata_calendar_event_get_people * Added gdata_calendar_event_get_places * Added gdata_calendar_event_add_time, gdata_calendar_event_get_times, gdata_calendar_event_get_primary_time * Removed gdata_calendar_event_set_edited * Made GDataCalendarEvent:edited read-only * Removed gdata_calendar_event_get_start_time, gdata_calendar_event_set_start_time, gdata_calendar_event_get_end_time, gdata_calendar_event_set_end_time, gdata_calendar_event_get_when_value, gdata_calendar_event_set_when_value * Renamed GDataCalendarQuery:ctz to GDataCalendarQuery:timezone, gdata_calendar_query_get_ctz to gdata_calendar_query_get_timezone, gdata_calendar_query_set_ctz to gdata_calendar_query_set_timezone * Added gdata_calendar_service_insert_event * Renamed g_time_val_get_type to gdata_g_time_val_get_type * Added Google Contacts service API Bugs fixed: * Bug 579631 – Add G_GNUC_WARN_UNUSED_RESULT to functions * Bug 578661 – ETag support * Bug 578662 – Support unknown XML elements * Bug 578653 – self-test fails to build on glib-2.18.x * Bug 578652 – Build failure: missing symbol: gdata_query_param_get_type Updated translations: * de (Mario Blättermann) * en_GB (Philip Withnall) * sv (Daniel Nylander) Overview of changes from libgdata 0.1.0 to libgdata 0.1.1 ========================================================= Major changes: * Fixed licencing issues * Changed website to http://live.gnome.org/libgdata API changes: * Renamed gdata_entry_lookup_link to gdata_entry_look_up_link * Renamed gdata_feed_lookup_link to gdata_feed_look_up_link Initial release of libgdata 0.1.0 ================================= Major changes: * Create project * Add mostly-complete support for YouTube queries and video uploads * Add basic and incomplete support for Google Calendar queries