Bolt Release Notes - Android App
Table of Contents
3.23 - Released 2024-04-11
3.22 - Released 2024-03-27
3.21 - Released 2024-03-05
3.20 - Released 2024-01-10
3.19 - Released 2023-12-13
3.18 - Released 2023-11-23
3.17 - Released 2023-09-25
3.16 - Billing Library 6, Material 3 and download error messages (Released 01/08/2023)
3.15 - Link handling, Amazon purchasing updates and download improvements (Released 05/06/2023)
3.14 - State restoration (Released 28/04/2023)
3.13.6 - Android API version updates (Released 14/02/2023)
3.12.9 - Bug fixes and performance improvements (Released 26/01/2023)
3.12 - Scrubber section picker, Airship Preference Centre and content pre-fetching (Released 17/01/2023)
3.11 - Right to left support (Released 25/11/2022)
3.10 - Subscription levels and performance (Released 04/10/2022)
3.9 - Preview mode and Edition Auto Archiving (Released 14/07/2022)
3.8 - Download, PDF and DFP improvements (Released 23/05/22)
3.7 - Metered Paywall exclusion (Released 07/05/22)
3.6 - PKCE auth on hard paywall (Released 04/04/22)
3.5 - Android API 31 (Released 14/03/22)
3.4 - Timeline sets, Voucher codes (Released 03/02/22)
3.1 - Metered paywall and PDF quality (Released 08/10/21)
3.0 - Storefronts and Editions (Released 03/09/21)
2.18 - Metered Paywall and Audio player update (09/08/21)
2.17 - Bug fixes & performance improvements (Released 23/04/21)
2.16 - Airship
2.15 - Bug fixes & performance improvements
2.14 - PKCE Receipt Postback
2.13 - PKCE Auth and Analytics
2.12 - Audio floater
2.11 - Audio player
2.10 - Dynamic timeline theming
2.9 - Timeline performance
2.8 - AndroidX & Text resize
2.7 - Purchasing
2.6 - Firebase Deep-linking & Native Audio
2.5 - Timeline Deep-linking
2.4 - Private & Marketing Timelines
2.3 - Timeline reordering
2.2 - In-App Purchases
2.1 - Multiple Timelines
1.5 - Offline Support
What's included in the latest version of Pugpig Bolt for Android. 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.
Note that dates are in YYYY-MM-DD or DD/MM/YY format
3.23 - Released 2024-04-11
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
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.
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 6.3.0
- Updated OneTrust SDK to 202401.1.0.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-10
Major changes
- 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.
- 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
- 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.
- Fixed an issue where tapping the back button on a page accessed via toolbar icon would take the user to an incorrect page.
3.19 - Released 2023-12-13
Major changes
- All supported third party SDKs with updates available have been updated to the latest available versions:
- Firebase - 32.5.0
- Airship - 17.3.0
- OneSignal - 5.0.3
- Google Analytics - 18.0.4
- Mixpanel - 7.3.2
- Chartbeat - 1.7.3
- Comscore - 6.10.0
- AppsFlyer - 6.12.4
- Facebook - 16.2.0
- Zendesk Support - 5.2.0
- Google Mobile Ads - 22.5.0
- Google Tag Manager - 18.0.3
- 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.
Additional changes
- Added new content web view bridge to be able to mark content as excluded from native touches.
- This will allow carousels and other content to swipe/scroll without moving the page.
- Ensure users who update their device to Android 13 will see the native push prompt.
- Matched 'last updated' banner behaviour to iOS, ensuring it more accurately reflects the update time.
3.18 - Released 2023-11-23
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-25
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
- Matched back button behaviour to iOS on hidden tabs. It is now shown in the toolbar rather than only relying on the native system tray back button
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
- Added an image count to galleries on Android to match iOS
- Re-introduced the toolbar back button when users are on a hidden tab, rather than only relying on the native button
3.16 - Billing Library 6, Material 3 and download error messages (Released 01/08/2023)
- Updated to Google Billing Library 6, this utilises Google Play's new in-app purchase framework
- Updated many UI elements to follow Material 3 guidelines
- 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 Android 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 parameters to Mixpanel and Firebase
3.15 - Link handling, Amazon purchasing updates and download improvements (Released 05/06/2023)
- Improved event tracking for content downloads
- Additional specified domains can now have access to the native bridge, improving embed support
- Support for triggering background downloads of content
- Improvements to memory usage and performance
- Much better handling of links to content on alias domains that isn't in the app yet
- Updated to Amazon Billing Library 3.0.3, fixing several bugs
- Updated Ipsos/Dotmetrics SDK to 1.17.3
3.14 - State restoration (Released 28/04/2023)
- Users will now be returned to where they were in an edition when they return to it, for editions without ToCs.
- A user's state when they backgrounded the app will now be remembered when they foreground it again
- Dynamic timelines can now be featured in the timeline picker
- Significant downloader changes to bring inline with iOS
- Improvements to memory usage and performance
- Added support for double page spreads
3.13.6 - Android API version updates (Released 14/02/2023)
- Targets Android API level 33
- Removed old-style native subscription linking, this is now handled by web-based auth
3.12.9 - Bug fixes and performance improvements (Released 26/01/2023)
- Fixed an issue that could cause certain links to crash the app when opened
- 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 17/01/2023)
- 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
- The metered paywall now applies to content that is only interacted with on the timeline, such as video or audio cards
- Tweaked pre-fetch behaviour to more reliably have content available when offline
- Updated SDKs:
- Airship 16.8.0
3.11 - Right to left support (Released 25/11/2022)
- Added full Right to Left support for all app features
- Added the ability to optionally lock the app to portrait
- Changed the appearance of the app loading mask to a spinner
- Updated SDKs
- Firebase (31.0.2)
- Google Ads (21.3.0)
- GA and GTM (18.0.2)
- Removed support for NewRelic
3.10 - Subscription levels and performance (Released 04/10/2022)
- Added subscription levels, this allows apps to feature subscriptions in multiple tiers with different levels of benefits. Users are able to upgrade or downgrade from within the app (Beta)
- Several improvements to the paywall UI
- Numerous performance improvements, mainly focused on mitigating out-of-memory issues.
- Several crash fixes
- Update Appsflyer SDK to 6.9.0
- Text resize now applies to the storefront as well
- Apps can now be used in landscape in all device. 3.11 will add the ability to disable this on phone if desired
- Updated Facebook SDK to 13.2
- This release temporarily breaks single issue purchases on Amazon devices. This will be resolved in the next release.
3.9 - Preview mode and Edition Auto Archiving (Released 14/07/2022)
- 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
- Added support for user authentication DUTA model
- Updated Facebook SDK to 13.2
3.8 - Download, PDF and DFP improvements (Released 23/05/22)
- 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 exclusion (Released 07/05/22)
- Added the ability to exclude specific content from the metered paywall
- The required auth screen can now optionally show the register screen rather than the sign in screen
3.6 - PKCE auth on hard paywall (Released 04/04/22)
- Added support for using PKCE authentication on a hard paywall
- Added support for having different coloured tab icons on the bottom navigation menu
- Added the ability to opt-in (from a default opt-out state) to AAID collection
- Fixed anchor linking for media cards on the timeline
- Updated Airship to version 16.2
- Increased PDF image resolution
3.5 - Android API 31 (Released 14/03/22)
- We are now targeting Android API level 31
- Added support for OneSignal
- Added support for Blueshift
3.4 - Timeline sets, Voucher codes (Released 03/02/22)
- Added timeline set support which shows a screen during the onboarding process that allows users to filter the set of selected timelines. Ideal for apps featuring multiple regions or languages
- Added voucher code support allowing users to get access by entering a code. Can be used to redeem multiple offers without losing the previous ones
- Increased PDF fidelity
- Added the ability to display a subscribe button on the storefront
- The metered paywall banner can now link to any URL or deeplink
3.3 - Hidden tabs, Dark mode, Background fetch (Released 15/12/21)
- Improved background fetch capabilities to enable content to update while the app is not in use
- You can now configure tabs which do not display on the bottom tab bar, but are accessible from a deeplink
- Added support for dark mode, which can be configured via your device settings
- Added buttons to the storefront to allow the download of individual editions, and indicate which editions are currently available offline
3.2 - Enhanced PDF (Released 15/11/21)
- 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
- 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 08/10/21)
- Ability to meter the 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 03/09/21)
- 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.18 - Metered Paywall and Audio player update (09/08/21)
- 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
- Improved audio player with a visual refresh
- Added more theming options to app help screens that show on first launch
- Various SDKs updated to their latest versions - OneSignal, GTM, Firebase, Airship and Appsflyer
- Improved support for localisable strings and relative timestamps on the timeline
2.17 - Bug fixes & performance improvements (Released 23/04/21)
- Updated Facebook SDK to 9.1
- Added support for additional settings deeplinks
2.16 - Airship
- Improved support for Airship in-app automations
- Updated Airship SDK to latest version
2.15 - Bug fixes & performance improvements
- Various bug fixes and optimisations
2.14 - PKCE Receipt Postback
- Added support for custom dimensions being added to Firebase screenview events
- Added "Review this app" prompt after a certain level of user engagement
- Added receipt postback support for PKCE auth providers so users can link their in-app subscriptions to an existing account
- Improved toolbar behaviour when vertically scrolling through content
2.13 - PKCE Auth and Analytics
- Added analytics events for actions within the audio player
- Added support for PKCE-based Oauth flows
- Added support for Mixpanel push notifications
- Added the ability to toggle analytics tracking on or off from a settings item
- Added a new settings item that can open an external link
2.12 - Audio floater
- Implemented themable floating audio icon for quick access from anywhere in the app
- Added a new method for removing the floating audio icon
-
Added support for Facebook core SDK
2.11 - Audio player
- Implemented new Audio player with queue management capabilities
- Added support for hidden timelines, not visible in the timeline picker
- Added support for per tab toolbar icons that can open a URL
2.10 - Dynamic timeline theming
- Added the ability to dynamically theme timeline picker, toolbar logo and toolbar from values in the feed on a per timeline basis
- Added the ability to choose a custom app icon from a screen in settings
- Added support for custom analytics dimensions passed through into content
- Added support for Mixpanel analytics
- Added support for New Relic
- Added support for Branch
- Updated minimum supported version to lollipop (API 21)
2.9 - Timeline performance
- Updated Zendesk, Appsflyer and Adobe SDKs to latest versions
- Added the option to include a video to the app onboarding screens
- Added pull to refresh functionality to timelines
- Added a text resize option in settings
- Added support for round icons
- Added support for creating 3rd party accounts after in-app purchases
- Improved downloading of timelines to improve performance
- Timelines now show a last updated time
- Move crash reporting from Fabric to Firebase
2.8 - AndroidX & Text resize
- Initial support for AndroidX
- Updated to Java 8 to allow Exoplayer capabilities
- Updated Airship SDK to latest version
- Added the ability to show a video on the onboarding screen
- Added the ability to theme the toolbar logo in content view
- Added Analytics event for tapping onboarding action button
- Added firebase in-app messaging support
- Added the ability to resize text from settings
- Updated the image layout for the onboarding screen
- Audio player will now be dismissed if the track finishes or if the app is force closed
- Paywall now displays authorisation message, sign in and and subscribe buttons when necessary
- Stories are now set to read if user stays on an article for 3 seconds
2.7 - Purchasing
- Added new pricing strings and the ability to add purchase calls to action on certain buttons
- Add support for localisable strings with substitutions
- Added the ability to deep link to onboarding screens
2.6 - Firebase Deep-linking & Native Audio
- Added the ability to edit timeline in settings
- Added native font theming for timeline picker
- Added deep linking support for firebase
- Added support for external URLs as in-app deep links
- Added deep link support to subscription modal and sign in screen
- Added ability to theme Sign in and Subscribe cancel buttons
- Added ability to set custom settings banner background colour
- Added support for free trial/introductory pricing
- Added additional theming options for subs modal
- Added option to have a help screen deep-link action button
- Added ability to handle subscriptions that are no longer actively sold
- Added native audio support
- Added background colour to audio player if album art does not exist
- Content view toolbar will now hide on scroll
- Added default image for audio notifications
- Removed time from audio player notifications
- Disabled buttons now visually reflect the fact that they're disabled
2.5 - Timeline Deep-linking
- Added support for deep-links to non-content areas of the app
- Added support for deep-linking to specific timeline groups
- Added support for Airship tags and named user capabilities
- Added ability to deep-link to a specific timeline within a timeline group
2.4 - Private & Marketing Timelines
- Updated Amazon IAP SDK to v2.0.76
- Added support for the latest Zendesk SDK
- Added support for both private and marketing timelines
- Added the ability to include saved timeline in a settings tab
- Added draft tag to draft timelines in preview builds
- Added progress indicator dots for onboarding pages
- Added image gallery viewer - a user can tap on an image to swipe through all in an article
- Added the ability to open article URLs as deeplinks
- Improved theming options for settings page
- Onboarding images now scale to fit on smaller devices
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.5 - 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