Skip to content

perry

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

Restores binary/npm/brew asset publishing after fixing release pipeline failures.

Changes in this release

Feature Low

Adds four `perry/ui` smoke tests to `compile-smoke` (macOS target).

Adds four `perry/ui` smoke tests to `compile-smoke` (macOS target).

Source: llm_adapter@2026-06-04

Confidence: high

Feature Low

Implements TypedArray integer-indexed '[DefineOwnProperty]'/'[GetOwnProperty]' semantics.

Implements TypedArray integer-indexed '[DefineOwnProperty]'/'[GetOwnProperty]' semantics.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Feature Low

Adds '%TypedArray%.prototype' value-path brand checks.

Adds '%TypedArray%.prototype' value-path brand checks.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Feature Low

Implements 'ToNumber(object)' with valueOf hint handling.

Implements 'ToNumber(object)' with valueOf hint handling.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Feature Low

Adds 'BigInt.asIntN' and 'asUintN' implementations.

Adds 'BigInt.asIntN' and 'asUintN' implementations.

Source: granite4.1:30b@2026-06-04-audit

Confidence: low

Bugfix Medium

`Iterator.from(x)` no longer crashes the compiler; missing lowering arm added.

`Iterator.from(x)` no longer crashes the compiler; missing lowering arm added.

Source: llm_adapter@2026-06-04

Confidence: high

Bugfix Medium

Adds `#[no_mangle]` to `js_throw_math_constructor_type_error`, fixing link failures.

Adds `#[no_mangle]` to `js_throw_math_constructor_type_error`, fixing link failures.

Source: llm_adapter@2026-06-04

Confidence: high

Bugfix Medium

Restores package publishing by fixing compile‑smoke gate failures.

Restores package publishing by fixing compile‑smoke gate failures.

Source: llm_adapter@2026-06-04

Confidence: low

Refactor Low

Marks `parity`, `doc-tests`, `drizzle-mysql-smoke` as `continue-on-error`; they no longer block package publish.

Marks `parity`, `doc-tests`, `drizzle-mysql-smoke` as `continue-on-error`; they no longer block package publish.

Source: llm_adapter@2026-06-04

Confidence: high

Full changelog

Highlights

Restores package publishing. The release pipeline had shipped no binary/npm/brew assets since v0.5.1025 — every tag's release-packages workflow failed its await-tests gate on perpetually-red aspirational extended jobs. This release fixes the two real bugs blocking compile-smoke and decouples publish from the extended suites so it gates on the core jobs that actually pass.

Fixes

  • codegen: Iterator.from(x) (#2874) no longer crashes the compiler — the Expr::IteratorFrom lowering arm was missing and hit unreachable!. Now lowers to the js_iterator_from runtime helper.
  • link: js_throw_math_constructor_type_error was missing #[no_mangle], causing Undefined symbols link failures on the default compile path. Added it.
  • Plus the runtime work merged since v0.5.1116: TypedArray integer-indexed [[DefineOwnProperty]]/[[GetOwnProperty]] (#4353/#4357), %TypedArray%.prototype value-path brand checks (#4332), ToNumber(object) valueOf hint (#4311), BigInt.asIntN/asUintN (#4299).

CI / release

  • Four perry/ui smoke tests added to compile-smoke SKIP_TESTS (need --target macos; ci-env).
  • parity, compile-smoke, doc-tests, drizzle-mysql-smoke marked continue-on-error — they remain informational on every tag but no longer block package publish, which now gates on cargo-test/lint/api-docs-drift/compiler-output-regression + Simulator Tests.

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]