Skip to content

Releases: ben-manes/caffeine

2.2.4

03 Apr 03:10
Compare
Choose a tag to compare
  • Improved write performance of weakKeys (orbit/orbit#144)
  • Improved write performance of expireAfterWrite (orbit/orbit#144)
  • Fixed GC churn caused by scheduling due to ForkJoinPool wrapping tasks (orbit/orbit#144)
  • Avoids multiple reads from the map returned by loadAll (potentially expensive if lazy view)
  • Prevents GC nepotism in write buffer (SingleConsumerQueue)

WARNING: Periodic maintenance was broken; this release should not be used (was live for 5 hours).

2.2.3

23 Mar 03:24
Compare
Choose a tag to compare

Cache

  • Stronger protection against excess scheduling (#57)
  • Avoids admitting an entry that exceeds the maximum weight
  • More graceful error handling for removal notifications due to a rejecting executor

Guava

  • Forwards default methods in the asMap view to atomic implementations

2.2.2

29 Feb 01:39
Compare
Choose a tag to compare
  • Fixed AsyncLoadingCache with refresh-after-write from prematurely replacing the value

2.2.1

25 Feb 05:32
Compare
Choose a tag to compare

Cache

  • Added optimized Spliterator for concurrent stream processing
  • Handle race condition in the default implementation of replaceAll

2.2.0

19 Feb 18:49
Compare
Choose a tag to compare

Cache

  • Added AsyncCacheLoader to simplify loading from an asynchronous data source (#53)
  • Handle race condition in the default removeIf for values and entrySet views

2.1.0

18 Jan 04:54
Compare
Choose a tag to compare

Cache

  • Added CaffeineSpec to simplify creating caches from an external configuration file (#37)
  • Fast path to skip usage tracking for the maximum size policy when less than 50% full
  • Improved automatic refresh error handling

JCache

  • Support automatic refresh as a configuration option
  • Friendlier CaffeineConfiguration initial settings (SO)
  • Fixed expiration bugs (SO)

Collections

  • Removed ConcurrentLinkedStack, a @Beta API not subject to semver
  • Scheduled SingleConsumerQueue for removal in the next major release (3.0.0)

2.0.3

20 Dec 04:29
Compare
Choose a tag to compare

JCache

  • Fixed statistics average operation time not being reported in microseconds
  • Fixed early expiration due to convertion into microseconds, not milliseconds (#40)
  • Ensured that events are fired in entry order by always being sent within the atomic block
  • Improved performance, largely by avoiding slow calls for the current time unless required

2.0.2

02 Dec 06:03
Compare
Choose a tag to compare
  • Fixed NPE due to improperly scheduled write task when the computation returns null (#35)

2.0.1

13 Nov 05:05
Compare
Choose a tag to compare
  • Fixed OSGi manifests (#33)

2.0.0

09 Nov 06:50
Compare
Choose a tag to compare

A major revision that includes API incompatible changes.

Cache

  • Replaced LRU with W-TinyLfu eviction policy
  • Inspect whether stats are enabled in the Policy
  • CacheLoader support for checked exceptions (rethrown as CompletionException)
  • RemovalListener now uses friendlier syntax for lambdas (removed RemovalNotification)
  • Avoid excessive scheduling of the maintenace task
  • Removed NonReentrantLock
  • Removed tracing packages

JCache

  • Renamed CopyStrategy to Copier