takari / polyglot-maven

Support alternative markup for Apache Maven POM files
Eclipse Public License 1.0
893 stars 101 forks source link

Bump com.cedarsoftware:java-util from 1.68.0 to 2.15.0 #333

Closed dependabot[bot] closed 1 month ago

dependabot[bot] commented 1 month ago

Bumps com.cedarsoftware:java-util from 1.68.0 to 2.15.0.

Changelog

Sourced from com.cedarsoftware:java-util's changelog.

2.15.0

  • Introducing TTLCache: a cache with a configurable minimum Time-To-Live (TTL). Entries expire and are automatically removed after the specified TTL. Optionally, set a maxSize to enable Least Recently Used (LRU) eviction. Each TTLCache instance can have its own TTL setting, leveraging a shared ScheduledExecutorService for efficient resource management. To ensure proper cleanup, call TTLCache.shutdown() when your application or service terminates.
  • Introducing ConcurrentHashMapNullSafe: a drop-in replacement for ConcurrentHashMap that supports null keys and values. It uses internal sentinel values to manage nulls, providing a seamless experience. This frees users from null handling concerns, allowing unrestricted key-value insertion and retrieval.
  • LRUCache updated to use a single ScheduledExecutorService across all instances, regardless of the individual time settings. Call the static shutdown() method on LRUCache when your application or service is ending.

2.14.0

  • ClassUtilities.addPermanentClassAlias() - add an alias that .forName() can use to instantiate class (e.g. "date" for java.util.Date)
  • ClassUtilities.removePermanentClassAlias() - remove an alias that .forName() can no longer use.
  • Updated build plug-in dependencies.

2.13.0

  • LRUCache improved garbage collection handling to avoid gc Nepotism issues by nulling out node references upon eviction. Pointed out by Ben Manes.
  • Combined ForkedJoinPool and ScheduledExecutorService into use of only ScheduledExecutorServive, which is easier for user. The user can supply null or their own scheduler. In the case of null, one will be created and the shutdown() method will terminate it. If the user supplies a ScheduledExecutorService it will be used, but not shutdown when the shutdown() method is called. This allows LRUCache to work well in containerized environments.

2.12.0

  • LRUCache updated to support both "locking" and "threaded" implementation strategies.

2.11.0

  • LRUCache re-written so that it operates in O(1) for get(), put(), and remove() methods without thread contention. When items are placed into (or removed from) the cache, it schedules a cleanup task to trim the cache to its capacity. This means that it will operate as fast as a ConcurrentHashMap, yet shrink to capacity quickly after modifications.

2.10.0

  • Fixed potential memory leak in LRUCache.
  • Added nextPermutation to MathUtilities.
  • Added size(),, isEmpty(), and hasContent to CollectionUtilities.

2.9.0

  • Added SealableList which provides a List (or List wrapper) that will make it read-only (sealed) or read-write (unsealed), controllable via a Supplier<Boolean>. This moves the immutability control outside the list and ensures that all views on the List respect the sealed-ness. One master supplier can control the immutability of many collections.
  • Added SealableSet similar to SealableList but with Set nature.
  • Added SealableMap similar to SealableList but with Map nature.
  • Added SealableNavigableSet similar to SealableList but with NavigableSet nature.
  • Added SealableNavigableMap similar to SealableList but with NavigableMap nature.
  • Updated ConcurrentList to support wrapping any List and making it thread-safe, including all view APIs: iterator(), listIterator(), listIterator(index). The no-arg constructor creates a ConcurrentList ready-to-go. The constructor that takes a List parameter constructor wraps the passed in list and makes it thread-safe.
  • Renamed ConcurrentHashSet to ConcurrentSet.

2.8.0

  • Added ClassUtilities.doesOneWrapTheOther() API so that it is easy to test if one class is wrapping the other.
  • Added StringBuilder and StringBuffer to Strings to the Converter. Eliminates special cases for .toString() calls where generalized convert(src, type) is being used.

2.7.0

  • Added ConcurrentList, which implements a thread-safe List. Provides all API support except for listIterator(), however, it implements iterator() which returns an iterator to a snapshot copy of the List.
  • Added ConcurrentHashSet, a true Set which is a bit easier to use than ConcurrentSkipListSet, which as a NavigableSet and SortedSet, requires each element to be Comparable.
  • Performance improvement: On LRUCache, removed unnecessary Collections.SynchronizedMap surrounding the internal LinkedHashMap as the concurrent protection offered by ReentrantReadWriteLock is all that is needed.

2.6.0

  • Performance improvement: Converter instance creation is faster due to the code no longer copying the static default table. Overrides are kept in separate variable.
  • New capability added: MathUtilities.parseToMinimalNumericType() which will parse a String number into a Long, BigInteger, Double, or BigDecimal, choosing the "smallest" datatype to represent the number without loss of precision.
  • New conversions added to convert from Map to StringBuilder and StringBuffer.

2.5.0

  • pom.xml file updated to support both OSGi Bundle and JPMS Modules.
  • module-info.class resides in the root of the .jar but it is not referenced.

2.4.9

  • Updated to allow the project to be compiled by versions of JDK > 1.8 yet still generate class file format 52 .class files so that they can be executed on JDK 1.8+ and up.
  • Incorporated @​AxataDarji GraphComparator changes that reduce cyclomatic code complexity (refactored to smaller methods)

2.4.8

  • Performance improvement: DeepEquals.deepHashCode() - now using IdentityHashMap() for cycle (visited) detection.
  • Modernization: UniqueIdGenerator - updated to use Lock.lock() and Lock.unlock() instead of synchronized keyword.
  • Using json-io 4.14.1 for cloning object in "test" scope, eliminates cycle depedencies when building both json-io and java-util.

2.4.7

  • All 687 conversions supported are now 100% cross-product tested. Converter test suite is complete.

... (truncated)

Commits
  • 65899d3 Added ConcurrentHashMapNullSafe, and updated ConcurrentSet, SealableMap, and ...
  • 833ce5b Added ConcurrentHashMapNullSafe, and updated ConcurrentSet, SealableMap, and ...
  • d81b42a TTLCache is new. IT supports a minimum Time-To-Live (TTL) for cache entries...
  • 7b57fb3 * ClassUtilities.addPermanentClassAlias() - add an alias that .forName() ...
  • a84eda1 updated build dependencies and changelog.md
  • 5cc3f54 updated comment due too spacing
  • 7324aca - removed travis.yml
  • c87e830 minor javadoc updates
  • 0863337 updated readme
  • da7ba4e Changes made to fix gc nepotism (potential memory leak due to GC pointers bet...
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 1 month ago

Superseded by #334.