Skip to content

v0.5.7

Choose a tag to compare

@github-actions github-actions released this 12 Oct 22:20
· 4285 commits to main since this release

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