The Maven project has now released it’s first feature release since Maven 2.0 way back in October 2005. (Ok, so we snuck in a few features snuck into previous point releases, but these are certainly more prominent).
The main highlights are:
- Secure Storage of Server Passwords
- Addition of a prepare-package phase
- Additional switches to the command line for alternate reactor behavior: --resume-from, --also-make, and --also-make-dependents.
- Parallel resolution of dependencies now occurs, with the default number of concurrent of threads set to 5. A configuration option -Dmaven.artifact.threads can be used to change the number of threads
- Performance improvements
John outlines some of these features on his blog.
Another key aspect of this release was to resolve a number of outstanding issues that required work that was too large in scope for a stable release branch such as 2.0.x. In total, this release covers 84 issues since the 2.1.0-M1 release last year, which itself contained 70 fixes (some of which were included in Maven 2.0.10 as well). In addition to that, 80 issues were resolved in the Wagon artifact transport, notably resolving some long standing issues with SSH and permissions.
There are some small backwards compatibility changes to be aware of when moving to Maven 2.1.0 which are completely documented in the release notes. However, a large effort has gone in to ensure your builds will continue to work unmodified. We have a considerable and growing set of integration tests that ensure certain build scenarios work end to end across versions.
A big part of the effort for 2.1.0 was to incorporate patches that had been submitted to JIRA over a long space of time, and so it reflects the effort of a great number of people. You’ll notice in Maven’s issue tracker now that very issues remain unscheduled – while there is still a large backlog of old issues to review and process, new issues can now receive the attention they deserve.
Note that this is not the version-formally-known-as-2.1 – mid last year we decided to re-base on the latest 2.0.x releases, while the trunk continues to undergo significant changes. Those looking for updates for a more embeddable version for their IDE integration will have to wait a while longer.
I’ve been using this release daily since it was staged, and have been working from this branch for over 6 months – it is the best available version of Maven and certainly worth upgrading to for your own environments. Enjoy!