Skip to content

Instantly share code, notes, and snippets.

@gnodet
Created November 7, 2025 23:27
Show Gist options
  • Select an option

  • Save gnodet/8a837a04a11f0e1359475c9dc5e68000 to your computer and use it in GitHub Desktop.

Select an option

Save gnodet/8a837a04a11f0e1359475c9dc5e68000 to your computer and use it in GitHub Desktop.
Apache Maven 4.0.0-rc-5

๐Ÿ’ฅ Breaking changes

  • Disable consumer POM flattening by default and add an opt-in feature (#11347) (#11370) @gnodet

๐Ÿš€ New features and improvements

  • Disable consumer POM flattening by default and add an opt-in feature (#11347) (#11370) @gnodet
  • Make config files use UTF8 (#11263) (#11265) @cstamas
  • Simplify prefix resolution (#11072) (#11073) @cstamas
  • Add PathMatcherFactory.includesAll() (#11008) @desruisseaux
  • Add skipMavenRc to ExecutorRequest and use it in ITs (#10944) @slawekjaranowski
  • Add PathMatcherFactory service with directory filtering optimization (#10923) (#10926) @gnodet
  • Allow configurable repository selection for version range resolution (backport) (#10890) @cstamas
  • Switch resolver to use rwlock-local locks (#2546) (#2555) @gnodet

๐Ÿ› Bug Fixes

  • Fix resource targetPath resolution to be relative to output directory (fixes #11381) (#11394) (#11406) @gnodet
  • Fix MavenStaxReader location reporting for properties (#11402) (#11404) @gnodet
  • Fix false parent cycle detection with flatten-maven-plugin (#11400) @gnodet
  • Resolve property before model reflection to avoid recursion (#11385, fixes #11384) (#11390) @gnodet
  • Explicitly register jdk ToolchainFactory for Maven 3 plugins (#11318) (#11369) @gnodet
  • Fix -itr option not honored (#11359) (#11361) @gnodet
  • Do not include invalid transitive repositories (#11357) (#11362) @gnodet
  • Prevent infinite loop in RootLocator when .mvn directory exists in subdirectory (fixes #11321) (#11323) (#11350) @gnodet
  • Fix [unknown project] messages in error output (#11324) (#11349) @gnodet
  • Restore compatibility in maven-embedder (#11320) (#11340) @gnodet
  • Add backward compatibility dependencies to maven-compat (#11301) (#11339) @gnodet
  • Relative are resolved against the wrong directory (#11325) @desruisseaux
  • Bug: when raw-streams are used, ensure system streams are set up (#11303) (#11310) @cstamas
  • Fix plugin prefix resolution when metadata is not available from repository (#11287) (#11288) @gnodet
  • Maven model 4.1.0 should not allow non-pom packaging for aggregators (#11279) (#11285) @gnodet
  • Fix exception caused by duplicate dependencies in consumer pom (#11283) (#11286) @gnodet
  • Remove use of toRealPath (#11250) (#11257) @cstamas
  • Bugfix: fix CLI graceful death (#11239) (#11246) @cstamas
  • Introduce RepositoryAwareRequest interface to consolidate repository handling (#11238) (#11244) @gnodet
  • Fix repository ID interpolation in Maven 4 (#11224) (#11241) @gnodet
  • Fix dependency groupId inference for Maven 4.1.0 model version (#11228) (#11240) @gnodet
  • Consumer POM should keep only transitive dependencies, fixes #11162 (#11163) (#11235) @gnodet
  • Fix StackOverflowError in parent POM resolution (backport #11106) (#11234) @gnodet
  • Fix CI-friendly version processing with profile properties (fix #11196) (#11225) @gnodet
  • Add phase upgrade support for Maven 4.1.0 model upgrades (#11226) @gnodet
  • Fix GH-11199: Maven 4.0.0-rc-4 ignores defaultLogLevel (#11227) @gnodet
  • Validate metaversions and detect extension conflicts (fixes #11181) (#11216) @cstamas
  • Allow repository URL interpolation with improved validation (#11140) (#11210) @gnodet
  • Improve mvn usage message (#11211) (#11213) @gnodet
  • Enable the search for module-info.class file in the META-INF/versions/ sub-directories of a JAR file. (#11153) (#11206) @gnodet
  • Fix #10939: DefaultModelXmlFactory: make location tracking opt-inโ€”disabled by defโ€ฆ (#11092) @arturobernalg
  • Fix #11000: fix help default text (#11099) @arturobernalg
  • GH-10210: fix too eager decrypt of legacy passwords (#11138) (#11158) @cstamas
  • #11055: Inject all services into mojos and enable easy real-session mojo testing (#11103) (#11139) @gnodet
  • Fix ReactorReader to prefer consumer POMs over build POMs (#11107) (#11131) @gnodet
  • model-builder: simplify subproject auto-discovery decision (#11124) (#11132) @gnodet
  • Add missing equals and hashCode methods in modular Java path type. (#11130) @desruisseaux
  • fix: include extension in equals/hashCode of DefaultArtifactCoordinates (#11101) @arturobernalg
  • Fix #11127: enforce non-null keys for InputLocation lookups and document behavior (#11128) @gnodet
  • Bug: bad cache isolation between two sessions (#11083) (#11085) @cstamas
  • Fix targetPath parameter ignored in resource bundles (fixes #11062) (#11063) (#11080) @gnodet
  • Maven Upgrade Tool: remove unused --force and --yes options (Fixes #11001) (#11066) (#11079) @gnodet
  • Fix XMLReader#getURL and enable the unit test (#11069) (#11078) @gnodet
  • [#11048] Fix race condition in MessageUtils (#11049) (#11077) @gnodet
  • Uninterpolated repositories from parent POMs during model building (backport) (#11039) @cstamas
  • Fix maven.mainClass property missing for external tools (#10998) (#11007) @gnodet
  • Set Guice class loading to CHILD - avoid using terminally deprecated methods (#11002) @slawekjaranowski
  • Avoid parsing MAVEN_OPTS (master/4.x) (#10970) (#10993) @gnodet
  • Port the bug fixes identified when using that class in Maven clean and compiler plugin (#10935) (#10936) @gnodet
  • Fix XmlNode.equals returning false between two different node implementations (#10942) @gnodet
  • perf: optimize CompositeBeanHelper with reflection caching (#10927) @gnodet
  • Expand value interning optimization and add configurable session property (#2495) (#10932) @gnodet
  • Optimize validation performance with lazy SourceHint evaluation (#2518) (#10919) @gnodet
  • Refactor setupContainer to validate ExtensionContext, test class and instance, and throw clear IllegalStateExceptions (#10901, fixes #10428) (#10918) @gnodet
  • Bug fix in the default directory computed by DefaultSourceRoot. (#10912) (#10917) @gnodet
  • Optimize XmlPlexusConfiguration for performance and thread safety (#2527) (#10916) @gnodet
  • Fix mvnup tool issues #7934-#7938 (#9311) (#10915) @gnodet
  • Fix #2486: Make Resource.addInclude() persist in project model (#2534) (#2565) @gnodet
  • Fix MavenProject#getPlugin(String) performances (#2530) (#2573) @gnodet
  • bug: fix duplicate dependency in effective model (fixes #2532) (#2554) (#2556) @gnodet
  • Split system and user properties from maven.properties (#2547) @gnodet
  • Fix ReactorReader incorrect warnings and logic (fixes #2497, #2498) (#2536) @gnodet
  • Avoid double flush (#2478) (#2537) @gnodet
  • Deduplicate filtered dependency graph (#2493) @alzimmermsft

๐Ÿ‘ป Maintenance

  • Change IntelliJ icon to new oak leaf (#11407) @Bukama
  • Fix IT isolation for MNG-6256 IT (#11395) (#11396) @cstamas
  • Maven 4.0.x proper isolation (#11393) @cstamas
  • [4.0.x] Consolidate caches (#11379) @cstamas
  • Fix ITs (#11371) (#11372) @gnodet
  • Mimir Cache-Purge w Pre-seed (#11315) (#11348) @cstamas
  • Missed parts for Mimir update (#11312) (#11313) @cstamas
  • Mimir 0.10.3 (#11291) (#11311) @cstamas
  • Upgrade Mimir (#11274) (#11282) @cstamas
  • Upgrade to spotless 3.0.0 and palantir 2.80.0 (#11275) (#11277) @gnodet
  • Tidy up executor UTs (#11249) (#11262) @cstamas
  • Sync GH workflow with master (#11221) @cstamas
  • IT fixes (#11217) @cstamas
  • Maven 4.0.x backport mimir (#11180) @cstamas
  • commons-cli deprecations (#11170) (#11176) @cstamas
  • Mimir updates (#11161) (#11166) @cstamas
  • [[MNG-8696] - ](https://issues.apache.org/jira/browse/MNG-8696) - Hide the cache from DefaultDependencyResolverResult constructor (#11154) @desruisseaux
  • Generating configuration documentation during site build (#10979) @slawekjaranowski
  • Improvements in ITs executing - provide default local repo (#10963) @slawekjaranowski
  • Backport: Fix build and Jenkinsfile (#10904) (#10905) @cstamas
  • chore: remove unused managed dependency (#2570) (#2572) @gnodet
  • Cleanups duplicate configs with new parent (#2567) @gnodet
  • Update Maven version to 4.0.0-SNAPSHOT (#2513) @gnodet
  • Update branch name for release-drafter in maven-4.0.x (#2503) @slawekjaranowski
  • Execute GitHub action - Java CI on maven-4.0.x branch (#2504) @slawekjaranowski

๐Ÿ”ง Build

  • Bump actions/upload-artifact from 4.6.2 to 5.0.0 (#11332) @dependabot[bot]
  • Bump actions/download-artifact from 5.0.0 to 6.0.0 (#11333) @dependabot[bot]
  • Allow single build per branch or pull request (#11045) @slawekjaranowski
  • Pin GitHub action versions by hash (#10902) @slawekjaranowski

๐Ÿ“ฆ Dependency updates

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment