On this page
Manage structured JSONL changelog entries: add per-commit entries, validate them against schema and coverage, and generate CHANGELOG.md.
#rlsbl changelog
Structured changelog management using JSONL entries. Add, validate, and generate CHANGELOG.md from per-commit changelog entries stored in unreleased.jsonl for precise, auditable release notes.
#changelog add
Append a structured changelog entry to the project's unreleased.jsonl file. Each entry includes a human-readable description, an entry type (feature, fix, or breaking), and optional commit hashes linking it to specific changes. The file is auto-committed unless --no-commit is passed. Use --no-user-facing to mark internal changes that should not appear in the published changelog.
#Flags
| Name | Short | Type | Default | Env | Description |
|---|---|---|---|---|---|
--commits | str | Comma-separated commit hashes | |||
--description | str | Entry description | |||
--type | str | Entry type (feature, fix, breaking) | |||
--no-user-facing | bool | Mark as non-user-facing | |||
--no-commit | bool | Skip auto-commit of unreleased.jsonl |
#changelog validate
Parse and validate all entries in the project's unreleased.jsonl file. Checks each entry for schema conformance, verifies that required fields like description and type are present and well-formed, ensures entry types are one of the allowed values (feature, fix, breaking), and validates referential integrity of any attached commit hashes against the git history.
#changelog generate
Compile all validated JSONL changelog entries into a formatted CHANGELOG.md file. Groups entries by type (features, fixes, breaking changes) under the appropriate version heading, preserving existing changelog content for previous releases. Use --dry-run to preview the generated Markdown output without writing to disk, which is useful for reviewing before committing.
#Flags
| Name | Short | Type | Default | Env | Description |
|---|---|---|---|---|---|
--dry-run | bool | Preview without writing files | |||
--no-commit | bool | Skip auto-commit of generated files |