Changelog
2026-07-26v0.39.0— Public History
Added
- The full changelog now lives on the website. A new
/changelogsroute exposes every per-release Markdown file as a browsable, addressable page. The sidebar groups versions by year;/changelogsitself redirects to the latest release, so a single link stays current. One URL per release —/changelogs/v0.37.0— opens the notes that produced that version.crawlLinksprerenders the whole tree on every build, so the deployed site is fully static and offline-capable. - A new
scripts/build-changelogs.mjsscript parses everychangelogs/vX.Y.Z.md, runs the body through the sameremark + rehype-shikipipeline as the docs, and emitspublic/changelogs/index.jsonplus one HTML fragment per release. Wired intopredev/prebuild;pnpm changelogsrebuilds it alone. Adding a release is one step: drop a newvX.Y.Z.md, everything else follows. - A GitHub stars badge in the site header.
★ 1.2kin a pill that lives next to the GitHub icon — the whole pill is one click target that opens the repo. Fetchesapi.github.com/repos/vava-nessa/kandownfrom the browser with alocalStoragecache and 24h TTL: one anonymous request per visitor per day, no build-time coupling. - The About section of the running app picks up the same count via a shared
useGithubStarshook andformatStarsformatter, so the badge in the app and the badge in the site can never disagree by more than 24h. - The About section now links to the changelog. A discreet
Read changelog for vX.Y.Z →line sits under the version badge and openshttps://kandown.dev/changelogs/v${currentVersion}in a new tab; aChangelogentry in the existing Links list opens the index. The version badge used to be a dead label — now it is the entry point to the notes that produced it.
Changed
- The site footer grows two links. A
Changelogentry in theProjectcolumn for discoverability, and aChangelog · v0.X.Yline on the MIT bar for the curious reader who reaches the bottom of every page. Both point at the prerendered pages above. src/lib/version.tsis unchanged, but two new consumers now read it: the changelog link in the About card (URL templating) and the pinnedLATEST_VERSIONin the footer constant. Update one on release, both update.
Notes
failOnErrorstays at the project default (false); the changelog build is the upstream safety net, not the prerender.- The demo build routes both About-card links to the matching GitHub release instead (guarded by
__KANDOWN_DEMO_BUILD__), so the demo never links to a 404. - Helpers are duplicated across the two workspaces on purpose: each is ~40 lines, the marketing site and the Kandown CLI are independent pnpm workspaces, and a shared package would cost more than it saves.