Skip to content

Releases: neonmoe/minreq

3.0.0-rc.1

21 Apr 18:58

Choose a tag to compare

3.0.0-rc.1 Pre-release
Pre-release

Nothing to see here, added some excludes in the Cargo.toml and cleaned up the rustls cert provider dependency feature gates. Just releasing these changes as an RC so that the final RC would be identical to the actual 3.0.0 release.

3.0.0-rc.0

12 Apr 15:28

Choose a tag to compare

3.0.0-rc.0 Pre-release
Pre-release

This is the first release candidate for 3.0. If no issues are found, I'll release 3.0 in a few weeks.

Includes all the planned changes that have been accumulating over the years for 3.0, renames some features, but otherwise tries to keep everything the same as 2.0. Note that everything under Changed and Removed here is a breaking change.

Changed

  • MSRV from 1.48 to 1.63, and updated the policy to be looser (now tracking Debian oldstable's Rust version instead of settling on a specific version until eternity, and the MSRV no longer applies to any optional features).
  • The minreq::Error type to be non-exhaustive, to make adding new errors later possible, and added new variants: NativeTlsCreateConnection, OpenSslCreateConnection, InvalidProtocol, and InvalidProtocolInRedirect.
  • The default proxy port to 1080, to match curl.
  • The default maximum sizes for the response status line and headers, both 8KiB.
  • The type of Response::headers and ResponseLazy::headers from HashMap<String, String> to Vec<(String, String)>, and removed lowercase normalization of the field names.
    • To help the usual case, there's two new functions, Response::header and Response::headers, to get the header value (or all values, if there are multiple of the same header) by field name. In other cases, iterate through and use str::eq_ignore_ascii_case to find your header(s).
  • The query parameter function to take AsRef<str> instead of Into<String> to avoid unnecessary allocations. Thanks for the PR, @alpha-tango-kilo! (#69)
  • Response::status_code and ResponseLazy::status_code type from i32 to u16. Thanks for the suggestion, @ModProg!
    (#118)
  • Renamed features https-bundled to https-openssl, https-bundled-probe to https-openssl-probe, and https-native to https-native-tls to make them a little more obvious in what they bring in.

Removed

  • Iterator impl for ResponseLazy, see the addition section for more on the new Read impl. Thanks for the PR, @mrkline! (#104)

Added

  • Response::header and Response::headers for ergonomically sorting through the headers of a response, now that they aren't in a convenient HashMap anymore.
  • Read impl for ResponseLazy. This improves performance, and the Read trait generally matches the functionality better than Iterator. Thanks for the PR, @mrkline! (#104)

2.14.1

03 Sep 19:18

Choose a tag to compare

Should be a pretty transparent update, pruning the log dependency for dependents which do not use it, and keeping everything the same for the ones that do.

Fixed

  • Made the log crate optional. Thanks for the contribution, @Zodey-hub! (#122)

2.14.0

27 Jun 20:07

Choose a tag to compare

Cleaned up the https-bundled and https-bundled-probe code quite a bit. Now it's more "openssl backend" rather than "native-tls backend but vendored", so the features might change their names to https-openssl in the next major version, whenever that ends up happening.

Also, added a new option for requests, Request::with_follow_redirects, which can be used to disable redirection, for cases where you want to read the redirection HTTP responses themselves.

Changed

  • https-bundled, https-bundled-probe: Removed almost all of the bundled native-tls code (~1k LoC), only keeping the relevant part (~30 LoC). There should be no change to the actual code that ends up being ran, but if you're using these features, make sure to test that everything works as you expect, something might have slipped.

Fixed

  • https-*: Refactored the TLS handling code a bit. This should have no visible effect downstream, src/connection.rs is just a little bit more readable now.
  • Removed build.rs, which turned out to be dead code. This should have no effect, but if it does, it should also only affect the https-bundled and https-bundled-probe features.

Added

  • Request::with_follow_redirects for disabling redirection handling. Thanks for the suggestion, @tachibanayui! (#120)

2.13.4

11 Apr 18:14

Choose a tag to compare

Fixed

  • Updated the base64 dependency, only used by the proxy feature, to its newest minor version. Thanks for the report, @Jackhr-arch! (#119)

2.13.3

11 Mar 06:58

Choose a tag to compare

A bit of dependency cleanup, and updated the list of crates that need to be pinned to build with MSRV.

Fixed

  • Removed the once_cell dependency by making use of the new std::sync::OnceLock type. This change only affects the rustls-based https features. Thanks for the PR, @LyonSyonII! (#115)
  • MSRV builds that got broken due to a rustix update. Now tempfile is pinned as well.

2.13.2

29 Jan 00:41

Choose a tag to compare

"Cleaned up" some code in 2.13.1, thinking that minreq doesn't have a build.rs, but it does, and the code could actually be enabled via an environment variable. Reverted that bit here.

Fixed

  • Reverted a part of 2.13.1, accidentally removed some code that wasn't actually dead code.

2.13.1

29 Jan 00:27

Choose a tag to compare

Only affects builds using the https-bundled-probe feature.

This is a tiny update to the copied-over native-tls cert loading code when using openssl-probe without native-tls, to avoid an apparently unsafe function in openssl-probe.

Fixed

  • Usage of an openssl-probe function that's deprecated due to safety issues. See rustsec/advisory-db#2209 for further info.

2.13.0

04 Dec 21:08

Choose a tag to compare

Small fixups all around, mostly code size improvements. In case your application depends specifically on webpki-roots certs being used, but still uses the https-rustls-probe feature, I'm afraid you'll have to stay on 2.12. I hope this isn't the case for anyone.

Also: periodic MSRV CI did its job! It took me 5 days to notice the notification, but still a big improvement in issue-appearance-to-fix-latency.

Changed

  • The https-rustls-probe feature no longer brings in the webpki-roots and rustls-webpki crates. Thanks for the report, @polarathene! (#111)

Fixed

  • Cleaned up an unnecessary format!() in Connection::connect. Thanks for the PR, @melotic! (#112)
  • Fixed some msrv and lint issues introduced by libc and clippy updates respectively.

2.12.0

16 Jul 16:01

Choose a tag to compare

A new convenience function, Request::with_headers! And in maintenance news, I added a schedule for the msrv job, so hopefully I'll notice it failing when it starts failing rather than on every new pull request.

Added

  • Request::with_headers, to allow passing in many headers at a time. Thanks for the idea and PR, @rawhuul! (#110)