You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
macOS cross-compilation from Linux — codegen triple, framework search paths (-lobjc, CoreGraphics, Metal, IOKit, DiskArbitration), find_ui_library for macOS target
iOS Info.plist completeness — all Apple-required keys, CFBundleIcons with standard naming (AppIcon60x60@2x etc.), version/build_number read from perry.toml, UILaunchScreen dict instead of storyboard reference
Native extensions & App Store review docs — new documentation pages for plugin development and Apple review guidance
Bug Fixes
Bitwise NOT (~x) — wrapping semantics fixed: f64→i64→i32 via ireduce for proper JS ToInt32, instead of fcvt_to_sint_sat which saturated at i32::MAX
IndexGet string detection — property access returning array elements (e.g., log.topics[0]) now treated as potential string for correct comparison codegen
Array.filter/find/some/every/flatMap — callback dispatch and module init ordering fixed
Null arithmetic coercion — Math.max(null, 5) etc. now coerces null to 0 via js_number_coerce
new X(args) — resolves cross-module imported constructor functions and exported const functions via __export_ data slot
new Date(stringVariable) — properly NaN-boxes with STRING_TAG for string detection
is_macho — uses target triple instead of host cfg! check; always generates main for entry module on iOS/macOS cross-compile
ld64.lld — sdk_version set to 26.0 (Apple requires iOS 18+)
Windows cross-compile — /FORCE:MULTIPLE for duplicate perry_runtime symbols in native libs