github PerryTS/perry v0.5.18

latest releases: v0.5.1182, v0.5.1181, v0.5.1180...
2 months ago

Bug Fixes

  • fetch/axios segfault (closes #26): await fetch(url) and await axios.get(url) segfaulted because the body parameter (undefined for GET requests) NaN-unboxed to 0x1, which string_from_header dereferenced. Fixed to treat pointers below page size as invalid.
  • Await loop never drained stdlib async queue: The await polling loop called js_promise_run_microtasks but never js_run_stdlib_pump(), so tokio-based async results (fetch, axios, database queries) were queued but never resolved on the main thread.
  • llvm-ar not found warning (closes #25): Downgraded from ERROR to a non-alarming skip message with install instructions. The strip-dedup step is optional — compilation succeeds without it.

Features

  • Native axios dispatch (closes #26): import axios from 'axios' now compiles natively — axios.get/post/put/delete/patch and response.status/.data/.statusText are dispatched to Perry's Rust implementation. No --enable-js-runtime, no npm install required.
  • TypeScript type stubs (closes #27, refs #24): .d.ts declarations for perry/ui, perry/thread, perry/i18n, perry/system so tsc --noEmit and IDE autocomplete work. perry init generates tsconfig.json with paths; perry types regenerates stubs for existing projects.
  • UI layout documentation: Documented undocumented APIs (alignment, distribution, match-parent, content hugging, overlay positioning, edge insets, SplitView) with CSS migration guide in README.

Don't miss a new perry release

NewReleases is sending notifications on new releases.