Commit Graph
172 Commits
Author SHA1 Message Date
Jimmy Miller 46fc79e201 Fix sparse array semantic gaps 2026-08-04 16:31:31 -04:00
Jimmy Miller afb870cf8c Match pinned structured clone wording 2026-08-04 10:43:46 -04:00
Jimmy Miller aed4eaef49 Fix sparse array representation gaps 2026-08-03 15:34:48 -04:00
Jimmy Miller 522e841fd8 Add sparse array support
Represent array holes independently from element storage with an optional runtime presence bitmap. Preserve hole state through length changes, deletion, slicing, concatenation, sorting, copying methods, iteration, serialization, and reference-counted cleanup while retaining packed-array fast paths.

Extend frontend lowering and IR validation for sparse literals, Array length construction, property-presence checks, delete, length assignment, and sparse appends. Add dense-array analysis so proven packed reads can use dedicated unchecked-presence runtime entry points in both native backends.

Add differential corpus coverage, runtime lifecycle tests, IR analysis tests, and compile fences for JavaScript fill loops that cannot prove complete initialization. Update affected binary-size expectations and align structuredClone transfer diagnostics with Node wording.
2026-08-03 15:34:20 -04:00
Chris Tate adae252881 Prepare v0.0.22 release (#87)
- Stamp all publishable packages at v0.0.22.

- Publish release notes for persistent builds and external coverage types.

- Refresh the compiler surface manifest for the release.
2026-08-03 01:31:43 -05:00
Chris Tate 9fb068ae27 Merge pull request #77 from vercel-labs/ctate/node24-fetch-inventory
feat(compat): inventory Node 24 fetch surface
2026-08-02 16:37:36 -05:00
Chris Tate 7de8be18c0 fix(runtime): reject inherited bodies for GET and HEAD 2026-08-02 16:09:08 -05:00
Chris Tate efb7e77281 fix: address fetch compatibility review findings 2026-08-02 15:31:00 -05:00
Chris Tate c356ff0ac0 Merge pull request #73 from vercel-labs/ctate/no-persist-compile
Persist native compilation cache
2026-08-02 14:58:35 -05:00
Chris Tate 3f2a78894e fix(fetch): address Node 24 compatibility gaps 2026-08-02 13:28:46 -05:00
Chris Tate 0b79e36973 fix: align fetch runtime with Node 24 semantics 2026-08-02 12:29:31 -05:00
Chris Tate f8377a7440 fix fetch computed dispatch semantics 2026-08-02 11:59:05 -05:00
Chris Tate 8c20c9ac73 fix: validate computed fetch dispatch 2026-08-02 11:29:23 -05:00
Chris Tate af685d05f9 fix: close fetch inventory review gaps 2026-08-02 10:41:37 -05:00
Chris Tate b90c0466b2 fix: enforce fetch surface compatibility 2026-08-02 01:09:40 -05:00
Chris Tate 53e07fc55c fix: harden native build caches 2026-08-01 15:39:44 -05:00
Chris Tate 89b4121ebe Harden persistent compile caches 2026-08-01 15:39:44 -05:00
Chris Tate 2d0bc2df0b Add generated Node 24 fetch conformance
- Pin the supported fetch surface to an explicit Node and Undici profile.
- Generate deterministic WebIDL, AbortSignal, and stream differential campaigns.
- Match Node stream pull scheduling while preserving typed source identity.
2026-08-01 15:33:37 -05:00
Chris Tate 0d3c006c0d Merge pull request #52 from vercel-labs/ctate/fix-fetch
feat: make fetch static-compatible
2026-08-01 14:49:41 -05:00
Chris Tate 6cf7cd9220 fix: align fetch APIs with Node coercion 2026-08-01 14:22:07 -05:00
Chris Tate bc00d3d65f fix(fetch): preserve WebIDL conversion semantics 2026-08-01 12:31:13 -05:00
Chris Tate 1544ccda88 fix(fetch): align static stream and body coercion 2026-08-01 09:10:35 -05:00
Chris Tate 5985d54a27 fix: preserve fetch coercion semantics 2026-08-01 08:28:01 -05:00
Chris Tate a6a68ea861 fix(fetch): preserve coercion and call semantics 2026-08-01 07:46:54 -05:00
Chris Tate 9db07aa05f fix fetch compatibility edge cases 2026-07-31 21:08:43 -05:00
Chris Tate 54ad052a98 fix(fetch): preserve live callback semantics 2026-07-31 19:52:47 -05:00
Chris Tate 9a6cc8f239 fix(fetch): preserve live Web API references 2026-07-31 18:53:28 -05:00
Chris Tate b7da02e53b fix(fetch): preserve typed reference semantics 2026-07-31 17:21:52 -05:00
Chris Tate c4ee48ea03 fix fetch stream parity edge cases 2026-07-31 15:58:29 -05:00
Chris Tate 07c131a55b fix: address remaining fetch review issues 2026-07-31 15:03:19 -05:00
Chris Tate 785d9ba3f6 fix: preserve static fetch response types 2026-07-31 13:59:23 -05:00
Chris Tate c25b5304b0 fix: address fetch runtime review issues 2026-07-31 13:18:55 -05:00
Chris Tate 78144ec8be fix(fetch): bind Web Stream source callbacks 2026-07-31 12:00:29 -05:00
Chris Tate f19df5a1ee fix(fetch): align listener and stream behavior 2026-07-31 11:35:28 -05:00
Chris Tate 5982347cf1 fix: preserve static stream value identity 2026-07-31 10:44:31 -05:00
Chris Tate 52c66e2286 fix(fetch): accept string request stream chunks 2026-07-31 09:03:40 -05:00
Chris Tate 47ec3b30f8 fix(runtime): align fetch and abort signal semantics 2026-07-31 08:30:23 -05:00
Chris Tate f21d489347 fix(fetch): support streamed bodies and redirect modes 2026-07-31 00:53:13 -05:00
Chris Tate ffaefc6ced fix: snapshot fetch environment at startup 2026-07-31 00:05:24 -05:00
Chris Tate fdb01b360c Prepare v0.0.21 release
- Stamp all publishable packages at v0.0.21.

- Publish release notes for the contract-sidecar fixes.

- Refresh the compiler surface manifest for the release.
2026-07-30 23:08:27 -05:00
Chris Tate 334febe43d fix(fetch): address remaining review findings 2026-07-30 22:48:36 -05:00
Chris Tate eec2cb2a3a fix(fetch): address static fetch review findings 2026-07-30 22:02:47 -05:00
Chris Tate baf050843d fix fetch proxy and event dispatch behavior 2026-07-30 21:19:57 -05:00
Chris Tate f318308079 fix(fetch): handle redirects and callback lifetimes 2026-07-30 20:14:04 -05:00
Chris Tate 6451bc80f6 fix(fetch): preserve proxy and network error semantics 2026-07-30 17:30:51 -05:00
Chris Tate fdf5010b28 Prepare v0.0.20 release
- Stamp all publishable packages at v0.0.20.

- Publish release notes for the contract-sidecar improvements.

- Refresh the compiler surface manifest for the release.
2026-07-30 16:26:39 -05:00
Chris Tate b14b594775 fix(fetch): preserve proxy and listener semantics 2026-07-30 16:26:34 -05:00
Chris Tate 861c0c68ae fix fetch abort and listener identity semantics 2026-07-30 15:07:52 -05:00
Chris Tate 6f0adcf7d9 fix(fetch): harden redirects and response handling 2026-07-30 14:27:35 -05:00
Chris Tate fb0b08a56f fix(fetch): settle abandoned responses and decode redirects 2026-07-30 13:51:18 -05:00