Skip to content

perry

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

Fixed two Windows UI crashes caused by ABI mismatches in perry-ui crates.

Full changelog

Highlights

Follow-up to v0.5.343 — fixes the three release-blocking gaps that surfaced when the v0.5.343 publish gate failed, so binaries actually ship this time.

Fixes

  • Win64 perry-ui ABI (v0.5.345 — Windows worker fix): align the platform-crate FFI signatures with the codegen dispatch table across all 8 perry-ui-* crates. Two crashes in ui/layout/snippets.ts (ACCESS_VIOLATION at 0x5) and ui/menus/snippets.ts (0xFFFFFFFFFFFFFFFC) traced to dispatch-table arg types disagreeing with the platform-crate extern "C" signatures — i64-vs-f64 ABI mismatch on Windows where floats are passed in XMM registers vs ints in GPRs. perry_ui_stack_set_distribution aligned to f64 across every backend (was i64 only on Windows). perry-ui-windows::toolbar::create() now parents under the parking HWND (the prior None parent was rejected by Windows with HRESULT 0x8007057E "Cannot create a top-level child window"). Local Windows verification: 76/81 doc-tests pass (was 74/81 with the two crashes).

  • Parity triage (v0.5.344): two new failures added to test-parity/known_failures.json to unblock the gate. test_gap_array_methods (known_limitation): TypedArray.at() returns undefined instead of element values on Int32Array/Float64Array — categorical typed-array gap, same family as test_gap_typed_arrays. test_json_lazy_predicates (bug): Array.isArray() returns false on the result of [...].map(fn) — missing isArray predicate recognition for the map-returned shape.

  • Linux gallery baseline (v0.5.344): docs/examples/_baselines/linux/gallery.png re-blessed from the v0.5.343 CI artifact (900x1400 → 900x1024). Old baseline was stale, likely from a pre-#202/#206 GTK4 styling state where the gallery rendered taller.

Notes

The v0.5.343 tag stays as-is per the release skill rule (do not retag). v0.5.343's GitHub Release page documents the full v0.5.294 → v0.5.343 substantive change set — the cognitive-load reduction, dispatch-table centralization, SSO unbox hygiene, and the long #185 styling rollout. v0.5.345 is the publishable version of that work.

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]