Skip to content

Releases: ben-manes/caffeine

3.2.3

28 Oct 04:40
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

  • Fixed frequency tracking of weak keys to use the object's identity hash code (#1902)
  • Added support for underscores in CaffeineSpec when using numeric literals (#1890)
  • Improved the external api to no longer lock when querying for the maximum size or weighted size (#1897)
  • Added detection and recovery when a custom CompletableFuture is in an inconsistent state (quarkus#50513)

3.2.2

13 Jul 03:42

Choose a tag to compare

  • Fixed characteristics returned by Spliterators (#1883)

3.2.1

09 Jun 03:43

Choose a tag to compare

  • Fixed computeIfAbsent for an async cache's synchronous view to retry if incomplete
  • Improved CaffeineSpec when being reflectively constructed (#1839)
  • Improved the handling of negative durations with variable expiration
  • Fixed intermittent null after replacing a weak/soft value (#1820)

3.2.0

17 Jan 21:28

Choose a tag to compare

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 or Expiry 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

09 Aug 06:03

Choose a tag to compare

  • Added a workaround for a possible JDK concurrency bug with method handles (#1111)

3.1.7

24 Jul 01:13

Choose a tag to compare

Cache

  • Improved builder construction time (#905)

JCache

  • Fixed deadlock when a cache listener writes to another cache (#1065)
  • Added jakarta.inject support, dropping javax.inject (#1009)

3.1.6

07 Apr 16:31

Choose a tag to compare

  • Fixed the log message when a key's equality has changed and corrupted the underlying map (#900, SLF4J-529)
  • Added Implementation-Version and other MANIFEST.MF attributes (#889)

3.1.5

06 Mar 03:37

Choose a tag to compare

Cache

  • Fixed clear() removing a key more than once due to a write-back removal listener (#872)

JCache

  • Added support for loading the configuration from the cache manager's uri (#877)

3.1.4

20 Feb 01:43

Choose a tag to compare

Added @CanIgnoreReturnValue annotations for static analysis (#868)

3.1.3

10 Feb 07:18

Choose a tag to compare

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)