Older Release Notes.
2.0.8 Release Notes
Release Notes - Maven 2 - Version 2.0.8
The full list of changes can be found in our issue management system
, and is reproduced below.
Changes that may affect existing builds
- MNG-3118
- Test-classes should come before classes in the classpath. This may slightly alter behavior of tests. The test-classes
directory is now included first in the classpath to allow test resources to override normal runtime ones.
Bug
- [MNG-2025] - POM is still not read using the right encoding
- [MNG-2045] - Maven can't compile against sibling test-jar dependency in multiproject (Test Attached)
- [MNG-2061] - DistributionManagement properties don't get copied in cloned executionProject while lifecycle fork
- [MNG-2254] - the encoding parameter in xml declaration of POM is ignored
- [MNG-2277] - aggregating plugins in submodules of the reactor return all projects causing a chicken/egg issue
- [MNG-2593] - Maven 2 stumbels upon non ASCII characters in the value of a localRepository
value in the $HOME/.m2/settings.xml
- [MNG-2685] - mvn.bat detection of 4NT syntax error
- [MNG-2932] - Encoding chaos
- [MNG-2961] - DefaultArtifact getBaseVersion is changed to "xxxx-SNAPSHOT" only if you first call isSnapshot()
- [MNG-3046] - DefaultArtifactVersion compareTo misbehaves regarding buildNumber 0
- [MNG-3077] - NullPointerException, if MojoExecutionException has no message
- [MNG-3084] - mvn.bat in maven 2.0.7 does not return the correct error code.
- [MNG-3095] - maven-plugin-testing-tools causes bad version in deployed artifacts after tests are run
- [MNG-3134] - DefaultModelInheritence::assembleDistributionInheritence should be childPathAdjustment aware
- [MNG-3141] - Build not working if pom.xml is a symbolic link
- [MNG-3215] - Missing rar artifact handler descriptor
- [MNG-3240] - maven-model RepositoryBase.equals() causes ClassCastException
- [MNG-3245] - Maven Reporting API is binary incompatible in 2.0.8-SNAPSHOT by r579987
- [MNG-3254] - artifactId is not appended any more in distributionManagement.site.url in multi modules when it's not defined in a child
- [MNG-3298] - invoker MavenCommandLineBuilder#checkRequiredState() should not throw Exception if envvar M2_HOME exists
Improvement
- [MNG-2188] - Report mojos should check canGenerateReport() when called directly
- [MNG-2290] - Generated URLs in POMs of child modules
- [MNG-3024] - Missing artifact error text improvement
- [MNG-3047] - DefaultArtifactVersion compareTo inconsistent with equals
- [MNG-3062] - Allow access to mojoExecution from within plugin.
- [MNG-3118] - Test-classes should come before classes in the classpath
- [MNG-3152] - Change to plugin testing harness to allow the setting of ArtifactRepository on the ArtifactStub
- [MNG-3201] - org.apache.maven.project.MavenProject needs a toString()
New Feature
- [MNG-2105] - Enable remote debugging command line option (+ docs)
- [MNG-2166] - Provide the help listing as default when no arguments are provided
Task
- [MNG-3088] - update the assembly name
Wish
- [MNG-3207] - Order of repositories for download should be inverted if Archiva is used.
2.0.7 Release Notes
The full list of changes can be found in our issue management system
, and is reproduced below.
Bug
- [MNG-2247] - Release-Dates of maven releases not documented on website?
- [MNG-2267] - Introduction to Repositories contains incorrect information
- [MNG-2289] - Newer SNAPSHOT parents in the remote repository are ignored
- [MNG-2432] - Apache and Mojo plugins take precendence over plugins in the pom.
- [MNG-2689] - type
ejb-client/type
dependency not working properly as reactor build
- [MNG-2696] - maven-cli assembly exceptions when using maven to build
- [MNG-2784] - Multiple executions of the same plugin at the same life cycle phase in a multi-module profile mixed up
- [MNG-2831] - Cannot add custom artifact handler and custom lifecycle as a build extension
- [MNG-2860] - Empty module
/module
entry causes OutOfMemoryError
- [MNG-2880] - error message for artifacts with classifiers doesn't instruct user to install with classier
- [MNG-2905] - JIRA URL is wrong on the site
- [MNG-2919] - Scope defined in dependencyManagement section of parent pom overwrites scope of current artifact
- [MNG-2921] - ejb-client dependency no longer working
- [MNG-2923] - Having any active profiles causes the build to fail
- [MNG-2926] - group search order for plugins is inverted
- [MNG-2934] - Cannot Deploy Using Webdav due to DependencyManagement
- [MNG-2939] - ${basedir} isn't well interpolated in properties files
- [MNG-2942] - Typo in Maven introduction
- [MNG-2981] - [PATCH] NPE in PluginXDocGenerator while creating plugin site
- [MNG-2988] - Ranges with inclusive upper bounds are not validated against metadata
- [MNG-2998] - maven-plugin-testing-harness: all collections in MavenProjectStub should return empty collections
- [MNG-3039] - mvn.bat fails
- [MNG-3055] - [regression] loader constraint problems with XmlSerializer if attaching site descriptorImprovement
Improvement
- [MNG-980] - Provide control over precedence of org.apache.maven.plugins group in search path
- [MNG-2376] - Have Java code output Java version, not the shell script
- [MNG-2582] - -X (debug) does not display JVM version
- [MNG-2885] - improve os activation documentation
- [MNG-2904] - Misleading error message if profiles that are active by default do not have an ID
- [MNG-2965] - Update svn:ignores for developing with eclipse
- [MNG-3024] - Missing artifact error text improvementNew Feature
New Feature
- [MNG-2169] - Want to contribute: Contributing Maven 2 refcard
2.0.6 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
- MNG-1577
- Maven will now only obey the <dependencyManagement>
element in the POM and will align all transitive dependencies to versions specified in the <dependencyManagement>
. To detect any problems that you might have you can refer to these upgrade notes for Maven 2.0.6
to prepare for the upgrade.
Bug
- [MNG-1577] - dependencyManagement does not work for transitive dependencies
- [MNG-2339] - ${project.*} are interpreted in the wrong place
- [MNG-2362] - Deployed POM is not valid XML
- [MNG-2433] - Maven looks for snapshots in offline mode
- [MNG-2648] - Repeated message "[WARNING] Unable to get resource from repository ... "
- [MNG-2760] - Fix deployment so that assemblies are signed with the GPG plugin
- [MNG-2793] - Snapshot plugins cannot be resolved correctly with java6
- [MNG-2812] - Profile with an undefined os family activation should not activate
- [MNG-2843] - Plugins can't get project properties
- [MNG-2867] - Guide building maven not up to date
- [MNG-2877] - unable to resolve attached artifacts from reactor that are not in repo. (patch applied in svn and IT tests added)
- [MNG-2891] - Fix deployment permissions so by default group write works
- [MNG-2897] - Make sure that Xpp3Dom is shared from the core to plugins
- [MNG-2899] - In cases where ${version} is used in depMan we get null versions in attached artifacts
- [MNG-2900] - Extensions that have no declared dependency on plexus-utils yet need it at runtime will fail.
Improvement
- [MNG-2252] - Upgrade to plexus-utils 1.3
- [MNG-2823] - More control over what WARNING messages are displayed
- [MNG-2828] - Upgrade the dependency on plexus-utils to a more recent version
- [MNG-2892] - Use shade to hide the use of plexus-utils internally so that plugins can use their own version
Task
- [MNG-2776] - Upgrade the dependency on modello-maven-plugin to a more recent version
- [MNG-2894] - Make sure that if a plugin does not specify the use of plexus-utils that once is fed in to protect against plugins that use plexus-utils but don't declare it.
- [MNG-2898] - Look at allowing all org.codehaus.plexus.util.xml to show through
2.0.5 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
- MNG-2794
- Maven now behaves in a defined way when matching the nearest dependency when two exist at the same depth in the dependency graph, by matching the first encountered. Previously, it was undefined. This may result in some builds having a different dependency graph, which could cause failures if all compilation dependencies are not specified completely in the POM. While not currently enforced, projects should always list the dependencies it needs to compile, even if they are available transitively.
- MNG-2228
- The handling of build extensions has changed. This technique causes less pollution to the global classloader, allowing them to be used more widely for extensions to Maven's core. This may affect builds that used them to expose extra classes to various plugins. While in most scenarios these builds will continue to work, in these situations the <dependencies>
element of <plugin>
should be used instead.
Bug
- [MNG-967] - maven.mdo, settings.mdo, and generated-sources
- [MNG-1181] - MavenEmbedder.execute() doesn't run reactor modules
- [MNG-1245] - Reactor projects sometimes used even with version mismatch
- [MNG-1281] - Most of the links off the m2 ant task documentation page are broken
- [MNG-1290] - What is a Mojo?
- [MNG-1379] - Wrong path for artifacts with system scope
- [MNG-1458] - error/warning handling in embedder
- [MNG-1545] - some execution output not routed through default routes.
- [MNG-1562] - Exception with dependencies that have type
and implied version
from parents
- [MNG-1593] - Typo in settings doc
- [MNG-1645] - document clean and site lifecycles in the build lifecycle doc
- [MNG-1697] - NPE in addEdgeWithParentCheck
- [MNG-1797] - Dependency excludes apply to every subsequent dependency, not just the one it is declared under.
- [MNG-1891] - plugin execution in a profile
- [MNG-1955] - null pointer exception in profile if pluginManagement section exists in pom
- [MNG-2056] - Exception when starting new page with AbstractMavenMultiPageReport
- [MNG-2088] - antcall failed
- [MNG-2106] - Add dependency-maven-plugin to plugins list (patch attached)
- [MNG-2164] - Generated plugin documentation lists wrong data type
- [MNG-2177] - moved mojo plugins are missing web pages at http://maven.apache.org/plugins
- [MNG-2201] - Interpolation problem when using surefire
- [MNG-2214] - ITs fail when bootstrapping M2 SVN trunk with java.lang.StringIndexOutOfBoundsException: String index out of range: 1
- [MNG-2221] - Multiple Executions of Plugin at Difference Inhertiance levels causes plugin executions to run multiple times
- [MNG-2228] - Classloader problem loading jars from build extensions
- [MNG-2230] - The "How do I create documentation?" part of the "Maven Gettting Started Guide" features an invalid example
- [MNG-2236] - DefaultMavenProjectBuilder.buildStandaloneSuperProject() should include a ProfileManager that includes active profiles from settings.xml
- [MNG-2244] - Plugin xdoc generator outputs xdoc with unix file endings
- [MNG-2256] - Misleading documentation regarding configuration of java.utils.Properties
- [MNG-2261] - Profiles ignored when working with non-projects (such as archetype:create)
- [MNG-2282] - If a repo is down, maven stops the buid instead of trying other repos
- [MNG-2284] - Cannot specify additional classpath entries in manifest when using addClasspath
- [MNG-2291] - svn ignore command incorrect
- [MNG-2299] - org.apache.maven.it.Verifier.loadProperties(..) does not close FileInputStream (relies upon finalizer being called)
- [MNG-2302] - SCM path calculations don't work when parent and grandparent are in sibling directories
- [MNG-2303] - ActiveProjectArtifact.getFile(..) and .setFile(..) result in StackOverflowException, since they are effectively recursive
- [MNG-2309] - Profile activation order is random
- [MNG-2312] - The mvn script doesn't work on Solaris
- [MNG-2314] - dependencyManagement
not inherited more than one level
- [MNG-2341] - Shell script mvn too old
- [MNG-2407] - New user docs: proxy configuration is not clear to new users
- [MNG-2408] - Improve handling of "no plugin version found" error after intermittent errors
- [MNG-2413] - maven version insistence based on wrong variable
- [MNG-2420] - exclusion on dependency seems to act global on POM
- [MNG-2424] - Classpath in reactor builds differ from dependency resolution
- [MNG-2425] - Mojo parameters with no "expression" does not get added to the parameter list
- [MNG-2460] - Incorrect POM inheritance for plugins
- [MNG-2462] - Using Maven 1.x Legacy Repository Layout in a Maven 2.0.4 Project, I can't depend on a "java-sources" jar
- [MNG-2475] - Need to finish escaping html in http://maven.apache.org/general.html#Compiling-J2SE-5
- [MNG-2493] - Snapshot plugin repositories should be included for reference at the Maven site
- [MNG-2539] - Transitive dependencies referenced by a plugin are searched only in the plugin-repositories
- [MNG-2612] - antrun's exec task breaks in 2.0.5-SNAPSHOT
- [MNG-2709] - Maven 2 doesn't resolve parent test dependencies when using JDK 6
- [MNG-2712] - update policy 'daily' not honored
- [MNG-2746] - NPE in DefaultMavenProjectBuilder when parentPath is a directory and pom is not found.
- [MNG-2749] - extensions stopped working in 2.0.5-SNAPSHOT
- [MNG-2773] - Plugin repositories are chekced for SNAPSHOTS on every run in the 2.0.5 candidate
- [MNG-2780] - snapshots are not updated based on metadata deployed with uniqueVersion = false
- [MNG-2790] - lastUpdated timestamp in local repository metadata not updated on install if it already exists
- [MNG-2794] - Transitive dependency resolution differs between 2.0.4 and (future) 2.0.5
- [MNG-2795] - Classloader problem loading a resource from a build extension Jar : difference between 2.0.4 and (future) 2.0.5
- [MNG-2801] - broken link in basic documentation
- [MNG-2820] - Deployment is stripping out the license header from the POM
Improvement
- [MNG-830] - review plugins use of expression and change to default-value/component where appropriate
- [MNG-1299] - Document m1 xdocs compatibility with the m2 site plug-in
- [MNG-1508] - Need a process-test-classes phase
- [MNG-1540] - ability to categorise guides in the maven site
- [MNG-1560] - Guide to accessing repository with https client authentication
- [MNG-1929] - Plugin Goal report should indicate which fields are read only. (Patch Attached)
- [MNG-1952] - Give equal footing to all m2 plugins and add Cargo plugin to the list
- [MNG-1997] - document xsd support for pom and settings in guides
- [MNG-2129] - generated source repo page is misleading when added to the "general site".
- [MNG-2153] - Updated resource bundles for pl and en locales
- [MNG-2213] - Current settings.xml example incorrect
- [MNG-2246] - mojo developer guide takes a shortcut at explaining fully how the command line can be shortened
- [MNG-2250] - fix misspelled and added missing words in getting started guide and philosphy of maven
- [MNG-2251] - Upgrade to plexus-utils 1.2
- [MNG-2306] - mojo javadoc annotations support for IntelliJ Idea
- [MNG-2311] - site plugin i18n HU
- [MNG-2324] - Add a getWagon(Repository) method to the WagonManager
- [MNG-2346] - FAQ: Why does maven compile my test classes but does not run them?
- [MNG-2355] - Documentation of the @component javadoc tag
- [MNG-2357] - misc cleanup
- [MNG-2375] - Generate docs for mojo goals should list whehter or not each parameter is read-only
- [MNG-2379] - review and link to free Maven courseware
- [MNG-2474] - missing jar files in javax repository
- [MNG-2494] - Plugin development guide should have link to test harness plugin
- [MNG-2638] - Please add Developpez.com Maven FAQ to articles (french)
New Feature
- [MNG-2169] - Want to contribute: Contributing Maven 2 refcard
- [MNG-2293] - maven-plugin-descriptor: Not possible to define a default implementation for a field defined by its interface
- [MNG-2454] - add @since to mojo at class level
Task
- [MNG-1059] - update mojo API documentation
- [MNG-1069] - Verify the embedder is using the same strategy for locating the local repo as the CLI
- [MNG-1213] - more info on the plugin summary
- [MNG-1325] - Document ibiblio synchronization process
- [MNG-2117] - Update doap file descriptor
- [MNG-2300] - broken links on http://maven.apache.org/plugins/
- [MNG-2393] - documentation of -U on CLI usage help is incorrect
Wish
- [MNG-1731] - I18n issues with report generation
- [MNG-1880] - Add new pre and post phases to the integration-test phase
- [MNG-2361] - Document pomRefId attribute for M2 ant tasks on M2 website.
Bug
- MNG-2054
- Multiple Inheritence causes plugin executions to run multiple times (Test Case Attached)
- MNG-2186
- POM interpolation problem in maven-2.0.3
- MNG-2196
- Fails when parent module is not located a level above
- MNG-2207
- Infinite Recursion when POM element has value with substring that is self-referencing
Task
- MNG-1123
- publish m2 component javadoc and reports
2.0.3 Release Notes
Bug
- MNG-1317
- m2.bat doesn't work on Windows 2000
- MNG-1318
- mvn.bat sets incorrect value to M2_HOME [Windows 2000]
- MNG-1337
- Interpolation of POM values needs to be improved
- MNG-1415
- quoted arguments are not being protected
- MNG-1509
- Profile activation by os doesn't work
- MNG-1703
- pluginManagement
dependencies
is not propagated to child POMs
- MNG-1837
- deploy-file succeeds even when local file not found
- MNG-1856
- legacy layout tag in a profile does not show up in child pom.
- MNG-1882
- activeByDefault is ignored in pom.xml
- MNG-1895
- Dependencies in two paths are not added to resolution when scope needs to be updated in the nearest due to any of nearest parents
- MNG-1898
- Plugin classpath broken from 2.0 to 2.0.1
- MNG-1980
- "Duplicate project ID found" message with maven-artifact-ant-2.0.2
- MNG-1999
- Reporting inheritance does not work properly
- MNG-2002
- The mvn.bat Script does not return the error-code of Maven
- MNG-2006
- Module SCM URL is resolved as [...]/parent/module regardless of relativePath
- MNG-2037
- Strange NPE with profile and injectPlugins
- MNG-2052
- Transitive system deps are not interpolated correctly thus rendering them invalid
- MNG-2068
- Multiple inheritance fails to find "grand" parent in ../../pom.xml when the groupIds differ (Test Case Attached)
- MNG-2078
- Fixup super pom to activate the profile only when -DperformRelease=true.
- MNG-2083
- Path to missing dependency is not shown nor url to download
- MNG-2087
- NPE in PluginXdocGenerator
- MNG-2124
- Incorrect resolution of parent POM properties
- MNG-2130
- Parent POM not created by reactor if not found in repository
- MNG-2136
- Active profile in profiles.xml prevents active profile in pom.xml to be triggered automatically
Improvement
- MNG-1644
- parent pom = child pom results in stack overflow error
- MNG-2030
- Make -X show maven version as first thing
- MNG-2096
- allow configuration
with execution
in a lifecycle overlay, like a plugin allows
Task
- MNG-2003
- release and update to wagon-file 1.0-alpha-7
- MNG-2095
- Add "plugin-metadata-1.0.0.xsd" to http://maven.apache.org/xsd
Wish
- MNG-547
- being able to set the head
of a page to wathever we want
2.0.2 Release Notes
Bug
- MNG-1419
- resolve outstanding wagon issues
- MNG-1744
- Doxia move from org.codehaus to org.apache breaks Reporting API Contract.
- MNG-1819
- StringIndexOutOfBoundsException when running maven
- MNG-1850
- Error: Duplicate project ID found in pom
- MNG-1851
- "Duplicate project ID found" message with maven-artifact-ant-2.0.1
- MNG-1900
- Error while deploying when using scpexe protocol with non-default scp/ssh executables
- MNG-1923
- please add reference to netbeans maven2 integration from the the maven2 site
- MNG-1927
- C:\svn\maven\trunks\site\target different in M2.0 & M2.0.1
- MNG-1933
- When using artifacts with full stops in the artifact id the are not loaded correctly when transitively referenced another project.
- MNG-1934
- cannot deploy with embedder
Improvement
- MNG-1689
- Only print relocation warnings in standard output for the current pom
- MNG-1903
- Make site descriptor attachment default behaviour
- MNG-1907
- Bundle wagon-ssh-external with maven dist
Task
- MNG-1932
- Document how to write an ant based mojo
2.0.1 Release Notes
Bug
- MNG-948
- Broken Links on Maven2 Website
- MNG-1205
- dependency with scope:system & flag optional = true doesn't appear in the class path
- MNG-1220
- NPE in DiagnosisUtils
- MNG-1232
- Incorrect field case triggers NPE when configurator unable to configure object
- MNG-1241
- configuration collections are not merged when configuration is
- MNG-1244
- bin/m2 breaks with spaces in path
- MNG-1246
- target/test-classes isn't added to [C:\svn\maven\trunks\site\target\test-classes, C:\svn\maven\trunks\site\target\classes] variable
- MNG-1249
- External Javadoc report apidocs/index.html is overwritten
- MNG-1251
- attachArtifact doesn't allow to attach an artifact with different type and no assembly
- MNG-1291
- Incorrect usage information
- MNG-1311
- Cannot be executed in package phase (infinite loop when @execute is specified)
- MNG-1320
- Build failed due to an empty or corrupt metadata file in the repository
- MNG-1335
- Artifact must be cloned too in MavenProject's constructor
- MNG-1355
- Infinity Loop in DefaultMavenProjectBuilder.assembleLineage
- MNG-1357
- An attempt at running the tests is performed even if the testClassesDirectory is not present
- MNG-1363
- Transitive dependencies with system scope and version range trying to be downloaded
- MNG-1372
- Reference to deprecated command in message
- MNG-1384
- optional dependencies not resolved while compiling from a master project
- MNG-1394
- Use of the RelativePath Multi-Module produces failure
- MNG-1417
- Relocated artifacts hide other versions that should be picked
- MNG-1424
- Specifying version
for a plugin in pluginManagement
does not force Maven to use this version
- MNG-1434
- [patch] Fix some typos and broken links
- MNG-1443
- should not fail in offline mode if pom doesn't exist
- MNG-1466
- Ant dependencies task does not work with multiple repositories
- MNG-1474
- Profile properties do not appear to be substituted in the scm connection string
- MNG-1499
- Execution order is arbitrary if inheritance is involved
- MNG-1529
- NPE when inheriting report sets
- MNG-1559
- Error (Nonexistent component: org.apache.maven.lifecycle.mapping.LifecycleMappingnar) for clean goal.
- MNG-1586
- activeByDefault is ignored
- MNG-1603
- POM is not read using the right encoding
- MNG-1620
- par and ejb3 files must expose its classes to the classpath, so other modules can use them when compiling
- MNG-1630
- Optional tag in dependencyManagement is not inherited in the children projects
- MNG-1642
- Incorrect APT markup applied to the Title of the guide-releasing.apt
- MNG-1646
- Optional tag in project dependency doesn't work
- MNG-1656
- xml-apis relocation wrong
- MNG-1666
- PluginParameterExpressionEvaluator, StringIndexOOBE
- MNG-1784
- mvn install - multiple modules using subproject as launch point - pom.xml gets renamed installed in local repository as a .war file
- MNG-1804
- Can't load a class from a plugin, when this class is in a user's pom/build/plugins/plugin/dependencies
- MNG-1842
- maven/plugins/trunk fails to build on clean system
Improvement
- ARCHETYPE-6
- Metadata missing from ibiblio
- ARCHETYPE-8
- example maven project architecture (jars, wars, ejbs, and an ear)
- MNG-123
- bootstrap should build with itself
- MNG-764
- pom with modules should fail if packaging is not pom or an aggregator
- MNG-857
- Maven Archetype documentation
- MNG-897
- allows use of Ant build files
- MNG-1182
- update plexus-utils code for stream handling
- MNG-1198
- group artifact not found exceptions
- MNG-1217
- Relocation messages don't mention the artifact that was relocated
- MNG-1265
- Improve information displayed by "mvn --version"
- MNG-1270
- allow custom artifact handlers using build extensions
- MNG-1271
- Maven 2 needs to give a warning when it is being run in a Maven 1 project and there isn't a pom.xml file
- MNG-1276
- warning too verbose for invalid poms
- MNG-1286
- Check exclusions against relocated artifacts
- MNG-1287
- Bring back dependency path tree in "Failed to resolve artifact." error
- MNG-1352
- Improve message when a required config is not present in pom.xml
- MNG-1361
- Improve the message when the version is missing from a dependency
- MNG-1404
- Provide informative messages when POM is invalid
- MNG-1550
- save checksum in local repository
- MNG-1594
- Update sun jars guide
- MNG-1788
- setup lax parsing of repository poms and metadata
New Feature
- MNG-1223
- warning with multiple child modules with the same artifact id
- MNG-1525
- Allow environment variables to be referenced in pom.xml, settings.xml, etc.
- MNG-1650
- Maven Archiver should allow pom.xml and pom.properties to be excluded in the generated jar
Task
- MNG-40
- Sites for all components
- MNG-263
- restructure maven-components when in SVN
- MNG-1092
- minor site improvements
Wish
- [MNG-1598] - It should be possible not to include the META-INF/maven directory in produced jars
2.0 Release Notes
Maven 2.0 is a rewrite of the popular Maven application to achieve a number of new goals, and to provide a stable basis for future development.
This release includes the following new features and changes since Maven 1.0:
- Significantly faster and smaller than previous releases.
- Improved dependency management including dependency closures (transitive dependencies), version ranges, automatic build numbering, and automatic updating on a configurable interval.
- Defined build lifecycle. Any type of project can be built using standard commands such as compile, test and install.
- Improved reactor operation. Built in support for multiple projects and without the need to perform a full install cycle to compile all projects. Includes support for project aggregation.
- Improved plugin architecture, with plugins that can be written in Java and scripting languages such as Beanshell.
- Unified project definition. All information required to build is contained in a single POM, including project information, dependencies and plugin configuration.
- Improved repository support, including separated snapshot repositories, a new more managable layout and per-project definitions of new repositories.
- New site management tools that support multiple input and output formats. New input formats include wiki-like APT format, docbook while continuing to support traditional Maven XDoc and FAQ format.
- Reporting API for producing project information and reports in a standard way.
This release is considered stable with a feature set that encompasses and supersedes Maven 1.0.