Releases: GitoxideLabs/gitoxide
Release list
gix-utils v0.3.4
New Features
- add
rngmodule togix-utilsfor better inter-process seeding
This should avoid flaky capability tests of multiple process acting on the
same repository.
Bug Fixes
-
seed fast pseudo-random numbers to differ across processes
gix-utilsandgix-fsdrew fast pseudo-random numbers fromfastrand's
global generators, whose per-thread seed is derived only from values that
can coincide between separate processes (notably small thread IDs). Two
concurrently running processes could therefore produce identical sequences,
which weakens backoff jitter (meant to avoid a thundering herd of retries)
and can make the filesystem capability probes collide on their temporary
file names -- e.g. spuriously reporting that symlinks are unsupported (#1789).Add a
gix_utils::rngmodule that draws from a per-threadfastrand::Rng
seeded from a high-entropy OS source viagetrandom, and route the affected
call sites (backoff jitter and thegix-fscapability probes) through it.getrandomis a target-specific dependency that is excluded on
wasm32-unknown-unknown, which has no entropy backend by default and runs a
single process; there a best-effort seed is used that deliberately avoids
Instant::now()(which panics on that target).For #1816
Commit Statistics
- 5 commits contributed to the release.
- 50 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
gix-url v0.36.2
Other
- Document lossy SCP-like SSH URL canonicalization
Commit Statistics
- 3 commits contributed to the release.
- 50 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #2467
Commit Details
gix-path v0.12.2
Bug Fixes
-
local clones succeed even if git-upload-pack is not in PATH
Local clones spawn the service program, like git-upload-pack, by name and would
fail if it could not be found in PATH. This is common on Windows, where git can
be installed such that git itself is available but its subcommands are not, for
instance with scoop.Now, when spawning the service program for a local repository fails because it
cannot be found, find the same program in the directory that git --exec-path
reports - the location git itself uses to run its subcommands - and run it from
there. If it cannot be found there either, run the git binary that is always
findable with the service as its subcommand, which it can always dispatch.Remote transports are unaffected - they keep the standard invocation so servers
can provide their own implementations - and no shell is involved in any of this.The newly added gix_path::env::core_dir_program() provides the lookup and may
serve other Git-provided programs in the future.Git for Windows builds with SKIP_DASHED_BUILT_INS and thus does not provide
programs for builtin subcommands like git-upload-pack in its core directory.
The test now grounds itself in a listing of that directory instead, and the
documentation of core_dir_program() points out the difference - such programs
are still run through git itself thanks to the second fallback.
Commit Statistics
- 7 commits contributed to the release.
- 50 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #2313
Commit Details
view details
- #2313
- Local clones succeed even if git-upload-pack is not in PATH (82cdb47)
- Uncategorized
- Merge pull request #2700 from ameyypawar/fix/2313-upload-pack-fallback (9884f48)
- Review (151a0af)
- Merge pull request #2693 from Manishearth/relative-path-transparent (19bdf8a)
- Annotate RelativePath transmute types for clippy (7ef83ca)
- Actually mark RelativePath as transparent (d5f3723)
- Merge pull request #2618 from GitoxideLabs/report (f7d4f33)
gix-error v0.2.5
Bug Fixes
-
keep erased errors visible to source-iteration and downcasting
Since 499402c, erasing an Exn wraps its error in the Untyped marker so that
the typed accessors of Exn keep working. However, the marker also hid
the original error from everything that walks the error afterwards: frames now
yielded the marker, which cannot be downcast to the original type, and whose
empty Error implementation cut off the source chain below it.This broke gix diff file, whose fallback for treating a revspec as a path on
disk downcasts the sources() of a failed rev-parse to find the ref-not-found
error - it would now fail with "couldn't parse revision" instead.
Commit Statistics
- 4 commits contributed to the release.
- 50 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #2694
Commit Details
gix-date v0.15.6
Commit Statistics
- 3 commits contributed to the release.
- 23 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Thanks Clippy
Clippy helped 1 time to make code idiomatic.
Commit Details
gix-credentials v0.38.2
Bug Fixes
- also reject carriage return when parsing credentials
Test
- cover carriage returns in credential context values
Commit Statistics
- 5 commits contributed to the release.
- 50 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Cover carriage returns in credential context values (a30d02f)
- Also reject carriage return when parsing credentials (3a99e25)
- Merge pull request #2686 from GitoxideLabs/try-redirect-re-auth (d8aeaac)
- Adapt to changes in
gix-transport(6a7a717) - Merge pull request #2618 from GitoxideLabs/report (f7d4f33)
v0.55.0
Strange - automatic release notes weren't generated or didn't arrive here. Have to look into that. Meantime, let's use the GitHub generated notes.
What's Changed
- Don't skip
fuzzed_timeoutonwindows-11-armby Eliah Kagan (@EliahKagan) in #2619 - Bump openssl from 0.10.79 to 0.10.80 by Dependabot (@dependabot)[bot] in #2620
- Montly report for May 2026 by Sebastian Thiel (@Byron) in #2618
- fix: reject deleted prior checkout branches by Sebastian Thiel (@Byron) in #2610
- fix: fetching and cloning with refspecs that are tags (in shallow clones) by Sebastian Thiel (@Byron) in #2556
- fix: handle relative worktree linking files by Sebastian Thiel (@Byron) in #2599
- Avoid duplicate hash computation during object creation by Sebastian Thiel (@Byron) in #2549
- Address relative worktree review comments by Sebastian Thiel (@Byron) in #2623
- Add generated archives for SHA-256 in
gix-packby Christoph Rüßler (@cruessler) in #2602 - Use
GIX_TEST_FIXTURE_HASHforgix-indextests by Christoph Rüßler (@cruessler) in #2598 - Bump tar from 0.4.45 to 0.4.46 by Dependabot (@dependabot)[bot] in #2628
- Document installation via Homebrew by Eliah Kagan (@EliahKagan) in #2629
- perf: check
should_interruptper entry inindex_as_worktreeby sharif (@sharifhsn) in #2631 - fix: cap aggregate delta data allocation in gix-pack by Sebastian Thiel (@Byron) in #2632
- Bump the cargo group with 40 updates by Dependabot (@dependabot)[bot] in #2635
- Bump the github-actions group with 4 updates by Dependabot (@dependabot)[bot] in #2634
- fix: expand attribute macros only when set by Sebastian Thiel (@Byron) in #2641
- fix: avoid packetline panic on empty sideband payload by Sebastian Thiel (@Byron) in #2638
- Limit postprocess heuristics fuzz input size by Sebastian Thiel (@Byron) in #2644
- fix: handle loose ref path-prefix collisions by Sebastian Thiel (@Byron) in #2645
- Bound comprehensive diff fuzz inputs by Sebastian Thiel (@Byron) in #2650
- fix: avoid GIT_DIR environment discovery panic by Sebastian Thiel (@Byron) in #2648
- allow sha256 only builds by Sebastian Thiel (@Byron) in #2651
- allow assuming trust during upward discovery by Sebastian Thiel (@Byron) in #2652
- fix: write new remote sections to the local config file (#1951) by Amey Pawar (@ameyypawar) in #2637
- fix: use main repo when listing worktrees by shvvkz in #2615
- feat: add leaf-only tree-editor removal by Sebastian Thiel (@Byron) in #2654
- doc: Document executable-bit behavior during checkout by shvvkz in #2614
- Add tests for Repository::open_mailmap and open_mailmap_into by Amey Pawar (@ameyypawar) in #2622
- gix-ref: skip name validation in packed-refs binary search by Nik B (@nikicat) in #2604
- dev/aratiu/sha256 transport fixtures by Sebastian Thiel (@Byron) in #2656
- dev/aratiu/sha256 pack by Sebastian Thiel (@Byron) in #2657
- fix: tolerate NUL suffixes in symbolic ref files by Sebastian Thiel (@Byron) in #2658
- Run gix-odb tests under SHA-256 by Adrian Ratiu (@10ne1) in #2653
- fix: resolve remote HEAD fetches against remote refs by Sebastian Thiel (@Byron) in #2660
- fix: allow negative fetch refspec patterns by Sebastian Thiel (@Byron) in #2661
- Document that writing the index does not refresh the tree-cache extension by Amey Pawar (@ameyypawar) in #2664
- gix: negotiate and adopt sha256 object format by Adrian Ratiu (@10ne1) in #2642
New Contributors
- sharif (@sharifhsn) made their first contribution in #2631
- Amey Pawar (@ameyypawar) made their first contribution in #2637
- shvvkz made their first contribution in #2615
- Nik B (@nikicat) made their first contribution in #2604
- Adrian Ratiu (@10ne1) made their first contribution in #2653
Full Changelog: v0.54.0...v0.55.0
gix-worktree v0.54.0
Commit Statistics
- 1 commit contributed to the release over the course of 27 calendar days.
- 27 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
gix-worktree-stream v0.34.0
Commit Statistics
- 3 commits contributed to the release over the course of 27 calendar days.
- 27 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
gix-worktree-state v0.32.0
Other
- Document executable-bit behavior during checkout
Commit Statistics
- 3 commits contributed to the release over the course of 27 calendar days.
- 27 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages