The Apache Maven team is pleased to announce the release of the Apache Maven 3.9.0
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. Maven 3.9.0 is available via https://maven.apache.org/download.cgi The core release is independent of plugin releases. Further releases of plugins will be made separately. If you have any questions, please consult: - the web site: https://maven.apache.org/ - the maven-user mailing list: https://maven.apache.org/mailing-lists.html - the reference documentation: https://maven.apache.org/ref/3.9.0/ Release Notes - Maven - Version 3.9.0 ** Sub-task * [MNG-7019] - Notify also at start when profile is missing * [MNG-7447] - Several Improvements by using Stream API ** Bug * [MNG-5222] - Maven 3 no longer logs warnings about deprecated plugin parameters. * [MNG-6965] - Extensions suddenly have org.codehaus.plexus:plexus-utils:jar:1.1 on their classpath * [MNG-7055] - Using MINSTALL/DEPLOY 3.0.0-M1+ does not write plugin information into maven-metadata.xml * [MNG-7106] - VersionRange.toString() produces a string that cannot be parsed with VersionRange.createFromVersionSpec() for same lower and upper bounds * [MNG-7131] - maven.config doesn't handle arguments with spaces in them * [MNG-7160] - Extension And Classloaders: difference of result given extension types * [MNG-7316] - REGRESSION: MavenProject.getAttachedArtifacts() is read-only * [MNG-7352] - org.apache.maven.toolchain.java.JavaToolchainImpl should be public * [MNG-7413] - Fix POM model documentation confusion on report plugins, distribution repository and profile build * [MNG-7425] - Maven artifact downloads sometimes result in empty zip files in local repository * [MNG-7432] - [REGRESSION] Resolver session contains non-MavenWorkspaceReader * [MNG-7433] - [REGRESSION] Multiple maven instances working on same source tree can lock each other * [MNG-7441] - Update Version of (optional) Logback to Address CVE-2021-42550 * [MNG-7448] - Don't ignore bin/ otherwise bin/ in apache-maven module cannot be readded * [MNG-7459] - Revert MNG-7347 (SessionScoped beans should be singletons for a given session) * [MNG-7471] - Resolver 1.8.0 introduces binary breakage in plugin using Resolver * [MNG-7487] - Fix deadlock during forked lifecycle executions * [MNG-7493] - [REGRESSION] Resolving dependencies between submodules fails * [MNG-7504] - Warning about unknown reportPlugins parameters for m-site-p are always generated * [MNG-7511] - Ensure the degreeOfConcurrency is a positive number in MavenExecutionRequest * [MNG-7515] - Cannot see a dependency tree for apache-maven module * [MNG-7529] - Maven resolver makes bad repository choices when resolving version ranges * [MNG-7545] - Multi building can create bad files for downloaded artifacts in local repository * [MNG-7563] - REGRESSION: User properties now override model properties in dependencies * [MNG-7564] - Potential NPE in MavenMetadataSource * [MNG-7568] - [WARNING] The requested profile "ABCDEF" could not be activated because it does not exist. * [MNG-7578] - Building Linux image on Windows impossible (patch incuded) * [MNG-7600] - LocalRepositoryManager is created too early * [MNG-7606] - Maven 3.9.0-SNAPSHOT cannot build Maven 4.0.0-SNAPSHOT * [MNG-7621] - Parameter '-f' causes ignoring any 'maven.config' (only on Windows) * [MNG-7624] - Plugins without non-mandatory goalPrefix are now logging incomplete info * [MNG-7637] - Possible NPE in MavenProject#hashCode() * [MNG-7644] - Fix version comparison where .X1 < -X2 for any string qualifier X * [MNG-7648] - Generated model reader is not setting location information * [MNG-7672] - Aggregate goals executed in a submodule forks the whole reactor ** New Feature * [MNG-3655] - Allow multiple local repositories * [MNG-6270] - Store snapshots in a separate local repository * [MNG-7193] - Introduce MAVEN_ARGS environment variable * [MNG-7353] - Add support for "mvn pluginPrefix:version:goal" * [MNG-7391] - Add MojoExecution strategy and runner required by Maven Build Cache Extension * [MNG-7454] - Include resolver-transport-http in Maven * [MNG-7457] - Warn about deprecated plugin Mojo * [MNG-7464] - Warn about using read-only parameters for Mojo in configuration * [MNG-7468] - Unsupported plugins parameters in configuration should be verified * [MNG-7486] - Create a multiline message helper for boxed log messages * [MNG-7612] - Chained Local Repository ** Improvement * [MNG-6609] - Profile activation by packaging * [MNG-6826] - Remove condition check for JDK8+ in FileSizeFormatTest * [MNG-6972] - Allow access to org.apache.maven.graph * [MNG-7068] - Active dependency management for Google Guice/Guava * [MNG-7350] - Introduce a factory for ModelCache * [MNG-7401] - Make MavenSession#getCurrentProject() using a thread local * [MNG-7438] - add execution id to "Configuring mojo xxx with basic configurator" debug message * [MNG-7445] - to refactor some useless code * [MNG-7463] - Improve documentation about deprecation in Mojo * [MNG-7474] - SessionScoped beans should be singletons for a given session * [MNG-7476] - Display a warning when an aggregator mojo is locking other mojo executions * [MNG-7478] - Improve transport selection for resolver * [MNG-7501] - display relative path to pom.xml * [MNG-7520] - Simplify integration of Redisson and Hazelcast for Maven Resolver * [MNG-7547] - Simplify G level metadata handling * [MNG-7561] - DefaultVersionRangeResolver should not try to resolve versions with same upper and lower bound * [MNG-7590] - Allow configure resolver by properties in settings.xml * [MNG-7608] - Make Resolver native transport the default in Maven * [MNG-7614] - Maven should translate transport configuration fully to resolver transports. * [MNG-7619] - Maven should explain why an artifact is present in local repository * [MNG-7645] - Implement some #toString() methods * [MNG-7651] - Simplify and document merge of maven.config file and CLI args * [MNG-7658] - CI-friendly versions should only come from/rely on user properties * [MNG-7666] - Update default binding and lifecycle plugin versions ** Task * [MNG-6399] - Lift JDK minimum to JDK 8 * [MNG-7452] - Remove JDK7 run on Maven 3.9.X Branch * [MNG-7466] - Align Assembly Descriptor NS versions * [MNG-7513] - Address commons-io_commons-io vulnerability found in maven latest version * [MNG-7523] - Back port MAVEN_ARGS to Apache Maven 3.9.0 * [MNG-7556] - Clean up notion between user properties and system properties * [MNG-7618] - Use goalPrefix instead of artifactId to display mojos being executed * [MNG-7634] - Revert MNG-5982 and MNG-7417 * [MNG-7636] - Partially revert MNG-5868 to restore backward compatibility (see MNG-7316) ** Dependency upgrade * [MNG-6878] - Upgrade Guice to 4.2.3 * [MNG-7247] - Upgrade Maven Resolver to 1.7.2 * [MNG-7453] - Upgrade Maven Resolver to 1.8.0 * [MNG-7488] - Upgrade SLF4J to 1.7.36 * [MNG-7489] - Upgrade JUnit to 4.13.2 * [MNG-7491] - Update parent POM to 36 * [MNG-7499] - Upgrade Maven Resolver to 1.8.1 * [MNG-7502] - Upgrade Guice to 5.1.0 * [MNG-7506] - Upgrade Maven Wagon to 3.5.2 * [MNG-7522] - Upgrade Maven Resolver to 1.8.2 * [MNG-7530] - Upgrade Apache Maven parent POM to version 37 * [MNG-7586] - Update Maven Resolver to 1.9.2 * [MNG-7613] - Upgrade Apache Maven parent POM to version 38 * [MNG-7641] - Upgrade Maven Wagon to 3.5.3 * [MNG-7668] - Update Maven Resolver to 1.9.4 * [MNG-7675] - Update Maven Parent to 39 For more information read https://maven.apache.org/docs/3.9.0/release-notes.html Have fun! - The Maven Team