Skip to content

gitoxide

vgix-fs-v0.22.0 scope: gix-fs Bugfix

This release fixes issues for SREs watching stability and regressions.

Published 3d Version Control
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

blazingly-fast built-with-rust cli git version-control

Summary

AI summary

Broad release touches Commit Details, Commit Statistics, Bug Fixes, and https://www.conventionalcommits.org.

Full changelog

Bug Fixes

  • report a non-directory in the path as NotADirectory

  • seed fast pseudo-random numbers to differ across processes
    gix-utils and gix-fs drew fast pseudo-random numbers from fastrand'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::rng module that draws from a per-thread fastrand::Rng
    seeded from a high-entropy OS source via getrandom, and route the affected
    call sites (backoff jitter and the gix-fs capability probes) through it.

    getrandom is 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 https://github.com/GitoxideLabs/gitoxide/issues/1816

Commit Statistics

  • 13 commits contributed to the release.
  • 58 days passed between releases.
  • 2 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

view details
  • Uncategorized
    • Update changelogs prior to release (cb6ec7d)
    • Release gix-trace v0.1.21, gix-validate v0.11.3, gix-path v0.12.3, gix-utils v0.3.5, gix-config-value v0.19.0, gix-prompt v0.16.0, gix-sec v0.14.2, gix-url v0.37.0, gix-credentials v0.39.0, safety bump 18 crates (f0ec710)
    • Merge pull request #2722 from GitoxideLabs/reasons (c16b5a1)
    • Replace lint allowances with expectations (43ff87a)
    • Merge pull request #2714 from GitoxideLabs/fix-credentials-parsing (cf3053a)
    • Release gix-path v0.12.2, gix-error v0.2.5, gix-utils v0.3.4, gix-date v0.15.6, gix-url v0.36.2, gix-credentials v0.38.2 (27aec47)
    • Merge pull request #2702 from ameyypawar/fix/2694-exn-source-chain (e9c973d)
    • Thanks clippy (d533f0c)
    • Merge pull request #2659 from willstott101/fix-ref-transaction-toctou (43dd683)
    • Report a non-directory in the path as NotADirectory (5cf408b)
    • Merge pull request #2663 from ameyypawar/fix/1816-rng-seed (386f31a)
    • Seed fast pseudo-random numbers to differ across processes (efa5ffc)
    • Merge pull request #2618 from GitoxideLabs/report (f7d4f33)

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track gitoxide

Get notified when new releases ship.

Sign up free

About gitoxide

An idiomatic, lean, fast & safe pure Rust implementation of Git

All releases →

Related context

Related tools

Earlier breaking changes

  • vgix-v0.84.0 Allow checkouts of empty repositories; `destination_must_be_empty` becomes `Option<bool>`
  • vgix-worktree-stream-v0.33.0 Changes API of `Stream::add_entry_from_path` to require `hash_kind` argument.
  • vgix-object-v0.61.0 Renames `Data::hash_kind` to `Data::object_hash` for consistency.

Beta — feedback welcome: [email protected]