Releases: ben-manes/caffeine
Releases · ben-manes/caffeine
2.8.2
2.8.1
2.8.0
Cache
- Included the license file in the jar (#325)
- Added
RemovalCausetoStatsCounter(#304) - Added
getAllsupport to manual caches (#310) - Fixed long overflow in statistics (google/guava#3503)
- Added
Schedulerfor prompt eviction of expired entries (#195)
JCache
- Fixed assigning ticker to cache builder (#313)
2.7.0
Cache
- Added async
asMap()view (#156) - Introduced
AsyncCachefor manual async cache (#246) - Fixed async expiration when create races with reads (#298)
- Improved hit rates by using an adaptive eviction policy (#106)
- Fixed refresh to use the stats ticker for recording the load time (#240)
- Rescheduled async maintenance immediately if pending work remains (#225)
- Migrated from JSR-305 annotations to CheckerFramework & ErrorProne (#242)
JCache
- Added config file setting for the executor (#276)
This release includes improvements to the eviction policy by using a hill climber to optimize for frequency or recency. For more details, see the HighScalability article and our paper Adaptive Software Cache Management.
2.6.2
Cache
- Changed the default
initialCapacityto matchConcurrentHashMap'sfrom 0 to 16 (#218) - Fixed variable expiration's duration calculation overflowing due to timestamp race (#217)
- Avoiding method handles due to memory leak caused by JDK-8174749 (#222)
- Promote using
java.time.Durationinstead oflong, TimeUnitpair (#221) - Improved Guava compatibility for bulk get iteration order (#220)
2.6.1
Cache
- Fixed null value being propagated to callbacks on null result of a
CompletableFuture(#206) - Improved emulation of synchronous computations in
AsyncLoadingCacheasMap() view - Added
Automatic-Module-Namemanifest entry for Java 9 modularity (#211) - Significantly reduced the jar size due to code generation bloat (#110)
- Fixed futures not expiring due to stale read of the time (#212)
JCache
- Fixed
Cacheinvoke() not notifying the writer when the entry was loaded and modified (#210) - Upgraded to specification version 1.1.0
ACM's Transaction on Storage has published our paper on TinyLFU! To download the paper legally without the paywall, please use the authorizer link in the project's readme.
2.6.0
Cache
- Added put methods to
Policy.VarExpirationthat specify the entry's expiration time (#163) - Fixed early expiration due to long computations and a stale read of the time (#191)
JCache
- Fixed cache not being created from the external configuration properly (#194)
- Passes 1.1 preview TCK except for backwards incompatible 1.0 TCK tests