Release Notes - Maven 3.x

Maven 3.1.1 Release Notes

Maven 3.1.1 is the first official release of the 3.1.x series.

The full list of changes can be found in our issue management system, and is reproduced below.

Release Notes - Maven - Version 3.1.1

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

Maven 3.1.0 Release Notes

Maven 3.1.0 is the first official release of the 3.1.x series.

The full list of changes can be found in our issue management system, and is reproduced below.

Major Changes

The use of JSR330 in the core for extensions and in Maven plugins. You can read more about it in the Maven and JSR330 document.

The use of SLF4J in the core for logging. You can read more about it in the Maven and SLF4J document.

The switch in the core from Sonatype Aether to Eclipse Aether.

Known Incompatibilities with Maven 3.0.x

The significant change in Eclipse Aether with respect to API changes and package relocation will likely cause issues with plugins that directly depend on Aether. We are aware of the issues in the Maven Site Plugin, the Maven Dependency Plugin, the Maven Shade Plugin and the Maven Project Info Reports Plugin, and have fixed them in recent releases. But this is a significant change and is likely to cause issues in any plugin that depends on the now deprecated Sonatype Aether. In the external plugin ecosystem, it is known that Tycho, the Android Maven Plugin and the NetBeans Module Plugin are also affected: the plugin developers are aware of this issue and will release a new version of the plugin to address it.

We maintain a list of affected plugins with fixed version: please report if you find another plugin not yet in this list.

Release Notes - Maven - Version 3.1.0 (since 3.0.5 only)

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

Maven 3.1.0-alpha-1 Release Notes

Maven 3.1.0-alpha-1 is the first release of the 3.1.x series.

The full list of changes can be found in our issue management system, and is reproduced below.

Major Changes

The use of JSR330 in the core for extensions and in Maven plugins. You can read more about it in the Maven and JSR330 document.

The use of SLF4J in the core for logging. You can read more about it in the Maven and SLF4J document.

The switch in the core from Sonatype Aether to Eclipse Aether.

Known Incompatibilities with Maven 3.0.x

The significant change in Eclipse Aether with respect to API changes and package relocation will likely cause issues with plugins that directly depend on Aether. We are aware of the issues in the Maven Site Plugin, the Maven Dependency Plugin, the Maven Shade Plugin and the Maven Project Info Reports Plugin, and have fixed them in recent releases. But this is a significant change and is likely to cause issues in any plugin that depends on the now deprecated Sonatype Aether. In the external plugin ecosystem, it is known that Tycho, the Android Maven Plugin and the NetBeans Module Plugin are also affected: the plugin developers are aware of this issue and will release a new version of the plugin to address it.

We maintain a list of affected plugins with fixed version: please report if you find another plugin not yet in this list.

Release Notes - Maven - Version 3.1.0-alpha-1 (since 3.0.5 only)

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

Apache Maven 3.0.5 Release Notes

Apache Maven 3.0.5 is a maintenance release to address various regressions/bugs and to deliver other minor improvements. The new version 3.0.5 is a recommended update for anybody currently using Maven 3.0.x.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes before reporting any issues regarding changed build behavior in Maven 3.x.

Release Notes - Maven - Version 3.0.5 (since 3.0.4 only)

Bug

  • [MNG-5430] - use wagon 2.4

Maven 3.0.4 Release Notes

Maven 3.0.4 is a maintenance release to address various regressions/bugs and to deliver other minor improvements. The new version 3.0.4 is a recommended update for anybody currently using Maven 3.0.x.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes before reporting any issues regarding changed build behavior in Maven 3.x.

Release Notes - Maven - Version 3.0.4 (since 3.0.3 only)

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

Maven 3.0.3 Release Notes

Maven 3.0.3 is a maintenance release to address various regressions/bugs and to deliver other minor improvements. The new version 3.0.3 is a recommended update for anybody currently using Maven 3.0.x.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes before reporting any issues regarding changed build behavior in Maven 3.x.

Release Notes - Maven - Version 3.0.3 (since 3.0.2 only)

Bug

  • [MNG-4551] - List parameter in a mojo has strange behaviour
  • [MNG-4956] - Cygwin mvn script modifies CLASSPATH environment variable
  • [MNG-4962] - MavenProject.getParent fails to build when parent POM, in reactor, references BOM also in reactor
  • [MNG-4963] - [regression] Parent POM not downloaded when settings define global mirror and one snapshot repo but no other release repository
  • [MNG-4973] - [regression] Build extensions are invisible to plugins in multi module build
  • [MNG-4975] - [regression] plugin executions injected from profile run before instead of after existing executions in the POM
  • [MNG-4982] - [regression] Cycle between transitive dependencies causes bad effective dependency scope
  • [MNG-4987] - [regression] LATEST, RELEASE or SNAPSHOT version picked from wrong repository when resolution order does not match timestamp order
  • [MNG-4990] - RepositorySystem#resolve(request) uses two different local repositories
  • [MNG-4991] - LegacyRepositorySystem#injectProxy(repositories, proxies) doesn't evaluate non-proxy hosts
  • [MNG-5000] - [regression] child distributionManagment.site.url not correct in a flat directory layout when child's artifactId doesn't match its module name
  • [MNG-5003] - MavenPluginManager serves m2e partially initialized mojo descriptors in some cases
  • [MNG-5005] - bin/mvn contains platform specific echo when on Mac OSX and JAVA_VERSION envvar is set
  • [MNG-5006] - [regression] Resolution of parent POMs for dependency using version range does not consider all configured repositories
  • [MNG-5009] - StackOverflowError in DefaultProjectBuilder.build when module points at current aggregator POM
  • [MNG-5014] - [regression] MavenProject.getParent().isExecutionRoot() not properly set
  • [MNG-5019] - [regression] String-based component lookups performed by report mojos fail with ClassCastException
  • [MNG-5023] - Wrong calculation of Build Total time

Improvement

  • [MNG-3575] - Allow hexadecimal parameters
  • [MNG-4971] - Display maven home in version info
  • [MNG-4984] - Simplify drop in of 3rd party extensions for Maven core
  • [MNG-4988] - API to calculate execution plan without full mojo execution configuration
  • [MNG-4992] - Allow to configure plugin parameters of type java.util.Properties just like a map
  • [MNG-5011] - Allow to configure array/collection type plugin parameters via system properties
  • [MNG-5012] - Allow to configure array-typed plugin parameters from expressions yielding collections and vice versa
  • [MNG-5013] - Allow to condense configuration of plugin parameter beans that commonly require only one value
  • [MNG-5020] - JAVA_HOME auto discovery
  • [MNG-5028] - Obey generics in plugin collection parameters when populating them
  • [MNG-5033] - Allow to inline collection/array items within plugin configuration

Task

  • [MNG-5024] - Update default plugin versions

Maven 3.0.2 Release Notes

Maven 3.0.2 is a maintenance release to address various regressions/bugs and to deliver other minor improvements. The new version 3.0.2 is a recommended update for anybody currently using Maven 3.0.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes before reporting any issues regarding changed build behavior in Maven 3.x.

Release Notes - Maven - Version 3.0.2 (since 3.0.1 only)

Bug

  • [MNG-4840] - Prerequisites is not working on m3
  • [MNG-4913] - [regression] User properties override equally named POM properties of transitive dependencies
  • [MNG-4915] - Versions in pom.xml are not checked for invalid characters
  • [MNG-4918] - MavenProject#clone() doubles active profiles
  • [MNG-4919] - Plugin execution contributed by lifecycle mapping gets lost when same goal is bound multiple times
  • [MNG-4923] - [regression] java.lang.ClassNotFoundException: org.apache.maven.artifact.ArtifactStatus
  • [MNG-4925] - Mismanagement of container lookup realm can cause type incompatibilities for plugins looking up components by string
  • [MNG-4933] - With a resource directory as . maven raise an java.lang.StringIndexOutOfBoundsException:217
  • [MNG-4941] - PluginDescriptorBuilder doesn't populate expression/default-value fields for mojo parameters
  • [MNG-4952] - [regression] RELEASE field of repository metadata is not updated upon repeated deployments
  • [MNG-4955] - [regression] Outdated remote snapshots are preferred over locally installed snapshots
  • [MNG-4960] - [regression] Make-like reactor mode does not build selected project when resuming from one of its prerequisites
  • [MNG-4966] - Preserve double slashes in the scm connection url - identifies absolute repository paths for mercurial

Improvement

  • [MNG-4912] - Use of raw type should be ComparableArtifactVersion
  • [MNG-4916] - Poor ProjectBuilder.build performance for projects with unresolvable extension plugins
  • [MNG-4922] - ExecutionEvent give on the exception encountered (when having mojoFailed)
  • [MNG-4926] - ExecutionEvent give on the exception encountered (when having projectFailed , forkedProjectFailed)
  • [MNG-4944] - Include JRE vendor in version info
  • [MNG-4950] - Javadoc improvements to DefaultSettingsWriter/Reader
  • [MNG-4953] - Issue a warning when a system-scope dependency refers to the project basedir

New Feature

  • [MNG-4936] - Allow to better monitor and adjust a Maven build during CI
  • [MNG-4937] - Allow the platform scripts to avoid loading mavenrc content

Task

  • [MNG-4945] - Remove mergeId from public POM
  • [MNG-4957] - Emit validation warning when project version uses irregular SNAPSHOT version string
  • [MNG-4959] - Update default plugin versions

Maven 3.0.1 Release Notes

Maven 3.0.1 is a maintenance release to address various regressions/bugs and to deliver other minor improvements. The new version 3.0.1 is a recommended update for anybody currently using Maven 3.0.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes before reporting any issues regarding changed build behavior in Maven 3.x.

Release Notes - Maven - Version 3.0.1 (since 3.0 only)

Bug

  • [MNG-4850] - [regression] several elements of server configuration in settings.xml are not honoured
  • [MNG-4858] - NullPointerException if goal name is malformed
  • [MNG-4864] - npe when transferring artifacts
  • [MNG-4866] - DefaultLegacySupport leaks MavenSession instances in some cases
  • [MNG-4867] - incorrect namespace in settings.xml
  • [MNG-4874] - The latestVersion value isn't updated for local installs
  • [MNG-4877] - Regression: Deploy to SCP with privateKey fails - privateKey and passphrase gets lost
  • [MNG-4883] - [regression] Dependency resolution does not fail for artifact with over-constrained version ranges
  • [MNG-4884] - Guice provision errors
  • [MNG-4892] - Use of --log-file doesn't capture all output, e.g. from maven-antrun-plugin
  • [MNG-4895] - Plugins depending on 3rd party JARs that contain the Maven API can't be configured/run due to type incompatibilities
  • [MNG-4900] - "Unresolveable build extension" when using shade plugin and repositories in profile

Improvement

  • [MNG-4860] - Allow management of project building request kept inside MavenProject instances
  • [MNG-4891] - Improve robustness of snapshot dependency resolution in case a remote repo accidently uses the id "local"
  • [MNG-4896] - Help for -pl option does not include use of comma-sep, also more than one -pl does not work or complain
  • [MNG-4904] - Make MavenExecutionResult.getTopologicallySortedProjects() return empty list instead of null
  • [MNG-4907] - Wrong error message when relativePath wrong
  • [MNG-4909] - Emit warning when dependency with scope import but inproper type is declared
  • [MNG-4910] - Use BeanConfigurator for configuration sub-elements

Task

  • [MNG-4902] - Update default plugin versions
  • [MNG-4903] - Update to Wagon 1.0-beta-7

Maven 3.0 Release Notes

Maven 3 aims to ensure backward compatibility to the extent possible, improve usability, increase performance, allow safe embedding, and pave the way to implement many highly demanded features.

Users that intent to use the new parallel build feature are strongly advised to read the Guide on Parallel Builds to learn about potential ramifications.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes before reporting any issues regarding changed build behavior in Maven 3.

Release Notes - Maven - Version 3.0 (since 3.0-beta-3 only)

Bug

  • [MNG-4592] - Snapshot artifacts that could not be downloaded due to communication problems are "blacklisted" for a day by default.
  • [MNG-4751] - Snapshot version not resolved for version range
  • [MNG-4785] - NPE in dependency resolution code for TC plugin
  • [MNG-4786] - [regression] Ant-based mojo using maven-script-ant:2.1.0+ cause NPE
  • [MNG-4788] - [regression] Appassembler Maven Plugin doesn't work like as it should
  • [MNG-4789] - [regression] Difference in compile scope dependency resolution
  • [MNG-4791] - [regression] POM artifacts passed into MavenProjectBuilder.buildFromRepository() are no longer resolved
  • [MNG-4793] - Unable to obtain archiver for extension 'zip'
  • [MNG-4794] - 'org.apache.maven.plugins:maven-install-plugin:2.3.1'. A required class is missing: org.codehaus.plexus.digest.Digester
  • [MNG-4795] - [regression] Dependencies in forked reactor projects are not resolved when aggregator bound to lifecycle forks
  • [MNG-4800] - Conflict resolution does not pick sub tree of nearest dependency if farther conflicting dependency has wider scope
  • [MNG-4810] - Maven cannot build if loaded in a classloader that is not backed by a real JAR file / classpath
  • [MNG-4811] - Custom Maven Plugin regression in Maven 3.x, custom ComponentConfigurator causes infinite loop
  • [MNG-4814] - Eary dependency resolution attempts for reactor projects prevent their later resolution from the reactor
  • [MNG-4818] - NPE in legacy.DefaultWagonManager.getArtifact
  • [MNG-4829] - [regression] Checksum failures aren't logged
  • [MNG-4832] - Maven 3 Regression: Missing constructor of org.codehaus.plexus.component.configurator.converters.special.ClassRealmConverter
  • [MNG-4834] - [regression] MavenProject.getParent() ignores configured repositories
  • [MNG-4836] - Incorrect recursive expression cycle errors (update plexus-interpolation)
  • [MNG-4837] - Interpolation error due to cyclic expression for one of the POM coordinates gets needlessly repeated
  • [MNG-4842] - [regression] Repositories discovered in dependency POMs override repositories configured for original resolution request of POM
  • [MNG-4845] - [regression] MavenProject.getDependencyArtifact() returns artifacts without version for dependency with version range

Improvement

  • [MNG-4452] - Metadata for snapshots should include classifier
  • [MNG-4787] - Allow class realm manager delegates to alter public part of Maven core realm
  • [MNG-4815] - (3.0-RC1) Maven Java API does not give nice error messages when improperly configured
  • [MNG-4824] - multiple failures need additional whitespace
  • [MNG-4825] - Relative path errors could be more explicit

New Feature

  • [MNG-4484] - Create a Maven API for component configuration

Task

  • [MNG-4805] - Update default plugin versions used for built-in lifecycle mappings
  • [MNG-4807] - Extend core artifact filter to exclude relocated Guice-based Plexus shim

Wish

  • [MNG-4796] - add a warning when profiles.xml is used (Maven 2) or detected (Maven 3)

Maven 3.0-beta-3 Release Notes

Maven 3 aims to ensure backward compatibility to the extent possible, improve usability, increase performance, allow safe embedding, and pave the way to implement many highly demanded features.

Users that intent to use the new parallel build feature are strongly advised to read the Guide on Parallel Builds to learn about potential ramifications.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes before reporting any issues regarding changed build behavior in Maven 3.

Before reporting any new bugs, please also double-check for any duplicates with already known bugs in Maven 3.0-beta-3.

Release Notes - Maven - Version 3.0-beta-3 (since 3.0-beta-2 only)

Bug

  • [MNG-2686] - POM dependency scope auto-downgrades from provided to test
  • [MNG-4690] - Transitive dependency lost when included another dependency
  • [MNG-4745] - [regression] Maven does not check for plugin updates, even if forced via -U
  • [MNG-4755] - Version ranges cannot be resolved against mirror if a local artifact is present
  • [MNG-4761] - Plugin-level dependency scope causes some plugin classpaths to be incorrect
  • [MNG-4765] - Failing to determine java version for profile....
  • [MNG-4767] - Regression in parsing command-line arguments including variables
  • [MNG-4768] - Depending on declaration order, nearest matching version does not win when version range is involved in conflict
  • [MNG-4769] - Regression: enabled flag for central cannot be overriden
  • [MNG-4771] - [regression] Plugin prefix resolution ignores enabled flags on repository
  • [MNG-4772] - [regression] Plugin version resolution ignores enabled flags on repository
  • [MNG-4773] - Stack trace printed from MavenProject.getParent
  • [MNG-4775] - Outdated NOTICE.txt
  • [MNG-4776] - NPE during build from parent but not from child
  • [MNG-4779] - NullPointerException thrown during dependency resolution when dependency with range occurs more than once in the dirty tree
  • [MNG-4781] - Can't deploy to Nexus staging repository

Improvement

  • [MNG-4749] - Move from Plexus to Guice as IoC container
  • [MNG-4782] - Automatically dump stack trace in case of internal Maven error

New Feature

  • [MNG-4756] - Aether integration

Maven 3.0-beta-2 Release Notes

Maven 3 aims to ensure backward compatibility, improve usability, increase performance, allow safe embedding, and pave the way to implement many highly demanded features.

Users that intent to use the new parallel build feature are strongly advised to read the Guide on Parallel Builds to learn about potential ramifications.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes.

Release Notes - Maven - Version 3.0-beta-2 (since 3.0-beta-1 only)

Bug

  • [MNG-1803] - Provide line number information when there are errors processing a pom.xml
  • [MNG-4615] - [regression] @required plugin parameters are not validated
  • [MNG-4643] - [regression] Transitive dependency not available due to dependency POM erroneously rejected as invalid
  • [MNG-4648] - NullPointerException thrown from DefaultPluginRealmCache#pluginHashCode method if project-level plugin dependency misses version
  • [MNG-4651] - Site 3.x plugin broken due to api change
  • [MNG-4666] - [regression] Plugins depending on plexus:plexus-container-default get broken runtime classpath
  • [MNG-4677] - [regression] Plugin configuration incorrectly inherited from parent pom
  • [MNG-4678] - CLI: AbstractConsoleDownloadMonitor, BatchModeDownloadMonitor output download progress to STDOUT
  • [MNG-4679] - [regression] command line option "-update-snapshots" does not work for dependency:copy-dependencies
  • [MNG-4682] - Exception upon build failure in parallel builds
  • [MNG-4684] - distributionManagment section in profiles do not override default one (maven 3 regression)
  • [MNG-4695] - Missing Error during pom validation: "You cannot have two plugin executions with the same (or missing) id/ elements."
  • [MNG-4696] - [regression] MavenProject.getDependencyArtifacts() misses elements
  • [MNG-4717] - Repository Ids containing ":" will lead to checksum errors on Windows machines
  • [MNG-4718] - [regression] Missing Class in 3.0-beta-1: org.apache.maven.project.artifact.AttachedArtifact
  • [MNG-4729] - Mirrors and servers not accessed properly by plugin on a build
  • [MNG-4738] - DefaultArtifactResolver forks non-daemon threads
  • [MNG-4740] - Maven hangs with big aggregators with lots of inter-modules dependencies
  • [MNG-4747] - Javaagent not usable since 3.0-alpha
  • [MNG-4750] - [regression] MavenProject.getDependencyArtifacts() aren't resolved

Improvement

  • [MNG-4642] - Mojos need some way to indicate support of multithreading
  • [MNG-4693] - add a dependency graph with image map to navigate easily to modules
  • [MNG-4732] - Version string validation
  • [MNG-4744] - Validate coordinates of dependency exclusions

Task

  • [MNG-4658] - Relax validation of repository ids and only warn upon conflict with "local"
  • [MNG-4664] - Minor patches needed to run Maven3 with the replacement Guice-Plexus container
  • [MNG-4697] - Deprecate ununsed CLI options for plugin registry
  • [MNG-4725] - Extend core artifact filter to exclude Guice-based Plexus shim

Maven 3.0-beta-1 Release Notes

Maven 3 aims to ensure backward compatibility, improve usability, increase performance, allow safe embedding, and pave the way to implement many highly demanded features.

Noteworthy changes in this release are the revision of version range to no longer include snapshot versions unless explicitly matched by a range boundary (cf. [MNG-3092]) and the support for parallel builds (cf. [MNG-3092]). Users that intent to use this feature are strongly advised to read the Guide on Parallel Builds to learn about potential ramifications.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes.

Release Notes - Maven - Version 3.0-beta-1 (since 3.0-alpha-7 only)

Bug

  • [MNG-1751] - merging metadata doesn't fail when timestamp is in the future
  • [MNG-2103] - Inheritance of plugin overrides that of execution
  • [MNG-2222] - dependency to dependency without source code fails
  • [MNG-2276] - profile activation by property doesn't work with properties defined in settings.
  • [MNG-2994] - Snapshot repositories are not checked when using ranges
  • [MNG-3092] - Version ranges with non-snapshot bounds can contain snapshot versions
  • [MNG-3133] - DefaultModelInheritence::appendPath assumes it is operating on interpolated/literal paths
  • [MNG-3470] - Build does not fail on corrupted POM even with checksumPolicy=fail
  • [MNG-3477] - Authentication failures on dependency download aren't reported
  • [MNG-3529] - mvn -Da=" " throws an excepltion
  • [MNG-3616] - Null Pointer Exception when mirrorOf missing from mirror in settings.xml
  • [MNG-3700] - ModelUtils.clone doesn't clone plugin entries where inherited == false
  • [MNG-4022] - Incorrect merge behavior using profile driven plugin configuration
  • [MNG-4326] - Maven should not check snapshot repositories for dependencies in the reactor
  • [MNG-4418] - Dependency resolution appears to misbehave if a remote repository uses the id "local"
  • [MNG-4453] - [regression] Plugin versions defined in a lifecycle mapping are not respected
  • [MNG-4555] - mvn archetype:generate -o (offline) still results in a "checking updates from central"
  • [MNG-4580] - Plugin dependencies for module ignored when building from aggregator project using direct plugin invocation
  • [MNG-4586] - Plugin prefix can't be resolved from plugin management if management entry is missing plugin version
  • [MNG-4590] - [regression] System properties are no longer interpolated in imported POMs
  • [MNG-4600] - [regression] Optional flag from dependency management applied to dependencies
  • [MNG-4618] - maven-javadoc-plugin aggregate-jar fails with maven3 and multiple modules
  • [MNG-4625] - Interpolation of settings.xml fails if an expression's value contains XML markup
  • [MNG-4629] - [regression] POM validation fails upon non-existing system-scope dependency
  • [MNG-4632] - Class loading is not thread-safe

Improvement

  • [MNG-1701] - Validate that a plugin is not configured twice in the pom
  • [MNG-2187] - Improve error message when the pom is encoded in the wrong charset
  • [MNG-2741] - [regression] Meaningless error message: "Error transferring file"
  • [MNG-3004] - Allow build lifecycle to execute projects in parallel
  • [MNG-3779] - Improve error message when trying to execute mojo with no pom.xml
  • [MNG-4162] - Removal of all reporting logic from the core of Maven
  • [MNG-4194] - API to safely release of plugin realms
  • [MNG-4591] - Enhance the download rate output to include downloaded file name
  • [MNG-4610] - Bump maven-release-plugin to v2.0 in super POM
  • [MNG-4619] - Issue warning in case parent.relativePath points at POM with different groupId/artifactId
  • [MNG-4623] - model parsing errors can be less helpful in Maven 3
  • [MNG-4628] - ReactorArtifactRepository is not setup soon enough for AbstractMavenLifecycleParticipant#afterProjectsRead
  • [MNG-4634] - Allow custom lifecycles

Task

  • [MNG-3917] - Complete the POM construction tests which will be the validation for the specification

Maven 3.0-alpha-7 Release Notes

Maven 3 aims to ensure backward compatibility, improve usability, increase performance, allow safe embedding, and pave the way to implement many highly demanded features.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes.

Release Notes - Maven - Version 3.0-alpha-7 (since 3.0-alpha-6 only)

Bug

  • [MNG-2281] - 1.0-beta-3 should be < 1.0-SNAPSHOT
  • [MNG-4526] - [regression] Shade plugin includes too much (relative to 2.2.1)
  • [MNG-4528] - [regression] mvn deploy ignores proxy settings
  • [MNG-4529] - maven fails on IBM JDK 1.5.0 with exception IllegalAccessException: Field is final
  • [MNG-4536] - Long build time - enforcer running too many times
  • [MNG-4542] - StringSearchModelInterpolator concurrency problem
  • [MNG-4543] - Cleanup tmp files created by DefaultWagonManager
  • [MNG-4544] - Concurrent access to Maven internals involving active component collections is not thread-safe
  • [MNG-4553] - Plugins artifact filtering should use full Artifact identification instead only ArtifactId
  • [MNG-4554] - [regression] plugin updates are requested on every build regardless of policies
  • [MNG-4561] - [regression] network settings are not applied to repositories from plugin dependencies
  • [MNG-4562] - [regression] UnsupportedOperationException with Maven AndromMDA plugin
  • [MNG-4564] - Location (and name) for settings-security.xml has changed in Maven 3
  • [MNG-4570] - [regression] User/pass from settings.xml is not used during site:deploy
  • [MNG-4571] - mvn deploy -DaltDeploymentRepository errors out
  • [MNG-4574] - [regression] invoker:install uses wrong local repo path when settings.xml contains wildcard mirror

Improvement

  • [MNG-3168] - Correct error message when project descriptor not found
  • [MNG-4432] - reimplement parallel artifacts download
  • [MNG-4464] - Improve handling of relative paths with backslashes

New Feature

  • [MNG-1144] - List 2 or more maven goals in the defaultGoal of the POM.

Task

  • [MNG-4541] - Extend class realm manager delegate to allow conditional behavior

Wish

  • [MNG-4534] - implement a preferred order for POM elements

Maven 3.0-alpha-6 Release Notes

Maven 3 aims to ensure backward compatibility, improve usability, increase performance, allow safe embedding, and pave the way to implement many highly demanded features.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes.

Release Notes - Maven - Version 3.0-alpha-6 (since 3.0-alpha-5 only)

Bug

  • [MNG-2110] - ArtifactRepositoryLayout isn't extensible
  • [MNG-3266] - maven-model RepositoryBase overrides equals() but not hashCode()
  • [MNG-3610] - Endless loop with relocation jtds:jtds
  • [MNG-4200] - Build fails on system without svn client
  • [MNG-4379] - Properties defined in parent POM and used in systemPath element cause POM validation warnings and dependencies ignoration - compilation error
  • [MNG-4465] - [regression] can't run mvn help:effective-settings when offline
  • [MNG-4466] - Plugin Metaversion Compatibility
  • [MNG-4469] - [regression] deploy:deploy-file fails with secured repository
  • [MNG-4470] - [regression] Proxies are ignored during artifact deployment
  • [MNG-4472] - [regression] Circular self-referential POM causes network access
  • [MNG-4474] - [regression] Wagon manager does not respect instantiation strategy of wagons
  • [MNG-4475] - Transitive Dependency Resolution silently fails if parent pom cannot be retrieved from repository
  • [MNG-4482] - [regression] command line option "-update-snapshots" does not work for plugins/extensions
  • [MNG-4488] - [regression] Parent POMs resolved from repository are validated in strict mode
  • [MNG-4489] - [regression] Mirror/proxy/auth does not apply to repositories discovered in POMs of build extensions
  • [MNG-4495] - mvnUpdate attempts to use a non-existent .cd directory
  • [MNG-4500] - [regression] Maven checks for updates of timestamped snapshots
  • [MNG-4509] - MAVEN_DEBUG_OPTS in mvnDebug.bat is set at the wrong place
  • [MNG-4510] - NoSuchMethodError when using Maven 3
  • [MNG-4511] - API incompatibility in MavenProjectBuilder (Maven-3)
  • [MNG-4512] - [regression] Profile activation based on JDK version range fails if current version is close to range boundary
  • [MNG-4518] - Profile activation based on JRE version misbehaves if java.version has build number

Improvement

  • [MNG-2546] - Allow plugin executions in the "super-init" phase before reactor sorting of modules build order
  • [MNG-3648] - Maven is too verbose in its output, obscuring actual messages
  • [MNG-4492] - Integration test MNG1830 fails with GIT based forks
  • [MNG-4494] - Custom repository layout should be able to participate in repository instance creation
  • [MNG-4498] - Don't fail dependency resolution if one remote repo's metadata is broken

Task

  • [MNG-1086] - Use the embedder in Maven's integration tests
  • [MNG-3902] - Remove visibility MavenProjectBuilder#buildStandaloneSuperProject

Maven 3.0-alpha-5 Release Notes

Maven 3 aims to ensure backward compatibility, improve usability, increase performance, allow safe embedding, and pave the way to implement many highly demanded features.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes.

Release Notes - Maven - Version 3.0-alpha-5 (since 3.0-alpha-4 only)

Bug

  • [MNG-4450] - [regression] Stub project for missing dependency POMs is not properly created
  • [MNG-4454] - Incomplete parent element causes NPE
  • [MNG-4459] - [regression] Effective settings as visible to plugins contain plain text passwords
  • [MNG-4461] - [regression] No transfer progress during artifact deployment

Improvement

  • [MNG-4440] - error message should clearly indicate the module that failed, and how to continue
  • [MNG-4456] - Deprecate fully qualified pathnames in system path

Maven 3.0-alpha-4 Release Notes

Maven 3 aims to ensure backward compatibility, improve usability, increase performance, allow safe embedding, and pave the way to implement many highly demanded features.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes.

Release Notes - Maven - Version 3.0-alpha-4 (since 3.0-alpha-3 only)

Bug

  • [MNG-4361] - [regression] command line option "-update-snapshots" does not work
  • [MNG-4433] - [regression] command line option "-update-snapshots" does not work for parent POMs
  • [MNG-4436] - [regression] Singleton components can get instantianted multiple times

Improvement

  • [MNG-4439] - apache-maven project should not deploy a source JAR or JAR, as it is only a distribution module

Task

  • [MNG-3913] - Figure out why MavenEmbedderExampleTest fails on the grid and reenable when fixed.
  • [MNG-4412] - Make legacy entry points to repository system pick offline mode from session

Maven 3.0-alpha-3 Release Notes

Maven 3 aims to ensure backward compatibility, improve usability, increase performance, allow safe embedding, and pave the way to implement many highly demanded features.

The full list of changes can be found in our issue management system, and is reproduced below.

Known Incompatibilities with Maven 2

Please refer to the following compatibility notes.

Release Notes - Maven - Version 3.0-alpha-3 (since 3.0-alpha-2 only)

Sub-task

  • [MNG-3013] - The plugin manager incorrectly caches plugin versions between embedder calls
  • [MNG-3862] - Remove all plugin configuration manipulation from the plugin manager
  • [MNG-3932] - Remove all mirror, authentication, and proxy handling out of WagonManager and into a neutral Maven implementation
  • [MNG-4163] - Deprecate all methods in MavenProject that relate to reporting.
  • [MNG-4215] - Review and fix hashCode/equals methods of ArtifactRepository implementations

Bug

  • [MNG-1943] - MavenProject::getParent() returns a MavenProject that is NOT interpolated
  • [MNG-2098] - Artifact resolver incorrectly selects repository which doesn't contain the selected version
  • [MNG-2140] - Mojo in forked lifecycle invoked in reactor build cannot find reactor dependency
  • [MNG-2174] - <pluginManagement><plugins><plugin><dependencies> do not propogate to child POM plugins (potentially scoped to only affecting child POM plugins that live within a <profile>)
  • [MNG-2363] - <profile><activation><file><exists/> does not work in a multi-project build
  • [MNG-2693] - Error executing post-site: java.util.MissingResourceException: Can't find bundle for base name site-plugin, locale en
  • [MNG-2720] - Multiproject dependencies not accurate for project.compileClasspathElements when run from root project
  • [MNG-3018] - pluginManagement configurations are not honoured when plugin is silently included
  • [MNG-3043] - Allow 'mvn test' to work with test-jar dependencies in a reactor
  • [MNG-3139] - The skin does not exist: Unable to determine the release version
  • [MNG-3260] - 2.1: aggregating plugins in submodules of the reactor return all projects causing a chicken/egg issue
  • [MNG-3265] - maven-model Extension.equals causes NPE when any field is uninitialized
  • [MNG-3281] - Revisit backwards compat of extensions (IT 0114)
  • [MNG-3391] - StackOverflowError in DefaultMavenProjectBuilder
  • [MNG-3401] - Plugin parameters must be specified outside an execution block when they are invoked from the command line
  • [MNG-3483] - merging managed dependencies should ONLY work when scope == import explicitly
  • [MNG-3543] - readProjectWithDependencies take very long time for some projects
  • [MNG-3567] - pluginManagement from parent POM not used in child
  • [MNG-3607] - Class loaders employed by Maven return invalid URLs to resources
  • [MNG-3641] - Lack of error checks on profiles
  • [MNG-3683] - [regression] Help plugin does not work
  • [MNG-3732] - [regression] project.getActiveProfiles() has not the same behaviour
  • [MNG-3757] - Setting M2_HOME to nothing and running ant delets contents of the current folder
  • [MNG-3803] - [regression] System properties not working any more
  • [MNG-3807] - Maven is not interpolatin Properties at plugin configuration
  • [MNG-3814] - Reactor builds fail due to erroneous cycle in project sorting which does not consider versions
  • [MNG-3819] - [regression] Plugins that don't declare dependency on plexus-utils no longer get plexus-utils:1.1
  • [MNG-3836] - [regression] Inherited collection from plugin configuration is merged with configuration from child whereas child config should completely override collection
  • [MNG-3848] - [regression] Inheritance of project/site/scm URLs does not take child's relative location to parent into account
  • [MNG-3853] - [regression] Distribution Management injected by profile is not reflected by MavenProject
  • [MNG-3872] - Profiles not being activated for relocated POMs
  • [MNG-3877] - Reporting output directory not basedir aligned when queried from MavenProject
  • [MNG-3885] - Modules of Maven projects are deployed with Timestamp during reactor build when uniqueVersion is set to false in parent profile
  • [MNG-3900] - [regression] Properties defined by active profiles are not used for POM interpolation
  • [MNG-3918] - NPE in CLIReportingUtils
  • [MNG-3919] - NPE in DefaultLifecycleBindingManager
  • [MNG-3925] - [regression] Wrong order of plugin executions after merge with executions inherted from parent
  • [MNG-3927] - [regression] Configuration of custom plugin execution using default id pollutes configuration of default plugin executions introduced by packaging
  • [MNG-3941] - Execution project is accessible to later mojo executions
  • [MNG-3947] - [regression] Configuration of plugin execution with id "default" pollutes configuration of standalone plugin execution from CLI
  • [MNG-3991] - POM validator allows <scope>optional</scope> but it is not valid.
  • [MNG-3995] - Configuration Property Lost In Join of PluginManagement/Plugin
  • [MNG-4008] - [regression] Build filters are collapsed
  • [MNG-4009] - [regression] Effects of active profiles from parent are not inherited by children.
  • [MNG-4027] - [regression] Injection of dependencies from profiles crashes project builder
  • [MNG-4034] - [regression] dependency version is not inherited from parent dependencyManagement
  • [MNG-4035] - Cannot find setter nor field in org.apache.maven.plugin.plugin.metadata.AddPluginArtifactMetadataMojo for 'extractors'
  • [MNG-4036] - [regression] Maven 3.x can't resolve parent POMs from repositories defined in settings.xml
  • [MNG-4040] - Tycho build fails with PluginDescriptor for the plugin was not found
  • [MNG-4041] - embedder returns stale maven project state
  • [MNG-4050] - Bootstrap fails since the commons-parent pom has empty repo URL
  • [MNG-4052] - import scope dependencies prefer to download pom rather than find it in the current project
  • [MNG-4053] - [regression] XML attributes in plugin configuration get duplicated to other elements in combination with plugin management
  • [MNG-4055] - wrong error on mvn install in folder without pom.xml
  • [MNG-4068] - [regression] Use proper id for mirrored repository
  • [MNG-4070] - [regression] Parent POMs cannot be resolved when their id values are surrounded by whitespace
  • [MNG-4072] - [regression] Repositories from inactive profiles are used for artifact resolution
  • [MNG-4078] - [regression] Plugin metaversion RELEASE no longer resolved
  • [MNG-4102] - [regression] Properties used for interpolation of inherited properties can't be customized by child
  • [MNG-4106] - [regression] Interpolation does not use properties from dominant settings profile if other profile defines same property
  • [MNG-4107] - [regression] User settings can't override properties used for POM interpolation
  • [MNG-4109] - When running a plugin, project builder does not pick up settings profiles
  • [MNG-4116] - [regression] Effective POM contains invalid URLs upon usage of percent-encoded characters
  • [MNG-4129] - Execution's inherited is not working as expected.
  • [MNG-4172] - Project POM artifact returned as dependency if project has no dependencies
  • [MNG-4180] - [regression] Dependency exclusions are applied globally
  • [MNG-4187] - dependency:trunk doesn't work with mvn trunk rev 782332
  • [MNG-4190] - same remote repo is referecned multiple times
  • [MNG-4191] - separate plugin and artifact repositories
  • [MNG-4196] - [regression] Exclusions in project-level plugin dependencies are ignored
  • [MNG-4197] - relocation doesn't work in trunk (rev 784345)
  • [MNG-4199] - [regression] Dependency resolution for compile and runtime scope misses provided&system dependencies
  • [MNG-4201] - Custom packaging break in trunk (rev 784628)
  • [MNG-4203] - [regression] Dependency exclusions are not applied transitively
  • [MNG-4208] - [regression] CLI properties can't override project properties during interpolation
  • [MNG-4214] - [regression] Parent POMs cannot be resolved from mirrored repos
  • [MNG-4217] - trunk create a directory with %20 in name (trunk rev 787409)
  • [MNG-4227] - DefaultArtifactVersion equals implementation does not handle null
  • [MNG-4231] - Snapshots are not checked for updates
  • [MNG-4239] - NoSuchMethodError org.apache.maven.project.inheritance.ModelInheritanceAssembler.assembleModelInheritance(Lorg/apache/maven/model/Model;Lorg/apache/maven/model/Model;)V
  • [MNG-4245] - can't access protected mirrors with latest 3.0-SNAPSHOT (rev 795227)
  • [MNG-4246] - plugin resolution failures during pom-less execution (like archetype:generate)
  • [MNG-4256] - [regression] The gwt-maven-plugin is using ActiveProjectArtifact to get hold of sources in the reactor
  • [MNG-4261] - site plugin doesn't generate reports
  • [MNG-4262] - Make-like reactor mode fails to find projects selected by relative paths with leading dots
  • [MNG-4266] - Missing method ArtifactUtils.isSnapshot used in the release plugin
  • [MNG-4269] - [regression] Invocation of just installed plugin on its plugin project can fail with ComponentLookupException for mojo class
  • [MNG-4272] - Error found in code: wrong order of parameters in createRepository for repo in a profile in settings.xml
  • [MNG-4273] - [regression] Internal utility classes of core leak into plugin realm
  • [MNG-4274] - Plugins with an undeclared but transitive dependency on plexus-utils via a core artifact get wrong version of p-u
  • [MNG-4276] - Plugins with indirect dependency on plexus-utils are stuck with plexus-utils:1.1
  • [MNG-4280] - [regression] Direct CLI invocation of goal causes "default-cli" config to be processed twice, duplicating list values
  • [MNG-4281] - remote snapshots are prefered over locally installed snapshots in maven3 svn rev 800808
  • [MNG-4283] - [regression] Parent POM with packaging other than "pom" is not rejected
  • [MNG-4291] - [regression] @requiresOnline mojo annotation is ignored
  • [MNG-4304] - [regression] MavenProject.getDependencyArtifacts() not set
  • [MNG-4305] - [regression] ${localRepository.basedir} is not a proper path
  • [MNG-4312] - Magic expressions injected by PluginParameterExpressionEvalutor conflict with expressions used by plugins to access system properties
  • [MNG-4313] - Plugin descriptor builder ignores deprecation message for mojo
  • [MNG-4314] - [regression] Direct invocation of aggregator plugin causes plugin to run on each project
  • [MNG-4317] - [regression] g:a level metadata is not properly processed when resolving plugin version
  • [MNG-4318] - MavenProject.executionRoot is not set correctly
  • [MNG-4320] - [regression] Aggregators invoked from CLI no longer resolve dependencies for all reactor projects
  • [MNG-4321] - [regression] Plugin-level configuration from plugin management is not applied to goals invoked from CLI
  • [MNG-4325] - [regression] Lifecycle overlay configuration of aggregator mojos is not properly processed when forking reactor
  • [MNG-4327] - [regression] Forking mojos that are bound to a lifecycle phase that gets forked execute multiple times
  • [MNG-4328] - [regression] plugin parameters of primitive types can't be populated from expression
  • [MNG-4332] - [regression] Default plugin executions contributed by packaging execute after executions from plugin management
  • [MNG-4334] - maven core caches settings.xml
  • [MNG-4335] - [regression] <settings><offline>true</offline</settings> is not honored
  • [MNG-4338] - Unexepceted "Unknown packaging: bundle" error for plugins with custom lifecycle mapping that defines optional mojos
  • [MNG-4341] - [regression] Plugins are not executed in POM order
  • [MNG-4342] - [regression] Multiple goals within single execution with equally named parameter get configured with wrong default values
  • [MNG-4343] - maven always checks missing release artifacts
  • [MNG-4344] - [regression] Managed executions of plugins introduced by default lifecycle bindings execute before explicitly defined plugins
  • [MNG-4345] - [regression] Plugin executions contributed by default lifecycle mapping execute after other plugin executions bound to the same phase
  • [MNG-4348] - [regression] Unnecessary remote repo access for POMs while execution plugin that does not require dependency resolution
  • [MNG-4349] - [regression] Maven hangs in endless loop if POM of relocated artifact is invalid
  • [MNG-4350] - [regression] Multiple goals bound to the same phase in a lifecycle mapping get executed out of order
  • [MNG-4353] - [regression] Plugin dependencies are not downloaded from repos given in the plugin's POM
  • [MNG-4355] - [regression] Extensions without version in the POM are not resolved to the RELEASE artifact
  • [MNG-4356] - [regression] Active component maps with stateful per-lookup components broken
  • [MNG-4357] - [regression] Custom packagings from build extensions are not reliably loaded during a reactor build
  • [MNG-4359] - [regression] Locally reachable parent POMs outside of reactor are not found during dependency resolution
  • [MNG-4360] - [regression] wagon-webdav-jackrabbit doesn't work with Maven 3.x
  • [MNG-4363] - [regression] Dependency artifacts injected by plugins aren't included in class paths
  • [MNG-4365] - XmlPullParserException while parsing XML with encoded entities within attributes
  • [MNG-4378] - Maven wants to create meta data files with invalid file names
  • [MNG-4383] - Uninterpolated expressions should cause an error for dependency versions
  • [MNG-4385] - [regression] Custom lifecycle mappings from build extension leak into other projects in the reactor without extension
  • [MNG-4386] - [regression] Debug logging can't be activated
  • [MNG-4387] - [regression] Quiet logging can't be activated
  • [MNG-4393] - [regression] Parent POMs resolved from repository are parsed in strict mode
  • [MNG-4396] - [regression] Ant plugin fails with Maven-3
  • [MNG-4400] - [regression] Repository order from settings.xml is not respected during artifact resolution
  • [MNG-4401] - [regression] central repository is tried before explicitly declared repositories during parent POM resolution
  • [MNG-4408] - Missing settings.xml is silently ignores
  • [MNG-4409] - NPE when reporting command line error for non-existent option
  • [MNG-4410] - [regression] Maven execution does not end after showing usage help
  • [MNG-4411] - [regression] Maven execution does not stop after showing version
  • [MNG-4413] - [regression] Repositories discovered in dependency POMs are not subject to mirroring
  • [MNG-4415] - [regression] Plugins are not properly ordered after merging with inherited parent plugins
  • [MNG-4416] - [regression] Plugins are not properly ordered after merging with profile plugins
  • [MNG-4426] - Some javac errors not shown in console when error stacktraces are turned on
  • [MNG-4427] - Bad error message with duplicate dependencies that don't declare a version
  • [MNG-4429] - [regression] jspc plugin works in Maven 2.2.1, fails in 3.0
  • [MNG-4430] - [regression] Presence of distribution management status in POM of local project does not cause validation error

Improvement

  • [MNG-2391] - improve validation of POM elements
  • [MNG-3402] - MavenArtifactFilterManager needs to not filtering doxia-sink-api
  • [MNG-3631] - Introduce new MavenEmbedder.getPluginConfiguration method
  • [MNG-3714] - Allow specification of the toolchains.xml location on the command line
  • [MNG-3834] - Improve error message when dependency with classifier is missing version
  • [MNG-3951] - Hide drive-relative paths from plugins
  • [MNG-3969] - replace maven-ant with mercury-ant in the bootstrap
  • [MNG-4005] - Throw Validation Error if pom contains a dependency with two different versions.
  • [MNG-4037] - Include Java home in version information
  • [MNG-4048] - Allow to resolve dependencies using version range from reactor
  • [MNG-4057] - Propose checking of plugin artifact when plugin descriptor cannot be found
  • [MNG-4186] - Provide an exact pointer to documentation specific to each known exception that can occur
  • [MNG-4193] - Throw validation error upon multiple repository declarations with the same id
  • [MNG-4224] - maven lifecycle participant
  • [MNG-4244] - Allow to select project for make-like reactor by artifact id
  • [MNG-4247] - Displaying which artifacts are downloaded and from which repo
  • [MNG-4292] - Support Enum-type parameters in mojos
  • [MNG-4293] - Extend Mojo API to allow resolution of both compile and runtime dependencies
  • [MNG-4296] - allow core extensions configure new classrealms
  • [MNG-4298] - Build MavenProject instances incrementally
  • [MNG-4368] - DefaultArtifactInstaller should only overwrite files if timestamp has changed
  • [MNG-4390] - Make parsing of settings.xml lenient with respect to unrecognized tags
  • [MNG-4402] - Improve duplicated modules error
  • [MNG-4404] - Throw validation error upon duplicate profile id
  • [MNG-4405] - Uninterpolated expressions should cause an error for plugin versions
  • [MNG-4421] - Warn regarding old-style references when used in a project build
  • [MNG-4423] - Allow to query session data via plugin parameter expressions

New Feature

  • [MNG-553] - Secure Storage of Server Passwords
  • [MNG-3760] - Support property ${baseurl} to get RFC-compliant URL of project base directory
  • [MNG-4033] - Introduce password encryption to the trunk
  • [MNG-4331] - Add new mojo annotation @requiresDependencyCollection to grab dependency tree without files
  • [MNG-4367] - Consider layout for mirror selection
  • [MNG-4381] - Allow extension plugins to contribute non-core components to be reused by other plugins
  • [MNG-4398] - Provide an extension point to track artifact additions to the local repository

Task

  • [MNG-2387] - <active> on <proxy> in settings is misleading
  • [MNG-2765] - Refactor DefaultPluginManager
  • [MNG-2766] - Refactor DefaultLifecycleExecutor
  • [MNG-3850] - Integrate new Profile Activators
  • [MNG-3901] - Merge all project building code into a single component
  • [MNG-3903] - Create a Maven specific abstraction for Artifact use within Maven
  • [MNG-3935] - Get the Maven Integration Testing Hudson plugin installed on the grid
  • [MNG-4059] - Remove support for non-unique SNAPSHOT deployments
  • [MNG-4060] - Remove support for profiles.xml
  • [MNG-4062] - Evaluate possibility to cache parents during multi module build
  • [MNG-4069] - Remove support for plugin metaversion LATEST
  • [MNG-4169] - Remove invocation of maven-plugin-plugin:updatePluginRegistry from default lifecycle bindings
  • [MNG-4204] - Remove support for legacy style repositories
  • [MNG-4205] - Remove support for plugin metaversions RELEASE and LATEST
  • [MNG-4206] - Prefer RELEASE over LATEST when resolving plugin versions
  • [MNG-4216] - Remove all direct usage of DefaultArtifactRepository
  • [MNG-4221] - Push all repository/artifact related code into a legacy module and create a backward compat layer for external consumers
  • [MNG-4259] - Create a new name for the current PluginManager and create a backward compatible PluginManager implementation in maven-compat which delegates to the new implementation
  • [MNG-4260] - Remove old-school reactor mode
  • [MNG-4277] - Remove core artifacts from ${plugin.artifacts}
  • [MNG-4287] - Make ToolchainManagerPrivate session-aware

Wish

  • [MNG-4056] - Relax resolution of active project artifacts from the reactor with regard to artifact type
  • [MNG-4425] - Restore support for resume-from (-rf flag)

Complete Release Notes