Chris Tate
a478ced73f
feat(child_process): lower UTF-8 execFile callback options
2026-09-22 23:45:34 -05:00
Chris Tate
9ff5ed1680
feat(child_process): support static fork IPC ( #386 )
...
* feat(child_process): support static fork IPC
* fix(child_process): fix fork discovery and send callbacks
2026-09-22 23:24:07 -05:00
Chris Tate
b9d55037ac
Support static URL credentials and descriptor operations ( #385 )
2026-09-22 23:11:41 -05:00
Chris Tate and Hagege Ruben
cc44afb4ee
fix: accept readonly tuples as Set seeds ( #384 )
...
- Accept supported readonly tuples in static Set constructors while preserving single evaluation and insertion order.
- Add differential coverage and refresh constructor diagnostics.
Fixes #373
Co-authored-by: Hagege Ruben <20857346+HagegeR@users.noreply.github.com >
2026-09-22 21:50:04 -05:00
Chris Tate and Hagege Ruben
e12856c1b4
fix: support static URL port and hash getters ( #383 )
...
- Lower URL.port and URL.hash through both native backends with Node-compatible values.
- Add differential and typed-project coverage, and update compatibility evidence and docs.
Fixes #372
Co-authored-by: Hagege Ruben <20857346+HagegeR@users.noreply.github.com >
2026-09-22 21:18:37 -05:00
Chris Tate
15fb993111
feat(compiler): expand static Date, process, and URL support ( #379 )
...
* feat(compiler): lower Date.parse through native parser
* feat(compiler): support exit status writes and URL getters
* chore(compat): regenerate static support after upstream changes
* test: update URL fence hint snapshot
* test: record new corpus entries for TS7 parity
* test: record upstream lstat parity entry
2026-09-22 20:13:14 -05:00
Chris Tate and Hagege Ruben
c9cad7a0ba
fix(child_process): support shell text capture ( #377 )
...
- add cross-platform shell spawning and close lifecycle support
- decode encoded child output across native read boundaries
- cover the supported surface with differential compatibility evidence
Fixes #370
Co-authored-by: Hagege Ruben <20857346+HagegeR@users.noreply.github.com >
2026-09-22 18:03:52 -05:00
Chris Tate
f2c81630ef
Add static loose equality ( #364 )
2026-09-20 20:46:52 -05:00
Chris Tate
69977b9fd0
Add static literal dynamic imports ( #363 )
2026-09-20 15:59:34 -05:00
Chris Tate
4e175f4d72
Add static node:module parity ( #361 )
2026-09-20 14:44:19 -05:00
Chris Tate
e42ee19e41
Add static CommonJS factory exports ( #360 )
...
* Add static CommonJS factory exports
* Fence inherited methods on dynamic objects
2026-09-20 13:07:51 -05:00
Chris Tate
bef652e50d
Add static union receiver calls ( #359 )
2026-09-20 10:53:00 -05:00
Chris Tate
d6657921f5
Add static zlib callback codecs ( #356 )
2026-09-20 09:10:07 -05:00
Chris Tate
e82dc998c4
Add static one-shot zlib codecs ( #355 )
2026-09-20 01:21:41 -05:00
Chris Tate
c33a18d421
Add static fs function values ( #354 )
...
* Add static fs function values
* Fence option-sensitive fs function values
2026-09-19 23:11:24 -05:00
Chris Tate
5ae6705e38
Add static builtin function values ( #353 )
2026-09-19 21:49:21 -05:00
Chris Tate
bf6dfb882b
Add static Node path function values ( #352 )
...
* Add static Node path function values
* Preserve JavaScript builtin alias fences
2026-09-19 12:24:40 -05:00
Chris Tate
37f9438084
Add static fixed-tuple call spreads ( #351 )
2026-09-19 00:00:26 -05:00
Chris Tate
a11fd6c881
Add static callable specialization ( #350 )
2026-09-18 22:50:45 -05:00
Chris Tate
1600935411
Add static-native BigInt support ( #346 )
...
* feat: add static BigInt support
* fix: prevent BigInt width overflow on WASI
* fix: harden BigInt formatting sizes
* test: record BigInt WASI parity baseline
2026-09-18 00:21:12 -05:00
Chris Tate and Yegor Shovkun
62b90e6d10
fix: compile TypeScript workspace sources ( #344 )
...
- Route source-only workspace package entries through the program module graph.
- Preserve JavaScript package resolution and add cross-backend workspace coverage.
- Document the workspace dependency boundary.
Fixes #187
Co-authored-by: Yegor Shovkun <6272356+ankhzet@users.noreply.github.com >
2026-09-17 18:26:20 -05:00
Chris Tate and euxaristia
5e4b4df1b9
feat(child_process): support writable child stdin ( #341 )
...
* feat(child_process): support writable child stdin
- Add nonblocking child stdin writers with lifecycle events and platform-aware backpressure.
- Lower writable streams through the C and LLVM backends while fencing unsupported overloads.
- Add differential, type, diagnostics, and compatibility coverage.
Fixes #311
Co-authored-by: euxaristia <25621994+euxaristia@users.noreply.github.com >
* Reject non-literal spawn options
- Emit a named lowering diagnostic instead of silently dropping variable options.
- Cover two- and three-argument spawn overloads with diagnostic regressions.
Fixes #311
Co-authored-by: euxaristia <25621994+euxaristia@users.noreply.github.com >
---------
Co-authored-by: euxaristia <25621994+euxaristia@users.noreply.github.com >
2026-09-17 07:48:29 -05:00
Chris Tate and euxaristia
472748956b
Render UTF-8 output in Windows consoles ( #340 )
...
- Configure attached Windows consoles for UTF-8 while preserving redirected bytes and restoring host state.
- Add cross-platform output coverage and a native pseudo-console regression.
Fixes #321
Co-authored-by: euxaristia <25621994+euxaristia@users.noreply.github.com >
2026-09-16 14:48:27 -05:00
Chris Tate and guest271314
bbe05a5a2d
perf(wasm): strip release debug sections ( #337 )
...
- Strip DWARF from release WASI links across LLVM, C, and external recipes.
- Preserve dev metadata and pin compact output with integration coverage.
Fixes #292
Co-authored-by: guest271314 <4174848+guest271314@users.noreply.github.com >
2026-09-16 12:20:39 -05:00
Chris Tate
ffa248efcf
feat: add static crypto utility support ( #335 )
...
* feat: add static crypto utility support
* fix: match Node crypto digest errors
2026-09-16 11:15:12 -05:00
Chris Tate
ef497214b5
feat: support Commander 15 static calculator ( #334 )
2026-09-16 08:34:13 -05:00
Chris Tate
fcacc4d4b0
feat: add static CommonJS module graph ( #332 )
2026-09-15 21:17:31 -05:00
Chris Tate
280fe1a8da
feat: preserve class and child handles through unknown ( #331 )
...
* feat: preserve class and child handles through unknown
* fix: hide private fields from unknown views
2026-09-15 19:30:22 -05:00
Chris Tate
e559808ef0
feat: run Commander actions statically ( #330 )
2026-09-15 16:30:54 -05:00
Chris Tate
5efda821cf
feat(compiler): preserve npm static declaration overloads ( #329 )
2026-09-15 08:53:25 -05:00
Chris Tate
5a782a6150
feat: add static async iteration parity ( #328 )
2026-09-15 00:03:07 -05:00
Chris Tate
2ac8743dbb
feat(compiler): add Node module resolution introspection ( #322 )
2026-09-14 18:15:44 -05:00
Chris Tate and Paolo Anzani
2bfc37b138
fix(compiler): support branded primitive types ( #320 )
...
Co-authored-by: Paolo Anzani <201222836+paoloanzn@users.noreply.github.com >
2026-09-14 13:46:36 -05:00
Chris Tate and Mateus Mamede Lage
16de852347
fix(compiler): lower dynamic any-local operators ( #319 )
...
Fixes #290
Co-authored-by: Mateus Mamede Lage <23098414+mmamedel@users.noreply.github.com >
2026-09-14 12:31:25 -05:00
Chris Tate
073c840564
Enforce TypeScript 7 and Node type-link parity ( #315 )
...
* Enforce TypeScript 7 and Node type-link parity
* fix(compiler): normalize Windows resolver paths
* fix(compiler): canonicalize Windows realpaths
2026-09-14 09:19:08 -05:00
Chris Tate
a8a5204574
Implement typed async generators ( #310 )
2026-09-14 00:38:06 -05:00
Chris Tate
9fb0620f06
Implement explicit resource management ( #309 )
2026-09-13 23:34:17 -05:00
Chris Tate
d7aed4b722
Unify TS 7 project module resolution ( #308 )
2026-09-13 21:53:45 -05:00
Chris Tate
94fd361b54
Implement sparse native arrays and missing-value parity ( #297 )
...
Represent ordinary JavaScript arrays with hole, value, and explicit-undefined states; add sparse side storage and carry missing values through the frontend, native backends, runtime, and Node-facing consumers.
2026-09-12 22:39:07 -05:00
Chris Tate
8227a5ad9c
Fix Sandbox command transport and pinned native setup ( #295 )
...
Build the Linux LLVM helper and runtime pack before running both test lanes, and align native cache contracts with the current target policy. Full managed Sandbox gate passed.
2026-09-12 15:59:01 -05:00
Chris Tate
0bf47eb87e
feat: support static ESM import metadata
2026-09-02 18:18:09 -05:00
Chris Tate
8faad2f639
feat: add Node.js compatibility matrix ( #284 )
...
* feat: add Node.js compatibility matrix
- Add generated Node.js v24 compatibility inventory with static and dynamic support classifications.
- Publish the interactive /compatibility matrix and wire manifest generation into runtime and docs checks.
* fix: correct compatibility matrix generation
* fix: address PR 284 review findings
* fix: address PR 284 review findings
* test: exercise stream web loader through npm graph
* fix: correct dynamic global availability
* fix: keep compatibility module mappings precise
2026-09-02 16:03:36 -05:00
Chris Tate
c41f1a8be9
Expand LLVM native output targets ( #280 )
...
* Expand LLVM native output targets
- Add owned helper and runtime-pack contracts for macOS x64, Linux glibc/musl, Windows x64, and WASI.
- Generalize LLVM target selection, package validation, linker plans, and release/CI matrices.
- Document linker boundaries and add focused native-output and runtime-pack coverage.
* Pin Windows LLVM helper CI to VS 2022
The official LLVM archive needs the Visual Studio 2022 CMake generator, which is not guaranteed by windows-latest.
* Align bootstrap cache with LLVM runtime-pack builds
Use the same target-specific helper and linker identity before and after compiler loading so routed executable cache hits remain lightweight.
* Install Windows LLVM CI tools with Chocolatey
windows-2022 includes Visual Studio but not winget; use its available Chocolatey bootstrap for CMake and Ninja.
* Prevent Zig version probes from leaving runtime-pack objects
Run runtime-pack compiler version probes in a private temporary directory and remove the accidental tracked WASI a.o file.
* Use 7-Zip for Windows LLVM setup
Extract the official LLVM development archive with two-stage 7-Zip instead of Windows tar.exe, which timed out while materializing the toolchain tree.
* Define ssize_t for the MSVC runtime pack
Clang's MSVC target does not expose POSIX ssize_t through sys/types.h; define the pointer-sized runtime type without affecting MinGW.
* Build the Windows runtime pack with Zig
Use the MinGW-compatible Windows sysroot required by the runtime while retaining COFF helper output and installing Zig in the Windows native CI lane.
* Give macOS LLVM differential shard time to finish
Shard 1 passed its setup and focused contracts but was cancelled during its cold LLVM differential slice at the 20-minute job limit.
2026-09-01 13:41:34 -05:00
Chris Tate and yowainwright
1071b87d77
Lower Math.PI and Math.E statically ( #279 )
...
Co-authored-by: yowainwright <1074042+yowainwright@users.noreply.github.com >
2026-09-01 00:47:23 -05:00
Chris Tate and mmamedel
9080986166
Add sparse UTF-16 indexing for large strings ( #275 )
...
* fix: index large unicode strings sparsely
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
* fix: retain sparse anchors for long ascii prefixes
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
* fix: skip sparse index for proven ASCII strings
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
* fix: complete sparse UTF-16 string indexing
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
* test: rebase static size contracts for sparse index
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
* test: retain sparse checkpoints through ASCII prefix end
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
* fix: retain sparse anchors across threshold append
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
* fix: retain sparse indexes beyond cursor cache
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
* fix: bound sparse string index residency
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
* fix: isolate sparse string index residency
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
* test: restore parseInt oracle outputs
* test: verify committed string oracle
- Regenerate the string case oracle with the active Node executable.\n- Compare the checked-in fixture byte-for-byte before native runtime checks.\n- Keep the Linux parseInt ULP allowance scoped to native output.
---------
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
2026-08-31 17:12:52 -05:00
Chris Tate and Flora90001
55ee396738
Support reusePort for TCP and HTTP server listeners ( #274 )
...
* feat(net): support reusePort server listen options
Co-authored-by: Flora90001 <163703040+Flora90001@users.noreply.github.com >
* fix(net): match reusePort boolean semantics
Co-authored-by: Flora90001 <163703040+Flora90001@users.noreply.github.com >
* feat(net): support reusePort server listen options
Co-authored-by: Flora90001 <163703040+Flora90001@users.noreply.github.com >
* test(net): close listeners on successful conflict probe
Co-authored-by: Flora90001 <163703040+Flora90001@users.noreply.github.com >
---------
Co-authored-by: Flora90001 <163703040+Flora90001@users.noreply.github.com >
2026-08-31 15:26:20 -05:00
Chris Tate and mmamedel
837f6bc62b
Tree-shake unreachable executable runtime sections ( #271 )
...
* feat: tree-shake executable runtime sections
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
* test: run runtime tree-shaking checks in sandbox
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
* fix(runtime): release lazy process caches
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
* test: stabilize runtime tree-shaking size guard
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
---------
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
2026-08-31 09:01:19 -05:00
Chris Tate and mmamedel
2b6e6524a3
fix(library): reject callback re-entry ( #270 )
...
Co-authored-by: mmamedel <23098414+mmamedel@users.noreply.github.com >
2026-08-30 19:30:31 -05:00
Chris Tate and monteslu
4d9e2a2397
fix ffi call initializers ( #268 )
...
Co-authored-by: monteslu <423800+monteslu@users.noreply.github.com >
2026-08-30 19:23:04 -05:00
Chris Tate
64b2a285d5
feat(runtime): ship precompiled macOS artifacts ( #248 )
...
* feat(runtime): ship precompiled macOS artifacts
- Add a versioned macOS arm64 runtime pack with deterministic feature selection and artifact verification.
- Link LLVM helper objects against release-built runtime and vendor inputs without compiling user-machine C.
- Wire package publishing, cache validation, documentation, and full-gate coverage for the new path.
* fix(runtime): harden precompiled artifact handling
* fix(runtime): make precompiled artifacts reproducible
* fix(runtime): reject opaque linkers from executable cache
* fix(runtime): normalize precompiled archive metadata
* fix(runtime): harden precompiled artifact caching
* fix(runtime): close executable cache link race
* fix(runtime): stage verified pack artifacts
* fix(runtime): bracket helper cache inputs
* fix(runtime): preserve executable link identity
* fix(runtime): trace selected linker dependencies
2026-08-28 09:29:21 -05:00