Skip to content

Changelog#

12.1.1 - 13/10/26#

Native SDK updates#

Compared with RN 12.0.2:

  • Android core SDK: 12.0.2 → 12.1.1. See the Android release notes.
  • iOS core SDK: 11.7.1 → 11.8.0. See the iOS release notes.
  • Existing Android Kotlin 2.1.0, Compose BOM 2026.06.01 and minimum API 24 requirements, and the iOS 15.1 minimum, are unchanged. Rebuild your native app after upgrading.

New Features#

  • Added the optional Android-only bottomBannerFetchMode to StorytellerClipsAdConfiguration. Set it to StorytellerBottomBannerFetchMode.prefetch to prepare the next Clip's bottom banner while the current Clip plays; omitted values keep the existing just-in-time behavior. See Android bottom banner fetch mode.
  • Added player.clips.modal to the theme for the full-screen Clips Player on Android and iOS: draw video behind the status bar and set metadata and progress spacing, progress position and size, gradient heights, navigation size and insets, and the Search icon. Omitted values keep the existing layout, and Embedded Clips are unaffected. See Modal Clips layout.
  • Cards now apply OpenType font features, such as ss02, configured in the CMS to the heading, subheading and button title on Android and iOS. Bundle the fonts the CMS refers to; if a requested font can't be found, the Card uses your theme font without the features. See Fonts from the CMS.

Behavior changes#

These changes come from the updated native SDKs and need no integration changes.

  • Completed Stories and Clips instructions now stay dismissed on Android and iOS, including after login, logout and user changes.
  • Clips opened from Search now show their navigation categories on Android and iOS. Tapping a category opens its Latest Clips, and viewers can go back to the previous Clip and their Search results.
  • On Android, Clips Like and Share counts show the full number below 1,000, 1k at 1,000 and the label provided by the API above 1,000.

Bug fixes#

  • Fixed Android Embedded Clips IMA pre-roll countdown and Skip controls being drawn in the wrong place, such as the top-right of the player, after the device rotates during the ad while the host Activity handles orientation changes itself.

12.0.2 - 23/09/26#

Native SDK updates#

Compared with RN 12.0.1:

  • Android core SDK: 12.0.1 → 12.0.2. See the Android release notes.
  • iOS core SDK: 11.7.0 → 11.7.1. See the iOS release notes.
  • These native versions provide the host audio controls below. Existing Android Kotlin/Compose and minimum OS requirements are unchanged. Rebuild your native app after upgrading.

New Features#

  • Added StorytellerSdk.mute() and unmute() for Stories and full-screen or embedded Clips on iOS and Android. Await mute after initialization and before presenting content to start silently; runtime commands keep video playing and follow existing audio controls and persistence.

12.0.1 - 17/09/26#

Native SDK updates#

Compared with RN 11.5.0, the previous published release:

New Features#

  • Added Android Clips ad cadence overrides (frequency, initialIndex), sheet corner radius, Embedded Clips video sizing, rectangular-tile title gradients, instruction button typography and ordered gradient stops.
  • Added heartbeat, organic quartile and Search-result analytics events and their optional payload fields.
  • On Android, opening a Storyteller deep link while a player is open replaces the active player.
  • Added iOS mapping for sheet corner radius, Embedded Clips video sizing, rectangular-tile title gradients, ordered gradient stops and the new optional analytics fields.
  • Added optional title, one-based tile index and nullable metadata to Stories/Clips row and grid tile-tap callbacks on both platforms.
  • Added optional contentId to iOS core, GAM and VAST ad-request payloads.
  • Added awaitable StorytellerSdk.setFollowedCategories(categories) support for atomically replacing the full app-managed followed-category set.
  • Added cross-platform theme parity for complete Search styling and Clips gradients, typography, progress-bar placement/colours, Embedded spacing, and light custom fonts.
  • Added native GAM request enrichment hooks on iOS and Android so APS, Nimbus, or equivalent bidder work can update a prepared Google request before Storyteller loads it without passing Google objects through JavaScript.
  • Added the optional Android-only @getstoryteller/react-native-storyteller-sdk-ima package for one initial Clips IMA pre-roll, with GAM-built or complete-tag setup, request-specific callbacks, and optional load timeouts.
  • Added Android standard between-Clips provider ordering for VAST, GAM, and AdMob across imperative, Embedded, Row, and Grid Clips presentations, plus Dev Zone configuration and validation controls.

Behavior changes#

  • On iOS, setupVASTModule and setupGAMVASTModule now preserve configured GAM or AdMob modules instead of replacing the complete Storyteller module list. Apps that relied on the previous VAST-only result should call disableGoogleAdsModule() before setting up VAST.

Improvements#

  • Added independent GAM/AdMob and VAST/GAM VAST module-family configuration, public family-scoped disable APIs, predictable multi-module ordering, and Showcase Dev Zone controls for validating supported combinations.
  • Updated the bundled Meta mediation adapter for Google Mobile Ads 23 compatibility and fixed Android gradients to honor startPosition and endPosition while retaining the previous top-left to bottom-right defaults when positions are omitted.
  • Added optional contentId values to Android core, GAM, and VAST ItemInfo ad-request payloads.
  • Added optional iOS category descriptions to category-follow payloads when supplied by the native SDK.
  • Updated iOS theme colour parsing to honor the alpha byte in #AARRGGBB; existing 8-digit colours now render with their configured translucency instead of being forced opaque.

Bug fixes#

  • Added StorytellerSdk.onPlayerOpenFailed so Android errors reported after a programmatic Clips open request is accepted remain observable instead of attempting to reject an already-resolved Promise.

11.5.0 - 16/07/26#

Native SDK updates#

Compared with RN 11.2.1:

New Features#

  • Added the optional @getstoryteller/react-native-storyteller-sdk-vast package, with generic VAST and GAM VAST setup, dynamic request-parameter callbacks, and diagnostics events.
  • Added GAM Clips bottom-banner configuration and AdMob setup through setupAdMobModule, including native, banner fallback, bottom-banner, custom KVP, and banner-priority options.
  • Expanded the core SDK API with player visibility and mute helpers, nullable locale clearing, deep-link naming aliases, Android Clips preloading and category count helpers, custom attribute replacement, followed-category helpers and catalog access, custom share handling, and client-supplied ad completion/failure methods.
  • Added optional StorytellerClipsAdConfiguration to imperative Clips collection opening and Embedded Clips, allowing individual presentations to opt into pre-roll and bottom-banner placements while preserving native defaults when omitted.
  • Expanded user-activity analytics to the current native event and payload surface, including tile visibility, mute/captions, search, sheet, card, ad lifecycle/revenue, SDK initialization, and followable-category events.
  • Expanded theme support for player icons and Clips controls, Clips like-button Lottie animations, card audio icons, poll image gradients, followable-category gestures, and list player-open behavior.

Improvements#

  • Android artifacts now resolve from Maven Central instead of the legacy Storyteller CloudRepo/MyGet repository.
  • Normalized global and per-view React Native image resources before native theme conversion and added Android drawable/resource support for custom player imagery.
  • Improved Android custom-font reuse by resolving packaged res/font families, caching equivalent native themes, and avoiding redundant theme application during React renders.
  • Aligned DataLoadCompletedEvent with all component payloads: list and Card callbacks include dataCount, while Embedded Clips may omit it.

Bug fixes#

  • Fixed iOS GAM ad-unit requests so combined and Clips bottom-banner ads can await JavaScript responses without blocking the main thread.
  • Fixed Android custom share handling so shareButtonTapped reaches the React Native listener.
  • Restored native Clips list player ownership so viewed state refreshes after dismissal without resetting the iOS More-grid scroll position.

11.2.1 - 05/03/26#

Native SDK updates#

Compared with RN 11.2.0:

Bug fixes#

  • fixed Card playback video issue on Android

11.2.0 - 26/02/26#

Native SDK updates#

Compared with RN 11.0.10:

Breaking Changes#

  • updated the public API to match the native SDKs

11.0.10 - 20/02/26#

Bug fixes#

  • fix intermittent Storyteller Card height race condition that could render card text outside the card

11.0.9 - 03/02/26#

Bug fixes#

  • fix Storyteller Card incorrect sizing

11.0.8 - 14/01/26#

Bug fixes#

  • fix lifecycle crash in RN to Android bridge component

11.0.7 - 01/12/25#

Bug fixes#

  • fix analytics crash on Android

11.0.6 - 07/11/25#

Improvements#

  • Expo 54 support has been added

11.0.5 - 10/10/25#

Improvements#

  • Align methods with native SDKs

11.0.4 - 02/10/25#

Improvements#

  • Documentation updates
  • Fixed Android OOM issues with proper Compose view cleanup
  • Fixed Expo plugin export bug

11.0.3 - 01/10/25#

Improvements#

  • Android: unified all SDK-backed views under a common Compose host view (StorytellerComposeView) for consistency and maintenance; no public API changes

11.0.2 - 30/09/25#

Improvements#

  • Embedded Clips: fixed state issues that occurred after resetting the user
  • iOS integration: support both modular and non-modular header imports to improve compatibility with different project setups

11.0.1 - 25/09/25#

New Features#

  • Expo config plugin: add iOS SDK version pinning via plugin options
  • Expo config plugin: add Android autolinking exclusion to avoid duplicate linking in certain setups

11.0.0 - 24/09/25#

Native SDK updates#

Compared with RN 10.8.2:

Breaking Changes#

  • React Native New Architecture required (Fabric + TurboModules), see the Migration Guide (v10.x to v11.0.0+)
  • Promise-based API replaces callbacks; imports/exports reorganized — use StorytellerSdk as the main interface
  • Removed Storyteller.currentUserId for VPPA compliance
  • Removed non-public analytics properties and updated event payloads, see Analytics

New Features#

  • New Fabric components: Stories Row, Stories Grid, Clips Row, Clips Grid, Embedded Clips
  • New components: Cards and Storyteller Home for multi-row/grid screens
  • Added onTileTapped support across list components
  • Embedded Clips: For You / Following feed support, auto reloading, and Android back navigation handling

Improvements#

  • Restored dataCount on Embedded Clips onDataLoadCompleted
  • Fixed delegate methods not emitting consistently; theming fixes and stability improvements
  • Only reload Embedded Clips when the collection changes; fixed opening by external category ID

10.8.3 - 05/11/25#

Improvements#

  • fixed an Android crash

10.8.2 - 05/03/25#

Native SDK updates#

Compared with RN 10.7.1:

New Features#

  • added support for Expo projects, see Expo for more details
  • added theming updates for the Search heading on iOS, see Themes for more details

Improvements#

  • fixed an issue on Android where only 8 items were shown in Clips and Stories grids
  • fixed an issue on Android where page navigation using react-native-screens v3 caused a crash

10.7.1 - 06/02/25#

Improvements#

  • fix for Android build issue when using Kotlin versions that are not 1.9.24

10.7.0 - 17/01/25#

Native SDK updates#

Compared with RN 9.8.5:

New Features#

  • added support for viewed Clips
  • removed deprecated individual properties on our list views, in favor of the new configuration objects, seeStorytellerListViews for more details
  • updated analytics events and properties, see Analytics for more details
  • added support for Followable Categories
  • Clips support for localized closed captions
  • added support for Gradient Borders on Circular Tiles, Live Chips and Tile Chips, chip.show property for rectangular tiles and many other theme updates, see Themes for more details
  • updated setup of the Embedded Clips component, see Embedded Clips for more details
  • added Storyteller Home component for showing multiple Stories and Clips Rows or Grids to be embedded in a single screen in your application in a list, see Storyteller Home for more details
  • added reorder animation when row Tiles change their order
  • added support for GAM Native Ads, see Ads for more information
  • added For You / Following feature to our embedded clips
  • added auto reloading support to our lists
  • added support for handling back navigation within SDK in Embedded Clips on Android, see StorytellerEmbeddedClipsView for more details

Improvements#

  • various crash fixes, UI/UX and Accessibility improvements and performance optimizations

9.8.5 - 04/12/24#

New Features#

  • fixed Android app builds with React Native versions newer than 0.73

9.8.4 - 31/01/24#

Native SDK updates#

Compared with RN 9.8.0:

New Features#

  • added reloadData function to StorytellerEmbeddedClipsView

9.8.0 - 14/12/23#

Native SDK updates#

Compared with RN 9.7.4:

  • iOS CocoaPods core SDK requirement: ~> 9.7.2 → ~> 9.8.0. See the iOS release notes.

New Features#

  • removed home field from StorytellerTheme

9.7.4 - 15/11/23#

Bug Fixes:

  • fixed a crash in StorytellerSdkThemeUtil on Android API < 29

9.7.3 - 18/10/23#

Native SDK updates#

Compared with RN 9.7.2:

New Features#

  • added support for Android 14

9.7.2 - 13/10/23#

Native SDK updates#

Compared with RN 9.1.6:

New Features#

  • added openCategory method, please see Storyteller for more details
  • added openStoryByExternalId and openClipByExternalId methods, please see Storyteller for more details
  • added storyDisplayTitle parameter to analytic events, please see Analytics for more details
  • added adPlacement to analytics, please see Analytics for more details
  • We have added the StorytellerEmbeddedClipsView so you can embed the Clips playback experience in your custom view hierarchy.

Breaking Changes#

  • changed signature of ad delegate from getAdsForList to getAd, please see Ads for more details

9.1.6 - 16/08/23#

  • fixed setCustomAttributes signature on iOS

9.1.5 - 15/08/23#

  • fixed NPE crash which could occur on some Android devices running the SDK

9.1.4 - 18/05/23#

Native SDK updates#

Compared with RN 9.1.2:

9.1.2 - 08/05/23#

Native SDK updates#

Compared with RN 8.5.1:

  • Android core SDK: 8.5.1 → 9.1.2. See the Android release notes.
  • iOS CocoaPods core SDK requirement: ~> 8.3.0 → ~> 9.1.2. See the iOS release notes.

  • renamed StorytellerRowView into StorytellerStoriesRowView

  • renamed StorytellerGridView into StorytellerStoriesGridView
  • changed event interface for GetAdsForList to match interface of native SDKs
  • removed tileBecameVisible prop on list components

8.5.1 - 01/02/23#

Native SDK updates#

Compared with RN 8.3.1:

  • Android core SDK: 8.3.1 → 8.5.1. See the Android release notes.

  • fixed bug which could cause the app to crash when dealing with invalid data for client ads, themes and initialization

8.3.1 - 15/12/22#

Native SDK updates#

Compared with RN 8.3.0:

Improvements:

  • added Android font weight support for themes
  • fixed appearance style changes when the app goes into the background
  • enabled iPad as a demo app destination
  • updated theme font docs and code snippets

8.3.0 - 09/12/22#

Native SDK updates#

Compared with RN 8.2.11:

Improvements:

  • added storytellerPlacement and storytellerCurrentCategory to Google Ad Manager
  • updated Google Ad Manager for React Native

8.2.11 - 02/12/22#

Bug Fixes:

  • fixed bug with the category format on GetAdsForList

8.2.10 - 30/11/22#

Native SDK updates#

Compared with RN 8.2.9:

  • iOS CocoaPods core SDK requirement: ~> 8.2.3 → ~> 8.2.4. See the iOS release notes.

Bug Fixes:

  • fixed bug with type inference and arguments
  • fixed lists.backgroundColor theme on React Native Android

8.2.9 - 25/11/22#

Native SDK updates#

Compared with RN 8.2.8:

Improvements:

  • removed validation that User ID has to be set for React Native on Android and iOS

8.2.8 - 23/11/22#

Bug Fixes:

  • Corrected the Clips Row interface following the 8.2.7 release; native core dependencies are unchanged.

8.2.7 - 23/11/22#

Native SDK updates#

Compared with RN 8.2.4:

New Features#

  • Added Clips row/grid integration and collection opening support.

8.2.4 - 06/11/22#

Native SDK updates#

Compared with RN 7.0.3:

Bug Fixes:

  • fixed bug with custom themes

7.0.3 - 12/04/22#

Native SDK updates#

Compared with RN 7.0.2:

7.0.2 - 08/04/22#

Native SDK updates#

Compared with RN 6.1.3:

Improvements#

  • updated Storyteller themes

6.1.3 - 11/03/22#

Native SDK updates#

Compared with RN 6.1.2:

  • iOS CocoaPods core SDK requirement: ~> 6.0.2 → ~> 6.1.1. See the iOS release notes.

Bug Fixes:

  • fixed bug where it was possible for categories to not be respected when passed to a StorytellerListView

6.1.2 - 23/02/22#

Native SDK updates#

Compared with RN 6.0.2:

Bug Fixes:

  • fixed a rendering issue which could arise when displaying multiple Storyteller lists on a single view
  • fixed an issue where theming individual rows on Android did not function correctly

6.0.2 - 07/02/22#

Native SDK updates#

Compared with RN 5.0.2:

New Features:

  • added the StorytellerRowView component. For more information please read StorytellerListViews.
  • added the StorytellerGridView component. For more information please read StorytellerListViews.
  • added the Storyteller object. For more information please read Storyteller.

5.0.2 - 08/12/21#

Native SDK updates#

Compared with RN 0.9.3:

Deprecations and Changes:

  • removed the deprecated cellScale property from the Storyteller component

New Features:

  • added the new categories and categoriesToPreload properties to the Storyteller component

0.9.3 - 06/10/21#

  • Initial Release