Skip to content

v0.4.23

Choose a tag to compare

@proggeramlug proggeramlug released this 27 Mar 08:35
· 4545 commits to main since this release

Bug Fixes

  • i18n: Propagate translation string table to rayon worker threads — parallel module codegen was missing i18n data, causing untranslated output. Also walks parent directories to find perry.toml
  • iOS crashes: Gate ios_game_loop behind feature flag, catch panics in UI callback trampolines (button, scrollview, tabbar), install panic hook that writes crash log to Documents
  • iOS Spacer: Remove NSLayoutConstraint from spacer creation that caused layout engine conflicts
  • iOS/macOS duplicate symbols: strip_duplicate_objects_from_lib now works cross-platform (not just Windows), deduplicating perry_runtime from UI staticlib on all targets
  • ld64.lld flags: Use -dead_strip directly instead of -Wl,-dead_strip for cross-iOS linking
  • perry run: Read app metadata from perry.toml/package.json, apply [publish].exclude to tarballs, use create_project_tarball_with_excludes
  • Threading resilience: catch_unwind in spawn, poisoned mutex recovery in PENDING_THREAD_RESULTS, tokio fallback to current-thread runtime on iOS

Features

  • iOS cross-compilation from Linux: Support building iOS apps from Linux using ld64.lld + Apple SDK sysroot (PERRY_IOS_SYSROOT env var)