Release Notes
- feat:
icp token [TOKEN|LEDGER_ID] approve <AMOUNT> <SPENDER> grants an ICRC-2 allowance, letting a spender transfer tokens on your behalf. Supports --from-subaccount (the account debited for the allowance), --spender-subaccount, and an optional --expires-in <DURATION> (e.g. 24h, 30d) to auto-expire the allowance.
- feat:
icp token [TOKEN|LEDGER_ID] allowance <SPENDER> displays the ICRC-2 allowance granted to a spender. Supports --subaccount, --spender-subaccount, and --of-principal to inspect any account.
- feat:
icp canister delete will now send the canister's remaining cycles to the caller
- feat: Connected networks now take an explicit
root-key, which accepts a hex-encoded key or one of two new values:
mainnet: use the canonical IC mainnet root key — handy for reaching mainnet through a custom boundary node without repeating the literal.
fetch: fetch the key from the network on each use. This is trust-on-first-use and does not verify the key's provenance, so it's meant only for testnets you or someone you trust operate; icp prints a warning whenever it fetches.
network status reports where the key came from — a root_key_source field in --json, and a (fetched - unverified, trust-on-first-use) label in text output.
root-key is now required for connected networks (previously optional, silently defaulting to the mainnet key). This is technically breaking, but most working projects are unaffected: a non-mainnet connected network already needed an explicit key, so in practice only a mainnet-via-custom-URL network needs to add root-key: mainnet. The built-in ic network is unchanged.
Experimental
- feat: Projects can now depend on other
icp projects vendored into them (e.g. as git submodules) via a top-level dependencies: block in icp.yaml.
icp deploy deploys the dependency alongside your project and injects its canister IDs.
- Running
icp from inside a vendored sub-project resolves up to the workspace root, so the whole workspace shares one network and one set of canister IDs.
- Canister names and dependency aliases must now contain only ASCII letters, digits,
_, and -, with : reserved as the dependency namespace separator. Names using other characters are now rejected.
- See the Project Dependencies concept guide for details.
Install icp-cli 1.1.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/dfinity/icp-cli/releases/download/v1.1.0/icp-cli-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/dfinity/icp-cli/releases/download/v1.1.0/icp-cli-installer.ps1 | iex"
Download icp-cli 1.1.0