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!
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
spin up --from/-f flag combines the old
--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 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.
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.