github GitoxideLabs/gitoxide gix-credentials-v0.39.0
gix-credentials v0.39.0

6 hours ago

Changed (BREAKING)

  • adapt to lifetime-free configuration files in gix-config
    Update repository configuration storage, snapshots, overrides, and caches
    to use the self-contained gix_config::File representation. Configuration
    can now move through repository initialization, cloning, and remote setup
    without artificial input lifetimes or conversions to 'static.

    • Return owned BString, PathBuf, OsString, and FullName values
      from configuration-derived lookups.
    • Simplify fallible optional access from Option<Result<T, E>> to
      Result<Option<T>, E>, allowing errors to propagate naturally with
      ?.
    • Accept common string and byte-string inputs through AsBStr in
      configuration setters, converters, remote lookup, and remote saving.
    • Remove widespread Cow construction, into_owned(), and redundant
      cloning from configuration consumers.
    • Preserve configuration-key context when converting owned values and
      enriching validation errors.

    Adapt config-tree conversions for the new owned values and optional-result
    shape, including booleans, integers, paths, URLs, refspecs, timeouts,
    compression levels, and reference names.

    Return owned remote names, default remote names, branch tracking
    references, and submodule paths so these results are independent of the
    repository configuration borrow. Protocol feature values likewise use
    owned strings.

    Update repository opening, initialization, cloning, remotes, filters,
    status, submodules, and related tests to use the lifetime-free APIs.

New Features (BREAKING)

  • store configuration paths and parse values from strings
    Remove the lifetime from gix_config_value::Path and store its bytes in a
    BString. Path interpolation now returns an owned PathBuf, including for paths
    that do not require expansion.

    Allow Boolean, Color, and Integer to parse UTF-8 string slices as well as
    byte strings. Keep BStr as the canonical parser input and disambiguate BString
    callers explicitly.

  • allow protocol protection to be configured

Bug Fixes (BREAKING)

  • make protect_protocol part of Context so it's self-contained.
    This returns many methods back to their original version, but it's still
    a breaking change, but now once again less so.

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • Merge pull request #2734 from GitoxideLabs/url-parse-convenience (e7af50e)
    • Adapt to changes in gix-url (271454b)
    • Merge pull request #2722 from GitoxideLabs/reasons (c16b5a1)
    • Replace lint allowances with expectations (43ff87a)
    • Merge pull request #2667 from GitoxideLabs/lifetime-free-config-parser (55b5158)
    • Adapt to lifetime-free configuration files in gix-config (582d7b5)
    • Store configuration paths and parse values from strings (020bbb6)
    • Merge pull request #2715 from GitoxideLabs/fixup-credentials (299d16b)
    • Make protect_protocol part of Context so it's self-contained. (7d66c9f)
    • Merge pull request #2714 from GitoxideLabs/fix-credentials-parsing (cf3053a)
    • Allow protocol protection to be configured (ffa862d)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.