# Changelog

## [2.8.0](https://github.com/googleapis/google-cloud-java/compare/google-cloud-redis-v2.7.1-SNAPSHOT...google-cloud-redis-v2.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))


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

## [2.7.0](https://github.com/googleapis/google-cloud-java/compare/google-cloud-redis-v2.6.5...google-cloud-redis-v2.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))


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

## [2.6.5](https://github.com/googleapis/java-redis/compare/v2.6.4...v2.6.5) (2022-10-03)


### Dependencies

* Update dependency cachetools to v5 ([#721](https://github.com/googleapis/java-redis/issues/721)) ([c564220](https://github.com/googleapis/java-redis/commit/c564220ef5e6b88c18da573ba58c56cd213226b9))
* Update dependency certifi to v2022.9.24 ([#700](https://github.com/googleapis/java-redis/issues/700)) ([3026972](https://github.com/googleapis/java-redis/commit/3026972136e134390e01ec3f7336c0d4e9aadd23))
* Update dependency charset-normalizer to v2.1.1 ([#704](https://github.com/googleapis/java-redis/issues/704)) ([a9a8fd0](https://github.com/googleapis/java-redis/commit/a9a8fd0e126688943d77e21535e576dc7859d191))
* Update dependency click to v8.1.3 ([#705](https://github.com/googleapis/java-redis/issues/705)) ([72211c3](https://github.com/googleapis/java-redis/commit/72211c3a318aa8725a399976a196b1652399e375))
* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#724](https://github.com/googleapis/java-redis/issues/724)) ([5d8d067](https://github.com/googleapis/java-redis/commit/5d8d0677d71892bbbcc7003e83e8568b7591144b))
* Update dependency gcp-releasetool to v1.8.8 ([#701](https://github.com/googleapis/java-redis/issues/701)) ([7b527bd](https://github.com/googleapis/java-redis/commit/7b527bdc122d25164ed63967a1dfaec615d1cb72))
* Update dependency google-api-core to v2.10.1 ([#706](https://github.com/googleapis/java-redis/issues/706)) ([63e2432](https://github.com/googleapis/java-redis/commit/63e2432c47756f591a698eefb75b3049ffe64995))
* Update dependency google-auth to v2.12.0 ([#707](https://github.com/googleapis/java-redis/issues/707)) ([e05bffa](https://github.com/googleapis/java-redis/commit/e05bffa0ca1448211309d6f97939971e444ccf31))
* Update dependency google-cloud-core to v2.3.2 ([#702](https://github.com/googleapis/java-redis/issues/702)) ([01be1b4](https://github.com/googleapis/java-redis/commit/01be1b4259db5b9f979b815ae9a2c2f097926057))
* Update dependency google-cloud-storage to v2.5.0 ([#708](https://github.com/googleapis/java-redis/issues/708)) ([7b5ac86](https://github.com/googleapis/java-redis/commit/7b5ac863db37b8a2d4eb65293aa0bec23baf12bb))
* Update dependency google-crc32c to v1.5.0 ([#709](https://github.com/googleapis/java-redis/issues/709)) ([ca413b8](https://github.com/googleapis/java-redis/commit/ca413b8062b2451f8d937557606a1a648e2df7cc))
* Update dependency googleapis-common-protos to v1.56.4 ([#703](https://github.com/googleapis/java-redis/issues/703)) ([3fe63ed](https://github.com/googleapis/java-redis/commit/3fe63ed1aeae8afa33a8c1aa9d667518969daf4d))
* Update dependency importlib-metadata to v4.12.0 ([#710](https://github.com/googleapis/java-redis/issues/710)) ([ea9b5d1](https://github.com/googleapis/java-redis/commit/ea9b5d1087307a0adba7e1e2ff5af2d22b604ed9))
* Update dependency jeepney to v0.8.0 ([#711](https://github.com/googleapis/java-redis/issues/711)) ([7d872e7](https://github.com/googleapis/java-redis/commit/7d872e7ee0f8ca33fa845dcd7c2a12226499189b))
* Update dependency jinja2 to v3.1.2 ([#713](https://github.com/googleapis/java-redis/issues/713)) ([b05b1bf](https://github.com/googleapis/java-redis/commit/b05b1bf327aeb29ceb1c932d2f983b40ddf045c1))
* Update dependency keyring to v23.9.3 ([#714](https://github.com/googleapis/java-redis/issues/714)) ([bd45e8e](https://github.com/googleapis/java-redis/commit/bd45e8e036ab935b5cb4435b8aef551e99f0cd95))
* Update dependency protobuf to v3.20.2 ([#716](https://github.com/googleapis/java-redis/issues/716)) ([e13b64f](https://github.com/googleapis/java-redis/commit/e13b64fa5e5654511557b768e2cfff46e111c51a))
* Update dependency protobuf to v4 ([#722](https://github.com/googleapis/java-redis/issues/722)) ([e3bda3c](https://github.com/googleapis/java-redis/commit/e3bda3c94a5845ce0de4ae55c5eda79b25a34594))
* Update dependency pyjwt to v2.5.0 ([#717](https://github.com/googleapis/java-redis/issues/717)) ([65fe002](https://github.com/googleapis/java-redis/commit/65fe0024a1a2a9ee9893efff2b10c0dacca92930))
* Update dependency requests to v2.28.1 ([#718](https://github.com/googleapis/java-redis/issues/718)) ([04e28c0](https://github.com/googleapis/java-redis/commit/04e28c016b10bc4f00fd0a981124e4ce3c5f9e71))
* Update dependency typing-extensions to v4.3.0 ([#719](https://github.com/googleapis/java-redis/issues/719)) ([75c9ea2](https://github.com/googleapis/java-redis/commit/75c9ea285d0fea600d928eb61c632e3802baca40))
* Update dependency zipp to v3.8.1 ([#720](https://github.com/googleapis/java-redis/issues/720)) ([592720b](https://github.com/googleapis/java-redis/commit/592720bb5155be42f576c6e5c6dea81707c67828))

## [2.6.4](https://github.com/googleapis/java-redis/compare/v2.6.3...v2.6.4) (2022-09-15)


### Dependencies

* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.3 ([#691](https://github.com/googleapis/java-redis/issues/691)) ([cb31108](https://github.com/googleapis/java-redis/commit/cb31108fb9e5f07b1add1b5e0e4277588cf228eb))

## [2.6.3](https://github.com/googleapis/java-redis/compare/v2.6.2...v2.6.3) (2022-09-10)


### Dependencies

* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.2 ([#686](https://github.com/googleapis/java-redis/issues/686)) ([a0fa17d](https://github.com/googleapis/java-redis/commit/a0fa17df7350c4e69712970d5528b2bf1e8fa481))

## [2.6.2](https://github.com/googleapis/java-redis/compare/v2.6.1...v2.6.2) (2022-08-03)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v3 ([#675](https://github.com/googleapis/java-redis/issues/675)) ([07003bf](https://github.com/googleapis/java-redis/commit/07003bfc1afd3bf1abb46b8d8ad9d3526e262996))

## [2.6.1](https://github.com/googleapis/java-redis/compare/v2.6.0...v2.6.1) (2022-07-13)


### Bug Fixes

* enable longpaths support for windows test ([#1485](https://github.com/googleapis/java-redis/issues/1485)) ([#668](https://github.com/googleapis/java-redis/issues/668)) ([df9b0dd](https://github.com/googleapis/java-redis/commit/df9b0ddd65ada40d29e52630d76ac61e9248679f))

## [2.6.0](https://github.com/googleapis/java-redis/compare/v2.5.0...v2.6.0) (2022-07-01)


### Features

* Enable REST transport for most of Java and Go clients ([#656](https://github.com/googleapis/java-redis/issues/656)) ([05d53ca](https://github.com/googleapis/java-redis/commit/05d53ca8db8b5180a404e390b80f48bb6095aee5))


### Bug Fixes

* update gapic-generator-java with mock service generation fixes ([#659](https://github.com/googleapis/java-redis/issues/659)) ([3d4155f](https://github.com/googleapis/java-redis/commit/3d4155fa00a4227a9e61569ebc41d4743badf92b))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.13.0 ([#655](https://github.com/googleapis/java-redis/issues/655)) ([b1df9cb](https://github.com/googleapis/java-redis/commit/b1df9cbc0af806dbd2304dd7e87077ce00d766a1))

## [2.5.0](https://github.com/googleapis/java-redis/compare/v2.4.1...v2.5.0) (2022-05-19)


### Features

* add build scripts for native image testing in Java 17 ([#1440](https://github.com/googleapis/java-redis/issues/1440)) ([#647](https://github.com/googleapis/java-redis/issues/647)) ([3e657a2](https://github.com/googleapis/java-redis/commit/3e657a2a7beaeb4d428d675940c41e41df39821f))
* next release from main branch is 2.4.1 ([#641](https://github.com/googleapis/java-redis/issues/641)) ([b1ddca7](https://github.com/googleapis/java-redis/commit/b1ddca73ba1183d9c97cd2419db64599a66fabd2))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.12.0 ([#646](https://github.com/googleapis/java-redis/issues/646)) ([0ba1b4d](https://github.com/googleapis/java-redis/commit/0ba1b4d139be2bb3e558ab597faac53f7e56656d))

### [2.4.1](https://github.com/googleapis/java-redis/compare/v2.4.0...v2.4.1) (2022-04-15)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.10.0 ([#627](https://github.com/googleapis/java-redis/issues/627)) ([2bcc2e9](https://github.com/googleapis/java-redis/commit/2bcc2e969b03d3aea4d0f7e1931135d0c33b99af))

## [2.4.0](https://github.com/googleapis/java-redis/compare/v2.3.0...v2.4.0) (2022-03-29)


### Features

* [Cloud Memorystore for Redis] Support Maintenance Window ([#618](https://github.com/googleapis/java-redis/issues/618)) ([ccde9b5](https://github.com/googleapis/java-redis/commit/ccde9b5820016a0569df88c3a85f688be4d08c79))
* add secondary_ip_range field ([ccde9b5](https://github.com/googleapis/java-redis/commit/ccde9b5820016a0569df88c3a85f688be4d08c79))
* add support for AUTH functionality ([ccde9b5](https://github.com/googleapis/java-redis/commit/ccde9b5820016a0569df88c3a85f688be4d08c79))
* add support for TLS functionality ([ccde9b5](https://github.com/googleapis/java-redis/commit/ccde9b5820016a0569df88c3a85f688be4d08c79))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.9.0 ([#620](https://github.com/googleapis/java-redis/issues/620)) ([d610035](https://github.com/googleapis/java-redis/commit/d6100350270f4b55e82772c9abf285ae7fb4bfeb))

## [2.3.0](https://github.com/googleapis/java-redis/compare/v2.2.0...v2.3.0) (2022-03-08)


### Features

* add secondary_ip_range field ([#599](https://github.com/googleapis/java-redis/issues/599)) ([a844e79](https://github.com/googleapis/java-redis/commit/a844e79f5600030bff42d439e744291964617d82))


### Dependencies

* update actions/github-script action to v6 ([#601](https://github.com/googleapis/java-redis/issues/601)) ([8f3c134](https://github.com/googleapis/java-redis/commit/8f3c134967bda155024a77136ad0b56144114cec))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.8.0 ([#609](https://github.com/googleapis/java-redis/issues/609)) ([3a6cc3e](https://github.com/googleapis/java-redis/commit/3a6cc3e110fc5772ae611a30db53d6f348823407))
* upgrade google-cloud-shared-config to 1.3.0 ([#613](https://github.com/googleapis/java-redis/issues/613)) ([3eaa357](https://github.com/googleapis/java-redis/commit/3eaa3578683a20c51863ababf9454b30a0cc546a))

## [2.2.0](https://github.com/googleapis/java-redis/compare/v2.1.1...v2.2.0) (2022-02-07)


### Features

* Add automated RDB (AKA persistence) ([#588](https://github.com/googleapis/java-redis/issues/588)) ([7ee7e33](https://github.com/googleapis/java-redis/commit/7ee7e33bf66d7112d3db87fb502a7706eb7b04c0))


### Bug Fixes

* [Cloud Memorystore for Redis] Add missing fields for TLS and Maintenance Window features ([#583](https://github.com/googleapis/java-redis/issues/583)) ([6ac4ac8](https://github.com/googleapis/java-redis/commit/6ac4ac893c19876a407affab72800c5ba96db000))


### Dependencies

* **java:** update actions/github-script action to v5 ([#1339](https://github.com/googleapis/java-redis/issues/1339)) ([#586](https://github.com/googleapis/java-redis/issues/586)) ([3022154](https://github.com/googleapis/java-redis/commit/3022154f1196ae2a449ef6d06b45d745d9b55328))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.7.0 ([#589](https://github.com/googleapis/java-redis/issues/589)) ([cfbfeeb](https://github.com/googleapis/java-redis/commit/cfbfeebfee12efdc927cd1f0cf293aa89d4c66fd))

### [2.1.1](https://www.github.com/googleapis/java-redis/compare/v2.1.0...v2.1.1) (2022-01-07)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.6.0 ([#571](https://www.github.com/googleapis/java-redis/issues/571)) ([3f8529c](https://www.github.com/googleapis/java-redis/commit/3f8529c9c3b4b6d51e95521547e18a3cfd9f905f))

## [2.1.0](https://www.github.com/googleapis/java-redis/compare/v2.0.6...v2.1.0) (2021-12-03)


### Features

* [Cloud Memorystore for Redis] Support Multiple Read Replicas when creating Instance ([#547](https://www.github.com/googleapis/java-redis/issues/547)) ([0b0fbf5](https://www.github.com/googleapis/java-redis/commit/0b0fbf5374bc38d13405df6a35c40148d0f464d2))
* next release from main branch is 2.1.0 ([#541](https://www.github.com/googleapis/java-redis/issues/541)) ([6292cd5](https://www.github.com/googleapis/java-redis/commit/6292cd5b83e77c94fba56b10ebcc82f08f9eced0))


### Bug Fixes

* **java:** java 17 dependency arguments ([#1266](https://www.github.com/googleapis/java-redis/issues/1266)) ([#538](https://www.github.com/googleapis/java-redis/issues/538)) ([9e6cbf1](https://www.github.com/googleapis/java-redis/commit/9e6cbf158402072c88ec4758fd8c47b0f00406bc))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.5.0 ([#554](https://www.github.com/googleapis/java-redis/issues/554)) ([3065db4](https://www.github.com/googleapis/java-redis/commit/3065db41a17dbef04580c6e37e6adfc3e454117e))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.5.1 ([#562](https://www.github.com/googleapis/java-redis/issues/562)) ([162fdda](https://www.github.com/googleapis/java-redis/commit/162fdda75fbf4dce4f2f2c6f5a402d24dd808126))

### [2.0.6](https://www.github.com/googleapis/java-redis/compare/v2.0.5...v2.0.6) (2021-10-20)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.4.0 ([#533](https://www.github.com/googleapis/java-redis/issues/533)) ([7e5884d](https://www.github.com/googleapis/java-redis/commit/7e5884df25f888e89e0fb90f11299deaba0654c0))

### [2.0.5](https://www.github.com/googleapis/java-redis/compare/v2.0.4...v2.0.5) (2021-09-27)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.3.0 ([#518](https://www.github.com/googleapis/java-redis/issues/518)) ([b58c4fd](https://www.github.com/googleapis/java-redis/commit/b58c4fdccd3e5a652cee756c972dd805a7e36a1a))

### [2.0.4](https://www.github.com/googleapis/java-redis/compare/v2.0.3...v2.0.4) (2021-09-14)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.2.1 ([#511](https://www.github.com/googleapis/java-redis/issues/511)) ([dff1094](https://www.github.com/googleapis/java-redis/commit/dff1094487422b5d2ff5b497effff46ff47de9b4))

### [2.0.3](https://www.github.com/googleapis/java-redis/compare/v2.0.2...v2.0.3) (2021-09-03)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.2.0 ([#498](https://www.github.com/googleapis/java-redis/issues/498)) ([20c4805](https://www.github.com/googleapis/java-redis/commit/20c48050c1cb00e26b081c7dc986d006ea8ce7f3))

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


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.1.0 ([#487](https://www.github.com/googleapis/java-redis/issues/487)) ([7b1aa0d](https://www.github.com/googleapis/java-redis/commit/7b1aa0d68adbac2c1e77f17f5dc5e943cf7a27ac))

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


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.0.1 ([#478](https://www.github.com/googleapis/java-redis/issues/478)) ([8119547](https://www.github.com/googleapis/java-redis/commit/8119547023702541379b328355699e8e72a4871d))

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


### ⚠ BREAKING CHANGES

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

### Features

* release gapic-generator-java v2.0.0 ([#470](https://www.github.com/googleapis/java-redis/issues/470)) ([e2ef9e2](https://www.github.com/googleapis/java-redis/commit/e2ef9e261a8bc98c937d4a2f13c4a6af2f860ae6))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v2 ([#471](https://www.github.com/googleapis/java-redis/issues/471)) ([21eebad](https://www.github.com/googleapis/java-redis/commit/21eebadc7560b64832753b5eec412c32ec8c6625))

### [1.2.2](https://www.github.com/googleapis/java-redis/compare/v1.2.1...v1.2.2) (2021-07-05)


### Bug Fixes

* Add `shopt -s nullglob` to dependencies script ([#440](https://www.github.com/googleapis/java-redis/issues/440)) ([a8b67a1](https://www.github.com/googleapis/java-redis/commit/a8b67a1b7dd582e58f1d092000cc6afbe087a937))
* Update dependencies.sh to not break on mac ([#436](https://www.github.com/googleapis/java-redis/issues/436)) ([867a5fa](https://www.github.com/googleapis/java-redis/commit/867a5fa80ce9c891c8442dca1d1e6dc569f5a965))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.4.0 ([#443](https://www.github.com/googleapis/java-redis/issues/443)) ([bfee027](https://www.github.com/googleapis/java-redis/commit/bfee0271a2cac40513cebe7448fcf7c447f685ad))

### [1.2.1](https://www.github.com/googleapis/java-redis/compare/v1.2.0...v1.2.1) (2021-06-04)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.3.0 ([#426](https://www.github.com/googleapis/java-redis/issues/426)) ([fa9b347](https://www.github.com/googleapis/java-redis/commit/fa9b3475c211ddd295acc2efec63d48e219315de))

## [1.2.0](https://www.github.com/googleapis/java-redis/compare/v1.1.15...v1.2.0) (2021-06-01)


### Features

* add gcf-owl-bot[bot] to ignoreAuthors  ([#421](https://www.github.com/googleapis/java-redis/issues/421)) ([ad75ae2](https://www.github.com/googleapis/java-redis/commit/ad75ae2d232a1dfd3bb7dcfed80793382e337ccb))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.2.0 ([#414](https://www.github.com/googleapis/java-redis/issues/414)) ([14a170e](https://www.github.com/googleapis/java-redis/commit/14a170ec74a311cd8ffcb2688e8700e305562151))

### [1.1.15](https://www.github.com/googleapis/java-redis/compare/v1.1.14...v1.1.15) (2021-05-11)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.1.0 ([#405](https://www.github.com/googleapis/java-redis/issues/405)) ([c1df139](https://www.github.com/googleapis/java-redis/commit/c1df13933f9da4fb380bb9e0e83c5f85d1c64a0d))

### [1.1.14](https://www.github.com/googleapis/java-redis/compare/v1.1.13...v1.1.14) (2021-04-24)


### Bug Fixes

* release scripts from issuing overlapping phases ([#389](https://www.github.com/googleapis/java-redis/issues/389)) ([353a041](https://www.github.com/googleapis/java-redis/commit/353a041103f43cba5c15692e52b6e9b140937655))
* typo ([#386](https://www.github.com/googleapis/java-redis/issues/386)) ([acef837](https://www.github.com/googleapis/java-redis/commit/acef837542ba0fc8e75fb33a5ef8171d69db3edb))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.21.1 ([#391](https://www.github.com/googleapis/java-redis/issues/391)) ([49a4a03](https://www.github.com/googleapis/java-redis/commit/49a4a035ab6fc9a42c1e633fe42908a881236bcd))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v1 ([#394](https://www.github.com/googleapis/java-redis/issues/394)) ([cae8bb0](https://www.github.com/googleapis/java-redis/commit/cae8bb06faa046f4619fb30e037315edf3f938f1))

### [1.1.13](https://www.github.com/googleapis/java-redis/compare/v1.1.12...v1.1.13) (2021-04-09)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.21.0 ([#376](https://www.github.com/googleapis/java-redis/issues/376)) ([7e8f4d3](https://www.github.com/googleapis/java-redis/commit/7e8f4d3b52b9d7cef1c6720beb3fe3a43c1e97a7))

### [1.1.12](https://www.github.com/googleapis/java-redis/compare/v1.1.11...v1.1.12) (2021-03-11)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.20.1 ([#359](https://www.github.com/googleapis/java-redis/issues/359)) ([4906db8](https://www.github.com/googleapis/java-redis/commit/4906db8a5c47cca9bc20d8f1324672f56827b940))

### [1.1.11](https://www.github.com/googleapis/java-redis/compare/v1.1.10...v1.1.11) (2021-02-25)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.20.0 ([#345](https://www.github.com/googleapis/java-redis/issues/345)) ([a6318da](https://www.github.com/googleapis/java-redis/commit/a6318da913d6ce2ee140ed1998703abc49ae6c5a))

### [1.1.10](https://www.github.com/googleapis/java-redis/compare/v1.1.9...v1.1.10) (2021-02-22)


### Documentation

* generate sample code in the Java microgenerator ([#324](https://www.github.com/googleapis/java-redis/issues/324)) ([dc28d35](https://www.github.com/googleapis/java-redis/commit/dc28d352dda364cdea75a0ebf2796fe5f3edb06c))


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.19.0 ([#336](https://www.github.com/googleapis/java-redis/issues/336)) ([ddf8106](https://www.github.com/googleapis/java-redis/commit/ddf8106ff78e4067d31f130d11dfd7df8e0a4e7e))

### [1.1.9](https://www.github.com/googleapis/java-redis/compare/v1.1.8...v1.1.9) (2021-01-14)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.18.0 ([#306](https://www.github.com/googleapis/java-redis/issues/306)) ([7e85287](https://www.github.com/googleapis/java-redis/commit/7e85287792fd1e47026d72105afe4b50e51ac6e6))

### [1.1.8](https://www.github.com/googleapis/java-redis/compare/v1.1.7...v1.1.8) (2020-12-15)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.17.0 ([#293](https://www.github.com/googleapis/java-redis/issues/293)) ([1cad4f3](https://www.github.com/googleapis/java-redis/commit/1cad4f36b88e408d4c436d1aad9ac28ce5681c3c))

### [1.1.7](https://www.github.com/googleapis/java-redis/compare/v1.1.6...v1.1.7) (2020-12-14)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.16.1 ([#288](https://www.github.com/googleapis/java-redis/issues/288)) ([2ed281a](https://www.github.com/googleapis/java-redis/commit/2ed281a0df9825b22dce25dff6ccf8b91b45f441))

### [1.1.6](https://www.github.com/googleapis/java-redis/compare/v1.1.5...v1.1.6) (2020-12-03)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.16.0 ([#277](https://www.github.com/googleapis/java-redis/issues/277)) ([c710a48](https://www.github.com/googleapis/java-redis/commit/c710a48d4e2dd9588e23bf68db54c4f23a5a9179))

### [1.1.5](https://www.github.com/googleapis/java-redis/compare/v1.1.4...v1.1.5) (2020-11-17)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.15.0 ([#260](https://www.github.com/googleapis/java-redis/issues/260)) ([07dd8d3](https://www.github.com/googleapis/java-redis/commit/07dd8d3731b44063cc62442f1a9c98fd518e33e9))

### [1.1.4](https://www.github.com/googleapis/java-redis/compare/v1.1.3...v1.1.4) (2020-10-31)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.14.1 ([#248](https://www.github.com/googleapis/java-redis/issues/248)) ([2b777c9](https://www.github.com/googleapis/java-redis/commit/2b777c9d47727ad92cbcb288dc01b36df7962ea3))

### [1.1.3](https://www.github.com/googleapis/java-redis/compare/v1.1.2...v1.1.3) (2020-10-22)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.12.1 ([#230](https://www.github.com/googleapis/java-redis/issues/230)) ([d4f7499](https://www.github.com/googleapis/java-redis/commit/d4f74999395ce2cec5babe7b622ce10091d3beea))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.13.0 ([#234](https://www.github.com/googleapis/java-redis/issues/234)) ([c6ed551](https://www.github.com/googleapis/java-redis/commit/c6ed551bced897e82eb253ba194fe4864c0b827b))

### [1.1.2](https://www.github.com/googleapis/java-redis/compare/v1.1.1...v1.1.2) (2020-10-08)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.10.2 ([#218](https://www.github.com/googleapis/java-redis/issues/218)) ([b761ab5](https://www.github.com/googleapis/java-redis/commit/b761ab54d91e95c13ecbec6babe598d0bead476c))

### [1.1.1](https://www.github.com/googleapis/java-redis/compare/v1.1.0...v1.1.1) (2020-09-24)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.10.0 ([#203](https://www.github.com/googleapis/java-redis/issues/203)) ([990f13f](https://www.github.com/googleapis/java-redis/commit/990f13f3df347002eafe3ad0cdcb405dc8224868))

## [1.1.0](https://www.github.com/googleapis/java-redis/compare/v1.0.0...v1.1.0) (2020-09-23)


### Features

* **deps:** adopt flatten plugin and google-cloud-shared-dependencies ([#163](https://www.github.com/googleapis/java-redis/issues/163)) ([8063d1d](https://www.github.com/googleapis/java-redis/commit/8063d1d780737e0fae9a98740a510945f6ff3d59))
* enable REDIS_5_0 as and option for redis_version, add --stream-node-max-entries, --stream-node-max-bytes ([#98](https://www.github.com/googleapis/java-redis/issues/98)) ([2947244](https://www.github.com/googleapis/java-redis/commit/29472441162380ba1f5fcf2799e56726ecb85c81)), closes [#453](https://www.github.com/googleapis/java-redis/issues/453) [#453](https://www.github.com/googleapis/java-redis/issues/453) [#452](https://www.github.com/googleapis/java-redis/issues/452) [#452](https://www.github.com/googleapis/java-redis/issues/452) [#457](https://www.github.com/googleapis/java-redis/issues/457) [#457](https://www.github.com/googleapis/java-redis/issues/457)


### Bug Fixes

* migrate redis/v1 to grpc_service_config ([#152](https://www.github.com/googleapis/java-redis/issues/152)) ([14a0c0f](https://www.github.com/googleapis/java-redis/commit/14a0c0fceedd46331a1e05620316b51289c429a2))
* migrate redis/v1beta1 to grpc_service_config ([#161](https://www.github.com/googleapis/java-redis/issues/161)) ([43ae8e9](https://www.github.com/googleapis/java-redis/commit/43ae8e97272d216a1f4a87c0ac28d05269b1d5ad))


### Documentation

* change relative URLs to absolute URLs to fix broken links ([#143](https://www.github.com/googleapis/java-redis/issues/143)) ([e83e0c0](https://www.github.com/googleapis/java-redis/commit/e83e0c0b60137d272b80c20bb16fae5e140d5032))


### Dependencies

* update core dependencies ([#81](https://www.github.com/googleapis/java-redis/issues/81)) ([1235903](https://www.github.com/googleapis/java-redis/commit/1235903062275cc0b3ac6a6da1ff6ef23af7b20a))
* update dependency com.google.api:api-common to v1.9.0 ([#97](https://www.github.com/googleapis/java-redis/issues/97)) ([fe62f6f](https://www.github.com/googleapis/java-redis/commit/fe62f6ff3e33a103378a5db33b84a49b195061c7))
* update dependency com.google.api:api-common to v1.9.1 ([#136](https://www.github.com/googleapis/java-redis/issues/136)) ([c089592](https://www.github.com/googleapis/java-redis/commit/c0895927dd204cda98c5cb1257349a2f8d116593))
* update dependency com.google.api.grpc:proto-google-common-protos to v1.18.0 ([#127](https://www.github.com/googleapis/java-redis/issues/127)) ([03f7ccb](https://www.github.com/googleapis/java-redis/commit/03f7ccb5490cc5552fd44b055e07cc4a64bdb0fe))
* update dependency com.google.cloud:google-cloud-core to v1.93.1 ([#80](https://www.github.com/googleapis/java-redis/issues/80)) ([899393d](https://www.github.com/googleapis/java-redis/commit/899393ddb7f5450c389d85e11fd11e9e584c58d4))
* update dependency com.google.cloud:google-cloud-core to v1.93.4 ([#103](https://www.github.com/googleapis/java-redis/issues/103)) ([be57170](https://www.github.com/googleapis/java-redis/commit/be571708240e62dbda2df9c6c4be8699fbc96593))
* update dependency com.google.cloud:google-cloud-core to v1.93.5 ([#137](https://www.github.com/googleapis/java-redis/issues/137)) ([9a4ea1e](https://www.github.com/googleapis/java-redis/commit/9a4ea1eb73107ffbdd8b36a2feaa717bd2d6e0a9))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.8.2 ([#172](https://www.github.com/googleapis/java-redis/issues/172)) ([ce530e8](https://www.github.com/googleapis/java-redis/commit/ce530e8988e210073a142c81242224d6008d911d))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.8.3 ([#175](https://www.github.com/googleapis/java-redis/issues/175)) ([9fc6e2a](https://www.github.com/googleapis/java-redis/commit/9fc6e2a3de27443c09adee8506b2a67bececd987))
* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.9.0 ([#180](https://www.github.com/googleapis/java-redis/issues/180)) ([6cc7a02](https://www.github.com/googleapis/java-redis/commit/6cc7a020456524df486d972a62214d5f1e15290e))
* update dependency com.google.cloud.samples:shared-configuration to v1.0.13 ([#96](https://www.github.com/googleapis/java-redis/issues/96)) ([17740a7](https://www.github.com/googleapis/java-redis/commit/17740a7bea9a41a02368dea02d350257ebb27417))
* update dependency com.google.guava:guava-bom to v29 ([#109](https://www.github.com/googleapis/java-redis/issues/109)) ([58d00a8](https://www.github.com/googleapis/java-redis/commit/58d00a849a8ad36f279504af2b0f9ffda68e8588))
* update dependency com.google.protobuf:protobuf-bom to v3.12.0 ([#132](https://www.github.com/googleapis/java-redis/issues/132)) ([9c1312f](https://www.github.com/googleapis/java-redis/commit/9c1312feacf369a8b3cec934c3c686884f5d6b19))
* update dependency com.google.protobuf:protobuf-bom to v3.12.2 ([#134](https://www.github.com/googleapis/java-redis/issues/134)) ([fd6d8f1](https://www.github.com/googleapis/java-redis/commit/fd6d8f1069286aa7bb1b0a8a188e3afa9c2a4b83))
* update dependency io.grpc:grpc-bom to v1.29.0 ([#123](https://www.github.com/googleapis/java-redis/issues/123)) ([e942bb1](https://www.github.com/googleapis/java-redis/commit/e942bb17e8665f8035528a93ebb52f4103f67686))
* update dependency org.threeten:threetenbp to v1.4.3 ([#91](https://www.github.com/googleapis/java-redis/issues/91)) ([ccdf82f](https://www.github.com/googleapis/java-redis/commit/ccdf82ffc2a5f14196005ba934868949f8321689))
* update dependency org.threeten:threetenbp to v1.4.4 ([#125](https://www.github.com/googleapis/java-redis/issues/125)) ([46482aa](https://www.github.com/googleapis/java-redis/commit/46482aa4a1f078257a382169e375c4d2f3da89df))

## [1.0.0](https://www.github.com/googleapis/java-redis/compare/v0.119.0...v1.0.0) (2020-02-29)


### Features

* promote to GA ([#76](https://www.github.com/googleapis/java-redis/issues/76)) ([b8ea41f](https://www.github.com/googleapis/java-redis/commit/b8ea41f49eddbb931a1af37e693674026a33ff9b))


### Dependencies

* update core dependency ([#62](https://www.github.com/googleapis/java-redis/issues/62)) ([15742cc](https://www.github.com/googleapis/java-redis/commit/15742cc4b4221180ed1f55f63738547c25ca2cea))
* update core libraries ([#79](https://www.github.com/googleapis/java-redis/issues/79)) ([ca3ebd9](https://www.github.com/googleapis/java-redis/commit/ca3ebd926d5c3bd83e316bb38022a7da7e1c336e))
* update dependency com.google.cloud:google-cloud-core to v1.92.5 ([eeef8c1](https://www.github.com/googleapis/java-redis/commit/eeef8c17dccc634142ea35f363d6f22b524f231d))
* update dependency com.google.protobuf:protobuf-bom to v3.11.4 ([ba87bb6](https://www.github.com/googleapis/java-redis/commit/ba87bb626a02341b9e06d60346061ce208f545dd))
* update dependency io.grpc:grpc-bom to v1.27.1 ([a7da0ae](https://www.github.com/googleapis/java-redis/commit/a7da0ae1f1ed2773ccfeed0ebf2823393163c712))


### Documentation

* **regen:** update generated samples for UpdateInstance ([#65](https://www.github.com/googleapis/java-redis/issues/65)) ([c21e230](https://www.github.com/googleapis/java-redis/commit/c21e2301698c6d4fb2de1dce9d60c477031ee7f4))
* **regen:** update sample code to set total timeout, add API client header test ([e0790c9](https://www.github.com/googleapis/java-redis/commit/e0790c90b5b3e7d819cfc6c5305b957b6460ad14))

## [0.119.0](https://www.github.com/googleapis/java-redis/compare/v0.118.1...v0.119.0) (2020-02-05)


### Features

* add ConnectMode to v1 and UpgradeInstance RPC to v1beta1 ([#53](https://www.github.com/googleapis/java-redis/issues/53)) ([d8f9c5b](https://www.github.com/googleapis/java-redis/commit/d8f9c5bd276f39c165a70b55181f990ec0b50a85))

### [0.118.1](https://www.github.com/googleapis/java-redis/compare/v0.118.0...v0.118.1) (2020-02-04)


### Dependencies

* update core dependencies ([#28](https://www.github.com/googleapis/java-redis/issues/28)) ([b80c0fc](https://www.github.com/googleapis/java-redis/commit/b80c0fc6d61f395480fd26bb53c7de77c0ca312c))
* update dependency com.google.protobuf:protobuf-bom to v3.11.3 ([#49](https://www.github.com/googleapis/java-redis/issues/49)) ([5821e9c](https://www.github.com/googleapis/java-redis/commit/5821e9caecf10e5afc3b8e6466bd041e3337408b))

## [0.118.0](https://www.github.com/googleapis/java-redis/compare/v0.117.1...v0.118.0) (2020-01-23)


### Features

* release as beta ([#37](https://www.github.com/googleapis/java-redis/issues/37)) ([820fd53](https://www.github.com/googleapis/java-redis/commit/820fd53b2f0ae6b7f22ad18e782d3cd9602cf37c))


### Dependencies

* update dependency org.threeten:threetenbp to v1.4.1 ([15b129e](https://www.github.com/googleapis/java-redis/commit/15b129ec794b2d73fe727f45ac08cba4fd0eff25))

### [0.117.1](https://www.github.com/googleapis/java-redis/compare/v0.117.0...v0.117.1) (2020-01-07)


### Dependencies

* update core dependencies ([#24](https://www.github.com/googleapis/java-redis/issues/24)) ([09f2044](https://www.github.com/googleapis/java-redis/commit/09f2044f73ef9e0477e677b55ffbb82d0c0f072f))


### Documentation

* **regen:** updated javadocs from protoc update ([#17](https://www.github.com/googleapis/java-redis/issues/17)) ([fcdc115](https://www.github.com/googleapis/java-redis/commit/fcdc115d9a9a08ebf4bf1288db015ac6fedad74b))

## [0.117.0](https://www.github.com/googleapis/java-redis/compare/0.116.0...v0.117.0) (2019-12-04)


### Features

* make repo releasable, add parent/bom ([#1](https://www.github.com/googleapis/java-redis/issues/1)) ([1b84248](https://www.github.com/googleapis/java-redis/commit/1b842488dcdc379373310586eef3044a27c7491b))


### Dependencies

* update dependency com.google.cloud:google-cloud-core to v1.91.3 ([#3](https://www.github.com/googleapis/java-redis/issues/3)) ([c4aba9f](https://www.github.com/googleapis/java-redis/commit/c4aba9f7dfc5b59b9c5dce35f7e0458e90fe1ae1))
* update dependency com.google.protobuf:protobuf-java to v3.11.1 ([#14](https://www.github.com/googleapis/java-redis/issues/14)) ([baa062c](https://www.github.com/googleapis/java-redis/commit/baa062c6587c69bf0be4f87f74621deeb24537d1))
* update dependency io.grpc:grpc-bom to v1.25.0 ([#6](https://www.github.com/googleapis/java-redis/issues/6)) ([ce2b9aa](https://www.github.com/googleapis/java-redis/commit/ce2b9aaa5ff5412964947fe1db7002503ac4473c))
* update gax.version to v1.50.1 ([#7](https://www.github.com/googleapis/java-redis/issues/7)) ([a4e0833](https://www.github.com/googleapis/java-redis/commit/a4e0833d71aebf05a0a7c82f965e248bdf8c0fb7))


### Documentation

* reference libraries-bom in docs ([#9](https://www.github.com/googleapis/java-redis/issues/9)) ([7adaecc](https://www.github.com/googleapis/java-redis/commit/7adaecc6be71a1c677d0e580912e2344bf3139a4))
