Stream: git-wasmtime

Topic: wasmtime / issue #10725 Guidance for a minimal, long‑term...


view this post on Zulip Wasmtime GitHub notifications bot (May 04 2025 at 13:00):

Kyoya67 opened issue #10725:

Thanks for filing a feature request! Please fill out the TODOs below.

Feature <!-- what I’m looking for -->

I would like official guidance (or a dedicated build profile) that lets me
run the same .wasm binary unchanged 10 + years from now with Wasmtime.

Concretely, I’d like to know:

  1. Whether locking to WASI preview 1 and relying on the
    wasi-preview1-component-adapter will remain a supported path.

  2. How to build a static, no_std, “smallest‑possible” Wasmtime that links
    only the required WASI snapshot.

  3. The recommended migration path once **WASI preview 2 /
    Component Model** stabilises.

Benefit <!-- why this matters -->

Most generative‑art projects today rely on WebGL, Canvas, or other host‑specific
graphics APIs that could disappear or break in the future.
By rendering purely in software inside a .wasm module
and embedding a minimal, stable Wasmtime instance, the artwork can stay
re‑playable long after those APIs are gone.

Having an upstream‑blessed “long‑term reproducible” profile would

Implementation ideas <!-- rough sketch -->

I’m happy to prototype and contribute patches once the recommended direction is clear.

Alternatives


view this post on Zulip Wasmtime GitHub notifications bot (May 05 2025 at 14:44):

alexcrichton commented on issue #10725:

Wasmtime's release process, including an LTS release, is documented here. Our tiers of support are documented here. The process for making major breaking changes to Wasmtime is documented here.

In effect I think you're going to have to decide whethe Wasmtime is right for you in the end. Wasmtime releases a new major version every month and does not guarantee API-stable major-version compatbility between versions. Put another way -- the same wasm module will still be able to run but you may have to adjust host bindings every so often to keep up-to-date. You can perform this update once-a-year with an LTS release.

Whether or not that's suitable for your use case is up to you to decide. WebAssembly, much less Wasmtime, has not even existed for 10 years. Asking for something to stay unchanging for a decade is a big ask and is not something we can reasonably satisfy at this time (IMO at least). We can probably guarantee that modules from long ago will still be able to run, but guaranteeing that the exact same host code from a decade ago can still be used is not something we can commit to.

view this post on Zulip Wasmtime GitHub notifications bot (May 05 2025 at 15:25):

cfallin commented on issue #10725:

To add a few more thoughts:

You're of course welcome to fork Wasmtime (open-source!) but I would agree with Alex that maintaining any restrictions related to this in-tree is far too large a burden for our current state.

view this post on Zulip Wasmtime GitHub notifications bot (May 05 2025 at 15:31):

cfallin closed issue #10725:

Thanks for filing a feature request! Please fill out the TODOs below.

Feature <!-- what I’m looking for -->

I would like official guidance (or a dedicated build profile) that lets me
run the same .wasm binary unchanged 10 + years from now with Wasmtime.

Concretely, I’d like to know:

  1. Whether locking to WASI preview 1 and relying on the
    wasi-preview1-component-adapter will remain a supported path.

  2. How to build a static, no_std, “smallest‑possible” Wasmtime that links
    only the required WASI snapshot.

  3. The recommended migration path once **WASI preview 2 /
    Component Model** stabilises.

Benefit <!-- why this matters -->

Most generative‑art projects today rely on WebGL, Canvas, or other host‑specific
graphics APIs that could disappear or break in the future.
By rendering purely in software inside a .wasm module
and embedding a minimal, stable Wasmtime instance, the artwork can stay
re‑playable long after those APIs are gone.

Having an upstream‑blessed “long‑term reproducible” profile would

Implementation ideas <!-- rough sketch -->

I’m happy to prototype and contribute patches once the recommended direction is clear.

Alternatives


view this post on Zulip Wasmtime GitHub notifications bot (May 05 2025 at 15:31):

cfallin commented on issue #10725:

(I'll go ahead and close this because it seems clear to me we aren't going to be able to do anything about it, but please do feel free to file other issues as you have them if you choose to use Wasmtime!)

view this post on Zulip Wasmtime GitHub notifications bot (May 05 2025 at 15:32):

cfallin closed issue #10725:

Thanks for filing a feature request! Please fill out the TODOs below.

Feature <!-- what I’m looking for -->

I would like official guidance (or a dedicated build profile) that lets me
run the same .wasm binary unchanged 10 + years from now with Wasmtime.

Concretely, I’d like to know:

  1. Whether locking to WASI preview 1 and relying on the
    wasi-preview1-component-adapter will remain a supported path.

  2. How to build a static, no_std, “smallest‑possible” Wasmtime that links
    only the required WASI snapshot.

  3. The recommended migration path once **WASI preview 2 /
    Component Model** stabilises.

Benefit <!-- why this matters -->

Most generative‑art projects today rely on WebGL, Canvas, or other host‑specific
graphics APIs that could disappear or break in the future.
By rendering purely in software inside a .wasm module
and embedding a minimal, stable Wasmtime instance, the artwork can stay
re‑playable long after those APIs are gone.

Having an upstream‑blessed “long‑term reproducible” profile would

Implementation ideas <!-- rough sketch -->

I’m happy to prototype and contribute patches once the recommended direction is clear.

Alternatives



Last updated: Dec 06 2025 at 06:05 UTC