diff --git a/.changeset/emudhra-bun-1-4-4-runtime.md b/.changeset/emudhra-bun-1-4-4-runtime.md
deleted file mode 100644
index 3d6d4fda6..000000000
--- a/.changeset/emudhra-bun-1-4-4-runtime.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"hunkdiff": patch
----
-
-Upgrade the bundled Bun runtime to 1.4.4 so Hunk's own HTTPS requests (GitHub review via `hunk gh`, extension fetches) reject certificates issued by the compromised eMudhra intermediate CAs.
diff --git a/.changeset/launch-video-0-24-roundup.md b/.changeset/launch-video-0-24-roundup.md
deleted file mode 100644
index a845151cc..000000000
--- a/.changeset/launch-video-0-24-roundup.md
+++ /dev/null
@@ -1,2 +0,0 @@
----
----
diff --git a/.changeset/nix-baseline-runtime.md b/.changeset/nix-baseline-runtime.md
deleted file mode 100644
index d9ab31c26..000000000
--- a/.changeset/nix-baseline-runtime.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"hunkdiff": patch
----
-
-Build the Nix package with the same script as the npm and GitHub release binaries, so Nix installs always ship the same entrypoints and x64 baseline runtime policy.
diff --git a/.changeset/nix-compile-entrypoints-drift.md b/.changeset/nix-compile-entrypoints-drift.md
deleted file mode 100644
index a845151cc..000000000
--- a/.changeset/nix-compile-entrypoints-drift.md
+++ /dev/null
@@ -1,2 +0,0 @@
----
----
diff --git a/.changeset/nix-highlight-worker.md b/.changeset/nix-highlight-worker.md
deleted file mode 100644
index 208be01af..000000000
--- a/.changeset/nix-highlight-worker.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"hunkdiff": patch
----
-
-Fix missing syntax highlighting in Nix-built binaries by bundling the highlighting worker.
diff --git a/.changeset/current-stable-changelog-smoke.md b/.changeset/patch-release-preparation.md
similarity index 100%
rename from .changeset/current-stable-changelog-smoke.md
rename to .changeset/patch-release-preparation.md
diff --git a/.changeset/search-every-occurrence.md b/.changeset/search-every-occurrence.md
deleted file mode 100644
index 10330add6..000000000
--- a/.changeset/search-every-occurrence.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"hunkdiff": minor
----
-
-`n` / `N` now stop at every search match, including later matches in the same hunk or on the same line, in on-screen order: top to bottom in unified view and row by row, old side first, in split view. Extension API 32 adds `ctx.selection.layout`, the resolved `split` or `unified` layout; TypeScript authors constructing `ExtensionReviewSelection` must add the field. A new `/` search now starts at the cursor line instead of skipping the selected hunk.
diff --git a/.changeset/stable-release-preparation.md b/.changeset/stable-release-preparation.md
deleted file mode 100644
index a845151cc..000000000
--- a/.changeset/stable-release-preparation.md
+++ /dev/null
@@ -1,2 +0,0 @@
----
----
diff --git a/.changeset/ubuntu-qemu-user.md b/.changeset/ubuntu-qemu-user.md
deleted file mode 100644
index a845151cc..000000000
--- a/.changeset/ubuntu-qemu-user.md
+++ /dev/null
@@ -1,2 +0,0 @@
----
----
diff --git a/.changeset/vector-brand-exports.md b/.changeset/vector-brand-exports.md
deleted file mode 100644
index a845151cc..000000000
--- a/.changeset/vector-brand-exports.md
+++ /dev/null
@@ -1,2 +0,0 @@
----
----
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3940ecc64..6b5920124 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,17 @@
# Changelog
+## 0.24.1
+
+### Patch Changes
+
+- [#1218](https://github.com/modem-dev/hunk/pull/1218) [`8da0984`](https://github.com/modem-dev/hunk/commit/8da098499e44808a19d6bfe6df91ac9ebd26521e) - Upgrade the bundled Bun runtime to 1.4.4 so Hunk's own HTTPS requests (GitHub review via `hunk gh`, extension fetches) reject certificates issued by the compromised eMudhra intermediate CAs.
+
+- [#1214](https://github.com/modem-dev/hunk/pull/1214) [`43138ca`](https://github.com/modem-dev/hunk/commit/43138ca1b997a1245fa3d2e5523a140f7d456766) - Build the Nix package with the same script as the npm and GitHub release binaries, so Nix installs always ship the same entrypoints and x64 baseline runtime policy.
+
+- [#1211](https://github.com/modem-dev/hunk/pull/1211) [`96619db`](https://github.com/modem-dev/hunk/commit/96619dbcde205b3a296df6970aa82e46b33e955b) - Fix missing syntax highlighting in Nix-built binaries by bundling the highlighting worker.
+
+- [#1212](https://github.com/modem-dev/hunk/pull/1212) [`0f33a95`](https://github.com/modem-dev/hunk/commit/0f33a952b5610c7aa7e5d8c0341716a7398343e0) - `n` / `N` now stop at every search match, including later matches in the same hunk or on the same line, in on-screen order: top to bottom in unified view and row by row, old side first, in split view. Extension API 32 adds `ctx.selection.layout`, the resolved `split` or `unified` layout; TypeScript authors constructing `ExtensionReviewSelection` must add the field. A new `/` search now starts at the cursor line instead of skipping the selected hunk.
+
## 0.24.0
### Minor Changes
diff --git a/benchmarks/release/bench-0.24.1.json b/benchmarks/release/bench-0.24.1.json
new file mode 100644
index 000000000..16ff6834b
--- /dev/null
+++ b/benchmarks/release/bench-0.24.1.json
@@ -0,0 +1,1822 @@
+{
+ "version": 1,
+ "generatedAt": "2026-10-24T17:54:14.404Z",
+ "gitSha": "c3af44f8c8f2c661545f89f91e48ac142c4d9368",
+ "packageVersion": "0.24.1",
+ "runtime": {
+ "bunVersion": "1.4.4",
+ "platform": "linux",
+ "arch": "x64"
+ },
+ "samplesPerBenchmark": 5,
+ "results": [
+ {
+ "name": "bootstrap-load/file_pair_bootstrap_ms",
+ "source": "bootstrap-load",
+ "samples": [22.06, 19.92, 20.07, 20.29, 20.46],
+ "median": 20.29,
+ "p75": 20.46,
+ "p95": 22.06,
+ "min": 19.92,
+ "max": 22.06,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "bootstrap-load/files",
+ "source": "bootstrap-load",
+ "samples": [64, 64, 64, 64, 64],
+ "median": 64,
+ "p75": 64,
+ "p95": 64,
+ "min": 64,
+ "max": 64,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "bootstrap-load/git_bootstrap_ms",
+ "source": "bootstrap-load",
+ "samples": [44.91, 45.32, 44.01, 44.11, 46.26],
+ "median": 44.91,
+ "p75": 45.32,
+ "p95": 46.26,
+ "min": 44.01,
+ "max": 46.26,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "bootstrap-load/git_diff_subprocess_ms",
+ "source": "bootstrap-load",
+ "samples": [10.45, 10.74, 9.99, 10.59, 10.08],
+ "median": 10.45,
+ "p75": 10.59,
+ "p95": 10.74,
+ "min": 9.99,
+ "max": 10.74,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "bootstrap-load/git_parse_patch_ms",
+ "source": "bootstrap-load",
+ "samples": [7.53, 6.52, 5.88, 4.88, 5.16],
+ "median": 5.88,
+ "p75": 6.52,
+ "p95": 7.53,
+ "min": 4.88,
+ "max": 7.53,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "bootstrap-load/git_split_patch_chunks_ms",
+ "source": "bootstrap-load",
+ "samples": [1.68, 1.39, 1.4, 1.76, 1.38],
+ "median": 1.4,
+ "p75": 1.68,
+ "p95": 1.76,
+ "min": 1.38,
+ "max": 1.76,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "bootstrap-load/lines_per_file",
+ "source": "bootstrap-load",
+ "samples": [420, 420, 420, 420, 420],
+ "median": 420,
+ "p75": 420,
+ "p95": 420,
+ "min": 420,
+ "max": 420,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "bootstrap-load/parsed_files",
+ "source": "bootstrap-load",
+ "samples": [64, 64, 64, 64, 64],
+ "median": 64,
+ "p75": 64,
+ "p95": 64,
+ "min": 64,
+ "max": 64,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "bootstrap-load/patch_chunks",
+ "source": "bootstrap-load",
+ "samples": [64, 64, 64, 64, 64],
+ "median": 64,
+ "p75": 64,
+ "p95": 64,
+ "min": 64,
+ "max": 64,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "changeset-parse/balanced_changeset_build_diff_files_ms",
+ "source": "changeset-parse",
+ "samples": [0.29, 0.26, 0.3, 0.3, 0.3],
+ "median": 0.3,
+ "p75": 0.3,
+ "p95": 0.3,
+ "min": 0.26,
+ "max": 0.3,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "changeset-parse/balanced_changeset_files",
+ "source": "changeset-parse",
+ "samples": [96, 96, 96, 96, 96],
+ "median": 96,
+ "p75": 96,
+ "p95": 96,
+ "min": 96,
+ "max": 96,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "changeset-parse/balanced_changeset_normalize_patch_ms",
+ "source": "changeset-parse",
+ "samples": [0.23, 0.21, 0.2, 0.21, 0.2],
+ "median": 0.21,
+ "p75": 0.21,
+ "p95": 0.23,
+ "min": 0.2,
+ "max": 0.23,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "changeset-parse/balanced_changeset_parse_patch_ms",
+ "source": "changeset-parse",
+ "samples": [2.49, 5.69, 2.5, 2.44, 2.32],
+ "median": 2.49,
+ "p75": 2.5,
+ "p95": 5.69,
+ "min": 2.32,
+ "max": 5.69,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "changeset-parse/balanced_changeset_patch_bytes",
+ "source": "changeset-parse",
+ "samples": [682727, 682727, 682727, 682727, 682727],
+ "median": 682727,
+ "p75": 682727,
+ "p95": 682727,
+ "min": 682727,
+ "max": 682727,
+ "unit": "bytes",
+ "comparable": false
+ },
+ {
+ "name": "changeset-parse/balanced_changeset_split_chunks_ms",
+ "source": "changeset-parse",
+ "samples": [0.71, 0.72, 0.76, 0.67, 0.71],
+ "median": 0.71,
+ "p75": 0.72,
+ "p95": 0.76,
+ "min": 0.67,
+ "max": 0.76,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "changeset-parse/large_single_file_build_diff_files_ms",
+ "source": "changeset-parse",
+ "samples": [0.05, 0.07, 0.07, 0.07, 0.06],
+ "median": 0.07,
+ "p75": 0.07,
+ "p95": 0.07,
+ "min": 0.05,
+ "max": 0.07,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "changeset-parse/large_single_file_files",
+ "source": "changeset-parse",
+ "samples": [1, 1, 1, 1, 1],
+ "median": 1,
+ "p75": 1,
+ "p95": 1,
+ "min": 1,
+ "max": 1,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "changeset-parse/large_single_file_normalize_patch_ms",
+ "source": "changeset-parse",
+ "samples": [0.09, 0.09, 0.08, 0.09, 0.08],
+ "median": 0.09,
+ "p75": 0.09,
+ "p95": 0.09,
+ "min": 0.08,
+ "max": 0.09,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "changeset-parse/large_single_file_parse_patch_ms",
+ "source": "changeset-parse",
+ "samples": [0.71, 0.95, 0.72, 0.77, 0.74],
+ "median": 0.74,
+ "p75": 0.77,
+ "p95": 0.95,
+ "min": 0.71,
+ "max": 0.95,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "changeset-parse/large_single_file_patch_bytes",
+ "source": "changeset-parse",
+ "samples": [284479, 284479, 284479, 284479, 284479],
+ "median": 284479,
+ "p75": 284479,
+ "p95": 284479,
+ "min": 284479,
+ "max": 284479,
+ "unit": "bytes",
+ "comparable": false
+ },
+ {
+ "name": "changeset-parse/large_single_file_split_chunks_ms",
+ "source": "changeset-parse",
+ "samples": [0.22, 0.2, 0.24, 0.24, 0.19],
+ "median": 0.22,
+ "p75": 0.24,
+ "p95": 0.24,
+ "min": 0.19,
+ "max": 0.24,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "changeset-parse/many_small_files_build_diff_files_ms",
+ "source": "changeset-parse",
+ "samples": [0.96, 1.05, 1.01, 1.07, 3.48],
+ "median": 1.05,
+ "p75": 1.07,
+ "p95": 3.48,
+ "min": 0.96,
+ "max": 3.48,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "changeset-parse/many_small_files_files",
+ "source": "changeset-parse",
+ "samples": [240, 240, 240, 240, 240],
+ "median": 240,
+ "p75": 240,
+ "p95": 240,
+ "min": 240,
+ "max": 240,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "changeset-parse/many_small_files_normalize_patch_ms",
+ "source": "changeset-parse",
+ "samples": [0.45, 0.47, 0.48, 0.44, 0.44],
+ "median": 0.45,
+ "p75": 0.47,
+ "p95": 0.48,
+ "min": 0.44,
+ "max": 0.48,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "changeset-parse/many_small_files_parse_patch_ms",
+ "source": "changeset-parse",
+ "samples": [6.02, 4.47, 3.99, 4.14, 4.01],
+ "median": 4.14,
+ "p75": 4.47,
+ "p95": 6.02,
+ "min": 3.99,
+ "max": 6.02,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "changeset-parse/many_small_files_patch_bytes",
+ "source": "changeset-parse",
+ "samples": [376703, 376703, 376703, 376703, 376703],
+ "median": 376703,
+ "p75": 376703,
+ "p95": 376703,
+ "min": 376703,
+ "max": 376703,
+ "unit": "bytes",
+ "comparable": false
+ },
+ {
+ "name": "changeset-parse/many_small_files_split_chunks_ms",
+ "source": "changeset-parse",
+ "samples": [0.65, 0.93, 0.69, 0.83, 0.71],
+ "median": 0.71,
+ "p75": 0.83,
+ "p95": 0.93,
+ "min": 0.65,
+ "max": 0.93,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "highlight-prefetch/adjacent_ready_before_move",
+ "source": "highlight-prefetch",
+ "samples": [1, 1, 1, 1, 1],
+ "median": 1,
+ "p75": 1,
+ "p95": 1,
+ "min": 1,
+ "max": 1,
+ "unit": "boolean",
+ "comparable": false
+ },
+ {
+ "name": "highlight-prefetch/files",
+ "source": "highlight-prefetch",
+ "samples": [4, 4, 4, 4, 4],
+ "median": 4,
+ "p75": 4,
+ "p95": 4,
+ "min": 4,
+ "max": 4,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "highlight-prefetch/iterations",
+ "source": "highlight-prefetch",
+ "samples": [2, 2, 2, 2, 2],
+ "median": 2,
+ "p75": 2,
+ "p95": 2,
+ "min": 2,
+ "max": 2,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "highlight-prefetch/next_file_ready_ms",
+ "source": "highlight-prefetch",
+ "samples": [7.91, 7.92, 8.85, 9.66, 9.67],
+ "median": 8.85,
+ "p75": 9.66,
+ "p95": 9.67,
+ "min": 7.91,
+ "max": 9.67,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "highlight-prefetch/selected_startup_ms",
+ "source": "highlight-prefetch",
+ "samples": [5.32, 6.21, 5.58, 5.38, 5.58],
+ "median": 5.58,
+ "p75": 5.58,
+ "p95": 6.21,
+ "min": 5.32,
+ "max": 6.21,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "interaction-latency/after_first_frame_heap_used_bytes",
+ "source": "interaction-latency",
+ "samples": [39873664, 39896258, 39961302, 39905476, 39928914],
+ "median": 39905476,
+ "p75": 39928914,
+ "p95": 39961302,
+ "min": 39873664,
+ "max": 39961302,
+ "unit": "bytes",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.2,
+ "minAbsoluteRegression": 8388608
+ }
+ },
+ {
+ "name": "interaction-latency/after_first_frame_rss_bytes",
+ "source": "interaction-latency",
+ "samples": [181067776, 181399552, 186445824, 182022144, 180269056],
+ "median": 181399552,
+ "p75": 182022144,
+ "p95": 186445824,
+ "min": 180269056,
+ "max": 186445824,
+ "unit": "bytes",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.2,
+ "minAbsoluteRegression": 8388608
+ }
+ },
+ {
+ "name": "interaction-latency/after_navigation_heap_used_bytes",
+ "source": "interaction-latency",
+ "samples": [49829935, 50997818, 50989256, 49828019, 49640018],
+ "median": 49829935,
+ "p75": 50989256,
+ "p95": 50997818,
+ "min": 49640018,
+ "max": 50997818,
+ "unit": "bytes",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.2,
+ "minAbsoluteRegression": 8388608
+ }
+ },
+ {
+ "name": "interaction-latency/after_navigation_rss_bytes",
+ "source": "interaction-latency",
+ "samples": [295985152, 296173568, 306249728, 293347328, 287207424],
+ "median": 295985152,
+ "p75": 296173568,
+ "p95": 306249728,
+ "min": 287207424,
+ "max": 306249728,
+ "unit": "bytes",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.2,
+ "minAbsoluteRegression": 8388608
+ }
+ },
+ {
+ "name": "interaction-latency/files",
+ "source": "interaction-latency",
+ "samples": [180, 180, 180, 180, 180],
+ "median": 180,
+ "p75": 180,
+ "p95": 180,
+ "min": 180,
+ "max": 180,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "interaction-latency/first_frame_ms",
+ "source": "interaction-latency",
+ "samples": [7.17, 7.48, 12.56, 7.56, 7.94],
+ "median": 7.56,
+ "p75": 7.94,
+ "p95": 12.56,
+ "min": 7.17,
+ "max": 12.56,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "interaction-latency/hunk_nav_press_median_ms",
+ "source": "interaction-latency",
+ "samples": [22.15, 14.22, 12.93, 22.21, 23.73],
+ "median": 22.15,
+ "p75": 22.21,
+ "p95": 23.73,
+ "min": 12.93,
+ "max": 23.73,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "interaction-latency/hunk_nav_press_p95_ms",
+ "source": "interaction-latency",
+ "samples": [27.46, 26.84, 25.44, 33.32, 30.35],
+ "median": 27.46,
+ "p75": 30.35,
+ "p95": 33.32,
+ "min": 25.44,
+ "max": 33.32,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "interaction-latency/lines_per_file",
+ "source": "interaction-latency",
+ "samples": [120, 120, 120, 120, 120],
+ "median": 120,
+ "p75": 120,
+ "p95": 120,
+ "min": 120,
+ "max": 120,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "interaction-latency/navigation_presses",
+ "source": "interaction-latency",
+ "samples": [6, 6, 6, 6, 6],
+ "median": 6,
+ "p75": 6,
+ "p95": 6,
+ "min": 6,
+ "max": 6,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "interaction-latency/scroll_tick_median_ms",
+ "source": "interaction-latency",
+ "samples": [0.84, 0.84, 0.86, 0.86, 0.98],
+ "median": 0.86,
+ "p75": 0.86,
+ "p95": 0.98,
+ "min": 0.84,
+ "max": 0.98,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "interaction-latency/scroll_tick_p95_ms",
+ "source": "interaction-latency",
+ "samples": [2.46, 2.32, 2.64, 2.84, 3.99],
+ "median": 2.64,
+ "p75": 2.84,
+ "p95": 3.99,
+ "min": 2.32,
+ "max": 3.99,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "interaction-latency/scroll_ticks",
+ "source": "interaction-latency",
+ "samples": [8, 8, 8, 8, 8],
+ "median": 8,
+ "p75": 8,
+ "p95": 8,
+ "min": 8,
+ "max": 8,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "large-stream/cold_first_frame_ms",
+ "source": "large-stream",
+ "samples": [2.42, 2.5, 3.02, 2.36, 2.37],
+ "median": 2.42,
+ "p75": 2.5,
+ "p95": 3.02,
+ "min": 2.36,
+ "max": 3.02,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "large-stream/files",
+ "source": "large-stream",
+ "samples": [180, 180, 180, 180, 180],
+ "median": 180,
+ "p75": 180,
+ "p95": 180,
+ "min": 180,
+ "max": 180,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "large-stream/lines_per_file",
+ "source": "large-stream",
+ "samples": [120, 120, 120, 120, 120],
+ "median": 120,
+ "p75": 120,
+ "p95": 120,
+ "min": 120,
+ "max": 120,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "large-stream/scroll_ticks",
+ "source": "large-stream",
+ "samples": [4, 4, 4, 4, 4],
+ "median": 4,
+ "p75": 4,
+ "p95": 4,
+ "min": 4,
+ "max": 4,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "large-stream/warm_first_frame_ms",
+ "source": "large-stream",
+ "samples": [1.79, 1.65, 1.99, 1.73, 1.69],
+ "median": 1.73,
+ "p75": 1.79,
+ "p95": 1.99,
+ "min": 1.65,
+ "max": 1.99,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "large-stream/windowed_scroll_ticks_ms",
+ "source": "large-stream",
+ "samples": [79.79, 87.84, 82.48, 85.33, 78.22],
+ "median": 82.48,
+ "p75": 85.33,
+ "p95": 87.84,
+ "min": 78.22,
+ "max": 87.84,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "non-ascii-stream/files",
+ "source": "non-ascii-stream",
+ "samples": [120, 120, 120, 120, 120],
+ "median": 120,
+ "p75": 120,
+ "p95": 120,
+ "min": 120,
+ "max": 120,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "non-ascii-stream/lines_per_file",
+ "source": "non-ascii-stream",
+ "samples": [120, 120, 120, 120, 120],
+ "median": 120,
+ "p75": 120,
+ "p95": 120,
+ "min": 120,
+ "max": 120,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "non-ascii-stream/non_ascii_cold_first_frame_ms",
+ "source": "non-ascii-stream",
+ "samples": [6.3, 6.63, 6.76, 6.59, 7],
+ "median": 6.63,
+ "p75": 6.76,
+ "p95": 7,
+ "min": 6.3,
+ "max": 7,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "non-ascii-stream/non_ascii_scroll_tick_median_ms",
+ "source": "non-ascii-stream",
+ "samples": [1.08, 1.13, 1.17, 1.14, 1.19],
+ "median": 1.14,
+ "p75": 1.17,
+ "p95": 1.19,
+ "min": 1.08,
+ "max": 1.19,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "non-ascii-stream/non_ascii_scroll_tick_p95_ms",
+ "source": "non-ascii-stream",
+ "samples": [4.95, 5.03, 10.1, 4.53, 5.08],
+ "median": 5.03,
+ "p75": 5.08,
+ "p95": 10.1,
+ "min": 4.53,
+ "max": 10.1,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "non-ascii-stream/scroll_ticks",
+ "source": "non-ascii-stream",
+ "samples": [8, 8, 8, 8, 8],
+ "median": 8,
+ "p75": 8,
+ "p95": 8,
+ "min": 8,
+ "max": 8,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "render-layout/balanced_stream_files",
+ "source": "render-layout",
+ "samples": [180, 180, 180, 180, 180],
+ "median": 180,
+ "p75": 180,
+ "p95": 180,
+ "min": 180,
+ "max": 180,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "render-layout/balanced_stream_geometry_ms",
+ "source": "render-layout",
+ "samples": [10.64, 10.88, 11.42, 10.44, 13.39],
+ "median": 10.88,
+ "p75": 11.42,
+ "p95": 13.39,
+ "min": 10.44,
+ "max": 13.39,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "render-layout/balanced_stream_planned_rows",
+ "source": "render-layout",
+ "samples": [10260, 10260, 10260, 10260, 10260],
+ "median": 10260,
+ "p75": 10260,
+ "p95": 10260,
+ "min": 10260,
+ "max": 10260,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "render-layout/balanced_stream_review_plan_ms",
+ "source": "render-layout",
+ "samples": [9.07, 7.35, 8.92, 7.97, 8.92],
+ "median": 8.92,
+ "p75": 8.92,
+ "p95": 9.07,
+ "min": 7.35,
+ "max": 9.07,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "render-layout/balanced_stream_split_rows",
+ "source": "render-layout",
+ "samples": [10260, 10260, 10260, 10260, 10260],
+ "median": 10260,
+ "p75": 10260,
+ "p95": 10260,
+ "min": 10260,
+ "max": 10260,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "render-layout/balanced_stream_split_rows_ms",
+ "source": "render-layout",
+ "samples": [3.18, 3.21, 2.91, 3.07, 4.14],
+ "median": 3.18,
+ "p75": 3.21,
+ "p95": 4.14,
+ "min": 2.91,
+ "max": 4.14,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "render-layout/balanced_stream_unified_rows",
+ "source": "render-layout",
+ "samples": [18900, 18900, 18900, 18900, 18900],
+ "median": 18900,
+ "p75": 18900,
+ "p95": 18900,
+ "min": 18900,
+ "max": 18900,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "render-layout/balanced_stream_unified_rows_ms",
+ "source": "render-layout",
+ "samples": [3.66, 3.26, 3.87, 3.05, 4.37],
+ "median": 3.66,
+ "p75": 3.87,
+ "p95": 4.37,
+ "min": 3.05,
+ "max": 4.37,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "render-layout/large_single_file_files",
+ "source": "render-layout",
+ "samples": [1, 1, 1, 1, 1],
+ "median": 1,
+ "p75": 1,
+ "p95": 1,
+ "min": 1,
+ "max": 1,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "render-layout/large_single_file_geometry_ms",
+ "source": "render-layout",
+ "samples": [19.57, 18.95, 20.58, 18.05, 20.52],
+ "median": 19.57,
+ "p75": 20.52,
+ "p95": 20.58,
+ "min": 18.05,
+ "max": 20.58,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "render-layout/large_single_file_planned_rows",
+ "source": "render-layout",
+ "samples": [16010, 16010, 16010, 16010, 16010],
+ "median": 16010,
+ "p75": 16010,
+ "p95": 16010,
+ "min": 16010,
+ "max": 16010,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "render-layout/large_single_file_review_plan_ms",
+ "source": "render-layout",
+ "samples": [13.53, 13.44, 13.68, 11.37, 12.51],
+ "median": 13.44,
+ "p75": 13.53,
+ "p95": 13.68,
+ "min": 11.37,
+ "max": 13.68,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "render-layout/large_single_file_split_rows",
+ "source": "render-layout",
+ "samples": [16010, 16010, 16010, 16010, 16010],
+ "median": 16010,
+ "p75": 16010,
+ "p95": 16010,
+ "min": 16010,
+ "max": 16010,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "render-layout/large_single_file_split_rows_ms",
+ "source": "render-layout",
+ "samples": [3.61, 3.31, 3.8, 3.35, 3.38],
+ "median": 3.38,
+ "p75": 3.61,
+ "p95": 3.8,
+ "min": 3.31,
+ "max": 3.8,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "render-layout/large_single_file_unified_rows",
+ "source": "render-layout",
+ "samples": [32011, 32011, 32011, 32011, 32011],
+ "median": 32011,
+ "p75": 32011,
+ "p95": 32011,
+ "min": 32011,
+ "max": 32011,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "render-layout/large_single_file_unified_rows_ms",
+ "source": "render-layout",
+ "samples": [6.25, 6.27, 8.93, 7.88, 6.03],
+ "median": 6.27,
+ "p75": 7.88,
+ "p95": 8.93,
+ "min": 6.03,
+ "max": 8.93,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "render-layout/many_small_files_files",
+ "source": "render-layout",
+ "samples": [360, 360, 360, 360, 360],
+ "median": 360,
+ "p75": 360,
+ "p95": 360,
+ "min": 360,
+ "max": 360,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "render-layout/many_small_files_geometry_ms",
+ "source": "render-layout",
+ "samples": [13.19, 11.98, 12.68, 11.11, 10.85],
+ "median": 11.98,
+ "p75": 12.68,
+ "p95": 13.19,
+ "min": 10.85,
+ "max": 13.19,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "render-layout/many_small_files_planned_rows",
+ "source": "render-layout",
+ "samples": [6120, 6120, 6120, 6120, 6120],
+ "median": 6120,
+ "p75": 6120,
+ "p95": 6120,
+ "min": 6120,
+ "max": 6120,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "render-layout/many_small_files_review_plan_ms",
+ "source": "render-layout",
+ "samples": [5.33, 6.39, 5.97, 5.27, 4.95],
+ "median": 5.33,
+ "p75": 5.97,
+ "p95": 6.39,
+ "min": 4.95,
+ "max": 6.39,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "render-layout/many_small_files_split_rows",
+ "source": "render-layout",
+ "samples": [6120, 6120, 6120, 6120, 6120],
+ "median": 6120,
+ "p75": 6120,
+ "p95": 6120,
+ "min": 6120,
+ "max": 6120,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "render-layout/many_small_files_split_rows_ms",
+ "source": "render-layout",
+ "samples": [3.81, 3.66, 3.75, 4.04, 3.58],
+ "median": 3.75,
+ "p75": 3.81,
+ "p95": 4.04,
+ "min": 3.58,
+ "max": 4.04,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "render-layout/many_small_files_unified_rows",
+ "source": "render-layout",
+ "samples": [10440, 10440, 10440, 10440, 10440],
+ "median": 10440,
+ "p75": 10440,
+ "p95": 10440,
+ "min": 10440,
+ "max": 10440,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "render-layout/many_small_files_unified_rows_ms",
+ "source": "render-layout",
+ "samples": [3.68, 3.59, 3.86, 3.74, 3.38],
+ "median": 3.68,
+ "p75": 3.74,
+ "p95": 3.86,
+ "min": 3.38,
+ "max": 3.86,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "startup-first-frame/files",
+ "source": "startup-first-frame",
+ "samples": [8, 8, 8, 8, 8],
+ "median": 8,
+ "p75": 8,
+ "p95": 8,
+ "min": 8,
+ "max": 8,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "startup-first-frame/startup_first_color_ms",
+ "source": "startup-first-frame",
+ "samples": [300.86, 301.29, 292.22, 293.93, 289.55],
+ "median": 293.93,
+ "p75": 300.86,
+ "p95": 301.29,
+ "min": 289.55,
+ "max": 301.29,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "startup-first-frame/startup_first_frame_min_ms",
+ "source": "startup-first-frame",
+ "samples": [239.57, 232.2, 226.13, 231.31, 230.95],
+ "median": 231.31,
+ "p75": 232.2,
+ "p95": 239.57,
+ "min": 226.13,
+ "max": 239.57,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "startup-first-frame/startup_first_frame_ms",
+ "source": "startup-first-frame",
+ "samples": [241.49, 239.74, 232.21, 233.62, 232.32],
+ "median": 233.62,
+ "p75": 239.74,
+ "p95": 241.49,
+ "min": 232.21,
+ "max": 241.49,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "startup-first-frame/startup_launches",
+ "source": "startup-first-frame",
+ "samples": [5, 5, 5, 5, 5],
+ "median": 5,
+ "p75": 5,
+ "p95": 5,
+ "min": 5,
+ "max": 5,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "startup-first-frame/startup_post_paint_key_max_ms",
+ "source": "startup-first-frame",
+ "samples": [35.78, 35.98, 34.12, 34.73, 33.78],
+ "median": 34.73,
+ "p75": 35.78,
+ "p95": 35.98,
+ "min": 33.78,
+ "max": 35.98,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "startup-first-frame/startup_post_paint_keys",
+ "source": "startup-first-frame",
+ "samples": [8, 8, 8, 8, 8],
+ "median": 8,
+ "p75": 8,
+ "p95": 8,
+ "min": 8,
+ "max": 8,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "terminal-width/cjk_scalar_text_width_ms",
+ "source": "terminal-width",
+ "samples": [10.82, 11.28, 12.95, 10.65, 10.15],
+ "median": 10.82,
+ "p75": 11.28,
+ "p95": 12.95,
+ "min": 10.15,
+ "max": 12.95,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "terminal-width/cjk_scalar_width_checksum",
+ "source": "terminal-width",
+ "samples": [664000, 664000, 664000, 664000, 664000],
+ "median": 664000,
+ "p75": 664000,
+ "p95": 664000,
+ "min": 664000,
+ "max": 664000,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "terminal-width/cjk_scalar_width_measurements",
+ "source": "terminal-width",
+ "samples": [12000, 12000, 12000, 12000, 12000],
+ "median": 12000,
+ "p75": 12000,
+ "p95": 12000,
+ "min": 12000,
+ "max": 12000,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "terminal-width/competitor_string_width_cjk_scalar_ms",
+ "source": "terminal-width",
+ "samples": [61.43, 61.5, 66.17, 65.26, 61.06],
+ "median": 61.5,
+ "p75": 65.26,
+ "p95": 66.17,
+ "min": 61.06,
+ "max": 66.17,
+ "unit": "ms",
+ "comparable": false
+ },
+ {
+ "name": "terminal-width/competitor_string_width_complex_cluster_ms",
+ "source": "terminal-width",
+ "samples": [15.26, 15.53, 14.69, 16.61, 14.62],
+ "median": 15.26,
+ "p75": 15.53,
+ "p95": 16.61,
+ "min": 14.62,
+ "max": 16.61,
+ "unit": "ms",
+ "comparable": false
+ },
+ {
+ "name": "terminal-width/competitor_string_width_emoji_scalar_ms",
+ "source": "terminal-width",
+ "samples": [11.97, 12.11, 12.11, 12.03, 11.53],
+ "median": 12.03,
+ "p75": 12.11,
+ "p95": 12.11,
+ "min": 11.53,
+ "max": 12.11,
+ "unit": "ms",
+ "comparable": false
+ },
+ {
+ "name": "terminal-width/complex_cluster_text_width_ms",
+ "source": "terminal-width",
+ "samples": [9.25, 9.64, 9.4, 10.1, 8.87],
+ "median": 9.4,
+ "p75": 9.64,
+ "p95": 10.1,
+ "min": 8.87,
+ "max": 10.1,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "terminal-width/complex_cluster_width_checksum",
+ "source": "terminal-width",
+ "samples": [196000, 196000, 196000, 196000, 196000],
+ "median": 196000,
+ "p75": 196000,
+ "p95": 196000,
+ "min": 196000,
+ "max": 196000,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "terminal-width/complex_cluster_width_measurements",
+ "source": "terminal-width",
+ "samples": [4000, 4000, 4000, 4000, 4000],
+ "median": 4000,
+ "p75": 4000,
+ "p95": 4000,
+ "min": 4000,
+ "max": 4000,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "terminal-width/emoji_scalar_text_width_ms",
+ "source": "terminal-width",
+ "samples": [5.26, 4.97, 5.02, 5.23, 4.69],
+ "median": 5.02,
+ "p75": 5.23,
+ "p95": 5.26,
+ "min": 4.69,
+ "max": 5.26,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "terminal-width/emoji_scalar_width_checksum",
+ "source": "terminal-width",
+ "samples": [170000, 170000, 170000, 170000, 170000],
+ "median": 170000,
+ "p75": 170000,
+ "p95": 170000,
+ "min": 170000,
+ "max": 170000,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "terminal-width/emoji_scalar_width_measurements",
+ "source": "terminal-width",
+ "samples": [4000, 4000, 4000, 4000, 4000],
+ "median": 4000,
+ "p75": 4000,
+ "p95": 4000,
+ "min": 4000,
+ "max": 4000,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/large_worktree_additions",
+ "source": "working-tree-load",
+ "samples": [8640, 8640, 8640, 8640, 8640],
+ "median": 8640,
+ "p75": 8640,
+ "p95": 8640,
+ "min": 8640,
+ "max": 8640,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/large_worktree_deletions",
+ "source": "working-tree-load",
+ "samples": [8640, 8640, 8640, 8640, 8640],
+ "median": 8640,
+ "p75": 8640,
+ "p95": 8640,
+ "min": 8640,
+ "max": 8640,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/large_worktree_files",
+ "source": "working-tree-load",
+ "samples": [240, 240, 240, 240, 240],
+ "median": 240,
+ "p75": 240,
+ "p95": 240,
+ "min": 240,
+ "max": 240,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/large_worktree_load_ms",
+ "source": "working-tree-load",
+ "samples": [50.1, 50.06, 48.82, 49.24, 47.77],
+ "median": 49.24,
+ "p75": 50.06,
+ "p95": 50.1,
+ "min": 47.77,
+ "max": 50.1,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "working-tree-load/medium_worktree_additions",
+ "source": "working-tree-load",
+ "samples": [2880, 2880, 2880, 2880, 2880],
+ "median": 2880,
+ "p75": 2880,
+ "p95": 2880,
+ "min": 2880,
+ "max": 2880,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/medium_worktree_deletions",
+ "source": "working-tree-load",
+ "samples": [2880, 2880, 2880, 2880, 2880],
+ "median": 2880,
+ "p75": 2880,
+ "p95": 2880,
+ "min": 2880,
+ "max": 2880,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/medium_worktree_files",
+ "source": "working-tree-load",
+ "samples": [96, 96, 96, 96, 96],
+ "median": 96,
+ "p75": 96,
+ "p95": 96,
+ "min": 96,
+ "max": 96,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/medium_worktree_load_ms",
+ "source": "working-tree-load",
+ "samples": [23.08, 21.51, 23.87, 24.51, 22.83],
+ "median": 23.08,
+ "p75": 23.87,
+ "p95": 24.51,
+ "min": 21.51,
+ "max": 24.51,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "working-tree-load/small_worktree_additions",
+ "source": "working-tree-load",
+ "samples": [208, 208, 208, 208, 208],
+ "median": 208,
+ "p75": 208,
+ "p95": 208,
+ "min": 208,
+ "max": 208,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/small_worktree_deletions",
+ "source": "working-tree-load",
+ "samples": [208, 208, 208, 208, 208],
+ "median": 208,
+ "p75": 208,
+ "p95": 208,
+ "min": 208,
+ "max": 208,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/small_worktree_files",
+ "source": "working-tree-load",
+ "samples": [16, 16, 16, 16, 16],
+ "median": 16,
+ "p75": 16,
+ "p95": 16,
+ "min": 16,
+ "max": 16,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/small_worktree_load_ms",
+ "source": "working-tree-load",
+ "samples": [14.93, 12.16, 12.88, 13.26, 13.09],
+ "median": 13.09,
+ "p75": 13.26,
+ "p95": 14.93,
+ "min": 12.16,
+ "max": 14.93,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "working-tree-load/untracked_few_large_additions",
+ "source": "working-tree-load",
+ "samples": [30104, 30104, 30104, 30104, 30104],
+ "median": 30104,
+ "p75": 30104,
+ "p95": 30104,
+ "min": 30104,
+ "max": 30104,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/untracked_few_large_deletions",
+ "source": "working-tree-load",
+ "samples": [104, 104, 104, 104, 104],
+ "median": 104,
+ "p75": 104,
+ "p95": 104,
+ "min": 104,
+ "max": 104,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/untracked_few_large_files",
+ "source": "working-tree-load",
+ "samples": [14, 14, 14, 14, 14],
+ "median": 14,
+ "p75": 14,
+ "p95": 14,
+ "min": 14,
+ "max": 14,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/untracked_few_large_load_ms",
+ "source": "working-tree-load",
+ "samples": [17.02, 14.76, 16.47, 18.79, 17.87],
+ "median": 17.02,
+ "p75": 17.87,
+ "p95": 18.79,
+ "min": 14.76,
+ "max": 18.79,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "working-tree-load/untracked_many_small_additions",
+ "source": "working-tree-load",
+ "samples": [4528, 4528, 4528, 4528, 4528],
+ "median": 4528,
+ "p75": 4528,
+ "p95": 4528,
+ "min": 4528,
+ "max": 4528,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/untracked_many_small_deletions",
+ "source": "working-tree-load",
+ "samples": [208, 208, 208, 208, 208],
+ "median": 208,
+ "p75": 208,
+ "p95": 208,
+ "min": 208,
+ "max": 208,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/untracked_many_small_files",
+ "source": "working-tree-load",
+ "samples": [136, 136, 136, 136, 136],
+ "median": 136,
+ "p75": 136,
+ "p95": 136,
+ "min": 136,
+ "max": 136,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "working-tree-load/untracked_many_small_load_ms",
+ "source": "working-tree-load",
+ "samples": [20.14, 18.56, 19.03, 18.28, 17.84],
+ "median": 18.56,
+ "p75": 19.03,
+ "p95": 20.14,
+ "min": 17.84,
+ "max": 20.14,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "wrapped-cjk/long_line_characters",
+ "source": "wrapped-cjk",
+ "samples": [8736, 8736, 8736, 8736, 8736],
+ "median": 8736,
+ "p75": 8736,
+ "p95": 8736,
+ "min": 8736,
+ "max": 8736,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "wrapped-cjk/physical_lines",
+ "source": "wrapped-cjk",
+ "samples": [518, 518, 518, 518, 518],
+ "median": 518,
+ "p75": 518,
+ "p95": 518,
+ "min": 518,
+ "max": 518,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "wrapped-cjk/wheel_burst_events",
+ "source": "wrapped-cjk",
+ "samples": [12, 12, 12, 12, 12],
+ "median": 12,
+ "p75": 12,
+ "p95": 12,
+ "min": 12,
+ "max": 12,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "wrapped-cjk/wrapped_cjk_518_mount_first_frame_ms",
+ "source": "wrapped-cjk",
+ "samples": [79.93, 79.77, 83.52, 81.98, 82.02],
+ "median": 81.98,
+ "p75": 82.02,
+ "p95": 83.52,
+ "min": 79.77,
+ "max": 83.52,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "wrapped-cjk/wrapped_cjk_long_line_mount_first_frame_ms",
+ "source": "wrapped-cjk",
+ "samples": [21.18, 20.56, 20.89, 20.91, 19.45],
+ "median": 20.89,
+ "p75": 20.91,
+ "p95": 21.18,
+ "min": 19.45,
+ "max": 21.18,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "wrapped-cjk/wrapped_cjk_wheel_burst_immediate_content_rows",
+ "source": "wrapped-cjk",
+ "samples": [55, 55, 55, 55, 55],
+ "median": 55,
+ "p75": 55,
+ "p95": 55,
+ "min": 55,
+ "max": 55,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "wrapped-cjk/wrapped_cjk_wheel_burst_immediate_ms",
+ "source": "wrapped-cjk",
+ "samples": [3.73, 4.05, 3.89, 3.55, 3.59],
+ "median": 3.73,
+ "p75": 3.89,
+ "p95": 4.05,
+ "min": 3.55,
+ "max": 4.05,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ },
+ {
+ "name": "wrapped-cjk/wrapped_cjk_wheel_burst_initial_content_rows",
+ "source": "wrapped-cjk",
+ "samples": [54, 54, 54, 54, 54],
+ "median": 54,
+ "p75": 54,
+ "p95": 54,
+ "min": 54,
+ "max": 54,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "wrapped-cjk/wrapped_cjk_wheel_burst_settled_content_rows",
+ "source": "wrapped-cjk",
+ "samples": [55, 55, 55, 55, 55],
+ "median": 55,
+ "p75": 55,
+ "p95": 55,
+ "min": 55,
+ "max": 55,
+ "unit": "count",
+ "comparable": false
+ },
+ {
+ "name": "wrapped-cjk/wrapped_cjk_wheel_burst_settled_ms",
+ "source": "wrapped-cjk",
+ "samples": [26.26, 27.37, 29.42, 25.94, 27.34],
+ "median": 27.34,
+ "p75": 27.37,
+ "p95": 29.42,
+ "min": 25.94,
+ "max": 29.42,
+ "unit": "ms",
+ "comparable": true,
+ "threshold": {
+ "maxRegressionRatio": 1.15,
+ "minAbsoluteRegression": 5
+ }
+ }
+ ]
+}
diff --git a/bun.lock b/bun.lock
index 968a689e4..f0dc31775 100644
--- a/bun.lock
+++ b/bun.lock
@@ -41,7 +41,7 @@
},
"packages/hunk": {
"name": "hunkdiff",
- "version": "0.24.0",
+ "version": "0.24.1",
"bin": {
"hunk": "./bin/hunk.cjs",
"hunkdiff": "./bin/hunk.cjs",
diff --git a/packages/hunk/package.json b/packages/hunk/package.json
index b24033fc3..c8a1e0dac 100644
--- a/packages/hunk/package.json
+++ b/packages/hunk/package.json
@@ -1,6 +1,6 @@
{
"name": "hunkdiff",
- "version": "0.24.0",
+ "version": "0.24.1",
"description": "Desktop-inspired terminal diff viewer for understanding agent-authored changesets.",
"keywords": [
"ai",
diff --git a/website/releases/cards.json b/website/releases/cards.json
index a38237958..1d5080df4 100644
--- a/website/releases/cards.json
+++ b/website/releases/cards.json
@@ -11,10 +11,10 @@
"slug": "0.24",
"title": "Hunk 0.24",
"tagline": "Hunk 0.24 adds complete-file and directory browsing, a live workspace status view, npm-installed extensions, shell completions, and…",
- "meta": "October 13, 2026 – October 19, 2026 · 3 releases · 119 changes",
+ "meta": "October 13, 2026 – October 19, 2026 · 4 releases · 123 changes",
"chips": ["0.24.0", "0.24.0-beta.1", "0.24.0-beta.0"],
"latest": true,
- "alt": "Hunk 0.24 release notes — October 13, 2026 – October 19, 2026 · 3 releases · 119 changes"
+ "alt": "Hunk 0.24 release notes — October 13, 2026 – October 19, 2026 · 4 releases · 123 changes"
},
{
"slug": "0.23",
diff --git a/website/src/content/docs/changelog/0.24.md b/website/src/content/docs/changelog/0.24.md
index 0c2df95d2..d6a9b9709 100644
--- a/website/src/content/docs/changelog/0.24.md
+++ b/website/src/content/docs/changelog/0.24.md
@@ -11,7 +11,7 @@ head:
- tag: meta
attrs:
property: og:image:alt
- content: "Hunk 0.24 release notes — October 13, 2026 – October 19, 2026 · 3 releases · 119 changes"
+ content: "Hunk 0.24 release notes — October 13, 2026 – October 19, 2026 · 4 releases · 123 changes"
- tag: meta
attrs:
name: twitter:image
@@ -20,7 +20,7 @@ head:
-October 13, 2026 – October 19, 2026 · 3 releases
+October 13, 2026 – October 19, 2026 · 4 releases
Hunk 0.24 adds complete-file and directory browsing, a live workspace status view, npm-installed extensions, shell completions, and pane-aware automatic diff layout, while moving syntax highlighting off the review's main thread by default.
@@ -48,6 +48,19 @@ On an older Hunk release, update once through the installer or package manager t
## Releases in this series
+
+
+### 0.24.1
+
+Unreleased
+
+#### Patch Changes
+
+- Upgrade the bundled Bun runtime to 1.4.4 so Hunk's own HTTPS requests (GitHub review via `hunk gh`, extension fetches) reject certificates issued by the compromised eMudhra intermediate CAs. ([#1218](https://github.com/modem-dev/hunk/pull/1218))
+- Build the Nix package with the same script as the npm and GitHub release binaries, so Nix installs always ship the same entrypoints and x64 baseline runtime policy. ([#1214](https://github.com/modem-dev/hunk/pull/1214))
+- Fix missing syntax highlighting in Nix-built binaries by bundling the highlighting worker. ([#1211](https://github.com/modem-dev/hunk/pull/1211))
+- `n` / `N` now stop at every search match, including later matches in the same hunk or on the same line, in on-screen order: top to bottom in unified view and row by row, old side first, in split view. Extension API 32 adds `ctx.selection.layout`, the resolved `split` or `unified` layout; TypeScript authors constructing `ExtensionReviewSelection` must add the field. A new `/` search now starts at the cursor line instead of skipping the selected hunk. ([#1212](https://github.com/modem-dev/hunk/pull/1212))
+
### 0.24.0
diff --git a/website/src/content/docs/changelog/index.md b/website/src/content/docs/changelog/index.md
index 5251c5234..e1191645d 100644
--- a/website/src/content/docs/changelog/index.md
+++ b/website/src/content/docs/changelog/index.md
@@ -24,7 +24,7 @@ head:
## [Hunk 0.24](/changelog/0.24/)
-Latest · October 13, 2026 – October 19, 2026 · 3 releases · 119 changes
+Latest · October 13, 2026 – October 19, 2026 · 4 releases · 123 changes
Hunk 0.24 adds complete-file and directory browsing, a live workspace status view, npm-installed extensions, shell completions, and pane-aware automatic diff layout, while moving syntax highlighting off the review's main thread by default.