Maven: master vs maven-4.0.x branch analysis (2026-05-13)
Generated on 2026-05-13
| master | maven-4.0.x | |
|---|---|---|
| Version | 4.1.0-SNAPSHOT | 4.0.0-SNAPSHOT |
| Unique commits | 390 | 294 |
| Files changed | 3,132 (+18,923 / -16,190) | |
| Merge base | cb8701e73d |
Most maven-4.0.x commits are backports of master fixes (often with [maven-4.0.x] or (#XXXX) (#YYYY) dual-PR references). The substantive differences fall into the categories below.
- Model version 4.2.0 —
Create a new modelVersion 4.2.0 (#2475)+ POM mixins support (#1209) + mixin validation (#11463) + mvnup tests for 4.2.0 (#11453) - Maven Resolver 2.0.16 — master uses Resolver 2.x line while 4.0.x stays on 2.0.14
- Collapse maven-executor —
Feat: collapse maven-executor and apply fixes (#11976) - Export scope package from resolver-api 2.x —
606f9477e0 - Type derive (simpler) —
#11380— simplified type derivation - Processor path conflict resolution —
fix: preserve processor path types across conflict resolution (#11805) - Fail on legacy config in modular projects —
#11702 - Source tracking unification —
Unify source tracking with SourceHandlingContext (#11632) - SLF4J JDK Platform Logging Integration —
b018c4d16f - Cache architecture improvements —
Improve Maven cache architecture for better memory efficiency and performance (#2506) - Smart project scheduling —
enhance MultiThreadedBuilder with smart project scheduling (#10893) - Injector.dispose() —
Implement Injector.dispose() and add cleanup test (#10903) - ProblemCollector filtering —
[MNG-8449] Add Filtering Support (#10900) - Snapshot filter for version ranges —
Add an unconditional ns version range filter (#2566) - Deploy build POM control —
[MNG-8568] Add maven.deploy.buildPom property (#2571) - Deprecation documentation — several deprecation rationale docs (Language.SCRIPT, XmlNode constants, getPomFile, scriptSourceDirectory)
- serialVersionUID removal —
Removing all serialVersionUID (#11174) - Test framework migration — Hamcrest/AssertJ to JUnit 5 assertions (
#10986)
- Release commits —
prepare release maven-4.0.0-rc-4,maven-4.0.0-rc-5 - InputLocation/InputSource factory methods —
Add InputLocation/InputSource factory methods and make classes final for 4.0.0-rc-6 (#11538)— backward-compatible variant of master's731700abc6(cache architecture improvements), which made constructors package-private. The 4.0.x version keeps constructors public but deprecated, and makes the classes final. No port to master needed — master already has the stricter version. - Release-drafter configuration — 4.0.x-specific release note configuration
- StackOverflow fix variant —
Fix #11009: Prevent StackOverflowError in parent POM resolution (#11234)is a backport of master's#11106. Same cycle-detection approach (track visited parents viaparentSourceChain). The diff noise comes from pre-existing structural differences between branches (parent parameter passing style, mixin support on master only). No action needed — both branches have the fix.
master is the active development branch targeting Maven 4.1.0, with significant new features (model 4.2.0, POM mixins, resolver 2.0.16, executor consolidation, cache improvements, smart scheduling). maven-4.0.x is a stabilization branch for the 4.0.0 release line — most bug fixes flow from master to 4.0.x as backports, but the new features stay on master only.