From d5d9cc6907d10b3b252433de0b5874802495c9dd Mon Sep 17 00:00:00 2001 From: Linwei Shang Date: Tue, 15 Sep 2026 13:04:56 +0000 Subject: [PATCH] chore: release ic-cdk-management-canister v0.2.0, ic-cdk v0.20.3, ic0 v1.2.0 Cuts the flexible HTTPS outcall / pay-as-you-go pricing work in #714. `ic-cdk-management-canister` 0.2.0 calls `ic_cdk::api::cost_http_request_v2` and `subnet_self_node_count`, which rest on new `ic0` bindings, so all three crates are released together; publishing the management canister crate alone would resolve `ic-cdk` 0.20.2 from crates.io and fail to build. - ic0 1.1.0 -> 1.2.0 (additive: `subnet_self_node_count`, `cost_http_request_v2`) - ic-cdk / ic-cdk-macros 0.20.2 -> 0.20.3 (additive: the two `api` wrappers) - ic-cdk-management-canister 0.1.1 -> 0.2.0 (breaking: free `http_request`, `cost_http_request` and `http_request_with_closure` removed in favor of the builders; `ic-management-canister-types` 0.7.1 -> 0.10) Co-Authored-By: Claude Opus 5 (1M context) --- Cargo.toml | 8 ++++---- ic-cdk-macros/Cargo.toml | 2 +- ic-cdk-management-canister/CHANGELOG.md | 2 ++ ic-cdk-management-canister/Cargo.toml | 2 +- ic-cdk/CHANGELOG.md | 2 ++ ic-cdk/Cargo.toml | 2 +- ic0/CHANGELOG.md | 2 ++ ic0/Cargo.toml | 2 +- 8 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f48526a07..bc5c91760 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,15 +26,15 @@ license = "Apache-2.0" [workspace.dependencies] # Crates of this workspace -ic-cdk = { path = "ic-cdk", version = "0.20.2" } +ic-cdk = { path = "ic-cdk", version = "0.20.3" } ic-cdk-bindgen = { path = "ic-cdk-bindgen", version = "0.2.1" } ic-cdk-bitcoin-canister = { path = "ic-cdk-bitcoin-canister", version = "0.2.0" } ic-cdk-executor = { path = "ic-cdk-executor", version = "2.0.0" } -ic-cdk-macros = { path = "ic-cdk-macros", version = "=0.20.2" } -ic-cdk-management-canister = { path = "ic-cdk-management-canister", version = "0.1.1" } +ic-cdk-macros = { path = "ic-cdk-macros", version = "=0.20.3" } +ic-cdk-management-canister = { path = "ic-cdk-management-canister", version = "0.2.0" } ic-cdk-timers = { path = "ic-cdk-timers", version = "1.0.0" } ic-management-canister-types = "0.10" -ic0 = { path = "ic0", version = "1.1.0" } +ic0 = { path = "ic0", version = "1.2.0" } # Regular dependencies # candid_parser v0.4 needs candid >= 0.10.28, but only declares >= 0.10.16. diff --git a/ic-cdk-macros/Cargo.toml b/ic-cdk-macros/Cargo.toml index a7ed1e42d..24619d6bb 100644 --- a/ic-cdk-macros/Cargo.toml +++ b/ic-cdk-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ic-cdk-macros" -version = "0.20.2" # sync with ic-cdk +version = "0.20.3" # sync with ic-cdk authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ic-cdk-management-canister/CHANGELOG.md b/ic-cdk-management-canister/CHANGELOG.md index a639ef0a5..e38fbb341 100644 --- a/ic-cdk-management-canister/CHANGELOG.md +++ b/ic-cdk-management-canister/CHANGELOG.md @@ -6,6 +6,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [unreleased] +## [0.2.0] - 2026-09-15 + ### Added - `HttpRequest`, a builder for `http_request`. It always selects pricing version `2` ("pay-as-you-go"), which charges for the resources the outcall consumes rather than for `max_response_bytes`. Every mainnet subnet supports that pricing version, but since both builders price the call through the `ic0.cost_http_request_v2` System API, a canister built with them requires a replica that provides it. diff --git a/ic-cdk-management-canister/Cargo.toml b/ic-cdk-management-canister/Cargo.toml index 94cff7e02..2280a3970 100644 --- a/ic-cdk-management-canister/Cargo.toml +++ b/ic-cdk-management-canister/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ic-cdk-management-canister" -version = "0.1.1" +version = "0.2.0" authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ic-cdk/CHANGELOG.md b/ic-cdk/CHANGELOG.md index 3044c09ff..3a1c19db3 100644 --- a/ic-cdk/CHANGELOG.md +++ b/ic-cdk/CHANGELOG.md @@ -6,6 +6,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [unreleased] +## [0.20.3] - 2026-09-15 + ### Added - `api::subnet_self_node_count`, returning the number of nodes on the subnet. Useful for computing valid replication bounds for `flexible_http_request`. diff --git a/ic-cdk/Cargo.toml b/ic-cdk/Cargo.toml index 815e1ed17..7f0e7e4dc 100644 --- a/ic-cdk/Cargo.toml +++ b/ic-cdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ic-cdk" -version = "0.20.2" # sync with ic-cdk-macros +version = "0.20.3" # sync with ic-cdk-macros authors.workspace = true edition.workspace = true license.workspace = true diff --git a/ic0/CHANGELOG.md b/ic0/CHANGELOG.md index 68040e3b6..7521cc543 100644 --- a/ic0/CHANGELOG.md +++ b/ic0/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [unreleased] +## [1.2.0] - 2026-09-15 + ### Added - Added the `subnet_self_node_count` and `cost_http_request_v2` API bindings. diff --git a/ic0/Cargo.toml b/ic0/Cargo.toml index f3e0f91ea..693a5abaa 100644 --- a/ic0/Cargo.toml +++ b/ic0/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ic0" -version = "1.1.0" +version = "1.2.0" authors.workspace = true edition.workspace = true license.workspace = true