Stable Release in branch 3.9
3.9.0
Released 02 Jun 2022
(4 years ago)
SoftwareJedis
Version3.9
Initial release3.9.0
02 Jun 2022
(4 years ago)
Latest release3.9.0
02 Jun 2022
(4 years ago)
Release noteshttps://github.com/redis/jedis/releases/tag/v3.9.0
Source codehttps://github.com/redis/jedis/tree/v3.9.0
Documentationhttps://github.com/redis/jedis/wiki
Downloadhttps://mvnrepository.com/artifact/redis.clients/jedis/3.9.0
Jedis 3.9 ReleasesView full list

What Is New in Jedis 3.9

Category Key Changes
New Features Support for Redis 7.0 ACL GETUSER command, new RedisJSON 2.0 commands (JSON.MERGE, JSON.MSET)
Improvements Connection pool validation, enhanced error messages, reduced unnecessary calls for ACL users
Bug Fixes Pipeline sync issue, connection leak on timeout, ACL user command handling
Deprecations Legacy SSL constructor, JedisShardInfo class

What new Redis 7.0 features are supported?

Jedis 3.9 adds support for the Redis 7.0 ACL GETUSER command. This lets you retrieve detailed access control list information for specific users directly from your Java application.

In practice, this means you can now programmatically inspect user permissions, keys patterns, and command rules. It's a solid upgrade for applications that need dynamic user management without dropping to the redis-cli.

Are there new RedisJSON commands available?

Yes, this release introduces support for RedisJSON 2.0 commands JSON.MERGE and JSON.MSET. These are handy for working with JSON documents stored in Redis.

JSON.MERGE lets you patch a JSON document, while JSON.MSET allows setting multiple JSON paths in one shot. This reduces round-trips when manipulating complex JSON structures.

How did connection handling improve?

The connection pool got smarter about validating connections before returning them to the pool. This prevents applications from getting stale or broken connections that can cause unexpected timeouts.

They also fixed a pesky connection leak that could happen when operations timed out during connection establishment. Your connection pools should stay more stable under heavy load.

What breaking changes should I watch for?

The legacy JedisShardInfo constructor with SSL parameters is now deprecated. You should use the newer builder pattern instead for SSL configuration.

Also, the internal handling of ACL users was optimized to avoid unnecessary AUTH calls. While not a breaking change, it's a noticeable performance improvement for authenticated connections.

FAQ

Does Jedis 3.9 require Redis 7.0?
No, Jedis 3.9 maintains backward compatibility. The new ACL GETUSER support is optional and only works if your Redis server is version 7.0 or higher.

Will the connection pool changes affect my existing code?
No, the connection validation improvements are transparent. Your existing code should work exactly the same, just with better connection reliability.

What should I use instead of the deprecated JedisShardInfo constructor?
Use the JedisShardInfo builder pattern for SSL configuration. The old constructor will be removed in a future version.

Do I need RedisJSON 2.0 for the new JSON commands?
Yes, the JSON.MERGE and JSON.MSET commands require RedisJSON 2.0 module installed on your Redis server. They won't work with older RedisJSON versions.

Was the pipeline sync issue causing data corruption?
No, the pipeline sync fix addressed a race condition that could cause incorrect responses, not data corruption. It ensures you get the right responses in the right order.

Releases In Branch 3.9

VersionRelease date
3.9.002 Jun 2022
(4 years ago)