Skip to content

Releases: apache/maven

3.9.1

18 Mar 13:04
Compare
Choose a tag to compare

Release Notes - Maven - Version 3.9.1

Overview About the Changes

Regression fixes from Maven 3.9.0. General performance and other fixes.

Potentially Breaking Core Changes (if migrating from 3.8.x)

  • The Maven Resolver transport has changed from Wagon to “native HTTP”, see Resolver Transport guide.

  • Maven 2.x was auto-injecting an ancient version of plexus-utils dependency into the plugin classpath, and Maven 3.x continued doing this to preserve backward compatibility. Starting with Maven 3.9, it does not happen anymore. This change may lead to plugin breakage. The fix for affected plugin maintainers is to explicitly declare a dependency on plexus-utils. The workaround for affected plugin users is to add this dependency to plugin dependencies until issue is fixed by the affected plugin maintainer. See MNG-6965.

  • Mojos are prevented to boostrap new instance of RepositorySystem (for example by using deprecated ServiceLocator), they should reuse RepositorySystem instance provided by Maven instead. See MNG-7471.

  • Each line in .mvn/maven.config is now interpreted as a single argument. That is, if the file contains multiple arguments, these must now be placed on separate lines, see MNG-7684.

Bug

  • [MNG-7213] - StackOverflowError when version ranges are unsolvable and graph contains a cycle
  • [MNG-7544] - MavenMetadataSource#retrieve(MetadataResolutionRequest) does not check for null when reading from project map
  • [MNG-7676] - On Maven 3.9.0+ release, sha512 hashes have "null" classifier
  • [MNG-7677] - Maven 3.9.0 is ~10% slower than 3.8.7 in large multi-module builds
  • [MNG-7679] - [REGRESSION] Build fails when executing a single mojo without a POM
  • [MNG-7685] - Unable to ignore certificate errors with v3.9.0
  • [MNG-7693] - NPE in createModelCache, modelCacheFactory is null
  • [MNG-7697] - Cannot parse POM that contains an emoji in a comment
  • [MNG-7708] - Resolver in Maven 3.9+ no longer retries on a conection failure
  • [MNG-7709] - plexus-utils upgrade changes the way configuration is parsed
  • [MNG-7710] - Upgrade plexus-utils to 3.5.1
  • [MNG-7716] - ConcurrencyDependencyGraph deadlock if no root can be selected
  • [MNG-7717] - Maven warns wrongly about ${localRepository} expression
  • [MNG-7720] - [REGRESSION] Build order is incorrect and does not respect Reactor Build Order
  • [MNG-7721] - Maven 3.9 resolver ignores proxy configured via MAVEN_OPTS
  • [MNG-7726] - Maven 3.9.0 resolves properties in file profile activation incorrectly
  • [MNG-7731] - MNG-7520 incorrectly back ported to Maven 3.9.0

Improvement

  • [MNG-5185] - Improve "missing dependency" error message when _maven.repositories/_remote.repositories contains other repository ids than requested
  • [MNG-7686] - Speed up by replacing non-pattern #replaceAll() with #replace() or precompiled patterns
  • [MNG-7706] - Deprecate ${localRepository} mojo parameter expression

Task

  • [MNG-7197] - Simplify exit code handling in Windows command startup script
  • [MNG-7583] - Allow concurrent access to the MavenPluginManager
  • [MNG-7702] - Update to Maven Deploy Plugin 3.1.0
  • [MNG-7713] - Drop option legacy-local-repository
  • [MNG-7722] - Investigate GH Package Registry peculiarities

Dependency upgrade

  • [MNG-7695] - Upgrade to resolver 1.9.5
  • [MNG-7715] - Upgrade to Maven Resolver 1.9.6
  • [MNG-7723] - Upgrade to Maven Resolver 1.9.7
  • [MNG-7725] - Update surefire to 3.0.0 in default binding

3.9.0

14 Feb 17:38
Compare
Choose a tag to compare

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

Read more

3.8.7

01 Jan 23:28
Compare
Choose a tag to compare

Sub-task

  • [MNG-7019] - Notify also at start when profile is missing

Bug

  • [MNG-7106] - VersionRange.toString() produces a string that cannot be parsed with VersionRange.createFromVersionSpec() for same lower and upper bounds
  • [MNG-7316] - REGRESSION: MavenProject.getAttachedArtifacts() is read-only
  • [MNG-7352] - org.apache.maven.toolchain.java.JavaToolchainImpl should be public
  • [MNG-7529] - Maven resolver makes bad repository choices when resolving version ranges
  • [MNG-7563] - REGRESSION: User properties now override model properties in dependencies
  • [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-7621] - Parameter '-f' causes ignoring any 'maven.config' (only on Windows)
  • [MNG-7637] - Possible NPE in MavenProject#hashCode()
  • [MNG-7644] - Fix version comparison where .X1 < -X2 for any string qualifier X

Improvement

  • [MNG-7590] - Allow configure resolver by properties in settings.xml
  • [MNG-7645] - Implement some #toString() methods

Task

Dependency upgrade

  • [MNG-7506] - Upgrade Maven Wagon to 3.5.2
  • [MNG-7641] - Upgrade Maven Wagon to 3.5.3

3.8.6

17 Jun 08:00
Compare
Choose a tag to compare

What's Changed

Full Changelog: maven-3.8.5...maven-3.8.6

3.8.5

15 Mar 20:39
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: maven-3.8.4...maven-3.8.5

3.8.4

27 Feb 21:54
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: https://github.com/apache/maven/commits/maven-3.8.4