=== 2.0.18 === 1173[tip] 93c436da2d19 2013-06-14 07:21 -0700 afshar Remove unused script. 1172 e692050ec194 2013-06-14 07:20 -0700 afshar Updated docs. 1171 159874713088 2013-06-14 07:20 -0700 afshar Bumped version. 1170 7b4e3c22e83c 2013-06-07 15:52 +0200 burcud Adding missing unit attributes for unit picing elements. 1169 ad8ee900dda5 2013-06-06 19:01 +0200 burcud Fixing identifier_exists attribute for product items. 1168 d6ce8dc4970a 2013-06-06 17:53 +0200 burcud Fixing multipack attribute. 1167 b87779918c90 2013-06-06 15:10 +0200 burcud Adding new product spec attributes. 1166 624d33ad26f2 2013-02-11 12:47 -0800 rkubiak Update Sites Python API to allow page creation from a template 1165 ecb1d49b5fbe 2013-01-07 11:29 -0800 dhermes Adding an OAuth2Token subclass which can interact with google-api-python-client. 1164 f76c53eaf151 2012-11-20 16:09 +0100 burcud Modifying Content API for Shopping client to use schema projection. 1163 a8c25010b8b7 2012-08-27 13:50 -0700 dhermes Adding in ability to change Content for Shopping base URI via a kwarg for client constructor. (Fixes 6479060). 1162 c5d57eff0ef4 2012-08-15 08:31 -0700 dhermes Adding paid clicks to Content API performance datapoint. (Issue 6443130) 1161 71971b013563 2012-08-06 15:20 -0700 dhermes Adding support for adwords_accounts settings element in managedaccounts feed of Content API. (6443092) 1160 cf0208e89433 2012-07-30 09:53 -0700 dhermes Changing OAuth2 Authorization Header lead in from OAuth to Bearer (per http://goo.gl/QDiLZ). (issue 6455060) 1159 3b021605570f 2012-07-12 18:14 -0700 dhermes Adding missing name XML attribute to gdata.contentforshopping.data.Group. 1158 524fc2b2e821 2012-06-19 08:43 -0700 dhermes Renaming classes for inventory feed of Content API. (Issue 6296085) 1157 32c0cb313b2e 2012-06-14 15:36 -0700 dhermes Updating offline URI for OAuth2 and explicity specifying approval_prompt as a kw arg. (Issue 6296072) 1156 f7593ae5d035 2012-06-14 15:35 -0700 dhermes Added individual get for ManagedAccounts, functionality for paging and changed to correct endpoint. (issue 6304076) 1155 723e577ada7b 2012-06-14 13:53 -0700 dhermes Adding support for Local Products feed in Content API. (Issue 6305091) 1154 75ee2830ca74 2012-06-13 12:48 -0700 dhermes Adding support for wrong open search version hack on other ContentAPI Feed classes. (Issue 6296071) 1153 f783c64b953f 2012-06-13 10:07 -0700 dhermes Adding support for Data Quality Feed of Content API for Shopping. (Issue 6295074) 1152 4cc916619658 2012-06-13 09:07 -0700 dhermes Adding back accidentally removed code from commit c92bc870e3a4363bed2732d50d782189407af7ac. 1151 c92bc870e3a4 2012-06-13 09:01 -0700 dhermes Adding support for Content API Users Feed. (Issue 6295071) 1150 0dcb1f3aff81 2012-06-12 17:25 -0700 dhermes Adding custom id parser for Content API errors. (issue 6306073) 1149 8f11de681f03 2012-06-12 17:21 -0700 dhermes Adding support for product status elements in app:control for content for shopping. (Fixes 6299076) === 2.0.17 === 1143 3a0447b78b27 2012-04-20 13:25 -0400 jeffy The gdata.youtube.service class now explicitly sets the GData-Version: 1 header, and is updated to use the correct ClientLogin URL. 1142 1e302ccfd1db 2012-04-19 14:09 -0700 dhermes Adding support for OAuth2 revoke endpoint. 1141 7dbf78073e2c 2012-04-18 09:51 -0700 alainv Make Resource and ResourceFeed "Batch" compatible. 1140 cde9a812ff75 2012-04-02 22:25 -0700 dhermes Forgot to add camelcase alias for batch in issue 5970062. 1139 f3db7c388325 2012-04-02 20:37 -0700 dhermes Adding support for performance data in Content API for Shopping (fixes Issue 5976061). 1138 f5d8bd1a5d58 2012-04-02 20:30 -0700 dhermes Added support for custom attributes in Content API for Shopping (fixes Issue 5970070). 1137 df2263245009 2012-04-02 08:18 -0700 dhermes Changed dest attrs in Content API to iterable, added validate_dest and fixed qname on app:control (fixes Issue 5976046). 1136 6fa84c09df8e 2012-04-02 07:46 -0700 dhermes Added camel case names to content API client public methods (fixes Issue 5970062). 1135 f5d03167e6de 2012-04-02 07:38 -0700 dhermes Added support for Content for API errors on single and batch requests (fixes Issue 5971061). 1134 906bb1d9c899 2012-04-02 07:31 -0700 dhermes Added support for start-token in Content API for Shopping (closes Issue 5980044). 1133 f98fff494fb8 2012-03-30 11:36 -0700 alainv Change gdata.docs.client.DocsClient.DeleteResource to use the entry instead of the link. 1132 e3594e4ea683 2012-03-30 10:56 -0700 alainv Allow for random kwargs in atom.client.AtomClient.request method. 1131 57db9d630ee7 2012-03-29 15:44 -0700 dhermes Changing Shipping to list element in Content API for Shopping. 1130 ab61823f2562 2012-03-29 15:34 -0700 dhermes Fixing behavior in atom.http_core.Uri._get_query_string for query parameters with no parameter value (closes Issue 5938047). 1129 583a2f25c123 2012-03-27 15:21 -0700 dhermes Fixed batch function issues in content api for shopping client. 1128 900e9a0c3b3a 2012-03-03 18:08 -0800 ccherubino Updated GetFeed methods in the Email Settings API to return typed feeds 1127 c21438385488 2012-02-29 09:18 -0800 dhermes Namespace for channel element (in contentforshopping) was promoted from scp to sc. 1126 5e7914da3fc5 2012-02-13 10:29 -0500 afshar Fixed release date year. 1125 78f1044f8338 2012-02-09 16:48 -0800 ccherubino Fixing bug in recent change to the Email Settings API client library (rev. 194d0fd21fdd) + some typos 1123 194d0fd21fdd 2012-02-09 11:29 -0800 ccherubino Updating the Email Settings API to return instances of the correct classes when retrieving settings 1122:1120 5d90af058646 2012-02-09 17:14 +0530 shraddhag Added a sample to create a group and update its settings using the Groups Provisioning and Groups Settings APIs. 1121 632df99f18bb 2012-02-09 14:30 -0500 afshar Added docs:description element to docs resources. 1120 b916755be737 2012-02-02 09:49 -0500 afshar Fixed error in docs sample. 1119 19b1a2901d7e 2012-02-01 12:20 +0530 gunjansharma Added scopes for all Admin APIs in apps tag 1118 0e47dfadd4f6 2012-02-01 12:18 +0530 gunjansharma Added a sample for Email Audit API demonstrating CRUD operations on email monitors 1117 ce66eae4ca6f 2012-01-31 17:02 -0800 dhermes Fixed small doc errors, made tax a list element 1116 9676d3b1059b 2012-01-30 08:57 -0800 alainv Fix issues 590/591: Contact's gender XML element was wrong. 1115 32d0f6e650f5 2012-01-30 15:54 +0530 gunjansharma Added a sample marketplace application 1114 3a91fa3c66d1 2012-01-30 14:50 +0530 shraddhag Sample to delete obsolete suspended users 1113 1b7323bc42e7 2012-01-30 14:49 +0530 shraddhag Sample to retrieve user's profile and contacts using 2LO 1112 3265462309de 2012-01-25 22:42 -0500 vicfryzel Fixing issue 587. Wrong URL used for batch ACL changes. 1111 15e17565f0ed 2012-01-24 12:04 +0530 shraddhag Added a sample to list all the members of a group 1108:1106 d762873e72e8 2012-01-06 14:35 -0800 alainv Adding access_type=offline to OAuth 2.0 authorize URL. 1107 9941fe8ba765 2012-01-20 19:30 +0000 afshar Check document list entries have a content before trying to download them. 1106 090c7ee66c93 2012-01-05 20:43 +0000 afshar Added tag 2.0.16 for changeset c67f3c6398ba 1105[2.0.16] c67f3c6398ba 2012-01-05 20:39 +0000 afshar Updated hgignore 1104 e3c66713a107 2012-01-05 20:34 +0000 afshar Updated MANIFEST.in 1103 20c9ab58878a 2012-01-05 20:24 +0000 afshar Use a generated MANIFEST from MANIFEST.in 1102 b395b9e31ee9 2012-01-05 20:15 +0000 afshar Updated release notes. 1101 012305c4dac1 2012-01-05 19:43 +0000 afshar Fixed recording test, sometimes outside the US, google.com tries to redirect. 1100 e93eb1a3fe7c 2012-01-05 19:08 +0000 afshar Updated pydocs 1099 85cc6c57a719 2012-01-05 19:08 +0000 afshar Bumped version string 1098 afd40075d6bd 2012-01-05 18:42 +0000 afshar Fixed doc generation script for my environment. 1096 c6b6a36a98be 2012-01-16 22:21 +0530 shraddhag Added a sample to search users with a given pattern and and move them to an organization === 2.0.16 === 5 Jan 2012 - Add sample for Docs List API to delete ACL. - Added support for label deletion in the Email Settings API client library - Added a sample for Email Settings create label and filters with exponential back-off - Added sample for enabling pop settings using Email Settings API - Fixed typo in analytics sample. - Fixed ACL batching URI in Docs. - Updated RetrieveAllUsers and RetrieveAllAliases to return all pages instead of one. - Removing force=True from some ACL requests in DocsClient - Added RetrieveGroups method and updated RetrieveAllGroups and RetrieveAllMembers method - Added a quick start sample for user provisioning - Added a client for organization unit provisioning - Added client architecture for group provisioning - Added a new sample for multidonain provisioning. Demonstrates all the functions available. - Added test for RetrieveAllUserAliases and changed OAuth scopes for Apps - Added client architecture for provisioning api and tests for client - Added support for batch requests to update spreadsheet cells. - Added GetAcl alias for get_acl in DocsClient - Added new ACL and get by ID methods to DocsClient. - Added some conditional imports for tlslite. - Updates to category handling for Documents list API - Added a function to retrieve all the aliases for a given user email. - Fixed #553 === 2.0.15 === 18 Oct 2011 - New Documents List API client - Added support for MDM Provisioning API - Added Batch support for Documents List API ACL changes - Added category handling for Documents List API client - Added commenter role to Documents List API client - Added support for gContact:status - Added subdomain support for Email Settings API - Added support for Apparel attributes in Content API for Shopping client - Added Documents List sample - Added Sample for Provisioning API with OAuth2 - Added Sample for Email Settings API with OAuth2 - Added Sample for Provisioning API with Sites and Profiles API - Fixed Youtube client to use SSL - Fixed Sites API sample to use SSL - Removed Google Base Data API support - Issues closed: #190, #206, #215, #230, #268, #270, #279, #281, #288, #296, #303, #312, #346, #363, #399, #424, #435, #483, #492, #494, #498, #508, #512, #516, #526, #532, #533, #534, #541, #547 === 2.0.14 === 7 Mar 2011 - Bug Fixes: * 491. 302 redirect on some gsessionids * 501. Remove support for deprecated Maps Data API. * 462. Bug in samples/analytics/data_feed_demo.py (using segments) * 482. String exception in service.py * 414. http proxy url containing properly formatted user-name and password not accepted - Turn on SSL for Codesearch, Photos, Project Hosting, Analytics, Contacts, Marketplace Licensing, and Docs. - Add batch default URL to the Contacts API and clean the sample code. (issue4000058) - Added support for Content API for Shopping - Added Calendar V2 API support - Add Google Marketplace Licensing API to the Gdata Python Client - Added patch from Alexandre Vivien that fixes calendar resource email support that somehow went missing in a previous release. === 2.0.13 === 16 Nov 2010 (revision 902:73f3fbb5ea88) - Bug Fixes: * Issue 315: Correctly constructs queries based on categories for Blogger APIs. * Issue 323: YouTubeUserQuery constructor passes incorrect overridden parameter to base class. - Accept proxy username and password in http(s)_proxy environment variables. - Adding support for specifying URI to v3 docs client. - Adding tests for revisions for arbitrary file types in Documents List API. - Google Base, added bucket node to attributes. - Adding ContainsSampledData XML Element to Analytics Data Feed and updating samples === 2.0.12 === 17 Sep 2010 (revision 892:e949a7cf9a31) - Bug Fixes: * Issue 437: PATCH request generates incorrect Content-Type * Issue 428: get_blog_name() does not correctly handle blog URLs containing hyphens * Issue 443: Packages should contain gdata.apps.audit in setup.py * Issue 430: Lots of memory usage when uploading big video files * Issue 423: gdata.contacts.client.ContactsClient.get_profiles_feed() broken - Turn on SSL be default for the spreadsheet API - Added support for new Analytics feeds - All V3 code and development has been out of this project and into http://code.google.com/p/google-api-python-client/ - Added partial support for the YouTube API in v2 === 2.0.11 === Jul 29, 2010 (revision fa49231cc8) - Added the following new APIs: * Apps Audit APIs from Jay Lee * Apps Organization from Alexandre Vivien * Added Email Settings API client library v2.0 from Claudio Cherubino - Fixes to file permissions for samples. - Fixing a broken calendar resource client from r983, removing a superfluous call to MakeResourceFeedUri(), adding regression tests for edit links. - Abstracting out AppsProperty so that it's usable by other libs. Thanks to Claudio Cherubino for this change. - Added optional change_password parameter to AppsService.CreateUser - Fixing minor bugs in analytics samples - http://codereview.appspot.com/1677050 Switch default connection type back to non-SSL connections. - Switch the repository from subversion to mercurial - Added OAuth test cases thanks Samuel Cyprian - Many APIs now use SSL, and some require it, so the following APIs now default to using HTTPS: * Spreadsheets * Sites * Calendar Resource === 2.0.10 === May 12, 2010 (revision 980) - Add check for liveness of proxy in live tests. Also add in upload-diffs.py to make using codereview.appspot.com easier. - Patch from Alexandre Vivien adds the ResourceEmail attribute to CalendarResourceEntry - Adding new single page methods to apps.groups.service. Thanks Jeremy Selier! - Cleanup in service GetWithRetries. Thanks Will Charles! - Adding much more test coverage for calendar_resource.client. - Fixing Calendar Resource get_resource to use correct feed URI generator. Thanks to Alexandre Vivien for reporting. - Adds support for Blogger Pages. Thanks Wiktor Gworek! === 2.0.9 === March 5, 2010 (revision 964) - Fixed URL related bug in gdata.calendar.service. You can now edit and delete against https URLs. - Removed hard coded Python version from gdata.contacts. Resolves issue 347. === 2.0.8 === February 26, 2010 (revision 960) - Added support for resumable uploads with a sample that shows it's use with Google Docs. Thanks Eric! - Added the publish element and copy() method to the DocsClient. Thanks Eric! - Added support for the JSON-C data format recently released for the YouTube API. - Fixed import bug when using cryptomath with Python2.4 and lower. - Modified gdata.gauth to be usable under Python2.3. - Fixed errors which affect RetrieveAllEmailLists RetrieveEmailLists RetrieveAllRecipients RetrieveAllNicknames RetrieveNicknames RetrieveAllUsers in gdata.apps.service. Resolves issue 340 . Thanks Aprotim! - Fixed issues with contacts client returning a raw get and not a ContactEntry and a few auth_tokens are not being passed into the HTTP request. Resolves issue 332 . Thanks vinces! - Fixed issue parsing worksheet feed, entry was the wrong type, corrected to WorksheetEntry. Resolves issue 343. Thanks Igor! - Fixed typo in gdata.spreadsheets.client (auth_service). Resolves issue 342. Thanks to Igor once again! - Fixed bug in Google Apps APIs UpdateSSOSettings. - The gdata.data.LinkFinder now looks in both the link and feed_link members for an ACL link. Resolves issue 339. - Removed client side check on video type in YouTube service. Rely on the server to provide an error if the format is not supported. Resolves issue 338. - Improved documentation for SpreadsheetsService's UpdateRow method to explain the use case it addresses and recomment alternatives. - Changed projecthosting to use the host member with relative URLs. - Added a get_headers function to be used in Python2.2 and 2.3 since httplib.HTTPResponse does not have getheaders in those versions of Python. Resolves issue 335. - Added a client smoke test to check version and auth related class members which all gdata.x.client's should have. - Updated the docs service_test.py to run as part of run_all_tests.py. === 2.0.7 === January 26, 2010 (revision 937) - Added gdata.calendar_resource.client to support the management of calendar resources (like conference rooms) for Google Apps domains. Thanks Vic! - Updated the sites API client to use version 1.1 of the sites API. - Added support for 2 Legged OAuth to the GDClient and included a sample app. Thanks Eric! - Added a revoke_token method to GDClient to invalidate AuthSub or OAuth tokens. - Added a get_record method to the Spreadsheets client to fetch a single record entry. - Added includeSuspendedUsers parameter to the apps groups API. Thanks Will Charles! - Fixed a client login bug present in the Maps API client. Thanks Roman! - The client_id property in the YouTube service object is now optional. - Added optional 'feed' parameter to YouTube service's Query classes. Resolves issue 323. - Updated tlslite's use of sha1 to use hashlib if using python2.5 or higher. Resolves issue 290 . Thanks Jay Lee! - Added a deadline parameter to gdata.alt.appengine to allow the urlfetch timeout to be modified to as high as 10 seconds. - Added GetGeneratorFromLinkFinder to GDataService which simplifies pagination across the entries in a feed. Resolves issue 325 . Thanks Aprotim! - Removed the default value for the test domain option. - Moved auth scopes to gdata.gauth from gdata.service. === 2.0.6 === December 17, 2009 (revision 914) - updated the Google Analytics Data Export API to v2. Thanks Nick! - added support for batch operations on contacts and profiles. Thanks Julian! - added a DocsQuery class for the Documents List v3 API. - removed now obsolete ACL classes from gdata.docs.data in favor of using classes in gdata.acl.data. Thanks Eric! - fixed bug in querying group membership by email. Thanks Will Charles! - removed import which are not present in Python2.2 from gdata.service to maintain support for Python2.2. - added additional debug information to MockHttpClient. === 2.0.5 === November 24, 2009 (revision 900) - added new gdata.contacts.client (and data) which uses version 3.0 of the contacts API. Thanks Vince! - added new gdata.docs.client which uses version 3.0 of the Documents List API. Thanks Eric! - added new v2 modules for the Analytics API (gdata.analytics.client). Thanks Nick! - added conditional get using etags on get_entry. Thanks Eric! - fixed bug in how Calendar redirect headers are handled when using this library in an App Engine app. - added new Calendar XML elements to the gdata.calendar module. Thanks Michael Ballbach! - added v2 data model classes for finance, notebook, webmastertools, ACLs, opensearch and youtube. - fixed issues with contacts.service when editing profiles. Thanks Julian! - fixed bug in GDClient's get_next method. - improved usability in Python2.3, though tests do not run the src modules should be Python2.3 compatible. === 2.0.4 === October 15, 2009 (revision 864) - Added support for the project hosting issue tracker API. Thanks Joe LaPenna! - Added a get-with-retries method to the v1 service for use with the Google Apps API to automatically retry. Thanks Takashi Matsuo! - Revised Google Sites client to use text input when creating a page. Thanks Eric! - Changed demo calendar in the Google Calendar API example. Thanks Trevor! === 2.0.3 === October 9, 2009 (revision 856) - Added support for Google Sites Data API. Thanks Eric! - Added support for Google Contacts profiles. Thanks Julian Toledo and Pedro Morais! - Added support for the Spreadsheets v3 API Tables feed and Records feed. - Added support for the Google Apps Admin Settings API. Thanks Jay Lee! - New sample which illustrates use of the Blogger v1 API on App Engine using OAuth. Thanks Wiktor Gworek! - Added a new MediaSource for use with v2 data model classes. Thanks Eric! - The v2 client classes can now force all requests to be made over SSL. Thanks Eric! - Revised the test config system to allow test settings to be specified as command line arguments or prompt the user to enter them interactively. - Fixed UTF encoding issue in unittest on big endian architectures. - Fixed XML parsing bug in Spreadsheets data class. Thanks ppr.vitaly! - Fixed bug in webmaster tools service verification method arguments. Thanks eyepulp! - Fixed download URL recognition in Document List Data API. - Some progress made in re-adding support for Python2.3, not sure yet if full Python2.3 support is completely feasible. Python 2.4-2.6 should work. === 2.0.2 === August 20, 2009 (revision 823) - Added support for the Google Maps Data API. Thanks Roman! - Added data model classes for the v3 Spreadsheets API. This API is not yet fully supported by the library and the gdata.spreadsheets package should be considered experimental until the next release. The v1 gdata.spreadsheet package is unchanged and should still work. - Auth token lookups when running in App Engine are now memcached which should improve efficiency. Thanks Marc! - Fixed a bug with the v2 HTTP proxy client. If behind a proxy, the full URL is now sent as the request selector. Thanks Dody! - Removed the gdata.client.GDataClient class which had been deprecated. === 2.0.1 === July 23, 2009 (revision 805) - Added support for Secure AuthSub, OAuth with HMAC and with RSA to the v2 auth code. - Added v2 data model classes for all XML elements in the gd namespace. - Usability improvements in the gdata.docs.service module, thanks Eric! - Made the dependency on elementtree only required if you are using Python 2.4 and lower. Thanks brosner! - Setting the ssl member in atom.service.AtomService will now override a URL which starts with http:. Many thanks to Michael Ballbach for the patch. - Added a proxy HTTP client which will use proxy environment variables to send all requests through the desired proxy server if present. - Added user agent string indicating that this is from the gdata python v2 library. - Removed unneeded title parameter from the Blogger client's add_comment method. - Added an all_tests_local script which runs all tests except those which would make HTTP requests to remote servers. - Added the birthday element to contacts entry, the reminder element to calendar events, and the method attribute to calendar's reminder class. All with great thanks to Marc! - The analytics GetData method no longer requires the dimensions argument. Thanks Jim! === 2.0.0 === June 29, 2009 (revision 777) - Released support for version 2 of the Google Data APIs protocol. To use the new version-aware code, use the gdata.client, atom.data, gdata.data modules and classes that derive from them. For example, use gdata.blogger.client.BloggerClient instead of gdata.blogger.service.BloggerService. High level, service specific classes are not available yet for other services, so feel free to migrate as they become available. The v1 service classes are still included so your existing code should be unaffected. - Included new Blogger samples to illustrate v2 support, a command line demo and an app for App Engine. - Added OAuth sample app which uses App Engine. - Added the gCal:sequence element to CalendarEventEntry (thanks Anton). - Added two decorators to diaply warnings when deprecated methods are used. - Added a login utility for command line samples to share to standardize the auth process on in a sample program. - Fixed a bug in v2 XML parsing which prevented multiversion XML classes from correctly parsing and generating v2 code. - Fixed v1 HTTP Host header settings, not default ports should now be included in the Host header. - Fixed pickle error when an OAuth-RSA token is saved to the App Engine datastore. - Fixed missing data in the Document List API unit tests. - Improved backwards compatibility of v2 data model classes be adding aliases to v1 functions. === 1.3.3 === June 5, 2009 (revision 724) - Added support for the Google Finance API. Thanks Swee Heng! - The Google Data Service classes now support version 1.0a of the OAuth protocol (Thanks Eric!). - Fixed a naming bug in unit tests for atom.service which appeared when using Python 2.6.x - Fixed URL parameter propogation when calling GDataService.Delete. The URL parameters are now preserved. - Fixed incorrect return type for gdata.FeedLinkFromString. - Added data model classes for the Atom and AtomPub XML elements which support version 2 of the Google Data APIs (by means of dynamic AtomPub namespace switching). The version 2 XML classes are much more backwards compatible with v1 classes than in previous releases. === 1.3.2 === May 22, 2009 (revision 711) - Added support for the Google Analytics API. Thanks Sal Uryasev! - Added support for the Google Book Search API. Thanks James Sams! - Improved support for 2 legged OAuth and added a sample app. Thanks Eric Bidelman! - Simplified the way an XML response from the server is parsed into the desired class for the version 2.0 API client (gdata.client.GDClient). === 1.3.1 === April 23, 2009 (revision 695) - Fixed issues with setting the developer key in the YouTubeService constructor. - For the Document List API (thanks Eric!): - Added writersCanInvite element - Fixed a small errors in Document Entry - Added category label when creating different types of docs - Fixed DownLoad helpers which shouldn't write a file if server returns error. Fixes issue 240. - Added DocumentListEntryFromString converter and using DocumentListEntry class instead of GDataEntry class to create entries. - URLs in HTTP requests can now be unicode strings. Resolves issue 233. - Improvements for the upcoming version 2.0.0 release: - The v2 auth code now support AuthSub and has been tested on App Engine. - Unit tests for the v2 client code will default to not use the local file cache but will make live requests unless cached responses is set to True in the test configuration module. - Older v1 unit tests can now use the v2 testing framework, migrated contacts API tests as a proof of concept. This will come in handy when testing backwards compatibility for the 2.0 release. - Improved support for unicode and other character encodings in the v2 XML core module. === 1.3.0 === Mar 20, 2009 (revision 665) - Added support for the Google Health API. (Thanks Eric Bidelman!) - Added support for the groups management in the Google Apps Provisioning API. (Thanks to Tony Chen and Oskar Casquero!) - Added the following new features for the Google Documents List API: (Thanks again to Eric Bidelman for adding all of these!) - Folder create, move docs/folders in and out of other folders. (Thanks Nizam Sayeed!) - Suppport for modifications to Access Control Lists for documents. - Export functionality for documents, spreadsheets, and presentations. - Updated the docs_example.py sample app. - New new XML elements: resourceID, lastViewed, and lastModifiedBy. - Added ability to update web clip settings in the Google Apps email settigns API. (Thanks Takashi Matsuo.) - Fixed a bug in calendarExample that would cause execution to fail when an event attendee does not have any attendeeStatus data. (Thanks Trevor Johns!) - Fixed AuthSub request URLs which should be https. (Yay Eric!) - Fixed logic when changing email settings when using the Google Apps API to only send properties which have been specified. (Thanks Jay Lee!) - Includes a new and experimental client class (gdata.client.GDClient) which can be used with version two of the Google Data API protocol. This class may change in backwards incompatible ways before the 2.0.0 release, so use at your own risk. === 1.2.4 === Jan 22, 2009 (revision 603) - Added a new AtomPubClient class (and supporting classes) which begins a foundation on which support for version two of the Google Data protocol will be built. - OAuth methods can now specify the desired OAuth server with the default being the Google Accounts end point (thanks Dag Brattli!). - Improved support for unicode strings in XML element class attributes and text nodes (thanks again to Dag). - Fixed constructors for Service classes which inherit from GDataService to ensure that all parameters are passed up to the superclass constructor (thanks Guillaume Ryder!). - Added a 'contact_list' property to ContactsService to simplify API usage for shared contacts (thanks Guillaume once again). - For Google Contacts, added a GetFeedUri method to help users generating feed URIs (Guillaume for a hat-trick). - New unit tests to ensure that the ordering of entry objects within a feed is preserved when converting to and from XML. === 1.2.3 === Dec 3, 2008 (revision 585) - Added support for OAuth (thanks to Kunal Shah!). Your client can now obtain an authorization token using the OAuth protocol. - Added support for Secure AuthSub (thanks Eric Bidelman!). Your client can digitally sign requests using RSA allowing Google service to verify that the request came from your application. - Added a new module for parsing XML which will be used in future versions to support version of the Google Data APIs protocol. This new library handles versioning of XML schemas. - The Google Contacts API sample now pages through results. - Added phone number rel types using in the Google Contacts API. - The YouTube service module will use cElementTree if it is available. Improves XML parsing speed. - Fixed typo in gdata.geo, changed longtitude to longitude but kept an alias for backwards compatibility. - Fixed Blogger's GetBlogId regular expressions to extract the ID from multiple kinds of entries. - Fixed type check in atom.http to allow unicode URL strings. - Added webmastertools test to the packaged download which fixed failures when running all data tests. - Improved compatibility of unit tests with Python2.3. - Added copies of tlslite and dependencies to support secure AuthSub and OAuth. - Changed the default host for Google Apps API requests to apps-apis.google.com. === 1.2.2 === Oct 15, 2008 (revision 556) - Added support for the following APIs: Google Apps Email Migration API Google Apps Email Settings API Google Webmaster Tools Data API Some modules for the above are not yet fully tested, so please file an issue if you notice something is not working as expected. - Restored support for gdata.http_request_handler when using App Engine to preserve backwards compatibility. - Simplified auth token management by adding a current_token member to service classes. Also added settings to control when the token_store is updated when using SetXToken() methods. The token_store will only be queried if there is no current_token. - Fixed issue with requests to HTTPS URLs in which an AuthSub token was seen as invalid because the request contained the default port number (443). The library no longer includes the port in the Host header if it is using the default. - Resolved issues with YouTube token scopes. - Fixed issue which appeared when the Calendar API issues a redirect to a PUT request. The library now correctly retries with a PUT (instead of a POST). - Added workaround for differences in how the App Engine SDK handles redirects. - Fixed typo in gdata.EntryLink declaration. - Fixed invalid host errors seen when using some HTTP proxies. === 1.2.1 === Sep 15, 2008 (revision 529) - The gdata.alt.appengine module now replaces a Service object's token_store with an AppEngineTokenStore which automatically associates auth tokens with the current user and stores the auth tokens in the datastore. - Streamlined the gdata.auth module. There are now six recommended functions for using Google auth mechanisms. GDataService now uses these six functions. - Added an override_token in Service objects (AtomService, GDataService) which bypasses the token_store. This member is helpful when using a single use AuthSub token which is only valid for one request and so would not be reused. - gdata.alt.appengin.run_on_appengine will now return the modified Service object. This allows statements like: client = gdata.alt.appengin.run_on_appengine( gdata.blogger.service.BloggerService()) - Fixed content length header issue in gdata.alt.appengine which caused errors when running on App Engine when HTTP headers are set to non-string values. - Fixed function naming issue in gdata.alt.appengine, a "private" function was not accessible in some import styles. - Fixed issue in atom.http which surfaces when passing in a string for the port number. Ports are now cast to ints. - Updated pydocs. === 1.2.0 === Sep 9, 2008 (revision 522) - Refactored HTTP request mechanisms and the way that Authorization headers are created and applied to requests. These changes make it easier to swap out the HTTP layer to allow the library to be used in different environments (like Google App Engine). The changes in Auth token logic should make it much easier to add support for secure AuthSub and OAuth. For more details on this change, see the following wiki page: http://code.google.com/p/gdata-python-client/wiki/HTTPRequestRefactoring - Fixed issues with token string modification which caused certain AuthSub token values to become invalid. - Created a new module for parsing and constructing URLs (atom.url). - Created a module for token storage which will lookup the correct auth token to be used for a particular URL. - Auth tokens are now represented as objects and contain information about the scopes (URLs) for which they can be used. The token object is responsible for adding the Authorization header to the request. - Added new functions to gdata.auth for extracting the raw token string from a response to an AuthSub token upgrade request. - Added support for the location query parameter in YouTube queries. - Added groups functionality to the Contacts API library. - Batch request support added for Contacts API operations. - Added default behavior to text_db GetTables: when no worksheet name or ID is specified, all tables are retrieved. - Fixed client login for YouTube. - Fixed issue in YouTube service when setting the developer key. - Fixed bug in YouTube service which raised an exception when inserting a video using a file-like object. - Added a method to Feed and Entry classes to find the "previous" link. - A failure when attempting to upgrade a single use AuthSub token to a session token will now raise an exception. - AppsForYourDomainException now uses Python2.5 style exception construction. - Moved the logic for using this library on Google App Engine into a new module: gdata.alt.appengine. === 1.1.1 === June 13, 2008 (revision 421) - Added support for new feeds available in the Google Contacts API. Adding contact groups, querying for contacts in a group, specifying extended properties, and setting the contact's photo are now supported. - The ExtendedProperty class can now contain a blob of XML instead of just an attribute value. This is used in the Google Contacts Data API. - The YouTube service now has methods for updating playlists and removing a video from a playlist. - Added geo-location to the YouTube service class. - When using ClientLogin with Blogger, the default account type is now set to 'GOOGLE'. This prevents the rare problem of a user having a Google Apps account which conflicts with his or her Google Account used for Blogger. - Added support for the in-reply-to element which appears in Blogger comments. === 1.1.0 === June 6, 2008 (revision 403) - Added modules for YouTube. - Added modules for Blogger to simplify using the Blogger API. - Updated pydocs for all modules. - New member in service object to allow the ClientLogin server to be changed. Required to be able to use ClientLogin with YouTube. - Iterating over Google Apps Feeds can now be accomplished using a generator. - New unit tests for the Google Apps Provisioning API. - Bug fixes to the mock_service module used in unit tests. - Fixed a bug in Query string generation when using category queries. - Improved ease of use for Calendar query construction, URL components are now escaped automatically by default. - Bug fix, added timezone element to CalendarEventFeed. - Improved docstrings to describe token access methods (specifically GetAuthSubToken). - Moved ExtendedProperty class into gdata module from gdata.calendar since it is now also used in the Google Contacts Data API. === 1.0.13 === May 8, 2008 (revision 357) - Added sample code illustrating the use of the Contacts API modules. - Added a mock_service module which will allow for faster test execution by simulating a server and replaying recordings instead of making HTTP requests to a remote server. - Fixed a but in the gdata.auth module which could cause certain characters at the start of the token to be removed incorrectly. - Fixed a bug in the gdata.apps.service module which caused an import to fail when loading ElementTree in some cases. - Service unit tests should run correctly when using run_service_tests and run_all_tests now that the subtests have been made into packages. === 1.0.12.1 === April 10, 2008 (revision 341) - Added new import statements so that xml.etree.ElementTree can be used. Needed for the library to run on Google App Engine. === 1.0.12 === April 8, 2008 (revision 334) - Added support for the Google Contacts API. - Added a gdata.urlfetch module which allows this library to be used in Google App Engine. This module uses urlfetch instead of httplib to perform HTTP requests. - Refactored atom.service and gdata.service to make it easier to swap out the HTTP communication layer. - Fixed a bug in the Push method of gdata.spreadsheet.text_db. - Sped up InsertRow method in gdata.spreadsheet.service. - Improved XML parsing efficiency in gdata.calendar.service. - Added new attribuges for the Google Apps login element. - Improved UpdatePhotoBlob in gdata.photo.service. - Added pydocs for Google Contacts API and updates in other modules. === 1.0.11.1 === March 13, 2008 (revision 314) - Added text_db module to gdata.spreadsheet which makes using the Spreadsheets API feel more like using a simple database. This module streamlines use of the list feed. - Compatibility fixes for geo and photos modules to run on Python 2.2 and 2.3. - Added the orderby parameter to gdata.service's Query class. - Changed the blogger sample to use orderby=updated so that queries on updated min or max will work. - Fix to string encoding in the atom core when converting text members to XML. === 1.0.11 === February 11, 2008 (revision 290) - Modified the gdata.service.GDataService to include a handler member to which all HTTP requests are delegated. This will allow the underlying HTTP client to be swapped out and pave the way for use of a mock server in unit tests. - Fixed character encoding problems when parsing non ASCII XML. - Added pydocs for gdata's geo, exif, and media packages. === 1.0.10.1 === December 20, 2007 (revision 265) - Photos packages for working with the Picasa Web Albums Data API. - New modules for handling media, geo, and exif XML elements. - Packages for the Google Code Seach API. - New PyDoc HTML pages generated from the source code. - Extracted authentication code into a seperate module which can be used in other applications. - The core XML parser should now fully support UTF-8 strings, there are also options to change the default encoding. - Bugfixes in Atom service's proxy support when authenticating with the proxy. - Spreadsheets UpdateCell can now take integers for the row and column parameters. - Added INSTALL.txt to explain the installation process. The content was copied from the getting started article here: http://code.google.com/support/bin/answer.py?answer=75582 - You can now create update and delete worksheets within a Google Spreadsheet. - Added convenience methods to service object to ease the process of iterating through a feed. - For Document List queries, added the ability to construct schema-qualified named folder queries. === 1.0.9 === October 15, 2007 (revision 213) - Added support for batch requests for the Google Spreadsheets cells feed, Google Calendar's events feed, and Google Base's items feed. - Authentication requests can now be sent to a different server by modifying a module variable in gdata.service. - Fixed the birthdaySample mashup. - User Agent headers now fit the pattern used in other Google data client libraries. - Made it easier to access custom elements for Google Base items. === 1.0.8 === August 31, 2007 (revision 192) - Major refactoring of the data model classes. Improved XML parsing performance. - Created a script to run all of the tests, one to run the data model tests, and one to run all service tests. - Changes to MediaSource to handle uploading files on Windows. - All of the sample code should now work in Python 2.2 and higher. I removed 2.4 dependancies. - Minor change to the Blogger sample; it now uses entry.GetSelfLink(). - Added fix to prevent socket.sslerror and redirect failures when using a proxy. - Google Calendar event entries can now contain a reference to the original event. The original event element is present when describing a recurrance exception. - Added timezone parameter to Google Calendar queries. This allows the client to request that event times be expressed in a specific timezone. === 1.0.7 === August 7, 2007 - Added new test for the Documents List data API's service module. - Updated setup.py to include the docs package in the installation. === 1.0.6 === Aug 2, 2007 - Support for Documents List API added along with sample code. === 1.0.5 === July 31, 2007 - XML parsing can now use cElementTree if it is available, this should speed up XML parsing. - Redirects now include all params in the original HTTP request. - Added support for WebContent and QuickAdd features of Google Calendar data API. - Proxy support added. - Binary MIME uploads now work for Windows files when performing media uploads. - New calendar functionality for add/edit/delete calendar and add/edit/delete subscriptions. Also, added new functionality for Calendar Gadgets. === 1.0.4 === June 23, 2007 - Added data and service modules for Google Apps. - XML parsing can now be configured in gdata module service calls to avoid multiparsing to convert to the desired type. - Fixed UTF-8 support in the Atom modules. - The spreadsheets example now works with UTF-8 column names. - Fixed a type in the Google Base dry-run sample. - Calendar's Who element no longer requires a name when converting to XML. === 1.0.3 === May 30, 2007 - Added a mashup sample using the spreadsheets and calendar services. - Reduced the number of unnecessary namespace declarations in the XML produced by objects. - Changed type of custom elements in a spreadsheets list entry. - Fixed bugs in spreadsheetsExample.py. - Spreadsheet entries now inherit from GDataEntry and have gdata specific convenience methods. === 1.0.2 === May 4, 2007 - Added support for media. Services can now upload images, the tests for this service use the Picasa Web Albums data API. - Added example code illustrating Blogger operations. - Fixed host name processing for URLs which have -'s in the host name. - Added a debug setting for service classes. - Added user agent header. - Made finding links of a specific type easier when dealing with Atom elements. Atom Entries now have GetXLink methods. - Simplified finding license links in Atom Entries. === 1.0.1 === April 20, 2007 - Rearranged package structure, tests are in their own directory and Google data API extension classes are nested under the gdata package. - Simplified accessing extension elements by adding FindExtesions. - Provided a setup.py file for distutils based installation. - Added support for the app:draft element. - Imports ElementTree from XML libraries in Python 2.5 - Fixed _EntryLinkFromElementTree in the calendar data module. - Fixed various _TakeChildFromElementTree methods in calendar data module. - Fixed delete and update operations in the spreadsheetExample script. - Fixed setting sort order and order by in calendar's service module. - Added HTTP BasicAuth for AtomService. === 1.0 === March 26, 2007 Initial release