# Changelog

## [2.34.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.33.0...v2.34.0) (2022-01-05)


### Features

* **alertcenter:** update the api https://github.com/googleapis/google-api-python-client/commit/945a281fc6a055f37d68a742959bdd18aaf6eb62 ([5a6231d](https://www.github.com/googleapis/google-api-python-client/commit/5a6231d31156644fdc0fd5a6ef8a0cef25d1dd9b))
* **analyticsdata:** update the api https://github.com/googleapis/google-api-python-client/commit/90327d9a1b198523773d730402c5274c424ddf8f ([797d677](https://www.github.com/googleapis/google-api-python-client/commit/797d67740e7a8493c7e5fccdce3b88b0de90883b))
* **apigee:** update the api https://github.com/googleapis/google-api-python-client/commit/a2271c7c184e8d75b6370cf139ca464e4ebe435d ([5a6231d](https://www.github.com/googleapis/google-api-python-client/commit/5a6231d31156644fdc0fd5a6ef8a0cef25d1dd9b))
* **clouddeploy:** update the api https://github.com/googleapis/google-api-python-client/commit/e98fcec145aeb43c1a962404c4599b63dbe7443c ([5a6231d](https://www.github.com/googleapis/google-api-python-client/commit/5a6231d31156644fdc0fd5a6ef8a0cef25d1dd9b))
* **cloudsearch:** update the api https://github.com/googleapis/google-api-python-client/commit/6a63e51e98ea3d3662b0dd89e95636ddf14ef941 ([5a6231d](https://www.github.com/googleapis/google-api-python-client/commit/5a6231d31156644fdc0fd5a6ef8a0cef25d1dd9b))
* **compute:** update the api https://github.com/googleapis/google-api-python-client/commit/4f21ebf8fd2a9fd1e838e74266e8f8ed847c5236 ([5a6231d](https://www.github.com/googleapis/google-api-python-client/commit/5a6231d31156644fdc0fd5a6ef8a0cef25d1dd9b))
* **contactcenterinsights:** update the api https://github.com/googleapis/google-api-python-client/commit/bb409be9296aef9c3e106476999e6e1c37d2fa8a ([5a6231d](https://www.github.com/googleapis/google-api-python-client/commit/5a6231d31156644fdc0fd5a6ef8a0cef25d1dd9b))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/5687b00d4ba57a2ddb4311f66ae627f1c4f3807d ([5a6231d](https://www.github.com/googleapis/google-api-python-client/commit/5a6231d31156644fdc0fd5a6ef8a0cef25d1dd9b))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/d026eb98f0eee8889aa7b55d507296074a140da5 ([5a6231d](https://www.github.com/googleapis/google-api-python-client/commit/5a6231d31156644fdc0fd5a6ef8a0cef25d1dd9b))
* **dns:** update the api https://github.com/googleapis/google-api-python-client/commit/f96d280615ea04400a22fe9b7fae31bb6e10e4fe ([5a6231d](https://www.github.com/googleapis/google-api-python-client/commit/5a6231d31156644fdc0fd5a6ef8a0cef25d1dd9b))
* expose library version at googleapiclient.__version__ ([#1623](https://www.github.com/googleapis/google-api-python-client/issues/1623)) ([83db1d7](https://www.github.com/googleapis/google-api-python-client/commit/83db1d71395e92fb2bd814a31713bd8ba3f412ca))
* **healthcare:** update the api https://github.com/googleapis/google-api-python-client/commit/8a11e53e91c04caba64091272b8e8e7a5b482c41 ([797d677](https://www.github.com/googleapis/google-api-python-client/commit/797d67740e7a8493c7e5fccdce3b88b0de90883b))
* **networkconnectivity:** update the api https://github.com/googleapis/google-api-python-client/commit/6de66e85f4cddf5a26c37c35db2ca0ef561c41fb ([5a6231d](https://www.github.com/googleapis/google-api-python-client/commit/5a6231d31156644fdc0fd5a6ef8a0cef25d1dd9b))
* **recaptchaenterprise:** update the api https://github.com/googleapis/google-api-python-client/commit/953a206f931396b030aa521323d05a4467b47d05 ([5a6231d](https://www.github.com/googleapis/google-api-python-client/commit/5a6231d31156644fdc0fd5a6ef8a0cef25d1dd9b))
* **securitycenter:** update the api https://github.com/googleapis/google-api-python-client/commit/db02cdb70461284f33d1cce098a1babb191a1e87 ([5a6231d](https://www.github.com/googleapis/google-api-python-client/commit/5a6231d31156644fdc0fd5a6ef8a0cef25d1dd9b))
* **serviceconsumermanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/a8a823f893b0208b9b8e1a71518726c1a919db5b ([5a6231d](https://www.github.com/googleapis/google-api-python-client/commit/5a6231d31156644fdc0fd5a6ef8a0cef25d1dd9b))
* **servicenetworking:** update the api https://github.com/googleapis/google-api-python-client/commit/b9be56f5967f7112a3b4620e89fffac4c82907ae ([797d677](https://www.github.com/googleapis/google-api-python-client/commit/797d67740e7a8493c7e5fccdce3b88b0de90883b))
* **serviceusage:** update the api https://github.com/googleapis/google-api-python-client/commit/743505720e00bf57f0f2347b0c9c4b1cbed1ecc9 ([5a6231d](https://www.github.com/googleapis/google-api-python-client/commit/5a6231d31156644fdc0fd5a6ef8a0cef25d1dd9b))
* **testing:** update the api https://github.com/googleapis/google-api-python-client/commit/98d5c1de2a32dce65697bffeb87b3a520ae5a94e ([797d677](https://www.github.com/googleapis/google-api-python-client/commit/797d67740e7a8493c7e5fccdce3b88b0de90883b))


### Bug Fixes

* **deps:** require uritemplate 3.0.1 ([#1629](https://www.github.com/googleapis/google-api-python-client/issues/1629)) ([1c4cfdb](https://www.github.com/googleapis/google-api-python-client/commit/1c4cfdb76560f757cec9dbc56a290ee748a07ef0))

## [2.33.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.32.0...v2.33.0) (2021-12-07)


### Features

* **analyticsadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/835ba4092c656966ec26ec08f6be20d5d1abcf43 ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))
* **bigquery:** update the api https://github.com/googleapis/google-api-python-client/commit/6abccd47e1e537bbc46447acf1495a610c3dae31 ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))
* **chat:** update the api https://github.com/googleapis/google-api-python-client/commit/f5a2e18eebb360f0b416765166303d362944130f ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))
* **cloudasset:** update the api https://github.com/googleapis/google-api-python-client/commit/d3602dbfbb01eda58b5930bf17f8fbdfaad1e6cf ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))
* **cloudkms:** update the api https://github.com/googleapis/google-api-python-client/commit/a3343e30f99a8250ac4dffc401e3106b21e59c13 ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))
* **composer:** update the api https://github.com/googleapis/google-api-python-client/commit/614167472dc908fa47eec9a0921b9538ba068066 ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))
* **compute:** update the api https://github.com/googleapis/google-api-python-client/commit/834349f1c54a0be33fb55e3328f88f25fa6a9419 ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))
* **contactcenterinsights:** update the api https://github.com/googleapis/google-api-python-client/commit/5482a0bade7167307dbbd81455c023a685318227 ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/361134dcbcca446cb9e2b004006f3feb1920fd93 ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))
* **displayvideo:** update the api https://github.com/googleapis/google-api-python-client/commit/4d43cceda82a1df22fad872e85e1b7236e239ae8 ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))
* **orgpolicy:** update the api https://github.com/googleapis/google-api-python-client/commit/ce6c8aad2d1e8f7d6325c2642f61c07e22fddb5c ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))
* **prod_tt_sasportal:** update the api https://github.com/googleapis/google-api-python-client/commit/dbbe2a7c7d9d43564d4032d109dc5e83d4864e84 ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))
* **retail:** update the api https://github.com/googleapis/google-api-python-client/commit/4e21ee29bc68bb989519460ede52c04cc66f203e ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))
* **vmmigration:** update the api https://github.com/googleapis/google-api-python-client/commit/8898d540b6ac5801da6854209ff3dee1af7dc176 ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))
* **websecurityscanner:** update the api https://github.com/googleapis/google-api-python-client/commit/bb0332e672950a3fbdfe0d383d948a4925bd433f ([8595441](https://www.github.com/googleapis/google-api-python-client/commit/8595441799dfc7cb2ec12d6ecfe893fd87b2fa7c))

## [2.32.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.31.0...v2.32.0) (2021-11-30)


### Features

* **androidpublisher:** update the api https://github.com/googleapis/google-api-python-client/commit/5aee28e836eb486c4ed73c4ed2afbd9fc0e70f06 ([a7b9714](https://www.github.com/googleapis/google-api-python-client/commit/a7b97147a582605930e25d51f59e2974442c66a4))
* **artifactregistry:** update the api https://github.com/googleapis/google-api-python-client/commit/faa6c7f4fab2190989c9a587f35998203517ff2a ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **assuredworkloads:** update the api https://github.com/googleapis/google-api-python-client/commit/c0f6be757e47a62337e7963bea576858cbf17341 ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **chat:** update the api https://github.com/googleapis/google-api-python-client/commit/ef184772aa82c3dd136d2da03d7dc7a1d9672e1c ([a7b9714](https://www.github.com/googleapis/google-api-python-client/commit/a7b97147a582605930e25d51f59e2974442c66a4))
* **cloudbuild:** update the api https://github.com/googleapis/google-api-python-client/commit/536d4b0a61e15b45439f3f3066410236d50e228b ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **composer:** update the api https://github.com/googleapis/google-api-python-client/commit/bc7ce92bf38d4eed3fce35cd080bf40b43855ba4 ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **compute:** update the api https://github.com/googleapis/google-api-python-client/commit/574d4ace68dc1bd844f01ec13419b7d055fa857e ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **containeranalysis:** update the api https://github.com/googleapis/google-api-python-client/commit/a86a46ed4f6098a6da8d3bc2db8ae1642e4300f3 ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/c4cdd10e83565119457494a21f1abe128ac59083 ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **datastream:** update the api https://github.com/googleapis/google-api-python-client/commit/f54ebeac6f8829b81b975a9fcabde5423f769ea9 ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/2b33ab2f6823916a872f33c23c9da86b993f0fc0 ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **dlp:** update the api https://github.com/googleapis/google-api-python-client/commit/0406443bd63e9bf9312c3ac7a7398ca0a60dac51 ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **gameservices:** update the api https://github.com/googleapis/google-api-python-client/commit/8016e68c4c2ac2f065fc1a0c7e86aac35329cf25 ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **gkehub:** update the api https://github.com/googleapis/google-api-python-client/commit/fbcb756aa75d122f9929a6319b3bdd413cebc293 ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **logging:** update the api https://github.com/googleapis/google-api-python-client/commit/8ce3b8583936958cabce8c7a0cd72ad16817de0c ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **ml:** update the api https://github.com/googleapis/google-api-python-client/commit/cfe625ae36d61eda2f496115ad515a7000d8973c ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **networkconnectivity:** update the api https://github.com/googleapis/google-api-python-client/commit/6348dd518b3be79230e3d23beb4e4f2527d67855 ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **osconfig:** update the api https://github.com/googleapis/google-api-python-client/commit/0c6c8148b57f793fab971f2f815acef70fde478b ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))
* **storagetransfer:** update the api https://github.com/googleapis/google-api-python-client/commit/5758865ada7f1c87525752f002f82ca8681e927d ([466c9a9](https://www.github.com/googleapis/google-api-python-client/commit/466c9a938ee07debe7d6e35550b473c62f9f3992))

## [2.31.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.30.0...v2.31.0) (2021-11-16)


### Features

* **bigtableadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/be7ffcca66cdcb1dfcd9849538772914c90b3ea0 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **chromemanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/59c97996091063cdad497be989d168ec1e71a178 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **cloudasset:** update the api https://github.com/googleapis/google-api-python-client/commit/60f5758b975a9bbac044b9005601c5c026125137 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **cloudfunctions:** update the api https://github.com/googleapis/google-api-python-client/commit/c517033bea4e84d1c118f77df38e2f33b3741ec2 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **contactcenterinsights:** update the api https://github.com/googleapis/google-api-python-client/commit/9ac9faa70c053fd1f5b2de7b6ef5947a04270dba ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **containeranalysis:** update the api https://github.com/googleapis/google-api-python-client/commit/618985bd0fa3f0380152e8d33e3b30ba465e1f2d ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **datapipelines:** update the api https://github.com/googleapis/google-api-python-client/commit/a39bb0f9b41255adf6c790130931f64a153ac0e8 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **datastore:** update the api https://github.com/googleapis/google-api-python-client/commit/5050adbdc30c4247e2454a7e063c7f7ea2724bc0 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/fd46c128ec3d0679283e3cddb1c40eb8b5f3728a ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/3ba31828b05604eaa23101d681354b39c75d712d ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **drive:** update the api https://github.com/googleapis/google-api-python-client/commit/b1840b06a09ec22db69d757706aa98d2bf536a49 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **file:** update the api https://github.com/googleapis/google-api-python-client/commit/b13a2490844c5c84c42e26c7e5bafdf700e689df ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **gkehub:** update the api https://github.com/googleapis/google-api-python-client/commit/37cce48342813c865a2704ca06841f1801ebb60c ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **healthcare:** update the api https://github.com/googleapis/google-api-python-client/commit/8d1f955971aae9e0e4b7956906e43382fcf57d20 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **metastore:** update the api https://github.com/googleapis/google-api-python-client/commit/9c90df783a1fac104920100158ddb7c88d461545 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **monitoring:** update the api https://github.com/googleapis/google-api-python-client/commit/bf890b636ae02bb1d84e050df052fa341a29a4c1 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **mybusinessbusinessinformation:** update the api https://github.com/googleapis/google-api-python-client/commit/90e206c145790d0f9a78bbd7acb2667796868db7 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **paymentsresellersubscription:** update the api https://github.com/googleapis/google-api-python-client/commit/c8796544acc40e330276b7777c728782217b1bb4 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **recaptchaenterprise:** update the api https://github.com/googleapis/google-api-python-client/commit/ff95700fce7de8bc2a58be64890740140532f865 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **recommender:** update the api https://github.com/googleapis/google-api-python-client/commit/d85fe38478c2cb56b3694e6890f6d53c367e057d ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **securitycenter:** update the api https://github.com/googleapis/google-api-python-client/commit/35a6d4e716f26c77b3588f28d3097871a29dea7e ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **speech:** update the api https://github.com/googleapis/google-api-python-client/commit/13f1bcb6311e0ea11ad60a29713c1a0a1fe22f42 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **sqladmin:** update the api https://github.com/googleapis/google-api-python-client/commit/770bc14b5f95b525bd04e40378a718a38ac31a0d ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **tpu:** update the api https://github.com/googleapis/google-api-python-client/commit/ea30e3a05539e4de70e385a34490153f32c16789 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))
* **vmmigration:** update the api https://github.com/googleapis/google-api-python-client/commit/80e20909242c4bde06b8adc3afecf1141be34f45 ([815c1ac](https://www.github.com/googleapis/google-api-python-client/commit/815c1ac7e3f7c7ea6df920645adb8cba84b05c22))


### Bug Fixes

* MediaIoBaseDownload range header off-by-one ([#1595](https://www.github.com/googleapis/google-api-python-client/issues/1595)) ([4b73b2e](https://www.github.com/googleapis/google-api-python-client/commit/4b73b2e9d53e63404c8800f2a2b3f1ee86680815))

## [2.30.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.29.0...v2.30.0) (2021-11-09)


### Features

* **androidmanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/be2e5dd39ea24ffb04bda06bcd6af55fe15a272f ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **appengine:** update the api https://github.com/googleapis/google-api-python-client/commit/4535ce54bf2a6638f1a70c394021f17883fa0f35 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **artifactregistry:** update the api https://github.com/googleapis/google-api-python-client/commit/882fdb3258c3ead813f0895539bc99503d3a4356 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **chromepolicy:** update the api https://github.com/googleapis/google-api-python-client/commit/c330a6f08c004f0809bfbc1b43801dd5c38dc805 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **cloudidentity:** update the api https://github.com/googleapis/google-api-python-client/commit/d0f05277b6caeab32d8283f2ffdf253608c67a78 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **composer:** update the api https://github.com/googleapis/google-api-python-client/commit/2bfa5a11741e6c653c6297a9e438c0316a9703a0 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **compute:** update the api https://github.com/googleapis/google-api-python-client/commit/b917688b232d9cc2ca59f25725e9013e2d6d09f7 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **datastream:** update the api https://github.com/googleapis/google-api-python-client/commit/218521cf0ac369533de05f866419d38295f17a40 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **dns:** update the api https://github.com/googleapis/google-api-python-client/commit/540233d5289624ba149069596ae46233fd31e2b7 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **healthcare:** update the api https://github.com/googleapis/google-api-python-client/commit/1e029c853a3232ea499035dd7a9c141d60df4ba1 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **ondemandscanning:** update the api https://github.com/googleapis/google-api-python-client/commit/9f998b473a80a9c92e1d9ff7c7e1c35c208c93f8 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **osconfig:** update the api https://github.com/googleapis/google-api-python-client/commit/59cea85511b634a99028cb73ef0e73fb1e194b5b ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **paymentsresellersubscription:** update the api https://github.com/googleapis/google-api-python-client/commit/efb5b4fc9229f0baa66b928cfa4ba6f6d1315643 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **privateca:** update the api https://github.com/googleapis/google-api-python-client/commit/b4ae2c840870ff9cd6f6fe1f39ab4f00c5e87b08 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **recommender:** update the api https://github.com/googleapis/google-api-python-client/commit/8dffae4069115fdb3dac902eee0bf2c9cbc39ce9 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **retail:** update the api https://github.com/googleapis/google-api-python-client/commit/f71107495bef44a7d7a9108dcdae2eada7815986 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **storagetransfer:** update the api https://github.com/googleapis/google-api-python-client/commit/c835926b3369ad8f8dbe277e6caa9c995db6342f ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **streetviewpublish:** update the api https://github.com/googleapis/google-api-python-client/commit/35f0b1b607af6386790a6ec49541f87bc3091453 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))
* **translate:** update the api https://github.com/googleapis/google-api-python-client/commit/1f848a58c798840ee0ac4f768324c9f44b3cfc07 ([5dcb723](https://www.github.com/googleapis/google-api-python-client/commit/5dcb723c970982dce020aa7146697c70569458ee))

## [2.29.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.28.0...v2.29.0) (2021-11-02)


### Features

* **adexchangebuyer2:** update the api https://github.com/googleapis/google-api-python-client/commit/49432a596a9d2e0a014afb2c57cc0ceec37aa403 ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **bigquery:** update the api https://github.com/googleapis/google-api-python-client/commit/faedd49d24634e1646e15cb79a983391a6938faa ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **chromemanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/89fc0743cff2c64a438339003fc1c8fdf99938dd ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **cloudbuild:** update the api https://github.com/googleapis/google-api-python-client/commit/8c2010464ec7a8aa6ffe8a044ae44ea0ab199f45 ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **compute:** update the api https://github.com/googleapis/google-api-python-client/commit/c2acfdbefef85f8a4696ae467bd61d05db25cf31 ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **contactcenterinsights:** update the api https://github.com/googleapis/google-api-python-client/commit/04ba8ef034ac1fd69e8e641c585e762e19078806 ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/3c92c46132922d77598527fc98780edca5978ce2 ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **content:** update the api https://github.com/googleapis/google-api-python-client/commit/037b9e1d5c9865af22a3c70dc44542ea3ce547dc ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **datafusion:** update the api https://github.com/googleapis/google-api-python-client/commit/fc6d716e71875ea73036e576bbaafb2826e01e1d ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **dlp:** update the api https://github.com/googleapis/google-api-python-client/commit/08353cbe37fc4c0dcc1311efead553797067417e ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/7974abc07dceffbc9fdb5365b706ed5e1a9899fc ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **firebaseappcheck:** update the api https://github.com/googleapis/google-api-python-client/commit/13220f0704b0d5b954520307a6702efead926e5e ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **gameservices:** update the api https://github.com/googleapis/google-api-python-client/commit/ea5f2216765868a1d6e48995f23b74709ca5ebef ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **gkehub:** update the api https://github.com/googleapis/google-api-python-client/commit/f4ae68ff69c32b5708f1e5f735cb03f3184f7650 ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **healthcare:** update the api https://github.com/googleapis/google-api-python-client/commit/5c430ab79811ae3565a83d57ba06e0d48560f791 ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **monitoring:** update the api https://github.com/googleapis/google-api-python-client/commit/3ad9f05ae340101c6016e4ceeef52661d0c01e21 ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **networkmanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/992b9f851e871feb796485e6af936a3d05899e4e ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **osconfig:** update the api https://github.com/googleapis/google-api-python-client/commit/972e716c233348d6e5d686f3718607a42e7d728a ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **oslogin:** update the api https://github.com/googleapis/google-api-python-client/commit/1ba23c68428c3c07a778f25dc9fc10998022c414 ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **paymentsresellersubscription:** update the api https://github.com/googleapis/google-api-python-client/commit/cc7fd94a993048d6ca7cc34e42c4536df6eeb93d ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **recaptchaenterprise:** update the api https://github.com/googleapis/google-api-python-client/commit/2da594c083639420e285d70d26483e46df9fa1a0 ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **redis:** update the api https://github.com/googleapis/google-api-python-client/commit/c16b96450466eb72e8122fc8aca0ce010a113350 ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **run:** update the api https://github.com/googleapis/google-api-python-client/commit/c502728bfd31e520d4f5f06cc763dc2316cbb221 ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **searchconsole:** update the api https://github.com/googleapis/google-api-python-client/commit/eede698004d718213b315b3728793a967a92e87b ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **speech:** update the api https://github.com/googleapis/google-api-python-client/commit/9f0148f2f0f035b9e3c7d73dbd95a8f961ef3eb1 ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **tagmanager:** update the api https://github.com/googleapis/google-api-python-client/commit/fe4351bca507192a682440fa52f50eb98cef4434 ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))
* **vmmigration:** update the api https://github.com/googleapis/google-api-python-client/commit/d8afe7c7e0a556d31dc904e8878c1bf884a375af ([a41c7b9](https://www.github.com/googleapis/google-api-python-client/commit/a41c7b9247ed1b9f335c40bc4d24c0660331191a))

## [2.28.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.27.0...v2.28.0) (2021-10-26)


### Features

* **admin:** update the api https://github.com/googleapis/google-api-python-client/commit/34eef11ba78a6e8eda0ec4dd8348e240ac637122 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **analyticsadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/8666e3e7a134d27f832c00ef8fff2e8a5b601774 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **analyticsdata:** update the api https://github.com/googleapis/google-api-python-client/commit/a362e49252915c7da2fe88bfaec9eb7f9c217b11 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **analyticsreporting:** update the api https://github.com/googleapis/google-api-python-client/commit/ec6bf30c38ccf0f258c9f0267c6477b233483702 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **androidpublisher:** update the api https://github.com/googleapis/google-api-python-client/commit/1a6d12e5a619d753e17041696fdfa84626e952d3 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **apigee:** update the api https://github.com/googleapis/google-api-python-client/commit/afc34eebbe98c284718489b94df8bc2293ee31f5 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **artifactregistry:** update the api https://github.com/googleapis/google-api-python-client/commit/421f4d14a998f3da97fd979647b5e05287027679 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **chat:** update the api https://github.com/googleapis/google-api-python-client/commit/ba90d3f0889eac4fb061bbbe913c31eea57c94bb ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **cloudkms:** update the api https://github.com/googleapis/google-api-python-client/commit/f06247e899ba2de5d2c1f0a8d6e8cbb0569143aa ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **containeranalysis:** update the api https://github.com/googleapis/google-api-python-client/commit/15898963782a0649d6cb3a0a0c7ba1566b86b853 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **content:** update the api https://github.com/googleapis/google-api-python-client/commit/8f976a93038ee562d5ed0c9937d52e4b5e2cb8d6 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **datacatalog:** update the api https://github.com/googleapis/google-api-python-client/commit/b7876fdb21b0eeab9c07a73bbf0ca43f5f509906 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **dataproc:** update the api https://github.com/googleapis/google-api-python-client/commit/742a2f738031268771d7146b64ff0e743df79596 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/117de7bdb601d11ce48c4ad64225d6d207f0597a ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **displayvideo:** update the api https://github.com/googleapis/google-api-python-client/commit/6abb35b4ba36bfa81516994b9f95a426fa5bbaff ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **eventarc:** update the api https://github.com/googleapis/google-api-python-client/commit/59646721f76e0c02a2185111f9adf38d5c134fde ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **file:** update the api https://github.com/googleapis/google-api-python-client/commit/3508025ee9545033bc424396f2776916cbe1a3e3 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **firestore:** update the api https://github.com/googleapis/google-api-python-client/commit/851dba5e0f09a3dad06f3c8476d1c19da1a5cf93 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **gkehub:** update the api https://github.com/googleapis/google-api-python-client/commit/b62aef0cc1bd0f5f10e1828d941616163136b2f7 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **iam:** update the api https://github.com/googleapis/google-api-python-client/commit/50c48dfe6b63c9b7ff9deacc140d510cb0c50b50 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **monitoring:** update the api https://github.com/googleapis/google-api-python-client/commit/eafbb600bf57440c024be19160c275074c6da03a ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **notebooks:** update the api https://github.com/googleapis/google-api-python-client/commit/c6c8169a866814c2f4cbd622ad005d37442204d5 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **osconfig:** update the api https://github.com/googleapis/google-api-python-client/commit/ff7bf38f27e52634ef2b9c661d84c9118675944c ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **oslogin:** update the api https://github.com/googleapis/google-api-python-client/commit/c26d08f8dc0507a366afa20e899cdbe90af9e82c ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **playcustomapp:** update the api https://github.com/googleapis/google-api-python-client/commit/1898032f15649aaa4bb8469fbd05743e39fc2a28 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **privateca:** update the api https://github.com/googleapis/google-api-python-client/commit/8eca373bb25b2dc23dfd6c9fdd09420b3c415521 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **securitycenter:** update the api https://github.com/googleapis/google-api-python-client/commit/7e832748505a52c0b0d2f94163cbedcffe09fcf7 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **speech:** update the api https://github.com/googleapis/google-api-python-client/commit/1a3763caea5a3b4d50d0981ee4f52cc234fc1223 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **storagetransfer:** update the api https://github.com/googleapis/google-api-python-client/commit/0901d055b0b30eeb9312881cbacde771d647ee56 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **storage:** update the api https://github.com/googleapis/google-api-python-client/commit/07237cd66afac512e9962069312cf0bb796b0f39 ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **texttospeech:** update the api https://github.com/googleapis/google-api-python-client/commit/6622bd866cc45f42b37a57737872af0f90631e5f ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))
* **vmmigration:** update the api https://github.com/googleapis/google-api-python-client/commit/e29809a6548a53233925e410d2126d6e0b1600fa ([12d387c](https://www.github.com/googleapis/google-api-python-client/commit/12d387c95170487c8da93d4db25acf0bda4a2d2e))


### Bug Fixes

* manage JSONDecodeError exception ([#1574](https://www.github.com/googleapis/google-api-python-client/issues/1574)) ([7d63027](https://www.github.com/googleapis/google-api-python-client/commit/7d630270758459225f7169a03e9a6973b9e5ad82))


### Documentation

* update thread_safety.md ([#1568](https://www.github.com/googleapis/google-api-python-client/issues/1568)) ([0b400f9](https://www.github.com/googleapis/google-api-python-client/commit/0b400f97be45808ade211ca8291b2e1d9476bde1))

## [2.27.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.26.1...v2.27.0) (2021-10-19)


### Features

* **androidpublisher:** update the api https://github.com/googleapis/google-api-python-client/commit/cdbabdfbdaeed465b667852cef415fdfa7d1024a ([f4773f6](https://www.github.com/googleapis/google-api-python-client/commit/f4773f6f0c26b43ce0013c24db1847a3ea3f8899))
* **firebase:** update the api https://github.com/googleapis/google-api-python-client/commit/dcab2830e6a0cf09999149e0d0d84d3a8f3d26aa ([f4773f6](https://www.github.com/googleapis/google-api-python-client/commit/f4773f6f0c26b43ce0013c24db1847a3ea3f8899))
* **localservices:** update the api https://github.com/googleapis/google-api-python-client/commit/24da1cc0aff78ef70988e6287e5e55fee20ba8ee ([f4773f6](https://www.github.com/googleapis/google-api-python-client/commit/f4773f6f0c26b43ce0013c24db1847a3ea3f8899))
* **networkmanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/d0e5a726e9cb4098527bd60fe6818b7c307a865b ([f4773f6](https://www.github.com/googleapis/google-api-python-client/commit/f4773f6f0c26b43ce0013c24db1847a3ea3f8899))
* **realtimebidding:** update the api https://github.com/googleapis/google-api-python-client/commit/716ded31624c382be7ecf55ec2de87560b7592ef ([f4773f6](https://www.github.com/googleapis/google-api-python-client/commit/f4773f6f0c26b43ce0013c24db1847a3ea3f8899))
* **retail:** update the api https://github.com/googleapis/google-api-python-client/commit/2aa456adabc7c81cea0061d8538473e3b8980d66 ([f4773f6](https://www.github.com/googleapis/google-api-python-client/commit/f4773f6f0c26b43ce0013c24db1847a3ea3f8899))

### [2.26.1](https://www.github.com/googleapis/google-api-python-client/compare/v2.26.0...v2.26.1) (2021-10-12)


### Bug Fixes

* disable self signed jwt ([#1566](https://www.github.com/googleapis/google-api-python-client/issues/1566)) ([623a71e](https://www.github.com/googleapis/google-api-python-client/commit/623a71e73d33b8474eea20e800c01d0f80dc8b81))

## [2.26.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.25.0...v2.26.0) (2021-10-12)


### Features

* add support for python 3.10 ([#1557](https://www.github.com/googleapis/google-api-python-client/issues/1557)) ([bcc507f](https://www.github.com/googleapis/google-api-python-client/commit/bcc507fd7e0ba338cba4afc9c93d9fc577187425))
* **analyticsadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/be347fe46fbee592c9a97d405655ef9a121b1d15 ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **androidpublisher:** update the api https://github.com/googleapis/google-api-python-client/commit/594b20bfc7b724ab1b19b3a8f1df9783f82b25c7 ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **appengine:** update the api https://github.com/googleapis/google-api-python-client/commit/59606ed1d543608549a574ac1229d20c970399de ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **area120tables:** update the api https://github.com/googleapis/google-api-python-client/commit/f35db63f3e1146ee870334abfd317f168f098600 ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **chromepolicy:** update the api https://github.com/googleapis/google-api-python-client/commit/ecaafc4d06c170ac5e1cab7127884a4ea0f17a4c ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **cloudbuild:** update the api https://github.com/googleapis/google-api-python-client/commit/7f6e2e7afba57f065155dc329fd6b7fc1c57c897 ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **cloudsearch:** update the api https://github.com/googleapis/google-api-python-client/commit/b6310c5ea4221a69c71558b8911f817a99987b18 ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/01aebc9962e09b7605975e2eee967ac9362bca24 ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **content:** update the api https://github.com/googleapis/google-api-python-client/commit/47a79355df5a7e4a87cbaec761c3246abb121fe0 ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/14e2dce00734d9b58456787bf14752e4b83d2381 ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **dns:** update the api https://github.com/googleapis/google-api-python-client/commit/3e8173dcdf327abec4f7927cad565a4fdca7382d ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/fa101412c120778403c48795988e884a9d70f5ea ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **domains:** update the api https://github.com/googleapis/google-api-python-client/commit/9217f6280301716c31544762964c61dbae6deb9d ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **iap:** update the api https://github.com/googleapis/google-api-python-client/commit/178edbddc9ff2b40086d3e1dc1d30757986bca80 ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **managedidentities:** update the api https://github.com/googleapis/google-api-python-client/commit/6c7bd384ce9e2e8504a5d97119fbd5bc1527f879 ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **osconfig:** update the api https://github.com/googleapis/google-api-python-client/commit/89f87e5122b240ae364ece7ff5a70aa4da3c5d76 ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **redis:** update the api https://github.com/googleapis/google-api-python-client/commit/5e0bac188a099153b52d63500667efc3790d8f9a ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **retail:** update the api https://github.com/googleapis/google-api-python-client/commit/8d4f2af1eb762bb626f94bde61614e482477c83a ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **servicenetworking:** update the api https://github.com/googleapis/google-api-python-client/commit/b74f86c26805582014e9c462a8a6a02321612a62 ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **speech:** update the api https://github.com/googleapis/google-api-python-client/commit/1fe9ba81f62cf517597e12c86a6c0ba7613da7c2 ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))
* **sqladmin:** update the api https://github.com/googleapis/google-api-python-client/commit/1e3c477f32ceee89c347f322d2e5e54eb9cbebef ([1c9dcfd](https://www.github.com/googleapis/google-api-python-client/commit/1c9dcfd348b6601c1c5ff0f4f71aee262256377e))

## [2.25.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.24.0...v2.25.0) (2021-10-09)


### Features

* enable self signed jwt for service account credentials ([#1553](https://www.github.com/googleapis/google-api-python-client/issues/1553)) ([1fb3c8e](https://www.github.com/googleapis/google-api-python-client/commit/1fb3c8ec61295adc876fa449e92fe5d682f33cbd))

## [2.24.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.23.0...v2.24.0) (2021-10-05)


### Features

* **admin:** update the api https://github.com/googleapis/google-api-python-client/commit/06b9b644a64de8853e018fae8e6f6fe2b8980b1e ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **androidpublisher:** update the api https://github.com/googleapis/google-api-python-client/commit/4fece56ae77c96eb2bc2643da1a8f6c8b336f2ad ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **apigee:** update the api https://github.com/googleapis/google-api-python-client/commit/ac11e4444d0ee25cff4b1c57b229c88fce70009b ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **artifactregistry:** update the api https://github.com/googleapis/google-api-python-client/commit/0f65c13243634ac929fe9dadfd876910a1b308d9 ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **bigquery:** update the api https://github.com/googleapis/google-api-python-client/commit/9f7352c2437557e01bdd3f9e244b7767da17a80d ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **bigtableadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/b601ea2ca0cb082af81b1d8b68bdf28d527079bc ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **cloudidentity:** update the api https://github.com/googleapis/google-api-python-client/commit/47661216e6187e2c3d7b7fe328f59d3d9017742f ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **compute:** update the api https://github.com/googleapis/google-api-python-client/commit/139d65aa6892442083268661ae6863dc63641b66 ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **contactcenterinsights:** update the api https://github.com/googleapis/google-api-python-client/commit/d9533ec30d6d97c93b83a4a59704bef28f67ad70 ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **domains:** update the api https://github.com/googleapis/google-api-python-client/commit/fc7e6e07f7260956c8de5cd6fb3270e4b5c90108 ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **gkehub:** update the api https://github.com/googleapis/google-api-python-client/commit/2a905ea91b12e366a1f68f7db537cb84e3f022ba ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **healthcare:** update the api https://github.com/googleapis/google-api-python-client/commit/25fa0e230f58c0840f5002b7578ad21e68079a19 ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **logging:** update the api https://github.com/googleapis/google-api-python-client/commit/e987413f92bf1e16c672a6598a1c363a6457c858 ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **monitoring:** update the api https://github.com/googleapis/google-api-python-client/commit/4562c5b68a8b7ba55e4da015ba4f34ffa49270ff ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **networkservices:** update the api https://github.com/googleapis/google-api-python-client/commit/6887234c303d04e7ac343b38cc6b556c09bf552d ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **osconfig:** update the api https://github.com/googleapis/google-api-python-client/commit/bec27e809d0d67b017971a105900397575d4838d ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))
* **paymentsresellersubscription:** update the api https://github.com/googleapis/google-api-python-client/commit/87d70bbf7c05f0f3d8bd4af3ac0c65514cd60b23 ([9d63883](https://www.github.com/googleapis/google-api-python-client/commit/9d63883a02db38ce0464130f170199d8f4bb86b2))

## [2.23.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.22.0...v2.23.0) (2021-09-28)


### Features

* **analyticsadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/c14c42a82fbd61df00b690daa328cea212441f59 ([ad81f3d](https://www.github.com/googleapis/google-api-python-client/commit/ad81f3da411eb38e48137cb67f22a718498bcdc1))
* **appengine:** update the api https://github.com/googleapis/google-api-python-client/commit/22e6b63271836d2b195191c0711d3e815d7b3f29 ([ad81f3d](https://www.github.com/googleapis/google-api-python-client/commit/ad81f3da411eb38e48137cb67f22a718498bcdc1))
* **bigquery:** update the api https://github.com/googleapis/google-api-python-client/commit/5325b3654e42e393911f088e9a8358aeaf733c03 ([ad81f3d](https://www.github.com/googleapis/google-api-python-client/commit/ad81f3da411eb38e48137cb67f22a718498bcdc1))
* **content:** update the api https://github.com/googleapis/google-api-python-client/commit/df08fb1f3823a5edc96e6caebe24df66e943fa36 ([ad81f3d](https://www.github.com/googleapis/google-api-python-client/commit/ad81f3da411eb38e48137cb67f22a718498bcdc1))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/eaa0b250682d593572168427d92b0c3b9438a503 ([ad81f3d](https://www.github.com/googleapis/google-api-python-client/commit/ad81f3da411eb38e48137cb67f22a718498bcdc1))
* **firestore:** update the api https://github.com/googleapis/google-api-python-client/commit/89ee485ce0646fb14d4f4e1d7aae095e504cf4be ([ad81f3d](https://www.github.com/googleapis/google-api-python-client/commit/ad81f3da411eb38e48137cb67f22a718498bcdc1))
* **gkehub:** update the api https://github.com/googleapis/google-api-python-client/commit/982014c5e33c29f2e0030b950b2f2ac27afa3f8f ([ad81f3d](https://www.github.com/googleapis/google-api-python-client/commit/ad81f3da411eb38e48137cb67f22a718498bcdc1))
* **monitoring:** update the api https://github.com/googleapis/google-api-python-client/commit/440201ddeeae876ab83863def611ec39649d397c ([ad81f3d](https://www.github.com/googleapis/google-api-python-client/commit/ad81f3da411eb38e48137cb67f22a718498bcdc1))
* **retail:** update the api https://github.com/googleapis/google-api-python-client/commit/58f1c1ba076ed6ecc389ddf66d0c5ac609cd9d17 ([ad81f3d](https://www.github.com/googleapis/google-api-python-client/commit/ad81f3da411eb38e48137cb67f22a718498bcdc1))
* **servicenetworking:** update the api https://github.com/googleapis/google-api-python-client/commit/53d51411d39049a98df6909ae16f9c5dfee4f432 ([ad81f3d](https://www.github.com/googleapis/google-api-python-client/commit/ad81f3da411eb38e48137cb67f22a718498bcdc1))


### Bug Fixes

* **oslogin:** update the api https://github.com/googleapis/google-api-python-client/commit/e940d95d04a6aba60b89ece3fd630cc0ab5cde2a ([ad81f3d](https://www.github.com/googleapis/google-api-python-client/commit/ad81f3da411eb38e48137cb67f22a718498bcdc1))

## [2.22.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.21.0...v2.22.0) (2021-09-21)


### Features

* **androidmanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/493de7636af575bec7e3d646c77d81a4278891e7 ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **composer:** update the api https://github.com/googleapis/google-api-python-client/commit/827a98a27eb06dee06080e01edc1b9d1304bae67 ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **compute:** update the api https://github.com/googleapis/google-api-python-client/commit/967d539cb9dcccfe2eea8fd81e05989f1bd92975 ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **contactcenterinsights:** update the api https://github.com/googleapis/google-api-python-client/commit/fd55971dcc7913faa7c90614e1b44122da9f3c1d ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **containeranalysis:** update the api https://github.com/googleapis/google-api-python-client/commit/be52e3f77f0900ea3369a3f1145702832ea2167a ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **content:** update the api https://github.com/googleapis/google-api-python-client/commit/c422dda8dc607554e34899c964c36b32c554bb61 ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **dataflow:** update the api https://github.com/googleapis/google-api-python-client/commit/9357bc2b4b507ba98fd17988eb93e0c08da00bc3 ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **datastore:** update the api https://github.com/googleapis/google-api-python-client/commit/ee1091a834aaf37e6b2a279f901543d43152da74 ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/02e062eb95ebadf2f8002c34424a7442d327c765 ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **healthcare:** update the api https://github.com/googleapis/google-api-python-client/commit/29bd379b11ee39b49d7452f0e9d7aada1536a22f ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **notebooks:** update the api https://github.com/googleapis/google-api-python-client/commit/438b148616d638783b17bf7fe060cdb57a8bc473 ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **ondemandscanning:** update the api https://github.com/googleapis/google-api-python-client/commit/8f732ecf65df8e7aa8ad58258ed5d5a0dfed62ea ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **osconfig:** update the api https://github.com/googleapis/google-api-python-client/commit/655a50711fb06b94a3b33a173611cc39cfb2553f ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **pubsublite:** update the api https://github.com/googleapis/google-api-python-client/commit/fc27fe7319f659032e2c3e9fe7be24224dca9fb6 ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **run:** update the api https://github.com/googleapis/google-api-python-client/commit/de851d225affb67ba9819e9d4c81dc14bc95dcd1 ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **sasportal:** update the api https://github.com/googleapis/google-api-python-client/commit/9e472d5f1b8f31708fd535a3a8575f0510dad5a7 ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **storage:** update the api https://github.com/googleapis/google-api-python-client/commit/6117646c93e672eb34816b6db4d2b84c3c046071 ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **sts:** update the api https://github.com/googleapis/google-api-python-client/commit/9e0f476952df90e2fb9b6df287c2ceb2a5417c84 ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))
* **youtube:** update the api https://github.com/googleapis/google-api-python-client/commit/2624f80fe82466181d853c35138e04064b1edcef ([312da31](https://www.github.com/googleapis/google-api-python-client/commit/312da3170e29ba6680fd4dfe4e12099ac5d9e7f9))

## [2.21.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.20.0...v2.21.0) (2021-09-14)


### Features

* **apigee:** update the api https://github.com/googleapis/google-api-python-client/commit/0e4fed7f1e08a616cbc81243c24391bc20ce5edb ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))
* **bigquery:** update the api https://github.com/googleapis/google-api-python-client/commit/04e112ce89d6ddb3aeaae889c2de36070d6c2814 ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))
* **bigtableadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/6b77931c3c9aba59d5b326c570a2080252c8beb1 ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))
* **cloudprofiler:** update the api https://github.com/googleapis/google-api-python-client/commit/3009ee3c238ae1fa51c529e9f187ec26693138a4 ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/e5d01ecee51da0c7a2543b833a1395a94c27bef6 ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))
* **dataproc:** update the api https://github.com/googleapis/google-api-python-client/commit/fec73562a93b5a532bce6c91f0d30ec4fbd54ddb ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))
* **displayvideo:** update the api https://github.com/googleapis/google-api-python-client/commit/22caa4f2f8ecb0f0ad6cfac547f9deb76fdcbebb ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/444836b9afe8d3eb8d52a1431652bfda1ad3288b ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))
* **healthcare:** update the api https://github.com/googleapis/google-api-python-client/commit/2f3173aa4b4d154c909eea853a0c4c306834e0ab ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))
* **ideahub:** update the api https://github.com/googleapis/google-api-python-client/commit/8ebf9d2bd419561d5eacb78823aa1fc519fe2710 ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))
* **memcache:** update the api https://github.com/googleapis/google-api-python-client/commit/393dce7a3e584ad6be58c832ec826fe3b44e353b ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))
* **mybusinesslodging:** update the api https://github.com/googleapis/google-api-python-client/commit/c51a0d15e634c2ab1c7762533f33d59f10b01875 ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))
* **speech:** update the api https://github.com/googleapis/google-api-python-client/commit/bf6e86f6ee8c3985e1ce6f0475ef4f8685b52060 ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))
* **streetviewpublish:** update the api https://github.com/googleapis/google-api-python-client/commit/c8cf30cd67f5588d7cbe60631e42f0a49ea6c307 ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))
* **youtube:** update the api https://github.com/googleapis/google-api-python-client/commit/855cbfea1f6d46af07c4b80ab26fc30ca46370b7 ([e5e87b1](https://www.github.com/googleapis/google-api-python-client/commit/e5e87b1ca5fb6e81f6d83d970c3e4f683ecdcdea))

## [2.20.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.19.1...v2.20.0) (2021-09-07)


### Features

* **apigee:** update the api https://github.com/googleapis/google-api-python-client/commit/59348e4809ff48906ffa356a0ecc867eb66376bd ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **appengine:** update the api https://github.com/googleapis/google-api-python-client/commit/a358ffd61a7671a7b3a90ccc329393feb80bc932 ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **bigquery:** update the api https://github.com/googleapis/google-api-python-client/commit/fe54736e2583dd4f9efefa8fb5a6378741d6bf87 ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **cloudasset:** update the api https://github.com/googleapis/google-api-python-client/commit/5b89c7b9eb3abee497fac27f2ba12208b257240f ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **compute:** update the api https://github.com/googleapis/google-api-python-client/commit/36050a3ad6fad1e5aec6c18085fbcad1564ceb1f ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **contactcenterinsights:** update the api https://github.com/googleapis/google-api-python-client/commit/c5bac63feeadd4cccc635d69af7e0f32a5df5bc3 ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **containeranalysis:** update the api https://github.com/googleapis/google-api-python-client/commit/e442b58fc9abfbbb37dc5b50cf17ba8dea508cba ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/3f4ac75311743c0b3e77647f3085374b5d898d01 ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **displayvideo:** update the api https://github.com/googleapis/google-api-python-client/commit/0ff4fae98fadd0e31eb09ff81656b87201d75d2b ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/4b0a7ed0cbef5031f7df162e8aa7629ba9073dc3 ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **file:** update the api https://github.com/googleapis/google-api-python-client/commit/ab13790877b89e112fd27b738462077c45408557 ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **gkehub:** update the api https://github.com/googleapis/google-api-python-client/commit/b168cc69436840e8c9a170863b13a4db253b9f5c ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **iam:** update the api https://github.com/googleapis/google-api-python-client/commit/88ebba5edbeb6dab547a6c57541f13dd13b95e23 ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **jobs:** update the api https://github.com/googleapis/google-api-python-client/commit/eaffca049c02851d7c1b3a795d901e60616430df ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **managedidentities:** update the api https://github.com/googleapis/google-api-python-client/commit/ad3f2c91960b905126ae47c0777b27704aa02c64 ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **monitoring:** update the api https://github.com/googleapis/google-api-python-client/commit/7317835fe784c723ed6e290ab3da515b68a25c5f ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **prod_tt_sasportal:** update the api https://github.com/googleapis/google-api-python-client/commit/ec0c06297952f922adfa6b4c265577846d2493d0 ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **recaptchaenterprise:** update the api https://github.com/googleapis/google-api-python-client/commit/234d3f983a92fca973fcc42bf8e69e470f50fef5 ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))
* **sqladmin:** update the api https://github.com/googleapis/google-api-python-client/commit/f30d144526f01a5a69832166d4271b2288fdabad ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))


### Bug Fixes

* **androidpublisher:** update the api https://github.com/googleapis/google-api-python-client/commit/78ee7f700efa8d29a4a1ca3e23f1381c4d04c86a ([2da5ed1](https://www.github.com/googleapis/google-api-python-client/commit/2da5ed1b0a7dc22442eda584518ed46ef518acec))

### [2.19.1](https://www.github.com/googleapis/google-api-python-client/compare/v2.19.0...v2.19.1) (2021-09-02)


### Bug Fixes

* remove repeated calls to self._get_reason ([#1513](https://www.github.com/googleapis/google-api-python-client/issues/1513)) ([d5cf4e0](https://www.github.com/googleapis/google-api-python-client/commit/d5cf4e0b1537eeafdb96ae831bbdffc5f1c6a94c))

## [2.19.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.18.0...v2.19.0) (2021-08-31)


### Features

* **analyticsdata:** update the api https://github.com/googleapis/google-api-python-client/commit/197540040eaedf672e608435ab0783e4ec203376 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **androidmanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/d253dad6da1a4e0ff1bfb225de9a93ec0b5bbbb5 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **artifactregistry:** update the api https://github.com/googleapis/google-api-python-client/commit/d8c9d9b57835594456c766421e29c9d94a9f09fc ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **bigquerydatatransfer:** update the api https://github.com/googleapis/google-api-python-client/commit/9044b191958b077b84fad16e3f8f93a03b021dce ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **bigquery:** update the api https://github.com/googleapis/google-api-python-client/commit/795df26b99759db8f2e45a876b9c1374e2fc14ab ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **chat:** update the api https://github.com/googleapis/google-api-python-client/commit/5fe2f9ccbacc1a34f16750eeca103124fb4df48c ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **cloudidentity:** update the api https://github.com/googleapis/google-api-python-client/commit/24da17a1f30d97483c3da5d4fffa209cdae5d445 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **cloudkms:** update the api https://github.com/googleapis/google-api-python-client/commit/bb6c83bbdcfa0867bddb2305c26bf5aced0a4fb9 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **compute:** update the api https://github.com/googleapis/google-api-python-client/commit/1c2b5b24e32a9587f84e7240e2ebc39576760841 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **containeranalysis:** update the api https://github.com/googleapis/google-api-python-client/commit/bb9bbeaebed4bb164ec1894896e9011253cd65cf ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/f5e7af12443c6eb9130fd62257c78d8339e76a08 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **content:** update the api https://github.com/googleapis/google-api-python-client/commit/c9ba1f1852ade510cb9c89c92134b5ea95f7b9e2 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **dataflow:** update the api https://github.com/googleapis/google-api-python-client/commit/a8b34005d6ef733ed7230890d8b515a3b80334ec ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **dataproc:** update the api https://github.com/googleapis/google-api-python-client/commit/0f222f72fef0fbad5d47c0b054cb695fc99317e1 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **displayvideo:** update the api https://github.com/googleapis/google-api-python-client/commit/fbfb3cae7338b252f45a9417d46e1842bf2651e3 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/c21f6c964fd613125c920dede0aa4ad46288096e ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **file:** update the api https://github.com/googleapis/google-api-python-client/commit/4ea8b8d219de81728f701ca600cf38cec237bc3e ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **gkehub:** update the api https://github.com/googleapis/google-api-python-client/commit/abde26f80fd8b856785c60bdcc8eac1233c67980 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **logging:** update the api https://github.com/googleapis/google-api-python-client/commit/55ba494a751bbbf6f8bbf79a68249b6b4e062748 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **managedidentities:** update the api https://github.com/googleapis/google-api-python-client/commit/9f85c13a423d972707db785c03c832948fc4ce31 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **metastore:** update the api https://github.com/googleapis/google-api-python-client/commit/69301238fcd311486ba88209d9a1f746b51c1451 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **ondemandscanning:** update the api https://github.com/googleapis/google-api-python-client/commit/11b0c0eb16bb850077fc97da2b6cc29ffe4378b0 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **people:** update the api https://github.com/googleapis/google-api-python-client/commit/8a6dc23bda9dc7ab2c39d22e307590fb1c6e15c0 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **sqladmin:** update the api https://github.com/googleapis/google-api-python-client/commit/552d62b418d122831f0b4a38f577b4e106c6a070 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **sts:** update the api https://github.com/googleapis/google-api-python-client/commit/701b09cd34bf5a16d912b967e72fd23da77c26ec ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **workflowexecutions:** update the api https://github.com/googleapis/google-api-python-client/commit/26e7f6db0d773b7940b6c072b1f383c6edefd9f2 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))
* **youtube:** update the api https://github.com/googleapis/google-api-python-client/commit/805e784420807e19b6e90cda17b03e74c50e7185 ([8bb904c](https://www.github.com/googleapis/google-api-python-client/commit/8bb904cc1545bbc473368259736e2bc8e7e82b3a))

## [2.18.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.17.0...v2.18.0) (2021-08-24)


### Features

* **analyticsadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/8e0c67f316381ec1ad358a079207215293093603 ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **apigee:** update the api https://github.com/googleapis/google-api-python-client/commit/9fd19ee8a70661be02219133dda1b80d71ac4f4b ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **appengine:** update the api https://github.com/googleapis/google-api-python-client/commit/9727d32278b91dfa30d4c8c597755323741f8cd4 ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **bigquerydatatransfer:** update the api https://github.com/googleapis/google-api-python-client/commit/0b36baa0400731507365bf477cc223729d5a109d ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **cloudfunctions:** update the api https://github.com/googleapis/google-api-python-client/commit/c138aff559b32709a8a81c271ab5c0c48ea3acbe ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **compute:** update the api https://github.com/googleapis/google-api-python-client/commit/3740a88b497c25e6a5aee22f873c33117034f8fa ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **containeranalysis:** update the api https://github.com/googleapis/google-api-python-client/commit/07d2f4383aef325a7351831909e6cfc4b4b9f889 ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/90b095a5de68d5aebcfbea16078b4727774366f4 ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/3d6892c775b31d0ed6caead07666e423dccdba62 ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **gkehub:** update the api https://github.com/googleapis/google-api-python-client/commit/1676d9f17b499d3bb13f80ad9c4fbd0621961a41 ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **iam:** update the api https://github.com/googleapis/google-api-python-client/commit/98682633e8d244ca7bbf5b3726ed305e338a1cdd ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **ideahub:** update the api https://github.com/googleapis/google-api-python-client/commit/942102dcc79691866f8febbb732e477d0e5227b4 ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **ondemandscanning:** update the api https://github.com/googleapis/google-api-python-client/commit/97169382a9d0c80bf56af157a16c5b96cb95e6dd ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **osconfig:** update the api https://github.com/googleapis/google-api-python-client/commit/588812ffa314a68be1be61e229a187aecbe587e4 ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **people:** update the api https://github.com/googleapis/google-api-python-client/commit/213598c2a41d6724368e1089bc3cbcaa0b2932c5 ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **securitycenter:** update the api https://github.com/googleapis/google-api-python-client/commit/74bee354cf1dbaf388de26e756e9aeebe0baa311 ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **slides:** update the api https://github.com/googleapis/google-api-python-client/commit/623c740d1333cfea2b5946cc22ebcc2c44a2197d ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))
* **tagmanager:** update the api https://github.com/googleapis/google-api-python-client/commit/98664145c692ed1ca947bdb081a7463897655d28 ([96afc04](https://www.github.com/googleapis/google-api-python-client/commit/96afc04eaae89dcaae4aaf7a63d5dcbf4b1e7d57))

## [2.17.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.16.0...v2.17.0) (2021-08-17)


### Features

* **apigee:** update the api https://github.com/googleapis/google-api-python-client/commit/41ae79b3554ffc9f1622e44757751009eeed76f8 ([cdf480e](https://www.github.com/googleapis/google-api-python-client/commit/cdf480e8145d58600a5224efc68ba2ace973ef62))
* **bigqueryreservation:** update the api https://github.com/googleapis/google-api-python-client/commit/b0483aba20b17580b400283fb0073f07715bf254 ([cdf480e](https://www.github.com/googleapis/google-api-python-client/commit/cdf480e8145d58600a5224efc68ba2ace973ef62))
* **chat:** update the api https://github.com/googleapis/google-api-python-client/commit/270312294f1cf89041825b0f31bfcf872fda9854 ([cdf480e](https://www.github.com/googleapis/google-api-python-client/commit/cdf480e8145d58600a5224efc68ba2ace973ef62))
* **cloudbuild:** update the api https://github.com/googleapis/google-api-python-client/commit/30c122278e75a99b5b2a6ed330f317015134a23d ([cdf480e](https://www.github.com/googleapis/google-api-python-client/commit/cdf480e8145d58600a5224efc68ba2ace973ef62))
* **cloudscheduler:** update the api https://github.com/googleapis/google-api-python-client/commit/0405b1db79fe87305be25ba4f9389e94490040a7 ([cdf480e](https://www.github.com/googleapis/google-api-python-client/commit/cdf480e8145d58600a5224efc68ba2ace973ef62))
* **contactcenterinsights:** update the api https://github.com/googleapis/google-api-python-client/commit/3abcf5334053f5612fd79163f2c433e5793ee782 ([cdf480e](https://www.github.com/googleapis/google-api-python-client/commit/cdf480e8145d58600a5224efc68ba2ace973ef62))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/c4935840495b1487d4be47b63f6c416113b9413f ([cdf480e](https://www.github.com/googleapis/google-api-python-client/commit/cdf480e8145d58600a5224efc68ba2ace973ef62))
* **displayvideo:** update the api https://github.com/googleapis/google-api-python-client/commit/21f81c824089d0060dbd624f9755eea554464af2 ([cdf480e](https://www.github.com/googleapis/google-api-python-client/commit/cdf480e8145d58600a5224efc68ba2ace973ef62))
* **monitoring:** update the api https://github.com/googleapis/google-api-python-client/commit/d997b2c0d13203ac29b55c19858ef375380a5b7b ([cdf480e](https://www.github.com/googleapis/google-api-python-client/commit/cdf480e8145d58600a5224efc68ba2ace973ef62))
* **networkconnectivity:** update the api https://github.com/googleapis/google-api-python-client/commit/68588ad4744aa3c7a3a0afa12a1566f54ab3be94 ([cdf480e](https://www.github.com/googleapis/google-api-python-client/commit/cdf480e8145d58600a5224efc68ba2ace973ef62))
* **notebooks:** update the api https://github.com/googleapis/google-api-python-client/commit/b975c34568f62bbf19f67f4731fe091aeeda8a75 ([cdf480e](https://www.github.com/googleapis/google-api-python-client/commit/cdf480e8145d58600a5224efc68ba2ace973ef62))
* **retail:** update the api https://github.com/googleapis/google-api-python-client/commit/c2bcb7081a4f656b9e136ea38637cf262b60f387 ([cdf480e](https://www.github.com/googleapis/google-api-python-client/commit/cdf480e8145d58600a5224efc68ba2ace973ef62))
* **servicenetworking:** update the api https://github.com/googleapis/google-api-python-client/commit/3bdc7b9d0854918ef65ccb4a3798d2f3f3b19d70 ([cdf480e](https://www.github.com/googleapis/google-api-python-client/commit/cdf480e8145d58600a5224efc68ba2ace973ef62))
* **sts:** update the api https://github.com/googleapis/google-api-python-client/commit/a8ebc2bef5d0ff6c449d65fcc9c0554c1f388985 ([cdf480e](https://www.github.com/googleapis/google-api-python-client/commit/cdf480e8145d58600a5224efc68ba2ace973ef62))

## [2.16.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.15.0...v2.16.0) (2021-08-10)


### Features

* **accesscontextmanager:** update the api https://github.com/googleapis/google-api-python-client/commit/30216a669249442cac8f0fb8bb347b1352d8f087 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **alertcenter:** update the api https://github.com/googleapis/google-api-python-client/commit/39b084706537111e8403be6e69f0fc9d82b2f383 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **androidpublisher:** update the api https://github.com/googleapis/google-api-python-client/commit/cf67afc22e94f856773895a4e603e7a9a6bfa20b ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))
* **apigee:** update the api https://github.com/googleapis/google-api-python-client/commit/4485c5f3b32c9bda4f50a2a96c5870414f7d870f ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **apigee:** update the api https://github.com/googleapis/google-api-python-client/commit/995336984e11fb9f91308d14a68faf8f3091d1fa ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))
* **appengine:** update the api https://github.com/googleapis/google-api-python-client/commit/eb7a571470cef08641224558a7bd8eaa07a41bad ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))
* **bigquery:** update the api https://github.com/googleapis/google-api-python-client/commit/304bbde2360066caf55575e3be5a04fdc8bf8b09 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **chromemanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/0ba28b47236a81a996a3607567b61ab38150617d ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **chromepolicy:** update the api https://github.com/googleapis/google-api-python-client/commit/5654776fdc8361aa0703a7dca8069b576a1b2f73 ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))
* **cloudasset:** update the api https://github.com/googleapis/google-api-python-client/commit/792aa5593ea64ceb4b565e950e153e396274b3b8 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **cloudbuild:** update the api https://github.com/googleapis/google-api-python-client/commit/437e37f1c36268464f90e075ffeaef61580de237 ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))
* **cloudbuild:** update the api https://github.com/googleapis/google-api-python-client/commit/6b06387ca29e76d26f257c7a4eb6864fe27e082e ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **cloudchannel:** update the api https://github.com/googleapis/google-api-python-client/commit/0b0444ea192f79c5564745be8b1d52b52a74d1fb ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **cloudkms:** update the api https://github.com/googleapis/google-api-python-client/commit/7dc278459cbd32bf15b39633327743cfa0beeea3 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **cloudkms:** update the api https://github.com/googleapis/google-api-python-client/commit/ebd3f49f78738792032e431b73233ae0c458bae3 ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))
* **composer:** update the api https://github.com/googleapis/google-api-python-client/commit/92131bff38ab7644e549f3d71f9c0a84755455db ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **containeranalysis:** update the api https://github.com/googleapis/google-api-python-client/commit/9ab94f3f4c2ccafdf8b298dad8c6a5c2aa61a606 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **containeranalysis:** update the api https://github.com/googleapis/google-api-python-client/commit/d446928f941d858022f0e1a1911bbf185920159d ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/53d8b4b3e3c5d16ffd14ba1af1cf1769d9249067 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/0feb05616eb28db7c35e128ebbf338b63446b8cf ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/b49bfdaedbed3378b061e85f937a36e97732fcd4 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **iam:** update the api https://github.com/googleapis/google-api-python-client/commit/0832247d126965b472a271167028499f015de1ae ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **ideahub:** update the api https://github.com/googleapis/google-api-python-client/commit/24483a4f512922f809fc8352b9407e606856b0e2 ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))
* **metastore:** update the api https://github.com/googleapis/google-api-python-client/commit/897beb3754da50e117292f5954265076804acb7f ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))
* **metastore:** update the api https://github.com/googleapis/google-api-python-client/commit/dd83236343d603e964613b16e9afa25eff60f97c ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **monitoring:** update the api https://github.com/googleapis/google-api-python-client/commit/75a5ced2b372723c21d45b172dd69e0bb91c5509 ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))
* **ondemandscanning:** update the api https://github.com/googleapis/google-api-python-client/commit/6ffbe182425ec217230fc083e217676e915bb786 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **osconfig:** update the api https://github.com/googleapis/google-api-python-client/commit/c8b511a21f7fc7f2471d5f7a3b2d3760e4f8a629 ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))
* **osconfig:** update the api https://github.com/googleapis/google-api-python-client/commit/e079d43be4291ca10be7caf432012c6553e0398e ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **oslogin:** update the api https://github.com/googleapis/google-api-python-client/commit/d3ec653bdd293a63ae0b3772ce83e1fda73d5de5 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **pubsublite:** update the api https://github.com/googleapis/google-api-python-client/commit/4287a7d537741391a9afe9e669b98010ed4fc0ab ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **pubsub:** update the api https://github.com/googleapis/google-api-python-client/commit/06dfff22baec2551508b93e29e4c36fa442ab299 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **recaptchaenterprise:** update the api https://github.com/googleapis/google-api-python-client/commit/ebfeb8fc00a1c6a8603b35640845c5cdacf53cb2 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **recommender:** update the api https://github.com/googleapis/google-api-python-client/commit/01f2d6cc989ce337537a51ead8ffd3d6fc7e6c5d ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **speech:** update the api https://github.com/googleapis/google-api-python-client/commit/601afcf08fd96421b64ef4c6f098f09f0748ce69 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **speech:** update the api https://github.com/googleapis/google-api-python-client/commit/689fff21696add03b8c3ab843374b6bd2dd3cc16 ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))
* **sqladmin:** update the api https://github.com/googleapis/google-api-python-client/commit/41d51e34759b181692ed96d9d490a9cfc5a28459 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **storagetransfer:** update the api https://github.com/googleapis/google-api-python-client/commit/24564836842f792e9373ea505d97e775f64a5960 ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))
* **tagmanager:** update the api https://github.com/googleapis/google-api-python-client/commit/47a522aac79ae9283a0c7ee7a2d0716e605d8c21 ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))
* **transcoder:** update the api https://github.com/googleapis/google-api-python-client/commit/1e0b0854e31f52013a8c5423efbd5e34c953e08c ([3e4b5db](https://www.github.com/googleapis/google-api-python-client/commit/3e4b5db2a4aeceb4b99f280e8a843c65284c2f9f))


### Bug Fixes

* **fcm:** update the api https://github.com/googleapis/google-api-python-client/commit/f1dd412cad2a2cdd1863bb2942cf07fc6a42b649 ([b539cc4](https://www.github.com/googleapis/google-api-python-client/commit/b539cc475e81dc6f0d3c0f75b1e0445bb79fe9e5))

## [2.15.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.14.1...v2.15.0) (2021-07-27)


### Features

* **alertcenter:** update the api https://github.com/googleapis/google-api-python-client/commit/70810a52c85c6d0d6f00d7afb41c8608261eaebc ([a36e3b1](https://www.github.com/googleapis/google-api-python-client/commit/a36e3b130d609dfdc5b3ac0a70ff1b014c4bc75f))
* **chat:** update the api https://github.com/googleapis/google-api-python-client/commit/a577cd0b71951176bbf849c1f7f139127205da54 ([a36e3b1](https://www.github.com/googleapis/google-api-python-client/commit/a36e3b130d609dfdc5b3ac0a70ff1b014c4bc75f))
* **cloudbuild:** update the api https://github.com/googleapis/google-api-python-client/commit/9066056a8b106d441fb7686fe84359484d0d58bc ([a36e3b1](https://www.github.com/googleapis/google-api-python-client/commit/a36e3b130d609dfdc5b3ac0a70ff1b014c4bc75f))
* **content:** update the api https://github.com/googleapis/google-api-python-client/commit/b123349da33c11c0172a8efb3fadef685a30e6e1 ([a36e3b1](https://www.github.com/googleapis/google-api-python-client/commit/a36e3b130d609dfdc5b3ac0a70ff1b014c4bc75f))
* **displayvideo:** update the api https://github.com/googleapis/google-api-python-client/commit/c525d726ee6cffdd4bc7afd69080d5e52bae83a0 ([a36e3b1](https://www.github.com/googleapis/google-api-python-client/commit/a36e3b130d609dfdc5b3ac0a70ff1b014c4bc75f))
* **dns:** update the api https://github.com/googleapis/google-api-python-client/commit/13436ccd2b835fda5cb86952ac4ea991ee8651d8 ([a36e3b1](https://www.github.com/googleapis/google-api-python-client/commit/a36e3b130d609dfdc5b3ac0a70ff1b014c4bc75f))
* **eventarc:** update the api https://github.com/googleapis/google-api-python-client/commit/6be3394a64a5eb509f68ef779680fd36837708ee ([a36e3b1](https://www.github.com/googleapis/google-api-python-client/commit/a36e3b130d609dfdc5b3ac0a70ff1b014c4bc75f))
* **file:** update the api https://github.com/googleapis/google-api-python-client/commit/817a0e636771445a988ef479bd52740f754b901a ([a36e3b1](https://www.github.com/googleapis/google-api-python-client/commit/a36e3b130d609dfdc5b3ac0a70ff1b014c4bc75f))
* **monitoring:** update the api https://github.com/googleapis/google-api-python-client/commit/bd32149f308467f0f659119587afc77dcec65b14 ([a36e3b1](https://www.github.com/googleapis/google-api-python-client/commit/a36e3b130d609dfdc5b3ac0a70ff1b014c4bc75f))
* **people:** update the api https://github.com/googleapis/google-api-python-client/commit/aa6b47df40c5289f33aef6fb6aa007df2d038e20 ([a36e3b1](https://www.github.com/googleapis/google-api-python-client/commit/a36e3b130d609dfdc5b3ac0a70ff1b014c4bc75f))
* **retail:** update the api https://github.com/googleapis/google-api-python-client/commit/d39f06e2d77034bc837604a41dd52c577f158bf2 ([a36e3b1](https://www.github.com/googleapis/google-api-python-client/commit/a36e3b130d609dfdc5b3ac0a70ff1b014c4bc75f))
* **securitycenter:** update the api https://github.com/googleapis/google-api-python-client/commit/999fab5178208639c9eef289f9f441052ed832fc ([a36e3b1](https://www.github.com/googleapis/google-api-python-client/commit/a36e3b130d609dfdc5b3ac0a70ff1b014c4bc75f))
* **speech:** update the api https://github.com/googleapis/google-api-python-client/commit/3b2c0fa62b2a0c86bba1e97f1b18f93250dbd551 ([a36e3b1](https://www.github.com/googleapis/google-api-python-client/commit/a36e3b130d609dfdc5b3ac0a70ff1b014c4bc75f))
* **sqladmin:** update the api https://github.com/googleapis/google-api-python-client/commit/cef24d829ab5be71563a2b668b8f6cf5dda2c8e4 ([a36e3b1](https://www.github.com/googleapis/google-api-python-client/commit/a36e3b130d609dfdc5b3ac0a70ff1b014c4bc75f))


### Documentation

* update license to be Apache-2.0 compliant ([#1461](https://www.github.com/googleapis/google-api-python-client/issues/1461)) ([882844c](https://www.github.com/googleapis/google-api-python-client/commit/882844c7b6a15493d0fb8693cd5e9159e3a12535))

### [2.14.1](https://www.github.com/googleapis/google-api-python-client/compare/v2.14.0...v2.14.1) (2021-07-25)


### Bug Fixes

* drop six dependency ([#1452](https://www.github.com/googleapis/google-api-python-client/issues/1452)) ([9f7b410](https://www.github.com/googleapis/google-api-python-client/commit/9f7b4109b370e89c29db6c58c6bd2e09002c8d42))

## [2.14.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.13.0...v2.14.0) (2021-07-20)


### Features

* **analyticsadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/a2e2d768e5412072ef11891ae7fb9145e2c4693d ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **androiddeviceprovisioning:** update the api https://github.com/googleapis/google-api-python-client/commit/83151f4ebd2992a53f815133304d8cb2c72d50c5 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **chat:** update the api https://github.com/googleapis/google-api-python-client/commit/8e39e1ef5482735fbaaed3be74ee472cf44cd941 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **cloudasset:** update the api https://github.com/googleapis/google-api-python-client/commit/ebd9b97ec74f0f257ccb4833f747f88d02075926 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **cloudfunctions:** update the api https://github.com/googleapis/google-api-python-client/commit/06332af99b1b1a9894bf4f553e014936225761de ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **cloudsearch:** update the api https://github.com/googleapis/google-api-python-client/commit/4aab6137bb350cb841a6b48fd37df67a209ba031 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **content:** update the api https://github.com/googleapis/google-api-python-client/commit/c65f297a775687fbfcbae827f892fc996a3d1ab1 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **datacatalog:** update the api https://github.com/googleapis/google-api-python-client/commit/af28eef0b37a5d0bb3a299f9fd9740b63f9e23bd ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **dns:** update the api https://github.com/googleapis/google-api-python-client/commit/e2ba913fc51f78ce4b9fb6f9de97f61bd35cd356 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/d1b9df7ee0a041d4cf632a77a626764c37e72889 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **file:** update the api https://github.com/googleapis/google-api-python-client/commit/0cd6277980d02363e3d609901d12d62b594adc92 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **firebaseappcheck:** update the api https://github.com/googleapis/google-api-python-client/commit/f8c39017aa392c0930ab79cdf7f828fe1e97e313 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **firebasestorage:** update the api https://github.com/googleapis/google-api-python-client/commit/66b6961871fea5b1a41a5b8359d7f76d6e390386 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **gameservices:** update the api https://github.com/googleapis/google-api-python-client/commit/31fd4dc22bd1e615caeafc22482caad65bbd55e9 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **gkehub:** update the api https://github.com/googleapis/google-api-python-client/commit/58ae34d8dfb4a7827b4f56e99fd48dedc64b4364 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **ml:** update the api https://github.com/googleapis/google-api-python-client/commit/15e0de32f2ea94d6ed3e0c18cd6e59cc239b37e7 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **monitoring:** update the api https://github.com/googleapis/google-api-python-client/commit/2b52d9ff5341caec20577538c0c4eaf83a896651 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **notebooks:** update the api https://github.com/googleapis/google-api-python-client/commit/c4698a84e526ab47710d2bde22827b337f2f480c ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **people:** update the api https://github.com/googleapis/google-api-python-client/commit/a646e56d40f2c7df40f48d42442c1941fc1c6674 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **recommender:** update the api https://github.com/googleapis/google-api-python-client/commit/ef997b0293c0e075208c7af15fa4e9bd6f29e883 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **secretmanager:** update the api https://github.com/googleapis/google-api-python-client/commit/489541e760eae9745724eb8cad74007903dd4f5b ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **spanner:** update the api https://github.com/googleapis/google-api-python-client/commit/acdb8fccfbb9f243f06dfff68d61cee2e58c9e45 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))
* **testing:** update the api https://github.com/googleapis/google-api-python-client/commit/e2bde192a3e20ebd00995185cd92b47a086be8d9 ([0770807](https://www.github.com/googleapis/google-api-python-client/commit/0770807d690618cb51196d2c1ef812a8e0c03115))


### Bug Fixes

* **deps:** pin 'google-{api,cloud}-core', 'google-auth' to allow 2.x versions ([#1449](https://www.github.com/googleapis/google-api-python-client/issues/1449)) ([96d2bb0](https://www.github.com/googleapis/google-api-python-client/commit/96d2bb04f99d57f0fff2b81e8f4e792782deb712))

## [2.13.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.12.0...v2.13.0) (2021-07-13)


### Features

* **analyticsadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/96675a8d9158ec13353fe241f858201fc51b784d ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **composer:** update the api https://github.com/googleapis/google-api-python-client/commit/add2fbdc3afb6696537eb087bc1d79df9194a37a ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/f8fae98db6d1943411b1a6c0f5a65dea336569f6 ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **content:** update the api https://github.com/googleapis/google-api-python-client/commit/0814e009a4a11800db5b4afd7b6260e504c98047 ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **datacatalog:** update the api https://github.com/googleapis/google-api-python-client/commit/99706059e58bb3d616253a1af2cd162b5a0b0279 ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **dataflow:** update the api https://github.com/googleapis/google-api-python-client/commit/d5f09ef30392532bcfdd82901148bdd3ac6eec01 ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **docs:** update the api https://github.com/googleapis/google-api-python-client/commit/dc66f4cafba86baff6149b2f6e59ae1888006911 ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **file:** update the api https://github.com/googleapis/google-api-python-client/commit/523fc5c900f53489d56400deb650f6586c9681a0 ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **firebasehosting:** update the api https://github.com/googleapis/google-api-python-client/commit/c83ac386b65f82e7ba29851d56b496b09a29cf98 ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **healthcare:** update the api https://github.com/googleapis/google-api-python-client/commit/a407471b14349b8c08018196041568f2a35f8d4f ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **ideahub:** update the api https://github.com/googleapis/google-api-python-client/commit/c6b0d83940f238b1330896240492e8db397dcd15 ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **managedidentities:** update the api https://github.com/googleapis/google-api-python-client/commit/863b333da7848029fd1614fd48b46cfbe12afcd5 ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **memcache:** update the api https://github.com/googleapis/google-api-python-client/commit/17dc001e4649f54944066ce153e3c552c850a146 ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **metastore:** update the api https://github.com/googleapis/google-api-python-client/commit/f3a76c9359babc48cc0b76ce7e3be0711ba028ae ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **slides:** update the api https://github.com/googleapis/google-api-python-client/commit/314d61b9ef8c5c30f9756462504dc0df92284cb2 ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **sqladmin:** update the api https://github.com/googleapis/google-api-python-client/commit/62784e0b1b5752b480afe1ddd77dcf412bb35dbb ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **tpu:** update the api https://github.com/googleapis/google-api-python-client/commit/16bf712cca4a393d96e4135de3d02e5005051b6d ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))
* **youtube:** update the api https://github.com/googleapis/google-api-python-client/commit/ec21dff96d9538ad6c7f9b318eca88178533aa95 ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))


### Bug Fixes

* **keep:** update the api https://github.com/googleapis/google-api-python-client/commit/08fee732e96d3220e624c8fca7b8a9b0c0bcb146 ([1a4514d](https://www.github.com/googleapis/google-api-python-client/commit/1a4514d2862f81fc97e424cd550c286cda0fc859))


### Documentation

* add recommendation to use v2.x and static discovery artifacts ([#1434](https://www.github.com/googleapis/google-api-python-client/issues/1434)) ([ca7328c](https://www.github.com/googleapis/google-api-python-client/commit/ca7328cb5340ea282a3d98782926a0b6881a33ed))

## [2.12.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.11.0...v2.12.0) (2021-07-06)


### Features

* **artifactregistry:** update the api https://github.com/googleapis/google-api-python-client/commit/bc9a38bf901a63525fb4c7b1e94fd4ce5fb441c3 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **chat:** update the api https://github.com/googleapis/google-api-python-client/commit/eea3c5c177aaded427fd3b5bab80812bf748ef79 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **cloudasset:** update the api https://github.com/googleapis/google-api-python-client/commit/2e31dd0b58d3c656df5aaa042994c637d0100f97 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **cloudbuild:** update the api https://github.com/googleapis/google-api-python-client/commit/3a3b420d53aabe1fdf6ddca483a3d164f72d6268 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **composer:** update the api https://github.com/googleapis/google-api-python-client/commit/78c0d8decbe640c522c45850c97002e7da12f4e0 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/a54737fe763fd288e54505faace58040cbf8920b ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **datafusion:** update the api https://github.com/googleapis/google-api-python-client/commit/f6bf3c6b92fbf7072798b987998bf55ee9276389 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **dataproc:** update the api https://github.com/googleapis/google-api-python-client/commit/3fde9a3604e4811ce02f1062dcee9cef35b1ad51 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/79c556d389889fb0f48c8cc5ad5ab4a2caaab603 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **groupssettings:** update the api https://github.com/googleapis/google-api-python-client/commit/d537f96a20a699629fa85fbdeadb74ead3b32699 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **logging:** update the api https://github.com/googleapis/google-api-python-client/commit/d3548c505e4b1065365584493d15f21a19639626 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **monitoring:** update the api https://github.com/googleapis/google-api-python-client/commit/d24af68a9621fda9d7a576d3615178604a1482d2 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **paymentsresellersubscription:** update the api https://github.com/googleapis/google-api-python-client/commit/cff9039529278d95cee936826b5406867c638430 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **redis:** update the api https://github.com/googleapis/google-api-python-client/commit/46102d1726393f872420820e6200bb83cefd74b6 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **run:** update the api https://github.com/googleapis/google-api-python-client/commit/db18e29c7f616f212121960fe8efd6fb7cdf9b22 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **slides:** update the api https://github.com/googleapis/google-api-python-client/commit/68634cd565914e6003c851ec5f43fa2ff290afca ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **spanner:** update the api https://github.com/googleapis/google-api-python-client/commit/289512124fc77a69957b912f06e9c3d315aa0526 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))
* **storagetransfer:** update the api https://github.com/googleapis/google-api-python-client/commit/24895f156f10c03f2da686be95d8c70ea34008a3 ([a933dad](https://www.github.com/googleapis/google-api-python-client/commit/a933dad7e72d3093be480ce6af3965f41db1d193))

## [2.11.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.10.0...v2.11.0) (2021-06-29)


### Features

* **admin:** update the api https://github.com/googleapis/google-api-python-client/commit/1534f8926019f43dc87a29c1ca32191884556e3b ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **alertcenter:** update the api https://github.com/googleapis/google-api-python-client/commit/7a488d3f0deef3e1f106cff63b1e4f66ad1727bb ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **analyticsadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/934358e5c041ffd1449e7c744463e61e94381ed5 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **analyticsdata:** update the api https://github.com/googleapis/google-api-python-client/commit/40f712130674cec09c1dd7560f69a330a335b226 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **androiddeviceprovisioning:** update the api https://github.com/googleapis/google-api-python-client/commit/81a0002a7051aeab647a3296fb18ce7973bf7137 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **apigee:** update the api https://github.com/googleapis/google-api-python-client/commit/2e6c78a93b2c0ee7001eb163ec95f9afc8f35575 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **appengine:** update the api https://github.com/googleapis/google-api-python-client/commit/125f74a61a94af17c01930841a79db46d3a059c5 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **bigquery:** update the api https://github.com/googleapis/google-api-python-client/commit/59c51e319602741632201d2ce61a6b03f13e4003 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **cloudasset:** update the api https://github.com/googleapis/google-api-python-client/commit/e615264971ccee6eb9b450fe3d85614209c0fee8 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **cloudbuild:** update the api https://github.com/googleapis/google-api-python-client/commit/ceddaccf23eb8b809688907cfdef8906cd77d65d ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **cloudidentity:** update the api https://github.com/googleapis/google-api-python-client/commit/22cd08b69b034c2cdfd854e1ac784f834539db3a ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/f494c63a42dc418559292c6269289317d9cebc23 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/e8aaabbc7670aefc4a745916fccb31424745f748 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **drive:** update the api https://github.com/googleapis/google-api-python-client/commit/72cab88ce591d906ea1cfcbe4dee354cccb623f2 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **file:** update the api https://github.com/googleapis/google-api-python-client/commit/0cd409a2d15c68aca3ea864400fc4772b9b4e503 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **firebaseappcheck:** update the api https://github.com/googleapis/google-api-python-client/commit/9a0131b2326327109d1ba7af97b1f4808dd7a898 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **healthcare:** update the api https://github.com/googleapis/google-api-python-client/commit/45ee6b28b86a43f44c707e15a7e06fdf8fce6a0f ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **ideahub:** update the api https://github.com/googleapis/google-api-python-client/commit/73b86d9d37f33aeaed74772d0319ba1350e54ed5 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **managedidentities:** update the api https://github.com/googleapis/google-api-python-client/commit/a07ed4558c93cb8f7fae49c7b353f46ccfea6c10 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **memcache:** update the api https://github.com/googleapis/google-api-python-client/commit/665ce5b47b9b3238dcfa201b9343bf6447df5994 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **metastore:** update the api https://github.com/googleapis/google-api-python-client/commit/9fd5ffbf37fb052323f5fa68d307c68391c519ac ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **ml:** update the api https://github.com/googleapis/google-api-python-client/commit/cf54d564915a558569c093287b448a7819e215f6 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **monitoring:** update the api https://github.com/googleapis/google-api-python-client/commit/d1ffbfc041f23f904cd8bc35a450871b2909473b ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **networkconnectivity:** update the api https://github.com/googleapis/google-api-python-client/commit/2cc462638aec61f4e775bfce883e725b104eeabb ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **notebooks:** update the api https://github.com/googleapis/google-api-python-client/commit/831ba938855aa4bdefafedf63e01af43350e7ed2 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **ondemandscanning:** update the api https://github.com/googleapis/google-api-python-client/commit/c04b4023477393cbb41984b14e0c734fc8587d45 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **paymentsresellersubscription:** update the api https://github.com/googleapis/google-api-python-client/commit/2cd5b1c2ef524f3ab00630508710cce7bee53574 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **prod_tt_sasportal:** update the api https://github.com/googleapis/google-api-python-client/commit/8b6bd24e57a79f470c750ad04052f79a3cafe0fa ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **realtimebidding:** update the api https://github.com/googleapis/google-api-python-client/commit/fd514dc8d86182dc17698f3293144928535f709c ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **reseller:** update the api https://github.com/googleapis/google-api-python-client/commit/20226c4401956732772e2a563c7920666135e605 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **sasportal:** update the api https://github.com/googleapis/google-api-python-client/commit/38d5156350b79a9933b2806f4bbe443043a33185 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **sts:** update the api https://github.com/googleapis/google-api-python-client/commit/190e13ebe5a4660d8825d3a8708559077a342bdf ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **transcoder:** update the api https://github.com/googleapis/google-api-python-client/commit/fbcacce6a17c1cae45b22f4a2058e730ec84b55a ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))
* **youtube:** update the api https://github.com/googleapis/google-api-python-client/commit/5046950872559fe93b954dc9a4f71fd724176247 ([04bafe1](https://www.github.com/googleapis/google-api-python-client/commit/04bafe14efe7a6d1a7da03de89312062a4afa127))

## [2.10.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.9.0...v2.10.0) (2021-06-22)


### Features

* **analyticsadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/5a2e42e9a4631216c4883d5538c970a5faad59eb ([b1eafb3](https://www.github.com/googleapis/google-api-python-client/commit/b1eafb327669474d202bb2a430ed9e9561102db3))
* **androidmanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/5fcc274bcd4a9a71a0a568e2771c443a2b2b20b0 ([b1eafb3](https://www.github.com/googleapis/google-api-python-client/commit/b1eafb327669474d202bb2a430ed9e9561102db3))
* **bigqueryreservation:** update the api https://github.com/googleapis/google-api-python-client/commit/63c00f6819408b943c2a7cc4bd2185828be173c6 ([3659137](https://www.github.com/googleapis/google-api-python-client/commit/365913780592552488cc5792d26b3f22b9e9ed1b))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/512fc42343fa946889ec155456a05f0d64969903 ([b1eafb3](https://www.github.com/googleapis/google-api-python-client/commit/b1eafb327669474d202bb2a430ed9e9561102db3))
* **firebaserules:** update the api https://github.com/googleapis/google-api-python-client/commit/7b2000437a01ecd25e4ba571049f62c5b6dc9d63 ([3659137](https://www.github.com/googleapis/google-api-python-client/commit/365913780592552488cc5792d26b3f22b9e9ed1b))
* **iap:** update the api https://github.com/googleapis/google-api-python-client/commit/18550fd0501057584ef6d2fa329f09b75dad97d8 ([3659137](https://www.github.com/googleapis/google-api-python-client/commit/365913780592552488cc5792d26b3f22b9e9ed1b))
* **keep:** update the api https://github.com/googleapis/google-api-python-client/commit/45eb6dac450c1055a6ced84332529b70b0a8c831 ([b1eafb3](https://www.github.com/googleapis/google-api-python-client/commit/b1eafb327669474d202bb2a430ed9e9561102db3))
* **managedidentities:** update the api https://github.com/googleapis/google-api-python-client/commit/d2220014e787c2a2c90808cfd1e49a25cd783e72 ([3659137](https://www.github.com/googleapis/google-api-python-client/commit/365913780592552488cc5792d26b3f22b9e9ed1b))


### Bug Fixes

* **smartdevicemanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/772982044da691f9116073855e692f7793edacce ([b1eafb3](https://www.github.com/googleapis/google-api-python-client/commit/b1eafb327669474d202bb2a430ed9e9561102db3))

## [2.9.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.8.0...v2.9.0) (2021-06-12)


### Features

* **analyticsadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/3ed78879365ebef411b2748be8b5d52c047210eb ([33237a8](https://www.github.com/googleapis/google-api-python-client/commit/33237a8250e3becfaa1e4b5f67ef0c887cfc44a9))
* **analyticsadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/a715d2b2c5d5535f9317c5b3922350de2bfb883a ([0f0918f](https://www.github.com/googleapis/google-api-python-client/commit/0f0918f92a699753b52c77dd236ad84ee00a32a7))
* **apigee:** update the api https://github.com/googleapis/google-api-python-client/commit/9fcf80b4e92dca6ebc251781c69764e42aa186b3 ([0f0918f](https://www.github.com/googleapis/google-api-python-client/commit/0f0918f92a699753b52c77dd236ad84ee00a32a7))
* **appengine:** update the api https://github.com/googleapis/google-api-python-client/commit/ffcf86035a751e98a763c8a2d54b70d3a55ca14d ([26aa9e2](https://www.github.com/googleapis/google-api-python-client/commit/26aa9e282e30ca9c8797ee5346cbe9c0b9ca65a7))
* **chat:** update the api https://github.com/googleapis/google-api-python-client/commit/47ff8a5cac1b7dbd95c6f2b970a74629f700d4fc ([0f0918f](https://www.github.com/googleapis/google-api-python-client/commit/0f0918f92a699753b52c77dd236ad84ee00a32a7))
* **composer:** update the api https://github.com/googleapis/google-api-python-client/commit/4862529435851dbb106efa0311c2b7515d2ad2ea ([33237a8](https://www.github.com/googleapis/google-api-python-client/commit/33237a8250e3becfaa1e4b5f67ef0c887cfc44a9))
* **containeranalysis:** update the api https://github.com/googleapis/google-api-python-client/commit/9a1c70b7df3e074fc9fbd0eebdaf75a91046078c ([26aa9e2](https://www.github.com/googleapis/google-api-python-client/commit/26aa9e282e30ca9c8797ee5346cbe9c0b9ca65a7))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/07a6e774ac185442a99437896eaee774946b5846 ([26aa9e2](https://www.github.com/googleapis/google-api-python-client/commit/26aa9e282e30ca9c8797ee5346cbe9c0b9ca65a7))
* **drive:** update the api https://github.com/googleapis/google-api-python-client/commit/773910fdf25b084aa3623d24fe99c8a1330fbecb ([26aa9e2](https://www.github.com/googleapis/google-api-python-client/commit/26aa9e282e30ca9c8797ee5346cbe9c0b9ca65a7))
* **genomics:** update the api https://github.com/googleapis/google-api-python-client/commit/8a1c8a67e7e5b76581cfa95ffa14c01019c305af ([33237a8](https://www.github.com/googleapis/google-api-python-client/commit/33237a8250e3becfaa1e4b5f67ef0c887cfc44a9))
* **gkehub:** update the api https://github.com/googleapis/google-api-python-client/commit/0fd49e0d39455077e39d850ac464635034d253b8 ([33237a8](https://www.github.com/googleapis/google-api-python-client/commit/33237a8250e3becfaa1e4b5f67ef0c887cfc44a9))
* **managedidentities:** update the api https://github.com/googleapis/google-api-python-client/commit/0927c1989574ae4272e4f753f4d55c88af62d8f2 ([c3f8675](https://www.github.com/googleapis/google-api-python-client/commit/c3f86757bccb6b42552f87d37a645651c58d6c7a))
* **managedidentities:** update the api https://github.com/googleapis/google-api-python-client/commit/e96adbb1ba3e4e56d916cc28474f85543f17ad0e ([26aa9e2](https://www.github.com/googleapis/google-api-python-client/commit/26aa9e282e30ca9c8797ee5346cbe9c0b9ca65a7))
* **spanner:** update the api https://github.com/googleapis/google-api-python-client/commit/87da2f3605ec1b8986324cddc33f2b5601d3e896 ([26aa9e2](https://www.github.com/googleapis/google-api-python-client/commit/26aa9e282e30ca9c8797ee5346cbe9c0b9ca65a7))


### Bug Fixes

* update content-length header for next page ([#1404](https://www.github.com/googleapis/google-api-python-client/issues/1404)) ([8019f2f](https://www.github.com/googleapis/google-api-python-client/commit/8019f2f96abc6a4375873becb2f17b399f738654)), closes [#1403](https://www.github.com/googleapis/google-api-python-client/issues/1403)

## [2.8.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.7.0...v2.8.0) (2021-06-08)


### Features

* **apigee:** update the api https://github.com/googleapis/google-api-python-client/commit/e1ea8735612457f6f8b85226887babd904958b25 ([cb945f3](https://www.github.com/googleapis/google-api-python-client/commit/cb945f37130d2950801e02512761f061cef0b54e))
* **bigquery:** update the api https://github.com/googleapis/google-api-python-client/commit/73965daab29cd6ae78004ede62f8c6c80f5587a3 ([31fbcc0](https://www.github.com/googleapis/google-api-python-client/commit/31fbcc014f8642fb0cde7de47889b55a2eaf3f71))
* **compute:** update the api https://github.com/googleapis/google-api-python-client/commit/b8ce2754752f8157b84091a99594f9a45a8f8eed ([8759538](https://www.github.com/googleapis/google-api-python-client/commit/8759538c0ab491be1678db74a3ad538957610d70))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/a73f41e49d7ab6258bd722b4ee6d022c195975c2 ([8759538](https://www.github.com/googleapis/google-api-python-client/commit/8759538c0ab491be1678db74a3ad538957610d70))
* **content:** update the api https://github.com/googleapis/google-api-python-client/commit/097e3329e1e5de3ae416cdabc9a73e2fa63a09e9 ([cb945f3](https://www.github.com/googleapis/google-api-python-client/commit/cb945f37130d2950801e02512761f061cef0b54e))
* **dataproc:** update the api https://github.com/googleapis/google-api-python-client/commit/be0dde6ee43f4ff05396d33b16e0af2a1fabfc28 ([8759538](https://www.github.com/googleapis/google-api-python-client/commit/8759538c0ab491be1678db74a3ad538957610d70))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/f7b0ebc0047427b3633480999ed28e0f37fa77f1 ([50e1b7a](https://www.github.com/googleapis/google-api-python-client/commit/50e1b7a1b5c337926c5d2b2f648f057d67431cd6))
* **displayvideo:** update the api https://github.com/googleapis/google-api-python-client/commit/f6b1a8e2d291c2ac9d2ea590101bb3c8c6fbe6cf ([eb505db](https://www.github.com/googleapis/google-api-python-client/commit/eb505dbed724dbd07b151d06fd1b45037dc7e75f))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/72f3faea1be17c074dc566b33707dad37c9ba16b ([cb945f3](https://www.github.com/googleapis/google-api-python-client/commit/cb945f37130d2950801e02512761f061cef0b54e))
* **lifesciences:** update the api https://github.com/googleapis/google-api-python-client/commit/c524c0a316e4206c8b0e0075e3ed5eceb7e60016 ([8759538](https://www.github.com/googleapis/google-api-python-client/commit/8759538c0ab491be1678db74a3ad538957610d70))
* **metastore:** update the api https://github.com/googleapis/google-api-python-client/commit/54639a05ea77c1a067ed1e3b5df46b2c029c47ea ([4d1153d](https://www.github.com/googleapis/google-api-python-client/commit/4d1153db18a3edf86c5bb83149b4f1c0ba95f810))
* **metastore:** update the api https://github.com/googleapis/google-api-python-client/commit/c9632ee831b9c135f3a0c018b3fdfe73d7e698a4 ([7357b05](https://www.github.com/googleapis/google-api-python-client/commit/7357b05a33a3780716b77161f86f247d92d91903))
* **osconfig:** update the api https://github.com/googleapis/google-api-python-client/commit/5dbaaad34dec45eb5f5a9e98710b3ec05b4d5429 ([8759538](https://www.github.com/googleapis/google-api-python-client/commit/8759538c0ab491be1678db74a3ad538957610d70))
* **pagespeedonline:** update the api https://github.com/googleapis/google-api-python-client/commit/47d41c544376b1911261410235b63ffe3e5faa91 ([8759538](https://www.github.com/googleapis/google-api-python-client/commit/8759538c0ab491be1678db74a3ad538957610d70))
* **privateca:** update the api https://github.com/googleapis/google-api-python-client/commit/8f7ad0d176d61f9e9a409d7fe35b20c5f1c239a5 ([8759538](https://www.github.com/googleapis/google-api-python-client/commit/8759538c0ab491be1678db74a3ad538957610d70))
* **realtimebidding:** update the api https://github.com/googleapis/google-api-python-client/commit/34d5d2606070b0c6fef053d6b88a65be085227b5 ([31fbcc0](https://www.github.com/googleapis/google-api-python-client/commit/31fbcc014f8642fb0cde7de47889b55a2eaf3f71))
* **sasportal:** update the api https://github.com/googleapis/google-api-python-client/commit/ca30eddc3d583c1851cc2f70f37c1d9f81f4342f ([50e1b7a](https://www.github.com/googleapis/google-api-python-client/commit/50e1b7a1b5c337926c5d2b2f648f057d67431cd6))
* **servicemanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/491bafaefd792deae68c24337ebd7011faeb723b ([cb945f3](https://www.github.com/googleapis/google-api-python-client/commit/cb945f37130d2950801e02512761f061cef0b54e))
* **youtube:** update the api https://github.com/googleapis/google-api-python-client/commit/981cfb0ae51df0d2f48152bb74f79840ca19727a ([50e1b7a](https://www.github.com/googleapis/google-api-python-client/commit/50e1b7a1b5c337926c5d2b2f648f057d67431cd6))

## [2.7.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.6.0...v2.7.0) (2021-06-01)


### Features

* **adexchangebuyer:** update the api https://github.com/googleapis/google-api-python-client/commit/3cf7a8dceb567f3c89c307f3496c381af91b0fc6 ([ab1d6dc](https://www.github.com/googleapis/google-api-python-client/commit/ab1d6dc365fc482d482de197da7f7583afd04bd0))
* **admin:** update the api https://github.com/googleapis/google-api-python-client/commit/7bac81fc588ccbe7b5e6c75af52b719e73efd118 ([ab1d6dc](https://www.github.com/googleapis/google-api-python-client/commit/ab1d6dc365fc482d482de197da7f7583afd04bd0))
* **androidmanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/877990251a43acbc447a1f2f963beb3bbfc6352f ([bdce941](https://www.github.com/googleapis/google-api-python-client/commit/bdce9419ca05d20e0eecd817f404f292a56ce79c))
* **apigee:** update the api https://github.com/googleapis/google-api-python-client/commit/37f31420ffc3adb1bdd23d7fc91f80701522aac8 ([4c9ccb0](https://www.github.com/googleapis/google-api-python-client/commit/4c9ccb08aa866b5402c5e63c70306b5a3c121ba1))
* **bigquery:** update the api https://github.com/googleapis/google-api-python-client/commit/086d714317a73331fcfdf4027496c3b36354955f ([508c39f](https://www.github.com/googleapis/google-api-python-client/commit/508c39fa665c901d9d754aa31dc9d1af45469ec4))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/514acdbf2c7eeaf6b1b9773c63b180131418ff57 ([4c9ccb0](https://www.github.com/googleapis/google-api-python-client/commit/4c9ccb08aa866b5402c5e63c70306b5a3c121ba1))
* **content:** update the api https://github.com/googleapis/google-api-python-client/commit/aab557d6c59a5c414d0ac0bc6349763523c9816f ([ab1d6dc](https://www.github.com/googleapis/google-api-python-client/commit/ab1d6dc365fc482d482de197da7f7583afd04bd0))
* **content:** update the api https://github.com/googleapis/google-api-python-client/commit/eaf742d4e933744abc72c1808f1e5a16dccaa1d4 ([bdce941](https://www.github.com/googleapis/google-api-python-client/commit/bdce9419ca05d20e0eecd817f404f292a56ce79c))
* **dataflow:** update the api https://github.com/googleapis/google-api-python-client/commit/d979251cc4f8f537a875841cc0f6d86bbe0f195b ([38664e8](https://www.github.com/googleapis/google-api-python-client/commit/38664e8dec117413b8d27fc7230eb9c351d2c0de))
* **dfareporting:** update the api https://github.com/googleapis/google-api-python-client/commit/c83912bec60626d3388fbe749d7a395fa3bc6c22 ([ab1d6dc](https://www.github.com/googleapis/google-api-python-client/commit/ab1d6dc365fc482d482de197da7f7583afd04bd0))
* **dlp:** update the api https://github.com/googleapis/google-api-python-client/commit/7e3d1c4ab85d50307d42af3048f9a7dd47a2b9eb ([4c9ccb0](https://www.github.com/googleapis/google-api-python-client/commit/4c9ccb08aa866b5402c5e63c70306b5a3c121ba1))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/222030d8c1583f49657862a308b5eae41311d7e7 ([4c9ccb0](https://www.github.com/googleapis/google-api-python-client/commit/4c9ccb08aa866b5402c5e63c70306b5a3c121ba1))
* **doubleclickbidmanager:** update the api https://github.com/googleapis/google-api-python-client/commit/895ff465e58dffd1f6e29dffd673418c76007e1b ([ab1d6dc](https://www.github.com/googleapis/google-api-python-client/commit/ab1d6dc365fc482d482de197da7f7583afd04bd0))
* **firebase:** update the api https://github.com/googleapis/google-api-python-client/commit/6bd0412a11a1a55770415fdc76100b3c76a83a94 ([4c9ccb0](https://www.github.com/googleapis/google-api-python-client/commit/4c9ccb08aa866b5402c5e63c70306b5a3c121ba1))
* **ondemandscanning:** update the api https://github.com/googleapis/google-api-python-client/commit/b77d12d24d17264123231dd86699fceada262440 ([4c9ccb0](https://www.github.com/googleapis/google-api-python-client/commit/4c9ccb08aa866b5402c5e63c70306b5a3c121ba1))
* **osconfig:** update the api https://github.com/googleapis/google-api-python-client/commit/c541143744c4b077d0a044455a35d0de227a0bf6 ([4c9ccb0](https://www.github.com/googleapis/google-api-python-client/commit/4c9ccb08aa866b5402c5e63c70306b5a3c121ba1))
* **prod_tt_sasportal:** update the api https://github.com/googleapis/google-api-python-client/commit/1e0f4a6e5e0bfde1ba4c06223d7fb02f63756690 ([4c9ccb0](https://www.github.com/googleapis/google-api-python-client/commit/4c9ccb08aa866b5402c5e63c70306b5a3c121ba1))
* **redis:** update the api https://github.com/googleapis/google-api-python-client/commit/4350b35f065e8d651839ebcc047cfaec787b4f98 ([38664e8](https://www.github.com/googleapis/google-api-python-client/commit/38664e8dec117413b8d27fc7230eb9c351d2c0de))
* **serviceconsumermanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/e2046363f037151e02020ea178651b814c11761a ([4c9ccb0](https://www.github.com/googleapis/google-api-python-client/commit/4c9ccb08aa866b5402c5e63c70306b5a3c121ba1))
* **servicecontrol:** update the api https://github.com/googleapis/google-api-python-client/commit/facd7ecc18c129cf8010d19d3969e8d5b4598dfc ([ab1d6dc](https://www.github.com/googleapis/google-api-python-client/commit/ab1d6dc365fc482d482de197da7f7583afd04bd0))
* **serviceusage:** update the api https://github.com/googleapis/google-api-python-client/commit/b79b21e71246ab6935214ca751125c83b1990167 ([4c9ccb0](https://www.github.com/googleapis/google-api-python-client/commit/4c9ccb08aa866b5402c5e63c70306b5a3c121ba1))
* **sqladmin:** update the api https://github.com/googleapis/google-api-python-client/commit/f2bb5e677634a0866836353bc40b26d40b1d044b ([a940762](https://www.github.com/googleapis/google-api-python-client/commit/a9407624e954e34bfd989f64ed0f5be74c40d4c5))


### Bug Fixes

* resolve issue where certain artifacts would not be updated ([#1385](https://www.github.com/googleapis/google-api-python-client/issues/1385)) ([31bbe51](https://www.github.com/googleapis/google-api-python-client/commit/31bbe51739f966491f1be8ab67c500c65c049daf))

## [2.6.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.5.0...v2.6.0) (2021-05-26)


### Features

* **adexchangebuyer2:** update the api https://github.com/googleapis/google-api-python-client/commit/e1ebe49bc9e2e007c61188202f0345c96083c19a ([227f8c9](https://www.github.com/googleapis/google-api-python-client/commit/227f8c91ee006acb969a3950b7281e1deed14b69))
* **cloudasset:** update the api https://github.com/googleapis/google-api-python-client/commit/432e17443fb2330b75a8cb9307ba98290fc08e4b ([e63d3a4](https://www.github.com/googleapis/google-api-python-client/commit/e63d3a43f29a5f8125272ce5303f869679963822))
* **composer:** update the api https://github.com/googleapis/google-api-python-client/commit/c2cb2746320fa7b6c1536028794f53576c0f1ddd ([73a0aa3](https://www.github.com/googleapis/google-api-python-client/commit/73a0aa3b398baf73eb48101d81ca39fcb0edb254))
* **compute:** update the api https://github.com/googleapis/google-api-python-client/commit/2cdcd0a21223a229e711778a3cf1b38c63521d96 ([73a0aa3](https://www.github.com/googleapis/google-api-python-client/commit/73a0aa3b398baf73eb48101d81ca39fcb0edb254))
* **dfareporting:** update the api https://github.com/googleapis/google-api-python-client/commit/73f7d790e1585322547fe7cb39c8f36e7b400121 ([73a0aa3](https://www.github.com/googleapis/google-api-python-client/commit/73a0aa3b398baf73eb48101d81ca39fcb0edb254))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/8edd852f294eaccfa6a0e7288d54a2d751f53506 ([73a0aa3](https://www.github.com/googleapis/google-api-python-client/commit/73a0aa3b398baf73eb48101d81ca39fcb0edb254))
* **displayvideo:** update the api https://github.com/googleapis/google-api-python-client/commit/4f37d8b0d43f2172fdae627605947b3ba15b06c2 ([227f8c9](https://www.github.com/googleapis/google-api-python-client/commit/227f8c91ee006acb969a3950b7281e1deed14b69))
* **gkehub:** update the api https://github.com/googleapis/google-api-python-client/commit/b2c1bb00a3b41e9cdfe925dd90aa4bc677a55e33 ([108b819](https://www.github.com/googleapis/google-api-python-client/commit/108b819d986cf2cdfcb3db643afa82949e33edc6))
* **gkehub:** update the api https://github.com/googleapis/google-api-python-client/commit/e12ff0958ed9016356c8711039a15334d2f0d6f6 ([227f8c9](https://www.github.com/googleapis/google-api-python-client/commit/227f8c91ee006acb969a3950b7281e1deed14b69))
* **healthcare:** update the api https://github.com/googleapis/google-api-python-client/commit/6dd2d2112db14f6d0a9fca7c50480cdc81c7b48f ([e63d3a4](https://www.github.com/googleapis/google-api-python-client/commit/e63d3a43f29a5f8125272ce5303f869679963822))
* **retail:** update the api https://github.com/googleapis/google-api-python-client/commit/c9d7a149295d827110c789e464b4f97edc13cbaa ([73a0aa3](https://www.github.com/googleapis/google-api-python-client/commit/73a0aa3b398baf73eb48101d81ca39fcb0edb254))
* **sasportal:** update the api https://github.com/googleapis/google-api-python-client/commit/12683cabbf8deaf0a884147b98c30345786874a6 ([73a0aa3](https://www.github.com/googleapis/google-api-python-client/commit/73a0aa3b398baf73eb48101d81ca39fcb0edb254))
* **servicedirectory:** update the api https://github.com/googleapis/google-api-python-client/commit/1a87cd4c32ff6145efb48dcbf12e644da1533f0b ([108b819](https://www.github.com/googleapis/google-api-python-client/commit/108b819d986cf2cdfcb3db643afa82949e33edc6))
* **servicemanagement:** update the api https://github.com/googleapis/google-api-python-client/commit/ac046117b12b43e03e748ebd0c442b340ed99183 ([227f8c9](https://www.github.com/googleapis/google-api-python-client/commit/227f8c91ee006acb969a3950b7281e1deed14b69))
* **servicenetworking:** update the api https://github.com/googleapis/google-api-python-client/commit/12d70c78040997c7354bcf66a0afe6b428d493d6 ([108b819](https://www.github.com/googleapis/google-api-python-client/commit/108b819d986cf2cdfcb3db643afa82949e33edc6))
* **servicenetworking:** update the api https://github.com/googleapis/google-api-python-client/commit/c0ad756013c602597e477bc0e22e7b2771689214 ([73a0aa3](https://www.github.com/googleapis/google-api-python-client/commit/73a0aa3b398baf73eb48101d81ca39fcb0edb254))
* **spanner:** update the api https://github.com/googleapis/google-api-python-client/commit/43f1be2ea175a79e463d77cf3155e7b8ab1b26f6 ([227f8c9](https://www.github.com/googleapis/google-api-python-client/commit/227f8c91ee006acb969a3950b7281e1deed14b69))

## [2.5.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.4.0...v2.5.0) (2021-05-20)


### Features

* **adexchangebuyer:** update the api https://github.com/googleapis/google-api-python-client/commit/46d87cb3e1f85ec9201134402b3c3afd2eb55770 ([7700bbf](https://www.github.com/googleapis/google-api-python-client/commit/7700bbffda386345cc4426ef413fc643f6368ef4))
* **analyticsadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/9648bae09873a132e7b4627096c153043911be6e ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **analyticsadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/adaafffbdeab31f05f9ad62d0f58846313bb3858 ([7700bbf](https://www.github.com/googleapis/google-api-python-client/commit/7700bbffda386345cc4426ef413fc643f6368ef4))
* **artifactregistry:** update the api https://github.com/googleapis/google-api-python-client/commit/7dd722fe8b0ae822f4847219c442aa67a1aae7fd ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **assuredworkloads:** update the api https://github.com/googleapis/google-api-python-client/commit/9b84ffce415133e860cc55bfbd3b9c15c3d46a24 ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **cloudasset:** update the api https://github.com/googleapis/google-api-python-client/commit/a8228db5ef31724493f0f62bf8062aca9adc44aa ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **cloudbuild:** update the api https://github.com/googleapis/google-api-python-client/commit/c9d8208c0f9579d958224566af369b809e13016a ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **compute:** update the api https://github.com/googleapis/google-api-python-client/commit/685c19d4b5262d27a2b1016e01186188afe610fd ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **container:** update the api https://github.com/googleapis/google-api-python-client/commit/c5cd244f996b1dfb605ef28eb22f8b0e76bffa1b ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **content:** update the api https://github.com/googleapis/google-api-python-client/commit/3b3e9be7e17c4efa89b45ac671a7c7f627a34cd7 ([7700bbf](https://www.github.com/googleapis/google-api-python-client/commit/7700bbffda386345cc4426ef413fc643f6368ef4))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/0c6b31fd2deb75ca1c023fed36903b638f5e74f8 ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **dialogflow:** update the api https://github.com/googleapis/google-api-python-client/commit/254b9413a2ede306917031a2117f7af2df28a103 ([7700bbf](https://www.github.com/googleapis/google-api-python-client/commit/7700bbffda386345cc4426ef413fc643f6368ef4))
* **documentai:** update the api https://github.com/googleapis/google-api-python-client/commit/6dcec9fd8c0f803d37b4c8355870208e5a8c61ce ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **drive:** update the api https://github.com/googleapis/google-api-python-client/commit/8788823461610f31eebd655915e07def9690da48 ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **genomics:** update the api https://github.com/googleapis/google-api-python-client/commit/d0e6cc48df2d0a00d91ce6fbab83aa82146f3573 ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **logging:** update the api https://github.com/googleapis/google-api-python-client/commit/7f5fa161fd3db9ca6f2df23f5c8bd41ba01e9b9c ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **manufacturers:** update the api https://github.com/googleapis/google-api-python-client/commit/25bf19f14a09428ab3fc6e51b0f6812867f99b04 ([7700bbf](https://www.github.com/googleapis/google-api-python-client/commit/7700bbffda386345cc4426ef413fc643f6368ef4))
* **privateca:** update the api https://github.com/googleapis/google-api-python-client/commit/0a5c31d74f788444640c174c413b12d494a00f1a ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **prod_tt_sasportal:** update the api https://github.com/googleapis/google-api-python-client/commit/af243b57a7039f4e01259fb085c7b07a66106fcf ([7700bbf](https://www.github.com/googleapis/google-api-python-client/commit/7700bbffda386345cc4426ef413fc643f6368ef4))
* **pubsublite:** update the api https://github.com/googleapis/google-api-python-client/commit/dd67e9b117fdc8d0d0ecff6ade657003a95c12f7 ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **recommender:** update the api https://github.com/googleapis/google-api-python-client/commit/4b261d97bea2a8bc042a274c2d904be09da2d82c ([c2cd326](https://www.github.com/googleapis/google-api-python-client/commit/c2cd326ef156fc2652d23e4c64fd06e2d66e3a80))
* **redis:** update the api https://github.com/googleapis/google-api-python-client/commit/5228389cbd5fceb1bf8c2d36086faa147d91e50f ([7700bbf](https://www.github.com/googleapis/google-api-python-client/commit/7700bbffda386345cc4426ef413fc643f6368ef4))
* **remotebuildexecution:** update the api https://github.com/googleapis/google-api-python-client/commit/7c8b314e5508dda81cfb673039ea032f593fa97d ([7700bbf](https://www.github.com/googleapis/google-api-python-client/commit/7700bbffda386345cc4426ef413fc643f6368ef4))

## [2.4.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.3.0...v2.4.0) (2021-05-11)


### Features

* **alertcenter:** update the api ([cbf5364](https://www.github.com/googleapis/google-api-python-client/commit/cbf5364f32932e6dc0baebfb3787a9f2fc889819))
* **analyticsadmin:** update the api ([bfa2f1c](https://www.github.com/googleapis/google-api-python-client/commit/bfa2f1caee54b6f6bc8760a1d20e7014e607bd7f))
* **androidenterprise:** update the api ([44a6719](https://www.github.com/googleapis/google-api-python-client/commit/44a6719b9f0024df4f4a4640743015507dbd0e94))
* **androidpublisher:** update the api ([44a6719](https://www.github.com/googleapis/google-api-python-client/commit/44a6719b9f0024df4f4a4640743015507dbd0e94))
* **artifactregistry:** update the api ([44a6719](https://www.github.com/googleapis/google-api-python-client/commit/44a6719b9f0024df4f4a4640743015507dbd0e94))
* **bigquery:** update the api ([bfa2f1c](https://www.github.com/googleapis/google-api-python-client/commit/bfa2f1caee54b6f6bc8760a1d20e7014e607bd7f))
* **chromepolicy:** update the api ([44a6719](https://www.github.com/googleapis/google-api-python-client/commit/44a6719b9f0024df4f4a4640743015507dbd0e94))
* **content:** update the api ([c0b883a](https://www.github.com/googleapis/google-api-python-client/commit/c0b883a43d90c27153eb1d205d52cd5d8b66c39a))
* **datacatalog:** update the api ([e58efe8](https://www.github.com/googleapis/google-api-python-client/commit/e58efe85e5988c93399dd3cf5290620d67baf038))
* **dataproc:** update the api ([cbf5364](https://www.github.com/googleapis/google-api-python-client/commit/cbf5364f32932e6dc0baebfb3787a9f2fc889819))
* **dialogflow:** update the api ([44a6719](https://www.github.com/googleapis/google-api-python-client/commit/44a6719b9f0024df4f4a4640743015507dbd0e94))
* **dns:** update the api ([c0b883a](https://www.github.com/googleapis/google-api-python-client/commit/c0b883a43d90c27153eb1d205d52cd5d8b66c39a))
* **documentai:** update the api ([bfa2f1c](https://www.github.com/googleapis/google-api-python-client/commit/bfa2f1caee54b6f6bc8760a1d20e7014e607bd7f))
* **file:** update the api ([cbf5364](https://www.github.com/googleapis/google-api-python-client/commit/cbf5364f32932e6dc0baebfb3787a9f2fc889819))
* **file:** update the api ([44a6719](https://www.github.com/googleapis/google-api-python-client/commit/44a6719b9f0024df4f4a4640743015507dbd0e94))
* **firebasestorage:** update the api ([27f691d](https://www.github.com/googleapis/google-api-python-client/commit/27f691d2f256447a41f44c77175edd0f37dddbdc))
* **gameservices:** update the api ([bfa2f1c](https://www.github.com/googleapis/google-api-python-client/commit/bfa2f1caee54b6f6bc8760a1d20e7014e607bd7f))
* **gkehub:** update the api ([44a6719](https://www.github.com/googleapis/google-api-python-client/commit/44a6719b9f0024df4f4a4640743015507dbd0e94))
* **lifesciences:** update the api ([44a6719](https://www.github.com/googleapis/google-api-python-client/commit/44a6719b9f0024df4f4a4640743015507dbd0e94))
* **monitoring:** update the api ([bfa2f1c](https://www.github.com/googleapis/google-api-python-client/commit/bfa2f1caee54b6f6bc8760a1d20e7014e607bd7f))
* **mybusinessaccountmanagement:** update the api ([bfa2f1c](https://www.github.com/googleapis/google-api-python-client/commit/bfa2f1caee54b6f6bc8760a1d20e7014e607bd7f))
* **networkmanagement:** update the api ([bfa2f1c](https://www.github.com/googleapis/google-api-python-client/commit/bfa2f1caee54b6f6bc8760a1d20e7014e607bd7f))
* **oslogin:** update the api ([bfa2f1c](https://www.github.com/googleapis/google-api-python-client/commit/bfa2f1caee54b6f6bc8760a1d20e7014e607bd7f))
* **pubsublite:** update the api ([bfa2f1c](https://www.github.com/googleapis/google-api-python-client/commit/bfa2f1caee54b6f6bc8760a1d20e7014e607bd7f))
* **recommender:** update the api ([bfa2f1c](https://www.github.com/googleapis/google-api-python-client/commit/bfa2f1caee54b6f6bc8760a1d20e7014e607bd7f))
* **retail:** update the api ([cbf5364](https://www.github.com/googleapis/google-api-python-client/commit/cbf5364f32932e6dc0baebfb3787a9f2fc889819))
* **servicedirectory:** update the api ([44a6719](https://www.github.com/googleapis/google-api-python-client/commit/44a6719b9f0024df4f4a4640743015507dbd0e94))
* **servicemanagement:** update the api ([c0b883a](https://www.github.com/googleapis/google-api-python-client/commit/c0b883a43d90c27153eb1d205d52cd5d8b66c39a))
* **servicenetworking:** update the api ([bfa2f1c](https://www.github.com/googleapis/google-api-python-client/commit/bfa2f1caee54b6f6bc8760a1d20e7014e607bd7f))
* **translate:** update the api ([c0b883a](https://www.github.com/googleapis/google-api-python-client/commit/c0b883a43d90c27153eb1d205d52cd5d8b66c39a))


### Bug Fixes

* preventing accessing predefined discovery URLs when override is provided ([#1324](https://www.github.com/googleapis/google-api-python-client/issues/1324)) ([1c4d199](https://www.github.com/googleapis/google-api-python-client/commit/1c4d1998086d89238ca5d961bc1c8eee5685345c))

## [2.3.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.2.0...v2.3.0) (2021-04-28)


### Features

* **apigee:** update the api ([3fd11cb](https://www.github.com/googleapis/google-api-python-client/commit/3fd11cbfa43679d14be7f09d9cb071d82d156ffa))
* **dataflow:** update the api ([3fd11cb](https://www.github.com/googleapis/google-api-python-client/commit/3fd11cbfa43679d14be7f09d9cb071d82d156ffa))
* **dialogflow:** update the api ([3fd11cb](https://www.github.com/googleapis/google-api-python-client/commit/3fd11cbfa43679d14be7f09d9cb071d82d156ffa))
* **documentai:** update the api ([3fd11cb](https://www.github.com/googleapis/google-api-python-client/commit/3fd11cbfa43679d14be7f09d9cb071d82d156ffa))
* **healthcare:** update the api ([3fd11cb](https://www.github.com/googleapis/google-api-python-client/commit/3fd11cbfa43679d14be7f09d9cb071d82d156ffa))
* **osconfig:** update the api ([afea316](https://www.github.com/googleapis/google-api-python-client/commit/afea316d32842ecb9e7d626842d5926b0bf3e34f))
* **sqladmin:** update the api ([cec4393](https://www.github.com/googleapis/google-api-python-client/commit/cec4393b8e37e229f68b2233a2041db062c2a335))

## [2.2.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.1.0...v2.2.0) (2021-04-13)


### Features

* Adds support for errors.py to also use 'errors' for error_details  ([#1281](https://www.github.com/googleapis/google-api-python-client/issues/1281)) ([a5d2081](https://www.github.com/googleapis/google-api-python-client/commit/a5d20813e8d7589b0cec030c149748e53ea555a5))

## [2.1.0](https://www.github.com/googleapis/google-api-python-client/compare/v2.0.2...v2.1.0) (2021-03-31)


### Features

* add status_code property on http error handling ([#1185](https://www.github.com/googleapis/google-api-python-client/issues/1185)) ([db2a766](https://www.github.com/googleapis/google-api-python-client/commit/db2a766bbd976742f6ef10d721d8423c8ac9246d))


### Bug Fixes

* Change default of `static_discovery` when `discoveryServiceUrl` set ([#1261](https://www.github.com/googleapis/google-api-python-client/issues/1261)) ([3b4f2e2](https://www.github.com/googleapis/google-api-python-client/commit/3b4f2e243709132b5ca41a3c23853d5067dfb0ab))
* correct api version in oauth-installed.md ([#1258](https://www.github.com/googleapis/google-api-python-client/issues/1258)) ([d1a255f](https://www.github.com/googleapis/google-api-python-client/commit/d1a255fcbeaa36f615cede720692fea2b9f894db))
* fix .close() ([#1231](https://www.github.com/googleapis/google-api-python-client/issues/1231)) ([a9583f7](https://www.github.com/googleapis/google-api-python-client/commit/a9583f712d13c67aa282d14cd30e00999b530d7c))
* Resolve issue where num_retries would have no effect ([#1244](https://www.github.com/googleapis/google-api-python-client/issues/1244)) ([c518472](https://www.github.com/googleapis/google-api-python-client/commit/c518472e836c32ba2ff5e8480ab5a7643f722d46))


### Documentation

* Distinguish between public/private docs in 2.0 guide ([#1226](https://www.github.com/googleapis/google-api-python-client/issues/1226)) ([a6f1706](https://www.github.com/googleapis/google-api-python-client/commit/a6f17066caf6e911b7e94e8feab52fa3af2def1b))
* Update README to promote cloud client libraries ([#1252](https://www.github.com/googleapis/google-api-python-client/issues/1252)) ([22807c9](https://www.github.com/googleapis/google-api-python-client/commit/22807c92ce754ff3d60f240ec5c38de50c5b654b))

### [2.0.2](https://www.github.com/googleapis/google-api-python-client/compare/v2.0.1...v2.0.2) (2021-03-04)


### Bug Fixes

* Include discovery artifacts in published package ([#1221](https://www.github.com/googleapis/google-api-python-client/issues/1221)) ([ad618d0](https://www.github.com/googleapis/google-api-python-client/commit/ad618d0b266b86a795871d946367552905f4ccb6))

### [2.0.1](https://www.github.com/googleapis/google-api-python-client/compare/v2.0.0...v2.0.1) (2021-03-04)


### Bug Fixes

* add static discovery docs  ([#1216](https://www.github.com/googleapis/google-api-python-client/issues/1216)) ([b5d33d6](https://www.github.com/googleapis/google-api-python-client/commit/b5d33d6d520ca9589eefd08d34fe96844f420bce))


### Documentation

* add a link to the migration guide in the changelog ([#1213](https://www.github.com/googleapis/google-api-python-client/issues/1213)) ([b85da5b](https://www.github.com/googleapis/google-api-python-client/commit/b85da5bb7d6d6da60ff611221d3c4719eadb478a))

## [2.0.0](https://www.github.com/googleapis/google-api-python-client/compare/v1.12.8...v2.0.0) (2021-03-03)


### ⚠ BREAKING CHANGES

The 2.0 release of `google-api-python-client` is a significant upgrade compared to v1. Please see the [Migration Guide](UPGRADING.md) for more information.

* **deps:** require 3.6+.  (#961)

### Features

* Add support for using static discovery documents ([#1109](https://www.github.com/googleapis/google-api-python-client/issues/1109)) ([32d1c59](https://www.github.com/googleapis/google-api-python-client/commit/32d1c597b364e2641eca33ccf6df802bb218eea1))
* Update synth.py to copy discovery files from discovery-artifact-manager ([#1104](https://www.github.com/googleapis/google-api-python-client/issues/1104)) ([af918e8](https://www.github.com/googleapis/google-api-python-client/commit/af918e8ef422438aaca0c468de8b3b2c184d884e))


### Bug Fixes

* Catch ECONNRESET and other errors more reliably ([#1147](https://www.github.com/googleapis/google-api-python-client/issues/1147)) ([ae9cd99](https://www.github.com/googleapis/google-api-python-client/commit/ae9cd99134160a5540e6f8d6d33d855122854e10))
* **deps:** add upper-bound google-auth dependency ([#1180](https://www.github.com/googleapis/google-api-python-client/issues/1180)) ([c687f42](https://www.github.com/googleapis/google-api-python-client/commit/c687f4207b9c574e539a7eab75201a58f2e91f35))
* handle error on service not enabled ([#1117](https://www.github.com/googleapis/google-api-python-client/issues/1117)) ([c691283](https://www.github.com/googleapis/google-api-python-client/commit/c6912836e88eea45aef7d515383e549082d37717))
* Improve support for error_details ([#1126](https://www.github.com/googleapis/google-api-python-client/issues/1126)) ([e6a1da3](https://www.github.com/googleapis/google-api-python-client/commit/e6a1da3542e230e5287863f339ce1d28292cd92f))
* MediaFileUpload error if file does not exist ([#1127](https://www.github.com/googleapis/google-api-python-client/issues/1127)) ([2c6d029](https://www.github.com/googleapis/google-api-python-client/commit/2c6d0297851c806ef850ca23686c51ca5878ac48))
* replace deprecated socket.error with OSError ([#1161](https://www.github.com/googleapis/google-api-python-client/issues/1161)) ([b7b9986](https://www.github.com/googleapis/google-api-python-client/commit/b7b9986fe13c483eeefb77673b4091911978ee46))
* Use logging level info when file_cache is not available ([#1125](https://www.github.com/googleapis/google-api-python-client/issues/1125)) ([0b32e69](https://www.github.com/googleapis/google-api-python-client/commit/0b32e69900eafec2cd1197ba054d4f9a765a3f29))


### Miscellaneous Chores

* **deps:** require 3.6+ ([#961](https://www.github.com/googleapis/google-api-python-client/issues/961)) ([8325d24](https://www.github.com/googleapis/google-api-python-client/commit/8325d24acaa2b2077acaaea26ea5fafb6dd856c5))


### Documentation

* add networkconnectivity v1alpha1 ([#1176](https://www.github.com/googleapis/google-api-python-client/issues/1176)) ([91b61d3](https://www.github.com/googleapis/google-api-python-client/commit/91b61d3272de9b5aebad0cf1eb76ca53c24f22f9))
* Delete redundant oauth-web.md ([#1142](https://www.github.com/googleapis/google-api-python-client/issues/1142)) ([70bc6c9](https://www.github.com/googleapis/google-api-python-client/commit/70bc6c9db99eed5af7536b87448bd9323db9320b))
* fix MediaIoBaseUpload broken link ([#1112](https://www.github.com/googleapis/google-api-python-client/issues/1112)) ([334b6e6](https://www.github.com/googleapis/google-api-python-client/commit/334b6e6d9e4924398e57bad2e53747584abf8cf4))
* fix regression with incorrect args order in docs ([#1141](https://www.github.com/googleapis/google-api-python-client/issues/1141)) ([4249a7b](https://www.github.com/googleapis/google-api-python-client/commit/4249a7b92e891d1ecaf93944ca9c062ffbd54f77))
* fix typo in thread safety example code ([#1100](https://www.github.com/googleapis/google-api-python-client/issues/1100)) ([5ae088d](https://www.github.com/googleapis/google-api-python-client/commit/5ae088dc027b89517b896a89a0aeb2ca80f492cf))
* Reduce noisy changes in docs regen ([#1135](https://www.github.com/googleapis/google-api-python-client/issues/1135)) ([b1b0c83](https://www.github.com/googleapis/google-api-python-client/commit/b1b0c83ae0737e7b63cb77e4e7757213a216b88e))
* update docs/dyn ([#1096](https://www.github.com/googleapis/google-api-python-client/issues/1096)) ([c2228be](https://www.github.com/googleapis/google-api-python-client/commit/c2228be4630e279e02a25b51566a0f93b67aa499))
* update guidance on service accounts ([#1120](https://www.github.com/googleapis/google-api-python-client/issues/1120)) ([b2ea122](https://www.github.com/googleapis/google-api-python-client/commit/b2ea122c40ccac09c9e7b0b29f6b2bcca6db107b))

### [1.12.8](https://www.github.com/googleapis/google-api-python-client/compare/v1.12.7...v1.12.8) (2020-11-18)


### Documentation

* add httplib2 authorization to thread_safety ([#1005](https://www.github.com/googleapis/google-api-python-client/issues/1005)) ([205ae59](https://www.github.com/googleapis/google-api-python-client/commit/205ae5988bd89676823088d6c8a7bd17e3beefcf)), closes [#808](https://www.github.com/googleapis/google-api-python-client/issues/808) [#808](https://www.github.com/googleapis/google-api-python-client/issues/808)

### [1.12.7](https://www.github.com/googleapis/google-api-python-client/compare/v1.12.6...v1.12.7) (2020-11-17)


### Documentation

* Update Webmasters API sample ([#1092](https://www.github.com/googleapis/google-api-python-client/issues/1092)) ([12831f3](https://www.github.com/googleapis/google-api-python-client/commit/12831f3e4716292b55b63dd2b08c3351f09b8a15))

### [1.12.6](https://www.github.com/googleapis/google-api-python-client/compare/v1.12.5...v1.12.6) (2020-11-16)


### Documentation

* Change error parsing to check for 'message' ([#1083](https://www.github.com/googleapis/google-api-python-client/issues/1083)) ([a341c5a](https://www.github.com/googleapis/google-api-python-client/commit/a341c5a5e31ba16da109658127b58cb7e5dbeedd)), closes [#1082](https://www.github.com/googleapis/google-api-python-client/issues/1082)
* Update oauth docs to include snippet to get email address of authenticated user ([#1088](https://www.github.com/googleapis/google-api-python-client/issues/1088)) ([25fba64](https://www.github.com/googleapis/google-api-python-client/commit/25fba648ea647b62f2a6edc54ae927c1ed381b45)), closes [#1071](https://www.github.com/googleapis/google-api-python-client/issues/1071)

### [1.12.5](https://www.github.com/googleapis/google-api-python-client/compare/v1.12.4...v1.12.5) (2020-10-22)


### Bug Fixes

* don't raise when downloading zero byte files ([#1074](https://www.github.com/googleapis/google-api-python-client/issues/1074)) ([86d8788](https://www.github.com/googleapis/google-api-python-client/commit/86d8788ee8a766ca6818620f3fd2899be0e44190))

### [1.12.4](https://www.github.com/googleapis/google-api-python-client/compare/v1.12.3...v1.12.4) (2020-10-20)


### Bug Fixes

* don't set content-range on empty uploads ([#1070](https://www.github.com/googleapis/google-api-python-client/issues/1070)) ([af6035f](https://www.github.com/googleapis/google-api-python-client/commit/af6035f6754a155ee6b04bbbc5c39410c7316d6a))


### Documentation

* fix typo in oauth.md ([#1058](https://www.github.com/googleapis/google-api-python-client/issues/1058)) ([30eff9d](https://www.github.com/googleapis/google-api-python-client/commit/30eff9d8276919b8c4e50df2d3b1982594423692))
* update generated docs ([#1053](https://www.github.com/googleapis/google-api-python-client/issues/1053)) ([3e17f89](https://www.github.com/googleapis/google-api-python-client/commit/3e17f8990db54bec16c48c319072799a14f5a53f)), closes [#1049](https://www.github.com/googleapis/google-api-python-client/issues/1049)

### [1.12.3](https://www.github.com/googleapis/google-api-python-client/compare/v1.12.2...v1.12.3) (2020-09-29)


### Bug Fixes

* **deps:** update setup.py to install httplib2>=0.15.0 ([#1050](https://www.github.com/googleapis/google-api-python-client/issues/1050)) ([c00f70d](https://www.github.com/googleapis/google-api-python-client/commit/c00f70d565a002b92374356be087927b131ce135))

### [1.12.2](https://www.github.com/googleapis/google-api-python-client/compare/v1.12.1...v1.12.2) (2020-09-23)


### Bug Fixes

* add method to close httplib2 connections ([#1038](https://www.github.com/googleapis/google-api-python-client/issues/1038)) ([98888da](https://www.github.com/googleapis/google-api-python-client/commit/98888dadf04e7e00524b6de273d28d02d7abc2c0)), closes [#618](https://www.github.com/googleapis/google-api-python-client/issues/618) 

### [1.12.1](https://www.github.com/googleapis/google-api-python-client/compare/v1.12.0...v1.12.1) (2020-09-14)


### Bug Fixes

* **deps:** require six>=1.13.0 ([#1030](https://www.github.com/googleapis/google-api-python-client/issues/1030)) ([4acecc3](https://www.github.com/googleapis/google-api-python-client/commit/4acecc3c0cd31308f9a256f065b7b1d1c3a4798d))

## [1.12.0](https://www.github.com/googleapis/google-api-python-client/compare/v1.11.0...v1.12.0) (2020-09-12)


### Features

* add quota_project, credentials_file, and scopes support ([#1022](https://www.github.com/googleapis/google-api-python-client/issues/1022)) ([790e702](https://www.github.com/googleapis/google-api-python-client/commit/790e70224c8110bfb1191333ce448c2b0fe54ea6))


### Documentation

* convert `print` statement to function ([#988](https://www.github.com/googleapis/google-api-python-client/issues/988)) ([16448bc](https://www.github.com/googleapis/google-api-python-client/commit/16448bc666e032abd83096faadcda56f86f36f18)), closes [#987](https://www.github.com/googleapis/google-api-python-client/issues/987)
* remove http from batch execute docs ([#1003](https://www.github.com/googleapis/google-api-python-client/issues/1003)) ([5028fe7](https://www.github.com/googleapis/google-api-python-client/commit/5028fe76c8075c6594b1999074f91eed7f7dd329)), closes [#1002](https://www.github.com/googleapis/google-api-python-client/issues/1002)

## [1.11.0](https://www.github.com/googleapis/google-api-python-client/compare/v1.10.1...v1.11.0) (2020-08-27)


### Features

* add support for mtls env variables ([#1008](https://www.github.com/googleapis/google-api-python-client/issues/1008)) ([2fc5ca1](https://www.github.com/googleapis/google-api-python-client/commit/2fc5ca1b6aa880aab2067ab7eb96780a1b28d4c7))

### [1.10.1](https://www.github.com/googleapis/google-api-python-client/compare/v1.10.0...v1.10.1) (2020-08-03)


### Bug Fixes

* discovery uses V2 when version is None ([#975](https://www.github.com/googleapis/google-api-python-client/issues/975)) ([cd4e8f4](https://www.github.com/googleapis/google-api-python-client/commit/cd4e8f429422232dd82ef7e9bc685061d5df94a1)), closes [#971](https://www.github.com/googleapis/google-api-python-client/issues/971)


### Documentation

* fix deprecation warnings due to invalid escape sequences. ([#996](https://www.github.com/googleapis/google-api-python-client/issues/996)) ([0f60eda](https://www.github.com/googleapis/google-api-python-client/commit/0f60eda81ea524dcd1358d87b06da701412bb414)), closes [#995](https://www.github.com/googleapis/google-api-python-client/issues/995)
* fix link to service accounts documentation ([#986](https://www.github.com/googleapis/google-api-python-client/issues/986)) ([edb2516](https://www.github.com/googleapis/google-api-python-client/commit/edb2516eb59770546e7960ca633c7be0ca7b1ad4))
* update generated docs ([#981](https://www.github.com/googleapis/google-api-python-client/issues/981)) ([d059ad8](https://www.github.com/googleapis/google-api-python-client/commit/d059ad881c7ae58c67931c48788d0bd7343ab16c))

## [1.10.0](https://www.github.com/googleapis/google-api-python-client/compare/v1.9.3...v1.10.0) (2020-07-15)


### Features

* allow to use 'six.moves.collections_abc.Mapping' in 'client_options.from_dict()' ([#943](https://www.github.com/googleapis/google-api-python-client/issues/943)) ([21af37b](https://www.github.com/googleapis/google-api-python-client/commit/21af37b11ea2d6a89b3df484e1b2fa1d12849510))
* Build universal wheels ([#948](https://www.github.com/googleapis/google-api-python-client/issues/948)) ([3e28a1e](https://www.github.com/googleapis/google-api-python-client/commit/3e28a1e0d47f829182cd92f37475ab91fa5e4afc))
* discovery supports retries ([#967](https://www.github.com/googleapis/google-api-python-client/issues/967)) ([f3348f9](https://www.github.com/googleapis/google-api-python-client/commit/f3348f98bf91a88a28bf61b12b95e391cc3be1ff)), closes [#848](https://www.github.com/googleapis/google-api-python-client/issues/848)


### Documentation

* consolidating and updating the Contribution Guide ([#964](https://www.github.com/googleapis/google-api-python-client/issues/964)) ([63f97f3](https://www.github.com/googleapis/google-api-python-client/commit/63f97f37daee37a725eb05df3097b20d5d4eaaf0)), closes [#963](https://www.github.com/googleapis/google-api-python-client/issues/963)

### [1.9.3](https://www.github.com/googleapis/google-api-python-client/compare/v1.9.2...v1.9.3) (2020-06-10)


### Bug Fixes

* update GOOGLE_API_USE_MTLS values ([#940](https://www.github.com/googleapis/google-api-python-client/issues/940)) ([19908ed](https://www.github.com/googleapis/google-api-python-client/commit/19908edcd8a3df1db41e34100acc1f15c3c99397))

### [1.9.2](https://www.github.com/googleapis/google-api-python-client/compare/v1.9.1...v1.9.2) (2020-06-04)


### Bug Fixes

* bump api-core version ([#936](https://www.github.com/googleapis/google-api-python-client/issues/936)) ([ee53b3b](https://www.github.com/googleapis/google-api-python-client/commit/ee53b3b32a050874ba4cfb491fb384f94682c824))

### [1.9.1](https://www.github.com/googleapis/google-api-python-client/compare/v1.9.0...v1.9.1) (2020-06-02)


### Bug Fixes

* fix python-api-core dependency issue ([#931](https://www.github.com/googleapis/google-api-python-client/issues/931)) ([42028ed](https://www.github.com/googleapis/google-api-python-client/commit/42028ed2b2be47f85b70eb813185264f1f573d01))

## [1.9.0](https://www.github.com/googleapis/google-api-python-client/compare/v1.8.4...v1.9.0) (2020-06-02)


### Features

* add mtls feature ([#917](https://www.github.com/googleapis/google-api-python-client/issues/917)) ([981eadf](https://www.github.com/googleapis/google-api-python-client/commit/981eadf7cfdb576981d92fcda498c76422821426))
* add templates for python samples projects ([#506](https://www.github.com/googleapis/google-api-python-client/issues/506)) ([#924](https://www.github.com/googleapis/google-api-python-client/issues/924)) ([c482712](https://www.github.com/googleapis/google-api-python-client/commit/c482712935d1c1331e33bd7f9968bd3b2be223bb))

### [1.8.4](https://www.github.com/googleapis/google-api-python-client/compare/v1.8.3...v1.8.4) (2020-05-20)


### Bug Fixes

* don't try to import GAE API in other environments ([#903](https://www.github.com/googleapis/google-api-python-client/issues/903)) ([09e6447](https://www.github.com/googleapis/google-api-python-client/commit/09e644719166aecb21a01b6d5ee9898843e7cd58))
* the turn down date for global batch uri ([#901](https://www.github.com/googleapis/google-api-python-client/issues/901)) ([6ddadd7](https://www.github.com/googleapis/google-api-python-client/commit/6ddadd7753134c671628ad3f4598595b0abb1457))

### [1.8.3](https://www.github.com/googleapis/google-api-python-client/compare/v1.8.2...v1.8.3) (2020-05-01)


### Bug Fixes

* downgrade repetitive logging calls to debug ([#885](https://www.github.com/googleapis/google-api-python-client/issues/885)) ([3bf2781](https://www.github.com/googleapis/google-api-python-client/commit/3bf2781e29cb828409f3a8a21939323286524569)), closes [#781](https://www.github.com/googleapis/google-api-python-client/issues/781)

### [1.8.2](https://www.github.com/googleapis/google-api-python-client/compare/v1.8.1...v1.8.2) (2020-04-21)


### Bug Fixes

* Remove `apiclient.__version__` ([#871](https://www.github.com/googleapis/google-api-python-client/issues/871)) ([c7516a2](https://github.com/googleapis/google-api-python-client/commit/1d8ec6874e1c6081893de7cd7cbc86d1f6580320d)), closes [googleapis#870](https://www.github.com/googleapis/googleapis/issues/870)


### [1.8.1](https://www.github.com/googleapis/google-api-python-client/compare/v1.8.0...v1.8.1) (2020-04-20)


### Bug Fixes

* Adding ConnectionError to retry mechanism ([#822](https://www.github.com/googleapis/google-api-python-client/issues/822)) ([c7516a2](https://www.github.com/googleapis/google-api-python-client/commit/c7516a2ea2c229479633690c109f8763dc0b30ed)), closes [googleapis#558](https://www.github.com/googleapis/googleapis/issues/558)
* replace '-' in method names with '_' ([#863](https://www.github.com/googleapis/google-api-python-client/issues/863)) ([8ed729f](https://www.github.com/googleapis/google-api-python-client/commit/8ed729f1d868a8713ab442bf0bf59e77ba36afb6))

### v1.8.0
  Version 1.8.0

  Release to support API endpoint override.

  New Features
  - Add api endpoint override. ([#829](https://github.com/googleapis/google-api-python-client/pull/829))

  Implementation Changes
  - 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))

### v1.7.12
  Version 1.7.12
  
  Bugfix release
  
  Implementation Changes
  - Look for field 'detail' in error message. ([#739](https://github.com/googleapis/google-api-python-client/pull/739))
  - Exclude 308s from httplib2 redirect codes list ([#813](https://github.com/googleapis/google-api-python-client/pull/813))
  
  Documentation 
  - Remove oauth2client from docs ([#738](https://github.com/googleapis/google-api-python-client/pull/738))
  - Fix typo. ([#745](https://github.com/googleapis/google-api-python-client/pull/745))
  - Remove compatibility badges. ([#746](https://github.com/googleapis/google-api-python-client/pull/746))
  - Fix TypeError: search_analytics_api_sample.py #732 ([#742](https://github.com/googleapis/google-api-python-client/pull/742))
  - Correct response access ([#750](https://github.com/googleapis/google-api-python-client/pull/750))
  - Fix link to API explorer ([#760](https://github.com/googleapis/google-api-python-client/pull/760))
  - Fix argument typo in oauth2 code example ([#763](https://github.com/googleapis/google-api-python-client/pull/763))
  - Recommend install with virtualenv ([#768](https://github.com/googleapis/google-api-python-client/pull/768))
  - Fix capitalization in docs/README.md ([#770](https://github.com/googleapis/google-api-python-client/pull/770))

  - Remove compatibility badges ([#796](https://github.com/googleapis/google-api-python-client/pull/796))
  - Remove mentions of pycrypto ([#799](https://github.com/googleapis/google-api-python-client/pull/799))
  - Fix typo in model.py
  - Add note about Google Ads llibrary ([#814](https://github.com/googleapis/google-api-python-client/pull/814))

  
  Internal / Testing Changes
  - Blacken ([#772](https://github.com/googleapis/google-api-python-client/pull/722))
  - Move kokoro configs ([#832](https://github.com/googleapis/google-api-python-client/pull/832))
  
### v1.7.11
  Version 1.7.11

  Bugfix release

  Implementation Changes
  - Pass library and Python version in x-goog-api-client header ([#734](https://github.com/googleapis/google-api-python-client/pull/734))

  Documentation
  - Fix typo in filename used in 'docs/auth.md' ([#736](https://github.com/googleapis/google-api-python-client/pull/736))

  
### v1.7.10
  Version 1.7.10

  Bugfix release

  Implementation Changes
  - Decode service to utf-8 ([#723](https://github.com/googleapis/google-api-python-client/pull/723))
  - Use print() function in both Python2 and Python 3 ([#722](https://github.com/googleapis/google-api-python-client/pull/722))
  - Make http.MediaFileUpload close its file descriptor ([#600](https://github.com/googleapis/google-api-python-client/pull/600))
  - Never make 'body' required ([#718](https://github.com/googleapis/google-api-python-client/pull/718))

  Documentation
  - Add compatability check badges to README ([#691](https://github.com/googleapis/google-api-python-client/pull/691))
  - Regenerate docs ([#696](https://github.com/googleapis/google-api-python-client/pull/696), [#700](https://github.com/googleapis/google-api-python-client/pull/700))
  - Create index file for dynamically generated docs ([#702](https://github.com/googleapis/google-api-python-client/pull/702))
  - 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))

  Internal / Testing Changes
  - Fix http.py, lint errors, unit test ([#724](https://github.com/googleapis/google-api-python-client/pull/724))
  - tox.ini: Look for Python syntax errors and undefined names ([#721](https://github.com/googleapis/google-api-python-client/pull/721))


### v1.7.9
  Version 1.7.9

  Bugfix release
  - Remove Django Samples. ([#657](https://github.com/googleapis/google-api-python-client/pull/657))
  - Call request_orig with kwargs ([#658](https://github.com/googleapis/google-api-python-client/pull/658))

### v1.7.8
  Version 1.7.8

  Bugfix release
  - Convert '$' in method name to '_' ([#616](https://github.com/googleapis/google-api-python-client/pull/616))
  - Alias unitest2 import as unittest in test__auth.py ([#613](https://github.com/googleapis/google-api-python-client/pull/613))

### v1.7.7
  Version 1.7.7

    Bugfix release
    - Change xrange to range ([#601](https://github.com/googleapis/google-api-python-client/pull/601))
    - Typo in http.py exception message. ([#602](https://github.com/googleapis/google-api-python-client/pull/602))

    - Announce deprecation of Python 2.7 ([#603](https://github.com/googleapis/google-api-python-client/pull/603))
    - Updates documentation for stopping channel subscriptions ([#598](https://github.com/googleapis/google-api-python-client/pull/598))
    - Adding example for searchAppearance ([#414](https://github.com/googleapis/google-api-python-client/pull/414))

    - Add badges ([#455](https://github.com/googleapis/google-api-python-client/pull/455))

### v1.7.6
  Version 1.7.6

  Bugfix release

  - Add client-side limit for batch requests (#585)

### v1.7.5
  Version 1.7.5

  Bugfix release

  - Fix the client to respect the passed in developerKey and credentials

### v1.7.4
  Version 1.7.4

  Bugfix release

  - Catch ServerNotFoundError to retry the request (#532)

### v1.7.3
  Version 1.7.3

  Bugfix release

  - Make apiclient.sample_tools gracefully fail to import (#525).


### v1.7.2
  Version 1.7.2

  Bugfix release

  - Remove unnecessary check in apiclient/__ini__.py (#522).

### v1.7.1
  Version 1.7.1

  Bugfix release

  - Remove unnecessary check in setup.py (#518).

### v1.7.0
  Version 1.7.0

  This release drops the hard requirement on oauth2client and installs
  google-auth by default instead. oauth2client is still supported but will
  need to be explicitly installed.

  - Drop oauth2client dependency (#499)
  - Include tests in source distribution (#514)

### v1.6.7
  Version 1.6.7

  Bugfix release

  **Note**: The next release of this library will no longer directly depend on
    oauth2client. If you need to use oauth2client, you'll need to explicitly
    install it.

  - Make body optional for requests with no parameters. (#446)
  - Fix retying on socket.timeout. (#495)
  - Match travis matrix with tox testenv. (#498)
  - Remove oauth2client._helpers dependency. (#493)
  - Remove unused keyring test dependency. (#496)
  - discovery.py: remove unused oauth2client import. (#492)
  - Update README to reference GCP API client libraries. (#490)

### v1.6.6
  Version 1.6.6

  Bugfix release

  - Warn when constructing BatchHttpRequest using the legacy batch URI (#488)
  - Increase the default media chunksize to 100MB. (#482)
  - Remove unnecessary parsing of mime headers in HttpRequest.__init__ (#467)

### v1.6.5
  Version 1.6.5

  Bugfix release

  - Proactively refresh credentials when applying and treat a missing
    `access_token` as invalid. Note: This change reveals surprising behavior
    between default credentials and batches. If you allow
    `googleapiclient.discovery.build` to use default credentials *and* specify
    different credentials by providing `batch.execut()` with an explicit `http`
    argument, your individual requests will use the default credentials and
    *not* the credentials specified to the batch http. To avoid this, tell
    `build` explicitly not to use default credentials by specifying
    `build(..., http=httplib2.Http()`. (#469)
  - Remove mutual exclusivity check for developerKey and credentials (#465)
  - Handle unknown media length. (#406)
  - Handle variant error format gracefully. (#459)
  - Avoid testing against Django >= 2.0.0 on Python 2. (#460)

### v1.6.4
  Version 1.6.4

  Bugfix release

  - Warn when google-auth credentials are used but google-auth-httplib2 isn't available. (#443)

### v1.6.3
  Version 1.6.3

  Bugfix release

  - Add notification of maintenance mode to README. (#410)
  - Fix generation of methods with abnormal page token conventions. (#338)
  - Raise ValueError is credentials and developerKey are both specified. (#358)
  - Re-generate documentation. (#364, #373, #401)
  - Fix method signature documentation for multiline required parameters. (#374)
  - Fix ZeroDivisionError in MediaDownloadProgress.progress. (#377)
  - Fix dead link to WebTest in README. (#378)
  - Fix details missing in googleapiclient.errors.HttpError. (#412)
  - Don't treat httplib2.Credentials as oauth credentials. (#425)
  - Various fixes to the Django sample. (#413)

### v1.6.2
  Version 1.6.2

  Bugfix release

  - Fixed a bug where application default credentials would still be used even
    when a developerKey was specified. (#347)
  - Official support for Python 3.5 and 3.6. (#341)
 
### v1.6.1
  Version 1.6.1

  Bugfix release

  - Fixed a bug where using google-auth with scoped credentials would fail. (#328)

### v1.6.0
  Version 1.6.0

  Release to drop support for Python 2.6 and add support for google-auth.

  - Support for Python 2.6 has been dropped. (#319)
  - The credentials argument to discovery.build and discovery.build_from_document
    can be either oauth2client credentials or google-auth credentials. (#319)
  - discovery.build and discovery.build_from_document now unambiguously use the
    http argument to make all requests, including the request for the discovery
    document. (#319)
  - The http and credentials arguments to discovery.build and
    discovery.build_from_document are now mutually exclusive, eliminating a
    buggy edge case. (#319)
  - If neither http or credentials is specified to discovery.build and
    discovery.build_from_document, then Application Default Credentials will
    be used. The library prefers google-auth for this if it is available, but
    can also use oauth2client's implementation. (#319)
  - Fixed resumable upload failure when receiving a 308 response. (#312)
  - Clarified the support versions of Python 3. (#316)

### v1.5.5
  Version 1.5.5

  Bugfix release

  - Allow explicit MIME type specification with media_mime_type keyword argument.
  - Fix unprintable representation of BatchError with default constructor. (#165)
  - Refresh all discovery docs, not just the preferred ones. (#298)
  - Update minimum httplib2 dependency to >=0.9.2.

### v1.5.4
  Version 1.5.4

  Bugfix release

  - Properly handle errors when the API returns a mapping or sequence. (#289)
  - Upgrade to unified uritemplate 3.0.0. (#293)
  - Allow oauth2client 4.0.0, with the caveat that file-based discovery
    caching is disabled.

### v1.5.3
  Version 1.5.3

  Bugfix release

  - Fixed import error with oauth2client >= 3.0.0. (#270)

### v1.5.2
  Version 1.5.2

  Bugfix release

  - Allow using oauth2client >= 1.5.0, < 4.0.0. (#265)
  - Fix project_id argument description. (#257)
  - Retry chunk uploaded on rate limit exceeded errors. (#255)
  - Obtain access token if necessary in BatchHttpRequest.execute(). (#232)
  - Warn when running tests using HttpMock without having a cache. (#261)

### v1.5.1
  Version 1.5.1

  Bugfix release

  - Allow using versions of oauth2client < 2.0.0. (#197)
  - Check both current and new API discovery URL. (#202)
  - Retry http requests on connection errors and timeouts. (#218)
  - Retry http requests on rate limit responses. (#201)
  - Import guards for ssl (for Google App Engine). (#220)
  - Use named loggers instead of the root logger. (#206)
  - New search console example. (#212)

### v1.5.0
  Version 1.5.0

  Release to support oauth2client >= 2.0.0.

  - Fix file stream recognition in Python 3 (#141)
  - Fix non-resumable binary uploads in Python 3 (#147)
  - Default to 'octet-stream' if mimetype detection fails (#157)
  - Handle SSL errors with retries (#160)
  - Fix incompatibility with oauth2client v2.0.0 (#182)

### v1.4.2
  Version 1.4.2

  Add automatic caching for the discovery docs.

### v1.4.1
  Version 1.4.1

  Add the googleapiclient.discovery.Resource.new_batch_http_request method.

### v1.4.0
  Version 1.4.0

  Python 3 support.

### v1.3.2
  Version 1.3.2

  Small bugfix release.

  - Fix an infinite loop for downloading small files.
  - Fix a unicode error in error encoding.
  - Better handling of `content-length` in media requests.
  - Add support for methodPath entries containing colon.

### v1.3.1
  Version 1.3.1

  Quick release for a fix around aliasing in v1.3.

### v1.3
  Version 1.3

  Add support for the Google Application Default Credentials.
  Require python 2.6 as a minimum version.
  Update several API samples.
  Finish splitting out oauth2client repo and update tests.
  Various doc cleanup and bugfixes.

  Two important notes:
    * We've added `googleapiclient` as the primary suggested import
      name, and kept `apiclient` as an alias, in order to have a more
      appropriate import name. At some point, we will remove `apiclient`
      as an alias.
    * Due to an issue around in-place upgrades for Python packages,
      it's not possible to do an upgrade from version 1.2 to 1.3. Instead,
      setup.py attempts to detect this and prevents it. Simply remove
      the previous version and reinstall to fix this.

### v1.2
  Version 1.2

  The use of the gflags library is now deprecated, and is no longer a
    dependency. If you are still using the oauth2client.tools.run() function
    then include gflags as a dependency of your application or switch to
    oauth2client.tools.run_flow.
  Samples have been updated to use the new apiclient.sample_tools, and no
    longer use gflags.
  Added support for the experimental Object Change Notification, as found in
    the Cloud Storage API.
  The oauth2client App Engine decorators are now threadsafe.

  - Use the following redirects feature of httplib2 where it returns the
    ultimate URL after a series of redirects to avoid multiple hops for every
    resumable media upload request.
  - Updated AdSense Management API samples to V1.3
  - Add option to automatically retry requests.
  - Ability to list registered keys in multistore_file.
  - User-agent must contain (gzip).
  - The 'method' parameter for httplib2 is not positional. This would cause
    spurious warnings in the logging.
  - Making OAuth2Decorator more extensible. Fixes Issue 256.
  - Update AdExchange Buyer API examples to version v1.2.


### v1.1
  Version 1.1

  Add PEM support to SignedJWTAssertionCredentials (used to only support
  PKCS12 formatted keys). Note that if you use PEM formatted keys you can use
  PyCrypto 2.6 or later instead of OpenSSL.

  Allow deserialized discovery docs to be passed to build_from_document().

  - Make ResumableUploadError derive from HttpError.
  - Many changes to move all the closures in apiclient.discovery into real
  -  classes and objects.
  - Make from_json behavior inheritable.
  - Expose the full token response in OAuth2Client and OAuth2Decorator.
  - Handle reasons that are None.
  - Added support for NDB based storing of oauth2client objects.
  - Update grant_type for AssertionCredentials.
  - Adding a .revoke() to Credentials. Closes issue 98.
  - Modify oauth2client.multistore_file to store and retrieve credentials
    using an arbitrary key.
  - Don't accept 403 challenges by default for auth challenges.
  - Set httplib2.RETRIES to 1.
  - Consolidate handling of scopes.
  - Upgrade to httplib2 version 0.8.
  - Allow setting the response_type in OAuth2WebServerFlow.
  - Ensure that dataWrapper feature is checked before using the 'data' value.
  - HMAC verification does not use a constant time algorithm.

### v1.0
 Version 1.0

  - Changes to the code for running tests and building releases.

### v1.0c3
 Version 1.0 Release Candidate 3

  - In samples and oauth2 decorator, escape untrusted content before displaying it.
  - Do not allow credentials files to be symlinks.
  - Add XSRF protection to oauth2decorator callback 'state'.
  - Handle uploading chunked media by stream.
  - Handle passing streams directly to httplib2.
  - Add support for Google Compute Engine service accounts.
  - Flows no longer need to be saved between uses.
  - Change GET to POST if URI is too long. Fixes issue #96.
  - Add a keyring based Storage.
  - More robust picking up JSON error responses.
  - Make batch errors align with normal errors.
  - Add a Google Compute sample.
  - Token refresh to work with 'old' GData API
  - Loading of client_secrets JSON file backed by a cache.
  - Switch to new discovery path parameters.
  - Add support for additionalProperties when printing schema'd objects.
  - Fix media upload parameter names. Reviewed in http://codereview.appspot.com/6374062/
  - oauth2client support for URL-encoded format of exchange token response (e.g.  Facebook)
  - Build cleaner and easier to read docs for dynamic surfaces.

### v1.0c2
 Version 1.0 Release Candidate 2

  - Parameter values of None should be treated as missing. Fixes issue #144.
  - Distribute the samples separately from the library source. Fixes issue #155.
  - Move all remaining samples over to client_secrets.json. Fixes issue #156.
  - Make locked_file.py understand win32file primitives for better awesomeness.

### v1.0c1
 Version 1.0 Release Candidate 1

 - Documentation for the library has switched to epydoc:
     http://google-api-python-client.googlecode.com/hg/docs/epy/index.html
 - Many improvements for media support:
   * Added media download support, including resumable downloads.
   * Better handling of streams that report their size as 0.
   * Update Media Upload to include io.Base and also fix some bugs.
 - OAuth bug fixes and improvements.
   * Remove OAuth 1.0 support.
   * Added credentials_from_code and credentials_from_clientsecrets_and_code.
   * Make oauth2client support Windows-friendly locking.
   * Fix bug in StorageByKeyName.
   * Fix None handling in Django fields. Reviewed in http://codereview.appspot.com/6298084/. Fixes issue #128.
 - Add epydoc generated docs. Reviewed in http://codereview.appspot.com/6305043/
 - Move to PEP386 compliant version numbers.
 - New and updated samples
   * Ad Exchange Buyer API v1 code samples.
   * Automatically generate Samples wiki page from README files.
   * Update Google Prediction samples.
   * Add a Tasks sample that demonstrates Service accounts.
   * new analytics api samples. Reviewed here: http://codereview.appspot.com/5494058/
 - Convert all inline samples to the Farm API for consistency.

### v1.0beta8
 - Updated meda upload support.
 - Many fixes for batch requests.
 - Better handling for requests that don't require a body.
 - Fix issues with Google App Engine Python 2.7 runtime.
 - Better support for proxies.
 - All Storages now have a .delete() method.
 - Important changes which might break your code:
    * apiclient.anyjson has moved to oauth2client.anyjson.
    * Some calls, for example, taskqueue().lease() used to require a parameter
      named body. In this new release only methods that really need to send a body
      require a body parameter, and so you may get errors about an unknown
      'body' parameter in your call. The solution is to remove the unneeded
      body={} parameter.

### v1.0beta7
 - Support for batch requests.  http://code.google.com/p/google-api-python-client/wiki/Batch
 - Support for media upload.  http://code.google.com/p/google-api-python-client/wiki/MediaUpload
 - Better handling for APIs that return something other than JSON.
 - Major cleanup and consolidation of the samples.
 - Bug fixes and other enhancements:
   72  Defect  Appengine OAuth2Decorator: Convert redirect address to string
   22  Defect  Better error handling for unknown service name or version
   48  Defect  StorageByKeyName().get() has side effects
   50  Defect  Need sample client code for Admin Audit API
   28  Defect  better comments for app engine sample   Nov 9
   63  Enhancement Let OAuth2Decorator take a list of scope
