March 07, 2023

Announcing Spin v0.10.0

Michelle Dhanani Michelle Dhanani

spin wasm wasi

Announcing Spin v0.10.0

Spin is an open source developer tool for building and running serverless functions and microservices with WebAssembly. Spin was launched almost a year ago and the contribution from the community has been fantastic. We are passionate about using community feedback to make Spin an even better experience for building applications.

Today, we are excited to announce a new release of Spin, v0.10.0 that focuses on

  • improving the user experience
  • CLI refactoring
  • further improvements for key/value storage
  • additional tracing for outbound HTTP calls
  • more informative error messages
  • internal code reorganization
  • bug fixes
  • and more!

Let’s have a look at a few of the new things in this release!

Application logs

We’ve made it easier to find application logs by default. As of v0.10.0 onwards, a user running a Spin app locally will see that logs are now stored in a .spin directory relative to spin.toml in addition to being streamed to stdout. Whereas, a user running an app from a registry will see that logs are no longer stored (by default) but instead streamed to stdout (which you can override this using the –quiet/–sh and –follow flags). For both local and remote apps, you can save logs to a specific location using the --log-dir flag. See the spin up CLI for more information.

spin up -f ghcr.io/test/myapp:v1 --log-dir my-logs/

The last release included a deprecation notice for the --follow-all flag which is no longer needed and the deprecation notice and flag have been removed in v0.10.0.

These changes were a direct result from community member feedback in Discord and in GitHub issues and make it easier to debug and understand what is going on while running a Spin application. Thank you!

Spin up –from/-f

The new spin up --from/-f flag combines the old -f/--file and --from-registry flags and now infers application source which may be a manifest (spin.toml) file, a directory containing a spin.toml file, or a remote registry reference. If omitted, it defaults to “spin.toml”.

Bindle deprecation

Bindle support is now deprecated in favor of using existing registry services like Docker Hub, GitHub Container Registry, or ECR. Using existing registry services has been an outstanding feature request for Spin and we continue to improve that experience.

A Bindle related deprecation message has been added to commands and options that currently interact with Bindle i.e. spin bindle push, spin bindle run, spin up -b (–bindle, –bindle-password, –bindle-server, –bindle-username). Bindle support will be removed in a future release.

Building Towards Spin 1.0

Spin aims to empower developers to build and run real-world applications. A large part of this is providing sufficient functionality and capabilities; but equally important is using tools that are stable and performant. We are getting closer to releasing Spin 1.0, with a focus on the stability of the spin new -> spin build -> spin up experience so that you can build and run Spin applications with confidence.

Spin 1.0 will also mean a promise of backwards compatibility — that you can confidently upgrade to a new minor version of Spin and know that your applications will continue to run regardless of where they are running. You can follow along the progress towards Spin 1.0 in our project board.

Thank you!

Spin would not be possible without the more than 50 contributors who are dedicating their time to write code and documentation, and without everyone using the project. Thank you!

We also want to give a special shout-out to all Bytecode Alliance project maintainers for their incredible work that is crucial for Spin — in particular the Wasmtime project and the people building WASI and the WebAssembly component model.

If you are interested in Spin, Fermyon Cloud, or other Fermyon projects, join the chat in the Fermyon Discord server and follow us on Twitter @fermyontech!


🔥 Recommended Posts


Quickstart Your Serveless Apps with Spin

Get Started