feat: the changelog in the status pane, built in (#12)

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)

---------

Co-authored-by: Karl-Einar Bergstrøm <karl-einarb@outlook.com>
Reviewed-on: #12
This commit was merged in pull request #12.
This commit is contained in:
keb committed 2026-10-11 13:12:51 +02:00
1 parent 56d3d25c9c
commit 9b0329e9da
8 files changed
+98 -6

No files matched your search

+4 -1
View File
@@ -116,7 +116,10 @@ On top, the status pane (`0`) shows the version, a newer release and how
your accounts are doing. Focused, the right pane lists more: the version
and updates (`U`), each account (`L` on one that needs it signs in), the
config, state and cache files (`e` opens one in your editor), and links
to the docs, source and issues (`o` opens one). `y` copies any of them.
to the docs, source, issues, releases and changelog (`o` opens one; on
the version or update, its release), then the changelog of
every release up to yours, built in so it needs no network: `/` filters
it (`/fixed`, `/search`). `y` copies any row.
| Key | Action |
|---|---|