Skip to content
This repository was archived by the owner on Sep 10, 2025. It is now read-only.

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Aug 31, 2025

This PR contains the following updates:

Package Change Age Confidence
com.braze:android-sdk-ui (source) 33.1.0 -> 39.0.0 age confidence

Release Notes

braze-inc/braze-android-sdk (com.braze:android-sdk-ui)

v39.0.0

Release Date

Breaking
  • Changed the behavior of Braze.subscribeToContentCardsUpdates() to immediately return cached Content Cards after registering the subscriber.
Fixed
  • Fixed a race condition in BrazeBootReceiver which could cause a crash upon SDK initialization.
Changed
  • Increased the socket read timeout for all network requests to 25 seconds.

v38.0.0

Release Date

Breaking
  • Removed News Feed.
    • Removed BrazeImageSwitcher, CardKey.Provider, and CardCategory.
    • Card objects now only represent Content Cards.
    • Removed Card.updated.
    • Removed IBraze.logFeedDisplayed(), IBraze.requestFeedRefreshFromCache(), IBraze.requestFeedRefresh(), IBraze.subscribeToFeedUpdates(subscriber), IBraze.logFeedCardImpression(cardId), and IBraze.logFeedCardClick(cardId).
    • Removed BrazeConfig.isNewsFeedVisualIndicatorOn.
Added
  • Added support for delayed SDK initialization.
    • To enable delayed initialization, call Braze.enableDelayedInitialization(context, analyticsBehavior).
    • To disable delayed initialization, call Braze.disableDelayedInitialization(context).
  • Added predictive back animations to full view in-app messages on gesture navigation modes on API 34+, and 3-button navigation modes on API 36+. See the Android 16 Documentation for more details.
  • Moved the method internals of BrazeFirebaseMessagingService.onNewToken() to the companion object for easier behavior overriding.
  • Added support for new Banner properties by adding the following methods:
    • Banner.getStringProperty(key) for accessing String properties.
    • Banner.getNumberProperty(key) for accessing Number properties.
    • Banner.getBooleanProperty(key) for accessing Boolean properties.
    • Banner.getJSONProperty(key) for accessing JSONObject properties.
    • Banner.getImageProperty(key) for accessing image URL properties as Strings.
    • Banner.getTimestampProperty(key) for accessing Unix UTC millisecond timestamp properties as Longs.
Changed
  • Changed the behavior of templated In-App Messages to not automatically retry on endpoint errors to match the behavior of the iOS and Web SDKs.
  • The default client-side rate limiting values for Banners refresh has been increased. For more information on SDK rate limiting, please refer to the Braze Developer Guide.

v37.0.0

Release Date

Breaking
  • Removed the config field BrazeConfig.setIsHtmlInAppMessageApplyWindowInsetsEnabled() and defaulted its behavior to true. The SDK will now unconditionally apply window insets to all HTML In-App Messages.
  • Removed IBraze.requestContentCardsRefresh(boolean). Please instead use IBraze.requestContentCardsRefresh() and IBraze.requestContentCardsRefreshFromCache().
  • Removed BrazeConfig.Builder.setDeviceObjectWhitelist(). Please use BrazeConfig.Builder.setDeviceObjectAllowlist() instead.
  • Removed BrazeConfig.Builder.setDeviceObjectWhitelistEnabled(). Please use BrazeConfig.Builder.setDeviceObjectAllowlistEnabled() instead.
  • Removed ContentCardsUpdatedEvent.getLastUpdatedInSecondsFromEpoch. Please instead use getTimestampSeconds()(Java) or timestampSeconds(Kotlin).
  • Removed FeatureFlag.getTimestamp(key). Please use FeatureFlag.getTimestampProperty(key) instead.
  • Removed BrazeWebViewClient.shouldInterceptRequest(view, url). Please use BrazeWebViewClient.shouldInterceptRequest(view, request) instead.
  • Removed IBraze.getInstallTrackingId(). Please use IBraze.deviceId instead.
Fixed
  • Fixed an issue where a LeakedClosableViolation would occur when disabling and re-enabling the SDK.
  • Fixed an issue with Android TalkBack announcing "double tap to activate" on header and body text in In-App Messages.
Added
  • Added support for Android 16 (API 36).
    • Note that apps targeting API 36 should update to this SDK version.
  • Added shutdown() to IBrazeImageLoader to allow for cleanup of resources.
  • Improved accessibility support across In-App Messages and Content Cards by introducing alt text for images (by setting their content description).
  • Added the ability to pass null to BrazeUser.setGender(gender) in order to unset the gender value.
Changed
  • UriAction.openUriWithActionViewFromPush, UriAction.openUriWithWebViewActivity, and UriAction.openUriWithWebViewActivityFromPush are marked as open and can now be overridden.

v36.0.0

Release Date

[!IMPORTANT]
This release reverts the increase to the minimum Android SDK version of the Braze Android SDK from API 21 to API 25 introduced in 34.0.0. This allows the SDK to once again be compiled into apps supporting as early as API 21. Note that while we are re-introducing the ability to compile, we are not reintroducing formal support for <API 25, and cannot guarantee that the SDK will work as intended on devices running those versions.

If your app supports those versions, you should:

  • Validate your integration of the SDK works as intended on physical devices (not just emulators) for those API versions.
  • If you cannot validate expected behavior, you must either call disableSDK, or not initialize the SDK on those versions. Otherwise, you may cause unintended side effects or degraded performance on your end users’ devices.
Breaking
  • Fixed an issue where In-App Messages would cause a read on the main thread.
    • BrazeInAppMessageManager.displayInAppMessage is now a Kotlin suspend function.
    • If you do not call this function directly, you do not need to make any changes.
  • AndroidX Compose BOM updated to 2025.04.01 to handle updates in the Jetpack Compose APIs.
Fixed
  • Fixed a potential issue where the SDK could incorrectly calculate in-flight In-App Message requests and prevent new In-App Messages from being triggered.
  • Ensured that Content Cards, In-App Messages, Feature Flags, and Banners are cleared when calling Braze.wipeData().
  • Set default background of BannerView to transparent.
  • Fixed an issue where BrazeInAppMessageManager.activity would point to the previous activity when an Activity on the blocklist was active.
  • Fixed an issue where In-App Messages would continue consuming predictive back callbacks after the message was dismissed/closed.
    • For more detail: The predictive back callback not removed when the In-App Message was closed via the close button (or any other non-back dismissal method). This caused two back button invocations to be needed to trigger the host Activity/Fragment's predictive back callback.
Added
  • Added a parameter enablePullToRefresh to ContentCardsList in Jetpack Compose to allow for disabling pull-to-refresh behavior.
Changed
  • Removed the deprecated announceForAccessibility in favor of accessibilityLiveRegion and contentDescription for accessibility TalkBack.
  • Removed any displayed In-App Messages when calling Braze.changeUser().
  • Modified BrazeActivityLifecycleCallbackListener to keep track of the latest activity in use.
    • This is used to handle push permission prompts for various channels (ie. In-App Messages, Banners, etc).
    • If you plan on using push permission prompts from a channel other than In-App Messages, you should make sure you're registering BrazeActivityLifecycleCallbackListener in your Application class.
  • Set allowFileAccess to false in BannerView.

v35.0.0

Release Date

Breaking
  • HTML In-App Messages will now persist the WebView when the app is put in the background.
    • To disable this feature, use <bool name="com_braze_persist_webview_when_backgrounding_app">false</bool> in your braze.xml file.
  • Removes the ability to control whether the SDK prevents showing In-App Messages to different users in certain edge cases.
    • Removes the option to configure via braze.xml through <bool name="com_braze_prevent_in_app_message_display_for_different_user">true</bool>.
    • Removes the option to configure via runtime configuration through BrazeConfig.setShouldPreventInAppMessageDisplayForDifferentUsers().
    • The SDK will now always behave as if this configuration option were set to true.
Fixed
  • Control banners will invoke Banner.heightCallback with a value of 0.0. Previously it was not being called for control banners.
  • Fixed an issue where sending a test banner from the dashboard would not update immediately.
Added
  • Added the ability to get success and failure callbacks for BrazeUser.requestBannersRefresh().
  • Allows user to subscribe to Banner update errors with Braze.subscribeToBannersErrors().

v34.0.0

Release Date

Breaking
  • Updated the minimum SDK version from 21 (Lollipop) to 25 (Nougat).
Added
  • Adds BrazeNotificationPayload.isSilentPush to check if a notification payload is a silent push.
  • Adds BrazeUser.setLineId(String) to set the LINE ID of a user.
    • Adds brazeBridge.getUser().setLineId(String) to the javascript interface for HTML In-App Messages and Banners.
  • Added the ability to forcibly pad In-App Messages with the height of the status bar.
    • Configured via braze.xml through <bool name="com_braze_in_app_message_add_status_bar_padding">true</bool>.
    • Can also be configured via runtime configuration through BrazeConfig.setShouldAddStatusBarPaddingToInAppMessages().
    • Defaults to false. You should not change this value unless you're seeing issues with In-App Messages close button being obscured by the status bar when using a cross-platform framework like React Native or Flutter.
  • Added a callback in BannerJavascriptInterface for dynamically setting the height of a Banner.
Fixed
  • Fixed an issue where automatic location collection being disabled would also disable Geofences.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Move to "Dependency updates" section in release notes. Automatically applied by Renovate. label Aug 31, 2025
@renovate renovate bot force-pushed the renovate/com.braze-android-sdk-ui-39.x branch from 39409c8 to 2b97756 Compare September 8, 2025 12:36
@marcin-kozinski marcin-kozinski deleted the renovate/com.braze-android-sdk-ui-39.x branch September 10, 2025 08:16
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

dependencies Move to "Dependency updates" section in release notes. Automatically applied by Renovate.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants