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.
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.
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.
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.
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.
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.
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.
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.
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
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)