---
title: Hunk 0.18
description: Hunk 0.18.0 makes reviews more precise, customizable, and
  extensible—while improving performance and reliability across large
  repositories and diverse…
editUrl: false
head:
  - tag: meta
    attrs:
      property: og:image
      content: https://hunk.dev/changelog/og/0.18.png
  - tag: meta
    attrs:
      property: og:image:alt
      content: Hunk 0.18 release notes — August 1, 2026 – August 14, 2026 · 4 releases
        · 90 changes
  - tag: meta
    attrs:
      name: twitter:image
      content: https://hunk.dev/changelog/og/0.18.png
template: doc
sidebar:
  hidden: false
  attrs: {}
pagefind: true
draft: false
---

<!-- GENERATED by `bun run generate:changelog`. Edit CHANGELOG.md or website/releases/notes.json instead. -->

August 1, 2026 – August 14, 2026 · 4 releases

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

```sh
npm i -g hunkdiff@0.18.2
```

Hunk 0.18 is no longer the current release. See [the latest release](/changelog/) or [all install options](/docs/start/install/).

## Highlights

- **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.

## Related documentation

- [Extensions](/docs/extend/extensions/)
- [Keyboard and mouse](/docs/start/keyboard-and-mouse/)
- [Git pager and difftool](/docs/workflows/git-pager-and-difftool/)

## Releases in this series

<a class="release-separator" id="v0-18-2"></a>

### 0.18.2

August 14, 2026

#### Patch Changes

- 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](https://github.com/modem-dev/hunk/pull/742))

<a class="release-separator" id="v0-18-1"></a>

### 0.18.1

August 11, 2026

#### Patch Changes

- 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.

<a class="release-separator" id="v0-18-0"></a>

### 0.18.0

August 8, 2026

#### Minor Changes

- Let custom themes override exact Shiki/TextMate syntax scopes while keeping deprecated syntax-role colors compatible. ([#570](https://github.com/modem-dev/hunk/pull/570))
- Let extension commands navigate directly to visible files and hunks. ([#629](https://github.com/modem-dev/hunk/pull/629))
- Give extension commands a snapshot of the file and hunk the user is reviewing. ([#616](https://github.com/modem-dev/hunk/pull/616))
- Render tabs at four-column stops by default, with CLI and config overrides. ([#588](https://github.com/modem-dev/hunk/pull/588))
- Add experimental React/OpenTUI component rows to extension file views without giving up Hunk's review navigation and notes. ([#632](https://github.com/modem-dev/hunk/pull/632))
- Add a visible current-line cursor so `j`/`k` move line by line and `c` comments exactly where the cursor sits. ([#662](https://github.com/modem-dev/hunk/pull/662))
- Let extension commands open Hunk-native confirmation, selection, and text-input dialogs. ([#617](https://github.com/modem-dev/hunk/pull/617))
- Add extension UI lifecycle events, sidebar controls, and inter-extension events. ([#619](https://github.com/modem-dev/hunk/pull/619))
- Add experimental TypeScript extensions for custom themes, VCS backends, changeset transforms, lifecycle hooks, config, and notifications. ([#599](https://github.com/modem-dev/hunk/pull/599))
- Let interactive extension file views handle keys until Escape returns control to Hunk. ([#675](https://github.com/modem-dev/hunk/pull/675))
- Let stateful extension file views refresh their rendered layouts in place. ([#673](https://github.com/modem-dev/hunk/pull/673))
- Expose resolved user keybindings to extension sidebars so their controls honor remapping and unbinding. ([#615](https://github.com/modem-dev/hunk/pull/615))
- Add experimental rich STML agent notes with preview commands and live width feedback. ([#512](https://github.com/modem-dev/hunk/pull/512))
- Make menus and help reflect actual keybindings, and add an Extensions menu for contributed commands. ([#614](https://github.com/modem-dev/hunk/pull/614))
- Let extensions add commands and multiple sidebars, with configurable keybindings and safe conflict handling. ([#611](https://github.com/modem-dev/hunk/pull/611))
- Give piped pager reviews the same navigation, filtering, layout, and sidebar controls as regular reviews. ([#647](https://github.com/modem-dev/hunk/pull/647))
- Expose stable hunk summaries to extension events, sidebars, commands, and file views. ([#626](https://github.com/modem-dev/hunk/pull/626))
- Add an experimental extension file-view API and an optional rendered Markdown example. ([#632](https://github.com/modem-dev/hunk/pull/632))
- Offer to save changed themes and view preferences when quitting. ([#468](https://github.com/modem-dev/hunk/pull/468))
- Let extensions replace file navigation with custom React sidebars while safely falling back to Hunk's sidebar on errors. ([#609](https://github.com/modem-dev/hunk/pull/609))
- Let extension commands read reviewed files and write them back with user confirmation. ([#674](https://github.com/modem-dev/hunk/pull/674))

#### Patch Changes

- Reduce Git polling and CPU use in watch mode while preserving reliable refreshes. ([#531](https://github.com/modem-dev/hunk/pull/531))
- Make repo-extension trust persist across symlinked and alternate path spellings. ([#599](https://github.com/modem-dev/hunk/pull/599))
- Show the changed-file count beside addition and deletion totals. ([#684](https://github.com/modem-dev/hunk/pull/684))
- Preserve syntax highlighting when visible hunks begin inside folded multiline constructs. ([#669](https://github.com/modem-dev/hunk/pull/669))
- Make remapped `ctrl+letter` shortcuts work when terminals send bare control characters. ([#675](https://github.com/modem-dev/hunk/pull/675))
- Discover `.tsx` and `.jsx` extension entries and clarify extension authoring guidance. ([#625](https://github.com/modem-dev/hunk/pull/625))
- Let folder extensions declare multiple entry points and dependencies in `package.json`. ([#606](https://github.com/modem-dev/hunk/pull/606))
- Keep current-line navigation responsive and memory-efficient in large reviews and long wrapped rows. ([#685](https://github.com/modem-dev/hunk/pull/685))
- Make extensions safer and more reliable across loading, reloads, themes, lifecycle handlers, and custom VCS detection. ([#599](https://github.com/modem-dev/hunk/pull/599))
- Load a directory passed as an extension from its `index` entry instead of treating every file as a separate extension. ([#606](https://github.com/modem-dev/hunk/pull/606))
- Keep file statistics visible and paths readable on narrow terminals. ([#668](https://github.com/modem-dev/hunk/pull/668))
- Prevent one keypress from triggering both a modal action and the focused review control. ([#649](https://github.com/modem-dev/hunk/pull/649))
- Require `--experimental` before rendering rich STML agent notes. ([#589](https://github.com/modem-dev/hunk/pull/589))
- Label repository-root files with `./` in the sidebar. ([#519](https://github.com/modem-dev/hunk/pull/519))
- Reduce watch-mode startup time on macOS and Windows with native recursive observation. ([#531](https://github.com/modem-dev/hunk/pull/531))
- Display tracked CJK and emoji filenames correctly throughout reviews and session APIs. ([#670](https://github.com/modem-dev/hunk/pull/670))
- Warn when deprecated custom syntax colors are translated to approximate Shiki scopes. ([#574](https://github.com/modem-dev/hunk/pull/574))
- Restart stale session daemons after upgrades so live comments keep working. ([#572](https://github.com/modem-dev/hunk/pull/572))
- Resolve a shell-quote denial-of-service vulnerability and keep direct-file watch refreshes responsive. ([#627](https://github.com/modem-dev/hunk/pull/627))
- Document the supported scrolling and selection-following contract for custom extension sidebars. ([#630](https://github.com/modem-dev/hunk/pull/630))
- Generate the bundled review skill from the CLI surface so commands, errors, and flags stay accurate. ([#596](https://github.com/modem-dev/hunk/pull/596))
- Avoid preparing inactive custom file views, reducing work and retained memory in normal diff reviews. ([#652](https://github.com/modem-dev/hunk/pull/652))
- Keep file navigation focused on the file it just selected, even on loaded machines. ([#655](https://github.com/modem-dev/hunk/pull/655))
- Keep one-line scrolling consistent after clicking inside the review stream. ([#645](https://github.com/modem-dev/hunk/pull/645))
- Write saved state atomically and preserve corrupt state files for recovery. ([#599](https://github.com/modem-dev/hunk/pull/599))
- Improve STML guidance for composing rich content inside Hunk's native note frame. ([#573](https://github.com/modem-dev/hunk/pull/573))
- Show Nix-specific update instructions for Nix installations. ([#598](https://github.com/modem-dev/hunk/pull/598))

<a class="release-separator" id="v0-18-0-beta-0"></a>

### 0.18.0-beta.0

August 1, 2026

#### Minor Changes

- Add exact Shiki/TextMate overrides via `custom_theme.syntax_scopes`, with compatibility for deprecated `custom_theme.syntax`. ([#570](https://github.com/modem-dev/hunk/pull/570))
- Add live `ctx.navigation.selectFile` and `selectHunk` APIs for guarded review-stream navigation. ([#629](https://github.com/modem-dev/hunk/pull/629))
- Give extension commands a frozen snapshot of the current review selection through `ctx.selection`. ([#616](https://github.com/modem-dev/hunk/pull/616))
- Render tabs at four-column stops by default, configurable through `tab_width`, `-x`, or `--tab-width`. ([#588](https://github.com/modem-dev/hunk/pull/588))
- Advance the extension API to v2 with experimental fixed-height React/OpenTUI file-view rows and semantic theme painting. ([#632](https://github.com/modem-dev/hunk/pull/632))
- Add queued `ctx.dialogs.confirm`, `select`, and `input` prompts to extension commands. ([#617](https://github.com/modem-dev/hunk/pull/617))
- Add extension UI lifecycle events, sidebar controls for event handlers, and an inter-extension event bus. ([#619](https://github.com/modem-dev/hunk/pull/619))
- Add experimental TypeScript extensions, bundled VCS adapters, multiple custom themes, trust controls, and configurable loading paths. ([#599](https://github.com/modem-dev/hunk/pull/599))
- Expose resolved command keybindings to custom extension sidebars so they honor remapping and unbinding. ([#615](https://github.com/modem-dev/hunk/pull/615))
- Add experimental STML agent-note markup, `hunk markup guide`/`render`, and live note-width validation APIs. ([#512](https://github.com/modem-dev/hunk/pull/512))
- Make menus and help reflect remapped keys, add an Extensions menu, and expose formerly menu-only actions as commands. ([#614](https://github.com/modem-dev/hunk/pull/614))
- Add extension commands, multiple sidebar views, configurable `[keybindings]`, shared key APIs, and namespaced command/view IDs. ([#611](https://github.com/modem-dev/hunk/pull/611))
- Give `hunk pager` the full review controls while keeping its menu bar and sidebar initially hidden. ([#647](https://github.com/modem-dev/hunk/pull/647))
- Expose ordered `ExtensionDiffHunk` summaries with headers, indexes, and inclusive line spans in public file views. ([#626](https://github.com/modem-dev/hunk/pull/626))
- Add an experimental host-rendered extension file-view contract and an optional Markdown preview example. ([#632](https://github.com/modem-dev/hunk/pull/632))
- Offer to save changed view preferences on quit, with a persistent “never ask” option. ([#468](https://github.com/modem-dev/hunk/pull/468))
- Let extensions replace file navigation with React sidebars that receive live review props and safe navigation actions. ([#609](https://github.com/modem-dev/hunk/pull/609))

#### Patch Changes

- Reduce Git polling and CPU use in watch mode while preserving continuous refreshes with a polling fallback. ([#531](https://github.com/modem-dev/hunk/pull/531))
- Store repo-extension trust by canonical root so trusted extensions load through symlinked and Windows short paths. ([#599](https://github.com/modem-dev/hunk/pull/599))
- Discover `.tsx` and `.jsx` extension entries alongside TypeScript and JavaScript entries. ([#625](https://github.com/modem-dev/hunk/pull/625))
- Support folder-extension entry points and multiple entries through `package.json` `hunk.extensions` manifests. ([#606](https://github.com/modem-dev/hunk/pull/606))
- Harden extension types, themes, lifecycle data, reloads, VCS detection, configured paths, and user-facing failures. ([#599](https://github.com/modem-dev/hunk/pull/599))
- Load directories with `index.ts`, `index.js`, or `index.mjs` as single folder extensions. ([#606](https://github.com/modem-dev/hunk/pull/606))
- Prevent one keypress from triggering both a modal action and the focused widget beneath it. ([#649](https://github.com/modem-dev/hunk/pull/649))
- Require `--experimental` for STML note rendering and advertise the `stml` capability only in opted-in sessions. ([#589](https://github.com/modem-dev/hunk/pull/589))
- Label repo-root file runs with a `./` sidebar header without changing review order. ([#519](https://github.com/modem-dev/hunk/pull/519))
- Reduce watch-mode startup cost on macOS and Windows with bounded native recursive filesystem observation. ([#531](https://github.com/modem-dev/hunk/pull/531))
- Show a startup notice when deprecated `custom_theme.syntax` colors are translated to approximate Shiki scopes. ([#574](https://github.com/modem-dev/hunk/pull/574))
- Restart stale session daemons during upgrades so rich STML comments reach live reviews. ([#572](https://github.com/modem-dev/hunk/pull/572))
- Upgrade `shell-quote` against a denial-of-service flaw and keep file-watch refreshes responsive after missed events. ([#627](https://github.com/modem-dev/hunk/pull/627))
- Document the supported scrollbox ref, stable row IDs, selection following, and pane geometry APIs for custom sidebars. ([#630](https://github.com/modem-dev/hunk/pull/630))
- Generate the hunk-review skill from typed session commands and document missing note, markup, rationale, and author flags. ([#596](https://github.com/modem-dev/hunk/pull/596))
- Skip inactive custom file-view preparation to reduce rerenders and retained memory in raw-diff reviews. ([#652](https://github.com/modem-dev/hunk/pull/652))
- Keep delayed scroll alignment from changing the file selected by navigation. ([#655](https://github.com/modem-dev/hunk/pull/655))
- Preserve one-line keyboard scrolling after clicking in the review stream. ([#645](https://github.com/modem-dev/hunk/pull/645))
- Write `state.json` atomically and preserve unreadable state as `state.json.corrupt`. ([#599](https://github.com/modem-dev/hunk/pull/599))
- Teach STML authors to compose within Hunk’s native note frame while preserving focused inset boxes. ([#573](https://github.com/modem-dev/hunk/pull/573))
- Show Nix-aware update guidance instead of suggesting npm installation for the Nix package. ([#598](https://github.com/modem-dev/hunk/pull/598))

---

[Newer: Hunk 0.19](/changelog/0.19/) · [Older: Hunk 0.17](/changelog/0.17/) · [All releases](/changelog/)