Skip to content

v0.7.0

Compare
Choose a tag to compare
@peterhuene peterhuene released this 26 Jan 01:06
· 76 commits to main since this release
1a07b61

⚠️ Breaking changes ⚠️

There are two breaking changes in this release.

1. cargo-component-bindings removed

This breaking change requires manual intervention for existing cargo-component projects to get those projects to build with this release.

cargo-component-bindings has been removed as a dependency; bindings are now directly generated into a src/bindings.rs submodule by cargo-component with no macro involved.

Existing cargo-component projects can be fixed with the following steps:

  1. Install the latest cargo-component.

    With the removal of the upgrade subcommand (see below), the latest version of cargo-component can be installed with either cargo install cargo-component or cargo binstall cargo-component (requires cargo-binstall).

  2. Edit Cargo.toml:

    Replace the existing cargo-component-bindings dependency with:

    wit-bindgen = { version = "0.16.0", default-features = false, features = ["realloc"] }

    This makes the wit-bindgen runtime functions / types available to the generated code (but does not make the wit-bindgen::generate! macro available).

  3. Edit src/main.rs or src/lib.rs:

    Depending on the whether the project is a command (src/main.rs) or a library (src/lib.rs), edit the file to replace the cargo_component_bindings::generate! macro invocation with:

    mod bindings;

2. cargo component update subcommand removed.

With the removal of the cargo-component-bindings crate, the subcommand became a less-functional wrapper around cargo install.

To update cargo-component in the future, use cargo install cargo-component or cargo binstall cargo-component (requires cargo-binstall).

Compatibility

  • Wasmtime: 17.0.0
  • WASI: 0.2.0 (stable preview 2! 🎉)
  • Warg (registry support): 0.2.0

What's Changed

New Contributors

Full Changelog: v0.6.0...v0.7.0