Stable Release in branch 3.10
3.10.0
Released 27 Apr 2023
(3 years ago)
SoftwareJedis
Version3.10
Initial release3.10.0
27 Apr 2023
(3 years ago)
Latest release3.10.0
27 Apr 2023
(3 years ago)
Release noteshttps://github.com/redis/jedis/releases/tag/v3.10.0
Source codehttps://github.com/redis/jedis/tree/v3.10.0
Documentationhttps://github.com/redis/jedis/wiki
Downloadhttps://mvnrepository.com/artifact/redis.clients/jedis/3.10.0
Jedis 3.10 ReleasesView full list

What Is New in Jedis 3.10

This release focuses on enhancing connection handling, adding new commands, and improving overall stability. Here's a quick summary of the key changes.

Category Changes
New Features Support for ZDIFF, ZDIFFSTORE, ZINTER, ZUNION, and ACL DRYRUN commands.
Improvements Better connection and socket timeout handling, URI validation for Redis Sentinel.
Bug Fixes Fixes for connection leaks, SSL handshake issues, and ObjectOutputStream usage.
Deprecated The BinaryClient class has been deprecated.

What new Redis commands does Jedis 3.10 add?

Jedis 3.10 introduces client support for several new sorted set commands and an ACL utility. You can now use ZDIFF, ZDIFFSTORE, ZINTER, and ZUNION directly through the Jedis API.

The ACL DRYRUN command is also supported, which is great for testing user permissions without executing a command. This helps in building more secure and predictable access control logic around your Redis instance.

How are timeouts and connections handled better?

The library now provides more robust handling for connection and socket timeouts. This is a core improvement that makes the client more resilient in unstable network conditions.

In practice, this means your application is less likely to hang indefinitely if a Redis server becomes unreachable. The fixes address specific edge cases that could previously lead to connection leaks, cleaning up resources more effectively.

Were there any critical bug fixes?

Yes, this release squashes a few important bugs. One fix prevents a potential connection leak when using the exec() method without having issued any commands. Another resolves an issue that could break the SSL handshake process.

There was also a fix for the misuse of ObjectOutputStream, which improves compatibility and avoids unexpected serialization behavior. These are the kind of fixes that make the client more stable for production use.

Is anything being deprecated?

The BinaryClient class has been officially deprecated. If you're using this low-level class directly in your code, you should start planning a migration to the standard Jedis client API.

This deprecation pushes developers toward the more stable and feature-rich main API. It's a sign that the library is streamlining its internal architecture for future versions.

FAQ

Should I upgrade to Jedis 3.10 for the new ZDIFF command?
If your application logic involves comparing or combining multiple sorted sets, then yes. The new ZDIFF, ZINTER, and ZUNION commands offer powerful set operations that were previously more complex to implement.

I use Redis Sentinel. Does this update affect me?
Yes, positively. The release includes improved URI validation for Redis Sentinel configurations. This enhances reliability when connecting to Sentinel setups, helping to avoid misconfiguration errors.

What's the deal with the connection leak fix?
The leak could occur if you called exec() on a transaction without queuing any commands. Version 3.10 properly handles this scenario, ensuring connections are returned to the pool and not leaked. It's a worthwhile fix for anyone using transactions.

I'm getting SSL handshake errors. Could this help?
Possibly. One of the resolved issues specifically targeted a bug that could break the SSL handshake. If you've encountered intermittent SSL connection problems, upgrading to 3.10 might resolve them.

My code uses BinaryClient. What should I do?
You should refactor your code to use the standard Jedis client. The BinaryClient class is now deprecated and will likely be removed in a future major release, so moving away from it now is a good long-term plan.

Releases In Branch 3.10

VersionRelease date
3.10.027 Apr 2023
(3 years ago)