You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+24-2Lines changed: 24 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,18 +8,40 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
9
9
## Unreleased
10
10
11
+
* Added a limit to the concurrent requests an agent will make at once. This should make server-side ratelimiting much rarer to encounter, even when sending a high volume of requests (for example, a large `ic_utils::ManagementCanister::install` call).
12
+
* The agent will now automatically retry 429 Too Many Requests responses after a short delay.
13
+
* BREAKING: Changed Chunk Store API to conform to the interface specification:
14
+
*`ChunkHash` was changed from `[u8; 32]` to a struct.
15
+
* Return types of `ManagementCanister::stored_chunks()` and `ManagementCanister::upload_chunk()`.
16
+
* Argument type of `ManagementCanister::install_chunked_code()`.
17
+
*`InstallChunkedCodeBuilder`.
18
+
* All occurrences of `storage_canister` were changed to `store_canister`.
19
+
* The field `chunk_hashes_list` was changed from `vec<vec<u8>>` to `vec<ChunkHash>`.
20
+
* Changed `WalletCanister::from_canister/create`'s version check to not rely on the reject code.
21
+
* Added `QueryBuilder::call_with_verification()` and `QueryBuilder::call_without_verification()` which always/never verify query signatures
22
+
regardless the Agent level configuration from `AgentBuilder::with_verify_query_signatures`.
23
+
* Function `Agent::fetch_api_boundary_nodes()` is split into two functions: `fetch_api_boundary_nodes_by_canister_id()` and `fetch_api_boundary_nodes_by_subnet_id()`.
24
+
*`ReqwestTransport` and `HyperTransport` structures storing the trait object `route_provider: Box<dyn RouteProvider>` have been modified to allow for shared ownership via `Arc<dyn RouteProvider>`.
25
+
* Added `wasm_memory_limit` to canister creation and canister setting update options.
26
+
* Agent::fetch_root_key() now returns an error, and sets its root key to an empty vector, if got the same root key as the mainnet. This reduce the potentiality of MITM attack.
27
+
28
+
## [0.34.0] - 2024-03-18
29
+
30
+
* Changed `AgentError::ReplicaError` to `CertifiedReject` or `UncertifiedReject`. `CertifiedReject`s went through consensus, and `UncertifiedReject`s did not. If your code uses `ReplicaError`:
31
+
* for queries: use `UncertifiedReject` in all cases (for now)
32
+
* for updates: use `CertifiedReject` for errors raised after the message successfully reaches the canister, and `UncertifiedReject` otherwise
11
33
* Added `Agent::fetch_api_boundary_nodes` for looking up API boundary nodes in the state tree.
12
34
* Timestamps are now being checked in `Agent::verify` and `Agent::verify_for_subnet`. If you were using it with old certificates, increase the expiry timeout to continue to verify them.
13
35
* Added node metrics, ECDSA, and Bitcoin functions to `MgmtMethod`. Most do not have wrappers in `ManagementCanister` because only canisters can call these functions.
14
36
* Added `FetchCanisterLogs` function to `MgmtMethod` and a corresponding wrapper to `ManagementCanister`.
15
37
* Updated the `ring` crate to 0.17.7. `ring` 0.16 has a bug where it requires incorrect Ed25519 PEM encoding. 0.17.7 fixes that and is backwards compatible.
16
-
* Agent::fetch_root_key() now returns an error, and sets its root key to an empty vector, if got the same root key as the mainnet. This reduce the potentiality of MITM attack.
38
+
* Removed serde and candid serialization traits from the `Status` type.
39
+
* Added commas and newlines to the `Status` fmt::Display output. It is valid JSON now (it was close before).
17
40
18
41
## [0.33.0] - 2024-02-08
19
42
20
43
* Changed the return type of `stored_chunks` to a struct.
21
44
* Added a prime256v1-based `Identity` impl to complement the ed25519 and secp256k1 `Identity` impls.
22
-
* Added serde and candid serialization traits to the `Status` type.
23
45
* Changed the type of `InstallMode.skip_pre_upgrade` from `bool` to `Option<bool>` to match the interface specification.
0 commit comments