# Changelog

## [2.20.1](https://github.com/googleapis/gax-java/compare/v2.20.0...v2.20.1) (2022-12-02)


### Bug Fixes

* **deps:** Update dependency com.google.api.grpc:grpc-google-common-protos to v2.11.0 ([#1906](https://github.com/googleapis/gax-java/issues/1906)) ([d27d848](https://github.com/googleapis/gax-java/commit/d27d8485d3da4de00253c1f5df435516d1af8d8e))
* **deps:** Update dependency com.google.api.grpc:proto-google-common-protos to v2.11.0 ([#1907](https://github.com/googleapis/gax-java/issues/1907)) ([7504e37](https://github.com/googleapis/gax-java/commit/7504e37163d39d10bd8388101e9ce614e2839aca))
* **deps:** Update dependency com.google.cloud:google-cloud-shared-config to v1.5.5 ([#1911](https://github.com/googleapis/gax-java/issues/1911)) ([772c221](https://github.com/googleapis/gax-java/commit/772c2213dfa10120b6efccf411550e77df3f9de7))
* **deps:** Update dependency com.google.protobuf:protobuf-bom to v3.21.10 ([#1912](https://github.com/googleapis/gax-java/issues/1912)) ([f508f24](https://github.com/googleapis/gax-java/commit/f508f245a59b2086c4b56d55f0cb25e9e7c29136))
* Watchdog controls lifecycle of the future, not executor ([#1890](https://github.com/googleapis/gax-java/issues/1890)) ([bd1714e](https://github.com/googleapis/gax-java/commit/bd1714e484eef8aa8f09632eee976c9da26da5f1))

## [2.20.0](https://github.com/googleapis/gax-java/compare/v2.19.5...v2.20.0) (2022-11-30)


### Features

* De-experiment google-c2p resolver ([#1896](https://github.com/googleapis/gax-java/issues/1896)) ([66b348b](https://github.com/googleapis/gax-java/commit/66b348b9fd817e0986c67eb02e0609646fb822b3))
* Next release from main branch is 2.20.0 ([#1867](https://github.com/googleapis/gax-java/issues/1867)) ([c7aeed3](https://github.com/googleapis/gax-java/commit/c7aeed3362352b77f86749e86ccebd1d1390de48))


### Bug Fixes

* **deps:** Update dependency com.google.auth:google-auth-library-credentials to v1.13.0 ([#1881](https://github.com/googleapis/gax-java/issues/1881)) ([d059db7](https://github.com/googleapis/gax-java/commit/d059db7131c6866c9782c0c3ac39b980b13911df))
* **deps:** Update dependency com.google.auth:google-auth-library-oauth2-http to v1.13.0 ([#1882](https://github.com/googleapis/gax-java/issues/1882)) ([67af68a](https://github.com/googleapis/gax-java/commit/67af68a02198360dad2941eefa9897628342ee60))
* **deps:** Update dependency io.grpc:grpc-bom to v1.51.0 ([#1889](https://github.com/googleapis/gax-java/issues/1889)) ([85af72c](https://github.com/googleapis/gax-java/commit/85af72c4159a416e7026cf47a0d8e4fc5ef23be0))
* **deps:** Update dependency org.mockito:mockito-core to v4.9.0 ([#1879](https://github.com/googleapis/gax-java/issues/1879)) ([9505cb1](https://github.com/googleapis/gax-java/commit/9505cb1d89de8f6fc47f5f4a7a083129b4ffc58d))

## [2.19.5](https://github.com/googleapis/gax-java/compare/v2.19.4...v2.19.5) (2022-11-07)


### Bug Fixes

* **deps:** Update dependency com.google.cloud:google-cloud-shared-config to v1.5.4 ([#1840](https://github.com/googleapis/gax-java/issues/1840)) ([8f7a38c](https://github.com/googleapis/gax-java/commit/8f7a38ca0a9d187af49649adf7d96ef97c9e9915))
* **deps:** Update dependency com.google.code.gson:gson to v2.10 ([#1845](https://github.com/googleapis/gax-java/issues/1845)) ([816e666](https://github.com/googleapis/gax-java/commit/816e6665e06bc65cbaf2703617342c8db9780115))
* **deps:** Update dependency com.google.protobuf:protobuf-bom to v3.21.9 ([#1850](https://github.com/googleapis/gax-java/issues/1850)) ([f270ac4](https://github.com/googleapis/gax-java/commit/f270ac45b6a21d531eb8bd75157f2784fcad90fc))
* **deps:** Update dependency io.grpc:grpc-bom to v1.50.2 ([#1842](https://github.com/googleapis/gax-java/issues/1842)) ([11c4a7c](https://github.com/googleapis/gax-java/commit/11c4a7caf31de256f29678de829f11f9558adcfd))
* **deps:** Update dependency org.mockito:mockito-core to v4.8.1 ([#1843](https://github.com/googleapis/gax-java/issues/1843)) ([bf67fc2](https://github.com/googleapis/gax-java/commit/bf67fc26236286d72b9ddcb2e66113fdac74b51a))
* **deps:** Update dependency org.threeten:threetenbp to v1.6.4 ([#1857](https://github.com/googleapis/gax-java/issues/1857)) ([a9e2374](https://github.com/googleapis/gax-java/commit/a9e23744a40f6e5484f1834824515f8ae952873c))


### Dependencies

* update dependency com.google.api:api-common to 2.2.2 ([ad7ad1c](https://github.com/googleapis/gax-java/commit/ad7ad1c5b450cd0569ff34d3b553dd1493fa462c))
* update dependency com.google.api.grpc:grpc-google-common-protos to 2.10.0 ([ad7ad1c](https://github.com/googleapis/gax-java/commit/ad7ad1c5b450cd0569ff34d3b553dd1493fa462c))
* Update dependency com.google.api.grpc:proto-google-common-protos to 2.10.0 ([ad7ad1c](https://github.com/googleapis/gax-java/commit/ad7ad1c5b450cd0569ff34d3b553dd1493fa462c))
* update dependency com.google.auth:google-auth-library-credentials to 1.12.1 ([ad7ad1c](https://github.com/googleapis/gax-java/commit/ad7ad1c5b450cd0569ff34d3b553dd1493fa462c))
* update dependency com.google.auth:google-auth-library-oauth2-http to 1.12.1 ([ad7ad1c](https://github.com/googleapis/gax-java/commit/ad7ad1c5b450cd0569ff34d3b553dd1493fa462c))
* update dependency com.google.http-client:google-http-client to 1.42.3 ([ad7ad1c](https://github.com/googleapis/gax-java/commit/ad7ad1c5b450cd0569ff34d3b553dd1493fa462c))
* update dependency com.google.http-client:google-http-client-gson to 1.42.3 ([ad7ad1c](https://github.com/googleapis/gax-java/commit/ad7ad1c5b450cd0569ff34d3b553dd1493fa462c))

## [2.19.4](https://github.com/googleapis/gax-java/compare/v2.19.3...v2.19.4) (2022-10-19)


### Bug Fixes

* Scope the throttling metric to exclude element size calculation ([#1835](https://github.com/googleapis/gax-java/issues/1835)) ([0287f83](https://github.com/googleapis/gax-java/commit/0287f83f9cabbb9dff6cb7e8ea3068ccc1ab12d9))

## [2.19.3](https://github.com/googleapis/gax-java/compare/v2.19.2...v2.19.3) (2022-10-19)


### Bug Fixes

* **deps:** Update dependency com.google.auth:google-auth-library-credentials to v1.12.0 ([#1822](https://github.com/googleapis/gax-java/issues/1822)) ([ad139e4](https://github.com/googleapis/gax-java/commit/ad139e45d29bd0fbf6b6f080b12ef9a987fa2e0d))
* **deps:** Update dependency com.google.auth:google-auth-library-credentials to v1.12.1 ([#1830](https://github.com/googleapis/gax-java/issues/1830)) ([d726921](https://github.com/googleapis/gax-java/commit/d7269210767a92e94568712920b34064278dddbc))
* **deps:** Update dependency com.google.auth:google-auth-library-oauth2-http to v1.12.0 ([#1823](https://github.com/googleapis/gax-java/issues/1823)) ([c6180ca](https://github.com/googleapis/gax-java/commit/c6180cacdaf4d191098e499eff0f6b014e730654))
* **deps:** Update dependency com.google.auth:google-auth-library-oauth2-http to v1.12.1 ([#1831](https://github.com/googleapis/gax-java/issues/1831)) ([227c8af](https://github.com/googleapis/gax-java/commit/227c8af66c95e86e8d90e5de9dd3f429895b44cc))
* **deps:** Update dependency com.google.protobuf:protobuf-bom to v3.21.8 ([#1828](https://github.com/googleapis/gax-java/issues/1828)) ([462a100](https://github.com/googleapis/gax-java/commit/462a1009a84a046da28298ad10f23cadfb7a61ea))
* **deps:** Update dependency io.grpc:grpc-bom to v1.50.1 ([#1819](https://github.com/googleapis/gax-java/issues/1819)) ([75600ea](https://github.com/googleapis/gax-java/commit/75600eab90ec2e33378c00824535763f5df87b24))
* **deps:** Update dependency org.graalvm.sdk:graal-sdk to v22.2.0.1 ([#1817](https://github.com/googleapis/gax-java/issues/1817)) ([a8f8ae2](https://github.com/googleapis/gax-java/commit/a8f8ae2b5e035dc08ce161134ec2e441e6c2d4fc))
* **deps:** Update dependency org.threeten:threetenbp to v1.6.3 ([#1821](https://github.com/googleapis/gax-java/issues/1821)) ([3bca572](https://github.com/googleapis/gax-java/commit/3bca572486e7780ff8fb8b581aa691738885401c))
* **java:** Address ClassNotFoundException in GraalVM 22.2.0 ([#1816](https://github.com/googleapis/gax-java/issues/1816)) ([ae6e8be](https://github.com/googleapis/gax-java/commit/ae6e8beb6ed5525504df1a3bb7ce71bdf114a233))
* **java:** Address reachability issues in native image compilation with version 22.2.0 ([#1815](https://github.com/googleapis/gax-java/issues/1815)) ([0f3215f](https://github.com/googleapis/gax-java/commit/0f3215f98bfc5def4e608c780d91953900e17946))

## [2.19.2](https://github.com/googleapis/gax-java/compare/v2.19.1...v2.19.2) (2022-10-02)


### Bug Fixes

* **deps:** Update dependency com.google.api.grpc:grpc-google-common-protos to v2.9.3 ([#1797](https://github.com/googleapis/gax-java/issues/1797)) ([50c6a75](https://github.com/googleapis/gax-java/commit/50c6a75db05537b873d0d143fdccab82f46bc644))
* **deps:** Update dependency com.google.api.grpc:grpc-google-common-protos to v2.9.4 ([#1800](https://github.com/googleapis/gax-java/issues/1800)) ([6d4e62d](https://github.com/googleapis/gax-java/commit/6d4e62de5c2303d7c31faa046966b8842cbcfe53))
* **deps:** Update dependency com.google.api.grpc:grpc-google-common-protos to v2.9.5 ([#1805](https://github.com/googleapis/gax-java/issues/1805)) ([1f9fe38](https://github.com/googleapis/gax-java/commit/1f9fe38e3b152dad50a026adea8ea9b488acf786))
* **deps:** Update dependency com.google.api.grpc:grpc-google-common-protos to v2.9.6 ([#1810](https://github.com/googleapis/gax-java/issues/1810)) ([a206f46](https://github.com/googleapis/gax-java/commit/a206f46a095812c77cce1085a546692ba871deef))
* **deps:** Update dependency com.google.api.grpc:proto-google-common-protos to v2.9.3 ([#1798](https://github.com/googleapis/gax-java/issues/1798)) ([8a1c732](https://github.com/googleapis/gax-java/commit/8a1c732bf938818a40c907b5656025cac52b9645))
* **deps:** Update dependency com.google.api.grpc:proto-google-common-protos to v2.9.4 ([#1801](https://github.com/googleapis/gax-java/issues/1801)) ([0e2a405](https://github.com/googleapis/gax-java/commit/0e2a4053d945f4d4da55f8b5486df6dbcab66c2f))
* **deps:** Update dependency com.google.api.grpc:proto-google-common-protos to v2.9.5 ([#1806](https://github.com/googleapis/gax-java/issues/1806)) ([da9dff8](https://github.com/googleapis/gax-java/commit/da9dff8a9cd2db63b396df42830c679b3555187d))
* **deps:** Update dependency com.google.api.grpc:proto-google-common-protos to v2.9.6 ([#1811](https://github.com/googleapis/gax-java/issues/1811)) ([bb5dffa](https://github.com/googleapis/gax-java/commit/bb5dffa51de48a6f97304a50c4a596e21673bb6e))
* **deps:** Update dependency com.google.protobuf:protobuf-bom to v3.21.6 ([#1792](https://github.com/googleapis/gax-java/issues/1792)) ([d94482e](https://github.com/googleapis/gax-java/commit/d94482ef19f45b6dfbe775d7facf3467b09cb194))
* **deps:** Update dependency com.google.protobuf:protobuf-bom to v3.21.7 ([#1803](https://github.com/googleapis/gax-java/issues/1803)) ([534250b](https://github.com/googleapis/gax-java/commit/534250bdb165576bea7793a61b39c11312e4ec31))
* **deps:** Update dependency io.grpc:grpc-bom to v1.49.1 ([#1796](https://github.com/googleapis/gax-java/issues/1796)) ([9cb8d36](https://github.com/googleapis/gax-java/commit/9cb8d3640ff40f30f8dae2efd7341578fd449a7d))
* **deps:** Update dependency io.grpc:grpc-bom to v1.49.2 ([#1808](https://github.com/googleapis/gax-java/issues/1808)) ([b27f15d](https://github.com/googleapis/gax-java/commit/b27f15d277f74bc11e10e6e25b588b1767f8e5ee))
* **deps:** Update dependency org.threeten:threetenbp to v1.6.2 ([#1799](https://github.com/googleapis/gax-java/issues/1799)) ([6a45067](https://github.com/googleapis/gax-java/commit/6a450679302c611960710f5a98e32d278bda2b60))
* remove --allow-incomplete-classpath which has been deprecated as of Graalvm 22.1.0 ([e5c739c](https://github.com/googleapis/gax-java/commit/e5c739c093067f6f2340f873ed96dfea8ef9b7d6))
* Remove --allow-incomplete-classpath which was deprecated as of Graalvm 22.1.0 ([#1794](https://github.com/googleapis/gax-java/issues/1794)) ([e5c739c](https://github.com/googleapis/gax-java/commit/e5c739c093067f6f2340f873ed96dfea8ef9b7d6))

## [2.19.1](https://github.com/googleapis/gax-java/compare/v2.19.0...v2.19.1) (2022-09-13)


### Bug Fixes

* **deps:** Update dependency com.google.auth:google-auth-library-credentials to v1.11.0 ([#1786](https://github.com/googleapis/gax-java/issues/1786)) ([4889ff7](https://github.com/googleapis/gax-java/commit/4889ff7ccd3ae13052c4b7009ce81bcd88d650a9))
* **deps:** Update dependency com.google.auth:google-auth-library-oauth2-http to v1.11.0 ([#1787](https://github.com/googleapis/gax-java/issues/1787)) ([4f5cd42](https://github.com/googleapis/gax-java/commit/4f5cd428f416e7d43f3268de32e5314ac3317460))
* **deps:** Update dependency io.grpc:grpc-bom to v1.49.0 ([#1779](https://github.com/googleapis/gax-java/issues/1779)) ([037e131](https://github.com/googleapis/gax-java/commit/037e131ad46690f6d1badb45dc2f31ca981c1348))
* **deps:** Update dependency org.mockito:mockito-core to v4.8.0 ([#1785](https://github.com/googleapis/gax-java/issues/1785)) ([f2989bd](https://github.com/googleapis/gax-java/commit/f2989bd706e7b3c524d2f0b8ceaa1d576dd7f751))
* **httpjson:** Handle message derived query params ([#1784](https://github.com/googleapis/gax-java/issues/1784)) ([4524fad](https://github.com/googleapis/gax-java/commit/4524fadbe688d96a7c5e715ab88b542b4bb3891a))

## [2.19.0](https://github.com/googleapis/gax-java/compare/v2.18.7...v2.19.0) (2022-08-22)


### Features

* Add numeric enum support. ([#1743](https://github.com/googleapis/gax-java/issues/1743)) ([3f7628e](https://github.com/googleapis/gax-java/commit/3f7628e27495806675ec8c8521e9c33725908936))


### Bug Fixes

* **deps:** update dependency com.google.auth:google-auth-library-credentials to v1.10.0 ([#1768](https://github.com/googleapis/gax-java/issues/1768)) ([3f2188d](https://github.com/googleapis/gax-java/commit/3f2188d83751272de1a4c3db85e95d79b690e3fc))
* **deps:** update dependency com.google.auth:google-auth-library-credentials to v1.9.0 ([#1765](https://github.com/googleapis/gax-java/issues/1765)) ([103db3c](https://github.com/googleapis/gax-java/commit/103db3cc06cfaafeda1a043b6e19e668083ed782))
* **deps:** update dependency com.google.auth:google-auth-library-oauth2-http to v1.10.0 ([#1769](https://github.com/googleapis/gax-java/issues/1769)) ([0b1eb92](https://github.com/googleapis/gax-java/commit/0b1eb924aefc79b6fc4757d253d4c8a93a094c84))
* **deps:** update dependency com.google.auth:google-auth-library-oauth2-http to v1.9.0 ([#1766](https://github.com/googleapis/gax-java/issues/1766)) ([2677f07](https://github.com/googleapis/gax-java/commit/2677f07a8e20c82403f60c6aa1f9d46c1274b37f))
* **deps:** update dependency com.google.code.gson:gson to v2.9.1 ([#1757](https://github.com/googleapis/gax-java/issues/1757)) ([ea2a075](https://github.com/googleapis/gax-java/commit/ea2a07504899703e4fcd428f31d615fb208a50aa))
* **deps:** update dependency com.google.protobuf:protobuf-bom to v3.21.5 ([#1772](https://github.com/googleapis/gax-java/issues/1772)) ([d7a48d1](https://github.com/googleapis/gax-java/commit/d7a48d1886a3f39acb26580d1d35a288102af436))
* **deps:** update dependency io.grpc:grpc-bom to v1.48.1 ([#1763](https://github.com/googleapis/gax-java/issues/1763)) ([e5e4232](https://github.com/googleapis/gax-java/commit/e5e423200260c210071ce626612d7e54af0695e4))
* **deps:** update dependency org.graalvm.sdk:graal-sdk to v22.2.0 ([#1740](https://github.com/googleapis/gax-java/issues/1740)) ([ded44a6](https://github.com/googleapis/gax-java/commit/ded44a66d3de8a2678fa4c5efe8b3ded4484de2b))
* **deps:** update dependency org.mockito:mockito-core to v4.7.0 ([#1774](https://github.com/googleapis/gax-java/issues/1774)) ([29678c8](https://github.com/googleapis/gax-java/commit/29678c805855c97b4c26f0156923a41820411a10))
* **deps:** update dependency org.threeten:threetenbp to v1.6.1 ([#1773](https://github.com/googleapis/gax-java/issues/1773)) ([d2c84e6](https://github.com/googleapis/gax-java/commit/d2c84e6fb22a2752b68fecc9b6c9e480f398b87c))
* **test:** testThrottlingBlocking flakyness fix ([#1775](https://github.com/googleapis/gax-java/issues/1775)) ([e69393c](https://github.com/googleapis/gax-java/commit/e69393c32ffe32306acc8f495b1f41198d86f507))


### Documentation

* explaining UNIX environment is required ([#1760](https://github.com/googleapis/gax-java/issues/1760)) ([1d31e90](https://github.com/googleapis/gax-java/commit/1d31e90e70867cb4b896d7a393f9271788b6371f))

## [2.18.7](https://github.com/googleapis/gax-java/compare/v2.18.6...v2.18.7) (2022-08-01)


### Bug Fixes

* **java:** initialize netty class at run time ([#1758](https://github.com/googleapis/gax-java/issues/1758)) ([e1d6eb9](https://github.com/googleapis/gax-java/commit/e1d6eb979da21e9795b3c3d2fffb9200ee43ed15))

## [2.18.6](https://github.com/googleapis/gax-java/compare/v2.18.5...v2.18.6) (2022-07-29)


### Bug Fixes

* **deps:** update dependency com.google.cloud:google-cloud-shared-config to v1.5.2 ([#1746](https://github.com/googleapis/gax-java/issues/1746)) ([8163f8a](https://github.com/googleapis/gax-java/commit/8163f8aa822881d8cd6f1f72aca66b50fbd2e66a))
* **deps:** update dependency com.google.cloud:google-cloud-shared-config to v1.5.3 ([#1748](https://github.com/googleapis/gax-java/issues/1748)) ([f2b7cb2](https://github.com/googleapis/gax-java/commit/f2b7cb2b6b783095547b798da054b6879d3764f1))
* **deps:** update dependency com.google.protobuf:protobuf-bom to v3.21.4 ([#1747](https://github.com/googleapis/gax-java/issues/1747)) ([0b2b1ef](https://github.com/googleapis/gax-java/commit/0b2b1efcf38ff9f253e426af8c21722d646c8627))
* Exclude error_prone_annotations from guava. ([#1750](https://github.com/googleapis/gax-java/issues/1750)) ([e1c91a4](https://github.com/googleapis/gax-java/commit/e1c91a40bcf413af5210da1d43e409d44dcf13bd))

## [2.18.5](https://github.com/googleapis/gax-java/compare/v2.18.4...v2.18.5) (2022-07-25)


### Bug Fixes

* **deps:** update dependency com.google.api.grpc:grpc-google-common-protos to v2.9.2 ([#1735](https://github.com/googleapis/gax-java/issues/1735)) ([d7f00be](https://github.com/googleapis/gax-java/commit/d7f00beae84c093a732982aaeedd7d6a8752e52c))
* **deps:** update dependency com.google.api.grpc:proto-google-common-protos to v2.9.2 ([#1736](https://github.com/googleapis/gax-java/issues/1736)) ([ee3d4ad](https://github.com/googleapis/gax-java/commit/ee3d4ad29a84da9113790dd03b8f0bbd89625a7c))
* **deps:** update dependency com.google.auth:google-auth-library-credentials to v1.8.1 ([#1737](https://github.com/googleapis/gax-java/issues/1737)) ([24bc629](https://github.com/googleapis/gax-java/commit/24bc629aa1ffc0513ba766858935ead7ab18bf9e))
* **deps:** update dependency com.google.auth:google-auth-library-oauth2-http to v1.8.1 ([#1738](https://github.com/googleapis/gax-java/issues/1738)) ([1030eb6](https://github.com/googleapis/gax-java/commit/1030eb6b1df5008f304d0989fd991f88f148cc2a))
* **deps:** update dependency com.google.cloud:google-cloud-shared-config to v1.5.1 ([#1726](https://github.com/googleapis/gax-java/issues/1726)) ([bdffb86](https://github.com/googleapis/gax-java/commit/bdffb86c05235c4ad783ab7afd28724386465569))
* **deps:** update dependency com.google.http-client:google-http-client-bom to v1.42.2 ([#1727](https://github.com/googleapis/gax-java/issues/1727)) ([030e9b3](https://github.com/googleapis/gax-java/commit/030e9b33ec6bd98122fba59a1bc39513444c3511))
* **deps:** update dependency com.google.protobuf:protobuf-bom to v3.21.3 ([#1742](https://github.com/googleapis/gax-java/issues/1742)) ([9215e1f](https://github.com/googleapis/gax-java/commit/9215e1f58ebcc6eccef42c53981ab90865fe366a))
* **deps:** update dependency io.grpc:grpc-bom to v1.48.0 ([#1741](https://github.com/googleapis/gax-java/issues/1741)) ([4735a4b](https://github.com/googleapis/gax-java/commit/4735a4b29b686ba510a25ad8458142870e50b1c5))
* remove initialization of logger classes which is conflicting with slf4j ([#1733](https://github.com/googleapis/gax-java/issues/1733)) ([ccaf265](https://github.com/googleapis/gax-java/commit/ccaf26537a189dacb9b3bb58760a4c6f6cd48a87))

## [2.18.4](https://github.com/googleapis/gax-java/compare/v2.18.3...v2.18.4) (2022-07-11)


### Bug Fixes

* Build routing header params map with the last entry if multiple entries have the same key. ([#1729](https://github.com/googleapis/gax-java/issues/1729)) ([878bcf2](https://github.com/googleapis/gax-java/commit/878bcf2da215e14d9e3bcb4717b85d867f149cee))
* **deps:** update dependency com.google.api.grpc:grpc-google-common-protos to v2.9.1 ([#1721](https://github.com/googleapis/gax-java/issues/1721)) ([bef0af7](https://github.com/googleapis/gax-java/commit/bef0af71b4d1923980fe7a64cf1ac4435463e2db))
* **deps:** update dependency com.google.api.grpc:proto-google-common-protos to v2.9.1 ([#1722](https://github.com/googleapis/gax-java/issues/1722)) ([7034ead](https://github.com/googleapis/gax-java/commit/7034ead57d990b8e2382ff015ba47fc97cdf271b))
* **deps:** update dependency com.google.auth:google-auth-library-credentials to v1.8.0 ([#1723](https://github.com/googleapis/gax-java/issues/1723)) ([b062d6d](https://github.com/googleapis/gax-java/commit/b062d6d861fa7162f0f9e8287c988802e4a194c5))
* **deps:** update dependency com.google.auth:google-auth-library-oauth2-http to v1.8.0 ([#1724](https://github.com/googleapis/gax-java/issues/1724)) ([bd8ee04](https://github.com/googleapis/gax-java/commit/bd8ee04f202b7faa7f13ccb868e574055ffb3c88))

## [2.18.3](https://github.com/googleapis/gax-java/compare/v2.18.2...v2.18.3) (2022-06-27)


### Bug Fixes

* **deps:** update dependency com.google.api.grpc:grpc-google-common-protos to v2.9.0 ([#1706](https://github.com/googleapis/gax-java/issues/1706)) ([eb195c0](https://github.com/googleapis/gax-java/commit/eb195c000b19472fc15a2586320f4421b6ee92a3))
* **deps:** update dependency com.google.api.grpc:proto-google-common-protos to v2.9.0 ([#1708](https://github.com/googleapis/gax-java/issues/1708)) ([0a606f5](https://github.com/googleapis/gax-java/commit/0a606f5d6f40a44b153f186d824e3a731586bb49))
* **deps:** update dependency com.google.cloud:google-cloud-shared-config to v1.5.0 ([#1711](https://github.com/googleapis/gax-java/issues/1711)) ([eb11bb0](https://github.com/googleapis/gax-java/commit/eb11bb027cde3e4abc8049a04056907de79386ab))
* **deps:** update dependency com.google.protobuf:protobuf-bom to v3.21.2 ([#1720](https://github.com/googleapis/gax-java/issues/1720)) ([19a38cf](https://github.com/googleapis/gax-java/commit/19a38cffd13fbaa547a9992f61689d70239b6ee4))
* **deps:** update dependency org.mockito:mockito-core to v4.6.1 ([#1705](https://github.com/googleapis/gax-java/issues/1705)) ([7befaa4](https://github.com/googleapis/gax-java/commit/7befaa4a2525f9b09091225b2f74a3e2fbfa3175))
* **deps:** update dependency org.threeten:threetenbp to v1.6.0 ([#1709](https://github.com/googleapis/gax-java/issues/1709)) ([42cdcaa](https://github.com/googleapis/gax-java/commit/42cdcaa5a5d2362e86f94a13870f3c9c48f8b7f7))

## [2.18.2](https://github.com/googleapis/gax-java/compare/v2.18.1...v2.18.2) (2022-06-16)


### Bug Fixes

* **deps:** update dependency com.google.api:api-common to v2.2.1 ([#1699](https://github.com/googleapis/gax-java/issues/1699)) ([be79d10](https://github.com/googleapis/gax-java/commit/be79d108601290d533126e996600a5864a7e810f))
* **deps:** update dependency com.google.auth:google-auth-library-credentials to v1.7.0 ([#1700](https://github.com/googleapis/gax-java/issues/1700)) ([640525e](https://github.com/googleapis/gax-java/commit/640525ea4d2df46c187f867f7c13325aebd819c6))
* **deps:** update dependency com.google.auth:google-auth-library-oauth2-http to v1.7.0 ([#1701](https://github.com/googleapis/gax-java/issues/1701)) ([0f27ef7](https://github.com/googleapis/gax-java/commit/0f27ef7b63aa37fd7797e43803802a519d710658))
* **deps:** update dependency com.google.http-client:google-http-client-bom to v1.42.0 ([#1702](https://github.com/googleapis/gax-java/issues/1702)) ([96c4fa8](https://github.com/googleapis/gax-java/commit/96c4fa8b76e485fb6e19b183c11d660bd949c6c2))
* **deps:** update dependency com.google.protobuf:protobuf-bom to v3.21.1 ([#1703](https://github.com/googleapis/gax-java/issues/1703)) ([3e07036](https://github.com/googleapis/gax-java/commit/3e07036bba7c6945c76a76cd623726c71d74ade2))
* **deps:** update dependency io.grpc:grpc-bom to v1.47.0 ([#1704](https://github.com/googleapis/gax-java/issues/1704)) ([0317926](https://github.com/googleapis/gax-java/commit/0317926ea97940df73738d1617e0b154e70b7e32))
* **deps:** update dependency io.opencensus:opencensus-api to v0.31.1 ([#1697](https://github.com/googleapis/gax-java/issues/1697)) ([f9f9e1e](https://github.com/googleapis/gax-java/commit/f9f9e1e2a16532c3051595138bc2e99c71268f3a))
* **deps:** update dependency org.graalvm.sdk:graal-sdk to v22.1.0.1 ([#1698](https://github.com/googleapis/gax-java/issues/1698)) ([59fbff9](https://github.com/googleapis/gax-java/commit/59fbff938981be18134c1410c02d86dbf801f4a7))


### Dependencies

* update dependency com.google.api.grpc:proto-google-common-protos to v2.9.0 ([#1713](https://github.com/googleapis/gax-java/issues/1713)) ([c5eb06e](https://github.com/googleapis/gax-java/commit/c5eb06eec5d2cde85d37b096418e873c1bd83470))
* update dependency io.grpc:grpc-bom to v1.47.0 ([c5eb06e](https://github.com/googleapis/gax-java/commit/c5eb06eec5d2cde85d37b096418e873c1bd83470))
* update dependency io.opencensus:opencensus-api to v0.31.1 ([c5eb06e](https://github.com/googleapis/gax-java/commit/c5eb06eec5d2cde85d37b096418e873c1bd83470))
* update dependency org.mockito:mockito-core to v4.6.1 ([c5eb06e](https://github.com/googleapis/gax-java/commit/c5eb06eec5d2cde85d37b096418e873c1bd83470))
* update dependency org.threeten:threetenbp to v1.6.0 ([c5eb06e](https://github.com/googleapis/gax-java/commit/c5eb06eec5d2cde85d37b096418e873c1bd83470))
* update io.netty dependencies to v4.1.72.Final ([c5eb06e](https://github.com/googleapis/gax-java/commit/c5eb06eec5d2cde85d37b096418e873c1bd83470))
* update plugin org.sonarqube to v3.4.0.2513 ([c5eb06e](https://github.com/googleapis/gax-java/commit/c5eb06eec5d2cde85d37b096418e873c1bd83470))

### [2.18.1](https://github.com/googleapis/gax-java/compare/v2.18.0...v2.18.1) (2022-05-19)


### Dependencies

* upgrade grpc to 1.46.0 ([#1688](https://github.com/googleapis/gax-java/issues/1688)) ([18147a4](https://github.com/googleapis/gax-java/commit/18147a4f558635b27d30eb05468321b52321db13))

## [2.18.0](https://github.com/googleapis/gax-java/compare/v2.17.0...v2.18.0) (2022-05-18)


### Features

* [REGAPIC] Add support for additional bindings ([#1680](https://github.com/googleapis/gax-java/issues/1680)) ([59b3699](https://github.com/googleapis/gax-java/commit/59b3699b6acbc98c55dc043bf8665b457a0615a9))
* upgrade graal-sdk to 22.1.0 ([#1683](https://github.com/googleapis/gax-java/issues/1683)) ([46f899d](https://github.com/googleapis/gax-java/commit/46f899de06e60a792f5a6c1dc617673f0f180c00))


### Bug Fixes

* **java:** remove conflicting reflection configuration to address UnsupportedFeatureException with GraalVM 22.1.0 ([#1682](https://github.com/googleapis/gax-java/issues/1682)) ([97c6c8b](https://github.com/googleapis/gax-java/commit/97c6c8bfa0d5397e30d3699e92f823e09ee283e6))
* remove svm dependency ([#1679](https://github.com/googleapis/gax-java/issues/1679)) ([c1b88e3](https://github.com/googleapis/gax-java/commit/c1b88e3788ab866bcc1ba3db94c2998198a0b35e))


### Dependencies

* update dependency com.google.api:api-common to 2.2.0 ([#1685](https://github.com/googleapis/gax-java/issues/1685)) ([a5a316b](https://github.com/googleapis/gax-java/commit/a5a316bde322733eb5a80093206eb12b36945580))

## [2.17.0](https://github.com/googleapis/gax-java/compare/v2.16.0...v2.17.0) (2022-05-10)


### Features

* next release from main branch is 2.17.0 ([#1659](https://github.com/googleapis/gax-java/issues/1659)) ([5a31361](https://github.com/googleapis/gax-java/commit/5a3136121bc8365a798aa2f5c363e86de6224391))


### Bug Fixes

* Fix handling of null responses in rest transport ([#1668](https://github.com/googleapis/gax-java/issues/1668)) ([8def947](https://github.com/googleapis/gax-java/commit/8def947620610b7aab526413a1ac14fd4f890dbf))
* use graal-sdk 21.3.2 ([#1670](https://github.com/googleapis/gax-java/issues/1670)) ([92c2697](https://github.com/googleapis/gax-java/commit/92c2697b211b2aa9e5456dbb1078870a30f0703a))

## [2.16.0](https://github.com/googleapis/gax-java/compare/v2.15.0...v2.16.0) (2022-04-14)


### Features

* relocate ApiClientSubstitutions from java-core to gax ([#1651](https://github.com/googleapis/gax-java/issues/1651)) ([321103f](https://github.com/googleapis/gax-java/commit/321103f129cb1ece3f3a4d62e3c050c975d33179))
* relocate GoogleJsonClientFeature from java-core to gax ([#1655](https://github.com/googleapis/gax-java/issues/1655)) ([6e75ec7](https://github.com/googleapis/gax-java/commit/6e75ec76f2bf448eb56f644e61019efb3940a388))
* relocate netty and gax substitutions from java-core ([#1650](https://github.com/googleapis/gax-java/issues/1650)) ([afd1917](https://github.com/googleapis/gax-java/commit/afd19177c44c9cd0a982e545e4b0e60c0313d6f4))
* relocate Opencensus configurations from java-core to gax ([#1646](https://github.com/googleapis/gax-java/issues/1646)) ([b34ffb1](https://github.com/googleapis/gax-java/commit/b34ffb1fb2af6b18a4272dcc951b2f4294c75317))
* relocate resource-config from java-core to gax ([#1656](https://github.com/googleapis/gax-java/issues/1656)) ([a9e5483](https://github.com/googleapis/gax-java/commit/a9e5483d5b67e080d1a8b012f0a3fb4ca8aadf18))


### Dependencies

* google-common-protos 2.8.3 ([#1657](https://github.com/googleapis/gax-java/issues/1657)) ([24b9138](https://github.com/googleapis/gax-java/commit/24b9138cc8088c2124f6d9e2ebc8ddc88a08fd9e))

## [2.15.0](https://github.com/googleapis/gax-java/compare/v2.14.0...v2.15.0) (2022-04-06)


### Features

* Error Details Improvements - GRPC ([#1634](https://github.com/googleapis/gax-java/issues/1634)) ([00c3b9d](https://github.com/googleapis/gax-java/commit/00c3b9ddae11736e1231e4aa45965deff7689f2a))
* relocate native image properties from java-core to gax ([#1648](https://github.com/googleapis/gax-java/issues/1648)) ([609c2aa](https://github.com/googleapis/gax-java/commit/609c2aab94ff215c879932e60ae041309f20c2c7))


### Dependencies

* upgrade grpc to 1.45.1 and auth to 1.6.0 ([#1652](https://github.com/googleapis/gax-java/issues/1652)) ([8f8f625](https://github.com/googleapis/gax-java/commit/8f8f62572795c83b4459f6d3a0f33f31a1ecfb71))

## [2.14.0](https://github.com/googleapis/gax-java/compare/v2.13.0...v2.14.0) (2022-04-01)


### Features

* relocate Netty Native Image configurations from java-core to gax ([#1638](https://github.com/googleapis/gax-java/issues/1638)) ([aafded4](https://github.com/googleapis/gax-java/commit/aafded4a0b779c68d0d5702b722672a0f86ccdd1))
* relocate protobuf configurations from java-core to gax-java ([#1641](https://github.com/googleapis/gax-java/issues/1641)) ([01d395f](https://github.com/googleapis/gax-java/commit/01d395f486ccd7c364c03ccdfcfbf83b900192c3))


### Bug Fixes

* update the runtime dependency grpc-java xds to googleapis ([#1643](https://github.com/googleapis/gax-java/issues/1643)) ([b8d9e30](https://github.com/googleapis/gax-java/commit/b8d9e30c3e2209bcd4cc0f808dfdf0a0608aa466))

## [2.13.0](https://github.com/googleapis/gax-java/compare/v2.12.2...v2.13.0) (2022-03-25)


### Features

* dynamic channel pool scaled by number of outstanding request ([#1569](https://github.com/googleapis/gax-java/issues/1569)) ([fff2bab](https://github.com/googleapis/gax-java/commit/fff2babaf2620686c2e0be1b6d338ac088248cf6))


### Dependencies

* update dependency com_google_protobuf to 3.19.4 ([5c01174](https://github.com/googleapis/gax-java/commit/5c0117408ecfaec4e445b4fd813da6478415ea8e))
* update dependency com.google.api:api-common to 2.1.5 ([5c01174](https://github.com/googleapis/gax-java/commit/5c0117408ecfaec4e445b4fd813da6478415ea8e))
* update dependency com.google.api.grpc:grpc-google-common-protos to 2.8.0 ([5c01174](https://github.com/googleapis/gax-java/commit/5c0117408ecfaec4e445b4fd813da6478415ea8e))
* update dependency com.google.api.grpc:proto-google-common-protos to 2.8.0 ([5c01174](https://github.com/googleapis/gax-java/commit/5c0117408ecfaec4e445b4fd813da6478415ea8e))
* update dependency com.google.guava:guava to 31.1-jre ([5c01174](https://github.com/googleapis/gax-java/commit/5c0117408ecfaec4e445b4fd813da6478415ea8e))
* update dependency com.google.http-client:google-http-client to 1.41.5 ([5c01174](https://github.com/googleapis/gax-java/commit/5c0117408ecfaec4e445b4fd813da6478415ea8e))
* update dependency com.google.http-client:google-http-client-gson to 1.41.5 ([5c01174](https://github.com/googleapis/gax-java/commit/5c0117408ecfaec4e445b4fd813da6478415ea8e))
* update dependency io_grpc to 1.45.0. ([#1639](https://github.com/googleapis/gax-java/issues/1639)) ([5c01174](https://github.com/googleapis/gax-java/commit/5c0117408ecfaec4e445b4fd813da6478415ea8e))

### [2.12.2](https://github.com/googleapis/gax-java/compare/v2.12.1...v2.12.2) (2022-02-09)


### Bug Fixes

* REST: Make make LRO stub accept APIs of different versions ([#1622](https://github.com/googleapis/gax-java/issues/1622)) ([3ae8d85](https://github.com/googleapis/gax-java/commit/3ae8d850c5599ce487778d98d562d5b9b9e85d25))

### [2.12.1](https://github.com/googleapis/gax-java/compare/v2.12.0...v2.12.1) (2022-02-09)


### Bug Fixes

* revert "feat: add api key support ([#1436](https://github.com/googleapis/gax-java/issues/1436))" ([#1617](https://github.com/googleapis/gax-java/issues/1617)) ([47f98b8](https://github.com/googleapis/gax-java/commit/47f98b872c6896ad2af37e30db440321c2adb492))

## [2.12.0](https://github.com/googleapis/gax-java/compare/v2.11.0...v2.12.0) (2022-01-28)


### Features

* add REST interceptors infrastructure ([#1607](https://github.com/googleapis/gax-java/issues/1607)) ([0572eed](https://github.com/googleapis/gax-java/commit/0572eed8aa29879c74794b22e8ae79e414dd5821))

## [2.11.0](https://github.com/googleapis/gax-java/compare/v2.10.0...v2.11.0) (2022-01-27)


### Features

* Add a builder to handle the common logic of extracting routing header values from request ([#1598](https://github.com/googleapis/gax-java/issues/1598)) ([2836baa](https://github.com/googleapis/gax-java/commit/2836baafa1114761cffbfdd4aee2322a4a931f8f))


### Dependencies

* update dependency com_google_protobuf to 3.19.3 ([734906e](https://github.com/googleapis/gax-java/commit/734906efd15064ea0d36b308f217508c9bf5ed42))
* update dependency com.google.api:api-common to 2.1.3 ([734906e](https://github.com/googleapis/gax-java/commit/734906efd15064ea0d36b308f217508c9bf5ed42))
* update dependency com.google.api.grpc:grpc-google-common-protos to 2.7.2 ([734906e](https://github.com/googleapis/gax-java/commit/734906efd15064ea0d36b308f217508c9bf5ed42))
* update dependency com.google.api.grpc:proto-google-common-protos to 2.7.2 ([734906e](https://github.com/googleapis/gax-java/commit/734906efd15064ea0d36b308f217508c9bf5ed42))
* update dependency com.google.errorprone:error_prone_annotations to v2.11.0 ([734906e](https://github.com/googleapis/gax-java/commit/734906efd15064ea0d36b308f217508c9bf5ed42))
* update dependency com.google.http-client:google-http-client to 1.41.2 ([734906e](https://github.com/googleapis/gax-java/commit/734906efd15064ea0d36b308f217508c9bf5ed42))
* update dependency com.google.http-client:google-http-client-gson to 1.41.2 ([734906e](https://github.com/googleapis/gax-java/commit/734906efd15064ea0d36b308f217508c9bf5ed42))
* update dependency io_grpc to 1.44.0 ([#1610](https://github.com/googleapis/gax-java/issues/1610)) ([734906e](https://github.com/googleapis/gax-java/commit/734906efd15064ea0d36b308f217508c9bf5ed42))

## [2.10.0](https://github.com/googleapis/gax-java/compare/v2.9.0...v2.10.0) (2022-01-21)


### Features

* add api key support ([#1436](https://github.com/googleapis/gax-java/issues/1436)) ([5081ec6](https://github.com/googleapis/gax-java/commit/5081ec6541da8ca3f5a4c0d20aa75bd20010a642))
* introduce HttpJsonClientCall, Listeners infrastructure and ServerStreaming support in REST transport ([#1599](https://github.com/googleapis/gax-java/issues/1599)) ([3c97529](https://github.com/googleapis/gax-java/commit/3c97529b8bd0e8141c5d722f887cb7ae1ed30b69))

## [2.9.0](https://github.com/googleapis/gax-java/compare/v2.8.1...v2.9.0) (2022-01-14)


### Features

* pass a CallCredentials to grpc-java for DirectPath ([#1488](https://github.com/googleapis/gax-java/issues/1488)) ([4a7713a](https://github.com/googleapis/gax-java/commit/4a7713ad683e70380087437d6b52cbe3e115d1fb))

### [2.8.1](https://www.github.com/googleapis/gax-java/compare/v2.8.0...v2.8.1) (2022-01-06)


### Dependencies

* update dependency com.google.api:api-common to 2.1.2 ([#1590](https://www.github.com/googleapis/gax-java/issues/1590)) ([1b34870](https://www.github.com/googleapis/gax-java/commit/1b34870358a26bd4542594b6c746dca190f65d24))
* update dependency com.google.auto.value:auto-value to v1.9 ([1b34870](https://www.github.com/googleapis/gax-java/commit/1b34870358a26bd4542594b6c746dca190f65d24))

## [2.8.0](https://www.github.com/googleapis/gax-java/compare/v2.7.1...v2.8.0) (2022-01-06)


### Features

* update DirectPath xds scheme ([#1585](https://www.github.com/googleapis/gax-java/issues/1585)) ([7915f85](https://www.github.com/googleapis/gax-java/commit/7915f850313ddfdf35332d976d2567f31c2aa8a7))


### Dependencies

* update dependency com.google.api.grpc:proto-google-common-protos to v2.7.1 ([#1587](https://www.github.com/googleapis/gax-java/issues/1587)) ([eb0e9d1](https://www.github.com/googleapis/gax-java/commit/eb0e9d106a64af5f583d75d7291cdc17652fd5e7))
* update dependency com.google.http-client:google-http-client-bom to v1.41.0 ([eb0e9d1](https://www.github.com/googleapis/gax-java/commit/eb0e9d106a64af5f583d75d7291cdc17652fd5e7))
* update dependency com.google.protobuf:protobuf-bom to v3.19.2 ([eb0e9d1](https://www.github.com/googleapis/gax-java/commit/eb0e9d106a64af5f583d75d7291cdc17652fd5e7))
* upgrade common-protos to 2.7.0 ([#1579](https://www.github.com/googleapis/gax-java/issues/1579)) ([0a10f5f](https://www.github.com/googleapis/gax-java/commit/0a10f5fe77ab26b3ac7d4c590360945ead72eca1))

### [2.7.1](https://www.github.com/googleapis/gax-java/compare/v2.7.0...v2.7.1) (2021-12-02)


### Bug Fixes

* fix gRPC code conversion ([#1555](https://www.github.com/googleapis/gax-java/issues/1555)) ([09b99d5](https://www.github.com/googleapis/gax-java/commit/09b99d591497b44c3c25b1a54abb0f1cb69d7376))
* pass error message when creating ApiException ([#1556](https://www.github.com/googleapis/gax-java/issues/1556)) ([918ae41](https://www.github.com/googleapis/gax-java/commit/918ae419f84ad5721638ca10eca992333e9f7c3d))
* revert generics syntax change in MockHttpService test utility ([#1574](https://www.github.com/googleapis/gax-java/issues/1574)) ([b629488](https://www.github.com/googleapis/gax-java/commit/b629488ffc7d68158158d9197695158f97229c7b))
* update exception mapping on HTTP error responses ([#1570](https://www.github.com/googleapis/gax-java/issues/1570)) ([8a170d1](https://www.github.com/googleapis/gax-java/commit/8a170d19b42e9b13d4c69dcfbe531d4d4ca69c90))


### Dependencies

* update grpc to 1.42.1 ([#1559](https://www.github.com/googleapis/gax-java/issues/1559)) ([92b7632](https://www.github.com/googleapis/gax-java/commit/92b76325d54604c98c798c489b3a963fdf21a75c))
* upgrade protobuf to 3.19.1 ([#1571](https://www.github.com/googleapis/gax-java/issues/1571)) ([7b354e7](https://www.github.com/googleapis/gax-java/commit/7b354e73b8ce49008bed51076afb255ca5dc68e4))

## [2.7.0](https://www.github.com/googleapis/gax-java/compare/v2.6.0...v2.7.0) (2021-11-03)


### Features

* add batch throttled time to tracer ([#1463](https://www.github.com/googleapis/gax-java/issues/1463)) ([14c25cd](https://www.github.com/googleapis/gax-java/commit/14c25cdfae2c0602d99fcd07c9067138fc172a7f))
* add google-c2p dependence to DirectPath ([#1521](https://www.github.com/googleapis/gax-java/issues/1521)) ([d4222e7](https://www.github.com/googleapis/gax-java/commit/d4222e757d35e874a57d030f2f964e8d61c71d6d))
* next release from main branch is 2.7.0 ([#1530](https://www.github.com/googleapis/gax-java/issues/1530)) ([a96953e](https://www.github.com/googleapis/gax-java/commit/a96953e2c889ad9195b420ce5ae49b20258fb6ea))
* pass request in ApiTracer ([#1491](https://www.github.com/googleapis/gax-java/issues/1491)) ([27bf265](https://www.github.com/googleapis/gax-java/commit/27bf2655120972d929e6118b73d8d556b0440fcf))


### Bug Fixes

* call ResponseMetadataHanlder#onTrailers before calling onClose ([#1549](https://www.github.com/googleapis/gax-java/issues/1549)) ([19a77a4](https://www.github.com/googleapis/gax-java/commit/19a77a4f6c62e84bba4879690992bbc494730d23))
* declare depenencies of API surfaces as api ([#1535](https://www.github.com/googleapis/gax-java/issues/1535)) ([725414f](https://www.github.com/googleapis/gax-java/commit/725414f4ccb1e5ac4625790ea990c6c8dfa4fdff))

## [2.6.0](https://www.github.com/googleapis/gax-java/compare/v2.5.3...v2.6.0) (2021-10-15)


### Features

* remove deprecated Generated annotation ([2d76bff](https://www.github.com/googleapis/gax-java/commit/2d76bff6d64da818a3aff7ea0bdf5a36b82c3464))


### Bug Fixes

* Fix com.google.rpc.Code to StatusCode.Code conversion logic ([2d76bff](https://www.github.com/googleapis/gax-java/commit/2d76bff6d64da818a3aff7ea0bdf5a36b82c3464))


### Dependencies

* update api-common to 2.0.5 ([2d76bff](https://www.github.com/googleapis/gax-java/commit/2d76bff6d64da818a3aff7ea0bdf5a36b82c3464))
* update auto-value to 1.8.2 ([2d76bff](https://www.github.com/googleapis/gax-java/commit/2d76bff6d64da818a3aff7ea0bdf5a36b82c3464))
* update com_google_protobuf to 3.18.1 ([#1519](https://www.github.com/googleapis/gax-java/issues/1519)) ([2d76bff](https://www.github.com/googleapis/gax-java/commit/2d76bff6d64da818a3aff7ea0bdf5a36b82c3464))
* update google-http-client to 1.40.1 ([2d76bff](https://www.github.com/googleapis/gax-java/commit/2d76bff6d64da818a3aff7ea0bdf5a36b82c3464))
* update grpc to 1.41.0 ([2d76bff](https://www.github.com/googleapis/gax-java/commit/2d76bff6d64da818a3aff7ea0bdf5a36b82c3464))
* update guava to v31 ([2d76bff](https://www.github.com/googleapis/gax-java/commit/2d76bff6d64da818a3aff7ea0bdf5a36b82c3464))

### [2.5.3](https://www.github.com/googleapis/gax-java/compare/v2.5.2...v2.5.3) (2021-10-13)


### Bug Fixes

* Fix `com.google.rpc.Code` to `StatusCode.Code` conversion  logic ([#1508](https://www.github.com/googleapis/gax-java/issues/1508)) ([61b1617](https://www.github.com/googleapis/gax-java/commit/61b161799faf292be1394111381f8a35e757b85a))

### [2.5.2](https://www.github.com/googleapis/gax-java/compare/v2.5.1...v2.5.2) (2021-10-13)


### Dependencies

* release multiple artifacts at once ([#1506](https://www.github.com/googleapis/gax-java/issues/1506)) ([8c022f6](https://www.github.com/googleapis/gax-java/commit/8c022f69f7878280e00f200f65a931ff0f8cfe45))

### [2.5.1](https://www.github.com/googleapis/gax-java/compare/v2.5.0...v2.5.1) (2021-10-08)


### Dependencies

* fix release pipeline ([#1500](https://www.github.com/googleapis/gax-java/issues/1500)) ([f8ae03b](https://www.github.com/googleapis/gax-java/commit/f8ae03bbf0389d5fd943d214c1058ee012be757b))

## [2.5.0](https://www.github.com/googleapis/gax-java/compare/v2.4.1...v2.5.0) (2021-09-21)


### Features

* Add REST AIP-151 LRO support ([#1484](https://www.github.com/googleapis/gax-java/issues/1484)) ([95ca348](https://www.github.com/googleapis/gax-java/commit/95ca3482d272b5c5c5ac2c85ba007f0ba9f7b5cf))

### [2.4.1](https://www.github.com/googleapis/gax-java/compare/v2.4.0...v2.4.1) (2021-09-08)


### Bug Fixes

* REGAPIC fix socket timeout for wait calls ([#1476](https://www.github.com/googleapis/gax-java/issues/1476)) ([86c68b3](https://www.github.com/googleapis/gax-java/commit/86c68b3ffd241f6932516d0e7b5d9ae5714b89e0))

## [2.4.0](https://www.github.com/googleapis/gax-java/compare/v2.3.0...v2.4.0) (2021-08-27)


### Bug Fixes

* Fix PATCH being unsupported ([#1465](https://www.github.com/googleapis/gax-java/issues/1465)) ([2c6ac24](https://www.github.com/googleapis/gax-java/commit/2c6ac24b1fce1de356e69370bbe6a4348825e3f9))


### Dependencies

* update google-common-prots and google-http-client ([#1471](https://www.github.com/googleapis/gax-java/issues/1471)) ([80e17a3](https://www.github.com/googleapis/gax-java/commit/80e17a35feb00aff0af3a65876625c705eb6ca46))

## [2.3.0](https://www.github.com/googleapis/gax-java/compare/v2.2.0...v2.3.0) (2021-08-16)


### Features

* add custom options to ApiCallContext ([#1435](https://www.github.com/googleapis/gax-java/issues/1435)) ([0fe20f3](https://www.github.com/googleapis/gax-java/commit/0fe20f379feba1570e562e60e3f0bf7cc4e485bd))
* add UseJwtAccessWithScope to GoogleCredentialsProvider ([#1420](https://www.github.com/googleapis/gax-java/issues/1420)) ([ed39c34](https://www.github.com/googleapis/gax-java/commit/ed39c34693783460fc03effb47e7027914cfb5bc))

## [2.2.0](https://www.github.com/googleapis/gax-java/compare/v2.1.0...v2.2.0) (2021-08-13)


### Features

* Add AIP-151 LRO OperationsClient to gax-httpjson ([#1458](https://www.github.com/googleapis/gax-java/issues/1458)) ([314acb6](https://www.github.com/googleapis/gax-java/commit/314acb6a5c335732e8406bec86f6c37296ebf3f3))

## [2.1.0](https://www.github.com/googleapis/gax-java/compare/v2.0.0...v2.1.0) (2021-08-11)


### Features

* add allowNonDefaultServiceAccount option for DirectPath ([#1433](https://www.github.com/googleapis/gax-java/issues/1433)) ([209b494](https://www.github.com/googleapis/gax-java/commit/209b4944feba1c62be2c9de4545e3b01a806b738))


### Bug Fixes

* fix httpjson executor ([#1448](https://www.github.com/googleapis/gax-java/issues/1448)) ([8f48b70](https://www.github.com/googleapis/gax-java/commit/8f48b7027b95e8e75872d1f9dac537ea697d0acc))
* make closeAsync don't interrupt running thread ([#1446](https://www.github.com/googleapis/gax-java/issues/1446)) ([7c6c298](https://www.github.com/googleapis/gax-java/commit/7c6c29824487346d444730388ea6967408692696))


### Dependencies

* update dependency com.google.api:api-common to v2.0.1 ([#1452](https://www.github.com/googleapis/gax-java/issues/1452)) ([a52f16f](https://www.github.com/googleapis/gax-java/commit/a52f16f6cef8340357acb374ff31c8a6f248403c))

## [2.0.0](https://www.github.com/googleapis/gax-java/compare/v1.67.0...v2.0.0) (2021-07-30)


### Features

* promote to 2.0.0 ([#1444](https://www.github.com/googleapis/gax-java/issues/1444)) ([776b1aa](https://www.github.com/googleapis/gax-java/commit/776b1aa73022bedec55e69732245b73cd04608f8))


### Bug Fixes

* stop overriding default grpc executor ([#1355](https://www.github.com/googleapis/gax-java/issues/1355)) ([b1f8c43](https://www.github.com/googleapis/gax-java/commit/b1f8c43cc90eb8e5ef78d142878841689356738c))


### Dependencies

* update api-common, guava, google-auth-library-credentials ([#1442](https://www.github.com/googleapis/gax-java/issues/1442)) ([2925ed7](https://www.github.com/googleapis/gax-java/commit/2925ed78cfb74db07a87da28839aeebc9027ac72))

## [1.67.0](https://www.github.com/googleapis/gax-java/compare/v1.66.0...v1.67.0) (2021-07-19)


### Features

* introduce closeAsync to Batcher ([#1423](https://www.github.com/googleapis/gax-java/issues/1423)) ([aab5288](https://www.github.com/googleapis/gax-java/commit/aab528803405c2b5f9fc89641f47abff948a876d))
* optimize unary callables to not wait for trailers ([#1356](https://www.github.com/googleapis/gax-java/issues/1356)) ([dd5f955](https://www.github.com/googleapis/gax-java/commit/dd5f955a3ab740c677fbc6f1247094798eb814a3))
* update DirectPath environment variables ([#1412](https://www.github.com/googleapis/gax-java/issues/1412)) ([4f63b61](https://www.github.com/googleapis/gax-java/commit/4f63b61f1259936aa4a1eaf9162218c787b92f2a))


### Bug Fixes

* remove `extends ApiMessage` from `HttpJsonStubCallableFactory` definition ([#1426](https://www.github.com/googleapis/gax-java/issues/1426)) ([87636a5](https://www.github.com/googleapis/gax-java/commit/87636a5812874a77e9004aab07607121efa43736))

## [1.66.0](https://www.github.com/googleapis/gax-java/compare/v1.65.1...v1.66.0) (2021-06-24)


### Features

* make ApiTracer internal API ([#1414](https://www.github.com/googleapis/gax-java/issues/1414)) ([e3e8462](https://www.github.com/googleapis/gax-java/commit/e3e8462a2f9e866480ec2106dc59555d41ea4bb5))

### [1.65.1](https://www.github.com/googleapis/gax-java/compare/v1.65.0...v1.65.1) (2021-06-08)


### Bug Fixes

* fix grammar in StubSetting comment ([#1397](https://www.github.com/googleapis/gax-java/issues/1397)) ([b015910](https://www.github.com/googleapis/gax-java/commit/b0159102b52fd4b778a9bde15b1acd2e9fa6958e))

## [1.65.0](https://www.github.com/googleapis/gax-java/compare/v1.64.0...v1.65.0) (2021-06-02)


### Features

* add mtls feature to http and grpc transport provider ([#1249](https://www.github.com/googleapis/gax-java/issues/1249)) ([b863041](https://www.github.com/googleapis/gax-java/commit/b863041bc4c03c8766e0feca8cb10f531373dc44))

## [1.64.0](https://www.github.com/googleapis/gax-java/compare/v1.63.4...v1.64.0) (2021-05-10)


### Features

* release 1.64.0 ([#1375](https://www.github.com/googleapis/gax-java/issues/1375)) ([499682e](https://www.github.com/googleapis/gax-java/commit/499682ec3b96ddeaac75f6e71cc3bc85a854da97))

### [1.63.4](https://www.github.com/googleapis/gax-java/compare/v1.63.3...v1.63.4) (2021-05-07)


### Bug Fixes

* Make x-goog-api-client header report rest-based transport clients with `rest/` token instead of `httpson/`. ([#1370](https://www.github.com/googleapis/gax-java/issues/1370)) ([b1b0b49](https://www.github.com/googleapis/gax-java/commit/b1b0b498ba188a51b17d179988074bcf34fb7590))

### [1.63.3](https://www.github.com/googleapis/gax-java/compare/v1.63.2...v1.63.3) (2021-05-04)


### Bug Fixes

* fix flaky tests and non blocking semaphore ([#1365](https://www.github.com/googleapis/gax-java/issues/1365)) ([fc8e520](https://www.github.com/googleapis/gax-java/commit/fc8e520acfaf843ac61e806bdb4b5fe393d0b447))
* Remove a flacky test in FlowControllerTest ([#1360](https://www.github.com/googleapis/gax-java/issues/1360)) ([2cca0bf](https://www.github.com/googleapis/gax-java/commit/2cca0bf9e96271dd52e8bffa00b8f2d45d358d35))

### [1.63.2](https://www.github.com/googleapis/gax-java/compare/v1.63.1...v1.63.2) (2021-04-30)


### Bug Fixes

* Remove default value handling ([#1353](https://www.github.com/googleapis/gax-java/issues/1353)) ([ed0fc79](https://www.github.com/googleapis/gax-java/commit/ed0fc791b22db45bd20de890b0abecd1839d2d86))


### Dependencies

* remove codecov.io ([#1354](https://www.github.com/googleapis/gax-java/issues/1354)) ([06a53ac](https://www.github.com/googleapis/gax-java/commit/06a53aca36ed0825122be160479b1ea0ba8635a0))

### [1.63.1](https://www.github.com/googleapis/gax-java/compare/v1.63.0...v1.63.1) (2021-04-26)


### Bug Fixes

* fix dynamic flow control setting checks ([#1347](https://www.github.com/googleapis/gax-java/issues/1347)) ([69458b4](https://www.github.com/googleapis/gax-java/commit/69458b4deefe5b9c2c33a3b51389face968ff52f))
* fix watchdog NPE red herring ([#1344](https://www.github.com/googleapis/gax-java/issues/1344)) ([06dbf12](https://www.github.com/googleapis/gax-java/commit/06dbf129ce63d28430e1022137679c9cfdf433ee))

## [1.63.0](https://www.github.com/googleapis/gax-java/compare/v1.62.0...v1.63.0) (2021-04-05)


### Features

* add setLogicalTimeout helper to RetrySettings ([#1334](https://www.github.com/googleapis/gax-java/issues/1334)) ([97d3214](https://www.github.com/googleapis/gax-java/commit/97d32144e9de38a9e351dc34270aa41aef351151))
* dynamic flow control for batcher part 2 ([#1310](https://www.github.com/googleapis/gax-java/issues/1310)) ([20f6ecf](https://www.github.com/googleapis/gax-java/commit/20f6ecf4807bb4dffd0fa80717302c1f46b1d789))
* dynamic flow control p3: add FlowControllerEventStats ([#1332](https://www.github.com/googleapis/gax-java/issues/1332)) ([5329ea4](https://www.github.com/googleapis/gax-java/commit/5329ea43c024ca14cea1012c5ab46e694e199492))
* support retry settings and retryable codes in call context ([#1238](https://www.github.com/googleapis/gax-java/issues/1238)) ([7f7aa25](https://www.github.com/googleapis/gax-java/commit/7f7aa252ce96413cb09e01cc2e76672b167b1baf))
* wrap non-retryable RPCs in retry machinery ([#1328](https://www.github.com/googleapis/gax-java/issues/1328)) ([51c40ab](https://www.github.com/googleapis/gax-java/commit/51c40abd408ab0637f3b65cf5697a4ee85a544a4))


### Bug Fixes

* add BetaApi tag to setLogicalTimeout ([#1335](https://www.github.com/googleapis/gax-java/issues/1335)) ([fc7169d](https://www.github.com/googleapis/gax-java/commit/fc7169d431baf2db90992241a0ef3d40c72567a5))
* retain user RPC timeout if set via withTimeout ([#1324](https://www.github.com/googleapis/gax-java/issues/1324)) ([3fe1db9](https://www.github.com/googleapis/gax-java/commit/3fe1db913b134e4fddee4c769ee4497847d8e01f))


### Documentation

* cloud rad java doc generation ([#1336](https://www.github.com/googleapis/gax-java/issues/1336)) ([751ccf3](https://www.github.com/googleapis/gax-java/commit/751ccf3cb351cd5a037104242cdb763a104d6bc3))

## [1.62.0](https://www.github.com/googleapis/gax-java/compare/v1.61.0...v1.62.0) (2021-02-25)


### ⚠ BREAKING CHANGES

* deprecate RetrySettings.isJittered [gax-java] (#1308)

### Features

* deprecate RetrySettings.isJittered [gax-java] ([#1308](https://www.github.com/googleapis/gax-java/issues/1308)) ([68644a4](https://www.github.com/googleapis/gax-java/commit/68644a4e24f29223f8f533a3d353dff7457d9737))
* dynamic flow control part 1 - add FlowController to Batcher ([#1289](https://www.github.com/googleapis/gax-java/issues/1289)) ([bae5eb6](https://www.github.com/googleapis/gax-java/commit/bae5eb6070e690c26b95e7b908d15300aa54ef1c))


### Bug Fixes

* prevent unchecked warnings in gax-httpjson ([#1306](https://www.github.com/googleapis/gax-java/issues/1306)) ([ee370f6](https://www.github.com/googleapis/gax-java/commit/ee370f62c5d411738a9b25cf4cfc095aa06d9e07))
* remove unused @InternalExtensionOnly from CallContext classes ([#1304](https://www.github.com/googleapis/gax-java/issues/1304)) ([a8d3a2d](https://www.github.com/googleapis/gax-java/commit/a8d3a2dca96efdb1ce154a976c3e0844e3f501d6))


### Dependencies

* update google-auth-library to 0.24.0 ([#1315](https://www.github.com/googleapis/gax-java/issues/1315)) ([772331e](https://www.github.com/googleapis/gax-java/commit/772331eda5c47e9de376e505e7d8ee502b01ec72))
* update google-common-protos to 2.0.1 ([772331e](https://www.github.com/googleapis/gax-java/commit/772331eda5c47e9de376e505e7d8ee502b01ec72))
* update google-http-client to 1.39.0 ([772331e](https://www.github.com/googleapis/gax-java/commit/772331eda5c47e9de376e505e7d8ee502b01ec72))
* update google-iam ([#1313](https://www.github.com/googleapis/gax-java/issues/1313)) ([327b53c](https://www.github.com/googleapis/gax-java/commit/327b53ca7739d9be6e24305b23af2c7a35cb6f4d))
* update gRPC to 1.36.0 ([772331e](https://www.github.com/googleapis/gax-java/commit/772331eda5c47e9de376e505e7d8ee502b01ec72))
* update opencensus to 0.28.0 ([772331e](https://www.github.com/googleapis/gax-java/commit/772331eda5c47e9de376e505e7d8ee502b01ec72))
* update protobuf to 3.15.2 ([772331e](https://www.github.com/googleapis/gax-java/commit/772331eda5c47e9de376e505e7d8ee502b01ec72))

## [1.61.0](https://www.github.com/googleapis/gax-java/compare/v1.60.1...v1.61.0) (2021-02-17)


### Features

* **operations:** Add WaitOperation API surface [gax-java] ([#1284](https://www.github.com/googleapis/gax-java/issues/1284)) ([68761a7](https://www.github.com/googleapis/gax-java/commit/68761a7de17489c02362e079ca766ee06da5e247))


### Bug Fixes

* InstantiatingGrpcChannelProvider.toBuilder() should carry over all config data ([#1298](https://www.github.com/googleapis/gax-java/issues/1298)) ([0bc5dc5](https://www.github.com/googleapis/gax-java/commit/0bc5dc54c8eea00f2dc0e1d6a4a42e3417c64fc7))
* **lro:** Add Operation name to headers in {Get,List}Operation requests [gax-java] ([#1281](https://www.github.com/googleapis/gax-java/issues/1281)) ([721617b](https://www.github.com/googleapis/gax-java/commit/721617b0cb80ebcd40c3aa2f6c5b86f679dad811))
* **operations:** Make Operations a manual client [gax-java] ([#1282](https://www.github.com/googleapis/gax-java/issues/1282)) ([5be66cd](https://www.github.com/googleapis/gax-java/commit/5be66cd3ebf2ccf34f21db40463a2d9115a77798))


### Dependencies

* update com.google.http-client:google-http-client to 1.38.1 ([#1265](https://www.github.com/googleapis/gax-java/issues/1265)) ([5815a7c](https://www.github.com/googleapis/gax-java/commit/5815a7ce815cc2fc47b39b928010de0c2cea8716))
* update common protos ([#1258](https://www.github.com/googleapis/gax-java/issues/1258)) ([7287e84](https://www.github.com/googleapis/gax-java/commit/7287e84979ba9076e4888ec3678995c08f1ea690))
* update gRPC ([#1263](https://www.github.com/googleapis/gax-java/issues/1263)) ([95a7dab](https://www.github.com/googleapis/gax-java/commit/95a7dab77800dffaf551018c85e1d78596411e8f))
* update Guava ([#1262](https://www.github.com/googleapis/gax-java/issues/1262)) ([cdc0366](https://www.github.com/googleapis/gax-java/commit/cdc0366d23317d6fddd3dc86592664449aaa8a6f))
* update iam protos to v1.0.7 ([#1266](https://www.github.com/googleapis/gax-java/issues/1266)) ([69b6dc4](https://www.github.com/googleapis/gax-java/commit/69b6dc44f5e81d5919553b9de6248346d172adcd))
* update protobuf ([#1256](https://www.github.com/googleapis/gax-java/issues/1256)) ([ef9b3aa](https://www.github.com/googleapis/gax-java/commit/ef9b3aaac30406b0b17a985ab959530c1254b145))

### [1.60.1](https://www.github.com/googleapis/gax-java/compare/v1.60.0...v1.60.1) (2020-11-19)


### Bug Fixes

* check Compute Engine environment for DirectPath ([#1250](https://www.github.com/googleapis/gax-java/issues/1250)) ([656b613](https://www.github.com/googleapis/gax-java/commit/656b613d2fe73e5bd19d43d4a2d8d0c6bb9ad5f2))


### Dependencies

* update api-common to 1.10.1 ([#1240](https://www.github.com/googleapis/gax-java/issues/1240)) ([d8b2bf7](https://www.github.com/googleapis/gax-java/commit/d8b2bf7b59d83a11e2e0eba703ed758fd1adb0ce))
* update auth libaries ([#1251](https://www.github.com/googleapis/gax-java/issues/1251)) ([d455da2](https://www.github.com/googleapis/gax-java/commit/d455da2cd73f1e015d7570e8d634864a38bdb042))
* update autovalue annotations ([#1246](https://www.github.com/googleapis/gax-java/issues/1246)) ([60bb103](https://www.github.com/googleapis/gax-java/commit/60bb10326cd3a0092d69e8388eb5f7fed55a715c))
* update dependency com.google.auto.value:auto-value to v1.7.4 ([#1031](https://www.github.com/googleapis/gax-java/issues/1031)) ([1e7e13c](https://www.github.com/googleapis/gax-java/commit/1e7e13c07bf4c79d0b3cbfd0f15a4908278c1ffa))
* update google-http-client to 1.38.0 ([#1244](https://www.github.com/googleapis/gax-java/issues/1244)) ([6b53f0f](https://www.github.com/googleapis/gax-java/commit/6b53f0fe3a95346596c670f62d34267483a12c68))
* update Guava to 30.0-android ([#1237](https://www.github.com/googleapis/gax-java/issues/1237)) ([64806c4](https://www.github.com/googleapis/gax-java/commit/64806c474f1aab87ed62f59e9746aa22c5982e96))
* update threetenbp to 1.5.0 ([#1243](https://www.github.com/googleapis/gax-java/issues/1243)) ([6232599](https://www.github.com/googleapis/gax-java/commit/6232599506fda164e5675162e71809a78258efbd))

## [1.60.0](https://www.github.com/googleapis/gax-java/compare/v1.59.1...v1.60.0) (2020-10-19)


### Features

* REST Gapic (REGAPIC) Support  ([#1177](https://www.github.com/googleapis/gax-java/issues/1177)) ([12b18ee](https://www.github.com/googleapis/gax-java/commit/12b18ee255d3fabe13bb3969df40753b29f830d5))


### Bug Fixes

* prevent npe caused by missing parentheses ([#1198](https://www.github.com/googleapis/gax-java/issues/1198)) ([b856351](https://www.github.com/googleapis/gax-java/commit/b85635123f987f9808086f14a58dd8c7418a3bd8))


### Dependencies

* upgrade grpc to 1.32.2 ([#1212](https://www.github.com/googleapis/gax-java/issues/1212)) ([03c4c0f](https://www.github.com/googleapis/gax-java/commit/03c4c0f621f439c30752122568d2a9a7703e5e16))

### [1.59.1](https://www.github.com/googleapis/gax-java/compare/v1.59.0...v1.59.1) (2020-10-05)


### Bug Fixes

* Fix race condition in BatcherImpl flush ([#1200](https://www.github.com/googleapis/gax-java/issues/1200)) ([c6308c9](https://www.github.com/googleapis/gax-java/commit/c6308c906171ce05765ccacb716aa7162d95d9a2))
* update owners file with actools-java ([#1194](https://www.github.com/googleapis/gax-java/issues/1194)) ([9977dd2](https://www.github.com/googleapis/gax-java/commit/9977dd2564ff6919fc6a6b658eb69b5ea8a66520))

## [1.59.0](https://www.github.com/googleapis/gax-java/compare/v1.58.3...v1.59.0) (2020-09-28)


### Features

* Allow user-agents to be specified by both internal headers and user headers ([#1190](https://www.github.com/googleapis/gax-java/issues/1190)) ([266329e](https://www.github.com/googleapis/gax-java/commit/266329e89642bfc6be579e600d3f995f4416ae4e)), closes [/github.com/googleapis/java-bigtable/pull/404#pullrequestreview-480972135](https://www.github.com/googleapis//github.com/googleapis/java-bigtable/pull/404/issues/pullrequestreview-480972135)


### Bug Fixes

* truncate RPC timeouts to time remaining in totalTimeout ([#1191](https://www.github.com/googleapis/gax-java/issues/1191)) ([1d0c940](https://www.github.com/googleapis/gax-java/commit/1d0c94061bab124be81a649ac3fa1ce5d9a2df23))


### Dependencies

* update guava to 29.0-android ([#1174](https://www.github.com/googleapis/gax-java/issues/1174)) ([287cada](https://www.github.com/googleapis/gax-java/commit/287cadae528549545da9e7e9d63fd70c1268e3c1)), closes [#1151](https://www.github.com/googleapis/gax-java/issues/1151)

### [1.58.3](https://www.github.com/googleapis/gax-java/compare/v1.58.2...v1.58.3) (2020-09-15)


### Bug Fixes

* [gax-java] Add speedy Bazel builds to Travis ([#1181](https://www.github.com/googleapis/gax-java/issues/1181)) ([2fb85fe](https://www.github.com/googleapis/gax-java/commit/2fb85fed095c6043ee39b63a0f7dff3fd93cbd7b))
* [gax-java] add Vim files to .gitignore ([#1179](https://www.github.com/googleapis/gax-java/issues/1179)) ([2de22b6](https://www.github.com/googleapis/gax-java/commit/2de22b6645fbfd7ada7d0067e5cdd3c2039ec190))
* [gax-java] Fix broken Bazel build ([#1180](https://www.github.com/googleapis/gax-java/issues/1180)) ([834c05e](https://www.github.com/googleapis/gax-java/commit/834c05e1d35a17f90bf8cd1b2cdce40bea451c95))

### [1.58.2](https://www.github.com/googleapis/gax-java/compare/v1.58.1...v1.58.2) (2020-08-07)


### Bug Fixes

* Settings objects should not try to read quotaProjectId from credentials ([#1162](https://www.github.com/googleapis/gax-java/issues/1162)) ([1b09bcf](https://www.github.com/googleapis/gax-java/commit/1b09bcff1ddfaed8cfa58b92c787f8fc9b08abef))

### [1.58.1](https://www.github.com/googleapis/gax-java/compare/v1.58.0...v1.58.1) (2020-08-06)


### Bug Fixes

* fix dependencies.properties resource file creation during deployment ([#1163](https://www.github.com/googleapis/gax-java/issues/1163)) ([3e7e1f1](https://www.github.com/googleapis/gax-java/commit/3e7e1f1e64bdeb23a51b5155faea975beec0bc84))
* Watchdog.shutdownNow() does not shutdown executor ([#1158](https://www.github.com/googleapis/gax-java/issues/1158)) ([6241a21](https://www.github.com/googleapis/gax-java/commit/6241a2118690d07dd28ffb9447423363f3f914e4))

## [1.58.0](https://www.github.com/googleapis/gax-java/compare/v1.57.2...v1.58.0) (2020-07-31)


### Features

* add retry logging ([#1160](https://www.github.com/googleapis/gax-java/issues/1160)) ([1575715](https://www.github.com/googleapis/gax-java/commit/15757151d4965276bd01e6772c10288959bb17ec))
* enable setting quota_project_id ([#1128](https://www.github.com/googleapis/gax-java/issues/1128)) ([20bb200](https://www.github.com/googleapis/gax-java/commit/20bb200c8019ad1df8acbfe210cea7d5e9a9a57c))
* non-retryable RPCs use totalTimeout ([#1149](https://www.github.com/googleapis/gax-java/issues/1149)) ([b7646a3](https://www.github.com/googleapis/gax-java/commit/b7646a3a959b7e5ef40158851f26ce6701da8ca4))


### Bug Fixes

* retain context timeouts in ServerStreamingAttemptCallable ([#1155](https://www.github.com/googleapis/gax-java/issues/1155)) ([461ff84](https://www.github.com/googleapis/gax-java/commit/461ff846ca551c2242bf6c60e61234997d0ba58e))

### [1.57.2](https://www.github.com/googleapis/gax-java/compare/v1.57.1...v1.57.2) (2020-07-21)


### Bug Fixes

* Fix javadoc generation on Java11 ([#1145](https://www.github.com/googleapis/gax-java/issues/1145)) ([c7a039e](https://www.github.com/googleapis/gax-java/commit/c7a039e07be02298d9dd906b08e1e1bb995e85e2))
* Preconditions only supports %s format ([#1153](https://www.github.com/googleapis/gax-java/issues/1153)) ([8145311](https://www.github.com/googleapis/gax-java/commit/8145311b38fdd3bf82a4958f8aef5313857b70c0))

### [1.57.1](https://www.github.com/googleapis/gax-java/compare/v1.57.0...v1.57.1) (2020-07-07)


### Bug Fixes

* add back javax.annotation dependency ([#1129](https://www.github.com/googleapis/gax-java/issues/1129)) ([77a4cc3](https://www.github.com/googleapis/gax-java/commit/77a4cc373914396dd343891e38cf743166668c96))


### Dependencies

* update google-auth-library to 0.21.0 ([#1134](https://www.github.com/googleapis/gax-java/issues/1134)) ([6528e5c](https://www.github.com/googleapis/gax-java/commit/6528e5cb9cec50ef01c0d2601c6db518df825747))
