This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+5 more
Summary
AI summaryBroad release touches Highlights, class, runtime, and Infrastructure.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds aarch64-linux compile target. Adds aarch64-linux compile target. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Feature | Medium |
Adds native TC39 Temporal API with 8 types and Temporal.Now. Adds native TC39 Temporal API with 8 types and Temporal.Now. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Feature | Medium |
Adds options/fields-object methods (round, total, with*, conversions) to Temporal API. Adds options/fields-object methods (round, total, with*, conversions) to Temporal API. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Feature | Medium |
Adds static accessors, canonical numeric keys, and default‑aware .length to classes. Adds static accessors, canonical numeric keys, and default‑aware .length to classes. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Feature | Medium |
Adds public class‑element semantics including accessor keys and prototype‑ref setters. Adds public class‑element semantics including accessor keys and prototype‑ref setters. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Performance | Medium |
Improves String.prototype methods achieving 60%→79% test262 parity. Improves String.prototype methods achieving 60%→79% test262 parity. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Performance | Medium |
Improves Number built‑in methods achieving 86%→97% test262 parity. Improves Number built‑in methods achieving 86%→97% test262 parity. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Performance | Low |
Zero‑fills inline‑allocated object field slots for codegen efficiency. Zero‑fills inline‑allocated object field slots for codegen efficiency. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Medium |
Fixes computed‑key evaluation order and TypeError on null‑proto keys in classes. Fixes computed‑key evaluation order and TypeError on null‑proto keys in classes. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Bugfix | Medium |
Fixes handling of empty‑string static accessors in classes. Fixes handling of empty‑string static accessors in classes. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Bugfix | Medium |
Hides private members from reflection and resolves exotic‑private‑name symbol collisions. Hides private members from reflection and resolves exotic‑private‑name symbol collisions. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Bugfix | Low |
Fixes Object ToPropertyDescriptor field presence using HasProperty. Fixes Object ToPropertyDescriptor field presence using HasProperty. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Corrects Array generic array-like and stored-method semantics. Corrects Array generic array-like and stored-method semantics. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Prevents dereferencing Web‑Fetch/native handles as heap objects, fixing Hono response SIGSEGV. Prevents dereferencing Web‑Fetch/native handles as heap objects, fixing Hono response SIGSEGV. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Validates and applies non-configurable property redefines correctly. Validates and applies non-configurable property redefines correctly. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Retains existing-property attributes in Object.defineProperty. Retains existing-property attributes in Object.defineProperty. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Dispatches Reflect proxy descriptors properly. Dispatches Reflect proxy descriptors properly. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Fixes generic‑this handling and index coercion for String.prototype slice/substring methods. Fixes generic‑this handling and index coercion for String.prototype slice/substring methods. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Corrects boxed-method identity, toExponential rounding, Infinity handling, and parseInt identity in Number built-ins. Corrects boxed-method identity, toExponential rounding, Infinity handling, and parseInt identity in Number built-ins. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Adds brand check, radix coercion on BigInt.toString, fixes mixed BigInt/Number compare, and increment/decrement operators. Adds brand check, radix coercion on BigInt.toString, fixes mixed BigInt/Number compare, and increment/decrement operators. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Fixes Array callback thisArg, ToLength calculation, operation order, and 0‑arg validation. Fixes Array callback thisArg, ToLength calculation, operation order, and 0‑arg validation. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Corrects exotic length [[DefineOwnProperty]] handling and out‑of‑bounds prototype reads in Arrays. Corrects exotic length [[DefineOwnProperty]] handling and out‑of‑bounds prototype reads in Arrays. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Implements spec‑complete Array.of, Array.from, and unwraps Proxy for Array.isArray. Implements spec‑complete Array.of, Array.from, and unwraps Proxy for Array.isArray. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Makes Promise combinators (all, allSettled, race, any) spec‑compliant. Makes Promise combinators (all, allSettled, race, any) spec‑compliant. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Threads `this` through Promise.resolve and Promise.reject calls and fixes var-redeclare codegen. Threads `this` through Promise.resolve and Promise.reject calls and fixes var-redeclare codegen. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Assimilates object‑literal thenables via own `then` data property in Promises. Assimilates object‑literal thenables via own `then` data property in Promises. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Adds brand check for %TypedArray%.prototype iterators and corrects array‑like/iterable constructor handling. Adds brand check for %TypedArray%.prototype iterators and corrects array‑like/iterable constructor handling. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Fixes Map instance prototype reflection, live forEach iteration, and symbol‑key delete behavior. Fixes Map instance prototype reflection, live forEach iteration, and symbol‑key delete behavior. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Brings JSON.stringify implementation substantially closer to ECMA-262 specification. Brings JSON.stringify implementation substantially closer to ECMA-262 specification. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
| Bugfix | Low |
Corrects async-generator .return() value handling, prototype brand check, and wrapping of function‑expression async generators. Corrects async-generator .return() value handling, prototype brand check, and wrapping of function‑expression async generators. Source: granite4.1:30b@2026-06-07-audit Confidence: low |
— |
Full changelog
Highlights
- Native TC39 Temporal API via
temporal_rs— 8 Temporal types plusTemporal.Now, and the full options-/fields-object method surface (round/total,with*, conversions) (#4716, #4727). - Major test262 parity gains across built-ins: String 60%→79%, Number 86%→97%, plus broad Array/Promise/Object/BigInt/TypedArray spec-compliance work.
- New compile target: aarch64-linux (linux-arm64) (#4737).
Features
- feat(compile): aarch64-linux target (#4737)
- feat(class): static accessors, JS-canonical numeric keys, default-aware method
.length(#4736) - feat(class): public class-element semantics — accessor keys, prototype-ref setters, static-method descriptors, grammar early errors (#4730)
- feat(temporal): native TC39 Temporal API — 8 types +
Temporal.Now(#4716) - feat(temporal): options-/fields-object methods — round/total, with*, conversions (#4727)
- feat(compile): embed comctl32 v6 manifest so Windows UI apps get themed controls (#4683)
Fixes
- fix(class): computed-key evaluation order + ToPropertyKey TypeError on null-proto key (#4744)
- fix(class): computed-key accessor setter + empty-string static accessor (#4738)
- fix(class): hide private members from reflection + exotic-private-name symbol collision (#4719)
- fix(runtime): built-ins/Object ToPropertyDescriptor field presence is HasProperty (#4743)
- fix(runtime): built-ins/Array generic array-like + stored-method semantics (#4742)
- fix(runtime): stop dereferencing Web-Fetch/native handles as heap objects — Hono response SIGSEGV (#4739)
- fix(object): ValidateAndApplyPropertyDescriptor for non-configurable redefines (#4722)
- fix(object): retain existing-property attributes in Object.defineProperty (#4697)
- fix(runtime): dispatch Reflect proxy descriptors (#4621)
- fix(string): generic-
thisfor all String.prototype methods + slice/substring index coercion — 60%→79% (#4720, #4713) - fix(number): boxed-method identity, toExponential rounding/Infinity, parseInt identity — 86%→97% (#4712)
- fix(bigint): brand check + radix coercion on toString, mixed BigInt/Number compare, ++/-- (#4714)
- fix(array): callback thisArg, array-like ToLength, op-order + 0-arg validation (#4721)
- fix(array): exotic length [[DefineOwnProperty]] (ArraySetLength) + OOB prototype reads (#4709)
- fix(array): spec-complete Array.of (#4708), Array.from (#4700), Array.isArray Proxy unwrap (#4707)
- fix(promise): spec-compliant all/allSettled/race/any combinators (#4521, #4701)
- fix(promise): thread
thisthrough Promise.{resolve,reject}.call + var-redeclare codegen (#4706) - fix(promise): assimilate object-literal thenables via own
thendata property (#4705) - fix(typedarray): brand-check %TypedArray%.prototype iterators + array-like/iterable constructor (#4702)
- fix(map): instance prototype-member reflection, live forEach, symbol-key delete (#4710)
- fix(json): JSON.stringify substantially closer to ECMA-262 (#4718)
- fix(async-generator): await .return() value, brand-check prototype this, wrap function-expression async generators (#4723)
- fix(codegen): zero-fill inline-allocated object field slots (#4717, #4726)
- fix(http): park async request handlers instead of synthesizing a premature empty response (#4728)
- fix(init): default tsconfig targets ES2023 for non-mutating array methods (#4731)
- fix(windows):
perry updateextracts the .zip artifact (#4715) - fix: eliminate test262 segfaults in Proxy / String / Object.create / Array (#4724)
Infrastructure
- test(runtime): regression unit test for is_closure_ptr small-handle floor (#4740)
- ci(test262): parallel --jobs, --shard i/N, and full failure reporting (#4711)
- fix(publish): never exit 0 without a build result when the hub WS drops (#4732)
- fix(link): make tier-3 (tvOS/watchOS) std-dedup actually work (#4725)
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About perry
A native TypeScript compiler written in Rust. Compiles TypeScript directly to executables using SWC and LLVM.
Related context
Related tools
Earlier breaking changes
- v0.5.1158 `cluster` workers share a listening port using SO_REUSEPORT and IPC round‑trip.
- v0.5.1158 Streams now support BYOB readers and real `ByteLengthQueuingStrategy` accounting.
- v0.5.1158 `Atomics.wait`, `notify`, and `waitAsync` now block and wake across agents using a shared `SharedArrayBuffer`.
- v0.5.1158 `node:dns` and `node:dgram` perform real network I/O instead of stub behavior.
- v0.5.1158 `AsyncLocalStorage` and `async_hooks` now propagate context across await, microtasks, timers, and `process.nextTick`.
Beta — feedback welcome: [email protected]