This release adds 3 notable features for engineering teams evaluating rollout.
Published 3mo
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 Performance, Bug Fixes, and tvOS/watchOS across a mixed release.
Full changelog
Performance
- Object field lookup inline cache —
js_object_get_field_by_namenow uses FNV-1a hashing + 512-entry thread-local direct-mapped cache keyed on (keys_array_ptr, key_hash). Cache hits skip the linear key scan entirely.
Features
- iOS/tvOS game loop reads
NSPrincipalClassfrom Info.plist for customUIApplicationsubclass (e.g.,BloomApplicationon tvOS which overridessendEvent:for input) - tvOS Info.plist now includes
UIApplicationSceneManifestwithPerrySceneDelegateandNSPrincipalClass: BloomApplication - Tier 3 targets (tvOS/watchOS) automatically use
cargo +nightly -Zbuild-stdfor compilation - iOS/tvOS linker adds
-framework Metal -lobjc ios-game-loopfeature flag added to perry-runtime Cargo.toml
Bug Fixes
- GTK4:
ImageFilepath resolution returnedPathBufbutImageKind::FileexpectedString— added.to_string_lossy().to_string()conversion - Codegen:
LocalInfomissingobject_field_indicesfield in 3 constructors (closures.rs × 2, stmt.rs × 1) — caused build failure after struct field addition
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]