Releases: dfinity/sdk
0.25.1
feat: skip_cargo_audit flag in dfx.json to skip cargo audit build step
fix: dfx canister install and dfx deploy with --no-asset-upgrade no longer hang indefinitely when wasm is not up to date
fix: dfx downloads .did files for remote canisters
feat: streamlined output during asset synchronization
chore: hide dfx wallet redeem-faucet-coupon
docs: fixed description of dfx cycles balance
Dependencies
Motoko
Updated Motoko to 0.14.2
Frontend canister
- Module hash: 865eb25df5a6d857147e078bb33c727797957247f7af2635846d65c5397b36a6
- #4095
Replica
Updated replica to elected commit 2f02a660f6f17b5a78c13d9b372f74c8228f79b8.
This incorporates the following executed proposals:
0.25.1-beta.1
-
Updates to Motoko 0.14.2
-
Updated replica to non-elected commit ebb190bf1da0dba3e486b78c95cf5a3c5542e2f3. This includes X_OC_JWT and X_OC_API_KEY cors headers in PocketIC HTTP gateway (see dfinity/ic#4154).
0.25.1-beta.0
0.25.1
feat: skip_cargo_audit flag in dfx.json to skip cargo audit build step
fix: dfx canister install and dfx deploy with --no-asset-upgrade no longer hang indefinitely when wasm is not up to date
fix: dfx downloads .did files for remote canisters
feat: streamlined output during asset synchronization
chore: hide dfx wallet redeem-faucet-coupon
docs: fixed description of dfx cycles balance
Dependencies
Motoko
Updated Motoko to 0.14.1
Frontend canister
- Module hash: 865eb25df5a6d857147e078bb33c727797957247f7af2635846d65c5397b36a6
- #4095
Replica
Updated replica to elected commit 2f02a660f6f17b5a78c13d9b372f74c8228f79b8.
This incorporates the following executed proposals:
0.25.0
0.25.0
fix: dfx canister install and dfx deploy with --no-asset-upgrade no longer hang indefinitely when wasm is not up to date
fix: dfx downloads .did files for remote canisters
feat: streamlined output during asset synchronization
fix: correctly detects hyphenated Rust bin crates
fix: removes unnecessary tsc step in sveltekit build script
feat!: dfx info pocketic-config-port
Due to the incompatibility between the APIs on the replica port and the PocketIC port, dfx info replica-port
no longer works with PocketIC, and the PocketIC port is provided by a new command, dfx info pocketic-config-port.
feat: streamlined dfx new output
test: adds playwright tests for dfx new project frontends
The first of a suite of baseline tests to automate testing starter projects. Makes sure that sveltekit, react, vue, and vanilla frontends are compatible with other dfx or asset canister changes.
fix: template frontends now have unsupported browser warnings
DFX's default security headers cause Safari to break when viewing local canisters. Warning messages
have been added to the frontend project templates when the page is broken that indicate to try switching
browsers.
feat: impersonating sender of requests to a local PocketIC instance
dfx canister call, dfx canister status, and dfx canister update-settings take
an additional CLI argument --impersonate to specify a principal
on behalf of which requests to a local PocketIC instance are sent.
feat: dfx canister [create|update-settings] --wasm-memory-threshold
This adds support for the WASM memory threshold, used in conjunction with --wasm-memory-limit.
When the remaining memory until the limit falls below the threshold, the canister's
on_low_wasm_memory handler is run.
fix: dfx deploy --by-proposal no longer sends chunk data in ProposeCommitBatch
Recently we made dfx deploy include some chunk data in CommitBatch, in order to streamline
deploys for smaller projects. dfx deploy splits up larger change lists and submits them in
smaller batches, in order to remain within message and compute limits.
This change also applied to dfx deploy --by-proposal, which submits all changes in a single
message. This made it more likely that dfx deploy --by-proposal will fail due to exceeding
message limits.
This fix makes it so dfx deploy --by-proposal never includes this chunk data in
ProposeCommitBatch, which will allow for more changes before hitting message limits.
feat: dfx start --pocketic supports --force and shared networks.
dfx start --pocketic is now compatible with --force and shared networks.
feat: error when using insecure identity on mainnet
This used to be a warning. A hard error can abort the command so that no insecure state will be on the mainnet.
Users can suppress this error by setting export DFX_WARNING=-mainnet_plaintext_identity.
The warning won't display when executing commands like dfx deploy --playground.
feat: support --replica in dfx start
Added a flag --replica to dfx start. This flag currently has no effect.
Once PocketIC becomes the default for dfx start this flag will start the replica instead.
You can use the --replica flag already to write scripts that anticipate that change.
feat: extensions can define project templates
An extension can define one or more project templates for dfx new to use.
These can be new templates or replace the built-in project templates.
fix: all commands with --all parameter skip remote canisters
This affects the following commands:
dfx canister deletedfx canister deposit-cyclesdfx canister startdfx canister statusdfx canister stopdfx canister uninstall-codedfx canister update-settingsdfx ledger fabricate-cycles
fix: dfx can deploy canisters to playground networks that have Motoko EOP enabled
Canisters with Motoko's Enhanced Orthogonal Persistence feature require wasm_memory_persistence = Keep when they get installed.
Previously, when dfx attempted to install canisters with EOP enabled to a playground it didn't set wasm_memory_persistence properly.
fix: custom canisters with a read-only wasm no longer fail to build with a permissions error
chore: improve dfx deploy messages.
If users run dfx deploy without enough cycles, show additional messages to indicate what to do next.
Error explanation:
Insufficient cycles balance to create the canister.
How to resolve the error:
Please top up your cycles balance by converting ICP to cycles like below:
'dfx cycles convert --amount=0.123'.
If users run dfx deploy --playground but the backend is not updated with the latest frontend canister wasm
the error message will explain this properly and recommends asking for help on the forum since this can't be resolved by users.
chore: improve dfx cycles convert messages.
If users run dfx cycles convert without enough ICP tokens, show additional messages to indicate what to do next.
Error explanation:
Insufficient ICP balance to finish the transfer transaction.
How to resolve the error:
Please top up your ICP balance.
Your account address for receiving ICP from centralized exchanges: 8494c01329531c06254ff45dad87db806ae6ed935ad6a504cdbc00a935db7b49
(run `dfx ledger account-id` to display)
Your principal for ICP wallets and decentralized exchanges: ueuar-wxbnk-bdcsr-dnrh3-rsyq6-ffned-h64ox-vxywi-gzawf-ot4pv-sqe
(run `dfx identity get-principal` to display)
feat: Add pre-install tasks
Add pre-install tasks, which can be defined by the new pre-install key for canister objects in dfx.json with a command or list of commands.
chore: Warn when the 'canister_ids.json' file is first generated for persistent networks.
Warn when the 'canister_ids.json' file is first generated for persistent networks.
dfx deploy --network ic
...
test_backend canister created on network ic with canister id: j36qm-pqaaa-aaaan-qzqya-cai
WARN: The "/home/sdk/repos/test/canister_ids.json" file has been generated. Please make sure you store it correctly, e.g., submitting it to a GitHub repository.
Building canisters...
...
chore: Provides units for all fields of canister status.
Provides units for all fields of canister status.
$ dfx canister status pxmfj-jaaaa-aaaan-qmmbq-cai --ic
Canister status call result for pxmfj-jaaaa-aaaan-qmmbq-cai.
Status: Running
Controllers: uom2z-lqsqq-qbn4p-nts4l-2xjfl-oeivu-oso42-4t4jh-54ikd-ewnvi-tqe yjac5-2yaaa-aaaan-qaqka-cai
Memory allocation: 0 Bytes
Compute allocation: 0 %
Freezing threshold: 2_592_000 Seconds
Idle cycles burned per day: 20_548_135 Cycles
Memory Size: 2_010_735 Bytes
Balance: 2_985_407_678_380 Cycles
Reserved: 0 Cycles
Reserved cycles limit: 5_000_000_000_000 Cycles
Wasm memory limit: 3_221_225_472 Bytes
Wasm memory threshold: 0 Bytes
Module hash: 0x4f13cceb571483ac99a9f89afc05718c0a4ab72e9fac7d49054c0a3e05c4899b
Number of queries: 0
Instructions spent in queries: 0
Total query request payload size: 0 Bytes
Total query response payload size: 0 Bytes
Log visibility: controllers
feat!: Print error traces only in verbose (-v) mode or if no proper error message is available
chore: Add Schnorr types and methods to management canister IDL
Dependencies
Frontend canister
fix: 'unreachable' error when trying to upgrade an asset canister with over 1GB data
The asset canister now estimates the size of the data to be serialized to stable memory,
and reserves that much space for the ValueSerializer's buffer.
Motoko
Updated Motoko to 0.13.7
Replica
Updated replica to elected commit 4ba583480e05a518aa2bcf36f5a0e48475e8edc2.
This incorporates the following executed proposals:
0.25.0-beta.1
fix: dfx canister install and dfx deploy with --no-asset-upgrade no longer hang indefinitely when wasm is not up to date
fix: dfx downloads .did files for remote canisters
feat: streamlined output during asset synchronization
fix: correctly detects hyphenated Rust bin crates
fix: removes unnecessary tsc step in sveltekit build script
feat!: dfx info pocketic-config-port
Due to the incompatibility between the APIs on the replica port and the PocketIC port, dfx info replica-port
no longer works with PocketIC, and the PocketIC port is provided by a new command, dfx info pocketic-config-port.
feat: streamlined dfx new output
test: adds playwright tests for dfx new project frontends
The first of a suite of baseline tests to automate testing starter projects. Makes sure that sveltekit, react, vue, and vanilla frontends are compatible with other dfx or asset canister changes.
fix: template frontends now have unsupported browser warnings
DFX's default security headers cause Safari to break when viewing local canisters. Warning messages
have been added to the frontend project templates when the page is broken that indicate to try switching
browsers.
feat: impersonating sender of requests to a local PocketIC instance
dfx canister call, dfx canister status, and dfx canister update-settings take
an additional CLI argument --impersonate to specify a principal
on behalf of which requests to a local PocketIC instance are sent.
feat: dfx canister [create|update-settings] --wasm-memory-threshold
This adds support for the WASM memory threshold, used in conjunction with --wasm-memory-limit.
When the remaining memory until the limit falls below the threshold, the canister's
on_low_wasm_memory handler is run.
fix: dfx deploy --by-proposal no longer sends chunk data in ProposeCommitBatch
Recently we made dfx deploy include some chunk data in CommitBatch, in order to streamline
deploys for smaller projects. dfx deploy splits up larger change lists and submits them in
smaller batches, in order to remain within message and compute limits.
This change also applied to dfx deploy --by-proposal, which submits all changes in a single
message. This made it more likely that dfx deploy --by-proposal will fail due to exceeding
message limits.
This fix makes it so dfx deploy --by-proposal never includes this chunk data in
ProposeCommitBatch, which will allow for more changes before hitting message limits.
feat: dfx start --pocketic supports --force and shared networks.
dfx start --pocketic is now compatible with --force and shared networks.
feat: error when using insecure identity on mainnet
This used to be a warning. A hard error can abort the command so that no insecure state will be on the mainnet.
Users can suppress this error by setting export DFX_WARNING=-mainnet_plaintext_identity.
The warning won't display when executing commands like dfx deploy --playground.
feat: support --replica in dfx start
Added a flag --replica to dfx start. This flag currently has no effect.
Once PocketIC becomes the default for dfx start this flag will start the replica instead.
You can use the --replica flag already to write scripts that anticipate that change.
feat: extensions can define project templates
An extension can define one or more project templates for dfx new to use.
These can be new templates or replace the built-in project templates.
fix: all commands with --all parameter skip remote canisters
This affects the following commands:
dfx canister deletedfx canister deposit-cyclesdfx canister startdfx canister statusdfx canister stopdfx canister uninstall-codedfx canister update-settingsdfx ledger fabricate-cycles
fix: dfx can deploy canisters to playground networks that have Motoko EOP enabled
Canisters with Motoko's Enhanced Orthogonal Persistence feature require wasm_memory_persistence = Keep when they get installed.
Previously, when dfx attempted to install canisters with EOP enabled to a playground it didn't set wasm_memory_persistence properly.
fix: custom canisters with a read-only wasm no longer fail to build with a permissions error
chore: improve dfx deploy messages.
If users run dfx deploy without enough cycles, show additional messages to indicate what to do next.
Error explanation:
Insufficient cycles balance to create the canister.
How to resolve the error:
Please top up your cycles balance by converting ICP to cycles like below:
'dfx cycles convert --amount=0.123'.
If users run dfx deploy --playground but the backend is not updated with the latest frontend canister wasm
the error message will explain this properly and recommends asking for help on the forum since this can't be resolved by users.
chore: improve dfx cycles convert messages.
If users run dfx cycles convert without enough ICP tokens, show additional messages to indicate what to do next.
Error explanation:
Insufficient ICP balance to finish the transfer transaction.
How to resolve the error:
Please top up your ICP balance.
Your account address for receiving ICP from centralized exchanges: 8494c01329531c06254ff45dad87db806ae6ed935ad6a504cdbc00a935db7b49
(run `dfx ledger account-id` to display)
Your principal for ICP wallets and decentralized exchanges: ueuar-wxbnk-bdcsr-dnrh3-rsyq6-ffned-h64ox-vxywi-gzawf-ot4pv-sqe
(run `dfx identity get-principal` to display)
feat: Add pre-install tasks
Add pre-install tasks, which can be defined by the new pre-install key for canister objects in dfx.json with a command or list of commands.
chore: Warn when the 'canister_ids.json' file is first generated for persistent networks.
Warn when the 'canister_ids.json' file is first generated for persistent networks.
dfx deploy --network ic
...
test_backend canister created on network ic with canister id: j36qm-pqaaa-aaaan-qzqya-cai
WARN: The "/home/sdk/repos/test/canister_ids.json" file has been generated. Please make sure you store it correctly, e.g., submitting it to a GitHub repository.
Building canisters...
...
chore: Provides units for all fields of canister status.
Provides units for all fields of canister status.
$ dfx canister status pxmfj-jaaaa-aaaan-qmmbq-cai --ic
Canister status call result for pxmfj-jaaaa-aaaan-qmmbq-cai.
Status: Running
Controllers: uom2z-lqsqq-qbn4p-nts4l-2xjfl-oeivu-oso42-4t4jh-54ikd-ewnvi-tqe yjac5-2yaaa-aaaan-qaqka-cai
Memory allocation: 0 Bytes
Compute allocation: 0 %
Freezing threshold: 2_592_000 Seconds
Idle cycles burned per day: 20_548_135 Cycles
Memory Size: 2_010_735 Bytes
Balance: 2_985_407_678_380 Cycles
Reserved: 0 Cycles
Reserved cycles limit: 5_000_000_000_000 Cycles
Wasm memory limit: 3_221_225_472 Bytes
Wasm memory threshold: 0 Bytes
Module hash: 0x4f13cceb571483ac99a9f89afc05718c0a4ab72e9fac7d49054c0a3e05c4899b
Number of queries: 0
Instructions spent in queries: 0
Total query request payload size: 0 Bytes
Total query response payload size: 0 Bytes
Log visibility: controllers
feat!: Print error traces only in verbose (-v) mode or if no proper error message is available
chore: Add Schnorr types and methods to management canister IDL
Dependencies
Frontend canister
fix: 'unreachable' error when trying to upgrade an asset canister with over 1GB data
The asset canister now estimates the size of the data to be serialized to stable memory,
and reserves that much space for the ValueSerializer's buffer.
Motoko
Updated Motoko to 0.13.7
Replica
Updated replica to elected commit 4ba583480e05a518aa2bcf36f5a0e48475e8edc2.
This incorporates the following executed proposals:
0.25.0-beta.0
0.25.0-beta.0
fix: correctly detects hyphenated Rust bin crates
fix: removes unnecessary tsc step in sveltekit build script
feat!: dfx info pocketic-config-port
Due to the incompatibility between the APIs on the replica port and the PocketIC port, dfx info replica-port
no longer works with PocketIC, and the PocketIC port is provided by a new command, dfx info pocketic-config-port.
feat: streamlined dfx new output
test: adds playwright tests for dfx new project frontends
The first of a suite of baseline tests to automate testing starter projects. Makes sure that sveltekit, react, vue, and vanilla frontends are compatible with other dfx or asset canister changes.
fix: template frontends now have unsupported browser warnings
DFX's default security headers cause Safari to break when viewing local canisters. Warning messages
have been added to the frontend project templates when the page is broken that indicate to try switching
browsers.
feat: impersonating sender of requests to a local PocketIC instance
dfx canister call, dfx canister status, and dfx canister update-settings take
an additional CLI argument --impersonate to specify a principal
on behalf of which requests to a local PocketIC instance are sent.
feat: dfx canister [create|update-settings] --wasm-memory-threshold
This adds support for the WASM memory threshold, used in conjunction with --wasm-memory-limit.
When the remaining memory until the limit falls below the threshold, the canister's
on_low_wasm_memory handler is run.
fix: dfx deploy --by-proposal no longer sends chunk data in ProposeCommitBatch
Recently we made dfx deploy include some chunk data in CommitBatch, in order to streamline
deploys for smaller projects. dfx deploy splits up larger change lists and submits them in
smaller batches, in order to remain within message and compute limits.
This change also applied to dfx deploy --by-proposal, which submits all changes in a single
message. This made it more likely that dfx deploy --by-proposal will fail due to exceeding
message limits.
This fix makes it so dfx deploy --by-proposal never includes this chunk data in
ProposeCommitBatch, which will allow for more changes before hitting message limits.
feat: dfx start --pocketic supports --force and shared networks.
dfx start --pocketic is now compatible with --force and shared networks.
feat: error when using insecure identity on mainnet
This used to be a warning. A hard error can abort the command so that no insecure state will be on the mainnet.
Users can suppress this error by setting export DFX_WARNING=-mainnet_plaintext_identity.
The warning won't display when executing commands like dfx deploy --playground.
feat: support --replica in dfx start
Added a flag --replica to dfx start. This flag currently has no effect.
Once PocketIC becomes the default for dfx start this flag will start the replica instead.
You can use the --replica flag already to write scripts that anticipate that change.
feat: extensions can define project templates
An extension can define one or more project templates for dfx new to use.
These can be new templates or replace the built-in project templates.
fix: all commands with --all parameter skip remote canisters
This affects the following commands:
dfx canister deletedfx canister deposit-cyclesdfx canister startdfx canister statusdfx canister stopdfx canister uninstall-codedfx canister update-settingsdfx ledger fabricate-cycles
fix: dfx can deploy canisters to playground networks that have Motoko EOP enabled
Canisters with Motoko's Enhanced Orthogonal Persistence feature require wasm_memory_persistence = Keep when they get installed.
Previously, when dfx attempted to install canisters with EOP enabled to a playground it didn't set wasm_memory_persistence properly.
fix: custom canisters with a read-only wasm no longer fail to build with a permissions error
chore: improve dfx deploy messages.
If users run dfx deploy without enough cycles, show additional messages to indicate what to do next.
Error explanation:
Insufficient cycles balance to create the canister.
How to resolve the error:
Please top up your cycles balance by converting ICP to cycles like below:
'dfx cycles convert --amount=0.123'.
If users run dfx deploy --playground but the backend is not updated with the latest frontend canister wasm
the error message will explain this properly and recommends asking for help on the forum since this can't be resolved by users.
chore: improve dfx cycles convert messages.
If users run dfx cycles convert without enough ICP tokens, show additional messages to indicate what to do next.
Error explanation:
Insufficient ICP balance to finish the transfer transaction.
How to resolve the error:
Please top up your ICP balance.
Your account address for receiving ICP from centralized exchanges: 8494c01329531c06254ff45dad87db806ae6ed935ad6a504cdbc00a935db7b49
(run `dfx ledger account-id` to display)
Your principal for ICP wallets and decentralized exchanges: ueuar-wxbnk-bdcsr-dnrh3-rsyq6-ffned-h64ox-vxywi-gzawf-ot4pv-sqe
(run `dfx identity get-principal` to display)
feat: Add pre-install tasks
Add pre-install tasks, which can be defined by the new pre-install key for canister objects in dfx.json with a command or list of commands.
chore: Warn when the 'canister_ids.json' file is first generated for persistent networks.
Warn when the 'canister_ids.json' file is first generated for persistent networks.
dfx deploy --network ic
...
test_backend canister created on network ic with canister id: j36qm-pqaaa-aaaan-qzqya-cai
WARN: The "/home/sdk/repos/test/canister_ids.json" file has been generated. Please make sure you store it correctly, e.g., submitting it to a GitHub repository.
Building canisters...
...
chore: Provides units for all fields of canister status.
Provides units for all fields of canister status.
$ dfx canister status pxmfj-jaaaa-aaaan-qmmbq-cai --ic
Canister status call result for pxmfj-jaaaa-aaaan-qmmbq-cai.
Status: Running
Controllers: uom2z-lqsqq-qbn4p-nts4l-2xjfl-oeivu-oso42-4t4jh-54ikd-ewnvi-tqe yjac5-2yaaa-aaaan-qaqka-cai
Memory allocation: 0 Bytes
Compute allocation: 0 %
Freezing threshold: 2_592_000 Seconds
Idle cycles burned per day: 20_548_135 Cycles
Memory Size: 2_010_735 Bytes
Balance: 2_985_407_678_380 Cycles
Reserved: 0 Cycles
Reserved cycles limit: 5_000_000_000_000 Cycles
Wasm memory limit: 3_221_225_472 Bytes
Wasm memory threshold: 0 Bytes
Module hash: 0x4f13cceb571483ac99a9f89afc05718c0a4ab72e9fac7d49054c0a3e05c4899b
Number of queries: 0
Instructions spent in queries: 0
Total query request payload size: 0 Bytes
Total query response payload size: 0 Bytes
Log visibility: controllers
feat!: Print error traces only in verbose (-v) mode or if no proper error message is available
chore: Add Schnorr types and methods to management canister IDL
Dependencies
Frontend canister
fix: 'unreachable' error when trying to upgrade an asset canister with over 1GB data
The asset canister now estimates the size of the data to be serialized to stable memory,
and reserves that much space for the ValueSerializer's buffer.
- Module hash: bba3181888f3c59b4a5f608aedef05be6fa37276fb7dc394cbadf9cf6e10359b
- #4036
Motoko
Updated Motoko to 0.13.6
Replica
Updated replica to elected commit 4ba583480e05a518aa2bcf36f5a0e48475e8edc2.
This incorporates the following executed proposals:
0.24.3
0.24.3
feat: Bitcoin support in PocketIC
dfx start --pocketic is now compatible with --bitcoin-node and --enable-bitcoin.
feat: facade pull ICP, ckBTC, ckETH ledger canisters
The ledger canisters can be pulled even though they are not really "pullable".
The metadata like wasm_url and init_guide are hardcoded inside dfx deps pull logic.
- ICP ledger:
ryjl3-tyaaa-aaaaa-aaaba-cai - ckBTC ledger:
mxzaz-hqaaa-aaaar-qaada-cai - ckETH ledger:
ss2fx-dyaaa-aaaar-qacoq-cai
chore: update agent version in frontend templates, and include resolve.dedupe in Vite config
chore: improve error message when trying to use the local replica when it is not running
Frontend canister
Allow setting permissions lists in init arguments just like in upgrade arguments.
- Module hash: 2c24b5e1584890a7965011d5d1d827aca68c489c9a6308475730420fa53372e8
- #3965
Candid UI
- Module hash: f45db224b40fac516c877e3108dc809d4b22fa42d05ee8dfa5002536a3a3daed
- Bump agent-js to fix error code
chore!: improve the messages for the subcommands of dfx cycles.
If users run subcommands of dfx cycles without the --ic flag, show below messages to indicate what to do next.
Error explanation:
Cycles ledger with canister ID 'um5iw-rqaaa-aaaaq-qaaba-cai' is not installed.
How to resolve the error:
Run the command with '--ic' flag if you want to manage the cycles on the mainnet.
chore: improve dfx start messages.
For dfx start, show below messages to users to indicate what to do next.
Success! The dfx server is running.
You must open a new terminal to continue developing. If you'd prefer to stop, quit with 'Ctrl-C'.
Dependencies
Motoko
Updated Motoko to 0.13.4
Replica
Updated replica to elected commit a62848817cec7ae50618a87a526c85d020283fd9.
This incorporates the following executed proposals:
0.24.3-beta.0
feat: Bitcoin support in PocketIC
dfx start --pocketic is now compatible with --bitcoin-node and --enable-bitcoin.
feat: facade pull ICP, ckBTC, ckETH ledger canisters
The ledger canisters can be pulled even though they are not really "pullable".
The metadata like wasm_url and init_guide are hardcoded inside dfx deps pull logic.
- ICP ledger:
ryjl3-tyaaa-aaaaa-aaaba-cai - ckBTC ledger:
mxzaz-hqaaa-aaaar-qaada-cai - ckETH ledger:
ss2fx-dyaaa-aaaar-qacoq-cai
chore: update agent version in frontend templates, and include resolve.dedupe in Vite config
chore: improve error message when trying to use the local replica when it is not running
Frontend canister
Allow setting permissions lists in init arguments just like in upgrade arguments.
- Module hash: 2c24b5e1584890a7965011d5d1d827aca68c489c9a6308475730420fa53372e8
- #3965
Candid UI
- Module hash: f45db224b40fac516c877e3108dc809d4b22fa42d05ee8dfa5002536a3a3daed
- Bump agent-js to fix error code
chore!: improve the messages for the subcommands of dfx cycles.
If users run subcommands of dfx cycles without the --ic flag, show below messages to indicate what to do next.
Error explanation:
Cycles ledger with canister ID 'um5iw-rqaaa-aaaaq-qaaba-cai' is not installed.
How to resolve the error:
Run the command with '--ic' flag if you want to manage the cycles on the mainnet.
chore: improve dfx start messages.
For dfx start, show below messages to users to indicate what to do next.
Success! The dfx server is running.
You must open a new terminal to continue developing. If you'd prefer to stop, quit with 'Ctrl-C'.
Dependencies
Motoko
Updated Motoko to 0.13.3
Replica
Updated replica to elected commit a62848817cec7ae50618a87a526c85d020283fd9.
This incorporates the following executed proposals:
0.24.2
0.24.2
feat: all commands will use the DFX_NETWORK from the environment
If DFX_NETWORK is set in the environment, all commands will use that network by default.
The --network parameter will take precedence if provided.
fix: dfx generate now honors the --network parameter
This fixes an issue where dfx deploy --playground would fail if the project
had not been previously built for the local network.
feat: Support canister log allowed viewer list
Added support for the canister log allowed viewer list, enabling specified users to access a canister's logs without needing to be set as the canister's controller.
Valid settings are:
--add-log-viewer,--remove-log-viewerand--set-log-viewerflags withdfx canister update-settings--log-viewerflag withdfx canister createcanisters[].initialization_values.log_visibility.allowed_viewersindfx.json
feat: batch upload assets
The frontend canister sync now tries to batch multiple small content chunks into a single call using the create_chunks method added earlier.
And for small amounts of uploaded data the asset sync can now skip chunk creation entirely.
This should lead to significantly faster upload times for frontends with many small files.
Dependencies
Motoko
Updated Motoko to 0.13.2
Frontend canister
SetAssetContentArguments has a new field last_chunk: opt blob which can be used in addition to chunk_ids so that small assets can be uploaded as part of commit_batch,
skipping the need to await a separate create_chunk call.
Bumped api_version to 2 for the previous addition of create_chunks since the improved file sync relies on it.
0.24.2-beta.0
What's Changed
feat: Support canister log allowed viewer list
Added support for the canister log allowed viewer list, enabling specified users to access a canister's logs without needing to be set as the canister's controller.
Valid settings are:
--add-log-viewer,--remove-log-viewerand--set-log-viewerflags withdfx canister update-settings--log-viewerflag withdfx canister createcanisters[].initialization_values.log_visibility.allowed_viewersindfx.json
feat: batch upload assets
The frontend canister sync now tries to batch multiple small content chunks into a single call using the create_chunks method added earlier.
And for small amounts of uploaded data the asset sync can now skip chunk creation entirely.
This should lead to significantly faster upload times for frontends with many small files.
Dependencies
Motoko
Updated Motoko to 0.13.2
Frontend canister
SetAssetContentArguments has a new field last_chunk: opt blob which can be used in addition to chunk_ids so that small assets can be uploaded as part of commit_batch,
skipping the need to await a separate create_chunk call.
Bumped api_version to 2 for the previous addition of create_chunks since the improved file sync relies on it.
Commits
- chore: add link to dfx reference in README.md by @dfx-json in #3726
- feat: Update agent to dac18df and add
wasm_memory_limitsupport by @adamspofford-dfinity in #3727 - ci: fix path on Windows by @lwshang in #3728
- feat: align, rather than indent, error causes by @ericswanson-dfinity in #3736
- fix: include error cause in PEM file decryption message by @ericswanson-dfinity in #3681
- chore: unpin mops by @ericswanson-dfinity in #3737
- chore: update replica version to 5e285dca by @dfinity-bot in #3739
- chore: add 0.20.1 changelog header by @dfx-json in #3741
- chore: break up ExtensionError into method-specific error types by @ericswanson-dfinity in #3740
- refactor: more idiomatic identity override by @ericswanson-dfinity in #3743
- ci: missing backslash by @lwshang in #3746
- chore: promote 0.20.0 by @dfx-json in #3744
- chore: document valid identity names by @sesi200 in #3747
- docs: mention DFX_DISABLE_QUERY_VERIFICATION by @ericswanson-dfinity in #3751
- refactor: fetch root key method names by @ericswanson-dfinity in #3750
- feat: add DfxInterface and builder for easier setup by @ericswanson-dfinity in #3752
- feat: add Candid UI URL to dfx info by @sesi200 in #3748
- chore: update to agent-rs 0.35.0 by @ericswanson-dfinity in #3753
- fix: Capitalization of "Wasm" by @ulan in #3756
- fix!: sync .well-known dir by default by @sesi200 in #3759
- feat: subaccount can be derived from principal in dfx ledger account-id by @mraszyk in #3755
- refactor: add host and artifical-delay only if not passed by @ericswanson-dfinity in #3757
- fix: Ledger create canister with
--next-totransferring funds too early by @fxgst in #3760 - feat: PocketIC support by @adamspofford-dfinity in #3761
- perf: improve sync command performance by @olaszakos in #3766
- fix: --initial-margin for dfx canister delete by @sesi200 in #3769
- chore: update the help messages of
dfx wallet sendby @vincent-dfinity in #3771 - chore: update replica version to ec35ebd2 by @dfinity-bot in #3772
- chore: update changelog for 0.20.2 by @ericswanson-dfinity in #3773
- feat(icx-asset): add
--no-deleteoption tosynccommand by @olaszakos in #3768 - chore: Release 0.20.1 by @dfx-json in #3776
- chore: update CODEOWNERS by @dfx-json in #3778
- docs: fix link in CONTRIBUTING.md by @raymondk in #3779
- feat: dfx start doesn't require --clean when changing replica versions or options by @ericswanson-dfinity in #3777
- fix: url decoding in ic-certified-assets by @raymondk in #3767
- docs: remove reference to obsolete warning by @ericswanson-dfinity in #3780
- fix: reword confusing log message about default shared network config by @ericswanson-dfinity in #3781
- feat: add retry/backoff logic for get_assets_properties by @olaszakos in #3784
- fix: denote GetWasmMemoryLimitFailed error source by @ericswanson-dfinity in #3785
- feat: update agent and add log_visibility support by @sesi200 in #3782
- feat: add support for
dfx canister url <CANISTER>by @vincent-dfinity in #3765 - chore!: improve error message about canister ranges by @sesi200 in #3786
- chore: update CONTRIBUTING.md by @dfx-json in #3787
- feat!: remove support for bitcoin query API by @lwshang in #3788
- docs: early forum post for betas by @ericswanson-dfinity in #3789
- fix: Improve error message for bad cycles wallet by @adamspofford-dfinity in #3790
- docs: deprecate and use the proper API domain by @r-birkner in #3783
- feat: killall command by @adamspofford-dfinity in #3351
- chore: pin binstall version so CI doent spontaneously break by @sesi200 in #3793
- feat: choose asset encodings that are synced to asset canister by @sesi200 in #3792
- feat: upload br encoding to asset canister by @sesi200 in #3791
- chore: update changelog for 0.21.0 by @THLO in #3798
- chore: update replica version to 246d0ce0 by @dfinity-bot in #3797
- feat: require all PRs to update JSON schema if changed by @ericswanson-dfinity in #3803
- feat: generate extension manifest schema by @ericswanson-dfinity in #3806
- feat!: enable cycles ledger unconditionally by @sesi200 in #3796
- chore!: rm
unsafe-evalfrom default project CSP by @sesi200 in #3801 - chore!: enforce minimum password length by @sesi200 in #3808
- feat: type definitions for extension dependencies and dependencies.json by @ericswanson-dfinity in #3807
- fix: add context to dfx cache installation message by @ericswanson-dfinity in #3812
- fix: dfx build no longer requires a password by @sesi200 in #3813
- refactor: Prepare for auto-generation of extension.json by @anchpop in #3814
- refactor: convert extension install to async by @ericswanson-dfinity in #3815
- feat: extension install uses dependencies.json by @ericswanson-dfinity in #3816
- chore!: --with-cycles requires --wallet is enforced earlier by @sesi200 in #3817
- feat: Enable threshold signatures for Bip340Secp256k1 by @eichhorl in #3809
- fix: Build the canister dependency graph only for the requested canisters by @anchpop in #3818
- fix: retry certain http errors reported by replica during asset uploads by @ericswanson-dfinity in #3822
- chore: update replica version to 5849c6da by @dfinity-bot in #3821
- chore: update Motoko version to 0.11.2 by @dfinity-bot in #3823
- chore: add the 0.22.0 header to the changelog by @lwshang in #3824
- chore: Add tool check to update script by @adamspofford-dfinity in #3826
- chore: upgrade ic-wasm/walrus to build memory64 by @lwshang in #3827
- refactor: remove output_idl_path from CanisterInfo types by @ericswanson-dfinity in #3828
- fix: display reqwest::Error source by @ericswanson-dfinity in #3832
- chore: remove the deprecated --use-old-metering flag by @ulan in #3835
- chore: Promote 0.21.0 by @THLO in ht...