1v1.7.11 2 Version 1.7.11 3 4 Bugfix release 5 6 Implementation Changes 7 - Pass library and Python version in x-goog-api-client header ([#734](https://github.com/googleapis/google-api-python-client/pull/734)) 8 9 Documentation 10 - Fix typo in filename used in 'docs/auth.md' ([#736](https://github.com/googleapis/google-api-python-client/pull/736)) 11 12 13v1.7.10 14 Version 1.7.10 15 16 Bugfix release 17 18 Implementation Changes 19 - Decode service to utf-8 ([#723](https://github.com/googleapis/google-api-python-client/pull/723)) 20 - Use print() function in both Python2 and Python 3 ([#722](https://github.com/googleapis/google-api-python-client/pull/722)) 21 - Make http.MediaFileUpload close its file descriptor ([#600](https://github.com/googleapis/google-api-python-client/pull/600)) 22 - Never make 'body' required ([#718](https://github.com/googleapis/google-api-python-client/pull/718)) 23 24 Documentation 25 - Add compatability check badges to README ([#691](https://github.com/googleapis/google-api-python-client/pull/691)) 26 - Regenerate docs ([#696](https://github.com/googleapis/google-api-python-client/pull/696), [#700](https://github.com/googleapis/google-api-python-client/pull/700)) 27 - Create index file for dynamically generated docs ([#702](https://github.com/googleapis/google-api-python-client/pull/702)) 28 - Add docs folder with guides from developers.google.com ([#706](https://github.com/googleapis/google-api-python-client/pull/706), [#710](https://github.com/googleapis/google-api-python-client/pull/710)) 29 30 Internal / Testing Changes 31 - Fix http.py, lint errors, unit test ([#724](https://github.com/googleapis/google-api-python-client/pull/724)) 32 - tox.ini: Look for Python syntax errors and undefined names ([#721](https://github.com/googleapis/google-api-python-client/pull/721)) 33 34 35v1.7.9 36 Version 1.7.9 37 38 Bugfix release 39 - Remove Django Samples. ([#657](https://github.com/googleapis/google-api-python-client/pull/657)) 40 - Call request_orig with kwargs ([#658](https://github.com/googleapis/google-api-python-client/pull/658)) 41 42v1.7.8 43 Version 1.7.8 44 45 Bugfix release 46 - Convert '$' in method name to '_' ([#616](https://github.com/googleapis/google-api-python-client/pull/616)) 47 - Alias unitest2 import as unittest in test__auth.py ([#613](https://github.com/googleapis/google-api-python-client/pull/613)) 48 49v1.7.7 50 Version 1.7.7 51 52 Bugfix release 53 - Change xrange to range ([#601](https://github.com/google/google-api-python-client/pull/601)) 54 - Typo in http.py exception message. ([#602](https://github.com/google/google-api-python-client/pull/602)) 55 56 - Announce deprecation of Python 2.7 ([#603](https://github.com/google/google-api-python-client/pull/603)) 57 - Updates documentation for stopping channel subscriptions ([#598](https://github.com/google/google-api-python-client/pull/598)) 58 - Adding example for searchAppearance ([#414](https://github.com/google/google-api-python-client/pull/414)) 59 60 - Add badges ([#455](https://github.com/google/google-api-python-client/pull/455)) 61 62v1.7.6 63 Version 1.7.6 64 65 Bugfix release 66 67 - Add client-side limit for batch requests (#585) 68 69v1.7.5 70 Version 1.7.5 71 72 Bugfix release 73 74 - Fix the client to respect the passed in developerKey and credentials 75 76v1.7.4 77 Version 1.7.4 78 79 Bugfix release 80 81 - Catch ServerNotFoundError to retry the request (#532) 82 83v1.7.3 84 Version 1.7.3 85 86 Bugfix release 87 88 - Make apiclient.sample_tools gracefully fail to import (#525). 89 90 91v1.7.2 92 Version 1.7.2 93 94 Bugfix release 95 96 - Remove unnecessary check in apiclient/__ini__.py (#522). 97 98v1.7.1 99 Version 1.7.1 100 101 Bugfix release 102 103 - Remove unnecessary check in setup.py (#518). 104 105v1.7.0 106 Version 1.7.0 107 108 This release drops the hard requirement on oauth2client and installs 109 google-auth by default instead. oauth2client is still supported but will 110 need to be explicitly installed. 111 112 - Drop oauth2client dependency (#499) 113 - Include tests in source distribution (#514) 114 115v1.6.7 116 Version 1.6.7 117 118 Bugfix release 119 120 **Note**: The next release of this library will no longer directly depend on 121 oauth2client. If you need to use oauth2client, you'll need to explicitly 122 install it. 123 124 - Make body optional for requests with no parameters. (#446) 125 - Fix retying on socket.timeout. (#495) 126 - Match travis matrix with tox testenv. (#498) 127 - Remove oauth2client._helpers dependency. (#493) 128 - Remove unused keyring test dependency. (#496) 129 - discovery.py: remove unused oauth2client import. (#492) 130 - Update README to reference GCP API client libraries. (#490) 131 132v1.6.6 133 Version 1.6.6 134 135 Bugfix release 136 137 - Warn when constructing BatchHttpRequest using the legacy batch URI (#488) 138 - Increase the default media chunksize to 100MB. (#482) 139 - Remove unnecessary parsing of mime headers in HttpRequest.__init__ (#467) 140 141v1.6.5 142 Version 1.6.5 143 144 Bugfix release 145 146 - Proactively refresh credentials when applying and treat a missing 147 `access_token` as invalid. Note: This change reveals surprising behavior 148 between default credentials and batches. If you allow 149 `googleapiclient.discovery.build` to use default credentials *and* specify 150 different credentials by providing `batch.execut()` with an explicit `http` 151 argument, your individual requests will use the default credentials and 152 *not* the credentials specified to the batch http. To avoid this, tell 153 `build` explicitly not to use default credentials by specifying 154 `build(..., http=httplib2.Http()`. (#469) 155 - Remove mutual exclusivity check for developerKey and credentials (#465) 156 - Handle unknown media length. (#406) 157 - Handle variant error format gracefully. (#459) 158 - Avoid testing against Django >= 2.0.0 on Python 2. (#460) 159 160v1.6.4 161 Version 1.6.4 162 163 Bugfix release 164 165 - Warn when google-auth credentials are used but google-auth-httplib2 isn't available. (#443) 166 167v1.6.3 168 Version 1.6.3 169 170 Bugfix release 171 172 - Add notification of maintenance mode to README. (#410) 173 - Fix generation of methods with abnormal page token conventions. (#338) 174 - Raise ValueError is credentials and developerKey are both specified. (#358) 175 - Re-generate documentation. (#364, #373, #401) 176 - Fix method signature documentation for multiline required parameters. (#374) 177 - Fix ZeroDivisionError in MediaDownloadProgress.progress. (#377) 178 - Fix dead link to WebTest in README. (#378) 179 - Fix details missing in googleapiclient.errors.HttpError. (#412) 180 - Don't treat httplib2.Credentials as oauth credentials. (#425) 181 - Various fixes to the Django sample. (#413) 182 183v1.6.2 184 Version 1.6.2 185 186 Bugfix release 187 188 - Fixed a bug where application default credentials would still be used even 189 when a developerKey was specified. (#347) 190 - Official support for Python 3.5 and 3.6. (#341) 191 192v1.6.1 193 Version 1.6.1 194 195 Bugfix release 196 197 - Fixed a bug where using google-auth with scoped credentials would fail. (#328) 198 199v1.6.0 200 Version 1.6.0 201 202 Release to drop support for Python 2.6 and add support for google-auth. 203 204 - Support for Python 2.6 has been dropped. (#319) 205 - The credentials argument to discovery.build and discovery.build_from_document 206 can be either oauth2client credentials or google-auth credentials. (#319) 207 - discovery.build and discovery.build_from_document now unambiguously use the 208 http argument to make all requests, including the request for the discovery 209 document. (#319) 210 - The http and credentials arguments to discovery.build and 211 discovery.build_from_document are now mutually exclusive, eliminating a 212 buggy edge case. (#319) 213 - If neither http or credentials is specified to discovery.build and 214 discovery.build_from_document, then Application Default Credentials will 215 be used. The library prefers google-auth for this if it is available, but 216 can also use oauth2client's implementation. (#319) 217 - Fixed resumable upload failure when receiving a 308 response. (#312) 218 - Clarified the support versions of Python 3. (#316) 219 220v1.5.5 221 Version 1.5.5 222 223 Bugfix release 224 225 - Allow explicit MIME type specification with media_mime_type keyword argument. 226 - Fix unprintable representation of BatchError with default constructor. (#165) 227 - Refresh all discovery docs, not just the preferred ones. (#298) 228 - Update minimum httplib2 dependency to >=0.9.2. 229 230v1.5.4 231 Version 1.5.4 232 233 Bugfix release 234 235 - Properly handle errors when the API returns a mapping or sequence. (#289) 236 - Upgrade to unified uritemplate 3.0.0. (#293) 237 - Allow oauth2client 4.0.0, with the caveat that file-based discovery 238 caching is disabled. 239 240v1.5.3 241 Version 1.5.3 242 243 Bugfix release 244 245 - Fixed import error with oauth2client >= 3.0.0. (#270) 246 247v1.5.2 248 Version 1.5.2 249 250 Bugfix release 251 252 - Allow using oauth2client >= 1.5.0, < 4.0.0. (#265) 253 - Fix project_id argument description. (#257) 254 - Retry chunk uploaded on rate limit exceeded errors. (#255) 255 - Obtain access token if necessary in BatchHttpRequest.execute(). (#232) 256 - Warn when running tests using HttpMock without having a cache. (#261) 257 258v1.5.1 259 Version 1.5.1 260 261 Bugfix release 262 263 - Allow using versions of oauth2client < 2.0.0. (#197) 264 - Check both current and new API discovery URL. (#202) 265 - Retry http requests on connection errors and timeouts. (#218) 266 - Retry http requests on rate limit responses. (#201) 267 - Import guards for ssl (for Google App Engine). (#220) 268 - Use named loggers instead of the root logger. (#206) 269 - New search console example. (#212) 270 271v1.5.0 272 Version 1.5.0 273 274 Release to support oauth2client >= 2.0.0. 275 276 - Fix file stream recognition in Python 3 (#141) 277 - Fix non-resumable binary uploads in Python 3 (#147) 278 - Default to 'octet-stream' if mimetype detection fails (#157) 279 - Handle SSL errors with retries (#160) 280 - Fix incompatibility with oauth2client v2.0.0 (#182) 281 282v1.4.2 283 Version 1.4.2 284 285 Add automatic caching for the discovery docs. 286 287v1.4.1 288 Version 1.4.1 289 290 Add the googleapiclient.discovery.Resource.new_batch_http_request method. 291 292v1.4.0 293 Version 1.4.0 294 295 Python 3 support. 296 297v1.3.2 298 Version 1.3.2 299 300 Small bugfix release. 301 302 - Fix an infinite loop for downloading small files. 303 - Fix a unicode error in error encoding. 304 - Better handling of `content-length` in media requests. 305 - Add support for methodPath entries containing colon. 306 307v1.3.1 308 Version 1.3.1 309 310 Quick release for a fix around aliasing in v1.3. 311 312v1.3 313 Version 1.3 314 315 Add support for the Google Application Default Credentials. 316 Require python 2.6 as a minimum version. 317 Update several API samples. 318 Finish splitting out oauth2client repo and update tests. 319 Various doc cleanup and bugfixes. 320 321 Two important notes: 322 * We've added `googleapiclient` as the primary suggested import 323 name, and kept `apiclient` as an alias, in order to have a more 324 appropriate import name. At some point, we will remove `apiclient` 325 as an alias. 326 * Due to an issue around in-place upgrades for Python packages, 327 it's not possible to do an upgrade from version 1.2 to 1.3. Instead, 328 setup.py attempts to detect this and prevents it. Simply remove 329 the previous version and reinstall to fix this. 330 331v1.2 332 Version 1.2 333 334 The use of the gflags library is now deprecated, and is no longer a 335 dependency. If you are still using the oauth2client.tools.run() function 336 then include gflags as a dependency of your application or switch to 337 oauth2client.tools.run_flow. 338 Samples have been updated to use the new apiclient.sample_tools, and no 339 longer use gflags. 340 Added support for the experimental Object Change Notification, as found in 341 the Cloud Storage API. 342 The oauth2client App Engine decorators are now threadsafe. 343 344 - Use the following redirects feature of httplib2 where it returns the 345 ultimate URL after a series of redirects to avoid multiple hops for every 346 resumable media upload request. 347 - Updated AdSense Management API samples to V1.3 348 - Add option to automatically retry requests. 349 - Ability to list registered keys in multistore_file. 350 - User-agent must contain (gzip). 351 - The 'method' parameter for httplib2 is not positional. This would cause 352 spurious warnings in the logging. 353 - Making OAuth2Decorator more extensible. Fixes Issue 256. 354 - Update AdExchange Buyer API examples to version v1.2. 355 356 357v1.1 358 Version 1.1 359 360 Add PEM support to SignedJWTAssertionCredentials (used to only support 361 PKCS12 formatted keys). Note that if you use PEM formatted keys you can use 362 PyCrypto 2.6 or later instead of OpenSSL. 363 364 Allow deserialized discovery docs to be passed to build_from_document(). 365 366 - Make ResumableUploadError derive from HttpError. 367 - Many changes to move all the closures in apiclient.discovery into real 368 - classes and objects. 369 - Make from_json behavior inheritable. 370 - Expose the full token response in OAuth2Client and OAuth2Decorator. 371 - Handle reasons that are None. 372 - Added support for NDB based storing of oauth2client objects. 373 - Update grant_type for AssertionCredentials. 374 - Adding a .revoke() to Credentials. Closes issue 98. 375 - Modify oauth2client.multistore_file to store and retrieve credentials 376 using an arbitrary key. 377 - Don't accept 403 challenges by default for auth challenges. 378 - Set httplib2.RETRIES to 1. 379 - Consolidate handling of scopes. 380 - Upgrade to httplib2 version 0.8. 381 - Allow setting the response_type in OAuth2WebServerFlow. 382 - Ensure that dataWrapper feature is checked before using the 'data' value. 383 - HMAC verification does not use a constant time algorithm. 384 385v1.0 386 Version 1.0 387 388 - Changes to the code for running tests and building releases. 389 390v1.0c3 391 Version 1.0 Release Candidate 3 392 393 - In samples and oauth2 decorator, escape untrusted content before displaying it. 394 - Do not allow credentials files to be symlinks. 395 - Add XSRF protection to oauth2decorator callback 'state'. 396 - Handle uploading chunked media by stream. 397 - Handle passing streams directly to httplib2. 398 - Add support for Google Compute Engine service accounts. 399 - Flows no longer need to be saved between uses. 400 - Change GET to POST if URI is too long. Fixes issue #96. 401 - Add a keyring based Storage. 402 - More robust picking up JSON error responses. 403 - Make batch errors align with normal errors. 404 - Add a Google Compute sample. 405 - Token refresh to work with 'old' GData API 406 - Loading of client_secrets JSON file backed by a cache. 407 - Switch to new discovery path parameters. 408 - Add support for additionalProperties when printing schema'd objects. 409 - Fix media upload parameter names. Reviewed in http://codereview.appspot.com/6374062/ 410 - oauth2client support for URL-encoded format of exchange token response (e.g. Facebook) 411 - Build cleaner and easier to read docs for dynamic surfaces. 412 413v1.0c2 414 Version 1.0 Release Candidate 2 415 416 - Parameter values of None should be treated as missing. Fixes issue #144. 417 - Distribute the samples separately from the library source. Fixes issue #155. 418 - Move all remaining samples over to client_secrets.json. Fixes issue #156. 419 - Make locked_file.py understand win32file primitives for better awesomeness. 420 421v1.0c1 422 Version 1.0 Release Candidate 1 423 424 - Documentation for the library has switched to epydoc: 425 http://google-api-python-client.googlecode.com/hg/docs/epy/index.html 426 - Many improvements for media support: 427 * Added media download support, including resumable downloads. 428 * Better handling of streams that report their size as 0. 429 * Update Media Upload to include io.Base and also fix some bugs. 430 - OAuth bug fixes and improvements. 431 * Remove OAuth 1.0 support. 432 * Added credentials_from_code and credentials_from_clientsecrets_and_code. 433 * Make oauth2client support Windows-friendly locking. 434 * Fix bug in StorageByKeyName. 435 * Fix None handling in Django fields. Reviewed in http://codereview.appspot.com/6298084/. Fixes issue #128. 436 - Add epydoc generated docs. Reviewed in http://codereview.appspot.com/6305043/ 437 - Move to PEP386 compliant version numbers. 438 - New and updated samples 439 * Ad Exchange Buyer API v1 code samples. 440 * Automatically generate Samples wiki page from README files. 441 * Update Google Prediction samples. 442 * Add a Tasks sample that demonstrates Service accounts. 443 * new analytics api samples. Reviewed here: http://codereview.appspot.com/5494058/ 444 - Convert all inline samples to the Farm API for consistency. 445 446v1.0beta8 447 - Updated meda upload support. 448 - Many fixes for batch requests. 449 - Better handling for requests that don't require a body. 450 - Fix issues with Google App Engine Python 2.7 runtime. 451 - Better support for proxies. 452 - All Storages now have a .delete() method. 453 - Important changes which might break your code: 454 * apiclient.anyjson has moved to oauth2client.anyjson. 455 * Some calls, for example, taskqueue().lease() used to require a parameter 456 named body. In this new release only methods that really need to send a body 457 require a body parameter, and so you may get errors about an unknown 458 'body' parameter in your call. The solution is to remove the unneeded 459 body={} parameter. 460 461v1.0beta7 462 - Support for batch requests. http://code.google.com/p/google-api-python-client/wiki/Batch 463 - Support for media upload. http://code.google.com/p/google-api-python-client/wiki/MediaUpload 464 - Better handling for APIs that return something other than JSON. 465 - Major cleanup and consolidation of the samples. 466 - Bug fixes and other enhancements: 467 72 Defect Appengine OAuth2Decorator: Convert redirect address to string 468 22 Defect Better error handling for unknown service name or version 469 48 Defect StorageByKeyName().get() has side effects 470 50 Defect Need sample client code for Admin Audit API 471 28 Defect better comments for app engine sample Nov 9 472 63 Enhancement Let OAuth2Decorator take a list of scope 473