Follow @plannotator on X for updates
Missed recent releases?
| Release | Highlights |
|---|---|
| v0.16.3 | Pi phase configuration, CLI help, untracked file discovery fix, review scroll reset |
| v0.16.2 | Draggable comment popovers, cross-file annotation visibility, custom diff fonts, OpenCode verbose log fix |
| v0.16.1 | SSE stream idle timeout fix for external annotations API |
| v0.16.0 | GitHub Copilot CLI, external annotations API, bot callback URLs, interactive checkboxes, print support, diff display options |
| v0.15.5 | Custom display names, GitHub viewed file sync, expand/collapse all in file tree, search performance, WSL fix |
| v0.15.2 | Compound Planning skill, folder annotation, /plannotator-archive slash command, skill installation via platform installers
|
| v0.15.0 | Live AI chat in code review, plan archive browser, folder file viewer, resizable split pane, Pi full feature parity |
| v0.14.5 | GitLab merge request review, login page image fix, Windows install path fix |
| v0.14.4 | GitHub review submission, repo identifier in tab title, nested code fence parser fix, Pi paste URL wiring |
| 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 |
What's New in v0.16.4
v0.16.4 introduces a hook mechanism for continuously improving your plans based on compound planning insights, adds GitHub Enterprise and self-hosted GitLab support for code review, restructures the review UI around a dockview workspace, and ships three new themes. 11 PRs, 3 from external contributors, 2 first-timers.
GitHub Enterprise and Self-Hosted GitLab Support
Plannotator's code review now works with GitHub Enterprise and self-hosted GitLab instances. Previously, PR review only supported github.com and gitlab.com URLs. Now any host with a /pull/ or /merge_requests/ path pattern is recognized. The --hostname flag is threaded through all gh CLI calls for GitHub Enterprise, and self-hosted GitLab MR diffs use the glab api endpoint instead of glab mr diff (which doesn't support --hostname on self-hosted instances).
- #460, closing #348 and #457 reported by @charlozard
Compound Planning: Continuous Improvement Hook
The compound planning skill now closes the loop between analysis and action. After analyzing your plan archive and generating a report, the skill can write corrective planning instructions to ~/.plannotator/hooks/compound/enterplanmode-improve-hook.txt. A PreToolUse hook on EnterPlanMode then injects these instructions into Claude's context every time plan mode starts. The result: insights from your compound planning analysis automatically shape how Claude writes future plans.
This release also adds incremental reports that detect previous runs and only analyze new files since the last report, saving tokens on large projects. Extraction (Phase 2) now uses Haiku agents for speed, while reduction (Phase 3) uses Sonnet for analytical reasoning with two-stage reduce for large datasets.
For users without a Plannotator archive, a Claude Code fallback mode activates when ~/.plannotator/plans/ is absent or has no denied plans. A bundled Python script (extract_exit_plan_mode_outcomes.py) extracts plan outcomes directly from Claude Code conversation logs, so the compound skill works even without Plannotator history.
Review UI Improvements
The code review center area has been restructured around a Dockview workspace. PR detail views and agent panels now open as center dock tabs instead of overlaying the diff, and diff navigation is simplified to a single dedicated tab. This lays the groundwork for upcoming AI-powered review features that need flexible panel management.
New Themes
Three new color themes: Clean Contrast (dark-only), Code Fork (dark + light), and Midnight (dark-only). All three are derived from Cursor's color palettes and registered with preview swatches in the theme picker.
Additional Changes
- Pi phase configuration. Pi users can now define phase behavior (model, tools, prompt) in
plannotator.json, scoped to project or global~/.pi/agent(#446 by @stk-code) - CLI help. Running
plannotatorwith no arguments now prints a usage message instead of hanging.--helplists available subcommands (#448 by @foxytanuki, closing #447) - Untracked file discovery fix. Code review now resolves the repo root so untracked files outside the agent's CWD are included (#450 by @blimmer, closing #449)
- Review scroll reset. The diff viewport resets to the top-left when switching files (#452, closing #451 reported by @UberMouse)
Install / Update
macOS / Linux:
curl -fsSL https://plannotator.ai/install.sh | bashWindows:
irm https://plannotator.ai/install.ps1 | iexClaude Code Plugin: Run /plugin in Claude Code, find plannotator, and click "Update now".
Copilot CLI:
/plugin marketplace add backnotprop/plannotator
/plugin install plannotator-copilot@plannotator
OpenCode: Clear cache and restart:
rm -rf ~/.bun/install/cache/@plannotatorThen in opencode.json:
{
"plugin": ["@plannotator/opencode@latest"]
}Pi: Install or update the extension:
pi install npm:@plannotator/pi-extensionWhat's Changed
- feat: agentic review — background job runner with SSE streaming by @backnotprop in #443
- feat(pi): support phase config files by @stk-code in #446
- cli: clarify no-arg usage and add top-level help by @foxytanuki in #448
- fix(review): resolve repo root for untracked file discovery by @blimmer in #450
- fix(review): reset scroll on file switch by @backnotprop in #452
- feat(review): add dockview center workspace by @backnotprop in #453
- feat: add Clean Contrast, Code Fork, and Midnight themes by @backnotprop in #454
- feat(skill): compound planning — incremental reports, agent routing, improvement hook by @backnotprop in #455
- feat(hook): improvement hook context injection for planning by @backnotprop in #459
- feat(review): support GitHub Enterprise and fix self-hosted GitLab MR diffs by @backnotprop in #460
- feat(skill): add Claude Code fallback to compound planning skill by @backnotprop in #461
New Contributors
Contributors
@stk-code contributed Pi phase configuration support (#446), bringing per-project customization to the Pi extension. First contribution.
@foxytanuki returned for a second contribution with the CLI help message (#448), after the SSE timeout fix in v0.16.1.
@blimmer identified and fixed the untracked file discovery bug (#449, #450), including a regression test. First contribution.
Community members who reported issues addressed in this release:
- @charlozard: #457 (self-hosted GitLab
glab mr difffailure) - @UberMouse: #451 (scroll position persisting across file switches)
- @NaikSoftware: participated in #348 (GitHub PR integration enhancements)
Full Changelog: v0.16.2...v0.16.4