Skip to content

Releases: NolanLT/offshoot

v0.4.2

Choose a tag to compare

@github-actions github-actions released this 26 Jun 18:07
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

Choose a tag to compare

@github-actions github-actions released this 26 Jun 17:51
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

Choose a tag to compare

@github-actions github-actions released this 26 Jun 17:35
Release 0.4.0: drop in-editor deletion paint; capture pre-PR edits; s…

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 26 Jun 12:07
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

Choose a tag to compare

@github-actions github-actions released this 25 Jun 20:11
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

Choose a tag to compare

@github-actions github-actions released this 25 Jun 19:32
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

Choose a tag to compare

@github-actions github-actions released this 25 Jun 19:23
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

Choose a tag to compare

@github-actions github-actions released this 25 Jun 15:24
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

Choose a tag to compare

@github-actions github-actions released this 25 Jun 15:07
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

Choose a tag to compare

@github-actions github-actions released this 25 Jun 14:42
v0.0.5: store PR data outside the project; Error #14; badge clear wor…