Changelog Has Entry For Current Version (SL006)

Ensures CHANGELOG.md contains an entry for the current POM version (without -SNAPSHOT).

Description

Finds the highest module version and checks each CHANGELOG.md for a matching 'Release <version>' entry (optionally '(Next Release)'). An ERROR is reported if the highest version could not be extracted. A WARNING is reported if the CHANGELOG.md is missing an entry for the current version.

Rationale

Releases should be documented to communicate changes clearly.

Findings

  • ERROR

    • Could not extract version from POM or find POM with highest version

  • WARNING

    • CHANGELOG.md missing entry for current version

Noncompliant

Missing changelog entry for highest module version
# Release 1.2.0

- Added feature A
- Fixed bug B

<!-- Assuming current version is 1.2.1, there is no entry for 1.2.1 -->

Compliant

Changelog has current release entry
# Release 1.2.1

- Improved performance for X
- Updated dependencies

## Release 1.2.0
- Added feature A
- Fixed bug B

<!-- Assuming current version is 1.2.1 -->

Configuration

This rule has no configuration.