Upgrading ureq 2 to 3
Breaking2.12.1 → 3.5.0Breaking11Security3Platform2New21Changed28Fixed49Other20
BreakingUpgrade verdict
11 breaking changes and 2 platform requirement changes and 3 security fixes.
In plain terms
- The json feature is no longer turned on automatically; you must enable it yourself if you need it.
- The library no longer uses the `url` crate, so any code depending on that crate being re-exported or used internally may need changes.
- Remove many uses of Box::new from Connector chain.
- Rename hoot -> ureq_proto.
Must act Top 5 of 16 that need code or config changes
Rust requirement changed in 3.3.0: 1.71 → 1.85.
What you must change
Breaking11
Stops enabling the json feature by default, reverting an unintended default change.
jsonRemoves the dependency on the
url crate.urlRemove many uses of Box::new from Connector chain.
Rename hoot -> ureq_proto.
hootureq_protoRemove pub-field config structs in favor of builders.
Rename BodyWithConfig::into_reader -> reader.
Decode proxy URL credentials once; literal percent signs must be escaped as %25.
Retry socket reads interrupted by EINTR when timeout (technically breaking).
EINTRSeals RequestExt, which is technically breaking for external implementors.
RequestExtReplaces RequestBuilder Deref with explicit wrappers.
RequestBuilderStops passing internal state in Config.
ConfigSecurity3
Prepare 3.5.0 and fix dependency advisories and warnings.
Updates TLS dependencies to pick up security fixes.
Redacts the URI and Location header at debug log level.
Platform2
Bumps the minimum supported Rust version from 1.71 to 1.85 and moves to edition 2024.
MSRV 1.71.1 to follow rustls.