Skip to content

Release: 2.26.2#206

Merged
uc-brunosilva merged 1 commit into
masterfrom
release/2.26.2
Apr 16, 2026
Merged

Release: 2.26.2#206
uc-brunosilva merged 1 commit into
masterfrom
release/2.26.2

Conversation

@uc-brunosilva
Copy link
Copy Markdown
Collaborator

@uc-brunosilva uc-brunosilva commented Apr 16, 2026

CodeAnt-AI Description

Release 2.26.2 with first-layer “More” button color support and bug fixes

What Changed

  • The first layer now applies custom colors to the “More” button
  • Android and iOS exports now include the new “More” button color settings
  • App and package versions were updated to 2.26.2
  • Release notes were added for the 2.26.2 fixes and improvements

Impact

✅ First-layer “More” button colors now match the dashboard
✅ Fewer missing style settings in app integrations
✅ Clearer 2.26.2 release tracking

🔄 Retrigger CodeAnt AI Review

Details

💡 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
Copy link
Copy Markdown

codeant-ai Bot commented Apr 16, 2026

CodeAnt AI is reviewing your PR.


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
Copy link
Copy Markdown

coderabbitai Bot commented Apr 16, 2026

Warning

Rate limit exceeded

@uc-brunosilva has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 38 minutes and 24 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 38 minutes and 24 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 10ccff96-35e4-49cb-be8e-141f5aa24c42

📥 Commits

Reviewing files that changed from the base of the PR and between 0ad792f and 3f14857.

⛔ Files ignored due to path filters (2)
  • package-lock.json is excluded by !**/package-lock.json
  • sample/ios/Podfile.lock is excluded by !**/*.lock
📒 Files selected for processing (7)
  • CHANGELOG.md
  • android/build-legacy.gradle
  • android/build.gradle.kts
  • android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt
  • ios/Extensions/UsercentricsCMPData+Dict.swift
  • package.json
  • sample/ios/sampleTests/Mock/CMPData+Mock.swift
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/2.26.2

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 and usage tips.

@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Release 2.26.2 with bug fixes and customization enhancements

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Release version 2.26.2 with bug fixes and improvements
• Added "More" button color customization properties
• Fixed consent banner display and persistence issues
• Improved SDK initialization logging and UI alignment
Diagram
flowchart LR
  A["Version Update<br/>2.26.1 → 2.26.2"] --> B["Bug Fixes<br/>Android/iOS/TCF"]
  A --> C["New Properties<br/>moreBtnBackground<br/>moreBtnText"]
  B --> D["Consent Banner<br/>Display & Persistence"]
  B --> E["UI Alignment<br/>& SVG Loading"]
  C --> F["Customization<br/>Color Serialization"]
Loading

Grey Divider

File Changes

1. android/build.gradle.kts ⚙️ Configuration changes +1/-1

Update Android SDK version

• Updated Usercentrics SDK version from 2.26.1 to 2.26.2

android/build.gradle.kts


2. android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt ✨ Enhancement +2/-0

Add More button color serialization

• Added serialization for moreBtnBackground color property
• Added serialization for moreBtnText color property
• Enables "More" button custom color support in Android

android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt


3. ios/Extensions/UsercentricsCMPData+Dict.swift ✨ Enhancement +2/-0

Add More button color properties

• Added moreBtnBackground to CustomizationColor dictionary
• Added moreBtnText to CustomizationColor dictionary
• Enables "More" button custom color support in iOS

ios/Extensions/UsercentricsCMPData+Dict.swift


View more (3)
4. sample/ios/sampleTests/Mock/CMPData+Mock.swift 🧪 Tests +3/-1

Update mock data with button colors

• Updated mock CustomizationColor to include moreBtnBackground
• Updated mock CustomizationColor to include moreBtnText
• Maintains test data consistency with new properties

sample/ios/sampleTests/Mock/CMPData+Mock.swift


5. CHANGELOG.md 📝 Documentation +16/-0

Document 2.26.2 release notes

• Added 2.26.2 release notes dated Apr 15, 2026
• Documented improvements to SDK initialization logging
• Listed 8 bug fixes across Android, iOS, and TCF platforms
• Documented fix for "More" button custom colors not being applied

CHANGELOG.md


6. package.json ⚙️ Configuration changes +2/-2

Update package versions

• Updated package version from 2.26.1 to 2.26.2
• Updated iOS package version from 2.26.1 to 2.26.2

package.json


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review Bot commented Apr 16, 2026

Code Review by Qodo

🐞 Bugs (1)   📘 Rule violations (0)   📎 Requirement gaps (0)
🐞\ ≡ Correctness (1)

Grey Divider


Action required

1. Customization type mismatch 🐞
Description
Android/iOS getCMPData() now serializes additional settings.customization.color keys
(moreBtnBackground, moreBtnText), but the TypeScript model still types settings.customization
as string, so consumers can’t access these fields safely and may write code that compiles but
misbehaves at runtime.
Code

android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt[R329-330]

+        "moreBtnBackground" to moreBtnBackground,
+        "moreBtnText" to moreBtnText,
Relevance

⭐⭐⭐ High

Team usually wants TS typings aligned with native runtime shape; mismatch hides new fields and risks
runtime bugs.

PR-#0

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
Native layers expose settings.customization as a structured map/dictionary (not a string) and the
PR adds two new color keys under that object. The TS model still declares customization?: string,
making the published TS contract inconsistent with the runtime shape and hiding the new fields from
TS users.

android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt[37-69]
android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt[308-331]
ios/Extensions/UsercentricsCMPData+Dict.swift[17-52]
ios/Extensions/UsercentricsCMPData+Dict.swift[270-295]
src/models/UsercentricsSettings.tsx[16-35]

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

## Issue description
Native `getCMPData()` returns `settings.customization` as an object (with nested `color`/`font`), and this PR adds `color.moreBtnBackground` and `color.moreBtnText`. The TypeScript model still declares `customization?: string`, which makes the library’s TS contract incorrect and prevents type-safe access to the new fields.

## Issue Context
Both Android and iOS serialize `customization` as a map/dictionary. Consumers using TypeScript will see `customization` as a string and won’t be able to access `customization.color.moreBtnText` without `any` casts.

## Fix Focus Areas
- src/models/UsercentricsSettings.tsx[16-35]
- src/models/index.tsx[1-31]
- (Add) src/models/UsercentricsCustomization.tsx[1-200]
- (Add) src/models/CustomizationColor.tsx[1-200]
- (Add) src/models/CustomizationFont.tsx[1-120]

## Implementation notes
- Change `customization?: string` to `customization?: UsercentricsCustomization`.
- Define `CustomizationColor` to include existing keys plus `moreBtnBackground?: string` and `moreBtnText?: string`.
- Export the new model types from `src/models/index.tsx`.

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


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@uc-brunosilva uc-brunosilva self-assigned this Apr 16, 2026
@codeant-ai codeant-ai Bot added the size:XL This PR changes 500-999 lines, ignoring generated files label Apr 16, 2026
@pantoaibot
Copy link
Copy Markdown

pantoaibot Bot commented Apr 16, 2026

PR Summary:

Release 2.26.2 — bump package versions, update changelog, and add serialization for "More" button colors in the RN bridge (Android + iOS) with matching test/sample mock.

  • Added release notes for 2.26.2 to CHANGELOG.md (lists improvements and multiple platform fixes).
  • Bumped version strings:
    • android/build-legacy.gradle: 2.26.1 → 2.26.2
    • android/build.gradle.kts: 2.26.1 → 2.26.2
    • package.json: version and iosPackageVersion → 2.26.2
  • Android (React Native bridge): UsercentricsCMPDataExtensions.kt — include "moreBtnBackground" and "moreBtnText" in CustomizationColor.serialize() so RN consumers receive the "More" button color/text settings.
  • iOS (React Native bridge): UsercentricsCMPData+Dict.swift — include "moreBtnBackground" and "moreBtnText" in CustomizationColor.toDictionary().
  • Sample tests: sample/ios/.../CMPData+Mock.swift — updated mock to include moreBtnBackground and moreBtnText.
  • No breaking changes in code diffs; no dependency upgrades besides version metadata.

Reviewed by Panto AI

Comment thread sample/ios/sampleTests/Mock/CMPData+Mock.swift
Comment thread package.json
Comment thread android/build.gradle.kts
Comment thread CHANGELOG.md
@pantoaibot
Copy link
Copy Markdown

pantoaibot Bot commented Apr 16, 2026

Reviewed up to commit:3f14857af80204a145409004b0f1ce93a8716e5c

Additional Suggestion
Others - Overall: You introduced two new UI customization properties across Android, iOS and sample mocks. Make sure to: 1) update TypeScript/JS type definitions (lib/index.d.ts or any exported type) so consumers see the new keys; 2) run the codegen/compile step and validate both Android and iOS sample apps build; 3) run integration/smoke tests to validate the keys are transported across the bridge and used by the native UI. This avoids runtime inconsistencies between platforms and prevents broken builds due to missing constructor parameters.

Reviewed by Panto AI

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Apr 16, 2026

CodeAnt AI finished reviewing your PR.

@uc-brunosilva uc-brunosilva merged commit f8ddd2e into master Apr 16, 2026
4 checks passed
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

CodeAnt AI is running the review.


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

@codeant-ai codeant-ai Bot added size:XL This PR changes 500-999 lines, ignoring generated files and removed size:XL This PR changes 500-999 lines, ignoring generated files labels May 11, 2026
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

Sequence Diagram

This PR ensures the native SDK exposes More button color customization through the React Native bridge and includes these fields in exported CMP configuration data. The diagram shows how the app obtains and applies these colors to the consent banner and how exports now carry the same settings.

sequenceDiagram
    participant App
    participant ReactNativeSDK as React Native SDK
    participant NativeCMP as Native SDK
    participant Banner as Consent banner UI

    App->>ReactNativeSDK: Initialize CMP and request UI settings
    ReactNativeSDK->>NativeCMP: Load CMP data with customization colors
    NativeCMP-->>ReactNativeSDK: Return customization colors including More button fields
    ReactNativeSDK-->>App: Expose customization colors map
    App->>Banner: Render first layer More button with custom colors

    App->>ReactNativeSDK: Request CMP configuration export
    ReactNativeSDK-->>App: Return export including More button color settings
Loading

Generated by CodeAnt AI

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

CodeAnt AI finished running the review.


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

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

CodeAnt AI is running the review.


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

@codeant-ai codeant-ai Bot removed the size:XL This PR changes 500-999 lines, ignoring generated files label May 11, 2026
@codeant-ai codeant-ai Bot added the size:XL This PR changes 500-999 lines, ignoring generated files label May 11, 2026
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

Sequence Diagram

This PR updates the Android and iOS bridges so the customization colors for the first layer More button are included when CMP data is exported to React Native, ensuring the banner UI can render the button with dashboard-configured colors in version 2.26.2.

sequenceDiagram
    participant App
    participant ReactNativeSDK
    participant NativeCMP
    participant BannerUI

    App->>ReactNativeSDK: Initialize consent banner
    ReactNativeSDK->>NativeCMP: Load CMP data with customization colors
    NativeCMP-->>ReactNativeSDK: CustomizationColor including More button colors
    ReactNativeSDK-->>App: Export CMP data to JavaScript
    App->>BannerUI: Render first layer using More button colors
    BannerUI-->>App: Show first layer with themed More button
Loading

Generated by CodeAnt AI

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

CodeAnt AI finished running the review.


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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL This PR changes 500-999 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants