Repository navigation
v0.5.16
What's changed
- status: pathspec limits, -u forms, and rename old_path (b34b962)
- Register lockfile, path_validate, and fuzz in canonical module map (6c25bb4)
- Relax trace span test after revwalk setup span removal on main (fe47cb1)
- Drop unsupported grit show -W assertion from format flag test (ee59a5c)
- Refresh CLI output snapshots for change_id on rebased main (20bcfc8)
- Align json_output tests with change_id JSON fields on main (bdb7ba1)
- Add lockfile module rust doctest for public API gate (57b38d2)
- Fix rustdoc private link in grit-test-support for gate (b973656)
- Speed up parse_tree owning path via shared entry parser (8fc0c58)
- Fix tree pathspec kind check and single-pass parse_tree (2f76f33)
- Add zero-copy TreeRefIter and migrate hot tree walks (36ba3c1)
- fix: restore public pathspec module export (fb8d9bb)
- diff: match Git 2.55 u0 hunk boundaries (a5e14de)
- tests: disable changeIds in history reword git parity test (047fdc2)
- Merge branch 'factory/commit-scope-2809' (88912b7)
- status: separate target and upstream standing (7cd3c28)
- fix: preserve index on partial commit hook failure and review follow-ups (ccce2ac)
- commit: add scope (--staged, paths, commit.autoStage) in grit-lib and CLI (9d83240)
- fix: pathspec-from-file NUL literals, empty records, and Error conversion (6febf57)
- docs: document pathspec-from-file on add, rm, restore, clean (e19a888)
- chore: refresh grit-lib public-api snapshot (1caa23d)
- fix: restore pathspec CLI wiring and error types after rebase (abe778e)
- fix(diff): skip assume-unchanged paths in tree-to-worktree diff (30ba8f5)
- chore: cargo fmt pathspec import order (b68dff8)
- fix: use worktree::pathspec imports and restore canonical map entries (d54ce1b)
- test: refresh skill snapshot after status-conflicts rebase (035a1f5)
- chore: extend canonical module map for test imports (522f1e1)
- docs: mention StatusHeader in branch tracking guide (77382e8)
- status: move header and pull hint into grit-lib (aa96299)
- Merge branch 'factory/change-id-negative-cache-2846' (e714d4e)
- Add signed annotated tags and grit tag --sign (89a2572)
- Add change-id Git compat e2e test and user guide (8f03e87)
- Fix change-id probe cache: fingerprint negative results (b8e234a)
- Merge branch 'factory/path-enforce-2752' (9f2883a)
- test: expect change_id in commit JSON schema stability check (0fa44b1)
- status: libify branch standing and rebase onto main (e397448)
- Merge branch 'factory/ci-green-2835' (7a1294d)
- chore: rustfmt change_id imports (daafa72)
- chore: extend canonical-modules map for path_validate and lockfile (5555333)
- test: enable function_context in structured hunk unit test (3dc1c31)
- test: refresh show_head snapshot for change_id JSON (2c086cc)
- fix: include change_id fields in show JSON commit object (fca2165)
- docs: document -W/--function-context on log and show (7c7f947)
- test: refresh show JSON schema for patch-text flags (7dcbd73)
- cli: wire -W function context and complete patch-text rebase fixes (ad36369)
- test: refresh shallow clone CLI snapshot (1c1c12b)
- test: refresh pick/revert CLI snapshots after main rebase (e978dc6)
- test: expect change_id fields in shared commit JSON shape (619dcb6)
- path enforce: Bugbot tests, protect config, checkout diff-only validation, bench-friendly tree walk (3004ae7)
- Reject NTFS .git backslash spellings in every segment (c42346d)
- Address path validation review: add staging, platform rules, tests (19c8998)
- Enforce path validation at index population and checkout (38c06ae)
- Fix CI: canonical fuzz map and Windows required param (6cde1df)
- refs: report a missing ref as a typed RefStoreError::NotFound (3d4bd96)
- Merge branch 'factory/status-conflicts-2805' (277ea2f)
- status: pull hint follows upstream when distinct (675ea43)
- status: fix upstream-without-target and schema drift (8ca1bd5)
- status: report target and upstream separately (1cdab3c)
- Merge branch 'factory/branch-tracking-leftovers' (3e5dee6)
- Fix parse_tag: preserve all bytes after tagger (31e006d)
- Preserve extra headers on annotated tag objects (d303ade)
- cli: render SHA-1 hash collision errors and fsck findings (f28b424)
- Status: typed conflicts and operation next_steps (189bf84)
- Speed up change-id prefix lookup; rebase gate and diff flag wiring (9649b02)
- Merge stored change-id matches when derived prefix hits exist (fbf83e7)
- Speed up change-id lookup; share ambiguous candidate formatting in CLI (7091ba4)
- CLI ambiguous change-id errors, docs, and resolve/change-id bench row (2e8b6e2)
- Resolve change-id prefixes in rev-parse with ref-walk lookup (3f98a79)
- style: rustfmt after rebase onto main (ac39e48)
- perf(objects): hashbrown OID maps and sized bulk insert (e6687c9)
- perf(objects): fast OID hash maps for hot paths (c0b84e9)
- branch_tracking: drop grit-git leftovers, load fetch refspecs once per push (862947d)
- Merge branch 'factory/log-graph-2397' (478b256)
- log --graph: fix lanes, filtered parents, and snapshot/schema coverage (3097a23)
- log: add --graph layout and topological walk for human output (0f8a1bf)
- log: defer HEAD resolve for plain log; UTF-8-safe group-by; refresh log schema (4684549)
- log display: address review regressions (decorate, config I/O, group-by perf, docs) (f2ea959)
- log: --oneline, --decorate, and --group-by author (c4bacb1)
- grit-cli: author/committer/grep filters on log and revs (11fab89)
- Unify CommitJson across log, show, revs, and shortlog (c9fca5e)
- Document branch and tag listing/deletion in the refs guide (67f4639)
- grit branch/tag: list and delete through grit-lib (fb5b1e5)
- grit-lib: list and delete branches and tags in porcelain (5f7f1d6)
- refs: trim per-transaction work in the files store (525545c)
- refs: files store deletes leave no empty ref or reflog directories (3c8b426)
- Merge branch 'factory/mutation-change-id-json-2710' (cdf9770)
- Update public-api snapshot and test write_paths_patch (6be19b6)
- Set sign: false on RewriteOptions in change_id history tests (b8d438b)
- Silence unused change_ids in write_rewritten_commit after rebase merge (2ad7dd9)
- Fix patch-text --quiet and --no-index; honor -M on worktree diffs (3fb6fd8)
- Fix CI: canonical change_id map, Windows pickaxe ERE, grit diff --patch-text (86f88e4)
- Apply rustfmt to cli_fixture (6bdcf8d)
- Address review: preserve headerless change ids and fix merge tests (21dcad7)
- Report change ids in mutation JSON outcomes (b59ef7f)
- Merge branch 'factory/history-rewrite-resign-2712' (3c940ab)
- Merge branch 'factory/commit-ref' (8a17ee8)
- Merge branch 'factory/sha1dc-ingestion-2717' (049b699)
- docs: fix lockfile rustdoc link to private API (4694513)
- Update public-api snapshot for lockfile module (838cfe5)
- fmt: rustfmt on lockfile integration files (f44720b)
- Fix lockfile timeout units, rollback, and jitter (038738d)
- Add unified LockFile with Git-style lock backoff (847e2a2)
- Run rustfmt on CommitRef integration files (77a5892)
- Fix CommitRef header round-trip and meet 2x parse benchmark (9feaced)
- Add borrowed CommitRef commit parser and migrate hot paths (9246731)
- Merge branch 'factory/path-validate-2751' (89e5362)
- Fix raw ODB writes skipping payload collision check (fd7e114)
- hash: sha1dc on SHA-1 object ids with typed collision errors (f6199f2)
- Merge branch 'factory/tracing-spans-2759' (430359b)
- Assign change ids on clean merge, pick, and revert commits (0d7fc22)
- Add grit-lib path_validate module for Git path component rules (9075bc7)
- Merge branch 'factory/fuzz-parsers-2758' (1949f7d)
- Address tracing review: tree spans, lean subscriber, crate-private macro (61f0a20)
- Add optional grit-lib tracing spans and GRIT_TRACE CLI output (8a4e9c5)
- Merge branch 'factory/shallow-clone-tag-depth-2' (570be06)
- test-support: make CLI snapshots platform-independent on macOS (de2488e)
- Fix index parse minimum size and fuzz review follow-ups (b418066)
- Add grit-lib parser fuzz targets, corpus replay, and weekly workflow (6296810)
- Fix index parse when input is shorter than the checksum trailer (c46939e)
- fix(fetch): depth-limited tag following uses full shallow closure (b89eff5)
- Re-sign history rewrite commits when commit.gpgsign is enabled (cc1e997)
- clone: shallow tip annotated tags and CLI snapshots after rebase (8831bf3)
- clone: keep tag OIDs out of shallow depth computation (e7335da)
- tests: fix compile after DiffTarget and DiffOptions API changes (f84b389)
- clone: single-branch shallow clone matches git --depth=1 (1c1e627)
- clone: add --shallow and depth for local fetch (59a2739)
- Fix review: daily headline counts, status test, public API snapshot (60df426)
- Fix change_id helpers and finish daily matrix registration (e87f68a)
- Show change_id in log, show, revs, and status JSON and human output (29a8fce)
- fix: import DiffTarget in diff_detail_git_compat after rebase (1351f0e)
- style: rustfmt commit_change_id after rebase (3f5d071)
- Review: preserve Git byte-identical commit fixture and refresh CLI OID snapshots (06b874b)
- Assign change ids in create_commit for new commits, amends, and merges (3d27690)
- Merge branch 'factory/ci-green-2690' (6a4b2f4)
- site: fix the docs check broken by the change-id and hash-bench merges (b0e75fe)
- fix: do not allow hyphen values on diff commit positionals (1f62b53)
- fix: no-index stat counts, dashed paths, and error exit code (a7d701c)
- fix: restore CI green — diff --no-index, docs, snapshots, schema table check (eaaa6b4)
- fix: resolve DiffOptions moves and stale diff compat tests (80fe75b)
- Merge branch 'factory/bench-refresh-2375' (d545063)
- Merge branch 'factory/site-clone-widget-width' (189c6e0)
- site: let the blog clone widget use spare width instead of clipping (8fe0f5f)
- Fix show_head CLI snapshot JSON field layout (5bb21b4)
- Fix hash-object hash suite driver label and use prepare_bin (b2f4703)
- bench: hash criterion groups and grit-bench hash-before baselines (aea109f)
- Merge branch 'factory/history-change-ids-2706' (fa1c2bf)
- site: copy button on the home page install command (ac7d5cc)
- Fix main's broken gate: test compile errors, snapshot markers, doc gaps (3b0ffbc)
- Preserve change ids in history rewrite planning (5877181)
- Split ChecksumHasher from ObjectHasher for file trailers (6085151)
- Add grit-lib change id type, commit headers, and policy (dcb4d9f)
- bench: refresh dashboard matrix baselines after perf plan (92cc965)
- Merge branch 'factory/log-group-by-perf' (7aeecb2)
- Merge branch 'release-publish-crates' (e3bd203)
- grit-bench: tolerate processes exiting while sampling RSS (0e99bc6)
- Speed up log author group-by counts on large pack repos (d5ba065)
- clone: overall progress bar with a time-left estimate (290ec29)
- perf: skip already-local tags and stop early in fetch tag-following (592cfc2)
- Merge branch 'factory/rev-select-cursor-2681' (e7166a8)
- Merge branch 'factory/show-p1-2384' (9c302ce)
- fix(cli): reject log selectors when continuing with --cursor (0a9b061)
- Steering fixes: show JSON contract, binary rev:path, Bugbot items, hygiene scanner (214f76e)
- Rebuild grit show P1 on main without #2382 stack (f7c733a)
- log: pickaxe -S/-G in rev-list and grit log (6f8017f)
- Merge branch 'factory/revision-selection-bench-2399' (63f740f)
- Merge branch 'factory/ci-green-2654' (abd9a75)
- bench: revision-selection baseline, daily matrix, and census wiring (a6f5043)
- fix(diff): git xhistogram emit path without same-index flag clearing (fddb8ac)
- Merge branch 'factory/rev-select-args-2391' (7255e1c)
- Build CLI identity lines through grit-lib (6e9dcd4)
- Resolve identity lines in one place in grit-lib (9411350)
- cli: RevSelectArgs for log and revs; fix log continuation (9f1f5af)
- Merge branch 'factory/lto-release-profile-2370' (756aa95)
- chore: rustfmt after rebase onto main (35c983c)
- build: finalize dist profile (opt-level 3, panic unwind) and document RSS (0575419)
- build: split dist profile for shipped grit and fix RSS docs (d65a7f6)
- build: enable fat LTO and single codegen unit in release profile (dfb82d1)
- Make explicit add pathspec validation sub-linear and allocation-free (11420e8)
- fix(cli): resolve stash show stat merge markers left on main (cbae439)
- feat(diff): Git histogram parity for -w/-b whitespace modes (a296481)
- Merge branch 'factory/show-p1-binary-fix-2606' (5127de0)
- fix: grit show rev:path, combined merge diffs, and log merge stat parity (4162638)
- Gate Windows-only worktree stat helper (c6812d0)
- Keep zlib prefix inflation for commit header reads (cf48b8f)
- Remove unused grit-cli helpers (b22bcc8)
- Run the orphaned checkout unit test and tidy grit-lib test imports (f93d8b3)
- Remove dead grit-lib code hidden behind allow(dead_code) (3d85bc2)
- Drop unused workspace dependencies (29f8b4d)
- fix: clone DiffOptions in tests/benches; scope tests for format flags (66ff26b)
- fix: remove diff blob thread_local; unify diff format scope (d18145b)
- fix: skill snapshot, stash stat blank line, ThreadPolicy in commit_files_many (130d6b1)
- log/diff: fix review blockers — rename JSON, deleted pathspecs, totals, perf (1d0ee4e)
- log: add -p and diff detail flags with commit_files_many API (aa341f7)
- blog: the clone's objects are the post's words, counted as you read (6875cc4)
- blog: highlight the table-of-contents entry for the section being read (035b32e)
- blog: a grit clone under the table of contents that progresses as you read (414d36f)
- Fix broken intra-doc links in diff::handle (e82a700)
- Fix diff rename prefilter, Bugbot regressions, and single-scan paths (446cc4a)
- Add diff stat and name-only detail modes to grit-lib and grit diff (2a09fcc)
- Refresh skill CLI snapshot after main skill.md updates (c1a2599)
- Regenerate revs JSON schema after rebase onto main (9b84e40)
- Fix grit-bench revwalk suite clippy after rebase (3a4af49)
- Rebase onto main: resolve conflicts and restore log cursor validation (3463e22)
- Fix pack reader reentrancy, log cursor validation, and since-cutoff walk (6562782)
- Stabilize revs --all git-compat test under parallel runs (e73dc68)
- Update grit skill snapshot after log cursor docs (64197a6)
- Fix log cursor continuation and review blockers (cd9066e)
- cli: shared RevSelectArgs for log and revs; rename log cursor (506eb67)
- revwalk: fix merge since bounded count and speed revwalk paths (0903ee5)
- revwalk: fix review blockers for left/right counts and bounded walks (f9cb101)
- revwalk: widen RevWalkListOptions and add left/right counts (69fbe2c)
- blog: two weeks inside the grit factory (29659a8)
- site: let a blog post load its own figure script and styles (0ef96ec)
- Merge branch 'factory/fix-fetch-literal-url' (e239b03)
- Fix FETCH_HEAD for bundle fetches and explicit URL refspecs (9680223)
- Fixes #1319: do not rewrite origin tracking refs on literal URL fetch (3b35075)
- Restore replay clean-merge checkout and fix pull/conflict preserve paths (0c4d28e)
- Fixes #1321: allow merge with unrelated local changes (da1d6ad)
- Merge branch 'factory/ci-main-green-2566' (2941791)
- fix(diff): Git histogram and minimal U0 hunk parity with system git (ddbaf5d)
- Fix grit gc skipping repack when a pack already exists (2c14376)
- Fixes #1317: prune empty ref parent dirs after lock removal (b041a51)
- Fixes #1318: gc builds delta-compressed packs from loose objects (396520a)
- fix: daily smoke gaps, plan validation, and failed timed runs (d1f7e5d)
- test: daily MATRIX registry coverage helpers and tests (dd2476e)
- docs: complete daily matrix registry and MATRIX.md (578753c)
- bench: fix daily matrix argv and init prepare correctness (db37d58)
- bench: add daily worktree and history matrix scenarios (2d9125a)
- Merge branch 'factory/notes-api-quality' (d922772)
- Merge branch 'factory/log-display-2396' (d913170)
- log: fix group-by --count -n and pack author scan perf (5dc61ba)
- log: speed group-by author --count for git.git benchmark (694d8ae)
- log display: address review regressions (decorate, config I/O, group-by perf, docs) (6ee4690)
- log: --oneline, --decorate, and --group-by author (aa0112b)
- Merge branch 'factory/fix-worktree-scan-windows-1303' (787a31e)
- Merge branch 'factory/stash-autocrlf-smudge-cca7' (0696ac8)
- Merge branch 'factory/worktree-add-checkout-bulk-6dd6' (b3922e9)
- Merge branch 'factory/fix-1304-windows-stat' (0806cea)
- Hold write-target ref locks from the CAS recheck to the write (8962f0f)
- Use list_with_bodies and the add outcome in grit notes (d266dd2)
- Route notes writes through the ref store with typed errors (5571ce5)
- grit-cli: author/committer/grep filters on log and revs (7088da6)
- Unify CommitJson across log, show, revs, and shortlog (0229957)
- Fixes #1306: use parallel bulk checkout for populated worktrees (cf9f187)
- Fix worktree list main path on Windows linked checkout (90e0689)
- Fixes #1304: trust git clone index stats on Windows worktree scan (29b0789)
- Fixes #1305: smudge stash apply/pop worktree writes with autocrlf (fbac8ab)
- Fixes #1303: repair Windows worktree_scan compile errors (909f94b)
- grit-lib: honor filters in revwalk count and bounded rev-list walks (33d1629)
Full Changelog: v0.5.15...v0.5.16