Spin - v2.4.0


Spin v2.4

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

Some highlights in v2.4.0 at a glace:
- experimental support for the OpenTelemetry (OTEL) observability standard (https://github.com/fermyon/spin/pull/2348). When configured Spin will now emit traces of your Spin App as an OTEL signal.
- service chaining (#2305) to remove the overhead of network requests when Spin app components call each other.

If curious about the vision for service chaining and other efforts, check out the SIP (Spin Improvement Proposal) directory. Perhaps it will spark an idea for a SIP of your own!

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

Verifying the Release Signature

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

If the verification passed, you should see:

Verified OK

What's Changed

  • fix cross-rs cmake config and update cargo config for static build targets by @rajatjindal in https://github.com/fermyon/spin/pull/2307
  • feat(oci): update dkregistry dep to support ACR login by @vdice in https://github.com/fermyon/spin/pull/2308
  • fix push-templates-tag grep pattern by @dicej in https://github.com/fermyon/spin/pull/2313
  • Subdomain wildcards by @itowlson in https://github.com/fermyon/spin/pull/2314
  • chore(release): Bump version to 2.4.0-pre0 by @lann in https://github.com/fermyon/spin/pull/2312
  • point Go templates to v2.2.0 instead of main by @dicej in https://github.com/fermyon/spin/pull/2317
  • Tweak spin-loader to be able to run in Wasm by @rylev in https://github.com/fermyon/spin/pull/2304
  • fix(example): update variables example to use constant time comparison by @kate-goldenring in https://github.com/fermyon/spin/pull/2311
  • fix(cmd/up): --help takes precedence over --build by @endocrimes in https://github.com/fermyon/spin/pull/2324
  • fix(oci/config): ensure unique OCI image config by @radu-matei in https://github.com/fermyon/spin/pull/2322
  • Feature/mqtt publisher by @suneetnangia in https://github.com/fermyon/spin/pull/2287
  • feat(loader): support loading AOT compiled components by @kate-goldenring in https://github.com/fermyon/spin/pull/2318
  • Use the bundled version of paho and remove vendored openssl by @rylev in https://github.com/fermyon/spin/pull/2328
  • Use rumqttc instead of paho-mqtt by @itowlson in https://github.com/fermyon/spin/pull/2330
  • Variables in redis.address and allowed_outbound_hosts by @itowlson in https://github.com/fermyon/spin/pull/2299
  • allow redis trigger to connect to multiple servers by @karthik2804 in https://github.com/fermyon/spin/pull/2242
  • outbound-networking: Don't pass &Arc unnecessarily by @lann in https://github.com/fermyon/spin/pull/2342
  • Fixed issue around swallowing mqtt publish errors. by @suneetnangia in https://github.com/fermyon/spin/pull/2344
  • Service chaining SIP by @itowlson in https://github.com/fermyon/spin/pull/2290
  • Enable templating of Redis trigger channel by @itowlson in https://github.com/fermyon/spin/pull/2346
  • Remove credentials before printing Redis subscriptions by @itowlson in https://github.com/fermyon/spin/pull/2349
  • set host header on self outbound requests by @karthik2804 in https://github.com/fermyon/spin/pull/2298
  • handle connection errors on redis-trigger init by @karthik2804 in https://github.com/fermyon/spin/pull/2350
  • Because I can never remember if it's --temp or --tmp by @itowlson in https://github.com/fermyon/spin/pull/2357
  • Inherit workspace metadata by @fibonacci1729 in https://github.com/fermyon/spin/pull/2351
  • update spin-timer mio version to 0.8.11 by @dicej in https://github.com/fermyon/spin/pull/2359
  • add ability to specify env vars for spin build in test runner by @karthik2804 in https://github.com/fermyon/spin/pull/2360
  • Seize control of the means of producing 404s by @itowlson in https://github.com/fermyon/spin/pull/2363
  • Fix build when RUSTFLAGS is set for native builds by @alexcrichton in https://github.com/fermyon/spin/pull/2365
  • core: Remove unnecessary Arc from (Module)InstancePre by @lann in https://github.com/fermyon/spin/pull/2367
  • Refactor TriggerExecutor to have associated types for instances by @alexcrichton in https://github.com/fermyon/spin/pull/2366
  • added no_vcs flag by @thesuhas in https://github.com/fermyon/spin/pull/2370
  • Add missing wasi:random/insecure{,_seed} interfaces by @alexcrichton in https://github.com/fermyon/spin/pull/2374
  • Remove unused dependency that was causing a cycle by @itowlson in https://github.com/fermyon/spin/pull/2375
  • nit: fix label on openssl setup by @rajatjindal in https://github.com/fermyon/spin/pull/2372
  • use ubuntu 20.04 for PR workflow to make it consistent with release workflow by @rajatjindal in https://github.com/fermyon/spin/pull/2378
  • ci: Include os-release in cache key by @lann in https://github.com/fermyon/spin/pull/2383
  • Less worse error if file mount source doesn't exist by @itowlson in https://github.com/fermyon/spin/pull/2384
  • Service chaining by @itowlson in https://github.com/fermyon/spin/pull/2305
  • update cosign-installer and cosign version by @rajatjindal in https://github.com/fermyon/spin/pull/2385
  • testing-framework: Add HEALTHCHECK to vault.Dockerfile by @lann in https://github.com/fermyon/spin/pull/2382
  • More forgiving caching by @itowlson in https://github.com/fermyon/spin/pull/2377
  • Create assets directory from fileserver template by @itowlson in https://github.com/fermyon/spin/pull/2387
  • feat(*): Implement the skeleton of an OTEL observability system by @calebschoepp in https://github.com/fermyon/spin/pull/2348
  • Remove dead code newly discovered by Rust 1.77.0 by @rylev in https://github.com/fermyon/spin/pull/2389
  • Allow spin-expressions and spin-outbound-networking to compile to wasm by @rylev in https://github.com/fermyon/spin/pull/2390
  • Fix spin add static-fileserver putting the asset directory in the wrong place by @itowlson in https://github.com/fermyon/spin/pull/2388
  • Update libsql to latest version by @rylev in https://github.com/fermyon/spin/pull/2394
  • chore(release): update version for 2.4 release by @kate-goldenring in https://github.com/fermyon/spin/pull/2399

New Contributors

  • @thesuhas made their first contribution in https://github.com/fermyon/spin/pull/2370

Full Changelog: https://github.com/fermyon/spin/compare/v2.3.1...v2.4.0


Details

date
March 28, 2024, 7:23 p.m.
name
v2.4.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