Latest in branch 3.8
3.8.0
Released 19 Dec 2021
(4 years ago)
SoftwareJedis
Version3.8
Initial release3.8.0
19 Dec 2021
(4 years ago)
Latest release3.8.0
19 Dec 2021
(4 years ago)
Release noteshttps://github.com/redis/jedis/releases/tag/v3.8.0
Source codehttps://github.com/redis/jedis/tree/v3.8.0
Documentationhttps://github.com/redis/jedis/wiki
Downloadhttps://mvnrepository.com/artifact/redis.clients/jedis/3.8.0
Jedis 3.8 ReleasesView full list

What Is New in Jedis 3.8

Jedis 3.8 delivers critical updates focused on Redis 7 compatibility and enhanced connection handling. This release ensures your Java client stays current with the latest server features and provides more robust error management.

Category Key Changes
New Features Support for Redis 7.0, Sharded Pub/Sub, ZRANGESTORE command
Improvements Refactored connection exception handling, URI validation
Bug Fixes Connection leak fixes, ACL username handling, pipeline errors
Deprecations Deprecated JedisSharding class

What Redis 7 features are now supported?

Jedis 3.8 adds full compatibility with Redis 7.0. This means you can now use new commands like ZRANGESTORE and the Sharded Pub/Sub functionality directly from your Java applications.

In practice, Sharded Pub/Sub is a big deal for scaling publish/subscribe patterns across a cluster. It routes messages to the correct shard, which is essential for high-throughput environments.

How is connection management better?

The core connection and protocol handling code got a significant refactor. The main improvement is in how exceptions are managed, making the client more resilient to network issues.

This matters because it directly reduces the chance of connection leaks. You'll see fewer scenarios where a connection isn't properly returned to the pool after an error, which stabilizes long-running applications.

What important bugs were fixed?

This release squashes several pesky bugs. Key fixes address connection leaks in specific error scenarios, incorrect handling of ACL usernames, and a bug that could break the entire pipeline if a command was sent after sync() was called.

These are the kinds of fixes that prevent mysterious production issues. The pipeline bug, for instance, could cause commands to be silently ignored, leading to data inconsistencies.

Is anything being deprecated?

Yes, the JedisSharding class has been officially deprecated. You should migrate to the newer sharding APIs for future-proofing your code.

This change streamlines the API. The newer sharding implementations are more flexible and better integrated with the rest of the Jedis architecture.

FAQ

Do I need to change my code to use Jedis 3.8?
For most users, no. This is a drop-in replacement. The only breaking change is the deprecation of JedisSharding, which only affects applications using that specific class.

What's the benefit of Sharded Pub/Sub?
It allows Pub/Sub to work efficiently in a Redis Cluster environment. Messages are routed based on the channel hash, distributing the load instead of broadcasting every message to every node.

I use connection pooling. Should I upgrade?
Absolutely. The fixes for connection leaks directly benefit pooled environments. You'll get more reliable pool behavior and avoid gradual connection depletion.

How do I use the new ZRANGESTORE command?
It's available on the Jedis client object just like any other command. This command is useful for storing the result of a sorted set range operation into a new key.

Where can I see the full list of changes?
The complete release notes are available on the project's GitHub repository, which includes every commit and detailed change log for this version.

Releases In Branch 3.8

VersionRelease date
3.8.019 Dec 2021
(4 years ago)