From 792953454af3282efb41cb2f5a49d8512d5c97e9 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 1 Sep 2026 16:16:47 +0000 Subject: [PATCH] Bump to 0.3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A minor bump rather than a patch, because both the library API and the served tool surface changed incompatibly since 0.2.0. `imcp2` no longer contains the tool surface and the II session engine: they moved to a new sibling crate, `imcp2-core` (#150, #157), which `imcp2` now depends on by version and which publishes alongside it. The re-exports in `src/lib.rs` keep the familiar names resolving (`IiInstance`, `SessionGauges`, `Agent`, `IC_URL`), but the crate an embedder links has changed shape, and `IcTools` is gone — split into `IcCanisterTools` and `IcProtocolTools` (#157). The surface an MCP client sees changed too: only the app/canister tools are served (#158), state-changing calls now reach only applications that publish a service declaration (#166), the ledger transfer/approval methods are refused (#154, #163), `icp_top_up_canister` is instructions-only (#153), and routine replies no longer echo the per-app principal (#177). Under cargo's 0.x rules `0.2` is the compatibility range, so shipping this as 0.2.1 would hand the break to everyone on `imcp2 = "0.2"` — the requirement our own README recommends — the next time they ran `cargo update`. 0.3.0 opens a new range instead; existing users stay on 0.2.x until they choose to move. The README's dependency line follows, as `"0.2"` would no longer resolve to a current release. `imcp2-core` moves in lockstep: publish-crate.yml checks the tag against both manifests, and the workspace pin that binds them (`imcp2-core = { path = …, version = … }`) has to name the same number or the path dependency stops resolving. `imcp2-local` moves with them — it releases on its own `imcp2-local-v*` tags and has never been cut, so there is nothing to keep it behind, and its `--version` output would otherwise report 0.2.0 from a 0.3.0 tree. Co-authored-by: Claude Claude-Session: https://claude.ai/code/session_01GqhkbpCwxs67F5E2EzyDwh --- Cargo.lock | 6 +++--- Cargo.toml | 4 ++-- README.md | 2 +- crates/imcp2-core/Cargo.toml | 2 +- crates/imcp2-local/Cargo.toml | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fc913f94..8a314f5a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1792,7 +1792,7 @@ dependencies = [ [[package]] name = "imcp2" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "axum", @@ -1822,7 +1822,7 @@ dependencies = [ [[package]] name = "imcp2-core" -version = "0.2.0" +version = "0.3.0" dependencies = [ "base64 0.22.1", "candid", @@ -1845,7 +1845,7 @@ dependencies = [ [[package]] name = "imcp2-local" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "axum", diff --git a/Cargo.toml b/Cargo.toml index a6a53001..0633b113 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "imcp2" -version = "0.2.0" +version = "0.3.0" edition = "2021" description = "Minimal MCP server that bridges an LLM to the Internet Computer, speaking textual Candid." license = "Apache-2.0" @@ -44,7 +44,7 @@ dist = false # codec, and candid lines can never drift between imcp2-core, imcp2, and # imcp2-local. [workspace.dependencies] -imcp2-core = { path = "crates/imcp2-core", version = "0.2.0" } +imcp2-core = { path = "crates/imcp2-core", version = "0.3.0" } rmcp = "1.7" axum = "0.8" anyhow = "1" diff --git a/README.md b/README.md index 44253a00..9d7c7751 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Published on [crates.io](https://crates.io/crates/imcp2), API docs on ```toml [dependencies] -imcp2 = "0.2" +imcp2 = "0.3" ``` One `McpServer` serves one Internet Identity instance as two diff --git a/crates/imcp2-core/Cargo.toml b/crates/imcp2-core/Cargo.toml index b72e568e..4ef83f7d 100644 --- a/crates/imcp2-core/Cargo.toml +++ b/crates/imcp2-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "imcp2-core" -version = "0.2.0" +version = "0.3.0" edition = "2021" description = "Transport-agnostic components of the IMCP2 Internet Computer MCP server: the tool surface, the Internet Identity session engine, and the II connect-handshake primitives." license = "Apache-2.0" diff --git a/crates/imcp2-local/Cargo.toml b/crates/imcp2-local/Cargo.toml index d3924ca5..29f44f20 100644 --- a/crates/imcp2-local/Cargo.toml +++ b/crates/imcp2-local/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "imcp2-local" -version = "0.2.0" +version = "0.3.0" edition = "2021" description = "Local MCP server for the Internet Computer: the imcp2 tool surface over stdio, with a built-in Internet Identity browser login." license = "Apache-2.0"