rlsbl v0.92.0 /rlsbl changelog
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 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

Flags
NameShortTypeDefaultEnvDescription
--commitsstrComma-separated list of commit hashes to associate with this changelog entry
--descriptionstrHuman-readable description of the change, shown in the generated CHANGELOG.md
--typestrClassification of the change: feature, fix, or breaking (required if user-facing)
--no-user-facingboolMark this entry as internal (excluded from generated CHANGELOG.md output)
--no-commitboolAppend to unreleased.jsonl without auto-committing the change
--allow-batchboolAuto-create an exclusion if this entry exceeds the commit batch limit

#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

Flags
NameShortTypeDefaultEnvDescription
--no-commitboolWrite generated CHANGELOG.md and per-version .md files without auto-committing

#changelog amend

Append a changelog entry to a released version's JSONL file. Temporarily unlocks the read-only file, appends the entry, re-locks it, regenerates CHANGELOG.md, and syncs GitHub Release notes. Use --no-resolve to skip hash validation for old or amended commits.

#Flags

Flags
NameShortTypeDefaultEnvDescription
--versionstrSemver of the already-released version whose JSONL to amend (e.g. 0.39.0)
--commitsstrComma-separated commit hashes to associate with the amended changelog entry
--descriptionstrHuman-readable description for the amended entry in CHANGELOG.md
--typestrClassification for the amended entry: feature, fix, or breaking (required if user-facing)
--no-user-facingboolMark the amended entry as internal (excluded from CHANGELOG.md output)
--no-resolveboolSkip git rev-parse hash validation for old or rewritten commits

#changelog edit

Modify an existing changelog entry in unreleased or released JSONL files. Finds the entry by commit hash, applies field changes (type, description, user-facing status), and rewrites the file atomically. For released files, temporarily unlocks the read-only file, regenerates CHANGELOG.md, and syncs GitHub Release notes.

#Flags

Flags
NameShortTypeDefaultEnvDescription
--commitsstrComma-separated commit hashes identifying the target entry
--typestrNew type value (feature, fix, breaking); also disambiguates multi-entry commits
--descriptionstrReplacement description text for the matched changelog entry
--no-user-facingboolSet user_facing=false on the matched entry, clearing its description and type
--user-facingboolSet user_facing=true (requires --description and --type if entry doesn't already have them)
--no-commitboolWrite the edited JSONL file without auto-committing the change