Skip to content

Releases: modem-dev/hunk

v0.12.0

12 May 21:10

Choose a tag to compare

What's Changed

Added

  • Added Homebrew tap release automation and Homebrew-aware startup update notices (#273 by @benvinegar).
  • Added lower-level hunkdiff/opentui primitives for embedding Hunk diff bodies, file headers, file navigation, and multi-file review streams in custom OpenTUI apps (#272 by @benvinegar).
  • Added row windowing for large single-file reviews to keep huge diffs responsive (#237 by @benvinegar).
  • Added Windows x64 prebuilt artifact publishing to the release workflow (#282 by @benvinegar).
  • Added native Windows support in the README, contributor guide, and local build/install scripts (#285 by @Ofekw).
  • Added Nix flake app outputs for nix run and a named hunk package output (#231 by @m4r1vs).
  • Added Nix package validation and pinned lock regeneration (#284 by @elucid).
  • Added automatic light/dark theme detection from the terminal background when theme = "auto" is enabled (#290 by @elucid).

Changed

  • Ported build:npm, build:bin, and install:bin from bash scripts to cross-platform Bun-runnable TypeScript so native Windows contributors no longer need Git Bash to build or install Hunk locally (#285 by @Ofekw).

Fixed

  • Fixed the prebuilt npm package so the hunkdiff/opentui export and bundled type declarations are included (1587115 by @benvinegar).
  • Fixed the npm package so npx hunkdiff and other package-name executable lookups resolve to the Hunk CLI (#295 by @zerone0x).
  • Made hunk pager emit static highlighted diff output for captured pager contexts like LazyGit, and pass diff input through unchanged when stdout is non-interactive (#271 by @benvinegar).
  • Fixed Ctrl-Z job-control suspend support so Hunk can suspend and resume cleanly from a terminal (#269 by @benvinegar).
  • Fixed Windows compatibility issues across paths, packaging, and tests (#257 by @spiicez21).
  • Fixed Ctrl-C in the live TUI so it exits through Hunk's full shutdown path instead of only destroying the renderer (#292 by @benvinegar).

Documentation

  • Documented sandboxed session access for agent workflows (#229 by @skalidindi).

External contributor thanks

Thanks to @Ofekw, @m4r1vs, @elucid, @zerone0x, @spiicez21, and @skalidindi for contributing to this release.

Full Changelog: v0.11.1...v0.12.0

v0.12.0-beta.2

11 May 20:07

Choose a tag to compare

v0.12.0-beta.2 Pre-release
Pre-release

What's Changed

  • Published Windows x64 prebuilt npm artifacts for beta installs, including hunkdiff-windows-x64 as an optional dependency by @benvinegar in #282
  • Completed native Windows 11 support for local build, package, install, and prebuilt smoke-test scripts by @Ofekw in #285
  • Added Nix flake support for development shells, package outputs, nix run, and package validation by @m4r1vs and @elucid in #231 and #284
  • Added automatic light/dark theme detection from the terminal background when theme = "auto" is enabled by @elucid in #290
  • Fixed Ctrl-C in the live TUI so it exits through Hunk's full shutdown path by @benvinegar in #292

New Contributors

Full Changelog: v0.12.0-beta.1...v0.12.0-beta.2

v0.12.0-beta.1

10 May 21:11

Choose a tag to compare

v0.12.0-beta.1 Pre-release
Pre-release

What's Changed

Added

  • Added lower-level hunkdiff/opentui primitives for embedding Hunk-powered review UIs in custom OpenTUI apps: HunkDiffBody, HunkFileNav, HunkReviewStream, HunkDiffFileHeader, createHunkDiffFile, and createHunkDiffFilesFromPatch (#272).
  • Added a runnable OpenTUI primitives demo under examples/8-opentui-primitives (#272).
  • Added Homebrew tap release automation and Homebrew-aware startup update notices (#273).
  • Added row windowing for large single-file reviews to keep huge diffs responsive (#237).

Fixed

  • Fixed prerelease npm packaging so the published beta includes the hunkdiff/opentui export, bundled JavaScript, and type declarations.
  • Made hunk pager emit static highlighted diff output for captured pager contexts such as LazyGit, while passing diff input through unchanged when stdout is non-interactive (#271).
  • Fixed Ctrl-Z job-control suspend support so Hunk can suspend and resume cleanly from a terminal (#269).
  • Fixed Windows compatibility issues across paths, packaging, and tests (#257).

Install

CLI:

npm install -g hunkdiff@beta

OpenTUI package usage:

npm install hunkdiff@beta @opentui/core @opentui/react react

Full Changelog: v0.11.1...v0.12.0-beta.1

v0.12.0-beta.0 (superseded)

10 May 20:58

Choose a tag to compare

Pre-release

Superseded prerelease

v0.12.0-beta.0 was published, but it is superseded by v0.12.0-beta.1.

Use v0.12.0-beta.1 for beta testing. It fixes prerelease npm packaging so the new hunkdiff/opentui export, bundled JavaScript, and type declarations are included in the published package.

Full Changelog: v0.11.1...v0.12.0-beta.0

v0.11.1

10 May 01:14

Choose a tag to compare

What's Changed

  • feat(config): auto-detect jj checkouts by @benvinegar in #264
  • fix(diff): skip huge file rendering by @benvinegar in #266
  • fix(loaders): restore a/b prefixes on noprefix patch input by @mo in #240
  • fix(loaders): normalize mnemonic pager prefixes by @benvinegar in #267
  • fix(ui): coalesce viewport listener via microtask to avoid setState loop by @aldevv in #242
  • fix(core): use header counts for hunkLineRange so context lines are in range by @aldevv in #244
  • fix(git): pass --no-ext-diff when diffing untracked files by @iamken1204 in #259
  • fix(ui): use full agent-note set for section geometry measurement by @aldevv in #243

Full Changelog: v0.11.0...v0.11.1

v0.11.0

09 May 20:49

Choose a tag to compare

What's Changed

  • Added vcs = "jj" support for hunk diff [revset] and hunk show [revset] by @clabby in #217
  • Added a pager-mode sidebar file tree toggle via s by @clabby in #216
  • Fixed git log -p and multi-commit git show -p parsing so commit metadata is ignored by @gonzaloserrano in #228
  • Fixed cross-file hunk navigation anchoring by @aliou in #222
  • Fixed the View menu sidebar checkmark to follow actual responsive sidebar visibility by @aliou in #236

Full Changelog: v0.10.0...v0.11.0

v0.11.0-beta.0

09 May 03:06
5d36791

Choose a tag to compare

v0.11.0-beta.0 Pre-release
Pre-release

What's Changed

  • Added vcs = "jj" support for hunk diff [revset] and hunk show [revset] by @clabby in #217
  • Added a pager-mode sidebar file tree toggle via s by @clabby in #216
  • Fixed git log -p and multi-commit git show -p parsing so commit metadata is ignored by @gonzaloserrano in #228
  • Fixed cross-file hunk navigation anchoring by @aliou in #222
  • Fixed the View menu sidebar checkmark to follow actual responsive sidebar visibility by @aliou in #236

Full Changelog: v0.10.0...v0.11.0-beta.0

v0.10.0

26 Apr 18:06

Choose a tag to compare

What's Changed

Full Changelog: v0.9.4...v0.10.0

v0.9.5

14 Apr 19:36

Choose a tag to compare

What's Changed

  • Backported the prebuilt npm binary execute-bit fix so npm install -g hunkdiff no longer fails with spawnSync ... EACCES on root-owned installs by @benvinegar in #204

Full Changelog: v0.9.3...v0.9.5

v0.9.4

14 Apr 19:04

Choose a tag to compare

⚠️ This release was cut from the wrong branch and includes changes outside the intended 0.9 patch line.
Please use v0.9.5 instead: https://github.com/modem-dev/hunk/releases/tag/v0.9.5

What's Changed

  • fix(ui): preserve viewport position when switching layouts by @benvinegar in #185
  • feat(opentui): publish reusable diff component by @benvinegar in #182
  • docs(readme): move OpenTUI component docs into dedicated page by @benvinegar in #186
  • fix(diff): skip binary file contents in reviews by @benvinegar in #187
  • docs(release): add changelog and stable release history by @benvinegar in #189
  • feat(cli): help agents keep Hunk skills in sync by @benvinegar in #190
  • docs(readme): move agent workflow details into docs by @benvinegar in #191
  • docs(readme): tighten the agent quickstart by @benvinegar in #192
  • fix: normalize rename-only diff paths by @benvinegar in #194
  • fix(ui): stop bottom-edge scroll snap-back by @benvinegar in #195
  • feat(daemon): standardize daemon naming around hunk daemon serve by @benvinegar in #197
  • refactor: extract an internal session broker boundary by @benvinegar in #199
  • fix(renderer): strip newline from Pierre empty-line placeholder spans by @benvinegar in #201
  • fix(npm): restore execute bits for prebuilt binaries by @benvinegar in #204

Full Changelog: v0.9.0...v0.9.4