Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 1, 2026

Bumps com.cedarsoftware:java-util from 4.70.0 to 4.72.0.

Changelog

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

4.72.0 - 2025-12-31

  • BUG FIX: Fixed Jackson dependencies incorrectly declared without <scope>test</scope>. Jackson (jackson-databind, jackson-dataformat-xml) is only used for testing and should not be a transitive dependency. This restores java-util's zero external runtime dependencies.
  • BUG FIX: Fixed ThreadedLRUCacheStrategy scheduled task accumulation. When CaseInsensitiveMap.replaceCache() was called multiple times, each new cache scheduled a purge task that was never cancelled. These orphaned tasks accumulated and could overwhelm the scheduler thread. Now:
    • ThreadedLRUCacheStrategy.shutdown() properly cancels the scheduled purge task
    • LRUCache.shutdown() delegates to the strategy's shutdown
    • CaseInsensitiveMap.replaceCache() calls shutdown on the old cache before replacing
  • UPDATED: Test dependencies updated to latest versions:
    • jackson-databind: 2.17.2 → 2.20.1
    • jackson-dataformat-xml: 2.17.2 → 2.20.1

4.71.0 - 2025-12-31

  • PERFORMANCE: MultiKeyMap.expandAndHash() - Multiple optimizations for faster key processing:
    • Fast-path for common leaf types: Added early-exit check for common final types (String, Integer, Long, Double, Boolean, Short, Byte, Character, Float) using class identity comparison (==) instead of falling through the instanceof chain. Since these are the most frequent key types, checking them first skips the more expensive instanceof checks (Map, Set, Collection) for 80%+ of calls.
    • Array detection optimization: Replaced isArray() with getComponentType() != null for slight additional speedup.
    • Set allocation elimination: Eliminated per-element ArrayList allocation when processing Sets. Previously created N temporary ArrayLists and N addAll() calls for a Set with N elements. Now adds elements directly to result list.
    • Benchmark impact: 3 additional wins vs Apache Commons MultiKeyMap (29 wins vs 26 before), converting ties to wins with no new losses.
  • PERFORMANCE: MultiKeyMap.keysMatch() - Removed redundant conditional check where both branches performed identical operations.
  • PERFORMANCE: Converter.getInheritedConverter() - Added caching for inheritance pairs:
    • cacheCompleteHierarchy: Caches full type hierarchy including level 0
    • cacheInheritancePairs: Uses MultiKeyMap to cache sorted pairs per (source, target)
    • InheritancePair class: Holds cached pair data without instanceId
    • First call for each (source, target) pair builds and caches the sorted pairs. Subsequent calls use O(1) cache lookup + iteration over pre-sorted list.
  • IMPROVED: Converter.getSupportedConversions() and allSupportedConversions() - Now correctly report all dynamic container conversions:
    • Array/Collection conversions: Object[] ↔ Collection, array to array
    • Enum conversions: Array/Collection/Map to Enum (creates EnumSet), EnumSet to Collection/Object[]
    • isConversionSupportedFor(): Added optimistic handling for Object[] source component type - returns true when source component is Object.class (can't know actual element types at compile time)
  • CLEANUP: FastReader - Removed unused extended API methods that were never utilized by json-io:
    • Deprecated: getLine() and getCol() now return 0 (line/column tracking removed for performance)
    • Removed line/column tracking overhead from hot path
    • getLastSnippet() provides error context without per-character tracking cost
Commits
  • a35f387 Fix broken link in changelog.md to userguide anchor
  • fbc4a69 Update changelog for ThreadedLRUCacheStrategy fix
  • 386f1c0 Fix ThreadedLRUCacheStrategy scheduled task accumulation causing test hangs
  • 25077e5 Revert "Fix CaseInsensitiveCacheContentionTest hanging during release builds"
  • 93c2f93 Fix CaseInsensitiveCacheContentionTest hanging during release builds
  • ccf66b4 Release 4.72.0 - Fix Jackson dependency scope
  • 70ecfe1 Remove changelog references to unreleased functionality
  • 0e724df Consolidate changelog entries under 4.71.0
  • fe568d9 Update changelog for 4.71.0 - document FastReader cleanup
  • edea7ba Remove unused FastReader extended API methods
  • 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 <dependency name> 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)

Bumps [com.cedarsoftware:java-util](https://github.com/jdereg/java-util) from 4.70.0 to 4.72.0.
- [Changelog](https://github.com/jdereg/java-util/blob/master/changelog.md)
- [Commits](jdereg/java-util@4.70.0...4.72.0)

---
updated-dependencies:
- dependency-name: com.cedarsoftware:java-util
  dependency-version: 4.72.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Jan 1, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Jan 1, 2026

🌟 Thank you for your contribution to the Apache Camel project! 🌟

🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run

  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot.

  • You can label PRs using build-all, build-dependents, skip-tests and test-dependents to fine-tune the checks executed by this PR.

  • Build and test logs are available in the Summary page. Only Apache Camel committers have access to the summary.

  • ⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@davsclaus davsclaus merged commit a762b2d into main Jan 1, 2026
5 checks passed
@dependabot dependabot bot deleted the dependabot/maven/com.cedarsoftware-java-util-4.72.0 branch January 1, 2026 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

camel-4 core-build-and-dependencies dependencies Pull requests that update a dependency file java Pull requests that update Java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant