Skip to content

perry

v0.5.1112 Feature

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

Published 22h 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

Summary

AI summary

Broad Node.js builtin parity push adds crypto/webcrypto, http/http2 socket pooling, zlib with Brotli support.

Changes in this release

Feature Medium

Adds Node.js builtin parity for crypto, webcrypto, http/http2, zlib, child_process, util, process, punycode, url, worker_threads, stream, dgram, cluster, path, vm.

Adds Node.js builtin parity for crypto, webcrypto, http/http2, zlib, child_process, util, process, punycode, url, worker_threads, stream, dgram, cluster, path, vm.

Source: llm_adapter@2026-06-03

Confidence: high

Feature Medium

Adds reflective builtin-prototype brand checks for Function.prototype methods and primitive prototypes.

Adds reflective builtin-prototype brand checks for Function.prototype methods and primitive prototypes.

Source: llm_adapter@2026-06-03

Confidence: high

Feature Medium

Adds complete sync codec parity, Transform‑stream objects, and Brotli support to node:zlib.

Adds complete sync codec parity, Transform‑stream objects, and Brotli support to node:zlib.

Source: llm_adapter@2026-06-03

Confidence: high

Feature Medium

Adds async spawn reactor, fork with IPC, and exec error/encoding parity to node:child_process.

Adds async spawn reactor, fork with IPC, and exec error/encoding parity to node:child_process.

Source: llm_adapter@2026-06-03

Confidence: high

Feature Medium

Adds Agent socket pooling and createConnection/createSocket support to node:http.

Adds Agent socket pooling and createConnection/createSocket support to node:http.

Source: llm_adapter@2026-06-03

Confidence: high

Feature Medium

Adds generator function expressions, yield* iteration, and class [Symbol.iterator]/[Symbol.asyncIterator] via member access.

Adds generator function expressions, yield* iteration, and class [Symbol.iterator]/[Symbol.asyncIterator] via member access.

Source: llm_adapter@2026-06-03

Confidence: high

Feature Medium

Adds perry/ui continuous pointer/key events, onFrame/cancelFrame callbacks; perry/audio cross‑platform sound; GTK4 live CameraView.

Adds perry/ui continuous pointer/key events, onFrame/cancelFrame callbacks; perry/audio cross‑platform sound; GTK4 live CameraView.

Source: llm_adapter@2026-06-03

Confidence: high

Feature Medium

Adds Object.getOwnPropertyDescriptors support and dynamic‑import directory‑glob template specifiers.

Adds Object.getOwnPropertyDescriptors support and dynamic‑import directory‑glob template specifiers.

Source: llm_adapter@2026-06-03

Confidence: high

Feature Medium

Adds compile command with module‑graph tree‑shaking / DCE for compilePackages.

Adds compile command with module‑graph tree‑shaking / DCE for compilePackages.

Source: llm_adapter@2026-06-03

Confidence: high

Feature Medium

Adds self‑hosted build‑time precompile() with no node/V8 dependency.

Adds self‑hosted build‑time precompile() with no node/V8 dependency.

Source: llm_adapter@2026-06-03

Confidence: high

Full changelog

First tagged distribution release since v0.5.1028 — folds in 1198 commits (852 fixes, 42 features, plus tests/docs/refactors). This tag is a clean version-bump checkpoint over a fully CI-green main.

Highlights

  • Broad Node.js builtin parity push: crypto/webcrypto, http/http2/Agent socket pooling, zlib (sync + streaming + Brotli), child_process (streaming spawn, fork + V8-IPC, promisify), util, process, punycode, url, worker_threads, stream (web codec constructors, iterator helpers), dgram, cluster, path, vm.
  • Reflective builtin-prototype brand checks (#3662 family): Function.prototype.apply/call/bind/toString, primitive prototypes (Number/Boolean/Symbol/BigInt), collection prototype methods, namespace member reflection.
  • Typed-array prototype + constructor coverage (join/slice/reverse/fill/subarray, RangeError validation, proto accessors).
  • Generational-GC evacuation + async-resume fixes.

Features (selected)

  • compile: module-graph tree-shaking / DCE for compilePackages.
  • Self-hosted build-time precompile() — Perry runs its own codegen with no node/V8.
  • node:zlib complete sync codec parity + Transform-stream objects + Brotli.
  • node:child_process async spawn reactor, fork + IPC, exec error/encoding parity.
  • node:http Agent socket pooling + createConnection/createSocket on the request path.
  • Generator function expressions, yield* operand iteration, class [Symbol.iterator]/[Symbol.asyncIterator] via member access.
  • perry/ui: continuous pointer/key events, onFrame/cancelFrame display-link callbacks; perry/audio cross-platform sound; GTK4 live CameraView.
  • Object.getOwnPropertyDescriptors, dynamic-import directory-glob template specifiers.

Fixes

  • 852 fixes across codegen, HIR lowering, runtime, and stdlib — Node export hygiene, dispatch correctness, stream construction paths, handle-deref segfaults, and large swaths of the TypeScript/Node compatibility roadmap (#793).

See CHANGELOG.md for the full per-version detail.

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]