Releases: redis/jedis
4.2.0-m1
Changes
- Support COMMAND [...] commands (#2922)
- Support vector similarity (#2926)
- KeyValue util class and (B)(L/Z)MPOP commands (#2931)
- Support FUNCTION [...] commands (#2878)
- Cluster EPOCH commands and refactor tests (#2927)
- Support CLUSTER COUNT-FAILURE-REPORTS (#2923)
- Support XGROUP CREATECONSUMER (#2919)
- Support passing args to MODULE LOAD (#2918)
- Configure socket buffer size through system property (#2915)
- Renew cluster slots strategy update (#2643)
- Support command MEMORY PURGE and MEMORY STATS (#2908)
- Support RedisBloom (#2875)
- Support [NX|XX|GT|LT] options in EXPIREAT and PEXPIREAT (#2874)
- Add javadoc for DatabasePipelineCommands (#2873)
- Support BGSAVE SCHEDULE command (#2871)
- Support EXPIRETIME and PEXIRETIME (#2852)
- support CONFIG GET parameter [parameter ...] (#2863)
- Support CLIENT NO-EVICT (#2866)
- Support LCS (#2855)
- Delete unused interface (#2865)
- Support RedisTimeSeries (#2854)
🐛 Bug Fixes
- Only String param in Constructors is an URL (#2872)
- Fix wrong CommandObject called for strAlgoLCSKeys (#2859)
Contributors
We'd like to thank all the contributors who worked on this release!
@Avital-Fine, @dengliming, @sazzad16, @yangbodong22011 and @zeekling
4.1.1
🐛 Bug Fixes
- Fixed the problem of abnormal socket status during DNS resolution (#2849)
🧰 Maintenance
- Fix typo in method name connectToFirstSuccsefulHost (#2853)
Contributors
We'd like to thank all the contributors who worked on this release!
Thanks @leonchen83, @yangbodong22011, @andrewmcnamara for contributing.
4.1.0
🚀 New Features
Support GEOSEARCH and GEOSEARCHSTORE commands (#2771)
Support new ZRANGE(STORE) (#2817)
Add database and some other commands in pipeline (#2832)
Subscribe in JedisCluster (UnifiedJedis) (#2828)
Support cluster addslotsrange and cluster delslotsrange (#2823)
Support exclusive XPENDING range from params (#2830)
Support CLUSTER LINKS command (#2776)
Added the BYTE|BIT option for bitcount (binary) (#2768)
Added the BYTE|BIT option for bitcount (string) (#2779)
Support SHUTDOWN [NOW] [FORCE] [ABORT] parameters (#2812)
Support XINFO STREAM FULL (#2746)
ACL patterns for Pub/Sub channels (#2750)
Address ACL V2 changes (#2841)
Support REPLICAOF Command (#2811)
Support LOLWUT command (#2800)
Support SINTERCARD Command (#2821)
Support SORT_RO (#2843)
Address XINFO GROUPS command name (#2802)
🧰 Changes
Tries all hosts resolved for DNS name (#2722)
Fix StackOverflowError in Transaction (#2827)
Polish XINFO STREAM FULL implementation (#2801)
Polish #2823 (18043de) and ClusterCommandsTest (#2831)
Deprecate unused interfaces (afcce7c)
Thanks @AvitalFineRedis, @zeekling, @sazzad16, @adiamzn, @Avital-Fine for contributing.
4.0.1
4.0.0
🚀 New Features
- Introduced JedisPooled
An alternative to JedisPool which implements the same interfaces as JedisCluster, allowing easy switching between JedisCluster and JedisPooled. - Introduced JedisSharding
- Introduced ClusterPipeline and ShardedPipeline
- Introduced ReliableTransaction
- Introduced UnifiedJedis
UnifiedJedis can be anything depending on theConnectionProvider
orCommandExecutor
. Currently, this is the base for JedisCluster, JedisPooled and JedisSharding. - Introduced ConnectionProvider interface and few implementations
- Introduced CommandExecutor interface and few implementations
- Added RedisJSON and RedisJSON 2 commands
- Added RediSearch commands
- Support exclusive range in XRANGE command (#2719)
- Added ACL DELUSER and ACL GENPASS with bits option (#2697)
🔥 Breaking Changes (see all)
- JedisCluster constructors with
GenericObjectPoolConfig<Jedis>
now acceptGenericObjectPoolConfig<Connection>
. - Most SortedSet methods are changed to return Java
List
instead ofSet
(#2709) See Full List - Many methods now return primitive values (long/boolean/double instead of Long/Boolean/Double) See Full List
- ShardedJedisPool, Sharded, ShardedJedis, BinaryShardedJedis, ShardInfo, JedisShardInfo classes are removed.
- BinaryJedis and BinaryJedisCluster classes are removed.
Methods of these classes are available in Jedis and JedisCluster classes respectively. - Client and BinaryClient classes are removed.
redis.clients.jedis.commands
package is reimplemented, meaning Commands interfaces are restructured.- Removed Sentinel class (#2744) (since 4.0.0-rc2)
Sentinel methods are moved in Jedis class (just like Jedis 3.x)
🧰 Maintenance
- Upgraded dependency
org.slf4j:slf4j-api
to version1.7.32
- Added dependency
org.json:json
version20211205
- Added dependency
com.google.code.gson:gson
version2.8.9
🚃 Change List
- Throw IllegalStateException by replacing invalid JedisDataException (#2393)
- Support Sentinel with TLS (#2403)
- Remove usage of infinite timeout from EVAL and EVALSHA commands (#2408)
- Avoid NullPointException from SetFromList class (#2454)
- JedisNoReachableClusterNodeException should extend JedisClusterOperationException (#2409)
- Remove WATCH from Transaction (#2033)
- JedisDataException should not be wrapped within Pool operations (#2501)
- Remove SYNC command (#2499)
- Remove ShardedJedisPipeline class (#2500)
- Remove JedisPoolAbstract class and hide Pool.initPool() method (#1734)
- Limit the access of setDataSource in Jedis (#2516)
- Make
raw
variable private and should be accessed via getRaw() method (#2526) - Remove throwing IOException from JedisSocketFactory (#2528)
- Remove JedisClusterHostAndPortMap (#2518)
- Unify clustered and non-clustered interfaces (#2533)
- CONFIG SET returns OK status (#2520)
- Return type should be
long
(or any primitive) (#2547) - Pool extends GenericObjectPool (#2521)
- Use Charset instead of String for Protocol.CHARSET (#2658)
- Jedis 4 changes (#2693)
- Improving ACL Command Support (#2697) (#2693)
- Return List instead of Set where it makes sense (#2709) (#2693)
- Implemented JedisSharding and ShardedPipeline (#2707) (#2693)
- Upgrade test dependencies (#2720)
- Support exclusive range in XRANGE command (#2683) (#2719)
- Throw exception if JedisCluster cannot connect to any host-port (#2275) (#2721)
- Address Javadoc warnings (and related changes) (#2730)
- Easier constructors for pipeline classes (#2731)
- Upgrade dependencies (#2740)
- Remove deprecations that got remained (#2741)
- Resolve XADD conflicts (#2742)
- Remove Sentinel class (#2744)
- Resource within cluster retry should be closed quietly (#2745)
- Replace deprecated interface with new interface in JedisPoolConfig and ConnectionPoolConfig (#2749)
- Use slf4j-simple to replace log4j implementation (#2753)
Contributors
We'd like to thank all the contributors who worked on this release!
@sazzad16, @yangbodong22011, @dengliming, @AvitalFineRedis, @JarvisCraft, @chinafzy, @zeekling, @chayim.
3.8.0
This is the last release planned for Jedis 3.x.
🚀 New Features
- Added aclLogReset() method to support ACL LOG RESET subcommand (#2737)
This should replace bothaclLog(byte[])
andaclLog(String)
methods. - Support binary version of CLUSTER GETKEYSINSLOT (#2689)
🧰 Other Changes
- Refresh nodes when renewSlotCache (#2642)
- Change in JedisClusterInfoCache.discoverClusterNodesAndSlots (#2682)
- Do not catch checked Exception if it is not thrown (#2615)
- Address Jedis version 4 breaking changes (#2737)
- Deprecate SENTINEL SLAVES (#2673)
- Upgrade Commons Pool to 2.11.1 (#2654)
- Use slf4j-simple to replace log4j implementation (#2753)
Thanks @yangbodong22011, @zeekling, @adiamzn, @bokshitsky, @sazzad16 for contributing.
4.0.0-rc2
This is a maintenance release for CVE-2021-44228, the Log4j security issue. This issue has no impact on Jedis, and Log4j is used only in its tests.
🧰 Maintenance
🚀 New Features
- Easier constructors for pipeline classes (#2731)
3.7.1
This is a maintenance release for CVE-2021-44228, the Log4j security issue. This issue has no impact on Jedis, and only impacted its tests.
Changes
Maintenance
4.0.0-RC1
🔥 Breaking Changes
- Most SortedSet methods are changed to return Java
List
instead ofSet
(#2709) - Renamed RedisCommandObjects to CommandObjects and RedisClusterCommandObjects to ClusterCommandObjects
🚀 New Features
- Implemented JedisSharding
- Implemented ClusterPipeline and ShardedPipeline
- Support exclusive range in XRANGE command (#2719)
🧰 Maintenance
- Restored Jedis 3 sendCommand methods
4.0.0-beta4
🚀 New Features
-
Introduced JedisPooled
An alternate to JedisPool which implements same interfaces as JedisCluster, allowing easy switch between JedisCluster and JedisPooled. -
Implemented RediJSON 2 commands
-
Restored Jedis 3 classes/methods:
- JedisSentinelPool class
- JedisPubSub abstract class
- BinaryJedisPubSub abstract class
- JedisMonitor abstract class
- Pipeline.syncAndReturnAll() method
-
Added/Changed ACL commands:
- Added ACL DELUSER command
- Added ACL GENPASS command with bits option
- Added aclLogReset() method to support ACL LOG RESET sub-command replacing aclLog(options) method
🐛 Bug Fixes
- Fixed NullPointerException in ClusterPipeline with commands without any key
- Fixed resource leak in ClusterConnectionProvider