Releases: NolanLT/offshoot
Releases · NolanLT/offshoot
Release list
v0.4.2
Release 0.4.2: auto-close emptied PR on Commit/Revert Selection Commit Selection and Revert Selection now close the PR when they remove its last remaining change, matching Revert File's behavior — an emptied PR no longer lingers in the list or counts toward the badge. The close-if-empty logic is factored into a single closeIfEmpty helper shared by all per-file/selection paths. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.4.1
Release 0.4.1: independent multi-PR capture; split overlap into #12/#15 - Fix: edits were captured into every open PR at once, so multiple PRs shared the same change list. Capture now targets the active (selected) PR only, so PRs are independent; same-file edits under another PR are the overlap case. - Reverting an overlapping PR now offers real choices: overlap guard split into #12 (committing an overlapping PR) and #15 (reverting one — "Revert anyway" to baseline, or commit an overlapping PR first). Applies to whole-PR, per-file, and selection reverts. - Docs + CHANGELOG updated; version bumped to 0.4.1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.4.0
Release 0.4.0: drop in-editor deletion paint; capture pre-PR edits; s…
v0.3.1
v0.3.1: ignore CRLF/LF differences in diffs; normalize selection ops - Diffing/comparison normalizes line endings (like Git), fixing inflated counts (one-line edit reported +2/-2 on a CRLF/LF mismatch) and EOL-only "changes". Applied to summarizeFile, computeLineOps, recordChange/prView equality, snippet/revert-selection builders, and the baseline served to the split diff. - commitSelection/revertSelection refuse binary files and preserve the file's own EOL on output. Tests for EOL mismatch, EOL-only, and CRLF revert-selection. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.3.0
v0.3.0: Revert Selected + Changes folder tree - Revert Selected: revert only the selected lines to baseline (button, editor menu, command, engine revertSelection). - Changes list is a collapsible folder tree with kind-colored backgrounds (no more A/D/M letters); tint begins at the text, stops before the counts. - Folder-level actions collapse into one colored folder row (uniform add/delete); mixed folders stay open. One entry per file (no duplication). - Swap selection buttons: Revert Selected (red) left, Commit Selected (blue) right. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.2.1
v0.2.1: folder add/delete tracking Folder events report only the folder path, so expand them to contained files: deleting a folder captures every file's bytes before removal (revert restores the tree); adding a folder tracks its files and revert removes them + prunes empty dirs. Stop creating bogus entries for folder paths; never line-diff dirs. Tests for folder delete/add revert. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.2.0
v0.2.0: track add/delete of files including images Revert now removes an added file (any type) and restores a deleted file byte-for-byte, including binaries like images. Capture exact bytes before deletion via onWillDeleteFiles; store binary baselines as raw bytes; never line-diff binaries (pixel/content changes are not tracked — only add/delete). noteEdit/noteDelete accept Buffers; MCP track_files reads raw bytes. New engine tests for binary add/delete revert. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.1.1
v0.1.1: portable MCP server (npx from GitHub) + status-bar totals - bin "offshoot" -> dist/mcp/server.cjs and a prepare build, so the MCP runs via `npx -y github:NolanLT/offshoot` with no local path. Self-contained bundle. - Status bar shows total additions/removals across all PRs; uses the built-in $(repo-forked) codicon (status bar can't render custom icon fonts). Removed the unused icon-font build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.1.0
v0.1.0: AI control via MCP server - New MCP server (dist/mcp/server.cjs, src/mcp/server.ts) reusing the editor-independent engine: list/open/track/diff/commit/revert PR tools over stdio. Register with `claude mcp add offshoot -- node <...>/dist/mcp/server.cjs`. - Deterministic shared storage at ~/.offshoot/<workspace-hash> so the extension and MCP operate on the same PRs (out of project, per-workspace isolated). The sidebar watches it and refreshes on MCP-driven changes. - Status-bar item with the Offshoot glyph (contributed icon font) + PR count. - Fix: recordChange keeps a tracked baseline that momentarily matches disk (needed for the MCP track-ahead-of-edit flow). - e2e MCP smoke test (test/mcp.test.mjs, `npm run test:mcp`), wired into CI. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.0.5
v0.0.5: store PR data outside the project; Error #14; badge clear wor…