Release Notes for V0.6.9

Hello community!

V0.6.9 of the SDK is now ready for download :rocket:

The 0.6.9 release includes both user-visible new features and internal enhancements and fixes. The most significant new features and capabilities include the following:

  • You can now register, build, and deploy applications with a single command.

    This release introduces a simplified developer workflow using the the dfx deploy command. You can use this command to replace running the following commands as separate steps:

    dfx canister create --all
    dfx build
    dfx canister install -all

    For a preview of how to use the simplified developer workflow, see Developer Workflow Preview.

  • You can now specify arguments on the command-line when you deploy a single canister using an actor class with the dfx canister install command.

    For example, you might use the following command to add the self Text argument when deploying the canister named profile_map locally.

    dfx canister install profile_map '("self")'

    Note that you specify the argument you want to pass using the Candid interface description format.

  • A new --memory allocation command-line option enables you to specify a memory allocation when deploying a canister.

  • The dfx identity new command has been enhanced to display a confirmation message when adding a new identify is successful.

Motoko updates in 0.6.9

Key updates for Motoko include backend support for the following features and changes:

  • Preliminary support for importing and exporting actor classes and for dynamic canister installation.
  • Improved error handling for actor classes and input/output exceptions.
  • The Motoko compiler no longer supports arbitrary declarations preceding the main actor or an actor class. Only import declarations can be used as leading declarations for programs that define an actor or an actor class.

As a recommended workaround for this change, you can:

  • Move the declarations that preceded the main actor into the actor’s body.
  • Move the declarations into a new, imported module, referenced from the main actor.
  • Use a combination of these strategies.

Check out the full release notes and more tips here.