Apache Maven 1.x has reached its end of life, and is no longer supported. For more information, see the announcement. Users are encouraged to migrate to the current version of Apache Maven.

Maven Changes plugin

This plugin produces a changes report showing the differences between different releases of the project using it.

Warning: From version 1.7 on, this plugin requires Maven 1.1.

Using the plugin

In order to use this plugin, you should add the following to the reports section of your project.xml:

<reports>
  <report>maven-changes-plugin</report>
<reports>

Then you have to create a changes.xml file in your xdocs directory. Here's an example of a typical changes.xml, showing the syntax:

<document>
  <properties>
    <title>Page title</title>
    <author email="vmassol@apache.org">Vincent Massol</author>
  </properties>
  <body>

    <release version="2.0" date="in CVS">
      <action dev="vmassol" type="update">
        Blah blah.
      </action>              
    </release>

    <release version="1.0" date="2003-06-05" description ="First stable release.">
      <action dev="vmassol" type="add">
        Added blah blah.
      </action>              
      <action dev="vmassol" type="fix" issue="JIRA-XXX">
        Corrected bug blah blah.
      </action>              
      <action dev="vmassol" type="remove" due-to="John Doe" due-to-email="john@doe.com">
        Removed blah blah.
      </action>              
    </release>
  </body>
</document>

An alternative form of the <action> element allows you to specify several issues and/or several due-to elements:

      <action dev="vmassol" type="fix">
        <description>Corrected bug blah blah.</description>
        <fixes issue="JIRA-XXX"/>
        <fixes issue="JIRA-YYY"/>
        .
        .
        .
        <dueto name="John Doe" email="john@doe.com"/>
        <dueto name="Jane Doe"/>
        .
        .
      </action>

The <fixes> element takes one required issue attribute, the <dueto> element requires only the name attribute, the email is optional. Note that the <description>, <fixes> and <dueto> elements take precedence over any equivalent attributes defined in the <action> element.

A live Changes example report can be found here.

The following attributes are supported for the <release> element:

Attribute name Description Required?
version Name of the version for which to describe the changes. For each change, add a nested <action> element as described below. yes
date Date at which the version was released. You can use a free form comment such as "in CVS" for unreleased versions. yes
description An optional description of the release. This is used in the overview table of releases. no

The following attributes are supported for the <action> element:

Attribute name Description Required?
dev Name of developer who committed the change. This must be the name of the developer as described in the developers section of the POM (project.xml file). yes
type Type of change. There are four valid values: add, fix, remove, update. yes
issue Id of the issue related to this change. This is the id in your bug tracking system. The Changes plugin will generate a URL out of this id. The URL is constructed by using the maven.changes.issue.template property. See the page for more details. no
due-to Name of the person to be credited for this change. To be used when a patch is submitted by a non-committer. no
due-to-email Email of the person to be credited for this change. no