redis/jedis
 Watch   
 Star   
 Fork   
10 days ago
jedis

8.1.0-beta1

Jedis 8.1.0-beta1 is the first pre-release of the upcoming 8.1.0, introducing support for Smart Client Handoffs (SCH) (#4668).

Smart client handoffs is a feature of Redis Cloud and Redis Software that notifies clients about planned maintenance shortly before it happens, so the client can respond gracefully instead of hitting command timeouts and dropped connections. Jedis reacts with relaxed timeouts and pre-handoffs. SCH requires RESP3 and is enabled automatically on RESP3 connections; see the Jedis SCH guide for configuration options.

This is a pre-release: APIs introduced here may change before 8.1.0 GA.

Changes

🚀 New Features

  • Smart Client Handoffs (SCH): maintenance notifications support (#4668)

🐛 Bug Fixes

  • Do not deliver pub/sub push messages as replies outside an active subscription (#4701)
  • Refresh primaryNodesCache in JedisClusterInfoCache.discoverClusterSlots (#4692)
  • Accept null VAddParams in vaddFP32 with reduceDim (#4684)
  • Fix TSAddParams emitting DUPLICATE_POLICY twice (#4683)
  • Register source keys via key() in zrangestore, geosearchStore, eval (#4675)

🧰 Maintenance

  • [scenario tests stability] Pipeline ClusterTopologyRefreshIT verification to fit the test timeout (#4713)
  • Bump redis-authx dependencies 1.0.1-beta2 -> version 0.2.0 (#4712)
  • Stabilize integration tests against auth-required, high-latency environments (#4700)
  • chore(deps): bump org.json:json from 20260719 to 20260814 (#4699)
  • chore(deps-dev): bump jackson.version from 2.22.1 to 2.22.2 (#4698)
  • Add nightly test-metrics workflow (#4689)
  • chore(deps-dev): bump com.kohlschutter.junixsocket:junixsocket-core from 2.10.1 to 2.11.0 (#4687)
  • Start release notes for 8.1.0 (#4681)
  • Bump snapshot version to 8.1.0 (#4680)
  • chore(deps-dev): bump org.apache.httpcomponents.client5:httpclient5-fluent from 5.6.3 to 5.6.4 (#4678)

Contributors

We'd like to thank all the contributors who worked on this release!

@HDPark95, @atakavci, @bobymicroby, @dependabot[bot], @ggivo, @insaf021, @kalayciburak, @uglide

Full Changelog: https://github.com/redis/jedis/compare/v8.0.0...v8.1.0-beta1

21 days ago
jedis

8.0.1

Jedis 8.0.1 is a maintenance release for the 8.0 line, fixing stale cluster topology after failover in JedisCluster.

Changes

🐛 Bug Fixes

  • Refresh primaryNodesCache in JedisClusterInfoCache.discoverClusterSlots (#4692, backported in #4694)

Contributors

We'd like to thank all the contributors who worked on this release!

@insaf021

Full Changelog: https://github.com/redis/jedis/compare/v8.0.0...v8.0.1

2026-08-10 17:28:56
jedis

8.0.0

Jedis 8.0.0 completes the client class consolidation started in 7.0.0, modernizes protocol defaults, tightens security defaults, and adds command coverage for Redis 8.8 and the Redis 8.10 preview.

  • 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)
  • TLS hostname verification enforced by default in DefaultJedisSocketFactory
  • 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
  • Redis 8.10 command coverage — HIMPORT (Hinted Hash Templates), FT.ALIASLIST, MAXCOUNT / MAXSIZE on XREAD and XREADGROUP, SUNIONCARD / SDIFFCARD, LMOVEM / BLMOVEM, TS.READ, TS.NRANGE / TS.NREVRANGE, TS.QUERYLABELS, and EXCLUDEEMPTY on TS.MRANGE / TS.MREVRANGE

For step-by-step upgrade instructions, see the v7 → v8 migration guide: https://redis.github.io/jedis/migration-guides/v7-to-v8/

Changes

🔥 Breaking Changes

  • Remove unusable aclLogBinary() methods (#4580)
  • Tighten Connection.initializeFromClientConfig() visibility to package-private (#4548)
  • 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)

🧪 Experimental Features

  • Add new COLLECT parameter for FT.AGGREGATE (#4534)

🚀 New Features

  • [Redis 8.10] Add HIMPORT (Hinted Hash Templates) support (#4667)
  • [Redis 8.10] Add FT.ALIASLIST search command support (#4619)
  • [Redis 8.10] Add MAXCOUNT and MAXSIZE options to XREAD and XREADGROUP (#4627)
  • [Redis 8.10] Add SUNIONCARD and SDIFFCARD commands (#4638)
  • [Redis 8.10] Add LMVOVEM/BLMOVEM commands (#4635)
  • [Redis 8.10] Support TS.NRANGE and TS.NREVRANGE time series commands (#4650)
  • [Redis 8.10] Add TS.QUERYLABELS support to the client (#4651)
  • [Redis 8.10] Regenerate command flags registry from Redis 8.10-rc2 (#4653)
  • [Redis 8.10] Regenerate command flags registry from Redis 8.8 (#4652)
  • [Redis 8.10] Add EXCLUDEEMPTY option to TS.MRANGE / TS.MREVRANGE (#4641)
  • [Redis 8.10] Add support for the TS.READ time series command (#4642)
  • Add VISMEMBER vector set command (#4599)
  • Mark connections broken on protocol I/O failures (#4549)
  • Improve MultiDbTransaction functionality and test coverage (#4561)
  • Expose renewSlotCache on JedisCluster as public API (#4555)
  • 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 support for CONFIG GET and SET commands in UnifiedJedis (#4518)
  • Add out-of-band push notification handling (#4489)
  • Add COUNT aggregator support for ZINTER / 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)

🐛 Bug Fixes

  • decode ScanParams.match with SafeEncoder, not the JVM default charset (#4661)
  • fix ConcurrentModificationException in AuthXManager token renewal (#4601)
  • Use Locale.ENGLISH for ASCII case conversion in ClientType and TSInfo (#4595) (#4593)
  • Fix 'MultiDbClient' compatibility with client-side cache-enabled configuration (#4568)
  • Fix FT.HYBRID COMBINE argument count to include YIELD_SCORE_AS tokens (#4575)
  • Fix double initialization of pooled Connection in TrackingConnectionPool (#4547)
  • Fix connection leak in MultiDbConnectionSupplier (#4546)
  • fix: clear credential byte arrays in JedisSafeAuthenticator after use (#4629)
  • Enforce hostname verification by default for TLS connections (#4495)
  • fix: validate URI scheme in isValid() to reject non-Redis URIs (#4486)

🧰 Maintenance

  • chore(deps-dev): bump org.apache.httpcomponents.client5:httpclient5-fluent from 5.6.2 to 5.6.3 (#4671)
  • Fix sporadic doctest failures: stale keys and FT.AGGREGATE row-order assumptions (#4666)
  • [Redis 8.10] Add integration test for search-on-timeout config (#4600)
  • Speed up slow integration tests (#4659)
  • Skip javadoc generation in integration test workflows (#4657)
  • Document bounded pool waits for cluster pipelines (#4564)
  • Evaluate JUnit test conditions before opening a Redis connection (#4654)
  • test: Fix flaky touch assertions comparing OBJECT IDLETIME to exactly 0 (#4649)
  • Bump org.apache.maven.plugins:maven-jar-plugin from 3.5.0 to 3.5.1 (#4648)
  • test: Fix flaky MultiDbConnectionProviderTest caused by shared test key pollution (#4644)
  • Add an AI skill and slash command for generating PR descriptions (#4587)
  • Bump org.json:json from 20260522 to 20260719 (#4631)
  • Add extend-commands-api agent skill (#4626)
  • Add AGENTS.md coding-conventions guide for agents (#4585)
  • Bump jackson.version from 2.22.0 to 2.22.1 (#4616)
  • Fix flaky scanType test assuming SCAN page boundaries (#4615)
  • Bump org.apache.httpcomponents.client5:httpclient5-fluent from 5.6.1 to 5.6.2 (#4590)
  • Add spec for integration testing infrastructure (#4584)
  • Verify that RADIX_TREE_KEYS and RADIX_TREE_NODES were parsed (#4573)
  • Do not assert on internal field of XINFO command (#4571)
  • Bump org.sonatype.central:central-publishing-maven-plugin from 0.10.0 to 0.11.0 (#4567)
  • Bump org.codehaus.mojo:exec-maven-plugin from 3.1.1 to 3.6.3 (#4552)
  • Bump org.jacoco:jacoco-maven-plugin from 0.8.14 to 0.8.15 (#4559)
  • Bump jackson.version from 2.21.3 to 2.22.0 (#4560)
  • Bump org.codehaus.mojo:build-helper-maven-plugin from 3.5.0 to 3.6.1 (#4553)
  • Bump maven.surefire.version from 3.5.5 to 3.5.6 (#4554)
  • Add JMH benchmarks (CAE-2930) (#4523)
  • 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)
  • 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 MultiDbClient failback 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.4.0...v8.0.0

Contributors

We'd like to thank all the contributors who worked on this release!

@Ra9huvansh, @a-TODO-rov, @agarwalbharat, @arpitjain099, @atakavci, @dependabot[bot], @eddieran, @ggivo, @guyroyse, @insaf021, @juntae6942, @lh0156, @martin-nagy, @renechoi, @stellhub, @tishun, @uglide

2026-06-26 22:56:37
jedis

7.5.3

This is a maintenance release with fixes for FT.HYBRID queries and connection pool handshake overhead. Recommended for any deployment using FT.HYBRID with Combiner.as(...) or MultiDbClient.

🐛 Bug Fixes

Full Changelog: https://github.com/redis/jedis/compare/v7.5.2...v7.5.3

2026-05-29 18:49:20
jedis

7.5.2

This is a maintenance release focused on improving the stability of the Automatic Failover feature (MultiDbClient). Recommended for any deployment using MultiDbClient / multi-database failover.

🐛 Bug Fixes

🧰 Maintenance

2026-05-28 02:05:24
jedis

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/

🔥 Breaking Changes

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

🧪 Experimental Features

  • Add new COLLECT parameter for FT.AGGREGATE (#4534)

🚀 New Features

  • 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 COUNT aggregator support for ZINTER / 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)

🐛 Bug Fixes

  • Enforce hostname verification by default for TLS connections (#4495)
  • fix: validate URI scheme in isValid() to reject non-Redis URIs (#4486)

🧰 Maintenance

  • 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 MultiDbClient failback 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

Contributors

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

2026-04-24 18:45:17
jedis

7.5.0

Changes

This release refines TLS behaviour to enhance security and begins consolidating TLS configuration on SslOptions. The introduction of hostname verification by default significantly improves the safety of TLS connections. For further details, see #4497.

🔧 Change in Behaviour

  • The legacy ssl(true) TLS path now enables hostname verification by default (#4497). It now rejects certificates whose SAN/CN does not match the target host, making TLS connections safer. The SslOptions-based configuration remains unchanged.
  • Deprecate legacy SSL configuration in favor of SslOptions (#4497).

Contributors

@ggivo

Full Changelog: https://github.com/redis/jedis/compare/v7.4.1...v7.5.0

2026-04-02 19:02:54
jedis

v7.4.1

Jedis 7.4.1 (Patch Release)

What's Changed

*[ClusterPipeline] ExecutorService/thread is created and destroyed too frequently in ClusterPipeline by @ggivo in https://github.com/redis/jedis/pull/4480

Full Changelog: https://github.com/redis/jedis/compare/v7.4.0...v7.4.1

2026-03-11 15:44:48
jedis

7.4.0

Overview

The Jedis 7.4.0 release introduces enhancements to the Client-side geographic failover API, improves transaction support, and deprecates sendCommand() to improve compatibility with the Redis Cluster API.

🚀 New Features

  • Add long index support to ZRangeParams (#4445) (#4446)
  • Client-side geographic failover: Add Runtime Weight Management for MultiDbClient Endpoints (#4435)

🐛 Bug Fixes

  • fix: Fix out-of-order responses in manual transactions with commands before MULTI (#4441)
  • Fix resp2 parsing of LibraryInfo (#4436)

🧰 Maintenance

  • Client-side geographic failover:
    • Make MultiDbConfig.DatabaseConfig.Builder agnostic to call order (#4456)
    • Add documentation for "Dynamic Database Management" (#4457)
    • Add documentation for dynamic weight management#3678 (#4447)
  • Deprecate sendCommand() methods not compatible with OSS Cluster API (#4451)
  • Bump jackson.version from 2.21.0 to 2.21.1 (#4453)
  • Make integration tests compatible with RE (#4387)
  • maintenace: fix hotkeys info test for 8.6.1+ (#4443)
  • Bump maven.surefire.version from 3.5.4 to 3.5.5 (#4442)

Contributors

We'd like to thank all the contributors who worked on this release!

@a-TODO-rov, @atakavci, @dependabot, @dependabot[bot], @ggivo and @uglide

2026-02-17 14:53:59
jedis

7.3.0

Changes

Jedis 7.3.0 introduces support for Redis 8.6, including new commands and features for streams idempotent production, and HOTKEYS.

🚀 New Features

  • [streams] Preserve field insertion order in stream entries (CAE-2341) (#4419)
  • [automatic failover] Add support for initialization policy for multidb connection (#4427)
  • feat: Add support for FT.HYBRID command (#4342) (#4405)
  • feat: Add support for HOTKEYS command (#4421) (#4417)(#4426)
  • feat: [TS] Add support for NaN values and new aggregations (#4415)
  • Add support for XADD idempotency (at-most-once guarantee) with new IDMPAUTO and IDMP arguments. (#4422) (#4413)
  • Add DELEX and DIGEST commands to pipeline interfaces (#4414)
  • Add configurable retry delay for Sentinel reconnection (#2864) (#4379)

🐛 Bug Fixes

  • RedisClient builder does not use credentials from JedisClientConfig (#4424)
  • Calculate maxTotalRetriesDuration from socketTimeout * maxAttempts if not set (#4396)

🧰 Maintenance

  • Bump org.junit:junit-bom from 5.14.2 to 5.14.3 (#4433)
  • Refactor TLS tests (#4431)
  • Bump org.apache.httpcomponents.client5:httpclient5-fluent from 5.5.1 to 5.6 (#4380)
  • Bump org.apache.maven.plugins:maven-compiler-plugin from 3.14.1 to 3.15.0 (#4418)
  • Add 8.6 pre to test matrix (#4410)
  • Bump jackson.version from 2.20.1 to 2.21.0 (#4408)
  • Add missing command deprecations (#4397)
  • Fix flaky cluster tests by accepting either retry limit error (maxAttempts or maxTotalRetriesDuration) (#4399)
  • Use endpoint instead of env variable in module tests (#4398)
  • Fix flaky AccessControlListCommandsTest (#4394)
  • Bump org.sonatype.central:central-publishing-maven-plugin from 0.9.0 to 0.10.0 (#4390)
  • Bump org.json:json from 20250517 to 20251224 (#4391)
  • Bump org.junit:junit-bom from 5.13.4 to 5.14.2 (#4392)
  • Remove hard-coded endpoints from the tests and rely solely on endpoints.json (#4385)
  • Fix ClusterTopologyRefreshIT (#4389)
  • Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.2 to 3.5.0 (#4383)
  • Bump org.apache.maven.plugins:maven-release-plugin from 3.3.0 to 3.3.1 (#4381)

Contributors

We'd like to thank all the contributors who worked on this release!

@Dgramada, @Peter-Sh, @a-TODO-rov, @atakavci, @dependabot, @dependabot[bot], @ggivo, @uglide and @viktoriya-kutsarova