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