Releases: ben-manes/caffeine
Releases Β· ben-manes/caffeine
3.2.0
Cache
- Added Sigstore signing of maven artifacts
- Added
Expiry
static factory methods (#1499) - Migrated to JSpecify annotations (was checker framework)
- Fixed variable expiration calculation when nearing overflow
- Added logging when an async cache's removal listener fails
- Added an expiration write optimization to more operations (#1320)
- Fixed when a
Weigher
orExpiry
fail on an async completion (#1687) - Fixed cases when the expiration ticker was also used for statistics (#1678)
- Fixed refresh handling to skip if the async cache's entry is still loading (#1478)
- Fixed
containsKey
for an async cache's synchronous view while in-flight (#1626) - Fixed premature expiration for an async cache when using nearly immediate expiration (#1623)
- For a bulk async load returning extra mappings, wait to be added to the cache before returning (#1409)
Guava
- Relaxed the OSGi version requirement (#1160)
JCache
- Allow
hibernate.javax.cache.uri
to load the configuration from a jar (#1347)
3.1.8
3.1.7
3.1.6
3.1.5
3.1.4
3.1.3
Cache
- Fixed the build time dependency constraints from being leaked into the external metadata (#867)
- Fixed the cause of a removal notification for a discarded refresh when the entry was removed
- Fixed the behavior for null lookups into returned unmodifiable maps to be consistent (#864)
- Fixed an unexpected delay of removal notifications when using a scheduler (#859)
- Fixed explicit refreshes from being deduped if the entry is pending eviction
- Defaulted methods to @CheckReturnValue for static analysis (#863)
- Reduced the lock hold time during Map.clear (#835)
JCache
- Fixed
putAll
with an immutable map that causes an exception when using a cache writer (#841)
3.1.2
Cache
- Added detection for when a key's equality has changed and corrupted the underlying map (SOLR-16489)
- Improved the frequency sketch by better utilizing the cpu cache line to reduce memory accesses
- Fixed
computeIfAbsent
when replacing a collected weak/soft value and the custom expiry fails - Improved refresh conflict detection to avoid unnecessarily discarding after a reload
- Improved eviction when the weight is oversized (#745)
Guava
- Added an adapter from Guava's CacheLoader to Caffeine's (#766)
JCache
- Fixed
Cache.getConfiguration()
to return an immutable instance
3.1.1
3.1.0
- Fixed the publication of a removal notification when computing a null value on top of an expired entry
- Fixed the publication of a removal notification for a conditional replacement on an unbounded cache
- Fixed
Map.equals
when the traversal triggers an eviction and the subset of live entries matches - Improved refreshAfterWrite to return the new value if computed by the caller (#688, #699)
- Added Interner for weak keyed equality caching (#344)