Skip to content

perry

v0.5.18 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

Published 1mo Build & Package
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ 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 summary

Fixed an async queue drain bug that prevented Tokio‑based operations from completing.

Full changelog

Bug Fixes

  • fetch/axios segfault (closes #26): await fetch(url) and await axios.get(url) segfaulted because the body parameter (undefined for GET requests) NaN-unboxed to 0x1, which string_from_header dereferenced. Fixed to treat pointers below page size as invalid.
  • Await loop never drained stdlib async queue: The await polling loop called js_promise_run_microtasks but never js_run_stdlib_pump(), so tokio-based async results (fetch, axios, database queries) were queued but never resolved on the main thread.
  • llvm-ar not found warning (closes #25): Downgraded from ERROR to a non-alarming skip message with install instructions. The strip-dedup step is optional — compilation succeeds without it.

Features

  • Native axios dispatch (closes #26): import axios from 'axios' now compiles natively — axios.get/post/put/delete/patch and response.status/.data/.statusText are dispatched to Perry's Rust implementation. No --enable-js-runtime, no npm install required.
  • TypeScript type stubs (closes #27, refs #24): .d.ts declarations for perry/ui, perry/thread, perry/i18n, perry/system so tsc --noEmit and IDE autocomplete work. perry init generates tsconfig.json with paths; perry types regenerates 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

Track perry

Get notified when new releases ship.

Sign up free

About perry

A native TypeScript compiler written in Rust. Compiles TypeScript directly to executables using SWC and LLVM.

All releases →

Beta — feedback welcome: [email protected]