Repository navigation
Releases: modem-dev/hunk
Release list
v0.23.0
What's Changed
- fix(ui): open help and menus without first-use suspension by @elucid in #1079
- test(pty): synchronize inputs on committed screen state by @elucid in #1083
- perf(highlight): load Shiki WASM bytes without base64 decoding by @elucid in #1078
- docs(release): publish v0.22.0 notes by @benvinegar in #1087
- perf(test): reduce fixture process overhead by @benvinegar in #1092
- feat(ui): host-owned status line with inline prompts, exposed to extensions by @elucid in #1095
- feat(search):
/searches diff content via a bundled search extension by @elucid in #1096 - Make daemon/client build skew visible and resolvable with hunk daemon status/restart by @elucid in #1099
- feat(config): make wheel scrolling configurable by @benvinegar in #853
- feat(extensions): add host-owned file-view syntax highlighting by @benvinegar in #1053
- feat(ui): add support line number in "Open file in editor" for zed by @seiichi1101 in #1073
- Add hunk-triage to hunk-extension marketplace by @benvinegar in #1113
- test(pty): speed up integration synchronization by @benvinegar in #1098
- fix(nix): install hunkdiff alias so hunk patch works by @schickling-assistant in #1108
- fix(test): compare install VM paths in one spelling so symlinked tmpdirs pass by @shashank-100 in #1120
- fix(cli): resolve bundled skills by proximity, not candidate order by @shashank-100 in #1116
- docs(release): gate Homebrew availability claims by @benvinegar in #1088
- fix(ui): register one terminal blur listener per diff pane by @speedsharmaai in #1111
- fix(nix): use stdenv.hostPlatform.isLinux by @patrickhaahr in #1101
- Add hunk-starlark to extension marketplace by @HackAttack in #1124
- feat(theme): add a default terminal theme that follows terminal colors by @dhh in #1128
- feat(extensions): bundle GitHub review commands by @benvinegar in #1129
- chore(release): prepare v0.23.0 by @benvinegar in #1133
New Contributors
- @seiichi1101 made their first contribution in #1073
- @schickling-assistant made their first contribution in #1108
- @shashank-100 made their first contribution in #1120
- @speedsharmaai made their first contribution in #1111
- @patrickhaahr made their first contribution in #1101
- @dhh made their first contribution in #1128
Full Changelog: v0.22.0...v0.23.0
v0.22.0
What's Changed
- test(website): cover stable changelog promotion by @benvinegar in #973
- feat(website): add VCS landing pages and sitemap alias by @benvinegar in #970
- Add hunk-gh, hunk-viewed to hunk-extension marketplace by @benvinegar in #981
- fix(pager): stop CPU pegging and truncation on large piped documents by @benvinegar in #978
- feat(extensions): show delegated review metadata by @benvinegar in #986
- feat(extensions): add review reload requests by @benvinegar in #988
- build: upgrade Bun to 1.4.2 by @benvinegar in #990
- feat: add static-first history browsing by @benvinegar in #979
- refactor(ui): share desktop chrome with history by @benvinegar in #983
- feat(ui): make history automatically responsive by @benvinegar in #987
- fix(ui): prepare history reviews before terminal handoff by @benvinegar in #989
- refactor(ui): keep history reviews in one renderer by @benvinegar in #992
- refactor: move hunkdiff into packages/hunk by @benvinegar in #997
- docs(website): list hunk-history in the extension directory by @any-victor in #995
- refactor(ui): route surfaces through one session runtime by @benvinegar in #998
- refactor(extensions): centralize session ownership by @benvinegar in #999
- fix(ui): keep suspended jobs alive upon fg by @HackAttack in #996
- feat(ui): collapse sidebar tree folders by @benvinegar in #1009
- test(ui): harden job control resume coverage by @benvinegar in #1010
- refactor: extract bundled Git provider by @benvinegar in #1001
- refactor: extract shared VCS infrastructure by @benvinegar in #1005
- refactor: extract bundled Jujutsu provider by @benvinegar in #1002
- refactor: extract bundled Sapling provider by @benvinegar in #1003
- feat(cli): support replies to review comments by @benvinegar in #1012
- feat(ui): group history by day by @benvinegar in #1011
- docs(architecture): refresh maintainer guidance by @benvinegar in #1013
- chore: organize repository scripts by @benvinegar in #1014
- fix(ui): save log view preferences by @benvinegar in #1015
- refactor(ui): use default diff row memo comparison by @benvinegar in #1017
- refactor(ui): inline diff row dispatch by @benvinegar in #1018
- refactor(ui): require planned diff rows by @benvinegar in #1019
- feat(ui): show history commit metadata in reviews by @benvinegar in #1016
- refactor(ui): make diff row dispatch exhaustive by @benvinegar in #1025
- refactor(ui): share diff row note targets by @benvinegar in #1026
- refactor(ui): clarify raw diff row planning by @benvinegar in #1027
- chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #966
- feat(dev): add disposable Firecracker shell by @benvinegar in #1030
- fix(cli): print static reviews without a tty by @benvinegar in #1029
- docs(video): require readable terminal commands by @benvinegar in #976
- fix(git): shorten SHAs in comparison titles by @benvinegar in #1035
- fix(keys): match alt across terminal protocols by @benvinegar in #991
- docs(website): list hunk-compact-filenav in the extension directory by @rschoch in #1034
- feat(ui): animate docked pane transitions by @benvinegar in #941
- fix(session): report daemon health probe failures by @samuela in #927
- feat(review): add multiline comment selections by @benvinegar in #931
- feat(log): review contiguous commit ranges by @benvinegar in #1031
- fix(ui): show info for comparison reviews by @benvinegar in #1032
- refactor(ui): extract diff selection controller by @benvinegar in #1037
- fix(ui): persist themes across routed surfaces by @benvinegar in #1040
- feat: rename the stack diff layout to unified by @saadjs in #945
- feat(history): add configurable command ids by @benvinegar in #1039
- perf(ui): cap pane animations at 30 fps by @benvinegar in #1036
- feat(log): add visual range selection by @benvinegar in #1038
- refactor(ui): normalize session theme startup by @benvinegar in #1041
- perf(ui): restore fast wrapped line rendering by @benvinegar in #1043
- feat(dev): preload fixtures in disposable VM shell by @benvinegar in #1042
- feat(install): add observable release proxy by @benvinegar in #969
- fix(ui): retain view preferences across history reviews by @benvinegar in #1045
- feat(review): make inline notes keyboard selectable by @benvinegar in #1044
- fix(ui): remove duplicate reply range connectors by @benvinegar in #1046
- fix(ui): save note drafts without stale input races by @benvinegar in #1050
- chore(git): internalize tree ref resolver by @benvinegar in #1052
- fix(watch): reload direct files outside repositories by @benvinegar in #1054
- fix(ui): keep wrapped diff interactions responsive by @benvinegar in #1051
- fix(release): support current prerelease metadata by @benvinegar in #1056
- chore(release): prepare v0.22.0-beta.0 by @benvinegar in #1061
- feat(cli): show metadata for direct revision reviews by @benvinegar in #1064
- perf(test): make suite sharding configurable by @benvinegar in #1057
- perf(ci): parallelize validation lanes by @benvinegar in #1058
- perf(nix): skip unchanged lock generation by @benvinegar in #1059
- fix(update): avoid GitHub release rate limits by @benvinegar in #1069
- fix(ui): swap unified and split layout keys by @benvinegar in #1068
- chore(release): prepare v0.22.0-beta.1 by @benvinegar in #1070
- chore(release): include latest main in v0.22.0-beta.1 by @benvinegar in #1071
- docs(release): publish v0.22.0-beta.1 notes by @benvinegar in #1072
- perf(ci): focus Windows compatibility tests by @benvinegar in #1074
- feat(video): add camera pans and callouts by @benvinegar in #1055
- fix(watch): check Git signatures asynchronously by @elucid in #1075
- fix(watch): register directory watchers in yielding batches on Linux by @elucid in #1076
- chore(release): prepare v0.22.0 by @benvinegar in #1081
New Contributors
- @any-victor made their first contribution in #995
- @rschoch made their first contribution in #1034
- @saadjs made their first contribution in #945
Full Changelog: v0.21.0...v0.22.0
v0.22.0-beta.1
What's Changed
- feat(cli): show metadata for direct revision reviews by @benvinegar in #1064
- perf(test): make suite sharding configurable by @benvinegar in #1057
- perf(ci): parallelize validation lanes by @benvinegar in #1058
- perf(nix): skip unchanged lock generation by @benvinegar in #1059
- fix(update): avoid GitHub release rate limits by @benvinegar in #1069
- fix(ui): swap unified and split layout keys by @benvinegar in #1068
- chore(release): prepare v0.22.0-beta.1 by @benvinegar in #1070
- chore(release): include latest main in v0.22.0-beta.1 by @benvinegar in #1071
Full Changelog: v0.22.0-beta.0...v0.22.0-beta.1
v0.22.0-beta.0
Hunk 0.22 beta: history becomes a review workspace
Hunk 0.22 turns repository history into a responsive review workspace: browse commits, select contiguous ranges, carry review context into the diff, and leave precise threaded feedback without leaving the terminal.
hunk update 0.22.0-beta.0
npm install -g hunkdiff@0.22.0-beta.0Browse commits and review ranges
hunk log now opens a responsive, themed history browser for Git and Jujutsu. Commits are grouped by day, optional graph lines preserve topology, and visual or Shift-based range selection opens the cumulative diff for a contiguous set of commits. History has configurable command bindings, merge-parent selection, and keeps your theme and diff preferences as you move between history and review. #979 #987 #1011 #1031 #1038 #1039
Select and discuss exact code ranges
Persistent mouse and keyboard selections can now span multiple lines and drive explicit Comment, Copy, and Clear actions. Inline notes and replies participate in keyboard navigation, and agents can reply through the session CLI while inheriting the original code anchor. #931 #1012 #1044
Richer extension-powered reviews
Extensions can attach provider-neutral review metadata when delegating patches, expose that context to panes and live-session snapshots, and request a coalesced reload after an external agent changes reviewed files. The extension directory also adds hunk-gh, hunk-viewed, hunk-history, and hunk-compact-filenav. #986 #988 #981 #995 #1034
Faster, steadier terminal interaction
Long wrapped lines render and respond faster, pane animations are capped at 30 FPS and can be disabled, sidebar folders collapse without breaking navigation, suspended sessions resume cleanly, and direct-file reviews reload correctly outside repositories. #1043 #1051 #1036 #1009 #996 #1054
Compatibility notes
unifiedis now the canonical name for the single-column diff layout. ExistingstackCLI and configuration values remain accepted as deprecated aliases and normalize tounified.- Extension API v23 adds
canonicalModeandcanonicalLayout, which reportunified; legacy fields continue to reportstackfor compatibility. - OpenTUI integrations can use
canonicalLayout: "split" | "unified"; the legacylayout: "split" | "stack"prop remains source-compatible, andcanonicalLayoutwins when both are supplied. hunk logopens the interactive history browser when attached to a terminal. Use--staticfor scripted terminal output; pipes remain static.- Review commands now print static plain text instead of launching the TUI when stdout is not a terminal.
- The bundled runtime is upgraded to Bun 1.4.2.
Community contributors
- @samuela improved daemon health-probe failure reporting. #927
- @saadjs led the
stack-to-unifiedlayout transition while preserving compatibility. #945 - @any-victor added
hunk-historyto the extension directory. #995 - @HackAttack fixed suspended-job resume behavior. #996
- @rschoch added
hunk-compact-filenavto the extension directory. #1034
All merged pull requests
- test(website): cover stable changelog promotion by @benvinegar in #973
- feat(website): add VCS landing pages and sitemap alias by @benvinegar in #970
- Add hunk-gh, hunk-viewed to hunk-extension marketplace by @benvinegar in #981
- fix(pager): stop CPU pegging and truncation on large piped documents by @benvinegar in #978
- feat(extensions): show delegated review metadata by @benvinegar in #986
- feat(extensions): add review reload requests by @benvinegar in #988
- build: upgrade Bun to 1.4.2 by @benvinegar in #990
- feat: add static-first history browsing by @benvinegar in #979
- refactor(ui): share desktop chrome with history by @benvinegar in #983
- feat(ui): make history automatically responsive by @benvinegar in #987
- fix(ui): prepare history reviews before terminal handoff by @benvinegar in #989
- refactor(ui): keep history reviews in one renderer by @benvinegar in #992
- refactor: move hunkdiff into packages/hunk by @benvinegar in #997
- docs(website): list hunk-history in the extension directory by @any-victor in #995
- refactor(ui): route surfaces through one session runtime by @benvinegar in #998
- refactor(extensions): centralize session ownership by @benvinegar in #999
- fix(ui): keep suspended jobs alive upon fg by @HackAttack in #996
- feat(ui): collapse sidebar tree folders by @benvinegar in #1009
- test(ui): harden job control resume coverage by @benvinegar in #1010
- refactor: extract bundled Git provider by @benvinegar in #1001
- refactor: extract shared VCS infrastructure by @benvinegar in #1005
- refactor: extract bundled Jujutsu provider by @benvinegar in #1002
- refactor: extract bundled Sapling provider by @benvinegar in #1003
- feat(cli): support replies to review comments by @benvinegar in #1012
- feat(ui): group history by day by @benvinegar in #1011
- docs(architecture): refresh maintainer guidance by @benvinegar in #1013
- chore: organize repository scripts by @benvinegar in #1014
- fix(ui): save log view preferences by @benvinegar in #1015
- refactor(ui): use default diff row memo comparison by @benvinegar in #1017
- refactor(ui): inline diff row dispatch by @benvinegar in #1018
- refactor(ui): require planned diff rows by @benvinegar in #1019
- feat(ui): show history commit metadata in reviews by @benvinegar in #1016
- refactor(ui): make diff row dispatch exhaustive by @benvinegar in #1025
- refactor(ui): share diff row note targets by @benvinegar in #1026
- refactor(ui): clarify raw diff row planning by @benvinegar in #1027
- chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #966
- feat(dev): add disposable Firecracker shell by @benvinegar in #1030
- fix(cli): print static reviews without a tty by @benvinegar in #1029
- docs(video): require readable terminal commands by @benvinegar in #976
- fix(git): shorten SHAs in comparison titles by @benvinegar in #1035
- fix(keys): match alt across terminal protocols by @benvinegar in #991
- docs(website): list hunk-compact-filenav in the extension directory by @rschoch in #1034
- feat(ui): animate docked pane transitions by @benvinegar in #941
- fix(session): report daemon health probe failures by @samuela in #927
- feat(review): add multiline comment selections by @benvinegar in #931
- feat(log): review contiguous commit ranges by @benvinegar in #1031
- fix(ui): show info for comparison reviews by @benvinegar in [...
v0.21.1
Faster, reliable paging in LazyGit
Hunk 0.21.1 fixes a pager regression that could peg a CPU core, consume gigabytes of memory, and truncate large color-heavy documents opened through hosts such as LazyGit.
hunk update 0.21.1
npm install -g hunkdiff@0.21.1Pager reliability
ANSI styling is now restored in a single pass instead of repeatedly rescanning and reallocating the complete document. Headless pager output also writes the full document before exiting, avoiding the previous 64 KB truncation limit for piped consumers. #978
Compatibility notes
- No configuration, command, or extension API changes.
- Runtime requirements are unchanged from Hunk 0.21.0.
All merged pull requests
- Fix pager CPU pegging and truncation on large piped documents by @benvinegar in #978
Release notes: https://hunk.dev/changelog/0.21/
Full changelog: v0.21.0...v0.21.1
v0.21.0
Hunk 0.21 — secure sessions, threaded reviews, richer comparisons
Upgrade for threaded agent conversations, safer live sessions across restarts and upgrades, and exact revision or file comparisons across Git, Jujutsu, and Sapling.
# Existing managed installs
hunk update 0.21.0
# npm installs
npm install -g hunkdiff@0.21.0Threaded reviews and safer live sessions
Inline notes are now editable conversations: continue a discussion with nested replies, edit notes, use mouse or keyboard actions, and dismiss agent notes that no longer need attention. Session clients can also navigate straight to a comment by ID. #925 #845
The local session broker now authenticates producers and CLI controls, bounds unauthenticated work, and prevents stale connections from regaining authority. When an incompatible older daemon becomes idle, open Hunk windows reconnect automatically instead of trusting or force-killing it. #932 #933 #955
Compare the exact changes you mean
hunk diff <from> <to> now performs backend-native two-revision reviews across Git, Jujutsu, and Sapling. Use hunk diff --files <left> <right> for an explicit two-file comparison; source expansion stays pinned to the selected endpoints instead of leaking in working-copy state. Jujutsu reviews also gain unchanged-context expansion. #938 #890
Faster reviews at every terminal size
The files sidebar now grows from a compact projection into a full tree as space becomes available, while panes resize without giving up split review. The stream fills immediately on first paint, and large reviews recover responsive scrolling. Diff accents and word highlights are also more faithful across roughly 25 bundled themes. #921 #924 #922 #942 #825 #828
Navigation is steadier too: explicit top and bottom jumps now win over pending reveals, and Ctrl-D/Ctrl-U provide familiar half-page movement. #928 #855
For extension authors
Extensions can register generic top-level CLI command trees, react to hunk_viewed and note_changed, follow the current source line, handle pane activation, size panes fractionally, and select syntax highlighting by filename or glob—so commands and panes can stay synchronized with the active review. #888 #939 #940 #965 #851
Compatibility notes
- npm users: installation now requires Node.js 22 or newer. Standalone Hunk binaries still run without Node.js. #917
- Bun/watch-mode users: watch mode refuses Bun versions older than 1.3.14 because those runtimes can deadlock during filesystem-watcher cleanup. #902
- OpenTUI embedders: reusable component consumers must use
@opentui/coreand@opentui/react0.5.6 or newer. #914 - curl-installer users: installation now refuses conflicting Hunk binaries unless explicitly forced and explains how to remove the competing install. #960
- Extension authors: API generations 12 and 14 add fractional pane sizing and structured
rangeEndpoints. These are additive capabilities, not required migrations. #924 #938
Community contributors
- @NiqhtFire made Hunk exit cleanly when its hosting terminal disconnects. #724
- @nightcityblade completed synthetic key event data for command matchers and programmatic handlers. #774
- @masonmcelvain restored faithful diff accents and word highlighting across bundled themes. #825 #828
- @Ajay-Satish-01 added configurable spacing between files and hunks. #865
- @Yuki9814 added direct live-review navigation to comments by ID. #845
- @samuela enabled unchanged-context expansion for Jujutsu reviews. #890
- @marmitar added pacman/AUR install detection and update-notice behavior. #850
All merged pull requests
PRs #889, #893, and #894 were also released in v0.20.1 through the 0.20.x maintenance branch.
- fix(ui): exit when the terminal hosting a review disconnects by @NiqhtFire in #724
- docs: trim redundant agent guidance by @benvinegar in #854
- feat(ui): add Ctrl-D and Ctrl-U scrolling aliases by @benvinegar in #855
- feat(extensions): match file languages by filename or glob by @benvinegar in #851
- refactor(cli): split session command dispatch by @benvinegar in #857
- refactor(ui): unify clipboard line clipping by @benvinegar in #860
- refactor(ui): simplify copy-selection row ranges by @benvinegar in #859
- refactor(ui): isolate theme selector state by @benvinegar in #864
- refactor(ui): isolate view preference quit flow by @benvinegar in #863
- refactor(ui): isolate extension workspace controls by @benvinegar in #862
- fix(ui): keep wrapped code-row geometry aligned by @benvinegar in #858
- refactor(ui): isolate user note composition by @benvinegar in #871
- refactor(ui): extract styled span layout by @benvinegar in #868
- refactor(ui): extract code row layout by @benvinegar in #869
- refactor(ui): consolidate timed notices by @benvinegar in #872
- refactor(ui): extract planned row text projection by @benvinegar in #874
- refactor(ui): isolate current review refresh by @benvinegar in #873
- refactor(ui): extract code cell painting by @benvinegar in #875
- refactor(ui): split mounted diff row views by @benvinegar in #877
- fix(commands): construct complete synthetic key events by @nightcityblade in #774
- Add hunk-git-lite to hunk-extension marketplace by @benvinegar in #883
- Add hunk-mark-as-reviewed to hunk-extension marketplace by @benvinegar in #856
- test: stabilize Windows CI suites by @benvinegar in #885
- refactor(ui): isolate extension trust controller by @benvinegar in #876
- fix(ui): prevent highlight cache identity collisions by @benvinegar in #889 (also released in v0.20.1)
- refactor(ui): commit extension runtime authority by @benvinegar in #891
- fix(session): refuse option-like VCS ranges in session reloads by @benvinegar in #894 (also released in v0.20.1)
- fix(ui): stabilize rapid theme previews by @benvinegar in #893 (also released in v0.20.1)
- Add hunk-file-order to hunk-extension marketplace by @benvinegar in #849
- Themes: Fix washed-out diff accents and invisible word highlighting by @masonmcelvain in #825
- feat(ui): make file and hunk spacing configurable by @Ajay-Satish-01 in #865
- Themes: Harvest bundled diff accents from real VS Code tokens by @masonmcelvain in #828
- feat(session): navigate to comments by id by @Yuki9814 in #845
- docs(session): define broker SDK contract by @benvinegar in #895
- test(pty): observe highlight input responsiveness by @benvinegar in #899
- fix(watch): refuse deadlocking Bun runtimes by @benvinegar in #902
- fix(session): bind broker...
v0.21.0-beta.1
What's Changed
- docs(release): require editorial GitHub notes by @benvinegar in #946
- fix(extensions): prioritize focused pane editors by @benvinegar in #954
- fix(install): refuse conflicting Hunk installs by @benvinegar in #960
- feat(website): publish prerelease changelogs by @benvinegar in #961
- fix(install): deduplicate binary aliases by @benvinegar in #963
- test(session): characterize lifecycle interleavings by @benvinegar in #949
- fix(session): recover from socket startup failures by @benvinegar in #950
- refactor(session): model startup lifecycle states by @benvinegar in #952
- refactor(session): inject a lifecycle clock by @benvinegar in #953
- fix(session): fence late lifecycle settlements by @benvinegar in #955
- test(session): retain runtime exit fixtures by @benvinegar in #956
- feat(extensions): add pane activation callback by @benvinegar in #965
- chore(release): prepare v0.21.0-beta.1 by @benvinegar in #967
Full Changelog: v0.21.0-beta.0...v0.21.0-beta.1
v0.21.0-beta.0
Hunk 0.21 beta
This beta makes reviews more expressive, session connections safer, and the extension platform substantially more capable. It also restores first-frame and scrolling responsiveness after the new review features landed.
Install the beta with:
launch-v2.mp4
npm install -g hunkdiff@betaCompare any two revisions
hunk diff <from> <to> now performs backend-native two-revision reviews across Git, Jujutsu, and Sapling. Source expansion stays pinned to the compared revisions, and hunk diff --files <left> <right> explicitly compares two files. #938
Threaded review conversations
Inline notes are now editable and support arbitrarily nested replies with keyboard and mouse actions. Reviewers can also dismiss reply-free live agent notes without leaving the review flow. #925
Safer live sessions
The local session broker now authenticates producers and CLI controls with owner-private credentials and signed responses. Hunk can safely replace an incompatible idle daemon and reconnect active terminal sessions without manual intervention. #932 #933
A more adaptable review UI
- The file sidebar adapts to terminal width and expands its tree at full width. #921
- Built-in and extension panes support responsive fractional sizing. #924
- File and hunk spacing are configurable. #865
- Diff colors and word emphasis are corrected across roughly 25 bundled themes. #825 #828
- First paint, navigation, and scrolling remain responsive in large review streams. #922 #942
Extension API generations 9–14
Extensions can now:
- register generic top-level CLI command trees with streaming I/O and delegation; #888
- select syntax languages by filename or glob; #851
- use a
dimline-highlight tone; #909 - size panes responsively;
- observe
hunk_viewedand savednote_changedevents; #939 - follow the current source line from an opted-in pane; and #940
- receive structured two-revision
rangeEndpointsin VCS adapters.
Compatibility notes
- npm installs now require Node.js 22 or newer. Standalone Hunk binaries still run without Node.js. #917
hunk diff <from> <to>gives two positional arguments revision semantics. Existing scripts that used the second positional argument as a pathspec should use an explicit supported form instead.- Custom VCS adapters should handle extension API generation 14's
rangeEndpointsrequest variant to support two-revision comparisons.
Community contributors
Thank you to everyone who contributed to this release:
- @NiqhtFire made Hunk exit cleanly when its terminal disconnects. #724
- @nightcityblade completed synthetic key events for command handlers. #774
- @masonmcelvain corrected theme contrast behavior and re-harvested diff accents across the bundled theme catalog. #825 #828
- @Ajay-Satish-01 added configurable file and hunk spacing. #865
- @Yuki9814 added direct session navigation to listed comments. #845
- @samuela enabled unchanged-context expansion in Jujutsu reviews. #890
- @marmitar added pacman/AUR install-source recognition. #850
Please report beta issues on GitHub or in the Hunk Discord.
Full changelog: v0.20.1...v0.21.0-beta.0
v0.20.1
What's Changed
Hunk 0.20.1 is a security and reliability patch for session reloads, syntax highlighting, and theme previews.
Highlights
- Reject option-like Git ranges and refs in session reloads, preventing broker callers from injecting Git flags and writing diff output to arbitrary paths, by @benvinegar in #894.
- Prevent syntax-highlight cache identity collisions from displaying stale code after a review reload, by @benvinegar in #889.
- Keep the theme selector responsive and its highlighted row visible during rapid keyboard navigation, by @benvinegar in #893.
Release notes: https://hunk.dev/changelog/0.20/
Full Changelog: v0.20.0...v0.20.1
v0.19.2
What's Changed
Hunk 0.19.2 backports an important session reload security fix to the 0.19 release line.
Highlights
- Reject option-like Git ranges and refs in session reloads, preventing local session broker callers from injecting Git flags such as
--output=<path>and writing diff output to arbitrary paths, by @benvinegar in #894.
Full Changelog: v0.19.1...v0.19.2