Hunk 0.22
September 8, 2026 – September 10, 2026 · 3 releases
Hunk 0.22 turns repository history into a responsive review workspace with commit-range browsing, persistent multiline selections, keyboard-driven threaded notes, and richer extension context.
npm i -g hunkdiff@0.22.0Hunk 0.22 is no longer the current release. See the latest release or all install options.
Related documentation
Section titled “Related documentation”Releases in this series
Section titled “Releases in this series”0.22.0
Section titled “0.22.0”September 10, 2026
Minor Changes
Section titled “Minor Changes”- Add visible keyboard selection for review notes. Line-by-line movement now stops on every comment and reply in rendered order; saving or clicking a note makes it active, with next/previous note navigation and persistent edit, reply, and delete shortcuts on the active note. (#1044)
- Add session CLI support for replying to existing inline review notes with inherited code anchors. (#1012)
- Add persistent mouse and keyboard diff selections with explicit Comment, Copy, and Clear actions, including multiline review-note anchors. (#931)
- Let extension CLI commands attach validated provider-neutral review metadata when they delegate a patch into Hunk, expose it to extension panes and live-session snapshots, and show delegated change-request identity in a concise built-in top pane. (#986)
- Add configurable
hunk.history.*command keybindings to the interactive history view. (#1039) - Allow folders in the wide sidebar tree to be collapsed and expanded with the mouse while file navigation reveals destinations hidden inside collapsed folders. (#1009)
- Show history-style commit metadata in the review-info panel when opening a commit from interactive
hunk log, with a copyable right-aligned revision and public pane clipboard/theme support. (#1016) - Show commit and comparison information, including short revision IDs, above direct CLI revision reviews for Git, Jujutsu, and Sapling. (#1064)
- Add cancellable contiguous multi-commit selection to unfiltered interactive history with Shift+Arrow, J/K, and Shift-click controls, opening the inclusive cumulative change in one review. (#1031)
- Redesign interactive
hunk logwith themed GitHub-style day groups, account-like author handles, relative timestamps, and an optional commit graph view. (#1011) - Add
vvisual range selection plus shared full-page and half-page movement keys to interactive history. (#1038) - Add themed, static-first Git and Jujutsu history with compact output and an interactive browser that opens selected commits in Hunk. (#979)
- Let extension lifecycle and custom-event handlers request a coalesced host review reload after external agents change reviewed files. (#988)
- Open
hunk logas an auto-responsive terminal browser with GitHub-inspired rows, right-aligned commit links and copy actions, while preserving static output for pipes and--static. (#987) - Add Hunk's desktop menu chrome, live theme picker, and provider-owned merge-parent selection to the interactive repository history browser. (#983)
- Animate docked panes as they open and close, moving the review pane alongside them. (#941)
- Rename the single-column diff layout to unified, add canonical OpenTUI and extension API v23 fields, and retain deprecated stack compatibility across existing CLI, config, command, OpenTUI, and extension integrations. (#945)
Patch Changes
Section titled “Patch Changes”- Watch mode no longer freezes the review while checking Git for changes, and extension API generation 25 adds Promise-returning, cancellable
watchSignaturehooks. (#1075) - Keep diff view preferences active when moving between history and commit reviews in the same session. (#1045)
- Upgrade the bundled Bun runtime to 1.4.2 for lower memory use and runtime fixes. (#990)
- Show multi-commit history metadata as compact responsive rows with reusable click-to-copy revision actions, and let extension panes derive a preferred size from current review facts. (#1032)
- Prevent delayed editor updates from crashing a review after a note is saved. (#1050)
- Cap pane animation rendering at 30 FPS to avoid unnecessary CPU usage, and add an
animations = falseconfig setting for immediate pane transitions. (#1036) - Route curl-install release checks through globally refreshed metadata by default while retaining direct GitHub fallback and analytics opt-outs. (#1069)
- Keep commit reviews responsive while bundled VCS commands run, and share one correctly owned extension lifecycle across retained history and embedded reviews. (#992)
- Restore fast first-frame rendering for long wrapped split-view lines while preserving multiline copy selections and note range guides. (#1043)
- Keep the themed history loading screen visible until a selected commit review is ready to claim the terminal. (#989)
- Keep theme changes active when moving between history and review surfaces in the same session. (#1040)
- Add an opt-in, privacy-preserving cached endpoint for curl-install release checks, rate-limit automatic checks, and retain direct GitHub fallback and analytics opt-outs. (#969)
- Restore automatic and manual reloads for direct-file comparisons launched outside repositories. (#1054)
- Make
altandoptionkeybindings work with both legacy terminal and Kitty keyboard encodings while preserving distinct Meta bindings when the terminal reports them. (#991) - Keep
hunk logand opened commit reviews in one terminal renderer so returning never exposes previous terminal output. (#992) - Report the underlying health-probe failure when a reachable session daemon port cannot be verified. (#927)
- Prompt to save theme changes when quitting an interactive
hunk logsession, matching other review commands. (#1015) - Stop drawing duplicate right-side range connectors on threaded reply cards. (#1046)
- Keep automatic refresh working on Linux after deleting and recreating nested directories. (#1076)
- Watch mode registers directory watchers in small batches so large repositories stay responsive during the first interaction on Linux. (#1076)
- Shorten full Git commit IDs to seven characters in comparison titles so the title bar stays compact. (#1035)
- Use
1for unified diffs and2for split diffs by default. (#1068) - Print reviews as static plain text instead of launching the interactive TUI when stdout is not a terminal. (#1029)
- Keep suspended Hunk jobs alive so
fgrestores the TUI and its in-progress state. (#996) - Keep wrapped diff rows responsive by sharing one hover target across their visual lines. (#1051)
0.22.0-beta.1
Section titled “0.22.0-beta.1”September 9, 2026
Minor Changes
Section titled “Minor Changes”- Show commit and comparison information, including short revision IDs, above direct CLI revision reviews for Git, Jujutsu, and Sapling. (#1064)
Patch Changes
Section titled “Patch Changes”- Route curl-install release checks through globally refreshed metadata by default while retaining direct GitHub fallback and analytics opt-outs. (#1069)
- Use
1for unified diffs and2for split diffs by default. (#1068)
0.22.0-beta.0
Section titled “0.22.0-beta.0”September 8, 2026
Minor Changes
Section titled “Minor Changes”- Add visible keyboard selection for review notes. Line-by-line movement now stops on every comment and reply in rendered order; saving or clicking a note makes it active, with next/previous note navigation and persistent edit, reply, and delete shortcuts on the active note. (#1044)
- Add session CLI support for replying to existing inline review notes with inherited code anchors. (#1012)
- Add persistent mouse and keyboard diff selections with explicit Comment, Copy, and Clear actions, including multiline review-note anchors. (#931)
- Let extension CLI commands attach validated provider-neutral review metadata when they delegate a patch into Hunk, expose it to extension panes and live-session snapshots, and show delegated change-request identity in a concise built-in top pane. (#986)
- Add configurable
hunk.history.*command keybindings to the interactive history view. (#1039) - Allow folders in the wide sidebar tree to be collapsed and expanded with the mouse while file navigation reveals destinations hidden inside collapsed folders. (#1009)
- Show history-style commit metadata in the review-info panel when opening a commit from interactive
hunk log, with a copyable right-aligned revision and public pane clipboard/theme support. (#1016) - Add cancellable contiguous multi-commit selection to unfiltered interactive history with Shift+Arrow, J/K, and Shift-click controls, opening the inclusive cumulative change in one review. (#1031)
- Redesign interactive
hunk logwith themed GitHub-style day groups, account-like author handles, relative timestamps, and an optional commit graph view. (#1011) - Add
vvisual range selection plus shared full-page and half-page movement keys to interactive history. (#1038) - Add themed, static-first Git and Jujutsu history with compact output and an interactive browser that opens selected commits in Hunk. (#979)
- Let extension lifecycle and custom-event handlers request a coalesced host review reload after external agents change reviewed files. (#988)
- Open
hunk logas an auto-responsive terminal browser with GitHub-inspired rows, right-aligned commit links and copy actions, while preserving static output for pipes and--static. (#987) - Add Hunk's desktop menu chrome, live theme picker, and provider-owned merge-parent selection to the interactive repository history browser. (#983)
- Animate docked panes as they open and close, moving the review pane alongside them. (#941)
- Rename the single-column diff layout to unified, add canonical OpenTUI and extension API v23 fields, and retain deprecated stack compatibility across existing CLI, config, command, OpenTUI, and extension integrations. (#945)
Patch Changes
Section titled “Patch Changes”- Keep diff view preferences active when moving between history and commit reviews in the same session. (#1045)
- Upgrade the bundled Bun runtime to 1.4.2 for lower memory use and runtime fixes. (#990)
- Show multi-commit history metadata as compact responsive rows with reusable click-to-copy revision actions, and let extension panes derive a preferred size from current review facts. (#1032)
- Prevent delayed editor updates from crashing a review after a note is saved. (#1050)
- Cap pane animation rendering at 30 FPS to avoid unnecessary CPU usage, and add an
animations = falseconfig setting for immediate pane transitions. (#1036) - Keep commit reviews responsive while bundled VCS commands run, and share one correctly owned extension lifecycle across retained history and embedded reviews. (#992)
- Restore fast first-frame rendering for long wrapped split-view lines while preserving multiline copy selections and note range guides. (#1043)
- Keep the themed history loading screen visible until a selected commit review is ready to claim the terminal. (#989)
- Keep theme changes active when moving between history and review surfaces in the same session. (#1040)
- Add an opt-in, privacy-preserving cached endpoint for curl-install release checks, rate-limit automatic checks, and retain direct GitHub fallback and analytics opt-outs. (#969)
- Restore automatic and manual reloads for direct-file comparisons launched outside repositories. (#1054)
- Make
altandoptionkeybindings work with both legacy terminal and Kitty keyboard encodings while preserving distinct Meta bindings when the terminal reports them. (#991) - Keep
hunk logand opened commit reviews in one terminal renderer so returning never exposes previous terminal output. (#992) - Report the underlying health-probe failure when a reachable session daemon port cannot be verified. (#927)
- Prompt to save theme changes when quitting an interactive
hunk logsession, matching other review commands. (#1015) - Stop drawing duplicate right-side range connectors on threaded reply cards. (#1046)
- Shorten full Git commit IDs to seven characters in comparison titles so the title bar stays compact. (#1035)
- Print reviews as static plain text instead of launching the interactive TUI when stdout is not a terminal. (#1029)
- Keep suspended Hunk jobs alive so
fgrestores the TUI and its in-progress state. (#996) - Keep wrapped diff rows responsive by sharing one hover target across their visual lines. (#1051)