Skip to content

Latest commit

 

History

History
164 lines (93 loc) · 5.26 KB

CHANGELOG.md

File metadata and controls

164 lines (93 loc) · 5.26 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[0.17.1] - 2022-06-22

agent-rs/349 feat: add with_max_response_body_size to ReqwestHttpReplicaV2Transport

[0.17.0] - 2022-05-19

Updated dependencies. Some had breaking changes: k256 0.11, pkcs 0.9, and sec1 0.3.

Fixed a potential panic in secp256k1 signature generation.

[0.16.0] - 2022-04-28

Added ReqwestHttpReplicaV2Transport::create_with_client.

Remove openssl in favor of pure rust libraries.

Updated minimum version of reqwest to 0.11.7. This is to avoid the following error, seen with reqwest 0.11.6:

Unknown TLS backend passed to use_preconfigured_tls

Updated wallet interface for 128-bit API.

Remove parameterized canister pattern. Use WalletCanister::create rather than Wallet::create.

wallet_send takes Principal instead of &Canister.

[0.15.0] - 2022-03-28

Updated ic_utils::interfaces::http_request structures to use &str to reduce copying.

Removed Deserialize from HttpRequest.

Changed HttpResponse to be generic over entire callback instead of just ArgToken.

Added HttpRequestStreamingCallbackAny to deserialize any callback, regardless of signature.

Added conversion helpers for HttpResponse, StreamingStrategy and CallbackStrategy across generics.

Changes to Canister<HttpRequestCanister> interface.

  • Made http_request, http_request_update, and http_request_stream_callback more generic and require fewer string copies.
  • Added _custom variants to enable custom token deserialization.

[0.14.0] - 2022-03-17

Introduced HttpRequestStreamingCallback to work around dfinity/candid#273.

Response certificate verification will check that the canister id falls within the range of valid canister ids for the subnet.

[0.13.0] - 2022-03-07

Secp256k1 identity now checks if a curve actually uses the secp256k1 parameters. It cannot be used to load non-secp256k1 identities anymore.

Data type of cycles changed to u128 (was u64).

fetch_root_key() only fetches on the first call.

Re-genericized Token to allow use of an arbitrary Token type with StreamingStrategy.

[0.12.1] - 2022-02-09

Renamed BatchOperationKind._Clear to Clear for compatibility with the certified assets canister. This avoids decode errors, even though the type isn't referenced here.

[0.12.0] - 2022-02-03

Changed the 'HttpRequest.upgrade' field to 'Option' from 'bool'.

[0.11.1] - 2022-01-10

The lookup_value function now takes generics which can be iterated over (IntoIterator<Item = &'p Label>) and transformed into a Vec<Label>, rather than just a Vec<Label>.

[0.11.0] - 2022-01-07

Breaking change: Updated to ic-types 0.3.0

The lookup_path method now takes an Iterator<Label> rather than an AsRef<[Label]>

[0.10.2] - 2021-12-22

ic-agent

Added support for upgrading HTTP requests (http_request_update method)

[0.10.1] - 2021-12-10

Updated crate dependencies, most notably updating rustls, removing the direct dependency on webpki-roots, and allowing consumers of ic-agent to update to reqwest 0.11.7.

ic-agent

Added: read_state_canister_metadata

Implements https://github.com/dfinity-lab/ic-ref/pull/371

ic-asset

Fixed: sync and upload will now attempt retries as expected

Fixed a defect in asset synchronization where no retries would be attempted after the first 30 seconds overall.

icx-asset

Fixed: now works with secp256k1 .pem files.

[0.10.0] - 2021-11-15

Unified all version numbers and removed the zzz-release tool.

ic-agent

Fixed: rewrite all *.ic0.app domains to ic0.app to avoid redirects.

icx-cert

New feature: Add --accept-encoding parameter

It's now possible to specify which encodings will be accepted. The default (and previous) behavior is to accept only the identity encoding. Specifying encodings that browsers more commonly accept demonstrates the difference in the returned data and certificate.

For example, here is the data and certificate returned when only accepting the identity encoding.

$ cargo run -p icx-cert -- print 'http://localhost:8000/index.js?canisterId=ryjl3-tyaaa-aaaaa-aaaba-cai'
DATA HASH: 1495cd574831c23b4db97bc3860666ea495386f0ef0dab73c23ef31db5aa2765
    Label("/index.js", Leaf(0x1495cd574831c23b4db97bc3860666ea495386f0ef0dab73c23ef31db5aa2765)),

Here is an example accepting the gzip encoding (as most browsers do), showing that the canister responded with different data having a different data hash.

$ cargo run -p icx-cert -- print --accept-encoding gzip 'http://localhost:8000/index.js?canisterId=ryjl3-tyaaa-aaaaa-aaaba-cai'
DATA HASH: 1770e76af0816ba951320c03eab1263c43de7ac4b0558dd9049cc532b7d6cd01
    Label("/index.js", Leaf(0x1495cd574831c23b4db97bc3860666ea495386f0ef0dab73c23ef31db5aa2765)),

icx-proxy

This project moved to https://github.com/dfinity/icx-proxy.

[0.9.0] - 2021-10-06

ic-agent

Added

  • Added field replica_health_status to Status.
    • typical values
      • healthy
      • waiting_for_certified_state