Releases: modem-dev/hunk
v0.12.0
What's Changed
Added
- Added Homebrew tap release automation and Homebrew-aware startup update notices (#273 by @benvinegar).
- Added lower-level
hunkdiff/opentuiprimitives 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 runand a namedhunkpackage 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, andinstall:binfrom 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/opentuiexport and bundled type declarations are included (1587115 by @benvinegar). - Fixed the npm package so
npx hunkdiffand other package-name executable lookups resolve to the Hunk CLI (#295 by @zerone0x). - Made
hunk pageremit 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
What's Changed
- Published Windows x64 prebuilt npm artifacts for beta installs, including
hunkdiff-windows-x64as 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
What's Changed
Added
- Added lower-level
hunkdiff/opentuiprimitives for embedding Hunk-powered review UIs in custom OpenTUI apps:HunkDiffBody,HunkFileNav,HunkReviewStream,HunkDiffFileHeader,createHunkDiffFile, andcreateHunkDiffFilesFromPatch(#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/opentuiexport, bundled JavaScript, and type declarations. - Made
hunk pageremit 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@betaOpenTUI package usage:
npm install hunkdiff@beta @opentui/core @opentui/react reactFull Changelog: v0.11.1...v0.12.0-beta.1
v0.12.0-beta.0 (superseded)
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
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
What's Changed
- Added
vcs = "jj"support forhunk diff [revset]andhunk show [revset]by @clabby in #217 - Added a pager-mode sidebar file tree toggle via
sby @clabby in #216 - Fixed
git log -pand multi-commitgit show -pparsing 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
What's Changed
- Added
vcs = "jj"support forhunk diff [revset]andhunk show [revset]by @clabby in #217 - Added a pager-mode sidebar file tree toggle via
sby @clabby in #216 - Fixed
git log -pand multi-commitgit show -pparsing 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
What's Changed
- refactor(session-broker): split broker into reusable runtime-neutral packages by @benvinegar in #205
- feat(sidebar): show agent comment counts per file by @benvinegar in #206
- fix(ui): smooth mouse-wheel review scrolling by @benvinegar in #208
- Fix Shift+wheel vertical scroll leak by @benvinegar in #207
- fix: rebalance Pierre word highlights in split view by @benvinegar in #203
- fix: enable mouse scrolling in pager mode by @elucid in #198
- fix(git): include untracked files in one-ref diffs by @benvinegar in #210
- docs(readme): add Modem sponsor block by @benvinegar in #209
Full Changelog: v0.9.4...v0.10.0
v0.9.5
What's Changed
- Backported the prebuilt npm binary execute-bit fix so
npm install -g hunkdiffno longer fails withspawnSync ... EACCESon root-owned installs by @benvinegar in #204
Full Changelog: v0.9.3...v0.9.5
v0.9.4
⚠️ 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