# Changelog All notable changes to this project 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://semver.org/spec/v2.0.0.html). ## [Unreleased] ## [0.8.0](https://github.com/unc/unc-jsonrpc-client-rs/compare/v0.7.0...v0.8.0) - 2024-01-21 ### Other - [**breaking**] Upgraded unc crates to 0.20.0 release ([#137](https://github.com/unc/unc-jsonrpc-client-rs/pull/137)) ## [0.7.0](https://github.com/unc/unc-jsonrpc-client-rs/compare/v0.6.0...v0.7.0) - 2024-01-07 ### Added - Added a new example to view contract state ([#129](https://github.com/unc/unc-jsonrpc-client-rs/pull/129)) ### Fixed - Fixed doc tests after the recent crate updates ([#135](https://github.com/unc/unc-jsonrpc-client-rs/pull/135)) ### Other - *(docs)* revise crate-level docs ([#88](https://github.com/unc/unc-jsonrpc-client-rs/pull/88)) - *(docs)* revise README docs ([#91](https://github.com/unc/unc-jsonrpc-client-rs/pull/91)) - *(docs)* revise module-level docs for RPC methods ([#87](https://github.com/unc/unc-jsonrpc-client-rs/pull/87)) - *(docs)* document the experimental `tx_status` RPC method ([#63](https://github.com/unc/unc-jsonrpc-client-rs/pull/63)) - *(docs)* document the experimental `genesis_config` RPC method ([#64](https://github.com/unc/unc-jsonrpc-client-rs/pull/64)) - *(docs)* document the `EXPERIMENTAL_protocol_config` RPC method ([#65](https://github.com/unc/unc-jsonrpc-client-rs/pull/65)) - *(docs)* document the `EXPERIMENTAL_changes_in_block` RPC method ([#66](https://github.com/unc/unc-jsonrpc-client-rs/pull/66)) - *(docs)* document the `EXPERIMENTAL_receipt` RPC method ([#67](https://github.com/unc/unc-jsonrpc-client-rs/pull/67)) - *(docs)* document the `query` RPC method ([#68](https://github.com/unc/unc-jsonrpc-client-rs/pull/68)) - *(docs)* document the experimental `validators_ordered` RPC method ([#69](https://github.com/unc/unc-jsonrpc-client-rs/pull/69)) - *(docs)* document the `gas_price` RPC method ([#70](https://github.com/unc/unc-jsonrpc-client-rs/pull/70)) - *(docs)* document the `EXPERIMENTAL_changes` RPC method ([#71](https://github.com/unc/unc-jsonrpc-client-rs/pull/71)) - *(docs)* document the `EXPERIMENTAL_check_tx` RPC method ([#72](https://github.com/unc/unc-jsonrpc-client-rs/pull/72)) - *(docs)* document the `sandbox_fast_forward` RPC method ([#75](https://github.com/unc/unc-jsonrpc-client-rs/pull/75)) - *(docs)* document the `validators` RPC method ([#76](https://github.com/unc/unc-jsonrpc-client-rs/pull/76)) - *(docs)* document the `next_light_client_block` RPC method ([#78](https://github.com/unc/unc-jsonrpc-client-rs/pull/78)) - *(docs)* document the `broadcast_tx_async` RPC method ([#79](https://github.com/unc/unc-jsonrpc-client-rs/pull/79)) - *(docs)* document the `broadcast_tx_commit` RPC method ([#80](https://github.com/unc/unc-jsonrpc-client-rs/pull/80)) - *(docs)* document the `sandbox_patch_state` RPC method ([#81](https://github.com/unc/unc-jsonrpc-client-rs/pull/81)) - *(docs)* document the error types and variants in the `errors` module ([#84](https://github.com/unc/unc-jsonrpc-client-rs/pull/84)) - *(docs)* document the generic `methods::any()` constructor ([#89](https://github.com/unc/unc-jsonrpc-client-rs/pull/89)) - [**breaking**] Bump dependencies ([#134](https://github.com/unc/unc-jsonrpc-client-rs/pull/134)) ## [0.6.0](https://github.com/unc/unc-jsonrpc-client-rs/compare/v0.5.1...v0.6.0) - 2023-06-02 ### Other - [**breaking**] Upgrade unc primitive crates version to 0.17.0 ([#126](https://github.com/unc/unc-jsonrpc-client-rs/pull/126)) ## [0.5.1] - 2023-03-22 - Updated `borsh` to `0.10.2`. ## [0.5.0] - 2023-02-24 ### Added - `ApiKey::new` now accepts byte arrays and byte slices. - `Authorization::bearer` method for token-authenticated requests. - `ApiKey::as_bytes` returns a byte slice of the key without utf-8 validation. ### Changed - Updated unccore dependencies to `0.16.0`, which now requires a MSRV of `1.67.1`. - `ApiKey::new` no longer requres the input of a valid UUID. - `Debug` on `ApiKey` doesn't reveal the key anymore. - The `auth` module is no longer feature gated. ### Breaking - Removed the `auth::IntoApiKey` trait, any thing you can get a byte slice from is now a valid `ApiKey` input. - Replaced the `ApiKey::as_str` method with `ApiKey::to_str`, now returning a `Result`. - Replaced the `InvalidApiKey` error with `InvalidHeaderValue` re-exported from `http`. - Removed `Display` on `ApiKey`. ## [0.4.1] - 2022-11-11 - Fixed an issue where an `&RpcMethod`'s response was being parsed differently from an `RpcMethod`. ## [0.4.0] - 2022-10-04 - Updated unccore dependencies, which now requires a MSRV of `1.64.0`. , - Updated other dependencies, with some general improvements. - Added `rustls-tls` feature flag to enable `rustls` as an alternative to `native-tls`. - Switched to using `log::debug!` instead of `log::info!` for debug logging. - Fixed `gas_price` RPC method serialization. - Fixed `query` method error deserialization. - Reworked the `JsonRpcError`::`handler_error` method. - Moved auth specific logic behind a feature flag. - Added the `methods::to_json()` helper method for visualizing the serialization of the RPC methods. ## [0.4.0-beta.0] - 2022-05-31
Superseded by 0.4.0 > - Updated unccore dependencies, fixing a previous breaking change. > - Fixed `gas_price` RPC method serialization. > - Fixed `query` method error deserialization. > - Reworked the `JsonRpcError`::`handler_error` method. > - Moved auth specific logic behind a feature flag. > - Added the `methods::to_json()` helper method for visualizing the serialization of the RPC methods.
## [0.3.0] - 2022-02-09 - Dropped generic authentication and added support for custom headers. - Added the `sandbox_fast_forward` RPC Method. - Upgraded `unccore` crates to `v0.12.0` - Executing the [examples](https://github.com/unc/unc-jsonrpc-client-rs/tree/master/examples) now allows custom RPC addr specification with interactive server selection. - `JsonRpcClient::connect` is now generic over any url-like type. [`Url`](https://docs.rs/url/*/url/struct.Url.html), `&str`, `String` and `&String` are all supported. - `JsonRpcClient` now defaults to the `Unauthenticated` state, easing a type specification pain point. ## [0.2.0] - 2021-12-22 - Updated unccore version to `0.11.0` (). - Fixed `chunk` method serialization. - `Client::call` no longer consumes the client. - Implemented workaround for partially serialized server responses. - Dropped base64 API token support in favor of a generic key-value approach. - Added examples to repo. - Ensured `None`-typed wrapped errors are actual errors (i.e. have all traits attributed with errors, especially `fmt::Display`). ## [0.1.0] - 2021-11-11 > Release Page: [unreleased]: https://github.com/unc/unc-jsonrpc-client-rs/compare/v0.4.1...HEAD [0.4.1]: https://github.com/unc/unc-jsonrpc-client-rs/compare/v0.4.0...v0.4.1 [0.4.0]: https://github.com/unc/unc-jsonrpc-client-rs/compare/v0.3.0...v0.4.0 [0.4.0-beta.0]: https://github.com/unc/unc-jsonrpc-client-rs/compare/v0.3.0...v0.4.0-beta.0 [0.3.0]: https://github.com/unc/unc-jsonrpc-client-rs/compare/v0.2.0...v0.3.0 [0.2.0]: https://github.com/unc/unc-jsonrpc-client-rs/compare/v0.1.0...v0.2.0 [0.1.0]: https://github.com/unc/unc-jsonrpc-client-rs/releases/tag/v0.1.0