# Changelog

## [0.8.0](https://github.com/googleapis/google-cloud-java/compare/google-cloud-securitycenter-settings-v0.7.1-SNAPSHOT...google-cloud-securitycenter-settings-v0.8.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))
* **deps:** update dependency com.google.cloud:libraries-bom to v26.1.1 ([#8254](https://github.com/googleapis/google-cloud-java/issues/8254)) ([e4760da](https://github.com/googleapis/google-cloud-java/commit/e4760da4ac8fa6fa91bc82b90b83d0518eca2692))
* 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))

## [0.7.0](https://github.com/googleapis/google-cloud-java/compare/google-cloud-securitycenter-settings-v0.6.6...google-cloud-securitycenter-settings-v0.7.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))
* **deps:** update dependency com.google.cloud:libraries-bom to v26.1.1 ([#8254](https://github.com/googleapis/google-cloud-java/issues/8254)) ([e4760da](https://github.com/googleapis/google-cloud-java/commit/e4760da4ac8fa6fa91bc82b90b83d0518eca2692))
* 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))

## [0.6.6](https://github.com/googleapis/java-securitycenter-settings/compare/v0.6.5...v0.6.6) (2022-10-05)


### Dependencies

* Update dependency certifi to v2022.9.24 ([#566](https://github.com/googleapis/java-securitycenter-settings/issues/566)) ([7ccce8b](https://github.com/googleapis/java-securitycenter-settings/commit/7ccce8b09b048b87c5ebcfd0bc2c8dc1c7cc39e2))
* Update dependency charset-normalizer to v2.1.1 ([#570](https://github.com/googleapis/java-securitycenter-settings/issues/570)) ([147ab90](https://github.com/googleapis/java-securitycenter-settings/commit/147ab90426ec82c4226c9bb6f1b5b84c9a506d29))
* Update dependency click to v8.1.3 ([#571](https://github.com/googleapis/java-securitycenter-settings/issues/571)) ([90b3cef](https://github.com/googleapis/java-securitycenter-settings/commit/90b3cefd14f5dbbb12d2c2e9e2c2fdec448a74d9))
* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#577](https://github.com/googleapis/java-securitycenter-settings/issues/577)) ([a726c21](https://github.com/googleapis/java-securitycenter-settings/commit/a726c21b2fe3c53372ad765238e07c6fcfdc425b))
* Update dependency gcp-releasetool to v1.8.8 ([#567](https://github.com/googleapis/java-securitycenter-settings/issues/567)) ([bf8dc2c](https://github.com/googleapis/java-securitycenter-settings/commit/bf8dc2cc6d25d045398091bc3fcfd14e60c03730))
* Update dependency google-api-core to v2.10.1 ([#572](https://github.com/googleapis/java-securitycenter-settings/issues/572)) ([5346486](https://github.com/googleapis/java-securitycenter-settings/commit/5346486c9bbc141a0bdd9754339f1359146214ac))
* Update dependency google-auth to v2.12.0 ([#573](https://github.com/googleapis/java-securitycenter-settings/issues/573)) ([abac765](https://github.com/googleapis/java-securitycenter-settings/commit/abac7652b98d8d9632ffcbd8089c73600524b442))
* Update dependency google-cloud-core to v2.3.2 ([#568](https://github.com/googleapis/java-securitycenter-settings/issues/568)) ([afe1d1b](https://github.com/googleapis/java-securitycenter-settings/commit/afe1d1bf97cc00597cffd8d91270af0c07f97173))
* Update dependency google-cloud-storage to v2.5.0 ([#574](https://github.com/googleapis/java-securitycenter-settings/issues/574)) ([5cad4fd](https://github.com/googleapis/java-securitycenter-settings/commit/5cad4fd873018b2d4406c3eb2f52d0d0ff02fd9f))
* Update dependency googleapis-common-protos to v1.56.4 ([#569](https://github.com/googleapis/java-securitycenter-settings/issues/569)) ([147cc46](https://github.com/googleapis/java-securitycenter-settings/commit/147cc465a79d997d4afc62d2e33bba89cd1fd829))
* Update dependency jinja2 to v3.1.2 ([#575](https://github.com/googleapis/java-securitycenter-settings/issues/575)) ([1a086c5](https://github.com/googleapis/java-securitycenter-settings/commit/1a086c53aa2ed5ed89fd08e8c37976ba68393db7))

## [0.6.5](https://github.com/googleapis/java-securitycenter-settings/compare/v0.6.4...v0.6.5) (2022-09-27)


### Dependencies

* Update dependency markupsafe to v2.1.1 ([#561](https://github.com/googleapis/java-securitycenter-settings/issues/561)) ([bab5358](https://github.com/googleapis/java-securitycenter-settings/commit/bab5358e2792780495d671626f69560e407b106d))
* Update dependency protobuf to v3.20.2 ([#562](https://github.com/googleapis/java-securitycenter-settings/issues/562)) ([1f00935](https://github.com/googleapis/java-securitycenter-settings/commit/1f0093504d54d7e8df512af967bfc02b15258637))

## [0.6.4](https://github.com/googleapis/java-securitycenter-settings/compare/v0.6.3...v0.6.4) (2022-09-15)


### Dependencies

* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.3 ([#553](https://github.com/googleapis/java-securitycenter-settings/issues/553)) ([7cf4ffe](https://github.com/googleapis/java-securitycenter-settings/commit/7cf4ffef6a23add3bd5fe478e70924ca278780b3))

## [0.6.3](https://github.com/googleapis/java-securitycenter-settings/compare/v0.6.2...v0.6.3) (2022-09-09)


### Dependencies

* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.2 ([#548](https://github.com/googleapis/java-securitycenter-settings/issues/548)) ([daf8d56](https://github.com/googleapis/java-securitycenter-settings/commit/daf8d566abb9d2742a5ac6a6c3703abda2f800aa))

## [0.6.2](https://github.com/googleapis/java-securitycenter-settings/compare/v0.6.1...v0.6.2) (2022-07-27)


### Bug Fixes

* enable longpaths support for windows test ([#1485](https://github.com/googleapis/java-securitycenter-settings/issues/1485)) ([#532](https://github.com/googleapis/java-securitycenter-settings/issues/532)) ([e444215](https://github.com/googleapis/java-securitycenter-settings/commit/e4442151d87bb83f4fc5d64cb7e7d1c352a942f1))

## [0.6.1](https://github.com/googleapis/java-securitycenter-settings/compare/v0.6.0...v0.6.1) (2022-06-23)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.13.0 ([#521](https://github.com/googleapis/java-securitycenter-settings/issues/521)) ([6bd57a3](https://github.com/googleapis/java-securitycenter-settings/commit/6bd57a388ffd046918aa258d68b512889c4a3442))

## [0.6.0](https://github.com/googleapis/java-securitycenter-settings/compare/v0.5.14...v0.6.0) (2022-05-19)


### Features

* add build scripts for native image testing in Java 17 ([#1440](https://github.com/googleapis/java-securitycenter-settings/issues/1440)) ([#512](https://github.com/googleapis/java-securitycenter-settings/issues/512)) ([0b01024](https://github.com/googleapis/java-securitycenter-settings/commit/0b010242cfda5a59e5fa841fd7e6b626b5586a12))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.11.0 ([#511](https://github.com/googleapis/java-securitycenter-settings/issues/511)) ([e9e8440](https://github.com/googleapis/java-securitycenter-settings/commit/e9e844098f7b58f7fc760fbe6bbd9dadb125a350))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.12.0 ([#513](https://github.com/googleapis/java-securitycenter-settings/issues/513)) ([66ff8f5](https://github.com/googleapis/java-securitycenter-settings/commit/66ff8f5d8a621ded0147a0c17a6d10f14d39773e))

### [0.5.14](https://github.com/googleapis/java-securitycenter-settings/compare/v0.5.13...v0.5.14) (2022-04-15)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.10.0 ([#498](https://github.com/googleapis/java-securitycenter-settings/issues/498)) ([26ff50b](https://github.com/googleapis/java-securitycenter-settings/commit/26ff50bc6758f0e5b12ce724a682bbeccdbfa717))

### [0.5.13](https://github.com/googleapis/java-securitycenter-settings/compare/v0.5.12...v0.5.13) (2022-03-29)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.9.0 ([#491](https://github.com/googleapis/java-securitycenter-settings/issues/491)) ([7ac42a4](https://github.com/googleapis/java-securitycenter-settings/commit/7ac42a4d29c0e7e89852211a207a8a30505b603c))

### [0.5.12](https://github.com/googleapis/java-securitycenter-settings/compare/v0.5.11...v0.5.12) (2022-03-02)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.8.0 ([#480](https://github.com/googleapis/java-securitycenter-settings/issues/480)) ([35be554](https://github.com/googleapis/java-securitycenter-settings/commit/35be5543e2ddaf60e02d5467d43da4f4b02da638))

### [0.5.11](https://github.com/googleapis/java-securitycenter-settings/compare/v0.5.10...v0.5.11) (2022-02-28)


### Dependencies

* update actions/setup-java action to v3 ([#472](https://github.com/googleapis/java-securitycenter-settings/issues/472)) ([c44b53a](https://github.com/googleapis/java-securitycenter-settings/commit/c44b53aa1359dcf0671414ff3a7a418eedef6942))

### [0.5.10](https://github.com/googleapis/java-securitycenter-settings/compare/v0.5.9...v0.5.10) (2022-02-11)


### Dependencies

* update actions/github-script action to v6 ([#463](https://github.com/googleapis/java-securitycenter-settings/issues/463)) ([9572009](https://github.com/googleapis/java-securitycenter-settings/commit/9572009fcfb818e588df161e73d0a63d50b71feb))

### [0.5.9](https://github.com/googleapis/java-securitycenter-settings/compare/v0.5.8...v0.5.9) (2022-02-03)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.7.0 ([#452](https://github.com/googleapis/java-securitycenter-settings/issues/452)) ([7fe3f6b](https://github.com/googleapis/java-securitycenter-settings/commit/7fe3f6bd1ae6f70ab762b75e8ebc4bb9e46e61d3))

### [0.5.8](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.5.7...v0.5.8) (2022-01-07)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.6.0 ([#436](https://www.github.com/googleapis/java-securitycenter-settings/issues/436)) ([d70bd53](https://www.github.com/googleapis/java-securitycenter-settings/commit/d70bd531a56ebe68b87a5863a025c1faa4c9a335))

### [0.5.7](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.5.6...v0.5.7) (2021-12-06)


### Bug Fixes

* **java:** add -ntp flag to native image testing command ([#1299](https://www.github.com/googleapis/java-securitycenter-settings/issues/1299)) ([#427](https://www.github.com/googleapis/java-securitycenter-settings/issues/427)) ([d5ee5ca](https://www.github.com/googleapis/java-securitycenter-settings/commit/d5ee5cadc5d5ffcd8cee62017f7db7709a2d7646))
* **java:** java 17 dependency arguments ([#1266](https://www.github.com/googleapis/java-securitycenter-settings/issues/1266)) ([#410](https://www.github.com/googleapis/java-securitycenter-settings/issues/410)) ([fd88de2](https://www.github.com/googleapis/java-securitycenter-settings/commit/fd88de2ac3a046f6cf02cfe20e7604230f504708))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.5.0 ([#420](https://www.github.com/googleapis/java-securitycenter-settings/issues/420)) ([2e1b3d0](https://www.github.com/googleapis/java-securitycenter-settings/commit/2e1b3d0bad421b10f543d882d15c0f7cd2504499))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.5.1 ([#425](https://www.github.com/googleapis/java-securitycenter-settings/issues/425)) ([329b625](https://www.github.com/googleapis/java-securitycenter-settings/commit/329b6255d669afeddbdde8ce729e90b0994c9e2c))

### [0.5.6](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.5.5...v0.5.6) (2021-10-20)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.4.0 ([#404](https://www.github.com/googleapis/java-securitycenter-settings/issues/404)) ([dfdd108](https://www.github.com/googleapis/java-securitycenter-settings/commit/dfdd108345dc34fdcc66c9f3479123a0507e7f24))

### [0.5.5](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.5.4...v0.5.5) (2021-09-22)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.3.0 ([#389](https://www.github.com/googleapis/java-securitycenter-settings/issues/389)) ([4fce7a9](https://www.github.com/googleapis/java-securitycenter-settings/commit/4fce7a9e243e4b0694d674fee4eaedb43d659555))

### [0.5.4](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.5.3...v0.5.4) (2021-09-14)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.2.1 ([#382](https://www.github.com/googleapis/java-securitycenter-settings/issues/382)) ([33af7a7](https://www.github.com/googleapis/java-securitycenter-settings/commit/33af7a7d87e118d7726388368657306dfe99328d))

### [0.5.3](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.5.2...v0.5.3) (2021-09-10)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.2.0 ([#370](https://www.github.com/googleapis/java-securitycenter-settings/issues/370)) ([8dd80ad](https://www.github.com/googleapis/java-securitycenter-settings/commit/8dd80ad719d43a28b86ae0c7663e7fe43e566ee1))

### [0.5.2](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.5.1...v0.5.2) (2021-08-23)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.1.0 ([#361](https://www.github.com/googleapis/java-securitycenter-settings/issues/361)) ([7330340](https://www.github.com/googleapis/java-securitycenter-settings/commit/7330340f3e5458428d8c44e93b5b54692e4f17eb))

### [0.5.1](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.5.0...v0.5.1) (2021-08-11)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.0.1 ([#352](https://www.github.com/googleapis/java-securitycenter-settings/issues/352)) ([60102aa](https://www.github.com/googleapis/java-securitycenter-settings/commit/60102aa53a9cfa126f46e72b78ce2200bf45cddd))

## [0.5.0](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.4.0...v0.5.0) (2021-08-10)


### ⚠ BREAKING CHANGES

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

### Features

* release gapic-generator-java v2.0.0 ([#346](https://www.github.com/googleapis/java-securitycenter-settings/issues/346)) ([5830ca6](https://www.github.com/googleapis/java-securitycenter-settings/commit/5830ca6f69198473ef2fa0dcc7a88f117170eff8))


### Bug Fixes

* Add `shopt -s nullglob` to dependencies script ([#326](https://www.github.com/googleapis/java-securitycenter-settings/issues/326)) ([1b5148e](https://www.github.com/googleapis/java-securitycenter-settings/commit/1b5148e0fbd0a50c6a0514efb55b30532d990117))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.4.0 ([#329](https://www.github.com/googleapis/java-securitycenter-settings/issues/329)) ([4bff002](https://www.github.com/googleapis/java-securitycenter-settings/commit/4bff0021ff37bc985282e48d54e176a75170de72))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2 ([#347](https://www.github.com/googleapis/java-securitycenter-settings/issues/347)) ([7be83ed](https://www.github.com/googleapis/java-securitycenter-settings/commit/7be83ed65504e21086dad9eb69264780a2ece787))

## [0.4.0](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.16...v0.4.0) (2021-06-17)


### Features

* add `gcf-owl-bot[bot]` to `ignoreAuthors` ([#308](https://www.github.com/googleapis/java-securitycenter-settings/issues/308)) ([a4da326](https://www.github.com/googleapis/java-securitycenter-settings/commit/a4da326adb1ba52564b860387cf3fdc73ca94fd3))


### Bug Fixes

* release scripts from issuing overlapping phases ([#290](https://www.github.com/googleapis/java-securitycenter-settings/issues/290)) ([77a7072](https://www.github.com/googleapis/java-securitycenter-settings/commit/77a707225432b19f4706ab90af1b6cc4c78ca388))
* typo ([#287](https://www.github.com/googleapis/java-securitycenter-settings/issues/287)) ([eabab89](https://www.github.com/googleapis/java-securitycenter-settings/commit/eabab89cc605ecfe4ee686ebf88cb78bdff989be))
* Update dependencies.sh to not break on mac ([#320](https://www.github.com/googleapis/java-securitycenter-settings/issues/320)) ([ec3ac3c](https://www.github.com/googleapis/java-securitycenter-settings/commit/ec3ac3cd9c7024ad8d14259094595f487913726b))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.21.1 ([#292](https://www.github.com/googleapis/java-securitycenter-settings/issues/292)) ([1adf841](https://www.github.com/googleapis/java-securitycenter-settings/commit/1adf8419104b4c7d3efd23e282b6446293f6a6cb))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v1 ([#295](https://www.github.com/googleapis/java-securitycenter-settings/issues/295)) ([dd4e424](https://www.github.com/googleapis/java-securitycenter-settings/commit/dd4e4249e975bd4f61668a26907b8e2c6af307eb))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.1.0 ([#303](https://www.github.com/googleapis/java-securitycenter-settings/issues/303)) ([7247733](https://www.github.com/googleapis/java-securitycenter-settings/commit/72477339479cec47a66e13fc530a81c924276b07))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.2.0 ([#307](https://www.github.com/googleapis/java-securitycenter-settings/issues/307)) ([a3143cb](https://www.github.com/googleapis/java-securitycenter-settings/commit/a3143cb79b3ea3e90a37fee30b5df543df285f47))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.3.0 ([#315](https://www.github.com/googleapis/java-securitycenter-settings/issues/315)) ([6fad235](https://www.github.com/googleapis/java-securitycenter-settings/commit/6fad235a72cc341aec196d4ddcd54aa188b5fecf))

### [0.3.16](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.15...v0.3.16) (2021-04-09)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.21.0 ([#280](https://www.github.com/googleapis/java-securitycenter-settings/issues/280)) ([65ee1d8](https://www.github.com/googleapis/java-securitycenter-settings/commit/65ee1d898feef18782a82a8c8dc984e7a3afcfc3))

### [0.3.15](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.14...v0.3.15) (2021-03-11)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.20.1 ([#267](https://www.github.com/googleapis/java-securitycenter-settings/issues/267)) ([ffce5db](https://www.github.com/googleapis/java-securitycenter-settings/commit/ffce5db6d06d71d57a19c5df3daf11d6abedcbd0))

### [0.3.14](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.13...v0.3.14) (2021-02-25)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.20.0 ([#256](https://www.github.com/googleapis/java-securitycenter-settings/issues/256)) ([643a4e2](https://www.github.com/googleapis/java-securitycenter-settings/commit/643a4e2cfd59a268bc20d0e406a27dae95e9c610))

### [0.3.13](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.12...v0.3.13) (2021-02-24)


### Bug Fixes

* update repo name ([#235](https://www.github.com/googleapis/java-securitycenter-settings/issues/235)) ([49c37b8](https://www.github.com/googleapis/java-securitycenter-settings/commit/49c37b8cd1960b02fd2d6b5c5f143601f7685ab9))


### Documentation

* generate sample code in the Java microgenerator ([#238](https://www.github.com/googleapis/java-securitycenter-settings/issues/238)) ([8e64a6c](https://www.github.com/googleapis/java-securitycenter-settings/commit/8e64a6cbd1d845c93dcd700799cf3976dead74d0))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.19.0 ([#248](https://www.github.com/googleapis/java-securitycenter-settings/issues/248)) ([04361cb](https://www.github.com/googleapis/java-securitycenter-settings/commit/04361cb0786e98371cb6227a0b8bccd508b79878))

### [0.3.12](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.11...v0.3.12) (2021-01-14)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.18.0 ([#221](https://www.github.com/googleapis/java-securitycenter-settings/issues/221)) ([6db60ac](https://www.github.com/googleapis/java-securitycenter-settings/commit/6db60ac558f1cb455e436331d8f75d95c95dd621))

### [0.3.11](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.10...v0.3.11) (2020-12-15)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.17.0 ([#212](https://www.github.com/googleapis/java-securitycenter-settings/issues/212)) ([be12436](https://www.github.com/googleapis/java-securitycenter-settings/commit/be12436a62f07e1fcb75884158dc8c4dc618ffc3))

### [0.3.10](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.9...v0.3.10) (2020-12-14)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.16.1 ([76d602c](https://www.github.com/googleapis/java-securitycenter-settings/commit/76d602ce69f02d38f5cc4021bdb7ba55c2034514))

### [0.3.9](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.8...v0.3.9) (2020-12-02)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.16.0 ([#200](https://www.github.com/googleapis/java-securitycenter-settings/issues/200)) ([bd999bc](https://www.github.com/googleapis/java-securitycenter-settings/commit/bd999bc9775bfebac7bc7fcdc9184f2b6c76d053))

### [0.3.8](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.7...v0.3.8) (2020-11-11)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.15.0 ([#188](https://www.github.com/googleapis/java-securitycenter-settings/issues/188)) ([e3e1115](https://www.github.com/googleapis/java-securitycenter-settings/commit/e3e11152e6d24e9fde535e966998cb3c6733c44d))

### [0.3.7](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.6...v0.3.7) (2020-11-02)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.14.1 ([#179](https://www.github.com/googleapis/java-securitycenter-settings/issues/179)) ([f80369f](https://www.github.com/googleapis/java-securitycenter-settings/commit/f80369f4b6b5471a2cf3c151b720769856f28440))

### [0.3.6](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.5...v0.3.6) (2020-10-21)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.13.0 ([#165](https://www.github.com/googleapis/java-securitycenter-settings/issues/165)) ([dbb0471](https://www.github.com/googleapis/java-securitycenter-settings/commit/dbb0471f7cbef94c5fcef376042ab91af7ad9e95))

### [0.3.5](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.4...v0.3.5) (2020-10-19)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.12.1 ([#156](https://www.github.com/googleapis/java-securitycenter-settings/issues/156)) ([aaf64f5](https://www.github.com/googleapis/java-securitycenter-settings/commit/aaf64f57ab9bd7fc96cdb5bfca24c85f053645d8))

### [0.3.4](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.3...v0.3.4) (2020-10-08)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.10.2 ([#141](https://www.github.com/googleapis/java-securitycenter-settings/issues/141)) ([8be9a09](https://www.github.com/googleapis/java-securitycenter-settings/commit/8be9a092b7846facd15a6f8d5c232aa7aa8abfdb))

### [0.3.3](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.2...v0.3.3) (2020-09-23)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.10.0 ([#128](https://www.github.com/googleapis/java-securitycenter-settings/issues/128)) ([8f679e1](https://www.github.com/googleapis/java-securitycenter-settings/commit/8f679e1ac1365b3e98e9af4c9b7686ea81d96530))

### [0.3.2](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.1...v0.3.2) (2020-09-21)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.9.0 ([#112](https://www.github.com/googleapis/java-securitycenter-settings/issues/112)) ([347c3e5](https://www.github.com/googleapis/java-securitycenter-settings/commit/347c3e523293f8560017c73491e82ba013daec95))

### [0.3.1](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.3.0...v0.3.1) (2020-08-07)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.8.2 ([#92](https://www.github.com/googleapis/java-securitycenter-settings/issues/92)) ([3c4c64f](https://www.github.com/googleapis/java-securitycenter-settings/commit/3c4c64f30634bad94f9d5cde70b2c5779f21a1d7))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.8.6 ([5c87667](https://www.github.com/googleapis/java-securitycenter-settings/commit/5c87667c1ac1d5ab83c879e121e191d2f3ec9840))

## [0.3.0](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.2.0...v0.3.0) (2020-06-23)


### ⚠ BREAKING CHANGES

* **v1beta1:** remove some resource name builders (#44)

### Features

* **deps:** adopt flatten plugin and google-cloud-shared-dependencies ([#78](https://www.github.com/googleapis/java-securitycenter-settings/issues/78)) ([06deac6](https://www.github.com/googleapis/java-securitycenter-settings/commit/06deac641f73dce1b4bcd4afd0ba19ec6e1bfb97))
* **v1beta1:** remove some resource name builders ([#44](https://www.github.com/googleapis/java-securitycenter-settings/issues/44)) ([1cb9d25](https://www.github.com/googleapis/java-securitycenter-settings/commit/1cb9d25ce87ee4e73cda81da93f1f0f95cca4e48))


### Bug Fixes

* migrate securitycenter/settings/v1beta1 to grpc_service_config ([#74](https://www.github.com/googleapis/java-securitycenter-settings/issues/74)) ([09daf15](https://www.github.com/googleapis/java-securitycenter-settings/commit/09daf15c4e3f4d444c0822ba2560c4ee97285505))


### Dependencies

* update core dependencies to v1.57.0 ([#71](https://www.github.com/googleapis/java-securitycenter-settings/issues/71)) ([ef2bf6e](https://www.github.com/googleapis/java-securitycenter-settings/commit/ef2bf6e1e856a33289447cd64b8d993a4df631ae))
* update dependency com.google.api:api-common to v1.9.1 ([#57](https://www.github.com/googleapis/java-securitycenter-settings/issues/57)) ([dd3f81f](https://www.github.com/googleapis/java-securitycenter-settings/commit/dd3f81f4ba9c9fe4ee4513aa3c5fc819494cb56b))
* update dependency com.google.api:api-common to v1.9.2 ([#63](https://www.github.com/googleapis/java-securitycenter-settings/issues/63)) ([9b601b0](https://www.github.com/googleapis/java-securitycenter-settings/commit/9b601b0fd35b7fe66ceb403c1549eabd91051682))
* update dependency com.google.api.grpc:proto-google-common-protos to v1.18.0 ([#47](https://www.github.com/googleapis/java-securitycenter-settings/issues/47)) ([06b9732](https://www.github.com/googleapis/java-securitycenter-settings/commit/06b9732fca4c1d1f81f2a2180ff22ada283bf466))
* update dependency com.google.guava:guava-bom to v29 ([#28](https://www.github.com/googleapis/java-securitycenter-settings/issues/28)) ([c68ac9f](https://www.github.com/googleapis/java-securitycenter-settings/commit/c68ac9f9d7c90f59258ea944ce2aed8d25b7d4ab))
* update dependency com.google.protobuf:protobuf-java to v3.12.0 ([#52](https://www.github.com/googleapis/java-securitycenter-settings/issues/52)) ([49f3fe6](https://www.github.com/googleapis/java-securitycenter-settings/commit/49f3fe6427d3d0894a91f0be7cbfe70ac8b9dab8))
* update dependency com.google.protobuf:protobuf-java to v3.12.2 ([#55](https://www.github.com/googleapis/java-securitycenter-settings/issues/55)) ([1bc5a50](https://www.github.com/googleapis/java-securitycenter-settings/commit/1bc5a5087d06a5ffd806a1d527e3523e9339ee0c))
* update dependency io.grpc:grpc-bom to v1.29.0 ([#41](https://www.github.com/googleapis/java-securitycenter-settings/issues/41)) ([a06b051](https://www.github.com/googleapis/java-securitycenter-settings/commit/a06b0511223b416efdfe8f288b846d53b2fca4bb))
* update dependency io.grpc:grpc-bom to v1.30.0 ([#67](https://www.github.com/googleapis/java-securitycenter-settings/issues/67)) ([da8d372](https://www.github.com/googleapis/java-securitycenter-settings/commit/da8d372f63e05c5c003d251f1808f5862bc08ced))
* update dependency org.threeten:threetenbp to v1.4.4 ([#43](https://www.github.com/googleapis/java-securitycenter-settings/issues/43)) ([884cef9](https://www.github.com/googleapis/java-securitycenter-settings/commit/884cef9c27655e022331dcc4b40fc1705f575de9))

## [0.2.0](https://www.github.com/googleapis/java-securitycenter-settings/compare/v0.1.0...v0.2.0) (2020-04-09)


### ⚠ BREAKING CHANGES

* multi-pattern resource names changes (#18)

### Bug Fixes

* multi-pattern resource names changes ([#18](https://www.github.com/googleapis/java-securitycenter-settings/issues/18)) ([687dddf](https://www.github.com/googleapis/java-securitycenter-settings/commit/687dddf98f3d76d9db1e61a9d7d37425f01f0503)), closes [#13](https://www.github.com/googleapis/java-securitycenter-settings/issues/13) [#13](https://www.github.com/googleapis/java-securitycenter-settings/issues/13) [#16](https://www.github.com/googleapis/java-securitycenter-settings/issues/16) [#16](https://www.github.com/googleapis/java-securitycenter-settings/issues/16) [#8203](https://www.github.com/googleapis/java-securitycenter-settings/issues/8203) [#8203](https://www.github.com/googleapis/java-securitycenter-settings/issues/8203) [#8203](https://www.github.com/googleapis/java-securitycenter-settings/issues/8203) [#11](https://www.github.com/googleapis/java-securitycenter-settings/issues/11) [#11](https://www.github.com/googleapis/java-securitycenter-settings/issues/11) [#79](https://www.github.com/googleapis/java-securitycenter-settings/issues/79) [#79](https://www.github.com/googleapis/java-securitycenter-settings/issues/79)


### Dependencies

* update core dependencies ([#4](https://www.github.com/googleapis/java-securitycenter-settings/issues/4)) ([48b692b](https://www.github.com/googleapis/java-securitycenter-settings/commit/48b692b23a69165ee0db85e7db25e4624e3d7946))
* update dependency com.google.api:api-common to v1.9.0 ([#16](https://www.github.com/googleapis/java-securitycenter-settings/issues/16)) ([1dc8a17](https://www.github.com/googleapis/java-securitycenter-settings/commit/1dc8a17bce5de884610e7754136ca505eb8ced1c))
* update dependency org.threeten:threetenbp to v1.4.3 ([#5](https://www.github.com/googleapis/java-securitycenter-settings/issues/5)) ([874d8cd](https://www.github.com/googleapis/java-securitycenter-settings/commit/874d8cdccee3db087f68cb8a41efd858b518689d))

## 0.1.0 (2020-03-23)


### Features

* initial generation ([f338e2b](https://www.github.com/googleapis/java-securitycenter-settings/commit/f338e2b3260c671640660e8e4eb625030f496b86))
