Releases: redis/jedis
4.4.0-rc1
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
5.0.0-alpha1
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.
- 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");
}
}
- 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
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!
4.4.0-m2
Changes
🔥 Breaking Changes
- Separate builder factory for each module (#3277)
🧪 Experimental Features
🚀 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
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
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!
4.3.0
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
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
Contributors
We'd like to thank all the contributors who worked on this release!
4.3.0-m2
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
🧰 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
🔥 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!