jrandolf opened PR #14970 from jrandolf:implements-default to bytecodealliance:main:
WASI 0.3.1 and later require runtimes to support
implementsandexternal-id(see #14800), so this enables the feature by default.The one box it doesn't tick is fuzzing. As discussed on #14914, whether that's needed isn't a decision for one person, so this PR is the place to decide it. My case for not gating on it: the attributes are metadata that don't affect type checking, compilation or execution. Wasmtime copies them into its type information and returns them from
ComponentExtern. The code that interprets them (ComponentExtern::is_implements,bindgen!'snamed_importsand the named WASI imports) is covered by tests. The stability table keeps the :cross_mark: with a footnote saying so.<details>
<summary>LLM summary of the changes</summary>
ConfigenablesCM_IMPLEMENTSwhenever thecomponent-modelcrate feature is on, like the component model itself, andConfig::wasm_component_model_implementsdocuments that default instead of calling the feature a work in progress.docs/stability-wasm-proposals.mdmovesimplementsto the on-by-default table with a footnote on its Fuzzed :cross_mark:.implements_enabled_by_defaultchecks that a defaultEngineaccepts animplementsimport. The.wastharness still turns the feature off unless a test asks for it, soimplements-disabled.waststill checks the error.</details>
jrandolf requested wasmtime-core-reviewers for a review on PR #14970.
jrandolf requested dicej for a review on PR #14970.
jrandolf removed the review request for wasmtime-default-reviewers from PR #14970.
jrandolf removed the review request for wasmtime-core-reviewers from PR #14970.
jrandolf requested alexcrichton for a review on PR #14970.
jrandolf requested wasmtime-default-reviewers for a review on PR #14970.
jrandolf edited PR #14970:
As discussed in #14914.
<details>
<summary>LLM summary of the changes</summary>
ConfigenablesCM_IMPLEMENTSwhenever thecomponent-modelcrate feature is on, like the component model itself, andConfig::wasm_component_model_implementsdocuments that default instead of calling the feature a work in progress.docs/stability-wasm-proposals.mdmovesimplementsto the on-by-default table with a footnote on its Fuzzed :cross_mark:.implements_enabled_by_defaultchecks that a defaultEngineaccepts animplementsimport. The.wastharness still turns the feature off unless a test asks for it, soimplements-disabled.waststill checks the error.</details>
github-actions[bot] added the label wasmtime:config on PR #14970.
github-actions[bot] added the label wasmtime:docs on PR #14970.
github-actions[bot] added the label wasmtime:api on PR #14970.
github-actions[bot] commented on PR #14970:
Label Messager: wasmtime:config
It looks like you are changing Wasmtime's configuration options. Make sure to
complete this check list:
[ ] If you added a new
Configmethod, you wrote extensive documentation for
it.<details>
Our documentation should be of the following form:
```text
Short, simple summary sentence.More details. These details can be multiple paragraphs. There should be
information about not just the method, but its parameters and results as
well.Is this method fallible? If so, when can it return an error?
Can this method panic? If so, when does it panic?
Example
Optional example here.
```</details>
[ ] If you added a new
Configmethod, or modified an existing one, you
ensured that this configuration is exercised by the fuzz targets.<details>
For example, if you expose a new strategy for allocating the next instance
slot inside the pooling allocator, you should ensure that at least one of our
fuzz targets exercises that new strategy.Often, all that is required of you is to ensure that there is a knob for this
configuration option in [wasmtime_fuzzing::Config][fuzzing-config] (or one
of its nestedstructs).Rarely, this may require authoring a new fuzz target to specifically test this
configuration. See [our docs on fuzzing][fuzzing-docs] for more details.</details>
[ ] If you are enabling a configuration option by default, make sure that it
has been fuzzed for at least two weeks before turning it on by default.[fuzzing-config]: https://github.com/bytecodealliance/wasmtime/blob/ca0e8d0a1d8cefc0496dba2f77a670571d8fdcab/crates/fuzzing/src/generators.rs#L182-L194
[fuzzing-docs]: https://docs.wasmtime.dev/contributing-fuzzing.html
<details>
To modify this label's message, edit the <code>.github/label-messager/wasmtime-config.md</code> file.
To add new label messages or remove existing label messages, edit the
<code>.github/label-messager.json</code> configuration file.</details>
Last updated: Oct 31 2026 at 23:03 UTC