github backnotprop/plannotator v0.19.11

5 hours ago

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
v0.19.10 Revert unreviewed bypass-clear-reminder permission mode
v0.19.9 OpenCode user-managed workflow, Pi model switch fix, Codex skill install, shimmer removal
v0.19.8 49 themes with syntax highlighting, keyboard shortcut registry, smart code-file path validation, remote URL notifications
v0.19.7 Codex Stop-hook plan review, Codex skills, sidebar auto-close, file tree context menu
v0.19.6 Non-blocking Pi browser sessions, agent picker dropdown for OpenCode, annotate-last file resolution fix
v0.19.5 All-files diff view, clickable code file paths, server-side hide whitespace, non-ASCII path support
v0.19.4 All-files diff type, code file viewer, hide whitespace, quick-settings popover
v0.19.3 Configurable feedback messages, hide merged PRs in stacked PR selector
v0.19.2 Stacked PR review, source line numbers in feedback, diff type dialog re-show, ghost dot removal, docs cleanup
v0.19.1 Hook-native annotation, custom base branch, OpenCode workflow modes, quieter plan diffs, anchor navigation
v0.19.0 Code Tour agent, GitHub-flavored Markdown, copy table as Markdown/CSV, flexible Pi planning mode, session-log ancestor-PID walk

What's New in v0.19.11

v0.19.11 adds Jujutsu (jj) as a first-class VCS backend for code review and refines the review UI with slimmer separators, a cleaner header layout, and proper multi-line gutter selection. One of the two PRs in this release is from a first-time contributor.

Jujutsu (jj) Code Review

Plannotator's code review now works natively with Jujutsu, the Git-compatible VCS. When you run /plannotator-review in a jj workspace, the VCS is auto-detected and four jj-specific diff modes appear in the diff type picker:

  • Current (jj-current) shows the working-copy changes
  • Last (jj-last) shows the previous change
  • Line (jj-line) shows the full line of work from the current change back to the trunk bookmark
  • All (jj-all) shows all local changes not yet on the remote

Compare-target selection adapts to jj's model. Instead of branch-based base selection, the picker offers remote bookmarks. The feedback exported to your agent includes jj-appropriate local diff instructions so it can reproduce the same view.

Under the hood, this required a significant refactor. Diff collection, compare-target semantics, and file-content retrieval were pulled into a provider-based VCS abstraction in packages/shared/vcs-core.ts. Git, jj, and P4 each implement the same provider interface. The review server and UI consume provider-supplied metadata instead of branching on VCS-specific flags. This abstraction makes adding future VCS backends straightforward.

For colocated repos (both .git and .jj present), jj takes priority. Pass --git to /plannotator-review to override.

Review UI Refinements

Several quality-of-life improvements to the code review interface:

Slimmer hunk separators. The expand/collapse bars between diff hunks are now 24px (down from 32px), with semi-transparent theme-integrated backgrounds. Text and buttons fade with lower opacity for a subtler look that puts the focus on the code.

Cleaner header layout. Sidebar toggles (Annotations, AI, Agents) moved to the far right of the header bar, with the options menu to their left. A visual divider separates the file tree button from the repo label.

Collapse viewed files. Marking a file as viewed in all-files review mode now automatically collapses it, keeping only unreviewed files expanded.

Multi-line gutter selection fix. Click-and-drag on the gutter annotation button now correctly selects a range of lines. The previous implementation used a deprecated Pierre API that never entered the selection mode, so dragging always reported a single line.


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

Community

@graemefolk built full jj support from scratch, implementing the VCS provider, diff modes, compare-target picker, and feedback export in a single well-structured PR. The VCS abstraction layer they introduced benefits the entire codebase.

@JohannesKlauss reported the multi-line gutter selection bug in #679, with a clear screen recording that made the root cause obvious.

@festive-onion requested the collapse-on-viewed behavior in #682, a small change that meaningfully improves the review workflow for large diffs.

Full Changelog: v0.19.10...v0.19.11

Don't miss a new plannotator release

NewReleases is sending notifications on new releases.