The Maven version shuffle


September 5, 2008 By Brian Fox

The Maven project is again pretty active with lots of efforts underway to improve artifact resolution, inheritance and interpolation. The changes have led to a reshuffling of the Maven versions.

For a long time, the next big version was going to be 2.1. The trouble is that we were left with maintaining 2.0.x and adding features and possible incompatibilities in what should be a bug fix only branch.

The decision was made to move the trunk from 2.1 to 3.0 since it has a significant amount of improvements across the board.

In the meantime, we were working on 2.0.10, and to fix some regressions required fairly significant rework to core functionality. So much rework that we started to wonder if 2.0.x was the appropriate place for such significant changes. Since the trunk was moved up to 3.0, this gave us a bit more leeway in the 2.x line. So… the intended 2.0.10 release was renamed to 2.1.0-M1 and 2 additional Milestone releases defined.

The pure bug fixes that were intended for 2.0.10 will be ported back from the now 2.1.0-M1 release and released as 2.0.10. After that, the 2.0.x line will most likely start to close down to only critical bug fixes.

Confused yet?

One more time:
2.1 became 3.0
2.0.10 became 2.1.0-M1
2.0.10 will be created by backporting bugs from 2.1.0-M1

Read these threads to get up to speed:
Maven 2.1.0 GA Plan
[vote] Version for pending release
[PROPOSAL] Going forward with Maven 2.x releases

Some good news: a 3.0 alpha-1 release should be occurring very soon. It will be without the artifact resolution changes AKA Mercury, but will have the new interpolation and inheritance code. This release will be intended to start identifying incompatibilities between 2.x and 3.0 so they can be handled and to give us a platform to start stabilizing.