github redis/jedis v8.0.0
8.0.0

5 hours ago

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: 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

Don't miss a new jedis release

NewReleases is sending notifications on new releases.