Skip to content

Help users with migration to the new compiler/SDK release #848

@greenhat

Description

@greenhat

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

  1. 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)])
  2. Breaking Miden SDK API changes.
  3. 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.

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions