Skip to content

v0.24.2

Latest

Choose a tag to compare

@github-actions github-actions released this 21 Jul 20:19
Immutable release. Only release title and notes can be modified.

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
v0.24.1 Annotate accepts parent-relative ../ file paths
v0.24.0 PR/MR artifact gallery, GitButler review support, port ranges, expanded comment editor, OpenCode + Pi fixes
v0.23.1 Startup no longer hangs on large or slow directory trees, Ask AI input stays visible after long responses
v0.23.0 Plan approval fix for Claude Code 2.1.199+, annotate mode version diff, binary-only --minimal install, reviews post without attribution
v0.22.0 Git-status "All changes" default review view, Commits panel with per-commit diffs, Guided Review, Pi + GitHub Copilot CLI review engines
v0.21.4 Markdown math rendering, PR Overview panel with annotatable description and comments, agent instructions in code review, media parsing fixes
v0.21.3 File comments in code review, unified click-to-highlight comments, VS Code clipboard/keyboard bridge, Codex Ask AI on app-server transport, CLI subcommand help
v0.21.2 Custom reviews as Agent Skills, Cursor + OpenCode review engines, whole-file/general findings, deleted-annotation fix, Codex Ask AI outside git repos
v0.21.1 Annotate-last blank-page fix on multi-message sessions
v0.21.0 Direct document editing in annotate mode, live git-status file tree, in-app agent terminal, open files in external apps, HTML renders as HTML
v0.20.3 Annotations no longer lost when clicking away, off-screen indicator for open comments

What's New in v0.24.2

This release opens annotate to config files, adds XDG data-directory support, and gets ahead of OpenAI's July 23 model shutdowns. Twelve pull requests landed since v0.24.1. Four came from community members, and all three external authors are first-time contributors.

Annotate YAML, JSON, TOML, and other config files

plannotator annotate config.yaml used to fail with "File type not supported", even though the pipeline handles any plain text. Annotate now accepts .yaml, .yml, .json, .jsonc, .json5, .toml, .ini, .cfg, .conf, .properties, .csv, .tsv, .log, .xml, and .env.example, rendered as plain text the same way .txt is. The file browser lists them in folder mode across all runtimes.

Some details worth knowing. Multi-document YAML keeps its first document (the markdown parser no longer strips a leading --- pair as frontmatter for non-markdown files). Files over 2MB get a clear error instead of freezing the server; the same cap the code viewer has always had now protects every annotate read. .env is deliberately excluded, since annotate's version history copies file contents into the data directory and .env files commonly hold secrets. Code-file links inside plans keep their syntax-highlighted popout; only file-browser selections render as annotatable documents.

XDG data directory support

Plannotator stores everything under ~/.plannotator. Linux users who keep their home directory clean have asked for XDG Base Directory support several times, in two full pull requests and an issue. The answer used to be the PLANNOTATOR_DATA_DIR override; now placement is also automatic: if ~/.plannotator does not exist and $XDG_DATA_HOME is set to an absolute path, Plannotator uses $XDG_DATA_HOME/plannotator.

Nothing changes for existing users. An existing ~/.plannotator always wins, PLANNOTATOR_DATA_DIR remains the top-priority override, and macOS and Windows defaults are untouched. The resolution is honored across the Claude Code, OpenCode, Amp, Pi, and VS Code paths, and the install scripts resolve config.json the same way. PLANNOTATOR_DATA_DIR is now documented in the README.

Codex models: correct IDs, current catalog, Max and Ultra efforts

Selecting GPT-5.6 in the Agents tab launched Codex with the bare gpt-5.6 id, which Codex rejects on ChatGPT accounts. @rNoz fixed the catalog to the canonical gpt-5.6-sol and migrated saved selections, including per-model reasoning and fast-mode preferences, so existing users stop sending the broken id automatically.

A follow-up aligned the whole catalog with the current Codex CLI. OpenAI retires gpt-5.3-codex, gpt-5.2-codex, gpt-5.1-codex-max, and gpt-5.1-codex-mini at the API level on July 23, so those left the picker and saved picks migrate to OpenAI's recommended replacements. gpt-5.2 stays, since only the ChatGPT product retired it and API-key users still have it. Reasoning effort options are now per-model: minimal is gone (no current model supports it), and the GPT-5.6 family gains Max, with Ultra on Sol and Terra.

Cursor review engine works on NixOS and hardened Linux

Review jobs launch Cursor's agent CLI with --sandbox enabled as part of their read-only posture. On systems where Cursor's sandbox cannot start (NixOS, AppArmor-restricted Linux), every Guided Review with the Cursor engine failed outright, and the flag overrode the user's own agent sandbox disable configuration.

The default is unchanged. A new escape hatch, PLANNOTATOR_CURSOR_SANDBOX=0 (or "cursorSandbox": false in config.json), omits the flag entirely so the user's own Cursor configuration governs. Opting out means the review job's write protection relies on that configuration, which is why it stays opt-in.

Guided Review: viewed files collapse

Marking a file as viewed in a guided review now collapses its diff to the header, matching how the all-files view behaves, so long guides show your progress at a glance. Annotation jumps from the sidebar reopen a collapsed file before scrolling, so clicking a comment never lands on a folded diff.

Pi: review setup progress out of your typing area

Starting a PR review in Pi printed clone and fetch progress straight to the terminal, where it smeared across the input box until the next repaint. Progress now renders on Pi's footer status line and clears when the review opens; warnings like a failed fetch go to the chat history where they leave a trace.

Additional Changes

  • Installer extras stay out of your project: the optional extra-skills step now passes --global to npx skills add, so running the installer inside a git repository can no longer write Plannotator skills into that repo's .agents/skills/. A parity test keeps every installer and doc command honest. By @rNoz in #1078, closing #1077.
  • Bug reports arrive with context: new issues use a minimal form — what happened, plannotator --version output, OS, agent, and surface, three of them single-click dropdowns. Feature requests keep the blank-issue path. In #1100.
  • Softer pinpoint hover feedback in the review UI. In #1097.
  • Quoted booleans in config.json now work: hand-editing ~/.plannotator/config.json with a quoted value like "cursorSandbox": "false" used to be silently ignored because the string never matched the boolean check. The config resolvers for cursorSandbox, glimpse, annotateHistory, and jina now accept "true"/"false"/"1"/"0" strings alongside real booleans. In #1102.
  • Guided review file chips expand collapsed files: clicking a file chip in a guide section now expands the target diff if it was collapsed as viewed, instead of scrolling to a bare header. Uses the same reveal path as annotation clicks and AI citations. In #1103.

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

  • fix(review): use canonical GPT-5.6 Sol model ID by @rNoz in #1076
  • fix(install): pass --global to npx skills add so extras do not leak into cwd by @rNoz in #1078
  • fix(review): Collapse viewed files in guided review by @josdirksen in #1068
  • fix(pi): keep PR review progress out of composer by @alexanderkreidich in #1098
  • feat(data-dir): respect $XDG_DATA_HOME when ~/.plannotator does not exist by @backnotprop in #1093
  • fix(review): allow disabling the Cursor sandbox via PLANNOTATOR_CURSOR_SANDBOX by @backnotprop in #1095
  • fix: align Codex model catalog and reasoning efforts with the current Codex CLI by @backnotprop in #1096
  • feat: annotate accepts YAML, JSON, TOML and other plain-text files by @backnotprop in #1099
  • feat(github): minimal bug-report issue form by @backnotprop in #1100
  • feat(ui): soften pinpoint hover feedback by @backnotprop in #1097
  • fix(config): coerce quoted boolean strings in config.json resolvers by @backnotprop in #1102
  • fix(review): expand collapsed guide files when jumping via section file chips by @backnotprop in #1103

New Contributors

Contributors

Three first-time contributors landed code this release. @rNoz spent a weekend stress-testing Plannotator and turned it into two merged fixes, the canonical GPT-5.6 Sol id with a careful settings migration and the installer --global scoping, plus a set of detailed reports still being worked through. @josdirksen brought the viewed-files collapse to Guided Review. @alexanderkreidich cleaned up Pi's review startup so progress lands in the footer instead of the composer.

The XDG work stands on earlier community efforts: @cwrau and @Joao-O-Santos each wrote full XDG implementations in #568 and #612, and @IstPlayer built the PLANNOTATOR_DATA_DIR override in #795 that this release's fallback completes.

Issue reporters drove most of the fix list:

  • @Ramblurr asked for XDG Base Directory support with a concrete, backward-compatible design in #1051
  • @Serhioromano requested config-file annotation in #1029
  • @ChrisRuff reported the GPT-5.6 model id mismatch with screenshots in #1070
  • @Vincent-HD reported the Cursor sandbox failure on NixOS with a working workaround in #1094

Full Changelog: v0.24.1...v0.24.2