Skip to content

perry

v0.5.1167 Bugfix

This release fixes issues for SREs watching stability and regressions.

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

Restored missing js_node_system_error_value symbol to fix compilation of http/net extensions.

Changes in this release

Bugfix Medium

Restores missing `js_node_system_error_value` symbol for http/net extension linking.

Restores missing `js_node_system_error_value` symbol for http/net extension linking.

Source: llm_adapter@2026-06-14

Confidence: low

Full changelog

v0.5.1167 — fix(runtime): relink node:http/net — restore js_node_system_error_value (#5124)

Release-blocking regression fix folded in via #5124. PR #5112 (Next.js
standalone walls) refactored crates/perry-runtime/src/error.rs and dropped the
#[no_mangle] pub unsafe extern "C" fn js_node_system_error_value definition
and its #[used] KEEP_JS_NODE_SYSTEM_ERROR_VALUE anchor, while perry-ffi's
error::system_error_value still calls that symbol. The result: compiling any
program that links the http/net extension archive failed at the link step with
undefined reference to 'js_node_system_error_value' (collect2: ld returned 1).

It went unseen because perry-runtime's own cargo test builds with the full
feature set, so the symbol was present there — only the auto-optimize compile
path (minimal feature set, extension archives linked after LTO) hit it. The
issue_4903_listen_callback_deferred integration tests, which actually run
perry compile on a net program, are what surfaced it on the v0.5.1166 release
tag (whose cargo-test gate failed for this reason). The symbol + keepalive anchor
are restored verbatim (same construct as the three sibling KEEP_JS_* FFI
entries). Added in #5078, dropped by #5112, restored by #5124.

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]