Skip to content

v0.5.18

Choose a tag to compare

@github-actions github-actions released this 23 Oct 23:16
· 2263 commits to main since this release

What's changed

  • Fix schema index and CLI contract after rm/mv dry-run (3228736)
  • Fix forced move rollback order and parent recreation (fd9bf11)
  • Update public-api.txt for MoveDuplicateDestination error variant (92fea7e)
  • Fix review regressions for mv duplicate targets and clean semantics (9c3fc50)
  • Fix rm/mv compat tests and index-write failure unit test (80f1190)
  • Fix clippy too-many-arguments on move planning helper (1a04205)
  • Add rm/mv dry-run, move_paths batching, and clean scope filters (a08242c)
  • chore: regenerate public-api.txt after rebase onto main (df5d30d)
  • fix(clone): refresh clone_local JSON snapshot for detached field (d3c4c83)
  • fix(clone): review blockers for depth zero and MATRIX coverage (23c0ba9)
  • feat(clone): add --depth and -b/--branch for shallow and tag checkout (8744595)
  • chore: refresh grit-lib public-api.txt for reset preview API (4f68730)
  • fix(reset): keep dry-run lists local and untracked blockers (252105a)
  • fix(reset): address review on orphans, keep unmerged, dry-run (fc2d425)
  • Add reset --keep, --dry-run, and orphaned commit reporting (05754a8)
  • fix(blame): skip absent ignore-revs oids and refresh snapshots (3eb8877)
  • feat(blame): ignore-rev and ignore-revs-file support (c45a5f4)
  • Merge branch 'factory/stash-pathspec-index' (57333db)
  • feat(stash): pathspec push and apply/pop --index (561d9b7)
  • fix(hygiene): exempt thread-local and upload-pack spawn for ratchet (c40f1e6)
  • bench: record diff/worktree daily rows before and after the index load fixes (daf17d6)
  • diff: load the index once for the default worktree diff (91b776e)
  • index: map large index files and verify the trailer while parsing (987778a)
  • test: regenerate skill snapshot for init section (6e58b7d)
  • fix(init): optional object format on reinit, reject bare+separate (cbb265c)
  • test: drop redundant InitOptions initial_branch literals (e32f4e9)
  • feat(init): initial branch config, separate git dir, and sha256 format (803190d)
  • Merge branch 'factory/filtered-fetch-promisor' (009ae4c)
  • fix: effective remote -v URLs and set-url edge cases (76b15e7)
  • feat: grit remote set-url and verbose remote list (c768593)
  • doc: disambiguate Error link in partial_clone rustdoc (3b5022b)
  • Merge branch 'factory/schema-index-snapshots' (7aacbf0)
  • Capture structured error snapshots from real CLI runs (bc73560)
  • Complete schema index and JSON snapshot coverage (5d823da)
  • chore: regenerate public-api.txt for partial-clone API (a7c9b00)
  • fmt: transport fetch_remote call wrapping (0c1889f)
  • Fix fsck missingObject for promised index blobs (3764bf4)
  • Fix review: mut FetchOptions call sites, partial-clone clippy, promisor when filter dropped (e4d8b21)
  • Add partial-clone filtered fetch with promisor pack support (a3fe8b8)
  • Add CLI conventions contract test and docs page (7933179)
  • fix: regenerate public-api.txt from cargo-public-api (e9863d8)
  • tests: regenerate skill snapshot for reflog skill row (1c6cbd0)
  • reflog: add Signature parsing and richer --json fields (cb5a7e4)
  • fix(history): thread-local merge-tree counter for parallel tests (aededf2)
  • fix: split rest commit when empty tree matches insert parent (a4d3ac2)
  • fix(revwalk): limit-2 fast path only for non-merge tips (6865ddd)
  • perf(revs): fast single-tip pages and reuse walk commit data (b8923c0)
  • fix: restore deep-history review fixes on rebased main (0cdee2b)
  • Merge branch 'factory/rebase-exec-3258' (2be7598)
  • Merge branch 'factory/pick-rss-3431' (4f5db4f)
  • Merge branch 'factory/unwired-feature-leftovers' (a899481)
  • Merge branch 'factory/tag-list-speed' (5b524dd)
  • Remove the uncalled bitmap config gates (9d2f28b)
  • delta islands: stop parsing pack.islandCore (cff42e8)
  • Remove the unused push-certificate module (fd1f2e1)
  • fix(rebase): hard-reset worktree on exec rollback (2dd59b0)
  • refs: index packed-refs peel lines only when enough refs need peeling (d5f5926)
  • pack: test object reads with a multi-pack-index across lookup passes (a74bba5)
  • refs: test tag listing against git for loose, packed and shadowed refs (62606de)
  • odb: test loose inflate across read chunks, truncation and lying headers (6109f1e)
  • refs: collect listed refs in a vector instead of a name-keyed map (cf1d326)
  • pack: keep filtered lookup passes to the packs they select (4207e49)
  • odb: read a small loose object with one read syscall (3a93e85)
  • refs: peel listed refs from packed-refs and read each tag object once (b1db237)
  • odb: inflate loose objects without zero-filled scratch or per-read zlib state (8144876)
  • fix(replay): sequencer checkpoints, pick RSS, and compat tests (1b754c1)
  • test: use non-empty rewrite tree in conflict replay fixture (ced2236)
  • test: refresh skill snapshot and list merged-ref daily scenario (00ad71e)
  • fix: stop duplicating merge conflict next steps in markdown (ccbab17)
  • fsck: render issues from the library's FsckIssue accessors (67a1458)
  • fsck: describe issues once on FsckIssue (67ce281)
  • fix(history): fixup hunk planning, restore, and CLI errors (7b1374c)
  • fix: rebase exec integration on main (schemas, CLI stack tests) (00f010a)
  • docs: refresh public-api for rebase exec (f31d8cd)
  • fix: clean integration artifacts after rebase onto main (7597b7c)
  • fix(clippy): gate-clean cli_command and completion tests (ee07256)
  • chore: cargo fmt exec.rs (1fa77bc)
  • fix(clippy): avoid expect in exec failure path (2d2c794)
  • fix(cli): build clap command tree on large-stack thread in tests (f89eda2)
  • fix(rebase): address --exec review and maintainer steering (4e7cb01)
  • feat(rebase): run --exec after planning with rollback before apply (c7a3567)
  • bench: dedupe matrix registry ids and rename merged ref-query scenario (3e37b46)
  • docs: refresh public-api for StashPushResult::w_tree (394dd52)
  • fix: address stash push hunk review feedback (b25bf58)
  • feat: stash push partial hunks with worktree reverse apply (31f57a4)
  • Merge branch 'factory/typed-error-matching' (76b7093)
  • rev-parse: tell tree-path misses apart by type, not message text (794be0b)
  • refs: typed ExpectedMismatch for branch-commit CAS failures (09cc7a1)
  • config: return ConfigError::BadConfigVariable for a valueless negotiationAlgorithm (51fcf7c)
  • mailmap: report a non-blob mailmap.blob with a typed warning (c4f0654)
  • fix: validate replay before sequencer bootstrap (b3f02f7)
  • perf(bundle): stream the header instead of reading the whole bundle (8f312a8)
  • Merge branch 'factory/diff-staged-wide-cache-tree' (57c0594)
  • bench: record the timed binary's commit in grit-bench daily reports (4e680c8)
  • bench: record diff and deep-tree status daily rows before and after (26df85d)
  • Load staged diff blobs in parallel (7e6e82e)
  • Release the index early and avoid copies in grit diff --staged (2f18deb)
  • Look up wide cache-tree nodes in sorted order in the index-vs-HEAD walk (e555fb7)
  • Remove the unused whitespace-rule engine from grit-lib (a6ed96d)
  • Merge branch 'factory/log-json-speed' (dd0e5c4)
  • bench: split clean vs conflict campaign topology for matrix rows (97470d4)
  • bench: wire campaign conflict matrix and fix grit-utils tests (b59aa06)
  • bench: add merge/pick/revert conflict scenarios and conflicts.json baseline (2d0d7f4)
  • Merge branch 'factory/ci-green-3423' (f2020a2)
  • bench: record log daily rows before and after the decoration and output fixes (5e1635b)
  • cli: buffer rendered command output (34168cb)
  • log: skip packed refs that cannot decorate the listed commits (67758d4)
  • rev-parse: skip the describe-name regex for names that cannot match (9678d32)
  • Merge branch 'factory/odb-peel-dedupe' (77762bb)
  • test(cli): branch list JSON omits is_remote for local branches (f2e6e6a)
  • fix(commit): do not auto-stage when message validation fails (0b57239)
  • Merge branch 'factory/pick-replay-check-3026' (1b17302)
  • fix pick/revert --check: chain no-commit predict tree, schemas, empty-step messaging (6155988)
  • pick/revert: in-memory --check and merge strategy flags (9a7db61)
  • docs: say what ls-remote peel lines hold for tags of tags (4966baf)
  • odb: compute tag peel lines from type headers (adfecfe)
  • Peel revision tips to commits through Odb::peel_to_commit (5f791ef)
  • odb: one helper for tag peel lines and tree peeling (bc47dd6)
  • fix: rebase fixup onto main IndexApplyOptions and skill snapshot (91e2750)
  • test(cli): refresh skill snapshot for history fixup flags (3583993)
  • fix(history): line-range fixup complement and failure-safe restore (119e72b)
  • fix(history): preserve same-path staged hunks on fixup --hunks apply (ade9400)
  • feat(history): fixup unstaged hunks with --hunks and --lines (484dd7b)
  • Merge branch 'factory/restore-hunks-3244' (29e8eec)
  • test(cli): refresh grit skill snapshot for partial restore docs (e5dd0c8)
  • fix(restore): review follow-up for hunks/lines restore (dff67e2)
  • Merge branch 'factory/push-invocation-libify' (314b33a)
  • feat(restore): add --hunks and --lines partial discard (88c6aba)
  • chore: refresh public-api.txt after pick integration (12d7f00)
  • Integrate factory/pick-sequence-3024: grit pick replay sequences (9113343)
  • Merge branch 'factory/pick-sequence-3024' (46daf03)
  • fix: pick gate docs, replay bugs, and pick-range-20 perf (d3bc3c2)
  • fix: rebase onto main and align replay merge path with origin (fe2f3bc)
  • bench: record pick-range-20 baseline and document known perf gap (a63fb0a)
  • chore: public-api.txt for ReplayCreated (e3939bf)
  • fix: pair multi-commit continue JSON and tune replay hot path (f70f381)
  • [conflict] fix: pick sequencer review blockers (abort, continue, ORIG_HEAD, clap) (e158b0f)
  • docs: fix pick.md internal links for site check (1a962c0)
  • [conflict] grit-cli: pick ranges, sequencer flags, and v2 JSON (ee1a857)
  • chore: refresh public-api.txt after rebase onto main (0e17573)
  • fix: branch list markdown unit test after merge-options rebase (3f2e7a8)
  • fix: daily headline count 22 and branch list test gone field (6fb143a)
  • branch list: markdown table tests, skill snapshot, docs escaping (78b6493)
  • branch list: resolve upstream through fetch refspecs (621c495)
  • branch list: fix upstream ref, -a names, current/worktree, daily registry (4aca71d)
  • branch: list filters, upstream markers, and rich JSON (7463f24)
  • push: scan the destination's refs once per push (77c6795)
  • push: list literal URL and path remotes when planning (b8a10a9)
  • push: resolve positionals, remote and plan context in grit-lib (26033be)
  • feat: grit commit --hunks, --lines, and --patch-file partial commits (c723585)
  • Merge branch 'factory/ci-green-3395' (5897344)
  • Merge branch 'factory/commit-paths-speed' (bd9089e)
  • Merge branch 'factory/tree-sha256-tag-bench-2801' (7c9551a)
  • chore(grit-lib): refresh public-api snapshot for tree-sha256 tag create (9f48eb8)
  • bench: record commit daily rows before and after the partial-commit speedups (f3f7dec)
  • commit: seed partial-commit index stats from the real index and prime its cache-tree (3400971)
  • commit: validate path arguments without reloading the index per path (918ada4)
  • Wire grit-bench tag-tree-sha256 command and prepare hooks (f16f75e)
  • Add explicit grit tag --tree-sha256 create for bench scenarios (394fbc0)
  • perf(rev-list): path-limited walks without per-OID tree cache (51540c6)
  • Fix clippy expect in tag create path and refresh skill snapshot (6e301cf)
  • Address review: regenerate tag schema and public-api snapshot (0822955)
  • grit tag: RefQuery list with annotations and list flags (858e9cf)
  • ci: reclaim more runner disk and shrink debug test links (3767610)
  • fix(test): update merge_check oracle calls for merge harness API (e707883)
  • test(cli): refresh skill snapshot for merge strategy flags (2bf211a)
  • fix(merge): squash conflict abort, dates, and pending message (eb742ea)
  • feat(merge): add -X, conflict style, and allow-unrelated-histories (d887177)
  • Merge branch 'factory/merge-options-3020' (9b1da44)
  • fix(merge): integration follow-ups (clippy, tests, snapshots, public-api) (1c8e448)
  • Merge branch 'factory/ref-query-reachability' (4e2e302)
  • cargo fmt: branching imports after rebase conflict (6d386a4)
  • grit-utils: refresh ref-query baselines after exact contains fix (54e3bca)
  • grit-lib: speed up RefContainsBatch with bitsets and active-tip prune (a16a83a)
  • grit-lib: exact contains for many tips; skewed-date regression (e7a91fb)
  • grit-utils: wire ref-query daily matrix and baselines (7d07e0e)
  • fix(merge): tighten SQUASH_MSG cleanup and squash conflict test (7904563)
  • fix(merge): amend message, squash cleanup, skill snapshot (61bf635)
  • fix(merge): preflight commit identity before mutating tree (5b77811)
  • fix(merge): align Git merge state and schema with review (339a2ef)
  • feat(merge): add ff-only, no-ff, squash, no-commit and message options (245fb31)
  • Merge branch 'factory/rebase-continue-3253' (8150289)
  • grit-lib: shared-history contains walk and ref-query perf (8d0b56e)
  • grit-lib: fix ref-query reachability git compat from review (599ad91)
  • grit-utils: refs-driver ref-query workload for reachability benches (e0417bc)
  • grit-lib: RefQuery contains, merged, and points-at filters (f7921a5)
  • fix(grit-cli): run clap-tree unit tests on a larger stack (c4ec829)
  • fix(grit-lib): report grit rebase as non-interactive in status (7d6685d)
  • fix: rebase JSON head field, gate stack, and doc checks (df5925d)
  • fix: run shell completion tests on a larger stack (f6a6c37)
  • cli: grit rebase --continue, --abort, --skip and status hints (fd579dd)
  • chore(grit-lib): refresh public-api snapshot for BundleCreateOptions (738e220)
  • Merge branch 'factory/issue-1518-win-50k-perf-v2' (78f0c26)
  • Merge branch 'factory/blame-mid-churn-perf-3322' (6a32c11)
  • lib: expose grit rebase in status operation hints (70a441e)
  • fix: Bugbot follow-ups for #1518 worktree scan (5dce71d)
  • test: allow extra tracked paths in 50k add perf fixture (9a34688)
  • Fixes #1518: faster dense 50k worktree scans on Windows (ef965bd)
  • fix(add): count line bounds from diff worktree bytes (509ceac)
  • chore: drop stray insta skill snapshot artifact (2ff17c1)
  • fix(add): line selection pathspec, bounds, and hunk union (ff17bc5)
  • Fix windowed blame diff mis-map for -L ranges (f403c51)
  • feat(add): line-range partial staging with grit add --lines (96369e6)
  • Fixes #1505: blame perf on mid-churn files and merge-heavy walks (e47f1c7)
  • Merge branch 'factory/ci-green-3374' (58a0908)
  • Merge branch 'factory/bundle-create-all' (fba0659)
  • docs: fix broken StaleId rustdoc link in hunk_select (abf0bbc)
  • Merge branch 'factory/rebase-check-x-3254' (6e6ac9e)
  • Fixes #1512: bundle create --all with all_refs public API (2041371)
  • fix: refresh skill snapshot, public-api, and disable signing on rebase --check (2cd2d70)
  • feat: rebase --check and -X ours|theirs for replay conflicts (9afc95f)
  • Merge branch 'factory/status-ignored-collapse' (1881b7f)
  • Merge branch 'factory/fix-commit-detached-head' (fb10f73)
  • Merge branch 'factory/clone-transfer-stats-1516' (95fb838)
  • Fix detached HEAD commit on reftable and review follow-ups (53cd55f)
  • Fixes #1513: allow grit commit on detached HEAD (fcab7ca)
  • Fixes #1519: allow free-text CLI values to start with a dash (a10cfc4)
  • fix: report per-fetch local transfer stats, not cumulative packs (9568367)
  • fix: aggregate local clone transfer stats across linked and ingested packs (2c9d0bb)
  • Fix UNTR cache probe to always enumerate nested files (90386df)
  • Fix ignored directory collapse under untracked parents (fffe28b)
  • Merge branch 'factory/fetch-dry-run-summary' (23feecf)
  • test: set record_operation on rebase session ApplyOptions (6bee753)
  • Fix fetch --dry-run summary when updates are pending (642f3b9)
  • Merge branch 'factory/dead-pub-fns' (bb303b8)
  • branch: run json_examples_parse on larger test stack (088a1ba)
  • branch: fix review blockers for remote list (79b1f27)
  • branch: list remote-tracking refs with --remote, --all, and -n (6fe34db)
  • chore: refresh grit-lib public-api.txt for dead-code removal (eca41ca)
  • grit-lib: remove public functions that nothing calls (d8c956d)
  • grit-lib: drop the unread diff-entry-scan test counter (3bdb902)
  • fetch: drop the never-constructed in-memory pack receive sink (daf768f)
  • Merge branch 'factory/fix-log-since-date-1504' (697140f)
  • fix(add): always emit staged_hunks in JSON; faster hunk diff path (ff67700)
  • fix(add): hunk resolve config, binary errors, perf, schemas (f127639)
  • feat(add): hunk selection by id and grit add --hunks (a0ef4ae)
  • Merge branch 'factory/hunk-ids-3281' (cfba711)
  • Merge branch 'factory/fix-commit-staging-on-error-7412' (247184f)
  • fix(diff): scope hunk-id peers to JSON and primary paths (b7e5b2f)
  • fix(diff): filter peer entries before loading bytes (a151556)
  • Fix log --since/--until and commit --date approxidate parsing (a6147a5)
  • fix(diff): load hunk-id peers only for patch output (5593db3)
  • fix(diff): avoid expect in duplicate hunk rank lookup (51a3163)
  • Fixes #1503: do not auto-stage before commit message validation (4831f00)
  • Fixes #1502: precompute hide_set in reachable walks (a002802)
  • test: set record_operation on rebase session ApplyOptions (cd8fda4)
  • fix: refresh skill snapshot, HistoryRewriteOutcome schema docs, and skill.md rebase wording (eda37cb)
  • fix: make rebase/onto@git-git daily smoke runnable (HEAD~10, rebase abort reset) (f1b71fa)
  • fix: address rebase review blockers (snapshots, docs, smoke, git-git reset) (72da1ef)
  • cli: add grit rebase command with tests, docs, and benchmarks (70996c8)

Full Changelog: v0.5.17...v0.5.18