Skip to content

feat(wasix): integrate bundled Windows V8 engine and native caches - #255

Merged
f0rr0 merged 22 commits into
f0rr0/wasmer-dependency-refresh-20261003from
f0rr0/windows-wasix-production
Oct 8, 2026
Merged

f0rr0 merged 22 commits into
f0rr0/wasmer-dependency-refresh-20261003from
f0rr0/windows-wasix-production

Conversation

@f0rr0

@f0rr0 f0rr0 commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Wasmer 7.5 no longer supports its LLVM backend on Windows. Keep WASIX and the Rust/Node SDK APIs and installation flow consistent across desktop hosts by delivering a bundled V8 engine and precompiled native caches on Windows. Linux and macOS retain LLVM loading; consumers receive the engine and guest artifacts through their normal SDK packages.

  • Own four private Wasmer/WASIX source crates and the Windows DLL carrier under the runtime product, with immutable source pins, focused ordered patches, and upstream notices. The patches cover native ownership, cached loading, shared memory, and terminal shutdown. Preparation uses the existing PostgreSQL runner's Git isolation policy and verifies the prepared source tree.
  • Produce genuine SSE4.1 cache profiles with and without CET using the pinned engine and flags. Verify source, DLL, bindings, guest and cache identities; reject incompatible or incomplete caches without guest compilation. The desktop x64 CPU minimum is SSE4.1.
  • Preserve existing public Cargo carriers. Split oversized Windows payloads into private exact-version parts using the shared packaging helpers, and reuse the validated size-probe archives. Keep package identity validation with the engine contract and bind notices/pins through the existing shared Moon input groups.
  • Use the existing Moon graph, source acquisition, artifact transfers, toolchain setup and release graph. Run installed engine qualification in its Windows producer and transfer that proof to consumers. Windows qualifies the full extension lifecycle and installed Rust/npm packages; executable consumers share the existing Moon mutex. Source and DLL production inputs exclude packaging-only and test-only changes.

Validation:

  • Prior full CI run passed Required at 8db3bd8885c32a5ca546f9038fc04764ab56610b, including desktop WASIX hosts, installed Windows engine/SDK checks, and the packaged Node extension catalog. Qualified is intentionally skipped on PRs.
  • Review fixes passed local workflow/security/planning/transfer checks, release metadata and release graph tests, build orchestration, packaging and clean Cargo consumer tests, JavaScript formatting/lint, Rust formatting, and Rust SDK clippy. A focused regression verifies ordered Git patches inside an ignored source directory. Independent replay from immutable inputs matches the production prepared source trees and the original patch output after repository Rust formatting.
  • Exact-head CI, attempt 2 passed Required at d684f94421dd9fee3dcc43ac5d03a5eaee25544b: 120 jobs passed, including all four desktop WASIX hosts, the installed Windows engine, baseline caches, Rust/npm package checks, and extension lifecycle tests. The first attempt stopped on transient GitHub HTTP 500 responses downloading pinned ICU data. Qualified remains intentionally skipped for this PR; publication requires qualification of the integrated main commit.

This PR is stacked on #247, which is based on #218. A merge-tree check against main (30dda9f47f5c13f338351611a2923ec5f781bcfe) has no textual conflicts. Before integration, restack the parents and use the existing release version synchronization for the five engine manifests and Cargo.lock: their versions are 0.3.1 on the upgrade base while main's runtime is 0.3.2. Publication still requires successful qualification on the integrated main commit.

Deep-recursion SQL recovery is tracked in #265; Windows startup/runtime/package measurements are tracked in #266.

@vercel

vercel Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
oliphaunt-docs Ready Ready Preview Oct 8, 2026 2:33am UTC

@f0rr0
f0rr0 marked this pull request as ready for review October 6, 2026 10:38
@f0rr0
f0rr0 merged commit 1ecbf86 into f0rr0/wasmer-dependency-refresh-20261003 Oct 8, 2026
237 of 242 checks passed
@f0rr0
f0rr0 deleted the f0rr0/windows-wasix-production branch October 8, 2026 07:33
f0rr0 added a commit that referenced this pull request Oct 8, 2026
* build(wasix): upgrade embedded runtime to Wasmer 7.5

Refresh the coherent Wasmer/WASIX family, parser, Node-API bindings, and Rust build toolchain. Adapt upstream package metadata and regenerate affected dependency-license contracts.

Linux core execution is verified. Keep the browser and Postmaster pins unchanged pending adapter and patch ports; the existing Windows LLVM AOT producer is not supported by upstream 7.5.

* build: standardize on the minimum shared Rust toolchain

Use Rust 1.96.0 for the workspace and both baseline container builders, with a common 1.96 minimum in maintained and generated Cargo packages. Let private workspace tools inherit the shared minimum.

* feat(wasix): upgrade browser host to Wasmer SDK 0.19

* feat(wasix): integrate bundled Windows V8 engine and native caches (#255)

* feat(wasix): integrate bundled Windows V8 engine and native caches

* fix(release): plan embedded engine payloads before source acquisition

* fix(ci): qualify Windows engine contracts before cache production

* test(wasix): qualify the frozen Windows engine package closure

* fix(wasix): remove LLVM inputs from Windows runtime qualification

* fix(packaging): close transitive path dependency test sources

* test(wasix): run installed Windows SDK against frozen AOT carriers

* test(wasix): qualify the full extension lifecycle on Windows V8

* refactor(wasix): keep one Windows cache producer helper

* refactor(wasix): name native value ownership explicitly

* refactor(wasix): align engine qualification and producer conventions

* fix(ci): prepare WASIX engine toolchains and lifecycle sources

* fix(ci): execute selected WASIX engine tasks without base lookup

* fix(wasix): extract Windows engine archive with a local path

* fix(wasix): close installed engine qualification dependencies

* fix(packaging): normalize native Windows Cargo file listings

* fix(wasix): keep dependency resolution in native qualification

* fix(ci): serialize WASIX server executable consumers

* fix(wasix): split oversized Windows AOT Cargo payloads

* fix(wasix): align qualification and maintainer workflows

* perf(packaging): reuse validated Windows payload archives

* fix(wasix): align engine patches and qualification inputs

This branch was successfully deployed

1 active deployment
Preview — d684f944 Deployed Oct 8, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant