Update CHANGELOG.md

pull/2138/head
Nikita Koksharov 6 years ago committed by GitHub
parent 0b9f660d06
commit 5df4b02639
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -4,12 +4,30 @@ Redisson Releases History
Сonsider __[Redisson PRO](https://redisson.pro)__ version for advanced features and support by SLA.
### 29-Apr-2019 - versions 3.10.7 released
### 28-May-2019 - 3.11.0 released
Feature - `radiusStoreSortedTo` methods added to `RGeo`, `RGeoAsync`, `RGeoRx`, `RGeoReactive` interfaces
Feature - `Async`, `Reactive`, `RxJava2` interfaces added to `JCache`. Read the [documentation](https://github.com/redisson/redisson/wiki/14.-Integration-with-frameworks#1441-jcache-api-asynchronous-reactive-and-rxjava2-interfaces) for more details
Feature - `RRingBuffer` object added. Read the [documentation](https://github.com/redisson/redisson/wiki/7.-distributed-collections/#721-ring-buffer) for more details
Improvement - reduced memory consumption by ClusterConnectionManager
Fixed - `HttpSessionListener.sessionDestoyed` method isn't invoked if session wasn't loaded by Tomcat instance
Fixed - redisson-spring-data `ReactiveSubscription.receive` method throws NPE
Fixed - Redis response isn't fully consumed after decoding error
Fixed - Spring Session PRINCIPAL_NAME_INDEX_NAME session attribute has incorrect name
Fixed - internal `AsyncSemaphore` object doesn't notify sleeping threads with permits more than one
Fixed - `RedisTemplate.radius` and `RedisConnection.geoRadius` methods throws `IllegalArgumentException` during response decoding
Fixed - `RedissonNodeConfig.mapReduceWorkers` setting couldn't be set (thanks to xiaoxuan.bai)
Improvement - UpdateValve needs to execute manager.store only once at the end of the request (thanks to [jchobantonov](https://github.com/jchobantonov))
### 29-Apr-2019 - 3.10.7 released
Feature - Add support for [Reactive and RxJava2 interfaces](https://github.com/redisson/redisson/wiki/9.-distributed-services#913-remote-service-asynchronous-reactive-and-rxjava2-calls) to RemoteService object
Feature - MILLISECONDS option added to RRateLimiter.RateIntervalUnit object
Feature - range method added to RList, RListReactive and RListRx interfaces
Improvement - `JCache.getAll` execution optimization for non-existing keys
Improvement - 10X Performance boost for `JCache.putAll` method
Fixed - disconnected sentinels shouldn't be used in sentinel list
Fixed - Apache Tomcat `RedissonSessionManager` doesn't use classloader aware codec for session Map object (thanks to [jchobantonov](https://github.com/jchobantonov))
Fixed - LiveObject field with Map type couldn't be persisted
@ -23,15 +41,17 @@ Fixed - Redis Sentinel prior 5.0.1 version doesn't require password. Regression
Fixed - Redisson tries to renewed Lock expiration even if lock doesn't exist. Regression since 3.10.5 version
Fixed - FstCodec can't deserialize ConcurrentHashMap based object with package visibility
### 05-Apr-2019 - versions 3.10.6 released
### 05-Apr-2019 - 3.10.6 released
Feature - `broadcastSessionEvents` setting added to Tomcat Session Manager
Feature - `remainTimeToLive` method added to `RLock`, `RLockAsync`, `RLockRx` and `RLockReactive` interfaces
Feature - NAT mapping support for cluster mode
Feature - `isLock` method added to `RLockAsync`, `RLockRx`, `RLockReactive` interfaces
Feature - `writeBehindDelay` and `writeBehindBatchSize` settings added to `MapOptions` object
Improvement - Eviction task logging added
Improvement - `MapWriter` interface retains only two methods for handling batch updates
Improvement - `MapOptions.writeBehindThreads` parameter removed
Fixed - `RBitSet.asBitSet` methods throws NPE if RBitSet object doesn't exist
Fixed - `JCache.getAll` method throws `RedisException: too many results to unpack`
Fixed - `RLock.lock` method can be interrupted with `Thread.interrupt` method
@ -43,14 +63,16 @@ Fixed - `CommandPubSubDecoder.decodeResult` throws `IllegalStateException` in JB
Fixed - NullValue object shouldn't be stored if `RedissonSpringCacheManager.allowNullValues = false`
Fixed - `removeListener` method of `RTopicReactive` and `RTopicRx` interfaces throws NoSuchMethodException
### 20-Mar-2019 - versions 3.10.5 released
### 20-Mar-2019 - 3.10.5 released
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](https://github.com/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
@ -60,9 +82,10 @@ Fixed - RStream.readGroup method doesn't handle empty result properly with Redis
Fixed - AUTH password included in exceptions
Fixed - locked lock isn't unlocked after disconnect to Redis
### 08-Mar-2019 - versions 3.10.4 released
### 08-Mar-2019 - version 3.10.4 released
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
@ -73,14 +96,16 @@ Fixed - negative delay shouldn't be allowed to define for `RDelayedQueue.offer`
Fixed - eviction delay for `RMapCache` object is not decreased
Fixed - `RMultiLock.tryLockAsync` and `RMultiLock.lockAsync` methods may hang during invcation
### 26-Feb-2019 - versions 3.10.3 released
### 26-Feb-2019 - 3.10.3 released
Feature - `RTransaction.getBuckets` method added
Feature - ability to redefine `CacheKeysFactory` in Hibernate Cache Factory
Feautre - ability to specify default values for environment variable (thanks to [aaabramov](https://github.com/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](https://github.com/dnouls))
@ -93,8 +118,10 @@ Fixed - Transactional RBucket object doesn't respect transaction timeout
Feature - `StreamMessageId.NEVER_DELIVERED` added
Feature - [decodeInExecutor](https://github.com/redisson/redisson/wiki/2.-Configuration#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
@ -118,10 +145,12 @@ Feature - `cachedKeySet`, `cachedValues`, `cachedEntrySet` and `getCachedMap` me
Feature - __Hibernate 5.4__ support
Feature - [search LiveObjects](https://github.com/redisson/redisson/wiki/9.-Distributed-services#rindex) by field
Feature - allow checking if lock is held by a thread (thanks to [hackworks](https://github.com/hackworks))
Improvement - return `null` if Tomcat session attribute couldn't be parsed
Improvement - Tomcat Session key codec changed to StringCodec
Improvement - Spring Session key codec changed to StringCodec
Improvement - Tomcat Session recycle method implementation (thanks to [jchobantonov](https://github.com/jchobantonov))
Fixed - RRateLimiter RateType checking (thanks to [shengjie8329](https://github.com/shengjie8329))
Fixed - implementation of workaround for DNS name resolver bug
Fixed - running scheduleWithFixedDelay Job couldn't be canceled
@ -157,10 +186,12 @@ Feature - Spring Data Redis 2.1.x support added
Feature - Spring Boot Starter 2.1.x support added
Feature - Spring Data Redis 2.0.x and 2.1.x integrations support `ReactiveRedisTemplate`
Feature - Support of [Different monitoring systems](https://github.com/redisson/redisson/wiki/14.-Integration-with-frameworks#1410-statistics-monitoring-jmx-and-other-systems)
Improvement - RGeo.radius methods use GEORADIUS_RO and GEORADIUSBYMEMBER_RO commands
Improvement - restored implementation of DnsAddressResolverGroupFactory
Improvement - RedisConnectionClosedException removed
Improvement - __default codec changed to FSTCodec__
Fixed - `RMap.getAll` throws `ClassCastException` during transaction execution
Fixed - `pingConnectionInterval` and `lock-watchdog-timeout` parameters added to `redisson.xsd`
Fixed - zRevRangeWithScores does not work properly in Spring RedisTemplate
@ -193,8 +224,10 @@ Feature - `takeFirstElements` and `takeLastElements` added to `RScoredSortedSetR
Feature - `takeFirst` and `takeLast` methods added to `RScoredSortedSet` object
Feature - `readGroup` method variations added to `RStream` object
Feature - `remove`, `trim`, `fastClaim`, `removeGroup`, `removeConsumer`, `updateGroupMessageId` methods added to `RStream` object
Improvement - JCache performance optimization up to 2x times
Improvement - Redis url validation
Fixed - Exception serialization by Jackson codec
Fixed - DNS channels aren't pooled
Fixed - RStream commands don't work with Redis 5.0.1 version
@ -218,7 +251,9 @@ Feature - multi-type listeners support for `RTopic` and `RPatternTopic` objects.
Feature - `useScriptCache` setting added. Manages by Lua-script caching on Redis side. Please refer to [documentation](https://github.com/redisson/redisson/wiki/2.-Configuration#usescriptcache) for more details
Feature - added `RMap.putAllAsync` method with batch size
Feature - added `RSet.random` method limited by count
Improvement - memory allocation optimization during ExecutorService task execution
Fixed - `keepAlive` is not being set
Fixed - Redisson can't resolve short DNS name
Fixed - Redisson shuts down executor it doesn't own
@ -232,7 +267,9 @@ Fixed - `UnsupportedOperationException` thrown when using Spring Actuator with r
### 06-Oct-2018 - versions 2.13.2 and 3.8.2 released
Feature - `RPermitExpirableSemaphore.updateLeaseTime` method added
Improvements - cluster state check
Fixed - DNS resolver fails to find valid DNS record
Fixed - MultiLock should attempt to release locks if request was sent successfully
Fixed - `RRateLimiter.tryAcquire` with timeout blocks forever
@ -246,6 +283,7 @@ Fixed - tomcat session replication in IN_MEMORY mode (thanks to Yasin Koyuncu)
### 18-Sep-2018 - versions 2.13.1 and 3.8.1 released
Feature - __RStream__ object added. Please refer to [documentation](https://github.com/redisson/redisson/wiki/7.-Distributed-collections#720-stream) for more details
Fixed - `failedSlaveCheckInterval` setting is not applied under some conditions
Fixed - `spring.factories` and `spring.provides` files added to Spring Boot module
Fixed - `pingConnectionInterval` setting affects re-connection process with password enabled setting
@ -260,8 +298,10 @@ Feature - __Spring Data Redis__ integration. Please refer to [documentation](htt
Feature - __Spring Boot Starter__ implementation. Please refer to [documentation](https://github.com/redisson/redisson/tree/master/redisson-spring-boot-starter#spring-boot-starter) for more details
Feature - `RBlockingDequeReactive` object added
Feature - `sharedSession` setting for Tomcat Session Manager. Appropriate solution for migration of EAR based application with multiple WARs hosted previously on WebLogic or other servers. Please refer to [documentation](https://github.com/redisson/redisson/tree/master/redisson-tomcat) for more details
Improvement - Redis request/response handling performance improvement
Improvement - CompositeIterator decoupled from CompositeIterable (thanks to [Pepe-Lu](https://github.com/Pepe-Lu))
Fixed - task scheduled with time more than 1 hour is not executed
Fixed - RScheduledExecutorService doesn't handle delayed tasks correctly
Fixed - `RMapCache` and `RSetCache` objects should implement `RDestroyable`
@ -279,13 +319,16 @@ Feature - `RScoredSortedSetReactive`, `RSetReactive`, `RListReactive` objects im
Feature - `RGeoReactive` object added
Feature - reactive version of FairLock added
Feature - `RRateLimiterReactive` object added
Improvement - RObjectReactive and RScoredSortedSetReactive interfaces synced with `RObjectAsync` and `RScoredSortedSetAsync`
Fixed - readonly command shouldn't be executed on master node used as slave
Fixed - connection is closed per command execution for master node used as slave in `readMode=MASTER_SLAVE`
Fixed - `RLiveObjectService` should use entityClass's classloader
### 16-Jul-2018 - versions 2.12.4 and 3.7.4 released
Feature - dump and restore methods added to `RObject` interface
Fixed - Redis response hangs if `RLiveObject` stored as nested object
Fixed - slow Redisson initialization in Sentinel
Fixed - missing PubSub messages when pingConnectionInterval setting is specified
@ -298,6 +341,7 @@ Fixed - `RHyperLogLog.addAll` method doesn't add all elements
### 27-Jun-2018 - versions 2.12.3 and 3.7.3 released
Feature - added `RKeys.getKeys` method with batch size
Feature - added `SnappyCodecV2` codec
Fixed - `SerializationCodec` doesn't support proxied classes
Fixed - NPE if `RScheduledExecutorService`'s task scheduled with cron expression for finite number of execution
Fixed - validation of cron expression parameter of `RScheduledExecutorService.schedule` method
@ -309,6 +353,7 @@ Fixed - `RRateLimiter.acquire` method throws NPE
### 14-Jun-2018 - versions 2.12.2 and 3.7.2 released
Feature - `RBatchOptions.executionMode` setting added. Please refer to [documentation](https://github.com/redisson/redisson/wiki/10.-additional-features#103-execution-batches-of-commands) for more details
Fixed - NPE in JCacheManager.close method
Fixed - ExecutorService tasks aren't reloaded properly
Fixed - removed unnecessary creation of HashMap instances in cluster mode
@ -327,8 +372,10 @@ Feature - ExecutorService task failover. Default failover interval is 60 seconds
Feature - `RScoredSortedSet.pollFirst` and `pollLast` methods with count parameter added
Feature - `RScoredSortedSet.pollFirst` and `pollLast` methods with timeout added
Feature - `RScoredSortedSet.pollFirstFromAny` and `pollLastFromAny` methods added
Improvement - `Node.time()` method returns `Time` object
Improvement - RListReactive, RMapCacheReactive, RSetCacheReactive and RSetReactive are up-to-date to Async interfaces
Fixed - setPingConnectionInterval is not propagated for single server configuration
Fixed - ClusterConnectionManager should use shared resolverGroup
Fixed - value can't be added to BloomFilter
@ -347,8 +394,10 @@ Feature - __XA Transaction API implementation__ Please refer to [documentation]
Feature - `RPermitExpirableSemaphoreReactive` object added
Feature - `RMap.fastReplace` method added
Feature - PING support for Pub/Sub connections
Improvement - `RBatch` object settings extracted as BatchOptions object
Improvement - `RBitSet.set` method should return boolean
Fixed - New IP discovery through DNS doesn't work for cluster mode
Fixed - replication for Tomcat Session Manager with `readMode=INMEMORY`
Fixed - `pingConnectionInterval` is not applied
@ -367,6 +416,7 @@ Fixed - `RedisTimeoutException` arise during blocking command execution on RBloc
Feature - `RKeys.copy` method added
Feature - `RObject.copy` method added
Feature - `RSetCache.getLock` method added
Fixed - `ClusterConnectionManager` throws `IllegalArgumentException`
Fixed - `CommandDecoder` doesn't remove command from commands queue when response was decoded with error
Fixed - `RSetMultimap.get()` doesn't create multimap entry in case of absence
@ -377,6 +427,7 @@ Fixed - hdel comand wasn't used during remote service task removal
### 27-Mar-2018 - versions 2.11.4 and 3.6.4 released
Feature - `RSet.getLock` method added
Fixed - race condition with load balancer node selection
Fixed - `READONLY can't write against a read only slave` error during failover
Fixed - NPE during failover in Sentinel mode
@ -388,6 +439,7 @@ Fixed - `ClassCastException` in `RListMultimapCache.removeAll` method
### 14-Mar-2018 - versions 2.11.3 and 3.6.3 released
Feature - DNS monitoring for Sentinel nodes
Fixed - Old/stale nodes not removed from NodesGroup
Fixed - CertificateException while connecting over SSL to Azure or AWS Elasticache config endpoint
Fixed - publish subscribe connections couldn't be resubscribed during failover
@ -410,8 +462,10 @@ Feature - new values added to `performanceMode` setting
Feature - `lockAsync` and `unlockAsync` methods added to `RedissonMultiLock`
Feature - `RMapCache.remainTimeToLive` method added
Feature - `Config.addressResolverGroupFactory` setting added (thanks @Hai Saadon)
Improvement - `UpdateMode.AFTER_REQUEST` update mode optimization in tomcat session manager
Improvement - removed ByteBuf object usage during collection iteration
Fixed - `Unable to send command` error under heavy load using Redisson PRO
Fixed - `expire`, `expireAt` and `clearExpire` commands aren't implemented properly for `RBloomFilter`, `RDelayedQueue`, `RFairLock`, `RLocalCachedMap` and `RPermitExpirableSemaphore` object
Fixed - Redis clients duplication during discovering ip change of hostname
@ -425,6 +479,7 @@ Feature - `rangeTailReversed`, `rangeHeadReversed` and `rangeReversed` methods a
Feature - `RBucketsAsync` interface added
Feature - `scanInterval` setting added for Sentinel mode
Feature - `RLocalCachedMap.clearLocalCache` method added
Fixed - remove `hset` command invocation during `RMapCache` entry loading
Fixed - buffer leak in `replace` and `remove` methods of `RLocalCachedMap` object
Fixed - `RRemoteService` object throws NPE
@ -451,8 +506,10 @@ Feature - __`DoubleAdder` object added__ Please read [documentation](https://git
Feature - `RBucket.getAndDelete`, `RAtomicLong.getAndDelete` and `RAtomicDouble.getAndDelete` methods added
Feature - __`RAtomicDoubleReactive` object added__
Feature - `RPriorityQueue.pollLastAndOfferFirstTo` method added
Improvement - support single config endpoint node for cluster mode
Improvement - hash functions replaced with https://github.com/google/highwayhash
Fixed - JDK 1.6+ compatibility for RemoteService
Fixed - `setDnsMonitoringInterval(-1)` doesn't disable DNS monitoring
Fixed - `RLocalCachedMap.putAll` gets stuck if map passed as parameter contains > 10000 elements
@ -467,6 +524,7 @@ Fixed - JsonJacksonCoded shouldn't override provided objectMapper settings (than
### 25-Dec-2017 - versions 2.10.7 and 3.5.7 released
Feature - __`RClusteredBitSet` object added__ Please read [documentation](https://github.com/redisson/redisson/wiki/6.-Distributed-objects/#641-bitset-data-partitioning) for more details
Improvement - Memory consumption optimization. `RExecutorFuture` and `RScheduledFuture` shouldn't be tracked if they weren't stored
Improvement - Config settings `codecProvider` and `redissonReferenceEnabled` renamed to `referenceCodecProvider` and `referenceEnabled`
Fixed - `RedissonRedLock` couldn't be locked in some cases
@ -480,7 +538,9 @@ Feature - `RSetMultimapReactive` object added
Feature - `RListMultimapReactive` object added
Feature - `ReconnectionStrategy` and `SyncStrategy` added to `LocalCachedMapOptions`
Feature - `pingConnectionInterval` setting added
Improvement - added sync on key for `JCache.invoke` method
Fixed - arguments encoding for `RScript`
Fixed - `MapLoader` hangs if loaded value is null
Fixed - OutOfMemory during `RExecutorService` usage
@ -501,9 +561,11 @@ Fixed - handling connection to Redis nodes returned to online state
Feature - Added pingConnection, keepAlive, tcpNoDelay settings
Feature - Slaves synchronization support for `RBatch`/`RBatchReactive` objects
Improvement - Data encoding should be executed on client thread only
Improvement - Handling Redis redirect optimization
Improvement - Better collection handling for RedissonReference (thanks to Rui Gu)
Fixed - `RedisLoadingException` handling during re-connection process
Fixed - `RedisClient` can't be shutdown properly
Fixed - timeout drift for `RFairLock`
@ -518,8 +580,10 @@ Fixed - `RMapCache.getAll` doesn't support large keySet
### 28-Sep-2017 - versions 2.10.4 and 3.5.4 released
Feature - added `maxSize` setting for `SpringCacheManager`
Feature - allow `LiveObjectService` to work with classes that inherit from REntities (thanks to @sdjacobs)
Improvement - `RMapCache` entires eviction process optimized
Improvement - handling of slave down process
Fixed - operation on slave coldn't be executed after its restart (thanks to @xavierfacq)
Fixed - `ArrayIndexOutOfBoundsException` in RedissonSessionRepository
Fixed - storing Live Objects in Redisson's collection objects (thanks to Rui Gu)
@ -552,6 +616,7 @@ Fixed - connection could be in closed state during reconnection process for bloc
Feature - DNS monitoring support for Sentinel, Master/Slave and Replicated mode
Feature - `org.redisson.codec.CompositeCodec` added
Feature - added `readMode` property for Tomcat RedissonSessionManager
Fixed - `RMapCache.putAll` couldn't handle map with entries amount larger than 5000
Fixed - master entry should be shutdown in slaveConnectionPool during master change process
Fixed - Redisson's Tomcat Session attributes should be read first to avoid invalidated session exception
@ -566,6 +631,7 @@ Feature - __`RLockReactive` object added__
Feature - __`RReadWriteLockReactive` object added__
Feature - __`RSemaphoreReactive` object added__
Feature - `unlink`, `flushdbParallel`, `flushallParallel` methods added
Fixed - ContextClassLoader should be used by Redisson Codec for Tomcat session's object serialization
Fixed - Spring Cache `NullValue` does not implement Serializable
Fixed - `RLocalCachedMap` doesn't work with non-json and non-binary codecs
@ -584,8 +650,10 @@ Feature - `RExecutorService` should return RExecutorFuture object with taskId
Feature - added `RList.get` method to load elements in a batch
Feature - ability to submit few tasks atomically (in batch) through `RExecutorService` interface
Feature - [Config.keepPubSubOrder](https://github.com/redisson/redisson/wiki/2.-Configuration#keeppubsuborder) setting added
Improvement - make `RMapReactive` and `RMapCacheReactive` interfaces match with `RMap` and `RMapCache`
Improvement - `RLexSortedSet` should extend `RSortedSet`
Fixed - connection listener is not invoked in some cases
Fixed - `RMapCache` `remove`, `put`, `putIfAbsent` and `replace` methods aren't respect entry expiration
Fixed - `SCAN` command should be used in `RKeys.deleteByPattern` method
@ -614,8 +682,10 @@ Feature - `RedissonCacheManager.setAllowNullValues` method added
Feature - `RedissonSpringCacheManager.setCacheNames` method added
Feature - Map Entry listeners support added for `RMapCache` object
Feature - `Config.lockWatchdogTimeout` parameter added
Improvement - NPE checking for key and value added for RedissonMapCache
Improvement - `RKeys.deleteByPatternAsync` uses scan command
Fixed - `RBoundedBlockingQueue.pollAsync` blocks if timeout is less than 1 second
Fixed - unlocking of nested `RReadWriteLock.readLock` deletes current acquired `RReadWriteLock.writeLock`
Fixed - wrong null values checking in RDelayedQueue methods
@ -628,6 +698,7 @@ Fixed - JSR107 cache implementation should throw `javax.cache.CacheException` in
Feature - __Dropwizard metrics integration__ More details [here](https://github.com/redisson/redisson/wiki/14.-Integration-with-frameworks#147-dropwizard-metrics)
Feature - `RLocalCachedMap.preloadCache` method added (thanks to Steve Draper)
Feature - `RGeo.radiusStoreTo` methods added (thanks to Cory Sherman)
Fixed - NoClassDefFoundError exception during using `redisson-all` module
### 27-Apr-2017 - versions 2.9.1 and 3.4.1 released
@ -647,7 +718,9 @@ Feature - `RMapCache.fastPutIfAbsent` with ttl added (thanks to Dobi)
Feature - `EvictionPolicy.WEAK` added for `RLocalCachedMap`
Feature - `LocalCachedMapOptions.invalidationPolicy` introduced for `RLocalCachedMap`
Feature - `expire`, `expireAt`, `move`, `migrate`, `clearExpire`, `renamenx`, `rename`, `remainTimeToLive` methods added to RKey
Improvement - `EvictionPolicy.LRU` optimization for `RLocalCachedMap`
Fixed - `RTopic.onSubscribe` should be invoked after failover process
Fixed - Spring boot with redisson 3.3.2 fails without optional actuator dependency (thanks to Rick Perkowski)
Fixed - `RedissonCacheMap.putIfAbsentAsync` doesn't take in account ttl and minIdleTime params (thanks to Dobi)
@ -668,6 +741,7 @@ Feature - autoconfigured Spring Boot CacheStatisticsProvider implementation (tha
Feature - `RKeys.touch` and `RObject.touch` methods added
Feature - `RedissonCompletionService` implementation added
Feature - `RMap.getReadWriteLock` method added
Fixed - NPE during `RLocalCachedMap.fastRemove` invocation
Fixed - `redisson-tomcat-8` module is not compatible with Tomcat 8.5
Fixed - URLBuilder methods should be synchronized
@ -681,7 +755,9 @@ Fixed - `Config.fromJson(file)` method, throws StackOverflowError
Feature - Cache with SoftReference support added for `RLocalCachedMap`
Feature - `Config.subscriptionMode` setting added
Improvement - errors handling during RBatch execution
Fixed - StackOverflowException in URLBuilder
Fixed - TomcatSessionManager can't be used in Tomcat if Redisson has been deployed in web application
Fixed - skip cluster nodes with the "handshake" flag (thanks to @dcheckoway)
@ -695,7 +771,9 @@ Feature - __`RPriorityQueue` object added__ More details [here](https://github.c
Feature - __`RPriorityDeque` object added__ More details [here](https://github.com/redisson/redisson/wiki/7.-distributed-collections/#716-priority-deque)
Feature - `removeAllListeners` and `removeListener` by instance methods added for `RTopic` and `RPatternTopic`
Feature - `RLockAsync` interface added
Improvement - `RRemoteService` is now able to support method overload
Fixed - `RLocalCachedMap` is not Redis cluster compatible
Fixed - cascade slaves are not supported in cluster mode
Fixed - shutdown checking during master change state check added
@ -704,6 +782,7 @@ Fixed - master isn't checked during new slave discovery in Sentinel mode
### 02-Feb-2017 - versions 2.7.4 and 3.2.4 released
Feature - Allow to specify Redisson instance/config during JCache cache creation
Fixed - `ByteBuf.release` method invocation is missed in `LZ4Codec` and `SnappyCodec`
Fixed - AssertionError during Redisson shutdown
Fixed - `RReadWriteLock.readLock` couldn't be acquired by same thread which has already acquired `writeLock`
@ -719,8 +798,10 @@ Redisson Team is pleased to announce __ULTRA-FAST__ Redisson PRO edition.
Performance measure results available in [Benchmark whitepaper](https://redisson.pro/Redisson%20PRO%20benchmark%20whitepaper.pdf)
Feature - `RMap.getLock(key)` and `RMultimap.getLock(key)` methods added
Improvement - `RedissonSpringCacheManager` constructor with Redisson instance only added
Improvement - `CronSchedule` moved to `org.redisson.api` package
Fixed - RedissonBaseIterator.hasNext() doesn't return false in some cases
Fixed - NoSuchFieldError exception in `redisson-tomcat` modules
Fixed - ConnectionPool size not respected during redirect of cluster request
@ -733,6 +814,7 @@ Fixed - CommandDecoder should print all replay body on error
Feature - `RList`, `RSet` and `RScoredSortedSet` implements `RSortable` interface with SORT command support
Feature - `NodeAsync` interface
Feature - `Node.info`, `Node.getNode` methods added
Fixed - elements distribution of `RBlockingFairQueue` across consumers
Fixed - `factory already defined` error during Redisson initialization under Apache Tomcat
@ -743,6 +825,7 @@ Url format used in config files __has changed__. For example:
"//127.0.0.1:6739" now should be written as "redis://127.0.0.1:6739"
Feature - `RSet.removeRandom` allows to remove several members at once
Fixed - exceptions during shutdown
Fixed - redis url couldn't contain underscore in host name
Fixed - IndexOutOfBoundsException during response decoding

Loading…
Cancel
Save