42.0.0
Breaking
- Updated Kotlin from 2.0.20 to 2.2.20.
- Updated Kotlin Coroutines from 1.8.1 to 1.10.2.
- Updated Kotlin Serialization from 1.8.0 to 1.9.0.
Fixed
- Fixed an issue where non-HTML In-App Message view creation was dispatched to a background thread, causing an
IllegalArgumentExceptionwhen image loaders like Glide require the main thread. See #102 for details. - Fixed an issue where in-app messages from a previous user session could be presented after
changeUser()is called. On user change, the in-app message stack, event map, and any carryover or unregistered messages are now unconditionally cleared. - Fixed an issue on API 36+ where pressing the Back button to dismiss an in-app message could also close the app or navigate back.
- Fixed an issue where expired Banners would be returned in
Braze.subscribeToBannersUpdates(). - Fixed R8 optimized resource shrinking stripping custom
res/valuesthat Braze requires to operate whenandroid.r8.optimizedResourceShrinkingis enabled (Gradle 9.x). See #84 for details. - Fixed an issue where
setDateOfBirthaccepted out-of-range or negative date values instead of rejecting them. - Fixed a potential ANR when registering for Braze updates during
Activitylifecycle (for example when usingBrazeActivityLifecycleCallbackListener). That registration no longer blocks the UI thread.
Added
- Added a config field
BrazeConfig.setIsHtmlInAppMessageApplyWindowInsetsEnabled()to configure the SDK to automatically apply window insets to HTML In-App messages.- By default, this value is true.
- Added support for dismissing slideup in-app messages by vertical swipes. Slideups from the bottom can be dismissed by swiping down and slideups from the top can be dismissed by swiping up.