v1.5.0 — Version diff API & version-pinned comments

Released 2026-06-23 · commit pending merge

Highlights

  • New version diff API — see exactly what changed between any two versions of a site, over REST and MCP.
  • Inline comments are on by default for new uploads — sharing a page now starts a review loop with no extra step.
  • Every comment is version-pinned — it belongs to the version it was left on and only shows when that version is served.

What's new

Version diff API

Compare any two versions of a site without diffing by hand. GET /api/v1/sites/{slug}/diff?from={n}&to={m} returns a source and metadata diff: each changed file carries a status (added / removed / modified / unchanged), modified text files include a line-level hunks array ({ op: "=" | "+" | "-", text }), and metadata is a JSON delta of the df.* snapshot. Agents get the same thing through the new MCP get_diff tool — handy for seeing what changed since a comment's versionAtCreate before resolving it.

Inline comments — on by default & version-pinned

The inline comment overlay now ships on by default for newly uploaded files, so a shared page is review-ready the moment it's live (opt out with the "More options" toggle, or commentsEnabled=false on the API). Comments are now version-pinned: each one belongs to the version it was left on, and only that version's comments render when a page is served at that version. A re-publish never moves or re-anchors older feedback — you address it by reading or serving that version (?v=N). The review overlay was redesigned, with a clearer split between pinned comments anchored to a spot and general page-level notes.

The redesigned comment overlay open on a shared page, showing the version chip and a page-level comment
The review overlay on a shared page — the version chip (v1) shows which version's comments you're seeing, with pinned and page-level feedback side by side.

Improvements

  • Comment lists are version-scoped — read a specific version's comments with ?v={n}, and every response carries viewingVersion, currentVersion, and versionCounts (open comments per version) so you can see where unresolved feedback lives.
  • Comments are now explicitly pinned (anchored to a spot) or general (page-level), depending on whether the target carries an anchor.

← v1.4.0

Edit this page on GitHub