Urgent.News

What's breaking now, across thousands of outlets.

Tech

Boundary change, not version bump

The WASI Subgroup voted to ratify WASI 0.3.0, and the change sitting under the version number is that stream<T> , future<T> , and async are now first-class constructs in the WebAssembly Component Model's canonical ABI. The host owns a single event loop, shared by every component it runs, and the runtime does the scheduling. That reframes what a WASI version means here. In 0.2 each component…

The WebAssembly Subgroup ratified WASI 0.3.0, with significant changes to the WebAssembly Component Model's canonical ABI. Previously, each component had its own event loop and async runtime, limiting composition when components utilized streaming or async APIs. In 0.3, stream T, future T, and async are now first-class constructs.

The host owns a single event loop, and the runtime takes care of scheduling. When a value is delivered to a future, it wakes the awaiting task, regardless of component boundaries. The writer could be the host, another component, or the same component holding the read end. Stream T and future T behave like resource types with ownership transfer on boundary crossing, unlike borrowable resource types.

WASI 0.3 introduces completion-based completion-based behavior, closer to Linux io_uring and Windows IoRing than readiness-based APIs like epoll or kqueue. Components now export and import async functions directly, eliminating the previous three-step invocation process. Stream status fixes inline surface terminal errors, providing a cleaner separation between clean closes and errors.

Most interface changes are mechanical, with bindings now emitting native async code in supported languages. The ABI supports both stackless and stackful coroutines, with progress on Python, JavaScript, C#, C, and Go support. The wasi:http/handler now exposes two worlds: service imports client and exports handler, while middleware enables service chaining by forwarding requests between handlers.

These changes aim to simplify component composition and improve performance, with Wasmtime 46 scheduled to ship the 0.3.0 release with Component Model Async enabled by default.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Why Naive Text Extraction Destroys RAG on Multi-Column PDFs (and How to Fix Reading Order)

When an AI retrieval-augmented generation (RAG) pipeline hallucinates on a question sourced from a scientific paper or financial report, the debugging process almost invariably looks at the wrong…

  • Naive extraction breaks reading order in multi-column PDFs
  • Multi-column braiding problem causes semantic mix of topics
  • Tiered approach fixes reading order using geometric and vision models

I replaced a brand's Shopify app stack with code. Here's what it really costs

The usual Shopify answer to "can the store do X?" is "there's an app for that". Install it, pay monthly, live with its widget, its script weight and its idea of how your store should look.

  • Publisher replaces third-party Shopify apps with custom code solutions
  • Custom code eliminates app limitations, maintains cohesive design

More from Saturday 7 November →