Spin - v2.2.0


Spin v2.2.0

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

Some highlights in v2.2.0 at a glance:

  • Initial multi-trigger support has been added to Spin, thanks to new contributor @carlokok!
  • We'll still be working on this feature post-2.2.0 and will add docs/examples to the Developer site once stabilized.
  • Spin has been updated to use Wasmtime 17 and WASI 0.2.0
  • The Websockets SIP has been merged
  • Massive testing improvements from @rylev, including restructuring for gains in efficiency, devex and de-duplication
  • See the main tracking issue for overarching goals
  • PRs to note:
    • https://github.com/fermyon/spin/pull/2217
    • https://github.com/fermyon/spin/pull/2223
    • https://github.com/fermyon/spin/pull/2228
    • https://github.com/fermyon/spin/pull/2180
  • If curious, start familiarizing yourself with the new framework(s) here

Additional features worth mentioning:

  • A new set_header method on the http Request object: https://github.com/fermyon/spin/pull/2187
  • The active channel is now printed for Redis trigger apps: https://github.com/fermyon/spin/pull/2232
  • Addition of a Spin app example using Hashicorp Vault for variables: https://github.com/fermyon/spin/pull/2241
  • Some helpful logging when wasm components are slow to load: https://github.com/fermyon/spin/pull/2226 by new contributor @Archisman-Mridha!

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

Verifying the Release Signature

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

If the verification passed, you should see:

Verified OK

What's Changed

  • Remove redundant variables test by @rylev in https://github.com/fermyon/spin/pull/2172
  • allowed_outbound_host CIDR and IPv6 support by @rylev in https://github.com/fermyon/spin/pull/2174
  • bump version to 2.2.0-pre0 by @dicej in https://github.com/fermyon/spin/pull/2177
  • docs(release-process): small amendment by @vdice in https://github.com/fermyon/spin/pull/2183
  • Port sqlite-libsql to new libsql client by @itowlson in https://github.com/fermyon/spin/pull/2148
  • Mutable access to request headers by @itowlson in https://github.com/fermyon/spin/pull/2187
  • print error msg when plugin binary is missing by @rajatjindal in https://github.com/fermyon/spin/pull/2189
  • fix statically linked build issue for aarch by @rajatjindal in https://github.com/fermyon/spin/pull/2179
  • remove workspace/all-targets from cross build cmd by @rajatjindal in https://github.com/fermyon/spin/pull/2192
  • Runtime tests services by @rylev in https://github.com/fermyon/spin/pull/2180
  • Update readme to latest template syntax by @tpmccallum in https://github.com/fermyon/spin/pull/2178
  • Stop testing kv and sqlite twice by @rylev in https://github.com/fermyon/spin/pull/2195
  • Rename 'Test Spin SDK - Rust' to 'Test Spin' by @rylev in https://github.com/fermyon/spin/pull/2197
  • remove Send and Sync bounds from Rust SDK router by @dicej in https://github.com/fermyon/spin/pull/2198
  • Add macro for generating runtime tests automatically by @rylev in https://github.com/fermyon/spin/pull/2196
  • Patched build.rs to run on systems without rustup. Added flake for ni… by @benwis in https://github.com/fermyon/spin/pull/2199
  • Remove unused files by @rylev in https://github.com/fermyon/spin/pull/2194
  • Docker Service for runtime tests by @rylev in https://github.com/fermyon/spin/pull/2193
  • Wasi HTTP runtime test by @rylev in https://github.com/fermyon/spin/pull/2201
  • chore(flake): Fix Darwin dependency on Accelerate by @endocrimes in https://github.com/fermyon/spin/pull/2204
  • Test that variables and components can be added in the same template by @itowlson in https://github.com/fermyon/spin/pull/2207
  • ignore asset globs from being watched when using direct-mounts by @karthik2804 in https://github.com/fermyon/spin/pull/2203
  • update configure aws creds action to v4 by @rajatjindal in https://github.com/fermyon/spin/pull/2191
  • Add random port support to Python services by @rylev in https://github.com/fermyon/spin/pull/2206
  • Remove redundant headers-env-routes-test by @rylev in https://github.com/fermyon/spin/pull/2208
  • feat(cli.rs): allow setting app log dir via SPIN_LOG_DIR env var by @vdice in https://github.com/fermyon/spin/pull/2209
  • ci(release): consolidate GH release logic by @vdice in https://github.com/fermyon/spin/pull/2185
  • Abstract the runtime used in runtime tests so that it's not hardcoded as Spin by @rylev in https://github.com/fermyon/spin/pull/2211
  • Don't pass services when constructing Spin instance in runtime test by @rylev in https://github.com/fermyon/spin/pull/2214
  • Update libsql to a crates.io reference by @itowlson in https://github.com/fermyon/spin/pull/2215
  • Generalize runtime testing framework to be a general testing Spin framework by @rylev in https://github.com/fermyon/spin/pull/2217
  • Update test to new Cloud plugin help text by @itowlson in https://github.com/fermyon/spin/pull/2219
  • ci(templates): update rust templates automation to use the crates.io versions by @vdice in https://github.com/fermyon/spin/pull/2221
  • update to Wasmtime 17 and WASI 0.2.0-rc-2023-12-05 by @dicej in https://github.com/fermyon/spin/pull/2222
  • E2E testing using testing framework by @rylev in https://github.com/fermyon/spin/pull/2223
  • Move rest of e2e tests over to new testing framework by @rylev in https://github.com/fermyon/spin/pull/2224
  • Provide feedback if it takes a while to download a remote component on spin up by @Archisman-Mridha in https://github.com/fermyon/spin/pull/2226
  • Warn instead of trace when errors happen in the spin_redis_engine by @karthik2804 in https://github.com/fermyon/spin/pull/2231
  • Move more integration tests to use the testing framework by @rylev in https://github.com/fermyon/spin/pull/2228
  • print active channels on redis trigger by @karthik2804 in https://github.com/fermyon/spin/pull/2232
  • SIP 016 - Inbound WebSocket Support by @dicej in https://github.com/fermyon/spin/pull/2212
  • bump PoolingAllocationConfig::max_core_instances_per_component to 200 by @dicej in https://github.com/fermyon/spin/pull/2234
  • Bump h2 from 0.3.22 to 0.3.24 by @dependabot in https://github.com/fermyon/spin/pull/2233
  • Bump shlex from 1.2.0 to 1.3.0 by @dependabot in https://github.com/fermyon/spin/pull/2239
  • Bump zerocopy from 0.7.29 to 0.7.32 by @dependabot in https://github.com/fermyon/spin/pull/2210
  • feat(up): Spawn multiple trigger commands by @carlokok in https://github.com/fermyon/spin/pull/2213
  • temporarily switch to Wasmtime commit 0b632023 by @dicej in https://github.com/fermyon/spin/pull/2243
  • cargo cfg: fix build on aarch64-linux by @endocrimes in https://github.com/fermyon/spin/pull/2240
  • logging: Emit wasmtime-wasi-http WARN logs by default by @lann in https://github.com/fermyon/spin/pull/2244
  • Add vault variable example by @tpmccallum in https://github.com/fermyon/spin/pull/2241
  • trigger-http: Log TLS startup errors instead of propagating by @lann in https://github.com/fermyon/spin/pull/2230
  • update to Wasmtime 17 and WASI 0.2.0 by @dicej in https://github.com/fermyon/spin/pull/2250
  • Include trigger type in trigger options help header by @itowlson in https://github.com/fermyon/spin/pull/2256
  • Cancel external triggers if one of multiple fails on start by @itowlson in https://github.com/fermyon/spin/pull/2248
  • Fix regrettable trigger help heading when no app by @itowlson in https://github.com/fermyon/spin/pull/2258
  • Allow only common trigger options in multi-trigger apps by @itowlson in https://github.com/fermyon/spin/pull/2257
  • chore(release): Spin v2.2 version bumps by @vdice in https://github.com/fermyon/spin/pull/2260

New Contributors

  • @benwis made their first contribution in https://github.com/fermyon/spin/pull/2199
  • @Archisman-Mridha made their first contribution in https://github.com/fermyon/spin/pull/2226
  • @carlokok made their first contribution in https://github.com/fermyon/spin/pull/2213

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


Details

date
Jan. 30, 2024, 11:17 p.m.
name
v2.2.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