Skip to content

v4.5.2

Latest

Choose a tag to compare

@tolstenko tolstenko released this 31 Oct 14:01
· 582 commits to main since this release
7d18766

Emception toolchain release 4.5.2 — published to npm and verified on jsDelivr.

Packages (all 4.5.2): @gameguild/emception-browser, @gameguild/emception-toolchain, @gameguild/emception-ide, @gameguild/emception-react, @gameguild/emception-webcomponent, @gameguild/emception-xterm, emception.

Note: the release pipeline (Tag the published Emception release step) pushes the git tag but has never created a GitHub Release object — this Release was added retroactively for v4.5.2. Tags renamed from the old emception-v* form to the repo's bare vX.Y.Z convention; the pipeline now creates the Release itself (#1053).

Fixes from the #451 verification (PR #1039)

  • em.run('emcc', [args]) pure-args contract — the facade now prepends the tool name for ToolRunner's C-style argv contract; the first user argument is no longer consumed as the program name (previously: emcc: error: no input files).
  • Python exit codes propagate — the Asyncify-wrapped callMain loses the real status (EXITSTATUS is never set in WASM); sitecustomize now records it via a sys.exit wrapper into a per-run file the tool-runner reads post-run. emcc with no args reports exitCode: 1.
  • Per-run stdout/stderr capture — fixed /tmp/*.log paths leaked a previous run's output through the shared write-through VFS (append-mode writers, never truncated); capture is now env-keyed per-run files.
  • MINIFY_HTML — -sMINIFY_HTML=0 is injected for emcc/em++ unless explicitly requested: html-minifier-terser is absent from the browser sysroot, so emcc's auto-enabled MINIFY_HTML (on at -O2+) failed noisily on every .html build.

Release commits/tags now push via the git CLI (push-with-git-cli: true) instead of the silently failing changesets API-push path.

Frozen toolchain identity (PR #1046)

CODE_TOOLCHAIN_V2.artifactVersion and the server adapter Version2 identity aligned to 4.5.2 (label-only; compiler lock hash and ABI unchanged).

Verification

Issue #451 repro against the deployed jsDelivr toolchain (emcc main.c -o out.html -sSINGLE_FILE=1 -O2): exitCode 0, out.html 41,395 bytes single-file, clean stderr. emcc with no args → exitCode 1, emcc: error: no input files.