spring-projects/spring-data-redis
Provides support to increase developer productivity in Java when using Redis, a key-value store. Uses familiar Spring concepts such as a template classes for core API usage and lightweight repository style data access.
๐ฆ :green_book: Links
- [Spring Data Redis 4.1.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.1/)
- [Spring Data Redis 4.1.0 Javadoc](https://docs.spring.io/spring-data/redis/reference/4.1/api/java/)
โจ :star: New Features
- Add `RedisMessageSendingTemplate` [#3339](https://github.com/spring-projects/spring-data-redis/pull/3339)
- Added Redis DIGEST command support for connection and template layer [#3333](https://github.com/spring-projects/spring-data-redis/pull/3333)
- Refactor SET command API to include CAS options [#3324](https://github.com/spring-projects/spring-data-redis/pull/3324)
- Add `RedisListenerEndpointRegistrar` and content negotiation [#3321](https://github.com/spring-projects/spring-data-redis/pull/3321)
- Deprecate `TimeUnit`-based Template API in favor of `Duration` and `Expiration` types [#3319](https://github.com/spring-projects/spring-data-redis/pull/3319)
- Added support for Redis 8.4 DELEX command [#3318](https://github.com/spring-projects/spring-data-redis/pull/3318)
- Reset Caches by flushing DB [#3314](https://github.com/spring-projects/spring-data-redis/pull/3314)
- Add Expiration-based API for SET command operations [#3305](https://github.com/spring-projects/spring-data-redis/pull/3305)
- + 12 more
๐ :lady_beetle: Bug Fixes
- Fix `RedisPipelineException` double-wrapping in `LettuceConnection.closePipeline()` [#3347](https://github.com/spring-projects/spring-data-redis/pull/3347)
- `RedisPipelineException` is double-wrapped in `LettuceConnection.closePipeline()` [#3346](https://github.com/spring-projects/spring-data-redis/issues/3346)
- Fix sort direction ignored in GeoSearchStoreCommandArgs.sort() [#3345](https://github.com/spring-projects/spring-data-redis/pull/3345)
- Fix sort direction ignored in GeoSearchStoreCommandArgs.sort() [#3342](https://github.com/spring-projects/spring-data-redis/issues/3342)
- `JedisClusterStringCommands` uses `LettuceConverters` [#3328](https://github.com/spring-projects/spring-data-redis/issues/3328)
- Fix Duration validation to accept nanosecond fractions [#3302](https://github.com/spring-projects/spring-data-redis/pull/3302)
- Use Jackson default factory to create JavaType [#3277](https://github.com/spring-projects/spring-data-redis/pull/3277)
- JacksonJsonRedisSerializer in Spring Data Redis 4.0.0 breaks deserialization due to use of unsafeSimpleType [#3271](https://github.com/spring-projects/spring-data-redis/issues/3271)
- + 1 more
๐ :notebook_with_decorative_cover: Documentation
- Fix typos and a malformed anchor in the preface [#3377](https://github.com/spring-projects/spring-data-redis/pull/3377)
- Refine `MessageListenerAdapter` regarding channel and pattern arguments [#3338](https://github.com/spring-projects/spring-data-redis/issues/3338)
- Update observability note to reflect MicrometerTracing usage [#3323](https://github.com/spring-projects/spring-data-redis/pull/3323)
- Adopt Lettuce observability documentation to Spring Boot 4 changes [#3313](https://github.com/spring-projects/spring-data-redis/issues/3313)
- Refine Antora-build [#2797](https://github.com/spring-projects/spring-data-build/issues/2797)
- Add Readme templates [#2758](https://github.com/spring-projects/spring-data-build/issues/2758)
๐ฆ :hammer: Dependency Upgrades
- Upgrade to Maven Wrapper 3.9.16 [#3373](https://github.com/spring-projects/spring-data-redis/issues/3373)
- Upgrade to Lettuce 7.5.2.RELEASE [#3369](https://github.com/spring-projects/spring-data-redis/issues/3369)
- Upgrade to Jedis 7.4.1 [#3344](https://github.com/spring-projects/spring-data-redis/issues/3344)
- Upgrade to Lettuce 7.5.1.RELEASE [#3343](https://github.com/spring-projects/spring-data-redis/issues/3343)
- Upgrade to Commons Pool 2.13.1 [#3335](https://github.com/spring-projects/spring-data-redis/issues/3335)
- Upgrade to Jedis 7.4.0 [#3325](https://github.com/spring-projects/spring-data-redis/issues/3325)
- Upgrade to Lettuce 7.5.0.RELEASE [#3322](https://github.com/spring-projects/spring-data-redis/issues/3322)
- Upgrade to use the Jedis `RedisClient`/`RedisClusterClient` instead of the legacy Jedis API [#3315](https://github.com/spring-projects/spring-data-redis/pull/3315)
- + 3 more
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @Ilyass-Bougati
- @viktoriya-kutsarova
- @onobc
- @l2yujw
- @chanani
- @tishun
- @youngsuk-kim
- + 10 more
๐ฆ :green_book: Links
- [Spring Data Redis 4.0.6 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.0/)
- [Spring Data Redis 4.0.6 Javadoc](https://docs.spring.io/spring-data/redis/reference/4.0/api/java/)
๐ :notebook_with_decorative_cover: Documentation
- Fix typos and a malformed anchor in the preface [#3377](https://github.com/spring-projects/spring-data-redis/pull/3377)
๐ฆ :hammer: Dependency Upgrades
- Upgrade to Maven Wrapper 3.9.16 [#3374](https://github.com/spring-projects/spring-data-redis/issues/3374)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @leestana01
๐ฆ :green_book: Links
- [Spring Data Redis 3.5.12 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.5/)
- [Spring Data Redis 3.5.12 Javadoc](https://docs.spring.io/spring-data/redis/reference/3.5/api/java/)
๐ :notebook_with_decorative_cover: Documentation
- Fix typos and a malformed anchor in the preface [#3377](https://github.com/spring-projects/spring-data-redis/pull/3377)
๐ฆ :hammer: Dependency Upgrades
- Upgrade to Maven Wrapper 3.9.16 [#3375](https://github.com/spring-projects/spring-data-redis/issues/3375)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @leestana01
๐ฆ :green_book: Links
- [Spring Data Redis 4.1.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.1/)
- [Spring Data Redis 4.1.0 Javadoc](https://docs.spring.io/spring-data/redis/reference/4.1/api/java/)
โจ :star: New Features
- Add `RedisMessageSendingTemplate` [#3339](https://github.com/spring-projects/spring-data-redis/pull/3339)
- Added Redis DIGEST command support for connection and template layer [#3333](https://github.com/spring-projects/spring-data-redis/pull/3333)
- Reset Caches by flushing DB [#3314](https://github.com/spring-projects/spring-data-redis/pull/3314)
- Support `CacheManager.resetCaches()` optimization [#3290](https://github.com/spring-projects/spring-data-redis/issues/3290)
๐ :lady_beetle: Bug Fixes
- Fix `RedisPipelineException` double-wrapping in `LettuceConnection.closePipeline()` [#3347](https://github.com/spring-projects/spring-data-redis/pull/3347)
- `RedisPipelineException` is double-wrapped in `LettuceConnection.closePipeline()` [#3346](https://github.com/spring-projects/spring-data-redis/issues/3346)
- Fix sort direction ignored in GeoSearchStoreCommandArgs.sort() [#3345](https://github.com/spring-projects/spring-data-redis/pull/3345)
- Fix sort direction ignored in GeoSearchStoreCommandArgs.sort() [#3342](https://github.com/spring-projects/spring-data-redis/issues/3342)
๐ :notebook_with_decorative_cover: Documentation
- Refine `MessageListenerAdapter` regarding channel and pattern arguments [#3338](https://github.com/spring-projects/spring-data-redis/issues/3338)
๐ฆ :hammer: Dependency Upgrades
- Upgrade to Jedis 7.4.1 [#3344](https://github.com/spring-projects/spring-data-redis/issues/3344)
- Upgrade to Lettuce 7.5.1.RELEASE [#3343](https://github.com/spring-projects/spring-data-redis/issues/3343)
- Upgrade to Commons Pool 2.13.1 [#3335](https://github.com/spring-projects/spring-data-redis/issues/3335)
- Upgrade to use the Jedis `RedisClient`/`RedisClusterClient` instead of the legacy Jedis API [#3315](https://github.com/spring-projects/spring-data-redis/pull/3315)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @tishun
- @JEONGJAEIK
- @yeonsu00
- @Dgramada
๐ฆ :green_book: Links
- [Spring Data Redis 4.0.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.0/)
- [Spring Data Redis 4.0.0 Javadoc](https://docs.spring.io/spring-data/redis/reference/4.0/api/java/)
๐ :lady_beetle: Bug Fixes
- Fix `RedisPipelineException` double-wrapping in `LettuceConnection.closePipeline()` [#3347](https://github.com/spring-projects/spring-data-redis/pull/3347)
- `RedisPipelineException` is double-wrapped in `LettuceConnection.closePipeline()` [#3346](https://github.com/spring-projects/spring-data-redis/issues/3346)
- Fix sort direction ignored in GeoSearchStoreCommandArgs.sort() [#3345](https://github.com/spring-projects/spring-data-redis/pull/3345)
- Fix sort direction ignored in GeoSearchStoreCommandArgs.sort() [#3342](https://github.com/spring-projects/spring-data-redis/issues/3342)
๐ :notebook_with_decorative_cover: Documentation
- Refine `MessageListenerAdapter` regarding channel and pattern arguments [#3338](https://github.com/spring-projects/spring-data-redis/issues/3338)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @JEONGJAEIK
- @yeonsu00
- @Dgramada
๐ฆ :green_book: Links
- [Spring Data Redis 3.5.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.5/)
- [Spring Data Redis 3.5.0 Javadoc](https://docs.spring.io/spring-data/redis/reference/3.5/api/java/)
๐ :lady_beetle: Bug Fixes
- Fix `RedisPipelineException` double-wrapping in `LettuceConnection.closePipeline()` [#3347](https://github.com/spring-projects/spring-data-redis/pull/3347)
- `RedisPipelineException` is double-wrapped in `LettuceConnection.closePipeline()` [#3346](https://github.com/spring-projects/spring-data-redis/issues/3346)
- Fix sort direction ignored in GeoSearchStoreCommandArgs.sort() [#3345](https://github.com/spring-projects/spring-data-redis/pull/3345)
- Fix sort direction ignored in GeoSearchStoreCommandArgs.sort() [#3342](https://github.com/spring-projects/spring-data-redis/issues/3342)
๐ :notebook_with_decorative_cover: Documentation
- Refine `MessageListenerAdapter` regarding channel and pattern arguments [#3338](https://github.com/spring-projects/spring-data-redis/issues/3338)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @JEONGJAEIK
- @yeonsu00
๐ฆ :green_book: Links
- [Spring Data Redis 4.1.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.1/)
- [Spring Data Redis 4.1.0 Javadoc](https://docs.spring.io/spring-data/redis/reference/4.1/api/java/)
โจ :star: New Features
- Refactor SET command API to include CAS options [#3324](https://github.com/spring-projects/spring-data-redis/pull/3324)
- Add `RedisListenerEndpointRegistrar` and content negotiation [#3321](https://github.com/spring-projects/spring-data-redis/pull/3321)
- Deprecate `TimeUnit`-based Template API in favor of `Duration` and `Expiration` types [#3319](https://github.com/spring-projects/spring-data-redis/pull/3319)
- Added support for Redis 8.4 DELEX command [#3318](https://github.com/spring-projects/spring-data-redis/pull/3318)
- Add support for annotation-driven Redis Pub/Sub Listeners [#3303](https://github.com/spring-projects/spring-data-redis/pull/3303)
- Migrate to JSpecify annotations for nullability constraints [#3092](https://github.com/spring-projects/spring-data-redis/issues/3092)
- Introduce annotation-driven Redis listener endpoint programming model [#1004](https://github.com/spring-projects/spring-data-redis/issues/1004)
๐ :lady_beetle: Bug Fixes
- `JedisClusterStringCommands` uses `LettuceConverters` [#3328](https://github.com/spring-projects/spring-data-redis/issues/3328)
๐ :notebook_with_decorative_cover: Documentation
- Update observability note to reflect MicrometerTracing usage [#3323](https://github.com/spring-projects/spring-data-redis/pull/3323)
- Adopt Lettuce observability documentation to Spring Boot 4 changes [#3313](https://github.com/spring-projects/spring-data-redis/issues/3313)
- Refine Antora-build [#2797](https://github.com/spring-projects/spring-data-build/issues/2797)
๐ฆ :hammer: Dependency Upgrades
- Upgrade to Jedis 7.4.0 [#3325](https://github.com/spring-projects/spring-data-redis/issues/3325)
- Upgrade to Lettuce 7.5.0.RELEASE [#3322](https://github.com/spring-projects/spring-data-redis/issues/3322)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @Ilyass-Bougati
- @l2yujw
- @Leehyoungwoo
- @Dgramada
๐ฆ :green_book: Links
- [Spring Data Redis 4.0.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.0/)
- [Spring Data Redis 4.0.0 Javadoc](https://docs.spring.io/spring-data/redis/reference/4.0/api/java/)
โจ :star: New Features
- Migrate to JSpecify annotations for nullability constraints [#3092](https://github.com/spring-projects/spring-data-redis/issues/3092)
๐ :lady_beetle: Bug Fixes
- `JedisClusterStringCommands` uses `LettuceConverters` [#3328](https://github.com/spring-projects/spring-data-redis/issues/3328)
๐ :notebook_with_decorative_cover: Documentation
- Update observability note to reflect MicrometerTracing usage [#3323](https://github.com/spring-projects/spring-data-redis/pull/3323)
- Adopt Lettuce observability documentation to Spring Boot 4 changes [#3313](https://github.com/spring-projects/spring-data-redis/issues/3313)
- Refine Antora-build [#2797](https://github.com/spring-projects/spring-data-build/issues/2797)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @l2yujw
- @Leehyoungwoo
๐ฆ :green_book: Links
- [Spring Data Redis 3.5.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.5/)
- [Spring Data Redis 3.5.0 Javadoc](https://docs.spring.io/spring-data/redis/reference/3.5/api/java/)
๐ :lady_beetle: Bug Fixes
- `JedisClusterStringCommands` uses `LettuceConverters` [#3328](https://github.com/spring-projects/spring-data-redis/issues/3328)
๐ :notebook_with_decorative_cover: Documentation
- Refine Antora-build [#2797](https://github.com/spring-projects/spring-data-build/issues/2797)
๐ฆ :green_book: Links
- [Spring Data Redis 4.1 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.1/)
- [Spring Data Redis 4.1 Javadoc](https://docs.spring.io/spring-data/redis/docs/4.1.0-M1/api/)
โจ :star: New Features
- Add Expiration-based API for SET command operations [#3305](https://github.com/spring-projects/spring-data-redis/pull/3305)
- Make auto-startup configurable in DefaultStreamMessageListenerContainer [#3293](https://github.com/spring-projects/spring-data-redis/pull/3293)
- Provide library client information to Redis [#3268](https://github.com/spring-projects/spring-data-redis/pull/3268)
- Add incrementScore to RedisZSet [#3257](https://github.com/spring-projects/spring-data-redis/pull/3257)
- Add incrementScore to RedisZSet [#3256](https://github.com/spring-projects/spring-data-redis/issues/3256)
- Expand bitwise operations with DIFF, DIFF1, ANDOR, ONE [#3250](https://github.com/spring-projects/spring-data-redis/pull/3250)
- Add support for XDELEX and XACKDEL, and expand options for XADD and XTRIM [#3247](https://github.com/spring-projects/spring-data-redis/pull/3247)
- Feature Request: Support XDELEX, XACKEX and extend XADD and XTRIM options from Redis 8.2 [#3232](https://github.com/spring-projects/spring-data-redis/issues/3232)
- + 2 more
๐ :lady_beetle: Bug Fixes
- Fix Duration validation to accept nanosecond fractions [#3302](https://github.com/spring-projects/spring-data-redis/pull/3302)
- Use Jackson default factory to create JavaType [#3277](https://github.com/spring-projects/spring-data-redis/pull/3277)
- JacksonJsonRedisSerializer in Spring Data Redis 4.0.0 breaks deserialization due to use of unsafeSimpleType [#3271](https://github.com/spring-projects/spring-data-redis/issues/3271)
- ReactiveListOperations left/right pop operations fail with Duration with fractions of second [#2975](https://github.com/spring-projects/spring-data-redis/issues/2975)
๐ :notebook_with_decorative_cover: Documentation
- Add Readme templates [#2758](https://github.com/spring-projects/spring-data-build/issues/2758)
๐ฆ :hammer: Dependency Upgrades
- Upgrade to Lettuce 6.8.2.RELEASE [#3296](https://github.com/spring-projects/spring-data-redis/issues/3296)
- Upgrade jedis minor and lettuce major versions [#3295](https://github.com/spring-projects/spring-data-redis/pull/3295)
- Upgrade to Jedis 7.2.0 [#3282](https://github.com/spring-projects/spring-data-redis/issues/3282)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @viktoriya-kutsarova
- @onobc
- @chanani
- @youngsuk-kim
- @Dgramada
- @wlsh44
- @vinsguru
- + 3 more
๐ฆ :green_book: Links
- [Spring Data Redis 4.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.0/)
- [Spring Data Redis 4.0 Javadoc](https://docs.spring.io/spring-data/redis/docs/4.0.3/api/)
๐ :lady_beetle: Bug Fixes
- Fix Duration validation to accept nanosecond fractions [#3302](https://github.com/spring-projects/spring-data-redis/pull/3302)
- ReactiveListOperations left/right pop operations fail with Duration with fractions of second [#2975](https://github.com/spring-projects/spring-data-redis/issues/2975)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @chanani
๐ฆ :green_book: Links
- [Spring Data Redis 3.5 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.5/)
- [Spring Data Redis 3.5 Javadoc](https://docs.spring.io/spring-data/redis/docs/3.5.9/api/)
๐ :lady_beetle: Bug Fixes
- Fix Duration validation to accept nanosecond fractions [#3302](https://github.com/spring-projects/spring-data-redis/pull/3302)
- ReactiveListOperations left/right pop operations fail with Duration with fractions of second [#2975](https://github.com/spring-projects/spring-data-redis/issues/2975)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @chanani
๐ฆ :green_book: Links
- [Spring Data Redis 4.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.0/)
- [Spring Data Redis 4.0 Javadoc](https://docs.spring.io/spring-data/redis/docs/4.0.2/api/)
๐ :notebook_with_decorative_cover: Documentation
- Add Readme templates [#2758](https://github.com/spring-projects/spring-data-build/issues/2758)
๐ฆ :hammer: Dependency Upgrades
- Upgrade to Lettuce 6.8.2.RELEASE [#3296](https://github.com/spring-projects/spring-data-redis/issues/3296)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @onobc
- @wlsh44
๐ฆ :green_book: Links
- [Spring Data Redis 3.5 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.5/)
- [Spring Data Redis 3.5 Javadoc](https://docs.spring.io/spring-data/redis/docs/3.5.8/api/)
๐ :notebook_with_decorative_cover: Documentation
- Add Readme templates [#2758](https://github.com/spring-projects/spring-data-build/issues/2758)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @onobc
๐ฆ :green_book: Links
- [Spring Data Redis 4.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.0/)
- [Spring Data Redis 4.0 Javadoc](https://docs.spring.io/spring-data/redis/docs/4.0.1/api/)
๐ :lady_beetle: Bug Fixes
- Use Jackson default factory to create JavaType [#3277](https://github.com/spring-projects/spring-data-redis/pull/3277)
- JacksonJsonRedisSerializer in Spring Data Redis 4.0.0 breaks deserialization due to use of unsafeSimpleType [#3271](https://github.com/spring-projects/spring-data-redis/issues/3271)
๐ฆ :green_book: Links
- [Spring Data Redis 3.5 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.5/)
- [Spring Data Redis 3.5 Javadoc](https://docs.spring.io/spring-data/redis/docs/3.5.7/api/)
๐ฆ :green_book: Links
- [Spring Data Redis 3.4 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.4/)
- [Spring Data Redis 3.4 Javadoc](https://docs.spring.io/spring-data/redis/docs/3.4.13/api/)
๐ฆ :green_book: Links
- [Spring Data Redis 4.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.0/)
- [Spring Data Redis 4.0 Javadoc](https://docs.spring.io/spring-data/redis/docs/4.0.0/api/)
โจ :star: New Features
- Annotate ValueOperations.get(โฆ) methods with `@Nullable` [#3244](https://github.com/spring-projects/spring-data-redis/pull/3244)
- Add support for HGETGEL, HGETEX and HSETEX commands [#3226](https://github.com/spring-projects/spring-data-redis/pull/3226)
- Allow configuring phase in `RedisMessageListenerContainer` [#3224](https://github.com/spring-projects/spring-data-redis/pull/3224)
- `ValueOperations.get(โฆ)` methods should be annotated with `@Nullable` [#3223](https://github.com/spring-projects/spring-data-redis/issues/3223)
- Rename Jackson3โฆ classes to Jackson to align class naming [#3220](https://github.com/spring-projects/spring-data-redis/pull/3220)
- Consider renaming "Jackson3"-classes to "Jackson" [#3219](https://github.com/spring-projects/spring-data-redis/issues/3219)
- Add `RedisStaticMasterReplicaConfiguration` no-args constructor [#3218](https://github.com/spring-projects/spring-data-redis/issues/3218)
- Feature Request: Support HGETDEL, HGETEX and HSETEX from Redis 8.0 [#3211](https://github.com/spring-projects/spring-data-redis/issues/3211)
- + 13 more
๐ :lady_beetle: Bug Fixes
- Apply non-blocking eviction when using Lettuce for `RedisCache` [#3243](https://github.com/spring-projects/spring-data-redis/pull/3243)
- `RedisCache` does not comply with non-blocking semantics for `evict` and `clear` methods [#3236](https://github.com/spring-projects/spring-data-redis/issues/3236)
- `GenericJackson3JsonRedisSerializer` has Jackson 2 core dependencies [#3228](https://github.com/spring-projects/spring-data-redis/issues/3228)
- `rangeWithScores` methods returning not null in transactions [#3225](https://github.com/spring-projects/spring-data-redis/pull/3225)
- Add stream-key auto-conversion for ByteRecord [#3204](https://github.com/spring-projects/spring-data-redis/pull/3204)
- `SMISMEMBER` is a unknown command for `ConnectionSplittingInterceptor` [#3191](https://github.com/spring-projects/spring-data-redis/issues/3191)
- Fixes #3179 โ Restore _class metadata for collections in MappingRedisConverter [#3188](https://github.com/spring-projects/spring-data-redis/pull/3188)
- `rangeWithScores()` resolves to `RedisCommand.UNKNOWN` inside transaction [#3187](https://github.com/spring-projects/spring-data-redis/issues/3187)
- + 3 more
๐ :notebook_with_decorative_cover: Documentation
- `@Indexed` secondary index keys are not expired when `@RedisHash`(timeToLive=โฆ) entity expires [#3255](https://github.com/spring-projects/spring-data-redis/issues/3255)
- Refine `ZSetOperations` method argument names [#3227](https://github.com/spring-projects/spring-data-redis/pull/3227)
- Documentation mentions deprecated `MicrometerTracingAdapter` [#3149](https://github.com/spring-projects/spring-data-redis/issues/3149)
- Add performance warning to RedisTemplate#keys() and RedisOperations#keys() Javadoc [#3142](https://github.com/spring-projects/spring-data-redis/pull/3142)
- Refine version properties for documentation build [#2638](https://github.com/spring-projects/spring-data-build/issues/2638)
๐ฆ :hammer: Dependency Upgrades
- Upgrade to Jedis 7.0 [#3235](https://github.com/spring-projects/spring-data-redis/issues/3235)
- Upgrade to Lettuce 6.8.1 [#3213](https://github.com/spring-projects/spring-data-redis/issues/3213)
- Upgrade to Jedis 6.2 [#3212](https://github.com/spring-projects/spring-data-redis/issues/3212)
- Upgrade to Lettuce 6.8.0.RELEASE [#3194](https://github.com/spring-projects/spring-data-redis/issues/3194)
- Upgrade to Jedis 6.1.0 [#3192](https://github.com/spring-projects/spring-data-redis/issues/3192)
- Upgrade to Maven Wrapper 3.9.11 [#3180](https://github.com/spring-projects/spring-data-redis/issues/3180)
- Upgrade to Lettuce 6.7.1.RELEASE [#3177](https://github.com/spring-projects/spring-data-redis/issues/3177)
- Upgrade to commons-beanutils 1.11.0 [#3163](https://github.com/spring-projects/spring-data-redis/pull/3163)
- + 1 more
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @viktoriya-kutsarova
- @bandalgomsu
- @onobc
- @facewise
- @Kiminni
- @whatasame
- @hgh1472
- + 9 more
๐ฆ :green_book: Links
- [Spring Data Redis 3.5 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.5/)
- [Spring Data Redis 3.5 Javadoc](https://docs.spring.io/spring-data/redis/docs/3.5.6/api/)
๐ :lady_beetle: Bug Fixes
- Add stream-key auto-conversion for ByteRecord [#3204](https://github.com/spring-projects/spring-data-redis/pull/3204)
๐ :notebook_with_decorative_cover: Documentation
- `@Indexed` secondary index keys are not expired when `@RedisHash`(timeToLive=โฆ) entity expires [#3255](https://github.com/spring-projects/spring-data-redis/issues/3255)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @EdwinIngJ
- @dodu232
๐ฆ :green_book: Links
- [Spring Data Redis 3.4 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.4/)
- [Spring Data Redis 3.4 Javadoc](https://docs.spring.io/spring-data/redis/docs/3.4.12/api/)
๐ :notebook_with_decorative_cover: Documentation
- `@Indexed` secondary index keys are not expired when `@RedisHash`(timeToLive=โฆ) entity expires [#3255](https://github.com/spring-projects/spring-data-redis/issues/3255)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @EdwinIngJ
๐ฆ :green_book: Links
- [Spring Data Redis 4.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.0/)
- [Spring Data Redis 4.0 Javadoc](https://docs.spring.io/spring-data/redis/docs/4.0.0-RC2/api/)
โจ :star: New Features
- Annotate ValueOperations.get(โฆ) methods with `@Nullable` [#3244](https://github.com/spring-projects/spring-data-redis/pull/3244)
- Add support for HGETGEL, HGETEX and HSETEX commands [#3226](https://github.com/spring-projects/spring-data-redis/pull/3226)
- `ValueOperations.get(โฆ)` methods should be annotated with `@Nullable` [#3223](https://github.com/spring-projects/spring-data-redis/issues/3223)
- Feature Request: Support HGETDEL, HGETEX and HSETEX from Redis 8.0 [#3211](https://github.com/spring-projects/spring-data-redis/issues/3211)
- Move `PropertyPath` and `TypeInformation` types to `core` package [#3393](https://github.com/spring-projects/spring-data-commons/issues/3393)
๐ :lady_beetle: Bug Fixes
- Apply non-blocking eviction when using Lettuce for `RedisCache` [#3243](https://github.com/spring-projects/spring-data-redis/pull/3243)
- `RedisCache` does not comply with non-blocking semantics for `evict` and `clear` methods [#3236](https://github.com/spring-projects/spring-data-redis/issues/3236)
- Add stream-key auto-conversion for ByteRecord [#3204](https://github.com/spring-projects/spring-data-redis/pull/3204)
๐ :notebook_with_decorative_cover: Documentation
- Refine `ZSetOperations` method argument names [#3227](https://github.com/spring-projects/spring-data-redis/pull/3227)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @viktoriya-kutsarova
- @hgh1472
- @onobc
- @EdwinIngJ
- @dodu232
- @NeatGuyCoding
๐ฆ :green_book: Links
- [Spring Data Redis 4.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.0/)
- [Spring Data Redis 4.0 Javadoc](https://docs.spring.io/spring-data/redis/docs/4.0.0-RC1/api/)
โจ :star: New Features
- Add support for HGETGEL, HGETEX and HSETEX commands [#3226](https://github.com/spring-projects/spring-data-redis/pull/3226)
- Allow configuring phase in `RedisMessageListenerContainer` [#3224](https://github.com/spring-projects/spring-data-redis/pull/3224)
- Rename Jackson3โฆ classes to Jackson to align class naming [#3220](https://github.com/spring-projects/spring-data-redis/pull/3220)
- Consider renaming "Jackson3"-classes to "Jackson" [#3219](https://github.com/spring-projects/spring-data-redis/issues/3219)
- Add `RedisStaticMasterReplicaConfiguration` no-args constructor [#3218](https://github.com/spring-projects/spring-data-redis/issues/3218)
- Feature Request: Support HGETDEL, HGETEX and HSETEX from Redis 8.0 [#3211](https://github.com/spring-projects/spring-data-redis/issues/3211)
- Add support for Redis SINTERCARD command [#3210](https://github.com/spring-projects/spring-data-redis/pull/3210)
- Allow overriding phase in RedisMessageListenerContainer [#3208](https://github.com/spring-projects/spring-data-redis/issues/3208)
- + 1 more
๐ :lady_beetle: Bug Fixes
- `GenericJackson3JsonRedisSerializer` has Jackson 2 core dependencies [#3228](https://github.com/spring-projects/spring-data-redis/issues/3228)
- `rangeWithScores` methods returning not null in transactions [#3225](https://github.com/spring-projects/spring-data-redis/pull/3225)
- `rangeWithScores()` resolves to `RedisCommand.UNKNOWN` inside transaction [#3187](https://github.com/spring-projects/spring-data-redis/issues/3187)
๐ฆ :hammer: Dependency Upgrades
- Upgrade to Jedis 7.0 [#3235](https://github.com/spring-projects/spring-data-redis/issues/3235)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @viktoriya-kutsarova
- @bandalgomsu
- @facewise
- @LeeHyungGeol
- @Kiminni
๐ฆ :green_book: Links
- [Spring Data Redis 3.5 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.5/)
- [Spring Data Redis 3.5 Javadoc](https://docs.spring.io/spring-data/redis/docs/3.5.5/api/)
๐ :lady_beetle: Bug Fixes
- `rangeWithScores` methods returning not null in transactions [#3225](https://github.com/spring-projects/spring-data-redis/pull/3225)
- `rangeWithScores()` resolves to `RedisCommand.UNKNOWN` inside transaction [#3187](https://github.com/spring-projects/spring-data-redis/issues/3187)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @facewise
- @LeeHyungGeol
๐ฆ :green_book: Links
- [Spring Data Redis 3.4 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.4/)
- [Spring Data Redis 3.4 Javadoc](https://docs.spring.io/spring-data/redis/docs/3.4.11/api/)
๐ :lady_beetle: Bug Fixes
- `rangeWithScores` methods returning not null in transactions [#3225](https://github.com/spring-projects/spring-data-redis/pull/3225)
- `rangeWithScores()` resolves to `RedisCommand.UNKNOWN` inside transaction [#3187](https://github.com/spring-projects/spring-data-redis/issues/3187)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @facewise
- @LeeHyungGeol
๐ฆ :green_book: Links
- [Spring Data Redis 4.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.0/)
- [Spring Data Redis 4.0 Javadoc](https://docs.spring.io/spring-data/redis/docs/4.0.0-M6/api/)
โจ :star: New Features
- Avoid wrapping RedisConnection into StringRedisConnection via StringRedisTemplate [#3193](https://github.com/spring-projects/spring-data-redis/pull/3193)
๐ :lady_beetle: Bug Fixes
- `SMISMEMBER` is a unknown command for `ConnectionSplittingInterceptor` [#3191](https://github.com/spring-projects/spring-data-redis/issues/3191)
๐ฆ :hammer: Dependency Upgrades
- Upgrade to Lettuce 6.8.1 [#3213](https://github.com/spring-projects/spring-data-redis/issues/3213)
- Upgrade to Jedis 6.2 [#3212](https://github.com/spring-projects/spring-data-redis/issues/3212)
๐ฆ :green_book: Links
- [Spring Data Redis 3.5 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.5/)
- [Spring Data Redis 3.5 Javadoc](https://docs.spring.io/spring-data/redis/docs/3.5.4/api/)
โจ :star: New Features
- Avoid wrapping RedisConnection into StringRedisConnection via StringRedisTemplate [#3193](https://github.com/spring-projects/spring-data-redis/pull/3193)
๐ :lady_beetle: Bug Fixes
- `SMISMEMBER` is a unknown command for `ConnectionSplittingInterceptor` [#3191](https://github.com/spring-projects/spring-data-redis/issues/3191)
๐ฆ :green_book: Links
- [Spring Data Redis 3.4 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.4/)
- [Spring Data Redis 3.4 Javadoc](https://docs.spring.io/spring-data/redis/docs/3.4.10/api/)
โจ :star: New Features
- Avoid wrapping RedisConnection into StringRedisConnection via StringRedisTemplate [#3193](https://github.com/spring-projects/spring-data-redis/pull/3193)
๐ :lady_beetle: Bug Fixes
- `SMISMEMBER` is a unknown command for `ConnectionSplittingInterceptor` [#3191](https://github.com/spring-projects/spring-data-redis/issues/3191)
๐ฆ :green_book: Links
- [Spring Data Redis 4.0 Reference documentation](https://docs.spring.io/spring-data/redis/reference/4.0/)
- [Spring Data Redis 4.0 Javadoc](https://docs.spring.io/spring-data/redis/docs/4.0.0-M5/api/)
โจ :star: New Features
- Add support for Jackson 3 [#3154](https://github.com/spring-projects/spring-data-redis/issues/3154)
- Add `IDLE` argument to `XPENDING` command [#2046](https://github.com/spring-projects/spring-data-redis/issues/2046)
๐ :lady_beetle: Bug Fixes
- Fixes #3179 โ Restore _class metadata for collections in MappingRedisConverter [#3188](https://github.com/spring-projects/spring-data-redis/pull/3188)
- Regression in latest Redis Stream serialization (or deserialization) [#3179](https://github.com/spring-projects/spring-data-redis/issues/3179)
๐ฆ :hammer: Dependency Upgrades
- Upgrade to Lettuce 6.8.0.RELEASE [#3194](https://github.com/spring-projects/spring-data-redis/issues/3194)
- Upgrade to Jedis 6.1.0 [#3192](https://github.com/spring-projects/spring-data-redis/issues/3192)
๐ฆ :heart: Contributors
- We'd like to thank all the contributors who worked on this release!
- @whatasame
- @xyraclius
๐ฆ :green_book: Links
- [Spring Data Redis 3.5 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.5/)
- [Spring Data Redis 3.5 Javadoc](https://docs.spring.io/spring-data/redis/docs/3.5.3/api/)
๐ฆ :green_book: Links
- [Spring Data Redis 3.4 Reference documentation](https://docs.spring.io/spring-data/redis/reference/3.4/)
- [Spring Data Redis 3.4 Javadoc](https://docs.spring.io/spring-data/redis/docs/3.4.9/api/)
