Skip to content

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 15 Jul 16:43
fe4af7c

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

File Platform Checksum
icp-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
icp-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
icp-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
icp-cli-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
icp-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum