Skip to main content

Changelog

A complete release history for Portals for iOS is available on GitHub. Documentation for recent releases can also be found below.

0.8.0

minorLatest Production Version

May 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

  • feat!: Breaking overhauls the pub/sub system (#71)
  • feat!: BREAKING update to Capacitor 5 (#72)
  • feat!: BREAKING Required Manual Plugin Registration (#73)
  • feat!: BREAKING Make WebVitals a plugin (#74)

0.7.3

patch

February 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

  • feat: Asset maps (#66)
  • chore: Update IonicLiveUpdates max version upper bound (#67)
  • chore: Bump max IonicLiveUpdates version (#68)

0.7.2

patch

February 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.7.1

patch

December 14 2022

New Feature Plugin Registration

There are now options for how to register plugins for a given Portal. This provides more control for Native developers. You can read more about how to use the feature here

What's Changed

  • feat: Add plugin registration API (#58)
  • fix: Use updated configs if available (#59)
  • fix: Refactor codable support (#60)

0.7.0

minor

November 22 2022

This release upgrades Portals to use Capacitor 4.

UPGRADE GUIDE

What's Changed

  • feat: Update to Capacitor 4 (#53)
  • feat: always have an initialContext (#54)

0.6.5

patch

October 18 2022

What's Changed

  • fix: fix base64url conversion (#49)
  • chore: Remove mention of Cordova plugins being supported from README (#50)
  • fix: Don't let capacitor take over as UNNotificationCenterDelegate (#51)

0.6.4

patch

September 20 2022

What's Changed

  • feat: Make live updates 0.2.0 compatible with IonicPortals (#45)

0.6.3

patch

August 4 2022

What's Changed

  • feat: Add the ability to specify a custom LiveUpdateManager (#35)
  • feat: Add the ability to specify a default file to load other than index.html (#36)
  • fix: Make reload on PortalUIView work (#37)

0.6.2

patch

July 12 2022

What's Changed

  • feat: Make Portals Bundle agnostic (#32)
  • fix: Show UIAlert for registration error when presenting UnregisteredView (#33)

0.6.1

patch

May 25 2022

What's Changed

  • Add SPM Support (#28)
  • Support iOS 13 (#30)

0.6.0

minor

May 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)

0.5.2

minor

April 26 2022

What's Changed

  • feat(ios): use @objc for bridge and auxiliary APIs (#4)
  • Swift ergonomics (#8)
  • feat: Make PortalBuilder factory methods annotated with @discardableResult (#10)
  • fix: Swift Concurrency (#11)
To see more releases, visit GitHub.