# Changelog

## [1.5.0](https://github.com/googleapis/google-cloud-java/compare/google-cloud-eventarc-v1.4.1-SNAPSHOT...google-cloud-eventarc-v1.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))


### 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))

## [1.4.0](https://github.com/googleapis/google-cloud-java/compare/google-cloud-eventarc-v1.3.8...google-cloud-eventarc-v1.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))


### 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))

## [1.3.8](https://github.com/googleapis/java-eventarc/compare/v1.3.7...v1.3.8) (2022-10-05)


### Bug Fixes

* update protobuf to v3.21.7 ([02d0f40](https://github.com/googleapis/java-eventarc/commit/02d0f4048182990c4ce8213cf0442b853fcc294c))

## [1.3.7](https://github.com/googleapis/java-eventarc/compare/v1.3.6...v1.3.7) (2022-10-03)


### Dependencies

* Update dependency cachetools to v5 ([#255](https://github.com/googleapis/java-eventarc/issues/255)) ([a7ccd09](https://github.com/googleapis/java-eventarc/commit/a7ccd090c29ae00c5cc5a3cce8e094c3a6648a4c))
* Update dependency certifi to v2022.9.24 ([#235](https://github.com/googleapis/java-eventarc/issues/235)) ([ff72557](https://github.com/googleapis/java-eventarc/commit/ff72557aba3cf11a90f57bda1af7726e3d9fddf5))
* Update dependency charset-normalizer to v2.1.1 ([#239](https://github.com/googleapis/java-eventarc/issues/239)) ([018d0be](https://github.com/googleapis/java-eventarc/commit/018d0be11f3c1d26e9b70a854f8859510c26543b))
* Update dependency click to v8.1.3 ([#240](https://github.com/googleapis/java-eventarc/issues/240)) ([87dafd1](https://github.com/googleapis/java-eventarc/commit/87dafd16731759b4f2212fab7bb4587a7eb30021))
* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#260](https://github.com/googleapis/java-eventarc/issues/260)) ([7c07579](https://github.com/googleapis/java-eventarc/commit/7c075797882e364b672674a35c91b2c2a4b82fac))
* Update dependency gcp-releasetool to v1.8.8 ([#236](https://github.com/googleapis/java-eventarc/issues/236)) ([d63e828](https://github.com/googleapis/java-eventarc/commit/d63e82825c9a675b5272e47851e9cee53845313b))
* Update dependency google-api-core to v2.10.1 ([#241](https://github.com/googleapis/java-eventarc/issues/241)) ([7681082](https://github.com/googleapis/java-eventarc/commit/7681082ddb5129b568508c45cd2a1aa4cf4d1318))
* Update dependency google-auth to v2.12.0 ([#242](https://github.com/googleapis/java-eventarc/issues/242)) ([8475a1f](https://github.com/googleapis/java-eventarc/commit/8475a1f0f118da32a918e5cbbdea3f8e9a30bdac))
* Update dependency google-cloud-storage to v2.5.0 ([#243](https://github.com/googleapis/java-eventarc/issues/243)) ([11132cf](https://github.com/googleapis/java-eventarc/commit/11132cfb2f338b3a0ca3caf8dd640c16bcd3093e))
* Update dependency google-crc32c to v1.5.0 ([#244](https://github.com/googleapis/java-eventarc/issues/244)) ([8374613](https://github.com/googleapis/java-eventarc/commit/83746132a913f40f5b34121aee6220e4268dc3c1))
* Update dependency googleapis-common-protos to v1.56.4 ([#238](https://github.com/googleapis/java-eventarc/issues/238)) ([54883de](https://github.com/googleapis/java-eventarc/commit/54883de6fcc90e031a2408d6f4159e4c7bcacb85))
* Update dependency importlib-metadata to v4.12.0 ([#247](https://github.com/googleapis/java-eventarc/issues/247)) ([bbea803](https://github.com/googleapis/java-eventarc/commit/bbea80375400601afb2bd2b0aab8bfb258655611))
* Update dependency jeepney to v0.8.0 ([#248](https://github.com/googleapis/java-eventarc/issues/248)) ([e0c1f14](https://github.com/googleapis/java-eventarc/commit/e0c1f14f320a5eda6af9f50b3ca022d95021cc2f))
* Update dependency jinja2 to v3.1.2 ([#249](https://github.com/googleapis/java-eventarc/issues/249)) ([7df2faf](https://github.com/googleapis/java-eventarc/commit/7df2fafcc19f37174b0e40fcb0c0487d9345fc4f))
* Update dependency keyring to v23.9.3 ([#250](https://github.com/googleapis/java-eventarc/issues/250)) ([4595a9a](https://github.com/googleapis/java-eventarc/commit/4595a9a8f4b62f7f6511f8413c29f9eb40381893))
* Update dependency markupsafe to v2.1.1 ([#245](https://github.com/googleapis/java-eventarc/issues/245)) ([e2f6f88](https://github.com/googleapis/java-eventarc/commit/e2f6f888b78807af7230bc4adfcf2bbff5cdcfea))
* Update dependency protobuf to v4 ([#256](https://github.com/googleapis/java-eventarc/issues/256)) ([24e0518](https://github.com/googleapis/java-eventarc/commit/24e051834c3bf258f88b6190ca9ae688d75e5346))
* Update dependency pyjwt to v2.5.0 ([#251](https://github.com/googleapis/java-eventarc/issues/251)) ([15dbd42](https://github.com/googleapis/java-eventarc/commit/15dbd4209dc163ca395a7b32ebdf97b6fb1b2e2a))
* Update dependency requests to v2.28.1 ([#252](https://github.com/googleapis/java-eventarc/issues/252)) ([937802f](https://github.com/googleapis/java-eventarc/commit/937802f140e5db573c440f015d2976c06e495212))
* Update dependency typing-extensions to v4.3.0 ([#253](https://github.com/googleapis/java-eventarc/issues/253)) ([852a2fa](https://github.com/googleapis/java-eventarc/commit/852a2faec81e3179bd79a5381637d9366e9582ff))
* Update dependency zipp to v3.8.1 ([#254](https://github.com/googleapis/java-eventarc/issues/254)) ([cdab8ad](https://github.com/googleapis/java-eventarc/commit/cdab8ad432a50b576e1fccce0c769ecfca7d847f))

## [1.3.6](https://github.com/googleapis/java-eventarc/compare/v1.3.5...v1.3.6) (2022-09-15)


### Dependencies

* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.3 ([#229](https://github.com/googleapis/java-eventarc/issues/229)) ([d262ff5](https://github.com/googleapis/java-eventarc/commit/d262ff52c87de06d9f2a1dfd4b10301c0bf4c176))

## [1.3.5](https://github.com/googleapis/java-eventarc/compare/v1.3.4...v1.3.5) (2022-09-09)


### Dependencies

* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.2 ([#224](https://github.com/googleapis/java-eventarc/issues/224)) ([412f1b5](https://github.com/googleapis/java-eventarc/commit/412f1b5a25cacc3432ecb5384a580c8c273d1991))

## [1.3.4](https://github.com/googleapis/java-eventarc/compare/v1.3.3...v1.3.4) (2022-08-02)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v3 ([#215](https://github.com/googleapis/java-eventarc/issues/215)) ([3d23295](https://github.com/googleapis/java-eventarc/commit/3d2329552dc687a6c1343c6c64cbac599b22f03c))

## [1.3.3](https://github.com/googleapis/java-eventarc/compare/v1.3.2...v1.3.3) (2022-07-13)


### Bug Fixes

* enable longpaths support for windows test ([#1485](https://github.com/googleapis/java-eventarc/issues/1485)) ([#207](https://github.com/googleapis/java-eventarc/issues/207)) ([cd237e9](https://github.com/googleapis/java-eventarc/commit/cd237e993b177d9e215ee5eff75ded7bb71f02b3))

## [1.3.2](https://github.com/googleapis/java-eventarc/compare/v1.3.1...v1.3.2) (2022-07-01)


### Bug Fixes

* update gapic-generator-java with mock service generation fixes ([#188](https://github.com/googleapis/java-eventarc/issues/188)) ([bff1b3f](https://github.com/googleapis/java-eventarc/commit/bff1b3fcf79774ff3eef7ddefcc2173836f19f5e))

## [1.3.1](https://github.com/googleapis/java-eventarc/compare/v1.3.0...v1.3.1) (2022-06-23)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.13.0 ([#195](https://github.com/googleapis/java-eventarc/issues/195)) ([b80cbda](https://github.com/googleapis/java-eventarc/commit/b80cbdad55a978625a76a466aa828c000de4b613))

## [1.3.0](https://github.com/googleapis/java-eventarc/compare/v1.2.5...v1.3.0) (2022-05-19)


### Features

* add build scripts for native image testing in Java 17 ([#1440](https://github.com/googleapis/java-eventarc/issues/1440)) ([#189](https://github.com/googleapis/java-eventarc/issues/189)) ([52e315e](https://github.com/googleapis/java-eventarc/commit/52e315e59fd99ceef580d687fc5af2f3c19fb13e))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.12.0 ([#187](https://github.com/googleapis/java-eventarc/issues/187)) ([dcdfad5](https://github.com/googleapis/java-eventarc/commit/dcdfad5db0138be5f64e12c6c49e19f18cbb39e3))

### [1.2.5](https://github.com/googleapis/java-eventarc/compare/v1.2.4...v1.2.5) (2022-04-15)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.10.0 ([#177](https://github.com/googleapis/java-eventarc/issues/177)) ([6e845c3](https://github.com/googleapis/java-eventarc/commit/6e845c3ee9686fe7230dfaadce73e8add059f3fc))

### [1.2.4](https://github.com/googleapis/java-eventarc/compare/v1.2.3...v1.2.4) (2022-03-29)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.9.0 ([#170](https://github.com/googleapis/java-eventarc/issues/170)) ([9c12b65](https://github.com/googleapis/java-eventarc/commit/9c12b65b343e5b80033076e42f17061a932d4daa))

### [1.2.3](https://github.com/googleapis/java-eventarc/compare/v1.2.2...v1.2.3) (2022-03-02)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.8.0 ([#161](https://github.com/googleapis/java-eventarc/issues/161)) ([ab8ac51](https://github.com/googleapis/java-eventarc/commit/ab8ac515642d6a1d65c45b4ab68fc992f5010549))

### [1.2.2](https://github.com/googleapis/java-eventarc/compare/v1.2.1...v1.2.2) (2022-02-28)


### Dependencies

* update actions/setup-java action to v3 ([#154](https://github.com/googleapis/java-eventarc/issues/154)) ([7cf1b3b](https://github.com/googleapis/java-eventarc/commit/7cf1b3bd3bc66722d2d90f62a265f4bb050d81af))

### [1.2.1](https://github.com/googleapis/java-eventarc/compare/v1.2.0...v1.2.1) (2022-02-11)


### Dependencies

* update actions/github-script action to v6 ([#145](https://github.com/googleapis/java-eventarc/issues/145)) ([77daa42](https://github.com/googleapis/java-eventarc/commit/77daa421d3f19bf628ec06cd53677e7cd2e83f25))

## [1.2.0](https://github.com/googleapis/java-eventarc/compare/v1.1.5...v1.2.0) (2022-02-03)


### Features

* Add Channel and ChannelConnection resources ([#136](https://github.com/googleapis/java-eventarc/issues/136)) ([05c1a75](https://github.com/googleapis/java-eventarc/commit/05c1a75b07a636d208ef254fbd5dab6f6c951183))


### Dependencies

* **java:** update actions/github-script action to v5 ([#1339](https://github.com/googleapis/java-eventarc/issues/1339)) ([#131](https://github.com/googleapis/java-eventarc/issues/131)) ([1b26318](https://github.com/googleapis/java-eventarc/commit/1b263181ad9851924a2cac65f63d9ef09a99fadd))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.7.0 ([#134](https://github.com/googleapis/java-eventarc/issues/134)) ([5249f2c](https://github.com/googleapis/java-eventarc/commit/5249f2c9d92cbf485511e851b7923b335ab1cdff))

### [1.1.5](https://www.github.com/googleapis/java-eventarc/compare/v1.1.4...v1.1.5) (2022-01-07)


### Bug Fixes

* **java:** add -ntp flag to native image testing command ([#1299](https://www.github.com/googleapis/java-eventarc/issues/1299)) ([#110](https://www.github.com/googleapis/java-eventarc/issues/110)) ([976d177](https://www.github.com/googleapis/java-eventarc/commit/976d177479dad1aee817dafd42779fb7a94cb4dc))
* **java:** run Maven in plain console-friendly mode ([#1301](https://www.github.com/googleapis/java-eventarc/issues/1301)) ([#114](https://www.github.com/googleapis/java-eventarc/issues/114)) ([772fd83](https://www.github.com/googleapis/java-eventarc/commit/772fd838b0e791bdb69929a1cbbb1e2c7f7a3131))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.6.0 ([#116](https://www.github.com/googleapis/java-eventarc/issues/116)) ([ea67e40](https://www.github.com/googleapis/java-eventarc/commit/ea67e406660e79b41ee9476849d6151f7f33891d))

### [1.1.4](https://www.github.com/googleapis/java-eventarc/compare/v1.1.3...v1.1.4) (2021-12-03)


### Bug Fixes

* **java:** java 17 dependency arguments ([#1266](https://www.github.com/googleapis/java-eventarc/issues/1266)) ([#92](https://www.github.com/googleapis/java-eventarc/issues/92)) ([447c83e](https://www.github.com/googleapis/java-eventarc/commit/447c83ef279a0e785fe638f83f3e706555b5734b))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.5.0 ([#102](https://www.github.com/googleapis/java-eventarc/issues/102)) ([d8d300c](https://www.github.com/googleapis/java-eventarc/commit/d8d300c03f95db3573bf36ffded1498a9f7e5a11))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.5.1 ([#107](https://www.github.com/googleapis/java-eventarc/issues/107)) ([15c11bd](https://www.github.com/googleapis/java-eventarc/commit/15c11bdfba6a104abf6ae54163dc06b3a6901113))

### [1.1.3](https://www.github.com/googleapis/java-eventarc/compare/v1.1.2...v1.1.3) (2021-10-19)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.4.0 ([#87](https://www.github.com/googleapis/java-eventarc/issues/87)) ([c44b2a4](https://www.github.com/googleapis/java-eventarc/commit/c44b2a4aa4f2a8f6e69d799037861317351583ee))

### [1.1.2](https://www.github.com/googleapis/java-eventarc/compare/v1.1.1...v1.1.2) (2021-09-22)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.3.0 ([#74](https://www.github.com/googleapis/java-eventarc/issues/74)) ([fa19554](https://www.github.com/googleapis/java-eventarc/commit/fa195545a2fb9862fec976a086dc1e331c151688))

### [1.1.1](https://www.github.com/googleapis/java-eventarc/compare/v1.1.0...v1.1.1) (2021-09-14)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.2.1 ([#67](https://www.github.com/googleapis/java-eventarc/issues/67)) ([c20b68c](https://www.github.com/googleapis/java-eventarc/commit/c20b68c49a9e22b88b9c10e7db1ea8c75dce9e25))

## [1.1.0](https://www.github.com/googleapis/java-eventarc/compare/v1.0.1...v1.1.0) (2021-09-03)


### Features

* Remove use of deprecated gradle command in java README ([#1196](https://www.github.com/googleapis/java-eventarc/issues/1196)) ([#54](https://www.github.com/googleapis/java-eventarc/issues/54)) ([45cdfda](https://www.github.com/googleapis/java-eventarc/commit/45cdfdafc02217b3fe49f6a781f0eff6c6d22fbb))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.2.0 ([#57](https://www.github.com/googleapis/java-eventarc/issues/57)) ([3d3bf47](https://www.github.com/googleapis/java-eventarc/commit/3d3bf47dc4f914391918dd08a0ece84cc3f06104))

### [1.0.1](https://www.github.com/googleapis/java-eventarc/compare/v1.0.0...v1.0.1) (2021-08-25)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.0.1 ([#43](https://www.github.com/googleapis/java-eventarc/issues/43)) ([a2a7fa5](https://www.github.com/googleapis/java-eventarc/commit/a2a7fa5363835d0b3c0f68b387de526b72d0719a))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.1.0 ([#47](https://www.github.com/googleapis/java-eventarc/issues/47)) ([fec679e](https://www.github.com/googleapis/java-eventarc/commit/fec679e75881ccbb8e6de5234d7f07bfa86c475c))

## [1.0.0](https://www.github.com/googleapis/java-eventarc/compare/v0.1.1...v1.0.0) (2021-08-06)


### ⚠ BREAKING CHANGES

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

### Features

* promote to 1.0.0 ([#40](https://www.github.com/googleapis/java-eventarc/issues/40)) ([17ceb23](https://www.github.com/googleapis/java-eventarc/commit/17ceb233a454c645defde74760bf5910014d67ac))
* release gapic-generator-java v2.0.0 ([#37](https://www.github.com/googleapis/java-eventarc/issues/37)) ([a6a8c45](https://www.github.com/googleapis/java-eventarc/commit/a6a8c4536856477a9f9bc22168c5098814041137))


### Bug Fixes

* owlbot post-processor should generate README ([#1154](https://www.github.com/googleapis/java-eventarc/issues/1154)) ([#23](https://www.github.com/googleapis/java-eventarc/issues/23)) ([8aa2bf2](https://www.github.com/googleapis/java-eventarc/commit/8aa2bf2fdb1979555141c0d7f207733956ec9450)), closes [#1146](https://www.github.com/googleapis/java-eventarc/issues/1146) [#1147](https://www.github.com/googleapis/java-eventarc/issues/1147)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2 ([#38](https://www.github.com/googleapis/java-eventarc/issues/38)) ([55f8c79](https://www.github.com/googleapis/java-eventarc/commit/55f8c79a9f035299388ac277da2c6718c08b57f0))

### [0.1.1](https://www.github.com/googleapis/java-eventarc/compare/v0.1.0...v0.1.1) (2021-07-01)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.4.0 ([#18](https://www.github.com/googleapis/java-eventarc/issues/18)) ([af35d95](https://www.github.com/googleapis/java-eventarc/commit/af35d957cd62cd4d88bf6e8c103512c312b0aff0))

## 0.1.0 (2021-06-23)


### Features

* initial generation ([e8c8352](https://www.github.com/googleapis/java-eventarc/commit/e8c8352fa25a33758a24fa60c6bc0aefaf5c384b))
* initial generation ([9d00ff4](https://www.github.com/googleapis/java-eventarc/commit/9d00ff4647d1808c4c42fd4ac15eb72b59fd0b12))
