Releases: modem-dev/hunk
Releases · modem-dev/hunk
v0.14.0
Immutable
release. Only release title and notes can be modified.
What's Changed
Features
- Added inline expansion for collapsed unchanged context, so you can reveal surrounding source without leaving the review. Expand rows by clicking
▾ N unchanged linesor pressingzon the selected hunk. Includes source-load limits and coverage for edge cases. (#303, #367, #372) - Added mouse-drag text selection in diff views with clipboard copy via OSC 52, plus safer copied text handling. (#306, #371)
- Added custom theme support, letting users define their own Hunk palette in config. (#226)
- Added Catppuccin Latte and Catppuccin Mocha as built-in themes, and made them work correctly as custom theme base themes and in static pager output. (#305, #352, #354, #365)
- Surfaced agent author names in inline notes and matching popovers, making multi-agent reviews easier to follow. (#293)
Fixes
- Fixed split diff alignment for wide CJK and emoji characters, and stabilized wrapped-row hover backgrounds so add-note affordances do not shift layout. (#353, #376)
- Fixed inline note shortcuts: Ctrl-S works in tmux CSI-u input, and copy chords such as Ctrl-C / Ctrl-Shift-C no longer trigger note actions. (#350, #375)
- Fixed editor launch behavior when Hunk is started from a repository subdirectory. (#347, #360)
- Fixed VCS auto-detection so Git repositories nested under parent Jujutsu workspaces still use Git by default. (#342)
- Hardened pager execution and fallback behavior: pager commands no longer evaluate shell metacharacters, and captured/dumb-terminal non-diff pager content passes through instead of spawning
less. (#358, #362) - Restricted session reloads so daemon commands cannot read files outside the initial Hunk session root. (#349)
- Hardened terminal rendering against control-sequence injection from diffs, file paths, notes, expanded context, copied selections, and pager fallback output. (#371)
Tests and maintenance
- Added broader PTY coverage for add-note keyboard actions, stack/deletion/context rows, note focus, multiple drafts, editor launch paths, and flaky terminal interactions. (#336, #348, #351, #356, #357, #360, #361)
- Centralized diff section row planning to keep rendering, navigation, scrolling, and note placement aligned. (#359)
- Added issue templates and skipped expensive CI jobs for docs-only changes. (#368, #369)
- Added coverage for actionable security gaps around non-script terminal content. (#372)
New contributors
Thanks to first-time contributors in this release:
- @raulk (#306)
- @TaltonFiggins (#344)
- @adit-chandra (#303)
- @sgruendel (#226)
- @mfkd (#305)
- @sdougbrown (#293)
Full Changelog: v0.13.1...v0.14.0
v0.14.0-beta.3
Immutable
release. Only release title and notes can be modified.
What's Changed
- fix(ui): avoid treating copy chords as note shortcut by @benvinegar in #375
- fix(ui): stabilize wrapped diff row hover layout by @benvinegar in #376
- chore(release): prepare 0.14.0-beta.3 by @benvinegar in #377
Full Changelog: v0.14.0-beta.2...v0.14.0-beta.3
v0.14.0-beta.2
Immutable
release. Only release title and notes can be modified.
What's Changed
- chore: add issue templates by @benvinegar in #368
- ci: skip expensive jobs for docs-only changes by @benvinegar in #369
- fix(ui): cap expanded context source reads by @benvinegar in #367
- test: cover actionable non-script gaps by @benvinegar in #372
- fix(security): sanitize terminal-bound text by @benvinegar in #371
- chore(release): prepare 0.14.0-beta.2 by @benvinegar in #374
Full Changelog: v0.14.0-beta.1...v0.14.0-beta.2
v0.14.0-beta.1
Immutable
release. Only release title and notes can be modified.
What's Changed
- fix(config): allow Catppuccin custom theme bases by @benvinegar in #365
- chore(release): prepare 0.14.0-beta.1 by @benvinegar in #366
Full Changelog: v0.14.0-beta.0...v0.14.0-beta.1
v0.14.0-beta.0
Immutable
release. Only release title and notes can be modified.
What's Changed
- feat(ui): add mouse-drag text selection and clipboard copy by @raulk in #306
- fix(vcs): prefer nearest detected repository by @benvinegar in #342
- test(pty): cover add-note keyboard actions by @benvinegar in #336
- docs: migrate sponsor link to canonical UTM convention (GTM-32) by @TaltonFiggins in #344
- fix: resolve editor paths from repo root by @duarteocarmo in #347
- feat(ui): add fold toggle for unchanged lines between hunks by @adit-chandra in #303
- test(pty): cover add-note stack and deletion rows by @benvinegar in #348
- Custom theme support by @sgruendel in #226
- test(pty): cover add-note context rows by @benvinegar in #351
- fix(ui): save notes from tmux Ctrl-S input by @benvinegar in #350
- fix(session): bound reload file access by @benvinegar in #349
- fix(ui): honor custom themes in static pager by @benvinegar in #352
- feat(ui): add Catppuccin themes by @mfkd in #305
- refactor(ui): split built-in theme definitions by @benvinegar in #354
- fix(ui): align split diffs with wide characters by @benvinegar in #353
- test(pty): cover note focus and multiple drafts by @benvinegar in #356
- fix(core): harden plain text pager spawning by @benvinegar in #358
- test(pty): split live UI suite by scope by @benvinegar in #357
- refactor(ui): centralize diff section row planning by @benvinegar in #359
- 📛 feat(notes): show agent author in inline notes and popovers by @sdougbrown in #293
- test: cover open editor launch paths by @benvinegar in #360
- test(pty): stabilize flaky PTY interactions by @benvinegar in #361
- fix(pager): avoid less in captured text pagers by @benvinegar in #362
- chore(release): prepare 0.14.0-beta.0 by @benvinegar in #363
New Contributors
- @raulk made their first contribution in #306
- @TaltonFiggins made their first contribution in #344
- @adit-chandra made their first contribution in #303
- @sgruendel made their first contribution in #226
- @mfkd made their first contribution in #305
- @sdougbrown made their first contribution in #293
Full Changelog: v0.13.1...v0.14.0-beta.0
v0.13.2
Immutable
release. Only release title and notes can be modified.
What's Changed
- Fixed VCS auto-detection so a Git repository nested under a parent Jujutsu workspace uses the nearest Git checkout by default. This keeps
hunk diff/hunk showin Git mode for nested Git repos instead of incorrectly inheriting the parent JJ workspace. by @benvinegar in #342
Full Changelog: v0.13.1...v0.13.2
v0.13.1
Immutable
release. Only release title and notes can be modified.
What's Changed
- Reduced inline add-note affordance flicker by hiding it during scroll and only showing it after pointer movement by @benvinegar in #328 and #331
- Hardened the local session daemon against browser-originated requests by validating Host and Origin headers and requiring JSON content types for API posts by @benvinegar in #329
- Disabled the generic broker HTTP API by default so Hunk's supported session API is the only app-daemon command surface by @benvinegar in #332
- Bounded session daemon memory by capping HTTP request body and websocket message sizes and rejecting oversized session registrations by @benvinegar in #333
Full Changelog: v0.13.0...v0.13.1
v0.13.0
NOTE: Get the latest agent SKILL.md file using hunk skill path.
What's Changed
- fix(release): include bundled skill in prebuilt archives by @benvinegar in #302
- feat(ui): add comma and period shortcuts to move between files by @mvanhorn in #280
- feat(ui): add g / G navigation in hunk diff by @SalzDevs in #289
- feat(vcs): add adapter abstraction by @benvinegar in #313
- feat(config): support watch key in TOML config by @mvanhorn in #279
- fix(session): preserve live comments across daemon-driven reloads by @mvanhorn in #278
- fix(ui): navigate comments by stream position by @benvinegar in #315
- refactor: extract shared patch helpers by @benvinegar in #316
- fix(ui): remove inline note spacer row by @benvinegar in #314
- Preserve auto theme across watch refreshes by @dive in #318
- feat(ui): open file in editor with e shortcut by @duarteocarmo in #310
- feat: add session user review notes by @benvinegar in #281
- chore(release): prepare 0.13.0-beta.0 by @benvinegar in #320
- fix(release): ignore staged npm artifact when archiving by @benvinegar in #325
New Contributors
- @mvanhorn made their first contribution in #280
- @SalzDevs made their first contribution in #289
- @dive made their first contribution in #318
- @duarteocarmo made their first contribution in #310
Full Changelog: v0.12.0...v0.13.0
v0.13.0-beta.0
What's Changed
- feat(ui): add comma and period shortcuts to move between files by @mvanhorn in #280
- feat(ui): add g / G navigation in hunk diff by @SalzDevs in #289
- feat(vcs): add adapter abstraction by @benvinegar in #313
- feat(config): support watch key in TOML config by @mvanhorn in #279
- feat(ui): open file in editor with e shortcut by @duarteocarmo in #310
- feat: add session user review notes by @benvinegar in #281
- fix(release): include bundled skill in prebuilt archives by @benvinegar in #302
- fix(session): preserve live comments across daemon-driven reloads by @mvanhorn in #278
- fix(ui): navigate comments by stream position by @benvinegar in #315
- fix(ui): remove inline note spacer row by @benvinegar in #314
- Preserve auto theme across watch refreshes by @dive in #318
- refactor: extract shared patch helpers by @benvinegar in #316
- chore(release): prepare 0.13.0-beta.0 by @benvinegar in #320
New Contributors
- @mvanhorn made their first contribution in #280
- @SalzDevs made their first contribution in #289
- @dive made their first contribution in #318
- @duarteocarmo made their first contribution in #310
Full Changelog: v0.12.0...v0.13.0-beta.0
v0.12.1
What's Changed
Fixed
- Included the bundled Hunk review skill in standalone prebuilt release archives so
hunk skill pathworks after extracting a tarball or installing via Homebrew (#302 by @benvinegar).
Full Changelog: v0.12.0...v0.12.1