dfx 0.25.0 is promoted. You can read the release notes here.
This release includes some large changes to how dfx’s output is displayed. We’re aiming to no longer spam your terminal window, and most rarely-relevant information has been relegated to verbose mode (-v
).
The PocketIC implementation of the replica API is now considered ready to use for most IC local development. It is planned to become the default in a future release. dfx start
now has a --replica
parameter to force usage of the native replica. This currently does nothing, but you should add it to any scripts which use replica-specific implementation details, as their behavior may be impacted when the defaults change. Additionally, any reference to dfx info replica-port
should be replaced with dfx info webserver-port
if possible. As a reminder, PocketIC can be used with dfx start --pocketic
, and is much faster than the replica.
If you are using PocketIC, you have access to a new --impersonate <principal>
flag in dfx canister call
, which lets you send calls from any principal, including the management canister, during local testing.
Canister settings now accept the flag --wasm-memory-threshold <threshold>
. This aids working with --wasm-memory-limit <limit>
. When the canister’s memory usage is within <threshold>
bytes from <limit>
, the canister’s system func lowmemory()
/#[on_low_wasm_memory]
function will be run so it can self-optimize to avoid hitting the limit.
Please let us know if you encounter any problems!