Skip to content

Upgrade commons-io from 2.15.1 to 2.18.0#7943

Merged
raboof merged 1 commit into
apache:developfrom
JinwooHwang:commonsio
Oct 24, 2025
Merged

Upgrade commons-io from 2.15.1 to 2.18.0#7943
raboof merged 1 commit into
apache:developfrom
JinwooHwang:commonsio

Conversation

@JinwooHwang

Copy link
Copy Markdown
Contributor

Overview

This PR upgrades the Apache Commons IO library from version 2.15.1 to 2.18.0 to benefit from the latest security fixes, bug fixes, and improvements.

Motivation

  • Security: Ensure the project uses the latest version with all security patches
  • Stability: Benefit from bug fixes and improvements in newer releases
  • Maintenance: Keep dependencies up-to-date to reduce technical debt

Changes

This PR updates the commons-io dependency across the following files:

Core Dependency Management

  • build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
    • Updated commons-io.version from 2.15.1 to 2.18.0

Test Resources

  • boms/geode-all-bom/src/test/resources/expected-pom.xml
    • Updated expected commons-io version in BOM test

Integration Test Resources

  • geode-assembly/src/integrationTest/resources/assembly_content.txt
    • Updated JAR reference: commons-io-2.15.1.jarcommons-io-2.18.0.jar
  • geode-assembly/src/integrationTest/resources/gfsh_dependency_classpath.txt
    • Updated classpath entry for commons-io
  • geode-server-all/src/integrationTest/resources/dependency_classpath.txt
    • Updated classpath entry for commons-io

Testing

All tests and build validations have been successfully completed:

✅ Unit Tests

./gradlew test
  • Status: PASSED
  • Duration: 6m 24s
  • Tasks: 244 actionable tasks (71 executed, 173 up-to-date)

✅ Build Validation

./gradlew clean build
  • Status: PASSED
  • Duration: 3m 45s
  • Tasks: 625 actionable tasks (575 executed, 15 from cache, 35 up-to-date)

All quality gates passed:

  • ✅ Code formatting (spotlessCheck)
  • ✅ License compliance (rat)
  • ✅ POM validation (checkPom)
  • ✅ Dependency resolution
  • ✅ Static analysis (pmdMain)
  • ✅ Javadoc generation

Compatibility

  • Backward Compatibility: This is a minor version upgrade (2.15.1 → 2.18.0) within the same major version, maintaining API compatibility
  • Java Version: Compatible with the project's Java 17 requirement
  • Breaking Changes: None expected

Release Notes Excerpt

Commons IO 2.18.0 includes:

  • Security improvements and vulnerability fixes
  • Bug fixes for file operations
  • Performance improvements
  • Enhanced error handling

Checklist

  • Updated dependency version in DependencyConstraints.groovy
  • Updated all test resource files with new version
  • All unit tests pass
  • Build completes successfully
  • All quality checks pass (spotlessCheck, rat, checkPom, pmdMain)
  • No breaking changes introduced
  • Commit message follows project conventions

Additional Notes

This upgrade is part of ongoing dependency maintenance to ensure the Apache Geode project remains secure and up-to-date with the latest stable releases of its dependencies.

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?

This commit upgrades the Apache Commons IO library to version 2.18.0
to address potential security vulnerabilities and benefit from the
latest bug fixes and improvements.

Changes:
- Updated commons-io version in DependencyConstraints.groovy from 2.15.1 to 2.18.0
- Updated expected-pom.xml to reflect new commons-io version (2.18.0)
- Updated assembly_content.txt with new commons-io JAR reference
- Updated gfsh_dependency_classpath.txt with new commons-io version
- Updated dependency_classpath.txt in geode-server-all with new version

Testing:
- All unit tests pass (./gradlew test)
- Build validation successful (./gradlew clean build -x test)
- All quality checks pass (./gradlew build install javadoc spotlessCheck rat checkPom resolveDependencies pmdMain -x test)

Version 2.18.0 includes important fixes and improvements over 2.15.1,
providing better stability and security for the Geode project.
@JinwooHwang JinwooHwang requested a review from raboof October 23, 2025 16:27
@JinwooHwang

Copy link
Copy Markdown
Contributor Author

Hi @raboof , all checks have passed. Thank you.

@raboof raboof left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work!

@raboof raboof merged commit c0e592a into apache:develop Oct 24, 2025
15 checks passed
@JinwooHwang

Copy link
Copy Markdown
Contributor Author

Thank you so much for your support @raboof

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