Skip to content

perry

v0.4.36 Feature

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

Published 2mo 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

Updates Performance, Bug Fixes, and tvOS/watchOS across a mixed release.

Full changelog

Performance

  • Object field lookup inline cachejs_object_get_field_by_name now uses FNV-1a hashing + 512-entry thread-local direct-mapped cache keyed on (keys_array_ptr, key_hash). Cache hits skip the linear key scan entirely.

Features

  • iOS/tvOS game loop reads NSPrincipalClass from Info.plist for custom UIApplication subclass (e.g., BloomApplication on tvOS which overrides sendEvent: for input)
  • tvOS Info.plist now includes UIApplicationSceneManifest with PerrySceneDelegate and NSPrincipalClass: BloomApplication
  • Tier 3 targets (tvOS/watchOS) automatically use cargo +nightly -Zbuild-std for compilation
  • iOS/tvOS linker adds -framework Metal -lobjc
  • ios-game-loop feature flag added to perry-runtime Cargo.toml

Bug Fixes

  • GTK4: ImageFile path resolution returned PathBuf but ImageKind::File expected String — added .to_string_lossy().to_string() conversion
  • Codegen: LocalInfo missing object_field_indices field in 3 constructors (closures.rs × 2, stmt.rs × 1) — caused build failure after struct field addition

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]