Skip to content

Releases: redis/jedis

5.1.2

06 Mar 11:16
Compare
Choose a tag to compare

Changes

πŸ› Bug Fixes

  • Stop connection fetching before sync/exec in multi cluster failover mode (#3756)

5.2.0-alpha3

26 Feb 05:31
2480b02
Compare
Choose a tag to compare
5.2.0-alpha3 Pre-release
Pre-release

This release provides support for server-assisted, client-side caching, and is currently alpha grade.

Client-side caching is available within UnifiedJedis, JedisPooled, JedisCluster, etc classes via implementation of ClientSideCache class, with RESP3 only. It is recommended a ClientSideCache implementation with TTL (time-to-live). We have included two implementations based on Google Guava and Caffeine libraries.

class CacheExample {
    public static void main() {
        HostAndPort hnp = HostAndPort.from("localhost:6379");
        JedisClientConfig config = DefaultJedisClientConfig.builder()
                                            .resp3()                    // RESP3 protocol
                                            .password("foobared")
                                            .build();

        ClientSideCache csc;
        // ClientSideCache csc = GuavaCSC.builder().maximumSize(1000).ttl(100).build();
        // ClientSideCache csc = CaffeineCSC.builder().maximumSize(1000).ttl(100).build();

        UnifiedJedis client = new UnifiedJedis(hnp, config, csc);
        // JedisPooled client = new JedisPooled(hnp, config, csc);
        // JedisCluster client = new JedisCluster(Collections.singleton(hnp), config, csc);

        client.set("foo", "bar");
        client.get("foo");
        client.get("foo");      // cache hit
        client.del("foo");

        client.close();
    }
}

4.4.7

26 Feb 06:28
Compare
Choose a tag to compare

Changes

πŸš€ New Features

  • Added HSET variants to ease complex objects (#3605)

πŸ› Bug Fixes

  • Avoid NPE in MultiNodePipelineBase.java (#3697)
  • Direct FT.CREATE to proper node in LIGHT search mode (#3593)

🧰 Maintenance

  • Use simple version of HSET (#3587)
  • Deprecate RediSearchUtil#ToByteArray

Contributors

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

@sazzad16 and @stillerrr

5.1.1

26 Feb 06:09
64b5aac
Compare
Choose a tag to compare

Changes

πŸ› Bug Fixes

  • Avoid NPE in MultiNodePipelineBase.java (#3697)
  • Fix probable missing (RESP3) protocol processing (#3692)
  • Use circuit breaker fallback exception list (#3664)

🧰 Maintenance

  • Access Reducer attributes (#3637)
  • Replace deprecated set-output command with environment file (#3622)
  • Bump jackson.version from 2.16.0 to 2.16.1 (#3666)
  • Bump jackson databind and jsr310 to 2.16.0 (#3655)
  • Bump com.kohlschutter.junixsocket:junixsocket-core from 2.8.1 to 2.8.3 (#3647)

Contributors

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

@dependabot, @dependabot[bot], @jongwooo, @sazzad16 and @stillerrr

5.2.0-alpha2

28 Dec 16:19
Compare
Choose a tag to compare
5.2.0-alpha2 Pre-release
Pre-release

This release provides support for server-assisted, client-side caching, and is currently alpha grade. Currently it is supported on top of the Jedis class, and will be merged to Jedis/UnifiedJedis classes via configuration parameters.

Client-side caching is available through JedisClientSideCache class, with RESP3 only.

Note: The process of ensuring the last invalidation when there is none, is still time consuming; it is suggested to use a smaller socket timeout if this is an issue. We have started with only GET command at this moment.

import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisClientConfig;
import redis.clients.jedis.DefaultJedisClientConfig;
import redis.clients.jedis.JedisClientSideCache;

class CacheExample {
    public static void main() {
        HostAndPort hnp = HostAndPort.from("localhost:6379");
        JedisClientConfig config = DefaultJedisClientConfig.builder()
                                            .resp3()                    // RESP3 protocol
                                            .socketTimeoutMillis(20)    // smaller socket timeout
                                            .password("foobared")
                                            .build();

        JedisClientSideCache jCache = new JedisClientSideCache(hnp, config);

        jCache.set("foo", "bar");
        jCache.get("foo");
        jCache.get("foo");      // cache hit
        jCache.del("foo");

        jCache.close();
    }
}

5.2.0-alpha1

28 Dec 13:22
da9c463
Compare
Choose a tag to compare
5.2.0-alpha1 Pre-release
Pre-release

Re-released as 5.2.0-alpha2.

5.1.0

21 Nov 09:02
c1cc657
Compare
Choose a tag to compare

Changes

πŸ”₯ Breaking Changes

  • Adding Pipeline & Transaction with failover to multi cluster (#3602)
  • Move JedisMetaInfo into parent package and made private (#3590)
  • Encode map in encoded object (#3555)

πŸ§ͺ Experimental Features

  • Pipeline & Transaction with failover to multi cluster (#3602)
  • Support GEOSHAPE field type in RediSearch (#3561)
  • Re-add FT.DROPINDEX and FT.ALTER in pipeline (#3549)

πŸš€ New Features

  • Add CLUSTER SHARDS command support (#2984) (#3598)
  • Added HSET variants to ease complex objects (#3605)
  • Introducing periodic topology mechanism for JedisCluster (#3596)
  • Support RESET command (#3015)
  • Broadcast FUNCTION LOAD command methods (#3557)
  • Feature: Triggers and functions commands (#3531)
  • Escape utils for RediSearch queries (#3544)
  • Address further CLIENT SETINFO suffix rules (#3536)
  • Extend CLIENT SETINFO support (#3509)

πŸ› Bug Fixes

  • Direct FT.CREATE to proper node in LIGHT search mode (#3593)
  • Fix binary variants of XRANGE and XREAD commands (#3571)

🧰 Maintenance

  • Use simple version of HSET (#3587)
  • Linking to Redis learning resources (#3583)
  • Added support for releasing minor version snapshots (#3578)
  • Allow getting schema field name (#3576)
  • Encoded map in encoded object (#3555)
  • Improved Triggers and functions tests (#3554)
  • Different variable names for json v1 and v2 interfaces (#3553)
  • Fixed Search/Gears test regression (#3552)
  • Improved Triggers and functions commands (#3551)
  • Added JavaDoc for GeoRadiusResponse (#3542)
  • Disabling doctests on tag (#3524)
  • Move pom.properties file into redis.clients.jedis package (#3589)
  • Bump org.json:json from 20230618 to 20231013 (#3586)
  • Bump org.apache.commons:commons-pool2 from 2.11.1 to 2.12.0 (#3565)
  • Bump junixsocket-core to 2.8.1 (#3573)
  • Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.5.0 to 3.6.0 (#3539)
  • Bump mockito-inline from 3.12.4 to 4.11.0 (#3232)
  • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.1 to 3.2.2 (#3611)
  • Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.0 to 3.6.2 (#3612)
  • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.1.2 to 3.2.1 (#3600)

Contributors

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

@bsbodden, @chayim, @dependabot, @dependabot[bot], @ihaohong, @sazzad16, @wormogig and @yangbodong22011

5.0.2

19 Oct 11:20
Compare
Choose a tag to compare

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)

4.4.6

19 Oct 11:04
e247f63
Compare
Choose a tag to compare

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)

5.0.1

26 Sep 11:01
Compare
Choose a tag to compare

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