JinwooHwang opened a new pull request, #7950:
URL: https://github.com/apache/geode/pull/7950
## 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(-)
<!-- Thank you for submitting a contribution to Apache Geode. -->
<!-- In order to streamline review of your contribution we ask that you
ensure you've taken the following steps. -->
### For all changes, please confirm:
- [ ] Is there a JIRA ticket associated with this PR? Is it referenced in
the commit message?
- [x] Has your PR been rebased against the latest commit within the target
branch (typically `develop`)?
- [x] Is your initial contribution a single, squashed commit?
- [x] 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](http://www.apache.org/legal/resolved.html#category-a)?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]