Apache Maven Changelog

What's new in Apache Maven 4.0.0 Alpha 13

Mar 12, 2024
  • Requires Java 17 as “minimum runtime Java requirement”
  • Brings the latest Maven Resolver 2.0.0-alpha-8
  • New features like Profile OS activation with wildcards, Profile activation by packaging, SPI for user properties
  • Improvements related to dependencyManagement and BOM handling, new APIs for “dependency path control”
  • And many bug fixes since alpha-12

New in Apache Maven 4.0.0 Alpha 12 (Jan 24, 2024)

  • Brings the latest Maven Resolver 2.0.0-alpha-6
  • Leverages resolver's artifact collection filtering
  • Leverages resolver's new transitive dependency manager
  • Use JLine to provide better line editing
  • Upgrades SLF4j to 2.x
  • Do not resolve projects anymore outside the reactor to provide better consistency during builds

New in Apache Maven 4.0.0 Alpha 10 (Dec 22, 2023)

  • User controlled relocations
  • Fix broken javadoc:jar goal
  • Fix resolver that may cause maven never to quit

New in Apache Maven 3.9.6 (Dec 1, 2023)

  • Overview About the Changes:
  • Regression fixes and other improvements from Maven 3.9.5. All users already on Maven 3.9.x are advised to upgrade.
  • This release updates Resolver to version 1.9.18. Maven itself received new features as ability to exclude plugins from validation, upgraded Eclipse Sisu version and updated plugins in core bindings.
  • 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 bootstrap 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.
  • System and user properties handling cleanup, see MNG-7556. As a consequence, this may introduce breakage in environments where the user properties were used to set system properties or other way around, for example see MNG-7887.
  • Plugins and extensions used by your build are checked against Maven supported APIs and conventions: this “plugin validation” may report WARNINGs at the end of your build. See plugin validation documentation to better understand what to do when your build suffers from such warnings.

New in Apache Maven 4.0.0 Alpha 8 (Oct 26, 2023)

  • The full list of changes can be found in our issue management system. Among those are:
  • switch from Plexus XML to StAX / Woodstox for XML parsing
  • support for alternative POM syntaxes
  • introduce a 4.1.0 model version
  • add flexible goal ordering (in 4.1.0 model)
  • allow glob patterns in dependency exclusions
  • support proxy port interpolation in settings.xml
  • add support for TRACE logging level (with style “bold,magenta”)
  • add model version analysis and downgrade
  • attach the build POM (with build clasifier) and simplify the build/consumer implementation
  • add a new BOM packaging
  • trim down the consumer POM
  • expose the rootDirectory for model processing
  • support configuration in extensions.xml / <extension> elements (in 4.1.0 model)
  • generic .uri suffix to get the URI representation of any file property
  • allow registering Maven core extension in .m2 directory instead of MAVEN_HOME
  • colorize transfer messages
  • the root attribute introduced in alpha-7 has been moved to the new 4.1.0 model

New in Apache Maven 3.9.5 (Oct 5, 2023)

  • Regression fixes and other improvements from Maven 3.9.4. All users already on Maven 3.9.x are advised to upgrade.

New in Apache Maven 3.9.4 (Aug 3, 2023)

  • Regression fixes from Maven 3.9.3. All users already on Maven 3.9.x are advised to upgrade.
  • This release focuses on regression fixes discovered and fixed in Resolver, released in Resolver 1.9.14 that is included in Maven 3.9.4.
  • Maven itself received one bug fix affecting users using plugins written in JRuby MNG-7846 and a Guava dependency upgrade MNG-7828.

New in Apache Maven 3.9.4 (Aug 3, 2023)

  • Regression fixes from Maven 3.9.3. All users already on Maven 3.9.x are advised to upgrade.
  • This release focuses on regression fixes discovered and fixed in Resolver, released in Resolver 1.9.14 that is included in Maven 3.9.4.
  • Maven itself received one bug fix affecting users using plugins written in JRuby MNG-7846 and a Guava dependency upgrade MNG-7828.

New in Apache Maven 3.9.3 (Jun 26, 2023)

  • Huge effort of updating ASF Maven plugins is ongoing, and Maven received a ton of lifecycle bound plugin version updates since Maven 3.9.2 (that was released with same plugin versions as Maven 3.9.1 and 3.9.0).
  • Plugin validation did shake up Maven users community, hence, on users request, they are “toned down”. Validation messages are always collected (as before), but default display mode is again “inline” as it was in Maven 3.9.1. Moreover, by default only “project local” messages are displayed to user: issues that user can fix by editing the project POM. Plugin non-configuration issues, that can be fixed by corresponding plugin developer only (and requires a release and updating in current project POM) are NOT displayed anymore by default. To enjoy them, one needs explicitly to enable “verbose” mode for plugin validation. Furthermore, the precision of warnings and some badly worded messages are fixed.
  • Updated Resolver brings transport and locking related fixes and improvements. Most notably MNG-7819 got fixed that was affecting Maven 3.9.2, but the fix have important implication: due file locking naming scheme changes, Maven 3.9.3 with file locking will not be able to share local repository with another Maven version that predates 3.9.3 (Hence, versions 3.9.0, 3.9.1 or 3.9.2), only with another 3.9.3 or newer version. See Resolver configuration and named locks pages for more.

New in Apache Maven 3.9.2 (May 11, 2023)

  • Regression fixes from Maven 3.9.1
  • General performance and other fixes

New in Apache Maven 4.0.0 Alpha 5 (Mar 20, 2023)

  • 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-7672] - Aggregate goals executed in a submodule forks the whole reactor
  • [MNG-7673] - IllegalArgumentException thrown for invalid checksum 'never'
  • [MNG-7676] - On Maven 3.9.0+ release, sha512 hashes have "null" classifier
  • [MNG-7678] - Settings (v3) and Settings.Builder() cannot unset a non-null field
  • [MNG-7679] - [REGRESSION] Build fails when executing a single mojo without a POM
  • [MNG-7683] - Plugin configuration is merged incorrectly
  • [MNG-7689] - NPE when calling dependency:analyze
  • [MNG-7697] - Cannot parse POM that contains an emoji in a comment
  • [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-7727] - Remove the implementation of DefaultMavenProfilesBuilder#buildProfiles
  • [MNG-7728] - Fix mutable api in PluginContainer
  • 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-7702] - Update to Maven Deploy Plugin 3.1.0
  • [MNG-7713] - Drop option legacy-local-repository
  • 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

New in Apache Maven 3.9.1 (Mar 20, 2023)

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

New in Apache Maven 3.9.0 (Feb 6, 2023)

  • Minimum Java version to use with Maven 3.9.0 is raised to Java 8.
  • With Java 8, upgrade of several key dependencies became possible as well.
  • Several backports from Maven 4.x line.
  • Long outstanding issue fixes from Maven 3.8.x line.
  • General fixes and improvements.

New in Apache Maven 4.0.0 Alpha 4 (Feb 1, 2023)

  • Upgrade maven resolver 1.9.4
  • Improved resolution of modules within a multi-module build
  • Do not parse all projects in the reactor when building a subtree
  • Fix some compatibility issues (with flatten-maven-plugin)
  • Re-implement the consumer pom feature to support the maven-gpg-plugin

New in Apache Maven 3.8.7 (Dec 31, 2022)

  • Regression fixes from Maven 3.8.6
  • General fixes
  • Maven Wagon upgrade

New in Apache Maven 4.0.0 Alpha 2 (Oct 25, 2022)

  • Cli improvement: --also-make , --resume, --non-recursive, --fail-on-severity
  • Consistent timestamps
  • Build/consumer POMs (automatic parent versioning, automatic versioning of reactor dependencies, automatic detection of child modules)
  • New maven 4 api

New in Apache Maven 3.8.6 (Jun 11, 2022)

  • Regression fixes from Maven 3.8.5
  • Improve locking for multithreaded builds

New in Apache Maven 3.8.5 (Mar 13, 2022)

  • Bug:
  • [MNG-5180] - Versioning's snapshot version list is not included in metadata merge
  • [MNG-5561] - Plugin relocation loses configuration
  • [MNG-5982] - The POM for ... is invalid, transitive dependencies ... while property was overriden
  • [MNG-6326] - Build continues when core extensions aren't found
  • [MNG-6727] - Using version range in parent and CI Friendly Version fails
  • [MNG-6802] - FileProfileActivator changes FileProfileActivator.exists which lets flattened resolveCiFriendliesOnly depending fail activating profile
  • [MNG-7156] - Parallel build can cause issues between clean and forked goals
  • [MNG-7335] - [Regression] Parallel build fails due to missing JAR artifacts in compilePath
  • [MNG-7347] - SessionScoped beans should be singletons for a given session
  • [MNG-7357] - All Maven Core JARs have unusual entry order
  • [MNG-7362] - DefaultArtifactResolver has spurious "Failure detected" INFO log
  • [MNG-7374] - Mutating RelocatedArtifact does not retain type
  • [MNG-7386] - ModelMerger$MergingList is not serializable
  • [MNG-7402] - BuildListCalculator never detaches the classloader
  • [MNG-7417] - Several classes do not set properties properly for building requests
  • New Feature:
  • [MNG-7395] - Support interpolation in extensions.xml
  • [MNG-7407] - Introduce a ModelVersionProcessor component to make CI Friendly Versions pluggable
  • Improvement:
  • [MNG-6960] - Use RuntimeInformation instead of reading properties
  • [MNG-7349] - Limit relocation warning message to direct dependencies only
  • [MNG-7380] - Don't log non-threadsafe warning if only building a single module
  • [MNG-7381] - Shorten parallel builder thread name to artifactId, conditionally with groupId
  • [MNG-7385] - Improve documentation on repository metadata
  • [MNG-7400] - Allow more WorkspaceReaders to participate
  • [MNG-7408] - Explain reporting plugin version automatic selection (in Maven 3)
  • Dependency upgrade?:
  • [MNG-7370] - Upgrade Maven Wagon to 3.5.1
  • [MNG-7384] - Upgrade Maven JAR Plugin to 3.2.2
  • [MNG-7428] - Upgrade Maven Parent to 35

New in Apache Maven 3.8.4 (Nov 21, 2021)

  • Regression fixes from Maven 3.8.3
  • Upgrade to Jansi 2.4.0 which supports macOS on ARM natively

New in Apache Maven 3.8.3 (Oct 4, 2021)

  • Regression fixes from Maven 3.8.2
  • Drop CDI API to avoid leakage into code
  • Speed improvements with MNG-7235 and MNG-7236

New in Apache Maven 3.8.2 (Aug 14, 2021)

  • Sub-task:
  • [MNG-6281] - ArrayIndexOutOfBoundsException caused by pom.xml with invalid/duplicate XML
  • Bug:
  • [MNG-4706] - Multithreaded building can create bad files for downloaded artifacts in local repository
  • [MNG-5307] - NPE during resolution of dependencies - parallel mode
  • [MNG-5315] - Artifact resolution sporadically fails in parallel builds
  • [MNG-5838] - Maven on No-File-Lock Systems
  • [MNG-5868] - Adding serval times the same artifact via MavenProjectHelper (attachArtifact) keep adding to the List duplicate artifacts
  • [MNG-6071] - GetResource ('/) returns 'null' if build is started with -f
  • [MNG-6216] - ArrayIndexOutOfBoundsException when parsing POM
  • [MNG-6239] - Jansi messes up System.err and System.out
  • [MNG-6380] - Option -Dstyle.color=always doesn't force color output
  • [MNG-6604] - Intermittent failures while downloading GAVs from Nexus
  • [MNG-6648] - 'mavenrc_pre' script does not receive arguments like mavenrc in Bourne shell does
  • [MNG-6719] - mvn color output escape keys w/ "| tee xxx.log" on Win with git/bash
  • [MNG-6737] - StackOverflowError when version ranges are unsolvable and graph contains a cycle
  • [MNG-6767] - Plugin with ${project.groupId} resolved improperly
  • [MNG-6819] - NullPointerException for DefaultArtifactDescriptorReader.loadPom
  • [MNG-6828] - DependencyResolutionException breaks serialization
  • [MNG-6842] - ProjectBuilderTest uses Guava, but Guava is not defined in dependencies
  • [MNG-6843] - Parallel build fails due to missing JAR artifacts in compilePath
  • [MNG-6850] - Prevent printing the EXEC_DIR when it's just a disk letter
  • [MNG-6921] - Maven compile with properties ${artifactId} and ${project.build.finalName} occurs java.lang.NullPointerException
  • [MNG-6937] - StringSearchModelInterpolatorTest fails on symlinked paths
  • [MNG-6964] - Maven version sorting is internally inconsistent
  • [MNG-6983] - Plugin key can get out of sync with artifactId and groupId
  • [MNG-7000] - metadata.mdo contains invalid link to schema
  • [MNG-7032] - Option -B still showing formatting when used with --version
  • [MNG-7034] - StackOverflowError thrown if a cycle exists in BOM imports
  • [MNG-7090] - mvnDebug does not work on Java 11+
  • [MNG-7127] - NullPointerException in MavenCliTest.testStyleColors in JDK 16
  • [MNG-7155] - make sources jar reproducible (upgrade maven-source-plugin to 3.2.1)
  • [MNG-7161] - Error thrown during uninstalling of JAnsi
  • New Feature:
  • [MNG-7149] - Introduce MAVEN_DEBUG_ADDRESS in mvnDebug scripts
  • Improvement:
  • [MNG-2802] - Concurrent-safe access to local Maven repository
  • [MNG-6471] - Parallel builder should use the module name as thread name
  • [MNG-6754] - Set the same timestamp in multi module builds
  • [MNG-6810] - Remove profiles in maven-model
  • [MNG-6811] - Remove unnecessary filtering configuration
  • [MNG-6816] - Prefer System.lineSeparator() over system properties
  • [MNG-6827] - Replace deprecated StringUtils#defaultString() from Plexus Utils
  • [MNG-6837] - Simplify detection of the MAVEN_HOME and make it fully qualified on Windows
  • [MNG-6844] - Use StandardCharsets and remove outdated @SuppressWarnings
  • [MNG-6853] - Don't box primitives where it's not needed
  • [MNG-6859] - Build not easily reproducible when built from source release archive
  • [MNG-6873] - Inconsistent library versions notice
  • [MNG-6967] - Improve the command line output from maven-artifact
  • [MNG-6987] - Reorder groupId before artifactId when writing an exclusion using maven-model
  • [MNG-7010] - Omit "NB: JAVA_HOME should point to a JDK not a JRE" except when that is the problem
  • [MNG-7064] - Use HTTPS for schema location in global settings.xml
  • [MNG-7080] - Add a --color option
  • [MNG-7170] - Allow to associate pomFile/${basedir} with DefaultProjectBuilder.build(ModelSource, ...)
  • [MNG-7180] - Make --color option behave more like BSD/GNU grep's --color option
  • [MNG-7181] - Make --version support -q
  • [MNG-7185] - Describe explicit and recommended version for VersionRange.createFromVersionSpec()
  • [MNG-7190] - Load mavenrc from /usr/local/etc also in Bourne shell script
  • Task:
  • [MNG-6598] - Maven 3.6.0 and Surefire problem
  • [MNG-6884] - Cleanup POM File after version upgrade
  • [MNG-7172] - Remove expansion of Jansi native libraries
  • [MNG-7184] - document .mavenrc/maven_pre.bat|cmd scripts and MAVEN_SKIP_RC environment variable
  • Dependency upgrade:
  • [MNG-6872] - Found CVEs in your dependencies - plexus-utils (tests)
  • [MNG-6874] - Upgrade Maven Parent to 34
  • [MNG-6886] - Upgrade plexus-cipher 1.8
  • [MNG-6993] - Upgrade SLF4J to 1.7.30
  • [MNG-7152] - Upgrade Maven Resolver to 1.6.3
  • [MNG-7177] - Upgrade Maven Shared Utils to 3.3.4
  • [MNG-7179] - Upgrade Jansi to 2.3.3
  • [MNG-7186] - Upgrade Guice to 4.2.2
  • [MNG-7196] - Upgrade Jansi to 2.3.4
  • [MNG-7198] - Upgrade SLF4J to 1.7.32

New in Apache Maven 3.8.1 (Apr 5, 2021)

  • Bug:
  • Improve error message when blocked repository defined in build POM
  • New Feature:
  • Add support for mirror selector on external:http:*
  • Add support for blocking mirrors
  • Block external HTTP repositories by default
  • Dependency upgrade:
  • Upgrade Maven Wagon to 3.4.3
  • Upgrade Maven Resolver to 1.6.2

New in Apache Maven 3.6.3 (Nov 27, 2019)

  • Sub-task:
  • [MNG-6779] - fix jcl-over-slf4j license: Apache 2.0 instead of MIT
  • Bug:
  • [MNG-6584] - Maven version 3.6.0 does not show ReasonPhrase anymore
  • [MNG-6759] - [REGRESSION] Maven fails to use <repositories> section from dependency when resolving transitive dependencies in some cases
  • [MNG-6760] - [REGRESSION] ExclusionArtifactFilter result invalid when wildcard exclusion is followed by other exclusions
  • [MNG-6765] - [REGRESSION] tycho pom-less builds fails with 3.6.2
  • [MNG-6771] - Fix license issues on binary distribution
  • Improvement:
  • [MNG-6778] - Use https for schemaLocations
  • [MNG-6799] - avoid model interpolation instability risk: ensure StringVisitorModelInterpolator replaces StringSearchModelInterpolator
  • Task:
  • [MNG-6777] - Remove duplicate resolveFile methods
  • [MNG-6789] - Make Maven distribution build Reproducible

New in Apache Maven 3.6.2 (Sep 5, 2019)

  • Sub-task:
  • [MNG-6680] - Convert Maven Settings Builder to JSR 330
  • [MNG-6685] - Convert Maven Model Builder to JSR 330
  • [MNG-6686] - Convert Maven Embedder to JSR 330
  • Bug:
  • [MNG-6375] - NullPointerException when pom.xml has incomplete XML tag
  • [MNG-6626] - NullPointerException in DefaultExceptionHandler
  • [MNG-6629] - DefaultModelValidator.validateId is inefficient
  • [MNG-6630] - ComparableVersion.parseVersion is inefficient
  • [MNG-6631] - DefaultArtifactVersion.parseVersion is inefficient
  • [MNG-6632] - ArtifactHandlerManager.getArtifactHandler is inefficient
  • [MNG-6633] - ExcludesArtifactFilter is a memory hog
  • [MNG-6636] - NPE on reporting convertion (DefaultReportingConverter) when inheritance of with no reports
  • [MNG-6639] - Child inherit.append.path attributes not defined in Maven POM XSD
  • [MNG-6642] - Tycho-based modules do not build with 3.6.1 (works with 3.6.0)
  • [MNG-6643] - Version comparison CLI does not work anymore
  • [MNG-6644] - NPE in DefaultReportingConverter when reports has no InputLocation (using polyglot Maven)
  • [MNG-6647] - NPE in DefaultReportingConverter (when reports injected by Repaint IO maven-tiles)
  • [MNG-6653] - DefaultProjectBuildingRequest copy constructor does not copy all fields
  • [MNG-6668] - Model location handling uses too much memory
  • [MNG-6669] - Tycho cannot resolve project dependencies
  • [MNG-6700] - Equal compile source roots are added multiple times
  • [MNG-6703] - DefaultUrlNormalizer doesn't normalize all relative URIs
  • [MNG-6704] - MavenRepositorySystemUtils.newSession() misses assignment
  • [MNG-6707] - Maven XML parser does not accept '>' in XML processing instructions
  • [MNG-6712] - Downgrade maven-resolver:1.4.0 to 1.3.3
  • [MNG-6713] - Fix ExclusionArtifactFilter to respect wildcard
  • [MNG-6716] - relative testSourceDirectory on macos throw duplicate class error
  • [MNG-6720] - MultiThreadedBuilder: wait for parallel running projects when using --fail-fast
  • [MNG-6723] - MavenProject.getParentFile() not set when using ProjectBuilder.build(List<File>, ...)
  • Improvement:
  • [MNG-6069] - Migrate to non deprecated parts of Commons CLI
  • [MNG-6638] - Prevent reparsing POMs in MavenMetadataSource
  • [MNG-6655] - Add support for "release" qualifier
  • [MNG-6665] - toolchain.xml file should support environment variables
  • [MNG-6667] - Hint at Maven upgrade requirement when trying to build a pom.xml with a newer modelVersion
  • [MNG-6675] - Make Resolver debug log messages for projects and plugins consistent
  • [MNG-6695] - Improve speed in collection merging
  • [MNG-6696] - Speed improvements while parsing big reactor projects
  • [MNG-6697] - Add a fast interpolator not using reflection
  • [MNG-6698] - Lazily compute the ManagedVersionMap
  • [MNG-6701] - Document maven.repo.local system property
  • [MNG-6702] - Improve DefaultModelValidator performance
  • [MNG-6705] - Speep up Artifact version check and Parent interpolation
  • [MNG-6718] - Upgrade Plexus Utils to 3.2.1
  • [MNG-6729] - StringSearchModelInterpolator introspects objects from Java API
  • [MNG-6747] - Generalize 'resume from' message when build reactor fails
  • Test:
  • [MNG-6535] - Improve test coverage of org.apache.maven.model.path.DefaultUrlNormalizer
  • Task:
  • [MNG-6681] - improve documentation: dependency type = file classifier(optional)+extension + additional hints on dependency features
  • Dependency upgrade:
  • [MNG-6549] - Remove unused transitive dependencies of Guava
  • [MNG-6627] - upgrade plexus-component-metadata to 2.0.0 to get reproducible META-INF/plexus/components.xml
  • [MNG-6646] - Upgrade maven-assembly-plugin to 3.1.1
  • [MNG-6671] - Upgrade Modello to 1.11
  • [MNG-6674] - Upgrade Wagon to 3.3.3
  • [MNG-6738] - Upgrade maven-resolver to 1.4.1

New in Apache Maven 3.6.1 (Sep 5, 2019)

  • Bugs:
  • MNG-5705 - NPE on parallel build in BuilderCommon.handleBuildError(BuilderCommon.java:147)
  • MNG-5965 - Parallel build multiplies work if multiple goals are given
  • MNG-5995 - Maven itself cannot run without maven-compat
  • MNG-6256 - Maven script can break if “-f” path contains special characters
  • MNG-6261 - Relative parent POM resolution failing in 3.5.0 with complex multimodule builds
  • MNG-6262 - getCanonicalFile() is not used consistently during project resolution
  • MNG-6346 - … was unexpected at this time when using -f option and path contains brackets
  • MNG-6374 - ModelBuilder hangs with malformed pom.xml
  • MNG-6429 - Integration Test site publishing requires Java 7 (or javadoc errors ignored)
  • MNG-6495 - ModelResolver cannot be null
  • MNG-6505 - child.(x.y).inherit.append.path value should be inherited
  • MNG-6506 - Mojos are unable to load package annotations on Java >= 9
  • MNG-6529 - ProjectBuilder.build(List<File> projects, boolean, ProjectBuildingRequest) doesn’t honor ProjectBuildingRequest.isResolveDependencies()
  • MNG-6530 - Regression in ProjectBuilder when file change between invocations (introduced by MNG-6311)
  • MNG-6533 - ProjectBuilder.build(list_of_projects,...) does not contain MavenProject in exception report
  • MNG-6543 - Upgrade plexus classworld to support java 9+ ClassLoader.findClass(String moduleName, String name) in Mojos
  • MNG-6558 - ToolchainsBuildingResult event is not sent on EventSpy
  • MNG-6577 - pom.xml: Uncaught IllegalArgumentException when parsing unicode entity ref
  • MNG-6590 - DefaultProjectArtifactsCache java.lang.IllegalStateException: Duplicate artifact resolution result
  • MNG-6599 - unknown version in model id when version is defined from parent
  • Improvements:
  • MNG-6059 - Important use cases not covered, as child.inherit.append.path affects all children
  • MNG-6159 - Child path adjustments break git scm urls
  • MNG-6213 - Maven doesn’t check the validity of scope value
  • MNG-6481 - Allow to compile and test Maven with Java 11
  • MNG-6513 - Replace depreated Plexus javadoc tags with annotations in ITs
  • MNG-6515 - Fix javadoc build errors under Java 8 and 11
  • MNG-6520 - Update assembly descriptors to 2.0.0
  • MNG-6522 - Prepare Maven’s Core Integration Test Suite to test with Java 12 and 13-ea
  • MNG-6572 - use int or long instead of BigIntegers for little numbers in ComparableVersion
  • MNG-6593 - track input location for super-pom
  • MNG-6597 - add input location tracking for plugins configuration
  • MNG-6600 - add input location tracking for default lifecycle bindings executions
  • MNG-6601 - add input location tracking for site’s reportPlugins injected by reports conversion
  • MNG-6605 - Allow to suppress download messages in interactive mode
  • MNG-6611 - Update animal-sniffer-maven-plugin to 1.17
  • Wish:
  • MNG-6571 - Maven memory consumption issue
  • Task:
  • MNG-6538 - Upgrade Maven Artifact Resolver to 1.3.3 to restore API
  • MNG-6544 - Replace CacheUtils#{eq,hash} with Objects
  • MNG-6573 - Use latest Maven 3.6.0 to build Maven Core and plugins with ASF CI
  • MNG-6618 - Maven doesn’t export org.slf4j.event.Level
  • Dependency upgrade:
  • MNG-6526 - Upgrade to Wagon 3.3.1 (from 3.2.0)
  • MNG-6591 - Upgrade to Wagon 3.3.2

New in Apache Maven 3.6.0 (Sep 5, 2019)

  • Bugs:
  • MNG-6311 - Maven intolerably slow when import scope used heavily in large project
  • MNG-6358 - Maven build should not require access to apache.org
  • MNG-6383 - ProjectBuilder unnecessarily rebuilds modules with ci-friendly versions
  • MNG-6412 - Exceeding project discovery time when using CI friendly versions
  • MNG-6415 - Project Artifacts Cache does not retain the order of classpath entries.
  • MNG-6472 - Mockito cannot mock this class: interface org.eclipse.aether.impl.RepositoryEventDispatcher
  • MNG-6490 - Maven shall not fail reporting circular dependency when the dependency is a classified secondary artifact
  • Improvements:
  • MNG-4508 - No way to avoid adding artifactId to site urls
  • MNG-5951 - add an option to avoid path addition to inherited URLs
  • MNG-6164 - Collections inconsistently immutable
  • MNG-6391 - Printout version of last built module in reactor build
  • MNG-6414 - Add more Apache license header patterns to skip downloading Apache license
  • MNG-6467 - Remove plugin definition from pom file which is inherited
  • MNG-6480 - Eclipse.org site is down, and you are unable to build Maven?
  • MNG-6492 - Minor improvement on Array construction, converson
  • Task:
  • MNG-6475 - Remove guava dependencies
  • Dependency upgrades:
  • MNG-6424 - Upgrade plexus-interpolation to 1.25
  • MNG-6449 - Upgrade parent to 32
  • MNG-6473 - Update Mockito to 2.21.0
  • MNG-6478 - Upgrade parent to 33 for sha512 checksum on release
  • MNG-6479 - Upgrade XMLUnit to 2.2.1
  • MNG-6486 - Upgrade to Wagon 3.2.0
  • MNG-6489 - Upgrade Maven Resolver to 1.3.0
  • MNG-6491 - Upgrade commons-lang3 to 3.8.1
  • MNG-6496 - Upgrade Maven Resolver to 1.3.1
  • MNG-6497 - Upgrade guice to 4.2.1

New in Apache Maven 3.5.4 (Sep 5, 2019)

  • Bugs:
  • MNG-6370 ConcurrencyDependencyGraph#getNumberOfBuilds() does not remove finished projects from unfinished ones
  • MNG-6372 On Windows Maven can output spurious ANSI escapes such as [0m [0m
  • MNG-6382 JANSI fails frequently with NumberFormatException when building in parallel
  • MNG-6386 ${project.baseUri} is not a valid URI (according to RFC 3986)
  • MNG-6388 Error Fetching Artifacts: “[B cannot be cast to java.lang.String”
  • MNG-6403 Artifact#VERSION_FILE_PATTERN does not escape period between date and time
  • MNG-6410 Add groupId to --resume-from suggestion if artifactId is not unique in reactor
  • Improvements:
  • MNG-5756 Java home output in mvn -v is misleading
  • MNG-5940 Change the maven-source-plugin jar goal into jar-no-fork in Maven Super POM
  • MNG-6362 Add documentation information for GitHub
  • MNG-6363 Remove secret thread configuration property from code
  • MNG-6364 Enhanced Jenkinsfile to test Core with JDK 9
  • MNG-6411 Improve readability of project list returned when --resume-from option value is invalid
  • Tasks:
  • MNG-6377 switch from Git-WIP to Gitbox
  • Dependency upgrades:
  • MNG-6344 Upgrade Guice to 4.2.0
  • MNG-6423 Upgrade to Wagon 3.1.0

New in Apache Maven 3.5.3 (Mar 8, 2018)

  • Bugs:
  • MNG-6323 reporter: Ben Caradoc-Davies
  • MNG-6320 reporter: Eugene Pliskin
  • MNG-6300 reporter: Andreas Kurth
  • MNG-6298 reporter: Ryan Heaton
  • MNG-6296 reporter: Robin Müller
  • MNG-6282 reporter: Dejan Stojadinović
  • MNG-6255 reporter: Andrew Kennedy
  • Improvements:
  • MNG-6340 reporter: Tony Guan
  • MNG-6306 reporter: Andy Wilkinson
  • MNG-5992 reporter: Ryan J. McDonough

New in Apache Maven 3.5.2 (Oct 25, 2017)

  • Bugs:
  • MNG-5935 - Optional true getting lost in managed dependencies when transitive
  • MNG-6127 - Fix plugin execution configuration interference
  • MNG-6148 - Can’t package and assemble with JDK9/Jigsaw
  • MNG-6149 - MetadataResolutionResult#getGraph() never resolves request type ‘test’
  • MNG-6205 - Non-ascii chars in name element are displayed as question marks in Win CLI output (regression)
  • MNG-6210 - can’t load @SessionScoped/@MojoExecutionScoped components from .mvn/extensions.xml
  • MNG-6223 - mvn -f outputs invalid error when specifying POM directory
  • MNG-6224 - Regression 6182a208: library.jansi.path does not point to proper directory
  • MNG-6233 - maven-resolver-provider mixes JRS 330 and Plexus annotations
  • MNG-6240 - Duplicate components in plugin extension realm when plugin depends on maven-aether-resolver
  • MNG-6242 - No color for maven on Cygwin
  • Sub-tasks:
  • MNG-6186 - switch to improved HawtJNI
  • MNG-6280 - ArrayIndexOutOfBoundsException caused by pom.xml with process instructions
  • Improvements:
  • MNG-5457 - Show repository id when downloading or uploading from/to a remote repository
  • MNG-6025 - Add a ProjectArtifactsCache similar to PluginArtifactsCache
  • MNG-6123 - detect self references in POM and fail fast
  • MNG-6174 - Clean Up Maven Model
  • MNG-6196 - Update slf4j and simplify its color integration
  • MNG-6203 - Minor cleanup in MavenCli.java
  • MNG-6206 - We should produce a WARNING by using RELEASE, LATEST as versions
  • MNG-6207 - Create WARNINGs in case of using system scope
  • MNG-6228 - Optionality not displayed in dependency tree when run in debug mode
  • New Features:
  • MNG-6084 - Support JSR 250 annotations
  • MNG-6220 - Add CLI options to control color output
  • Tasks:
  • MNG-6167 - Clean up dependency mess (reported by dependency:analyze)
  • MNG-6258 - Upgrade to Maven Resolver 1.1.0

New in Apache Maven 3.5.0 (Apr 13, 2017)

  • Bugs:
  • MNG-5963 reporter: Larry Singer
  • MNG-5962 reporter/contributor: Miriam Lee
  • MNG-5961 reporter: Mike Drob
  • MNG-5958 reporter: Meytal Genah, contributor: Anton Tanasenko
  • MNG-5852 reporter: Jeffrey Alexander
  • MNG-5823 reporter: Tobias Oberlies
  • MNG-5815 reporter: Peter Kjær Guldbæk
  • MNG-5368 reporter: Andrew Haines
  • MNG-6090 reporter: Harald Wellmann
  • MNG-6173 reporter/contributor: Christoph Böhme
  • Improvements:
  • MNG-6030 reporter: Andriy contributor: Andriy
  • MNG-5934 reporter/contributor: Alex Henrie
  • MNG-5883 reporter: Ben Caradoc-Davies
  • MNG-3507 contributors: Jason Dillon, Sébastian Le Merdy

New in Apache Maven 3.3.3 (Apr 29, 2015)

  • Bug:
  • ssh-wagon hangs
  • same class realm registered both with plugin and extensions realm caches
  • Maven extensions can not be retrieved from authenticated repositories
  • 'mvn deploy' sends HTTP User-Agent twice
  • Improvement:
  • Warn about Proxies with duplicate id, but different protocols
  • Upgrade Maven to use Wagon 2.9

New in Apache Maven 3.3.1 (Mar 23, 2015)

  • The first and most important thing is that Maven 3.3.1 needs JDK 1.7.
  • In our days it becomes more and more important to be able to use different JDK to be used by Maven itself and which is used to compile/test your production code. This concept is know under the name Toolchains which is unfortunately not very well-known.
  • The handling of the toolchains.xml file has been adjusted with the handling of settings.xml which means it will be searched within the ${maven.home}/conf/ folder and furthermore within the ${user.home}/.m2/ folder.
  • For a better understanding and as an example of the toolchains.xml file has been added to the Maven distribution.
  • Maven has been improved to read the toolchains.xml file during initialization instead of waiting till maven-toolchains-plugin will read it.
  • Core Extension mechanism has been improved to make it simpler to use:
  • The old way (up to Maven 3.2.5) was to create a jar (must be shaded if you have other dependencies) which contains the extension and put it manually into the ${MAVEN_HOME}/lib/ext folder. This means you had to change the Maven installation. The consequence was that everyone who likes to use this needed to change it’s installation and makes the on-boarding for a developer much more inconvenient. The other option was to give the path to the jar on command line via mvn -Dmaven.ext.class.path=extension.jar. This has the drawback giving those options to your Maven build every time you are calling Maven. Not very convenient as well.
  • From now on this can be done much more simpler and in a more Maven like way. So you can define an ${maven.projectBasedir}/.mvn/extensions.xml file
  • Now you can simply use an extension by defining the usual maven coordinates groupId, artifactId, version as any other artifact. Furthermore all transitive dependencies of those extensions will automatically being downloaded from your repository. So no need to create a shaded artifact anymore.
  • An other advantage is that the ${maven.projectBasedir}/.mvn/ directory is located in the root of your Maven project and in conseuqence is part of your project which means you will check it in along with your project. So everyone who checks out your project automatically can use the extensions.
  • Project specific jvm and command line options:
  • It’s really hard to define a general set of options for calling the maven command line. Usually this will be solved by putting this options to a script but this can now simple being done by defining ${maven.projectBasedir}/.mvn/maven.config file which contains the configuration options for the command line. For example things like -T3 -U --fail-at-end. So you only have to call maven just by using mvn clean package instead of mvn -T3 -U --fail-at-end clean package and not to miss the -T3 -U --fail-at-end options. The ${maven.projectBasedir}/.mvn/maven.config is located in the ${maven.projectBasedir}/.mvn/ folder which is in the root of a multi module build. This folder is part of the project and will be checked in into your version control. This results in being picked by everybody who checks out the project and no need to remember to call this project via mvn -T3 -U --fail-at-end clean package instead of mvn clean package.
  • In Maven it is not simple to define JVM configuration on a per project base. The existing mechanism based on an environment variable MAVEN_OPTS and the usage of ${user.home}/.mavenrc is an other option with the drawback of not being part of the project.
  • Starting with this release you can define JVM configuration via ${maven.projectBasedir}/.mvn/jvm.config file which means you can define the options for your build on a per project base. This file will become part of your project and will be checked in along with your project. So no need anymore for MAVEN_OPTS, .mavenrc files.
  • Improvement for Plugin Goal Invocation from command line:
  • If you call a plugin directly from command line like mvn exec:java, the configuration which is used here can be defined in your pom by using an execution id default-cli.
  • Starting with this Maven release you can now define several configuration for different executions on command
  • The Maven team has decided to drop support for Win9x in launch scripts at long last.

New in Apache Maven 3.2.5 (Dec 20, 2014)

  • Bug:
  • [MNG-5568] - ComparableVersion's breaks contract for Comparable, in some edgecases the comparisons are not transitive
  • [MNG-5592] - Maven Dependency Resolution Locks up
  • [MNG-5676] - mvn -U crashes with IBM JDK
  • [MNG-5686] - mvn cannot execute /usr/libexec/java_home/bin/java on OS X.
  • [MNG-5687] - Parallel Builds can build in wrong order
  • [MNG-5695] - inconsistent custom scope bindings
  • [MNG-5696] - Remove dependency on Easymock
  • [MNG-5700] - Update to plexus-interpolation 1.21 to avoid potential thread safety problems
  • [MNG-5707] - spell mistake, Log4JLoggerFactory should be Log4jLoggerFactory
  • [MNG-5711] - LinkageError org.apache.maven.surefire.shade.org.apache.maven.shared.utils.io.IOUtil
  • [MNG-5716] - ToolchainManagerPrivate.getToolchainsForType() returns toolchains that are not of expected type
  • [MNG-5723] - Maven downloads same artifact from all repositories defined in POM
  • Improvement:
  • [MNG-5712] - Improve toolchains descriptor documentation
  • [MNG-5713] - Improve Toolchains API description
  • [MNG-5717] - Enrich toolchain xml with merge information
  • [MNG-5718] - Change 'provides' from Object to Properties in toolchains.xml
  • [MNG-5724] - Upgrade to last Wagon 2.8
  • New Feature:
  • [MNG-5714] - Add Merger for Maven Toolchain
  • [MNG-5730] - Provide a tool to test Maven version parsing and comparison
  • Task:
  • [MNG-5562] - Upgrade Aether 1.0 when available
  • [MNG-5715] - Upgrade JUnit (for tests only)
  • Wish:
  • [MNG-5719] - rename JavaToolChain to JavaToolchain for consistency and don't declare it as Plexus component

New in Apache Maven 3.2.3 (Aug 26, 2014)

  • Switch access to Maven Central to HTTPS:
  • The primary motivation for this quick release is to provide HTTPS access to Maven Central by default.

New in Apache Maven 3.2.2 (Jun 26, 2014)

  • Bug:
  • Requiring multiple profile activation conditions to be true does not work
  • ${basedir} and ${project.basedir} do not behave the same on file-based profile activation
  • Installing workspace reader triggers MNG-5503
  • name field missing in plugin.xml documentation
  • plugin descriptor model generated from Modello appears in javadoc
  • README.txt in distro incorrectly states JDK requirement as 1.5+
  • effective pom should not contain file-based profile activation fully interpolated but with limited interpolation like seen during profile activation
  • NPE error when building a reactor with duplicated artifacts
  • Prevent LinkageError when CDI is in the classpath
  • Exception when printing Reactor Summary
  • Maven API Plugin descriptor xsd does not exist at advertised location
  • NullPointerException with Maven 3.2.1 when circular dependency exists in POMs
  • NullPointerException when project contains cyclic references
  • Whitespaces matter in configuration can cause the incorrect repo to be selected
  • AbstractMavenLifecycleParticipant#afterSessionEnd is not invoked in some cases
  • version of "..." causes InternalErrorException.
  • ${maven.build.timestamp} uses incorrect ISO datetime separator
  • Regression of MNG-5176, DST in effect is ignored
  • Improvement:
  • ${maven.build.timestamp} should use UTC instead of local timezone (or be configurable)
  • warn if file-based profile activation uses ${project.basedir} since only ${basedir} is supported
  • README.txt in distro should be updated
  • Provide a terse information about the used thread builder
  • improve display of forked executions
  • WARNING about not triggered patterns in assembly descriptor
  • Support resolution of Import Scope POMs from Repo that contains a ${parameter}
  • Task:
  • Remove the RuntimeInfo required in the setting.mdo

New in Apache Maven 3.2.1 (Feb 24, 2014)

  • Bug:
  • [MNG-5075] - MavenProject.getParent throws undocumented ISE
  • [MNG-5389] - AbstractMavenLifecycleParticipant need a afterSessionEnd
  • [MNG-5467] - intermittent "ProtocolException: The server failed to respond with a valid HTTP response"
  • [MNG-5479] - ExecutionEvent.Type.SessionEnded omited when runtime exception thrown
  • [MNG-5494] - Add a license file that corresponds to each GAV in the distribution
  • [MNG-5528] - Help text confuses people
  • [MNG-5550] - MojoExecution source is never set to LIFECYCLE
  • [MNG-5553] - ${map(some.key)} is not properly interpolated
  • [MNG-5557] - Limit the reactor to the projects that are specified using --projects
  • [MNG-5559] - upgrade to last wagon 2.6
  • [MNG-5572] - Warn for building plugins with extensions in a reactor
  • Improvement:
  • [MNG-3526] - Small change to artifact version parsing.
  • [MNG-4099] - Password encryption CLI switches should prompt for password if missing
  • [MNG-5176] - Print build times in an ISO 8601-style manner
  • [MNG-5406] - don't expose core's slf4j-api by default, add a plugin-descriptor option to expose
  • [MNG-5530] - mojo execution guice scope
  • [MNG-5549] - Provide before/after callbacks for project and mojo execution
  • [MNG-5574] - Write error/warning messages from mvn shell and batch scripts to stderr
  • [MNG-5575] - Separate build strategies into their own implementations
  • [MNG-5576] - Allow continuous delivery friendly versions
  • [MNG-5578] - Make the ReactorReader pluggable in the core
  • [MNG-5581] - Provide a way to customize lifecycle mapping logic
  • [MNG-5582] - Continue to track all the projects in the reactor even if the set is constrained by --projects
  • New Feature:
  • [MNG-2315] - Add option to exclude all transitive dependencies for a particular one
  • [MNG-3832] - Allow wildcards in dependency exclusions
  • [MNG-5230] - Command line option to exclude modules from reactor

New in Apache Maven 3.1.1 (Oct 5, 2013)

  • Bug:
  • [MNG-5459] - failure to resolve pom artifact from snapshotVersion in maven-metadata.xml
  • [MNG-5495] - API incompatibility causes Swagger Maven Plugin (and others) to fail under Maven 3.1.0
  • [MNG-5499] - maven-aether-provider leaks Sisu Plexus and ObjectWeb classes onto the classpath when they are not required
  • [MNG-5500] - help for --legacy-local-repository option explains _maven.repositories instead of _remote.repositories
  • [MNG-5503] - Maven 3.1.0 fails to resolve artifacts produced by reactor build
  • [MNG-5509] - org.apache.maven.repository.legacy.DefaultWagonManager should set User-Agent

New in Apache Maven 3.1.0 (Jul 19, 2013)

  • Bug:
  • Error message is misleading if a missing plugin parameter is of a type like List
  • A mirror's layout setting should default to 'default' since thats' the only layout supported lay in maven 3
  • plexus container never disposed
  • Parallel (-T option) multi module build fires wrong "project failed event"
  • MavenProject.getTestClasspathElements can return null elements
  • DefaultPluginDescriptorCache does not retain pluginDescriptor dependencies
  • Dependency resolution substitutes g:a:v:jar for j:a:v:something-else when something-else isn't in the reactor
  • ArtifactMetadataRetrievalException from org.apache.maven.artifact.metadata is not anymore binary compatible.
  • localRepository in settings.xml does not handle ~ as home.dir
  • upgrade wagon version to 2.3 to fix issues with redirect
  • README.bootstrap.txt says "Ant 1.6.5 or later" BUT 1.8 or later is needed
  • Inconsistent order of repositories and pluginRepositories from profiles in settings (regression Maven 3)
  • Dmaven.repo.local not honored
  • MavenProject.getParent intolerably slow when import scope used heavily
  • Unnecessary DefaultModelBuilder.build overload
  • DefaultModelValidator misuses String.matches
  • Descriptor Reference for settings.xml is incorrect
  • Add ability to replace an artifact in mid-build
  • mvn -rf (no argument) results in NPE
  • logger name for plugins should not be DefaultMavenPluginManager
  • logger name for execution events should not be MavenCli
  • scriptSourceDirectory in superpom is not prefixed with /usr/home/cmsslave/slave15/maven-site-staging/build/trunk/
  • tar.gz release artifacts have wrong permissions on directories
  • Can't activate a profile by checking for the presence of a file in $myProperty
  • use wagon 2.4
  • ModelSource API is not sufficient to resolve project hierachies
  • Missing PathTranslator @Requirement in org.apache.maven.project.interpolation.StringSearchModelInterpolator
  • Maven skips modules and reports success if parallel build encounters java.lang.Error
  • "malformed POM" warning issued when no version in reporting section
  • Improvement:
  • use slf4j to control various logging frameworks
  • New resolution from local repository is very confusing
  • Maven integration developers would like to be able to override the maven logging appender.
  • upgrade default plugins versions
  • Accept a directory with -f/--file
  • improve @threadSafe error message: tell which goal
  • Upgrade version of maven-release-plugin in superpom to 2.3.2
  • Upgrade version of maven-dependency-plugin in superpom to 2.5
  • Better build number for git
  • document in POM descriptor reference how urls are interpolated from parent
  • Catch NoClassDefFoundError org/sonatype/aether
  • New Feature:
  • Timestamps on messages
  • for IDE embedding have ways of collecting model problems without failing the process
  • Allow the use of JSR330 annotation in Maven extensions and plugins
  • Allow the SLF4J loggers to be @Injected
  • Integrate Eclipse Aether 0.9.0.M2
  • Cannot preserve whitespace in Maven plugin configuration
  • Restore MavenSession.getRepositoryCache()
  • Add an IT for @Inject used in plugins
  • Dispose of ClassRealms after invocation to prevent out of Permgen errors
  • Restore embedded integration tests
  • Update the default WAR plugin version to avoid version 2.3
  • Look at Sonar's use of SLF4J and Logback
  • Use SLF4J for logging
  • Change MavenITmng1830ShowVersionTest to account for SHA1 as version
  • Task:
  • add CLI options to documentation
  • Replace Aether's deprecated ConfigurationProperties with ConfigUtils
  • remove classes that were added during Maven 3 alpha and beta but were deprecated before 3.0 final release
  • Document the usage and benefits of JSR330
  • Fix transfer listener after the JSR330 merge
  • Document use of SLF4J
  • Account for changes between the Apple and Oracle JDKs on OSX
  • Update Maven 3 build to use Eclipse/Sisu
  • Wish:
  • separate artifact-handlers configuration from plugin bindings to default lifecycle
  • rename _maven.repositories tracking file to _remote.repositories

New in Apache Maven 3.1.0 Alpha 1 (Jun 8, 2013)

  • Bug:
  • [MNG-3131] - Error message is misleading if a missing plugin parameter is of a type like List
  • [MNG-5016] - A mirror's layout setting should default to 'default' since thats' the only layout supported lay in maven 3
  • [MNG-5206] - plexus container never disposed
  • [MNG-5208] - Parallel (-T option) multi module build fires wrong "project failed event"
  • [MNG-5209] - MavenProject.getTestClasspathElements can return null elements
  • [MNG-5212] - DefaultPluginDescriptorCache does not retain pluginDescriptor dependencies
  • [MNG-5214] - Dependency resolution substitutes g:a:v:jar for j:a:v:something-else when something-else isn't in the reactor
  • [MNG-5233] - ArtifactMetadataRetrievalException from org.apache.maven.artifact.metadata is not anymore binary compatible.
  • [MNG-5258] - localRepository in settings.xml does not handle ~ as home.dir
  • [MNG-5261] - upgrade wagon version to 2.3 to fix issues with redirect
  • [MNG-5270] - README.bootstrap.txt says "Ant 1.6.5 or later" BUT 1.8 or later is needed
  • [MNG-5280] - Inconsistent order of repositories and pluginRepositories from profiles in settings (regression Maven 3)
  • [MNG-5289] - -Dmaven.repo.local not honored
  • [MNG-5312] - MavenProject.getParent intolerably slow when import scope used heavily
  • [MNG-5313] - Unnecessary DefaultModelBuilder.build overload
  • [MNG-5314] - DefaultModelValidator misuses String.matches
  • [MNG-5336] - Descriptor Reference for settings.xml is incorrect
  • [MNG-5387] - Add ability to replace an artifact in mid-build
  • [MNG-5390] - mvn -rf (no argument) results in NPE
  • [MNG-5395] - logger name for plugins should not be DefaultMavenPluginManager
  • [MNG-5396] - logger name for execution events should not be MavenCli
  • [MNG-5398] - scriptSourceDirectory in superpom is not prefixed with /usr/home/cmsslave/slave15/maven-site-staging/build/trunk/
  • [MNG-5403] - tar.gz release artifacts have wrong permissions on directories
  • [MNG-5418] - Can't activate a profile by checking for the presence of a file in $myProperty
  • [MNG-5430] - use wagon 2.4
  • [MNG-5444] - ModelSource API is not sufficient to resolve project hierachies
  • [MNG-5445] - Missing PathTranslator @Requirement in org.apache.maven.project.interpolation.StringSearchModelInterpolator
  • [MNG-5456] - Maven skips modules and reports success if parallel build encounters java.lang.Error
  • [MNG-5477] - "malformed POM" warning issued when no version in reporting section
  • Improvement:
  • [MNG-4505] - use slf4j to control various logging frameworks
  • [MNG-5181] - New resolution from local repository is very confusing
  • [MNG-5239] - Maven integration developers would like to be able to override the maven logging appender.
  • [MNG-5245] - upgrade default plugins versions
  • [MNG-5338] - Accept a directory with -f/--file
  • [MNG-5350] - improve @threadSafe error message: tell which goal
  • [MNG-5399] - Upgrade version of maven-release-plugin in superpom to 2.3.2
  • [MNG-5400] - Upgrade version of maven-dependency-plugin in superpom to 2.5
  • [MNG-5402] - Better build number for git
  • [MNG-5480] - document in POM descriptor reference how urls are interpolated from parent
  • [MNG-5482] - Catch NoClassDefFoundError org/sonatype/aether
  • New Feature:
  • [MNG-519] - Timestamps on messages
  • [MNG-5306] - for IDE embedding have ways of collecting model problems without failing the process
  • [MNG-5343] - Allow the use of JSR330 annotation in Maven extensions and plugins
  • [MNG-5344] - Allow the SLF4J loggers to be @Injected
  • [MNG-5354] - Integrate Eclipse Aether 0.9.0.M2
  • [MNG-5380] - Cannot preserve whitespace in Maven plugin configuration
  • [MNG-5381] - Restore MavenSession.getRepositoryCache()
  • [MNG-5382] - Add an IT for @Inject used in plugins
  • [MNG-5386] - Dispose of ClassRealms after invocation to prevent out of Permgen errors
  • [MNG-5388] - Restore embedded integration tests
  • [MNG-5391] - Update the default WAR plugin version to avoid version 2.3
  • [MNG-5393] - Look at Sonar's use of SLF4J and Logback
  • [MNG-5397] - Use SLF4J for logging
  • [MNG-5407] - Change MavenITmng1830ShowVersionTest to account for SHA1 as version
  • Task:
  • [MNG-5279] - add CLI options to documentation
  • [MNG-5365] - Replace Aether's deprecated ConfigurationProperties with ConfigUtils
  • [MNG-5372] - remove classes that were added during Maven 3 alpha and beta but were deprecated before 3.0 final release
  • [MNG-5373] - Document the usage and benefits of JSR330
  • [MNG-5374] - Fix transfer listener after the JSR330 merge
  • [MNG-5375] - Document use of SLF4J
  • [MNG-5376] - Account for changes between the Apple and Oracle JDKs on OSX
  • [MNG-5453] - Update Maven 3 build to use Eclipse/Sisu
  • Wish:
  • [MNG-5370] - separate artifact-handlers configuration from plugin bindings to default lifecycle
  • [MNG-5461] - rename _maven.repositories tracking file to _remote.repositories

New in Apache Maven 3.0.5 (Jun 8, 2013)

  • Bug:
  • [MNG-5430] - use wagon 2.4

New in Apache Maven 3.0.4 (Jan 15, 2013)

  • Bug:
  • [MNG-4792] - Preemptive authentication doesn't work
  • [MNG-5064] - mvn -nsu (--no-snapshot-updates) should not download snapshots (and break local builds)
  • [MNG-5096] - exclusion on dependency with typetest-jar/type doesn't work in maven 3
  • [MNG-5113] - NullPointerException on javadoc site generation
  • [MNG-5131] - Wrong encoding for encrypted passwords
  • [MNG-5135] - Regression: in some cases aggregator mojo is unable to resolve dependencies with custom packaging
  • [MNG-5137] - Reactor resolution does not work for forked multi module builds
  • [MNG-5149] - DefaultArtifactRepositoryFactory.createArtifactRepository overload w/ layoutId passes wrong (repo) id
  • [MNG-5153] - ModelMerger omits relativ path
  • [MNG-5155] - 'inherited' flag of report sets ignored.
  • [MNG-5157] - NPE stemming from DefaultModelBuilder.containsCoordinates
  • [MNG-5163] - MavenProject.getPluginRepositories misimplemented
  • [MNG-5164] - Odd name of central in superpom
  • [MNG-5165] - Problem with scp transport (wagon-maven-plugin 1.0-beta-3, Maven 2.2.1, Ubuntu 11.04)
  • [MNG-5192] - prevent ConcurrentModificationException in parallel mode -Tx when project have errors
  • [MNG-5221] - Default version of m-site-p does not work (no reports)
  • [MNG-5225] - The default version of the maven-site-plugin as defined in the site-lifecycle must be 3.x
  • [MNG-5224] - REGRESSION: Injected Settings in a Mojo are missing the profiles from settings.xml
  • Improvement:
  • [MNG-4112] - Set property containing the currently executing maven version.
  • [MNG-5073] - ProjectBuilder.build(File,ProjectBuildingRequest) returns null project if dependency version info is missing
  • [MNG-5076] - Improve SEO of documentation of lifecycle.xml
  • [MNG-5119] - improve site organization of core components
  • [MNG-5134] - Standard documentation for build-in properties
  • [MNG-5141] - Make MojoExecutor.ensureDependenciesAreResolved public
  • [MNG-5151] - use CNAME or repo to provide more stability
  • [MNG-5152] - upgrade wagon to the final 1.0 version
  • [MNG-5158] - Make loading of extensions from lib/ext more robust with regard to existence of ext directory
  • [MNG-5159] - Extend validation of settings.xml to check for uniqueness of id elements
  • [MNG-5175] - replace wagon http lightweight with wagon http 2.1
  • [MNG-5200] - upgrade plugin versions in super pom
  • [MNG-5201] - upgrade aether to 1.13 and sisu to 2.3.0
  • Task:
  • [MNG-5046] - Remove $Id$ from sources
  • Test:
  • [MNG-5114] - Handling unrecognized version qualifiers
  • Wish:
  • [MNG-5118] - add aggregated javadoc