Repository navigation
v0.5.7
What's changed
- Merge branch 'factory/json-schemas-1295' (eae8556)
- revert: drop another agent's uncommitted work landed by 134f295 (dfe66a4)
- style: rustfmt new grit-lib tests (134f295)
- Merge branch 'cov-pack-index-build' (eacc938)
- test: cover parallel index-pack delta chains, large wholes and error paths (c84794e)
- cli: gate json schema tooling behind cfg(test) and fix clippy (87f9bae)
- test: discover CLI snapshots and validate plain errors against error.v1 (e1655a9)
- cli: add missing JsonSchema imports on pick, push, and remote (ecb1c4e)
- docs: commit v1 command JSON schemas and document versioning (dac2e86)
- cli: add v1 JSON schema registry, generation, and contract tests (b8c2b48)
- fix: address #1365 review — crate-private setup trace and strict alternate oracle (6272dd2)
- fix: migrate tests and doctests after rebase onto main (e04fc00)
- fix: finish rebase onto main after encapsulation merge (464e995)
- docs: fix strict rustdoc and grit-protocol InitOptions import (fb5f59e)
- lib: finish Repository encapsulation gate fixes (c010c12)
- lib: encapsulate Repository and consolidate open/init/discover (ecaf468)
- cli: typed snake_case enums for merge, push, reset, tag, show, and diff JSON outcomes (27cc509)
- fix: correct fetch/pull snapshot setup and gate alternate oracle (3014791)
- fix: isolate network snapshot modes and print push rejections on stdout (50e09b2)
- test: add network CLI output snapshots with upstream fixture helper (1bf8e5d)
- Merge branch 'factory/local-mutating-snapshots-1293' (33a8d73)
- Merge branch 'ci-test-timeout' (7a71a20)
- test: CLI output snapshots for local mutating commands (091a4bb)
- ci: give the test job 60 minutes (bae5752)
- docs: add markdown output examples for history-changing commands (0cf24fc)
- cli: structured markdown for commit, merge, pick, revert, switch, and add outcomes (643d8c9)
- test: add three-way CLI output snapshot harness with insta (ab8011b)
- fix: checkout reflog when switching from unborn symbolic HEAD (5dbf4fd)
- fix: switch reflog parity for same-branch, remote create, and atomic branch (3538763)
- fix: append checkout reflog when HEAD log already exists (6e132bf)
- fix: write checkout reflogs for switch and branch create (92ffe8e)
- fix: canonical map for new test module imports (9b354b3)
- fix: postprocess_diff_entries worktree arg after main rebase (058cf59)
- test: in-process upload_pack and total coverage sweeps for gate 1343 (6974cb4)
- test: avoid pack_index_build parallel hang under llvm-cov (fed614c)
- test: bulk rev_list/rev_parse/blame/repo coverage for gate 1343 (135f065)
- test: extend total sweep for crlf helpers (f8ee979)
- test: merge_diff and rev_parse sweeps; deepen rev_list walk (10f78d1)
- test: expand history/diff/revwalk coverage for gate 1130 (b1a2fb1)
- test: pack_index_build and history/total coverage sweeps (f77af4c)
- test: rev_list and diff line-coverage sweeps for step 1130 (98a9be0)
- docs: ROADMAP item 16 coverage status (047afdd)
- docs: ROADMAP item 16 status and fix TESTING supporting mapping (5231fe7)
- test: fix pathspec git ls-files empty spec (2467a5e)
- test: supporting-module git compat and interpret-trailers coverage (6f4fe1b)
- fix: green main CI after concurrent landings (b5df2f7)
- Merge branch 'ci-miri-budget' (bcaca73)
- test: keep miri's parallel suite inside the job timeout (fac0295)
- chore: add grit-lib public-api snapshot (4f5d83a)
- fix: route ref and config handles through repository state (1347593)
- ci: add public-api snapshot tooling and CI job (65d6365)
- lib: add typed Repository handles for objects, refs, index, config, revwalk, and diff (71964b4)
- Fixes #980: guard missing worktree registrations, add prune, and list prunable (62f3fd8)
- style: rustfmt rev_parse_resolve_sweep.rs (6896a00)
- Merge branch 'ci-hyperfine-threaded' (72fedb4)
- ci: install hyperfine in test-threaded (eaddf04)
- Merge branch 'factory/revparse-followup-1270' (76f67f2)
- test: clear XDG_CONFIG_HOME when faking HOME for git in ignore_rules (9e2cf99)
- test: scope worktree syscall probes to the probing test's root (47b4713)
- test: reach rev_parse.rs 85% coverage floor without lowering it (c357632)
- test: deterministic ambiguous hex, diagnose paths, and revparse coverage (4c9f46c)
- test: target ambiguous hex and outside index rev-parse paths (007e87d)
- test: fix conflict-stage oracles and expand rev-parse coverage (3206b43)
- Merge branch 'ci-canonical-no-rg' (43c90a6)
- scripts: canonical layout check without ripgrep (a3b25cb)
- cli: inject writer and single RenderContext for outcome rendering (d136e50)
- ci: give test jobs a git identity (622c678)
- test: stat preload override respects the CPU cap (miri has one CPU) (8fb0c54)
- style: rustfmt trace.rs (50b2fb9)
- fix: green main CI (fmt, clippy, test identity, two deadlocks) (4acc702)
- fix: propagate invalid notes ref errors, parse dotted remote names, and repair handle doctests (64a9489)
- chore: map repo_handles in canonical module layout (6671146)
- docs: document repository domain handles and refresh public API snapshot (c662cfe)
- test: round-trip typed repository handles against system git (9af92dc)
- lib: add typed Repository handles for remote, worktree, stash, notes, and bundle (c0368be)
- fix: reset exec-bit-only worktree dirt on stash push (0e0b187)
- Merge branch 'factory/reset-hard-skip-981' (b1cbd6e)
- fix: stash push -u with file/directory type swaps (aa084f9)
- Fixes #981: skip blob writes on hard reset when trees match (8a8a3a5)
- ci: track grit-lib public API with cargo-public-api snapshot (18f2493)
- Merge branch 'factory/missing-docs-pass-1-1307' (7b8cc6f)
- docs: rustdoc for stable grit-lib core (missing_docs pass 1) (b2261a1)
- docs: refresh grit-lib crate docs and remove Gust naming (b7081d1)
- docs: add grit-lib API layout guide and canonical path checker (c468ac6)
- lib: introduce canonical domain module tree for grit-lib (556e7cc)
- fix: tree↔worktree cache path must not use status-only diff OIDs (7c167c4)
- fix: tree↔worktree break-rewrite uses clean worktree bytes for -B raw output (f77de92)
- test: align reftable git oracles with Git 2.55 ref and reflog rules (ee7369d)
- test: avoid zero oid in geometric reftable compaction oracle (0235d76)
- fix: write MIDX .rev sidecar on byte-identical retention path (e030bc8)
- test: seed reftable oracle repos with git empty commits for fsck (697ed50)
- fix: config oracle gating, symref delete API, and network rustdoc link (db46e51)
- docs: refresh TESTING/ROADMAP CI status and clarify --threads=0 checkout (2cd530d)
- fix: restore test-threaded config parse and reftable batch behavior (4400f75)
- Fix grit-lib rustdoc links for private items (15ce68d)
- Refresh suite-after-LH status/add timings (6be5df5)
- Publish parallel-after benchmarks and refresh suite baselines (d7abf52)
- fix: split_index_git_compat index ls-files harness after rebase (54ef4ba)
- test: raise index-ext coverage above 85% gate (8b214b8)
- test: fix index-ext review blockers and raise coverage (77dba38)
- chore: ratchet index-ext coverage floors after compat tests (d445319)
- test: split index and untracked cache git compat (t1700/t1701/t7063) (ef960cc)
- Merge branch 'factory/porcelain-v2-ita-1277' (2736a5c)
- fix: porcelain v2 null OIDs use repository hash width (f11de3c)
- fix: mask porcelain v2 index fields for intent-to-add entries (992d0b5)
- lib: per-object index-pack workers and scratch zlib skip (3b32b89)
- lib: single-pass inflate for one-thread index-pack wholes (9c4bc8d)
- test: use shared open_grit_repo after rebase onto main (f0151fc)
- Fix merge D/F, symlink conflicts, and ort git-compat fixtures (97835a8)
- Add merge-ort and merge-file git compatibility tests and coverage (c2aed78)
- fix: porcelain v2 unmerged XY and real skip-worktree acceptance tests (53ec20b)
- test: raise index and sparse coverage to 85% floors (f9ebb76)
- fix: porcelain v2 worktree mode matches git on deletion (ccb1506)
- docs: map upstream index/sparse tests and ratchet coverage floors (dbc99d5)
- lib: index and sparse-checkout git-compat tests and porcelain v2 status (5d59603)
- Merge branch 'factory/index-pack-scaling-1235' (1e8d045)
- lib: overlap scan with batched parallel index-pack hashing (25b9c57)
- lib: restore ordered index-pack pool and drop rescan pass (825ac2e)
- lib: pipeline parallel index-pack inflate with deferred base retention (093b5ed)
- test: strengthen rev-parse oracles and expand revparse coverage (2e04c7c)
- test: rev-parse and merge-base git oracles with history harness (a00129f)
- fix: emit no-newline marker after histogram EOF context lines (a385c33)
- Merge branch 'factory/fetch-pull-progress-1144' (6d56077)
- test(revwalk): oracle rev-list ordering and limiting vs git (82355eb)
- Merge branch 'sc-branch-3' (8080a2c)
- Merge branch 'factory/diff-tree-renames-1124' (8fc7308)
- feat: show terminal fetch and pull progress like clone (7ed8cff)
- Expand stash, notes, worktree, and patch-id git-compat tests (97b8022)
- fix: tree↔worktree cache path must not use status-only diff oids (2675777)
- fix: coalesce break-split deletes when rename absorbs worktree add (2f3996a)
- fix: break-rewrite reads worktree bytes when new OID is null (24d9fcc)
- test: expand tree/combined diff coverage and ratchet floors (a898afc)
- Merge branch 'factory/revwalk-simplify-1126' (52de9b9)
- fix: keep real worktree OIDs when diff feeds staging (975237d)
- test: tree and combined diff git raw parity (t4001–t4057) (df73d1a)
- feat: postprocess tree diffs for break, rename, and copy detection (56d85e0)
- rev-list: history simplification, object walks, and upstream-compat tests (1fa13b0)
- fix: binary patch delta sections and git stat-width parity (9c10255)
- fix: review blockers for blob diff harness (GPL fixtures, no-newline headers, binary patch) (652cc0a)
- diffstat: read COLUMNS with hygiene exempt; ratchet coverage floors (21f8650)
- diffstat: honor COLUMNS env and expand layout test coverage (2d2a011)
- test: fix diffstat narrow-width unit test assertion (a27392b)
- test: cover more diffstat layout edge cases (9c0a8ac)
- test: expand blob diff coverage and diffstat unit tests (a598b2c)
- test: blob diff algorithm harness and git oracle integration tests (2093225)
- feat: surface remote sideband progress on fetch and clone (0d35ed5)
- Report bundle pack ingest stats on FetchOutcome and clone JSON (a6a1739)
- Print clone summary stats in human, JSON, and Markdown output (5bc475d)
- Add TransferStats to FetchOutcome and surface counts on CloneOutcome (a4f4957)
- Merge branch 'factory/fix-push-daemon-reset-975' (3defaa6)
- Fixes #972: rename detection in commit diffs and grit diff --unstaged (af6d2ca)
- Merge branch 'factory/index-pack-scale-threads' (709acc8)
- Fix side-band diagnostic duplication during receive-pack completeness checks (fe6f8a1)
- Fixes #975: tolerate receive-pack reset after complete report-status (08a646c)
- Fixes #974: record bundle header refs using Git DWIM tag order (c967247)
- lib: bounded index-pack memory, 2.5x scaling, matrix_push EINTR retries (139457d)
- lib: thread idx sort from pack.threads; single-pass parallel index-pack (31b4f28)
- lib: fix parallel idx k-way merge indexing (f540cb9)
- lib: fix parallel idx k-way merge indexing (986ce1e)
- lib: index-pack delta work-stealing, parallel idx sort, thread tests (0c75332)
- Remove unreferenced grit-lib modules and ratchet coverage (1aef169)
- Fixes #973: store worktree gitfile paths without Windows verbatim prefix (a33a5d1)
- lib: parallel checkout for tree apply (clone, switch, merge, pull) (a3b702b)
- Merge branch 'factory/parallel-status-1000' (b3a37ff)
- Merge branch 'factory/fetch-prune-967' (a8b0cc1)
- Fixes #966: read symlink targets for worktree diff (0a9319f)
- fix: thread UntrackedCollectMeta through stash untracked collect (87e94e6)
- docs: document index stat preload parallelism policy (d25d65c)
- test: differential status_parallel serial vs threaded fixtures (efa83c7)
- lib: parallel top-level untracked scan for all ignore modes (8898cfc)
- lib: run status dirty-candidate hashing through try_par_map (63b5354)
- lib: git preload thread math and entry-partitioned stat preload (b1555f5)
- Merge branch 'factory/mv-ignorecase-968' (dd9ed8e)
- Test: APFS-safe dir entry checks in ignorecase_mv CLI test (b0f96e9)
- Fix case-only directory mv and APFS-safe test checks (381c62f)
- Fix #970: link remote packs on initial local fetch and speed clone checkout (321c4bd)
- perf: warm UNTR persist and faster index-backed diff on 50k trees (0c6b60b)
- Review: prefix-relative HEAD prune skip and slash remote names (1c2b65f)
- Fix fetch --prune phantom updates for origin/HEAD and packed tracking refs (8855418)
- Fix case-only mv temp path clobbering tracked files (4dcb76c)
- Fixes #968: allow case-only mv when core.ignorecase is set (f48f733)
- Merge branch 'factory/ref-peel-dup-1205' (531d92b)
- lib: reject conflicting symref peel writes in one batch (da2c91d)
- fix: apply files ref batch commits incrementally for symref deref (ae69202)
- fix: use resolved --git for parallel rename diff prepare (88f1e1a)
- bench: stabilize parallel suite fixtures and recapture baseline (7ddcdf1)
- bench: add grit-bench parallel suite and before baseline (c90f476)
- fix: align bundle ingest progress with optional index-pack API (b090511)
- test: exempt git oracle in fetch_local progress unit test (95ce842)
- fix: start copy progress before work and report index units correctly (720ccab)
- lib: report copy and bundle index-pack progress on local clone (b0468d7)
- lib: typed ProgressPhase and ProgressSink for fetch progress (254507c)
- feat: wire clone receive progress and CLI terminal renderer (46f8afe)
- fix: files refstore commit CAS against in-batch ref state (9cdb224)
- Merge branch 'factory/coverage-gate-1119' (d2e7c11)
- docs: note clone checkout progress on stderr (d91f97b)
- lib: checkout progress via ProgressSink and clone TerminalProgress (5e21438)
- lib: index-pack progress for objects and deltas (edc508e)
- fix: pause-test lock ordering and library-wide total coverage (5edd834)
- fix: review blockers for mapping, harness, coverage, and ref batch commit (574fcc2)
- ci: ratchet history coverage floors and library total minimum (e7767c6)
- ci: fix make coverage, total floor, and history coverage groups (a7afd7d)
- lib: typed ProgressPhase and ProgressSink for fetch progress (6dfd338)
- bench: fix fresh-checkout prepare and recapture baseline (4bac1d0)
- bench: stabilize parallel suite fixtures and recapture baseline (e082a8d)
- bench: add grit-bench parallel suite and before baseline (cf5c7af)
- Merge branch 'factory/log-author-name-969' (4121de1)
- Merge branch 'factory/stash-untracked-guard-963' (d479462)
- Merge branch 'factory/xdg-global-excludes-965' (dadc900)
- fix: drop blanket conflict-marker scan on merge commit (acab2d9)
- Fixes #971: auto-stage resolved merge conflicts on grit commit (a0c2994)
- fix: broaden stash untracked collision guard and review nits (d5b8eb3)
- fix: refuse stash apply/pop when untracked restore would clobber worktree (90015aa)
- Fixes #965: honor default global excludes from embedder Environment (0f35581)
- bench: dashboard numbers for 10642dd (v0.5.6) (97864d5)
- fix: show commit author name in grit log output (5e778d4)
- fix(revwalk): boundary parents for date cutoffs without broadening simplify (7d2bc95)
- Merge branch 'factory/revwalk-simplify-1258' (af86c9a)
- fix: manual notes merge keeps live ref; mapping and rustfmt (863cd71)
- fix: simplify-merges parent rewrite matches git on path merge-back (f1ce2a9)
Full Changelog: v0.5.6...v0.5.7