Spin - v2.1.0


Spin 2.1.0

The 2.1.0 release of Spin brings a number of features, improvements and bug fixes.

Some highlights at a glance:
- (Rust SDK) Support for async functions in HTTP router: https://github.com/fermyon/spin/pull/2122
- (Rust SDK) Publish SDK on crates.io: https://github.com/fermyon/spin/pull/2160
- Update to Wasmtime 15, supporting both WASI 0.2.0-rc-2023-10-18 and 0.2.0-rc-2023-11-10: https://github.com/fermyon/spin/pull/2108
- Support configuring plugins via spin.toml: https://github.com/fermyon/spin/pull/2104
- (Redis trigger) Allow multiple components to receive each incoming pub/sub event: https://github.com/fermyon/spin/pull/2123
- Interactive support for updating plugins: https://github.com/fermyon/spin/pull/2091
- spin doctor support for converting manifests from v1 to v2: https://github.com/fermyon/spin/pull/2098

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

Verifying the Release Signature

After downloading the 2.1.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/v2.1.0 \
    --certificate-oidc-issuer https://token.actions.githubusercontent.com \
    --certificate-github-workflow-sha <sha> \
    --certificate-github-workflow-repository fermyon/spin \
    spin

If the verification passed, you should see:

Verified OK

What's Changed

  • docs(release-process): add update-cargo-locks by @vdice in https://github.com/fermyon/spin/pull/2008
  • ci(release): only config aws creds + upload to s3 if main by @vdice in https://github.com/fermyon/spin/pull/2009
  • Fix misleading guidance on disallowed host by @itowlson in https://github.com/fermyon/spin/pull/2006
  • chore(examples/tinygo-outbound-*): add allowed_outbound_hosts config by @vdice in https://github.com/fermyon/spin/pull/1978
  • fix warning message on spin add by @karthik2804 in https://github.com/fermyon/spin/pull/2015
  • README updated for 2.0 by @melissaklein24 in https://github.com/fermyon/spin/pull/1999
  • Refactor to keep variant descriptions together by @itowlson in https://github.com/fermyon/spin/pull/2021
  • Templates makefile: handle prerelease origin, handle Go v2 by @itowlson in https://github.com/fermyon/spin/pull/2022
  • Don't allow v2 components to be added to v1 manifest by @itowlson in https://github.com/fermyon/spin/pull/2025
  • fix comment for disabling wasmtime pooling by @endocrimes in https://github.com/fermyon/spin/pull/2026
  • Use a more future compatible TryIntoRequest trait for router by @rylev in https://github.com/fermyon/spin/pull/2013
  • log error if wasi:http/incoming-handler#handle fails post-response by @dicej in https://github.com/fermyon/spin/pull/2019
  • chore(*): rev to 2.1.0-pre0 by @vdice in https://github.com/fermyon/spin/pull/2048
  • When translating allowed_http_hosts allow both http and htttps by @rylev in https://github.com/fermyon/spin/pull/2042
  • Wit improvements by @rylev in https://github.com/fermyon/spin/pull/2058
  • Allow disabling app logging to disk with --log-dir "" by @lann in https://github.com/fermyon/spin/pull/2059
  • Update internal command list by @karthik2804 in https://github.com/fermyon/spin/pull/2053
  • Error at new time if name is not usable by @itowlson in https://github.com/fermyon/spin/pull/2056
  • fix(tests/integration): update plugin output assertion by @vdice in https://github.com/fermyon/spin/pull/2047
  • Remove the http crate from the Rust http template. by @rylev in https://github.com/fermyon/spin/pull/2065
  • Add a Response::set_header method to the Rust SDK by @rylev in https://github.com/fermyon/spin/pull/2066
  • Bump webpki from 0.22.1 to 0.22.4 by @dependabot in https://github.com/fermyon/spin/pull/2071
  • sdk/go/kv: add missing GetKeys() function by @deadprogram in https://github.com/fermyon/spin/pull/2075
  • Use forked Wasmtime 14.0.4 with backported fixes by @lann in https://github.com/fermyon/spin/pull/2076
  • Update wasmtime backport revision by @lann in https://github.com/fermyon/spin/pull/2082
  • fix non-streaming outgoing POST requests in Rust SDK by @dicej in https://github.com/fermyon/spin/pull/2083
  • manifest: Improve error messages for invalid component IDs by @lann in https://github.com/fermyon/spin/pull/2092
  • spin add check trigger compatibility for v2 by @itowlson in https://github.com/fermyon/spin/pull/2027
  • Allow hosts to control local loader download cache by @itowlson in https://github.com/fermyon/spin/pull/2095
  • Watch should not serve until there is a build by @itowlson in https://github.com/fermyon/spin/pull/2096
  • Add dotted_pascal_case template filter by @itowlson in https://github.com/fermyon/spin/pull/2097
  • Add toml_edit feature "serde" by @lann in https://github.com/fermyon/spin/pull/2099
  • remove unused e2e testing functions by @rajatjindal in https://github.com/fermyon/spin/pull/2100
  • chore(templates/tests): bump spin fileserver component to v0.2.1 by @vdice in https://github.com/fermyon/spin/pull/2103
  • Add manifest field for plugin settings by @itowlson in https://github.com/fermyon/spin/pull/2104
  • doctor: Add UpgradeDiagnosis for manifest v1->v2 by @lann in https://github.com/fermyon/spin/pull/2098
  • app: Remove App MaybeLoader constraint by @lann in https://github.com/fermyon/spin/pull/2106
  • Multiselect plugin upgrade by @joaogdemacedo in https://github.com/fermyon/spin/pull/2091
  • rust-sdk: Stub out un-disable-able 'http' feature by @lann in https://github.com/fermyon/spin/pull/2081
  • Always url encode authority when parsing OutboundUrl by @rylev in https://github.com/fermyon/spin/pull/2116
  • Runtime Testing POC by @rylev in https://github.com/fermyon/spin/pull/2062
  • Update to Wasmtime 15.0.0, support multiple WASI snapshots by @alexcrichton in https://github.com/fermyon/spin/pull/2108
  • Improve the outbound mysql runtime test and runtime test runner by @rylev in https://github.com/fermyon/spin/pull/2124
  • allow multiple components to be executed on same trigger by @karthik2804 in https://github.com/fermyon/spin/pull/2123
  • Bump openssl from 0.10.55 to 0.10.60 by @dependabot in https://github.com/fermyon/spin/pull/2121
  • Fix duplicate package warning from Rust SDK by @itowlson in https://github.com/fermyon/spin/pull/2132
  • Remove the sqlite e2e tests as the runtime tests make them redundant by @rylev in https://github.com/fermyon/spin/pull/2126
  • Add async support to the rust-sdk router by @fibonacci1729 in https://github.com/fermyon/spin/pull/2122
  • fix(trigger): don't panic if a component is not attached to a trigger by @Mossaka in https://github.com/fermyon/spin/pull/2133
  • Outbound Redis runtime test by @rylev in https://github.com/fermyon/spin/pull/2125
  • ref(docs): update to run/deploy via OCI by @vdice in https://github.com/fermyon/spin/pull/2129
  • Added examples to spin registry CLI commands, added Windows override to Makefile by @ogghead in https://github.com/fermyon/spin/pull/2135
  • chore(docs): manifest v2; redirect module to v0.1.0 by @vdice in https://github.com/fermyon/spin/pull/2118
  • Ensure assertion is outbound-redis test component is deterministic by @rylev in https://github.com/fermyon/spin/pull/2140
  • Improve error message for non-allowed host in outbound-http handler by @rylev in https://github.com/fermyon/spin/pull/2136
  • Fix two triggers not being able to use same component by @itowlson in https://github.com/fermyon/spin/pull/2145
  • retry http assertions a few times before failing by @rajatjindal in https://github.com/fermyon/spin/pull/2134
  • Make TimerTrigger example importable in other projects by @0xE282B0 in https://github.com/fermyon/spin/pull/2152
  • Key/Value runtime tests by @rylev in https://github.com/fermyon/spin/pull/2141
  • Outbound postgres runtime tests by @rylev in https://github.com/fermyon/spin/pull/2150
  • feat: add alias for spin commands by @nilslice in https://github.com/fermyon/spin/pull/2144
  • Add a runtime test for the variables interface by @rylev in https://github.com/fermyon/spin/pull/2154
  • Fix Windows error with HTTP components by @itowlson in https://github.com/fermyon/spin/pull/2159
  • rust-sdk: add more request helpers by @fibonacci1729 in https://github.com/fermyon/spin/pull/2157
  • Fix double backslashes in printed Windows paths by @itowlson in https://github.com/fermyon/spin/pull/2162
  • Statically linked spin by @rajatjindal in https://github.com/fermyon/spin/pull/2101
  • fix release yaml syntax by @rajatjindal in https://github.com/fermyon/spin/pull/2165
  • chore(cargo/sdk): prep for publishing spin-sdk crate by @vdice in https://github.com/fermyon/spin/pull/2151
  • ci(release.yml): add crates publishing job by @vdice in https://github.com/fermyon/spin/pull/2160
  • Fix "duplicate package key-value" warning in Spin SDK git reference by @itowlson in https://github.com/fermyon/spin/pull/2164
  • Fix Windows not copying globs or directories by @itowlson in https://github.com/fermyon/spin/pull/2161
  • add support for wasi:http/incoming-handler@0.2.0-rc-2023-11-10 by @dicej in https://github.com/fermyon/spin/pull/2166
  • ci(release): only upload spin static bin to release if semver tag by @vdice in https://github.com/fermyon/spin/pull/2169
  • Basic Socket Support by @rylev in https://github.com/fermyon/spin/pull/2156
  • Map correct token count for llm:InferencingResult by @laurentiustamate94 in https://github.com/fermyon/spin/pull/2171
  • Build test components instead of relying on pre-built binaries by @rylev in https://github.com/fermyon/spin/pull/2163
  • remove static build due to intermittent failures by @rajatjindal in https://github.com/fermyon/spin/pull/2173
  • bump version to 2.1.0 by @dicej in https://github.com/fermyon/spin/pull/2175

New Contributors

  • @deadprogram made their first contribution in https://github.com/fermyon/spin/pull/2075
  • @joaogdemacedo made their first contribution in https://github.com/fermyon/spin/pull/2091
  • @ogghead made their first contribution in https://github.com/fermyon/spin/pull/2135
  • @0xE282B0 made their first contribution in https://github.com/fermyon/spin/pull/2152
  • @laurentiustamate94 made their first contribution in https://github.com/fermyon/spin/pull/2171

Full Changelog: https://github.com/fermyon/spin/compare/v2.0.1...v2.1.0


Details

date
Dec. 14, 2023, 8:22 p.m.
name
Spin 2.1.0
type
Minor
👇
Register or login to:
  • 🔍View and search all Spin releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or