Skip to content

Releases: redis/jedis

4.4.0-rc1

27 Apr 05:24
e0f0357
Compare
Choose a tag to compare
4.4.0-rc1 Pre-release
Pre-release

Changes

🔥 Breaking Changes

🧪 Experimental Features

  • OSS Broadcast support (#3285)
  • FT.SEARCH, FT.AGGREGATE, etc commands are round robin mode by default (#3375)
  • Support iteration for SCAN, FT.SEARCH, FT.AGGREGATE commands (#3378)
  • Abstraction for JSON object mapper (#3319)
  • Add a float array to byte array utility method (#3374)

🚀 New Features

  • Support Z[REV]RANK command with score option (#3364)
  • Avoid using QUIT command (#3353)
  • Support client no-touch command (#3367)
  • ACL LOG support entry-id (#3366)
  • Support report libname and libver to Redis (#3356)
  • Support 'multi()' from JedisPooled (UnifiedJedis) (#3361)
  • Obtain multiple pipelines concurrently. high performance improvement (#3331)
  • Support parsing '-nan' (#3329)

🐛 Bug Fixes

  • Fix GraphCommandObjects in multi node (#3362)

🧰 Maintenance

  • Improve safety of MultiNodePipelineBase under multi-thread (#3330)
  • Bump maven-release-plugin from 2.5.3 to 3.0.0 (#3332)
  • Bump maven-surefire-plugin from 2.22.2 to 3.0.0 (#3327)
  • Bump maven-compiler-plugin from 3.10.1 to 3.11.0 (#3313)
  • Bump maven-javadoc-plugin from 3.4.1 to 3.5.0 (#3296)
  • Bump json from 20220924 to 20230227 (#3312)
  • Use Redis version independent error message for NOPERM and system independent locale for Double (#3318)
  • Address redis/redis#11942 and use MatcherAssert#assertThat (#3335)
  • Fix test with issue hidden due to optional client name (#3357)
  • Test: More UDS test (#3328)

Contributors

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

@sazzad16, @yangbodong22011, @stillerrr, @chenshi5012, @clebersonp and @dependabot[bot]

3.10.0

27 Apr 06:09
Compare
Choose a tag to compare

Changes

  • Avoid using QUIT command (#3377)
  • Renew cluster slots strategy update (#3370)

5.0.0-alpha1

28 Mar 07:34
6e9177b
Compare
Choose a tag to compare
5.0.0-alpha1 Pre-release
Pre-release

This release includes only support for RESP3, it should be treated as an alpha. Please note response types change for those using RESP3 - meaning there breaking changes. Today this includes support for the following:

  • UnifiedJedis connections
  • Jedis connections
  • JedisPool
  • JedisCluster
  • RedisStack support (note: GRAPH.SLOWLOG is currently broken)

The following do not yet support RESP3:

  • MultiNodePipeline
  • ClusterPipeline
  • ShardedPipeline
  • PubSub
  • JedisSharding

This release introduces two different ways to enable a RESP3 redis connection, when your redis server supports RESP1.

  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");
    }
}

4.3.2

21 Mar 17:40
Compare
Choose a tag to compare

Changes

🐛 Bug Fixes

  • Fix SELECT command in Pipeline (#3301)
  • Fix JedisPooled constructors missing poolConfig param (#3185)

🚀 New Features

  • Add simple JedisCluster constructor with HostAndPortMapper (#3302)
  • Easy PooledConnectionProvider with GenericObjectPoolConfig (#3183)

Contributors

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

@sazzad16

4.4.0-m2

01 Feb 12:49
c4506e4
Compare
Choose a tag to compare
4.4.0-m2 Pre-release
Pre-release

Changes

🔥 Breaking Changes

  • Separate builder factory for each module (#3277)

🧪 Experimental Features

  • Support BF.CARD command (#3275)
  • Get Object from aggregation Row (#3253)

🚀 New Features

  • Separate interfaces for bit commands (#3279)
  • Added a suppressed exception in cluster initialization (#3274)

🐛 Bug Fixes

  • Fix JedisPooled constructors missing poolConfig param (#3185)

🧰 Maintenance

  • Upgrade Gson to 2.10.1 (#3272)
  • Update javadoc and config for maven-javadoc-plugin 3 (#3257)
  • Allow exclusion of org.json dependency (#3249)
  • Upgrade JUnixSocket Core to 2.6.1 (#3273)
  • Improved Transaction classes documentation (#3262)
  • Including startup instructions via redis-stack docker (#3263)
  • Bump maven-bundle-plugin from 4.2.1 to 5.1.8 (#3260)
  • Bump maven-jar-plugin from 3.0.2 to 3.3.0 (#3261)
  • Bump maven-compiler-plugin from 3.8.1 to 3.10.1 (#3259)
  • Update release-drafter-config.yml (#3247)
  • Bump maven-javadoc-plugin from 2.10.4 to 3.4.1 (#3234)
  • Bump nexus-staging-maven-plugin from 1.6.8 to 1.6.13 (#3233)
  • Add snapshot link in readme (#3229)
  • Removing LGTM (#3219)

Contributors

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

@agavrilov76, @chayim, @dependabot, @dependabot[bot], @jgaoIXL, @sazzad16, @yeikel and @zeekling

4.4.0-m1

13 Dec 13:00
0cf061c
Compare
Choose a tag to compare
4.4.0-m1 Pre-release
Pre-release

Changes

🚀 New Features

  • Introduce JedisBroadcast to broadcast commands (#3194) (#3227)
  • Support pipelining from UnifiedJedis (#3221)
  • Support intermediate sync() calls in multi node pipelines (#3226)
  • Support MODULE LOADEX command (#3238)
  • Support LATENCY DOCTOR command (#3239)
  • Support CLIENT UNPAUSE command (#3237)
  • Support BITPOS command with BYTE|BIT modifier (#3236)
  • Address empty cluster slots list when discovering slots (#3195)
  • Refactor GenericObjectPool usages (#3186)
  • Easy PooledConnectionProvider with GenericObjectPoolConfig (#3183)

🧪 Experimental Features

  • Support FT._LIST command: ftList() method (#3197)
  • Support FT.PROFILE command (#3188)
  • Support FT.SPELLCHECK command (#3175)

🐛 Bug Fixes

  • Fix JedisPooled constructors missing poolConfig param (#3185)

🧰 Maintenance

  • Test: Intermediate sync() works in regular Pipeline (#3246)
  • Make org.json safely replace-able with android-json (#3242)
  • Allow exclusion of GSON dependency (#3223)
  • Test: Reduce flaky-ness of CLIENT PAUSE tests (#3243)
  • Add dependabot configuration (#3162)
  • Update test system setup (#3225)
  • Adding Javadocs to Jedis 'args' package (#3210)
  • Test: Debug cluster executor test fail (#3209)
  • Javadocs in Exception classes (#3204)
  • Test: Address memory optimizations in Redis List (#3208)
  • Refactor GenericObjectPool usages (#3186)
  • Test: Address DEFAULT_DIALECT search config change (#3184)
  • Test: Address TDIGEST.RANK changes (#3177)
  • Test: graph parser can handle inf, nan, etc (#3176)
  • Address JavaDoc warnings (#3174)
  • Release drafter formatting improvement: titles (#3173)
  • Fix RedisJSON doc for POJOs (#3200)

Contributors

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

@sazzad16, @agavrilov76, @jgaoIXL, @chayim, @yeikel and @zeekling

4.3.1

20 Oct 09:38
448207b
Compare
Choose a tag to compare

Changes

🚀 New Features

  • Support passing ClusterConnectionProvider to JedisCluster (#3169)

🐛 Bug Fixes

  • Catch JedisException in loop instead of JedisConnectionException (#3166)

🧰 Maintenance

  • Deprecate TOPK.COUNT command (#3167)

Contributors

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

@ham1255 and @sazzad16

4.3.0

09 Oct 10:10
d0d0d0a
Compare
Choose a tag to compare

Changes

4.3.0-m2 release notes
4.3.0-m1 release notes

Following are the changes only since the last milestone release. Please check the notes for milestone releases for all changes.

🧪 Experimental Features

  • Support TDIGEST.[BY][REV]RANK commands (#3158)
  • Support TDIGEST.ADD changes (#3156)

Note - changes to TDIGEST commands may be incompatible with the previous milestone releases.

🐛 Bug Fixes

  • Validate host and port of jedis connection (to sentinel master) (#3155)
  • Fix null property value parsing of search document (#3148)

🧰 Maintenance

  • Upgrade org.JSON to 20220320 (#3161)
  • Upgrade SLF4J to 1.7.36 (#3160)
  • Improve jedis.get doc (#3150)

Contributors

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

@chayim, @sazzad16, @shangjin92, @shkediy and @tianshuang

4.3.0-m2

20 Sep 09:38
b668413
Compare
Choose a tag to compare
4.3.0-m2 Pre-release
Pre-release

Breaking Changes

  • Separate package for RedisBloom commands (#3112)
  • Add search restrictions while setting field attribute (#3124)

🧪 Experimental Features

  • Support TDIGEST commands (#3097)
  • Re-work on FT.SEARCH, FT.CREATE and FT.ALTER (#3138) (#3120)
  • Migrating QueryBuilders from JRediSearch to support searching (#3107)

🚀 New Features

  • Add SortingOrder argument for GeoRadius, GeoSearch (#3135)
  • Improved binary support for SET command with GET option (#3134)
  • Support remaining TS.ALTER params (#3116)
  • Adding support for custom a CommandExecutor with UnifiedJedis (#3104)
  • Make getBackoffSleepMillis in ClusterCommandExecutor nondeterministic (#3118)

🐛 Bug Fixes

  • Cleaning up broken connection from ClusterPipeline (#3143)
  • Fix NPE in Document#toString() (#3113)

🧰 Maintenance

  • Deprecate ASC and DESC keywords (#3136)

Contributors

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

@adiamzn, @angelo147, @chayim and @sazzad16

4.3.0-m1

10 Aug 10:53
9c8ef61
Compare
Choose a tag to compare
4.3.0-m1 Pre-release
Pre-release

🔥 Breaking Changes

  • Fix PENDING entries of xinfoStreamFull method (#2988)
  • Fix: return of CLUSTER REPLICAS is Array reply (#2990)
  • Reduce the verbosity of logs in PooledObjectFactory implementations (#3007)
  • Remove the unused Logger reference from HostAndPort class (#3008)

🚀 New Features

  • Optimize Entities capacity to avoid reallocation (#3090)
  • Pre-allocate the results size (#3089)
  • Support new TimeSeries arguments (#3082)
  • Extend support to all arguments of FT.SEARCH and FT.AGGREGATE commands (#3054)
  • Support Graph PROFILE, EXPLAIN, SLOWLOG, LIST and CONFIG commands (#3053)
  • Support JSON.RESP command (#3052)
  • Support JSON.OBJLEN and JSON.OBJKEYS commands (#3051)
  • Support RediSearch Dictionary commands (#3034)
  • Support FT.TAGVALS command (#3033)
  • Support RediSearch Suggestion commands (#3031, #3032)
  • Support [BF/CF].[SCANDUMP/LOADCHUNK] commands (#3029)
  • Support TS.INFO command (#3023)
  • Support TS.INCRBY and TS.DECRBY commands (#3022)
  • Support TS.MADD command (#3020)
  • Support CASESENSITIVE tag in RediSearch schema (#3000)
  • Chain AS to Schema object (#2950)
  • Support 'LOAD *' in search aggregation (#3001)
  • Support JSON.DEBUG MEMORY command (#3002)
  • Support JSON.NUMINCRBY command (#3004, #3024)
  • Support RedisJSON SET/GET as plain string(s) (#3005)
  • Introduce factory MINIMUM_ID and MAXIMUM_ID for StreamEntryID (#3006)
  • Read 'inf' in graph response (#3011)

🐛 Bug Fixes

  • Fix NPE when stream pending message is discarded (#3094)
  • Preserve order in responses of ZDIFF, ZINTER, ZUNION commands (#3085)

🧰 Maintenance

  • Refactor JedisPool and JedisPooled constructors (#3048)

Contributors

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

@sazzad16, @s-sathish, @gkorland and @VictoryWangCN