Skip to content
kandown
GitHubnpm
98 releases

Changelog

2026-07-26

v0.39.0Public History

Added

  • The full changelog now lives on the website. A new /changelogs route exposes every per-release Markdown file as a browsable, addressable page. The sidebar groups versions by year; /changelogs itself 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. crawlLinks prerenders the whole tree on every build, so the deployed site is fully static and offline-capable.
  • A new scripts/build-changelogs.mjs script parses every changelogs/vX.Y.Z.md, runs the body through the same remark + rehype-shiki pipeline as the docs, and emits public/changelogs/index.json plus one HTML fragment per release. Wired into predev / prebuild; pnpm changelogs rebuilds it alone. Adding a release is one step: drop a new vX.Y.Z.md, everything else follows.
  • A GitHub stars badge in the site header. ★ 1.2k in a pill that lives next to the GitHub icon — the whole pill is one click target that opens the repo. Fetches api.github.com/repos/vava-nessa/kandown from the browser with a localStorage cache 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 useGithubStars hook and formatStars formatter, 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 opens https://kandown.dev/changelogs/v${currentVersion} in a new tab; a Changelog entry 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 Changelog entry in the Project column for discoverability, and a Changelog · v0.X.Y line 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.ts is unchanged, but two new consumers now read it: the changelog link in the About card (URL templating) and the pinned LATEST_VERSION in the footer constant. Update one on release, both update.

Notes

  • failOnError stays 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.