---
title: Hunk 0.21
description: Hunk 0.21 turns reviews into a richer agent-aware workspace with
  authenticated live sessions, editable threaded notes, two-revision and
  two-file…
editUrl: false
head:
  - tag: meta
    attrs:
      property: og:image
      content: https://hunk.dev/changelog/og/0.21.png
  - tag: meta
    attrs:
      property: og:image:alt
      content: Hunk 0.21 release notes — August 30, 2026 – September 2, 2026 · 3
        releases · 75 changes
  - tag: meta
    attrs:
      name: twitter:image
      content: https://hunk.dev/changelog/og/0.21.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 30, 2026 – September 2, 2026 · 3 releases

Hunk 0.21 turns reviews into a richer agent-aware workspace with authenticated live sessions, editable threaded notes, two-revision and two-file comparisons, more responsive navigation, and a broader extension surface.

New to Hunk? Use the default installer. It verifies downloads when release checksums and local tooling are available, and warns otherwise:

```sh
curl -fsSL https://hunk.dev/install.sh | sh
```

Already on Hunk 0.20 or newer with the default install script, npm, or Homebrew? Move to this release with Hunk's canonical update command:

```sh
hunk update
```

On an older Hunk release, update once through the installer or package manager that installed it, then use `hunk update`. mise, Nix, source, and custom-directory installs remain owned by their own update workflows. This is the current release; see [all install options](/docs/start/install/).

## Related documentation

- [Live session control](/docs/agents/live-session-control/)
- [Comments and annotations](/docs/agents/comments-and-annotations/)
- [Files and patches](/docs/workflows/files-and-patches/)
- [Extension API](/docs/extend/extension-api/)

## Releases in this series

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

### 0.21.0

September 2, 2026

#### Minor Changes

- Navigate a live review directly to a comment returned by `hunk session comment list`. ([#845](https://github.com/modem-dev/hunk/pull/845))
- Make the vertical space between files and hunks configurable. ([#865](https://github.com/modem-dev/hunk/pull/865))
- Add a `dim` tone to `hunk.registerLineHighlighter` and `hunk session highlight add` for fading diff text toward line backgrounds while preserving syntax highlighting token hues. ([#909](https://github.com/modem-dev/hunk/pull/909))
- Let extensions select syntax highlighting by exact filename or basename/path glob, in addition to file extensions. ([#851](https://github.com/modem-dev/hunk/pull/851))
- Let extensions register generic top-level CLI command trees with raw arguments, cancellable streaming I/O, validated exit statuses, and one-time delegation into built-in Hunk commands, including a dependency-free `hunk gh 123` example that fetches GitHub pull-request diffs directly. ([#888](https://github.com/modem-dev/hunk/pull/888))
- Publish `hunk_viewed` and store-backed `note_changed` extension lifecycle events so progress and note UIs can follow hunk navigation and agent comments. ([#939](https://github.com/modem-dev/hunk/pull/939))
- Give opted-in extension panes the current line's `{ side, line }` source address on `currentLine`, matching command selection, so a pane can follow the cursor without waiting for a keypress. ([#940](https://github.com/modem-dev/hunk/pull/940))
- Require Node.js 22 or newer for npm installs. Standalone Hunk binaries continue to run without Node.js. ([#917](https://github.com/modem-dev/hunk/pull/917))
- Resize the built-in files sidebar with the terminal, showing its compact projection at medium widths and keeping split review after the sidebar hides. Extension API v12 adds `ExtensionPaneSize.fraction` for bounded body-axis fractional sizing while preserving manual overrides. ([#924](https://github.com/modem-dev/hunk/pull/924))
- Authenticate local session producers and CLI controls with automatically discovered owner-private credentials, signed responses, scoped reconnect replacement, and bounded handshakes. Expose only minimal public daemon health, refuse unsafe PID-based replacement, and let interactive Hunk windows reconnect automatically after an incompatible incumbent becomes idle. ([#933](https://github.com/modem-dev/hunk/pull/933))
- Add editable inline review notes and arbitrarily nested threaded replies with mouse and keyboard actions, including reviewer dismissal of reply-free live agent notes. ([#925](https://github.com/modem-dev/hunk/pull/925))
- Add a pane-wide `onActivate` callback to the extension API for primary mouse presses. ([#965](https://github.com/modem-dev/hunk/pull/965))
- Support backend-native `hunk diff <from> <to>` reviews across Git, Jujutsu, and Sapling, with pinned source expansion, working-copy isolation, explicit `hunk diff --files <left> <right>` file comparison, and structured `rangeEndpoints` in extension API generation 14. ([#938](https://github.com/modem-dev/hunk/pull/938))
- Show a fully expanded file tree when the file sidebar reaches its preferred 34-column width, and keep resize drags active while its layout changes. ([#921](https://github.com/modem-dev/hunk/pull/921))

#### Patch Changes

- Enable unchanged-context expansion in Jujutsu-backed reviews. ([#890](https://github.com/modem-dev/hunk/pull/890))
- Add a `/compare/` section to hunk.dev with head-to-head pages for delta, difftastic, diff-so-fancy, `git diff`, and Plannotator, each also served as Markdown for coding agents. ([#968](https://github.com/modem-dev/hunk/pull/968))
- Provide complete key event data to command matchers and programmatically invoked handlers. ([#774](https://github.com/modem-dev/hunk/pull/774))
- Add Ctrl-D and Ctrl-U aliases for half-page review scrolling. ([#855](https://github.com/modem-dev/hunk/pull/855))
- Fence late session lifecycle commits so stopped or replaced generations cannot authenticate, reconnect, publish daemon launch metadata, or mutate broker client state. ([#955](https://github.com/modem-dev/hunk/pull/955))
- Keep explicit top and bottom jumps from being overridden by a pending selection reveal. ([#928](https://github.com/modem-dev/hunk/pull/928))
- Stop installing Bun beside prebuilt Hunk packages so pnpm global updates cannot corrupt Bun's shared platform-package projection. Standalone platform binaries continue to work without a separate Bun installation. ([#908](https://github.com/modem-dev/hunk/pull/908))
- Fill the review stream on first paint instead of leaving it blank until the user scrolls. ([#922](https://github.com/modem-dev/hunk/pull/922))
- Contain unexpected session broker lifecycle failures behind one fixed, redacted user-visible message. ([#956](https://github.com/modem-dev/hunk/pull/956))
- Let focused editors inside extension panes receive keys before Hunk's global shortcuts. ([#954](https://github.com/modem-dev/hunk/pull/954))
- Make the checksum-aware curl installer the default across the website and docs, add an accessible tabbed install selector, and establish `hunk update` as the canonical updater from Hunk 0.20 onward. ([#919](https://github.com/modem-dev/hunk/pull/919))
- Retry session broker connections after synchronous WebSocket startup failures. ([#950](https://github.com/modem-dev/hunk/pull/950))
- Keep iTerm2 sessions connected to the local session daemon when their terminal identifiers contain native punctuation. ([#936](https://github.com/modem-dev/hunk/pull/936))
- Keep wrapped diff geometry aligned with rendered note-guide and add-note columns. ([#858](https://github.com/modem-dev/hunk/pull/858))
- Accept the documented `dim` tone when routing line-highlight commands through the session daemon. ([#937](https://github.com/modem-dev/hunk/pull/937))
- Recognize pacman/AUR-managed installations via `HUNK_INSTALL_SOURCE=pacman` and suppress automatic update notices for them. ([#850](https://github.com/modem-dev/hunk/pull/850))
- Upgrade the OpenTUI runtime and reusable component peer requirement to 0.5.6. ([#914](https://github.com/modem-dev/hunk/pull/914))
- Publish dated prerelease notes on hunk.dev without promoting them as the latest stable release or default install target. ([#961](https://github.com/modem-dev/hunk/pull/961))
- Refuse curl installs alongside competing Hunk binaries unless explicitly forced, and print each conflicting path, version, PATH precedence, and package-manager removal guidance. ([#960](https://github.com/modem-dev/hunk/pull/960))
- Exit cleanly when the terminal hosting a review disconnects instead of leaving an unreachable Hunk process behind. ([#724](https://github.com/modem-dev/hunk/pull/724))
- Restore first-frame and scroll responsiveness for large review streams. ([#942](https://github.com/modem-dev/hunk/pull/942))
- Fix washed-out or wrong-hue diff colors in ~25 bundled themes (gruvbox, rosé pine, tokyo-night, material, everforest, laserwave, night-owl, slack, and others) by re-harvesting every theme's diff accents from its real VS Code accent tokens. ([#828](https://github.com/modem-dev/hunk/pull/828))
- Stop the theme contrast guards from washing out diff accents: low-contrast sign colors now get the smallest readable adjustment instead of a fixed 45% blend, and word-level diff emphasis is derived to the renderer's own separation floor so the highlight you see is the one the theme defines. ([#825](https://github.com/modem-dev/hunk/pull/825))
- Refuse to start watch mode under Bun versions older than 1.3.14, which can deadlock filesystem watcher cleanup and leave Hunk unresponsive. ([#902](https://github.com/modem-dev/hunk/pull/902))

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

### 0.21.0-beta.1

September 1, 2026

#### Minor Changes

- Add a pane-wide `onActivate` callback to the extension API for primary mouse presses. ([#965](https://github.com/modem-dev/hunk/pull/965))

#### Patch Changes

- Fence late session lifecycle commits so stopped or replaced generations cannot authenticate, reconnect, publish daemon launch metadata, or mutate broker client state. ([#955](https://github.com/modem-dev/hunk/pull/955))
- Contain unexpected session broker lifecycle failures behind one fixed, redacted user-visible message. ([#956](https://github.com/modem-dev/hunk/pull/956))
- Let focused editors inside extension panes receive keys before Hunk's global shortcuts. ([#954](https://github.com/modem-dev/hunk/pull/954))
- Retry session broker connections after synchronous WebSocket startup failures. ([#950](https://github.com/modem-dev/hunk/pull/950))
- Publish dated prerelease notes on hunk.dev without promoting them as the latest stable release or default install target. ([#961](https://github.com/modem-dev/hunk/pull/961))
- Refuse curl installs alongside competing Hunk binaries unless explicitly forced, and print each conflicting path, version, PATH precedence, and package-manager removal guidance. ([#960](https://github.com/modem-dev/hunk/pull/960))

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

### 0.21.0-beta.0

August 30, 2026

#### Minor Changes

- Navigate a live review directly to a comment returned by `hunk session comment list`. ([#845](https://github.com/modem-dev/hunk/pull/845))
- Make the vertical space between files and hunks configurable. ([#865](https://github.com/modem-dev/hunk/pull/865))
- Add a `dim` tone to `hunk.registerLineHighlighter` and `hunk session highlight add` for fading diff text toward line backgrounds while preserving syntax highlighting token hues. ([#909](https://github.com/modem-dev/hunk/pull/909))
- Let extensions select syntax highlighting by exact filename or basename/path glob, in addition to file extensions. ([#851](https://github.com/modem-dev/hunk/pull/851))
- Let extensions register generic top-level CLI command trees with raw arguments, cancellable streaming I/O, validated exit statuses, and one-time delegation into built-in Hunk commands, including a dependency-free `hunk gh 123` example that fetches GitHub pull-request diffs directly. ([#888](https://github.com/modem-dev/hunk/pull/888))
- Publish `hunk_viewed` and store-backed `note_changed` extension lifecycle events so progress and note UIs can follow hunk navigation and agent comments. ([#939](https://github.com/modem-dev/hunk/pull/939))
- Give opted-in extension panes the current line's `{ side, line }` source address on `currentLine`, matching command selection, so a pane can follow the cursor without waiting for a keypress. ([#940](https://github.com/modem-dev/hunk/pull/940))
- Require Node.js 22 or newer for npm installs. Standalone Hunk binaries continue to run without Node.js. ([#917](https://github.com/modem-dev/hunk/pull/917))
- Resize the built-in files sidebar with the terminal, showing its compact projection at medium widths and keeping split review after the sidebar hides. Extension API v12 adds `ExtensionPaneSize.fraction` for bounded body-axis fractional sizing while preserving manual overrides. ([#924](https://github.com/modem-dev/hunk/pull/924))
- Authenticate local session producers and CLI controls with automatically discovered owner-private credentials, signed responses, scoped reconnect replacement, and bounded handshakes. Expose only minimal public daemon health, refuse unsafe PID-based replacement, and let interactive Hunk windows reconnect automatically after an incompatible incumbent becomes idle. ([#933](https://github.com/modem-dev/hunk/pull/933))
- Add editable inline review notes and arbitrarily nested threaded replies with mouse and keyboard actions, including reviewer dismissal of reply-free live agent notes. ([#925](https://github.com/modem-dev/hunk/pull/925))
- Support backend-native `hunk diff <from> <to>` reviews across Git, Jujutsu, and Sapling, with pinned source expansion, working-copy isolation, explicit `hunk diff --files <left> <right>` file comparison, and structured `rangeEndpoints` in extension API generation 14. ([#938](https://github.com/modem-dev/hunk/pull/938))
- Show a fully expanded file tree when the file sidebar reaches its preferred 34-column width, and keep resize drags active while its layout changes. ([#921](https://github.com/modem-dev/hunk/pull/921))

#### Patch Changes

- Enable unchanged-context expansion in Jujutsu-backed reviews. ([#890](https://github.com/modem-dev/hunk/pull/890))
- Provide complete key event data to command matchers and programmatically invoked handlers. ([#774](https://github.com/modem-dev/hunk/pull/774))
- Add Ctrl-D and Ctrl-U aliases for half-page review scrolling. ([#855](https://github.com/modem-dev/hunk/pull/855))
- Keep explicit top and bottom jumps from being overridden by a pending selection reveal. ([#928](https://github.com/modem-dev/hunk/pull/928))
- Stop installing Bun beside prebuilt Hunk packages so pnpm global updates cannot corrupt Bun's shared platform-package projection. Standalone platform binaries continue to work without a separate Bun installation. ([#908](https://github.com/modem-dev/hunk/pull/908))
- Fill the review stream on first paint instead of leaving it blank until the user scrolls. ([#922](https://github.com/modem-dev/hunk/pull/922))
- Make the checksum-aware curl installer the default across the website and docs, add an accessible tabbed install selector, and establish `hunk update` as the canonical updater from Hunk 0.20 onward. ([#919](https://github.com/modem-dev/hunk/pull/919))
- Keep iTerm2 sessions connected to the local session daemon when their terminal identifiers contain native punctuation. ([#936](https://github.com/modem-dev/hunk/pull/936))
- Keep wrapped diff geometry aligned with rendered note-guide and add-note columns. ([#858](https://github.com/modem-dev/hunk/pull/858))
- Accept the documented `dim` tone when routing line-highlight commands through the session daemon. ([#937](https://github.com/modem-dev/hunk/pull/937))
- Recognize pacman/AUR-managed installations via `HUNK_INSTALL_SOURCE=pacman` and suppress automatic update notices for them. ([#850](https://github.com/modem-dev/hunk/pull/850))
- Upgrade the OpenTUI runtime and reusable component peer requirement to 0.5.6. ([#914](https://github.com/modem-dev/hunk/pull/914))
- Exit cleanly when the terminal hosting a review disconnects instead of leaving an unreachable Hunk process behind. ([#724](https://github.com/modem-dev/hunk/pull/724))
- Restore first-frame and scroll responsiveness for large review streams. ([#942](https://github.com/modem-dev/hunk/pull/942))
- Fix washed-out or wrong-hue diff colors in ~25 bundled themes (gruvbox, rosé pine, tokyo-night, material, everforest, laserwave, night-owl, slack, and others) by re-harvesting every theme's diff accents from its real VS Code accent tokens. ([#828](https://github.com/modem-dev/hunk/pull/828))
- Stop the theme contrast guards from washing out diff accents: low-contrast sign colors now get the smallest readable adjustment instead of a fixed 45% blend, and word-level diff emphasis is derived to the renderer's own separation floor so the highlight you see is the one the theme defines. ([#825](https://github.com/modem-dev/hunk/pull/825))
- Refuse to start watch mode under Bun versions older than 1.3.14, which can deadlock filesystem watcher cleanup and leave Hunk unresponsive. ([#902](https://github.com/modem-dev/hunk/pull/902))

---

[Older: Hunk 0.20](/changelog/0.20/) · [All releases](/changelog/)