Merge pull request #241 from jsha/changelog-2.0
Update CHANGELOG, Cargo.toml, and docs for 2.0.
This commit is contained in:
25
CHANGELOG.md
25
CHANGELOG.md
@@ -1,3 +1,28 @@
|
|||||||
|
# 2.0.0
|
||||||
|
|
||||||
|
* Remove the "synthetic error" concept. Methods that formerly returned
|
||||||
|
Response now return Result<Response, Error>.
|
||||||
|
* Rewrite Error type. Instead of an enum, it's now a struct with an
|
||||||
|
ErrorKind. This allows us to store the source error when appropriate,
|
||||||
|
as well as the URL that caused an error.
|
||||||
|
* Move more configuration to Agent. Timeouts, TLS config, and proxy config
|
||||||
|
now require building an Agent.
|
||||||
|
* Create AgentBuilder to separate the process of building an agent from using
|
||||||
|
the resulting agent.
|
||||||
|
* Rewrite README and top-level documentation.
|
||||||
|
* Add ureq::request_url and Agent::request_url, to send requests with
|
||||||
|
already-parsed URLs.
|
||||||
|
* Remove native_tls support.
|
||||||
|
* Remove convenience methods `options(url)`, `trace(url)`, and `patch(url)`.
|
||||||
|
To send requests with those verbs use `request(method, url)`.
|
||||||
|
* Remove Agent::set_cookie.
|
||||||
|
* Remove Header from the public API. The type wasn't used by any public
|
||||||
|
methods.
|
||||||
|
* Remove into_json_deserialize. Now into_json handles both serde_json::Value
|
||||||
|
and other types that implement serde::Deserialize. If you were using
|
||||||
|
serde_json before, you will probably have to explicitly annotate a type,
|
||||||
|
like: `let v: serde_json::Value = response.into_json();`.
|
||||||
|
|
||||||
# 1.5.2
|
# 1.5.2
|
||||||
|
|
||||||
* Remove 'static constraint on Request.send(), allowing a wider variety of
|
* Remove 'static constraint on Request.send(), allowing a wider variety of
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "ureq"
|
name = "ureq"
|
||||||
version = "1.5.2"
|
version = "2.0.0-rc1"
|
||||||
authors = ["Martin Algesten <martin@algesten.se>", "Jacob Hoffman-Andrews <ureq@hoffman-andrews.com>"]
|
authors = ["Martin Algesten <martin@algesten.se>", "Jacob Hoffman-Andrews <ureq@hoffman-andrews.com>"]
|
||||||
description = "Simple, safe HTTP client"
|
description = "Simple, safe HTTP client"
|
||||||
license = "MIT/Apache-2.0"
|
license = "MIT/Apache-2.0"
|
||||||
|
|||||||
@@ -14,7 +14,11 @@ Ureq is in pure Rust for safety and ease of understanding. It avoids using
|
|||||||
the API simple and and keeps dependencies to a minimum. For TLS, ureq uses
|
the API simple and and keeps dependencies to a minimum. For TLS, ureq uses
|
||||||
[rustls].
|
[rustls].
|
||||||
|
|
||||||
[blocking]: #blocking-i-o-for-simplicity
|
Version 2.0.0 was released recently and changed some APIs. See the [changelog] for details.
|
||||||
|
|
||||||
|
[blocking]: #blocking-io-for-simplicity
|
||||||
|
[changelog]: https://github.com/algesten/ureq/blob/master/CHANGELOG.md
|
||||||
|
|
||||||
|
|
||||||
### Usage
|
### Usage
|
||||||
|
|
||||||
@@ -141,7 +145,7 @@ to encode the request body using that.
|
|||||||
|
|
||||||
## Blocking I/O for simplicity
|
## Blocking I/O for simplicity
|
||||||
|
|
||||||
Rust supports [asynchronous (async) I/O][async], but ureq does not use it. Async I/O
|
Ureq uses blocking I/O rather than Rust's newer [asynchronous (async) I/O][async]. Async I/O
|
||||||
allows serving many concurrent requests without high costs in memory and OS threads. But
|
allows serving many concurrent requests without high costs in memory and OS threads. But
|
||||||
it comes at a cost in complexity. Async programs need to pull in a runtime (usually
|
it comes at a cost in complexity. Async programs need to pull in a runtime (usually
|
||||||
[async-std] or [tokio]). They also need async variants of any method that might block, and of
|
[async-std] or [tokio]). They also need async variants of any method that might block, and of
|
||||||
|
|||||||
@@ -12,7 +12,11 @@
|
|||||||
//! the API simple and and keeps dependencies to a minimum. For TLS, ureq uses
|
//! the API simple and and keeps dependencies to a minimum. For TLS, ureq uses
|
||||||
//! [rustls].
|
//! [rustls].
|
||||||
//!
|
//!
|
||||||
//! [blocking]: #blocking-i-o-for-simplicity
|
//! Version 2.0.0 was released recently and changed some APIs. See the [changelog] for details.
|
||||||
|
//!
|
||||||
|
//! [blocking]: #blocking-io-for-simplicity
|
||||||
|
//! [changelog]: https://github.com/algesten/ureq/blob/master/CHANGELOG.md
|
||||||
|
//!
|
||||||
//!
|
//!
|
||||||
//! ## Usage
|
//! ## Usage
|
||||||
//!
|
//!
|
||||||
@@ -154,7 +158,7 @@
|
|||||||
//!
|
//!
|
||||||
//! # Blocking I/O for simplicity
|
//! # Blocking I/O for simplicity
|
||||||
//!
|
//!
|
||||||
//! Rust supports [asynchronous (async) I/O][async], but ureq does not use it. Async I/O
|
//! Ureq uses blocking I/O rather than Rust's newer [asynchronous (async) I/O][async]. Async I/O
|
||||||
//! allows serving many concurrent requests without high costs in memory and OS threads. But
|
//! allows serving many concurrent requests without high costs in memory and OS threads. But
|
||||||
//! it comes at a cost in complexity. Async programs need to pull in a runtime (usually
|
//! it comes at a cost in complexity. Async programs need to pull in a runtime (usually
|
||||||
//! [async-std] or [tokio]). They also need async variants of any method that might block, and of
|
//! [async-std] or [tokio]). They also need async variants of any method that might block, and of
|
||||||
|
|||||||
Reference in New Issue
Block a user