Release Notes

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)