This release adds 1 notable feature for engineering teams evaluating rollout.
Published 2mo
Build & Package
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
android
compile
harmonyos
ios
llvm
macos
+5 more
native
smc
typescript
watchos
windows
Summary
AI summaryUpdates Bug Fixes, Previous, and resolveType across a mixed release.
Full changelog
Bug Fixes
- x86_64 module-local function dispatch: Function wrappers for
.map(resolveType)callbacks usedLinkage::Exporteven for non-exported functions. When two modules shared the same filename and function names (e.g., twocontract.tsfiles both withresolveType), the linker resolved the wrong wrapper. Non-exported wrappers now useLinkage::Local. obj[c.name]garbage on any-typed objects:is_string_index_expr_getno longer returnsfalsefor all PropertyGet on non-string objects — now defaults to string except for known class instances with numeric fields.- Union-typed
obj[intKey]wrong dispatch:is_unionadded tois_known_arraycheck sojs_dynamic_array_get(which handles arrays at runtime) is used instead of string-key property lookup. - Cross-module
await Promise<[T, T]>tuple indexing:Type::Tupleadded to the Await expression-inference handler's inner_type match for correctis_arrayflag on resolved value. - Bug #8 regression reverted: Broad
Tupleadditions tois_typed_pointer/is_typed_arraycaused SIGBUS on complex module graphs; reverted to minimal one-line fix.
Features
Promise.race: Full implementation —js_promise_raceruntime function iterates promise array, attaches resolve/reject handlers with first-wins semantics, handles already-settled promises and non-promise values.
Previous (v0.4.46)
String.replaceAll,String.matchAll,arr.shift()?.method()fix,Buffer.subarray/slice, SQLite params/pragma/transaction,.lengthon Call results, x86_64 overload dispatch fix
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
Beta — feedback welcome: [email protected]