docs(release): CHANGELOG + operator-visible-change convention (LC-209) #275
Loading…
Reference in a new issue
No description provided.
Delete branch "docs/lc-209-changelog-convention"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
LC-209: the repo has no operator-facing changelog; default-on behavior changes and security fixes were documented only in PR descriptions and git log. This investigates the release reality, decides the channel deliberately, and seeds a tight backfill.
Release reality (item 0 - this gated the decision)
latestOCI image offmain(1060 commits, ~7 weeks, no CI gate).just create-releasebumps the workspace semver, opens arelease/v*PR; on mergecreate-release.ymltags + creates a Forgejo Release (body = autogit log --onelinebetween tags);v*tag firespublish-release.yml(desktop self-updater +latest.json). Never invoked (stillv0.1.0).Decision: hybrid (not per-PR CHANGELOG, not marker-only)
just create-release); per-PR friction is zero (only the release-cutter touches CHANGELOG); the update is mechanical (grep markers since the last tag, not from memory); and CHANGELOG.md records tagged releases only, so it cannot go stale - the between-release delta lives in immutable git markers, reconstructable viagit log --grep.Deliverables (docs only)
Pre-releaseseed backfill (operator-visible changes to date, not every PR). Leads with Security (LC-152 unified outbound SSRF guard, closed unguarded Web Push SSRF, upgrade-promptly) and the default-on / destructive Changed items (LC-78-AVATAR-PROXY default-ON proxy + opt-out env;LETS_CHAT_RETENTION_SWEEP_ENABLEDdestructive default-OFF; LC-205 email-ingress now fires webhooks), then Added (LC-77 ingress + reply; LC-207 admin page). LC-204/206/208 omitted (not operator-visible).[operator-action]in PR title + commit subject (rides the autogit logrelease body; greppablegit log --grep='\[operator-action\]' <last-tag>..HEAD) + a recommendedOperator-Action:trailer carrying the one-line instruction.Out of scope (named in the doc)
Enhancing
create-release.ymlto auto-grep markers into the release body (modifies dormant CI that can't be exercised until a first tag; revisit then). No changelog tooling/bots - the written convention is cheaper for a no-CI-gate project.🤖 Generated with Claude Code