All Versions
Latest Version
Avg Release Cycle
27 days
Latest Release

Changelog History
Page 9

  • v2.2.6 Changes

    ๐Ÿ†• Feature - new object added RedissonMultiLock
    ๐Ÿ”‹ Feature - move method added to RSet, RSetReactive objects (thanks to thrau)
    ๐Ÿ”‹ Feature - put methods with maxIdleTime param added to RMapCache object
    ๐Ÿ”‹ Feature - RList.subList returns live view object
    ๐Ÿ”‹ Feature - readAll method added to RList and RSet objects
    ๐Ÿ”‹ Feature - trim method added to RList object
    ๐Ÿ”‹ Feature - ability to read/write Redisson config object from/to JSON or YAML format
    ๐Ÿ”‹ Feature - Spring cache integration
    ๐Ÿ”‹ Feature - readMode setting added
    ๐Ÿ‘Œ Improvement - RSetCache object entry eviction optimization
    ๐Ÿ‘Œ Improvement - RList object optimization
    ๐Ÿ‘Œ Improvement - RedissonCountDownLatchAsync interface added
    ๐Ÿ‘Œ Improvement - cluster restrictions removed from loadBucketValues and saveBuckets methods
    ๐Ÿ›  Fixed - wrong ByteBuf read position in all codecs based on StringCodec
    ๐Ÿ›  Fixed - can't connect with password to Sentinel and Elasticache servers
    ๐Ÿ›  Fixed - Cluster slave discovery (regression since 2.1.5)
    ๐Ÿ›  Fixed - Sentinel slave discovery (regression since 2.1.5)

  • v2.2.5 Changes

    ๐Ÿ†• Feature - new object added RBloomFilter
    ๐Ÿ†• Feature - new object added RAtomicDouble
    ๐Ÿ”‹ Feature - tryAdd, tryAddAsync, addAll and addAllAsync methods added to RScoredSortedSet
    ๐Ÿ”‹ Feature - RKeys.count and RKeys.countAsync methods added
    ๐Ÿ”‹ Feature - RedissonClient.saveBuckets method added
    ๐Ÿ”‹ Feature - trySet, trySetAsync, compareAndSet and getAndSet methods added to RBucket
    ๐Ÿ”‹ Feature - fastPutIfAbsent and fastPutIfAbsentAsync methods added to RMap
    ๐Ÿ‘Œ Improvement - RMap.putIfAbsent optimization
    Improvement - RBitSet index range extended to Integer.MAX_VALUE*2
    ๐Ÿ‘Œ Improvement - RAtomicLong.getAndAdd optimization
    ๐Ÿ›  Fixed - infinity loop during RMap iteration
    ๐Ÿ›  Fixed - wrong timeout value used during RBatch execution
    ๐Ÿ›  Fixed - connection handling when isReadFromSlaves = false
    ๐Ÿ›  Fixed - RMap.addAndGetAsync key encoding
    ๐Ÿ›  Fixed - RBatch errors handling
    ๐Ÿ›  Fixed - RBlockingQueue.pollLastAndOfferFirstToAsync does not block properly

  • v2.2.4 Changes

    โšก๏ธ Please update to this version ASAP due to connection leak discovered in previous versions since Redisson 2.1.4.

    ๐Ÿ†• Feature - new object added RBlockingDeque
    ๐Ÿ†• Feature - new object added RSemaphore
    ๐Ÿ”‹ Feature - RMapCache.fastPut method with TTL support added
    ๐Ÿ”‹ Feature - WeightedRoundRobinBalancer slaves balancer added
    ๐Ÿ‘Œ Improvement - Memory consumption optimization
    ๐Ÿ‘Œ Improvement - storing value with ttl = 0 in RSetCache or RMapCache saves it infinitely
    ๐Ÿ›  Fixed - reconnection handling when Sentinel servers are restarted
    ๐Ÿ›  Fixed - RedisConnectionException should be throw if Redisson can't connect to servers at startup
    ๐Ÿ›  Fixed - Connection leak (regression bug since 2.1.4)
    ๐Ÿ›  Fixed - ConnectionWatchdog throws exception when eventloop in shutdown state
    ๐Ÿ›  Fixed - RReadWriteLock.forceUnlock works only for current thread
    ๐Ÿ›  Fixed - MapKeyDecoder and MapValueDecoder are called in wrong order
    ๐Ÿ›  Fixed - RReadWriteLock doesn't work in cluster mode

  • v2.2.3 Changes

    ๐Ÿ”‹ Feature - ability to set connection listener via Config.connectionListener setting
    ๐Ÿ›  Fixed - RLock expiration bug fixed (regression bug since 2.2.2)
    ๐Ÿ›  Fixed - NPE in RedissonSortedSet constructor

  • v2.2.2 Changes

    ๐Ÿ”‹ Feature - isShuttingDown and isShutdown methods were added to RedissonClient and RedissonReactiveClient
    ๐Ÿ†• Feature - new object added RSetCacheReactive
    ๐Ÿ›  Fixed - RLock expiration renewal task scheduling fixed (regression bug since 2.2.1)
    ๐Ÿ›  Fixed - RExpirable.expireAsync timeUnit precision fixed (regression bug since 2.2.1)

  • v2.2.1 Changes

    ๐Ÿ†• Feature - new object added RReadWriteLock with reentrant read/write locking
    ๐Ÿ†• Feature - new object added RMapCache map-based cache with TTL support for each entry
    ๐Ÿ†• Feature - new object added RSetCache set-based cache with TTL support for each value
    ๐Ÿ”‹ Feature - RBatchReactive.getKeys method added
    ๐Ÿ”‹ Feature - RMap.values(), RMap.keySet(), RMap.entrySet() reimplemented with live-view objects
    ๐Ÿ”‹ Feature - RObjectReactive.isExists, RObject.isExists and RObject.isExistsAsync added
    ๐Ÿ›  Fixed - RLock.unlock not thrown IllegalMonitorStateException

  • v2.2.0 Changes

    ๐Ÿ‘ Since 2.2.0 version Redisson supports Reactive Streams. Use Redisson.createReactive method to access Reactive objects.

    ๐Ÿ”‹ Feature - Reactive Streams support
    ๐Ÿ”‹ Feature - RList.addAllAsync and RMap.getAllAsync methods added
    ๐Ÿ”‹ Feature - RList.equals and RList.hashCode methods implemented
    ๐Ÿ”‹ Feature - pollFirst, pollFirstAsync, pollLast, pollLastAsync methods added to RScoredSortedSet
    ๐Ÿ‘Œ Improvement - RLock and RCountDownLatch switched to LongCodec
    ๐Ÿ’ฅ Breaking api change - RExpirable methods now uses milliseconds instead of seconds
    ๐Ÿ›  Fixed - RLock.delete didn't check lock existence

    Config.useMasterSlaveConnection and Config.useSentinelConnection methods renamed to Config.useSentinelServers and Config.useMasterSlaveServers respectively
    ๐Ÿ—„ Deprecated methods are dropped

  • v2.1.6 Changes

    ๐Ÿ›  Fixed - connection pool regression bug
    ๐Ÿ›  Fixed - connection init during and invocation

  • v2.1.5 Changes

    ๐Ÿ”‹ Feature - new methods with limit option support were added to RLexSortedSet: lexRange, lexRangeHead, lexRangeHeadAsync, lexRangeTail, lexRangeTailAsync, lexRangeAsync (thanks to jackygurui)
    ๐Ÿ”‹ Feature - new methods with limit option support were added to RScoredSortedSet: valueRange, valueRangeAsync, entryRange, entryRangeAsync, valueRange, valueRangeAsync (thanks to jackygurui)
    ๐Ÿ”‹ Feature - LOADING Redis server response handling
    ๐Ÿ”‹ Feature - RKeys.getSlot method added
    ๐Ÿ”‹ Feature - new config options reconnectionTimeout, failedAttempts, connectTimeout, slaveSubscriptionConnectionMinimumIdleSize, masterConnectionMinimumIdleSize, 'slaveConnectionMinimumIdleSize, idleConnectionTimeout
    ๐Ÿ”‹ Feature - RBitSet object added
    ๐Ÿ”‹ Feature - RBlockingQueue.pollFromAny and RBlockingQueue.pollFromAnyAsync methods added
    ๐Ÿ‘Œ Improvements - LoadBalancer interface refactored
    ๐Ÿ›  Fixed - RedisTimeoutException message
    ๐Ÿ›  Fixed - command execution timeout handling
    ๐Ÿ›  Fixed - RList.addAllAsync
    ๐Ÿ›  Fixed - RSet.iterator
    ๐Ÿ›  Fixed - RBatch.execute and RBatch.executeAsync errors handling

  • v2.1.4 Changes

    ๐Ÿ‘ Cluster support improvements. New codecs. Stability improvements.

    ๐Ÿ”‹ Feature - LZ4 compression codec support
    ๐Ÿ”‹ Feature - CBOR binary json codec support (thanks to lefay)
    ๐Ÿ”‹ Feature - MsgPack binary json codec support
    ๐Ÿ”‹ Feature - Fst serialization codec support
    ๐Ÿ”‹ Feature - Snappy compression codec support
    ๐Ÿ”‹ Feature - cluster slave nodes change monitoring
    ๐Ÿ”‹ Feature - Config.slaveFailedAttempts and Config.slaveReconnectionTimeout config params added
    ๐Ÿ”‹ Feature - ClusterServersConfig.readFromSlaves config param added
    ๐Ÿ‘Œ Improvement - async channel reconnection
    ๐Ÿ‘Œ Improvement - connection acquisition in async way
    ๐Ÿ‘Œ Improvement - cluster slot change/migration handling
    ๐Ÿ‘Œ Improvement - get cluster info from new cluster nodes not defined in initial config
    ๐Ÿ—„ Deprecated - refreshConnectionAfterFails config param
    ๐Ÿ›  Fixed - RList.add(pos, element) fixed
    ๐Ÿ›  Fixed - Publish/Subscribe message decoding under heavy load
    ๐Ÿ›  Fixed - cluster ASK response handling
    ๐Ÿ›  Fixed - RMap.putAll fixed
    ๐Ÿ›  Fixed - parsing cluster nodes info
    ๐Ÿ›  Fixed - NPE during Publish/Subscribe event handling
    ๐Ÿ›  Fixed - Redisson shutdown handling
    ๐Ÿ›  Fixed - EOFException during RLock usage with SerializationCodec (thanks to Oleg Ternovoi)