Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
[Release Notes](https://docs.usercentrics.com/cmp_in_app_sdk/latest/about/history/)
### 2.30.0 – Aug 19, 2026
## Features
* **[Unity — Mediation]** Added support for Unity's End-User Consent Mode API (`EndUserConsent.SetConsentState`), mapping UC consent decisions to Unity Vector's `AnalyticsIntent`/`AdsIntent` signals — unblocks Unity Ads Vector adoption. Also fixed the dead Unity Ads link in the Consent Mediation docs
* **[Android]** Added APIs to capture and restore in-flight 2nd-layer consent state across Activity recreation (e.g. dark-mode toggles, single-activity navigation hosts), so unsaved user selections are no longer lost
* **[Flutter]** Added Swift Package Manager (SPM) support for the iOS plugin, recommended for Xcode 15+, alongside continued CocoaPods compatibility

## Fixes
* **[Android — Mediation]** Fixed `CrashlyticsMediationSDK` throwing `NoClassDefFoundError` on Firebase BOM 34+ by resolving `FirebaseCrashlytics` via reflection instead of the removed KTX API
* **[Unity/Android]** Fixed a crash during SDK initialization in Unity Development builds on Android (Production builds were unaffected)

Comment thread
asadraza-usercentrics marked this conversation as resolved.
### 2.29.1 – Aug 5, 2026
## Features
* **[Unity]** Added `isExempt` to the Unity `ServiceConsent` model, propagating the statistical exception flag to the Unity bridge
Expand Down
2 changes: 1 addition & 1 deletion android/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
val usercentricsVersion = "2.29.1"
val usercentricsVersion = "2.30.0"
Comment thread
asadraza-usercentrics marked this conversation as resolved.
Comment thread
asadraza-usercentrics marked this conversation as resolved.
val reactNativeVersion = "+"

fun BooleanProperty(name: String): Boolean {
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"name": "@usercentrics/react-native-sdk",
"version": "2.29.1",
"version": "2.30.0",
Comment thread
asadraza-usercentrics marked this conversation as resolved.
"description": "Usercentrics SDK",
"homepage": "https://usercentrics.com",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"author": "Usercentrics <developer@usercentrics.com>",
"iosPackageName": "react-native-usercentrics",
"iosPackageVersion": "2.29.1",
"iosPackageVersion": "2.30.0",
Comment thread
asadraza-usercentrics marked this conversation as resolved.
"license": "SEE LICENSE IN LICENSE",
"files": [
"android",
Expand Down
18 changes: 9 additions & 9 deletions sample/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1924,7 +1924,7 @@ PODS:
- ReactCommon/turbomodule/core
- SocketRocket
- Yoga
- react-native-usercentrics (2.29.1):
- react-native-usercentrics (2.30.0):
- boost
- DoubleConversion
- fast_float
Expand All @@ -1951,7 +1951,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- SocketRocket
- UsercentricsUI (= 2.29.1)
- UsercentricsUI (= 2.30.0)
- Yoga
- react-native-webview (13.16.1):
- boost
Expand Down Expand Up @@ -2546,9 +2546,9 @@ PODS:
- SocketRocket
- Yoga
- SocketRocket (0.7.1)
- Usercentrics (2.29.1)
- UsercentricsUI (2.29.1):
- Usercentrics (= 2.29.1)
- Usercentrics (2.30.0)
- UsercentricsUI (2.30.0):
- Usercentrics (= 2.30.0)
- Yoga (0.0.0)

DEPENDENCIES:
Expand Down Expand Up @@ -2816,7 +2816,7 @@ SPEC CHECKSUMS:
hermes-engine: 35c763d57c9832d0eef764316ca1c4d043581394
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
RCT-Folly: 59ec0ac1f2f39672a0c6e6cecdd39383b764646f
RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669
RCTDeprecation: c0ed3249a97243002615517dff789bf4666cf585
RCTRequired: 58719f5124f9267b5f9649c08bf23d9aea845b23
RCTTypeSafety: 4aefa8328ab1f86da273f08517f1f6b343f6c2cc
Expand Down Expand Up @@ -2850,7 +2850,7 @@ SPEC CHECKSUMS:
React-Mapbuffer: e4a65db5f4df53369f39558c0cf2f480f6d3d6c7
React-microtasksnativemodule: 86334c5c06315e0bccb7b6e6f2c905e92f98b615
react-native-safe-area-context: eda63a662750758c1fdd7e719c9f1026c8d161cb
react-native-usercentrics: 8cd13b2cfe938140f93bc9296ac764a1d5ae4f02
react-native-usercentrics: 50a5d5954c268060c01e68ada86db0e94b99c534
react-native-webview: 83c663c5bdf1357d3e7c00986260cb888ea0e328
React-NativeModulesApple: 8c7eb6057b00c191a11ad5ced41826ec5a0e4d78
React-oscompat: 93b5535ea7f7dff46aaee4f78309a70979bdde9d
Expand Down Expand Up @@ -2884,8 +2884,8 @@ SPEC CHECKSUMS:
ReactCommon: e9ab32f1d1482d207867b4fdd139361302b9dcc6
RNScreens: e902eba58a27d3ad399a495d578e8aba3ea0f490
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
Usercentrics: 1234eaa46bfb50c4645226ed0c617ef34967e890
UsercentricsUI: f304cc98ade660138a90089b7289cb2e09e58d44
Usercentrics: 567d5a7fae74bf873d295135c2acce2569997c3d
UsercentricsUI: 2d82365e63124398120d2af121fc6d2e1835aaeb
Yoga: 9b30b783a17681321b52ac507a37219d7d795ace

PODFILE CHECKSUM: 8d257452e9e69d13384a99ee3cd38b42636521da
Expand Down
Loading