Releases: apache/maven
3.9.3
Release Notes - Maven - Version 3.9.3
Bug
- [MNG-7786] - Maven Plugin Validation message is misleading
- [MNG-7795] - IllegalArgumentException: 'other' has different root during plugin validation
- [MNG-7796] - Top directory cannot be computed
- [MNG-7799] - Plugin validation falsely reports there are issues (but shows none)
- [MNG-7811] - Plugins verification - reports are inconsistent
- [MNG-7818] - [REGRESSION] maven improperly excludes hamcrest-core from junit
- [MNG-7819] - Create IT that exercise file locking with snapshots
Improvement
- [MNG-7698] - Allow comments in .mvn/maven.config
- [MNG-7785] - Clean usage of SessionData
- [MNG-7787] - Introduce new options for plugin validation
- [MNG-7788] - Plugin Validation Report should be printed before build summary
- [MNG-7789] - Plugin Dependency Validations use wrong data set
- [MNG-7806] - Plugins verification - remove used in module(s) report
- [MNG-7823] - Make plugin validation level parsing more consistent
Task
- [MNG-5987] - Document the algorithm calculating the order of plugin executions inside a phase.
- [MNG-7743] - Make the build work on JDK 20
- [MNG-7790] - Update lifecycle plugins
- [MNG-7791] - Split validation issues into "user actionable" and "plugin dev actionable"
- [MNG-7797] - Return BRIEF mode, simply map it onto SUMMARY
- [MNG-7807] - Update Super POM plugins
Dependency upgrade
3.9.2
Release Notes - Maven - Version 3.9.2
Bug
- [MNG-7750] - Interpolated properties in originalModel in an active profile.
- [MNG-7759] - java.lang.NullPointerException at org.apache.maven.repository.internal.DefaultModelCache.newInstance (DefaultModelCache.java:37)
Improvement
- [MNG-7712] - Core should issue a warning if plugin depends on maven-compat
- [MNG-7741] - Add more information when using -Dmaven.repo.local.recordReverseTree=true
- [MNG-7754] - Improvement and extension of plugin validation
- [MNG-7767] - Tone down plugin validation report
- [MNG-7778] - Maven should print suppressed exceptions when a mojo fails
Task
- [MNG-7749] - Upgrade animal-sniffer from 1.21 to 1.23
- [MNG-7774] - Maven config and command line interpolation
Dependency upgrade
4.0.0-alpha-5
What's Changed
- [MNG-7672] Fork should only execute the project and its submodules by @gnodet in #968
- [MNG-7673] IllegalArgumentException thrown for invalid checksum 'never' by @gnodet in #972
- Fix site plugin warning by @cstamas in #974
- Add bin packages to SHA512 checksumming as well by @cstamas in #978
- [MNG-7689] Check if execution lifecycle phase is not null by @c00ler in #996
- [MNG-7702] Update to Maven Deploy Plugin 3.1.0 by @cstamas in #1007
- [MNG-7695] Update resolver to 1.9.5 by @cstamas in #1011
- [MNG-7706] Deprecate 'localRepository' parameter expression (#1009) by @cstamas in #1012
- remove unused code by @elharo in #1016
- Simplify code with try with resources by @elharo in #1017
- [MNG-7713] Drop legacy-local-repository option by @cstamas in #1020
- [MNG-7713] Make Maven fail if option present (#1021) by @cstamas in #1022
- [MNG-7700] test some edge cases with leading zeroes by @elharo in #1014
- [MNG-7683] Iterate over each dominant child by @c00ler in #986
- [MNG-7717] Maven warns wrongly about deprecated parameter by @cstamas in #1031
- [MNG-7716] ConcurrencyDependencyGraph deadlock if no root is selected by @laeubi in #1029
- restore src/mdo/reader.vm by @elharo in #1034
- [MNG-7715] Update to resolver 1.9.6 by @cstamas in #1036
- Remove plexus utils dependency by @elharo in #1032
- Replace deprecated methods that don't properly handle encoding by @elharo in #1033
- [MNG-7720] Wrong build order of forked projects by @cstamas in #1040
- [MNG-7710] Upgrade plexus-utils to 3.5.1 by @gnodet in #1042
- Remove references to Xpp3DomBuilder and use XmlNodeBuilder instead by @gnodet in #1045
- Fix callee closing streams and readers instead of callers by @gnodet in #1043
- Additional XmlNode tests from plexus-utils by @gnodet in #994
- [MNG-7728] Fix mutable api in PluginContainer by @gnodet in #1019
- [MNG-7709] Regression in configuration merge by @gnodet in #1023
- [MNG-7727] Remove DefaultMavenProfilesBuilder by @gnodet in #1044
- [MNG-7724] don't warn about unsupported SLF4J configs; no one cares by @elharo in #1051
- [MNG-7723] Upgrade to Maven Resolver 1.9.7 by @cstamas in #1046
- [MNG-7730] remove unused MavenXmlException class by @elharo in #1049
- update a few URLs by @elharo in #1052
- [MNG-7678] Settings (v3) and Settings.Builder() cannot unset a non-null field by @gnodet in #983
- [MNG-7725] Update surefire to 3.0.0 in default binding by @slawekjaranowski in #1056
- [MNG-7697] Fix assembly which should not include original plexus-utils-3.5.0 by @gnodet in #1057
New Contributors
Full Changelog: maven-4.0.0-alpha-4...maven-4.0.0-alpha-5
3.9.1
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
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](https://issues.apache.o...
3.8.7
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
- [MNG-7513] - Address commons-io_commons-io vulnerability found in maven latest version
- [MNG-7634] - Revert MNG-5982 and MNG-7417
- [MNG-7636] - Partially revert MNG-5868 to restore backward compatibility (see MNG-7316)
Dependency upgrade
3.8.6
What's Changed
- [MNG-7441] 3.8.x Update version of logback by @cstamas in #708
- [MNG-7432] Resolver session contains non-MavenWorkspaceReader by @laeubi in #695
- [MNG-7459] Revert "[3.8.x][MNG-7347] SessionScoped beans should be singletons for a given session" by @gnodet in #715
- [3.8.x] [MNG-7476] Display a warning when an aggregator mojo locks other mojos executions by @gnodet in #736
Full Changelog: maven-3.8.5...maven-3.8.6
3.8.5
What's Changed
- [3.8.x][MNG-7156][MNG-7285] Add locking in MojoExecutor by @gnodet in #628
- [MNG-6326] Make the build fail if core extensions can not be loaded by @gnodet in #648
- [3.8.x][MNG-7347] SessionScoped beans should be singletons for a given session by @gnodet in #653
- [3.8.x][MNG-7386] Make sure the ModelMerger$MergingList can be serialized by @gnodet in #656
- [3.8.x][MNG-7349] Limit relocation warning message to direct dependencies only by @gnodet in #657
- [3.8.x][MNG-6727] Changed expression check to project.version and project.parent.version by @gnodet in #670
- [3.8.x][MNG-7395] - Support system-properties in extension.xml by @laeubi in #673
New Contributors
Full Changelog: maven-3.8.4...maven-3.8.5
3.8.4
What's Changed
- [MNG-6302] logging the module count by @rmannibucau in #136
- [MNG-6424] - Upgrade plexus-interpolation to 1.25 by @shemic87 in #172
- Update Jenkins build to use Maven 3.5.4 by @slachiewicz in #179
- [MNG-6473] Update Mockito to 2.21.0 by @slachiewicz in #181
- MNG-6414 Add more Apache license headers to skip downloading license … by @slachiewicz in #167
- [MNG-6479] Upgrade XMLUnit to 2.2.1 by @slachiewicz in #183
- Fixed typo in exception logging by @slachiewicz in #170
- [MNG-6490] Maven fails reporting circular dependency when the depende… by @slachiewicz in #188
- [MNG-6261] - using java File api to compare by @fabcipriano in #192
- MNG-6529 - ProjectBuild.build(projectsList, ...) ignores request.isResolveDependencies() by @mickaelistria in #193
- [MNG-6559] Fix mailing list URL by @johnlinp in #230
- [MNG-6611] Update animal-sniffer-maven-plugin to version 1.17 by @slachiewicz in #237
- [MNG-6405] Fix basedir in MavenProject.deepCopy by @jglick in #225
- [MNG-6655] Add support for "release" qualifier by @michael-o in #249
- Always deploy snapshot from master by @mickaelistria in #250
- [MNG-6665] toolchain.xml file should support environment variables by @MartinKanters in #251
- MNG-6681 dependency type = extension+classifier by @hboutemy in #254
- [MNG-6718] Upgrade to plexus-utils 3.2.1 by @gnodet in #271
- [MNG-6697] New fast model interpolator not using reflection by @gnodet in #261
- [MNG-6713] Fix ExclusionArtifactFilter to respect wildcard exclusions. by @saturnism in #269
- [MNG-6729] StringSearchModelInterpolator introspects objects from Java API by @Tibor17 in #275
- [refactor] use utility method of Objects to simplify code by @caidezhi in #284
- [MNG-6778] - Use https for maven schemaLocations by @cwansart in #299
- MNG-6759: Fix issue where MavenMetadataSource failed to set the right… by @srdo in #294
- MNG-6771 Fix license issues on binary distribution by @eolivelli in #297
- [MNG-7236] The DefaultPluginVersionResolver should cache results for … by @gnodet in #531
- [MNG-7045] Drop CDI API from Maven by @michael-o in #540
New Contributors
- @rmannibucau made their first contribution in #136
- @shemic87 made their first contribution in #172
- @fabcipriano made their first contribution in #192
- @johnlinp made their first contribution in #230
- @jglick made their first contribution in #225
- @saturnism made their first contribution in #269
- @Tibor17 made their first contribution in #275
- @caidezhi made their first contribution in #284
- @cwansart made their first contribution in #299
- @srdo made their first contribution in #294
- @eolivelli made their first contribution in #297
Full Changelog: https://github.com/apache/maven/commits/maven-3.8.4