Follow @plannotator on X for updates
Missed recent releases?
| Release | Highlights |
|---|---|
| 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, file header gap fix |
| 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 |
What's New in v0.15.5
v0.15.5 is a community release. 8 PRs, 5 from external contributors, 4 of them first-timers.
GitHub Viewed File Sync
When reviewing a PR, Plannotator now syncs with GitHub's native "Viewed" checkmarks. On load, the file tree fetches each file's viewerViewedState via GraphQL and pre-populates the viewed checkboxes. Toggling a file's viewed state in Plannotator fires a background mutation to mark or unmark it on GitHub. Your progress carries over between Plannotator and GitHub's PR page.
GitLab PRs are unaffected — GitLab's viewed state is localStorage-only with no API.
Custom Display Name
Previously, annotations were attributed to an auto-generated tater identity (e.g., "Rustic Potato"). You can now set a custom display name in the settings panel. A "Use git name" button pulls from git config user.name for quick setup.
This release also introduces ~/.plannotator/config.json as a persistent configuration file. Settings written here take precedence over cookies, giving a stable config layer that survives port changes and browser sessions.
- #399, closing #396 reported by @MarceloPrado
Expand/Collapse All in File Tree
The code review file tree sidebar now has expand all and collapse all buttons in the header. Useful when reviewing PRs with deeply nested directory structures.
Search Performance in Code Review
Typing in the diff search bar previously rebuilt every <mark> highlight on every keystroke. For large diffs this caused visible lag. Highlights are now debounced by 100ms, and stepping through matches (Enter/Shift+Enter) swaps two elements' styles in O(1) instead of rebuilding the entire set.
- #407, closing #405 reported by @dillonoconnor
Additional Changes
- WSL update command fix. The update banner now detects WSL and shows the Unix install command instead of the Windows one (#395 by @alexandresilvestri)
- Project slug fix for dots and underscores.
projectSlugFromCwd()now matches Claude Code's actual algorithm, replacing all non-alphanumeric characters (not just/) with-. This fixesannotate-lastfailures for working directories with dots or underscores in the path (#401 by @aletar89) - Pi tool-scope import fix. The published Pi package was missing
tool-scope.ts, causing a load failure. Fixed the import extension and added the file to the package manifest (#392 by @jasonodonnell, closing #391 reported by @iefnaf) - Pi compound planning skill. The compound planning skill is now bundled in the published Pi package, so Pi users get it automatically on install
- Diff type switcher docs. Documented all five diff type options in the code review docs (#398, closing #397 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".
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
- fix: Pi plan tool scoping import by @jasonodonnell in #392
- feat: sync GitHub viewed files by @rockneurotiko in #393
- fix: Unix update command for WSL users by @alexandresilvestri in #395
- docs: document diff type switcher in code review by @backnotprop in #398
- feat: custom display name + config file foundation by @backnotprop in #399
- fix: project slug derivation for paths with dots and underscores by @aletar89 in #401
- feat(review): add expand/collapse all buttons to file tree sidebar by @yonihorn in #403
- perf(review): debounce search highlights and O(1) active match swap by @backnotprop in #407
New Contributors
- @jasonodonnell made their first contribution in #392
- @alexandresilvestri made their first contribution in #395
- @aletar89 made their first contribution in #401
- @yonihorn made their first contribution in #403
Community
@rockneurotiko contributed the GitHub viewed file sync (#393), bridging Plannotator's review UI with GitHub's native progress tracking. @yonihorn added the expand/collapse all buttons to the file tree (#403). @alexandresilvestri fixed the update banner for WSL users (#395). @aletar89 fixed project slug derivation for paths with dots and underscores (#401). @jasonodonnell fixed the Pi tool-scope import (#392).
On the issue side:
- @iefnaf reported the missing
tool-scope.tsin #391 - @gwynnnplaine and @marandaneto confirmed the issue and provided additional context
- @MarceloPrado requested custom display names in #396
- @UberMouse requested diff type documentation in #397
- @dillonoconnor reported the search performance issue in #405
Full Changelog: v0.15.2...v0.15.5