Skip to content

v3.0.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 08 Nov 01:00
· 62 commits to main since this release
v3.0.0
737778e

Spin v3.0.0

We're excited to announce the next major version of Spin! Welcome to Spin 3.0. 🚀

This release includes:

  • Component dependency support
  • Selective application deployments
  • Integration with the latest upstream WASI standards
  • A refactored runtime capability framework
  • And many other improvements, fixes and updates

Read on for more details below...

Breaking Changes ⚠️

Note that there are breaking changes included in this release that may affect some applications.

Please see our dedicated migration doc for more information.

Features ✨

Component Dependencies

Spin v3 ships with first-class support for declaring and using cross-language component dependencies in your Spin application.

Say you've authored an AWS S3 client in Rust and would like to use it in your Javascript-based Spin app -
you can now express the S3 component as a dependency and harness its functionality in your application code.
In a similar manner, components distributed by other developers can be added as dependencies, no matter the original language.
As long as they are available via a compatible registry reference or http url, you'll be able to declare them as dependencies in your app.

  • The Writing Apps doc has been updated with details around this new feature

Selective Deployments

To support real-world production deployments, Spin app developers can take the same app that they've run locally
and alter its deployment configuration when shipping to production infrastructure. For example, the API and frontends
might be deployed to edge nodes closer to end users while the database component might be deployed to a dedicated
VM in a certain cloud region.

Spin Factors

For platform engineers who want to host and customize Spin, the runtime capability code has been fully refactored
into what we call Spin Factors. These Factors allow for runtime implementations to select the capabilities they wish to provide,
without being tightly coupled to other capabilities or aspects of the Spin codebase they may not require.

Upstream WASI standards

Spin continues to incorporate the latest upstream WASI standards. A few notable updates in v3 include:

Other notable features

As always, thanks to contributors old and new for helping improve Spin on a daily basis! 🎉

Verifying the Release Signature

After downloading the v3.0.0 release of Spin, either via the artifact attached to this release corresponding to your OS/architecture combination or via the installation method of your choice, you are ready to verify the release signature.

First, install cosign. This is the tool we'll use to perform signature verification. Then run the following command:

cosign verify-blob \
    --signature spin.sig --certificate crt.pem \
    --certificate-identity https://github.com/fermyon/spin/.github/workflows/release.yml@refs/tags/v3.0.0 \
    --certificate-oidc-issuer https://token.actions.githubusercontent.com \
    --certificate-github-workflow-sha 737778e9d7dc1a7f590a398d2734ff0cc91002f0 \
    --certificate-github-workflow-repository fermyon/spin \
    spin

If the verification passed, you should see:

Verified OK

Full Changelog

New Contributors

Full Changelog: v2.7.0...v3.0.0