# Changelog

## [2.5.0](https://github.com/googleapis/google-cloud-java/compare/google-cloud-service-usage-v2.4.1-SNAPSHOT...google-cloud-service-usage-v2.5.0) (2022-10-24)


### Features

* [analyticsdata] add `subject_to_thresholding` field to `ResponseMetadata` type ([#8545](https://github.com/googleapis/google-cloud-java/issues/8545)) ([8fdc6c1](https://github.com/googleapis/google-cloud-java/commit/8fdc6c1f10f88f30f4d1407579d645f75366b4cf))
* add `tokens_per_project_per_hour` field to `PropertyQuota` type ([8fdc6c1](https://github.com/googleapis/google-cloud-java/commit/8fdc6c1f10f88f30f4d1407579d645f75366b4cf))
* create release please configuration ([41b97e6](https://github.com/googleapis/google-cloud-java/commit/41b97e6d0d38a54fbabf51a3069bf1473c48f730))


### Bug Fixes

* **deps:** update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.2 ([#8325](https://github.com/googleapis/google-cloud-java/issues/8325)) ([01f492b](https://github.com/googleapis/google-cloud-java/commit/01f492be424acdb90edb23ba66656aeff7cf39eb))
* **deps:** update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#8528](https://github.com/googleapis/google-cloud-java/issues/8528)) ([bd36199](https://github.com/googleapis/google-cloud-java/commit/bd361998ac4eb7c78eef3b3eac39aef31a0cf44e))
* owl-bot-staging should not be commited ([#8337](https://github.com/googleapis/google-cloud-java/issues/8337)) ([c9bb4a9](https://github.com/googleapis/google-cloud-java/commit/c9bb4a97aa19032b78c86c951fe9920f24ac4eec))


### Dependencies

* reverting renovate bot pull requests ([#8417](https://github.com/googleapis/google-cloud-java/issues/8417)) ([8f0c60b](https://github.com/googleapis/google-cloud-java/commit/8f0c60bde446acccc665eb7894723632eefc3503))

## [2.4.0](https://github.com/googleapis/google-cloud-java/compare/google-cloud-service-usage-v2.3.7...google-cloud-service-usage-v2.4.0) (2022-10-17)


### Features

* [analyticsdata] add `subject_to_thresholding` field to `ResponseMetadata` type ([#8545](https://github.com/googleapis/google-cloud-java/issues/8545)) ([8fdc6c1](https://github.com/googleapis/google-cloud-java/commit/8fdc6c1f10f88f30f4d1407579d645f75366b4cf))
* add `tokens_per_project_per_hour` field to `PropertyQuota` type ([8fdc6c1](https://github.com/googleapis/google-cloud-java/commit/8fdc6c1f10f88f30f4d1407579d645f75366b4cf))
* create release please configuration ([41b97e6](https://github.com/googleapis/google-cloud-java/commit/41b97e6d0d38a54fbabf51a3069bf1473c48f730))


### Bug Fixes

* **deps:** update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.2 ([#8325](https://github.com/googleapis/google-cloud-java/issues/8325)) ([01f492b](https://github.com/googleapis/google-cloud-java/commit/01f492be424acdb90edb23ba66656aeff7cf39eb))
* **deps:** update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#8528](https://github.com/googleapis/google-cloud-java/issues/8528)) ([bd36199](https://github.com/googleapis/google-cloud-java/commit/bd361998ac4eb7c78eef3b3eac39aef31a0cf44e))
* owl-bot-staging should not be commited ([#8337](https://github.com/googleapis/google-cloud-java/issues/8337)) ([c9bb4a9](https://github.com/googleapis/google-cloud-java/commit/c9bb4a97aa19032b78c86c951fe9920f24ac4eec))


### Dependencies

* reverting renovate bot pull requests ([#8417](https://github.com/googleapis/google-cloud-java/issues/8417)) ([8f0c60b](https://github.com/googleapis/google-cloud-java/commit/8f0c60bde446acccc665eb7894723632eefc3503))

## [2.3.7](https://github.com/googleapis/java-service-usage/compare/v2.3.6...v2.3.7) (2022-10-05)


### Bug Fixes

* update protobuf to v3.21.7 ([2dd4413](https://github.com/googleapis/java-service-usage/commit/2dd44132fe599ae85ea7e9b8fe86a83db9136d41))

## [2.3.6](https://github.com/googleapis/java-service-usage/compare/v2.3.5...v2.3.6) (2022-10-03)


### Dependencies

* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#306](https://github.com/googleapis/java-service-usage/issues/306)) ([15310a0](https://github.com/googleapis/java-service-usage/commit/15310a0726b08597253d60c1f2d2dce70aa08b99))

## [2.3.5](https://github.com/googleapis/java-service-usage/compare/v2.3.4...v2.3.5) (2022-09-29)


### Dependencies

* Update dependency cachetools to v5 ([#296](https://github.com/googleapis/java-service-usage/issues/296)) ([b1fe76c](https://github.com/googleapis/java-service-usage/commit/b1fe76c7b18652bafc205d2ae72896000e4b84c1))
* Update dependency certifi to v2022.9.24 ([#279](https://github.com/googleapis/java-service-usage/issues/279)) ([cd762fc](https://github.com/googleapis/java-service-usage/commit/cd762fc71ca5aa0d600727bc2a8716a2486d3c26))
* Update dependency charset-normalizer to v2.1.1 ([#283](https://github.com/googleapis/java-service-usage/issues/283)) ([a38f295](https://github.com/googleapis/java-service-usage/commit/a38f295c8f1e87e3c3f5c56c4426256eab965cea))
* Update dependency click to v8.1.3 ([#284](https://github.com/googleapis/java-service-usage/issues/284)) ([c7f550a](https://github.com/googleapis/java-service-usage/commit/c7f550a4571722584c1c5833bbc20c05df6417c2))
* Update dependency gcp-releasetool to v1.8.8 ([#280](https://github.com/googleapis/java-service-usage/issues/280)) ([30f9930](https://github.com/googleapis/java-service-usage/commit/30f99302c70bd4b0d4be2c18fcca93395a933850))
* Update dependency google-api-core to v2.10.1 ([#285](https://github.com/googleapis/java-service-usage/issues/285)) ([e344802](https://github.com/googleapis/java-service-usage/commit/e344802b0eb494e04956a231a2925e11dab6e40a))
* Update dependency google-auth to v2.12.0 ([#286](https://github.com/googleapis/java-service-usage/issues/286)) ([dca4260](https://github.com/googleapis/java-service-usage/commit/dca4260a0c6759b2c2feb083b580490d7f159db3))
* Update dependency google-cloud-core to v2.3.2 ([#281](https://github.com/googleapis/java-service-usage/issues/281)) ([180b195](https://github.com/googleapis/java-service-usage/commit/180b19556a075162c37d4c41e67d851ebc72b705))
* Update dependency google-cloud-storage to v2.5.0 ([#287](https://github.com/googleapis/java-service-usage/issues/287)) ([a88f0a5](https://github.com/googleapis/java-service-usage/commit/a88f0a536eebead214a10fd25adee0566bd88d5e))
* Update dependency google-crc32c to v1.5.0 ([#298](https://github.com/googleapis/java-service-usage/issues/298)) ([97e7242](https://github.com/googleapis/java-service-usage/commit/97e724221861f907f421ddb6470bb28a8cde0a5b))
* Update dependency googleapis-common-protos to v1.56.4 ([#282](https://github.com/googleapis/java-service-usage/issues/282)) ([efabf3b](https://github.com/googleapis/java-service-usage/commit/efabf3be068e16644e308604e7ddcee19ab06eb4))
* Update dependency importlib-metadata to v4.12.0 ([#299](https://github.com/googleapis/java-service-usage/issues/299)) ([0b2daf9](https://github.com/googleapis/java-service-usage/commit/0b2daf9f76d926f612b842fea65e16e11e4238c8))
* Update dependency jeepney to v0.8.0 ([#300](https://github.com/googleapis/java-service-usage/issues/300)) ([8116cce](https://github.com/googleapis/java-service-usage/commit/8116cceb0b9d70c9932808eef56e3b3e5525ca6b))
* Update dependency jinja2 to v3.1.2 ([#288](https://github.com/googleapis/java-service-usage/issues/288)) ([d9bb2d5](https://github.com/googleapis/java-service-usage/commit/d9bb2d525d8872d146f6fc5eb3db08ed69944f0c))
* Update dependency keyring to v23.9.3 ([#289](https://github.com/googleapis/java-service-usage/issues/289)) ([179d1a0](https://github.com/googleapis/java-service-usage/commit/179d1a0b2aa3721a3f93cb97128060d991a23aaf))
* Update dependency markupsafe to v2.1.1 ([#290](https://github.com/googleapis/java-service-usage/issues/290)) ([b334bdf](https://github.com/googleapis/java-service-usage/commit/b334bdff591cf8c24f377ac7eb2aa0cd16a201ce))
* Update dependency protobuf to v3.20.2 ([#291](https://github.com/googleapis/java-service-usage/issues/291)) ([53a48af](https://github.com/googleapis/java-service-usage/commit/53a48afbcdacbf27433f106f90f13c9b523b0c30))
* Update dependency protobuf to v4 ([#297](https://github.com/googleapis/java-service-usage/issues/297)) ([c4fa4a4](https://github.com/googleapis/java-service-usage/commit/c4fa4a44ae7aa7ce5b8f68c251b92c7a147fb44a))
* Update dependency pyjwt to v2.5.0 ([#292](https://github.com/googleapis/java-service-usage/issues/292)) ([fc7ce03](https://github.com/googleapis/java-service-usage/commit/fc7ce03326e41fbf897685ce087fc143b1e03c3d))
* Update dependency requests to v2.28.1 ([#293](https://github.com/googleapis/java-service-usage/issues/293)) ([4017f95](https://github.com/googleapis/java-service-usage/commit/4017f9551db66175972f30c3b046fe42d61936b0))
* Update dependency typing-extensions to v4.3.0 ([#294](https://github.com/googleapis/java-service-usage/issues/294)) ([756bd50](https://github.com/googleapis/java-service-usage/commit/756bd50d7de42d63a29b31167141e52572e031e4))
* Update dependency zipp to v3.8.1 ([#295](https://github.com/googleapis/java-service-usage/issues/295)) ([19d2307](https://github.com/googleapis/java-service-usage/commit/19d23078501a8074cbd54d0c462f4f1c0aad4cb3))

## [2.3.4](https://github.com/googleapis/java-service-usage/compare/v2.3.3...v2.3.4) (2022-09-15)


### Dependencies

* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.3 ([#270](https://github.com/googleapis/java-service-usage/issues/270)) ([78294d8](https://github.com/googleapis/java-service-usage/commit/78294d8a22949be147dfd1561e245091eab84ad4))

## [2.3.3](https://github.com/googleapis/java-service-usage/compare/v2.3.2...v2.3.3) (2022-09-09)


### Dependencies

* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.2 ([#265](https://github.com/googleapis/java-service-usage/issues/265)) ([bebf9c9](https://github.com/googleapis/java-service-usage/commit/bebf9c908da90b78e2a857eb477d2aa63e3554b5))

## [2.3.2](https://github.com/googleapis/java-service-usage/compare/v2.3.1...v2.3.2) (2022-07-26)


### Bug Fixes

* enable longpaths support for windows test ([#1485](https://github.com/googleapis/java-service-usage/issues/1485)) ([#252](https://github.com/googleapis/java-service-usage/issues/252)) ([cd1d293](https://github.com/googleapis/java-service-usage/commit/cd1d293797cde14fc970fc5aafd6c752e42d78c3))

## [2.3.1](https://github.com/googleapis/java-service-usage/compare/v2.3.0...v2.3.1) (2022-07-01)


### Bug Fixes

* update gapic-generator-java with mock service generation fixes ([#243](https://github.com/googleapis/java-service-usage/issues/243)) ([abb7bd6](https://github.com/googleapis/java-service-usage/commit/abb7bd686eedcd9bae939086f9bbb8d711a0508a))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.13.0 ([#241](https://github.com/googleapis/java-service-usage/issues/241)) ([1ce266a](https://github.com/googleapis/java-service-usage/commit/1ce266a302a6d4a3ddd4ede5be6b6b26d537b854))

## [2.3.0](https://github.com/googleapis/java-service-usage/compare/v2.2.7...v2.3.0) (2022-05-19)


### Features

* add build scripts for native image testing in Java 17 ([#1440](https://github.com/googleapis/java-service-usage/issues/1440)) ([#235](https://github.com/googleapis/java-service-usage/issues/235)) ([e87c196](https://github.com/googleapis/java-service-usage/commit/e87c196997906c4be58e1313795bc0cafd5c03da))
* next release from main branch is 2.3.0 ([#227](https://github.com/googleapis/java-service-usage/issues/227)) ([df87575](https://github.com/googleapis/java-service-usage/commit/df87575d4d12c4ad1dacc1a8c40c9ad596e76313))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.12.0 ([#234](https://github.com/googleapis/java-service-usage/issues/234)) ([13743bb](https://github.com/googleapis/java-service-usage/commit/13743bb676aa45560394a409014aef7fbbc9da6d))

### [2.2.7](https://github.com/googleapis/java-service-usage/compare/v2.2.6...v2.2.7) (2022-04-15)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.10.0 ([#217](https://github.com/googleapis/java-service-usage/issues/217)) ([86ea111](https://github.com/googleapis/java-service-usage/commit/86ea1116f6083cecbc42fdb9bd29e34db448842b))

### [2.2.6](https://github.com/googleapis/java-service-usage/compare/v2.2.5...v2.2.6) (2022-03-29)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.9.0 ([#209](https://github.com/googleapis/java-service-usage/issues/209)) ([7a5eded](https://github.com/googleapis/java-service-usage/commit/7a5eded75d99c8664cb4ced4339aaf5547579630))

### [2.2.5](https://github.com/googleapis/java-service-usage/compare/v2.2.4...v2.2.5) (2022-03-02)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.8.0 ([#200](https://github.com/googleapis/java-service-usage/issues/200)) ([47cd52c](https://github.com/googleapis/java-service-usage/commit/47cd52c450da09d114daa91633647757216012c4))

### [2.2.4](https://github.com/googleapis/java-service-usage/compare/v2.2.3...v2.2.4) (2022-02-28)


### Dependencies

* update actions/setup-java action to v3 ([#193](https://github.com/googleapis/java-service-usage/issues/193)) ([731e002](https://github.com/googleapis/java-service-usage/commit/731e0022150b78f24d745ecf3cccf64a97b0800c))

### [2.2.3](https://github.com/googleapis/java-service-usage/compare/v2.2.2...v2.2.3) (2022-02-11)


### Dependencies

* update actions/github-script action to v6 ([#184](https://github.com/googleapis/java-service-usage/issues/184)) ([a411730](https://github.com/googleapis/java-service-usage/commit/a4117309e0b19939ce87babad30a348b2de820ab))

### [2.2.2](https://github.com/googleapis/java-service-usage/compare/v2.2.1...v2.2.2) (2022-02-03)


### Dependencies

* **java:** update actions/github-script action to v5 ([#1339](https://github.com/googleapis/java-service-usage/issues/1339)) ([#171](https://github.com/googleapis/java-service-usage/issues/171)) ([54e7283](https://github.com/googleapis/java-service-usage/commit/54e7283229ec993f7b9c16812ca29b94e4da24fc))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.7.0 ([#174](https://github.com/googleapis/java-service-usage/issues/174)) ([2d8b3dc](https://github.com/googleapis/java-service-usage/commit/2d8b3dc09bfde362d2473de5eecb324312a7c592))

### [2.2.1](https://www.github.com/googleapis/java-service-usage/compare/v2.2.0...v2.2.1) (2022-01-07)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.6.0 ([#156](https://www.github.com/googleapis/java-service-usage/issues/156)) ([ea1201a](https://www.github.com/googleapis/java-service-usage/commit/ea1201ac37cfb8f78c4960dfd8b7d989f2fb9c0d))

## [2.2.0](https://www.github.com/googleapis/java-service-usage/compare/v2.1.3...v2.2.0) (2021-12-06)


### Features

* next release from main branch is 2.2.0 ([#130](https://www.github.com/googleapis/java-service-usage/issues/130)) ([4fd94bb](https://www.github.com/googleapis/java-service-usage/commit/4fd94bb7bbf1acfeab0ffef7dac337eb0cc8a455))


### Bug Fixes

* **java:** add -ntp flag to native image testing command ([#1299](https://www.github.com/googleapis/java-service-usage/issues/1299)) ([#150](https://www.github.com/googleapis/java-service-usage/issues/150)) ([109174e](https://www.github.com/googleapis/java-service-usage/commit/109174e1118ce937d6ee6dd4bc5c994b51b12972))
* **java:** java 17 dependency arguments ([#1266](https://www.github.com/googleapis/java-service-usage/issues/1266)) ([#135](https://www.github.com/googleapis/java-service-usage/issues/135)) ([7a43687](https://www.github.com/googleapis/java-service-usage/commit/7a436874ebd46966f58027c00789ea57a8fca728))


### Documentation

* Remove erroneous space in a docstring ([#124](https://www.github.com/googleapis/java-service-usage/issues/124)) ([113607b](https://www.github.com/googleapis/java-service-usage/commit/113607b338f37c2556d236d5d93ea681b905a796))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.5.0 ([#143](https://www.github.com/googleapis/java-service-usage/issues/143)) ([174c5ff](https://www.github.com/googleapis/java-service-usage/commit/174c5ff5a4e49442a5c1751a3a900572c78b49fd))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.5.1 ([#149](https://www.github.com/googleapis/java-service-usage/issues/149)) ([8c0355b](https://www.github.com/googleapis/java-service-usage/commit/8c0355b56e8007bc43744c5dca411ff2f2d5b816))

### [2.1.3](https://www.github.com/googleapis/java-service-usage/compare/v2.1.2...v2.1.3) (2021-10-19)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.4.0 ([#126](https://www.github.com/googleapis/java-service-usage/issues/126)) ([bcbe2dc](https://www.github.com/googleapis/java-service-usage/commit/bcbe2dc96e581ef276232d44f400d7384ea0845c))

### [2.1.2](https://www.github.com/googleapis/java-service-usage/compare/v2.1.1...v2.1.2) (2021-09-22)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.3.0 ([#112](https://www.github.com/googleapis/java-service-usage/issues/112)) ([9a9a16b](https://www.github.com/googleapis/java-service-usage/commit/9a9a16bc3dcd66194003b527ca93d948d256abca))

### [2.1.1](https://www.github.com/googleapis/java-service-usage/compare/v2.1.0...v2.1.1) (2021-09-14)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.2.1 ([#105](https://www.github.com/googleapis/java-service-usage/issues/105)) ([a0df3f4](https://www.github.com/googleapis/java-service-usage/commit/a0df3f47c9abd70d4e0c55403093cbdd176df193))

## [2.1.0](https://www.github.com/googleapis/java-service-usage/compare/v2.0.2...v2.1.0) (2021-09-01)


### Features

* Remove use of deprecated gradle command in java README ([#1196](https://www.github.com/googleapis/java-service-usage/issues/1196)) ([#89](https://www.github.com/googleapis/java-service-usage/issues/89)) ([135e6a8](https://www.github.com/googleapis/java-service-usage/commit/135e6a8cc6996bf61ee3f4cb7cecaef7cfa3ad58))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.2.0 ([#92](https://www.github.com/googleapis/java-service-usage/issues/92)) ([cb2a288](https://www.github.com/googleapis/java-service-usage/commit/cb2a288234a6d3c3aa8f300d24cc54349bf7497e))

### [2.0.2](https://www.github.com/googleapis/java-service-usage/compare/v2.0.1...v2.0.2) (2021-08-23)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.1.0 ([#83](https://www.github.com/googleapis/java-service-usage/issues/83)) ([683356c](https://www.github.com/googleapis/java-service-usage/commit/683356c05f49e5f334a9da5d5df79edb7d701f6d))

### [2.0.1](https://www.github.com/googleapis/java-service-usage/compare/v2.0.0...v2.0.1) (2021-08-12)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.0.1 ([#77](https://www.github.com/googleapis/java-service-usage/issues/77)) ([db964f5](https://www.github.com/googleapis/java-service-usage/commit/db964f57bc32ce30040ab1252c18342b50811b47))

## [2.0.0](https://www.github.com/googleapis/java-service-usage/compare/v1.0.1...v2.0.0) (2021-08-06)


### ⚠ BREAKING CHANGES

* release gapic-generator-java v2.0.0 (#72)

### Features

* release gapic-generator-java v2.0.0 ([#72](https://www.github.com/googleapis/java-service-usage/issues/72)) ([136efe1](https://www.github.com/googleapis/java-service-usage/commit/136efe1ce113639060b5b31202c86a6da84a52f9))


### Bug Fixes

* owlbot post-processor should generate README ([#1154](https://www.github.com/googleapis/java-service-usage/issues/1154)) ([#57](https://www.github.com/googleapis/java-service-usage/issues/57)) ([f57150d](https://www.github.com/googleapis/java-service-usage/commit/f57150df71a50166ffc1e3b60a20b318a94ff04c)), closes [#1146](https://www.github.com/googleapis/java-service-usage/issues/1146) [#1147](https://www.github.com/googleapis/java-service-usage/issues/1147)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2 ([#73](https://www.github.com/googleapis/java-service-usage/issues/73)) ([c56d677](https://www.github.com/googleapis/java-service-usage/commit/c56d677b7b8379354c2dfbefacc33386f2d8b43d))

### [1.0.1](https://www.github.com/googleapis/java-service-usage/compare/v1.0.0...v1.0.1) (2021-07-01)


### Bug Fixes

* Add `shopt -s nullglob` to dependencies script ([#1130](https://www.github.com/googleapis/java-service-usage/issues/1130)) ([#50](https://www.github.com/googleapis/java-service-usage/issues/50)) ([5f4c5c2](https://www.github.com/googleapis/java-service-usage/commit/5f4c5c2dbb1f12cd68596a97ea41346936970892))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.4.0 ([#52](https://www.github.com/googleapis/java-service-usage/issues/52)) ([ed4b31b](https://www.github.com/googleapis/java-service-usage/commit/ed4b31bb2283e4ed520ee916a0a94b9281d844ab))

## [1.0.0](https://www.github.com/googleapis/java-service-usage/compare/v0.2.1...v1.0.0) (2021-06-17)


### Features

* promote to 1.0.0 ([#42](https://www.github.com/googleapis/java-service-usage/issues/42)) ([50946ea](https://www.github.com/googleapis/java-service-usage/commit/50946ea457477b1dd6c1274c871ed4933a221d86))

### [0.2.1](https://www.github.com/googleapis/java-service-usage/compare/v0.2.0...v0.2.1) (2021-06-09)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.3.0 ([#33](https://www.github.com/googleapis/java-service-usage/issues/33)) ([4c3fb00](https://www.github.com/googleapis/java-service-usage/commit/4c3fb007ede33921a31d1ce8d7be81d4601d59d2))

## [0.2.0](https://www.github.com/googleapis/java-service-usage/compare/v0.1.0...v0.2.0) (2021-06-03)


### Features

* update serviceusage v1beta1 API ([#16](https://www.github.com/googleapis/java-service-usage/issues/16)) ([601342b](https://www.github.com/googleapis/java-service-usage/commit/601342be0bc3ff70ad8a3f8df343e43c382d72e7))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.21.1 ([#26](https://www.github.com/googleapis/java-service-usage/issues/26)) ([b9fa9c8](https://www.github.com/googleapis/java-service-usage/commit/b9fa9c873fcd175fa354d8ca69103d26e456359c))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v1 ([#28](https://www.github.com/googleapis/java-service-usage/issues/28)) ([f8ad028](https://www.github.com/googleapis/java-service-usage/commit/f8ad028daf4c3595fb866ed1d5c40cc91f33e306))
* update shared-config ([#15](https://www.github.com/googleapis/java-service-usage/issues/15)) ([9c943a7](https://www.github.com/googleapis/java-service-usage/commit/9c943a71a6773cd722d5ae52dbeacbf9a58747bc))

## 0.1.0 (2021-05-12)


### Features

* initial generation ([6317e92](https://www.github.com/googleapis/java-service-usage/commit/6317e92729dcbf284eb7ec5819676d89fda0e257))
