Maven 2.2.0 Release Plan

Conditions for Milestone Releases:

  • Introduced code should be reasonably well tested (~75% or so)
  • No other Maven features should be adversely affected by its introduction
  • All existing integration tests MUST pass

2.2.0-M1: Use Mercury for http/https/webdav Artifact Retrieval

Efficiency optimization for Wagon transfers using these three protocols.

2.2.0-M?: Multiple modelVersion Support

Accommodate 4.0.0 modelVersion POMs, along with newer versions. This allows us to implement new features that incorporate changes to the POM. One design goal here is to allow Maven versions < 2.2.0 are able to read the new POM formats from the repository.

Note: a potential proof of concept exists in the demonstration of an attribute-based POM:

  • JIRA Issue(s): pending
  • Design Document(s): pending

2.2.0-M?: Simplified POM syntax

There have been several proposals around changing the POM syntax to be less verse (including the prototype for an attribute based POM above). This would be a good release to consider determining a different format and implementing it.

  • JIRA Issue(s): pending
  • Design Document(s): pending

2.2.0-M?: PGP Artifact Verification

2.2.0-M?: Automatic Parent Versioning

This feature will remove the requirement for providing versions for the parent inside the child project's POM in certain circumstances. At least initially, the emphasis should be on maintaining - or enhancing - reproducibility of the project's build instead of providing versionless parent references to all conceivable arrangements of this parent-child relationship.

2.2.0 Final

This release will contain any stabilizing bugfixes for the features and other modifications introduced during the milestone releases.

Conditions for Final Release:

  • All milestone introductions are documented
  • All milestone introductions are thoroughly tested to avoid regression
  • No labels