Releases: ben-manes/caffeine
Releases · ben-manes/caffeine
2.7.0
Cache
- Added async
asMap()
view (#156) - Introduced
AsyncCache
for 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
initialCapacity
to matchConcurrentHashMap's
from 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.Duration
instead oflong, TimeUnit
pair (#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
AsyncLoadingCache
asMap() view - Added
Automatic-Module-Name
manifest 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
Cache
invoke() 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.VarExpiration
that 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