diff --git a/Cargo-minimal.lock b/Cargo-minimal.lock index eb90087c..98aae754 100644 --- a/Cargo-minimal.lock +++ b/Cargo-minimal.lock @@ -450,7 +450,7 @@ dependencies = [ [[package]] name = "jsonrpc" -version = "0.18.0" +version = "0.19.0" dependencies = [ "base64 0.22.1", "bitreq", diff --git a/Cargo-recent.lock b/Cargo-recent.lock index fd3e5a0b..eee4ba1f 100644 --- a/Cargo-recent.lock +++ b/Cargo-recent.lock @@ -455,7 +455,7 @@ dependencies = [ [[package]] name = "jsonrpc" -version = "0.18.0" +version = "0.19.0" dependencies = [ "base64 0.22.1", "bitreq", diff --git a/client/Cargo.toml b/client/Cargo.toml index 08f9ec4a..ac42169c 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -27,6 +27,6 @@ serde = { version = "1.0.103", default-features = false, features = [ "derive", serde_json = { version = "1.0.117" } types = { package = "corepc-types", version = "0.10.0", path = "../types", default-features = false, features = ["std"] } -jsonrpc = { version = "0.18.0", path = "../jsonrpc", features = ["bitreq_http"], optional = true } +jsonrpc = { version = "0.19.0", path = "../jsonrpc", features = ["bitreq_http"], optional = true } [dev-dependencies] diff --git a/client/src/client_sync/mod.rs b/client/src/client_sync/mod.rs index bca9e954..bddbff57 100644 --- a/client/src/client_sync/mod.rs +++ b/client/src/client_sync/mod.rs @@ -83,7 +83,7 @@ macro_rules! define_jsonrpc_bitreq_client { pub fn new(url: &str) -> Self { let transport = jsonrpc::http::bitreq_http::Builder::new() .url(url) - .expect("jsonrpc v0.18, this function does not error") + .expect("jsonrpc v0.19, this function does not error") .timeout(std::time::Duration::from_secs(60)) .build(); let inner = jsonrpc::client::Client::with_transport(transport); @@ -100,7 +100,7 @@ macro_rules! define_jsonrpc_bitreq_client { let transport = jsonrpc::http::bitreq_http::Builder::new() .url(url) - .expect("jsonrpc v0.18, this function does not error") + .expect("jsonrpc v0.19, this function does not error") .timeout(std::time::Duration::from_secs(60)) .basic_auth(user.unwrap(), pass) .build(); diff --git a/jsonrpc/CHANGELOG.md b/jsonrpc/CHANGELOG.md new file mode 100644 index 00000000..eec03157 --- /dev/null +++ b/jsonrpc/CHANGELOG.md @@ -0,0 +1,92 @@ +# 0.19.0 - 2025-10-31 + +* Depend on `bitreq` [399](https://github.com/rust-bitcoin/corepc/pull/399) +* Update MSRV to Rust `v1.75.0` [#405](https://github.com/rust-bitcoin/corepc/pull/405/) + +# 0.18.0 - 2024-04-12 + +* simple_http: throw a specific error when transfer encoding is chunked + [#114](https://github.com/apoelstra/rust-jsonrpc/pull/114) + +# 0.17.0 - 2023-12-22 + +* `params` field in `Request` changed to a generic `RawValue` instead of an array. + [#108](https://github.com/apoelstra/rust-jsonrpc/pull/108) + +# 0.16.0 - 2023-06-29 + +* Re-export the `minreq` crate when the feature is set + [#102](https://github.com/apoelstra/rust-jsonrpc/pull/102) +* Don't treat HTTP errors with no JSON as JSON parsing errors + [#103](https://github.com/apoelstra/rust-jsonrpc/pull/103) + +# 0.15.0 - 2023-05-28 + +* Add new transport that uses `minreq` + [#94](https://github.com/apoelstra/rust-jsonrpc/pull/94) +* Bump MSRV to rust 1.48.0 + [#91](https://github.com/apoelstra/rust-jsonrpc/pull/91) + +# 0.14.1 - 2023-04-03 + +* simple_http: fix "re-open socket on write failure" behavior + [#84](https://github.com/apoelstra/rust-jsonrpc/pull/84) + [#86](https://github.com/apoelstra/rust-jsonrpc/pull/86) +* simple_http: add "host" header (required by HTTP 1.1) + [#85](https://github.com/apoelstra/rust-jsonrpc/pull/85) +* simple_http: add ability to replace URL/path; minor ergonomic improvements + [#89](https://github.com/apoelstra/rust-jsonrpc/pull/89) + +# 0.14.0 - 2022-11-28 + +This release significantly improves our `simple_http` client, though at the +apparent cost of a performance regression when making repeated RPC calls to +a local bitcoind. We are unsure what to make of this, since our code now uses +fewer sockets, less memory and does less redundant processing. + +The highlights are: + +* Support JSON replies that span multiple lines + [#70](https://github.com/apoelstra/rust-jsonrpc/pull/69) +* Add feature-gated support for using a SOCKS proxy + [#70](https://github.com/apoelstra/rust-jsonrpc/pull/70) +* Fix resource exhaustive bug on MacOS by reusing sockets + [#72](https://github.com/apoelstra/rust-jsonrpc/pull/72) + [#76](https://github.com/apoelstra/rust-jsonrpc/pull/76) + +As well as improvements to our code quality and test infrastructure. + +# 0.13.0 - 2022-07-21 "Edition 2018 Release" + +This release increases the MSRV to 1.41.1, bringing with it a bunch of new language features. + +Some highlights: + +- The MSRV bump [#58](https://github.com/apoelstra/rust-jsonrpc/pull/58) +- Add IPv6 support [#63](https://github.com/apoelstra/rust-jsonrpc/pull/63) +- Remove `serder_derive` dependency [#61](https://github.com/apoelstra/rust-jsonrpc/pull/61) + +# 0.12.1 - 2022-01-20 + +## Features + +* A new set of transports were added for JSONRPC over raw TCP sockets (one using `SocketAddr`, and + one UNIX-only using Unix Domain Sockets) + +## Bug fixes + +* The `Content-Type` HTTP header is now correctly set to `application/json` +* The `Connection: Close` HTTP header is now sent for requests + +# 0.12.0 - 2020-12-16 + +* Remove `http` and `hyper` dependencies +* Implement our own simple HTTP transport for Bitcoin Core +* But allow use of generic transports + +# 0.11.0 - 2019-04-05 + +* [Clean up the API](https://github.com/apoelstra/rust-jsonrpc/pull/19) +* [Set the content-type header to json]((https://github.com/apoelstra/rust-jsonrpc/pull/21) +* [Allow no `result` field in responses](https://github.com/apoelstra/rust-jsonrpc/pull/16) +* [Add batch request support](https://github.com/apoelstra/rust-jsonrpc/pull/24) diff --git a/jsonrpc/Cargo.toml b/jsonrpc/Cargo.toml index b6a6bcdf..3778fe18 100644 --- a/jsonrpc/Cargo.toml +++ b/jsonrpc/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "jsonrpc" -version = "0.18.0" +version = "0.19.0" authors = ["Andrew Poelstra "] license = "CC0-1.0" -repository = "https://github.com/rust-bitcoin/rust-bitcoind-json-rpc/" +repository = "https://github.com/rust-bitcoin/corepc/" documentation = "https://docs.rs/jsonrpc/" description = "Rust support for the JSON-RPC 2.0 protocol" keywords = [ "protocol", "json", "http", "jsonrpc" ]