github GitoxideLabs/gitoxide git-transport-v0.24.0
git-transport v0.24.0

23 months ago

New Features

  • improve granularity of IO errors for curl backends.
    That way it should be possible to tell if curl caused
    an IO error due to someting that can be considered spurious.
  • IsSpuriousError trait and its implementation.
    That way all transports can tell if the operation failed due to
    an issue that's probably passing, so retrying may be a way to resolve
    the issue.
  • client::http::Options::no_proxy to disable a proxy for given hosts.
    This is a curl-first option which can reasonably be implemented for other backends
    as well and thus retains its curl-ish roots in full.
  • client::http::Options::verbose to see more debug output.
    This means different things depending on the backend, and for
    curl it means a lot of debug-output on stderr.

Bug Fixes

  • http transports can now reuse a connection.
    This makes connections more efficient generally and cargo relies
    on that behaviour in their tests as well.
  • don't pre-configure curl.
    These settings can interact strangly with other users of the curl package
    within the same dependency tree, so it's paramount to only activate features
    we truly need.
  • ssh connection remove '=' in port argument
  • make it possible to parse handshakes without newlines in packetlines #(639)
  • correctly display what's actual and expected when failing to parse capabilities.
  • improve compile-time errors if mutually exclusive http-client features are set.

New Features (BREAKING)

  • Provide support for reading packetlines directly.
    The handshake response itself now provides a ref read implementation
    with direct readline support. That way one can avoid having to go
    through String.
  • interpret the FollowRedirects option for the curl HTTP backend.
    This comes with changes to the HTTP trait which now requires a base-url
    to be provided as well.

Bug Fixes (BREAKING)

  • Capabiltiies::from_lines() takes a single buffer.
    That way it doesn't have to convert to String as intermediary
    which may fail as illformed UTF8 might be present.

    Performance wise, reading all lines ahead of time, it is the same
    as it was before as it would collect all lines beforehand anyway.

    We are also seeing only a few lines in V2, and in V1 it was
    fully streaming already.

Commit Statistics

  • 30 commits contributed to the release over the course of 27 calendar days.
  • 27 days passed between releases.
  • 13 commits were understood as conventional.
  • 2 unique issues were worked on: #602, #639

Commit Details

view details
  • #602
    • improve compile-time errors if mutually exclusive http-client features are set. (b0083e3)
  • #639
    • correctly display what's actual and expected when failing to parse capabilities. (7ab7c24)
  • Uncategorized
    • prepare chnagelogs prior to git-repository release (7114bbb)
    • Merge branch 'adjustments-for-cargo' (94750e1)
    • improve granularity of IO errors for curl backends. (0a2b135)
    • http transports can now reuse a connection. (ff0332e)
    • Merge branch 'adjustments-for-cargo' (70ccbb2)
    • Merge branch 'main' into adjustments-for-cargo (bb60d3d)
    • adapt to changes in git-repository (89230f4)
    • Merge branch 'paulyoung/scheme-ext' (3e27550)
    • IsSpuriousError trait and its implementation. (9a2f7cd)
    • don't pre-configure curl. (85dcda8)
    • ssh connection remove '=' in port argument (0d0eb4a)
    • Merge branch 'fix-638' (eb4c5f0)
    • make it possible to parse handshakes without newlines in packetlines #(639) (4927adf)
    • Merge branch 'fixture-async' (eca6705)
    • async version of ref-line parsing now reads line by line. (dadd896)
    • fix hang when reading packetlines lines directly via HTTP (2d033ab)
    • Merge branch 'remove-lines-parsing' (9d8e32d)
    • Provide support for reading packetlines directly. (1204bfc)
    • Capabiltiies::from_lines() takes a single buffer. (08dcda2)
    • make fmt (747008d)
    • Merge branch 'main' into http-config (6b9632e)
    • client::http::Options::no_proxy to disable a proxy for given hosts. (5034544)
    • client::http::Options::verbose to see more debug output. (e701e7e)
    • Release git-features v0.24.1, git-actor v0.14.1, git-index v0.9.1 (7893502)
    • interpret the FollowRedirects option for the curl HTTP backend. (8e158c3)
    • Merge branch 'http-config' (a4ff140)
    • Merge branch 'main' into http-config (bcd9654)
    • make fmt (0abab7d)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.