This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+5 more
Summary
AI summaryFixed 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 at0x5) andui/menus/snippets.ts(0xFFFFFFFFFFFFFFFC) traced to dispatch-table arg types disagreeing with the platform-crateextern "C"signatures —i64-vs-f64ABI mismatch on Windows where floats are passed in XMM registers vs ints in GPRs.perry_ui_stack_set_distributionaligned tof64across every backend (wasi64only on Windows).perry-ui-windows::toolbar::create()now parents under the parking HWND (the priorNoneparent 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.jsonto 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 astest_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.pngre-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
About perry
A native TypeScript compiler written in Rust. Compiles TypeScript directly to executables using SWC and LLVM.
Related context
Beta — feedback welcome: [email protected]