|
1 | | -# Changelog |
2 | | -All notable changes to this project will be documented in this file. |
| 1 | +# 0.1.0 2025-10-22 |
3 | 2 |
|
4 | | -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
5 | | -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 3 | +* Fork `minreq`, strip it down, and import it into the `corepc` repo. |
| 4 | + Rename to `bitreq` while doing so. |
6 | 5 |
|
7 | | -## [Unreleased] |
8 | | -### Changed |
9 | | -- `https-bundled`, `https-bundled-probe`: Removed almost all of the bundled |
10 | | - native-tls code (~1k LoC), only keeping the relevant part (~30 LoC). There |
11 | | - should be no change to the actual code that ends up being ran, but if you're |
12 | | - using these features, make sure to test that everything works as you expect, |
13 | | - something might have slipped. |
14 | | - |
15 | | -### Fixed |
16 | | -- `https-*`: Refactored the TLS handling code a bit. This should have no visible |
17 | | - effect downstream, `src/connection.rs` is just a little bit more readable now. |
18 | | -- Removed `build.rs`, which turned out to be dead code. This should have no |
19 | | - effect, but if it does, it should also only affect the `https-bundled` and |
20 | | - `https-bundled-probe` features. |
21 | | - |
22 | | -## [2.13.4] - 2025-04-11 |
23 | | -### Fixed |
24 | | -- Updated the base64 dependency, only used by the `proxy` feature, to its newest |
25 | | - minor version. Thanks for the report, @Jackhr-arch! |
26 | | - ([#119](https://github.com/neonmoe/minreq/issues/119)) |
27 | | - |
28 | | -## [2.13.3] - 2025-03-11 |
29 | | -### Fixed |
30 | | -- Removed the `once_cell` dependency by making use of the new |
31 | | - `std::sync::OnceLock` type. This change only affects the rustls-based https |
32 | | - features. Thanks for the PR, @LyonSyonII! |
33 | | - ([#115](https://github.com/neonmoe/minreq/pull/115)) |
34 | | -- MSRV builds that got broken due to a `rustix` update. Now `tempfile` is pinned |
35 | | - as well. |
36 | | - |
37 | | -## [2.13.2] - 2025-01-29 |
38 | | -### Fixed |
39 | | -- Reverted a part of 2.13.1, accidentally removed some code that wasn't actually |
40 | | - dead code. |
41 | | - |
42 | | -## [2.13.1] - 2025-01-29 |
43 | | -### Fixed |
44 | | -- Usage of an openssl-probe function that's deprecated due to safety issues. See |
45 | | - [rustsec/advisory-db#2209](https://github.com/rustsec/advisory-db/pull/2209) |
46 | | - for further info. |
47 | | - |
48 | | -## [2.13.0] - 2024-12-04 |
49 | | -### Changed |
50 | | -- The `https-rustls-probe` feature no longer brings in the `webpki-roots` and |
51 | | - `rustls-webpki` crates. Thanks for the report, @polarathene! |
52 | | - ([#111](https://github.com/neonmoe/minreq/issues/111)) |
53 | | - |
54 | | -### Fixed |
55 | | -- Cleaned up an unnecessary `format!()` in `Connection::connect`. Thanks for the |
56 | | - PR, @melotic! ([#112](https://github.com/neonmoe/minreq/pull/112)) |
57 | | -- Fixed some msrv and lint issues introduced by libc and clippy updates |
58 | | - respectively. |
59 | | - |
60 | | -## [2.12.0] - 2024-07-16 |
61 | | -### Added |
62 | | -- Request::with_headers, to allow passing in many headers at a |
63 | | - time. Thanks for the idea and PR, @rawhuul! |
64 | | - ([#110](https://github.com/neonmoe/minreq/pull/110)) |
65 | | - |
66 | | -## [2.11.2] - 2024-04-26 |
67 | | -### Fixed |
68 | | -- The dev dependency tiny_http's version up to 0.12. Thanks for the |
69 | | - PR, @davide125! ([#107](https://github.com/neonmoe/minreq/pull/107)) |
70 | | - |
71 | | -## [2.11.1] - 2024-02-04 |
72 | | -### Fixed |
73 | | -- Unnecessary buffering causing performance problems. Thanks for the |
74 | | - PRs, @mrkline! ([#102](https://github.com/neonmoe/minreq/pull/102), |
75 | | - [#103](https://github.com/neonmoe/minreq/pull/103)) |
76 | | -- Connections failing if the first resolved address fails to connect |
77 | | - (even if there's more to try). Thanks for the PR, @darosior! |
78 | | - ([#106](https://github.com/neonmoe/minreq/pull/106)) |
79 | | - |
80 | | -## [2.11.0] - 2023-10-17 |
81 | | -### Changed |
82 | | -- Removed upper bounds on the `serde_json`, `log` and `chrono` |
83 | | - dependencies (dev-dependency in the case of `chrono`). If you were |
84 | | - depending on minreq compiling with the MSRV compiler without any |
85 | | - issues, check out the MSRV section in the readme, it's been updated |
86 | | - with additional instructions. Thanks for the report, @RCasatta! |
87 | | - ([#99](https://github.com/neonmoe/minreq/issues/99)) |
88 | | - |
89 | | -## [2.10.0] - 2023-09-05 |
90 | | -### Fixed |
91 | | -- Fragment handling, once again. Turns out you're not supposed to include |
92 | | - fragments in the request. This may break usage with servers that are written |
93 | | - with the wrong assumptions. Thanks for the report, @rawhuul! |
94 | | - ([#100](https://github.com/neonmoe/minreq/issues/100)) |
95 | | - |
96 | | -### Added |
97 | | -- `Response::url` and `ResponseLazy::url` fields, to contain the final URL after |
98 | | - redirects and fragment replacement semantics. |
99 | | - |
100 | | -## [2.9.1] - 2023-08-28 |
101 | | -### Changed |
102 | | -- Loosened the rustls version requirement from 0.21.6 to 0.21.1. |
103 | | - |
104 | | -## [2.9.0] - 2023-08-24 |
105 | | -### Changed |
106 | | -- From webpki to rustls-webpki. Thanks for the heads-up about webpki not |
107 | | - being maintained, @RCasatta! |
108 | | - ([#98](https://github.com/neonmoe/minreq/issues/98)) |
109 | | -- Updated rustls and webpki-roots to their most recent versions. |
110 | | -- Maximum versions for the following dependencies to keep minreq compiling on |
111 | | - Rust 1.48: |
112 | | - - serde_json (`>=1.0.0, <1.0.101`) |
113 | | - - log (`>=0.4.0, <0.4.19`) |
114 | | - - chrono (dev-dependency, `>=0.4.0, <0.4.24`) |
115 | | - |
116 | | -### Fixed |
117 | | -- Errors when using an IP address as the host with HTTPS (tested with |
118 | | - <https://8.8.8.8>). ([#34](https://github.com/neonmoe/minreq/issues/34)) |
119 | | - |
120 | | -## [2.8.1] - 2023-05-20 |
121 | | -### Fixed |
122 | | -- Proxy strings with the protocol included not working. Thanks for the report, |
123 | | - @tkkcc! ([#95](https://github.com/neonmoe/minreq/issues/95)) |
124 | | - |
125 | | -## [2.8.0] - 2023-05-13 |
126 | | -### Added |
127 | | -- Default proxy from environment variables when the `proxy` feature is |
128 | | - enabled, based on what curl does. Thanks for the PR, @krypt0nn! |
129 | | - ([#94](https://github.com/neonmoe/minreq/pull/94)) |
130 | | - |
131 | | -## [2.7.0] - 2023-03-19 |
132 | | -### Changed |
133 | | -- From lazy_static to once_cell for library internals. Thanks for the PR, |
134 | | - @alpha-tango-kilo! ([#80](https://github.com/neonmoe/minreq/pull/80)) |
135 | | - |
136 | | -### Added |
137 | | -- A Read impl for ResponseLazy. Thanks for the PR, @Luro02! |
138 | | - ([#81](https://github.com/neonmoe/minreq/pull/81)) |
139 | | -- Building with `--all-features`, with the `send_https` function defaulting to |
140 | | - the rustls-based implementation. Thanks for the PR, @tcharding! |
141 | | - ([#89](https://github.com/neonmoe/minreq/pull/89)) |
142 | | -- An explicit minimum supported rust version policy. The MSRV for versions 2.x |
143 | | - is 1.48. Thanks for the suggestion and PR, @tcharding! |
144 | | - ([#90](https://github.com/neonmoe/minreq/pull/90)) |
145 | | -- Performance improvements, test fixes, CI updates. |
146 | | - |
147 | | -## [2.6.0] - 2022-02-23 |
148 | | -### Changed |
149 | | -- The error returned when the request url does not start with |
150 | | - `https://` or `http://` now is now a slightly different IoError, |
151 | | - with a clearer message. This will be changed to a proper |
152 | | - minreq-specific error in 3.0, but for now it's an IoError to avoid |
153 | | - breaking the Error type. |
154 | | - |
155 | | -### Added |
156 | | -- The `urlencoding` feature for automatically percent-encoding |
157 | | - urls. Thanks for the idea and PR, @alpha-tango-kilo! |
158 | | - ([#67](https://github.com/neonmoe/minreq/issues/67), |
159 | | - [#68](https://github.com/neonmoe/minreq/pull/68)) |
160 | | - |
161 | | -## [2.5.1] - 2022-01-07 |
162 | | -### Fixed |
163 | | -- GitHub API requests without User-Agent returning an IoError. Thanks |
164 | | - for the report, @tech-ticks! |
165 | | - ([#66](https://github.com/neonmoe/minreq/issues/66)) |
166 | | - |
167 | | -## [2.5.0] - 2022-01-06 |
168 | | -### Fixed |
169 | | -- Returning the wrong status code when the response was missing a |
170 | | - status phrase. Thanks for the PR, @richarddd! |
171 | | - ([#64](https://github.com/neonmoe/minreq/issues/64)) |
172 | | -- Non-lazy requests crashing if the request had a very big |
173 | | - Content-Length header. Thanks for the report, @Shnatsel! |
174 | | - ([#63](https://github.com/neonmoe/minreq/issues/63)) |
175 | | - |
176 | | -## [2.4.2] - 2021-06-11 |
177 | | -### Fixed |
178 | | -- A regression in 2.4.1 where the port is no longer included in the |
179 | | - `Host`, even if it's a non-standard port. Now the port is always |
180 | | - included if it's in the request URL, and omitted if the port is |
181 | | - implied. Thanks for the report, @ollpu! |
182 | | - ([#61](https://github.com/neonmoe/minreq/issues/61)) |
183 | | - |
184 | | -## [2.4.1] - 2021-06-05 |
185 | | -### Fixed |
186 | | -- The port is no longer included in the `Host` header when sending |
187 | | - requests, and port handling was cleaned up overall. This fixes |
188 | | - issues with infinite redirections and https handshakes for some |
189 | | - websites. Thanks to @Shnatsel for reporting the issues, and @joeried |
190 | | - for debugging and figuring out the root cause of these problems! |
191 | | - ([#48](https://github.com/neonmoe/minreq/issues/48), |
192 | | - [#49](https://github.com/neonmoe/minreq/issues/49)) |
193 | | - |
194 | | -## [2.4.0] - 2021-05-27 |
195 | | -### Added |
196 | | -- `Request::with_param` for more ergonomic query parameter |
197 | | - usage. Thanks for the PR, @sjvignesh! |
198 | | - ([#54](https://github.com/neonmoe/minreq/pull/54)) |
199 | | -- `Request::with_max_headers_size` and |
200 | | - `Request::with_max_status_line_length` for avoiding DoS when the |
201 | | - server sends large headers or status lines. Thanks for the report, |
202 | | - @Shnatsel! ([#55](https://github.com/neonmoe/minreq/issues/55)) |
203 | | -- Support for the `rustls-native-certs` crate via a new |
204 | | - `https-rustls-probe` feature. Thanks for the PR, @joeried! |
205 | | - ([#59](https://github.com/neonmoe/minreq/pull/59)) |
206 | | - |
207 | | -### Fixed |
208 | | -- Chunk length handling for some servers with slightly off-spec chunk |
209 | | - lengths. Thanks for the report, @Shnatsel! |
210 | | - ([#50](https://github.com/neonmoe/minreq/issues/50)) |
211 | | -- Timeouts not always being properly enforced. Thanks for the report, |
212 | | - @Shnatsel! ([#52](https://github.com/neonmoe/minreq/issues/52)) |
213 | | - |
214 | | -## [2.3.1] - 2021-02-10 |
215 | | -### Fixed |
216 | | -- Removed some leftover printlns from the redirection update in 2.3.0 |
217 | | - and ensured there's no printlns in the library anymore. Thanks for |
218 | | - reporting the issue @Shnatsel! |
219 | | - [#45](https://github.com/neonmoe/minreq/issues/45) |
220 | | -- Fixed the timeout not being respected during the initial TCP |
221 | | - connect. Thanks for the report and fix @KarthikNedunchezhiyan! |
222 | | - [#46](https://github.com/neonmoe/minreq/issues/46), |
223 | | - [#47](https://github.com/neonmoe/minreq/pull/47) |
224 | | - |
225 | | -## [2.3.0] - 2021-01-04 |
226 | | -### Changed |
227 | | -- **Breaking (sort of):** the redirection code was improved to match |
228 | | - [RFC 7231 section |
229 | | - 7.1.2](https://tools.ietf.org/html/rfc7231#section-7.1.2), which |
230 | | - could subtly break some programs relying on very specific redirects, |
231 | | - which is why this should be investigated if you come across weird |
232 | | - behaviour after updating. No API changes though, so only a minor |
233 | | - version bump. The following two points are now fixed when |
234 | | - redirecting: |
235 | | - - Fragments, the bit after a #-character in the url. If the |
236 | | - redirecting url has a fragment, and the one in `Location` does |
237 | | - not, the original fragment should be included in the new url. If |
238 | | - `Location` does have a fragment, it should override the one in the |
239 | | - redirecting url. |
240 | | - - Relative urls. Minreq now properly redirects when `Location` is |
241 | | - relative, e.g. `/Foo.html` instead of |
242 | | - `https://example.com/Foo.html`. Thanks, @fjt523! |
243 | | - |
244 | | -### Fixed |
245 | | -- The `Content-Length: 0` header is now inserted into requests that |
246 | | - should have it. Thanks, @KarthikNedunchezhiyan! |
247 | | -- Status line parsing is now fixed, so "400 Bad Request" is not parsed |
248 | | - as "400 Bad". Thanks, @KarthikNedunchezhiyan! |
249 | | - |
250 | | -### Added |
251 | | -- M1 Mac support by bumping the ring dependency. Thanks, @ryanmcgrath! |
252 | | - |
253 | | -## [2.2.1] - 2020-08-22 |
254 | | -### Fixed |
255 | | -- Some documentation which has been long due for an update. I just |
256 | | - always forget when writing an actual update. No code changes! |
257 | | - |
258 | | -## [2.2.0] - 2020-06-18 |
259 | | -### Added |
260 | | -- Support for `native-tls` and `openssl-sys` via new features, in |
261 | | - addition to `rustls`. Thanks to @dubiousjim! |
262 | | - |
263 | | -## [2.1.1] - 2020-05-01 |
264 | | -### Fixed |
265 | | -- Handling of status codes 204 and 304. Thanks to @Mubelotix! |
266 | | - |
267 | | -## [2.1.0] - 2020-03-14 |
268 | | -### Added |
269 | | -- Proxy support via the `proxy` feature. Thanks to @rustysec! |
270 | | - |
271 | | -## [2.0.3] - 2020-01-15 |
272 | | -### Fixed |
273 | | -- Fixed regression in header parsing caused by 2.0.2, which was yanked. |
274 | | - |
275 | | -## [2.0.2] - 2020-01-15 |
276 | | -### Fixed |
277 | | -- Fixed a panic when sending a request to an invalid domain |
278 | | - via https. |
279 | | -- Fixed a panic when parsing headers that have >1 byte |
280 | | - unicode characters right after the ":" in the response. |
281 | | - |
282 | | -## [2.0.1] - 2020-01-11 |
283 | | -### Fixed |
284 | | -- Made timeouts work as described in the documentation. |
285 | | - Fixed issue #22. |
286 | | - |
287 | | -## [2.0.0] - 2019-11-23 |
288 | | -### Added |
289 | | -- API for loading the HTTP response body through an iterator, allowing |
290 | | - for processing of the data during the download. |
291 | | - - See the `ResponseLazy` documentation for more information. |
292 | | -- Error type for all the errors that this crate can run into for |
293 | | - easier `?` usage and better debuggability. |
294 | | -- Punycode support for non-ascii hostnames via the `punycode` feature. |
295 | | -- Trailer header support. |
296 | | -- Examples [`hello`](examples/hello.rs), |
297 | | - [`iterator`](examples/iterator.rs), and [`json`](examples/json.rs). |
298 | | - |
299 | | -### Changed |
300 | | -- **Breaking, will cause problems not detectable by the compiler:** |
301 | | - Response headers' field names are now in lowercase, as they are |
302 | | - case-insensitive and this makes getting header values easier. The |
303 | | - values are unaffected. So if your code has |
304 | | - `response.headers.get("Content-Type")`, you have to change it to |
305 | | - `response.headers.get("content-type")`, or it will not return what |
306 | | - you want. |
307 | | -- **Breaking**: Restructure the `Response` struct: |
308 | | - - Removed `bytes` and `body_bytes`. |
309 | | - - Added `as_bytes()`, `into_bytes()`, and `as_str()` in their place. |
310 | | -- **Breaking**: Changed the `with_body` parameter type to |
311 | | - `Into<Vec<u8>>` from `Into<String>`. |
312 | | - - `String`s implement `Into<Vec<u8>>`, so this shouldn't cause any |
313 | | - problems, unless you're using some interesting types that |
314 | | - implement `Into<String>` but not `Into<Vec<u8>>`. |
315 | | -- Clean up the crate internals overall. **Note**: This might cause |
316 | | - instability, if you're very concerned about stability, please hold |
317 | | - off upgrading for a while. |
318 | | -- Remove `panic!` when trying to make an `https://` request without |
319 | | - the `https` feature. The request will now return an error |
320 | | - instead. The library should not panic anymore. |
321 | | -- Audit the remaining `unwrap()`s from library code, none of them |
322 | | - should actually ever cause a panic now. |
323 | | - |
324 | | -### Removed |
325 | | -- `create_request` in favor of just using `Response::new`. |
326 | | - |
327 | | -## [1.4.1] - 2019-10-13 |
328 | | -### Changed |
329 | | -- Updated dependencies. |
330 | | - |
331 | | -### Fixed |
332 | | -- Tests on Windows by changing the ip in tests from `0.0.0.0` to |
333 | | - `localhost`. |
334 | | -- Reuse `rustls::ClientConfig` between requests. |
335 | | -- `Content-Length` and `Transfer-Encoding` detection failing because |
336 | | - of case-sensitiveness. |
337 | | - |
338 | | -## [1.4.0] - 2019-07-13 |
339 | | -### Added |
340 | | -- `json-using-serde` feature. |
341 | | - |
342 | | -## [1.3.0] - 2019-06-04 |
343 | | -### Added |
344 | | -- The `body_bytes` field to Response, containing the body in raw |
345 | | - bytes. |
346 | | - |
347 | | -### Fixed |
348 | | -- Some clippy warnings. |
349 | | -- Panic when getting a non-UTF-8 response, instead setting the `body` |
350 | | - string to an empty string, for now. |
351 | | - |
352 | | -## [1.2.1] - 2019-05-24 |
353 | | -### Fixed |
354 | | -- HTTP response body handling. |
355 | | - |
356 | | -## [1.2.0] - 2019-05-23 |
357 | | -### Added |
358 | | -- Support for the HTTP status codes 301, 302, 303, and 307. |
359 | | - |
360 | | -### Fixed |
361 | | -- Less .clones()s. |
362 | | - |
363 | | -## [1.1.2] - 2019-04-14 |
364 | | -### Fixed |
365 | | -- Fix response handling when `Transfer-Encoding` is `chunked`. |
366 | | - |
367 | | -## [1.1.1] - 2019-03-28 |
368 | | -### Changed |
369 | | -- Moved to 2018 edition. |
370 | | - |
371 | | -### Fixed |
372 | | -- HEAD requests and ones that receive a 1xx, 204, or 304 status code |
373 | | - as a response. |
374 | | - |
375 | | -## [1.1.0] - 2019-03-24 |
376 | | -### Changed |
377 | | -- Timeout made optional. |
378 | | -- Updated dependencies. |
379 | | - |
380 | | -### Fixed |
381 | | -- Improved performance for HTTP (not HTTPS) requests. |
| 6 | +I forked `minreq` from the master branch 3 months ago and did not grab |
| 7 | +the commit hash when forking, at the time the released version was 2.13.4 |
0 commit comments