Follow @plannotator on X for updates
Missed recent releases?
| Release | Highlights | | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | | [v0.17.0](https://github.com/backnotprop/plannotator/releases/tag/v0.17.0) | AI code review agents, token-level annotation, merge-base diffs | | [v0.16.7](https://github.com/backnotprop/plannotator/releases/tag/v0.16.7) | Gemini CLI plan review, install script skills directory fix | | [v0.16.6](https://github.com/backnotprop/plannotator/releases/tag/v0.16.6) | Perforce support, Pi shared event API, suggested code prefill, file tree expand fix | | [v0.16.5](https://github.com/backnotprop/plannotator/releases/tag/v0.16.5) | Resize handle scrollbar fix, VS Code Marketplace publish | | [v0.16.4](https://github.com/backnotprop/plannotator/releases/tag/v0.16.4) | Compound planning improvement hook, GitHub Enterprise + self-hosted GitLab, dockview workspace, new themes | | [v0.16.3](https://github.com/backnotprop/plannotator/releases/tag/v0.16.3) | Pi phase configuration, CLI help, untracked file discovery fix, review scroll reset | | [v0.16.2](https://github.com/backnotprop/plannotator/releases/tag/v0.16.2) | Draggable comment popovers, cross-file annotation visibility, custom diff fonts, OpenCode verbose log fix | | [v0.16.1](https://github.com/backnotprop/plannotator/releases/tag/v0.16.1) | SSE stream idle timeout fix for external annotations API | | [v0.16.0](https://github.com/backnotprop/plannotator/releases/tag/v0.16.0) | GitHub Copilot CLI, external annotations API, bot callback URLs, interactive checkboxes, print support, diff display options | | [v0.15.5](https://github.com/backnotprop/plannotator/releases/tag/v0.15.5) | Custom display names, GitHub viewed file sync, expand/collapse all in file tree, search performance, WSL fix | | [v0.15.2](https://github.com/backnotprop/plannotator/releases/tag/v0.15.2) | Compound Planning skill, folder annotation, `/plannotator-archive` slash command, skill installation via platform installers | | [v0.15.0](https://github.com/backnotprop/plannotator/releases/tag/v0.15.0) | Live AI chat in code review, plan archive browser, folder file viewer, resizable split pane, Pi full feature parity |What's New in v0.17.1
v0.17.1 is a patch release that fixes PR review in the Pi extension and addresses several cross-platform bugs found during an exhaustive parity audit of every server endpoint between Bun and Pi runtimes.
Pi PR Review
The Pi extension's plannotator-review command was completely ignoring PR URL arguments and always falling back to local git diffs. v0.17.1 implements the full PR review flow: URL parsing, authentication checks, PR metadata fetch, and local worktree creation for both same-repo and cross-repo PRs. Same-repo PRs use git worktree add --detach with the PR's head ref; cross-repo forks use a shallow clone with tracking refs for both branches.
Beyond the missing PR flow, an audit of all 27 review server feature areas uncovered 12 parity gaps in the Pi server. These ranged from missing diagnostic logging on PR actions to incorrect access guards that would have allowed diff switching in PR mode. All have been fixed.
Remote URL Parsing
parseRemoteUrl has been rewritten to handle the full range of git remote formats. The previous regex incorrectly matched HTTPS URLs with non-standard ports (e.g., https://gitlab.example.com:8443/group/project.git) as SSH, and failed on multi-segment GitLab paths like group/subgroup/project. The new implementation handles SSH, SSH with port (ssh://git@host:22/path), standard HTTPS, and HTTPS with custom ports as separate cases. This fix applies to both Bun and Pi runtimes.
Cross-Repo Clone Fixes
Cross-repo PR clones (forks from different organizations) had two issues. The gh repo clone and glab repo clone commands don't accept a --hostname flag, so self-hosted GitHub Enterprise and GitLab instances would fail. The fix uses GH_HOST and GITLAB_HOST environment variables instead, which both CLIs respect. The shallow fetch depth has also been increased from 50 to 200 commits to handle PRs with longer histories.
Additional Changes
- Git Add button hidden in PR mode. The staging button was incorrectly visible during PR reviews because the server returned
diffType: undefinedand the client defaulted to "uncommitted". The client now disables staging when PR metadata is present - Diff viewer theme flash fix. Switching files in the diff viewer caused a brief flash of the wrong theme. The Pierre diff library's theme was being computed asynchronously via
requestAnimationFrame; the initial state now reads CSS custom properties synchronously so the correct background appears on the first frame - Resolved/Outdated filters in PR comments. The PR comments tab now has toggle buttons to hide resolved or outdated review threads. Filters use the same green and amber color tokens as the existing status badges and integrate with the existing Clear Filters control
Install / Update
macOS / Linux:
:::bash
curl -fsSL https://plannotator.ai/install.sh | bash
Windows:
:::powershell
irm https://plannotator.ai/install.ps1 | iex
Claude 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
Gemini CLI: The install script auto-detects ~/.gemini and configures hooks, policy, and slash commands. See apps/gemini/README.md for manual setup.
OpenCode: Clear cache and restart:
:::bash
rm -rf ~/.bun/install/cache/@plannotator
Then in opencode.json:
:::json
{
"plugin": ["@plannotator/opencode@latest"]
}
Pi: Install or update the extension:
:::bash
pi install npm:@plannotator/pi-extension
VS Code Extension: Install from the VS Code Marketplace. Tested with Claude Code running in VS Code's integrated terminal. Not currently compatible with Anthropic's official VS Code extension due to upstream hook bugs.
What's Changed
- fix(pi): full PR review parity with Bun server by @backnotprop in #503
Full Changelog: https://github.com/backnotprop/plannotator/compare/v0.17.0...v0.17.1