|
| 1 | += Highlights of what's new in {release} |
| 2 | +:description: DFINITY Canister Software Development Kit Release Notes |
| 3 | +:proglang: Motoko |
| 4 | +:platform: Internet Computer platform |
| 5 | +:IC: Internet Computer |
| 6 | +:company-id: DFINITY |
| 7 | +:sdk-short-name: DFINITY Canister SDK |
| 8 | +:sdk-long-name: DFINITY Canister Software Development Kit (SDK) |
| 9 | +:release: 0.7.1 |
| 10 | +ifdef::env-github,env-browser[:outfilesuffix:.adoc] |
| 11 | + |
| 12 | +The {release} release includes new features and fixes to DFX commands, {proglang}, the {proglang} base library, and Candid. |
| 13 | + |
| 14 | +== New features and capabilities |
| 15 | + |
| 16 | +The most significant new features and capabilities include the following updates for DFX commands: |
| 17 | + |
| 18 | +* An update to the `+dfx canister sign+` command enables you to sign `+request_status+` messages for update calls. |
| 19 | ++ |
| 20 | +If you are using `+dfx canister sign+` to call a method that generates a update message, the command also signs a corresponding `+request_status+` message and appends it to the `+message.json+` file as `+signed_request_status+`. |
| 21 | +After you send the message using the `+dfx canister send+` command, you can check the `+request_status+` of the call by running the following command: |
| 22 | ++ |
| 23 | +[source,bash] |
| 24 | +---- |
| 25 | +dfx canister send message.json --status |
| 26 | +---- |
| 27 | ++ |
| 28 | +This change is particularly useful if you are using the `+dfx canister sign+` and `+dfx canister send+` commands to call the `+ledger+` or `+governance+` canister to make a transaction or stake tokens as a two-step process. |
| 29 | + |
| 30 | +* There are new `+deposit_cycles+` and +`uninstall_code+` management canister methods that are also exposed as `+dfx canister+` subcommands. |
| 31 | ++ |
| 32 | +The two new commands are `+dfx canister deposit-cycles+` and `+dfx canister uninstall-code+`. |
| 33 | +For example, you can now send cycles from your cycles wallet to a specific canister by running a command similar to the following: |
| 34 | ++ |
| 35 | +[source,bash] |
| 36 | +---- |
| 37 | +dfx canister deposit-cycles 125000000000 hello_world |
| 38 | +---- |
| 39 | ++ |
| 40 | +You can uninstall code for a deployed WASM module by running a command similar to the following: |
| 41 | ++ |
| 42 | +[source,bash] |
| 43 | +---- |
| 44 | +dfx canister uninstall-code hello_world |
| 45 | +---- |
| 46 | + |
| 47 | +* A new `+--no-artificial-delay+` option enables you to reduce the time it takes for the local {IC} to start. |
| 48 | ++ |
| 49 | +This change adds the `+--no-artificial-delay+` flag to `+dfx start+` and `+dfx replica+`. |
| 50 | +By default, the local {IC} replica that is installed with the {sdk-short-name} has an artificial consensus delay to simulate the delay users might see in a networked environment. |
| 51 | +With this new flag, you can skip the built-in delay when you start the local {IC} by running either the `dfx start --no-artificial-delay+` or `+dfx replica --no-artificial-delay+` command. |
| 52 | ++ |
| 53 | +For example, you can start the local {IC} without a delay by running the following command |
| 54 | ++ |
| 55 | +[source,bash] |
| 56 | +---- |
| 57 | +dfx start -no-artificial-delay |
| 58 | +---- |
| 59 | ++ |
| 60 | +If you use this option, however, you might an increase in the CPU used by the local {IC} replica. |
| 61 | + |
| 62 | +== Breaking change |
| 63 | + |
| 64 | +The {sdk-short-name} version {release} introduces a change to the default principal used when you run `+dfx canister call+` commands. |
| 65 | +Depending on the version of the {sdk-short-name} that you were previously using, this change might require changes to your program code or to the way you call methods in deployed canisters. |
| 66 | + |
| 67 | +* The cycles wallet canister identifier is not longer used as the message caller by default, |
| 68 | ++ |
| 69 | +In some previous versions of the {sdk-short-name}, the `+dfx canister call+` command would use the cycles wallet canister identifier as the message caller to perform queries and update calls by default. |
| 70 | ++ |
| 71 | +The `--no-wallet` command-line option was introduced to allow you to bypass the cycles wallet canister identifier and perform query and update calls using the currently-selected identity. |
| 72 | ++ |
| 73 | +However, using the cycles wallet canister identifier to execute `+dfx canister call+` commands resulted in each call being treated as an inter-canister call and the calls would take longer than necessary to resolve. |
| 74 | ++ |
| 75 | +With this release, `+dfx canister call+` commands no longer |
| 76 | +use the cycles wallet canister identifier to perform query and update calls by default. |
| 77 | +If you want to execute a query or update call using the cycles wallet, you can run a command similar to the following: |
| 78 | ++ |
| 79 | +[source,bash,subs=quotes] |
| 80 | +---- |
| 81 | +dfx canister --wallet=_cycles-wallet-id_ call _canister_ _method_ |
| 82 | +---- |
| 83 | + |
| 84 | +== Issues fixed in this release |
| 85 | + |
| 86 | +This section covers any reported issues that have been fixed in this release. |
| 87 | + |
| 88 | +* Allow consistent use of canisters names or identifiers in `+dfx canister+` commands. |
| 89 | ++ |
| 90 | +Previously, `+dfx canister+` commands were inconsistent about whether you could specify a canister using a canister name or a canister identifier. |
| 91 | +With this change, all `+dfx canister+` commands now accept either a canister name as specified in the local `+dfx.json+` file configuration file or a valid canister identifier as listed in the `+canister_ids.json+` file. |
| 92 | + |
| 93 | +//== Known issues and limitations |
| 94 | + |
| 95 | +//This section covers any known issues or limitations that might affect how you work with the {sdk-short-name} in specific environments or scenarios. |
0 commit comments