Product

AutoChangelog

Changelog validation and enforcement for release pipelines.

v1.3.9 — released April 2026

What it is

AutoChangelog is a CLI tool that initializes, validates, appends structured entries to, and cuts versioned releases from CHANGELOG.md files. It is built for release pipelines and CI environments where changelog correctness is a first-class requirement, not an optional check.

It is not a changelog generator. It does not infer or generate entry text from git history or commit messages. Every operation is explicit: every entry is authored directly, every release date is supplied by the caller.

Why it exists

Most release processes treat the changelog as an afterthought. Files are edited manually, inconsistently, and rarely validated. The result is a history that cannot be trusted: malformed versions, missing entries, sequences that regress, sections that corrupt downstream tooling.

AutoChangelog exists because the changelog is part of the product. It deserves the same discipline as the code it documents. A malformed changelog is a broken release artifact, not a cosmetic issue.

What it enforces

  • Format compliance Validates Keep a Changelog structure throughout the file. Sections, headings, and link formats are checked for correctness on every run.
  • Version heading syntax Version headings must follow the prescribed format. Ambiguous or informally-styled version entries are rejected.
  • Release sequencing Versions must be in correct descending order. No regressions, no duplicates, no gaps that corrupt downstream parsing.
  • Unreleased section When present, the [Unreleased] block must appear before any versioned release. Structural placement is validated on every run. Promotion to a versioned block is handled by the release command.
  • CI exit codes Exit codes are precise and consistent. Validation failure, format error, and missing file each produce distinct codes designed for scripted environments without manual inspection.

In practice

A complete release cycle using AutoChangelog:

# 1. Initialize a changelog
autochangelog init

# 2. Record what changed
autochangelog add --section Added --message "Initial release"

# 3. Cut the release (version and date are always explicit)
autochangelog release --version 1.0.0 --date 2026-04-14

# 4. Validate (also runs as a CI gate before every release)
autochangelog validate CHANGELOG.md

The validate command runs as a gate before any release operation is permitted to proceed. Exit codes are distinct and scriptable:

  • 0 Changelog is valid and correctly structured
  • 1 Validation failed — output identifies the specific violation
  • 2 Parse error — file has structural errors that prevent validation
  • 3 File not found or unreadable
  • 4 Usage error — invalid option or missing required argument
  • 5 Internal error

Output is plain text on stdout, structured for logging and scripted pipelines. No interactive prompts, no configuration files required for basic validation.

See it run

The four commands in sequence: from empty file to versioned release.

Who it is for

AutoChangelog is for teams where the changelog is a release artifact, not a developer courtesy. The tool is not appropriate for projects where changelog discipline is optional or informal.

  • Teams shipping versioned software where a corrupt changelog represents a real release defect, not a cosmetic problem
  • Release pipelines that consume CHANGELOG.md as a structured input for release notes, diffs, or downstream systems
  • Projects that need exact version sequencing enforced consistently across contributors and environments
  • Developers who want changelog correctness to be automatic and non-negotiable, not reviewed by hand before each release
Quality and trust
  • 709 test cases Unit, integration, contract, and CLI certification layers. The CLI certification suite tests exit codes, output format, and command behavior against the documented surface.
  • Determinism certified 8 determinism certification cases verify that the same input always produces the same output across invocations and environments.
  • Write-after-validate Every mutation command (add, release, init) runs a full validation check before writing. A failed mutation leaves the source file unchanged. Enforced by integration tests.
  • Self-dogfooding AutoChangelog validates its own CHANGELOG.md on every CI run. The tool is subject to its own contract.
License and access

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

The tool is distributed as a .NET global tool via pkgstore.io. The install command and feed URL are provided after purchase.

Plan Price Billing Best for
Entry $29.99 / month Individual evaluation or light usage
Standard $299 / year Single team or normal commercial use
Team $2,999 / year Multi-user or broader team deployment
Organization $4,999 / year Broader internal rollout or support scope

Larger organization and volume pricing available by arrangement.

Available on pkgstore

AutoChangelog is distributed through pkgstore, a commercial .NET package marketplace. Purchase, feed access, and package installation are handled through the listing.

View listing on pkgstore →

Commercial support

AutoChangelog support is bounded to the product contract: installation, feed access, documented CLI usage, validation-rule behavior, reproducible bugs, JSON/schema output, exit-code behavior, and minor-version upgrade guidance.

Support does not include emergency incident response, custom CI implementation, bespoke feature development, unlimited consulting, or ownership of a customer's release process unless separately agreed.

Support scope and response level are defined by the license or quote for the engagement.

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