From 6b1ee5dd97ef75bdafea19fc844e87089436f268 Mon Sep 17 00:00:00 2001 From: Martin Raszyk Date: Fri, 20 Mar 2026 11:18:33 +0100 Subject: [PATCH 1/2] feat: release PocketIC v13.0.0 --- Cargo.lock | 4 +- mainnet-routing-table.json | 77 +++++++++++++++++++++++++++ packages/ic-metrics-assert/Cargo.toml | 2 +- packages/pocket-ic/BUILD.bazel | 2 +- packages/pocket-ic/CHANGELOG.md | 4 ++ packages/pocket-ic/Cargo.toml | 2 +- packages/pocket-ic/src/lib.rs | 20 +++---- rs/pocket_ic_server/BUILD.bazel | 2 +- rs/pocket_ic_server/CHANGELOG.md | 4 ++ rs/pocket_ic_server/Cargo.toml | 2 +- rs/pocket_ic_server/src/main.rs | 2 +- 11 files changed, 103 insertions(+), 18 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 61df9ad3db67..42aaab2ec5bf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19791,7 +19791,7 @@ dependencies = [ [[package]] name = "pocket-ic" -version = "12.0.0" +version = "13.0.0" dependencies = [ "backoff", "base64 0.13.1", @@ -19851,7 +19851,7 @@ dependencies = [ [[package]] name = "pocket-ic-server" -version = "12.0.0" +version = "13.0.0" dependencies = [ "aide", "askama", diff --git a/mainnet-routing-table.json b/mainnet-routing-table.json index 4f4a166113e7..4a84c096c9bd 100644 --- a/mainnet-routing-table.json +++ b/mainnet-routing-table.json @@ -121,6 +121,62 @@ [ { "start": "arrrn-6aaaa-aaaag-qaaaa-cai", + "end": "r6vtg-piaaa-aaaag-qcfmq-cai" + }, + "lhg73-sax6z-2zank-6oer2-575lz-zgbxx-ptudx-5korm-fy7we-kh4hl-pqe" + ], + [ + { + "start": "rxwy2-zaaaa-aaaag-qcfna-cai", + "end": "rxwy2-zaaaa-aaaag-qcfna-cai" + }, + "c4isl-65rwf-emhk5-5ta5m-ngl73-rgrl3-tcc56-2hkja-4erqd-iivmy-7ae" + ], + [ + { + "start": "rqx6o-uyaaa-aaaag-qcfnq-cai", + "end": "ttopn-zaaaa-aaaag-qcjma-cai" + }, + "lhg73-sax6z-2zank-6oer2-575lz-zgbxx-ptudx-5korm-fy7we-kh4hl-pqe" + ], + [ + { + "start": "tupjz-uyaaa-aaaag-qcjmq-cai", + "end": "tupjz-uyaaa-aaaag-qcjmq-cai" + }, + "c4isl-65rwf-emhk5-5ta5m-ngl73-rgrl3-tcc56-2hkja-4erqd-iivmy-7ae" + ], + [ + { + "start": "t5mcf-cqaaa-aaaag-qcjna-cai", + "end": "55czr-jyaaa-aaaag-qjxmq-cai" + }, + "lhg73-sax6z-2zank-6oer2-575lz-zgbxx-ptudx-5korm-fy7we-kh4hl-pqe" + ], + [ + { + "start": "5ubsn-7qaaa-aaaag-qjxna-cai", + "end": "5ubsn-7qaaa-aaaag-qjxna-cai" + }, + "c4isl-65rwf-emhk5-5ta5m-ngl73-rgrl3-tcc56-2hkja-4erqd-iivmy-7ae" + ], + [ + { + "start": "5tauz-siaaa-aaaag-qjxnq-cai", + "end": "js4tq-kyaaa-aaaag-qjyxq-cai" + }, + "lhg73-sax6z-2zank-6oer2-575lz-zgbxx-ptudx-5korm-fy7we-kh4hl-pqe" + ], + [ + { + "start": "lpb5y-zqaaa-aaaag-qjyya-cai", + "end": "lpb5y-zqaaa-aaaag-qjyya-cai" + }, + "c4isl-65rwf-emhk5-5ta5m-ngl73-rgrl3-tcc56-2hkja-4erqd-iivmy-7ae" + ], + [ + { + "start": "lia3m-uiaaa-aaaag-qjyyq-cai", "end": "42xlg-niaaa-aaaag-7777q-cai" }, "lhg73-sax6z-2zank-6oer2-575lz-zgbxx-ptudx-5korm-fy7we-kh4hl-pqe" @@ -170,6 +226,20 @@ [ { "start": "dy46e-tiaaa-aaaak-aaaaa-cai", + "end": "usfts-faaaa-aaaak-ac27a-cai" + }, + "k44fs-gm4pv-afozh-rs7zw-cg32n-u7xov-xqyx3-2pw5q-eucnu-cosd4-uqe" + ], + [ + { + "start": "uvevg-iyaaa-aaaak-ac27q-cai", + "end": "uvevg-iyaaa-aaaak-ac27q-cai" + }, + "c4isl-65rwf-emhk5-5ta5m-ngl73-rgrl3-tcc56-2hkja-4erqd-iivmy-7ae" + ], + [ + { + "start": "7lshy-tqaaa-aaaak-ac3aa-cai", "end": "7t2ep-aaaaa-aaaak-p777q-cai" }, "k44fs-gm4pv-afozh-rs7zw-cg32n-u7xov-xqyx3-2pw5q-eucnu-cosd4-uqe" @@ -376,5 +446,12 @@ "end": "nktt2-oqaaa-aaaax-7777q-cai" }, "3zsyy-cnoqf-tvlun-ymf55-tkpca-ox7uw-kfxoh-7khwq-2gz43-wafem-lqe" + ], + [ + { + "start": "bmbbw-dyaaa-aaaay-aaaaa-cai", + "end": "5hh35-qqaaa-aaaay-p777q-cai" + }, + "re2t4-faa75-v3vhk-kdmdr-uyrkl-aik2l-ixd6u-p3fyr-zlfkc-6c5af-zae" ] ] diff --git a/packages/ic-metrics-assert/Cargo.toml b/packages/ic-metrics-assert/Cargo.toml index b7442a794b7a..6932af6b3945 100644 --- a/packages/ic-metrics-assert/Cargo.toml +++ b/packages/ic-metrics-assert/Cargo.toml @@ -15,7 +15,7 @@ async-trait = { workspace = true } candid = { workspace = true } ic-http-types = { version = "0.1.0", path = "../ic-http-types" } ic-management-canister-types = { workspace = true, optional = true } -pocket-ic = { version = "12.0.0", path = "../../packages/pocket-ic", optional = true } +pocket-ic = { version = "13.0.0", path = "../../packages/pocket-ic", optional = true } regex = "1.11.0" [features] diff --git a/packages/pocket-ic/BUILD.bazel b/packages/pocket-ic/BUILD.bazel index 204f393ed923..508c2f25ac21 100644 --- a/packages/pocket-ic/BUILD.bazel +++ b/packages/pocket-ic/BUILD.bazel @@ -9,7 +9,7 @@ rust_library( proc_macro_deps = [ "@crate_index//:strum_macros", ], - version = "12.0.0", + version = "13.0.0", deps = [ # Keep sorted. "@crate_index//:backoff", diff --git a/packages/pocket-ic/CHANGELOG.md b/packages/pocket-ic/CHANGELOG.md index a659211f8f9b..622086a3f145 100644 --- a/packages/pocket-ic/CHANGELOG.md +++ b/packages/pocket-ic/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased + + +## 13.0.0 - 2026-03-20 + ### Added - The function `PocketIcBuilder::with_mainnet_nns_subnet_id` to specify that the NNS subnet should be created with the mainnet NNS subnet ID. - The parameter `hard_ttl` to `StartServerParams` to specify that the PocketIC server should perform a hard exit after the provided duration since its launch. diff --git a/packages/pocket-ic/Cargo.toml b/packages/pocket-ic/Cargo.toml index 2107c7a39f03..2ee2271d7532 100644 --- a/packages/pocket-ic/Cargo.toml +++ b/packages/pocket-ic/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pocket-ic" -version = "12.0.0" +version = "13.0.0" license = "Apache-2.0" description = "PocketIC: A Canister Smart Contract Testing Platform" repository = "https://github.com/dfinity/ic" diff --git a/packages/pocket-ic/src/lib.rs b/packages/pocket-ic/src/lib.rs index 27ebd0fcd9c0..308dfcf4e0c6 100644 --- a/packages/pocket-ic/src/lib.rs +++ b/packages/pocket-ic/src/lib.rs @@ -104,11 +104,11 @@ pub mod nonblocking; const POCKET_IC_SERVER_NAME: &str = "pocket-ic-server"; -const MIN_SERVER_VERSION: &str = "12.0.0"; -const MAX_SERVER_VERSION: &str = "13"; +const MIN_SERVER_VERSION: &str = "13.0.0"; +const MAX_SERVER_VERSION: &str = "14"; /// Public to facilitate downloading the PocketIC server. -pub const LATEST_SERVER_VERSION: &str = "12.0.0"; +pub const LATEST_SERVER_VERSION: &str = "13.0.0"; // the default timeout of a PocketIC operation const DEFAULT_MAX_REQUEST_TIME_MS: u64 = 300_000; @@ -2322,25 +2322,25 @@ mod test { .contains("Unexpected PocketIC server version") ); assert!( - check_pocketic_server_version("pocket-ic 12.0.0") + check_pocketic_server_version("pocket-ic 13.0.0") .unwrap_err() .contains("Unexpected PocketIC server version") ); assert!( - check_pocketic_server_version("pocket-ic-server 12 0 0") + check_pocketic_server_version("pocket-ic-server 13 0 0") .unwrap_err() .contains("Failed to parse PocketIC server version") ); assert!( - check_pocketic_server_version("pocket-ic-server 11.0.0") + check_pocketic_server_version("pocket-ic-server 12.0.0") .unwrap_err() .contains("Incompatible PocketIC server version") ); - check_pocketic_server_version("pocket-ic-server 12.0.0").unwrap(); - check_pocketic_server_version("pocket-ic-server 12.0.1").unwrap(); - check_pocketic_server_version("pocket-ic-server 12.1.0").unwrap(); + check_pocketic_server_version("pocket-ic-server 13.0.0").unwrap(); + check_pocketic_server_version("pocket-ic-server 13.0.1").unwrap(); + check_pocketic_server_version("pocket-ic-server 13.1.0").unwrap(); assert!( - check_pocketic_server_version("pocket-ic-server 13.0.0") + check_pocketic_server_version("pocket-ic-server 14.0.0") .unwrap_err() .contains("Incompatible PocketIC server version") ); diff --git a/rs/pocket_ic_server/BUILD.bazel b/rs/pocket_ic_server/BUILD.bazel index 259e039f01e6..e8577be614b4 100644 --- a/rs/pocket_ic_server/BUILD.bazel +++ b/rs/pocket_ic_server/BUILD.bazel @@ -277,7 +277,7 @@ MAINNET_NNS_CANISTER_ENV = { crate_name = "pocket_ic_server", proc_macro_deps = MACRO_DEPENDENCIES, rustc_env = EXTERNAL_CANISTER_ENV | nns_canister_env, - version = "12.0.0", + version = "13.0.0", deps = LIB_DEPENDENCIES + [":build_script"], ) for (name_suffix, nns_canister_data, nns_canister_env) in [ diff --git a/rs/pocket_ic_server/CHANGELOG.md b/rs/pocket_ic_server/CHANGELOG.md index d15ebe67bc9d..b2fb90ddfc3c 100644 --- a/rs/pocket_ic_server/CHANGELOG.md +++ b/rs/pocket_ic_server/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased + + +## 13.0.0 - 2026-03-20 + ### Added - The endpoint `/instances/` takes an additional optional field `mainnet_nns_subnet_id` specifying that the NNS subnet should be created with the mainnet NNS subnet ID. - The CLI option `--hard-ttl` to specify that the PocketIC server should perform a hard exit after the provided number of seconds since its launch. diff --git a/rs/pocket_ic_server/Cargo.toml b/rs/pocket_ic_server/Cargo.toml index 15e1e05ae754..c9aed5e86227 100644 --- a/rs/pocket_ic_server/Cargo.toml +++ b/rs/pocket_ic_server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pocket-ic-server" -version = "12.0.0" +version = "13.0.0" edition.workspace = true [dependencies] diff --git a/rs/pocket_ic_server/src/main.rs b/rs/pocket_ic_server/src/main.rs index a25521bc61f1..b4cbfd705eb5 100644 --- a/rs/pocket_ic_server/src/main.rs +++ b/rs/pocket_ic_server/src/main.rs @@ -65,7 +65,7 @@ static MAINNET_ROUTING_TABLE: &[u8] = include_bytes!(env!("MAINNET_ROUTING_TABLE #[derive(Parser)] #[clap(name = "pocket-ic-server")] -#[clap(version = "12.0.0")] +#[clap(version = "13.0.0")] struct Args { /// The IP address to which the PocketIC server should bind (defaults to 127.0.0.1) #[clap(long, short)] From 3be2736dc87102169b2571f48791479e59222e39 Mon Sep 17 00:00:00 2001 From: Martin Raszyk Date: Mon, 23 Mar 2026 08:26:06 +0100 Subject: [PATCH 2/2] changelog date --- packages/pocket-ic/CHANGELOG.md | 2 +- rs/pocket_ic_server/CHANGELOG.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/pocket-ic/CHANGELOG.md b/packages/pocket-ic/CHANGELOG.md index 622086a3f145..3f7673f5f13d 100644 --- a/packages/pocket-ic/CHANGELOG.md +++ b/packages/pocket-ic/CHANGELOG.md @@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 -## 13.0.0 - 2026-03-20 +## 13.0.0 - 2026-03-23 ### Added - The function `PocketIcBuilder::with_mainnet_nns_subnet_id` to specify that the NNS subnet should be created with the mainnet NNS subnet ID. diff --git a/rs/pocket_ic_server/CHANGELOG.md b/rs/pocket_ic_server/CHANGELOG.md index b2fb90ddfc3c..b9687270c5bf 100644 --- a/rs/pocket_ic_server/CHANGELOG.md +++ b/rs/pocket_ic_server/CHANGELOG.md @@ -13,7 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 -## 13.0.0 - 2026-03-20 +## 13.0.0 - 2026-03-23 ### Added - The endpoint `/instances/` takes an additional optional field `mainnet_nns_subnet_id` specifying that the NNS subnet should be created with the mainnet NNS subnet ID.