gnodet opened a new pull request, #12505: URL: https://github.com/apache/maven/pull/12505
## Summary - Projects like Apache Flink pin their Maven version to an exact version using ranges like `[3.8.6,3.8.6]` (both bounds equal, both inclusive). The existing `MAVEN4_EXCLUSIVE_UPPER_BOUND` pattern only matched ranges with an exclusive upper bound at `4.x` (e.g. `[3.8.8,4)`), so exact pins and ranges with an upper bound below 4 were silently skipped. - Added a new `UPPER_BOUND_BELOW_MAVEN4` pattern that catches any version range whose upper bound has a major version less than 4, covering exact version pins (`[3.8.6,3.8.6]` -> `[3.8.6,5)`), sub-4 upper bounds (`[3.8.0,3.9)` -> `[3.8.0,5)`), and unbounded lower ranges (`(,3.9]` -> `(,5)`). - Added 6 new tests for the new patterns and updated 1 existing test to reflect the corrected behavior for sub-4 upper bounds. ## Test plan - [x] All 27 `EnforcerVersionRangeStrategyTest` tests pass (was 22 before) - [x] Exact version pin `[3.8.6,3.8.6]` is now widened to `[3.8.6,5)` - [x] Edge cases tested: `[3.0,3.0]`, `[3.9.0,3.9.0]`, `[4.0.0,4.0.0]` (not widened) - [x] Sub-4 upper bound `[3.8.8,3.9)` is now widened to `[3.8.8,5)` - [x] Full POM integration test verifies exact pin widening in plugin configuration - [x] Existing tests for `[3.8.8,4)`, `[3,4)`, etc. still pass unchanged 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
