> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudx.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> React Native SDK release history

***

## \[3.4.6] - 2026-06-20

Aligns the React Native wrapper with CloudX native Android 4.1.5; iOS stays on 3.4.5. There are no JavaScript API changes in this release.

### Added

* **(Android) MobileFuse adapter availability** - MobileFuse demand can now be added to Android React Native apps via `io.cloudx:adapter-mobilefuse:1.11.0.0` (Banner, MREC, Interstitial, Rewarded).
* **(Android) Pangle adapter readiness** - Pangle demand can be integrated on Android with `io.cloudx:adapter-pangle:8.1.0.3.0`.

### Changed

* Updated the underlying Android native pin to `io.cloudx:sdk:4.1.5` (iOS `CloudXCore ~> 3.4.5` is unchanged).
* **(Android) Faster startup** - Initialization and ad-request stalls caused by device signal collection are reduced.
* **(Android) Fullscreen HTML rendering** - The SDK now renders CloudX-served fullscreen HTML creatives in interstitial and rewarded placements, with viewability measurement. Rollout is server-controlled; no app change is required.
* **(Android) Broader native-in-banner coverage** - Vungle native demand can now serve into standard banner and MREC slots through the existing banner API (joining Meta and Moloco), where enabled for your line items.

### Fixed

* **(Android) Fullscreen reliability** - More dependable close behavior and hide callbacks for fullscreen HTML ads, with safer reward handling when a rewarded ad is closed early.
* **(Android) Native ad image handling** - More reliable image loading for native creatives, preventing stale images from appearing in reused ad views.

### Platform Support

* iOS: CloudXCore \~> 3.4.5
* Android: io.cloudx:sdk:4.1.5

***

## \[3.4.5] - 2026-06-16

Aligns the React Native wrapper with CloudX native iOS 3.4.5; Android stays on 4.1.3. There are no JavaScript API changes in this release.

### Fixed

* **(iOS) Interstitial and rewarded ads now display on the legacy architecture (Paper)** - On apps built with the legacy React Native architecture, fullscreen ads could load but fail to appear on screen. They now present correctly. New Architecture (Fabric) apps were unaffected.
* **(iOS) Some valid HTML banner and MREC creatives are no longer skipped** - Creatives previously misclassified as broken now render normally.
* **(iOS) Native ad reliability on Meta and Moloco** - Native-in-banner and native-in-MREC creatives validate and register their assets more reliably for display and click tracking.
* **(iOS) Digital Turbine startup conflict** - When another mediation SDK initializes the shared Fyber SDK first, the CloudX adapter now defers instead of re-initializing. For the smoothest startup, initialize the other mediation SDK first, then CloudX.

### Changed

* Updated the underlying iOS native pin to `CloudXCore ~> 3.4.5` (Android `io.cloudx:sdk:4.1.3` is unchanged). Update your iOS `CloudX*` adapter pods to `~> 3.4.5` to match.
* **(iOS) Broader native-in-banner coverage** - InMobi and Vungle native demand can now serve into standard banner and MREC slots through the existing banner API (joining Meta and Moloco), where enabled for your line items.
* **(iOS) HTML interstitial rendering** - The CloudX renderer now supports fullscreen HTML interstitial creatives. Rollout is server-controlled; no app change is required.
* **(iOS) Slow ad networks no longer delay startup** - If a network's SDK is slow to initialize, CloudX initialization completes without it and the network joins later auctions automatically once ready.

### Platform Support

* iOS: CloudXCore \~> 3.4.5
* Android: io.cloudx:sdk:4.1.3

***

## \[3.4.4] - 2026-06-12

Aligns the React Native wrapper with the CloudX native SDKs — iOS 3.4.4 and Android 4.1.3. There are no JavaScript API changes in this release; apps pick up the native platform improvements and the expanded adapter lineup through the existing React Native APIs.

### Added

* **Digital Turbine adapter support** - Digital Turbine demand can now be added to React Native apps on both platforms (Banner, MREC, Interstitial, Rewarded). iOS: `pod 'CloudXDigitalTurbineAdapter', '~> 3.4.4'`; Android: `io.cloudx:adapter-digitalturbine:8.4.5.0`.
* **(iOS) Pangle adapter** - `pod 'CloudXPangleAdapter', '~> 3.4.4'` (Banner/MREC, Interstitial, Rewarded).
* **(iOS) Google Waterfall adapter** - `pod 'CloudXGoogleWaterfallAdapter', '~> 3.4.4'` (Banner, MREC); requires a Google ad application identifier in your app's Info.plist.
* **(Android) Native-in-banner rendering** - Native ad demand from supported networks (Meta, Moloco, Vungle) can now serve into standard banner and MREC slots through the existing banner API.

### Changed

* Updated underlying native SDK pins to iOS `CloudXCore ~> 3.4.4` and Android `io.cloudx:sdk:4.1.3`.
* **(Android) Resilient adapter initialization** - A slow ad network no longer delays SDK startup; late adapters are held out of auctions until ready, then join automatically.
* **(Android) Server-driven always-reward mode** - Reward callbacks can be guaranteed per line item from the dashboard, with no app-side change required.

### Fixed

* **(iOS) App Store submission rejection** - Removed a disallowed URL scheme from the SDK binary that could cause App Store review rejections.
* **(iOS) SDK initialization could fail for some accounts** - Initialization now succeeds for accounts without an organization identifier.
* **(iOS) Google Waterfall lost fills** - Slow-but-successful mediation responses are no longer discarded, improving fill reliability.
* **(iOS) Digital Turbine compatibility** - Banner, MREC, Interstitial, and Rewarded now work across the full Fyber 8.x line.

### Platform Support

* iOS: CloudXCore \~> 3.4.4
* Android: io.cloudx:sdk:4.1.3

***

## \[3.4.0] - 2026-05-25

### Added

* **Trusted Arbiter** - Added support for comparing CloudX bids with supported third-party bids from Unity LevelPlay and PubMatic, and selecting the winning platform through CloudX arbitration.
* **Ad metadata** - Added `CloudXAdInfo.adValues` for SDK-provided loaded-ad metadata used by features such as Trusted Arbiter.
* **Additional adapter coverage** - Updated setup guidance for the latest supported iOS and Android adapter set, including Google Waterfall, Moloco, and Verve where supported by the underlying native SDKs.

### Changed

* Updated underlying native SDK pins to iOS `CloudXCore ~> 3.4.0` and Android `io.cloudx:sdk:4.1.0`.

### Platform Support

* iOS: CloudXCore \~> 3.4.0
* Android: io.cloudx:sdk:4.1.0

***

## \[3.2.0] - 2026-05-12

This release updates the React Native SDK to use CloudX native SDK 3.2.0 on
both iOS and Android. There are no required JavaScript API changes for
publishers upgrading from 3.1.2.

### Added

* **Magnite adapter support** — adds Magnite adapter package support on both
  iOS and Android.
* **Improved diagnostics** — expands native event visibility for dashboard and
  operational troubleshooting.
* **(Android) Bid-floor controls** — adds support for native bid-floor controls
  in the ad request path.

### Changed

* Updated underlying native SDKs from 3.1.0 to 3.2.0.
* **(Android) Banner lifecycle handling** — improves banner view attach and
  detach behavior for more consistent adapter behavior.

### Fixed

* **(Android) Adapter discovery diagnostics** — missing adapter dependencies now
  report clearer diagnostics.
* **(Android) Banner load errors** — banner load failures now provide clearer
  diagnostics when a network reports a loaded banner without a renderable banner
  view.

### Platform Support

* iOS: CloudXCore \~> 3.2.0
* Android: io.cloudx:sdk:3.2.0

***

## \[3.1.2] - 2026-04-21

Major bump aligning the React Native SDK with the 3.1.0 native SDKs, and adds
a manual privacy API in JavaScript.

<Note>
  **Install `3.1.2` or later — `3.1.0` and `3.1.1` are not installable.** Both
  earlier 3.1 versions were removed from npm after a release-build issue on
  iOS. `3.1.2` is the first installable release of the 3.1 line.
</Note>

<Note>
  Native Ads support is tracked separately and is **not** part of this release.
</Note>

### Added

* **Manual Privacy API** — `CloudX.setHasUserConsent(value)` and `CloudX.setDoNotSell(value)` bridge to the native privacy APIs on iOS and Android. Accepts `boolean` to set, or `null` to clear a previously set value and fall back to the IAB storage.
* **Error Codes** — added `LOAD_NOT_ALLOWED_WHILE_SHOWING` (303) and `ADAPTER_INITIALIZATION_TIMEOUT` (622) to `CloudXErrorCode`.

### Changed

Updated underlying native SDKs from 2.2.3 to 3.1.0. For full platform-specific
details, see the native changelogs:

* [iOS Changelog](/en/ios/changelog)
* [Android Changelog](/en/android/changelog)

This SDK now pins iOS `CloudXCore ~> 3.1.0` and Android `io.cloudx:sdk:3.1.0`,
and all bundled adapters pin to the same major. The native Android SDK's new
`Context` requirement is handled by the bridge — no publisher code changes
required.

### Fixed

* **(iOS) Release-build compile error** — resolves a compile error that prevented archiving an app against the earlier 3.1.0 and 3.1.1 builds for App Store submission.
* **Banner and MREC render delay** — on some devices, a banner or MREC could report a successful load but stay blank until the next auto-refresh (\~30 seconds later). The first impression now renders immediately on show.

### Upgrading from 2.2.3

* **(iOS) Remove any manual top-inset workaround.** If you used `CloudXBannerAd.createAdWithOffsets` and passed the device's top safe-area inset as the `yOffset` (for example, `insets.top` from `react-native-safe-area-context`), remove it. `TOP_CENTER` and `BOTTOM_CENTER` banners already position themselves inside the safe area automatically, so an additional offset will push the banner below the safe area on devices with a notch or Dynamic Island. Use `CloudXBannerAd.createAd(adUnitId, CloudXAdPosition.TOP_CENTER)` for the default placement.
* **Banner and MREC view lifecycle.** Banner and MREC ads now load detached from your view hierarchy and attach to the presenting view controller (iOS) or root content view (Android) when you call `showBanner` / `showMREC`. This is invisible through the JavaScript API — mentioned here only for publishers who inspect the native view hierarchy between create and show. A side effect is that you can now pre-load a banner into memory and show it later without it occupying a parent view in the meantime.

### Platform Support

* iOS: CloudXCore \~> 3.1.0
* Android: io.cloudx:sdk:3.1.0

***

## \[2.2.3] - 2026-03-26

### Added

* **Unity Ads Adapter** — Unity Ads now available for banner, interstitial, and rewarded ads (iOS and Android)
* **Mintegral Adapter** — Mintegral adapter now available as a standard release (iOS and Android)

### Improved

* **Fullscreen Ad Reliability** — Fixed issues where loading a fullscreen ad while another was showing could silently fail (iOS), and ad reload now works correctly in hidden/display-failed callbacks (Android)
* **Error Diagnostics** — Improved error visibility for no-bid scenarios, making it easier to diagnose fill rate issues
* **Reduced SDK Footprint** — (Android) Removed `appcompat` and `webkit` transitive dependencies; renderer now bundled in the core SDK module

### Changed

Updated underlying native SDKs from 2.0.0 to 2.2.3. For full platform-specific
details, see the native changelogs:

* [iOS Changelog](/en/ios/changelog)
* [Android Changelog](/en/android/changelog)

### Platform Support

* iOS: CloudXCore \~> 2.2.3
* Android: io.cloudx:sdk:2.2.3

***

## \[2.0.0] - 2026-03-05

First stable release of the CloudX React Native SDK.

### Added

* Full SDK integration with banner, MREC, interstitial, and rewarded ad formats
* Programmatic overlay APIs for banner (`CloudXBannerAd`) and MREC (`CloudXMRECAd`)
* Fullscreen ad modules: `CloudXInterstitialAd` and `CloudXRewardedAd`
* React hooks: `useCloudXInterstitial`, `useCloudXRewarded`, `useCloudXBanner`
* Privacy compliance support (CCPA, GDPR, GPP via IAB shared storage)
* User targeting with key-value pairs (`setUserKeyValue`, `setAppKeyValue`)
* Impression-level revenue tracking via `addAdRevenuePaidListener`
* App Tracking Transparency (ATT) support for iOS 14+
* Display failure events (`addAdFailedToDisplayEventListener`) for interstitial and rewarded
* Full TypeScript type definitions with CloudX-prefixed namespace
* Fabric (New Architecture) and Paper (Legacy) support

### Fixed (iOS — since 2.0.0-beta.1)

* Fixed duplicate `onInterstitialHidden` / `onRewardedAdHidden` callbacks firing twice on close
* Fixed double revenue callback for rewarded ads
* Fixed thread-safety crash in bid token dictionary construction
* `showInterstitial` / `showRewarded` now emit display failure events when `topViewController` is nil (previously silent return)
* `didFailToLoadAd:` now broadcasts to all fullscreen listeners when `adUnitId` is nil (previously silent)
* `rewardAmount` sent as `NSNumber` instead of `NSString` (type alignment with Android and TypeScript)
* Improved diagnostic logging for load/failure paths

### Platform Support

* iOS: CloudXCore \~> 2.2.0-beta
* Android: io.cloudx:sdk:2.0.0

***

## \[2.0.0-beta.1] - 2026-02-26

### Added

* Initial full SDK integration with CloudX Core SDK
* Banner ads via `CloudXBannerAd` module
* MREC ads (300x250) via `CloudXMRECAd` module
* Interstitial ads via `CloudXInterstitialAd` module
* Rewarded ads via `CloudXRewardedAd` module
* React hooks: `useCloudXInterstitial`, `useCloudXRewarded`, `useCloudXBanner`
* Privacy compliance support (CCPA, GDPR, GPP)
* User targeting with key-value pairs
* Impression-level revenue tracking
* App Tracking Transparency (iOS)
* Full TypeScript type definitions
* Fabric (New Architecture) and Paper (Legacy) support

### Platform Support

* iOS: CloudXCore \~> 2.1.0-beta
* Android: io.cloudx:sdk:2.0.0
