Repository navigation
chore(release): prepare v0.20.1 - #2777
Merged
Merged
Conversation
Fix Windows CPython COFF compilation with the existing cached 64 KiB-aligned allocation path. Cover embedding object generation and native Windows, Apple and ELF module loading/execution. Part of EVE-1311.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
bashkit | ab2f445 | Commit Preview URL Branch Preview URL |
Oct 26 2026, 01:43 AM |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Windows CPython builds use a plain embedded slice and the existing cached 64 KiB-aligned runtime allocation. Apple retains that path; ELF retains its aligned static. Prepare 0.20.1 so downstream applications can consume the correction from crates.io. The patch also carries the already-merged npm runtime artifact fix.
Why
Part of EVE-1311. COFF cannot encode the previous 64 KiB static alignment. The hosted integration catalog and Python feature remain enabled.
Before / After
Actual production embedding, 64-byte payload, Rust 1.96.0, x86_64-pc-windows-msvc, --crate-type lib --emit=obj:
The regression probe failed before the fix and passes afterward. It also checks byte preservation, 64 KiB pointer alignment, stable caching and concurrent access.
Validation: all upstream CI checks pass, including native Windows Rust 1.96.0, macOS and Linux object generation, real module loading, alignment and Python execution, plus the broad Pulley/native/security suites. Local checks pass: 5 component tests on both the ELF and Windows allocation paths, 130 CPython unit/integration/security tests, 183 script tests, formatting, OKF, doc links, changelog and cargo-vet. All four exact Rust packages passed the multi-package publish dry-run. The verified CPython archive is 8,159,897 bytes, under the 10 MiB limit. Python and TypeScript API references regenerated without changes. The full local pre-PR recipe exhausted the cloud disk while linking duplicate examples; equivalent full checks passed in CI.
Risk
Low for the runtime correction: reuse existing immutable padded storage without changing Wasmtime alignment, ownership or unsafe loading contracts. Release uses the existing 0.20 API; applications upgrading from 0.19 must follow the 0.20 analysis enum rename if they use it.
Security
Reviewed immutable storage lifetime, aligned offsets, bounds and module registration. No new guest input or capability. Existing Wasmtime 48.0.7 security pin remains unchanged. CI permissions stay read-only and checkout credentials are not persisted.
Follow-ups
Completed for EVE-1311: all four Rust packages published, Everruns #4924 merged, and Yolop PR 871 Windows build, sandbox and startup qualification passed. Python remains enabled with 64 KiB runtime alignment. Separate npm release workflows still have failures: the JS macOS timeout tests and the web package npm E404; those do not affect the published Rust correction.
Checklist