Skip to content

Conversation

@JinwooHwang
Copy link
Contributor

Summary

This PR upgrades the Apache Commons Lang library from version 3.12.0 to 3.18.0 to incorporate the latest bug fixes, performance improvements, and new features.

Changes

This upgrade updates the Commons Lang3 dependency across the entire Geode project:

Dependency Management

  • build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
    • Updated commons-lang3.version from 3.12.0 to 3.18.0

Test Resources

Updated expected dependency versions in integration test resources to reflect the new Commons Lang3 version:

  • boms/geode-all-bom/src/test/resources/expected-pom.xml

    • Updated expected Commons Lang3 version in generated POM
  • geode-assembly/src/integrationTest/resources/assembly_content.txt

    • Updated jar filename from commons-lang3-3.12.0.jar to commons-lang3-3.18.0.jar
  • geode-assembly/src/integrationTest/resources/gfsh_dependency_classpath.txt

    • Updated jar filename in gfsh classpath expectations
  • geode-server-all/src/integrationTest/resources/dependency_classpath.txt

    • Updated jar filename in server-all classpath expectations

What's New in Commons Lang3 3.18.0

The upgrade from 3.12.0 to 3.18.0 includes several intermediate releases with improvements:

Key Improvements

  • Performance enhancements in string manipulation utilities
  • Bug fixes for edge cases in various utility classes
  • New utility methods for common operations
  • Security improvements and dependency updates
  • Java compatibility improvements for newer JDK versions

Testing

All changes have been validated:

Build Tasks: ./gradlew build

  • Build successful
  • Javadoc generation successful
  • Code formatting checks (spotlessCheck) passed
  • License header checks (rat) passed
  • POM validation (checkPom) passed
  • Dependency resolution successful
  • Static code analysis (pmdMain) passed

Tests: All unit tests passed

Compatibility

This is a minor version upgrade within the same major version (3.x), maintaining backward compatibility. Commons Lang3 3.18.0:

  • Maintains API compatibility with 3.12.0
  • No breaking changes
  • Continued Java 8+ compatibility
  • Fully compatible with existing Geode codebase

Impact

  • Low risk: Minor version upgrade with no breaking changes
  • Modules affected: All modules that depend on Commons Lang3 (geode-core, geode-gfsh, geode-connectors, geode-web, geode-log4j, geode-management, geode-dunit, geode-web-api, geode-common)
  • No code changes required: The upgrade only requires version number updates

Related

This PR follows the same pattern as previous dependency upgrades in the project.

Files Changed

  • 5 files changed
  • 10 insertions(+), 10 deletions(-)

For all changes, please confirm:

  • Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?
  • Has your PR been rebased against the latest commit within the target branch (typically develop)?
  • Is your initial contribution a single, squashed commit?
  • Does gradlew build run cleanly?
  • Have you written or updated unit tests to verify your changes?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

JinwooHwang and others added 3 commits October 27, 2025 10:51
- Updated dependency version in DependencyConstraints.groovy
- Updated expected-pom.xml test resource in geode-all-bom
- Updated assembly_content.txt integration test resource
- Updated gfsh_dependency_classpath.txt integration test resource
- Updated dependency_classpath.txt integration test resource in geode-server-all

All builds and tests pass successfully.
- Updated dependency version in DependencyConstraints.groovy
- Updated expected-pom.xml test resource in geode-all-bom
- Updated assembly_content.txt integration test resource
- Updated gfsh_dependency_classpath.txt integration test resource
- Updated dependency_classpath.txt integration test resource in geode-server-all

This upgrade brings in the latest bug fixes and improvements from Apache Commons Lang.

All builds and checks pass successfully.
@JinwooHwang JinwooHwang requested a review from raboof October 27, 2025 16:45
@JinwooHwang
Copy link
Contributor Author

Hi @raboof. All checks have passed. Thank you.

@raboof
Copy link
Member

raboof commented Oct 30, 2025

LGTM but needs some conflicts resolved

@JinwooHwang
Copy link
Contributor Author

@raboof, Thank you for dedicating your time to review the PR. Your input is always valuable.

@JinwooHwang
Copy link
Contributor Author

I have resolved the conflicts and all checks have passed.

@JinwooHwang JinwooHwang merged commit fb8e93d into apache:develop Oct 31, 2025
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants