Highlights of what’s new in 0.8.2

An overview of the 0.8.2 release:

  • Breaking change in how to specify a controller to dfx canister create

  • Be sure to upgrade your wallet with dfx wallet upgrade, or dfx wallet --network ic upgrade

Changes to DFX

Breaking change: controller parameter for dfx canister create

Breaking change: The controller parameter for dfx canister create is now passed as a named parameter, rather than optionally following the canister name.

Old: dfx canister create [canister name] [controller] New: dfx canister create --controller <controller> [canister name]

JS Codegen update - JSDoc comment now accepts a complete Agent for createActor

dfx canister delete can now return cycles to a wallet or dank

By default dfx canister delete will return cycles to the default cycles wallet. Cycles can be returned to a designated canister with --withdraw-cycles-to-canister and cycles can be returned to dank at the current identity principal with --withdraw-cycles-to-dank and to a designated principal with --withdraw-cycles-to-dank-principal.

New feature: dfx canister create now accepts multiple instances of --controller argument

It is now possible to create canisters with more than one controller by passing multiple instances of the --controller parameter to dfx canister create.

You will need to upgrade your wallet with dfx wallet upgrade, or dfx wallet --network ic upgrade

New feature: dfx canister update-settings now accepts multiple instance of --controller argument

It is now possible to configure a canister to have more than one controller by passing multiple instances of the --controller parameter to dfx canister update-settings.

New feature: dfx canister info and dfx canister status now display all controllers

Fixed: dfx now respects $DFX_CONFIG_ROOT when looking for legacy credentials

Previously this would always look in $HOME/.dfinity/identity/creds.pem.

Fixed: changed dfx canister (create|update-settings) --memory-allocation limit to 12 GiB

Updated the maximum value for the --memory-allocation value to be 12 GiB (12,884,901,888 bytes)

Changes to Cycles Wallet

Added support for multiple controllers

You will need to upgrade your wallet with dfx wallet upgrade, or dfx wallet --network ic upgrade

Changes to Replica

  • Updated to Interface Spec 0.18.0

    • A canister has a set of controllers, instead of always one

  • Added support for 64-bit stable memory

  • The replica now goes through an initialization sequence, reported in its status as replica_health_status. Until this reports as healthy, queries or updates will fail.

    • dfx start --background waits to exit until replica_health_status is healthy.

    • If you run dfx start without --background, you can call dfx ping --wait-healthy to wait until the replica is healthy.

Changes to Motoko

Updated Motoko from 0.6.7 to 0.6.10

  • Add Debug.trap : Text → None (motoko-base #288)

  • Introduce primitives for IntFloat conversions (#2733)

  • Fix crashing bug for formatting huge floats (#2737)