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 #22

Closed

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 22, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
com.github.ben-manes.caffeine:caffeine 2.9.3 -> 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

Configuration

📅 Schedule: Branch creation - "after 9am" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, 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 has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot enabled auto-merge (squash) June 22, 2024 15:00
@portlek portlek disabled auto-merge June 22, 2024 15:01
@portlek portlek closed this Jun 22, 2024
Copy link
Contributor Author

renovate bot commented Jun 22, 2024

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 3.x releases. But if you manually upgrade to 3.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate renovate bot deleted the renovate/com.github.ben-manes.caffeine-caffeine-3.x branch June 22, 2024 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant