New Features
- improve granularity of IO errors for
curl
backends.
That way it should be possible to tell ifcurl
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 andcargo
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 aref
read implementation
with direct readline support. That way one can avoid having to go
throughString
. - interpret the FollowRedirects option for the curl HTTP backend.
This comes with changes to theHTTP
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 toString
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)