Releases: dfinity/sdk
0.30.0-beta.0
feat: dfx start --system-canisters
for bootstrapping system canisters
This new flag utilizes the built-in system canisters bootstrapping capability provided by PocketIC v10.
dfx nns install
is not needed anymore.
When using dfx start --system-canisters
, there's no option to specify accounts to have initial balances like you can with dfx nns install --ledger-accounts <account-ids>
.
However, the anonymous identity's account comes with an initial balance of 1 Billion ICP. You can transfer some of these ICP tokens to your own account on the ICP ledger. Then convert some ICP into cycles balance on the cycles-ledger.
YOUR_ACCOUNT_ID="$(dfx ledger account-id)"
dfx ledger --identity anonymous transfer --memo 1 --icp 1000000 "$YOUR_ACCOUNT_ID"
dfx cycles convert --amount 100
fix: bump svelte dependencies in project templates
Frontend canister
Use BTreeMap
instead of HashMap
for headers to guarantee deterministic ordering.
Sets the ic_env
cookie for html files, which contains the root key and the canister environment variables that are prefixed with PUBLIC_
.
Please note that this version of the frontend canister is only compatible with PocketIC v10 and above.
- Module hash: b312a16c3179cf8384afa852e468c1333b7439d4c5a39f26df69b12320f629f8
- #4400
- #4392
- #4387
- #4389
Dependencies
Candid
Updated candid_parser to 0.2.2.
Replica
Updated replica to elected commit 45657852c1eca6728ff313808db29b47c862ad13.
This incorporates the following executed proposals:
0.29.2
0.29.2
Frontend canister
Use CBOR for serializing asset canister state to stable memory instead of Candid.
- Module hash: 423f20ee4e5daf8f76d6bb2b4a87440227f15b26cf874c132fd75d83e252c8f6
- #4368
feat: extended dfx canister update-settings
with --sync-with
option.
Extended dfx canister update-settings
with --sync-with
option to support syncing canister settings from one cansiter to another, example as below.
dfx canister update-settings to_canister --sync-with from_canister
Dependencies
Motoko
Updated Motoko to 0.16.2
Bitcoin canister
Upgraded Bitcoin canister to release/2025-07-02
Replica
Updated replica to commit 615045e039c57ed842c689e49a07ab3de3a8a781.
0.29.2-beta.0
0.29.2
Frontend canister
Use CBOR for serializing asset canister state to stable memory instead of Candid.
- Module hash: 423f20ee4e5daf8f76d6bb2b4a87440227f15b26cf874c132fd75d83e252c8f6
- #4368
feat: extended dfx canister update-settings
with --sync-with
option.
Extended dfx canister update-settings
with --sync-with
option to support syncing canister settings from one cansiter to another, example as below.
dfx canister update-settings to_canister --sync-with from_canister
Dependencies
Motoko
Updated Motoko to 0.16.2
Bitcoin canister
Upgraded Bitcoin canister to release/2025-07-02
Replica
Updated replica to commit 615045e039c57ed842c689e49a07ab3de3a8a781.
0.29.1
0.29.1
fix: ensure deterministic serialization of tech_stack
metadata
The tech_stack
metadata was previously defined with HashMap
, which resulted in non-deterministic serialization due to its random key ordering.
This has been fixed by replacing it with BTreeMap
, which sorts keys and guarantees consistent, deterministic output every time.
Dependencies
Motoko
Updated Motoko to 0.16.1
Candid
Updated candid_parser to 0.2.1.
Comments applied to Candid elements will now become doc comments in dfx's generated bindings.
// Type comments
type Ex = variant {
// Variant comments
Var: record {
// Field comments
field: nat;
}
}
// Service comments
service : {
// Method comments
func : (Ex) -> ();
}
Frontend canister
- Module hash: 4014793c83ae0ff2d851a0c4e62f289a114d36bc1826f5579f55a70ff3c70551
- #4354
0.29.1-beta.1
0.29.1
fix: ensure deterministic serialization of tech_stack
metadata
The tech_stack
metadata was previously defined with HashMap
, which resulted in non-deterministic serialization due to its random key ordering.
This has been fixed by replacing it with BTreeMap
, which sorts keys and guarantees consistent, deterministic output every time.
Dependencies
Motoko
Updated Motoko to 0.16.1
Candid
Updated candid_parser to 0.2.1.
Comments applied to Candid elements will now become doc comments in dfx's generated bindings.
// Type comments
type Ex = variant {
// Variant comments
Var: record {
// Field comments
field: nat;
}
}
// Service comments
service : {
// Method comments
func : (Ex) -> ();
}
Frontend canister
- Module hash: 4014793c83ae0ff2d851a0c4e62f289a114d36bc1826f5579f55a70ff3c70551
- #4354
0.29.1-beta.0
0.29.1
fix: ensure deterministic serialization of tech_stack
metadata
The tech_stack
metadata was previously defined with HashMap
, which resulted in non-deterministic serialization due to its random key ordering.
This has been fixed by replacing it with BTreeMap
, which sorts keys and guarantees consistent, deterministic output every time.
Dependencies
Motoko
Updated Motoko to 0.16.0
Candid
Updated candid_parser to 0.2.1.
Comments applied to Candid elements will now become doc comments in dfx's generated bindings.
// Type comments
type Ex = variant {
// Variant comments
Var: record {
// Field comments
field: nat;
}
}
// Service comments
service : {
// Method comments
func : (Ex) -> ();
}
Frontend canister
- Module hash: 4014793c83ae0ff2d851a0c4e62f289a114d36bc1826f5579f55a70ff3c70551
- #4354
0.29.0
0.29.0
feat: add dfx native support for aarch64-Linux
Add dfx native support for aarch64-Linux.
feat: support canister snapshot download and upload.
Added dfx canister snapshot download
and dfx canister snapshot upload
commands to download and upload the canister snapshot.
Dependencies
Motoko
Updated Motoko to 0.15.1
Replica
Updated replica to elected commit 615045e039c57ed842c689e49a07ab3de3a8a781.
This incorporates the following executed proposals:
0.29.0-beta.1
0.29.0
feat: add dfx native support for aarch64-Linux
Add dfx native support for aarch64-Linux.
feat: support canister snapshot download and upload.
Added dfx canister snapshot download
and dfx canister snapshot upload
commands to download and upload the canister snapshot.
Dependencies
Motoko
Updated Motoko to 0.15.1
Replica
Updated replica to elected commit 615045e039c57ed842c689e49a07ab3de3a8a781.
This incorporates the following executed proposals:
0.29.0-beta.0
0.29.0
feat: add dfx native support for aarch64-Linux
Add dfx native support for aarch64-Linux.
feat: support canister snapshot download and upload.
Added dfx canister snapshot download
and dfx canister snapshot upload
commands to download and upload the canister snapshot.
Dependencies
Motoko
Updated Motoko to 0.15.1
Replica
Updated replica to elected commit 615045e039c57ed842c689e49a07ab3de3a8a781.
This incorporates the following executed proposals:
0.28.0
fix: deps deploy works with Canister ID out of the ranges of the pocket-ic subnets
The dfx deps deploy
command didn't work when the pulled dependency's Canister ID is out of the ranges of the pocket-ic
subnets.
The removed replica
had one subnet to cover all subnets. While the pocket-ic
can dynamically create new subnet when trying to create a canister with specified ID.
chore: update bitcoin regtest configuration to be same as the bitcoin mainnet
Update bitcoin regtest
configuration to be same as the bitcoin mainnet
.
fees = record {
get_current_fee_percentiles = 10_000_000 : nat;
get_utxos_maximum = 10_000_000_000 : nat;
get_block_headers_cycles_per_ten_instructions = 10 : nat;
get_current_fee_percentiles_maximum = 100_000_000 : nat;
send_transaction_per_byte = 20_000_000 : nat;
get_balance = 10_000_000 : nat;
get_utxos_cycles_per_ten_instructions = 10 : nat;
get_block_headers_base = 50_000_000 : nat;
get_utxos_base = 50_000_000 : nat;
get_balance_maximum = 100_000_000 : nat;
send_transaction_base = 5_000_000_000 : nat;
get_block_headers_maximum = 10_000_000_000 : nat;
};
You can get the fees by get_config
API on the BTC Mainnet Canister.
feat: dfx start
now starts a single pocket-ic process to serve as the server and gateway
If you were using the contents of the pocket-ic-proxy-port
file to determine the port for
the /http_gateway
endpoint, you should instead use dfx info pocketic-config-port
feat: add dfx native support for aarch64-Darwin
Add dfx native support for aarch64-Darwin. Using it may require editing your identities. See the migration guide for more information.
Dependencies
Replica
Updated replica to commit e915efecc8af90993ccfc499721ebe826aadba60.
This incorporates the following executed proposals:
Motoko
Updated Motoko to 0.14.13
Frontend canister
Added missing fields to the asset canister .wasm: SetAssetContentArguments.last_chunk : opt blob
, and HttpResponse.upgrade: opt bool