On this page
Changelog subcommands for adding new entries, amending released versions, and generating Markdown changelogs from JSONL sources.
#rlsbl.commands.changelog_cmd
#rlsbl.commands.changelog_cmd
Changelog subcommands for adding new entries and generating Markdown changelogs from JSONL sources.
#cmd_add
def cmd_add(flags)Add a changelog entry to unreleased.jsonl.
Required flags:
- --commits: comma-separated commit hashes
- --description and --type: required unless --no-user-facing is set
#cmd_generate
def cmd_generate(flags)Generate CHANGELOG.md from JSONL changelog files.
#cmd_amend
def cmd_amend(flags)Amend a released version's JSONL changelog by appending a new entry.
Unlocks the read-only versioned JSONL file, appends the entry, re-locks it, regenerates CHANGELOG.md, and optionally syncs GitHub Release notes.
Required flags:
- --version: which released version to amend (e.g., "0.39.0")
- --commits: comma-separated commit hashes
Optional flags:
- --description and --type: required unless --no-user-facing is set
- --no-user-facing: mark entry as non-user-facing
- --no-resolve: skip hash validation (for old/amended commits)
#_sync_github_release
def _sync_github_release(version: str) -> NoneSync GitHub Release notes for a version (best-effort, warns on failure).
#_get_generated_files
def _get_generated_files(project_path: str) -> list[str]Return paths of files modified or created by generate_changelog.
Checks git status for CHANGELOG.md and .rlsbl/changes/*.md files.