Skip to content

Releases: dfinity/sdk

0.16.0-beta.0

22 Jan 23:33
53a3053
Compare
Choose a tag to compare
0.16.0-beta.0 Pre-release
Pre-release

feat: large canister modules now supported

When using dfx deploy or dfx canister install, previously WASM modules larger than 2MiB would be rejected.
They are now automatically submitted via the chunking API if they are large enough.
From a user perspective the limitation will simply have been lifted.

feat: dfx deps: wasm_hash_url and loose the hash check

Providers can provide the hash through wasm_hash_url instead of hard coding the hash directly.

If the hash of downloaded wasm doesn’t match the provided hash (wasm_hash, wasm_hash_url or read from mainnet state tree), dfx deps won’t abort. Instead, it will print a warning message.

feat!: update dfx cycles commands with mainnet cycles-ledger canister ID

The dfx cycles command no longer needs nor accepts the --cycles-ledger-canister-id <canister id> parameter.

chore: removed the dfx start --emulator mode

This was deprecated in dfx 0.15.1.

chore: removed ic-ref from the binary cache

chore: updated dependencies for new rust projects

Updated to candid 0.10, ic-cdk 0.12, and ic-cdk-timers 0.6

fix: store playground canister acquisition timestamps with nanosecond precision on all platforms

They've always been stored with nanosecond precisions on Linux and Macos.
Now they are stored with nanosecond precision on Windows too.

fix: dfx canister delete, when using an HSM identity, no longer fails by trying to open two sessions to the HSM

Previously, this would fail with a PKCS#11: CKR_CRYPTOKI_ALREADY_INITIALIZED error.

Dependencies

Motoko

Updated Motoko to 0.10.4

Frontend canister

Module hash: 3c86d912ead6de7133b9f787df4ca9feee07bea8835d3ed594b47ee89e6cb730

Candid UI

Module hash: b91e3dd381aedb002633352f8ebad03b6eee330b7e30c3d15a5657e6f428d815

Fix the routing error when deploying to gitpod/github workspace.
Fix that Candid UI cannot be opened using localhost URL.

Replica

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

0.15.3-largewasm.0

17 Jan 17:21
f5787ca
Compare
Choose a tag to compare
0.15.3-largewasm.0 Pre-release
Pre-release
Large wasm module support

0.15.3-windows.1

11 Jan 21:52
Compare
Choose a tag to compare
precise builds = true in order to not build ic-frontend-canister

0.15.3-windows.2

11 Jan 22:18
Compare
Choose a tag to compare
0.15.3-windows.2 Pre-release
Pre-release
chore: release 0.15.3-windows.2

0.15.3

05 Jan 19:44
5657a6e
Compare
Choose a tag to compare

fix: allow http://localhost:* as connect-src in the asset canister's CSP

This will enable browsing the asset canister at http://<canister-id>.localhost:<port> in most browsers.

fix: frontend code crashing when there is no canister ID

feat: dfx ledger top-up also accepts canister names

Previously, dfx ledger top-up only accepted canister principals. Now it accepts both principals and canister names.

fix: installer once again detects if curl supports tlsv1.2

A change to curl --help output made it so the install script did not detect
that the --proto and --tlsv1.2 options are available.

feat: Added support for icx-proxy --domain parameter

In order to access a local replica through a domain name or domain names,
it's necessary to pass the --domain parameter to icx-proxy. dfx now supports
this in configuration and as a parameter to dfx start. You can specify a single
domain or a list of domains in any of the following ways:

  • in networks.json, in .<network>.proxy.domain
  • in dfx.json, in .networks.<netowrk>.proxy.domain
  • in dfx.json, in .defaults.proxy.domain
  • to dfx start, as dfx start --domain <domain1> --domain <domain2> ...

Dependencies

Motoko

Updated Motoko to 0.10.3

Candid UI

  • Module hash: d172df265a14397a460b752ff07598380bc7ebd9c43ece1e82495ae478a88719c
  • Internet identity integration in Candid UI. Thanks to @samer!
    • You can customize the II url and derivationOrigin via URL parameter ii and origin respectively.
  • Update with the new profiling API

0.15.3-beta.1

21 Dec 23:23
86fcf75
Compare
Choose a tag to compare
0.15.3-beta.1 Pre-release
Pre-release

fix: allow http://localhost:* as connect-src in the asset canister's CSP

This will enable browsing the asset canister at http://<canister-id>.localhost:<port> in most browsers.

Dependencies

Motoko

Updated Motoko to 0.10.3

0.15.3-beta.0

12 Dec 09:45
7a6e7f8
Compare
Choose a tag to compare
0.15.3-beta.0 Pre-release
Pre-release

fix: frontend code crashing when there is no canister ID

feat: dfx ledger top-up also accepts canister names

Previously, dfx ledger top-up only accepted canister principals. Now it accepts both principals and canister names.

fix: installer once again detects if curl supports tlsv1.2

A change to curl --help output made it so the install script did not detect
that the --proto and --tlsv1.2 options are available.

feat: Added support for icx-proxy --domain parameter

In order to access a local replica through a domain name or domain names,
it's necessary to pass the --domain parameter to icx-proxy. dfx now supports
this in configuration and as a parameter to dfx start. You can specify a single
domain or a list of domains in any of the following ways:

  • in networks.json, in .<network>.proxy.domain
  • in dfx.json, in .networks.<netowrk>.proxy.domain
  • in dfx.json, in .defaults.proxy.domain
  • to dfx start, as dfx start --domain <domain1> --domain <domain2> ...

Dependencies

Candid UI

  • Module hash: d172df265a14397a460b752ff07598380bc7ebd9c43ece1e82495ae478a88719c
  • Internet identity integration in Candid UI. Thanks to @samer!
    • You can customize the II url and derivationOrigin via URL parameter ii and origin respectively.
  • Update with the new profiling API

0.15.3-icxproxydomain.1: feat: domain configuration for icx-proxy

06 Dec 23:18
Compare
Choose a tag to compare
Fixes https://dfinity.atlassian.net/browse/SDK-1327

0.15.2

01 Dec 16:25
4476953
Compare
Choose a tag to compare

fix: dfx canister delete <canister id> removes the related entry from the canister id store

Previously, deleting a canister in the project by id rather than by name
would leave the canister id in the canister id store. This would cause
dfx deploy to fail.

fix: dfx extension install can no longer create a corrupt cache directory

Running dfx cache delete && dfx extension install nns would previously
create a cache directory containing only an extensions subdirectory.
dfx only looks for the existence of a cache version subdirectory to
determine whether it has been installed. The end result was that later
commands would fail when the cache did not contain expected files.

fix: output_env_file is now considered relative to project root

The .env file location, whether specified as output_env_file in dfx.json
or --output-env-file <file> on the commandline, is now considered relative
to the project root, rather than relative to the current working directory.

feat: Read dfx canister install argument from a file

Enables passing large arguments that cannot be passed directly in the command line using the --argument-file flag. For example dfx canister install --argument-file ./my/argument/file.txt my_canister_name.

feat: change list_permitted and list_authorized to an update call.

This requires the list_authorized and list_permitted methods to be called as an update and disables the ability to
call it as a query call. This resolves a potential security risk.

fix: dfx ledger transfer now logs to stderr messages about duplicates rather than printing them to stdout

The message "transaction is a duplicate of another transaction in block ...", previously printed to stdout, is now logged to stderr. This means that the output of dfx ledger transfer to stdout will contain only "Transfer sent at block height ".

feat: accept more ways to specify cycle and e8s amounts

Underscores (_) can now be used to make large numbers more readable. For example: dfx canister deposit-cycles 1_234_567 mycanister

Certain suffixes that replace a number of zeros are now supported. The (case-insensitive) suffixes are:

  • k for 000, e.g. 500k
  • m for 000_000, e.g. 5m
  • b for 000_000_000, e.g. 50B
  • t for 000_000_000_000, e.g. 0.3T

For cycles an additional c or C is also acceptable. For example: dfx canister deposit-cycles 3TC mycanister

feat: added dfx cycles command

This won't work on mainnet yet, but can work locally after installing the cycles ledger.

Added the following subcommands:

  • dfx cycles balance
  • dfx cycles transfer <to> <amount> (transfer cycles from one account to another account)
  • dfx cycles top-up <to> <amount> (send cycles from an account to a canister)

Dependencies

Motoko

Updated Motoko to 0.10.2

Frontend canister

Defining a custom etag header no longer breaks certification.

Fixed a certification issue where under certain conditions the fallback file (/index.html) was served with an incomplete certificate tree, not proving sufficiently that the fallback file may be used as a replacement.

Add the option to (re)set all permissions using upgrade arguments. This is especially useful for SNSes that cannot make calls as the canister's controller.

Replica

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

Bitcoin canister

Updated Bitcoin canister to release/2023-10-13

0.15.2-beta.3

28 Nov 12:08
5c84a41
Compare
Choose a tag to compare
0.15.2-beta.3 Pre-release
Pre-release

fix: dfx canister delete <canister id> removes the related entry from the canister id store

Previously, deleting a canister in the project by id rather than by name
would leave the canister id in the canister id store. This would cause
dfx deploy to fail.

fix: dfx extension install can no longer create a corrupt cache directory

Running dfx cache delete && dfx extension install nns would previously
create a cache directory containing only an extensions subdirectory.
dfx only looks for the existence of a cache version subdirectory to
determine whether it has been installed. The end result was that later
commands would fail when the cache did not contain expected files.

fix: output_env_file is now considered relative to project root

The .env file location, whether specified as output_env_file in dfx.json
or --output-env-file <file> on the commandline, is now considered relative
to the project root, rather than relative to the current working directory.

feat: Read dfx canister install argument from a file

Enables passing large arguments that cannot be passed directly in the command line using the --argument-file flag. For example dfx canister install --argument-file ./my/argument/file.txt my_canister_name.

feat: change list_permitted and list_authorized to an update call.

This requires the list_authorized and list_permitted methods to be called as an update and disables the ability to
call it as a query call. This resolves a potential security risk.

fix: dfx ledger transfer now logs to stderr messages about duplicates rather than printing them to stdout

The message "transaction is a duplicate of another transaction in block ...", previously printed to stdout, is now logged to stderr. This means that the output of dfx ledger transfer to stdout will contain only "Transfer sent at block height ".

feat: accept more ways to specify cycle and e8s amounts

Underscores (_) can now be used to make large numbers more readable. For example: dfx canister deposit-cycles 1_234_567 mycanister

Certain suffixes that replace a number of zeros are now supported. The (case-insensitive) suffixes are:

  • k for 000, e.g. 500k
  • m for 000_000, e.g. 5m
  • b for 000_000_000, e.g. 50B
  • t for 000_000_000_000, e.g. 0.3T

For cycles an additional c or C is also acceptable. For example: dfx canister deposit-cycles 3TC mycanister

feat: added dfx cycles command

This won't work on mainnet yet, but can work locally after installing the cycles ledger.

Added the following subcommands:

  • dfx cycles balance
  • dfx cycles transfer <to> <amount> (transfer cycles from one account to another account)
  • dfx cycles top-up <to> <amount> (send cycles from an account to a canister)

Dependencies

Motoko

Updated Motoko to 0.10.2

Frontend canister

Defining a custom etag header no longer breaks certification.

Fixed a certification issue where under certain conditions the fallback file (/index.html) was served with an incomplete certificate tree, not proving sufficiently that the fallback file may be used as a replacement.

Add the option to (re)set all permissions using upgrade arguments. This is especially useful for SNSes that cannot make calls as the canister's controller.

Replica

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

Bitcoin canister

Updated Bitcoin canister to release/2023-10-13