GuidesAPI ReferenceRelease Notes
HomeLog InHome
Guides

Android SDK release notes (historical)

Historical Experiences SDK release notes for Android, 2026 onward. For current releases, use the latest published release notes. For 2025 and earlier, see Android SDK release notes (historical, 2025 and earlier).

1.20.4 - Android

Date: 2026-07-23

Added

Keep empty tabs visible

isTabVisibleWhenEmpty on BlazePlayerTabsStyle controls whether a tab with no content, or a failed load, stays visible. Defaults to true. See isTabVisibleWhenEmpty.

A tab that stays visible presents the player's empty or error state. When set to false, a tab is removed after its content is prepared. The first tab is always kept, whether or not it has content.

🚧

This changes the default for every app, not only apps that requested it.

In 1.20.3, empty tabs were hidden automatically with no way to keep them. From 1.20.4, empty tabs are visible again by default. If your app relies on the automatic hiding, set isTabVisibleWhenEmpty = false to keep that behavior.

This is a setup-time configuration. Set it before playback starts. Changing it through updateTabsStyle() at runtime doesn't re-evaluate tabs, and tabs that were already removed aren't restored. Add them again with upsertTabs.

1.20.3 - Android

Date: 2026-07-20

Breaking changes

Widget remote identifier

Renamed widgetRemoteId to widgetRemoteIdentifier on widget init / reload paths (and related models). Update call sites to the new name. CMS-configured widgets are supported starting with this version: set widgetRemoteIdentifier so content creators can configure widgets in Experiences CMS. See CMS-configured widgets and Widget initialization.

For you cold start labels

Renamed the Recommendations For you parameter from promotedLabels to coldStartLabels. Update any For you data source that still passes promotedLabels. See Implicit personalization.

Added

GAM Next-Gen module

The SDK now supports Google GMA Next-Gen SDK for Google Ad Manager banner and custom native ads, through the new com.blaze:gam-next-gen module. If you use the legacy GAM module today, migrate to GAM Next-Gen so you stay on the supported Google ads stack. See GAM Next-Gen module and the migration guide.

  • What you get: the same Experiences BlazeGAM API (banner and custom native), on GMA Next-Gen
  • What to change: Ad Manager app ID in the Manifest, Gradle artifact (com.blaze:gamcom.blaze:gam-next-gen), com.blaze.gam.nextgen imports, and Google ad object types if you use them directly
  • Important: you can't run legacy Google Mobile Ads and GMA Next-Gen in the same app; don't keep both Blaze GAM modules

Item click thumbnail

Added BlazeWidgetItemClickParams now includes contentThumbnailUrl, the URL of the clicked item's main thumbnail (Stories, Moments, and Videos widgets). See BlazeWidgetItemClickHandlerState.

Closed captions style

BlazeCaptionsStyle for customizing closed captions in the player.

Moments likes count threshold

Added shouldPreserveLikesCountBelowThreshold on BlazeMomentsPlayerButtonsStyle.

CTA border customization

Added borderColor and borderWidth on Moments, Stories, and Videos CTA styles. See BlazeMomentsPlayerCtaStyle, BlazeStoryPlayerCtaStyle, and BlazeVideosPlayerCtaStyle.

Stories pre-roll ads

Added ads.enablePreroll on BlazeStoriesPlaybackConfiguration. When enabled, the fixed-position ad on the first page plays as a pre-roll instead of being skipped. Default is false.

Moments tabs Chrome

Added isTabTitleVisibleWhenSingleTab and activeTabIndicator on BlazePlayerTabsStyle.

Share extra info

Added extraInfo on BlazeShareParams. See BlazePlayerSourceDelegate.

Custom action button metadata

Added sdkMetadata on BlazePlayerCustomActionButtonParams .

Compose Data Source

composite to enable multiple data sources in a single call. See BlazeDataSourceType.Composite: Android

Videos player overlay auto-hide time

overlayVisibilityThreshold on BlazeVideosPlayerStyle sets how long (in milliseconds) the player controls overlay stays visible before it auto-hides. Non-positive values (zero or negative) fall back to the default. Presets keep the current default of 3000 ms.

Live streaming

Streaming video (CMS Streams / live video) is supported starting with this version. The Videos player and widgets now support live video streams alongside on-demand videos. A live stream is a video that carries stream metadata, so it plays through the standard Videos player and widgets: there is no separate live player. See Video content type delivery.

  • BlazeVideosFilterParams (contentTypes, streamStates) controls which content types and stream states a widget or player shows. Create it with BlazeVideosFilterParams.base(), adjust the properties, and pass it to initWidget on the Videos widgets and to BlazeSDK.playVideos / BlazeSDK.prepareVideos.
  • BlazeVideoContentType (VIDEO / STREAM) and BlazeLiveStreamStatus (LIVE / UPCOMING / ENDED) identify the content type and the stream lifecycle.
  • Order streams with BlazeOrderType (RECENTLY_STARTED_FIRST / RECENTLY_STARTED_LAST) and BlazeAdvancedOrderType (LiveFirst).
  • Style the live/upcoming/ended chip and start time on widget items with BlazeWidgetItemStatusIndicatorStyle and BlazeWidgetItemEventTimeElementStyle.

See Live streaming.

Changed

Videos multi-aspect ratio default

Default of BlazeVideosPlaybackConfiguration.multiAspectRatio changed from false to true.

Removed

Remote config data source

Removed BlazeDataSourceType.RemoteConfig. CMS-configured widgets are supported starting with this version through widgetRemoteIdentifier at widget initialization. See CMS-configured widgets.

Improved

  • Widget loading performance

Fixed

Closed captions (Material 3)

Crash on CC button tap with some Material 3 versions.

Search (shared Moment)

Search unavailable when viewing a Moment from a shared link.

Search (RTL)

Search did not respect RTL / forced layout direction.

1.19.5 - Android

Date: 2026-06-11

Fixed

  • On process death restoration, fixed a silent crash on the Moments player.
  • In rare cases, preparing recommendations caused no content to be displayed in the Moments player.

1.19.3 - Android

Date: 2026-06-02

Fixed

  • Fixed a rare internal ANR caused by the SDK delegates mechanism.

1.19.1 - Android

Date: 2026-05-17

Added

  • Added extraInfo: Map<String, String> to BlazeWidgetItemClickParams, exposing the content item's key-value metadata to the widget click handler. See BlazeWidgetItemClickHandlerState.
  • Added shimmer color customization for widgets via the new BlazeWidgetShimmeringStyle type, exposed on BlazeWidgetLayout.shimmering. See BlazeWidgetShimmeringStyle.
  • Added configurable buffering spinner delay to all player types:
  • Added Widget to Tabs support for Moments widgets. A new initWidget overload accepts BlazeMomentsWidgetTabsConfiguration, launching a fullscreen tabs player on item tap instead of a single-moment player. See Moments Widget to Tabs.
  • Added SDK-wide sound state control via the new BlazePlayerSoundState type and BlazeSDK.setPlayerSoundState() method, allowing apps to mute or unmute all story, moment, and video playback globally.

Fixed

  • Fixed 2x speed mode not activating on Moments and Videos shorter than 20 seconds.
  • Fixed the 2x speed indicator overlapping the Moments Tabs header.

1.18.1 - Android

Date: 2026-05-06

Fixed

  • Improved stability when the player screen is restored by the system after the app was evicted from memory under low-resource conditions.

1.18.0 - Android

Date: 2026-03-29

Added

Moments Tabs: Programmatic Content Reload

You can now programmatically refresh the content of your Moments Tabs component without requiring users to navigate away and back.

New public APIs on BlazeMomentsPlayerContainerTabs / BlazeMomentsPlayerContainerTabsComposeStateHandler:

Story Player: Title Image

A contextual image can now be displayed alongside the story title in the player header. See Storyplayertitleimagesource

  • New public types: BlazeStoryPlayerTitleImageSource, BlazeStoryPlayerTitleImageStyle.

Bug fixes

  • Fixed a bug in Moments tabs where non-scrollable items were not behaving correctly.

1.17.1 - Android

Date: 2026-03-08

Added

1.16.3 - Android

Date: 2026-01-21

Fixed

  • Fixed a widget layout cutoff when using Jetpack Compose.

1.16.1 - Android

Date: 2026-01-15

Fixed

  • Fixed an issue where widgets could remain stuck in shimmering mode.
  • Fixed an issue where appendMomentsToPlayer did not work for Entry Points.
  • Fixed an issue where the video player always resumed playback after dismissing the Share chooser, ignoring the previous paused state.

Did this page help you?