Skip to content

v0.5.16

Choose a tag to compare

@github-actions github-actions released this 22 Oct 01:02
· 2658 commits to main since this release

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