-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Changelog
huangli edited this page Sep 12, 2024
·
56 revisions
- 2.7.7 (2024-09-12)
- perf: fix encode/decode performance issue with lettuce (#908)
- feat: allow customize CacheNotifyMonitor
- fix: concurrent problem in LinkedHashMapCache, affect 2.7.5 and 2.7.6 (#914)
- 2.7.6 (2024-6-2)
- perf: support jedis cluster pipeline (#866)
- perf: improve the performance of jedis batch commands. (#873)
- ci: publish Bill of Materials POMs (#877)
- fix: SquashedLogger not print Throwable class and message (#888)
- update fastjson2 to 2.0.51
- 2.7.5 (2024-01-20)
- optimise for java 21
- fix: concurrent problem in DecoderMap. (#852)
- 2.7.4 (2023-09-09)
- improve spring-boot 3 compatibility and use spring-boot3/spring-framework6 as default dependency, remove javax.annotation:javax.annotation-api (#813 and more)
- allow custom AutoConfigureBeans #783
- fix: log wrong exception when decode failed #806
- bump fastjson2 / jedis / lettuce / slf4j / logback / jackson
- fix: thread id generation has concurrent problem in JetCacheExecutor #811
- 2.7.3 (2023-01-18)
- Key converter which implements
KeyConvertor
interface (not Function<Object,Object>) can process byte[] and String.
- Key converter which implements
- 2.7.2 (2022-12-20)
- add support for spring-boot3, spring-framework6
- update encoder/decoder for redisson implementation, incompatible with 2.7.1
- upgrade fastjson2 to 2.0.21
- 2.7.1 (2022-11-12)
- update dependencies and docs
- 2.7.0 (2022-08-24) (compare to 2.7.0.RC3)
- 2.7.0.RC3 (2022-08-06) (compare to 2.7.0.RC)
- fix cache load and refresh problem for SimpleCacheManager.getOrCreateCache()
- look source_code/docs/language/Compatibility.md for more notes
- 2.7.0.RC (2022-08-05) (compare to 2.7.0.M2)
- new feature: add CacheManager.getOrCreateCache(QuickConfig) to replace CreateCache annotation, the CreateCache annotation is deprecated
- fix problem in local cache invalidate notification
- support kryo5/fastjson2/jackson as value encoder/decoder, fastjson2/jackson is not register by default
- fix redisson expire problem
- fix some build problems
- compatibility: change default key convertor from fastjson to fastjson2
- compatibility: make kryo/fastjson dependency optional, new dependency kryo5/jackson is also optional, fastjson2 is not optional (it is default key convertor)
- compatibility: change GlobalCacheConfig.areaInCacheName default value to false
- compatibility: Remove CacheManager.defaultManager() method, some internal public methods changed
- look source_code/docs/language/Compatibility.md for more notes
- 2.7.0.M2 (2022-07-18) (compare to 2.7.0.M1)
- New feature: add redisson support
- New feature: add local cache invalidate notification for lettuce/spring-data/redisson
- add SquashedLogger to improve exception log
- upgrade fastjson/spring/jedis/slf4j/logback-classic, make mvel dependency optional
- support jackson as key convertor
- eliminate ClassCastException when some properties are set in auto-configuration initialization
- add lettuce cluster topology refresh config for auto configuration. (#670)
- Fix: auto-configuration not set key convertor for RedisBroadcastManage (#674)
- Fix ExpressionUtil always return false issue (#682)
- Fix RedisLettuceCache not catch and log decode exception during GET/GET_ALL. (#688)
- move wiki documents to source repository
- add some sample code
- 2.6.7 (2022-07-18)
- Fix RedisLettuceCache not catch and log decode exception during GET/GET_ALL. (#688)
- move wiki documents to source repository
- add some sample code
- 2.6.6 (2022-07-12)
- Add lettuce cluster topology refresh config for auto configuration. (#670)
- Fix ExpressionUtil always return false issue (#682)
- 2.6.5 (2022-05-27)
- Fix cache.getAll() not cache null value (#652)
- Upgrade fastjson to 1.2.83
- Support jackson as key convertor
- 2.7.0.M1 (2022-05-08) (compare to 2.6.4)
- New feature: support invalidate local cache when MultiLevelCache put/remove. Add syncLocal property to Cached/CreateCache annotation. jedis support the feature in this release.
- Upgrade jedis to 4.2.2, notice that spring boot 2.6.6 need jedis 3.x
- Add support for JedisCluster (jedis 4+ is required)
- Fix LoadingCache.getAll() not cache null value (#652)
- 2.6.4 (2022-04-17)
- Add cluster mode for spring boot auto configuration when there is only one uri
- 2.6.3 (2022-04-09)
- Fix loop dependency (especially with spring boot 2.6+)
- Fix potential NPE when context class loader is null
- CacheManager now support @CreateCache annotation
- Remove useless code
- 2.6.2 (2021-12-22)
- Fix #627: use spring boot starter may have a null key prefix (in 2.6.1)
- 2.6.1 (2021-12-08)
- (#573) use custom bean as convertor or encoder/decoder may cause NPE
- (#593) Cache key prefix can dynamic change in runtime
- (#605) Fix concurrent problem of CacheResult
- (#618) Optimise penetration protect: eliminate duplicate load in some concurrent case
- update fastjson to 1.2.76
- 2.6.0 (2020-03-28)
- (incompatible) GET/GET_ALL method of RefreshCache will not trigger auto refresh
- Integrate with spring-data-redis
- Remove lettuce 4 support
- Upgrade jedis to 3.1.0. Jedis 2.9 is not supported.
- Simplify customization of CacheMonitor/MetricsCallback, KeyConvertor, ValueEncoder/Decoder, CacheNameGeneratoradd CacheMessagePublisher
- Rename DefaultCacheMonitorManager to DefaultMetricsManager, rename statCallback to metricsCallback
- 2.5.16 (2019-12-27)
- Fix spel compiler problem
- 2.5.15 (2019-11-09)
- Update jedis to 2.10.2 and fastjson to 1.2.62
- Optimise penetration protect
- Fix compatible problem for Kryo 5
- Fix hard code of fastjson KeyConvertor
- Some minor fixes
- 2.5.14 (2019-08-04)
- Add cache refresh mechanism to computeIfAbsent method.
- 2.5.13 (2019-06-21)
- Add MockRemoteCache to jetcache-core for unit test
- Improve cache initialization in CacheManager
- Some minor fix
- 2.5.12 (2019-04-04)
- add CacheManager to get Cache instance generated by Cached and CreateCache annotation.
- add penetration protect wait timeout.
- lettuce static master/slave support (for AWS ElastiCache Cluster)
- read from slave support for jedis
- 2.5.11 (2019-01-20)
- Fix dulipcated init with lettuce 4
- Fix dead lock with @CachePenetrationProtect in some conditions
- Fix duplicated aop proxy in some conditions (multi advisor)
- 2.5.10.1 (2018-12-13)
- bug fix: CacheResultCode returned in RedisLettuceCache.PUT_ALL method is not correct (allways SUCCESS).
- bug fix: cacheNullValue doesn't work for CacheType.BOTH in Cached annotation.
- 2.5.9 (2018-10-19)
- async operation timeout support for lettuce
- fast fail setting for RedisLettuceAutoConfiguration
- compatibility for Java 11 during build process
- 2.5.8 (2018-10-16)
- Compatibility for SpringFramework 5.1
- 2.5.7 (2018-09-10)
- LoadingCache use batch update when penetration protect is disabled
- Add multi support to @CacheInvalidate and @CacheUpdate
- 2.5.6 (2018-08-04)
- Fix compatibility between JavaValueDecoder and spring boot dev tools
- 2.5.5 (2018-07-08)
- Fix bug with expireAfterAccess config
- 2.5.4 (2018-06-30)
- Fix problem: read from slave of a cluster
- 2.5.3 (2018-06-24)
- Support read from slave for lettuce
- Fix spring boot placeholder problem (#99)
- Fix compatibility with spring boot dev tools
- Add jetcache.enableMethodCache property
- 2.5.2 (2018-05-30)
- Eliminate the warning log : "jetcache REMOVE return unexpected code: NOT_EXISTS"
- 2.5.1 (2018-05-15)
- Add postCondition to @Cached
- @CacheUpdate and @CacheInvalidate now support reference method result in SpEL script
- Fix bug in LoadingCache that method getAll does not respect to cacheNullValue config
- Fix bug that null value put into cache when value script of @CacheUpdate evaluate fails
- Optimize memory performance of JavaValueEncoder and KryoValueEncoder
- Fix scope of JUnit4
- 2.5.0 (2018-05-06)
- Compatibility Note: ClassCastException may occurs when upgrade directly from versions <=2.3.3 and MultiLevelCache(or cacheType=CacheType.BOTH) is used. To solve this problem, upgrade to 2.4.4 and deploy it to product env first, then upgrade to 2.5.0 or above.
- Add penetration protect feature. Only one thread execute loader when cache miss. Add @CachePenetrationProtect. Affected methods include AbstractCache#computeIfAbsent, LoadingCache#get, LoadingCache#getAll.
- Allow set expire of local and remote sub cache respectively, in MultiLevelCache. Add useExpireOfSubCache to MultiLevelCache, add localExpire to @Cached and @CreateCache. This may break remote value compatibility of MultiLevelCache, version <=2.3.3
- Annotations on sub classes will override annotations on interfaces and super class.
- Add targetClass to NameGenerator.generateCacheName, see #46
- Update minor version of dependencies
- 2.4.4 (2018-03-28)
- Automatically detect encode type before decode, so no error occurs after changing encoder/decoder for a remote cache.
- Add useIdentityNumber option to Encoder/Decoder
- Support using a Spring bean as KeyConvertor/ValueEncoder/ValueDecoder
- Add CacheNameGenerator, now you can customize your own CacheNameGenerator by overwriting SpringConfigProvider
- Fix bug: configProvider in CacheContext is not init properly
- Add areaInCacheName in GlobalCacheConfig
- 2.4.3 (2018-03-19)
- Optimise cache refresh with MultiLevelCache.
- Override close method for MultiLevelCache.
- 2.4.2 (2018-03-16)
- fix #27, @CacheRefresh doesn't work if cacheType=CacheType.BOTH
- fix duplicated statistic of load count in method cache
- 2.4.1 (2018-02-06)
- add @CacheRefresh for automatically refresh method cache using annotation; remove unless attribute from @Cached
- bugfix: fix type bug in asynchronous API in 2.4.0 and 2.3.4
- bugfix: cacheNullValue config in RefreshCache does not work
- 2.3.5 (2018-02-06)
- bugfix: fix type bug in asynchronous API in 2.4.0 and 2.3.4
- bugfix: cacheNullValue config in RefreshCache does not work
- 2.4.0 (2018-01-30)
- introduce @CacheInvalidate and @CacheUpdate for removing or updating method cache
- @Cached support specify key using SpEL in "key" attribute
- bugfix: ClassCastException occurs when different application server connect to same remote cache server using different cacheType(CacheType.REMOTE or CacheType.BOTH).
- 2.3.4 (2018-01-30)
- bugfix: ClassCastException occurs when different application server connect to same remote cache server using different cacheType(CacheType.REMOTE or CacheType.BOTH).
- 2.3.3 (2018-01-11)
- optimise auto refresh
- Simplify tryLock implementation and enhance retry mechanism, add 3 parameters to CacheConfig: tryLockUnlockCount, tryLockInquiryCount, tryLockLockCount
- 2.3.2 (2018-01-05)
- bypass local cache when refresh in a MultiLevelCache instance
- fix issue #25 : putIfAbsent issue in CaffeineCache and LinkedHashMapCache
- 2.3.1 (2017-12-04)
- set class scope ConfigTree to public
- 2.2.2 (2017-12-04)
- set class scope ConfigTree to public
- 2.3.0 (2017-11-24)
- support lettuce 5 in artifact jetcache-redis-lettuce and jetcache-starter-redis-lettuce
- rename old artifact jetcache-redis-luttece,jetcache-starter-redis-luttece to jetcache-redis-lettuce4,jetcache-starter-redis-lettuce4 to provide lettuce 4 support
- fix all misspell of "lettuce" in package name, class name and config
- update dependencies: spring 4.3.7 -> 4.3.12, boot 1.5.2 -> 1.5.8, fastjson 1.2.32 -> 1.2.41, mvel 2.3.1 -> 2.4.0, kryo 4.0.0 -> 4.0.1, caffeine 2.5.2 -> 2.6.0
- 2.2.1 (2017-11-22)
- If sub cache has a loader, MultiLevelCache will throw a CacheConfigException during construction
- Fix problems when spring boot version <= 1.2.X
- Compatible with Spring Boot 2.0.0.M6
- Update lettuce to 4.4.2 and fix misspell "lettuce" in configuration
- 2.1.8 (2017-11-22)
- Fix problems when spring boot version <= 1.2.X
- unwrap method in class RedisCache now work with parameter Pool.class and RedisSentinelPool.class
- 2.2.0 (2017-09-01)
- unwrap method in class RedisCache now work with parameter Pool.class and RedisSentinelPool.class
- add direct jedis dependency for jetcache-starter-redis
- coverage tools integration
- 2.1.7 (2017-06-12)
- declare beanDependencyManager bean in static way to eliminate warning log during startup
- 2.2.0.Beta4 (2017-06-12)
- declare beanDependencyManager bean in static way to eliminate warning log during startup
- 2.1.6 (2017-6-12)
- fix compatible problem with Spring(<=4.2) in jetcache 2.1.5
- 2.2.0.Beta3 (2017-06-12)
- fix compatible problem with Spring(<=4.2) in jetcache 2.1.5, 2.2.0.Beta1, 2.2.0.Beta2
- 2.2.0.Beta2 (2017-06-08)
- MultiLevelCache now supports unwrap method
- optimise RefreshCache
- 2.2.0.Beta1 (2017-06-05)
- support redis luttece client
- introduce asynchronous cache API (when using luttece)
- introduce auto load (read through) and auto refresh features
- add timeUnit attribute to @Cached and @CreateCache
- some internal API refactor
- 2.1.5 (2017-05-08)
- fix issue #5 : exception occurs when invoking @Cached method in @PostConstruct method with Spring Boot
- 2.1.4 (2017-04-27)
- fix bug with redis auto configuration when using sentinel.
- update spring boot dependency to 1.5.2