Jedis Versions Save

Redis Java client

v5.0.2

7 months ago

Changes

๐Ÿ› Bug Fixes

  • Fix SORTABLE argument when creating a Search index using FT.CREATE (#3584)
  • Fix binary variants of XRANGE and XREAD commands (#3571)

๐Ÿš€ New Features

  • Added broadcast support for FUNCTION LOAD methods (#3557)
  • Support GEOSHAPE field type in RediSearch (#3561)

๐Ÿงฐ Maintenance

  • Bump org.json:json from 20230618 to 20231013 (#3586)
  • Move pom.properties file into redis.clients.jedis package (#3589)
  • Warning about JedisMetaInfo movement (#3591)
  • Allow getting schema field name (#3576)

v4.4.6

7 months ago

Changes

๐Ÿ› Bug Fixes

  • Fix SORTABLE argument when creating a Search index using FT.CREATE (#3584)
  • Fix binary variants of XRANGE and XREAD commands (#3571)

๐Ÿš€ New Features

  • Added broadcast support for FUNCTION LOAD methods (#3557)
  • Support GEOSHAPE field type in RediSearch (#3561)
  • Support TOPK.LIST with WITHCOUNT option (#3495)

๐Ÿงฐ Maintenance

  • Bump org.json:json from 20230227 to 20231013 (#3472, #3586)
  • Move pom.properties file into redis.clients.jedis package (#3589)
  • Warning about JedisMetaInfo movement (#3591)
  • Allow getting schema field name (#3576)

v4.4.5

7 months ago

Changes

๐Ÿš€ New Features

  • Extend CLIENT SETINFO support with added suffix rules (#3509, #3536)
  • Added quote escaping helper functions for search queries (#3544)

๐Ÿงฐ Maintenance

  • Added JavaDoc for GeoRadiusResponse (#3542)

Contributors

We'd like to thank all the contributors who worked on this release!

@sazzad16

v5.0.1

7 months ago

Changes

๐Ÿ”ฅ Breaking Changes

  • Encode map in encoded object (#3555)
    • In the 5.0.0 release, the encoded/String variants of scripting methods return List<KeyValue<>> for a map reply - those now return Map<>.

๐Ÿš€ New Features

  • Extend CLIENT SETINFO support with added suffix rules (#3509, #3536)
  • Added quote escaping helper functions for search queries (#3544)

๐Ÿงฐ Maintenance

  • Re-enabled FT.DROPINDEX and FT.ALTER in pipeline (#3549)
  • Added JavaDoc for GeoRadiusResponse (#3542)

Contributors

We'd like to thank all the contributors who worked on this release!

@sazzad16

v4.4.4

8 months ago

Changes

๐Ÿ”ฅ Breaking Changes

  • Modify JedisBroadcastException (#3518)

๐Ÿงฐ Maintenance

  • pipelined() method in JedisSentineled directly returns Pipeline object (#3517)
  • Deprecations addressing Jedis 5.0 changes

v5.0.0

8 months ago

What's New?

Automatic Cross-Cluster Failover

We're happy to introduce the Cross-Cluster Failover feature in Jedis. This feature provides high availability and resilience by allowing seamless transitions between Redis clusters during unforeseen failures or downtimes. It's a built-in tool to minimize manual intervention and downtime and ensure a more resilient application infrastructure. Learn more about how you can automate the failover process in our documentation.

Full Redis 7.2 and RESP3 Support

Examples to enable RESP3 are included later in this release note.


Changes

๐Ÿ”ฅ Breaking Changes (Listed here)

๐Ÿš€ New Features

  • Support RESP3 (#3293, #3387, #3388, #3389, #3403, #3507)
  • Support Sharded PubSub (#3396)
  • Introduce PipelineBase for Pipeline and multi node pipeline classes (#3437, #3442)
  • 'double' timeout parameter for BLMPOP and BZMPOP commands (#3444)

๐Ÿงช Experimental Features

  • Cross cluster failover (#3310)
  • Allow setting default dialect for RediSearch module (#3452)
  • Support JSON.MERGE command (#3429)
  • Support TOPK.LIST with WITHCOUNT option (#3495)

๐Ÿ› Bug Fixes

  • Fix return value of HRANDFIELD with values when count is negative (#3425, #3430)
  • Return List instead of Set in ZDIFF, ZINTER, ZUNION commands (#3431)

๐Ÿงฐ Maintenance

  • Deprecate RedisJSON v1 support (#3503)
  • Deprecate RedisGraph support (#3504)
  • Deprecate Sharding/Sharded feature (#3386)
  • Bump org-json:json from 20230227 to 20230618 (#3472)

RESP3 Examples

This release introduces enabling RESP3 Redis connection, when the Redis server supports it.

  1. Enable RESP3 to a UnifiedJedis object:
import redis.clients.jedis.DefaultJedisClientConfig;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.UnifiedJedis;

class DoResp3 {
    public static void main() {
        HostAndPort hnp = HostAndPort.from("localhost:6379");
        UnifiedJedis c =  UnifiedJedis(hnp, DefaultJedisClientConfig.builder().resp3().build());
        c.set("foo", "value!");
        c.get("foo");
    }
}
  1. Enable RESP3 to a Jedis object:
import redis.clients.jedis.DefaultJedisClientConfig;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;

class DoResp3 {
    public static void main() {
        HostAndPort hnp = HostAndPort.from("localhost:6379");
        Jedis c =  Jedis(hnp, DefaultJedisClientConfig.builder().resp3().build());
        c.set("foo", "value!");
        c.get("foo");
    }
}

v5.0.0-beta2

11 months ago

Changes

๐Ÿ”ฅ Breaking Changes

  • Use List<KeyValue> to read RESP3 Map reply (#3456)
  • Allow setting default dialect for search module (#3452)
  • Separate interfaces for RedisJSON v1 and v2 commands (#3459)
  • Refactor Search Aggregation codes (#3451)
  • Modify TimeSeries commands after RESP3 update (#3417, #3461)
  • 'double' timeout parameter for BLMPOP and BZMPOP (#3444)
  • Return List instead of Set in ZDIFF, ZINTER, ZUNION (#3431)
  • Modify BLPOP and BRPOP return types (#3440)
  • Modify BZPOPMAX and BRPOPMIN return types (#3439)
  • Use Keyword(s) in params classes (#3434)
  • Introduce PipelineBase for Pipeline and multi node pipeline classes (#3437)
  • Fix return value of HRANDFIELD With Values when count is negative (#3425, #3430)

๐Ÿงช Experimental Features

  • Support JSON.MERGE Command (#3429)
  • Cross cluster failover (#3310)

๐Ÿš€ New Features

  • Polish 'pipelined()' in UnifiedJedis (#3442)
  • Add zdiffstore (#3454)

๐Ÿ› Bug Fixes

๐Ÿงฐ Maintenance

  • Bump maven-release-plugin from 3.0.0 to 3.0.1 (#3457)
  • Bump maven-source-plugin from 3.2.1 to 3.3.0 (#3445)
  • Bump maven-bundle-plugin from 5.1.8 to 5.1.9 (#3424)
  • Bump maven-gpg-plugin from 3.0.1 to 3.1.0 (#3398)
  • Bump maven-surefire-plugin from 3.0.0 to 3.1.2 (#3397, #3463)
  • Make ClusterPipeliningTest faster (#3465)
  • Updated Sentinel Tests (#3443)

Contributors

We'd like to thank all the contributors who worked on this release!

@s-sathish, @sazzad16, @shacharPash, @uglide and @yangbodong22011

v4.4.3

11 months ago

Changes

๐Ÿ› Bug Fixes

  • Shutdown ExecutorServices in multi node pipelines (#3467)

Contributors

We'd like to thank all the contributors who worked on this release!

@sazzad16, @jslopezgithub

Full Changelog: https://github.com/redis/jedis/compare/v4.4.2...v4.4.3

v4.4.2

11 months ago

Changes

๐Ÿš€ New Features

New in Redis 7.2:

๐Ÿ› Bug Fixes

  • Do not propagate exceptions to the application code if CLIENT SET-INFO commands is not supported or blocked by ACL rules (#3449) (#3458)

๐Ÿงฐ Maintenance

  • Add an option to ignore cluster init error (#3455)
  • Bump maven-release-plugin from 3.0.0 to 3.0.1 (#3457)
  • Bump maven-bundle-plugin from 5.1.8 to 5.1.9 (#3424)

Contributors

We'd like to thank all the contributors who worked on this release!

@sazzad16, @dependabot, @dependabot[bot] and @yangbodong22011

Full Changelog: https://github.com/redis/jedis/compare/v4.4.1...v4.4.2

v5.0.0-beta1

11 months ago

Changes

๐Ÿš€ New Features

  • Support RESP3 protocol through URI/URL (#3403)

This release includes support enabling RESP3 connection on supported Redis servers.

  1. One can pass enable RESP3 with a UnifiedJedis connection via:
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.UnifiedJedis;

class DoResp {
    public static void main() {
       HostAndPort hnp = HostAndPort.from("localhost:6379");
       UnifiedJedis c =  UnifiedJedis(hnp, DefaultJedisClientConfig.builder().protocol(RedisProtocol.RESP3).build());
       c.set("foo", "value!");
       c.get("foo");
    }
}
  1. One can pass enable RESP3 with a Jedis connection via:
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;

class DoResp {
    public static void main() {
       HostAndPort hnp = HostAndPort.from("localhost:6379");
       Jedis c =  Jedis(hnp, DefaultJedisClientConfig.builder().protocol(RedisProtocol.RESP3).build());
       c.set("foo", "value!");
       c.get("foo");
    }
}

Full Changelog: https://github.com/redis/jedis/compare/v5.0.0-alpha2...v5.0.0-beta1