Releases: braze-inc/braze-react-native-sdk
Releases · braze-inc/braze-react-native-sdk
16.0.0
Breaking
- Updates the native Android SDK version bindings from Braze Android SDK 36.0.0 to 37.0.0.
- Updates the native Swift SDK version bindings from Braze Swift SDK 12.0.0 to 13.0.0.
- The
"sdkAuthenticationError"
event will now trigger for both "Required" and "Optional" authentication errors.
- The
Added
- Updates the Braze sample app to use React Native version
0.80.0
. This change validates SDK compatibility with the latest version of React Native. - Adds ability to unset user first name, last name, phone number, email, gender, language, home city, and country by setting these values to
null
.
Fixed
- Fixes the iOS implementation of
setDateOfBirth
to correctly report dates using the Gregorian calendar instead of the user's device calendar.- Previously, the SDK would re-format the input date components with the device's calendar settings if they were non-Gregorian.
15.0.1
Fixed
- Improves the TypeScript declarations in the following areas:
- Adds missing TypeScript definitions for the
BrazeBannerView
component and its children properties. - Usage comments that were previously missing for properties on
PushNotificationEvent
andTrackingPropertyAllowList
will now appear in the TypeScript auto-complete descriptions.
- Adds missing TypeScript definitions for the
15.0.0
15.0.0
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. However, we are not reintroducing formal support for < API 25. Read more here.
Breaking
- Updates the native Android bridge from Braze Android SDK 35.0.0 to 36.0.0.
- Updates the native iOS version bindings from Braze Swift SDK 11.9.0 to 12.0.0.
- Updates the unit representation of
PushNotificationEvent.timestamp
to milliseconds on iOS.- Previously, this value would be represented in seconds on iOS. This will now match the existing Android implementation.
14.1.0
Added
- Updates the native iOS version bindings from Braze Swift SDK 11.7.0 to 11.9.0.
Fixed
- Updates the internal implementations of the following methods to use non-deprecated methods from the native Swift SDK:
getUserId
now usesbraze.user.identifier
instead of[braze.user idWithCompletion:]
, which was deprecated in Swift SDK 11.5.0.Banner.trackingId
now uses the underlyingbanner.trackingId
instead ofbanner.identifier
, which was deprecated in Swift SDK 11.4.0.- These deprecations do not have any impacts to functionality.
- Fixes the callback signature of
getInitialPushPayload
to indicate thatnull
can be returned when there is no payload object available. - Fixes the relative path reference to various Braze data models in the
NativeBrazeReactModuleSpec
. - Resolves a build failure in the
BrazeBannerView
class introduced in14.0.0
, which would occur under certain iOS project configurations.
14.0.0
14.0.0
Breaking
- Resolves an Android issue with
setDateOfBirth(year, month, day)
introduced in1.38.0
, where the month was indexed 0-11 instead of 1-12. The months are now indexed from 1-12 on both Android and iOS.- The previous behavior on Android would assign
setDateOfBirth(1970, 1, 1)
to the month of February instead of the intended month of January, andsetDateOfBirth(1970, 12, 1)
tonull
instead of the intended month of December. - Customers who wish to retroactively rectify this are recommended to ask their users to confirm their dates of birth and call
setDateOfBirth
with these values.
- The previous behavior on Android would assign
- Updates the native Android version bindings from Braze Android SDK 32.1.0 to 35.0.0.
- The minimum required Android SDK version is 25. See more details here.
- The
NativeBrazeReactModule.ts
file has been moved into a sub-directory calledspecs
.- If your project contains direct references to this file, you will need to update the relative path of your imports to
/specs/NativeBrazeReactModule
. - For an example, refer to the sample test setup here.
- If your project contains direct references to this file, you will need to update the relative path of your imports to
Added
- Updates the native iOS version bindings from Braze Swift SDK 11.2.0 to 11.7.0.
- Adds support for the Braze Banner Cards product and APIs to utilize them.
Braze.requestBannersRefresh(placementIds)
- to request a refresh of the banners associated with the provided placement IDs. On iOS only, failures will be logged if unsuccessful.Braze.getBanner(placementId)
- to get a banner with the provided placement ID if available in cache, otherwise returns null.Braze.Events.BANNER_CARDS_UPDATED
event forBraze.addListener
- to subscribe to banners updates.
- Adds the default UI components for Braze Banner Cards.
- To use this feature, insert the
Braze.BrazeBannerView
component into your view hierarchy with the requiredplacementID
property.
- To use this feature, insert the
13.2.0
Added
- Updates the native iOS version bindings from Braze Swift SDK 11.1.1 to 11.2.0.
- Updates the Android bridge to add compatibility with React Native version 0.77.0.
- Updates the Braze sample app to use React Native version 0.77.0.
- Adds the
setIdentifierForAdvertiser
andsetIdentifierForVendor
methods to set the IDFA and IDFV, respectively (iOS only). This is a no-op on Android.
13.1.1
13.1.0
Fixed
- Updates the iOS sample app to properly retain the
BrazeReactDelegate
instance. Internally, the Braze SDK uses a weak reference to the delegate, which could be deallocated if not retained by the app. This change ensures the delegate is retained for the lifecycle of the app.
Added
- Updates the native iOS version bindings from Braze Swift SDK 11.0.0 to 11.1.1.
- Adds the method
Braze.getInitialPushPayload()
to get the push notification payload when opening the app via notification click while the application was in a terminated state.Braze.getInitialURL()
is now deprecated in favor ofBraze.getInitialPushPayload()
. To access the initial URL, use the new method to receive the push notification payload, and access the value of theurl
key.- If you are using
Braze.getInitialPushPayload()
, add the following code to yourapplication:didFinishLaunchingWithOptions:launchOptions:
:
This replaces[[BrazeReactUtils sharedInstance] populateInitialPayloadFromLaunchOptions:launchOptions];
populateInitialUrlFromLaunchOptions
, which is now deprecated.
13.0.0
Breaking
- Updates the native Android version bindings from Braze Android SDK 31.1.0 to 32.1.0.
- Updates the native iOS version bindings from Braze Swift SDK 10.3.0 to 11.0.0.
12.2.0
Added
- Updates the native iOS version bindings from Braze Swift SDK 10.1.0 to 10.3.0.
- Updates the Braze sample app to use React Native version 0.75.2.
- Updates the Braze sample app to show how to support GIFs in in-app messages and content cards on iOS.
- Adds the ability to conditionally import the
android-sdk-location
Braze library ingradle.properties
viaimportBrazeLocationLibrary=true
.