github backnotprop/plannotator v0.28.1

3 hours ago

Follow @plannotator on X for updates

Missed recent releases?
Release Highlights
v0.28.0 Ask this session in Claude Code, Pi and OpenCode 2, Claude Code mod on by default, Pi plan review no longer blocks, first-run demo
v0.27.25 Code review works with color.diff = always, Bitbucket review fixes, wide tables no longer collapse in Firefox, install script fix
v0.27.24 Image previews stay in the all-files view, PR comment previews open on the commented line
v0.27.23 Bitbucket Cloud PR review, Question UI for answering agents in place, opt-in auto-update, viewed files remembered, review another repo or worktree
v0.27.22 Plans open the docs they link to, Claude review jobs locked down, Code Tour on Linux without Claude's sandbox, Pi reviews the latest plan
v0.27.21 Remote and phone sessions load several times faster, real Request changes on GitHub, model pickers show real names, OpenCode fixes
v0.27.20 Mistral Vibe support, annotate gets the full Options menu and Settings, jj Commits panel, long lines wrap in plan code blocks
v0.27.19 Before/After image previews in code review, file comments as GitHub file threads, forge-correct #123 links, /plannotator-last finds the right session
v0.27.18 Model pickers from your installed Claude and Codex (Opus 5.5, Fable 5.1, GPT-6), unsent PR review comments survive new pushes
v0.27.17 Diagram files open in the diagram viewer, OpenCode switches model with agent, idle review stops polling the git remote, Tree is the default review view
v0.27.16 Themed diagrams on Mermaid 12, comment on any node or edge, patch-file review, embedded HTML documents render

What's New in v0.28.1

v0.28.1 is a patch release with five pull requests, all from @backnotprop. It fixes feedback that was exported twice in folder annotate sessions, adds Ask AI to diagram comments, makes image pins in HTML pages say which image they point at, and fixes three OpenCode problems found while testing v0.28.0.

Folder annotate no longer sends each comment twice

In a folder annotate session, every comment on the open file was exported twice: once under "Folder Feedback" and again under "Linked Document Feedback". The second copy was also a weaker one. It was sorted by block id as text (block 10 before block 2) and left out the [In diff content] label, quick-label headings and tips, the Label Summary, and reply threading. This affected every host, because the export is built in the browser.

Each comment now appears once, in document order, with full detail. In a folder session the section is titled "Folder Document Feedback" and lists each file with its comments under its path. The same fix covers two related cases:

  • Plan review submitted while a linked document was open dropped the plan's own comments. They are now included.
  • When a file session opened a copy of its own page (a "Home" link, for example), comments on that copy were dropped from the export while a linked document was open. They are now exported under that file's path.

Plain plan review output is unchanged for comments, deletions and general feedback.

#1696

Ask AI from a diagram comment

The comment box on a Mermaid or Graphviz diagram now has an Ask AI button, next to Cancel and Comment. It works inline and in the popout, for diagrams in fenced code blocks and for diagram files (.mmd, .dot). The button is disabled until you type a question, and Enter still posts the comment.

The question carries the node, edge or cluster you clicked, its line in the document, the diagram type, and an excerpt of the diagram source with line numbers. The excerpt is capped at 40 lines or 4000 characters and always includes the part you picked. Asking from the popout closes the popout, so the answer in the panel is visible.

#1695

Pinning an image tells the agent which image

In HTML annotate, pinning an image or another element with no text recorded only its kind, as [element: Image]. Ask this session answered that it could see an image was selected but not which one.

The description now includes the element's label, its accessible name (aria-label, alt text, title) and, for media, the file name: [element: Image "Team photo" (team.jpg)], [element: Button "Open menu"], [element: Frame (prototype.html)]. Query strings are dropped and a data: URL is shortened to its media type. This appears in the comment, in the exported feedback, and in Ask AI questions, which now also include the pinned element's details. In HTML file sessions, image paths are reported as written in the page (office.png) instead of Plannotator's internal asset URL. Pins saved earlier still restore.

#1694

OpenCode fixes

Three problems found while testing v0.28.0:

  • OpenCode 1 shows the session URL for commands. /plannotator-review, /plannotator-annotate and /plannotator-last only wrote the URL to OpenCode's log file, so a remote or SSH user never saw it. They now show it in a toast, the way plan review already did, in local and remote mode.
  • OpenCode 1 answers once per feedback. OpenCode 1 always runs a turn on the command's own message, and Plannotator was emptying that message and sending the feedback separately, so the model replied twice. The feedback now rides on the command's own message, and the agent and model are the same as before. A command with nothing to send (Close, or Done with no notes) still runs one turn on an empty message; OpenCode 1 gives plugins no way to skip it.
  • OpenCode 2 no longer feeds the "session ready" notice to the model. After a plan decision, the model could answer with Plannotator session ready: <url> instead of your feedback. The notice stays visible in the transcript but is removed from what the model receives.

Commands you run afterwards still go to the agent you ran them on, as in 0.28.0.

#1697, #1698

Additional Changes

  • Comment box trimmed. The ⌘↵ / Ctrl+Enter hint is gone from the comment box (the shortcut still works), and HTML pages no longer show a "Looks good" button in the comment box. To leave a thumbs-up on an HTML page, select text and use the 👍 in the toolbar. (#1693)

Install / Update

macOS / Linux:

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

Windows:

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

Claude Code Plugin: The plugin and the plannotator binary update separately, so run the install script above as well. In a terminal:

claude plugin marketplace update plannotator
claude plugin update plannotator@plannotator

Then restart Claude Code. Inside Claude Code, run /plugin marketplace update plannotator, then open /plugin → Installed → plannotator → Update now.

Pi:

pi update --extensions

OpenCode: Re-run the install script above. It now also clears the OpenCode 2 plugin cache.

What's Changed

  • fix(ui): drop the ⌘↵ hint from the comment popover and the composer's Looks good on HTML by @backnotprop in #1693
  • fix(annotate): tell the agent which image (or element) a pinpoint points at by @backnotprop in #1694
  • feat(diagrams): Ask AI from a diagram comment by @backnotprop in #1695
  • fix(annotate): folder sessions export each comment once by @backnotprop in #1696
  • fix(opencode): remote URL toasts on OpenCode 1, one turn per feedback, notice ordering by @backnotprop in #1697
  • fix(opencode): keep the user's agent for follow-up OpenCode 1 commands by @backnotprop in #1698

Full Changelog: v0.28.0...v0.28.1

Don't miss a new plannotator release

NewReleases is sending notifications on new releases.