This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+5 more
Summary
AI summaryMinor fixes and improvements.
Full changelog
Test, CI, and benchmark-infrastructure release. No runtime or codegen changes — crates/ is untouched, 108 runtime tests and the gap-suite/parity baselines all reproduce identically.
Features
- CI workflow (
.github/workflows/test.yml) — five parallel jobs on macos-14 sharing a cached release build:cargo-testruns the workspace test suite (excludingperry-ui-ios).parityrunsrun_parity_tests.sh, gates ontest-parity/threshold.json(currently 83% min parity), and diffs new failures againsttest-parity/known_failures.json.compile-smokerequires everytest-files/*.tsto compile cleanly.binary-sizetracksperry/libperry_runtime.a/libperry_stdlib.asizes on main only.
- Benchmark tooling —
benchmarks/compare.shis a regression detector with 15% speed / 25% memory thresholds vsbenchmarks/baseline.json(writes JSON with git short-SHA + UTC timestamp; supports--update-baselineand--quick).benchmarks/quick.shis a ~15s smoke over 5 benchmarks with Perry-vs-Node ratio and peak-RSS comparison. - Seven new
.tsmicrobenchmarks inbenchmarks/suite/:bench_array_grow,bench_buffer_readwrite,bench_gc_pressure,bench_int_arithmetic,bench_json_roundtrip,bench_object_property,bench_string_heavy— covering paths tuned in v0.5.67–v0.5.81. - Parity infrastructure —
test-parity/known_failures.json(18 triaged entries) andtest-parity/threshold.json(83% minimum) enable the new CI parity gate. - Coverage infrastructure —
test-coverage/audit.shscans#[no_mangle] pub extern "C" fnin perry-runtime + perry-stdlib and cross-references againsttest-files/. Current snapshot intest-coverage/COVERAGE.md: 1437 FFI functions, 615 covered (42.8%).
Tests
- Five gap tests called out in the gap-suite header but not checked in:
test_gap_buffer_ops,test_gap_closures,test_gap_map_set_extended,test_gap_typed_arrays,test_gap_typeof_instanceof. - Four issue-#63 regression tests guarding the array-literal scalar-replacement and inline-alloc paths from v0.5.69 / v0.5.73 / v0.5.74:
test_issue63_arr,test_issue63_asm,test_issue63_correctness,test_issue63_escape. - Five stress tests:
test_stress_buffer,test_stress_gc,test_stress_int_ops,test_stress_nanbox,test_stress_promises. - Cross-module stress under
test-files/multi/test_stress_cross_module/(two-file module resolution).
Docs
issue60_writeup.md— post-mortem for the 84×→4.5× dynamic-property-write speedup shipped in v0.5.51 / v0.5.55.
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]