Stable Release in branch 3.1
3.1.0
Released 23 Jul 2019
(7 years ago)
SoftwareJedis
Version3.1
Initial release3.1.0
23 Jul 2019
(7 years ago)
Latest release3.1.0
23 Jul 2019
(7 years ago)
Release noteshttps://github.com/redis/jedis/releases/tag/jedis-3.1.0
Source codehttps://github.com/redis/jedis/tree/jedis-3.1.0
Documentationhttps://github.com/redis/jedis/wiki
Downloadhttps://mvnrepository.com/artifact/redis.clients/jedis/3.1.0
Jedis 3.1 ReleasesView full list

What Is New in Jedis 3.1

Jedis 3.1.0 introduces a host of updates focused on new Redis commands, performance improvements, and essential bug fixes. This release keeps the client aligned with the latest Redis server capabilities while enhancing stability for production use.

Category Key Changes
New Features Support for Redis 5.0 commands (XADD, XREAD, etc.), ZPOPMAX, ZPOPMIN, and ACL commands.
Improvements Reduced connection overhead, better exception handling, and optimized internal resource usage.
Bug Fixes Resolved issues with connection leaks, SSL handshakes, and pipeline execution.
Deprecations Marked several older methods for future removal.

What new Redis commands are supported?

Jedis 3.1 adds full support for the stream data type introduced in Redis 5.0. This includes core commands like XADD, XREAD, XRANGE, and XREVRANGE for building event-sourcing and message streaming features.

You also get the blocking sorted set commands ZPOPMAX and ZPOPMIN for atomic pops. For access control, the new ACL commands are now available, which is crucial for securing Redis 6.0 instances.

How is connection management better?

The underlying connection handling has been tuned to be more efficient. This reduces the overhead when acquiring and returning connections to the pool, which matters for high-throughput applications.

We fixed a critical bug where connections weren't being properly returned to the pool after certain exceptions, which could lead to leaks. The SSL handshake process is also more robust now, preventing silent failures.

What breaking changes should I watch for?

This release deprecates a number of older methods to clean up the API. While they still work, you'll see deprecation warnings. It's a good time to check your code for methods like clientList() and start migrating to the newer alternatives.

In practice, most applications won't break immediately, but you should plan to update these calls to avoid issues in a future major version.

Were there any critical pipeline fixes?

Yes, a significant bug in the pipeline sync logic was resolved. Previously, a NullPointerException could be thrown during sync if the connection was set as broken, which interrupted command execution.

This fix makes the pipeline behavior much more predictable and reliable, especially in environments where network issues might occur. Your batch operations should now complete without unexpected exceptions.

FAQ

Do I need to change my code to use the new stream commands?
Yes, you'll need to update your Jedis dependency to 3.1.0. The new methods are available on the standard Jedis client object, so you can start calling jedis.xadd() and other stream methods directly.

I use connection pooling - did anything change?
The core pool interface remains the same, but the internal implementation is more efficient. The fix for connection leaks is the biggest deal here, as it prevents a gradual depletion of available connections over time.

Is SSL connectivity more reliable now?
Absolutely. The SSL handshake process was improved to handle errors correctly. Before, some SSL issues could cause silent failures that were hard to debug. Now, exceptions are properly propagated.

What's the simplest way to see deprecated methods?
Just compile your project with the new version. The deprecated methods will trigger compiler warnings, showing you exactly which parts of your code need eventual updating.

Should I upgrade to 3.1.0 in production?
If you're using Redis 5.0+ features like streams or need the connection leak fixes, then yes. For existing stable deployments, test the upgrade in a staging environment first, but the changes are largely additive and non-breaking.

Releases In Branch 3.1

VersionRelease date
3.1.023 Jul 2019
(7 years ago)
3.1.0-rc221 Jul 2019
(7 years ago)
3.1.0-rc17 Jul 2019
(7 years ago)
3.1.0-m404 Jul 2019
(7 years ago)
3.1.0-m317 Jun 2019
(7 years ago)
3.1.0-m211 Jun 2019
(7 years ago)
3.1.0-m126 Mar 2019
(7 years ago)