<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in async</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>1e0b0b46 - Remove subtask reparenting (#12570)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/#1e0b0b46</link>
        <description>Remove subtask reparenting (#12570)This commit updates the implementation of component-model-asyncprimitives to remove the manual subtask reparenting process. This isrequired to fix #12544 at a semantic level because a subtask isn&apos;t everactually reparented, even if its parent exits. The first part of thischange is to remove the `GuestTask::subtasks` field and all relevantmanipulations of it.This field, however, powered the `TaskExit` abstraction returned from`call_concurrent`. This commit then subsequently deletes `TaskExit` andall related infrastructure as it&apos;s no longer directly applicable as-is.The rest of this change is then updating tests/bindings/etc to accountfor these two changes.The main semantic changes related to tests are:* `wasmtime run`, with and without `--invoke`, no longer waits for all  subtasks. This instead only waits for the main task returning before  exiting. Whether or not this is the correct behavior is under  discussion in WebAssembly/component-model#608* `wasmtime serve` has been updated to keep the store alive at least  until the response body has been fully transmitted. This is also part  of WebAssembly/component-model#608.* Some `component-async-tests`-related tests were updated to either  avoid blocking the store as it wasn&apos;t needed or yield enough times to  ensure that the test passes.Closes #12544prtest:full

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/component-model/async/cancel-sibling-subtask.wast</description>
        <pubDate>Mon, 23 Feb 2026 21:00:00 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>425a6017 - Fix a stacked borrows violation in futures/streams copy (#12872)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/#425a6017</link>
        <description>Fix a stacked borrows violation in futures/streams copy (#12872)* Fix a stacked borrows violation in futures/streams copyThis commit fixes an issue in the copy implementation forfutures/streams related to component-model-async. Specifically the addedtests here tripped an error in Miri which is related to intra-componentcopies and stacked borrows. This refactoring ends up using `copy_within`for the intra-component case and `copy_to_nonoverlapping` for theinter-component case to resolve this issue. This commit additionallyrefactors the validation/checks to happen in one location instead of ina few to ensure that all validation is done up-front in a shared manner.* Fix CI* Fix expected error message* Review comments

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/component-model/async/intra-futures.wast/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/intra-streams.wast</description>
        <pubDate>Mon, 30 Mar 2026 15:00:00 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>1ee10205 - Fix state of futures/streams after cancellation (#12881)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/#1ee10205</link>
        <description>Fix state of futures/streams after cancellation (#12881)* Fix state of futures/streams after cancellationThis fixes two related but distinct issues with respect to deliveringevents to stream/future handles. First when delivering an event to afuture or a stream the shared code is now more unified into one path.This fixes an issue with futures where they would always have `done`flagged as `false` accidentally. This then fixes an additional issuewhere this `on_delivery` function wasn&apos;t invoked when futures/streamshad their operations cancelled.* Fix CI

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/component-model/async/stream-cancel-finished-op.wast</description>
        <pubDate>Mon, 30 Mar 2026 15:00:00 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>c5675cc5 - Consume hostcall fuel when buffering stream data in the host (#12767)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/#c5675cc5</link>
        <description>Consume hostcall fuel when buffering stream data in the host (#12767)For guest-to-guest communication stream reads/writes rendezvousingtogether will currently copy data through `Val`. This is expected tobecome more optimized in the future, but for now this needs to consumethe concept of &quot;hostcall fuel&quot; introduced in #12652 to ensure that theguest can&apos;t exhaust memory in the host. This additionally tweaks somehostcall fuel calculations to more accurately reflect the size of valueson the host, notably by using `size_of::&lt;Thing&gt;()` on the host ratherthan the size in the guest.Closes #12674

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/component-model/async/streams-massive-send.wast</description>
        <pubDate>Thu, 12 Mar 2026 21:00:00 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>b856261d - refactor recursive reentrance checks (#12349)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/#b856261d</link>
        <description>refactor recursive reentrance checks (#12349)* refactor recursive reentrance checksThis commit makes a few changes related to recursive reentrance checks, instancepoisoning, etc.:- Implements the more restrictive lift/lower rules described in https://github.com/WebAssembly/component-model/pull/589 such that a component instance may not lower a function lifted by one of its ancestors, nor vice-versa.  Any such lower will result in a fused adapter which traps unconditionally, preventing guest-to-guest recursive reentrance without requiring data flow analysis.    - Note that this required updating several WAST tests which were violating the new rule, including some in the `tests/component-model` Git submodule, which I&apos;ve updated.    - This is handled entirely in the `fact` module now; I&apos;ve removed the `AlwaysTrap` case previously handled by `wasmtime-cranelift`.- Removes `FLAG_MAY_ENTER` from `InstanceFlags`.  It is no longer needed for guest-to-guest calls due to the above, and for guest-to-host-to-guest calls we can rely on either `FLAG_NEEDS_POST_RETURN` for sync-lifted functions or the `GuestTask` call stack for async-lifted functions.- Adds a `StoreOpaque::trapped` field which is set when _any_ instance belonging to that store traps, at which point the entire store is considered poisoned, meaning no instance belonging to it may be entered.  This prevents indeterminant concurrent task state left over from the trapping instance from leaking into other instances.Note that this does _not_ include code to push and pop `GuestTask` instances forguest-to-guest sync-to-sync calls, nor for host-to-guest calls using e.g. thesynchronous `Func::call` API, so certain intrinsics which expect a `GuestTask`to be present such as `backpressure.inc` will still fail in such cases.  I&apos;lladdress that in a later PR.Also note that I made a small change to `wasmtime-wit-bindgen`, adding a `Send`bound on the `T` type parameter for `store | async` functions.  This allowed meto recursively call `{Typed}Func::call_concurrent` from inside a host function,and it doesn&apos;t have any downsides AFAICT.Fixes #12128* bless bindgen expansions* bless disas tests* address review feedback* sync `trap.h` with `trap_encoding.rs`...and add const assertions to `trap.rs` to help avoid future divergence.

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/component-model/async/future-read.wast</description>
        <pubDate>Wed, 14 Jan 2026 22:00:00 +0000</pubDate>
        <dc:creator>Joel Dice &lt;joel.dice@fermyon.com&gt;</dc:creator>
    </item>
<item>
        <title>b242f5a6 - Reorganize component model wast testing (#11818)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/#b242f5a6</link>
        <description>Reorganize component model wast testing (#11818)* Move all `*.wast` tests under `tests/misc_testsuite/component-model`,  e.g. move` component-model-async` to `component-model/async`.* Split testing of `component-model-{stackful,async-builtins}` into  separate tests instead of intermingling it with all other tests.This is done to in theory make this easier to upstream into thecomponent model repository itself by having a cleaner split by featurerather than being a pure reflection of historical development.

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/component-model/async/async-builtins.wast/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/futures.wast</description>
        <pubDate>Wed, 15 Oct 2025 17:00:00 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>e4894952 - Set current thread before lowering stream/future reads (#12736)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/#e4894952</link>
        <description>Set current thread before lowering stream/future reads (#12736)* Set thread before lowering stream/future reads* Restore thread* Make CurrentThread pub(crate)* fmt* Remove with_thread* Remove DS_Store* Add test* Check return values* Move string data

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/component-model/async/task-builtins.wast</description>
        <pubDate>Wed, 11 Mar 2026 14:00:00 +0000</pubDate>
        <dc:creator>Sy Brand &lt;sy.brand@fastly.com&gt;</dc:creator>
    </item>
<item>
        <title>fae9e6af - add missing may-block checks for sync-to-sync guest-to-guest calls (#12282)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/#fae9e6af</link>
        <description>add missing may-block checks for sync-to-sync guest-to-guest calls (#12282)* add missing may-block checks for sync-to-sync guest-to-guest callsPreviously, we weren&apos;t updating or checking the may-block status of a taskacross sync-to-sync, guest-to-guest calls, meaning we were allowing blocking incases we shouldn&apos;t have.This fixes that by adding a new `task_may_block` field to `VMComponentContext`,plus code to update it every time we switch threads or do a sync-to-sync,guest-to-guest call.  We use that field as the source of truth about whether ablocking operation is permitted.I&apos;ve updated various tests to match, and Luke has an item on his to-do list toadd sad-path coverage for various cases to the upstream `component-model` testsuite.* address review feedback and fix component_instance_size_limit test* remove `TaskMayBlock` type per review feedback* bless disas tests

            List of files:
            /wasmtime-44.0.1/tests/misc_testsuite/component-model/async/sync-streams.wast/wasmtime-44.0.1/tests/misc_testsuite/component-model/async/trap-if-done.wast</description>
        <pubDate>Thu, 08 Jan 2026 22:00:00 +0000</pubDate>
        <dc:creator>Joel Dice &lt;joel.dice@fermyon.com&gt;</dc:creator>
    </item>
</channel>
</rss>
