Repository navigation
Follow @plannotator on X for updates
Missed recent releases?
| Release | Highlights |
|---|---|
| v0.28.31 | An onboarding tour for the Inbox, pinned threads, picture choices in questions, palettes in Inbox Settings, tailnet reviews from the plugin tool |
| v0.28.30 | An Artifacts view in the Inbox, comments on part of an image, diagrams in code review, Ask AI keeps its conversation in annotate |
| v0.28.29 | Plan review opens on OpenCode 2, a DOMPurify security update, closing a review stops the agent everywhere |
| v0.28.27 | Jump to open questions, files side by side or full screen, image zoom in the Inbox, empty To field, text size for plan review and annotate |
| v0.28.26 | Action items and reply drafts in the Inbox, one decision button for plan review, Enter to save a comment, a custom code font |
| v0.28.25 | Re-ask open questions, delivery ticks on the list, a count of new messages on the tab, right-click a thread, click Inbox to refresh |
| v0.28.24 | A new look for the Inbox, Send now, tag agents, comment on an agent's message, much smaller reads for agents, links in HTML pages |
| v0.28.23 | Inbox replies reach sessions with background subagents, dictated text no longer goes missing, 👍 Looks good reaches the agent, notifications that never fail silently |
| v0.28.22 | 👍 Looks good, full view for files, one viewer for a thread's images and files, every session prints its URL, PLANNOTATOR_BROWSER=none opens nothing |
| v0.28.21 | Message an agent from the Inbox, video attachments, Open in for attachments, Code / Tests / Generated in code review, writes from other websites refused |
| v0.28.20 | Inbox search (⌘K), real folder names for projects, data files open in the code view, word-only replies leave questions open |
| v0.28.19 | Ask this session in T3 Code, folder sessions load shared stylesheets and images, the agent note asked once per agent, Copy connect prompt |
What's New in v0.28.32
A security release: the binaries are now built on Bun 1.4.4, which no longer trusts the compromised eMudhra certificates. Also a Board page for the Inbox (off unless you turn it on), custom Inbox prompts, hover cards for issue and PR links, replies that wake Codex, and rich-text Copy. 26 PRs: two from @utpalsinghdev and one from first-time contributor @meowhib.
On v0.28.30 or older? Run the install script once: curl -fsSL https://plannotator.ai/install.sh | bash (Windows: irm https://plannotator.ai/install.ps1 | iex). plannotator update on those versions asks only GitHub's API and may not reach this release.
Security: update now (eMudhra certificates)
Eight eMudhra intermediate certificate keys (6 for TLS, 2 for code signing) chaining to emSign ECC Root CA - G3 were found this month to be trivially recoverable; no misuse has been seen. Release binaries are now built on Bun 1.4.4, which drops that root and blocks the 8 compromised keys whatever root they chain to. v0.28.31 and earlier trust the root and have no block. Please update.
Plannotator also runs inside other hosts, which need their own update:
-
OpenCode plugin: update OpenCode to 1.19.4 or later (it runs on Bun 1.4.4).
-
Pi extension: run Pi on Node 22.23.4, 24.22.1 or 26.12.1 or later in the same line. On an older Node, a fresh install gets 0.28.31 while
pi updategets 0.28.32; 0.28.33 removes that floor. -
VS Code extension: desktop VS Code blocks the keys from 1.144 (Electron 43.8.1 or later); 1.143.x desktop does not. Remote SSH, WSL and containers are fixed in 1.143.1.
-
#2215, from @iMacTia's #2214 and @FNDEVVE's Bun 1.4 work in #1489
Plannotator Inbox
The Board (off by default)
A Board page of cards in lanes, for work you and your agents track together. Agents can add cards, you can drag them between lanes, and a card links its threads, PRs and issues with their live state. It is off unless you turn it on in Settings → General → Board; while off, agents are not offered the card action and nothing changes.
Custom Inbox prompts
Settings → Prompts replaces the Inbox reminder your agents get at session start, for every agent or per host (Claude Code, Pi, OpenCode). It is also in config.json under prompts.inbox.
Hover cards for issue, PR and MR links
Rest the pointer on a link to a GitHub or GitLab issue, pull request or merge request (or a #123 the Inbox links) to see its state, title, author, checks and review state without opening a tab.
Replies wake Codex
Your Inbox reply now reaches the Codex thread that asked as a new turn, with no plugin. Needs Codex CLI 0.149 or later.
A tour in the real Inbox
The onboarding tour now walks through the Inbox's own viewers: a question with pictures, a comment on its words and on a file, one Send, then compose and Artifacts. It still writes nothing to your Inbox.
Smaller changes
- Never stuck on a version. If update checks keep failing for 3 hours, the Inbox, review windows and the terminal say so and show the install command; a stuck "Updating…" is released and shown as Failed. Settings → General now has the update control. #2210
- Pi, Oh My Pi and OpenCode 2 sessions get a reload line when they run older Plannotator code than what is installed, with the command to copy:
/reloadin Pi,/restartin Oh My Pi,opencode2 reloadin OpenCode 2 (oropencode2 plugin list && opencode2 plugin update <spec>when the plugin itself is behind). Claude Code sessions already got/reload-plugins. #2213 /plannotator-inboxopens the Inbox and shows its address, in every agent that has the other/plannotator-*commands (plannotator inbox --openin a terminal). #2207- Pull down to refresh the list on a phone. #2204
- Question cards on a phone keep their buttons whole, radios show when picked, and pasting an image works. #2206
- Coming back from a file keeps your place in the thread. #2208
- An × button exits full screen in the desktop file view (Escape still works). #2217
- The thread's foot shortens its words before its status wraps onto a second row. #2186
- An action item's why shows as Markdown, not raw
**and backticks. #2225
Plannotator
Copy as rich text
Copy in the selection toolbar (now on desktop too) puts rich text and plain text on the clipboard together. A selection pasted into Outlook, Slack or a doc keeps its headings, lists, links, code and tables; pasted into a terminal or prompt, it is plain text with its line breaks. Works in Markdown, HTML and live app annotation, plan review and the Inbox.
- #2191 by @utpalsinghdev, closing #1972, with #2221
Package changes in code review
A Packages card under each changed package.json or lockfile lists the dependencies the diff adds, removes, upgrades or downgrades, with the versions the lockfile resolved. Lockfile-only diffs, such as Dependabot's, get one too.
Smaller changes
- Built on Bun 1.4.4. It drops the compromised eMudhra root certificate, and the CLI uses less memory and starts faster. #2215
- Security: live app annotation never proxies a Plannotator server. A page loaded through the live app proxy could make same-origin writes to the Inbox or another review; every Plannotator server now refuses proxied requests. #2190
- Pi: an update while a review is open no longer loses your feedback. #2223
- A pending comment on a hidden slide hides with it and comes back with your text when you return. #2185 by @utpalsinghdev, closing #1431
- Annotate's file browser says when it hit its file cap (5,000 by default,
PLANNOTATOR_FILE_BROWSER_MAX_FILES) instead of dropping files silently. #2189 - Agent guidance split into focused guides, so harnesses that load AGENTS.md get a short map. #2193 by @meowhib, closing #2192
- Dependency updates. #2200, #2203
Install / Update
macOS / Linux:
curl -fsSL https://plannotator.ai/install.sh | bashWindows:
irm https://plannotator.ai/install.ps1 | iexClaude 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@plannotatorThen restart Claude Code. Inside Claude Code, run /plugin marketplace update plannotator, then open /plugin → Installed → plannotator → Update now.
Pi:
pi update --extensionsOpenCode: Re-run the install script above. It now also clears the OpenCode 2 plugin cache.
What's Changed
- fix(security): live app annotation never proxies a Plannotator server by @backnotprop in #2190
- fix: hide pending annotations on hidden slides by @utpalsinghdev in #2185
- docs: split agent guidance into focused guides by @meowhib in #2193
- fix(annotate): say when the file browser hit its file cap by @backnotprop in #2189
- Inbox: hover cards for issue, PR and MR links (GitHub and GitLab) by @backnotprop in #2187
- chore(deps): bump the bun-minor-and-patch group with 2 updates by @dependabot in #2200
- chore(deps-dev): bump @types/node from 25.9.5 to 26.6.5 by @dependabot in #2203
- feat(inbox): pull down to refresh the list on phones by @backnotprop in #2204
- feat(inbox): Settings → Prompts, a customizable Inbox reminder by @backnotprop in #2198
- fix(inbox): the thread foot shortens before the draft status wraps by @backnotprop in #2186
- Inbox tour v2: the walk in the real viewers, compose and Artifacts by @backnotprop in #2183
- Inbox: replies wake Codex sessions (codex queue) by @backnotprop in #2172
- feat: add rich-text selection copy by @utpalsinghdev in #2191
- feat(inbox): the Board page by @backnotprop in #2209
- Add /plannotator-inbox: open the Inbox and show its address by @backnotprop in #2207
- Rich-text copy: HTML and live annotate plain text keeps its line breaks (follow-up to #2191) by @backnotprop in #2221
- chore(ci): build with Bun 1.4.4 (drops the compromised eMudhra root) by @backnotprop in #2215
- fix(updates): no user stuck on a version by @backnotprop in #2210
- feat(review): package changes under package.json and lockfile diffs by @backnotprop in #2211
- fix(inbox): question card buttons and image paste on phones by @backnotprop in #2206
- fix(inbox): coming back from a file keeps your place in the thread by @backnotprop in #2208
- Inbox: draw an action item's why as markdown by @backnotprop in #2225
- Inbox: reload line for Pi, Oh My Pi and OpenCode 2 sessions by @backnotprop in #2213
- Inbox full screen: a visible × Exit full screen button (desktop) by @backnotprop in #2217
- fix(pi): an update while a review is open no longer loses the reviewer's feedback by @backnotprop in #2223
- test: wait for the selection message in the rich copy tests by @backnotprop in #2220
New Contributors
- @meowhib made their first contribution in #2193
- @iMacTia made their first contribution in #2215 (co-author, from #2214)
Community
- @iMacTia: first proposed building with Bun 1.4.4 to drop the eMudhra root (#2214); #2215 carried it in as co-author
- @FNDEVVE: found the Bun 1.4
node:httplistener change and a test race (#1489), folded into #2215 - @utpalsinghdev: rich-text Copy and hidden-slide annotations (#2191, #2185)
- @meowhib: split the agent guidance and reported the oversized AGENTS.md (#2193, #2192)
- @delmicio: asked for rich-text Copy for Outlook and Slack (#1972)
- @zane668: asked for customizable Inbox prompts (#2194)
- @Chrysweel: reported comments staying on screen across HTML slides (#1431)
Full Changelog: v0.28.31...v0.28.32