The status pane's rows (0, then enter) end with the changelog: every release up to the running one, newest first.
v0.2.0 2026-10-12
added: Search with fzf's scoring and query syntax (#11) (65dc2d7)
fixed: …
v0.1.0 2026-10-10
Hello world 👋
CHANGELOG.md is embedded at build time by a small root package (changelog.go, package lazysecrets, //go:embed), so it needs no network and matches the binary. release.sh updates the file before tagging, so a release's binary includes its own entry. go install …@latest gets it too, since the module includes the file.
Entries show as text: links become (#11) (65dc2d7) (update.PlainLinks, shared with the U notes). / filters them like any Fields pane (/fixed, /search), and y copies one.
cliff.toml: #11 was squash-merged with #10 (the status pane) in it, so a preprocessor rewrites its entry to name both. Otherwise the status pane would be missing from the changelog.
Test for the parsing: versions and dates, kinds, links as text, a release's own words, and the header and footer left out.
The status pane's rows (`0`, then `enter`) end with the changelog: every release up to the running one, newest first.
```
v0.2.0 2026-10-12
added: Search with fzf's scoring and query syntax (#11) (65dc2d7)
fixed: …
v0.1.0 2026-10-10
Hello world 👋
```
- `CHANGELOG.md` is embedded at build time by a small root package (`changelog.go`, `package lazysecrets`, `//go:embed`), so it needs no network and matches the binary. `release.sh` updates the file before tagging, so a release's binary includes its own entry. `go install …@latest` gets it too, since the module includes the file.
- Entries show as text: links become `(#11) (65dc2d7)` (`update.PlainLinks`, shared with the `U` notes). `/` filters them like any Fields pane (`/fixed`, `/search`), and `y` copies one.
- `cliff.toml`: #11 was squash-merged with #10 (the status pane) in it, so a preprocessor rewrites its entry to name both. Otherwise the status pane would be missing from the changelog.
Test for the parsing: versions and dates, kinds, links as text, a release's own words, and the header and footer left out.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The status pane's rows (
0, thenenter) end with the changelog: every release up to the running one, newest first.CHANGELOG.mdis embedded at build time by a small root package (changelog.go,package lazysecrets,//go:embed), so it needs no network and matches the binary.release.shupdates the file before tagging, so a release's binary includes its own entry.go install …@latestgets it too, since the module includes the file.(#11) (65dc2d7)(update.PlainLinks, shared with theUnotes)./filters them like any Fields pane (/fixed,/search), andycopies one.cliff.toml: #11 was squash-merged with #10 (the status pane) in it, so a preprocessor rewrites its entry to name both. Otherwise the status pane would be missing from the changelog.Test for the parsing: versions and dates, kinds, links as text, a release's own words, and the header and footer left out.
🤖 Generated with Claude Code