Bolt Release Notes - iOS App
Table of Contents
4.1.8 - Released 2024-08-09
4.1.3 - Released 2024-06-27
4.0 - Released 2024-05-08
3.23 - Released 2024-04-04
3.22 - Released 2024-03-27
3.21 - Released 2024-03-05
3.20 - Released 2024-01-25
3.19 - Released 2023-11-23
3.18 - Released 2023-11-14
3.17 - Released 2023-09-18
3.16 - Download error messaging (Released 2023-06-30)
3.15 - Performance improvements (2023-05-30)
3.14 - State restoration (Released 2023-04-18)
3.13.5 - iOS API updates (Released 2023-01-26)
3.12.6 - Bug fixes and performance improvements (Released 2023-01-26)
3.12 - Scrubber section picker, Airship Preference Centre and content pre-fetching (Released 2023-01-17)
3.11 - Right to left support and rotation lock (Released 2022-11-21)
3.10 - Subscription levels (beta) and Rotation (Released 2022-09-23)
3.9 - Preview mode and Edition Auto Archiving (Released 2022-07-14)
3.8 - Download, PDF and DFP improvements (Released 2022-05-20)
3.7 - Metered Paywall exclusions (Released 2022-04-07)
3.6 - Hard paywall PKCE auth (Released 2022-04-01)
3.5 - Collection Sets, Voucher codes (Released 2022-03-22)
3.4 - Hidden tabs, Dark mode (Released 2022-01-18)
3.3 - Double page spreads (Released 2021-11-15)
3.2 - Enhanced PDF (Released 2021-09-27)
3.1 - Metered paywall and PDF quality (Released 2021-08-26)
3.0 - Storefronts and Editions (Released 2021-07-30)
2.35 - Audio player update (Released 2021-07-15)
2.34 - Metered Paywall (Released 2021-05-14)
2.33 - ATT (Released 2021-04-15)
2.32 - Bug fixes and optimisations
2.31 - PKCE Receipt Postback
2.30 - Analytics
2.29 - Bug fixes & performance improvements
2.28 - Analytics for purchasing
2.27 - Analytics opt-out
2.26 - Web-based sign in
2.25 - SDK updates
2.24 - Dynamic Timeline Theming
2.23 - Audio Player
2.22 - SDKs
2.21 - Deeplinking Behaviour
2.20 - Background Downloading
2.19 - Firebase Deeplinking
2.18 - Subscriptions
2.17 - Provisional Push
2.16 - Appsflyer
2.13 - Audio player improvements
2.12 - Timelines
2.10 - Native audio player
2.9 - Image viewer and background push
2.8 - State Restoration
2.7 - Deep-linking
2.6 - Help screens, customisation and SDKs
2.5 - Customisation and receipt post back
2.4 - Timeline groups
2.3 - Timeline reordering
2.2 - In-App Purchases
2.1 - Multiple Timelines
1.3 - Offline Support
What's included in the latest version of Pugpig Bolt for iOS. For more detailed breakdowns of major changes check out our update posts.
In order to upgrade to a new version, an app release is required.
4.1.8 - Released 2024-08-09
Major changes
N/A
Additional changes
- Optimised background downloading for editions including better download metrics and logging.
- OneSignal in-app messages can now be triggered based on viewing a certain screen.
- Applied voucher codes can now be cleared from the hidden menu.
- Support for UA / GA3 has been removed.
- SDK updates -
- Firebase 10.24.0
- Firebase 10.24.0
4.1.3 - Released 2024-06-27
This version fixes a widespread issue causing timelines in the app to fail to load, or to load incorrectly with missing assets.
Major changes
- Added support for a push preference centre for customers using OneSignal.
- Added a new user setting for toggling between double and single page view when in landscape.
- Added full page interstitial advert capabilities with Google Ad Manager.
- You can now opt out of any analytics events that you don't wish to receive.
Additional changes
- Added support for a new type of webview tab.
- Added optional alternative method of tracking for Chartbeat analytics, using URL rather than view id.
- Added the option to enable SKAN postback in app config, required for some third party advertising attribution tracking.
4.0 - Released 2024-05-08
Major changes
- Targets iOS 17, this is required for app updates or submissions from 2024-04-29
- Adds support for Privacy Manifests for third-party SDKs, this is required for app updates or submissions from 2024-05-01
Additional changes
- Extended property value limit to 500 characters for customers using Google Analytics 360.
- Fixed an issue where analytics could send with an ‘unknown’ value when a user opens the app after a background download has occurred.
- SDK updates -
- Firebase 10.23.0
- Airship 18.0.1
- OneSignal 5.1.3
- Pushly 1.3.5
- Mixpanel 4.2.3
- Facebook 17.0.0
- DotMetrics 1.7.7
- Chartbeat 1.5.2
- Comscore 6.12.2
- AppsFlyer 6.14.1
- Lottie 4.1.1
- SegmentIO 1.5.8
- Permutive 2.1.0
- AEP 5.0.0
- Braze 8.2.1
3.23 - Released 2024-04-04
Major changes
- Added the ability to the OneTrust consent modal on startup and require user interaction with it
3.22 - Released 2024-03-27
Major changes
- We now support a full end-to-end redirect service. You'll no longer need to handle any of the set up on your side, we'll manage it all.
- Added support for Google's UMP consent provider.
- CMP SDKs now pass the user's consent status to content and timeline webviews, re-enabling full Google Ad support in GDPR regions
Additional changes
- Added the ability to override the screen_view and screen_class GA4-defined custom dimensions to the screen view event.
3.21 - Released 2024-03-05
Major changes
- Added a new scroll depth analytics event to track how much of an article your users are reading.
- Added the option to hide native banner ads for specific users.
- Improved back button behaviour for Enhanced PDF editions. It will now take the user back to their previous view, rather than always returning to the table of contents or Storefront.
- Expanded our content visibility (private/marketing) feature to apply to individual pieces of content as well as whole collections.
- Expanded our issue-based auth implementation to allow support for individual pieces of content as well as whole collections.
Additional changes
- Alignment of items on the timeline picker can now be leading or centred. Behaviour on larger screens or with fewer timelines is improved
- Metered paywall banner can now be hidden after a few seconds
- Save and share icons can now be hidden from the toolbar when inside an article
- Added an optional blur for content behind the paywall
- Added new analytics dimensions for tab group and filter group
- Added a new analytics dimension to see whether a user has any single issue purchases
- Added a new analytics event for PKCE auth token renewal
- User-scoped parameters now also send as event-scoped (GA4)
- Removed any tracking for screen events while the app is in the background
- Improved logging for auth state
- Updated Lottie SDK to 4.4.0
- Updated OneTrust SDK to 202401.1.0
- Updated OneTrust implementation to support per-build versions, so you do not need to use the latest version we have updated to
3.20 - Released 2024-01-25
Major changes
- The Google Mobile Ads inspector is now accessible from the hidden menu on the settings page.
- Added the ability to set an external URL parameter for dark mode, so your website can know if users coming from the app are in dark mode.
- Improved targeting for banner ads on the timeline. Ads can now be targeted by timeline taxonomies.
Additional changes
- Article banner ads will no longer show on pages visible via the metered paywall.
- Audio/Video total and elapsed duration analytics dimensions are now numerical, rather than strings
- Fixed an issue where signing in via app onboarding screens would send you back to the first onboarding screen.
3.19 - Released 2023-11-23
Major changes
- All supported third party SDKs with updates available have been updated to the latest available versions:
- Firebase - 10.17.0
- Airship - 17.5.1
- OneSignal - 5.0.2
- Mixpanel - 4.1.4
- Comscore - 6.11.0
- AppsFlyer - 6.12.2
- Facebook - 16.2.1
- Google Mobile Ads - 10.12.0
- Added new audio events for seek forward/backward (15 seconds) buttons and improved consistency of skip backward button.
- Added video tracking support to Dotmetrics.
- Logs now show if a download happens in foreground or background.
3.18 - Released 2023-11-14
Major changes
- Added the option to display a background on sticky banner ads (the ones stuck to the tab bar at the bottom of articles or timelines) following Google recommendations.
- Query strings to external domains now applies to iframes within the app.
Additional changes
- Added new bridge to identify content paywall state.
- Currently used to not show ads if the paywall is present.
3.17 - Released 2023-09-18
Major changes
- Renaming and tidying all ‘param’ parameter analytics labels to be event-specific so they’re more useful
- Easier bug reporting with the /c/logs/send option, which also allows to set an email default
- Can now share app logs with VoiceOver
- We now use persistent device cookie storage for web auth, iOS will show a system dialog warning the user
Additional changes
- App logs now include whether or not you are in admin mode
- Native bottom sticky banner now supports multiple sizes
- Previously only 320x50, now 320x50 or 300x50
- External links to alias domains will open externally if not linking to content
- Added support for a search modal deeplink, /c/search
- Optimised edition behaviour so that when editions are opened, unless actually updating the content, they no longer appear to redownload
- Updated OneTrust SDK to latest version - 202309.1.0
- Various minor bug fixes and improvements
- Removed toast messages
- Removed support for Matomo
- Dropped iOS 14 support
3.16 - Download error messaging (Released 2023-06-30)
- The storefront will now surface error messages for failed edition downloads
- Local storage data is now preserved across device backups, meaning article progress will persist if the app is installed on a new iOS device.
- Account registration no longer requires the app to also have in-app purchases
- The content URL in Google Ads request via the SDK will now be the app's bundle id
- Added support for Airship Message Center
- PugpigSubscriberStatus, PugpigNotificationsAllowedStatus and UserID now track as user level, as well as event level, parameters
3.15 - Performance improvements (2023-05-30)
- Substantial improvements to downloading, editions should now download faster
- Improved event tracking for content downloads
- Additional specified domains can now have access to the bridge, improving embed support
- Support for triggering background downloads of content
- Much better handling of links to content on alias domains that isn't yet in the app
3.14 - State restoration (Released 2023-04-18)
- Users will now be returned to where they were in an edition when they return to it, for editions without ToCs
- A users state when they backgrounded the app will now be remembered when they foreground it again
- Improved support for external link entitlement on iOS 16 and above
- Dynamic timelines can now be featured in the timeline picker
- Improvements to offline content availability and reliability
3.13.5 - iOS API updates (Released 2023-01-26)
- Targets iOS 16 (along with necessary SDK updates)
- Minimum supported iOS version is now iOS 14
- Adds support for external link entitlement on iOS 16 and above
- Removed old-style native subscription linking, this is now accomplished with web-based auth
3.12.6 - Bug fixes and performance improvements (Released 2023-01-26)
- Fixed bugs relating to the edition scrubber in dark mode
- Added a new analytics event for the dark mode toggle in settings
3.12 - Scrubber section picker, Airship Preference Centre and content pre-fetching (Released 2023-01-17)
- The edition scrubber can now optionally display an interactive list of sections, allowing users to more quickly navigate to them
- Added support for Airship Preference Center
- Change the parental gate to only display once per session, once successfully answered
- Added new tracking capabilities for push notification opt-in
- Tweaked pre-fetch behaviour to more reliably have content available when offline
- Fixed bugs pertaining to interrupted purchases, such as when having to verify payment information or get parental approval
- Added rich push support for OneSignal
- Updated SDKs:
- Facebook 15.1.0
3.11 - Right to left support and rotation lock (Released 2022-11-21)
- Added full Right to Left support for all app features
- Added the ability to optionally lock the app to portrait
- Audio title in action menu will now wrap to 2 lines
- Updated SDKs:
- Airship 16.9.3
- AppsFlyer 6.8.1
- Branch 1.43.1
- Chartbeat 1.5.0
- Facebook 14.1.0
- Firebase 9.6.0
- Google Mobile Ads 9.11.0
- GTM 7.4.2
- Lottie 3.4.3
- Omniture 4.21.2
- OneSignal 3.11.2
- Nielsen 8.2.0
- Permutive 1.5.0
- Zendesk 5.5.0
3.10 - Subscription levels (beta) and Rotation (Released 2022-09-23)
- Added the ability to configure subscription levels within your app that allows a user to upgrade or downgrade to receive different features (Beta)
- Added rotation between portrait and landscape on mobile devices
- Added the ability to print directly from the share menu
- Re-enabled background downloading
- Fixed an issue causing the app to crash when zooming in on PDF editions
- Added support for Chartbeat 1.4.9
- Updated Airship SDK to 16.9.2
- Updated Firebase SDK to 9.4.1
- Updated Lottie to 3.4.1
3.9 - Preview mode and Edition Auto Archiving (Released 2022-07-14)
- Added the ability to automatically delete editions that haven’t been interacted with in a given amount of time
- Added the ability to preview draft content within a live app, using a pugpig provided code
- Added the ability to display a message from your auth response on the app paywall that differs from the standard one shown to all logged out users
- Added support for displaying dates and times in different formats on timeline cards
- Improved receipt postback/cross entitlement flow to ensure users always see the link subscription button if eligible
- Fixed an issue where you could only share the even numbered page of a double page spread when in the single page/mobile view
- Added support for user authentication DUTA model
- Updated Facebook SDK to 13.2
- Disabled background downloading pending a fix in 3.10
3.8 - Download, PDF and DFP improvements (Released 2022-05-20)
- Improvements and fixes for edition downloading
- Downloaded content on Storefront tabs should more consistently stay downloaded
- Storefront download indicators should now consistently reflect the state of the edition
- Downloads can now be cancelled from the storefront
- Improvements to double pages spread PDF behaviour and appearance
- Fixed an issue where tap to zoom would take you to a different location than intended
- The first and last pages in a double page spread edition now fit the display better
- Improvements to DFP ad functionality
- We now set a content URL in DFP ad requests for content view pages
- Added the ability to include custom data tags in DFP ads
- Updated collection sets screen to be more in line with existing onboarding screen design
- Added the ability to delete individual editions via the storefront
3.7 - Metered Paywall exclusions (Released 2022-04-07)
- Added the ability to exclude specific content from the metered paywall
- Various bug fixes
3.6 - Hard paywall PKCE auth (Released 2022-04-01)
- Added support for using PKCE authentication on a hard paywall
- Added the ability to exclude certain content from a subscription
- Added support for having different coloured tab icons on the bottom navigation menu
- Increased the Max zoom level on PDFs from 4x to 6x
- The required auth screen can now optionally show the register screen rather than the sign in screen
3.5 - Collection Sets, Voucher codes (Released 2022-03-22)
- Added Collection set support, which allows a users to select specific regions/locales to receive content from
- Improved voucher code support, allowing users to redeem more than one code at a time without having to log out
- Added a parental gate option for apps aimed at children. This will show when a user tries to access either an in-app purchase, or external link
- Added support for OneSignal
- Now targeting iOS 15
3.4 - Hidden tabs, Dark mode (Released 2022-01-18)
- You can now configure tabs which do not display on the bottom tab bar, but are accessible from a deeplink
- Support for dark mode throughout the app, including inheriting from the system setting
- Users can now initiate the download of specific editions from the storefront, and see which editions they have downloaded
3.3 - Double page spreads (Released 2021-11-15)
- Support for viewing PDFs as a double-page spread
- Ability to configure whether a link opens the PKCE login or register flow
- Ensured signed in users remain signed in when updating from Publish to Bolt
- Images on the timeline can now be opened in the full screen gallery view
- Printing support
3.2 - Enhanced PDF (Released 2021-09-27)
- Enhanced PDF support - users can tap on articles in the PDF view to open the HTML version of that article
- Ability to skip the table of contents when opening an edition and go straight to the first page
- Improved edition navigator with page numbers and section names
3.1 - Metered paywall and PDF quality (Released 2021-08-26)
- Increased PDF fidelity
- Ability to meter the in-app paywall, giving the users the ability to read a customisable number of articles before being presented with the paywall
- Ability to dismiss the miniplayer with a swipe gesture
3.0 - Storefronts and Editions (Released 2021-07-30)
- Support for editions of HTML or single-page PDF content
- Storefront tabs displaying edition covers in various layouts
- Single issue purchasing
- Editions can be explicitly downloaded and stored on the device
- Support for deeplinks to specific editions
2.35 - Audio player update (Released 2021-07-15)
- Audio player visual refresh Increased the metadata we show on the context menu to include duration, artwork and optional custom data
- Updated download behaviour for both single tracks and all tracks
- Added a miniplayer giving users the ability to control playback from anywhere in the app
2.34 - Metered Paywall (Released 2021-05-14)
- Added support for metered paywalls, allowing users to read a set amount of articles for free before needing to subscribe
- Added Single issue purchase support
2.33 - ATT (Released 2021-04-15)
- Added support for Apple's App Tracking Transparency, allowing users to opt-in or out of tracking
2.32 - Bug fixes and optimisations
- Various small fixes and improvements
2.31 - PKCE Receipt Postback
- Added receipt postback support for 4.1 auth providers so users can link their in-app subscriptions to an existing account
2.30 - Analytics
- Added an analytics event for if a user changes their app icon
2.29 - Bug fixes & performance improvements
- Bug fixes & performance improvements
2.28 - Analytics for purchasing
- Added and adjusted analytics events for purchase-related actions ie restoring a subscription or dismissing a paywall
2.27 - Analytics opt-out
- Added the ability to toggle analytics tracking on or off from a settings item
- The app will now deeplink to iOS push settings if a user has already seen the push permission prompt
2.26 - Web-based sign in
- Added support for web-based sign in
- Added a new method for removing the floating audio icon Improvements to image gallery view to prevent image extending off the screen
- Added support for gifs in the image gallery
2.25 - SDK updates
- Added support for Facebook core SDK
- Updated Airship SDK to latest version
2.24 - Dynamic Timeline Theming
- Ability to dynamically theme timeline picker, toolbar logo and toolbar from values in the feed on a per timeline basis
- Added support for hidden timelines, not visible in the timeline picker
- Restored ability to link to a specific position on the timeline
- Added the ability to choose your own app icon from a settings screen Improved content fetching on app re-foreground (more often)
- Added support for Branch SDK
- Added support for Mixpanel analytics and push notifications
2.23 - Audio Player
- Implemented new Audio Player with queue and download management capabilities Implemented floating audio icon for quick access from anywhere in the app.
2.22 - SDKs
- Updated Firebase and Adobe Analytics SDKs to latest versions
2.21 - Deeplinking Behaviour
- Changed deeplinking behaviour for 2nd level pages - now pushed onto the stack rather than opening in original tab
- Removed Zendesk chat support
2.20 - Background Downloading
- Added support for full screen video help screens
- Added fully fledged background downloader to ensure content is up to date
- Added support for Firebase in-app messaging
- Added pull to refresh functionality to timelines
- Added a text resize option in settings
- Improved analytics reporting for help screens
- Articles now show as read when swiping through content
- Timelines now show a last updated time
- Dropped iOS 10 support for customers using Airship
2.19 - Firebase Deeplinking
- Added support for Firebase push notification deeplinking
2.18 - Subscriptions
- Added additional theming options for subscription modal
- Added new command deeplinks for sign-in; subscribe and onboarding screens
- Additional subscription modal visual improvements
- Fixed an issue where edit timelines in settings didn't load
- Dropped support for receipt postback on iOS 10
2.17 - Provisional Push
- Added support for provisional/deliver-quietly push on iOS 12 and above
- Added deeplink to the receipt postback UI
2.16 - Appsflyer
- Added support for Appsflyer
2.13 - Audio player improvements
- Added the ability to theme timeline error screen
- Added a loading/buffering indicator to the audio player
- Added the ability to pause buffering
- Tapping the audio player now maximises it rather than minimising
2.12 - Timelines
- Added support for private and marketing timelines
- Added a themable border to top of audio player
2.10 - Native audio player
- Update Lottie to 3.0.4
- Update Airship to 10.2.1
- Added the option to display the toolbar logo when in content view
- Added native audio support
- Added the ability to play audio within the app through a dedicated, themable UI
- Dropped support for iOS 9
2.9 - Image viewer and background push
- Added the ability to open in-content images in a swipable, full-screen view
- Added support for search as a custom web view tab
- Ability to open the saved timeline from settings
- Feed updates can now be triggered by a background push
2.8 - State Restoration
- Added state restoration which will remember your position in the app indefinitely
- The app will now remember your position inside a content view for 30 days
- Add DFP key-value pairs for platform and and ad unit to improve target ability
2.7 - Deep-linking
- Added support for iTunes promoted purchases
- Reworked deep-linking to preserve the context of content, enabling saving, sharing and swiping between linked-to content
2.6 - Help screens, customisation and SDKs
- Toolbars in the content view now minimise on scroll
- Toolbars in the tab view are now minimised, not invisible, when toggled off
- Added native onboarding screens which show on first run
- Added the ability to deep-link to timelines and other tabs
- Added the ability to show a short animation on app open
- Added support for Adobe Analytics
- Single timeline apps no longer show the "customise your timelines" toast message
- New sign-in screen with support for multiple links, the absence of a cancel button and much greater theming capabilities
- Added support for the Zendesk Chat, Guide and Support SDKs
- Added support for Urban Airship
- Added support for customisable settings screens, with external help screens
- Added the ability to toggle a tabs toolbar off via config
- 3rd party push provider support added
- Made the today widget work correctly with multiple timeline groups
2.5 - Customisation and receipt post back
- Added support for a hard paywall which cannot be dismissed until the user has signed-in
- Tabs can now be web views, allowing almost anything to be hosted within the app
- Bottom menu can be entirely customised in terms of composition, icons, names and theme
- Added support for iTunes receipt postback, allowing in-app purchases to be associated to an entity in a 3rd party subscription system
2.4 - Timeline groups
- Added support for timeline groups, AKA multiple multiple timelines
- Added configuration mode, allowing the preview of new configs within the live app before deploying them.
2.3 - Timeline reordering
- Added the ability to choose the order in which your timelines appear
- Added a message which pops on first run and informs users of the ability to choose and reorder timelines
- Made the today widget work correctly with multiple timelines
2.2 - In-App Purchases
- Added the ability to purchase access to premium content via auto-renewing subscriptions from the App Store
- Added a paywall that gives users the opportunity to sign in or purchase a subscription from the timeline or in the content view
- Timelines can now contain a mixture of paid and free content
- IAP purchases support
- iTunes introductory pricing
- Supports having a different layout for the first article in a timeline
2.1 - Multiple Timelines
- Added support for multiple timelines. The app can now present numerous timelines which the user can swipe between. The user can also edit which timelines they see
- The app can now feature help, terms and conditions and help screens
- Added "share this app" and "rate this app" functionality
- Added a settings view, accessible via the bottom menu
- Redesigned bottom menu, providing access to the saved timeline and settings
- Improved saved timeline behaviour
- Added the ability to swipe between widgets within the content view
- Added the ability to serve DFP ads in the content view via a 320x50 bottom banner
- Bolt now uses our new version of the timeline, which is much faster than previous iterations
1.3 - Offline Support
- Offline support. Bolt now pre-caches content that can be read later without a connection
- Paywall. Bolt content can now be hidden behind a paywall connected to your authorisation system
- Support for Playbuzz content as an iFrame in the app's timeline
- Various bug fixes and optimisations