<?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 component_api.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>e50d897b - Add `bulk_memory` to wast configuration (#12883)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs#e50d897b</link>
        <description>Add `bulk_memory` to wast configuration (#12883)Allows enabling/disabling this wasm proposal on a per-test basis.

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs</description>
        <pubDate>Mon, 30 Mar 2026 12:44:15 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>1b59b579 - Add support for map type (#12216)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs#1b59b579</link>
        <description>Add support for map type (#12216)* Add support for map typeSigned-off-by: Yordis Prieto &lt;yordis.prieto@gmail.com&gt;* Add Map and MapEntry classes to support key/value pairs in component modelThis commit introduces the Map and MapEntry classes, enabling the representation of map values in the component model. The Map class allows for the creation and iteration of key/value pairs, enhancing the functionality of the wasmtime component API. Additionally, the .gitignore file is updated to exclude build artifacts from the crates/c-api directory.* Add wasm_component_model_map configuration support* Format code* Format C code* Enhance component model to support HashMap&lt;K, V&gt; typeThis commit introduces support for HashMap&lt;K, V&gt; in the component model, allowing maps to be represented as list&lt;tuple&lt;K, V&gt;&gt; in the canonical ABI. It includes implementations for the ComponentType, Lower, and Lift traits for HashMap, enabling type checking, lowering to flat representations, and lifting from memory. Additionally, the maximum depth for type generation in the fuzzing utility is updated to accommodate the new map type.* Refactor component configuration to introduce map supportThis commit removes the previous wasm features configuration and adds new functions for creating a map-configured engine. The `map_config` and `map_engine` functions are introduced to facilitate the use of the component model with maps in tests, ensuring that the engine is properly configured for map types in the component model.* Add new WAST test for map types and remove map type definitions from existing testsThis commit introduces a new WAST test file specifically for testing various map types in the component model. Additionally, it removes the redundant map type definitions from the existing types.wast file to streamline the test suite.* Update component fuzzing and dynamic tests to replace call_and_post_return with call* Format code* Refactor HashMap usage in typed.rs to use wasmtime_environ collections* Fix HashMap initialization and insertion to handle potential errors in typed.rs* Refactor HashMap handling in typed.rs to use lower_map_iter for improved iteration and memory management. Introduce new implementations for ComponentType, Lower, and Lift traits for std::collections::HashMap, enhancing support for map types in the component model.* Fix map adapter trampoline compilation and alignment bugsThe translate_map function had two categories of bugs preventing mapadapter trampolines from working:1. Wasm stack discipline: local_set_new_tmp emits LocalSet which pops   from the stack, but was called when the stack was empty (to   &quot;pre-allocate&quot; locals). Fixed by computing values first, then   calling local_set_new_tmp to consume them&#8212;matching translate_list&apos;s   pattern. Also removed an erroneous LocalTee that left an orphan   value on the stack. Affected: src_byte_len, dst_byte_len,   cur_src_ptr, cur_dst_ptr.2. Pointer advancement: after value translation, the pointer still   points at the value start. The code only advanced by trailing   padding instead of value_size + trailing_padding, causing every   loop iteration to re-read the same memory.Also fixes entry layout to use proper record alignment rules (entryalign = max(key_align, value_align), value at aligned offset).* Refactor map entry layout calculations to use canonical ABI* Remove unnecessary clone of map pairs during loweringVal::Map already holds Vec&lt;(Val, Val)&gt; which derefs to &amp;[(Val, Val)],matching lower_map&apos;s signature directly. The intermediate Vec allocationand deep clone of every key/value pair was redundant.* Deduplicate map lift logic between HashMap implementations* Deduplicate list and map sequence translation scaffolding* Fix cargo fmt formatting issues* Deduplicate map typecheck logic* Deduplicate map lowering with linear_lower_map_to_flat and linear_lower_map_to_memory helpers* Clean up lift_try_map: use drop, move TryHashMap import to module scope* Fix CI: arbtest overflow and no-std HashMap lift_map- component_fuzz: use saturating_sub in generate_hashable_key to prevent  underflow when fuel is 0 and Enum variant is chosen- typed: remove incorrect ? operators in lift_map for hashbrown::HashMap  (with_capacity and insert don&apos;t return Result)* Store map tuple layout in TypeMapCompute map entry ABI and value offsets once during type building, and reuse that metadata in runtime map lift/lower paths instead of recalculating tuple layout at each call site.* Refactor map ABI argument passingBundle map lift/lower layout and type metadata into a small MapAbi32 helper so map helper calls stay concise without changing behavior.* Fix CI: enable component_model_map in fuzzing and handle map in arbitrary_valThe fuzzer&apos;s component_api oracle was generating map types but the enginedidn&apos;t have the map feature enabled, and arbitrary_val had no arm forType::Map. Enable component_model_map in the store helper (matching howcomponent_model_async is forced on) and implement arbitrary value generationfor map types.---------Signed-off-by: Yordis Prieto &lt;yordis.prieto@gmail.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs</description>
        <pubDate>Mon, 09 Mar 2026 23:34:21 +0000</pubDate>
        <dc:creator>Yordis Prieto &lt;yordis.prieto@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>1e0b0b46 - Remove subtask reparenting (#12570)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs#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/crates/fuzzing/src/oracles/component_api.rs</description>
        <pubDate>Mon, 23 Feb 2026 21:00:21 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>c09aa380 - deprecate `[Typed]Func::post_return[_async]` and make them no-ops (#12498)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs#c09aa380</link>
        <description>deprecate `[Typed]Func::post_return[_async]` and make them no-ops (#12498)* deprecate `[Typed]Func::post_return[_async]` and make them no-opsWith the advent of the Component Model concurrency ABI and it&apos;s `task.return`intrinsic, post-return functions have been informally deprecated and areexpected to be removed for WASI 1.0 and the corresponding stable edition of theComponent Model.  Consequently, it does not make sense anymore to requireembedders to explicitly call the post-return function after using`[Typed]Func::call[_async]`.As of this commit, `[Typed]Func::post_return[_async]` are no-ops.  Instead, thepost-return function is called automatically as part of`[Typed]Func::call[_async]` if present, which is how`[Typed]Func::call_concurrent` has worked all along.  In addition, this commitfixes and tests a couple of cases where the task and/or thread was beingdisposed of before the post-return function was called.* address review feedback* test post-return function in more scenariosSpecifically, I&apos;ve split the `invoke_post_return` test into multiple tests:- using `TypedFunc::call`- using `TypedFunc::call_async` with concurrency support enabled- using `TypedFunc::call_async` with concurrency support disabled- using `Func::call_async` with concurrency support disabled- using `TypedFunc::call_concurrent`* remove GCC/clang-specific deprecation attributeThis broke the MSVC build.* bless bindgen output* remove obsolete post-return functions and fieldsNow that post-return calls are handled internally without requiring explicitaction by the embedder, we can avoid unnecessary bookkeeping.

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs</description>
        <pubDate>Tue, 03 Feb 2026 19:13:45 +0000</pubDate>
        <dc:creator>Joel Dice &lt;joel.dice@fermyon.com&gt;</dc:creator>
    </item>
<item>
        <title>93d22fcd - Migrate fuzzing to `wasmtime::error` (#12263)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs#93d22fcd</link>
        <description>Migrate fuzzing to `wasmtime::error` (#12263)* Migrate fuzzing to `wasmtime::error`* fix

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs</description>
        <pubDate>Wed, 07 Jan 2026 21:51:23 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b4fa647e - Cap iterations of `component_api` fuzzer (#12103)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs#b4fa647e</link>
        <description>Cap iterations of `component_api` fuzzer (#12103)This timed out over the weekend on OSS-Fuzz and running locally it justruns quite a lot of iterations of the test case in question. There&apos;s noneed to run so much in one fuzz test case so cap the total number ofiterations at a constant to avoid timing out.

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs</description>
        <pubDate>Mon, 01 Dec 2025 21:52:22 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>a7edc9be - Set another minimum for component_api fuzzing (#12095)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs#a7edc9be</link>
        <description>Set another minimum for component_api fuzzing (#12095)Forgotten from previous PRs...

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs</description>
        <pubDate>Wed, 26 Nov 2025 20:18:23 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>19d9a4ae - Set minimum stacks/instance size in the component-api fuzzer too (#12080)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs#19d9a4ae</link>
        <description>Set minimum stacks/instance size in the component-api fuzzer too (#12080)Similar to other settings there needs to be a minimum when the poolingallocator is configured to actually be able to run modules.

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs</description>
        <pubDate>Mon, 24 Nov 2025 19:00:43 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>5730c760 - Improve `Config`-related coverage of `component_api` (#12049)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs#5730c760</link>
        <description>Improve `Config`-related coverage of `component_api` (#12049)This commit improves the preexisting `component_api` fuzz target to usearbitrary `Config` data. This, for example, helps exercise Pulley inaddition to native. In general this also helps stress and ensure that noconfig knobs are accidentally breaking ABI assumptions.

            List of files:
            /wasmtime-44.0.1/crates/fuzzing/src/oracles/component_api.rs</description>
        <pubDate>Fri, 21 Nov 2025 17:04:17 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
</channel>
</rss>
