Skip to content

4.7.0

Latest

Choose a tag to compare

@simonhamp simonhamp released this 29 Oct 17:31
· 5 commits to main since this release
Immutable release. Only release title and notes can be modified.
0d7e2e6

What's Changed

  • Keep bridge call parameters and results out of release logcat by @prosenthal828 in #523
  • Strip Composer's auth.json from bundled apps by @simonhamp in #542
  • Draw dashed, dotted and per-side borders natively by @simonhamp in #548
  • Let apps use their own SVG icons by @simonhamp in #544
  • Bump PHP binaries to 4.1.0 by @simonhamp in #531
  • Use PNG compression level 6 for Android resources by @PrestaEdit in #535
  • Turn on Gradle build and configuration caches by @simonhamp in #514
  • Skip build steps whose inputs haven't changed by @simonhamp in #513
  • Fix text-input and the mobile-ui requirement in the Boost skill by @simonhamp in #503
  • Warn on native:run when the installed PHP binaries aren't the pinned release by @simonhamp in #556
  • Keep async completions across a screen transition's reset by @simonhamp in #555
  • Let NATIVEPHP_BIN_BRANCH install a prerelease binaries build by @simonhamp in #559
  • Stop FlexContainer merging its children's alignment guides by @simonhamp in #551
  • Free what a bridge call or a render pass autoreleases on PHP's threads and the shadow thread by @gwleuverink in #547
  • Keep the CA files up to date by @simonhamp in #570
  • Check PHP binary downloads against the manifest's checksums and signature by @simonhamp in #573
  • Start the Android async lane before the first screen runs by @simonhamp in #568
  • Don't publish a frame the native side already has by @simonhamp in #569
  • Only put an iOS node through the modifiers it uses by @simonhamp in #576
  • Keep a list's unchanged rows when it gains or loses rows on iOS by @simonhamp in #575
  • Size a flex row from its flexed children's real height by @simonhamp in #571
  • Name the image fit values with an ImageFit enum by @simonhamp in #572
  • Add the phone's timezone to Device.GetInfo by @simonhamp in #566
  • Honour a11y_label on top-bar actions; make MaterialIcon honour contentDescription by @wojt-janowski in #550
  • Honour a11y-label on pressable and layout containers by @wojt-janowski in #580
  • Keep the extracted Laravel bundle out of Android backups by @simonhamp in #579
  • Accept route() and external URLs in navigate(), replace() and exitToWeb() by @shanerbaner82 in #578
  • Create singleton Compose state on the main thread before the first composition by @thelemon2020 in #577
  • fix: swipes that start on press-* elements don't scroll (iOS) by @SRWieZ in #524
  • Stop the keyboard-dismiss taps cancelling UIKit controls by @simonhamp in #545
  • Measure each flex child once per proposal by @nlo-tronet in #564
  • Flush focused Android input before interactive actions by @wojt-janowski in #565
  • Keep profileable Android builds minified by @simonhamp in #553
  • Don't stop Gradle after 600 seconds by @simonhamp in #500
  • Keep Prompts output on the build after a plugin hook runs by @simonhamp in #509
  • Put the agent guide in the Boost skill: a worked screen, tests and build output by @simonhamp in #517
  • fix: Android crashes when a positional node ID changes type by @SRWieZ in #436
  • Stop iOS re-extracting the bundle on every launch by @simonhamp in #543
  • Fail loudly on element tags nothing can render by @simonhamp in #502
  • Hand unrouted app links back to the browser, warm and cold by @simonhamp in #558
  • Let BroadcastsGlobally events reach native screens, and add a when filter to #[On] by @gwleuverink in #539
  • Let iOS plugins declare scene configurations by @bkuhl in #541
  • iOS: deliver Home Screen quick actions through a scene delegate by @prosenthal828 in #530
  • feature: font-rounded selects the rounded system font design by @SRWieZ in #529
  • Stop the runloop waking a sleeping phone by @shanerbaner82 in #511
  • Make native:validate aware of plugin elements by @simonhamp in #501
  • iOS: keep the per-tab node cache out of the SwiftUI update pass by @sandermj in #461
  • Report a started biometric prompt as started by @prosenthal828 in #522
  • Parse arbitrary percent widths/heights as percentages by @prosenthal828 in #499
  • feat: opt-in image prop on top-bar actions by @prosenthal828 in #537
  • Android: stretch column children like iOS, gated on a definite parent width by @sandermj in #451
  • iOS: start animate-loop on every appearance path by @sandermj in #447
  • Render the nav bar when it carries only actions (iOS + Android) by @sandermj in #441
  • Reconcile native navigation by router stack depth; direction-aware Android stack transitions by @sandermj in #439
  • fix: skip the farewell frame when back() answers a system back by @SRWieZ in #370
  • Let a deep link path ending in * claim a prefix on Android by @simonhamp in #557
  • Shared-element morph transitions (ref + @navigate.morph) by @shanerbaner82 in #372
  • feat: run native route middleware on in-app navigation by @shanerbaner82 in #348
  • fix: deliver native events to nested child components by @shanerbaner82 in #344
  • Keep the query when a native screen exits to a web route by @simonhamp in #583
  • Add NativeComponent::query() helper for a screen's query string by @simonhamp in #401
  • Android: forward deep link queries still percent-encoded by @simonhamp in #581
  • iOS: find a screen's owning tab by its path by @simonhamp in #585
  • Bound TailwindParser's parse cache by @prosenthal828 in #586
  • Sign the iOS simulator app with the app's entitlements by @simonhamp in #582
  • Explain that the version and build number decide re-extraction by @simonhamp in #584
  • Drop the iOS caveats from the ImageFit docblocks by @simonhamp in #589
  • Keep events fired with event() at the screen by @simonhamp in #593
  • Remove the empty nativephp.sqlite committed by accident by @simonhamp in #594
  • Only show Android classic-mode crash details in debug builds by @simonhamp in #592
  • iOS: boot cold deep links to native screens natively by @simonhamp in #591
  • Scroll-view auto-scroll-to in Blade + chrome collapse seam by @shanerbaner82 in #241
  • Keep embedded php webviews out of app-level state by @simonhamp in #587
  • Build the HTTP kernel before ScreenGuard expands middleware groups by @simonhamp in #595
  • iOS: start animate-loop without animating unrelated views by @simonhamp in #598
  • Headless build/verify commands, durable fatal capture, and report() for EDGE exceptions by @shanerbaner82 in #305
  • Only show persistent and webview lane crash details in debug builds by @simonhamp in #597
  • Read the platform from NATIVEPHP_PLATFORM and deprecate Platform by @simonhamp in #596
  • Open off-host redirects outside the app on Android by @simonhamp in #599
  • Open native routes from the php webview on the native stack by @simonhamp in #600
  • Add text-outline for hollow outlined text by @simonhamp in #549
  • Restart a native session that PHP dies in, and raise the memory limit by @simonhamp in #561
  • Send border colours to native without a width, and stop dividers turning black by @simonhamp in #601
  • Move the iOS node decorations into a modifier so Release builds compile by @simonhamp in #602
  • Let a gesture area keep zoomed content on screen by @simonhamp in #603
  • Build the iOS project in Debug and Release on CI by @simonhamp in #604
  • Harden the web-view-reachable bridge surface by @simonhamp in #609
  • Keep async completions that land while a transition is signalled by @simonhamp in #615
  • Pop every level the iOS back history menu pops by @simonhamp in #616
  • fix(android): app crashes if the phone rotates while it's starting by @SRWieZ in #525
  • feature: show-label on top-bar actions by @SRWieZ in #527
  • feat(mobile): support custom native tab bar presentations by @victorycodedev in #560
  • Add HasVirtualListWindow::scrollVirtualListTo() to open a virtual list at a row by @wojt-janowski in #608
  • fix(android): a screen's bg-* doesn't reach the edges in landscape by @SRWieZ in #528
  • Stop iOS builds guessing a build number when App Store Connect fails by @simonhamp in #619
  • Close a leaving screen's sheets and modals in its farewell frame by @martin-ro in #617
  • Open a pressable's menu on a long press with :context-menu by @simonhamp in #621
  • Stop bundling .claude and give rsync and adb install more time by @simonhamp in #622
  • Let a row's shrinking children wrap short of a fixed sibling on Android by @simonhamp in #623
  • WIP - Re-inject the root web view's safe-area insets on rotation on iOS by @bkuhl in #624
  • Fix QR scans and other device events not reaching web-view pages on iOS by @bkuhl in #611
  • Fix QR scans and other device events not reaching web-view pages on Android by @bkuhl in #613
  • Let a gesture area's pan settle on snap points by @simonhamp in #625
  • Add wav(), maxDuration() and level() to the microphone by @simonhamp in #626
  • Fix double encoding characters in external deep link paths by @bkuhl in #605
  • Test against patched Laravel versions so Composer 2.11 can install by @simonhamp in #628
  • Move SECURITY.md to the root and point it at nativephp.com/security by @simonhamp in #627
  • Add CONTRIBUTING.md pointing to nativephp.com/contributing by @simonhamp in #629
  • Opt-in Laravel validation for native screens by @wojt-janowski in #614

New Contributors

Full Changelog: 4.6.0...4.7.0