From c4ed8be00987e0af94d2b0c7efb32eccc7f9ca05 Mon Sep 17 00:00:00 2001 From: Bruno Silva Date: Wed, 14 Oct 2026 11:53:09 +0100 Subject: [PATCH 1/2] Release: 2.33.0 Co-Authored-By: Claude Sonnet 5.5 --- CHANGELOG.md | 10 ++++++++++ android/build.gradle.kts | 2 +- package-lock.json | 4 ++-- package.json | 4 ++-- sample/ios/Podfile.lock | 24 +++++++++--------------- 5 files changed, 24 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d6d9df7..f87d8e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,14 @@ [Release Notes](https://docs.usercentrics.com/cmp_in_app_sdk/latest/about/history/) +### 2.33.0 – Oct 14, 2026 +## Features +* **[TCF 2.4]** Added the new mandatory standard text to the Features category on the first and second layers (mobile and CTV), and removed the workaround for the Legitimate Interest special purpose (mobile + CTV) + +## Fixes +* **[Android]** Fixed SDK initialization failing via the offline fallback on first launch when no languages cache exists, which surfaced as a misleading "wrong configuration / settingsID" error +* **[Android/iOS]** Fixed offline consent changes never being submitted to the backend +* **[Android/iOS — Apps Preview]** Fixed the forced/default language sticking to the first resolved value and ignoring later overrides, and fixed several issues in the mobile Apps preview +* **[iOS]** Fixed a blank gap and overlapping headers on the second layer after expanding a card (wrong section header height estimates) + ### 2.32.0 – Sep 30, 2026 ## Features * **[PUR — Consent or Pay]** Added the Consent-or-Pay 1st-layer banner ("Reject & Subscribe" card, subscriber-login link, `onLoginClicked`/`onSubscribeClicked` callbacks), a setting to control TCF signal retention on rejection plus a subscription-lapse reset API, and a fix so Deny All on the 2nd layer without an active subscription redirects back to the 1st layer instead of silently force-consenting diff --git a/android/build.gradle.kts b/android/build.gradle.kts index e9105a2..b5511b1 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -1,4 +1,4 @@ -val usercentricsVersion = "2.32.0" +val usercentricsVersion = "2.33.0" val reactNativeVersion = "+" fun BooleanProperty(name: String): Boolean { diff --git a/package-lock.json b/package-lock.json index 731230f..b203d4a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@usercentrics/react-native-sdk", - "version": "2.32.0", + "version": "2.33.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@usercentrics/react-native-sdk", - "version": "2.32.0", + "version": "2.33.0", "license": "SEE LICENSE IN LICENSE", "devDependencies": { "@babel/core": "^7.25.10", diff --git a/package.json b/package.json index 49cdbeb..56f1f7c 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,13 @@ { "name": "@usercentrics/react-native-sdk", - "version": "2.32.0", + "version": "2.33.0", "description": "Usercentrics SDK", "homepage": "https://usercentrics.com", "main": "lib/index.js", "types": "lib/index.d.ts", "author": "Usercentrics ", "iosPackageName": "react-native-usercentrics", - "iosPackageVersion": "2.32.0", + "iosPackageVersion": "2.33.0", "license": "SEE LICENSE IN LICENSE", "files": [ "android", diff --git a/sample/ios/Podfile.lock b/sample/ios/Podfile.lock index 0c501d5..e59e499 100644 --- a/sample/ios/Podfile.lock +++ b/sample/ios/Podfile.lock @@ -1924,7 +1924,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - react-native-usercentrics (2.32.0): + - react-native-usercentrics (2.33.0): - boost - DoubleConversion - fast_float @@ -1951,7 +1951,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - SocketRocket - - UsercentricsUI (= 2.32.0) + - UsercentricsUI (= 2.33.0) - Yoga - react-native-webview (13.16.1): - boost @@ -2545,14 +2545,10 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - Sentry (8.58.4): - - Sentry/Core (= 8.58.4) - - Sentry/Core (8.58.4) - SocketRocket (0.7.1) - - Usercentrics (2.32.0): - - Sentry (~> 8.52) - - UsercentricsUI (2.32.0): - - Usercentrics (= 2.32.0) + - Usercentrics (2.33.0) + - UsercentricsUI (2.33.0): + - Usercentrics (= 2.33.0) - Yoga (0.0.0) DEPENDENCIES: @@ -2646,7 +2642,6 @@ SPEC REPOS: - GoogleUtilities - nanopb - PromisesObjC - - Sentry - SocketRocket - Usercentrics - UsercentricsUI @@ -2855,7 +2850,7 @@ SPEC CHECKSUMS: React-Mapbuffer: e4a65db5f4df53369f39558c0cf2f480f6d3d6c7 React-microtasksnativemodule: 86334c5c06315e0bccb7b6e6f2c905e92f98b615 react-native-safe-area-context: eda63a662750758c1fdd7e719c9f1026c8d161cb - react-native-usercentrics: ac0c8523f802eec858de7ef1dc5fa7b79e92c5c2 + react-native-usercentrics: 8ecd7957c42b7e4d76657a19072f8414ce3fcccf react-native-webview: 83c663c5bdf1357d3e7c00986260cb888ea0e328 React-NativeModulesApple: 8c7eb6057b00c191a11ad5ced41826ec5a0e4d78 React-oscompat: 93b5535ea7f7dff46aaee4f78309a70979bdde9d @@ -2888,12 +2883,11 @@ SPEC CHECKSUMS: ReactCodegen: 2cfa890e84ecf7f3a708f1ed9c0f2c0b22a23c9a ReactCommon: e9ab32f1d1482d207867b4fdd139361302b9dcc6 RNScreens: e902eba58a27d3ad399a495d578e8aba3ea0f490 - Sentry: 5321d74bdd28d6f6f8beaa1ca06f1fdc746bff49 SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 - Usercentrics: 7bc3a4042e492b9204ed137ce5c6806365e9e0e4 - UsercentricsUI: 0bf3d1a5ff33d34ff98be8645cc0358bc213b37b + Usercentrics: 7be91756eee224a1326bdbc2a3662ccce8e4e9bf + UsercentricsUI: ddd0025f20a50d287f5dd6c9cd64499ee26b4c8e Yoga: 9b30b783a17681321b52ac507a37219d7d795ace -PODFILE CHECKSUM: 58bddb926e31074bb71fa08e588e08b2cfe944ee +PODFILE CHECKSUM: 60cf8619e6baac837ff6464902ccc91ce5e964b9 COCOAPODS: 1.16.2 From f8d31ec69218e17ebc06a053760b90169444a13f Mon Sep 17 00:00:00 2001 From: Bruno Silva Date: Wed, 14 Oct 2026 12:19:24 +0100 Subject: [PATCH 2/2] fix(ci): pin slather to 2.8.5 slather 2.8.6 (published 2026-10-09) fails on the iOS coverage step with "undefined method 'first' for nil" in profdata_coverage_dir, even though all 84 sampleTests pass. The last green run (2026-10-07) used 2.8.5. Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0707e9e..b1a91c6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -112,7 +112,7 @@ jobs: test | bundle exec xcpretty && exit ${PIPESTATUS[0]} - name: Install Slather - run: gem install slather + run: gem install slather -v 2.8.5 - name: Generate iOS HTML Report working-directory: ./sample/ios