Skip to content

0.18.0

Compare
Choose a tag to compare
@github-actions github-actions released this 06 Mar 16:20
· 82 commits to master since this release
8ce20f3

fix!: removed the dfx upgrade command

The dfx upgrade command now prints a message directing the user to install dfxvm.

fix!: Remove fallback .env formats

In dfx 0.14.0, we standardized on CANISTER_ID_<CANISTER_NAME_UPPERCASE> and
CANISTER_CANDID_PATH_<CANISTER_NAME_UPPERCASE> for
environment variables for canister IDs and candid paths respectively,
and deprecated the old formats. This version removes the old formats.

The only variable names now provided are the following,
all uppercase, with any '-' replaced by '_':

  • CANISTER_CANDID_PATH_<CANISTER_NAME>
  • CANISTER_ID_<CANISTER_NAME>

For reference, these formats were removed (any '-' characters were replaced by '_'):

  • CANISTER_CANDID_PATH_<canister_name_case_from_dfx_json>
  • <CANISTER_NAME_UPPERCASE>_CANISTER_ID

feat: add dfx canister logs <canister_id> for fetching canister's logs (preview)

There is a new subcommand logs to fetch canister's logs.
When printing the log entries it tries to guess if the content can be converted to UTF-8 text and prints an array of hex bytes if it fails.

Note

This feature is still in development. Changes may occur in following releases.

feat: display local asset canister URLs in subdomain format

Locally, canisters can either be accessed via <canister_id>.localhost:<port> or localhost:<port>?canisterId=<canister_id>.
The query parameter format is annoying to handle in SPAs, therefore the subdomain format is now displayed alongside the subdomain version after deployments.

The query parameter format is not removed because Safari does not support localhost subdomains.

fix: .env files sometimes missing some canister ids

Made it so dfx deploy and dfx canister install will always write
environment variables for all canisters in the project that have canister ids
to the .env file, even if they aren't being deployed/installed
or a dependency of a canister being deployed/installed.

feat: unify CLI options to specify arguments

There are a few subcommands that take --argument/--argument-file options to set canister call/init arguments.

We unify the related logic to provide consistent user experience.

The notable changes are:

  • dfx deploy now accepts --argument-file.
  • dfx deps init now accepts --argument-file.

feat: candid assist feature

Ask for user input when Candid argument is not provided in dfx canister call, dfx canister install and dfx deploy.
Previously, we cannot call dfx deploy --all when multiple canisters require init args, unless the init args are specified in dfx.json. With the Candid assist feature, dfx now asks for init args in terminal when a canister requires init args.

fix: restored access to URLs like http://localhost:8080/api/v2/status through icx-proxy

Pinned icx-proxy at 69e1408347723dbaa7a6cd2faa9b65c42abbe861, shipped with dfx 0.15.2

This means commands like the following will work again:

curl -v --http2-prior-knowledge "http://localhost:$(dfx info webserver-port)/api/v2/status" --output -

feat: dfx cycles approve and transfer --from

It is now possible to approve other principals to spend cycles on your behalf using dfx cycles approve <spender> <amount>.
dfx cycles transfer now also supports --from, --from-subaccount, and --spender-subaccount.
For detailed explanations on how these fields work please refer to the ICRC-2 specification.

feat: cut over to dfxvm

The script at https://internetcomputer.org/install.sh now installs
the dfxvm version manager instead of the dfx binary.

fix(deps): init/deploy still requires hash check

dfx deps pull was recently changed to allow hash mismatch wasm. But init and deploy weren't change accordingly.

Also the warning of hash mismatch is removed since it scares users and users can't fix it locally.

fix(generate): Rust canister source candid wrongly deleted

Fixed a bug where dfx generate would delete a canister's source candid file if the declarations.bindings in dfx.json did not include "did".

fix: failed to install when specify id without dfx.json

Fixed a bug where dfx canister install would fail when specify a canister id and there is no dfx.json.

fix: failed to call a canister removed from dfx.json

Fixed a bug where dfx canister call would fail when the deployed canister was removed from dfx.json.

chore: bump candid to 0.10.4

Fix the Typescript binding for init args.

Dependencies

Replica

Updated replica to elected commit d966b2737ca75f1bfaa84f21e7f3f7c54b5d7f33.
This incorporates the following executed proposals:

Motoko

Updated Motoko to 0.11.0

Asset canister

Module hash: 32e92f1190d8321e97f8d8f3e793019e4fd2812bfc595345d46d2c23f74c1ab5

bump ic-cdk to 0.13.1

Candid UI

Module hash: 1208093dcc5b31286a073f00f748ac6612dbae17b66c22332762705960a8aaad

bump ic-cdk to 0.13.1