Skip to content

v2.1.0

Compare
Choose a tag to compare
@github-actions github-actions released this 14 Dec 20:22
· 1327 commits to main since this release
v2.1.0
4ca3a56

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: #2122
  • (Rust SDK) Publish SDK on crates.io: #2160
  • Update to Wasmtime 15, supporting both WASI 0.2.0-rc-2023-10-18 and 0.2.0-rc-2023-11-10: #2108
  • Support configuring plugins via spin.toml: #2104
  • (Redis trigger) Allow multiple components to receive each incoming pub/sub event: #2123
  • Interactive support for updating plugins: #2091
  • spin doctor support for converting manifests from v1 to v2: #2098
  • Experimental support for wasi-sockets: #2156

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

New Contributors

Full Changelog: v2.0.1...v2.1.0