Skip to content

v0.5.15

Choose a tag to compare

@github-actions github-actions released this 20 Oct 23:46
· 3182 commits to main since this release

What's changed

  • Merge branch 'factory/daily-remotes-2356' (89f2b70)
  • bench: align daily HTTP docroot with network prepare and fix push verify (51f10d4)
  • fix patch-text quiet/exit-code after rebase (f21d6ff)
  • test: patch-text worktree git apply round-trip (ae87544)
  • fix prefix lookup overlap and speed commit-range patch-text (e0ac9b8)
  • fix patch-text review: worktree patch bodies, abbrev batching, skill snapshot (92a12c9)
  • Add diff --patch-text with structured output and git-apply round-trip tests (22251ce)
  • fix: layered ODB prefix lookup for pack+loose abbreviations (5b84f59)
  • bench: implement daily remote headlines and HTTP matrix scenarios (4602241)
  • Complete grit-lib public API snapshot refresh (7604a4c)
  • Refresh grit-lib public API snapshot after rebase (f4b08c4)
  • Use the library branch comparison in status, shortlog and branch (641eee0)
  • Add branch comparison API to grit-lib branch_tracking (1b73f6a)
  • Fix patch-text perf: ODB prefix lookup and abbrev warm (7dd1b0b)
  • Fix patch-text review: UTF-8 fallback, ODB abbrevs, worktree hunks (e069cbf)
  • Add diff --patch-text for git-apply-compatible patches (8caab24)
  • Merge branch 'factory/peel-tags-once' (ec83ac9)
  • Fix merge path and remove skip_index_updates checkout bypass (dc52d5f)
  • Hot-path perf: worktree-only pick checkout and hybrid merge apply (575601f)
  • Address review: crate-private helpers, checkout index finalize, merge perf (0495c72)
  • Pick/revert/merge: fix merge regression and single-pass index apply (bcef942)
  • Follow tag chains of any length (6e07656)
  • Format the tag peeling compat test (8badf20)
  • Check Odb tag peeling against git rev-parse (83070dd)
  • Update the grit-lib public API snapshot for Odb tag peeling (da9c0e6)
  • Peel tags by their object header only (961d9be)
  • Document tag peeling on the objects guide (db9e9d2)
  • Test that clone-time packed-refs fully peel nested tags (0893f48)
  • Skip the peel lookup for lightweight tags of commits (9b9d4c1)
  • Peel tags through the Odb helpers everywhere (e3d1149)
  • Add Odb::peel_tags and Odb::peel_to_commit (96687dd)
  • Merge branch 'factory/ci-fix-bench-only-2528' (9a3a096)
  • bench: parse comma-separated fixtures prepare --only (3e98285)
  • Name history drop in its own planning errors (e205318)
  • Collapse duplicated setup and outcomes in grit history (c93aaab)
  • Add RewritePlan::replacement and head_change (38be4a0)
  • feat: diff --no-index for filesystem paths outside a repo (79a5a8e)
  • Merge branch 'factory/map-cg-midx-2533' (c2e5251)
  • tests: restore mapped-vs-owned CG/MIDX regressions on large fixtures (0b020b1)
  • diff: fix argv normalization for global flags and pathspecs (b7cdece)
  • Merge branch 'factory/diff-whitespace-modes-2379' (6db2a45)
  • Merge branch 'factory/map-cg-midx-2367' (0ed7457)
  • Merge branch 'factory/daily-matrix-branching-2358' (4698668)
  • diff: honor diff algorithm when whitespace normalizes lines (6a579d8)
  • diff: address whitespace review findings (765586d)
  • diff: add -w, -b, and --ignore-blank-lines whitespace modes (a809a57)
  • lib: preserve ref iteration order for --all tips Stop sorting peeled commit tips by oid so rev-list walks seeded from --all match Git's ref order (fixes grit revs --all vs git rev-list). (d6f8156)
  • lib: make single-pack ODB reads reentrant under invalidation Take the thread-local SingleLocalPackReader out of its RefCell slot before read_object so nested cache clears during pack invalidation do not panic. Use try_borrow_mut when dropping the slot on clear. (6b58a4f)
  • lib: restore merge-base parent walk metrics and fix walk edges Count parents_of calls before the shared linkage cache so merge-base regression tests observe intersect-walk depth again after repo-wide commit linkage caching. (7983162)
  • cli: resume log walks from cursor query alone When continuing with --cursor, decode the token and step using the embedded LogWalkQuery instead of rebuilding selection from implicit HEAD. Reject explicit revision, date, and ref-set flags alongside --cursor. (0fa7fb4)
  • cli: shared RevSelectArgs for log and revs; rename log cursor Add RevSelectArgs (ranges, -n, dates, ref sets, path operands) shared by log and revs, mapping to RevWalkListOptions with committer_cutoff_from_date. Rename log paging to --cursor; accept lw1. tokens on deprecated --before with a warning and --before as an --until date alias otherwise. (9fb8870)
  • style: cargo fmt after rebase onto main (c190137)
  • revwalk: fix merge since bounded count and speed revwalk paths Use full-graph bounded walks when linear-chain since fast paths hit merges, with a Git-oracle merge DAG regression. Return zero quickly when counting from an ancestor of the hide tip, share commit linkage across parse and count on one repo handle, and speed pack reads via single-pack and monotonic index probes. (d42d73b)
  • revwalk: fix review blockers for left/right counts and bounded walks Forward RevWalkListOptions into left_right_counts fast paths, prune hide regions during reachable counting, and prefer first-parent chain walks over full-graph commit-graph counting when tips are linear. (f243eac)
  • revwalk: widen RevWalkListOptions and add left/right counts Extend the high-level rev-walk query API with skip, since/until, merge filters, reverse, and ref-set expansion matching rev-list behavior. Add symmetric left/right commit counts and teach the bounded reachable walk to honor committer-date cutoffs so limited --since walks stay bounded. (733fa54)
  • test: commit-graph daily preflight regression coverage (959dfe8)
  • bench: preflight grit repack and commit-graph before daily timing (b2b3165)
  • bench: daily matrix for branching, refs, maintenance, and misc (c933eaa)
  • Add diff has_changes, --quiet/--exit-code, and JSON changed field (bb5a3a3)
  • grit-lib: update public-api snapshot for commit-graph verify_on_disk (66f0e70)
  • grit-lib: lazy mapped open for commit-graph and MIDX (fcc595d)
  • grit-lib: memory-map commit-graph and MIDX read paths (688bc7d)
  • Merge branch 'factory/no-full-index-copy-staging' (a24741f)
  • Fix -M parsing and bare --find-renames revision safety (2b3196a)
  • Fix -M100% rename threshold and refresh public API snapshot (dd662d1)
  • Format diff rename filter tests after cargo fmt. (56fad50)
  • Add diff rename, algorithm, and filter flags (689650c)
  • lib(diff): honor XDF_NEED_MINIMAL record cleanup limits (f4153c9)
  • perf(index): merge staged replacements without tripling index size (0c2f4e7)
  • bench: fix daily matrix argv and init prepare correctness (8f00e6f)
  • bench: add daily worktree and history matrix scenarios (b690762)
  • Use main merge checkout path; keep consolidated pick/revert apply (6fc9d15)
  • Review fixes: pub(crate) checkout helpers, skip duplicate index refresh on merge apply (15415bb)
  • Keep full worktree clean check on fast-forward merge (2d523b4)
  • Pick, revert, merge: one tree diff for checkout and scoped clean checks (68795a2)
  • Merge branch 'factory/diff-histogram-hunk-2471' (c5c2d37)
  • lib(diff): selection API with DiffTarget, FileDiff, and -U flag (2de1522)
  • lib(diff): Git-compatible histogram hunk selection via xdiff compact (72f5056)
  • bench: fix daily CLI, baseline prepare, and scratch paths (a1dd591)
  • bench: add grit-bench daily headline runner and CI smoke (a4131e8)
  • Merge branch 'factory/ci-green-2463' (e73ac74)
  • docs: fix RevWalkListOptions rustdoc link path (89824a0)
  • grit-examples: retry example builds on flaky linker bus errors (fbfa48e)
  • grit-utils: isolate benchmark scratch dir per test thread (4c6a00a)
  • Merge branch 'factory/special-repo-shapes-2354' (365a80d)
  • bench: add daily special repo shapes (many-refs, big-blobs, deep-tree) (f4fd981)
  • perf(index): merge with min-aux tail-pop; fix deferred restage zip (8ab284a)
  • perf(index): merge staging replacements without a third full index copy (df2db28)
  • lib(diff): git xdiff minimal/patience and structured function context (3e963e5)
  • lib(diff): route structured and log-patch through unified hunk body (f6a558b)
  • lib(diff): unify DiffOptions and line hunk engine (b0d5246)
  • grit-lib: fix worktree_scan parallel test call arity (2e0edf0)
  • Merge branch 'factory/config-once-2369' (05edb27)
  • Merge branch 'factory/blame-perf-2341' (e75c31e)
  • grit-lib: refresh public-api.txt for config session API (5eb6c9a)
  • grit-lib: remove stamp ref-store cache; propagate local config I/O errors (b8c8d7a)
  • grit-lib: drop stale process config caches; validate ref-store by stamp (5d8c335)
  • grit-lib: route ref storage format from RepositoryFormat via ref_storage (66e4fcd)
  • grit-lib: load config and repo paths once per Repository session (9893ddf)
  • grit-lib: fix deepen-relative shallow borders on upload-pack (93cf11a)
  • grit-utils: dedupe perf-targets.toml and fix blame followup (fee3762)
  • grit-utils: run revwalk lib scenarios through grit-bench lib-op (ddcbadd)
  • grit-lib: serialize heavy object_write regression tests on disk lock (01b9d54)
  • docs: fix rustdoc links for CommitFilter and heavy-disk guard (dc7d40b)
  • grit-lib: fix clippy needless_borrow in worktree stat preload (e1f3162)
  • Fix hygiene: warm UNTR test uses grit_test_support::git (fbd0516)
  • Fixes #1231: address review (symlink correctness, UNTR root, perf gate) (2c5f54c)
  • chore(bench): refresh blame-large-tail baseline timings (0a2f5fb)
  • perf(blame): restore pre-round-3 still_pending for all-middle batches (733228f)
  • Merge origin/main into factory/status-scan-memory-2373 (f16e121)
  • Speed up sorted packed-refs with indexed lookup and session stat cache (67839f9)
  • Merge branch 'factory/pack-idx-mmap-2366' (e58816f)
  • Refresh grit-lib public API snapshot for pack index Result types (c3da31a)
  • Apply rustfmt after rebase onto main (6f20ebd)
  • Expect build_pack_rev_bytes in pack ingest roundtrip test (f74e71b)
  • Fix fallible PackIndex offset call sites in tests and examples (d5df8ef)
  • Return typed errors for corrupt pack index offset lookups (e9b69b5)
  • Memory-map pack .idx files with lazy structural validation (36d3f9f)
  • chore: allow clippy too_many_arguments on sparse blob collect (62e8a31)
  • Merge origin/main into factory/status-scan-memory-2373 (5499afb)
  • grit-lib: add parse_date_cutoff with injected clock (fecbf77)
  • Merge branch 'factory/fair-log-bench-2365' (2cfddd3)
  • Fixes #1255: parse unquoted " escapes in gitconfig values (b9c2e8c)
  • Merge branch 'factory/merge-tree-cache' (e6067b3)
  • bench: fair dashboard log scenario uses one grit log --limit 100 (4da123d)
  • Merge branch 'factory/core-repo-shapes-2353' (88c5bc8)
  • fix(status): sparse parallel blob preload for clean 100k scans (14282c7)
  • Merge branch 'factory/dashboard-benchmarks-2313' (3773058)
  • Merge branch 'factory/ci-green-2340' (1364d90)
  • Merge branch 'factory/daily-runner-2352' (277da40)
  • bench: fix daily runner median, balance ABAB counts, skip failed stats (906299c)
  • bench: use sample stddev in daily runner stats (ee3b9d9)
  • bench: direct-spawn daily runner with per-run RSS and ABAB policy (5dc1c59)
  • grit-lib: update public-api.txt for CommitFilter (5656298)
  • grit-lib: byte-safe commit filter identities and propagate match errors (d535d08)
  • grit-cli: default RevWalkListOptions commit_filter field (45230c7)
  • grit-lib: CommitFilter in rev-list walks (author, grep, mailmap) (374b4b4)
  • grit-lib: CommitFilter in rev-list walks (author, grep, mailmap) (e20e5f8)
  • Fix empty-subtree dir false D/F descendant metadata (da98243)
  • Merge engine: parsed-tree cache and touched-only walk (76826a5)
  • Merge branch 'factory/daily-schema-2351' (fe10aaa)
  • bench: daily core repo shapes in fixture registry (33ed33d)
  • fix: serialize disk-heavy index and UNTR campaign tests (ed2a626)
  • chore: refresh public-api after diff structured API reorder (5001d5d)
  • chore: clippy fixes for worktree scan glue (367a236)
  • bench: daily census report schema and scenario registry (d4b1852)
  • bench: refresh dashboard diff and add captures (7ff5d4c)
  • fix: restore synthetic diff fixture before each hyperfine sample (69468f7)
  • bench: dashboard numbers for 8d6be29 (v0.5.14) (70421dd)
  • test: cover grit auth logout against real credential helpers (45c888a)
  • grit auth: drive sign-in through grit-lib's device flow (dfb3b4d)
  • grit-lib: add GitHub device-flow sign-in and helper listing (1353661)
  • fix(status): compact blob scan stats and defer index removals (d9e412f)
  • Fix ignorecase tracked scan paths for case-only renames (0dfffb4)
  • Fixes #1230: avoid double commit staging and use tracked scan with ignorecase (dc006f9)
  • Merge factory/status-perf-1231 for #1239 tests (55d80f7)
  • perf(status): sparse parallel worktree scan without per-index slots (5dd2aec)
  • Merge branch 'factory/clone-receive-perf-1228' (136a842)
  • Merge branch 'factory/untr-cache-1227' (066476a)
  • Merge branch 'factory/diff-markdown-mode-1229' (c68facf)
  • Fixes #1228: speed HTTPS clone receive path (5211c42)
  • Fixes #1227: revalidate UNTR tree before untracked fast path (8002c4e)
  • perf(blame): affix-partition walk and tail-churn bench guard (2c61360)
  • fix(blame): drop same-index shortcut and restore full-file perf (bc65a79)
  • perf(blame): pending-aware diffs and -L fast paths (4418202)
  • Merge branch 'factory/worktree-remove-autocrlf-1232' (8d6be29)
  • Fixes #1229: diff --markdown status and mode metadata (de9935a)
  • test: exempt index write inject thread locals in hygiene scan (dc7c31b)
  • fix(diff): review follow-ups for compact JSON snapshots (21a7914)
  • perf(diff): compact JSON and cap word-level on large diffs (07c762a)
  • chore: rustfmt import order in worktree core (1c11b2d)
  • Fixes #1232: inherit parent environment for linked worktree discover (0c8b5f0)
  • Fixes #1231: speed status and diff on large deep worktrees (37e5591)
  • fix: refs guard test uses store packed-refs path helper (afaaca2)
  • fix: mark history merge counters and index inject for hygiene (7b64178)
  • fix: hygiene exemptions for history test hooks and index inject (03011ee)
  • fix: bench maintenance prepare gc base marker and UNTR campaign disk use (0e2d8b8)
  • Fixes #1216: error when two-arg grit diff has unknown revision (4da6d91)
  • Fixes #1218: resolve log/revs/blame pathspecs from process cwd (310303f)
  • fix: normalize macOS /private paths in relative_path_for_display (bff9ba2)
  • Merge branch 'factory/config-once-2447' (b3021ca)
  • fix: shallow deepen-relative grafts and config stamp invalidation (85e729b)
  • grit-lib: config session caching and ≤2 config opens for grit log (9b7b26c)

Full Changelog: v0.5.14...v0.5.15