github backnotprop/plannotator v0.9.0

latest release: v0.9.1
7 hours ago

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
v0.8.5 Pi coding agent support, auto-close countdown, image endpoint security fix, OpenCode package fix
v0.8.2 BROWSER env var fix for macOS and WSL devcontainers
v0.8.1 Devcontainer BROWSER fallback, mermaid clipping fix, annotation toolbar focus guard
v0.8.0 Open source (MIT/Apache-2.0), annotate command, self-hosted share portal, resizable panels, mermaid controls, auto-close on approval, documentation site
v0.7.0 TOC sidebar, sticky actions, save to notes without approving, import teammate reviews, viewed file tracking
v0.6.8 Mermaid diagram rendering, repo/branch info display
v0.6.7 Quick Comment mode, type-to-comment shortcut, smart agent detection
v0.6.6 OpenCode sub-agent fix, CVE-2026-22812 security update
v0.6.5 Cmd+C shortcut, newline preservation, hook timeout fix
v0.6.4 Cmd+Enter keyboard shortcut
v0.6.3 OpenCode npm package fix, cache path fix
v0.6.2 OpenCode title generation fix, WSL browser detection

What's New in v0.9.0

When your coding agent revises a plan after feedback, you no longer have to re-read the whole thing to figure out what changed. Plan Diff shows exactly what's different — with two view modes, automatic version history, and a sidebar for browsing past iterations. This was the most requested feature from the community (#138, #111, Discussion #110).

Plan Diff

After you deny a plan and the agent resubmits, a +N/-M badge appears below the document card showing how many lines were added and removed. Click it to toggle into diff view.

Two view modes, switchable with one click:

  • Rendered diff — the plan renders as usual, but with color-coded left borders. Green for added sections, red with strikethrough for removed content, yellow for modified lines. Scan the plan visually and immediately spot where the changes landed.

  • Raw diff — a monospace, git-style view with + and - prefixed lines. Useful when you need precise, line-level detail about what changed in the markdown source.

Both views work from the same underlying diff. The engine computes line-level changes using the diff npm package and groups consecutive add/remove pairs into "modified" blocks so you see intent, not noise.

Version History

Every time a plan arrives, Plannotator automatically saves it to ~/.plannotator/history/ before you see the UI. Plans are versioned sequentially — first submission is version 1, revision after feedback is version 2, and so on. Same plan heading on the same day means the same plan being iterated on. Identical resubmissions are deduplicated.

The sidebar now has two tabs: Table of Contents (existing) and Version Browser (new). From the Version Browser, select any previous version to diff against. The default comparison is always the immediately prior version, but you can jump back further if the plan has gone through several rounds.

Version history is scoped by project (git repo or working directory) and stored independently of the plan-save-on-decision setting.

Sidebar Redesign

The Table of Contents panel from v0.7.0 has been promoted to a shared left sidebar with tabs. The first tab is the existing TOC; the second is the new Version Browser. The sidebar opens by default on the TOC tab if you have "Auto-open Sidebar" enabled in Settings — the Version Browser tab never auto-opens, so the diff workflow stays opt-in.

Terminology Cleanup

The plan review UI previously labeled annotation exports as "diffs," which was confusing now that actual diffs exist. Exported annotation files are now called "annotations" throughout — exportAnnotations(), .annotations.md filenames, and "Download Annotations" in the toolbar. The code review flow (which works with real git diffs) is unchanged.


Install / Update

macOS / Linux:

curl -fsSL https://plannotator.ai/install.sh | bash

Windows:

irm https://plannotator.ai/install.ps1 | iex

Claude Code Plugin: Run /plugin in Claude Code, find plannotator, and click "Update now".

OpenCode: Clear cache and restart:

rm -rf ~/.bun/install/cache/@plannotator

Then in opencode.json:

{
  "plugin": ["@plannotator/opencode@latest"]
}

Pi: Install or update the extension:

pi install npm:@plannotator/pi-extension

What's Changed

  • feat: add plan version history backend and API by @backnotprop in #175
  • feat: plan diff UI with sidebar and dual view modes by @backnotprop in #176
  • feat: Plan Diff marketing dialog, Pi origin support, and docs by @backnotprop in #177
  • refactor: rename diff -> annotations in plan review context by @backnotprop in #173
  • docs: add UI settings reference to marketing site docs by @backnotprop in #171
  • docs: add blog post about local diff review for coding agents by @backnotprop in #166

Full Changelog: v0.8.5...v0.9.0

Don't miss a new plannotator release

NewReleases is sending notifications on new releases.