github GitoxideLabs/gitoxide gix-tempfile-v25.0.0
gix-tempfile v25.0.0

one day ago

Bug Fixes

  • expose persistence I/O errors as sources

    stamp of approval, after looking at the diff and description.

    Forwarding to the inner I/O error's source() hides the I/O error itself,
    preventing callers from inspecting its kind through a custom persistence
    error. Return the immediate cause so generic error classification can find
    it, while preserving the handle needed to recover from failed persistence.

    Extend both writable-file and marker recovery tests to check the source.
    All tempfile tests and doctests pass.

  • preserve read-only files on Windows

    The tempfile crate normalizes a temporary file attributes before persistence,
    which drops permissions copied from the resource being updated. Windows also
    refuses to replace a read-only destination directly, causing config commits
    either to fail or to become writable.

    Persist with MoveFileExW on Windows after removing only the temporary attribute
    and temporarily clearing a read-only destination. Restore both paths attributes
    after failed attempts so the existing retry and recovery guarantees remain
    intact.

Changed (BREAKING)

  • raise MSRV to Rust 1.88

    The newly published dua-core 3.3 release used by linked-worktree removal
    requires Rust 1.88, so raise every workspace crate and the advertised badge
    together.

    Keep the MSRV checks buildable by selecting the latest sysinfo and rusqlite
    release lines that support Rust 1.88.

Commit Statistics

  • 7 commits contributed to the release over the course of 63 calendar days.
  • 64 days passed between releases.
  • 3 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Merge pull request #2847 from GitoxideLabs/gix-error-completion (6356013)
    • Expose persistence I/O errors as sources (0cec256)
    • Merge pull request #2949 from GitoxideLabs/error-conversion-review (a095334)
    • Raise MSRV to Rust 1.88 (4b42e0c)
    • Merge pull request #2929 from GitoxideLabs/config-refresh (b14028d)
    • Preserve read-only files on Windows (ff278eb)
    • Merge pull request #2812 from GitoxideLabs/report-july (ae8845a)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.