Repository navigation
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 releasestep) pushes the git tag but has never created a GitHub Release object — this Release was added retroactively forv4.5.2. Tags renamed from the oldemception-v*form to the repo's barevX.Y.Zconvention; 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
callMainloses the real status (EXITSTATUSis never set in WASM);sitecustomizenow records it via asys.exitwrapper into a per-run file the tool-runner reads post-run.emccwith no args reportsexitCode: 1. - Per-run stdout/stderr capture — fixed
/tmp/*.logpaths 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=0is 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.htmlbuild.
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.