AutoChangelog  / Validator

Changelog Validator

Paste or upload a CHANGELOG.md file to validate it against the AutoChangelog rule set.

Validation runs in your browser. No content is uploaded or transmitted.

Canonical engine · v1.3.9 This validator runs AutoChangelog.Core compiled to WebAssembly — the same parse and validation logic as the CLI. Not a separate reimplementation. Diagnostic codes, severity levels, and exit codes match the CLI exactly.
Loading validation engine…

Canonical validation rules

This page runs the same parse and validation rules as the CLI autochangelog validate command. The validation engine is AutoChangelog.Core compiled to WebAssembly — not a separate reimplementation. Parse errors, diagnostic codes, severity levels, and exit codes match the CLI exactly.

Rule code Severity Description
DUPLICATE_UNRELEASED Parse error More than one [Unreleased] heading found
MALFORMED_HEADING Parse error A ## [ heading could not be parsed as a valid release or Unreleased block
ORPHAN_SECTION Parse error A ### section heading appears outside any release or Unreleased block
ORPHAN_ENTRY Parse error A bullet entry appears inside a block but before any section heading
BLANK_ENTRY Parse error A bullet entry has no text content after the marker (- or * )
NO_CHANGELOG_STRUCTURE Error The file contains no [Unreleased] block and no versioned release blocks — not a changelog
DUPLICATE_VERSION Error The same version string appears in two or more release headings
INVALID_DATE Error A release date is present but is not a valid yyyy-MM-dd date
UNKNOWN_SECTION Error A section heading is not in the canonical taxonomy: Added, Changed, Deprecated, Removed, Fixed, Security
DUPLICATE_SECTION Error The same section heading appears more than once within a single release or Unreleased block
EMPTY_RELEASE Error A versioned release block has no sections or entries; [Unreleased] is exempt
MISSING_DATE Warning A release heading has no date
NON_SEMVER_VERSION Warning A version identifier is not valid semver (MAJOR.MINOR.PATCH)
VERSION_ORDER Warning Releases are not in descending version order (newest first)
EMPTY_SECTION Warning A section heading (### Added, etc.) has no entries
SECTION_ORDER Warning Sections within a block are not in canonical order: Added, Changed, Deprecated, Removed, Fixed, Security

Default policy: dates are not required, [Unreleased] section is not required, version order is enforced. Strict mode (--strict) promotes all warnings to failures. --require-unreleased is available via the CLI.

Run locally

The validator above runs the canonical validation logic in read-only mode. For CI enforcement and the full command set, use the CLI directly.

# Validate (default policy)
autochangelog validate CHANGELOG.md

# Strict mode: warnings treated as errors
autochangelog validate CHANGELOG.md --strict

# Require an [Unreleased] section
autochangelog validate CHANGELOG.md --require-unreleased

# Trace command behavior to stderr (stdout unchanged)
autochangelog validate CHANGELOG.md --verbose

The CLI is available under a commercial license. See below for access.

Full command reference →

License and access

AutoChangelog is a proprietary commercial tool. Access is through license — there is no public download path. Direct licensing arrangements are available.

Plans from $29.99 / month — see plans on pkgstore.

To discuss access, write with your use case and team context.