Follow @plannotator on X for updates
Missed recent releases?
| Release | Highlights |
|---|---|
| v0.9.2 | Fix version history logging noise in OpenCode TUI |
| v0.9.1 | Plan Diff marketing dialog viewport fix |
| v0.9.0 | Plan Diff with two view modes, version history, sidebar redesign, terminology cleanup |
| 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.3
Other Markdown files that your plan references can now be opened and annotated directly inside the viewer — useful for document-heavy or spec-driven approaches. Click a link, review the doc, leave feedback, and it all gets included when you approve or deny. Plan Diff also gained a "VS Code" button that opens the diff in VS Code's native side-by-side editor (or whatever code aliases to such as Cursor). Plus a toolbar dismissal fix and automated npm publishing for the OpenCode and Pi packages.
Linked Document Navigation & Annotation
When a plan references a local .md file (e.g., [see architecture](./docs/ARCHITECTURE.md)), clicking the link now opens it directly inside the Plannotator viewer — no new tabs, no context switching. The document swaps in place with a "Back to plan" button in the sidebar, and the Table of Contents updates to reflect the linked document's headings.
More importantly, you can annotate linked documents the same way you annotate the plan itself. Highlight text, leave comments, suggest replacements — all the usual annotation tools work. When you approve or deny, annotations from every linked document you visited are aggregated into the feedback payload sent to the agent, organized by filepath under a "Linked Document Feedback" section.
Annotation state is cached per filepath within a session. Navigate to a doc, annotate it, go back to the plan, revisit the doc later — your annotations are still there.
The server resolves paths using a multi-strategy approach: absolute paths, paths relative to the project root, and bare filename search via glob. Path traversal outside the project root is blocked. Ambiguous filenames (multiple matches) return a list of candidates so you can pick the right one.
- Thanks to @dgrissen2 for building the initial linked document viewer and
/api/docendpoint (#184)
Open Diff in VS Code
The Plan Diff viewer now has a "VS Code" button that opens the current diff in VS Code's native side-by-side diff editor. If you're comparing your plan against a previous version and want a more familiar diff environment, one click gets you there. Uses code --diff under the hood with the version history files — no temp file juggling.
- Inspired by a suggestion from @alexrosenberg_tube on Discussion #110
Toolbar Dismiss on Outside Click and Escape
Annotation toolbars in both the plan review and code review UIs now dismiss when you click outside them or press Escape. Previously, toolbars could get stuck open after making a selection, requiring another text selection to clear them. The fix consolidates dismissal behavior into a shared useDismissOnOutsideAndEscape hook used by both UIs.
- Thanks to @flex-yj-kim for the contribution (#182)
Automated npm Publishing
The release pipeline now publishes @plannotator/opencode and @plannotator/pi-extension to npm automatically when a version tag is pushed. Uses npm's OIDC trusted publishing for provenance — no long-lived secrets. Pull requests run a dry-run build to catch packaging issues before merge. All GitHub Action versions are pinned to full SHAs for supply chain hardening.
Install / Update
macOS / Linux:
curl -fsSL https://plannotator.ai/install.sh | bashWindows:
irm https://plannotator.ai/install.ps1 | iexClaude Code Plugin: Run /plugin in Claude Code, find plannotator, and click "Update now".
OpenCode: Clear cache and restart:
rm -rf ~/.bun/install/cache/@plannotatorThen in opencode.json:
{
"plugin": ["@plannotator/opencode@latest"]
}Pi: Install or update the extension:
pi install npm:@plannotator/pi-extensionWhat's Changed
- ci(release): add npm publishing with OIDC provenance and dry-run mode by @rcdailey in #170
- Add "Open in VS Code Diff" button to plan diff viewer by @backnotprop in #180
- fix(ui): dismiss annotation toolbars on outside click and Escape by @flex-yj-kim in #182
- feat: open linked .md files in read-only tabs with TOC navigation by @dgrissen2 in #184
Contributors
- @rcdailey
- @flex-yj-kim
- @dgrissen2 made their first contribution in #184
Full Changelog: v0.9.2...v0.9.3