-
Notifications
You must be signed in to change notification settings - Fork 54
Description
Why
We have users now and we need to take care and guide them through the process of migrating their projects to the new compiler and SDK versions.
What
- Rust toolchain version changes (update
rust-toolchain.toml). Occasionally, it requires adding/changing some attributes in the user's code (latest -#![feature(alloc_error_handler)]) - Breaking Miden SDK API changes.
- Breaking changes in the SDK macros (
#[component],#[note_script], etc.)
How
1. Instructions
I suggest we put the migration guides in our CHANGELOGs.
SDK
We have CHANGELOG.md in the sdk folder where we can put the migration guides for 2. and 3. I generate it manually every time I do an SDK release. I recommend we switch to requiring changes to it (on CI) in every PR that touches SDK (similar to the VM repo).
Compiler
We have CHANGELOG.md in the root folder where we can put the migration guides for 1. It's autogenerated by the releaze-plz and it is mostly garbage. So it's time to start writing it manually as well requiring every commit to update it or explicitly opt-out.
2. Automation
cargo-miden should check the rustc nightly version in the user's rust-toolchain.toml and update it if needed. Besides that, it could also check for missing #![feature(alloc_error_handler)], etc.