v0.64.1
What's Changed
- fix(#3396): fwd-ref let/const ref-cell type drift — don't re-type a boxed-capture cell slot at declaration by @ttraenkler in #3346
- ci(#3431): consolidate test262 shards for merge_group validation (~60min -> ~20-30min) by @ttraenkler in #3365
- docs(issue): #3439 classify 186 standalone failures exposed by #3369 by @ttraenkler in #3379
- chore(test262): 2026-07-19 error harvest — #3441 TypedArray null-to-object + #3417 refresh by @ttraenkler in #3383
- docs(#3437): file test262 harness compile-time speed-gate issue by @ttraenkler in #3385
- feat(#2917): standalone native 'class Sub extends Array' + extends-Object own-field fix (slice 1) by @ttraenkler in #3324
- docs(harvest): rescue issues #3429 + #3430 from stale PR #3364 by @ttraenkler in #3391
- ci(publish): auto-publish the GitHub release on tag push by @ttraenkler in #3386
- fix(#3386): standalone native sync-generator destructuring-pattern params by @ttraenkler in #3323
- docs(arch): implementation plans for standalone-gap + sprint issues by @ttraenkler in #3393
- fix(#3401): route URI + escape/unescape natives in standalone (retire env::decodeURI leak) by @ttraenkler in #3333
- docs(ci): file #3459 — merge_group drift check reports negative clock age by @ttraenkler in #3394
- fix(#3403): key object-integrity maps per-declaration, not by bare var name by @ttraenkler in #3371
- feat(#2963 Tier 2a): wire Number.is* first-class values (standalone) by @ttraenkler in #3359
- docs(codegen): file #3460 — unmatched typed callable host-read null_deref (residual of #3432) by @ttraenkler in #3396
- fix(#1930): Slice 3 salvage — V1 scalar -0 miscompile fix + boolean spine extraction by @ttraenkler in #3340
- fix(#3398): non-arrow closures must not lexically capture the enclosing 'this' (struct.new-arity sub-mechanism) by @ttraenkler in #3347
- fix(#3389): settleReturn terminator for driven async-gen top-level return (S1) by @ttraenkler in #3344
- feat(#2662): lazy capturing-nested generators on the gc/host lane by @ttraenkler in #3335
- feat(#1373b C-1): IR async Phase C — claim the sync-pass-through population on the one-engine consistency gate by @ttraenkler in #3350
- plan(ci): CI-acceleration review + remaining lever issues (C/E/F/L7) by @ttraenkler in #3389
- fix(#3458): standalone edition conformance is cumulative, matches js-host total by @ttraenkler in #3392
- ci(#3448): promote push:main baseline from the merge_group's own artifacts (skip 114-job rerun) by @ttraenkler in #3388
- ci(#3447): make the #1942 compile-timeout guard contention-tolerant by @ttraenkler in #3387
- fix(test262): retain merge parent for oracle promotion (#3370) by @ttraenkler in #3351
- docs(ci): file #3466 — promote-baseline skips on bot merge-queue merges (baseline never auto-refreshes) by @ttraenkler in #3400
- docs(#3450): native-harness oracle-v9 A/B findings — NO-BUILD recommendation by @ttraenkler in #3395
- docs(ci): file #3467 — gate compares against real merge-base (kills baseline drift) by @ttraenkler in #3404
- fix(ci): compare test262 gate against real merge-base per-SHA cache (#3467) by @ttraenkler in #3410
- fix(#3410): close legacy-origin bypass in the private-labs pre-push guard by @ttraenkler in #3401
- fix(#802): promote object-literal proto receivers to $Object (slice A) by @ttraenkler in #3318
- fix(#2787): capture async console.log in diff-test harness (corpus 96→99 match) by @ttraenkler in #3402
- fix(ci): write-run-cache-bot skipped on queue merges — wrong actor + env gate (#3467) by @ttraenkler in #3411
- fix(#3407): guard test262 fixture runner inner catch against duplicate/contradictory verdict rows by @ttraenkler in #3405
- docs(memory): cloud/remote setup uses the one-shot dev model (team feature unavailable) by @ttraenkler in #3408
- fix(ci): poll for exact base_sha cache to reach distance-0 (#3467) by @ttraenkler in #3412
- fix(#3432): stop nulling callable externref values via sibling-wrapper closure recast (stacked on #3419/PR #3368) by @ttraenkler in #3370
- fix(#838): BigInt64Array / BigUint64Array typed arrays by @ttraenkler in #3273
- feat(#2963 Tier 2b): wire Object.is (SameValue) first-class value (standalone) by @ttraenkler in #3361
- fix(#3418): pre-parse dead-binding elision — shim-only standalone tests compile host-free (~18-30k recovery) by @ttraenkler in #3362
- feat(#3462): two-baseline + fast-oracle-lane plumbing (#3450 hybrid) by @ttraenkler in #3398
- feat(#3032): W6 — host-lane generator declarations route native (lazy §27.5 + next(v) two-way); GenState brands; sentinel-undefined reads by @ttraenkler in #3356
- feat(#3461): productionize native-harness FAST oracle (host lane) by @ttraenkler in #3399
- plan(fable-final): spec-first Fable sprint — role-tag P0/P1/re-routed issues by @ttraenkler in #3306
- fix(#3408): retire non-atomic issue-ID entrypoints in favor of the atomic allocator by @ttraenkler in #3406
- docs(ir): complete optional Porffor backend audit (#3288) by @ttraenkler in #3308
- fix(#3389 slice 2): async-gen .return()/.throw() consumer methods [DRAFT — held pending #3344] by @ttraenkler in #3390
- ci(#3457): net-aware / flap-tolerant test262 regression-ratio gate by @ttraenkler in #3413
- docs(#3450): HYBRID two-oracle test262 build plan + child issues #3461-#3465 by @ttraenkler in #3397
- docs(#3468): root-cause standalone method-dispatch assertion swallow (corrects catch_all hypothesis) by @ttraenkler in #3414
- fix(#3435): Function-typed dynamic ctor params route through __construct_closure (stacked on #3370) by @ttraenkler in #3375
- feat(#745 S4.5): flip unionAnyRep lane-default ON for native-string lanes by @ttraenkler in #3409
- fix(#3470): restore host-builtin method .name/.length sub-properties between test262 runs by @ttraenkler in #3417
- fix(#3469): standalone host-free console/print output sink + async drain gate by @ttraenkler in #3416
- fix(#3471): gate body-usage param inference on zero call sites (unsound f64 narrowing broke isSameValue → ~433 name/length tests) by @ttraenkler in #3419
- release: v0.63.0 by @ttraenkler in #3424
- chore(sprint): freeze sprint 72 (fable-final→current, 139 done) by @ttraenkler in #3425
- plan(sprint-73): forward plan — IR migration first, then host-harness restore + fyi score by @ttraenkler in #3426
- chore(issues): reopen false-done #2026/#1472/#680 (live test262 failures) by @ttraenkler in #3427
- fix(#3472): coerce externref current-value in native string += (standalone soundness) by @ttraenkler in #3423
- fix(#3430): strict compound/logical assignment throws on failed [[Set]] by @ttraenkler in #3428
- issue(#3474): done-status integrity gate + complete false-done triage [sprint P1] by @ttraenkler in #3429
- fix(ci): promote landing-page baseline on queue merges (#3476) by @ttraenkler in #3421
- chore(issues): reopen 4 more false-done (#2717/#2620/#1907/#1888) by @ttraenkler in #3434
- fix(#3422): strict-mode delete of non-configurable prop throws real TypeError instance by @ttraenkler in #3431
- fix(#3477): indexed/number-method RangeError gates throw real instances by @ttraenkler in #3433
- fix(#3479): class static methods answer hasOwnProperty via host proxy traps by @ttraenkler in #3435
- test(porffor): add source-to-native allocation canary (#3478) by @ttraenkler in #3432
- docs(#3481): bigint/symbol coercion value-rep hand-off (architect-spec) by @ttraenkler in #3436
- test(benchmarks): compare plain Porffor with JS2 IR (#3482) by @ttraenkler in #3439
- chore(sprint-73): add bounded standalone false-dones to current sprint by @ttraenkler in #3440
- issue(#3487): String.prototype.valueOf non-generic traps illegal_cast (79→80) — track ratchet return to 79 by @ttraenkler in #3441
- plan(#3488): fix-forward for TypedArray trap-gaps unmasked by #3441 by @ttraenkler in #3443
- chore(#3258): object-runtime Tier-3 self-host recon — dialect-gap verified by @ttraenkler in #3444
- fix(#3441): worker-lane test262 sandbox parity — TypedArray cluster + Atomics by @ttraenkler in #3430
- fix(#3429): assert.throws expected-constructor name no longer leaks wasmClosureDynamicBridge by @ttraenkler in #3438
- fix(ir): resolve JavaScript JSDoc landing signatures by @ttraenkler in #3446
- fix(ci): treat timed-out trap baselines as unknown by @ttraenkler in #3449
- fix(ir): lower typed bitwise composites to Porffor (#3499) by @ttraenkler in #3447
- fix(ir): certify recursive linear call-graph types by @ttraenkler in #3448
- docs(#3484): Iterator Helpers host-lane feature (scoped, XL) by @ttraenkler in #3437
- test(ir): attribute final body-shape rejection arms by @ttraenkler in #3450
- fix(ir): infer typed vectors for empty arrays (#3501) by @ttraenkler in #3451
- fix(#3468): add capturing-closure own-property side table by @ttraenkler in #3418
- feat(benchmarks): add landing four-lane backend evidence (#3498) by @ttraenkler in #3452
- fix(test262): align FYI and project harness verdicts by @ttraenkler in #3420
- feat(ir): lower shared string build and methods (#3502) by @ttraenkler in #3453
- fix(ci): remove redundant landing benchmark separators by @ttraenkler in #3454
- ci(#3487): loud alert when the trap-growth gate refuses a baseline promote by @ttraenkler in #3442
- ci(#3487): alert when a trap-tolerance valve is left OPEN (mode B, companion to #3442) by @ttraenkler in #3445
- chore(porffor): advance optional pin to pre-alpha 9 by @ttraenkler in #3455
- feat(ir): share module bindings across front-ends by @ttraenkler in #3457
- feat(#3481): host BigInt binop delegation for wrapper coercion (prereq for #3328 flip) by @ttraenkler in #3458
- docs(#3484): verify-first findings + re-scope Slice 1 (blocked on object-runtime host-safety) by @ttraenkler in #3459
- fix(#3488): route reflective gOPD().get callees through the host-callable arm by @ttraenkler in #3460
- fix(#3511): symbol-safe array-index probe for dynamic-any element access (~40 host flips) by @ttraenkler in #3461
- fix(#3512): stop instance fields leaking as own props of the class constructor (#3479 Slice C) by @ttraenkler in #3462
- feat(ir): compile the builtins example through IR by @ttraenkler in #3463
- feat(ir): add a bounded multi-module overlay by @ttraenkler in #3464
- fix(test262): close FYI parity follow-up gaps by @ttraenkler in #3456
- docs(plan): add Porffor parser frontend POC by @ttraenkler in #3465
- release: v0.64.0 by @ttraenkler in #3467
- fix(test262): handle absent trap baselines as unknown by @ttraenkler in #3468
Full Changelog: v0.62.0...v0.64.1