Changelog#
11.2.0 - 21.01.2026#
New Features#
- Added
startedAwareStory ordering mode that groups Stories by progress: unread → in progress → completed. This feature is gated behind thepageReadStatusfunctional feature flag
Improvements#
Skipped Storyanalytics event is no longer fired when the user is on the last page of a story, as navigating from the last page is not considered a "skip". See Analytics for details- Improved experience of resuming Stories that were previously opened or fully viewed
Bug fixes#
- Fixed LIVE chip overlapping story title and incorrect corner radius on circular tiles when using large Dynamic Type with automatic row height
- Fixed Clips bottom banner ads rendering cut off after rotating the device
- Fixed Story resume selection to use array indices and filtered empty Stories to prevent crashes in Story opens and deeplinks
- Fixed an issue where the Search results page could be overlapped by Search suggestions when tapping outside of the text field
11.1.0 - 26/12/2025#
Breaking Changes#
- Updated
StorytellerTileTypeto includecategories: [StorytellerCategoryDetail]for both.clipand.storycases inStorytellerListViewDelegate.onTileTapped(type:). For more information, see onTileTapped
New Features#
- Added support for Non Skippable Ads. For more information, see Non Skippable Ads
- Added
setCustomAttributes(_:)method to StorytellerUser for setting multiple custom attributes at once by overwriting current ones - Implemented support for the
customLiveChipTextparameter for Story Tiles, allowing configuration directly via the CMS - Added support for showing Banner Ads at the bottom of the Clips Player. See Ads for more information
- When the Player volume is 0, it will now be treated as muted. The
isMutedproperty in analytics events will be set totrue - Like and Share values on the Clips Player can now be hidden, controlled through the CMS
Bug fixes#
- Fixed an issue where rapid swiping through clips could cause new clips to be inserted before the currently viewed clip
- Fixed UI issues in the WebView on iOS 26
- Fixed an issue where calling
Storyteller.shared.openCollectionwith a destination parameter was being ignored - Fixed an issue where the Stories Rows and Grids themes were not applied to the Instructions screen
- Fixed an issue where the Poll Answer View did not occupy the full available width
- Fixed a case where the Story Player close animation would target the center of the screen instead of the proper Story Tile
- Fixed an issue where a native video ad might use an incorrect duration from the GAM module
- Fixed an issue where the Clips Player close animation targeted the tile instead of the center of the screen when an Ad was displayed
- Fixed an issue where Ad Banners were not accessible when VoiceOver mode was active
- Constrained round tile live chip custom images to not overflow the tile's bounds and resize to fit
- Fixed several tvOS focus issues while navigating through the lists and after dismissing the Player
- Fixed an issue where
currentCategorycould be missing in analytics for Stories lists configured with thefollowingcategory - Fixed an issue where embedded clips could have no sound or fail to resume playback after dismissing a player presented on top
- Fixed issues with the Followable Category button where it could remain in a pressed state after a cancelled swipe and the icon was not respecting the theme color
11.0.5 - 24/11/2025#
Bug fixes#
- Fixed an issue where analytics could report a story’s category instead of the configured list category for the
currentCategoryproperty
11.0.4 - 12/11/2025#
Improvements#
- Added
StorytellerClipCollectionConfiguration.openReasonto track the reason a Clip Collection was opened for analytics purposes, such as when opened via external deeplinks
11.0.3 - 11/11/2025#
Bug fixes#
- Resolved an issue where the UIView wrapper for StorytellerCard was incorrectly adding extra safe area padding
Improvements#
- Moved Mute button from the Clips navigation header to the action buttons section
- Added support for a compact Clips primary action button size, configurable in the CMS
11.0.2 - 29/10/2025#
Bug fixes#
- Fixed an issue where reloading the Following tab with no clips could throw an error
- Fixed an issue where
recalculatedSizecould have incorrect values in Grids and Cards views - Fixed incorrect progress bar positioning in the Clips player when opened from a list
Improvements#
- Added
removeFollowedCategories(categories: [String])to StorytellerUser
11.0.1 - 06/10/2025#
Bug fixes#
- Added support for trackingURL as an optional parameter in GAM adapter, enabling ad rendering functionality regardless of its presence
- Fixed a memory leak issue affecting Cards when Storyteller was reinitialized multiple times
Improvements#
- Removed
StorytellerClipCollectionConfiguration.openReasonas it is being already passed into the Storyteller.open functions - Improved component layouts for better display with larger accessibility font sizes
11.0.0 - 03/10/2025#
Breaking Changes#
- Removed deprecated code from the public API
- Removed the default value for
isScrollablein SwiftUI grids. You must now explicitly passisScrollablewhen initializingStorytellerStoriesGridandStorytellerClipsGrid. - Updated
StorytellerListViewDelegate.onTileTappedmethod to provide richer context via theStorytellerTileTypeenum. See onTileTapped for more information - Changed
Storytellerclass from using static methods to a shared instance pattern. All API calls must now useStoryteller.sharedinstead of calling methods directly on the class (e.g.,Storyteller.shared.initialize()instead ofStoryteller.initialize()) eventTrackingOptionscan now only be set during SDK initialization by passing aStorytellerEventTrackingOptionsobject to theinitializemethod. Runtime modifications are no longer supported. The property remains publicly readable viaStoryteller.shared.eventTrackingOptions. To change tracking options, you must reinitialize the SDK. See Privacy and Tracking for more information
New Features#
- The Story player can now display closed captions
- Introduced a new Following Model where Storyteller is handling all following logic, without the need for storing and syncing followed categories app-side
- Added support for custom
contextdata in analytics events. Context allows integrators to provide additional analytics attribution data for Storyteller rows, grids and cards. For details, see Context - Added automatic user attribute management for followed categories. See Followed Categories for more information
- Added support for setting default mute state when opening Clip and Story players, and ability to persist mute state between app launches. Both settings are configurable in the CMS
- Added
theme.lists.enablePlayerOpenproperty to control whether the SDK automatically opens the player when a tile is tapped. See Theme for more information - Card collections can now be sorted by viewed/tapped ordering, which means a new Card will be shown every time a Card from the collection has been viewed or tapped.
Improvements#
- Added support for up to 2 lines of text in quiz and poll answers to accommodate longer content
- Added
isCategoryFollowed(_:)andgetFollowedCategories()methods to StorytellerUser - Added support for muting videos in video poll Stories
- Row views now automatically adjust their height when iOS Dynamic Type text size changes, improving accessibility
- Added support to show a button for Cards. See Cards for more information
- Revisiting accessibility in the Clips Player
- When no limit is provided, non-scrollable grids default to rendering at most 30 items
- Improved ads analytics tracking with proper predecessor IDs for Stories and Clips
- Added
actionLinkIdevent property. See Action Link ID for details
Bug fixes#
- Resolved an issue where poll deeplinks with an answer were not handled
- Fixed an issue where rotating the device on the Search page caused the Stories player layout to break
- Fixed an issue where sometimes Pull to Refresh was not working after reloading embedded Clips
- Fixed an issue where Story ad video sound would sometimes continue playing after switching to a different Story page
- Fixed an issue were Polls with video background were showing the buttons before the video was actually loaded
- Fixed Poll Image Answer Containers not tappable outside of the buttons, which prevented navigating to the next/previous page
- Fixed a rare bug where Clip captions could sometimes overlap with the "For You"/"Following" switcher
- Fixed an issue where
pageActionTextappeared inStorytellerUserActivityDataeven when the Page action did not exist - Fixed an issue where applying a search filter could result in a blank search results screen
- Fixed an issue where the Story player, when opened from lists in horizontal orientation on iOS, could behave incorrectly during playback
- Fixed a rare issue where new Story Pages wouldn’t appear until host application relaunch
- Fixed an issue where
Muted AdandUnmuted Adanalytics events were sent whenenableAdTrackingwas disabled. See Privacy and Tracking - Fixed an issue where
Opened Clipevent was not sent when dismissing a Clip Category at the top level - Fixed an UI issue where certain Functional Behavior Toggles could render incorrect Clip button states
- Recovering Cards playback if a Media Services Reset event occurs
10.13.4 - 24/09/2025#
Bug fixes#
- Fixed several Pull to Refresh issues in Clips
Improvements#
- Added
StorytellerCardView.recalculatedSizeto expose the updated card size after layout calculations - A
displayLimitof0or negative value is now treated as unlimited (equivalent to passingnil)
10.13.3 - 18/08/2025#
Bug fixes#
- Fixed an issue where the Search suggestions view was missing horizontal padding
- Fixed an issue where PTR could sometimes trigger on the 2nd clip during fast swiping
- Fixed an issue where
excludeFromAnalyticswould not be properly set on analytics events
10.13.2 - 12/08/2025#
Improvements#
- Made guest User ID persistent across login/logout sessions to maintain consistent user experience and viewed history
- Improved Card text gradient display for better readability when text is overlaid on content
Bug fixes#
- Fixed Search Results screen UI layout issues on iOS 15
10.13.1 - 07/08/2025#
Bug fixes#
- Fixed an issue where Card Video wouldn't properly update when URL changes
10.13.0 - 05/08/2025#
New Features#
- Introduced the Independent Functional Behavior Toggles for better privacy control. For details, see the Privacy and Tracking documentation
- Updated the Between Pages Ad strategy to insert ads based on viewed page count
- Introduced an initial index for the
betweenStoriesAndPages,betweenPagesandbetweenClipsads strategies, that will be the index after which the first ad will appear. Can be configured in the CMS. - Introduced two new analytics events for enabling and disabling Story captions
- Added a mute toggle button to the Stories and Clips players for improved audio control, which can be enabled in the CMS
- Introduced new analytics events for mute actions:
Muted Story,Unmuted Story,Muted Clip,Unmuted Clip,Muted AdandUnmuted Ad - Added
isMutedproperty to all Story, Clip and Ad analytics events to track the current mute state - Introduced a new field in ad-related events, called Ad Strategy
- Added
nextClipparameter to theclipscase inStorytellerAdRequestInfoto provide information about the next Clip in the sequence for improved Ad targeting - Added support for Followable Category limits, allowing restrictions on the number of categories users can follow
- Introduced three new analytics events for Followable Category limits: Followable Category Limit Shown, Followable Category Limit Action Button Tapped, and Followable Category Limit Dismissed
- Added support for Eyebrows - additional contextual text that appears next to the main title of rectangular tiles, Stories and Clips inside the Players.
- Added the onTileTapped method to
StorytellerListViewDelegateto notify the delegate when a tile is tapped before the player is presented - Added the
adIndexparameter to theclipscase inStorytellerAdRequestInfoand to all ad-related analytics events to track the position of ads within a collection - Pausing adjacent stories when playing a new one while fast swiping
Improvements#
- Trimmed input values for the GAM module
- Clip Category images in the Player now download and display sooner
Bug fixes#
- Fixed an issue where the currently displayed Story could occasionally restart and freeze on iPad devices
- Fixed an issue where the web view navigation buttons did not correctly reflect their enabled or disabled states
- Fixed an issue where the followable categories might report incorrect following status
- Fixed a rare issue where the Clips or Stories Player could become unresponsive after rapidly dismissing the share sheet
- Fixed an issue where an incorrect real time update setting could cause infinite data reload calls
- Fixed an issue where GAM video ads in Stories would be silent if the device's mute switch was on, even after the user had unmuted Stories via the Volume buttons
- Fixed an issue where audio from adjacent video Stories would continue playing when fast swiping between them
- Fixed an issue where video ads continued playing when a controller was presented on top
- Fixed a rare crash when reloading Stories after an ad was inserted
- Fixed an issue where
SkippedAdandFinishedAdevents were not being sent when swiping away from ads in the Clips player - Fixed an issue with Search content overlapping on iOS 15 in some cases when using custom fonts
- Fixed playback issues in scenarios where other content is presented on top of our players, e.g. Search or a Web View
- Fixed an issue where search analytics events were using incorrect action properties when opened from clips
- Fixed an issue where Clips could freeze when fast swiping between them
10.12.2 - 10/07/2025#
Bug fixes#
- Fixed a bug where passing a nil User ID when initializing Storyteller would cause the user to reset on each app launch, along with its viewed history
- Fixed an issue where lists weren't respecting the
tiles.title.showconfigured in the CMS and were always showing tile titles
10.12.1 - 01/07/2025#
Note - Due to a bug discovered post-release, we do not recommend upgrading to this version. Please use 10.12.2 or above which contains the fix.
Bug fixes#
- Fixed an issue where Storyteller Card
onDataLoadCompletecallback wouldn't be called when Card data was unchanged
10.12.0 - 26/06/2025#
Note - Due to a bug discovered post-release, we do not recommend upgrading to this version. Please use 10.12.2 or above which contains the fix.
Improvements#
- Introduced
enableRemoteViewingStoreoption in tracking preferences. For details, see the Privacy and Tracking documentation
Bug fixes#
- Fixed an issue where poll answers were not displayed in Video Stories
- Fixed an issue where the theme text casing was not applied to the Story CTA button and the CTA on the empty 'Following' screen in Clips
10.11.1 - 20/06/2025#
Note - Due to a bug discovered post-release, we do not recommend upgrading to this version. Please use 10.12.2 or above which contains the fix.
Bug fixes#
- Fixed an issue where Video Cards wouldn't sometimes properly load or playback would stall
10.11.0 - 16/06/2025#
Note - Due to a bug discovered post-release, we do not recommend upgrading to this version. Please use 10.12.2 or above which contains the fix.
Bug fixes#
- Fixed an issue where Embedded Clips with "For You" / "Following" enabled wouldn't resume playback after being reloaded in the background
- Fixed an issue where the Clip Player wouldn't resume playback after being foregrounded with an alert displayed
- Fixed some cases when the Clip and Story Player buttons can be pressed multiple times
Improvements#
- Introduced
enableFullVideoAnalyticsoption in tracking preferences. For details, see the Privacy and Tracking documentation - Added support for Cards in StorytellerHome
- Improved privacy and security by hashing all user IDs in the SDK
- Added Cards support to
StorytellerHome - Implemented SHA256 hashing when storing user ID's, for improved privacy and security
Deprecations#
- Deprecated
Storyteller.currentUserIdproperty. It now always returns an empty string and will be removed in a future release. - Deprecated
isAnonymousUserproperty onStorytellerUserActivityData. It now always returnsniland will be removed in a future release. - Deprecated
idproperty onStorytellerAdRequestInfo. It's now always an empty string and will be removed in a future release.
Breaking Changes#
- Removed deprecated public APIs
10.10.0 - 26/05/2025#
New Features#
- Introduced a new
StoryInstructionsScreenViewedanalytics event - Added support for Clip secondary actions
- Added support for Cards, flexible components for promoting your content
- Added support to set titles in the CMS for Collections with "For You" / "Following" enabled
- Added ability to specify
openReasonwhen opening Stories and Clips
Improvements#
- Improved clips loading priority for ForYou/Following mode
- Added support for first class Sheet actions from the Empty Following screen and from Followable Category actions
- Updated
openedReasonanalytics property to have valueinstanceMethodwhen opening a Story or a Page throughStoryteller.openStory(id:)andStoryteller.openPage()methods - Added
Storyteller.getStoriesCount(for:)method that returns the total number of Stories for provided Category IDs. - Added
Storyteller.getClipsCount(for:)method that returns the total number of Clips in the Collection. - Removed SharePlay option from the Share sheet when sharing stories or clips
- Ensured the Clips Player Captions button state updates correctly after caption settings are modified in other instances of the Clips Player
- Added right swipe to dimiss gesture support to the Clips Player
Bug fixes#
- Fixed an issue where clips would not automatically resume playback when returning to the player after executing an
inAppclip action - Fixed an issue where buttons stayed disabled after swiping past the last or first page inside the Clips player
- Fixed an issue where the Player wouldn't properly revert audio settings when getting dismissed
- Fixed an issue where the nearby Clips Player could start playing unexpectedly when "For You" or "Following" is enabled and the device is rotated
- Fixed playback and layout issues on the Story and Clips Player that occasionally occurred during device rotation
- Fixed a bug around clips category navigation and paging where duplicate clips would be appended while navigating through categories
Deprecations#
- Deprecated
Storyteller.isPlayerVisiblein favour of Storyteller.isPresentingContent property.Storyteller.isPlayerVisiblereturns the same value asStoryteller.isPresentingContentand will be removed in a future version. - Deprecated
Theme.EngagementUnits.Poll.showVoteCountproperty in favour of a value that can be set in the CMS. Starting from this version, this Theme property has no effect. Default value for the CMS property istrue. - Deprecated
Theme.Tiles.Title.showproperty in favour of a value that can be set in the CMS. Starting from this version, this Theme property has no effect. Default value for the CMS property istrue. - Deprecated
StorytellerClipsOpenReasonenum. UseStorytellerOpenReasoninstead
10.9.2 - 01/04/2025#
Bug fixes#
- Fixed analytics tracking for Followable Category follow and unfollow actions
10.9.1 - 26/03/2025#
Bug fixes#
- Fixed a crash that occurred when fetching ads in apps built with Swift 6 mode
10.9.0 - 24/03/2025#
New Features#
- Added progress bar to the Clips player
- Added support for first class Sheets, enabling web content to overlay on top of the current Story or Clip Player
Improvements#
- Introduced
enableAdTrackingoption in tracking preferences. For details, see the Privacy and Tracking documentation - Implemented theme support for
StorytellerClipsViewController. For details, refer to the Embedded Clips documentation - Added continuous play mode for Clips on tvOS, where the player auto-advances to the next clip once the current one finishes
- Introduced two Player lifecycle methods to the StorytellerDelegate
Bug fixes#
- Fixed VoiceOver reading order of elements in the Clips Player
- Fixed an invalid app state that could occur when backgrounding the app during interactive push transition from the Clips Player to the Followable Category screen
- Fixed an issue where Ads would occasionally disappear when switching between "For You" and "Following" tabs in the Clips Player
- Resolved audio problems with GAM video Ads when the iPhone mute switch was enabled
- Fixed truncation of Story timestamps for Stories with longer titles
10.8.4 - 18/03/25#
Bug fixes#
- Fixed some crashes occuring in low network conditions
10.8.3 - 11/03/25#
Improvements#
- Added support for deeplink URL's to Clips and Stories using external ID's
10.8.2 - 25/02/25#
Bug fixes#
- Fixed an issue where duplicate
OpenedClipevents would be sent in some rare cases when switching from For You to the Following tab in the Clips Player - Fixed an issue where Filter Settings were not sent in the
DismissedSearchevent - Fixed an issue where Clip Ads events didn't populate
categoriesproperty - Fixed an issue where
SkippedStorydidn't trigger when skipping the last page of a Story - Fixed an issue where
OpenedClipevent'sopenedReasonproperty would beswipeinstead ofcategoryBackTapproperty when dismissing a Category inside the Clips Player - Fixed an issue where
NextClipandPreviousClipevents would have properties of the Clip user navigated to, instead of the Clip it was navigated from - Fixed an issue where transitioning to and from page ads would erroniously record an
OpenedStoryevent
10.8.1 - 18/02/25#
Bug fixes#
- Fixed a bug where the wrong
AVPlayerwould get recorded in some Clips analytics events
10.8.0 - 14/02/25#
New Features#
- Added Clips Paging functionality to Clips Player to improve performance and user experience
- Added support for Swift 6
Improvements#
- Tapping on For You or Following tab when it's already selected will reload that tab's Clips
- Improved the animation when applying Filters on the Search screen
- Added
clipIndexproperty to all Ad analytics events andcaptionsEnabledto all Clips analytics events - Added ability to set the
Search.headingproperty in the Theme, refer to the Theme documentation - Added default implementation for
topLevelBackTappedin theStorytellerClipsViewControllerto pop it from the nearest navigation controller - Added support for Live badge to the Clips Player
- Replaced the
configurationproperty with theconfiguremethod on the Storyteller List Views.configurationproperty can still be used, but will be deprecated in the next major version - Improved Captions button styling on tvOS
Bug fixes#
- Fixed various Clips Player issues that could occur when fast swiping, doing Pull to Refresh or going into the background
- Fixed the positioning of the action button when the Following tab is empty
- Fixed an issue where Sharing a quiz link would not open the first Page of the quiz
- Fixed an issue where Captions sometimes wouldn't be visible if Clip is opened through Category or Search screens
- Fixed an issue where Search Filters would be applied without tapping the
Apply Filtersbutton - Fixed an issue where Ads title and Ad label could be misaligned
- Fixed an issue where status bar on the Search screen wouldn't properly update its styling in light mode
- Fixed an issue where
skippedStoryevent would be fired when final Page of the Story completes - Fixed an issue where Search button in Clips Player could be out of the video frame on iPad in landscape mode
- Fixed a tvOS issue where Clip title would be too close to the buttons when the Clip title was long
- Fixed an issue where
clipActionTypewould benoneinstead ofnilfor Clips with no action button - Fixed an issue where Pull to Refresh wouldn't work in some rare cases inside the Clips Player
- Fixed an issue where
openClipwouldn't be sent when going back from a Category in the Clips Player - Fixed an issue where Ads wouldn't disappear when scrolling backwards in the Clips Player
- Fixed an issue with Search suggestion styling on the Search screen
- Fixed an issue where the Followable category button wouldn't be clickable in rare scenarios
- Fixed an issue where the
scoreparameter would be missing when sharing a quiz link
10.7.7 - 10/02/25#
Bug fixes#
- Fixed an issue where clips would display an infinite loading spinner when using AirPlay
10.7.6 - 28/01/25#
Bug fixes#
- Fixed a bug where the Clips Player would resume playback while presenting a modal screen after returning from background
10.7.5 - 23/01/25#
Bug fixes#
- Resolved an issue where clip ads were inserted into the wrong position
- Corrected round tile labels for accessibility with large text
- Removed the CC button from live clips
New Features#
- Introduced two new analytics events for enabling and disabling captions
10.7.4 - 24/12/24#
Bug fixes#
- Fixed a bug where Pull to Refresh didn't work inside Embedded Clips when the SDK is used from React Native
10.7.3 - 17/12/24#
Improvements#
- Added support to show a fixed number of tiles in list rows, via a property called
visibleTiles. For details, refer to the StorytellerListViews documentation - Adding theme properties to allow integrators to customize appearance of list tiles, badges and the headings of the Instructions screen. For details, refer to the Theme documentation
Bug fixes#
- Fixed a rare crash that could occur while refreshing visible cells
- Fixed a layout issue in non scrollable grids for round tiles with visible titles
10.7.2 - 02/12/24#
Improvements#
- Updating the way custom Followable Category screens are pushed
10.7.1 - 27/11/24#
Bug fixes#
- Fixed an issue where the custom Followable Category screen was not being pushed using the integrator's navigation stack
10.7.0 - 19/11/24#
New Features#
- Added mechanism to allow integrators to provide a custom Followable Category screen. For details, refer to the Followed Categories documentation
- Added support for presenting a screen modally on top of the Stories/Clips Player when following an action
Improvements#
- Updated the captions button, allowing users to toggle captions directly from the Clips Player and bypassing the menu
- Adjusted default font sizes for Stories, Clips, and Singletons for
StorytellerHome. For details, refer to the Theme documentation - Allowing Clips from lists to support
For YouandFollowingtabs - Enhanced reorder animations for lists and improved the closing animations for the Clips and Stories Player
- Removing native Clip Ads after they've been viewed
Bug fixes#
- Fixed an issue where Stories could not be muted
- Resolved an issue where analytics events were not being triggered consistently when switching between
For YouandFollowingtabs - Addressed an issue causing the Clips Player to unintentionally display in landscape mode
- Fixed missing category image when opening a live Clip directly
- Fixed an issue where the Ad Story could play while the
About this Adscreen was displayed - Fixed the like button on Clips occasionally showing an incorrect state after navigating to a Clip category
- Fixed several issues where the Clips Player could enter an invalid state after quickly swiping between
For YouandFollowingtabs
10.6.5 - 08/01/25#
Improvements#
- Updated
containerTitleanalytics property to use collection title for clips instead of collection id
10.6.4 - 01/11/24#
Improvements#
- Following a category inside
For Youfeed will now update theFollowingfeed
10.6.3 - 31/10/24#
Bug fixes#
- Fixed an issue where Lists and Grids wouldn't properly reload in certain cases
10.6.2 - 25/10/24#
New Features#
- Added the
isLiveandcollectionClipCountproperties toStorytellerUserActivityData
Improvements#
- Updated
StorytellerGAMModuleConfigurationto acceptadUnitas a closure, allowing different Ad Units to be used when fetching Ads
Bug fixes#
- Fixed a crash that occurred during reload animation when swiping quickly through stories
- Fixed a Player crash when swiping quickly through stories
10.6.1 - 15/10/24#
Bug fixes#
- Fixed cells resizing while scrolling for collections with custom content inset behavior
10.6.0 - 04/10/24#
New Features#
- Added For You / Following feature to our embedded clips
- Added auto reloading support to our lists
Improvements#
- Some of our theme parameters can be configured from CMS
- Updated our theme parameters documentation
- Forced audio into loudspeaker for stories in certain cases
Bug fixes#
- Fixed standard banner ads not displaying on iPad
- Fixed a crash due to reorder animation issues
10.5.3 - 16/09/24#
New Features#
- Added support for custom URL schemes, allowing direct opening of a Story or Clip
10.5.2 - 11/09/24#
Bug fixes#
- Fixed a crash on tvOS when opening the clips player
10.5.1 - 09/09/24#
Bug fixes#
- Fixed an issue where followable category images would render incorrectly
- Fixed an issue where story playback would sometimes be stuck after viewing a Standard Ad
- Fixed an issue where
StorytellerClipsViewwould erroneously reload after appearing - Fixed an issue where Story or Clip action button wouldn't work in some cases when clicked inside Followable Category UI
- Fixed a crash with non-scrollable grids on iOS 18
- Fixed a crash when showing a Standard Banner Ad
- Fixed a crash in the image downloading pipeline
- Fixed a crash for
StorytellerListView's reorder animation - Fixed a crash when switching between stories
10.5.0 - 26/08/24#
New Features#
- Supporting GAM Native Ad Templates. See Storyteller Ads for more information
- Introducing the Storyteller GAM Module. It is used to simplify fetching ads from Google Ads Manager and injecting them inside our Story/Clips Player.
- This is facilitated by adding a
modulesarray of type StorytellerModule on theStorytellerclass which fulfills some of the StorytellerDelegate duties
Improvements#
- Improved loading experience when videos are buffering
- Updated duration of Player open and close animations
- Updated
configuremethod onStorytellerClipsViewControllerto not do any checks on whether to reload the collection or not. It will always reload the collection when called, regardless of the previous value of theStorytellerClipCollectionConfigurationpassed in.
Bug fixes#
- Improved text layout in specific scenarios within the Clips Player
- Fixed an issue where the grid top inset would not be applied correctly on the first load in full-screen mode
- Fixed an issue where the cell pop animation would be interrupted and cancelled in some scenarios when closing the Player
- Fixed an issue where playback would be stuck in certain scenarios when coming back into foreground
- Fixed a crash that would happen in some cases when reusing Storyteller lists when animations were turned on
- Fixed an analytics bug where
FinishedAdwould be sent twice when dismissing the Player
10.4.1 - 16/08/24#
Bug fixes#
- Fix missing metadata for analytics events
10.4.0 - 09/08/24#
New Features#
- Row animations are now enabled by default
Improvements#
- Improved the animation transition when opening the clips player
- General accessibility improvements across the SDK
- Incorporated support for Dynamic Type to adjust text size based on user settings
- Updated analytics fields tied to action button interactions
- Preloading of clip category icons to optimize the asset loading times
Bug fixes#
- Corrected the poll results label text
- Fixed a crash occurring when tapping on the more button on the clips player on the iPad
10.3.1 - 17/07/24#
Bug fixes#
- Fixing an issue where the live chip badge was not properly centered, but shifted to the left
10.3.0 - 15/07/24#
New Features#
- Lists can now reload in an animated fashion, controlled by the animateTilesOnReorder flag in the Theme.
- Storyteller Home can now have a fixed UI Style set
- Adding the ability to customize the Clips Player Like button, as well as hiding it entirely. For details, refer to the Theme doc.
Improvements#
- Standardizing Clips and Stories Player present/dismiss transitions
- Improving the Accessibility experience of the Player
- Made clarifications around how the User ID is used within the SDK
- Organized the docs for the Open Player methods
- Improving the layout and pull-to-refresh behaviour inside Storyteller Home
- Improving the pull-to-refresh behaviour inside Embedded Clips
Bug fixes#
- Fixing a case where the instructions screen failed to present when opening a deeplink to a Story Category
- Fixing some Story Player elements not respecting the Theme
10.2.1 - 27/06/24#
Improvements#
- when an empty String is passed for
StorytellerUserInputinStoryteller.initialize(...)the default user will be used
10.2.0 19/06/2024#
Breaking Changes#
- The following methods on Storyteller have gotten their async version. The old ones are deprecated and will be removed in a future release:
dismissPlayer(animated:, dismissReason:)initialize(apiKey:, userInput:)openDeepLink(url:)openStory(id:)openStory(externalId:)openPage(id:)openCategory(category:)openCollection(configuration:)openClipByExternalId(collectionId:, externalId:)-
openSearch() -
set(collectionId:initialClipId:openedReason)method onStorytellerClipsViewControllerhas been deprecated in favor of the new methodconfigure(with:)where the configuration parameter is of typeStorytellerClipCollectionConfiguration. See EmbeddedClips for more details. - removed
liveChipImagein favor of the newLiveChipstruct whereimage,textColor,backgroundColorandbackgroundGradientcan be set.imageprecedesbackgroundGradientandbackgroundGradientprecedesbackgroundColor. See Themes for more details.
Improvements#
- updated the order of some analytics events
- added the
chip.showproperty to set whether the chip for rectangular tiles is visible. See Themes for more details. - added ability to set the open reason when configuring the clip collection, used only for analytics purposes. If not set, default logic will be used.
- added the
canGoBackproperty toStorytellerClipsViewController. See EmbeddedClips for more details. - added ability to set chip text color based on read / unread status
- improvements to image loading sequence
- added ability to set live chip properties for rectangular tiles
- added ability to open collection with a specific category by using
Destinationproperty of theStorytellerClipCollectionConfiguration
Bug Fixes#
- fixed an issue where the correct font wasn't used for the like count label in Clips Player
- fixed issues with captions' appearance for longer texts
- fixed an issue where the Embedded Clip sound would play in the background in rare scenarios
- fixed a rare crash with analytics
- fixed an issue with the action button having the wrong color under certain conditions
10.1.2 13/06/24#
Bug Fixes#
- fixed a crash due to a race condition when downloading assets
10.1.1 16/05/24#
Bug Fixes#
- resolved an issue with the live badge appearance on round cells when using gradients
10.1.0 15/05/24#
New Features#
- introduction of First Party Ads
- added support for Gradient Borders on Circular Tiles
Improvements#
- updated video buffering strategy for enhanced analytics accuracy
- optimized cell thumbnail fetching to prevent dublicate network calls in rare scenarios
Bug Fixes#
- resolved missing dismiss reason on tvOS clip close analytics event
- resolved missing
currentCategoryin analytics events - hidden more button for Clip ads
10.0.1 07/05/24#
Bug fixes#
- fixing color of Follow button to respect the Theme
- fixing a crash that appears in some edge cases
10.0.0 18/04/24#
New Features#
- introducing Followable Categories
- Clips now support localized closed captions
Breaking Changes#
- all methods inside the Storyteller class are now static
- removed deprecated individual properties on our list views, in favour of the new configuration objects
- the Storyteller and list delegates are now weak. It is up to the integrating apps to reference them strongly
Improvements#
- overall improvements to the player performance and user experience
- using system images where possible throughout the SDK, thus reducing its size
Bug fixes#
- analytics fixes
- theming fixes
9.13.1 02/04/24#
Improvements#
- fixed the order of some analytics events
9.13.0 29/03/24#
Bug fixes#
- fixing clip playback issues while presenting search
New Features#
- adding a new eventTrackingOptions property to Storyteller, allowing more fine-grained control of user privacy options.
- introducing StorytellerHome, an organized collection of our list views.
9.12.1 26/03/24#
Improvements#
- Updated Privacy Manifest file for Required Reasons API requirements
- Added
set(collectionId: String, initialClipId: String?)method inStorytellerClipsViewController. This method allows loading a specific clip within a clip collection directly. - Deprecated
collectionIdproperty inStorytellerClipsViewControllerand it will be removed in the future. Useset(collectionId: String, initialClipId: String?)instead.
9.12.0 20/03/24#
Bug fixes#
- fixing various gesture related issues for stories on iOS and tvOS
- layout round cells properly when the title is hidden
- analytics fixes
- describing data usage in privacy manifests required by Apple for SDK's
9.11.0 12/03/24#
Improvements#
- addressed missing analytics fields and resolved issues with certain events
9.10.0 28/02/24#
Improvements#
- analytics improvements: added missing fields, fixed some events
Bug fixes#
- various bug fixes for embedded clips (clips used via
StorytellerClipsViewController) - fixed rare pausing issues on Polls
9.9.1 13/02/24#
Bug fixes#
- fixed the data shipped with
.shareSuccesanalytics event
9.9.0 30/01/24#
New Features#
- added support for Viewed Clips
Breaking Changes#
- changed Theme property
storyTilesintotiles. Please see Themes for more details.
Bug fixes#
- UI fixes related to the Search feature
- fixed issues with pausing the Story player
9.8.1 09/01/24#
Bug fixes#
- fixed some memory leaks related to Stories
- bugfix for clipping topInset margin on scrollable grids
9.8.0 - 13/12/23#
New Features#
- added Pull To Refresh mechanism for
StorytellerClipsViewController - added
isScrollableparameter for StorytellerGridViews in SwiftUI - added
StorytellerClipsViewControllerDelegatetoStorytellerClipsViewControllerto handle data load and finished loading events - added reloading to first clip in collection on
reloadDatacall forStorytellerClipsViewController
Improvements#
- Improved accessibility for our lists and players
Bug fixes#
- fixed updating read status across multiple rows on player dismissal
9.7.6 - 22/11/23#
Bug fixes#
- fixed calling
reloadDataforStorytellerClipsView.
9.7.5 - 21/11/23#
Bug fixes#
- fixed playing audio after failed
StorytellerClipsViewControllerplayback.
9.7.4 - 09/11/23#
Bug fixes#
- fixed respecting
theme.player.showShareButtonfor Clips.
9.7.3 - 27/10/23#
Bug fixes#
- fixed some memory leaks related to Clips.
9.7.2 - 13/10/23#
Bug fixes#
- bug fixes for answer auto-selection in quizzes
9.7.1 - 10/10/23#
Bug fixes#
- Various bug fixes for embedded clips (clips used via
StorytellerClipsViewController)
9.7.0 - 02/10/23#
New Features#
- added
openCategorymethod, please see Additional Methods for more details - added
openStory(externalId:)andopenClipByExternalIdmethods, please see Additional Methods for more details - added
storyDisplayTitleparameter to analytic events, please see Analytics for more details - added fixed order rows mode for Stories which can be set up via the CMS
- added pinned stories support for Stories which can be set up via the CMS
9.6.0 - 19/09/23#
New Features#
- added preloading of 3 next clips
Improvements#
- updated top and bottom shade gradient on clips
- more/less button displayed below categories list
- added sorting stories by ids fallback
- fixed story progress bar blink
9.5.0 - 31/08/23#
New Features#
- added support for Page Ads which appear between Pages
Breaking Changes#
- changed signature of ad delegate from
getAdsForListtogetAd, please see Ads for more details - changed classes inside
StorytellerAdRequestInfo,StoryInfoandClipInfoare now single classItemInfo, please see Ads for more details
Improvements#
- added
adPlacementto analytics, please see Analytics for more details
9.4.0 - 16/08/23#
New features:
- added support for Clips Category Navigation to the Clips Player
9.3.0 - 20/07/23#
New features:
- Replacing public ad entities prefixes from
ClienttoStoryteller. - Added
configurationproperty to setup ListViews. Read more here. - Use the default webView's user-agent for tracking pixel requests.
- Added SwiftUI support. Read more here.
Bug fixes:
- Fixed live badge color on clip player.
- Fixed other apps audio not resuming when mute switch is turned off.
- Fixed reloading thumbnails on non scrollable grids.
9.2.1 - 05/07/23#
New features:
- setting custom User-Agent for Tracking Pixels
9.2.0 - 08/06/23#
New features:
- We have added the
StorytellerClipsViewControllerso you can embed the Clips playback experience in your custom view hierarchy.
Bug fixes:
- Fixed some Grids layout issues.
- Theme fixes for the list tiles.
- Tracking pixel fixes.
Improvements:
- Resuming other apps' music when closing our Stories or Clips player.
- Updating the Category object for Ads.
- Introducing the new
StorytellerActionTypefor Ads. - Clips playback, analytics and overall improvements.
9.1.7 - 31/05/23#
Bug fixes:
- Fixed a scroll jump when our non-scrolling grids are incorporated inside a Collection View
- Fixed a layout issue when round cells are used in grids
9.1.6 - 25/05/23#
Bug fixes:
- Fixed reusing same ad injected on
getAdsForListcallback
9.1.5 - 22/05/23#
Bug fixes:
- Fixed not calling
getAdsForListfor first clip - Fixed applying
theme.player.liveChipImage
Improvements:
- User
customAttributesaccept only string type values
9.1.4 - 17/05/23#
Bug fixes:
- Fixed UI issue on the Clip player's action button
Improvements:
- Added ad badge which indicates ad on Clips
9.1.3 - 11/05/23#
Bug fixes:
- Fixed bug where clip ads can get stuck when swiping fast.
Improvements:
- Added
adTypetoStorytellerUserActivityDatareturned on StorytellerDelegate'sonUserActivityOccured. - Changed interface of
StorytellerAdRequestInfo.clips.
9.1.2 - 08/05/23#
Bug fixes:
- Fixed an occasional crash when opening a story from a deep link.
9.1.1 - 03/05/23#
Improvements:
- Hiding the Quiz Summary share button when sharing is disabled from the
Theme.
9.1.0 - 02/05/23#
New features:
- We support live streaming Clips now.
- Exposing the grid's dynamic size via the
recalculatedSizeproperty.
Bug Fixes:
- Fixed some memory leaks related to Clips.
9.0.5 - 26/04/23#
Bug Fixes:
- Fixed a bug when stories sometimes weren't showing up in the lists.
9.0.4 - 19/04/23#
Bug Fixes:
- Fixed a rare bug that could crash the App during a network call
9.0.3 - 18/04/23#
Bug Fixes:
- Fix rendering of grids when wrapped in SwiftUI views.
Improvements:
- Stories and Clips playback improvements.
- Adding support for creating the List Views in xibs/storyboards.
- Preserve the categories' order of Story rows & grids.
9.0.2 - 12/04/23#
Bug Fixes:
- Fixed a crash when the SDK was built in Release mode.
- Corrected the way top padding works for grids.
Improvements:
- Clips memory management improvements.
9.0.1 - 07/04/23#
Bug Fixes:
- Fixed an issue with the action button on a Story's page.
- Fixed a problem with the Clip ads.
- Fixed issue where tapping back in Quiz selected an answer.
- Fixed issue with score positioning in Quiz.
- Fixed an issue where some analytic events were not firing for stories.
9.0.0 - 06/04/23#
New features:
- We introduced a better class hierarchy for the
StorytellerListViewClasses.
StorytellerListView
├── StorytellerRowView
│ ├── StorytellerStoriesRowView
│ └── StorytellerClipsRowView
└── StorytellerGridView
├── StorytellerStoriesGridView
└── StorytellerClipsGridView
- The Grid views now have scrollable and non-scrollable variants.
- Clips can now contain Ads.
- Added top and bottom insets for Grids, can be set on
StorytellerTheme. - Introducing custom user attributes via
Storyteller.user.
Bug Fixes:
- Fixed an issue when Grid cells weren't updating the read status of stories properly after being watched.
Improvements:
- Improved the inner workings of Grids regarding layout.
- Removed deprecated methods.
- Stories Lists no longer support
collectionIdand Clips Lists no longer supportcategories. - Reacting properly to setting
overrideUserInterfaceStyleon UIView. - Improving gesture handling of the Stories player.
8.4.4 - 8/09/23#
Improvements:
- adjust to properly work on iOS17
8.4.3 - 27/03/23#
Improvements:
- Introduced different thumbnail sizes for better story and clip previews
8.4.2 - 16/03/23#
Bug Fixes:
- Fixed Ads sometimes getting stuck when swiping between stories
Improvements:
- Optimized Clips performance for large collections
8.4.1 - 15/02/23#
Bug Fixes:
- All clip events coming out from
onUserActivityOccurreddelegate callback contain proper data inStorytellerUserActivityData.categoryDetails - Fixed
theme.lists.backgroundColornot setup correctly for Dark Mode
8.4.0 - 13/01/23#
Bug Fixes:
- Fixed
storyPageCount,storyIndexandstoryPlaybackModenot being returned on certain Story events - Added missing Clip event data for Opened Clip, Finished Clip and Completed Loop events
- Fixed story title alignment in some device rotation scenarios
8.3.1 - 20/12/22#
Bug Fixes:
- added Clip Collection and Clip Category event data for all Clip analytics events
Improvements:
- added Current Category to the event data for Story and Ad analytics events
8.3.0 - 09/12/22#
Bug Fixes:
- fixed default value for
answeredMessageTextColor
Improvements:
- added additional properties to ad events to help identify individual ads
- modified the
getAdsForListcallback to provide more ad information - exposed information about category types on analytic events
- improvements to the way a Page's read status is implemented
- adjusted the timestamp property so timescales are updated for each new Page
- improvements to the loading time of videos in Stories
8.2.4 - 30/11/22#
Improvements:
- removed unused
onCompleteparameter fromStoryteller.dismissPlayer - implemented
lists.backgroundColortheme property to change the background color of chips
8.2.3 - 25/11/22#
Improvements:
- Enforced setting empty UserID to clear local storage
8.2.2 - 10/11/22#
Improvements:
- Made Clips scrolling experience smoother
Bug Fixes:
- Fixed bug with reloadData requests being sent before initialization has finished
- Fixed bug with StorytellerHome sometimes having incorrect grid sizes
- Fixed bug with share button on iPads
- Fixed Action buttons not working in certain cases
8.2.1 - 01/11/22#
Bug Fixes:
- Fixed bug that prevents Action buttons being used after opening the app from a shared link
- Fixed
getAdViewHandlerreturning nil on StoryViewModel - Fixed rare crash when opening player
Improvements:
- Analytics parameters are now sent in the same order and empty values have been removed
- Shortened Story Poll's remaining time to 2 seconds after an answer has been selected
8.2.0 - 11/10/22#
New Features:
- Added support for Clips and Collections
Bug Fixes:
- Fixed issue that caused
DismissedAdactivity to not run in certain cases - Fixed bug that caused
dismissedStoryto missdismissedReasonparameters in certain cases - Fixed bug that could cause Storyteller to freeze when saving asset to device
- Fixed bug where tapping to go back on the first Page of the first Story did not start the Page from the start
- Fixed bug that could cause Story player window to turn white after share activity
- Fixed setting Categories for a Story row in the demo app
- Fixed loading icon remaining on screen in certain cases
- Fixed Story player window becoming white after hiding share activity
Improvements:
- Made the selected answer on Polls semitransparent
- Implemented better logging solution in Xcode console
- Reduced content length parameter usage
- Implemented
AdActionButtonTappedevent - Refresh button improvements
Deprecations and Changes:
- Renaming
StorytellerUserActivity.NewEventTypecase from .swipedUpOnPageto.pageActionButtonTapped - Renaming
StorytellerUserActivity.EventType.SwipeUpto.ActionButtonTapped
8.1.14 - 17/10/22#
New Features:
- Added the ability to open a Clip or Collection directly using the
openCollectionmethod
8.1.13 - 21/09/22#
Bug Fixes:
- Fixed TriviaQuizScore being set as a String instead of an Int
- Fixed missing text in sharing screen
Deprecations and Changes:
- Removed
openFeedfromStoryteller
8.1.12- 01/09/22#
Bug Fixes:
- Keeps scroll position of a row when you refresh
- Fixed Live Story UI and placement bugs
8.1.11 - 25/08/22#
Bug Fixes:
- Removed crash possibility when running public sample code
- Removed the white line on Live Stories row
- Fixed progress bar disappearing on Stories and ending playback on rare occasions
- Fixed bug that could make images in emails not visible when sharing Stories
- Fixed rare bug that could cause Story playback to stall
8.1.10 - 24/08/22#
Bug Fixes:
- Fixed bug that could cause a blinking black screen when swiping quickly through Stories
- Fixed bug with the functionality of the Action buttons
8.1.9 - 23/08/22#
Bug Fixes:
- Fixed Story sharing bugs
New Features:
- Added support for iPad multitasking mode
Improvements:
- UI improvements for light and dark mode
- Made the order of query parameters on requests deterministic
8.1.8 - 12/08/22#
Bug Fixes:
- fixed issue where the app could get stuck between Stories, showing half of each side of two Stories and a black gap between them
- fixed issue of watched Stories not moving to the end of the list
- fixed issue of grids jumping to the bottom of feeds
- fixed issue with New Chips flickering when going in and out of More Stories grid
UI Changes:
- fixed issue with light mode placeholders being used in dark mode for round Story Tiles
- Story Row container refinements for circular rows, rectangular rows, and Story grids
- fixed tiles in grids being the wrong aspect ratio
- fixed issue of Top Stories row appearing as placeholders
8.1.7 - 10/08/22#
Bug Fixes:
- fixed issue with grids only showing the loading state for 2 tiles
New Features:
- added the
contentLengthparameter to analytic events - see Analytics for more information
8.1.6 - 10/08/22#
Bug Fixes:
- fixed issue where swiping back to an Ad could make the Ad turn black
- fixed issue with Ad playing from the point the user stopped watching it at last time the user swipes to it
New Features:
- enable/disableTracking code
Deprecations and Changes:
- now request ads from the integrating app every few Stories instead of all at once
- replace
dismissClipViewanddismissStoryViewwithdismissPlayerin Storyteller object
8.1.5 - 05/08/22#
Bug Fixes:
- fixed issue with placeholders not appearing for Story Rows
8.1.3 - 02/08/22#
Bug Fixes:
- fixed issue with playback flailing due to lack of available encoders
8.1.2 - 02/08/22#
UI Changes:
- added theme properties for circular tile border width
-
adjust
theme.storyTiles.liveChip.readImageandtheme.storyTiles.liveChip.unreadImageto: -
theme.storyTiles.circularTile.liveChip.readImage theme.storyTiles.circularTile.liveChip.unreadImagetheme.storyTiles.rectangularTile.liveChip.readImagetheme.storyTiles.rectangularTile.liveChip.unreadImage
8.1.1 - 29/07/22#
Bug Fixes:
-
fixes issues related to firing Event Tracking events correctly to provide proper analytics
-
OpenedStorywas triggered byautomaticPlaybackas theopenedReasonand once withstoryListTap- it is now only triggered bystoryListTap SkippedPageandCompletedPagewere triggered when skipping a page - it is now only triggered bySkippedPageCompletedStorywas triggered when a user finished watching an Ad - no Story events are triggered in this instancePausedAdPagewas triggered when skipping an Ad - this is now only triggered when the user pauses the AdViewedAdPageCompletewas triggered when skipping an Ad - this is now only triggered when the viewer has viewed the whole Ad- fixed issue to ensure
triviaQuizQuestionAnsweredfires when the users answers a Trivia Quiz or if they time out on a question - fixed issue with
triviaQuizScorenot returning upontriviaQuizCompleted -
fixed issue with
skippedAdnot firing -
when closing a Story, issue fixed where the user could return to the wrong position in the list view in the row/grid
- when sharing a Story Page, fixed an issue where the timer didn't stop to allow the user time to share and return to viewing
- fixed issue with image answers not appearing on Polls
- fixed issue with rows with multiple Categories assigned showing Stories swiping into each other and disappearing from the list view
- fixed issue where Story video preview freezes when swiping back and forth between Stories
- fixed issue where repeatedly refreshing briefly duplicates rows
- fixed issue where Story Tiles were incorrectly scaled when displayed across two rows
UI Changes:
- displaying instructions screen correctly on iPad
- fixed an issue where switching between light and dark mode didn't update the theme on circular Story Tiles
- max length of Story Grid set to 4 Stories in the loading state
- fixed issue where webview header wasn't changing colour when switching from light to dark mode
8.1.0 - 13/07/22#
Bug Fixes:
- add empty placeholders when grid view is initialised
8.0.2 - 11/07/22#
UI Changes:
- when displaying the score of a Trivia Quiz to users, the font size has been made bigger, bolder, and the colour has been changed to white
- corrected spacing between titles and rows/grids across all devices (set to 12px below and above each title)
- adjusted left margin to be consistent for titles/rows/grids across all devices
Deprecations and Changes:
- removed
topInsetandbottomInsetfor grids - ignore
startInsetand end`Inset for rows inside Home
8.0.1 - 24/06/22#
UI Changes:
- font sizes, cases, and weights corrected
- adding action buttons instead of swipe ups for Stories
- support
storyTiles.title.showin Story Grids/Rows
New Features:
icons.refreshproperty added to the Story Player - see Themes for more information- adding
displayLimitparameter to StorytellerListView - please see Configuring a StorytellerListView
Deprecations and Changes:
- removed
showPercentBarBackgroundfrom theme