github backnotprop/plannotator v0.14.4

15 hours ago

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
v0.14.3 PR context panel, diff search in code review, OpenCode permission normalization, landing page redesign
v0.14.2 OpenCode plan mode prompt replacement, Windows non-ASCII path fix, Pi link fix
v0.14.1 Single submit_plan with auto-detect, viewed-file draft persistence, Bear nested tag fix
v0.14.0 PR review via GitHub URL, /plannotator-last for annotating agent messages, OpenCode plan mode permissions fix, VS Code SSH proxy fix
v0.13.1 OpenCode plan mode rewrite, Obsidian save fix
v0.13.0 Built-in themes, annotatable plan diffs, file-scoped code review comments, Octarine integration, unified review core, Pi remote sessions
v0.12.0 Quick annotation labels, mobile compatibility, Graphviz rendering, markdown images with lightbox, linked doc navigation in annotate mode
v0.11.4 Git add from code review, bidirectional scroll navigation, clipboard paste for annotation images, VS Code IPC port stability
v0.11.3 Expandable diff context, hierarchical folder tree, redesigned worktree controls, supply chain hardening
v0.11.2 Git worktree support in code review, VS Code editor annotations in review, Obsidian auto-save & separator settings, session discovery, smart file resolution
v0.11.1 VS Code extension for in-editor plan review, Pinpoint mode for point-and-click annotations, untracked files in code review

What's New in v0.14.4

v0.14.4 adds the ability to post reviews (comments, approval) directly to GitHub from the code review UI, along with repo-aware tab titles, a parser fix for nested code fences, scroll-accessibility UI fixes, and two environment wiring fixes. 5 PRs, 3 from first-time contributors.

Post Reviews Directly to GitHub

The code review UI can now submit reviews to GitHub instead of (or in addition to) sending feedback to the local agent. When reviewing a PR, a toggle in the review panel switches between "Agent" and "GitHub" targets. In GitHub mode, clicking "Approve" or "Send Feedback" opens a popup for a review body comment, then posts the review via gh api with per-file, per-line comments mapped from your annotations.

This uses the GitHub pull request review API rather than gh pr review, because the CLI only supports general comments. The API call lets Plannotator attach each annotation to the exact file and line it references. After submitting, the PR opens in your browser and the agent receives a notification that the review was posted.

The squash-and-merge action from #348 is intentionally left for a follow-up, since it requires discussion around when automatic merging is appropriate.

Repo Identifier in Tab Title

Browser tabs now show the repository or directory name: myproject · Plannotator for plan review and myproject · Code Review for diffs. Previously every tab just said "Plannotator," which made it hard to tell them apart when working across multiple repos.

Nested Markdown Code Fences

Plans that contain markdown examples with triple-backtick code blocks inside a four-backtick fence would break the parser. The outer block closed at the first triple-backtick line, producing two broken blocks instead of one. The parser now counts backticks in the opening fence and requires the same count (or more) to close it. Language tag extraction was also fixed to slice by the actual fence length rather than a hardcoded 3.

This PR also adds the first test file for the parser (8 tests).

Additional Changes

  • Wire PLANNOTATOR_PASTE_URL through Pi extension — the Pi extension read PLANNOTATOR_SHARE_URL but never passed PLANNOTATOR_PASTE_URL to the browser UI, so self-hosted paste service configurations were silently ignored. Now wired through all three server types (plan, review, annotate). By @dmmulroy in #356.
  • Fix resize handle covering scrollbar — the resize handle's touch target extended 8px in both directions, overlapping the 6px scrollbar on the adjacent panel. A global CSS transition on * also caused choppy scrolling. The handle now extends only outward from the panel edge, and transitions are narrowed to color properties. Closes #354, reported by @dillonoconnor. In #359.

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

Contributors

@rockneurotiko built the GitHub review submission feature in #352, adding the agent/GitHub toggle, per-line comment mapping, and the review body popup. This is his second PR to the project after the OpenCode permission fix in v0.14.3.

@VincentHardouin implemented repo-aware tab titles in #353, picking up the feature request filed by @ovitrif in #342.

@brian-malinconico-axomic fixed the nested code fence parsing in #355 and added the project's first parser test suite.

@dmmulroy wired the missing paste URL environment variable through the Pi extension in #356, fixing self-hosted paste service configurations.

@dillonoconnor reported the scrollbar interaction bug in #354.

Full Changelog: v0.14.3...v0.14.4

Don't miss a new plannotator release

NewReleases is sending notifications on new releases.