# Changelog

## [2.3.1](https://github.com/googleapis/api-common-java/compare/v2.3.0...v2.3.1) (2022-12-06)


### Bug Fixes

* Build with JDK11 and target JDK8 ([1862611](https://github.com/googleapis/api-common-java/commit/1862611d8b5cff69288380fe567e6ce033148c55))

## [2.3.0](https://github.com/googleapis/api-common-java/compare/v2.2.2...v2.3.0) (2022-12-05)


### Features

* Next release from main branch is 2.3.0 ([#371](https://github.com/googleapis/api-common-java/issues/371)) ([9f6f62d](https://github.com/googleapis/api-common-java/commit/9f6f62d1a32ee0b9c02065fe3752c2cd9d711038))


### Dependencies

* Update auto-value.version to v1.10.1 ([#378](https://github.com/googleapis/api-common-java/issues/378)) ([d44ba0b](https://github.com/googleapis/api-common-java/commit/d44ba0b7b15ef910ad7caba607d0d84edac2611b))
* Update dependency com.google.auto.value:auto-value to v1.10.1 ([#380](https://github.com/googleapis/api-common-java/issues/380)) ([96eb7d6](https://github.com/googleapis/api-common-java/commit/96eb7d67c06fcd2e43dc6a2d332e9ad8e5fec7eb))
* Update dependency com.google.auto.value:auto-value-annotations to v1.10.1 ([#381](https://github.com/googleapis/api-common-java/issues/381)) ([fb33ae8](https://github.com/googleapis/api-common-java/commit/fb33ae8ab0810dde5e33400309b4e632e04f4e0b))
* Update dependency com.google.errorprone:error_prone_annotations to v2.16 ([#382](https://github.com/googleapis/api-common-java/issues/382)) ([da19378](https://github.com/googleapis/api-common-java/commit/da1937834bcfa9edfe2fa642211478fed54e5e61))
* Update dependency gradle to v6.9.3 ([#379](https://github.com/googleapis/api-common-java/issues/379)) ([3cbb296](https://github.com/googleapis/api-common-java/commit/3cbb296485c5f6a5483aa15573c563e97436e13a))

## [2.2.2](https://github.com/googleapis/api-common-java/compare/v2.2.1...v2.2.2) (2022-08-04)


### Dependencies

* update dependency com.google.errorprone:error_prone_annotations to v2.15.0 ([#364](https://github.com/googleapis/api-common-java/issues/364)) ([28ff65d](https://github.com/googleapis/api-common-java/commit/28ff65d7e70495cc079379b8e78cb515a2960dae))

## [2.2.1](https://github.com/googleapis/api-common-java/compare/v2.2.0...v2.2.1) (2022-06-09)


### Dependencies

* update dependency com.google.errorprone:error_prone_annotations to v2.14.0 ([#360](https://github.com/googleapis/api-common-java/issues/360)) ([2bf75c6](https://github.com/googleapis/api-common-java/commit/2bf75c6415646df0a2dd074a75bd044d0bdc67ca))

## [2.2.0](https://github.com/googleapis/api-common-java/compare/v2.1.5...v2.2.0) (2022-04-18)


### Features

* next release from main branch is 2.2.0 ([#355](https://github.com/googleapis/api-common-java/issues/355)) ([75f57bc](https://github.com/googleapis/api-common-java/commit/75f57bca521495a91fd7e55447c60e2b8955ef06))


### Dependencies

* update dependency com.google.errorprone:error_prone_annotations to v2.12.1 ([#350](https://github.com/googleapis/api-common-java/issues/350)) ([2e6de4f](https://github.com/googleapis/api-common-java/commit/2e6de4f0ce7bbbbbcb066e9986a8d7bd04ab043c))
* update dependency com.google.errorprone:error_prone_annotations to v2.13.0 ([#353](https://github.com/googleapis/api-common-java/issues/353)) ([2954859](https://github.com/googleapis/api-common-java/commit/2954859afe658b07ac76773e056b1b48fe81182b))
* update dependency com.google.errorprone:error_prone_annotations to v2.13.1 ([#354](https://github.com/googleapis/api-common-java/issues/354)) ([ca94cf9](https://github.com/googleapis/api-common-java/commit/ca94cf901e15765d24a5abaaa9707a74f134cfec))

### [2.1.5](https://github.com/googleapis/api-common-java/compare/v2.1.4...v2.1.5) (2022-03-23)


### Dependencies

* guava 31.1 ([#346](https://github.com/googleapis/api-common-java/issues/346)) ([94ec147](https://github.com/googleapis/api-common-java/commit/94ec14787626d64b82197ae541fb152e66dfa442))
* update dependency gradle to v6.9.2 ([#325](https://github.com/googleapis/api-common-java/issues/325)) ([58b33f5](https://github.com/googleapis/api-common-java/commit/58b33f5b83583f85a3091c83e1f13771aa7d0a1c))

### [2.1.4](https://github.com/googleapis/api-common-java/compare/v2.1.3...v2.1.4) (2022-02-07)


### Bug Fixes

* Support delimiters(_-.~) as start or end characters for a segment ([#338](https://github.com/googleapis/api-common-java/issues/338)) ([b2eba9e](https://github.com/googleapis/api-common-java/commit/b2eba9e7497fe13f7132e05a658ca936de5aa9c5))

### [2.1.3](https://github.com/googleapis/api-common-java/compare/v2.1.2...v2.1.3) (2022-01-25)


### Dependencies

* update dependency com.google.errorprone:error_prone_annotations to v2.11.0 ([#331](https://github.com/googleapis/api-common-java/issues/331)) ([1a1910c](https://github.com/googleapis/api-common-java/commit/1a1910c1812375c98212d761034ed300a952f604))

### [2.1.2](https://www.github.com/googleapis/api-common-java/compare/v2.1.1...v2.1.2) (2022-01-06)


### Dependencies

* update dependency com.google.auto.value:auto-value to v1.9 ([#323](https://www.github.com/googleapis/api-common-java/issues/323)) ([d8d7084](https://www.github.com/googleapis/api-common-java/commit/d8d708468f134ad0b39bfd8bccf8d7e08a19e7e1))
* update dependency com.google.auto.value:auto-value-annotations to v1.9 ([#324](https://www.github.com/googleapis/api-common-java/issues/324)) ([0c920a4](https://www.github.com/googleapis/api-common-java/commit/0c920a4c5e68cc7b0a05297bf01114d4a231c591))

### [2.1.1](https://www.github.com/googleapis/api-common-java/compare/v2.1.0...v2.1.1) (2021-11-10)


### Dependencies

* update dependency com.google.errorprone:error_prone_annotations to v2.10.0 ([#316](https://www.github.com/googleapis/api-common-java/issues/316)) ([99df091](https://www.github.com/googleapis/api-common-java/commit/99df0919c7901948a90cc411fc212468a7754c01))

## [2.1.0](https://www.github.com/googleapis/api-common-java/compare/v2.0.5...v2.1.0) (2021-10-20)


### Features

* next release from main branch is 2.1.0 ([#308](https://www.github.com/googleapis/api-common-java/issues/308)) ([3965b13](https://www.github.com/googleapis/api-common-java/commit/3965b13ea832cefe4aa58f4f2ecfd0423686c0f9))

### [2.0.5](https://www.github.com/googleapis/api-common-java/compare/v2.0.4...v2.0.5) (2021-10-08)


### Dependencies

* add maven plugin to enable install ([#304](https://www.github.com/googleapis/api-common-java/issues/304)) ([ea0b777](https://www.github.com/googleapis/api-common-java/commit/ea0b7773c799db16b2ae68ff600dcacaca52abf9))

### [2.0.4](https://www.github.com/googleapis/api-common-java/compare/v2.0.3...v2.0.4) (2021-10-06)


### Dependencies

* use nexus-publish plugin ([#300](https://www.github.com/googleapis/api-common-java/issues/300)) ([e502ae6](https://www.github.com/googleapis/api-common-java/commit/e502ae63f7cea8293c3bf617a74bc74bd345edbc))

### [2.0.3](https://www.github.com/googleapis/api-common-java/compare/v2.0.3...v2.0.3) (2021-10-06)


### Dependencies

* use nexus-publish plugin ([#297](https://www.github.com/googleapis/api-common-java/issues/297)) ([ea19c90](https://www.github.com/googleapis/api-common-java/commit/ea19c90e95088bd4c633c213b092fc9df673a02f))

### [2.0.2](https://www.github.com/googleapis/api-common-java/compare/v2.0.1...v2.0.2) (2021-08-20)


### Dependencies

* update dependency com.google.errorprone:error_prone_annotations to v2.9.0 ([#266](https://www.github.com/googleapis/api-common-java/issues/266)) ([9019ce9](https://www.github.com/googleapis/api-common-java/commit/9019ce98dcd722deea2ca3845d4396184dcc1599))

### [2.0.1](https://www.github.com/googleapis/api-common-java/compare/v2.0.0...v2.0.1) (2021-08-10)


### Dependencies

* update dependency com.google.errorprone:error_prone_annotations to v2.8.1 ([#261](https://www.github.com/googleapis/api-common-java/issues/261)) ([1875934](https://www.github.com/googleapis/api-common-java/commit/187593451b90252daddb55555ab4d40e2fbd4d82))

## [2.0.0](https://www.github.com/googleapis/api-common-java/compare/v1.10.6...v2.0.0) (2021-07-29)


### ⚠ BREAKING CHANGES

* update api-common-java min java version to java8 (#251)

### Features

* update api-common-java min java version to java8 ([#251](https://www.github.com/googleapis/api-common-java/issues/251)) ([7fe322c](https://www.github.com/googleapis/api-common-java/commit/7fe322cef65bdcc9549ddc9efa1ff95df36cc531))


### Dependencies

* update guava version to 30.1.1-jre ([7fe322c](https://www.github.com/googleapis/api-common-java/commit/7fe322cef65bdcc9549ddc9efa1ff95df36cc531))

### [1.10.5](https://www.github.com/googleapis/api-common-java/compare/v1.10.5...v1.10.5) (2021-07-27)


### Build System

* migrate to google sonatype endpoint ([#248](https://www.github.com/googleapis/api-common-java/issues/248)) ([c3ab73e](https://www.github.com/googleapis/api-common-java/commit/c3ab73eca99f3036a26fe10a880c1ff068efc0da))


### Dependencies

* update dependency com.google.auto.value:auto-value to v1.8.2 ([#242](https://www.github.com/googleapis/api-common-java/issues/242)) ([5de2f3e](https://www.github.com/googleapis/api-common-java/commit/5de2f3edfcaed42061ad7dbc4efc886587c0e769))
* update dependency com.google.auto.value:auto-value-annotations to v1.8.2 ([#243](https://www.github.com/googleapis/api-common-java/issues/243)) ([53d6d38](https://www.github.com/googleapis/api-common-java/commit/53d6d38ac0a7d6dc5738823d69ac96d1eadd23a3))
* update dependency com.google.errorprone:error_prone_annotations to v2.8.0 ([#245](https://www.github.com/googleapis/api-common-java/issues/245)) ([8889689](https://www.github.com/googleapis/api-common-java/commit/88896894b821771293cda2d4b7a2f6027ee20ef4))

### [1.10.5](https://www.github.com/googleapis/api-common-java/compare/v1.10.4...v1.10.5) (2021-07-20)


### Bug Fixes

* Fix PathTemplate custom verb logic matching and instantiating ([#244](https://www.github.com/googleapis/api-common-java/issues/244)) ([d4913d3](https://www.github.com/googleapis/api-common-java/commit/d4913d33ff2153cb3a8f6382ab8d918980f542ea))


### Dependencies

* update dependency io.codearte.gradle.nexus:gradle-nexus-staging-plugin to v0.30.0 ([#239](https://www.github.com/googleapis/api-common-java/issues/239)) ([2ca4359](https://www.github.com/googleapis/api-common-java/commit/2ca4359127cc2f8eddb81e8091362a75e1e6e38e))

### [1.10.4](https://www.github.com/googleapis/api-common-java/compare/v1.10.3...v1.10.4) (2021-05-19)


### Dependencies

* update dependency com.google.errorprone:error_prone_annotations to v2.7.1 ([#231](https://www.github.com/googleapis/api-common-java/issues/231)) ([51b00e0](https://www.github.com/googleapis/api-common-java/commit/51b00e0603583fc3b781783945dcbccef81a22fd))

### [1.10.3](https://www.github.com/googleapis/api-common-java/compare/v1.10.2...v1.10.3) (2021-04-22)


### Dependencies

* update dependency com.google.auto.value:auto-value to v1.8.1 ([#219](https://www.github.com/googleapis/api-common-java/issues/219)) ([307c640](https://www.github.com/googleapis/api-common-java/commit/307c640cb487962786be5551a65863c7d2276a3a))
* update dependency com.google.auto.value:auto-value-annotations to v1.8.1 ([#215](https://www.github.com/googleapis/api-common-java/issues/215)) ([15cebbc](https://www.github.com/googleapis/api-common-java/commit/15cebbcaea8a1ea62e4a800d8d325ee302971fcf))

### [1.10.2](https://www.github.com/googleapis/api-common-java/compare/v1.10.1...v1.10.2) (2021-04-19)


### Dependencies

* guava 30.1.1 ([#207](https://www.github.com/googleapis/api-common-java/issues/207)) ([20578a0](https://www.github.com/googleapis/api-common-java/commit/20578a00e5b4ba2f9c4482eccf55ffa37ab12335))

### [1.10.1](https://www.github.com/googleapis/api-common-java/compare/v1.10.0...v1.10.1) (2020-10-16)


### Dependencies

* update dependency com.google.auto.value:auto-value to v1.7.4 ([#170](https://www.github.com/googleapis/api-common-java/issues/170)) ([e6f8fef](https://www.github.com/googleapis/api-common-java/commit/e6f8fef536858c05a2b83404e8b9c774c6506894))
* update dependency com.google.auto.value:auto-value-annotations to v1.7.4 ([#171](https://www.github.com/googleapis/api-common-java/issues/171)) ([00a12b9](https://www.github.com/googleapis/api-common-java/commit/00a12b94c44463b8f37b13cedc3a9241ec031f34))
* update dependency com.google.errorprone:error_prone_annotations to v2.4.0 ([#172](https://www.github.com/googleapis/api-common-java/issues/172)) ([89b2a48](https://www.github.com/googleapis/api-common-java/commit/89b2a48ac22043d85c222979599522ca9397849f))

## [1.10.0](https://www.github.com/googleapis/api-common-java/compare/v1.9.3...v1.10.0) (2020-07-17)


### Features

* add ApiFutures.successfulAsList ([#163](https://www.github.com/googleapis/api-common-java/issues/163)) ([6af8e24](https://www.github.com/googleapis/api-common-java/commit/6af8e24a6252da7217e7c53f86cbb2b321327fc4))

### [1.9.3](https://www.github.com/googleapis/api-common-java/compare/v1.9.2...v1.9.3) (2020-07-01)


### Bug Fixes

* enable complex resource ids in instantiate() ([#159](https://www.github.com/googleapis/api-common-java/issues/159)) ([955b8a7](https://www.github.com/googleapis/api-common-java/commit/955b8a7c7d117c05593763501ee365b74f3cd1f8))
