For more information read
https://maven.apache.org/docs/3.10.1/release-notes.html
🚀 New features and improvements
- [maven-3.10.x] Replace the 3.10 MessageBuilderFactory with the Maven 4 API (#13919) @slachiewicz
- Drop JLine, emit ANSI colors directly (#13888) @cstamas
- [3.10.x] Accept the ? optional-profile prefix in -P (#13480) @slachiewicz
🐛 Bug Fixes
- [maven-3.10.x] Replace the 3.10 MessageBuilderFactory with the Maven 4 API (#13919) @slachiewicz
- Fix recursion detection for custom rootDirectory aliases (#13891) @goutamadwant
- Fix #13883: Do not shadow a custom rootDirectory property (#13885) @slawekjaranowski
- [3.10.x] Wait for terminal installation before caching logging output (#13799) @goutamadwant
- Fix #13726: add JAnsi compatibility shim to maven-jline and narrow jansi exports in extension.xml (#13727) @arturobernalg
- [Backport maven-3.10.x] Do not store the default current project in threads that only read it (#13803) @gnodet
- Read jar resources without the JVM jar: cache (#13737) @slachiewicz
- [Backport maven-3.10.x] Fix DependencyResolutionResult not dispatched when resolution fails (fix #8635) (#13688) @gnodet
- [maven-3.10.x] Resolve multiModuleProjectDirectory lexically instead of canonically (fix #11167) (#13650) (#13674) @gnodet
- [Backport maven-3.10.x] Honour the full interpolation flag for profile activation of low validation level builds (fix #13347) (#13571) @arturobernalg
- [Backport maven-3.10.x] Keep the zero between hyphens in the canonical form of a version (fix #8873) (#13572) @arturobernalg
- [Backport maven-3.10.x] fix: error == null to error != null in isError (#13595) @arturobernalg
- [Backport maven-3.10.x] [MNG-8056] - Fix -f/-s parameters failing with absolute Cygwin paths (fix #10810) (#13593) @arturobernalg
- Read the password to encrypt from the standard input when there is no console (fix #10230) (#13589) @arturobernalg
- fix: JSR330 filtering fix (#13582) @cstamas
- [Backport maven-3.10.x] Report an invalid parent of an attached artifact instead of a NullPointerException (fix #8393) (#13575) @arturobernalg
- [Backport maven-3.10.x] [MNG-8092] - Only warn about extension in reactor for projects actually built (fix #10859) (#13580) @arturobernalg
- [3.10.x] Accept the ? optional-profile prefix in -P (#13480) @slachiewicz
- [3.10.x] Fix gh-11618: Make DefaultModelValidator thread-safe (#13303) @abhu85
- [Backport maven-3.10.x] Keep the progress number of a project that is built again (fix #10291) (#13579) @arturobernalg
- [Backport maven-3.10.x] fix: honour quotes in MAVEN_ARGS in bin/mvn (fix #13413) (#13553) @gnodet
- Treat all loopback hosts as local for external mirror rules (fix #8320) (#13526) @gnodet
- [3.10.x] Fix #13390: stop POM properties from self-activating profiles in external builds (#13451) @gnodet
- [Backport 3.10.x] fix: print usage when no goals and no POM are specified, improve -f error messages (#13511) @gnodet
- [Backport 3.10.x] Evaluate expressions without a mojo execution (fix #8052) (#13505) @arturobernalg
- Verify the cygpath on the PATH converts to usable Windows paths (#13429) @choksi2212
- fix: accept documented lowercase values for maven.resolver.validation (#13474) @gnodet
- Fix settings interpolation with double-hyphen paths (#13399) @arturobernalg
- Honour --color in embedded MavenCli.doMain (#13358) @slachiewicz
📝 Documentation updates
- Fix link in default-bindings.md.vm (#13841) @slawekjaranowski
- Remove the Maven 2 era design notes from the maven-core site (#13771) @slachiewicz
👻 Maintenance
- Remove JLine/JAnsi native-access workarounds from launcher scripts (#13926) @slawekjaranowski
- chore: plugin updates (#13887) @cstamas
- Use push for PR Automation (#13610) @slawekjaranowski
- Add PR Signal workflow (#13599) @slawekjaranowski
- fix: align lifecycle model id with the published XSD name (#13308) @slawekjaranowski
🔧 Build
- [3.10.x] Use https for the Apache snapshots plugin repository (#13874) @slachiewicz
- Do not cache the JDKs setup-java installs (#13697) @slachiewicz
- Use ubuntu-26.04 instead of ubuntu-latest (#13666) @slawekjaranowski
- Prune superseded integration-test cache generations (#13616) @slachiewicz
- Cache the integration-test repository once (#13614) @slachiewicz
- Build with Maven 3.10.0 in CI (#13481) @slachiewicz
- [maven-3.10.x] Test JDK 27 instead of 26 (#13440) @slachiewicz
- [maven-3.10.x] Use the runners' cached Temurin JDKs in CI (#13434) @slachiewicz
- [maven-3.10.x] Do not save CI caches from pull requests and dependabot/ branches (#13432) @slachiewicz
📦 Dependency updates
- deps: Bump Sisu to 1.1.2 (#13912) @cstamas
- build: bump actions/setup-java from 6.0.1 to 6.2.0 (#13623, #13907) @dependabot[bot]
- deps: use released Resolver 2.0.25 (#13896) @cstamas
- build: bump com.google.guava:guava from 33.7.1-jre to 33.8.0-jre (#13346, #13867) @dependabot[bot]
- Update Maven Surefire and Failsafe plugin to 3.6.1 (#13856) @slawekjaranowski
- deps: Resolver 2.0.25 (#13446) @cstamas
- Replace javax.annotation-api with jakarta.annotation-api 1.3.5 (#13703) @slachiewicz
- build: bump org.ow2.asm:asm from 9.10.1 to 9.11.1 (#13428, #13662) @dependabot[bot]
- build: bump actions/upload-artifact from 7.0.1 to 7.0.2 (#13426) @dependabot[bot]
- build: bump actions/download-artifact from 8.0.1 to 8.0.2 (#13427) @dependabot[bot]
- build: bump slf4jVersion from 2.0.19 to 2.0.20 (#13287) @dependabot[bot]