From 9969fe8b2044b79900d908c57bba1beefacf438f Mon Sep 17 00:00:00 2001 From: "bruno.silva" Date: Thu, 23 Jul 2026 10:41:15 +0100 Subject: [PATCH 1/2] Release: 2.28.2 --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2eed7b..2170340 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,11 @@ [Release Notes](https://docs.usercentrics.com/cmp_in_app_sdk/latest/about/history/) +### 2.28.2 – Jul 22, 2026 +## Fixes +* **[iOS]** Rebuilt `UsercentricsUI.xcframework` with the Xcode 26 / Swift 6.3.3 toolchain, fixing build failures on Xcode 26.6 for apps consuming 2.27.1/2.28.0 (including via the React Native bridge) +* **[PUR]** Fixed Consent-or-Pay mandatory purposes silently overriding the user's real TCF consent state on SDK initialization, causing a desync between the SDK's consent getters and the persisted TC string +* **[TCF]** Removed Special Purposes from the first layer of the TCF banner — not a first-layer requirement +* **[TCF]** Fixed purposes and special features being disclosed in the second layer (and included in the TC string) even when no vendor declared them, when Stacks are enabled + ### 2.28.1 – Jul 15, 2026 ## Fixes * **[iOS — Mediation]** Fixed AppLovin CCPA `setDoNotSell` always passing `YES` regardless of the actual consent value From cb74f4b2d3924ff4444dbc8112833c4af49d5e53 Mon Sep 17 00:00:00 2001 From: "bruno.silva" Date: Thu, 23 Jul 2026 10:55:27 +0100 Subject: [PATCH 2/2] Release: 2.28.2 Co-Authored-By: Claude Sonnet 5 --- android/build.gradle.kts | 2 +- package-lock.json | 4 ++-- package.json | 4 ++-- sample/ios/Podfile.lock | 16 ++++++++-------- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/android/build.gradle.kts b/android/build.gradle.kts index f94f785..0158856 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -1,4 +1,4 @@ -val usercentricsVersion = "2.28.1" +val usercentricsVersion = "2.28.2" val reactNativeVersion = "+" fun BooleanProperty(name: String): Boolean { diff --git a/package-lock.json b/package-lock.json index ccdc142..ed3f8c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@usercentrics/react-native-sdk", - "version": "2.28.1", + "version": "2.28.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@usercentrics/react-native-sdk", - "version": "2.28.1", + "version": "2.28.2", "license": "SEE LICENSE IN LICENSE", "devDependencies": { "@babel/core": "^7.25.10", diff --git a/package.json b/package.json index 7ef529d..54c25d4 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,13 @@ { "name": "@usercentrics/react-native-sdk", - "version": "2.28.1", + "version": "2.28.2", "description": "Usercentrics SDK", "homepage": "https://usercentrics.com", "main": "lib/index.js", "types": "lib/index.d.ts", "author": "Usercentrics ", "iosPackageName": "react-native-usercentrics", - "iosPackageVersion": "2.28.1", + "iosPackageVersion": "2.28.2", "license": "SEE LICENSE IN LICENSE", "files": [ "android", diff --git a/sample/ios/Podfile.lock b/sample/ios/Podfile.lock index 5089f79..f7ff60c 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.28.1): + - react-native-usercentrics (2.28.2): - boost - DoubleConversion - fast_float @@ -1951,7 +1951,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - SocketRocket - - UsercentricsUI (= 2.28.1) + - UsercentricsUI (= 2.28.2) - Yoga - react-native-webview (13.16.1): - boost @@ -2546,9 +2546,9 @@ PODS: - SocketRocket - Yoga - SocketRocket (0.7.1) - - Usercentrics (2.28.1) - - UsercentricsUI (2.28.1): - - Usercentrics (= 2.28.1) + - Usercentrics (2.28.2) + - UsercentricsUI (2.28.2): + - Usercentrics (= 2.28.2) - Yoga (0.0.0) DEPENDENCIES: @@ -2850,7 +2850,7 @@ SPEC CHECKSUMS: React-Mapbuffer: f84e59c14ff145295fbd029c5be16805aabe98d2 React-microtasksnativemodule: 584eb07c9b1f1e684fe63b7fae61ed865f8f228f react-native-safe-area-context: 7e0ba374906d8f5009aaf96cd19d4866d8de342b - react-native-usercentrics: a1f2696c925473e81285d655d6f5f7c8294ee035 + react-native-usercentrics: 581b7026e7cc7d6a14a18ee1ee3f5f1add8f81b2 react-native-webview: 21fdd62caca650645e429b4a84941626612616ef React-NativeModulesApple: dcfbe72c5a47baec0699a2935c080b7de0c8657b React-oscompat: 93b5535ea7f7dff46aaee4f78309a70979bdde9d @@ -2884,8 +2884,8 @@ SPEC CHECKSUMS: ReactCommon: a42100667ef42807c485a579847a5ec2c99e0a82 RNScreens: 656e050942ae9445f5cc45d05d57f13ce7a4c8e4 SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 - Usercentrics: ebc354ea9d6a8c266bd6af52d2a947ae8f8ad23a - UsercentricsUI: ee98a324992a0aa466703d9b7965934bdc868c61 + Usercentrics: d582dd2a4d474f7521fb1c69b0ad2e36306c8f60 + UsercentricsUI: 82c26e8bd40ad89fd4106b53f45ba773eb742429 Yoga: 9b30b783a17681321b52ac507a37219d7d795ace PODFILE CHECKSUM: 8d257452e9e69d13384a99ee3cd38b42636521da