Skip to content

v0.2.197

Choose a tag to compare

@proggeramlug proggeramlug released this 20 Mar 20:39
· 4666 commits to main since this release

New Features

Cross-compile to Windows via lld-link on Linux

  • Windows cross-compilation from Linux using lld-link — no MSVC toolchain required
  • /FORCE:UNRESOLVED flag for lld-link to handle missing UI symbols gracefully
  • Stub generation for missing UI symbols on Windows regardless of needs_ui flag

iOS game loop support

  • --features ios-game-loop enables CADisplayLink-based game loop for iOS targets

Cross-platform menu APIs

  • perry_ui_menu_clear and perry_ui_menu_add_standard_action FFI added to all 6 platforms (were macOS-only)
  • Windows RefCell re-entrancy fix for dispatch_menu_item (extract callback before calling)

Bug Fixes

  • perry publish wrong platform display: Windows and Web targets were incorrectly showing as "macOS" — also fixed is_macos flag to exclude Windows/Web from signing/notarization logic
  • Menu callback RefCell re-entrancy panic: extract callback from RefCell before invoking, matching macOS pattern
  • macOS textfield focus ring: disable focus ring when textfield is borderless
  • i32 module variable write-back: fix incorrect write-back for i32-typed module variables
  • Geisterhand compile fix: remove unused Bloom input injection extern declarations

Android Improvements

  • Force 16 KB page alignment when building native libs (required by newer Android NDK/devices)
  • Copy companion .so files next to output for proper library resolution

Full Changelog

6227c88 chore: remove Bloom input injection from geisterhand + update Cargo.lock
7c4a034 Force 16 KB page alignment when building native libs for Android
26db150 fix: cross-platform menuClear/menuAddStandardAction + Windows RefCell re-entrancy
e1bf24b Copy companion .so files next to output for Android builds
d76b380 fix: add /FORCE:UNRESOLVED to lld-link for Windows cross-compilation
a39217b fix: generate stubs for missing UI symbols on Windows regardless of needs_ui
d94631b fix: perry publish showing wrong platform for Windows/Web targets
665398e fix: disable macOS focus ring when textfield is borderless
c543332 feat: iOS game loop support (--features ios-game-loop)
491d259 fix: menu callback RefCell re-entrancy panic + add menuClear API
4766761 fix: i32 module variable write-back + geisterhand input injection + compile fix
642d94a feat: cross-compile to Windows via lld-link on Linux