Changelog
A complete release history for Portals for iOS is available on GitHub. Documentation for recent releases can also be found below.
December 1 2023
Capacitor Configuration API
We are pleased to introduce a new API for configuring the Capacitor runtime. This API offers a set of configuration options that closely align with those found in the Capacitor configuration file ( options detailed here) . For comprehensive details, please refer to the "Advanced Configuration" section here.
Development Mode
We have now introduced a development mode for web developers. The devModeEnabled
property is now available on Portal, allowing you to control to give a better development experience for your web developers.
In this mode, the Portal web content can be substituted with content from a development server URL, which complements the portals serve ios
CLI command. Usage docs can be found here. More than likely web developers will use Development Mode in conjunction with a locally running web server so that development and testing can be done within an emulator on a physical device.
Please note that this mode is enabled by default and exclusively accessible during debug builds. For release modes, the application will consistently use the included content. To deactivate development mode for a Portal, you can easily set devModeEnabled
to false
, either during Portal initialization or by directly modifying the property. Explore this feature to optimize your development workflow with Ionic Portals.
To upgrade from the previous release please reference the UPGRADE GUIDE.
What's Changed
0.8.0
minorMay 17 2023
Pub/Sub system overhaul
This update simplifies the iOS pub/sub system for Ionic Portals, addressing the issue of Plugin subscriptions not being properly disposed when a Portal is dismissed. More details on usage can be found here. Key improvements include:
-
Utilizing Capacitor for Event Handling: We now use Capacitor for event publishing, simplifying unsubscribing with provided handles, eliminating the need for arbitrary integers.
-
Combine Integration: The pub/sub system now utilizes Apple's Combine framework, making subscription management more straightforward and efficient.
-
Introducing PortalsPubSub Class: A new PortalsPubSub class allows scoping events to specific portals, enhancing system organization.
Portals now uses Capacitor 5
This release also moves Portals to Capacitor 5 while requiring all plugins to be manually registered. More info on usage can be found here.
Web Vitals moved to a Plugin
And finally we have moved WebVitals into a plugin that can be registered for each Portal. Usage can be found here.
To upgrade from the previous release please reference the UPGRADE GUIDE.
What's Changed
0.7.3
patchFebruary 27 2023
New Feature Asset Maps
If you are developing an application that contains multiple Portals, the Portals library supports the ability to share asset files between them. This is helpful to reduce the size of your overall app if those Portals use assets that are the same such as large media files or font files. These are called Asset Maps. You can find out more about how to use them here.
What's Changed
0.7.2
patchFebruary 6 2023
New Feature Web Vitals
You can now observe the FCP (First Contentful Paint) on a specific Portal. A faster FCP has several key benefits for. It enhances user perception by providing quick visual feedback that a web app is loading and can reduce the perception of delay. To read about how to make use of these new feature you can read the documentation here
What's Changed
- feat: Adds ability to observe FCP metrics from embedded web apps (#63)
0.6.0
minorMay 23 2022
What's Changed
- breaking: Update PortalManager to be a singleton. (#16)
- fix: Add cap config and cordova config urls to InstanceDescriptor (#17)
- breaking: Grand Renaming (#18)
- breaking: Update IonicLiveUpdates to ~> 0.1 (#19)
- breaking: Clean(er) Objective-C API (#20)
- feat: Adds ExpressibleByStringLiteral to
Portal
(#22) - breaking: Remove centralized Portal management (#21)
- fix: Properly coerce NSDictionary to JSObject like Capacitor does. (#23)
- breaking: API Alignment (#24)
- fix: Make PortalsPubSub.publish non-blocking (#25)
To see more releases, visit GitHub.