Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency com.github.ben-manes.caffeine:caffeine to v3 #1104

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 26, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
com.github.ben-manes.caffeine:caffeine 2.8.5 -> 3.1.8 age adoption passing confidence

Release Notes

ben-manes/caffeine (com.github.ben-manes.caffeine:caffeine)

v3.1.8: 3.1.8

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

v3.1.7: 3.1.7

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)

v3.1.6: 3.1.6

  • 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)

v3.1.5: 3.1.5

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)

v3.1.4: 3.1.4

Added @​CanIgnoreReturnValue annotations for static analysis (#​868)

v3.1.3: 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)

v3.1.2: 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

v3.1.1: 3.1.1

  • Fixed refreshAfterWrite when racing with a removed entry (#​715)
  • Fixed gradle module metadata variant selection (#​716)

v3.1.0: 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)

v3.0.6: 3.0.6

  • Fixed AsyncCache.getAll when storing additional mappings (#​655)
  • Added the ability to specify the expiration time with the computation
  • Added a warning if writes stall due to blocked eviction (#​672)
  • Added advanced query support for obtaining entry metadata

v3.0.5: 3.0.5

Cache

  • Fixed reference eviction when used with a broken executor (JDK-8274349)
  • Suppressed log warnings if a future is cancelled or times out (#​597)
  • Removed @Nullable from LoadingCache.get(key) (#​594)
  • Fixed early expiration of in-flight async loads (#​625)

JCache

  • close() will now shutdown the executor and wait for in-flight loads to finish

v3.0.4: 3.0.4

Cache

  • Fixed cases that incorrectly notified the removal listener for no-op replacements (#​593)
  • Improved how refreshAfterWrite is triggered on a read to avoid hotspots
  • Added the ability to capture coldest & hottest weighted snapshots
  • Reduced the per-entry overhead when using weak/soft values
  • Fixed Map.entrySet.contains(o) to use reference equality

v3.0.3: 3.0.3

Cache

  • Fixed reading an intermittent null weak/soft value during a concurrent write (#​568)
  • Fixed extraneous eviction when concurrently removing a collected entry after a writer resurrects it with a new mapping (#​568)
  • Fixed excessive retries of discarding an expired entry when the fixed duration period is extended, thereby resurrecting it (#​568)

v3.0.2: 3.0.2

Cache

  • Added cancellation of the next scheduled expiration cleanup when the cache becomes empty (#​542)
  • Improved how variable expiration reorganizes the timer events (#​541)
  • Improved usage of nullness annotations (#​530)
  • Removed sun.misc.Unsafe and fallbacks
  • Added module descriptors (#​535)

v3.0.1: 3.0.1

  • Fixed thread local fallback initialization for striped buffer (#​515)
  • Improved eviction reordering for weighted caches (#​513)
  • Added putIfAbsent optimistic fastpath (#​506)

v3.0.0: 3.0.0

This release includes API incompatible changes.

Highlights
  • Java 11 or above is required
  • Java 8 users can continue to use version 2.x, which will be supported
API improvements
  • Added Policy.refreshes() for a snapshot of the in-flight refresh operations
  • CacheLoader and AsyncCacheLoader offer bulk factory methods
  • AsyncCacheLoader methods may now throw checked exceptions
  • Better usage of Checker Framework nullness annotations (#​337)
  • LoadingCache.refresh now returns the in-flight future (#​143)
  • Various unimplemented default methods are now abstract
  • Added LoadingCache.refreshAll convenience method
  • Bulk loads now receive a Set of keys (was Iterable)
  • More flexible generic bounds and type parameters
Implementation improvements
Incompatible changes
  • VarExpiration time-based puts now return the old value instead of a boolean result
  • Removed jandex resource as no longer utilized by Quarkus
  • Split Policy.Expiration into fixed and refresh interfaces
Deprecation removals
  • CacheWriter, SingleConsumerQueue, and UnsafeAccess
  • StatsCounter.recordEviction variations
  • CacheStats constructors
Notes
  • CacheWriter usages can be replaced by Map computations and Caffeine.evictionListener
  • For best performance Unsafe may be used if available, otherwise falls back to VarHandles
  • We will continue to support and maintain version 2.x for Java 8 users

v2.9.3: 2.9.3

Cache

  • Fixed reference eviction when used with a broken executor (JDK-8274349)
  • Reduced the entry overhead by 8 bytes when using weak or soft values
  • Suppressed log warnings if a future is cancelled or times out (#​597)
  • Fixed Map.entrySet.contains(o) to use reference equality
  • Fixed early expiration of in-flight async loads (#​625)

JCache

  • close() will now shutdown the executor and wait for in-flight loads to finish

v2.9.2: 2.9.2

Cache

  • Fixed reading an intermittent null weak/soft value during a concurrent write (#​568)
  • Fixed extraneous eviction when concurrently removing a collected entry after a writer resurrects it with a new mapping (#​568)
  • Fixed excessive retries of discarding an expired entry when the fixed duration period is extended, thereby resurrecting it (#​568)

v2.9.1: 2.9.1

Cache

  • Added cancellation of the next scheduled expiration cleanup when the cache becomes empty (#​542)
  • Improved how variable expiration reorganizes the timer events (#​541)
  • Added putIfAbsent optimistic fastpath (#​506)

v2.9.0: 2.9.0

Cache

  • Added Caffeine.evictionListener which is notified within the atomic operation when an entry is automatically removed
  • Added triggering cache maintenance if an iterator observes an expired entry for more aggressive eviction (#​487)
  • Improved eager eviction of an added or updated entry if it exceeds the cache's maximum weight
  • Deprecated CacheWriter. Please use asMap computations or an eviction listener instead
  • Added CacheStats.of(...) to allow for becoming a value-based class in a future release

v2.8.8: 2.8.8

Cache

v2.8.7: 2.8.7

Cache

  • Fixed asMap().keySet().toArray() to not return expired mappings (#​472)
  • Added support for ISO-8601 durations to CaffeineSpec (#​466)
  • Fixed put update optimization for variable expiration (#​478)

v2.8.6: 2.8.6

Cache

  • Changed false sharing protection to comply with JDK 15's field layout (Java Objects Inside Out)
  • Suppressed the removal listener notification when an AsyncCache future value resolves to null
  • Improved the implementations of AsyncCache.synchronous().asMap() conditional methods
  • Added Jandex index for assisting GraalVM AOT (https://github.com/quarkusio/quarkus/issues/10420)
  • Deprecated UnsafeAccess and SingleConsumerQueue

JCache

  • Changed to an OSGi Component to avoid coupling consumers to the provider (#​447)
  • Added the ability to record native statistics (#​460)

Configuration

📅 Schedule: Branch creation - "after 7am and before 11am every weekday" in timezone Europe/London, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Jul 26, 2024
@renovate renovate bot force-pushed the renovate/com.github.ben-manes.caffeine-caffeine-3.x branch from c97200c to 272a672 Compare July 26, 2024 06:49
@renovate renovate bot force-pushed the renovate/com.github.ben-manes.caffeine-caffeine-3.x branch from 272a672 to 9be604e Compare September 6, 2024 08:10
@renovate renovate bot force-pushed the renovate/com.github.ben-manes.caffeine-caffeine-3.x branch from 9be604e to 5f8e54d Compare September 24, 2024 13:49
@renovate renovate bot force-pushed the renovate/com.github.ben-manes.caffeine-caffeine-3.x branch from 5f8e54d to e3cb574 Compare October 9, 2024 12:16
@renovate renovate bot force-pushed the renovate/com.github.ben-manes.caffeine-caffeine-3.x branch from e3cb574 to 735833b Compare October 17, 2024 15:58
@renovate renovate bot force-pushed the renovate/com.github.ben-manes.caffeine-caffeine-3.x branch from 735833b to ba4906b Compare October 21, 2024 12:57
@renovate renovate bot force-pushed the renovate/com.github.ben-manes.caffeine-caffeine-3.x branch from ba4906b to a632721 Compare October 22, 2024 15:04
@renovate renovate bot force-pushed the renovate/com.github.ben-manes.caffeine-caffeine-3.x branch from a632721 to e14c8d0 Compare October 28, 2024 09:14
@renovate renovate bot force-pushed the renovate/com.github.ben-manes.caffeine-caffeine-3.x branch from e14c8d0 to a48e1be Compare October 28, 2024 16:00
@renovate renovate bot force-pushed the renovate/com.github.ben-manes.caffeine-caffeine-3.x branch from a48e1be to d133a94 Compare November 29, 2024 15:54
@renovate renovate bot force-pushed the renovate/com.github.ben-manes.caffeine-caffeine-3.x branch from d133a94 to 85cfbfb Compare December 17, 2024 16:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants