Changelog
All notable changes to sadiqk2/nativephp-symfony-mobile-bundle.
The format is Keep a Changelog and this
project follows Semantic Versioning — with
the caveat every 0.x carries: the minor number is where breaking changes live
until 1.0.0.
[Unreleased]
[0.1.1] - 2026-09-09
The package is renamed. native-symfony/mobile-bundle was never published:
Packagist blocks vendor names carrying a framework's trademark, so 0.1.0 could
not be submitted under it. This release is 0.1.0's code under a name that can be.
Changed
- Renamed to
sadiqk2/nativephp-symfony-mobile-bundlefromnative-symfony/mobile-bundle. No class, service id, configuration key or console command changed — a Composer vendor name and a PHP namespace are separate things, andNative\Symfony\Mobile\is untouched. Nobody can be installing the old name, because it was never on Packagist. MobileRuntimePatcher::SHIM_DIRnow points atvendor/sadiqk2/nativephp-symfony-mobile-bundle/src/Resources/bootstrap. The constant holds an install path, so it had to follow the package name; a stale value would leavenative:mobile:installunable to find the SAPI shim it copies.
[0.1.0] - 2026-09-08
First public release. Read the caveat under Not verified before shipping anything with it.
Added
- All 54 bridge methods, wrapped across 16 API groups:
Camera,Scanner,Geolocation,Biometric,SecureStorage,PushNotifications,Device,System,Network,Files,Dialog,Share,Browser,Microphone,PerformanceandMobileWallet. FakeBridge, and it is what makes development possible at all.nativephp_call()is a compiled extension that exists only inside a packaged app, so off a device every call returnsnulland a working application is indistinguishable from a broken one. The fake records instead.- The SAPI shim and persistent runtime —
MobileRuntime,ServerRequestFactory,ResponseEmitterand the four bootstrap scripts the iOS and Android hosts load. - The full native-UI path: element trees, the Tailwind-subset style parser,
#[NativeScreen]routing, and a component lifecycle with callbacks. Byte- verified against upstream's own renderers wherever a comparison exists. - A Twig authoring layer for element trees, so a native screen is written the way the rest of the application is.
- Commands:
native:mobile:install,native:mobile:manifest,native:mobile:doctor,native:mobile:runandnative:mobile:build, the last with--dry-run,--stage-only,--aaband iOS export options.
Not verified
No build produced by these commands has been opened by Xcode or Android
Studio, and no screen has been rendered on a phone. There is no Xcode or
Android SDK in the environment this was built in. Everything up to that boundary
is tested and --stage-only stops exactly there. Device verification is the
single most valuable contribution anyone with a Mac or an Android SDK can make.
Notes
- The WebView path is what most applications want, and it is reached by
construction: an application that declares no
#[NativeScreen]produces no native-route manifest, so both platforms'BootPlannertakes the WebView. Controllers and Twig templates are unchanged; the new thing is the device API. native:mobile:installprints a licensing caution deliberately. NativePHP Mobile is sold as a product, though themobile-airrepository itself is MIT. Read its terms rather than either summary.