Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions content/markdown/docs/3.10.0-rc-1/release-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->

# Maven 3.10.0-rc-1 Release Notes

The Apache Maven team would like to announce the release of Maven 3.10.0-rc-1.

Maven 3.10.0-rc-1 is [available for download][0].

The core release is independent of plugin releases. Further releases of plugins will be made separately. See the [Plugin list][1] for more information.

If you have any questions, please consult:

- the website: [https://maven.apache.org/][2]
- the maven-user mailing list: [https://maven.apache.org/mailing-lists.html](/mailing-lists.html)
- the reference documentation: [https://maven.apache.org/ref/3.10.0-rc-1/](/ref/3.10.0-rc-1/)

## Overview of the Changes

## Notable Changes in Maven 3.10.0-rc-1

### New Features and Improvements

- use Resolver 2.x
- allow defining user-wide and installation-wide Maven extensions
- [Reproducible Builds](/guides/mini/guide-reproducible-builds.html) is active by default
- promote `session.topDirectory`, `session.rootDirectory` and `project.rootDirectory` properties
- version range filtering
- allow defining user relocations
- allow using transitive dependency manager
- in a failed build limit reactor summary to only failed modules
- new CLI options for fine-grained update policy control: `-UA` (force artifact updates only), `-UM` (force metadata updates only), `--artifacts-update-policy=<policy>`, `--metadata-update-policy=<policy>`

### New API and Updates for Maven Plugins

- upgrade `SLF4J` to 2.x
- promote `MessageBuilderFactory` service for colored message support
- promote java version in `JavaToolchain`

## Full changelog

For a full list of changes, please refer to the [GitHub release page](https://github.com/apache/maven/releases/tag/maven-3.10.0-rc-1).

## Known issues

No known issues.

## Potentially Breaking Core Changes (if migrating from 3.9.x)

### Classpath ordering change

Dependency classpath ordering changed from "pre-order" (depth-first) to "level-order" (breadth-first),
aligning with Maven 4 behavior and Resolver 2.x defaults.

To restore the previous behavior, add `-Daether.system.dependencyVisitor=preOrder` to your Maven invocation.

### Changes in the Super POM:

- removed deprecated `release-profile`; each project should have its own release profile
- removed plugin management; each project should have its own plugin management
- set default values for `project.build.sourceEncoding` and `project.reporting.outputEncoding` to `UTF-8`

## Complete Release Notes

See [complete release notes for all versions][3]

[0]: ../../download.html
[1]: ../../plugins/index.html
[2]: https://maven.apache.org/
[3]: ../../docs/history.html
16 changes: 15 additions & 1 deletion content/markdown/docs/history.md.vm
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ $b<a href="$announceLink">announce</a>##
$b<a href="./$version/release-notes.html">release notes</a>##
#end
#end
#if( $version.startsWith( "4.0.0" ) || $version.startsWith( "3.5.0" ) || $version.equals( "2.0.11" ) || $version.equals( "2.2.1" ) || !( $version.contains( "-" ) || $version.startsWith( "2" ) ) )
#if( $version.startsWith( "4.0.0" ) || $version.startsWith( "3.10." ) || $version.startsWith( "3.5.0" ) || $version.equals( "2.0.11" ) || $version.equals( "2.2.1" ) || !( $version.contains( "-" ) || $version.startsWith( "2" ) ) )
, <a href="/ref/$version/">reference documentation</a>##
#end##
$b_</td>
Expand Down Expand Up @@ -96,6 +96,20 @@ $esc.h$esc.h Maven 4.0+ (not yet GA)

</table>

$esc.h$esc.h Maven 3.10.x+
<table>
<tr><th>Release Date</th>
<th>Version</th>
<th>Required Java Version</th>
<th>Links</th>
</tr>
<!-- release( date version announce latest-minor jdk rowspan ) -->
<!-- The following two lines needs to be fixed in x days if the archive picks up the announcement mail. -->

#release( "2026-07-09" "3.10.0-rc-1" "https://lists.apache.org/thread/TBD" "true" "Java 8" "1" )

</table>

$esc.h$esc.h Maven 3.9.x+
<table>
<tr><th>Release Date</th>
Expand Down
52 changes: 52 additions & 0 deletions content/xdoc/download.xml.vm
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ under the License.
<li><a href="#Maven">Apache Maven</a>
<ul>
<li><a href="#CurrentMaven">Current Maven ${currentStableVersion}</a></li>
<li><a href="#Maven310x">Preview Maven ${current310xVersion}</a></li>
<li><a href="#Maven4x">Preview Maven ${current4xVersion}</a></li>
</ul>
</li>
Expand Down Expand Up @@ -125,6 +126,57 @@ under the License.
and <a href="https://archive.apache.org/dist/maven/binaries/">legacy archives</a> for earlier releases.</p>
</subsection>

<subsection name="Preview 3.10.x Release" id="Maven310x">
<p>Maven 3.10.x is currently under development, so while we are encouraging users to try it and report any issues, it is <b>NOT</b> safe for production use.</p>

<p>Maven 3.10+ requires JDK 8 or above to execute. It still allows you to build against 1.3 and other JDK versions
<a href="/guides/mini/guide-using-toolchains.html">by using toolchains</a>.</p>

<table>
<thead>
<tr>
<th></th>
<th>Link</th>
<th>Checksums</th>
<th>Signature</th>
</tr>
</thead>
<tbody>
<tr>
<td>Binary tar.gz archive</td>
<td><a href="[preferred]maven/maven-3/${current310xVersion}/binaries/apache-maven-${current310xVersion}-bin.tar.gz">apache-maven-${current310xVersion}-bin.tar.gz</a></td>
<td><a href="https://downloads.apache.org/maven/maven-3/${current310xVersion}/binaries/apache-maven-${current310xVersion}-bin.tar.gz.sha512">apache-maven-${current310xVersion}-bin.tar.gz.sha512</a></td>
<td><a href="https://downloads.apache.org/maven/maven-3/${current310xVersion}/binaries/apache-maven-${current310xVersion}-bin.tar.gz.asc">apache-maven-${current310xVersion}-bin.tar.gz.asc</a></td>
</tr>
<tr>
<td>Binary zip archive</td>
<td><a href="[preferred]maven/maven-3/${current310xVersion}/binaries/apache-maven-${current310xVersion}-bin.zip">apache-maven-${current310xVersion}-bin.zip</a></td>
<td><a href="https://downloads.apache.org/maven/maven-3/${current310xVersion}/binaries/apache-maven-${current310xVersion}-bin.zip.sha512">apache-maven-${current310xVersion}-bin.zip.sha512</a></td>
<td><a href="https://downloads.apache.org/maven/maven-3/${current310xVersion}/binaries/apache-maven-${current310xVersion}-bin.zip.asc">apache-maven-${current310xVersion}-bin.zip.asc</a></td>
</tr>
<tr>
<td>Source tar.gz archive</td>
<td><a href="[preferred]maven/maven-3/${current310xVersion}/source/apache-maven-${current310xVersion}-src.tar.gz">apache-maven-${current310xVersion}-src.tar.gz</a></td>
<td><a href="https://downloads.apache.org/maven/maven-3/${current310xVersion}/source/apache-maven-${current310xVersion}-src.tar.gz.sha512">apache-maven-${current310xVersion}-src.tar.gz.sha512</a></td>
<td><a href="https://downloads.apache.org/maven/maven-3/${current310xVersion}/source/apache-maven-${current310xVersion}-src.tar.gz.asc">apache-maven-${current310xVersion}-src.tar.gz.asc</a>
</td>
</tr>
<tr>
<td>Source zip archive </td>
<td><a href="[preferred]maven/maven-3/${current310xVersion}/source/apache-maven-${current310xVersion}-src.zip">apache-maven-${current310xVersion}-src.zip</a></td>
<td><a href="https://downloads.apache.org/maven/maven-3/${current310xVersion}/source/apache-maven-${current310xVersion}-src.zip.sha512">apache-maven-${current310xVersion}-src.zip.sha512</a></td>
<td><a href="https://downloads.apache.org/maven/maven-3/${current310xVersion}/source/apache-maven-${current310xVersion}-src.zip.asc">apache-maven-${current310xVersion}-src.zip.asc</a></td>
</tr>
</tbody>
</table>
<ul>
<li>${current310xVersion} <a href="./docs/${current310xVersion}/release-notes.html">Release Notes</a> and
<a href="./ref/${current310xVersion}/">Release Reference Documentation</a></li>
<li>Distributed under the <a href="https://www.apache.org/licenses/">Apache License, version 2.0</a></li>
<li><a href="https://archive.apache.org/dist/maven/maven-3/">Maven 3 archives</a> for older 3.x releases.</li>
</ul>
</subsection>

<subsection name="Preview 4.x Release" id="Maven4x">
<p>Maven 4.x is currently under development, so while we are encouraging users to try it and report any issues, it is <b>NOT</b> safe for production use.</p>

Expand Down
1 change: 1 addition & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
<!-- disable Reproducible Builds that makes the site build time fixed at last release time -->
<currentStableVersion>3.9.16</currentStableVersion>
<currentStableVersionDetails>2bdd9fddda4b155ebf8000e807eb73fd829a51d5</currentStableVersionDetails>
<current310xVersion>3.10.0-rc-1</current310xVersion>
<current4xVersion>4.0.0-rc-5</current4xVersion>
<current39xVersion>3.9.16</current39xVersion>
<currentMvnd1xVersion>1.0.6</currentMvnd1xVersion>
Expand Down