Redisson v3.15.1 Release Notes

  • ๐Ÿ”‹ Feature - expireAt(Instant) method added to RExpirable object
    ๐Ÿ”‹ Feature - random() method added to RScoredSortedSet object
    ๐Ÿ”‹ Feature - randomKeys() and randomEntries() methods added to RMap object
    ๐Ÿ”‹ Feature - count with any parameter added for search in RGeo object
    ๐Ÿ”‹ Feature - ability to search in box added for RGeo object

    ๐Ÿ‘Œ Improvement - simplified RGeo API with search methods
    ๐Ÿ‘Œ Improvement - added check for invocation of sync methods in async/rx/reactive listeners

    ๐Ÿ›  Fixed - continuous reconnecting to broken host if it was defined as hostname in Redisson Cluster config
    ๐Ÿ›  Fixed - WeightedRoundRobinBalancer filters master node in readMode=ReadMode.MASTER_SLAVE
    ๐Ÿ›  Fixed - RPatternTopicReactive.removeListener() method should return Mono<Void>
    ๐Ÿ›  Fixed - remove authType and principal attributes on Apache Tomcat logout
    ๐Ÿ›  Fixed - scheduled tasks via RScheduledExecutorService object can't be canceled
    ๐Ÿ›  Fixed - RStream.claim() method throws NPE if given id does not exist
    ๐Ÿ›  Fixed - RPatternTopic on keyspace/keyevent notification subscribes only to single master node in Redis cluster
    ๐Ÿ›  Fixed - Class cast exception is thrown during iteration of RMapCache entries
    ๐Ÿ›  Fixed - internal RedissonBaseLock.evalWriteAsync() method isn't executed again if cluster slaves amount > 0
    ๐Ÿ›  Fixed - CPU spike after Slave failover if subscriptionMode=SLAVE
    ๐Ÿ›  Fixed - rename() method throws throws RedisException if RBloomFilter is empty
    ๐Ÿ›  Fixed - output full exception stacktrace if unable connect to sentinel server
    ๐Ÿ›  Fixed - duplicated PING sent when Redis connection got reconnected
    ๐Ÿ›  Fixed - Optional class can't be used as a result object in RemoteService interface
    ๐Ÿ›  Fixed - redisson-spring-boot-starter should use redisson-spring-data-24 module
    ๐Ÿ›  Fixed - RMapCacheRx.getLock() returns org.redisson.RedissonLock instead of org.redisson.api.RLockRx
    ๐Ÿ›  Fixed - RMapCacheReactive.getLock() returns org.redisson.RedissonLock instead of org.redisson.api.RLockReactive