Skip to content

v0.5.22

Choose a tag to compare

@github-actions github-actions released this 26 Oct 22:46
· 1336 commits to main since this release
v0.5.22

What's changed

  • Store reftable worktree HEAD in its owning stack (ae09266)
  • Respect final newline changes in blame attribution (99332d0)
  • Batch promised blobs before hard-reset materialization (f0e7cdd)
  • Hash patch IDs from normal three-line-context hunks (482a34e)
  • Move revision label classification into grit-lib (8a358bf)
  • Escape literal blame paths after normalization (dbdf37d)
  • Decode reversible paths throughout blame (0eb2c5e)
  • docs: record checkout performance and validation results (5d557d2)
  • checkout: scope small-object caching to bulk reads (dfc8304)
  • odb: check cached object size before copying bounded reads (46a4265)
  • checkout: bound streamed writes and cover distinct blob buffers (16a7b5c)
  • checkout: bound prepared contents and preserve worker thresholds (c857c65)
  • docs: describe how checkout chunks parallel writes for cancellation (f1146a3)
  • odb: reuse small loose reads in read_unless_larger (083b8f1)
  • checkout: judge the parallel threshold once and grow cancellation chunks (7c95f02)
  • Follow historical tags during local shallow fetches (63beba2)
  • Materialize the first switch after a no-checkout clone (71604e0)
  • Merge branch 'factory/ignore-batch' (fa6a9fd)
  • Record ignore normalization benchmarks and memory limits (48c5fd8)
  • Avoid resolving the worktree root for each ignore query (9fc6d4b)
  • Avoid repeated path and config lookups in worktree scans (3511e3d)
  • Move typed reflog selector parsing into the library (f2a97fc)
  • Record bounded containment review validation (e10563a)
  • Keep rewritten ancestry on the batch containment path (75d9d9e)
  • Bound branch containment queries by matching rows (6e3a662)
  • Reject unsupported repository paths before discovery (cf90e3d)
  • Preserve native OS arguments through CLI parsing (787a30b)
  • Reduce memory retained by wide content merges (c578daa)
  • Speed up local fetches with many refs (5a715a5)
  • Unify patch parsing across diff header styles (f9bf342)
  • Validate reset signatures before mutating repository state (a61c6cf)
  • Record path history performance and validation results (74adad7)
  • Preserve commit object reuse when filtering history (8fbd1b4)
  • Avoid duplicate sparse path filtering and cover packed history (2c124bf)
  • revwalk: stop comparing merge parents at the first TREESAME one (34f22f3)
  • odb: keep delta bases cached when reading through the files primary (99d342f)
  • revwalk: scan raw trees in the dense path-limited walk (e75ed52)
  • odb: read_into variant that keeps delta bases cached (3a903d6)
  • Fix public library documentation links (b5b02e2)
  • Deduplicate target branch comparisons (12b52a5)
  • Preserve show and log patch output order (f235471)
  • Reuse shared display streaming and cover structured-output memory (34c1012)
  • Bound loose clone statistics memory and validate large-blob streaming (5867ea1)
  • Address review: cat replace refs, schema, fmt (92ca504)
  • Fixes #2010: stream large blobs without multi-GB RSS spikes (af8594f)
  • Cover incremental SSH push boundaries and record benchmarks (818de80)
  • Fix send-pack pack enumeration stopping at the want frontier (#1975) (f6c528b)
  • Merge branch 'factory/ignorecase-collision-4599' (7ac4cac)
  • rev-parse: share selector rules between range scanners (abdf22d)
  • rev-parse: open range-guard selectors only at ^{ and @{ (de16d13)
  • Remove obsolete per-path collision-group helper (f23d430)
  • Fix case-insensitive filesystem probe in dentry test (38297c7)
  • Make add collision checks linear and restore direct-path lookup (66f9e8a)
  • Fix ignorecase collision group ids: use enumerate, not memihash (1ca35cc)
  • Fixes #1849: record bounded-memory materialization benchmarks (51fd34d)
  • Fixes #1849: bound memory while counting loose clone objects (ebc97a8)
  • Update grit-lib public-api snapshot for cat streaming helpers (ce8c8a0)
  • fmt: clone transfer stats test helper (1d6dd40)
  • Address review: warm clone RSS test, cat replace-ref streaming (e4be31b)
  • Fixes #1849: stream large blobs on local clone and grit cat (d61606f)
  • Cover lock holder diagnostics and staging recovery (ca87257)
  • cli: report held locks as kind lock_held with the lock path (586b577)
  • lib: one typed Error::LockHeld for held index and ref locks (d3c99b1)
  • Detach Windows automatic GC from the triggering job (c190a4f)
  • Merge branch 'factory-agent-workflow' (a1f4e21)
  • Add the factory-agent workflow: Codex agents on Actions runners (a7b6b1d)
  • Merge branch 'factory/fix-2009-reset-hard-perf' (8a6b557)
  • Merge branch 'factory/commit-ignored-path-2006' (2a0f003)
  • Merge branch 'factory/big-file-stream-0158' (c0b0c50)
  • Fix Bugbot: defer stash checkout index write; advance index mtime on hard reset (219a2f3)
  • Fixes #2009: align hard reset, merge, and stash pop with fast checkout paths (003c411)
  • Merge branch 'factory/show-log-patch-text-3cae' (ea7f494)
  • Fix #1970: git-dir path I/O errors, including linked-worktree commit (10a3061)
  • Rebase onto main: Signature in rewrite journal, reset autostash, and examples (c21e564)
  • Validate reflog metadata in RefTransaction::validate for direct prepare (c848348)
  • Address review: validate ReflogUpdate on ref transactions, public-api snapshot, test fixes (97d7a70)
  • Fixes #1972: use Signature for reflog identity in reset, history, clone, and replay (a3bbf4c)
  • Address review: stderr warning, schema, public API, collision fixes (71efc5d)
  • Fixes #1991: detect ignorecase checkout collisions and protect auto-stage (a610d20)
  • Address Bugbot: restore split-index test and fix shared perm on flush (56b895c)
  • Fix split-index rm/mv leaving stale shared-index entries (473099b)
  • Fix path-scoped commit for force-added ignored paths (bebfaa5)
  • Review: stream indexed binary under autocrlf; fix symlink diff path (d35880a)
  • Fixes #1850: stream big binary blobs when autocrlf is on (a93e2c8)
  • Merge branch 'factory/dead-test-helpers' (000f996)
  • Fix rename pathspec matching for log/show patch-text (7ad085a)
  • Address review: pathspecs, merge first-parent, show ordering (c9d84fa)
  • Fix show and log --patch-text for git apply (caf3251)
  • checkout: spool delete rollback with cross-device symlink restore (05b806d)
  • Delete dead integration-test helpers and make test targets warning-free (acffb1d)
  • Clean up grit-lib unit tests: run two orphaned tests, drop dead bindings (9b6ad46)
  • Remove the inert force_split_index option and unused IndexHandle methods (55b1da5)
  • Compile test-only helpers only under cfg(test) and drop unused CLI code (95a671b)
  • Fixes #1914: parallel racy status refresh and index mtime after persist (e84b615)
  • Fix push tag summary and omit branch in JSON for refspecs (f0b57c3)
  • Merge branch 'factory/push-pack-tips-boundary' (741ad80)
  • Merge branch 'factory/status-guidance-lib' (6388d98)
  • Fixes #1975: send-pack ^have rev walk for pack-objects (69d7a1f)
  • index: drop the unreachable "file too short" match in optional load (f6a3780)
  • error: typed pack-index checksum and unresolved-delta errors (dd9a4af)
  • status: render guidance and conflict groups from the library model (4eaac7e)
  • Fix non-executable hook warning config hint (3a770f9)
  • status: compute next-step guidance, cleanliness and conflict groups in the library (0da8707)
  • Fix local clone pack-link fast path when source has loose objects (93e2e85)
  • Merge branch 'factory/git-habit-hints-1989' (b6cb28c)
  • Merge branch 'factory/git-dir-path-io-1970' (a14bc89)
  • Merge branch 'factory/not-git-server-html-200' (3a2dd70)
  • Merge branch 'factory/status-merge-hint-4520' (1b88046)
  • Fixes #1976: path-scoped commit uses repository index for empty commit errors (6d962c9)
  • Fixes #1988: reject HTML 200 HTTP discovery as NotGitServer (b83f2d4)
  • Fixes #1970: name .git paths on git-dir I/O errors (d674565)
  • repo: place the primary object store at GIT_OBJECT_DIRECTORY (7677a4c)
  • transport: fetch and push through the caller's repository (ea78d42)
  • odb: take the object directory from the repository's Odb (efc6df7)
  • Address review: narrow checkout restore heuristic and argv scan (cc9147b)
  • Fix misleading tips for Git-habit checkout, reset, add, and init argv (0c619a5)
  • Refresh merge_ff CLI snapshot for fast-forward wording (223a15e)
  • Fix status integration hints and merge fast-forward wording (ea5aa5b)
  • history: read and move HEAD and refs through the repository's ref store (5f3faf1)
  • Merge branch 'factory/merge-drivers-1966' (99000f5)
  • Merge branch 'factory/blame-subtree-merge-0183' (3e540f3)
  • Merge branch 'factory/fix-shallow-depth-1934' (e908a15)
  • Merge branch 'factory/reset-clears-merge-state' (d60aeb2)
  • Merge branch 'factory/commit-nothing-staged-4486' (ef536ca)
  • Merge branch 'factory/ignore-case-rules' (4ffbf64)
  • Merge branch 'factory/ident-collapse-af01' (785be79)
  • Update public API snapshot and document first-run errors (95aa3c4)
  • Fix first-run dead ends for switch, log, and stash (de6a8ac)
  • Merge branch 'factory/ref-list-race-1944' (72aba55)
  • Merge branch 'factory/upload-pack-v2-caps-4442' (881674f)
  • Fixes #1962: SHA-256 fsck/gc reflog null OID and clone pack checksum (7092a59)
  • Merge branch 'factory/receive-pack-stream-unpack-4443' (0657d38)
  • Merge branch 'factory/fix-clone-lfs-filter-cwd' (fce8ce6)
  • status, clean, add: case-variant tracked paths are not ignored under core.ignorecase (6ec63d8)
  • ignore: specialize rule matching on case folding and drop per-rule Vec (b31ccbb)
  • ignore: honor core.ignorecase when matching exclude patterns (6992791)
  • Merge branch 'factory/crash-safe-apply-1942' (5a87b98)
  • Merge branch 'factory/push-sideband-1937' (a572bb7)
  • Merge branch 'factory/issue-1968-switch-delete-perm' (7f7b2b0)
  • Refresh public-api snapshot after rebase onto main (093347b)
  • Fixes #1965: clear merge and replay state on reset (ca895cd)
  • Encode rewrite-apply snapshot paths as path-hex for newline filenames (88e4e5e)
  • Fix rewrite-apply journal path encoding, empty files, and recovery gaps (80865ba)
  • Rename markdown helper to satisfy CLI transport hygiene (6f1dbc4)
  • Align push remote_messages schema with omitted-empty JSON (2e2ad16)
  • Address review: regenerate push schema and Bugbot fixes (ba08808)
  • Keep all merge parents before per-parent rename blame (5a58c82)
  • Fix filter subprocess cwd during clone for git-lfs (a91bcd8)
  • Fixes #1945: stream large blob unpack in receive-pack (85f71b7)
  • fmt: commit_nothing_staged test file (04d88d8)
  • Fix Smart-HTTP relative deepen and v0 shallow negotiation (6af487a)
  • Address review: peel annotated tag shallow wants, split deepen paths (6e7b8eb)
  • Address review: error schema, submodule counts, message grammar (7257488)
  • Fixes #1969: distinguish nothing staged from clean tree on commit (2172e24)
  • Export rewrite apply recovery from history module (cd5e61e)
  • Fix crash-unsafe history rewrite apply with grit rewrite-apply journal (2807b09)
  • Spool checkout delete rollback to disk instead of RAM (c45ea5a)
  • Roll back checkout deletions when a later unlink fails (3ef3efb)
  • Fix checkout deletes failing silently on permission errors (f7db2a2)
  • Fix merge driver review gaps: conflict %A, default union, add/add modes (bafd590)
  • Fix custom merge drivers ignored during tree merge (958bdbf)
  • Fixes #1967: follow subtree-merge renames in blame (2249832)
  • Address review: ServeOptions test init and object-info local lookup (a80d2fa)
  • Update public-api snapshot for ServeOptions server_options (727a8ee)
  • Fixes #1946: advertise upload-pack v2 server-option, object-info, wait-for-done (fe62eb2)
  • Fix push dropping remote sideband hook output (ff2a9e1)
  • Fixes #1963: ISO-8859-1 working-tree-encoding clean/smudge (209d09d)
  • Fix absolute fetch --depth and shallow clone by tag (d2249a1)
  • refs: skip loose refs deleted during listing (7ea86de)
  • Fixes #1964: collapse expanded ident on clean (status/diff/commit) (20c85d5)
  • write-tree: stop probing every cached subtree twice on each commit (daed43b)
  • odb: answer existence checks in batches through ObjectStore::contains_many (4363c1f)

Full Changelog: v0.5.21...v0.5.22