2.0.9 Release Notes
The full list of changes can be found in our issue management system, and is reproduced below.
Changes that may affect existing builds.
This release was extensively screened for regressions with Release Candidates but several things are worth noting.
- MNG-3395 - Starting in 2.0.9, we have provided defaults in the super pom for the plugins bound by default to the lifecycle and a few other often used plugins. This will introduce a bit of stability to your builds because core plugins will not change magically on you when they are released. We still recommend taking control of your plugin versions via pluginManagement declarations as this is the most robust way to future proof your builds. Defaulting the plugins in the superpom was a step towards introducing stability for small builds and new users. A full table of the versions used is shown in the next section.
- MNG-1412 / MNG-3111 introduced deterministic ordering of dependencies on the classpath. In the past, natural set ordering was used and this lead to odd results. The ordering is now preserved from your pom, with dependencies added by inheritence added last. In builds that had conflicting or duplicate dependencies, this may introduce a change to the output. In short, if you have weird issues with 2.0.9, take a look at the dependencies to see if you have conflicts somewhere.
Noteworthy Changes and improvements
- MNG-2234 - In the past, settings.xml was ignored if there was no pom present (like in archetype:generate). Now all settings will be interpreted correctly.
- MNG-2664 - The webdav wagon is now included in the core bundle by default. This means deploying 3rd party jars without a pom is a bit easier. The version of the wagon may still be overriden with an extension declaration within your pom.
- MNG-2972 The plugin.dependency section can now override the dependencies specified by a plugin itself. This is useful for example to upgrade the version of checkstyle used by the checkstyle plugin (and many more).
- MNG-3286 - The inherited field in a plugin execution block is now functioning correctly. Previously you could only dis-inherit an entire plugin configuration.
- MNG-3220 - There is now a new scope for importing managed dependencies. See here and here for details. Please note that the use of this scope will break backwards compatibility with older Maven versions. If you use this, you should use the maven-enforcer-plugin to require a minimum maven version of 2.0.9
- MNG-3394 - plugin versions specified in pluginManagement are now properly overriden by build.plugin.version specification.
- MNG-3415 - Transmission errors when downloading artifacts should not corrupt the local repository metadata. Hopefully this means the end of "delete your local repo" as a debug step.
- MNG-3461 - There is a new, more flexible way to define mirror settings. See the settings specification for more information.
Plugin Versions defined in the 2.0.9 super pom:
See the raw super pom for 2.0.9 here.
Default Plugin VersionsAntrun | 1.1 |
Assembly | 2.2-beta-2 |
Clean | 2.2 |
Compiler-plugin | 2.0.2 |
Dependency | 2.0 |
Deploy | 2.3 |
Ear | 2.3.1 |
Ejb | 2.1 |
Install | 2.2 |
Jar | 2.2 |
Javadoc | 2.4 |
Plugin | 2.4.1 |
Rar | 2.2 |
Release | 2.0-beta-7 |
Resources | 2.2 |
Site | 2.0-beta-6 |
Source | 2.0.4 |
Surefire | 2.4.2 |
War | 2.1-alpha-1 |