Skip to content

Releases: backnotprop/plannotator

v0.8.5

21 Feb 20:23

Choose a tag to compare

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
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.8.5

This release adds Pi coding agent support, a configurable auto-close countdown, and a security fix for the image serving endpoint. It also fixes a packaging regression in v0.8.3 where the @plannotator/opencode npm package shipped with an unresolvable workspace:* dependency.

Pi Coding Agent Support

Plannotator's third platform integration. Pi is a coding agent by Mario Zechner that supports extensions via its plugin API, and Plannotator now ships a first-class extension for it.

The Pi extension introduces a file-based plan mode where the agent writes plans to a PLAN.md file on disk — git-trackable and visible in your editor at all times. When the agent calls exit_plan_mode, the browser-based review UI opens for you to annotate, approve, or deny the plan, just like on Claude Code and OpenCode.

What's included:

  • Plan review with the full annotation UI — text selection, comments, deletions, replacements, image attachments
  • Code review via /plannotator-review — opens git diffs in the review editor
  • Markdown annotation via /plannotator-annotate <file.md> — annotate any markdown file
  • Bash safety gating — during planning, the agent is restricted to read-only commands. Destructive operations like rm, mv, git push, and npm install are blocked until you approve the plan
  • Progress tracking — a status line widget shows checklist completion as the agent executes (3/5), with live strikethrough on completed items
  • State persistence — the current phase (idle, planning, executing) survives session restarts via Pi's entry API
  • Ctrl+Alt+P keyboard shortcut and /plannotator command to toggle plan mode

The extension uses Node.js HTTP servers instead of Bun.serve(), since Pi loads extensions via jiti.

pi install npm:@plannotator/pi-extension
pi --plan  # Start a session in plan mode

(#168)

Auto-Close Countdown

The auto-close behavior introduced in v0.8.0 now supports a configurable delay. Instead of a binary on/off toggle, you can choose from four options: Off (default), Immediately, After 3 seconds, or After 5 seconds. When a delay is set, the completion overlay shows a live countdown before the tab closes.

More importantly, the feature is now discoverable. When auto-close is off, the completion overlay surfaces an opt-in checkbox — right at the moment you'd benefit from it most. One click enables it with a 3-second default, and you can fine-tune the delay in Settings whenever you like.

The implementation also handles browser restrictions gracefully. Since window.close() only works on tabs opened by script (and Plannotator opens via OS commands), a failed close now shows a friendly fallback message instead of silently doing nothing.

Under the hood, the duplicated completion overlay code from both the plan editor and review editor has been extracted into a shared CompletionOverlay component with a useAutoClose hook, cleaning up both apps.

Image Endpoint Security Fix

The /api/image endpoint in all three servers (plan, review, annotate) previously served files from the local filesystem based on a user-provided path query parameter with no validation. Since the HTTP server runs on localhost without authentication, any process or browser tab could read arbitrary files — including SSH keys, AWS credentials, and other sensitive data. The server's 4-day hook timeout made the exposure window particularly wide.

This is now locked down with a shared validation module applied across all three servers:

  • Image extension allowlist — only known image formats are served (png, jpg, gif, webp, svg, and others)

  • Path normalizationpath.resolve() eliminates ../ traversal sequences

  • Upload validation — the /api/upload endpoint now enforces the same allowlist

  • Thanks to @dor-tzur-lmnd for identifying and fixing this vulnerability (#164)

OpenCode Package Fix

The @plannotator/opencode npm package in v0.8.3 included @plannotator/server as a runtime dependency using workspace:*, which is unresolvable outside the monorepo and caused install failures for all consumers. The dependency has been moved to devDependencies — the build already bundles it into dist/index.js, so consumers never need to resolve it at install time.


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

  • fix(server): prevent arbitrary file read via /api/image endpoint by @dor-tzur-lmnd in #164
  • feat: Add auto-close countdown delay to completion overlay by @flex-yj-kim in #162
  • feat: add Pi coding agent extension by @backnotprop in #168
  • fix(opencode): move @plannotator/server to devDependencies to fix npm install by @rcdailey in #169

New Contributors

Full Changelog: v0.8.2...v0.8.5

v0.8.4

21 Feb 20:19

Choose a tag to compare

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
v0.8.3 Pi coding agent support, auto-close countdown, image endpoint security 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.8.4

This is a patch release for v0.8.3. The @plannotator/opencode npm package in v0.8.3 shipped with a workspace:* dependency on @plannotator/server, which caused install failures for all consumers. The dependency has been moved to devDependencies — this is safe because the build already bundles it into dist/index.js. All features below were introduced in v0.8.3.


Pi Coding Agent Support

Plannotator's third platform integration. Pi is a coding agent by Mario Zechner that supports extensions via its plugin API, and Plannotator now ships a first-class extension for it.

The Pi extension introduces a file-based plan mode where the agent writes plans to a PLAN.md file on disk — git-trackable and visible in your editor at all times. When the agent calls exit_plan_mode, the browser-based review UI opens for you to annotate, approve, or deny the plan, just like on Claude Code and OpenCode.

What's included:

  • Plan review with the full annotation UI — text selection, comments, deletions, replacements, image attachments
  • Code review via /plannotator-review — opens git diffs in the review editor
  • Markdown annotation via /plannotator-annotate <file.md> — annotate any markdown file
  • Bash safety gating — during planning, the agent is restricted to read-only commands. Destructive operations like rm, mv, git push, and npm install are blocked until you approve the plan
  • Progress tracking — a status line widget shows checklist completion as the agent executes (3/5), with live strikethrough on completed items
  • State persistence — the current phase (idle, planning, executing) survives session restarts via Pi's entry API
  • Ctrl+Alt+P keyboard shortcut and /plannotator command to toggle plan mode

The extension uses Node.js HTTP servers instead of Bun.serve(), since Pi loads extensions via jiti. Install from npm once published, or from git today:

pi install npm:@plannotator/pi-extension
pi --plan  # Start a session in plan mode

(#168)

Auto-Close Countdown

The auto-close behavior introduced in v0.8.0 now supports a configurable delay. Instead of a binary on/off toggle, you can choose from four options: Off (default), Immediately, After 3 seconds, or After 5 seconds. When a delay is set, the completion overlay shows a live countdown before the tab closes.

More importantly, the feature is now discoverable. When auto-close is off, the completion overlay surfaces an opt-in checkbox — right at the moment you'd benefit from it most. One click enables it with a 3-second default, and you can fine-tune the delay in Settings whenever you like.

The implementation also handles browser restrictions gracefully. Since window.close() only works on tabs opened by script (and Plannotator opens via OS commands), a failed close now shows a friendly fallback message instead of silently doing nothing.

Under the hood, the duplicated completion overlay code from both the plan editor and review editor has been extracted into a shared CompletionOverlay component with a useAutoClose hook, cleaning up both apps.

Image Endpoint Security Fix

The /api/image endpoint in all three servers (plan, review, annotate) previously served files from the local filesystem based on a user-provided path query parameter with no validation. Since the HTTP server runs on localhost without authentication, any process or browser tab could read arbitrary files — including SSH keys, AWS credentials, and other sensitive data. The server's 4-day hook timeout made the exposure window particularly wide.

This is now locked down with a shared validation module applied across all three servers:

  • Image extension allowlist — only known image formats are served (png, jpg, gif, webp, svg, and others)

  • Path normalizationpath.resolve() eliminates ../ traversal sequences

  • Upload validation — the /api/upload endpoint now enforces the same allowlist

  • Thanks to @dor-tzur-lmnd for identifying and fixing this vulnerability (#164)


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

  • fix(opencode): move @plannotator/server to devDependencies to fix npm install (#169)
  • fix(server): prevent arbitrary file read via /api/image endpoint by @dor-tzur-lmnd in #164
  • feat: Add auto-close countdown delay to completion overlay by @flex-yj-kim in #162
  • feat: add Pi coding agent extension by @backnotprop in #168

New Contributors

Full Changelog: v0.8.2...v0.8.4

v0.8.3

21 Feb 19:57

Choose a tag to compare

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
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.8.3

Plannotator now supports a third coding agent. Pi users get full plan review, code review, and markdown annotation — the same browser-based workflow available on Claude Code and OpenCode, adapted for Pi's extension API. This release also brings a configurable auto-close countdown and a security hardening fix for the image serving endpoint.

Pi Coding Agent Support

Plannotator's third platform integration. Pi is a coding agent by Mario Zechner that supports extensions via its plugin API, and Plannotator now ships a first-class extension for it.

The Pi extension introduces a file-based plan mode where the agent writes plans to a PLAN.md file on disk — git-trackable and visible in your editor at all times. When the agent calls exit_plan_mode, the browser-based review UI opens for you to annotate, approve, or deny the plan, just like on Claude Code and OpenCode.

What's included:

  • Plan review with the full annotation UI — text selection, comments, deletions, replacements, image attachments
  • Code review via /plannotator-review — opens git diffs in the review editor
  • Markdown annotation via /plannotator-annotate <file.md> — annotate any markdown file
  • Bash safety gating — during planning, the agent is restricted to read-only commands. Destructive operations like rm, mv, git push, and npm install are blocked until you approve the plan
  • Progress tracking — a status line widget shows checklist completion as the agent executes (3/5), with live strikethrough on completed items
  • State persistence — the current phase (idle, planning, executing) survives session restarts via Pi's entry API
  • Ctrl+Alt+P keyboard shortcut and /plannotator command to toggle plan mode

The extension uses Node.js HTTP servers instead of Bun.serve(), since Pi loads extensions via jiti. Install from npm once published, or from git today:

pi install npm:@plannotator/pi-extension
pi --plan  # Start a session in plan mode

(#168)

Auto-Close Countdown

The auto-close behavior introduced in v0.8.0 now supports a configurable delay. Instead of a binary on/off toggle, you can choose from four options: Off (default), Immediately, After 3 seconds, or After 5 seconds. When a delay is set, the completion overlay shows a live countdown before the tab closes.

More importantly, the feature is now discoverable. When auto-close is off, the completion overlay surfaces an opt-in checkbox — right at the moment you'd benefit from it most. One click enables it with a 3-second default, and you can fine-tune the delay in Settings whenever you like.

The implementation also handles browser restrictions gracefully. Since window.close() only works on tabs opened by script (and Plannotator opens via OS commands), a failed close now shows a friendly fallback message instead of silently doing nothing.

Under the hood, the duplicated completion overlay code from both the plan editor and review editor has been extracted into a shared CompletionOverlay component with a useAutoClose hook, cleaning up both apps.

Image Endpoint Security Fix

The /api/image endpoint in all three servers (plan, review, annotate) previously served files from the local filesystem based on a user-provided path query parameter with no validation. Since the HTTP server runs on localhost without authentication, any process or browser tab could read arbitrary files — including SSH keys, AWS credentials, and other sensitive data. The server's 4-day hook timeout made the exposure window particularly wide.

This is now locked down with a shared validation module applied across all three servers:

  • Image extension allowlist — only known image formats are served (png, jpg, gif, webp, svg, and others)

  • Path normalizationpath.resolve() eliminates ../ traversal sequences

  • Upload validation — the /api/upload endpoint now enforces the same allowlist

  • Thanks to @dor-tzur-lmnd for identifying and fixing this vulnerability (#164)


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

New Contributors

Full Changelog: v0.8.2...v0.8.3

v0.8.2

18 Feb 16:26

Choose a tag to compare

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
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.8.2

A targeted fix for the BROWSER environment variable handling introduced in v0.8.1. The devcontainer browser-opening feature now works correctly on macOS and WSL.

BROWSER Environment Variable Fix

v0.8.1 added support for the standard BROWSER environment variable so devcontainer users get automatic browser opening without any Plannotator-specific configuration. However, the implementation treated BROWSER the same as PLANNOTATOR_BROWSER across all platforms — which broke on macOS (where open -a expects an application name, not a script path) and WSL (where cmd.exe /c start can't execute Linux paths).

PLANNOTATOR_BROWSER and BROWSER now have distinct semantics. PLANNOTATOR_BROWSER is a platform-native application reference: an app name for open -a on macOS, a Windows executable for cmd.exe /c start on WSL. BROWSER is always executed directly as $BROWSER <url>, matching the Unix convention that VS Code and other tools expect.


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"]
}

What's Changed

  • fix(browser): use open -a only for PLANNOTATOR_BROWSER on macOS by @rerorero in #163

New Contributors

Full Changelog: v0.8.1...v0.8.2

v0.8.1

17 Feb 15:52

Choose a tag to compare

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
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.8.1

A focused patch release: devcontainer users get automatic browser opening out of the box, mermaid diagrams render at full size, and the annotation toolbar no longer hijacks keystrokes from other inputs.

Devcontainer Browser Detection

Plannotator now respects the standard BROWSER environment variable as a fallback when PLANNOTATOR_BROWSER is not set. VS Code automatically sets BROWSER in devcontainers to a helper script that opens URLs on your local machine — so the plan review UI opens automatically with zero Plannotator-specific configuration. No more manually setting PLANNOTATOR_REMOTE=1 and forwarding ports just to use Plannotator inside a devcontainer.

The fallback chain is: PLANNOTATOR_BROWSER (explicit override) > BROWSER (standard convention) > system default (open / xdg-open / cmd.exe).

Mermaid Diagram Clipping Fix

Mermaid diagrams that exceeded their container were being clipped due to fixed SVG width/height attributes and an inline max-width constraint. Diagrams now render at full size within the container while preserving zoom and pan controls from v0.8.0.

Annotation Toolbar Focus Fix

The type-to-comment shortcut — where you start typing in the toolbar's menu step to auto-transition into a comment — was capturing keystrokes globally. If you clicked the global comment textarea (or any other input) while the toolbar was open, your keystrokes would get swallowed by the toolbar instead of reaching the input you were typing in. The toolbar now checks whether the active element is an input, textarea, select, or contenteditable before intercepting keys. Also adds IME composition safety for international keyboard input.


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"]
}

What's Changed

  • feat: use BROWSER env var as fallback for opening UI by @backnotprop in #153
  • fix: mermaid diagrams clipped due to fixed SVG dimensions by @j-token in #156
  • fix(ui): prevent annotation toolbar from stealing global comment focus by @blue-poolyum in #157

New Contributors

Full Changelog: v0.8.0...v0.8.1

v0.8.0

13 Feb 22:07

Choose a tag to compare

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
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.8.0

Plannotator is now fully open source under MIT/Apache-2.0. This release adds a new annotate command for reviewing any markdown file, a self-hosted share portal option, resizable panels, mermaid diagram controls, auto-close on approval, and a full documentation site at plannotator.ai.

Open Source — MIT / Apache-2.0

Plannotator is now dual-licensed under MIT and Apache-2.0, replacing the previous BSL-1.1 license. Use it however you want — no restrictions, no time-delayed open source. (#144)

Annotate Any Markdown File

A new /plannotator-annotate <file.md> slash command opens any markdown file in the annotation UI. Useful for reviewing specs, ADRs, or any document that lives alongside your code. Combined with named image references — attach images to annotations and reference them by name (e.g., "login-mockup") so the agent knows exactly what you're pointing at.

Self-Hosted Share Portal

Set PLANNOTATOR_SHARE_URL to point share links at your own instance of the share portal instead of share.plannotator.ai. Build the portal with bun run build:portal and deploy it anywhere — S3, Nginx, Vercel, Cloudflare Pages. All data still lives in the URL hash; the portal is a static page.

  • Thanks to @ffmmjj for the original feature request (#12)

Resizable Side Panels

The annotation sidebar and TOC panels can now be resized by dragging. Panel widths persist across sessions.

Mermaid Diagram Controls

Mermaid diagrams now support zoom, pan, and drag — making large or complex diagrams navigable without squinting. Built on the rendering support added in v0.6.8.

Auto-Close Tab on Approval

The browser tab now closes automatically after you approve a plan. One fewer thing to manage when you're deep in a review cycle. Configurable in Settings.

Quality of Life

  • ESC closes annotation toolbar — dismiss the toolbar without clicking away. Thanks to @flex-yj-kim (#149)
  • CLAUDE_CONFIG_DIR honored in install scripts — custom Claude config directories are now respected during installation. Thanks to @daFish for reporting (#136)

Documentation Site

plannotator.ai now has full documentation and a blog. Installation guides for Claude Code, OpenCode, and remote/devcontainer setups. Reference pages for environment variables, keyboard shortcuts, and API endpoints. Guides for sharing, Obsidian integration, and self-hosting. Built with Astro 5 — static HTML, fast, searchable. (#150)


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"]
}

What's Changed

New Contributors

Full Changelog: v0.7.0...v0.8.0

v0.7.0

09 Feb 20:48

Choose a tag to compare

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
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
v0.6.1 Obsidian custom paths, disable sharing config
v0.6.0 Permission mode support, inline annotation editing, code review

What's New in v0.7.0

Table of Contents & Sticky Actions

A new sidebar for navigating larger plans, plus sticky action buttons that stay visible while scrolling:

  • Table of Contents — collapsible sidebar showing H2–H5 headings with click-to-scroll navigation

  • Active section tracking — highlights the current section as you scroll

  • Sticky action buttons — Images, Global Comment, and Copy Plan stay pinned while scrolling

  • First-run setup dialog — new and existing users see a one-time prompt to enable/disable these features (configurable later in Settings)

  • Thanks to @thoroc for the contribution (#122)

Save to Notes Without Approving

Obsidian and Bear note saving is now decoupled from plan approval — save your plans whenever you want:

  • Notes tab in the Export dialog with per-integration save buttons

  • Quick actions dropdown on the Export button — Copy Share Link, Download Diff, Save to Obsidian/Bear

  • Cmd/Ctrl+S keyboard shortcut for saving to your configured default

  • Default Save Action setting in Settings > Saving

  • Thanks to @bman654 for the feature request and @jasonkuhrt for the original issue (#127)

Import Teammate Review

Sharing is now bidirectional. Import annotations from a teammate's share link directly into your current review session:

  • Import Review option in the Export dropdown menu

  • Paste a teammate's share URL to load their annotations

  • Automatic deduplication — skips annotations that already exist

  • Merges imported annotations alongside your own

  • Thanks to @razbenya for the contribution (#131)

Persist Editor Mode

Your preferred editor mode (Selection, Comment, or Redline) now persists between plan reviews — no more re-selecting each time.

Code Review: Viewed File Tracking

GitHub-style "viewed" tracking for code reviews:

  • Checkbox on each file to mark it as reviewed

  • Progress indicator in the file tree (e.g., "3/10 viewed")

  • Toggle to hide viewed files for focused review

  • Thanks to @blue-poolyum for the contribution (#130)


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"]
}

What's Changed

  • feat: persist editor mode selection between plan reviews by @rcdailey in #126
  • feat: add GitHub-style viewed file tracking to code review by @blue-poolyum in #130
  • feat: TOC sidebar, sticky actions, and UI improvements by @thoroc in #122
  • feat: save to notes without approving by @backnotprop in #132
  • feat: UI features setup dialog for TOC and sticky actions by @backnotprop in #133
  • feat: import teammate review from share link by @razbenya in #131

Full Changelog: v0.6.8...v0.7.0

v0.6.8

29 Jan 16:45

Choose a tag to compare

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
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
v0.6.1 Obsidian custom paths, disable sharing config

What's New in v0.6.8

Mermaid Diagram Rendering

Plans with mermaid code blocks can now be rendered as interactive diagrams. Toggle between source and rendered view on hover.

Repository Info Display

Plans now show the current repository and branch in the upper-left corner:

  • Displays org/repo format (parsed from git remote)

  • Shows current branch with git icon

  • Fallback chain: git remote → repo root name → directory name

  • Subtle badge styling that doesn't clutter the UI

  • Thanks to @ovitrif for the feature request (#104)

OpenCode: Improved Sub-Agent Filtering

Refined the sub-agent exclusion logic for prompt injection:

  • Now excludes the "build" agent in addition to sub-agents

  • Uses dynamic API check for sub-agent detection

  • Safer fallback behavior on detection failure

  • Thanks to @metaphorics for the contribution (#98)

Windows Install Fix

Cleaned up old installation locations to prevent PATH conflicts:

  • Removes stale binaries from ~/.local/bin before installing
  • Fixes issues where old installs took precedence over new ones

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"]
}

What's Changed

  • fix(opencode-plugin): exclude sub-agents and build agent from prompt injection by @metaphorics in #98
  • fix: clean up old Windows install locations by @backnotprop in #101
  • feat: add mermaid.js diagram rendering support by @backnotprop in #116
  • feat: display repo and branch info in plan document by @backnotprop in #117

Full Changelog: v0.6.7...v0.6.8

v0.6.7

19 Jan 20:13

Choose a tag to compare

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
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
v0.6.1 Obsidian custom paths, disable sharing config
v0.6.0 Permission mode support, inline annotation editing

What's New in v0.6.7

Quick Comment Mode

A faster way to add comments. Two new features for quick annotation:

  1. Comment Mode - New editor mode where selecting text immediately shows the comment input (no toolbar menu)
  2. Type-to-Comment - In Selection mode, just start typing after selecting text to create a comment
start_to_comment.mov

OpenCode: Smart Agent Detection

The agent switcher now queries OpenCode for available agents instead of using a hardcoded list:

  • Shows warning banner when saved agent doesn't exist in your OpenCode config
  • Dynamic dropdown populated with your actual agents
  • Fallback to hardcoded options when API unavailable

OpenCode: Primary Tools Fix

Improved sub-agent blocking using OpenCode's native mechanism:

  • Uses experimental.primary_tools config (the intended approach)
  • Properly hides submit_plan from ALL sub-agents (including custom ones)
  • Fixes v0.6.6 message persistence bug

Thanks to @metaphorics for the detailed analysis (#86), and tarquin_dan and spoons.420 from Discord for testing and feedback.


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"]
}

What's Changed

  • fix: use primary_tools config for sub-agent blocking by @backnotprop in #95
  • fix: smart detection for agent switching in OpenCode by @backnotprop in #96
  • feat: add Comment mode and type-to-comment shortcut by @backnotprop in #97

Full Changelog: v0.6.6...v0.6.7

v0.6.6

18 Jan 17:16

Choose a tag to compare

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
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
v0.6.1 Obsidian custom paths, disable sharing config
v0.6.0 Permission mode support, inline annotation editing

What's New in v0.6.6

OpenCode: Sub-Agent Fix

Sub-agents ("general", "explore") were incorrectly triggering plannotator during autonomous tasks. Fixed by:

  1. Targeted prompt injection - Planning instructions now only inject for the plan agent, not sub-agents
  2. Runtime blocking - Sub-agents are blocked from calling submit_plan with a helpful message
Agent Sees instruction? Can use tool?
plan ✅ Yes ✅ Yes
build ❌ No ✅ Yes
general ❌ No ❌ Blocked
explore ❌ No ❌ Blocked

OpenCode: Security Update (CVE-2026-22812)

Bumped @opencode-ai/plugin dependency to >=1.1.10 to address a critical RCE vulnerability in OpenCode versions < 1.1.10.


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"]
}

What's Changed

  • fix: OpenCode plugin updates (CVE + sub-agent fix) by @backnotprop in #90

Full Changelog: v0.6.5...v0.6.6