Skip to main content
Brooks Townsend
Brooks Townsend
Brooks Townsend
||5 min read

wasmCloud 1.2: Improved streams, automatic config updates for providers, and more

Cross-posted from the wasmCloud blog.

wasmCloud 1.2 officially closes out the remaining issues from the Q2 Roadmap! This is the first release since we adopted our new, accelerated release cadence, so expect to see some great changes—but not quite as many as wasmCloud 1.1.

36 features? Last release had 37

Updating to 1.2

Components

Components using wasi:blobstore should see immediate improvements this release in terms of max bytes streamed, speed of streaming bytes, and error handling around streaming.

If you’re looking for examples of best practices when using streams, check out the blobby example component. Since it uses wasi:http and wasi:blobstore directly, you can replicate the same lines of code in any source language component.

Providers

Capability providers using the latest provider SDK will now be able to subscribe to configuration updates, allowing configuration to change and immediately be delivered to providers without needing a restart. This will be an available function to override in the Rust provider SDK, and will be implemented soon in the Golang provider SDK.

Capability providers implementing wrpc:blobstore are strongly recommended to update to the latest version (0.2.0) in order to take advantage of blobstore async streaming. The host will remain backwards compatible with wrpc:blobstore@0.1.0 for at least a minor release.

See https://github.com/wasmCloud/wasmCloud/pull/2779 for three implementation examples (Filesystem, Amazon S3, and Azure Blobstore) to see the best path for upgrading. We’ve updated and released each of these providers, so make sure to update your wadm manifests when possible:

wasmCloud hosts

wasmCloud introduced additional validation for policy and secret subjects, a new linkdef_set_failed event for better downstream validation of links, and the ability to tune the wasmtime runtime parameters at the wasmCloud CLI. In addition, wasmCloud is now running wasmtime 23 which comes with a suite of performance and security improvements.

Here are the newly available CLI flags for tuning runtime parameters (note that no defaults changed here from 1.1):

--max-linear-memory-bytes <MAX_LINEAR_MEMORY>
    The maximum amount of memory bytes that a component can allocate [env: WASMCLOUD_MAX_LINEAR_MEMORY=] [default: 10485760]
--max-component-size-bytes <MAX_COMPONENT_SIZE>
    The maximum byte size of a component binary that can be loaded [env: WASMCLOUD_MAX_COMPONENT_SIZE=] [default: 52428800]
--max-components <MAX_COMPONENTS>
    The maximum number of components that can be run simultaneously [env: WASMCLOUD_MAX_COMPONENTS=] [default: 10000]

wash enhancements

Alongside wasmCloud 1.2, wash 0.31.0 brings some notable quality-of-life improvements:

  • wash --version got a much-needed glow-up to display the versions of wadm, nats-server, and wasmCloud that will launch by default with wash up
wash --version
wash          v0.30.0
├ nats-server v2.10.18
├ wadm        v0.14.0
└ wasmcloud   v1.2.0-rc.1
  • wash app list now has a --watch flag for continually watching the output for applications, thank you Aditya1404Sal!
  • wash app status has been completely reworked to display the status of each individual scaler, rather than being essentially a shortened wash app list
wash app status rust-hello-world
rust-hello-world@ - Failed

  Name                                         Kind           Status
  http_component                               SpreadScaler   Failed (*)
  httpserver -(wasi:http)-> http_component     LinkScaler     Deployed
  httpserver                                   SpreadScaler   Deployed

  Status Messages

  http_component
    └ failed to start component: ...

What’s changed:

New Features

Fixes

CI & Documentation

Get involved

If you'd like to get involved, chat with us on the wasmCloud Slack, or join us live for the next wasmCloud community meeting. For a deeper dive, come hang out with us for a day of immersive learning during our virtual wasmCloud Innovation Day on September 18, 2024.

Keep up to date

Subscribe to Cosmonic for occasional communication straight to your inbox.