For the shared local network, dfx now stores replica state in a subdirectory, where the subdirectory name is a hash of the replica version and options. This means it will no longer be necessary to pass --clean when switching between dfx versions.
dfx will still reset canister ids when it detects that the local network has changed. But it will now be possible to do something like work with projects A, B, and C with dfx 0.22.0, and projects E and F with dfx 0.23.0, with dfx +0.22.0 start / dfx +0.23.0 start, without --clean, in between them.
Description
For the shared local network, dfx now stores replica state in a subdirectory, where the subdirectory name is a hash of the replica version and options. This means it will no longer be necessary to pass
--clean
when switching between dfx versions.dfx will still reset canister ids when it detects that the local network has changed. But it will now be possible to do something like work with projects A, B, and C with dfx 0.22.0, and projects E and F with dfx 0.23.0, with
dfx +0.22.0 start
/dfx +0.23.0 start
, without--clean
, in between them.Fixes https://dfinity.atlassian.net/browse/SDK-1638
How Has This Been Tested?
Added e2e tests
Checklist: