This release adds 3 notable features for engineering teams evaluating rollout.
Published 1mo
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
Affected surfaces
rce_ssrf
breaking_upgrade
Summary
AI summaryFixed an async queue drain bug that prevented Tokio‑based operations from completing.
Full changelog
Bug Fixes
- fetch/axios segfault (closes #26):
await fetch(url)andawait axios.get(url)segfaulted because thebodyparameter (undefinedfor GET requests) NaN-unboxed to0x1, whichstring_from_headerdereferenced. Fixed to treat pointers below page size as invalid. - Await loop never drained stdlib async queue: The
awaitpolling loop calledjs_promise_run_microtasksbut neverjs_run_stdlib_pump(), so tokio-based async results (fetch, axios, database queries) were queued but never resolved on the main thread. llvm-ar not foundwarning (closes #25): Downgraded fromERRORto a non-alarming skip message with install instructions. The strip-dedup step is optional — compilation succeeds without it.
Features
- Native
axiosdispatch (closes #26):import axios from 'axios'now compiles natively —axios.get/post/put/delete/patchandresponse.status/.data/.statusTextare dispatched to Perry's Rust implementation. No--enable-js-runtime, nonpm installrequired. - TypeScript type stubs (closes #27, refs #24):
.d.tsdeclarations forperry/ui,perry/thread,perry/i18n,perry/systemsotsc --noEmitand IDE autocomplete work.perry initgeneratestsconfig.jsonwith paths;perry typesregenerates stubs for existing projects. - UI layout documentation: Documented undocumented APIs (alignment, distribution, match-parent, content hugging, overlay positioning, edge insets, SplitView) with CSS migration guide in README.
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]