mirror of https://github.com/http-rs/http-client
165 lines
4.5 KiB
Markdown
165 lines
4.5 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to surf will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://book.async.rs/overview/stability-guarantees.html).
|
|
|
|
## [Unreleased]
|
|
|
|
## [6.5.3]
|
|
|
|
### Deps
|
|
- `h1-client` now uses `dashmap` at version `5.x >`, fixing an unsoundness issue.
|
|
|
|
## [6.5.2]
|
|
|
|
### Deps
|
|
- Now only uses `dashmap` for `h1-client`.
|
|
|
|
## [6.5.1]
|
|
|
|
Same as 6.5.0 with one change:
|
|
|
|
`Config::max_connections_per_host()` is now properly named `Config::set_max_connections_per_host()`.
|
|
|
|
## [6.5.0]
|
|
|
|
(Yanked)
|
|
|
|
### Added
|
|
- `Config` has been stabilized and is now available by default!
|
|
- `wasm_client` support for `Config` (only timeouts).
|
|
- `Config::max_connections_per_host` (Supported on `h1_client` and `curl_client`.)
|
|
|
|
### Deprecated
|
|
- `H1Client::with_max_connections()` will be superseded by `Config::max_connections_per_host`.
|
|
|
|
## [6.4.1] - 2021-05-19
|
|
|
|
### Docs
|
|
- Added `"unstable-config"` to the docs builds.
|
|
|
|
## [6.4.0] - 2021-05-17
|
|
|
|
### Added
|
|
- Added a new `unstable-config` feature, which exposes runtime configuration via a new `Config` struct.
|
|
|
|
## [6.3.5] - 2021-03-12
|
|
|
|
### Fixed
|
|
- Multiple headers of the same name are now present with any client backend and not just `h1_client`.
|
|
- Connection when multiple IPs are present for a hostname not function with the `h1_client` backend.
|
|
|
|
## [6.3.4] - 2021-03-06
|
|
|
|
### Fixed
|
|
- `h1_client` connection pools now properly check if connections are still alive before recycling them.
|
|
- Like, actually properly this time.
|
|
- There is a test now to ensure closed connections don't cause errors.
|
|
|
|
## [6.3.3] - 2021-03-01
|
|
|
|
### Fixed
|
|
- `h1_client` connection pools now properly check if connections are still alive before recycling them.
|
|
|
|
## [6.3.2] - 2021-03-01
|
|
|
|
_(This was the same thing as 6.3.1 released by git accident.)_
|
|
|
|
## [6.3.1] - 2021-02-15
|
|
|
|
### Fixed
|
|
- Allow http-client to build & run properly when `h1_client` is enabled without either tls option.
|
|
- Prefer `rustls` if both tls features are enabled.
|
|
|
|
### Internal
|
|
- More exhaustive CI for feature combinations.
|
|
|
|
## [6.3.0] - 2021-02-12
|
|
|
|
### Added
|
|
- Connection pooling (HTTP/1.1 `keep-alive`) for `h1_client` (default).
|
|
- `native-tls` (default) and `rustls` feature flags.
|
|
- Only works with `h1_client`.
|
|
- Isahc metrics as a response extension for `curl_client`.
|
|
|
|
### Fixed
|
|
- `Box<dyn HttpClient>` no longer infinitely recurses.
|
|
- `curl_client` now always correctly reads the response body.
|
|
- `hyper_client` should now build correctly.
|
|
- `WasmClient` fetch from worker scope now works correctly.
|
|
|
|
### Internal
|
|
- Improved CI
|
|
|
|
## [6.2.0] - 2020-10-26
|
|
|
|
This release implements `HttpClient` for `Box<dyn HttpClient>`.
|
|
|
|
### Added
|
|
- `impl HttpClient for Box<dyn HttpClient>`
|
|
|
|
## [6.1.0] - 2020-10-09
|
|
|
|
This release brings improvements for `HyperClient` (`hyper_client` feature).
|
|
|
|
### Added
|
|
- `HyperClient` now impls `Default`.
|
|
- `HyperClient::from_client(hyper::Client<C>)`.
|
|
|
|
### Changed
|
|
- `HyperClient` now re-uses the internal client, allowing connection pooling.
|
|
|
|
## [6.0.0] - 2020-09-25
|
|
|
|
This release moves the responsibility of any client sharing to the user.
|
|
|
|
### Changed
|
|
- `HttpClient` implementations no longer `impl Clone`.
|
|
- The responsibility for sharing is the user's.
|
|
- `H1Client` can no longer be instatiated via `H1Client {}`.
|
|
- `::new()` should be used.
|
|
|
|
## [5.0.1] - 2020-09-18
|
|
|
|
### Fixed
|
|
- Fixed a body stream translation bug in the `hyper_client`.
|
|
|
|
## [5.0.0] - 2020-09-18
|
|
|
|
This release includes an optional backend using [hyper.rs](https://hyper.rs/), and uses [async-trait](https://crates.io/crates/async-trait) for `HttpClient`.
|
|
|
|
### Added
|
|
- `hyper_client` feature, for using [hyper.rs](https://hyper.rs/) as the client backend.
|
|
|
|
### Changed
|
|
- `HttpClient` now uses [async-trait](https://crates.io/crates/async-trait).
|
|
- This attribute is also re-exported as `http_client::async_trait`.
|
|
|
|
### Fixed
|
|
- Fixed WASM compilation.
|
|
- Fixed Isahc (curl) client translation setting duplicate headers incorrectly.
|
|
|
|
## [4.0.0] - 2020-07-09
|
|
|
|
This release allows `HttpClient` to be used as a dynamic Trait object.
|
|
|
|
- `HttpClient`: removed `Clone` bounds.
|
|
- `HttpClient`: removed `Error` type.
|
|
|
|
## [3.0.0] - 2020-05-29
|
|
|
|
This patch updates `http-client` to `http-types 2.0.0` and a new version of `async-h1`.
|
|
|
|
### Changes
|
|
- http types and async-h1 for 2.0.0 #27
|
|
|
|
## [2.0.0] - 2020-04-17
|
|
|
|
### Added
|
|
- Added a new backend: `h1-client` https://github.com/http-rs/http-client/pull/22
|
|
|
|
### Changed
|
|
- All types are now based from `hyperium/http` to `http-types` https://github.com/http-rs/http-client/pull/22
|