redisson/redisson (org.redisson:redisson)
### [`v3.32.0`](https://togithub.com/redisson/redisson/blob/HEAD/CHANGELOG.md#24-Jun-2024---3320-released)
Feature - Quarkus Cache implementation added\
Feature - `RMapCacheNative` implementation which uses Redis 7.4+ commands\
Feature - unlinkByPattern() method added to RKeys interface (thanks to [@seakider](https://togithub.com/seakider))
Fixed - Apache Tomcat request.changeSessionId() method does not change the session id in Redis (thanks to [@bclay2116](https://togithub.com/bclay2116))\
Fixed - RSearch parse params error (thanks to [@seakider](https://togithub.com/seakider))\
Fixed - RSearch.info() throws `NumberFormatException` (thanks to [@seakider](https://togithub.com/seakider))\
Fixed - cluster failover handling\
Fixed - last master node shouldn't be removed in cluster topology\
Fixed - duplicated master/slave added log output in sentinel mode\
Fixed - connection leak if master change operation failed during failover\
Fixed - `RxJava3` request can't be canceled\
Fixed - `RFairLock` doesn't calculate remaining ttl properly before next acquisition attempt\
Fixed - `scanInterval` setting check\
Fixed - `ElementsSubscribeService.resubscribe()` method throws `RedissonShutdownException`\
Fixed - `RMap.getAll()` method throws an exception if result of `RMap.keySet()` method passed as an argument\
Fixed - Redis node random selection doesn't work properly\
Fixed - concurrency problem during RLock expiration renewal (thanks to [@seakider](https://togithub.com/seakider))\
Fixed - `RListMultimap` throws too many results to unpack error\
Fixed - entry shutdown during cluster slots migration check
### [`v3.31.0`](https://togithub.com/redisson/redisson/blob/HEAD/CHANGELOG.md#31-May-2024---3310-released)
Feature - Spring Boot 3.3.0 integration\
Feature - Spring Data Redis 3.3.0 integration\
Feature - allow retry of `NOREPLICAS` error (thanks to [@ghollies](https://togithub.com/ghollies))
Improvement - `SequentialDnsAddressResolverFactory` default `concurrencyLevel` set to 2\
Improvement - `ThreadLocalRandom` replaced with `xoshiro256**` RNG to avoid collisions
Fixed - cluster failover handling\
Fixed - cluster topology scan shouldn't be stopped by any exception\
Fixed - `RSetMultiMap` throws `too many results to unpack` error\
Fixed - append commands error when using batch mode (thanks to [@seakider](https://togithub.com/seakider))\
Fixed - `ERR unknown command EVALSHA_RO` error shouldn't be logged\
Fixed - `TransactionalBucket#set(V, Duration)` `PSETEX` command is called before `MULTI` command (thanks to [@seakider](https://togithub.com/seakider))\
Fixed - `CommandMapper` isn't applied to Lua scripts\
Fixed - incorrect connection release if `BatchOptions.executionMode` = `REDIS_WRITE_ATOMIC` or `REDIS_READ_ATOMIC` (thanks to [@seakider](https://togithub.com/seakider))\
Fixed - `RFairLock` methods throw 'attempt to compare nil with number' error\
Fixed - Spring Data Redis `RedissonConnectionFactory.getSentinelConnection()` method throws error on the first offline sentinel\
Fixed - read mode = SLAVE isn't applied for `RSet.random()` methods\
Fixed - Keyspace notifications should be listened only on master nodes\
Fixed - `RListMultimap.removeAll()` method always deletes link to list\
Fixed - `RLockReactive` methods don't work in native image\
Fixed - Correctly update shutdown timeout after each step in connection manager shutdown (thanks to [@MartinEkInsurely](https://togithub.com/MartinEkInsurely))\
Fixed - broken tck `JCache` tests\
Fixed - not all sentinels defined in the configuration are registered
### [`v3.30.0`](https://togithub.com/redisson/redisson/blob/HEAD/CHANGELOG.md#10-May-2024---3300-released)
Feature - `sslKeystoreType` setting added\
Feature - `RPatternTopic.getActiveTopic()` method added (thanks to [@MasterShi](https://togithub.com/MasterShi))\
Feature - `RJsonBucket.merge()` method added\
Feature - Async, Rx, Reactive interfaces implemented for `RBloomFilter` object\
Feature - fallback mode for JCache\
Feature - [passwords encryption](https://togithub.com/redisson/redisson/wiki/2.-Configuration#223-passwords-encryption) support\
Feature - [Spring Cloud Stream](https://togithub.com/redisson/redisson/wiki/14.-Integration-with-frameworks/#149-spring-cloud-stream) integration
Improvement - configuration variable defined as Java system property overrides environment variable
Fixed - io.projectreactor package should be defined as optional in OSGi Manifest\
Fixed - Spring Data Redis `StreamPollTask.deserializeAndEmitRecords()` method throws NPE after failover\
Fixed - Spring Data Redis blocking poll commands can't be reattached after failover\
Fixed - Unable to find session error reported by `RedissonSessionManager`\
Fixed - Sentinels discovery is applied at Redisson startup if `sentinelsDiscovery = true`\
Fixed - master node is used for read operations after slave node addition if `readMode = SLAVE` in replicated mode\
Fixed - failover handling of blocking methods calls with defined timeout. RStream, RBlockingQueue objects\
Fixed - multiple `RLocalCachedMap` objects don't work in the same RTransaction (thanks to [@vlad-ogol](https://togithub.com/vlad-ogol) [@RajaJaisankar](https://togithub.com/RajaJaisankar))\
Fixed - codec setting isn't applied in `redisson.getMap(MapOptions)` method\
Fixed - Live Object field can't set to null value\
Fixed - `SentinelConnectionManager` stops scheduling topology change change / dns check after host resolution error\
Fixed - `RMapCache.fastPutIfExistsOperation()` method uses incorrect pubsub channel
### [`v3.29.0`](https://togithub.com/redisson/redisson/blob/HEAD/CHANGELOG.md#22-Apr-2024---3290-released)
Feature - `NewObjectListener` added to track created objects\
Feature - `NewObjectListener` and `SetObjectListener` can be registered with `RKeys.addListener()` method\
Feature - `subscribeOnElements()`, `subscribeOnLastElements()` and `subscribeOnFirstElements()` methods wait for `CompletionStage` to complete before polling the next element\
Feature - `shardedSubscriptionMode` setting added in Cluster configuration\
Feature - `RSemaphore.trySetPermits()` method with ttl parameter added\
Feature - `getDeletedIds()` method added to `RStream` `AutoClaimResult` object
Improvement - responses map lock replaced with fine-grained entry locking in `RRemoteService` and `RScheduledExecutorService`
Fixed - `RStream.autoClaim()` method throws ClassCastException\
Fixed - `RSearch` aggregate expression applied incorrectly\
Fixed - `LocalCachedMapDisabledKey` event is parsed incorrectly if local cache used with `RTransaction`\
Fixed - Slave node in cluster mode isn't shutdown properly if `readMode = MASTER` and `subscribeMode = MASTER` (regression since 3.27.2)\
Fixed - race condition during cluster topology update causes slave added/removed events\
Fixed - OSGi MANIFEST should define optional dependencies\
Fixed - `TimeoutException` is thrown if `connectionMinimumIdleSize = 0`\
Fixed - `ClassCastException` is thrown for Reactive/Rx RemoteService invocation if Redisson instance isn't Reactive/Rx\
Fixed - semaphore object is not deleted after `RLocalCachedMap.clearLocalCache()` method invocation\
Fixed - `AggregationOptions.groupBy()` setting with reducers used in `RSearch.aggregate()` method causes an exception\
Fixed - `AggregationOptions.groupBy()` setting usage with `RSearch.aggregate()` method causes an exception if reducers aren't defined\
Fixed - `AggregationOptions.sortBy()` setting usage with `RSearch.aggregate()` method causes an exception\
Fixed - resource leak error when executing multiple contains operation of `RSet` in transaction (thanks to [@wynn5a](https://togithub.com/wynn5a))\
Fixed - jmockit upgraded to 1.52.0 inside maven-surefire-plugin (thanks to [@roharon](https://togithub.com/roharon))
### [`v3.28.0`](https://togithub.com/redisson/redisson/blob/HEAD/CHANGELOG.md#10-Apr-2024---3280-released)
Feature - [Multi Sentinel mode](https://togithub.com/redisson/redisson/wiki/2.-Configuration/#211-multi-sentinel-mode) implementation\
Feature - `RLocalCachedMapCacheV2` object implemented with effecient partitioning and advanced entry eviction\
Feature - graceful shutdown in quarkus (thanks to [@naah69](https://togithub.com/naah69))
Improvement - `RLongAdder` and `RDoubleAddder` should use sharded topic if possible\
Improvement - reduced CPU and Memory consumption by `ClusterConnectionManager.getLastPartitonsByURI()` method\
Improvement - `RedisURI.hashCode()` caching to reduce CPU consumption\
Improvement - shutdown check added in `RTopic.removeListener()` method
Fixed - incorrect detection of sharded pubsub support\
Fixed - `RBatch` does not work with RKeys.randomKeyAsync() method (thanks to [@wynn5a](https://togithub.com/wynn5a))\
Fixed - unresolved Redis node hostname in cluster mode affects cluster topology scan\
Fixed - `MASTER` nodes aren't used if `readMode = MASTER_SLAVE`\
Fixed - `RLock`, `RFencedLock`, `RReadWriteLock` miss unlock messages and wait a defined timeout before a next attempt or hang\
Fixed - `RSemaphore`, `RPermitExpirableSemaphore` miss release messages and wait a defined timeout before a next attempt or hang\
Fixed - incorrect value of `RLongAdder.sum()` and `RDoubleAddder.sum()` methods if multiple Adder instances for the same Redisson object are used\
Fixed - `CountDownLatch.await()` method may throw NPE\
Fixed - ExecutionException handling in RExecutorService, RLock, RPermitExpirableSemaphore, RSemaphore objects\
Fixed - `ConcurrentModificationException` is thrown on RedissonSession save method if readMode = MEMORY\
Fixed - Spring Data Redis zPopMin() and zPopMax() methods don't work (thanks to [@bimslab](https://togithub.com/bimslab))
Configuration
š Schedule: Branch creation - "on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
š¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
ā» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
š Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
3.27.2
->3.32.0
Release Notes
redisson/redisson (org.redisson:redisson)
### [`v3.32.0`](https://togithub.com/redisson/redisson/blob/HEAD/CHANGELOG.md#24-Jun-2024---3320-released) Feature - Quarkus Cache implementation added\ Feature - `RMapCacheNative` implementation which uses Redis 7.4+ commands\ Feature - unlinkByPattern() method added to RKeys interface (thanks to [@seakider](https://togithub.com/seakider)) Fixed - Apache Tomcat request.changeSessionId() method does not change the session id in Redis (thanks to [@bclay2116](https://togithub.com/bclay2116))\ Fixed - RSearch parse params error (thanks to [@seakider](https://togithub.com/seakider))\ Fixed - RSearch.info() throws `NumberFormatException` (thanks to [@seakider](https://togithub.com/seakider))\ Fixed - cluster failover handling\ Fixed - last master node shouldn't be removed in cluster topology\ Fixed - duplicated master/slave added log output in sentinel mode\ Fixed - connection leak if master change operation failed during failover\ Fixed - `RxJava3` request can't be canceled\ Fixed - `RFairLock` doesn't calculate remaining ttl properly before next acquisition attempt\ Fixed - `scanInterval` setting check\ Fixed - `ElementsSubscribeService.resubscribe()` method throws `RedissonShutdownException`\ Fixed - `RMap.getAll()` method throws an exception if result of `RMap.keySet()` method passed as an argument\ Fixed - Redis node random selection doesn't work properly\ Fixed - concurrency problem during RLock expiration renewal (thanks to [@seakider](https://togithub.com/seakider))\ Fixed - `RListMultimap` throws too many results to unpack error\ Fixed - entry shutdown during cluster slots migration check ### [`v3.31.0`](https://togithub.com/redisson/redisson/blob/HEAD/CHANGELOG.md#31-May-2024---3310-released) Feature - Spring Boot 3.3.0 integration\ Feature - Spring Data Redis 3.3.0 integration\ Feature - allow retry of `NOREPLICAS` error (thanks to [@ghollies](https://togithub.com/ghollies)) Improvement - `SequentialDnsAddressResolverFactory` default `concurrencyLevel` set to 2\ Improvement - `ThreadLocalRandom` replaced with `xoshiro256**` RNG to avoid collisions Fixed - cluster failover handling\ Fixed - cluster topology scan shouldn't be stopped by any exception\ Fixed - `RSetMultiMap` throws `too many results to unpack` error\ Fixed - append commands error when using batch mode (thanks to [@seakider](https://togithub.com/seakider))\ Fixed - `ERR unknown command EVALSHA_RO` error shouldn't be logged\ Fixed - `TransactionalBucket#set(V, Duration)` `PSETEX` command is called before `MULTI` command (thanks to [@seakider](https://togithub.com/seakider))\ Fixed - `CommandMapper` isn't applied to Lua scripts\ Fixed - incorrect connection release if `BatchOptions.executionMode` = `REDIS_WRITE_ATOMIC` or `REDIS_READ_ATOMIC` (thanks to [@seakider](https://togithub.com/seakider))\ Fixed - `RFairLock` methods throw 'attempt to compare nil with number' error\ Fixed - Spring Data Redis `RedissonConnectionFactory.getSentinelConnection()` method throws error on the first offline sentinel\ Fixed - read mode = SLAVE isn't applied for `RSet.random()` methods\ Fixed - Keyspace notifications should be listened only on master nodes\ Fixed - `RListMultimap.removeAll()` method always deletes link to list\ Fixed - `RLockReactive` methods don't work in native image\ Fixed - Correctly update shutdown timeout after each step in connection manager shutdown (thanks to [@MartinEkInsurely](https://togithub.com/MartinEkInsurely))\ Fixed - broken tck `JCache` tests\ Fixed - not all sentinels defined in the configuration are registered ### [`v3.30.0`](https://togithub.com/redisson/redisson/blob/HEAD/CHANGELOG.md#10-May-2024---3300-released) Feature - `sslKeystoreType` setting added\ Feature - `RPatternTopic.getActiveTopic()` method added (thanks to [@MasterShi](https://togithub.com/MasterShi))\ Feature - `RJsonBucket.merge()` method added\ Feature - Async, Rx, Reactive interfaces implemented for `RBloomFilter` object\ Feature - fallback mode for JCache\ Feature - [passwords encryption](https://togithub.com/redisson/redisson/wiki/2.-Configuration#223-passwords-encryption) support\ Feature - [Spring Cloud Stream](https://togithub.com/redisson/redisson/wiki/14.-Integration-with-frameworks/#149-spring-cloud-stream) integration Improvement - configuration variable defined as Java system property overrides environment variable Fixed - io.projectreactor package should be defined as optional in OSGi Manifest\ Fixed - Spring Data Redis `StreamPollTask.deserializeAndEmitRecords()` method throws NPE after failover\ Fixed - Spring Data Redis blocking poll commands can't be reattached after failover\ Fixed - Unable to find session error reported by `RedissonSessionManager`\ Fixed - Sentinels discovery is applied at Redisson startup if `sentinelsDiscovery = true`\ Fixed - master node is used for read operations after slave node addition if `readMode = SLAVE` in replicated mode\ Fixed - failover handling of blocking methods calls with defined timeout. RStream, RBlockingQueue objects\ Fixed - multiple `RLocalCachedMap` objects don't work in the same RTransaction (thanks to [@vlad-ogol](https://togithub.com/vlad-ogol) [@RajaJaisankar](https://togithub.com/RajaJaisankar))\ Fixed - codec setting isn't applied in `redisson.getMap(MapOptions)` method\ Fixed - Live Object field can't set to null value\ Fixed - `SentinelConnectionManager` stops scheduling topology change change / dns check after host resolution error\ Fixed - `RMapCache.fastPutIfExistsOperation()` method uses incorrect pubsub channel ### [`v3.29.0`](https://togithub.com/redisson/redisson/blob/HEAD/CHANGELOG.md#22-Apr-2024---3290-released) Feature - `NewObjectListener` added to track created objects\ Feature - `NewObjectListener` and `SetObjectListener` can be registered with `RKeys.addListener()` method\ Feature - `subscribeOnElements()`, `subscribeOnLastElements()` and `subscribeOnFirstElements()` methods wait for `CompletionStage` to complete before polling the next element\ Feature - `shardedSubscriptionMode` setting added in Cluster configuration\ Feature - `RSemaphore.trySetPermits()` method with ttl parameter added\ Feature - `getDeletedIds()` method added to `RStream` `AutoClaimResult` object Improvement - responses map lock replaced with fine-grained entry locking in `RRemoteService` and `RScheduledExecutorService` Fixed - `RStream.autoClaim()` method throws ClassCastException\ Fixed - `RSearch` aggregate expression applied incorrectly\ Fixed - `LocalCachedMapDisabledKey` event is parsed incorrectly if local cache used with `RTransaction`\ Fixed - Slave node in cluster mode isn't shutdown properly if `readMode = MASTER` and `subscribeMode = MASTER` (regression since 3.27.2)\ Fixed - race condition during cluster topology update causes slave added/removed events\ Fixed - OSGi MANIFEST should define optional dependencies\ Fixed - `TimeoutException` is thrown if `connectionMinimumIdleSize = 0`\ Fixed - `ClassCastException` is thrown for Reactive/Rx RemoteService invocation if Redisson instance isn't Reactive/Rx\ Fixed - semaphore object is not deleted after `RLocalCachedMap.clearLocalCache()` method invocation\ Fixed - `AggregationOptions.groupBy()` setting with reducers used in `RSearch.aggregate()` method causes an exception\ Fixed - `AggregationOptions.groupBy()` setting usage with `RSearch.aggregate()` method causes an exception if reducers aren't defined\ Fixed - `AggregationOptions.sortBy()` setting usage with `RSearch.aggregate()` method causes an exception\ Fixed - resource leak error when executing multiple contains operation of `RSet` in transaction (thanks to [@wynn5a](https://togithub.com/wynn5a))\ Fixed - jmockit upgraded to 1.52.0 inside maven-surefire-plugin (thanks to [@roharon](https://togithub.com/roharon)) ### [`v3.28.0`](https://togithub.com/redisson/redisson/blob/HEAD/CHANGELOG.md#10-Apr-2024---3280-released) Feature - [Multi Sentinel mode](https://togithub.com/redisson/redisson/wiki/2.-Configuration/#211-multi-sentinel-mode) implementation\ Feature - `RLocalCachedMapCacheV2` object implemented with effecient partitioning and advanced entry eviction\ Feature - graceful shutdown in quarkus (thanks to [@naah69](https://togithub.com/naah69)) Improvement - `RLongAdder` and `RDoubleAddder` should use sharded topic if possible\ Improvement - reduced CPU and Memory consumption by `ClusterConnectionManager.getLastPartitonsByURI()` method\ Improvement - `RedisURI.hashCode()` caching to reduce CPU consumption\ Improvement - shutdown check added in `RTopic.removeListener()` method Fixed - incorrect detection of sharded pubsub support\ Fixed - `RBatch` does not work with RKeys.randomKeyAsync() method (thanks to [@wynn5a](https://togithub.com/wynn5a))\ Fixed - unresolved Redis node hostname in cluster mode affects cluster topology scan\ Fixed - `MASTER` nodes aren't used if `readMode = MASTER_SLAVE`\ Fixed - `RLock`, `RFencedLock`, `RReadWriteLock` miss unlock messages and wait a defined timeout before a next attempt or hang\ Fixed - `RSemaphore`, `RPermitExpirableSemaphore` miss release messages and wait a defined timeout before a next attempt or hang\ Fixed - incorrect value of `RLongAdder.sum()` and `RDoubleAddder.sum()` methods if multiple Adder instances for the same Redisson object are used\ Fixed - `CountDownLatch.await()` method may throw NPE\ Fixed - ExecutionException handling in RExecutorService, RLock, RPermitExpirableSemaphore, RSemaphore objects\ Fixed - `ConcurrentModificationException` is thrown on RedissonSession save method if readMode = MEMORY\ Fixed - Spring Data Redis zPopMin() and zPopMax() methods don't work (thanks to [@bimslab](https://togithub.com/bimslab))Configuration
š Schedule: Branch creation - "on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
š¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
ā» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
š Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.