7.6.0.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.6.0 minor release!
Lettuce 7.6.0 introduces support for the new features from Redis OSS 8.8 release, such as:
- the new Array data structure
- INCREX: a window counter rate limiter combining INCR, INCRBY, INCRBYFLOAT, bounds, and expiration
- XNACK: a new streams command - allow consumers to explicitly release pending messages
- ZUNION, ZINTER, ZUNIONSTORE, ZINTERSTORE: new COUNT aggregator
- JSON.SET: new FPHA argument to specify the FP type for homogeneous FP arrays
Lettuce 7.6.0 supports Redis 2.6+ up to Redis 8.x. In terms of Java runtime, Lettuce requires at least Java 8 and works with Java 24. The driver is tested against Redis 8.8, Redis 8.6, Redis 8.4, Redis 8.2, Redis 8.0, Redis 7.4 and Redis 7.2.
Thanks to all contributors who made Lettuce 7.6.0.RELEASE possible.
📗 Links Reference documentation: https://lettuce.io/core/7.6.0.RELEASE
⭐ New Features
- Add arrays API by @a-TODO-rov in https://github.com/redis/lettuce/pull/3745
- Introduce INCREX command by @a-TODO-rov in https://github.com/redis/lettuce/pull/3746
- Redis 8.8: Add XNACK support by @uglide in https://github.com/redis/lettuce/pull/3728
- Support COUNT aggregator for ZINTER, ZINTERSTORE, ZUNION and ZUNIONSTORE (Redis 8.8) by @atakavci in https://github.com/redis/lettuce/pull/3736
- Add support for FPHA argument with JSON.SET (Redis 8.8)#4478 by @atakavci in https://github.com/redis/lettuce/pull/3710
- Add missing Search languages by @viktoriya-kutsarova in https://github.com/redis/lettuce/pull/3690
🐞 Bug Fixes
- ERR unknown subcommand 'MYID' with Azure Managed Redis #3495 by @tishun in https://github.com/redis/lettuce/pull/3693
- Fix links in README for Streaming API and Native Transports by @a-TODO-rov in https://github.com/redis/lettuce/pull/3707
- Fix JSON.ARRAPPEND root path encoding by @Dgramada in https://github.com/redis/lettuce/pull/3715
- Fix benchmark tests by @atakavci in https://github.com/redis/lettuce/pull/3735
- Fix imports in benchmarks client by @atakavci in https://github.com/redis/lettuce/pull/3737
- Improve CI pipeline stability in https://github.com/redis/lettuce/pull/3740 , https://github.com/redis/lettuce/pull/3724 by @atakavci , https://github.com/redis/lettuce/pull/3725 by @tishun , https://github.com/redis/lettuce/pull/3720 by @viktoriya-kutsarova
⚙️ Maintenance
- ci(integration): cap
GITHUB_TOKENtocontents: readby @arpitjain099 in https://github.com/redis/lettuce/pull/3761 - ci: declare workflow-level
contents: readon 3 workflows by @arpitjain099 in https://github.com/redis/lettuce/pull/3748 - Bump Netty 4.2.12.Final by @atakavci in https://github.com/redis/lettuce/pull/3723
- Bump Netty 4.2.13.Final by @atakavci in https://github.com/redis/lettuce/pull/3751
💡 Other
- Add 8.8 to test matrix by @a-TODO-rov in https://github.com/redis/lettuce/pull/3764
- Add tests for client auth by @a-TODO-rov in https://github.com/redis/lettuce/pull/3685
- Introduce reusable workflows by @a-TODO-rov in https://github.com/redis/lettuce/pull/3673
- Optimize single-node master/replica reads by @Sean-Kenneth-Doherty in https://github.com/redis/lettuce/pull/3758
- Add subkeyspace notifications integration tests by @a-TODO-rov in https://github.com/redis/lettuce/pull/3734
❤️ New Contributors - Welcome to the Lettuce family!
- @Dgramada made their first contribution in https://github.com/redis/lettuce/pull/3715
- @Sean-Kenneth-Doherty made their first contribution in https://github.com/redis/lettuce/pull/3758
- @arpitjain099 made their first contribution in https://github.com/redis/lettuce/pull/3761
Full Changelog: https://github.com/redis/lettuce/compare/7.5.0.RELEASE...7.6.0.RELEASE
7.6.0.RELEASE
The Lettuce team is pleased to announce the Lettuce 7.6.0 minor release!
Lettuce 7.6.0 introduces support for the new features from Redis OSS 8.8 release, such as:
- the new Array data structure
- INCREX: a window counter rate limiter combining INCR, INCRBY, INCRBYFLOAT, bounds, and expiration
- XNACK: a new streams command - allow consumers to explicitly release pending messages
- ZUNION, ZINTER, ZUNIONSTORE, ZINTERSTORE: new COUNT aggregator
- JSON.SET: new FPHA argument to specify the FP type for homogeneous FP arrays
Lettuce 7.6.0 supports Redis 2.6+ up to Redis 8.x. In terms of Java runtime, Lettuce requires at least Java 8 and works with Java 24. The driver is tested against Redis 8.8, Redis 8.6, Redis 8.4, Redis 8.2, Redis 8.0, Redis 7.4 and Redis 7.2.
Thanks to all contributors who made Lettuce 7.6.0.RELEASE possible.
📗 Links Reference documentation: https://lettuce.io/core/7.6.0.RELEASE
⭐ New Features
- Add arrays API by @a-TODO-rov in https://github.com/redis/lettuce/pull/3745
- Introduce INCREX command by @a-TODO-rov in https://github.com/redis/lettuce/pull/3746
- Redis 8.8: Add XNACK support by @uglide in https://github.com/redis/lettuce/pull/3728
- Support COUNT aggregator for ZINTER, ZINTERSTORE, ZUNION and ZUNIONSTORE (Redis 8.8) by @atakavci in https://github.com/redis/lettuce/pull/3736
- Add support for FPHA argument with JSON.SET (Redis 8.8)#4478 by @atakavci in https://github.com/redis/lettuce/pull/3710
- Add missing Search languages by @viktoriya-kutsarova in https://github.com/redis/lettuce/pull/3690
🐞 Bug Fixes
- ERR unknown subcommand 'MYID' with Azure Managed Redis #3495 by @tishun in https://github.com/redis/lettuce/pull/3693
- Fix links in README for Streaming API and Native Transports by @a-TODO-rov in https://github.com/redis/lettuce/pull/3707
- Fix JSON.ARRAPPEND root path encoding by @Dgramada in https://github.com/redis/lettuce/pull/3715
- Fix benchmark tests by @atakavci in https://github.com/redis/lettuce/pull/3735
- Fix imports in benchmarks client by @atakavci in https://github.com/redis/lettuce/pull/3737
- Improve CI pipeline stability in https://github.com/redis/lettuce/pull/3740 , https://github.com/redis/lettuce/pull/3724 by @atakavci , https://github.com/redis/lettuce/pull/3725 by @tishun , https://github.com/redis/lettuce/pull/3720 by @viktoriya-kutsarova
⚙️ Maintenance
- ci(integration): cap
GITHUB_TOKENtocontents: readby @arpitjain099 in https://github.com/redis/lettuce/pull/3761 - ci: declare workflow-level
contents: readon 3 workflows by @arpitjain099 in https://github.com/redis/lettuce/pull/3748 - Bump Netty 4.2.12.Final by @atakavci in https://github.com/redis/lettuce/pull/3723
- Bump Netty 4.2.13.Final by @atakavci in https://github.com/redis/lettuce/pull/3751
💡 Other
- Add 8.8 to test matrix by @a-TODO-rov in https://github.com/redis/lettuce/pull/3764
- Add tests for client auth by @a-TODO-rov in https://github.com/redis/lettuce/pull/3685
- Introduce reusable workflows by @a-TODO-rov in https://github.com/redis/lettuce/pull/3673
- Optimize single-node master/replica reads by @Sean-Kenneth-Doherty in https://github.com/redis/lettuce/pull/3758
- Add subkeyspace notifications integration tests by @a-TODO-rov in https://github.com/redis/lettuce/pull/3734
❤️ New Contributors - Welcome to the Lettuce family!
- @Dgramada made their first contribution in https://github.com/redis/lettuce/pull/3715
- @Sean-Kenneth-Doherty made their first contribution in https://github.com/redis/lettuce/pull/3758
- @arpitjain099 made their first contribution in https://github.com/redis/lettuce/pull/3761
Full Changelog: https://github.com/redis/lettuce/compare/7.5.0.RELEASE...7.6.0.RELEASE
8.0.0-beta1
Jedis 8.0.0-beta1 is the first pre-release of the upcoming 8.0 major line. It focused on completing the client class consolidation, modernizing protocol defaults, tightening security defaults, and adding support for new Redis 8.8 commands.
- RESP3 auto-negotiation on by default for all UnifiedJedis-based clients (with graceful RESP2 fallback)
- Final removal of legacy JedisPooled / JedisSentineled classes in favor of the RedisClient family introduced in 7.0.0
- Removal of deprecated UnifiedJedis public constructors
- Internal refactoring that affects users of low-level extension points (custom CommandExecutor, Transaction subclasses, ClusterPipeline, CommandObjects) — protocol and connection wiring is now explicit at construction time
- Search modernization — the low-level cursor APIs are superseded by ftAggregateIterator(), and the manual broadcast API is removed (Redis 8.0+ broadcasts FT.CREATE server-side)
- New Redis 8.8 command coverage — XNACK, JSON.SET FPHA, Array commands, INCREX, COUNT aggregator on ZINTER / ZUNION(STORE) and their *STORE variants, multi-aggregator TS.RANGE / TS.MRANGE, plus an experimental COLLECT parameter for FT.AGGREGATE
- TLS hostname verification enforced by default in DefaultJedisSocketFactory
For step-by-step upgrade instructions, see the v7 → v8 migration guide: https://redis.github.io/jedis/migration-guides/v7-to-v8/
- CommandObjects refactoring : Enforce protocol (#4515, #4514, #4513)
- Bump org.apache.commons:commons-pool2 from 2.12.1 to 2.13.1 (#4409)
- Fix Connection Close Exception Handling for commons-pool2 2.13.1 (#4439)
- Switch to RESP3 as default protocol version (#4468)
- Drop deprecated classes and constructors (#4488)
- Align Search APIs and behaviour with Redis 8.0+ (#4173)
- refactor: decouple Transaction from Jedis (#4440)
- Introduce request & response policy support (#4411)
- Remove unused leftovers from JedisSharding (#4348)
- Add new COLLECT parameter for FT.AGGREGATE (#4534)
- TimeSeries: reduce overhead on single-aggregator TSElement path (follow-up to #4504) (#4537)
- Introduce INCREX command (#4526)
- Support for 'Array' commands (Redis 8.8) (#4532)
- Add new COLLECT parameter for FT.AGGREGATE (#4534)
- Add support for CONFIG GET and SET commands in UnifiedJedis (#4518)
- Add out-of-band push notification handling (#4489)
- Add
COUNTaggregator support forZINTER/ZINTERSTORE/ZUNION/ZUNIONSTORE(Redis 8.8) (#4506) - TimeSeries: support multiple aggregators in TS.RANGE/TS.MRANGE (CAE-792) (#4504)
- Redis 8.8: Add XNACK support (#4494)
- Add support for FPHA argument with JSON.SET (Redis 8.8) (#4478)
- #4469 The connection pool cannot be accessed from the RedisSentinelClient (#4470)
- fix : [ClusterPipeline] ExecutorService/thread is created and destroyed too frequently in ClusterPipeline (#4479)
- Enforce hostname verification by default for TLS connections (#4495)
- fix: validate URI scheme in isValid() to reject non-Redis URIs (#4486)
- Add v7-to-v8 migration guide (#4541)
- Bump org.json:json from 20251224 to 20260522 (#4540)
- test: verify CSC NULL invalidation clears 10k cached entries (CAE-2930) (#4521)
- Bump org.apache.commons:commons-pool2 from 2.12.1 to 2.13.1 (#4409)
- Fix Connection Close Exception Handling for commons-pool2 2.13.1 (#4439)
- Improve CI pipeline stability (#4512)
- Bump com.google.code.gson:gson from 2.13.2 to 2.14.0 (#4507)
- Bump jackson.version from 2.21.2 to 2.21.3 (#4508)
- fix: stabilize flaky failover attempts test (#4482)
- test: fix flaky testPolicy_AllSuccess_StopsOnFirstFailure test (#4503)
- fix: test fail with Redis Search v8.7.90+ (#4502)
- Bump org.apache.httpcomponents.client5:httpclient5-fluent from 5.6 to 5.6.1 (#4492)
- Bump org.junit:junit-bom from 5.14.3 to 5.14.4 (#4501)
- test added for SslOptions.defaults() (#4498)
- Refactor Search tests (#4461)
- Refactor Bloom, JSON and RTS tests (#4462)
- Fix flaky
MultiDbClientfailback test (#4491) - Bump jackson.version from 2.21.1 to 2.21.2 (#4471)
- Extract unit tests into separate workflow (#4472)
- Update javadoc for health check probing delay (#4467)
- Bump snapshot version to 8.0.0 (#4464)
- Add mTLS tests (#4458)
Full Changelog: https://github.com/redis/jedis/compare/v7.5.0...v8.0.0-beta1
We'd like to thank all the contributors who worked on this release!
@Ra9huvansh, @a-TODO-rov, @arpitjain099, @atakavci, @dependabot, @dependabot[bot], @eddieran, @ggivo, @martin-nagy, @stellhub, @tishun and @uglide
Nightly
- ab453da: [rust] Change command execution to argv (#17576) (Boni García) #17576
- 4a530c5: [grid] Add BinaryMessage.wrap for transferring an owned byte array (#17544) (Simon Mavi Stewart) #17544
- 73019cd: [rust] Reuse constant for --version (Boni García) #17579
- 83b0c35: [grid] Apply the WebSocket frame fast path on the Node (#17545) (Simon Mavi Stewart) #17545
- 624a194: [js] Move JS bindings to use typescript atoms for isDisplayed and Find-Element (#17547) (David Burns) #17547
- 4749fd6: [py] Allow MAX_WS_MESSAGE_SIZE to be configurable (#17581) (David Burns) #17581
- 030745d: [js] Reducing GC pressure in the TypeScript find-elements atom (#17580) (David Burns) #17580
Nightly
- 5cf2e2a: [grid] Apply TCP backpressure across the WebSocket tunnel handler (#17543) (Simon Mavi Stewart) #17543
- 5f7df0d: [build] enable caching for ci-rbe (Titus Fortner)
- 6f5004c: [build] delete all CodeQL caches instead of keeping newest (Titus Fortner)
- fd3c084: [build] fix script not executable (Titus Fortner)
- 000ded7: [rb] fix using environment variables to set drivers (#17571) (Titus Fortner) #17571
- 8f3b261: [build] add github cache workflow with cache-save parameter (Titus Fortner)
- 9045e3b: [build] fix incorrect flag name for repo content cache (Titus Fortner)
v16.11.0
- ef0d41e add MaxRetriesBuilder fluent API for FailureHandler (#856)
- 9481948 mdc logging interceptor is refactored in spring boot example (#854)
- 8c3e465 deps: bump org.mockito:mockito-bom from 5.20.0 to 5.23.0 (#866)
- 7cc6edc deps: bump org.junit:junit-bom from 6.0.3 to 6.1.0 (#867)
We'd like to thank the following people for their contributions:
- Gustav Karlsson (@kagkarlsson)
- Michael Str
- dependabot[bot] (@dependabot[bot])