Skip to content

Release: 2.27.3#222

Closed
asadraza-usercentrics wants to merge 2 commits into
masterfrom
bump/2.27.3
Closed

Release: 2.27.3#222
asadraza-usercentrics wants to merge 2 commits into
masterfrom
bump/2.27.3

Conversation

@asadraza-usercentrics

@asadraza-usercentrics asadraza-usercentrics commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

CodeAnt-AI Description

Release 2.27.3

What Changed

  • Bumped the Android, iOS, and package versions to 2.27.3
  • Added release notes for ACM initialization errors and iOS SPM integration warnings
  • Included the latest release changelog entry for this version

Impact

✅ Clearer release tracking
✅ Easier upgrade verification
✅ Updated 2.27.3 package version

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

@codeant-ai

codeant-ai Bot commented Jun 25, 2026

Copy link
Copy Markdown

CodeAnt AI is reviewing your PR.

@codeant-ai

codeant-ai Bot commented Jun 25, 2026

Copy link
Copy Markdown

Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@asadraza-usercentrics, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 16 minutes and 31 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: de4d1d0e-74c3-46de-9446-c3608c0ce408

📥 Commits

Reviewing files that changed from the base of the PR and between 1514998 and 5eb945d.

⛔ Files ignored due to path filters (3)
  • package-lock.json is excluded by !**/package-lock.json
  • sample/ios/Podfile.lock is excluded by !**/*.lock
  • sample/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (3)
  • CHANGELOG.md
  • android/build.gradle.kts
  • package.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch bump/2.27.3

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Release 2.27.3: bump versions and publish release notes
⚙️ Configuration changes 📝 Documentation 🕐 Less than 10 minutes

Grey Divider

Description

• Add 2.27.3 release notes covering fixes and Android API visibility changes
• Bump Android Gradle version constant to 2.27.3
• Bump npm package + embedded iOS package version to 2.27.3
Diagram

graph TD
  A["CHANGELOG.md"] --> D(["Release artifacts"])
  B["package.json"] --> D(["Release artifacts"])
  C["android/build.gradle.kts"] --> D(["Release artifacts"])
  D(["Release artifacts"]) --> E(["Publish: npm + Android/iOS"])
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Single source of truth for version
  • ➕ Reduces risk of mismatched versions between Gradle and package.json
  • ➕ Simplifies future release PRs to a single edit
  • ➖ Requires build tooling changes (e.g., script to sync versions or read from one file)
  • ➖ Might not fit existing release process constraints
2. Automate release notes + version bump (Changesets/Release Please)
  • ➕ Standardizes release PRs and reduces manual errors
  • ➕ Can generate changelog entries from merged PR metadata
  • ➖ Upfront setup cost and CI workflow changes
  • ➖ May require adapting current multi-platform release practices

Recommendation: For this PR, the manual bump is appropriate and low-risk. Longer-term, consider consolidating the version into a single authoritative location (or automating synchronization) to prevent drift between package.json and Android Gradle, and optionally introduce a release automation tool if release cadence/complexity justifies it.

Files changed (3) +11 / -3

Documentation (1) +8 / -0
CHANGELOG.mdAdd 2.27.3 release notes (fixes + Android chores) +8/-0

Add 2.27.3 release notes (fixes + Android chores)

• Introduces the 2.27.3 changelog entry dated Jun 25, 2026. Documents ACM initialization fix behavior, an iOS packaging cleanup for SPM zip, and Android API-surface/proguard tightening.

CHANGELOG.md

Other (2) +3 / -3
build.gradle.ktsBump Android Usercentrics version constant to 2.27.3 +1/-1

Bump Android Usercentrics version constant to 2.27.3

• Updates the 'usercentricsVersion' value from 2.27.1 to 2.27.3 for Android build/publishing alignment.

android/build.gradle.kts

package.jsonBump npm + iOS package versions to 2.27.3 +2/-2

Bump npm + iOS package versions to 2.27.3

• Updates the npm package 'version' and 'iosPackageVersion' fields from 2.27.1 to 2.27.3 to match the release.

package.json

@codeant-ai codeant-ai Bot added the size:S This PR changes 10-29 lines, ignoring generated files label Jun 25, 2026
@pantoaibot

pantoaibot Bot commented Jun 25, 2026

Copy link
Copy Markdown

PR Summary:

Release 2.27.3 — bug fixes, Android API visibility lockdown, and version bumps.

  • CHANGELOG.md: Added 2.27.3 notes — fixes and chores.

    • Fix: ACM (Additional Consent Mode) initialization now surfaces failure when selected ATP providers are missing from Google’s ATP CDN instead of continuing with an empty provider list.
    • Fix (iOS): Removed stray PrivacyInfo.xcprivacy at SPM zip root that caused pod install warnings.
    • Chore (Android): Reduced public API surface — UCButtonSettings, UCButtonType, UCToggle, PredefinedUIAlertDialogFactory, UCSecondLayerViewModel and related UI internals are now internal or annotated @InternalUsercentricsApi; audited/tightened consumer ProGuard rules.
  • Files changed:

    • android/build.gradle.kts: bumped usercentricsVersion 2.27.1 -> 2.27.3.
    • package.json: bumped package version 2.27.1 -> 2.27.3 and iosPackageVersion 2.27.1 -> 2.27.3.
  • Notes/impact:

    • Potential breaking change for Android consumers who relied on the now-internal UI classes or on looser ProGuard rules — update integrations if they consumed undocumented internals.
    • Behavior change: ACM failures are now surfaced (safer/fail-fast) rather than silently proceeding.

Reviewed by Panto AI

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Action required

1. Legacy Gradle version mismatch 🐞 Bug ≡ Correctness
Description
The PR bumps android/build.gradle.kts to use Usercentrics SDK 2.27.3, but
android/build-legacy.gradle (shipped as part of the npm package via the android/ folder) still
pins usercentrics-ui to 2.27.1, so any consumer using the legacy Gradle script will silently
stay on the old native SDK version.
Code

android/build.gradle.kts[1]

+val usercentricsVersion = "2.27.3"
Evidence
The PR changes the Kotlin Android build script to depend on
com.usercentrics.sdk:usercentrics-ui:2.27.3, but the repository still contains a shipped legacy
Gradle build script that depends on 2.27.1, creating an inconsistent release where some Android
consumers will not receive 2.27.3 fixes.

android/build.gradle.kts[1-1]
android/build-legacy.gradle[1-2]
android/build-legacy.gradle[70-75]
package.json[12-16]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`android/build-legacy.gradle` still pins `def usercentrics_version = "2.27.1"` while the main Android build script has been bumped to `2.27.3`. Because the npm package ships the entire `android/` directory, legacy consumers can end up compiling against the wrong native SDK version.

## Issue Context
The release bump updates:
- `android/build.gradle.kts` -> `2.27.3`
- `package.json` -> `2.27.3`
But the legacy Android build file remains on `2.27.1`.

## Fix Focus Areas
- android/build-legacy.gradle[1-2]
- package.json[12-16]
- android/build.gradle.kts[1-1]

## Expected change
Update `def usercentrics_version` to `"2.27.3"` (or refactor to a single shared source of truth to prevent future divergence).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

Comment thread android/build.gradle.kts
@@ -1,4 +1,4 @@
val usercentricsVersion = "2.27.1"
val usercentricsVersion = "2.27.3"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Legacy gradle version mismatch 🐞 Bug ≡ Correctness

The PR bumps android/build.gradle.kts to use Usercentrics SDK 2.27.3, but
android/build-legacy.gradle (shipped as part of the npm package via the android/ folder) still
pins usercentrics-ui to 2.27.1, so any consumer using the legacy Gradle script will silently
stay on the old native SDK version.
Agent Prompt
## Issue description
`android/build-legacy.gradle` still pins `def usercentrics_version = "2.27.1"` while the main Android build script has been bumped to `2.27.3`. Because the npm package ships the entire `android/` directory, legacy consumers can end up compiling against the wrong native SDK version.

## Issue Context
The release bump updates:
- `android/build.gradle.kts` -> `2.27.3`
- `package.json` -> `2.27.3`
But the legacy Android build file remains on `2.27.1`.

## Fix Focus Areas
- android/build-legacy.gradle[1-2]
- package.json[12-16]
- android/build.gradle.kts[1-1]

## Expected change
Update `def usercentrics_version` to `"2.27.3"` (or refactor to a single shared source of truth to prevent future divergence).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@codeant-ai

codeant-ai Bot commented Jun 25, 2026

Copy link
Copy Markdown

CodeAnt AI finished reviewing your PR.

Comment thread package.json
Comment on lines +3 to +10
"version": "2.27.3",
"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.27.1",
"iosPackageVersion": "2.27.3",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[VALIDATION] You updated package version and iosPackageVersion to 2.27.3. Before publishing, verify that the corresponding native artifacts are published and available: the Android/Maven artifact (com.usercentrics.sdk:usercentrics-ui:2.27.3) and the CocoaPods artifact referenced by UsercentricsUI '2.27.3'. If those native packages are not yet published, consumers installing this JS package will fail during pod install / Gradle resolution. Also ensure release tags and CI pipeline (artifact publishing) are executed in the correct order so that native artifacts exist prior to npm publish.

Comment thread android/build.gradle.kts
@@ -1,4 +1,4 @@
val usercentricsVersion = "2.27.1"
val usercentricsVersion = "2.27.3"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[REFACTORING] You hard-bumped val usercentricsVersion = "2.27.3". To avoid manual drift between package.json, podspec and Gradle, consider centralizing version management (e.g. read version from root package.json or a single gradle.properties entry or project property). This reduces the chance of out-of-sync releases and missed version updates across platforms.

// android/build.gradle.kts

// TODO: Consider centralizing the SDK version to avoid drift with package.json and podspec.
// For example, you could expose it via gradle.properties or a shared version catalog.
val usercentricsVersion = project.findProperty("usercentricsVersion") as String? ?: "2.27.3"
val reactNativeVersion = "+"

Comment thread CHANGELOG.md
* **[Android/iOS]** Fixed ACM (Additional Consent Mode) initialization silently continuing when selected ATP providers are no longer listed in Google's ATP CDN — the SDK now surfaces the failure correctly instead of proceeding with an empty provider list
* **[iOS]** Fixed stray `PrivacyInfo.xcprivacy` file at SPM zip root causing `pod install` integration warnings
## Chores
* **[Android]** Reduced public API surface: `UCButtonSettings`, `UCButtonType`, `UCToggle`, `PredefinedUIAlertDialogFactory`, `UCSecondLayerViewModel`, and related UI internals are now `internal` or annotated with `@InternalUsercentricsApi` — these were never part of the documented public API

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[VALIDATION] The changelog entry states a reduction of the public API surface (making types internal/annotated @InternalUsercentricsApi). This can be a breaking change for some consumers. Please confirm and explicitly document compatibility impact and migration guidance: whether this is a breaking change (semver implications), which classes/members are removed or no longer accessible, suggested alternatives, and whether a major/minor version bump is required in downstream SDKs. Add an explicit 'Breaking changes' note if applicable.

### 2.27.3 – Jun 25, 2026

## Breaking changes
* **[Android]** Reduced public API surface. The following types, which were never part of the documented public API, are now `internal` or annotated with `@InternalUsercentricsApi` and are no longer intended for direct use:
  * `UCButtonSettings`
  * `UCButtonType`
  * `UCToggle`
  * `PredefinedUIAlertDialogFactory`
  * `UCSecondLayerViewModel`
  * Related UI internals in the `usercentrics-ui` artifact

  These changes may affect projects that relied on these internal types (for example, custom UIs built directly against `usercentrics-ui`). To migrate:

  * Prefer integrating via the documented public APIs of the native Usercentrics SDK and the React Native bridge (`@usercentrics/react-native-sdk`).
  * If you previously referenced these internals for custom UI, update your implementation to use the officially supported customization hooks and configuration objects exposed in the public API. If no suitable alternative is available, please contact Usercentrics support with details of your use case.

## Fixes
* **[Android/iOS]** Fixed ACM (Additional Consent Mode) initialization silently continuing when selected ATP providers are no longer listed in Google's ATP CDN — the SDK now surfaces the failure correctly instead of proceeding with an empty provider list
* **[iOS]** Fixed stray `PrivacyInfo.xcprivacy` file at SPM zip root causing `pod install` integration warnings

## Chores
* **[Android]** Reduced public API surface: `UCButtonSettings`, `UCButtonType`, `UCToggle`, `PredefinedUIAlertDialogFactory`, `UCSecondLayerViewModel`, and related UI internals are now `internal` or annotated with `@InternalUsercentricsApi` — these were never part of the documented public API
* **[Android]** Audited and tightened consumer ProGuard rules

@pantoaibot

pantoaibot Bot commented Jun 25, 2026

Copy link
Copy Markdown

Reviewed up to commit:5eb945d62e1594982c51a76b76951782a8a736f1

Reviewed by Panto AI

@uc-brunosilva uc-brunosilva deleted the bump/2.27.3 branch June 25, 2026 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S This PR changes 10-29 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants