Skip to content

Hunk 0.18

August 8, 2026 – August 14, 2026 · 3 releases

Hunk 0.18.0 makes reviews more precise, customizable, and extensible—while improving performance and reliability across large repositories and diverse terminals.

Terminal window
npm i -g hunkdiff@0.18.2

Hunk 0.18 is no longer the current release. See the latest release or all install options.

  • A full extension platform. Install TypeScript extensions that add VCS backends, commands, sidebars, dialogs, interactive file views, themes, and workspace actions.
  • Line-level review and commenting. A visible cursor moves with j/k, and c adds a comment exactly where you are looking—even across large reviews and wrapped lines.
  • Richer agent context. Experimental STML notes can present structured, terminal-native explanations with preview tools and layout-aware feedback.
  • Full reviews from pipelines. Piped diffs now retain Hunk’s navigation, filtering, layouts, sidebars, and other review controls.
  • A UI that follows your preferences. Remappable shortcuts appear correctly in menus and help, view settings can be saved on quit, and tabs and syntax colors are configurable.
  • Faster and more dependable reviews. Watch mode uses less CPU, navigation retains less memory, Unicode filenames render correctly, narrow terminals stay readable, and saved state and session behavior are more resilient.

August 14, 2026

  • Fix hunk diff taking tens of seconds in repos with many untracked files by synthesizing untracked diffs in-process instead of spawning one git diff --no-index subprocess per file. (#742)

August 11, 2026

  • Fix malformed @@ hunk headers so each side's line range and count are emitted correctly.
  • Keep the top menu bar inside the same one-column margin as the rest of the app instead of painting its background into the outer gutter.
  • Keep Git's colors in non-diff hunk pager output for captured pager hosts, so LazyGit's branch log renders in its normal per-branch palette instead of a single color.

August 8, 2026

  • Let custom themes override exact Shiki/TextMate syntax scopes while keeping deprecated syntax-role colors compatible. (#570)
  • Let extension commands navigate directly to visible files and hunks. (#629)
  • Give extension commands a snapshot of the file and hunk the user is reviewing. (#616)
  • Render tabs at four-column stops by default, with CLI and config overrides. (#588)
  • Add experimental React/OpenTUI component rows to extension file views without giving up Hunk's review navigation and notes. (#632)
  • Add a visible current-line cursor so j/k move line by line and c comments exactly where the cursor sits. (#662)
  • Let extension commands open Hunk-native confirmation, selection, and text-input dialogs. (#617)
  • Add extension UI lifecycle events, sidebar controls, and inter-extension events. (#619)
  • Add experimental TypeScript extensions for custom themes, VCS backends, changeset transforms, lifecycle hooks, config, and notifications. (#599)
  • Let interactive extension file views handle keys until Escape returns control to Hunk. (#675)
  • Let stateful extension file views refresh their rendered layouts in place. (#673)
  • Expose resolved user keybindings to extension sidebars so their controls honor remapping and unbinding. (#615)
  • Add experimental rich STML agent notes with preview commands and live width feedback. (#512)
  • Make menus and help reflect actual keybindings, and add an Extensions menu for contributed commands. (#614)
  • Let extensions add commands and multiple sidebars, with configurable keybindings and safe conflict handling. (#611)
  • Give piped pager reviews the same navigation, filtering, layout, and sidebar controls as regular reviews. (#647)
  • Expose stable hunk summaries to extension events, sidebars, commands, and file views. (#626)
  • Add an experimental extension file-view API and an optional rendered Markdown example. (#632)
  • Offer to save changed themes and view preferences when quitting. (#468)
  • Let extensions replace file navigation with custom React sidebars while safely falling back to Hunk's sidebar on errors. (#609)
  • Let extension commands read reviewed files and write them back with user confirmation. (#674)
  • Reduce Git polling and CPU use in watch mode while preserving reliable refreshes. (#531)
  • Make repo-extension trust persist across symlinked and alternate path spellings. (#599)
  • Show the changed-file count beside addition and deletion totals. (#684)
  • Preserve syntax highlighting when visible hunks begin inside folded multiline constructs. (#669)
  • Make remapped ctrl+letter shortcuts work when terminals send bare control characters. (#675)
  • Discover .tsx and .jsx extension entries and clarify extension authoring guidance. (#625)
  • Let folder extensions declare multiple entry points and dependencies in package.json. (#606)
  • Keep current-line navigation responsive and memory-efficient in large reviews and long wrapped rows. (#685)
  • Make extensions safer and more reliable across loading, reloads, themes, lifecycle handlers, and custom VCS detection. (#599)
  • Load a directory passed as an extension from its index entry instead of treating every file as a separate extension. (#606)
  • Keep file statistics visible and paths readable on narrow terminals. (#668)
  • Prevent one keypress from triggering both a modal action and the focused review control. (#649)
  • Require --experimental before rendering rich STML agent notes. (#589)
  • Label repository-root files with ./ in the sidebar. (#519)
  • Reduce watch-mode startup time on macOS and Windows with native recursive observation. (#531)
  • Display tracked CJK and emoji filenames correctly throughout reviews and session APIs. (#670)
  • Warn when deprecated custom syntax colors are translated to approximate Shiki scopes. (#574)
  • Restart stale session daemons after upgrades so live comments keep working. (#572)
  • Resolve a shell-quote denial-of-service vulnerability and keep direct-file watch refreshes responsive. (#627)
  • Document the supported scrolling and selection-following contract for custom extension sidebars. (#630)
  • Generate the bundled review skill from the CLI surface so commands, errors, and flags stay accurate. (#596)
  • Avoid preparing inactive custom file views, reducing work and retained memory in normal diff reviews. (#652)
  • Keep file navigation focused on the file it just selected, even on loaded machines. (#655)
  • Keep one-line scrolling consistent after clicking inside the review stream. (#645)
  • Write saved state atomically and preserve corrupt state files for recovery. (#599)
  • Improve STML guidance for composing rich content inside Hunk's native note frame. (#573)
  • Show Nix-specific update instructions for Nix installations. (#598)

Newer: Hunk 0.19 · Older: Hunk 0.17 · All releases