All Versions
112
Latest Version
Avg Release Cycle
27 days
Latest Release
-

Changelog History
Page 6

  • v3.10.5 Changes

    March 20, 2019

    🔋 Feature - getMultiLock, getRedLock methods added to RedissonClient, RedissonRxClient and RedissonReactiveClient interfaces
    🔋 Feature - getInfo, listGroups, listConsumers methods added to RStream, RStreamRx, RStreamReactive interfaces
    🔋 Feature - RPatternTopic.removeListenerAsync method added
    🔋 Feature - getAndSet method with TTL support added RBucket, RBucketAsync, RBucketReactive, RBucketRx interfaces
    🔋 Feature - addListener and removeListener methods added to RObject, RObjectAsync, RObjectReactive, RObjectRx objects. It allows to add and remove listeners for Deleted and Expired keyspace events published by Redis

    👌 Improvement - shuffle list of sentinels to distribute load (thanks to hrakaroo)
    👌 Improvement - methods of RxJava2 interfaces should use full set of result objects: Single, Maybe or Completable

    🛠 Fixed - compatibility with hibernate 5.2.0 - 5.2.4 versions
    Fixed - ClassCastException during RBatchReactive and RBatchRx execution in exectionMode = REDIS_WRITE_ATOMIC or REDIS_READ_ATOMIC
    🛠 Fixed - sentinel mode doesn't support AUTH command
    🛠 Fixed - response shouldn't be printed in case of response timeout error
    🛠 Fixed - HP NONSTOP OS is not supported by MapCacheEventCodec
    🛠 Fixed - RStream.readGroup method doesn't handle empty result properly with Redis 5.0.3
    🛠 Fixed - AUTH password included in exceptions
    🛠 Fixed - locked lock isn't unlocked after disconnect to Redis

  • v3.10.4 Changes

    March 08, 2019

    🔋 Feature - getCountDownLatch, getPermitExpirableSemaphore, getSemaphore, getFairLock methods added to RMultimap object
    🔋 Feature - maxCleanUpDelay and minCleanUpDelay settings added to Config object

    🛠 Fixed - RLocalCachedMap.destroy method doesn't clear local cache
    🛠 Fixed - HP NONSTOP OS is not supported by MapCacheEventCodec
    🛠 Fixed - RedissonLocalCachedMap.readAll* methods throw NPE if evictionPolicy = WEAK used
    🛠 Fixed - codec provided in Redisson configuration isn't used for attribute messages serialization
    🛠 Fixed - ClassNotFoundException is thrown by Tomcat Session Manager in readMode = MEMORY
    🛠 Fixed - fresh Tomcat instance unable to load session stored in Redis
    🛠 Fixed - negative delay shouldn't be allowed to define for RDelayedQueue.offer method
    🛠 Fixed - eviction delay for RMapCache object is not decreased
    🛠 Fixed - RMultiLock.tryLockAsync and RMultiLock.lockAsync methods may hang during invcation

  • v3.10.3 Changes

    February 26, 2019

    🔋 Feature - RTransaction.getBuckets method added
    🔋 Feature - ability to redefine CacheKeysFactory in Hibernate Cache Factory
    0️⃣ Feautre - ability to specify default values for environment variable (thanks to aaabramov)
    🔋 Feature - RRateLimiter.getConfig method added
    🔋 Feature - ping and pingAll methods with timeout added to Node object

    👌 Improvement - create Redis stream group if it doesn't exist
    👌 Improvement - response decoding optimization

    🛠 Fixed - RStream.listPending throws IndexOutOfBoundsException
    🛠 Fixed - LocalCacheView.toCacheKey method throws StackOverflowError
    🛠 Fixed - RedissonSessionManager doesn't support async servlets (thanks to dnouls)
    🛠 Fixed - FSTCodec memory leak
    🛠 Fixed - rename and renamenx methods don't change name of current object
    🛠 Fixed - performance regression of RBatch result decoding (since 2.12.2 / 3.7.2 version)
    🛠 Fixed - Transactional RBucket object doesn't respect transaction timeout

  • v3.10.2 Changes

    February 07, 2019

    🔋 Feature - StreamMessageId.NEVER_DELIVERED added
    🔋 Feature - decodeInExecutor setting added
    🔋 Feature - lockAsync and tryLockAsync methods with threadId param added to RedissonMultiLock object
    👌 Improvement - default values of nettyThreads and threads settings set to 32 and 16 respectively
    👌 Improvement - Redis nodes with empty names in cluster config should be skipped
    🛠 Fixed - RFuture.cause() method should return CancellationException and not throw it
    🛠 Fixed - continues handling of RedisLoadingException leads to excessive load
    🛠 Fixed - slave's connection pools are not initialized when it back from failover
    🛠 Fixed - Buffer leak during failover and RBatch object execution
    🛠 Fixed - NumberFormatException error appears in log during RStream.readGroup invocation
    🛠 Fixed - already wrapped IPv6 addresses shouldn't be wrapped in square brackets (thanks to antimony)
    🛠 Fixed - NPE arise during Tomcat Session getAttribute/delete methods invocation (thanks to jchobantonov)
    🛠 Fixed - huge messages logged in case of decoding error
    🛠 Fixed - Redis password shouldn't be included in exceptions
    🛠 Fixed - Redis Password visible in log
    🛠 Fixed - infinite loop in RedLock or MultiLock (thanks to zhaixiaoxiang)
    Fixed - RBatch object in REDIS_READ_ATOMIC execution mode is not executed on Redis salve
    🛠 Fixed - MOVED loop redirect error while "CLUSTER FAILOVER" (thanks to sKabYY)
    🛠 Fixed - redisson configuration in yaml format, located in classpath, couldn't be loaded by hibernate factory
    🛠 Fixed - class files should be excluded from META-INF folder
    🛠 Fixed - JndiRedissonSessionManager shouldn't shutdown Redisson instance (thanks to jchobantonov)
    🛠 Fixed - RDestroyable interface should be implemented by RMapCache and RSetCache rx/reactive objects

  • v3.0.0 Changes

    Fully compatible with JDK 8. Includes all code changes from 2.5.0 version

    🔋 Feature - RFeature extends CompletionStage

  • v2.15.2 Changes

    February 07, 2019

    🔋 Feature - StreamMessageId.NEVER_DELIVERED added
    🔋 Feature - decodeInExecutor setting added
    🔋 Feature - lockAsync and tryLockAsync methods with threadId param added to RedissonMultiLock object
    👌 Improvement - default values of nettyThreads and threads settings set to 32 and 16 respectively
    👌 Improvement - Redis nodes with empty names in cluster config should be skipped
    🛠 Fixed - RFuture.cause() method should return CancellationException and not throw it
    🛠 Fixed - continues handling of RedisLoadingException leads to excessive load
    🛠 Fixed - slave's connection pools are not initialized when it back from failover
    🛠 Fixed - Buffer leak during failover and RBatch object execution
    🛠 Fixed - NumberFormatException error appears in log during RStream.readGroup invocation
    🛠 Fixed - already wrapped IPv6 addresses shouldn't be wrapped in square brackets (thanks to antimony)
    🛠 Fixed - NPE arise during Tomcat Session getAttribute/delete methods invocation (thanks to jchobantonov)
    🛠 Fixed - huge messages logged in case of decoding error
    🛠 Fixed - Redis password shouldn't be included in exceptions
    🛠 Fixed - Redis Password visible in log
    🛠 Fixed - infinite loop in RedLock or MultiLock (thanks to zhaixiaoxiang)
    Fixed - RBatch object in REDIS_READ_ATOMIC execution mode is not executed on Redis salve
    🛠 Fixed - MOVED loop redirect error while "CLUSTER FAILOVER" (thanks to sKabYY)
    🛠 Fixed - redisson configuration in yaml format, located in classpath, couldn't be loaded by hibernate factory
    🛠 Fixed - class files should be excluded from META-INF folder
    🛠 Fixed - JndiRedissonSessionManager shouldn't shutdown Redisson instance (thanks to jchobantonov)
    🛠 Fixed - RDestroyable interface should be implemented by RMapCache and RSetCache rx/reactive objects

  • v2.5.0 Changes

    This version brings greatly improved version of RLiveObjectService and adds cascade handling, cyclic dependency resolving, simplified object creation. Read more in this article

    Includes all code changes from 2.2.26 version

    👍 Feautre - COUNT and ASC/DESC support for RGeo radius methods
    🔋 Feature - RGeo extends RScoredSortedSet
    🔋 Feature - RCascade annotation support LiveObjectService
    👌 Improvement - RId generator should be empty by default
    👌 Improvement - support setter/getter with protected visibility scope for LiveObject
    🛠 Fixed - RMapCache doesn't keep entries insertion order during iteration
    🛠 Fixed - @RId is returned/overwritten by similarly named methods (thanks to Rui Gu)
    🛠 Fixed - typo getRemoteSerivce -> getRemoteService (thanks to Slava Rosin)
    🛠 Fixed - RPermitExpirableSemaphore.availablePermits doesn't return actual permits account under certain conditions
    🛠 Fixed - readAllValues and readAllEntrySet methods of RLocalCacheMap return wrong values
    🛠 Fixed - setter for collection field of LiveObject entity should rewrite collection content
    🛠 Fixed - RSetCache TTL not updated if element already present
    🛠 Fixed - RLiveObjectService swallow exceptions during merge or persist operation 🛠 Fixed - RLiveObjectService doesn't support protected constructors
    🛠 Fixed - object with cyclic dependencies lead to stackoverflow during RLiveObjectService.detach process
    🛠 Fixed - not persisted REntity object allowed to store automatically
    🛠 Fixed - RLexSortedSet.addAll doesn't work
    🛠 Fixed - RLiveObjectService can't detach content of List object
    🛠 Fixed - RLiveObjectService doesn't create objects mapped to Redisson objects in runtime during getter accesss
    🛠 Fixed - RLiveObjectService can't recognize id field of object without setter

  • v2.4.0 Changes

    Includes all code changes from 2.2.25 version

    🆕 Feature - new object added RPermitExpirableSemaphore. More info about it here
    🆕 Feature - new object added RLocalCachedMap. More info about it here
    👍 Feature - references support (thanks to Rui Gu) More info about it here
    🐳 Feature - Docker support More info about it here
    🔋 Feature - RSemaphore.reducePermits method added
    🔋 Feature - nettyThreads and executor settings added
    🔋 Feature - valueRangeReversed, entryRangeReversed, union and intersection methods added to RScoredSortedSet object
    🔋 Feature - Node.time method added
    🔋 Feature - RMap.valueSize method added
    🔋 Feature - RBucket.size method added
    🔋 Feature - RBatch.executeSkipResult method added
    👌 Improvement - Redisson Node could be created with existing Redisson instance
    👌 Improvement - RMultimap.get should return RSet or RList interface instead of Set and List
    🛠 Fixed - RExecutorService should reject non-static inner task class
    🛠 Fixed - wrong object encoding in RScoredSortedSet.addScore method

  • v2.3.0 Changes

    📄 Starting from this version Redisson could be run as standalone node to execute distributed tasks. More features will be added to it in future. Read docs about it here

    🆕 Feature - new service added RExecutorService. More info about it here
    🆕 Feature - new service added RScheduledExecutorService. More info about it ⏱ here
    🆕 Feature - new service added RLiveObjectService. More info about it here (big thanks to Rui Gu for this amazing feature)
    🆕 Feature - new object added RBoundedBlockingQueue. More info about it here
    🚀 Feature - Redis deployment tool. More info about it 🚀 here
    Feature - Cluster management tool. More info about it here
    🔋 Feature - Avro and Smile codecs added
    💥 Breaking api change - all config classes moved to org.redisson.config package
    💥 Breaking api change - all classes moved from org.redisson.core to org.redisson.api package
    💥 Breaking api change - switched from io.netty.util.concurrent.Future to org.redisson.api.RFuture interface
    🛠 Fixed - division by zero in WeightedRoundRobinBalancer (thanks to Shailender R Bathula)

  • v2.2.27 Changes

    🛠 This version fixes old and annonying problem with ConnectionPool exhusted error. From this moment connection pool waits for free connection instead of throwing pool exhausted error. This leads to more effective Redis connection utilization.

    👌 Improvement - remove Connection pool exhausted exception