Skip to content

perry

v0.5.1125 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

Summary

AI summary

Adds a configurable Windows subsystem flag, Apple tier‑3 link deduplication, and pointer‑width portability fixes.

Changes in this release

Feature Medium

Adds `--windows-subsystem auto|console|windows` flag with CLI > toml fallback

Adds `--windows-subsystem auto|console|windows` flag with CLI > toml fallback

Source: llm_adapter@2026-06-06

Confidence: high

Feature Medium

Adds tier-3 Apple (tvOS/watchOS) link dedup for std panic/unwind shims

Adds tier-3 Apple (tvOS/watchOS) link dedup for std panic/unwind shims

Source: llm_adapter@2026-06-06

Confidence: high

Bugfix Medium

Fixes 32-bit overflow in alloc size checks for arm64_32 watchOS / wasm32 by using u64 comparisons

Fixes 32-bit overflow in alloc size checks for arm64_32 watchOS / wasm32 by using u64 comparisons

Source: llm_adapter@2026-06-06

Confidence: high

Full changelog

feat(compile): --windows-subsystem override + tier-3 Apple link dedup + pointer-width portability

  • --windows-subsystem auto|console|windows flag + perry.toml [windows] subsystem fallback. Lets a GUI app that doesn't import perry/ui suppress the auto console window; precedence CLI > perry.toml > import heuristic; unknown values are a hard error.
  • Tier-3 Apple (tvOS/watchOS) link dedup — localize std panic/unwind shims (__rust_drop_panic, rust_begin_unwind, …) so -Zbuild-std runtime+stdlib stop colliding with ld64.lld: duplicate symbol.
  • Pointer-width portability — compare alloc size as u64 against 1u64<<34 in gc/barrier, gc/copying, timer, typedarray (fixes 32-bit overflow on arm64_32 watchOS / wasm32); widen tm_gmtoff cast.

See CHANGELOG.md for full 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 →

Related context

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]