Changelog
Combined release notes across CloudX
iOS SDK — Meta adapter 6.22.0.0
Changed
- Requires iOS 15 — Certified with Meta Audience Network 6.22.0, which requires iOS 15.0. Apps that still support iOS 13 or 14 should stay on 6.21.1.0. Install:
pod 'CloudXMetaAdapter', '~> 6.22.0.0'. - New Meta ad formats — Audience Network 6.22 adds eCommerce and catalog formats, chained ads on iOS, and playable improvements. Meta serves these; no integration change is needed beyond updating the adapter.
CloudX CLI 0.37
Unified activity exports
CloudX CLI 0.37 adds a unified command group for asynchronous, full-day impression, request, and bid activity exports.
Added
- Unified export commands — Use
cloudx export impressions,cloudx export requests, andcloudx export bids. The existingcloudx report impressions exportcommand remains available for compatibility. - Request activity exports — Export one row per auction request, including outcomes and bidder-funnel fields. Read the docs →
- Bid activity exports — Export bids, no-bids, timeouts, and errors. Winning prices are included; losing prices are redacted. Use
--bids-onlyto include bid responses only. Read the docs → - Asynchronous downloads — Export completed UTC days from the previous 45 days, apply focused filters, and use
--waitor--output <path>to retrieve the result.
CloudX API — Activity exports
The public API now supports asynchronous, full-day impression, request, and bid activity exports.
Added
- Unified export endpoints — Create or reuse exports with
POST /export/impressions,POST /export/requests, andPOST /export/bids, then poll the matchingGETendpoint for status and a short-lived download URL. - Request and bid activity — Request exports include auction outcomes and bidder-funnel fields. Bid exports include bids, no-bids, timeouts, and errors, with losing prices redacted. Request export docs → Bid export docs →
iOS SDK 3.7.0
Install: pod 'CloudXCore', '~> 3.7'
Added
- AdMob and Google Ad Manager bids in the Trusted Arbiter — New
CLXArbiterBidfactoriesadMob(adUnitId:)andgam(adUnitId:), no price required: CloudX prices the bid from revenue reported viareportRevenueData(_:). Optional per-impression USD override. CLXRevenuePlatformGAM— Report Google Ad Manager revenue throughreportRevenueData(_:); GAM paid events now also feed arbiter bid pricing.
Changed
- Adapter-facing
CLXBidRoutenative routing — Headers used by CloudX adapters gained native routing support (CLXBidRoute,CLXNativeParsedAdKey). Internal to CloudX adapters; no publisher action needed.
Fixed
- Core-only integrations initialize again — Apps integrating
CloudXCorewith no adapter pods failed to initialize (error 201) and could not run auctions. Both now work. - Banner and MREC views no longer leak — Auto-refreshing inline ad views could be retained for the rest of the session, causing unbounded memory growth in long-running apps. They now release correctly.
- Releasing an ad without
destroy()now cleans up — Dropping your last reference to an ad object without callingdestroy()now tears down the ad and its resources; previously they leaked silently. - Rare crash during ad cleanup fixed — A narrow internal race could abort the process while an ad’s resources were being released.
- Portrait native creatives render at their reported aspect ratio — Vertical (e.g. 9:16) creatives in the SDK native template no longer appear letterboxed in a landscape box. The template view for a portrait creative is now taller (320x548 instead of 320x250).
- No-bid auctions no longer log at ERROR — A normal no-bid outcome now logs at DEBUG, so error logs and crash-tooling alerts only reflect genuine failures.
iOS SDK — Google Waterfall adapter 13.6.0.2
Added
- Google Ad Manager demand —
CLXGoogleWaterfallPlacementTypeGamplacements load via the GAM request surface (banner, MREC, interstitial); revenue measured from realized GAM revenue history. Install:pod 'CloudXGoogleWaterfallAdapter', '~> 13.6.0.2'; requiresCloudXCore >= 3.7.0.
Changed
- Realized-price bookkeeping moved into
CloudXCore— The adapter’sCLXGoogleWaterfallRealizedPriceStoreheader is removed;CloudXCore3.7.0 now keeps this history using the same storage keys. No publisher action needed.
iOS SDK — Google Waterfall adapter 12.14.0.2
Added
- Google Ad Manager demand (12.14.0) — Same support as 13.6.0.2 (
CLXGoogleWaterfallPlacementTypeGamplacements;CLXGoogleWaterfallRealizedPriceStorenow in core), for Google Mobile Ads SDK 12.14.0. Install:pod 'CloudXGoogleWaterfallAdapter', '12.14.0.2'; requiresCloudXCore >= 3.7.0.
React Native SDK 3.7.0
CloudX React Native 3.7.0 aligns the wrapper with CloudX iOS 3.7.0 and Android 4.5.0. It adds Google demand to Trusted Arbiter, adds Google Ad Manager revenue reporting, and updates native setup pins and connector guidance.
Added
- Trusted Arbiter Google bids - Use
CloudXArbiterBid.adMob()andCloudXArbiterBid.gam()to compare CloudX with loaded AdMob or Google Ad Manager ads. - Google Ad Manager revenue reporting - Use
CloudXRevenuePlatform.GAMwithCloudX.reportRevenueData()so GAM paid events feed reporting and Trusted Arbiter pricing. - (iOS) TaurusX adapter - Add
pod 'CloudXTaurusXAdapter', '~> 1.18.1.0'for Banner, MREC, Interstitial, and Rewarded demand. - Optional MMP connector setup - React Native host apps can add Adjust and AppsFlyer native ad-revenue connectors on iOS and Android without JavaScript glue code.
- (Android) Native test ads in Banner and MREC - CloudX test ads can now render native creatives inside Banner and MREC placements.
Changed
- Updated underlying native SDK pins to iOS
CloudXCore ~> 3.7.0and Androidio.cloudx:sdk:4.5.0. - Google adapters - Update setup to iOS
CloudXGoogleWaterfallAdapter ~> 13.6.0.2, Androidio.cloudx:adapter-googlewaterfall:25.2.0.2, and Android GMA Next-Genio.cloudx:adapter-admob:1.3.0.1. - (Android) Meta adapter - Update setup to
io.cloudx:adapter-meta:6.22.0.0. Apps using this adapter must compile with Android API 36. - (Android) Mintegral adapter - Update setup to
io.cloudx:adapter-mintegral:17.1.71.1. - (Android) React Native 0.82+ support - Android host apps on React Native 0.82+ now build with the required New Architecture path automatically.
Fixed
- (iOS) Banner and MREC resource cleanup - Auto-refreshing inline ad views and ads released without
destroy()now clean up correctly. - (Android) Fullscreen callback reliability - Interstitial and rewarded ads no longer replay stale errors when showing, and late network callbacks after destroy are handled safely.
Platform Support
- iOS: CloudXCore ~> 3.7.0
- Android: io.cloudx:sdk:4.5.0
Unity SDK 4.5.0
What’s New
- Added AdMob and Google Ad Manager bids to Trusted Arbiter with
CloudXArbiterBid.AdMob(...)andCloudXArbiterBid.Gam(...). CloudX can price them from reported revenue. - Added
CloudXRevenuePlatform.Gamso apps can forward Google Ad Manager paid events throughCloudXSdk.ReportRevenueData(...). - Added Google Ad Manager demand support to the Google Waterfall Unity adapter; CloudX configuration selects AdMob or GAM per placement.
- Added TaurusX adapter support for Android and iOS.
- Added optional Adjust and AppsFlyer ad-revenue connectors so Unity apps can forward CloudX-won impression revenue to their MMP without Unity C# glue code.
Integration Notes
- Android projects using Meta adapter
6.22.0.0must compile with Android API 36 because Meta Audience Network6.22.0depends onandroidx.browser:1.9.0.
SDK Updates
- Updated Android SDK from 4.4.0 to 4.5.0 — see Android SDK changelog for details
- Updated iOS SDK from 3.6.0 to 3.7.0 — see iOS SDK changelog for details
- Updated Google Waterfall adapter pins to Android 25.2.0.2 and iOS 13.6.0.2.
- Updated Android Meta adapter to 6.22.0.0 and optional Android AdMob adapter to 1.3.0.1.
Android SDK 4.5.0
Added
- AdMob and Google Ad Manager Demand via TPA - Adds AdMob and Google Ad Manager demand to third-party arbitration with
CloudXArbiterBid.adMob(adUnitId)andCloudXArbiterBid.gam(adUnitId). Bids are priced automatically from realized revenue, or manually viamanualRevenuePerImpressionUSD. - Google Ad Manager in Google Adapters - Existing Google adapters can now serve Google Ad Manager demand alongside AdMob, selected per placement through CloudX configuration with no code changes.
- Native Test Ads in Banner and MREC - CloudX test ads can now render native creatives in banner (320x50) and MREC (300x250) placements.
Fixed
- Fullscreen Callback Reliability - Fixed a race where showing an interstitial or rewarded ad could replay a stale error, and ad network callbacks arriving after an ad is destroyed are now handled safely.
- Digital Turbine Native Impressions - Digital Turbine native ads now fire impressions and revenue callbacks. Requires the updated Digital Turbine adapter.
iOS SDK — TaurusX adapter 1.18.1.0
Added
- TaurusX adapter — New
CloudXTaurusXAdapterserving Banner, MREC, Interstitial, Rewarded, and Native. Install:pod 'CloudXTaurusXAdapter', '~> 1.18.1.0'. Backed by TaurusX SDK 1.18.1; requiresCloudXCore >= 3.5.0.
React Native SDK 3.6.1
CloudX React Native 3.6.1 adds Trusted Arbiter custom bid inputs, improves Android no-winner handling, and refreshes the iOS Pangle adapter pin. Existing ad format integrations remain unchanged.
Added
- Trusted Arbiter custom bids - Use
CloudXArbiterBid.custom()to compare CloudX against publisher-supplied mediation or network bids.
Changed
- (iOS) Pangle adapter - Update iOS setup to
pod 'CloudXPangleAdapter', '~> 8.2.0.7.0'.
Fixed
- (Android) Trusted Arbiter no-winner result - Android now returns
NONEwhen no valid custom bid wins.
Platform Support
- iOS: CloudXCore ~> 3.6.0
- Android: io.cloudx:sdk:4.4.0
Unity SDK 4.4.1
What’s New
- Added custom trusted-arbiter bids with
CloudXArbiterBid.Customfor mediation platforms without a dedicated bid type. - Added
CloudXArbiterPlatform.CustomandCloudXArbiterResult.PlatformNameso custom arbiter winners can identify the originating mediator.
Migration Notes
CloudXArbiterResultnow includesPlatformName; code that directly constructs or deconstructs this record must include the new value.
Changed
- Regenerated CloudX SDK asset GUIDs to avoid import collisions in Unity projects; assembly definition GUIDs are unchanged.
- Updated the Unity demo arbiter verification button to run CloudX, LevelPlay, PubMatic, and custom bid scenarios.
SDK Updates
- Updated the iOS Pangle adapter from 7.9.1.3.0 to 8.2.0.7.0.
Dashboard — TopOn data source
TopOn is now available as a mediation network data source in the Total Revenue dashboard. Configure it in Data Sources.
iOS SDK — Pangle adapter 8.2.0.7.0
Changed
- Pangle
CloudXPangleAdapter→~> 8.2.0.7.0(Ads-Global 8.2.0.7). Install:pod 'CloudXPangleAdapter', '~> 8.2.0.7.0'; requiresCloudXCore >= 3.5.0.
Dashboard — Total Revenue dashboard

Total Revenue brings your CloudX and connected mediation-platform performance into one dashboard, so you can compare aggregate monetization results in one place. Read the docs →
iOS SDK — Google Waterfall adapter 12.14.0.1
Fixed
- Prefetched Google ads could be shown after expiring (12.14.0) — Backport of the 13.6.0.1 fix for Google Mobile Ads SDK 12.14.0; fills now expire and refresh before stale, preventing blank renders. Install:
pod 'CloudXGoogleWaterfallAdapter', '12.14.0.1'; requiresCloudXCore >= 3.5.0.
React Native SDK 3.6.0
CloudX React Native 3.6.0 aligns the wrapper with CloudX iOS 3.6.0 and Android 4.4.0. It adds App Open and publisher-reported revenue APIs, updates native dependency pins, and preserves existing banner, MREC, interstitial, and rewarded integrations without migration.
Added
- App Open ads - Added
CloudXAppOpenAdanduseCloudXAppOpenfor full-screen app launch and foreground placements, backed by the native App Open support in CloudX iOS and Android. - Publisher-reported revenue API - Added
CloudX.reportRevenueData()withCloudXRevenueDataso apps can forward mediation paid events into CloudX reporting. Pass revenue as a JavaScriptnumberin currency units, not micros. - Expanded native adapter setup - React Native apps can use the native adapter set for this release, including independent iOS adapter pins and the Android TaurusX adapter.
Changed
- Updated underlying native SDK pins to iOS
CloudXCore ~> 3.6.0and Androidio.cloudx:sdk:4.4.0. - (iOS) Removed
CloudXRendererfrom setup - Do not addCloudXRendererin React Native Podfiles. Renderer functionality is built intoCloudXCorestarting with iOS 3.5.0. - (iOS) Independent adapter versioning - iOS setup now uses separate adapter versions and
CloudXMagniteAdapterV2, matching the iOS 3.5+ native packaging model. - (Android) Safer load and prefetch behavior - Includes Android 4.3.0 improvements for duplicate
load()calls and stale Google Waterfall prefetched fills.
Fixed
- (iOS) CloudX-served creative rendering - Includes iOS 3.6.0 fixes for blank banner and MREC creatives and rejected HTML rewarded creatives.
- (Android) Runtime compatibility - Includes Android 4.4.0 fixes for telephony permission checks and VAST tracker compatibility on the SDK’s minimum Android version.
- (Android) Native impression revenue - Includes Android 4.3.0 reliability fixes for synchronous native impression revenue callbacks.
Platform Support
- iOS: CloudXCore ~> 3.6.0
- Android: io.cloudx:sdk:4.4.0
Unity SDK 4.4.0
What’s New
- Added App Open ads through
CloudXSdk.LoadAppOpen,CloudXSdk.ShowAppOpen,CloudXSdk.IsAppOpenReady,CloudXSdk.DestroyAppOpen, andCloudXAdsCallbacks.AppOpen. - Added publisher revenue reporting with
CloudXSdk.ReportRevenueData(CloudXRevenueData data), including AdMob, InMobi, TopOn, and custom platform names.
Fixed
- Fixed Unity main-thread callback dispatch so native callbacks that enqueue Unity work no longer deadlock callback delivery.
SDK Updates
- Updated Android SDK from 4.1.7 to 4.4.0 — see Android SDK changelog for details
- Updated iOS CloudXCore from 3.4.6 to 3.6.0
- Updated iOS Google Waterfall adapter from 3.4.6 to 13.6.0.1
- Updated Unity demo Android adapter pins: Vungle 7.7.7.0, InMobi 11.4.0.1, Mintegral 17.1.71.0, Moloco 4.11.0.0, Verve 3.9.0.1, Google Waterfall 25.2.0.1, Digital Turbine 8.4.7.0, and Pangle 8.2.0.4.0.
Android SDK 4.4.0
Added
- Publisher Revenue Platforms - Publisher-reported revenue can now use
CloudXRevenuePlatform.INMOBI,CloudXRevenuePlatform.TOPON, orCloudXRevenuePlatform.custom(name)in addition to AdMob, so apps can forward impression-level revenue from more mediation and reporting platforms.
Changed
- Revenue Amount Units -
CloudXRevenueData.builder(platform, revenue, adFormat)now takesrevenueas aDoublein currency units, andCloudXRevenueData.revenueis now aDouble. For AdMobAdValue.valueMicros, divide by1_000_000.0before creatingCloudXRevenueData.
Fixed
- Telephony Permission Guard - The SDK now checks phone-state permission before reading the telephony network type.
- VAST Tracker Compatibility - Fixed the VAST event tracker to avoid an API 24-only collection call when running on the SDK’s minimum supported Android version.
iOS SDK 3.6.0
Install: pod 'CloudXCore', '~> 3.6'
Added
- Report impression-level revenue from your own mediation platform — Forward paid events to CloudX with
reportRevenueData(_:). AdMob, InMobi, and TopOn are built in. - App-wide ad-revenue delegate — Receive impression-level revenue for every CloudX-won impression from one
CLXAdRevenueDelegateinstead of per ad. Register withaddAdRevenueDelegate(_:). - AppsFlyer ad-revenue connector — Forward CloudX impression revenue to AppsFlyer. Install:
pod 'CloudXAppsFlyerConnector', '~> 6.15.0.0'. RequiresAppsFlyerFramework >= 6.15.0. - Adjust ad-revenue connector — Forward CloudX impression revenue to Adjust. Install:
pod 'CloudXAdjustConnector', '~> 5.0.0.0'. RequiresAdjust >= 5.0.0.
Fixed
- Banner and MREC creatives could render blank on the CloudX renderer — Creatives could fail on first load and after refresh, surfacing as blank impressions. They now render correctly.
- HTML rewarded creatives were rejected on the CloudX renderer — The renderer accepted only VAST rewarded creatives, so HTML rewarded ads failed to load. HTML rewarded creatives now render.
Removed
- Internal headers removed from the
CloudXCore.humbrella — Internal implementation headers were removed from the umbrella; none was linkable, so no integration is affected. Report revenue throughreportRevenueData(_:)and the public revenue types.
React Native SDK 3.4.7
Adds an in-tree React Native component API for banner and MREC ads while preserving the existing programmatic overlay API.
Added
- Component banner and MREC views - Publishers can now render
CloudXBannerViewandCloudXMRECViewdirectly inside React Native layouts, so ads participate in normal view positioning, safe-area handling, and overlay z-ordering. - Declarative component metadata - Component banners and MRECs support
placement,customData, andextraParametersprops for reporting and network/server configuration. - Component callbacks - Component views support
onAdLoaded,onAdLoadFailed,onAdClicked, andonAdRevenuePaidcallback props.
Changed
- Updated the underlying Android native pin to
io.cloudx:sdk:4.1.7(iOSCloudXCore ~> 3.4.5is unchanged). - The existing
CloudXBannerAdandCloudXMRECAdprogrammatic overlay APIs remain available for apps that need fixed native overlay positioning.
Platform Support
- iOS: CloudXCore ~> 3.4.5
- Android: io.cloudx:sdk:4.1.7
Demand Partners — zstd bid compression
CloudX now supports zstd compression for OpenRTB traffic with demand partners, on both bid requests and bid responses.
- Bid requests can be sent with
Content-Encoding: zstd; gzip remains supported. - When CloudX advertises
Accept-Encoding: gzip, zstd, partners may respond with gzip or zstd. - Contact CloudX to enable zstd for your bidder endpoint.
Dashboard — Ad position overrides
You can now set the bidder-facing ad position signal when creating or editing an ad unit in the Dashboard.
Accurate position signals help bidders understand where an ad appears on screen and can improve how they value the opportunity.
- Keep Default (recommended) to use CloudX’s current defaults: Banner sends
1(above the fold), MREC omits the position signal, and fullscreen formats send7(full screen). - Choose a value from
0to7when the ad’s actual on-screen position differs from the default. - Return to Default (recommended) to clear a saved override.
This setting changes the bidder-facing OpenRTB/AdCOM banner.pos or video.pos field. It does not reposition the ad in your app. Read the docs →
Dashboard — IFA presence targeting for manual floors
Manual line-item floors can now target requests based on whether the device provides a usable advertising identifier.
- Choose Any IFA to leave IFA presence unrestricted.
- Choose Has IFA to target requests with a usable identifier.
- Choose No IFA to target requests where the identifier is empty, whitespace-only, unavailable, or the nil UUID (
00000000-0000-0000-0000-000000000000). - Combine IFA presence with country targeting to set different floors for each traffic cohort.
In YAML configuration, omit ifa_present for Any IFA, set ifa_present: true for Has IFA, or set ifa_present: false for No IFA.
Dashboard — CloudX Agent
CloudX Agent is now available throughout the Dashboard through Ask CloudX. It uses the current page as context and can work across inventory, configuration, reporting, auction data, and CloudX product documentation.
Use it to:
- analyze pricing opportunities and prepare floor changes by ad unit, country, or format
- create, monitor, end, and promote A/B tests
- manage bidder participation and network mappings
- diagnose eCPM and fill-rate changes
- validate inventory and import configuration from CSV or spreadsheet files
- trace published changes to a configuration version, timestamp, and author
Configuration changes require an in-chat review and explicit approval before CloudX validates and publishes them. Read the docs →
Android SDK 4.3.0
Added
- AppsFlyer Ad Revenue Connector - Added a managed AppsFlyer connector and a global
CloudX.addAdRevenueListener()API to forward CloudX ad revenue to AppsFlyer or any MMP with one dependency and no glue code. The listener fires once per CloudX-won impression across all ad formats.
Changed
- Google Waterfall Prefetch Expiry - Prefetched Google Waterfall fills now expire on per-format time limits (4 hours for App Open, 1 hour for other formats) and refill proactively, so stale cached fills no longer render blank or fail at show.
- Duplicate load() Handling - Repeated
load()calls while a load is in flight are now handled safely and consistently across all ad formats. Previously, rapid duplicate banner and MREC loads could cancel the in-flight auction and starve the app of fills. - Creative Reporting - Creative identifiers are now included in impression and revenue telemetry across native and Mintegral-backed placements for more accurate creative-level reporting.
Fixed
- Pre-Init Load Callbacks - Banner and MREC
load()calls made before initialization completes are now queued and always produce a callback. Previously such calls could be dropped silently, and a failed initialization is now reported as a load failure instead of hanging with no callback. - Native Impression Revenue - Fixed a timing gap where a native impression fired before the SDK’s observer subscribed could be lost, so the publisher’s revenue callback did not fire. Affected synchronous-impression native paths such as Moloco standalone native.
- Optimistic Banner Leak - Fixed an adapter view leak when an optimistically loaded banner is destroyed before its background creative load dispatches.
iOS SDK — Google Waterfall adapter 13.6.0.1
Fixed
- Prefetched Google ads could be shown after they expired — Prefetched fills now expire and refresh in the background before going stale, preventing blank renders. Install:
pod 'CloudXGoogleWaterfallAdapter', '~> 13.6.0.1'. RequiresCloudXCore >= 3.5.0.
CloudX CLI 0.36
Impression-level revenue exports
CloudX CLI 0.36 adds asynchronous, full-day impression revenue exports for account-scoped analysis and reconciliation.
Added
- Impression-level CSV exports — Added
cloudx report impressions export --date YYYY-MM-DDto create or reuse a gzip-compressed CSV containing one row per impression. Completed UTC days from the previous 45 days are supported. Read the current docs → - Focused export filters — Filter by app ID or bundle, ad unit ID, country, device OS, bidder, line item, and production/test traffic.
- Asynchronous download workflow — Use
--waitto poll for completion or--output <path>to wait and securely download the result from a short-lived URL.
cloudx report impressions export --date 2026-07-16 --output ./impressions-2026-07-16.csv.gziOS SDK — Off-line adapter releases (-core34)
Off-line builds of three adapters for publishers still on CloudXCore 3.4.x. Each works with CloudXCore 3.4.5 or 3.4.6 and is not compatible with CloudXCore 3.5.x. Pin the exact version shown — these versions are never picked up by pod update automatically.
- Google Waterfall —
pod 'CloudXGoogleWaterfallAdapter', '13.0.0.0-core34'. Backed by Google Mobile Ads SDK 13.0.0. RequiresCloudXCore >= 3.4.6, < 3.5. - Unity Ads —
pod 'CloudXUnityAdsAdapter', '4.16.5.0-core34'. Backed by UnityAds 4.16.5. RequiresCloudXCore >= 3.4.5, < 3.5. Reward is granted on completed ad watch; UnityAds 4.16.5 provides no ad-expiry callback, so expired creatives are not signaled. - Moloco —
pod 'CloudXMolocoAdapter', '4.3.0.0-core34'. Backed by MolocoSDKiOS 4.3.0. RequiresCloudXCore >= 3.4.5, < 3.5.
iOS SDK — MobileFuse adapter 1.11.0.0
Added
- MobileFuse adapter — New
CloudXMobileFuseAdapterserving Banner, MREC, Interstitial, and Rewarded. Install:pod 'CloudXMobileFuseAdapter', '~> 1.11.0.0'. Backed by MobileFuse SDK 1.11.0; requiresCloudXCore >= 3.5.0.
Android SDK 4.2.0
Added
- App Open Ads - Added App Open ad support through
CloudX.createAppOpen()andCloudXAdFormat.APP_OPENfor app foreground placements. - Publisher Revenue Reporting - Added
CloudX.reportRevenueData()andCloudXRevenueDataso publishers can forward AdMob impression-level revenue events into CloudX reporting. - Trusted Arbiter Custom Bids - Added mediator-agnostic custom bid inputs with
CloudXArbiterBid.custom(),CloudXArbiterPlatform.CUSTOM, andCloudXArbiterPrecision. - Expanded Google Waterfall Support - Added Google Waterfall Interstitial, Rewarded, Native, and App Open support.
- Banner Auto-Refresh Configuration - Added banner and MREC support for server-disabled auto-refresh settings.
- TaurusX Adapter Availability - The TaurusX Android adapter is now available as
io.cloudx:adapter-taurusx:1.18.3.0, supporting Banner, MREC, Interstitial, Rewarded, and Native ad formats on CloudX Android SDK 4.2.0 or newer.
Changed
- Adapter Format Metadata - Adapters now report supported ad formats to CloudX, helping server-provisioned configuration match demand to compatible adapters.
- Google Waterfall Reporting - Improved Google Waterfall response identifiers and realized-price handling for more accurate waterfall diagnostics and reporting.
- Renderer Reliability - Fullscreen CloudX renderer behavior now better respects device auto-rotate settings and rewarded close/reward eligibility.
- Fullscreen Network Names - Fullscreen ad callbacks now report network names consistently with the raw adapter code used by other ad formats.
- Initialization Resilience - Improved SDK recovery from stale or poisoned OS DNS resolver state during initialization and network calls.
Fixed
- Moloco Native Banner Impressions - Fixed Moloco Native Banner and Native MREC impression timing so impressions are handled after the ad view is attached to the CloudX ad view container.
- Banner Render Timing - Improved banner and MREC load/render timing so adapter render latency is tracked separately from the initial load signal.
- Google Waterfall Prefetch Reliability - Improved Google Waterfall prefetch callback handling and impression reporting so stale loader callbacks cannot affect current fills.
- Trusted Arbiter PubMatic Comparison - Fixed fallback arbitration so PubMatic OpenWrap CPM prices are normalized before comparison with per-impression revenue bids.
iOS SDK 3.5.0
Adapters now version independently of CloudXCore. Each adapter pod uses <network-sdk-version>.<adapter-revision> (e.g. pod 'CloudXVungleAdapter', '~> 7.7.4.0') and is tied to one exact network SDK version per release. CloudXCore continues on SDK semver (pod 'CloudXCore', '~> 3.5').
Breaking Changes
- Adapter pods no longer share the
CloudXCoreversion. Existing pins on the old unified line (~> 3.4,~> 3.x) will not resolve new adapter releases. Update each adapter pin independently, for examplepod 'CloudXMintegralAdapter', '~> 8.1.5.0'. CloudXMagniteAdapterV2replacesCloudXMagniteAdapterfor independent versioning. Installpod 'CloudXMagniteAdapterV2', '~> 1.0.0.0'to move to the new version line; the legacy pod remains on the old line. No source changes — the import name is unchanged.CloudXRendereris no longer a separate pod. Its functionality is built intoCloudXCore; remove any directCloudXRendererdependency from your Podfile.
Added
- Trusted Arbiter Custom Bids — Added mediator-agnostic custom bid inputs with
CLXArbiterBid.custom(...),CLXArbiterPlatform.custom, andCLXArbiterPrecision. - App Open ad format — New
CLXAppOpenad class for full-screen ads shown while your app loads or returns to the foreground. Create withcreateAppOpen(adUnitId:). Supported on the Google Waterfall, Mintegral, Pangle, and Vungle adapters. - VAST video interstitials and rewarded on the CloudX renderer — The CloudX renderer now serves VAST video interstitial and rewarded creatives, with Open Measurement (OMID) video measurement. Rollout is controlled server-side; no integration change is required.
- HTML rewarded on the CloudX renderer — HTML rewarded creatives now render through the CloudX renderer, completing the fullscreen HTML support introduced for interstitials in 3.4.5. Server-side rollout; no integration change required.
- Native ads on Digital Turbine, Mintegral, Pangle, Verve, and Google Waterfall — These adapters now serve Native creatives, standalone and native-in-banner / native-in-MREC.
- Google Waterfall — Interstitial and Rewarded —
CloudXGoogleWaterfallAdapternow serves fullscreen Interstitial and Rewarded creatives, in addition to Banner, MREC, Native, and App Open. - In-app App Store sheet for install-ad clickthroughs — Tapping an install-campaign ad now opens an in-app App Store product sheet instead of leaving your app, for CloudX-rendered creatives that declare the advertised app.
- Fullscreen HTML interstitial clickthrough — Fullscreen HTML interstitials rendered by the CloudX renderer now navigate on tap.
CloudXMagniteAdapterV21.0.0.1 — the new independent-versioned Magnite pod. Install:pod 'CloudXMagniteAdapterV2', '~> 1.0.0.0'. Backed by MagniteSDK 1.0.0.
Changed — Adapter releases
- Vungle
CloudXVungleAdapter→~> 7.7.4.0(VungleAds 7.7.4). - Mintegral
CloudXMintegralAdapter→~> 8.1.5.0(MintegralAdSDK 8.1.5). - Unity Ads
CloudXUnityAdsAdapter→~> 4.19.0.0(UnityAds 4.19.0). - Verve
CloudXVerveAdapter→~> 3.9.0.0(HyBid 3.9.0). - Digital Turbine
CloudXDigitalTurbineAdapter→~> 8.4.8.0(Fyber Marketplace SDK 8.4.8). - Google Waterfall
CloudXGoogleWaterfallAdapter→~> 13.6.0.0(Google Mobile Ads SDK 13.6.0 — a major-version upgrade from 12.x). - InMobi
CloudXInMobiAdapter→~> 11.3.0.0(InMobiSDK 11.3.0). - Meta
CloudXMetaAdapter→~> 6.21.1.0(FBAudienceNetwork 6.21.1). - Moloco
CloudXMolocoAdapter→~> 4.8.0.0(MolocoSDKiOS 4.8.0). - Pangle
CloudXPangleAdapter→~> 7.9.1.3.0(Ads-Global 7.9.1.3).
Fixed
- Some bidders were not billed for certain banner impressions — Native ads rendered in a banner slot (native-in-banner) could be counted without the bidder billing notice, so the bidder was never billed. Impressions are now billed correctly in all cases.
- Native ads in a banner or MREC slot could report their impression too early — A native ad in a banner or MREC slot could fire its impression before the ad view was actually visible, especially when preloading off-screen. Impressions now report at the correct time.
- Stuck fullscreen ad after a rendering crash — If the web content behind a fullscreen ad crashed after the ad loaded, the user could be left on a stuck fullscreen. The ad now closes automatically and delivers the close callback.
- Native ads in banner slots could miss impressions with compact layouts — Fixed an issue where a native ad rendered in a banner slot with the compact template could display without registering an impression.
Removed
CloudXRendererstandalone pod — merged intoCloudXCore. See Breaking Changes above.
Unity SDK 4.1.7
What’s New
- Added APIs for per-request bid floor overrides so publishers can send request-scoped floor controls through the SDK bid pipeline
SDK Updates
- Updated Android SDK from 4.1.5 to 4.1.7 — see Android SDK changelog for details
- Updated iOS SDK from 3.4.5 to 3.4.6 — see iOS SDK changelog for details
iOS SDK 3.4.6
Changed
CloudXMolocoAdapternow supports the full MolocoSDK 4.x line — TheMolocoSDKiOSrequirement was widened from~> 4.6.0to>= 4.6.0, < 5.0, so you can adopt newer 4.x Moloco SDK releases. This resolves a CocoaPods dependency conflict that could block integration.
Fixed
- Rare crash when an ad finished loading — Fixed a rare crash that could occur when a banner or fullscreen (interstitial / rewarded) ad finished loading. Affected ads now load and report their result reliably.
- Duplicate banner impressions after a no-fill refresh — A banner whose auto-refresh returned no bid could re-display the previous creative and count extra impressions. A no-bid refresh now shows nothing and reports no impression.
CloudX CLI 0.35
A/B test country targeting
CloudX CLI 0.35 lets A/B test config edits set geo targeting for the test variant directly from the terminal.
Added
- A/B test geo targeting — Added
--countrytocloudx config edit create-ab-testandcloudx config edit update-ab-test. The flag accepts repeated or comma-separated ISO 3166-1 alpha-2 or alpha-3 country codes, and CloudX stores the test-variant targeting as alpha-3 codes. Read the docs →
cloudx config edit create-ab-test --ad-unit-id au_123 --name "US/GB test" --country US --country GBAndroid SDK 4.1.7
Changed
- Faster SDK Initialization - Reduced initialization latency by applying privacy consent to ad network adapters in parallel and moving non-critical startup work off the initialization path.
Android SDK 4.1.6
Changed
- Quicker Initialization - The SDK can reuse cached configuration on warmed sessions, reducing initialization latency on subsequent launches.
- Trusted Arbiter Revenue Accuracy - Normalized fallback revenue units used in arbitration so CloudX bid comparisons and revenue reporting are more accurate.
React Native SDK 3.4.6
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(iOSCloudXCore ~> 3.4.5is 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
Unity SDK 4.1.5
SDK Updates
- Updated Android SDK from 4.1.3 to 4.1.5 — see Android SDK changelog for details
- Updated iOS SDK from 3.4.2 to 3.4.5 — see iOS SDK changelog for details
- Added Pangle adapter support for Android and iOS
- Added MobileFuse adapter support for Android
Android SDK 4.1.5
Added
- MobileFuse Adapter Availability - The MobileFuse Android adapter is now available as
io.cloudx:adapter-mobilefuse:1.11.0.0, supporting Banner, MREC, Interstitial, Rewarded, and Native ad formats.
Changed
- Meta Native-in-Banner Routing - Meta native banner demand now uses Meta’s native-banner rendering path only for banner-sized placements; native MREC placements use the regular native ad path.
- Vungle Native Ad Support - Added support for Vungle native, native banner, and native MREC ad formats.
Dashboard — A/B testing result labels
The A/B testing dashboard now more clearly distinguishes result metrics and percentage-point changes.
- A/B test creation now uses a fixed 50/50 split between control and test groups
- ARPU is included in cumulative comparison metrics
- Fill rate reflects true filled auction responses divided by requests
- Customer-facing result badges use Pending, Directional, and Achieved
Android SDK 4.1.4
Added
- Pangle Adapter Readiness - Added the SDK-side metadata needed for the independently released Pangle Android adapter. Publishers can integrate Pangle demand with
io.cloudx:adapter-pangle:8.1.0.3.0on CloudX Android SDK 4.1.4 or newer. - CloudX Fullscreen HTML Rendering - Added SDK support for CloudX-served MRAID fullscreen creatives in interstitial and rewarded placements, including OMID viewability measurement for CloudX HTML ads.
Changed
- SDK Startup Performance - Reduced SDK initialization and ad-request stalls caused by device signal collection.
- MRAID Fullscreen Reliability - Improved fullscreen CloudX HTML ads with load watchdogs, a loading indicator, larger close hit targets,
mraid.unload()support, more reliable hide callbacks, and safer reward handling when rewarded ads are closed early. - Native Ad Rendering - Improved native image handling for local file-backed assets and prevented stale async image loads from overwriting reused native ad views.
- Telemetry Timing Accuracy - SDK telemetry durations now use monotonic app-uptime timing for more reliable diagnostics.
React Native SDK 3.4.5
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(Androidio.cloudx:sdk:4.1.3is unchanged). Update your iOSCloudX*adapter pods to~> 3.4.5to 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
iOS SDK 3.4.5
Added
- Full native ad support across InMobi, Meta, Vungle, and Moloco — With InMobi native and Vungle standalone native added in this release, all four demand partners now serve native ads in every form CloudX supports: standalone (via
CLXNativeAdLoader) and native-in-banner / native-in-MREC. - InMobi native ads —
CloudXInMobiAdapternow serves Native creatives, both standalone (viaCLXNativeAdLoader) and native-in-banner / native-in-MREC. RequiresInMobiSDK >= 11.2.0(the adapter’s minimum was raised from11.0.0). - Vungle standalone native ads —
CloudXVungleAdapternow serves standalone Native creatives viaCLXNativeAdLoader(native-in-banner / native-in-MREC was already supported). - HTML interstitials on the CloudX renderer — The CloudX renderer now supports fullscreen HTML interstitial creatives with MRAID 3.0, alongside the existing HTML banner / MREC support. Rollout is controlled server-side; no integration change is required.
Changed
- Slow ad network SDKs no longer delay CloudX SDK initialization — A slow network SDK no longer blocks init; CloudX completes without it and the network joins later auctions once ready. Networks not yet initialized are excluded from auctions they cannot serve.
Fixed
- Digital Turbine adapter no longer conflicts with another mediation SDK initializing the Fyber SDK — If another mediation SDK initializes the shared Fyber SDK first, the CloudX adapter now defers instead of re-initializing. For smooth startup, initialize the other SDK first, then CloudX.
- Some valid HTML banner creatives were rejected by the renderer — Fixed an issue where HTML banner / MREC creatives containing failed tracker pixels were misclassified as broken and not displayed. These creatives now render normally.
- Native ad reliability improvements on Meta and Moloco — Meta native ads now validate the loaded ad and register all asset views for impression and click tracking, not just the CTA. Moloco native ads are no longer delivered when the underlying ad is not renderable.
Removed
- Adapter-integration APIs — Removed
clx_isFlexibleSize,+isInitialized, and per-instancesdkVersionfrom the adapter-facing surface. These had no function for app integrations; standard publisher integrations are unaffected.
React Native SDK 3.4.4
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.4and Androidio.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
Dashboard — Help menu resources

The Dashboard Help menu now brings product help, support, and release updates into one place.
Open Help in the sidebar to:
- open CloudX documentation
- contact the support team
- browse recent releases under What’s new
- open a release preview in the in-app changelog dialog
- jump to the full docs timeline from Changelog
iOS SDK 3.4.4
Fixed
- Digital Turbine adapter failed to link on Fyber Marketplace SDK below 8.4.0 — The adapter binary failed to link on a Fyber SDK below
8.4.0. It now links across the full8.xline — Banner, MREC, Interstitial, and Rewarded work on Fyber8.0.0+; native fill remains on8.4.0+. - Google Waterfall — occasional lost fills on slow mediation responses — A Google Waterfall ad could be discarded when its mediation cascade responded slowly, even though it ultimately filled. Slow-but-successful responses are now delivered, improving fill reliability.
iOS SDK 3.4.3
Added
- Pangle Adapter — New
CloudXPangleAdaptersupporting Banner/MREC, Interstitial, and Rewarded ad formats. Install:pod 'CloudXPangleAdapter', '~> 3.4.3'. Backed by the Pangle (ByteDance) SDKAds-Global ~> 7.9.0.
Changed
- DigitalTurbine adapter — broader Fyber Marketplace SDK compatibility —
CloudXDigitalTurbineAdapternow acceptsFyber_Marketplace_SDK >= 8.0.0(previously>= 8.4.0). Banner, MREC, Interstitial, and Rewarded work across the full 8.x line; native fill remains on Fyber SDK 8.4.0+.
Fixed
- App Store rejection from the
itms-servicesURL scheme — removed the scheme from the SDK binary; store redirects are unaffected. - SDK init could fail for some accounts — fixed initialization failing for accounts without an organization identifier.
Unity SDK 4.1.3
SDK Updates
- Updated Android SDK from 4.1.1 to 4.1.3 — see Android SDK changelog for details
- Updated iOS SDK from 3.4.1 to 3.4.2 — see iOS SDK changelog for details
- Added Google Waterfall and Digital Turbine adapter support for Android and iOS
Android SDK 4.1.3
Changed
- Resilient Adapter Initialization - A slow ad network adapter no longer blocks SDK initialization. Each adapter gets a soft init timeout; the SDK finishes initializing while it continues starting up in the background. Not-ready adapters are held out of auctions until they finish.
iOS SDK 3.4.2
Added
- Google Waterfall Adapter — New
CloudXGoogleWaterfallAdapter(Banner, MREC). Install via CocoaPods (pod 'CloudXGoogleWaterfallAdapter', '~> 3.4.2') or Swift Package Manager. Backed byGoogle-Mobile-Ads-SDK 12.14.0; requires aGADApplicationIdentifierin your Info.plist.
CloudX CLI 0.34
Expanded config writes
CloudX CLI 0.34 extends cloudx config edit beyond line items to cover apps, ad units, ad unit groups, lists, tags, test devices, network mappings, and A/B test lifecycle commands.
Added
- Draft inventory edits — Added create, update, delete, and upsert commands for the main inventory entities. Draft edits validate automatically and still require
cloudx config publishunless noted. Read the docs → - A/B test writes — Added A/B test create, update, start, end, promote, and delete commands. Lifecycle changes publish the resulting config immediately. Read the docs →
CloudX API — Configuration writes
The public API now exposes typed config write operations through POST /config/edit for apps, ad units, ad unit groups, lists, tags, test devices, network mappings, line items, and A/B tests.
Android SDK 4.1.2
Added
- Native-in-Banner Rendering - Native ad demand from supported adapters, including Meta, Moloco, and Vungle, can now serve into standard banner and MREC slots through the existing banner public API.
Changed
- Server-Driven Always-Reward Mode - Rewarded ad adapters now honor a
shouldAlwaysRewardUserflag configured per-line-item in the dashboard. The SDK fires the reward callback even for networks that don’t always deliver a reward signal. No integration change required.
iOS SDK 3.4.1
Added
- Digital Turbine Adapter — New
CloudXDigitalTurbineAdapter(Banner, MREC, Interstitial, Rewarded, Native). Install:pod 'CloudXDigitalTurbineAdapter', '~> 3.4.1'. Backed byFyber_Marketplace_SDK >= 8.4.0, < 9.0.
Fixed
- Duplicate
didLoadAd/didShowAdcallbacks on banner refresh — When a partner adapter SDK fired its load or impression callback more than once, publishers could receive duplicates. The first callback is now canonical and re-fires are dropped, so one load and one impression emit per ad.
Unity SDK 4.1.0
What’s New
- Added
CloudXSdk.Arbiter(bids, onCompleted)for running a trusted-arbiter auction from Unity - Added
SetBannerExtraParameter(adUnitId, key, value),SetMRecExtraParameter(adUnitId, key, value),SetInterstitialExtraParameter(adUnitId, key, value), andSetRewardedExtraParameter(adUnitId, key, value)to pass network-specific parameters to each ad format
SDK Updates
- Updated Android SDK from 4.0.0 to 4.1.1 — see Android SDK changelog for details
- Updated iOS SDK from 3.2.0 to 3.4.1 — see iOS SDK changelog for details
- Added Moloco and Verve adapter support for Android and iOS
Android SDK 4.1.1
Added
- Digital Turbine Adapter Support - Added SDK support for the Digital Turbine Android adapter. Adapter artifacts continue to be released independently.
- Expanded Network Mappings - Added SDK network mappings for BidMachine, Chartboost, Digital Turbine, LoopMe, MobileFuse, Pangle, PubMatic, and Yandex so compatible adapters can be released independently as they become available.
Changed
- Digital Turbine Adapter Metadata - Updated Digital Turbine adapter metadata and error reporting compatibility for CloudX SDK 4.1.1.
- Google Waterfall Adapter - Updated Google Waterfall support to Google Mobile Ads SDK 25.1.0 and added fallback banner/MREC impression reporting when AdMob impression-level revenue callbacks are unavailable.
React Native SDK 3.4.0
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.adValuesfor 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.0and Androidio.cloudx:sdk:4.1.0.
Platform Support
- iOS: CloudXCore ~> 3.4.0
- Android: io.cloudx:sdk:4.1.0
Android SDK 4.1.0
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.
- LevelPlay Impression-Level Revenue Data - Added impression-level revenue tracking via Unity LevelPlay integration, alongside the existing AppLovin ILRD support.
- Ad Value Accessors - Added
CloudXAd.adValuesfor SDK-provided ad metadata. - Expanded Network Support - Added SDK support for Google Waterfall, Moloco, and Verve adapters. Adapter artifacts continue to be released independently.
- MRAID 3.0 Ad View Rendering - Added CloudX renderer support for MRAID 3.0 banner and MREC creatives.
iOS SDK 3.4.0
Added
- Verve Adapter — New
CloudXVerveAdapter(Banner, MREC, Interstitial, Rewarded, Native). Install:pod 'CloudXVerveAdapter', '~> 3.4.0'. Backed by HyBid 3.8.0. - Moloco Adapter — New
CloudXMolocoAdapter(Banner, MREC, Interstitial, Rewarded, Native). Install:pod 'CloudXMolocoAdapter', '~> 3.4.0'. Backed by MolocoSDKiOS~> 4.6.0. - Non-SDK CloudX-rendered HTML banner and MREC with MRAID 3.0 — HTML banner and MREC creatives can now be served through the CloudX renderer, with MRAID 3.0 support.
- Native-in-banner and native-in-MREC support — Native creatives can be served into banner or MREC slots on Meta, Vungle, and Moloco.
- Trusted Arbiter — Added public APIs for comparing CloudX bids with supported third-party bids from Unity LevelPlay and PubMatic, and selecting the winning platform through CloudX arbitration.
CLXAd.adValuesproperty — New read-onlyNSDictionary<NSString *, NSString *>exposing SDK-defined loaded-ad metadata. Values may be absent depending on ad format and network.
Changed
- UnityAds adapter version range — Widened to accept Unity Ads 4.x patch releases (
>= 4.17.0, < 5.0). - Publisher delegate main-queue threading is now documented contract — All
CLXAdDelegatecallbacks (and protocols that extend it) andCLXAdRevenueDelegatecallbacks deliver on the main queue and may fire inline relative to the SDK call that triggered them. No runtime change.
Fixed
- Native ad memory leak during long sessions — Long-lived publisher integrations that load many native ads no longer accumulate retained observers across native ad refresh cycles.
CloudX CLI 0.33
Config validation, line-item edits, and publishing
CloudX CLI 0.33 adds the ability to edit line items directly from your configuration workflow, publish reviewed drafts, and validate local YAML files or remote configs.
To update an existing Homebrew installation to this release:
brew upgrade cloudxAdded
- Config validation — Added
cloudx config validate [file]for validating local YAML files, plus remote validation of the live config, a published version, or a draft by ID. Use--strictto fail on warnings. Read the docs → - Line-item writes — Added
cloudx config edit create-line-item,cloudx config edit update-line-item, andcloudx config edit delete-line-itemfor preparing line-item changes in a draft config. Draft edits run validation and never publish automatically. Read the docs → - Configuration publishing — Added
cloudx config publish --id <draft-id>to publish a validated draft as the live config. Read the docs → - CLI upgrade notice — The CLI now shows a terminal notice when the CloudX API reports that a newer CLI version is available, with a link to update instructions.
CloudX API — Public API release
CloudX now has a public API for programmatic access to reporting, auction inspection, and account configuration data. The API uses CloudX API keys as bearer tokens and is documented with an interactive OpenAPI reference. Read the docs →
Added
- Reporting endpoints — Retrieve dashboard summaries, breakdown rows, bidder performance, app performance, ad-unit performance, and CSV-style exports.
- Auction inspection endpoints — Inspect auctions, rounds, bids, ILRD rows, and related delivery details.
- Configuration endpoints — Read live, draft, and published account configuration, including configuration history.
Dashboard — Frequency caps
CloudX Dashboard now supports SSP frequency caps for both ad units and segments.
You can now:
- cap a specific ad unit by
hour,day, orsession - cap traffic routed through a specific segment
- set a default cap for requests that do not include any segments
Frequency caps are evaluated before the auction and counted on impression, so once capped inventory reaches its limit, CloudX returns no fill instead of continuing to serve. Ad-unit configuration is documented in Ad units.
CloudX CLI 0.32
To update an existing Homebrew installation to this release:
brew upgrade cloudxAdded
- API-key authentication —
CLOUDX_API_KEYsupport for CI, scheduled jobs, scripts, and other non-interactive workflows. API keys are managed by administrators in Settings > API Keys. Read the docs → - CloudX breakdown reporting —
cloudx report breakdown --by <dimensions> --metrics <metrics>for CloudX-only aggregate reporting across requests, impressions, revenue, fill rate, eCPM, clicks, and CTR. - Report granularity and controls —
cloudx report dashboardandcloudx report exportsupport--granularity daily|hourly; breakdown reports add hourly buckets, sorting, and filters with--granularity hourly,--top,--bottom, and--having. - Configurable request timeout — Global
cloudx --timeout <duration>for API requests. The default remains1m, and values are capped at2m. Read the docs →
React Native SDK 3.2.0
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
CloudX CLI 0.31
Cross-mediator report sources
CloudX CLI 0.31 adds report source filtering for publishers that forward impression-level revenue data from external mediation platforms. Existing report commands stay CloudX-only by default, and --source can be used to opt into mediator ILRD where supported.
To update an existing Homebrew installation to this release:
brew upgrade cloudxAdded
- Report source filtering — Added
--sourcetocloudx report dashboard,cloudx report apps, andcloudx report ad-units. Use--source allfor CloudX plus all available external mediator sources,--source applovinfor one mediator, or--source cloudx,applovinfor side-by-side comparison. - Source-aware report metrics — Dashboard, app, and ad-unit reports can now include external mediator ILRD for revenue, impressions, eCPM, and revenue share. Fill rate remains CloudX-only when external mediators are included because external ILRD does not include CloudX request counts.
- Clearer source semantics —
--sourceuses the mediator/platform source from ILRD, such asapplovin, not downstream demand network names such asADMOB_BIDDING. Read the docs →
CloudX CLI 0.30
Auction list performance and timeout handling
CloudX CLI 0.30 focuses on making auction inspection more reliable during heavier searches and making timeout failures easier to understand.
To update an existing Homebrew installation to this release:
brew upgrade cloudxImproved
- Faster auction lists with ILRD filters — Improved
cloudx auction listperformance when working with ILRD-heavy searches, especially when narrowing results by external ILRD and mediator. - Longer default request timeout — Increased the default CLI timeout to 60 seconds, giving heavier requests more time to complete.
- Clearer timeout errors — Timeout failures now show a clearer CLI message instead of a low-level networking error.
- Better timeout visibility — Timed-out CLI requests are easier for CloudX support to identify and diagnose.
CloudX CLI 0.29
Auction and config inspection
CloudX CLI 0.29 expands the terminal workflow from reporting into production debugging. You can now inspect auctions, rounds, bids, ILRD payloads, live configs, drafts, and published config history without switching to the dashboard.
To update an existing Homebrew installation to this release:
brew upgrade cloudxAdded
- Auction inspection — Added
cloudx auction list,cloudx auction show,cloudx auction rounds, andcloudx auction bidsfor reviewing auction records, related rows, aggregate round metrics, bid and non-bid rows, floor sources, CloudX ILRD, and opted-in external mediator ILRD. Read the docs → - Config inspection — Added
cloudx config showfor live configs, published versions, drafts, and config rows addressed by ID, with YAML output by default and JSON output for automation. Read the docs → - Config history — Added
cloudx config historyfor published config history, creator filtering, recent-change filtering, draft inclusion, and publish-time diff summaries. - Workflow examples — Updated CLI examples and overview pages with auction, config, JSON, and combined reporting workflows. See examples →
Unity SDK 4.0.0
What’s New
- Added Unity Package Manager (UPM) consumer support so the SDK can be referenced from internal UPM packages. Runtime and editor scripts now ship with assembly definitions (
CloudX.SdkandCloudX.Sdk.Editor). - Removed the runtime dependency on
Newtonsoft.Json. The SDK no longer requirescom.unity.nuget.newtonsoft-jsonto be present in your project.
SDK Updates
- Updated Android SDK from 3.2.0 to 4.0.0 — see Android SDK changelog for details
Dashboard — A/B Testing

Stop guessing whether a new line item, bid floor, or network configuration will actually move the needle. A/B Testing lets you split impressions between your current setup and an edited variant, then watch them race head-to-head on the metrics that matter — revenue, eCPM, fill rate, and impressions — all in real time, in production.
When the data is in, promoting the winner takes a click. Open any active ad unit, hit Create A/B test, and start optimizing your monetization strategy with the rigor your revenue deserves. Read the docs →
Android SDK 4.0.0
Breaking Changes
- Adapter Version Compatibility - Adapters now declare their minimum CloudX SDK version. The SDK skips incompatible adapters during initialization.
Added
- Independent Adapter Versions - CloudX adapters are now released independently from the core SDK, allowing compatible adapter updates to ship on their own release schedule.
Changed
- Publisher Release Builds - Improved release-build compatibility by preserving the CloudX runtime classes required for SDK initialization and adapter loading.
Fixed
- Release Build Initialization - Fixed an issue that could prevent SDK initialization in minified publisher builds.
CloudX MCP — AI-native reporting and docs search
The numbers you need, the way you ask. CloudX now has a hosted Model Context Protocol server that plugs straight into ChatGPT, Claude Code, Cursor, Codex, and any other MCP client of your choosing — so your AI assistant can pull live revenue, fill rate, eCPM, and bidder performance from CloudX without you copy-pasting between tabs.
Ask “how did US iOS traffic perform last week?” and get the actual numbers back, filtered exactly the way you’d filter them in the dashboard. Ask “how do I integrate the Magnite adapter?” and get an answer grounded in our real docs. Read the docs →
Android SDK 3.2.0
Added
- Magnite Adapter - Added Magnite adapter support for banner, interstitial, and rewarded ads.
- Per-Request Bid Floor Overrides - Added APIs for per-request bid floor overrides so publishers can send request-scoped floor controls through the SDK bid pipeline.
Changed
- Improved banner and MREC lifecycle handling across adapters for more consistent rendering, refresh, and cleanup behavior.
Fixed
- Improved SDK resilience when optional adapter or network SDK dependencies are missing at runtime.
- Fixed Vungle banner load errors so invalid banner load states are surfaced through SDK error callbacks.
Unity SDK 3.2.0
What’s New
- Added
DestroyInterstitial(adUnitId)andDestroyRewarded(adUnitId)to the Unity API so fullscreen ads can be explicitly destroyed and cleaned up
SDK Updates
- Updated Android SDK from 3.1.0 to 3.2.0 — see Android SDK changelog for details
- Updated iOS SDK from 3.1.0 to 3.2.0 — see iOS SDK changelog for details
- Added Magnite adapter support for Android and iOS
iOS SDK 3.2.0
Added
- Magnite Adapter — New
CloudXMagniteAdapter(Banner, MREC, Interstitial, Rewarded). Install:pod 'CloudXMagniteAdapter', '~> 3.2.0'. - Richer dashboard telemetry — Full telemetry overhaul. More robust event capture, new events, and increased observability.
CloudX CLI 0.28
CloudX in your terminal

Some questions don’t need a browser. With the new CloudX CLI, your daily numbers are one keystroke away — cloudx report dashboard shows revenue, fill rate, eCPM, and trends right next to your prompt. Filter by country, platform, ad unit, or test traffic the same way you would in the dashboard.
When you need data downstream, switch to --json for structured output or cloudx report export for CSV ready to pipe into a spreadsheet, a notebook, or another tool. Install with brew install cloudx, sign in once, and your reporting workflow follows you wherever you work. Read the docs →
React Native SDK 3.1.2
Major bump aligning the React Native SDK with the 3.1.0 native SDKs, and adds a manual privacy API in JavaScript.
Added
- Manual Privacy API —
CloudX.setHasUserConsent(value)andCloudX.setDoNotSell(value)bridge to the native privacy APIs on iOS and Android. Acceptsbooleanto set, ornullto clear a previously set value and fall back to the IAB storage. - Error Codes — added
LOAD_NOT_ALLOWED_WHILE_SHOWING(303) andADAPTER_INITIALIZATION_TIMEOUT(622) toCloudXErrorCode.
Changed
Updated underlying native SDKs from 2.2.3 to 3.1.0. For full platform-specific details, see the native changelogs:
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 passed the device’s top safe-area inset as
yOffsettoCloudXBannerAd.createAdWithOffsets(e.g.,insets.topfromreact-native-safe-area-context), remove it; an extra offset now pushes the banner below the safe area. - (iOS)
TOP_CENTERandBOTTOM_CENTERbanners now position themselves inside the safe area automatically. UseCloudXBannerAd.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) on
showBanner/showMREC. Noted for publishers who inspect the native view hierarchy between create and show. - Pre-load banners and MRECs into memory. Because ads load detached, you can now pre-load a banner or MREC 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
Android SDK 3.1.0
Added
- Native Ads - Added native ad support with
CloudX.createNativeAdLoader(),CloudXNativeAdLoader,CloudXNativeAd,CloudXNativeAdListener, andCloudXNativeLoaderConfiguration, backed by the Meta adapter.
Changed
- Improved adapter initialization, privacy forwarding, and ad load/show reliability across supported networks.
- Reduced startup and initialization work on the main thread to improve app launch stability and lower ANR risk.
- Unity 2022 Meta Compatibility -
adapter-metanow brings in Meta Audience Network6.20.0transitively by default for Unity 2022 compatibility. If your integration uses native ads, explicitly add Meta Audience Network6.21.0or newer in your app:dependencies { implementation("io.cloudx:adapter-meta:3.1.0") implementation("com.facebook.android:audience-network-sdk:6.21.0") }
Fixed
- Improved SDK resilience for missing network SDK dependencies and adapter load failures.
Unity SDK 3.1.0
What’s New
- Revenue-paid callbacks are now delivered immediately and may run off the Unity main thread on Android and iOS
Integration Notes
- Do not touch Unity scene or UI APIs directly inside
OnAdRevenuePaid. Dispatch back to the main thread first if needed.
SDK Updates
- Updated Android SDK from 3.0.0 to 3.1.0 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.8 to 3.1.0 — see iOS SDK changelog for details
iOS SDK 3.1.0
Added
- Meta Reels & Native Ads — Meta Reels (9:16 vertical video) and other Meta native ad formats are now supported via
CLXPublisherNative. This release supports Meta native ads only; additional bidder support is coming in a future release. - Per-Adapter Initialization Timeout — SDK initialization now supports per-adapter timeouts for more predictable startup behavior.
Fixed
- Xcode 26 Compatibility — Resolved a build warning when compiling with Xcode 26.
iOS SDK 2.2.9
Fixed
- Unity Ads Adapter — Fixed initialization, privacy consent forwarding, rewarded callbacks, and bid token error handling for improved reliability across regions.
Android SDK 3.0.0
Breaking Changes
CloudX.initialize()now requires an AndroidContext, and the public ad creation APIs now requireContextas well:createBanner(),createMREC(),createInterstitial(), andcreateRewarded().
Changed
- Removed automatic process-start initialization; apps now provide
Contextexplicitly through SDK initialization and ad creation APIs. - Reduced SDK work before
CloudX.initialize()is called, lowering main-thread startup overhead and ANR risk.
Unity SDK 3.0.0
SDK Updates
- Updated Android SDK from 2.2.7 to 3.0.0 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.7 to 2.2.8 — see iOS SDK changelog for details
iOS SDK 2.2.8
Fixed
- Crash Fix — Fixed a crash that could occur during concurrent ad event tracking on background threads
Android SDK 2.2.7
Fixed
- Reduced startup ANR risk for apps that include the SDK before calling
CloudX.initialize().
Unity SDK 2.2.7
What’s New
- Added first-party metrics telemetry coverage across Android SDK call sites through the updated Android SDK
- Fixed iOS banner display after deferred initialization and improved Vungle adapter runtime reliability through the updated iOS SDK
Integration Notes
- The Unity integration flow and banner/MREC placement/custom-data ordering guidance introduced in
2.2.6remain unchanged in this release
SDK Updates
- Updated Android SDK from 2.2.6 to 2.2.7 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.6 to 2.2.7 — see iOS SDK changelog for details
Android SDK 2.2.6
Changed
- Improved ad lifecycle, revenue, and crash reporting reliability across SDK and network-adapter events.
- Improved banner, interstitial, and rewarded event attribution so placement and custom data are tracked consistently.
Fixed
- Improved error reporting for bid response parsing, adapter initialization, and ad load failure paths.
iOS SDK 2.2.7
Fixed
- Deferred Banner Display — Fixed an issue where banners created before SDK initialization completed could fail to display after initialization succeeded
- Vungle Adapter Reliability — Fixed an issue where Vungle rewarded and interstitial ads could crash at runtime due to a method being incorrectly stripped during linking
Unity SDK 2.2.6
What’s New
- Added
isAdReadysupport across fullscreen adapters through the updated Android and iOS SDKs - Added Unity Ads privacy consent forwarding through the updated iOS SDK
Integration Notes
- For Unity banner and MREC ads, call
SetBannerPlacement(...)/SetBannerCustomData(...)andSetMrecPlacement(...)/SetMrecCustomData(...)beforeCreateBanner(...)orCreateMrec(...)if you want those values applied to the first ad request
SDK Updates
- Updated Android SDK from 2.2.4 to 2.2.6 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.4 to 2.2.6 — see iOS SDK changelog for details
Android SDK 2.2.5
Added
- Added
CloudXErrorCode.LOAD_NOT_ALLOWED_WHILE_SHOWINGfor fullscreenload()calls made while the same ad instance is actively showing. - Added fullscreen adapter readiness checks across interstitial and rewarded adapters.
Changed
- Improved fullscreen ad readiness handling so expired or invalidated network ads are no longer reported as ready.
- Improved fullscreen ad reuse behavior to avoid serving stale cached ads.
Fixed
- Fixed fullscreen
load()being accepted during an active show; it now fails immediately withonAdLoadFailed(..., LOAD_NOT_ALLOWED_WHILE_SHOWING). - Fixed stale fullscreen ads being reported as ready after the network SDK had already invalidated or expired the underlying ad object.
- Fixed Mintegral GDPR consent propagation for CMP-managed integrations.
iOS SDK 2.2.6
Added
- Privacy Consent for Unity Ads — Unity Ads adapter now supports GDPR and CCPA privacy consent forwarding
isAdReadySupport — Fullscreen ad adapters now supportisAdReadyfor reliably querying ad availability before calling show
Fixed
- Banner Visibility Accuracy — Fixed an issue where setting
banner.hidden = YESdid not pause ad refresh. Hidden banners could continue loading ads without being impression-eligible, potentially impacting CPMs. - Improved Dependency Compatibility — Widened third-party SDK version constraints (VungleAds, FBAudienceNetwork, InMobiSDK) to prevent CocoaPods dependency conflicts when integrating alongside other mediation SDKs
- Fullscreen Ad Reliability — Fixed an issue where ad lifecycle callbacks could be silently lost in rare scenarios
- iOS 16 Crash Fix — Fixed a crash on iOS 16 devices related to session tracking
Unity SDK 2.2.4
What’s New
- Added
SetHasUserConsent(bool?)andSetDoNotSell(bool?)for manual privacy overrides before initialization - Added automatic
NSUserTrackingUsageDescriptioninjection during the iOS post-process step when the app has not defined one yet
Fixes
- Fixed Android banner view initialization so newly created banner views start hidden until you show them
- Fixed iOS interstitial and rewarded show-failure callbacks so
OnAdShowFailednow includes both the failedCloudXAdand the correspondingCloudXError, matching the Unity callback contract - Updated the Unity demo app to initialize banner and MREC views once and retry fullscreen ads after both load failures and show failures
SDK Updates
- Updated Android SDK from 2.2.3 to 2.2.4 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.3 to 2.2.4 — see iOS SDK changelog for details
Android SDK 2.2.4
Added
- Server-Driven Location Sharing - Added server-controlled location sharing with publisher opt-out support and reduced coordinate precision.
- Added server-controlled remote log collection to help diagnose publisher integration issues.
- Added content-language targeting support in bid requests.
- Added more granular no-fill reasons in SDK error messages.
Changed
- Improved SDK diagnostic and crash reporting reliability for ad lifecycle events.
Fixed
- Fixed release-build rules so CloudX adapters are preserved correctly in minified apps.
- Fixed Mintegral adapter crash on Android API 23.
iOS SDK 2.2.4
Changed
- Server-Driven Location Controls — Location coordinate sharing in bid requests is now controlled via the CloudX dashboard (account-scoped). No SDK code changes required for publishers.
- Improved Bid Request Data — Content language is now included in bid requests for improved ad targeting
React Native SDK 2.2.3
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
appcompatandwebkittransitive 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:
Platform Support
- iOS: CloudXCore ~> 2.2.3
- Android: io.cloudx:sdk:2.2.3
Unity SDK 2.2.3
SDK Updates
- Updated Android SDK from 2.2.2 to 2.2.3 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.2 to 2.2.3 — see iOS SDK changelog for details
- Added Unity Ads adapter support for Android and iOS
Android SDK 2.2.3
Added
- Added server-controlled diagnostic log collection for integration support.
Changed
- Renamed the Unity adapter artifact to
adapter-unityadsand aligned Unity Ads naming across SDK setup and documentation.
Fixed
- Fixed Unity Ads network name casing to match server bidder configuration.
iOS SDK 2.2.3
Added
- Unity Ads Adapter — Unity Ads adapter now available for banner, interstitial, and rewarded ads
Fixed
- Unity Ads Initialization — Fixed an issue where the Unity Ads adapter could fail to initialize correctly in some configurations
Flutter SDK 2.2.3
First public release on pub.dev. The Dart package major.minor.patch matches the CloudX native SDKs it ships against (iOS CloudXCore, Android io.cloudx:sdk).
Requirements
- Dart SDK:
>=2.17.1 <4.0.0(see the packagepubspecon pub.dev) - Flutter:
>=3.0.0 - iOS: 13.0+
- Android: minSdk 23 (API 23)
The Dart floor is set low on purpose so apps on older stable Flutter lines can adopt cloudx_flutter without a full toolchain jump.
Included in this release
- Banner, MREC, interstitial, and rewarded ads; programmatic overlay APIs and inline
CloudXAdView - Listener callbacks, targeting key/values, impression-level revenue (
onAdRevenuePaid), and related lifecycle events - Privacy helpers
CloudX.setHasUserConsentandCloudX.setDoNotSell(nullablebool?clears overrides and defers to CMP where applicable) - Native pins: CloudXCore 2.2.3 (iOS), io.cloudx:sdk 2.2.3 (Android)
Host app: network adapters
The published plugin is core-only. Declare only the ad-network adapters you need in CocoaPods and Gradle, all at 2.2.3 (Meta, Vungle, InMobi, Mintegral, Unity Ads, renderer, etc.). For Unity Ads, add CloudXUnityAdsAdapter and io.cloudx:adapter-unityads. See the Flutter integration guide for copy-paste snippets.
Android: Mintegral
If you depend on io.cloudx:adapter-mintegral, you must add Mintegral’s Maven repository to Gradle — artifacts are not on Maven Central. See Android integration — Mintegral Maven repository.
Android SDK 2.2.2
Added
- Improved SDK initialization diagnostics by reporting adapter metadata.
Fixed
- Fixed InMobi bid token retrieval by ensuring token collection runs on the main thread.
Unity SDK 2.2.2
SDK Updates
- Updated Android SDK from 2.2.1 to 2.2.2 — see Android SDK changelog for details
- Updated iOS SDK from 2.0.0 to 2.2.2 — see iOS SDK changelog for details
- Lowered iOS minimum deployment target from 15.0 to 13.0
- Added Mintegral adapter support (Android + iOS)
iOS SDK 2.2.2
Added
- Manual Privacy API — New
setHasUserConsent:andsetDoNotSell:methods for publisher-controlled privacy consent - Mintegral Adapter — Mintegral adapter now available as a standard release
Fixed
- Improved Error Visibility — Increased error visibility for no-bid scenarios, making it easier to diagnose fill rate issues
- Fullscreen Ad Loading — Fixed an issue where loading a fullscreen ad while another was showing could silently fail
- Fullscreen Failure Callbacks — Fixed missing ad unit ID in fullscreen ad failure callbacks
- Renderer Impression Tracking — Fixed viewability tracking accuracy in CloudX Renderer
Changed
- Mintegral SDK — Upgraded from 8.0.7 to 8.0.8
Android SDK 2.2.1
Changed
- Hardened the Mintegral adapter against null values and ad load exceptions across supported ad formats.
- Bumped Mintegral SDK from
17.0.61to17.0.91.
Fixed
- Fixed adapter bid extras collection so an exception from one adapter no longer prevents extras from subsequent adapters being included.
Unity SDK 2.2.1
SDK Updates
- Updated Android SDK from 2.2.0 to 2.2.1 — see Android SDK changelog for details
- Added Mintegral adapter and Maven repository for Android
Android SDK 2.2.0
Added
- Impression-Level Revenue Data - Added impression-level revenue tracking with CloudX auction correlation via AppLovin integration.
- Ad Click Tracking - Added click notification support when users tap ads.
- Manual Privacy API - Added
CloudX.setHasUserConsent()andCloudX.setDoNotSell()with adapter privacy forwarding. - Kotlin Suspend Initialization - Added a suspend
CloudX.initialize(context, config)overload for Kotlin callers. - Device-Level Reporting - Added Android ID based device-level reporting for DAU/MAU analytics when available.
- Adapter Error Diagnostics - Added adapter error reporting across banner, interstitial, and rewarded ads.
- Network SDK Crash Reporting - Added crash reporting for crashes originating from supported ad network SDKs.
- Creative Type Support - Added creative type support in the CloudX renderer.
Changed
- Moved the CloudX renderer into the core SDK, so publishers no longer need a separate CloudX renderer adapter module.
- Removed
appcompatandwebkittransitive dependencies from the SDK to reduce dependency surface area and APK size. - Improved reporting delivery reliability by retaining events for retry on transient send failures.
- Bumped Vungle SDK from
7.6.1to7.7.1. - Bumped InMobi SDK from
11.1.0to11.1.1, including an upstreamBroadcastReceiverleak fix.
Fixed
- Fixed location data handling for geo-based targeting and reporting.
- Fixed incorrect
INVALID_APP_KEYerrors for non-config HTTP responses. - Improved retry classification for transient network and server errors.
Unity SDK 2.2.0
SDK Updates
- Updated Android SDK from 2.0.1 to 2.2.0 — see Android SDK changelog for details
React Native SDK 2.0.0
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:
CloudXInterstitialAdandCloudXRewardedAd - 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/onRewardedAdHiddencallbacks firing twice on close - Fixed double revenue callback for rewarded ads
- Fixed thread-safety crash in bid token dictionary construction
showInterstitial/showRewardednow emit display failure events whentopViewControlleris nil (previously silent return)didFailToLoadAd:now broadcasts to all fullscreen listeners whenadUnitIdis nil (previously silent)rewardAmountsent asNSNumberinstead ofNSString(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
Android SDK 2.0.1
Changed
- Improved Unity 2022.3 compatibility by removing database runtime dependencies from SDK event persistence.
- Downgraded Meta Audience Network SDK from
6.21.0to6.20.0to avoid Unity 2022.3 build incompatibilities.
Fixed
- Fixed a concurrency issue that could occur during impression tracking.
- Fixed Meta rewarded ad handling for apps using
singleTasklaunch mode.
Unity SDK 2.0.1
This patch release adds full compatibility with Unity Engine 2022.3.
Compatibility
- Added support for Unity Engine 2022.3 LTS
SDK Updates
- Updated Android SDK from 2.0.0 to 2.0.1 — see Android SDK changelog for details
React Native SDK 2.0.0-beta.1
Added
- Initial full SDK integration with CloudX Core SDK
- Banner ads via
CloudXBannerAdmodule - MREC ads (300x250) via
CloudXMRECAdmodule - Interstitial ads via
CloudXInterstitialAdmodule - Rewarded ads via
CloudXRewardedAdmodule - 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
Unity SDK 2.0.0
Breaking Changes
- Banner and MREC ads no longer auto-load after creation. You must now call
LoadBanner()orLoadMrec()explicitly afterCreateBanner()orCreateMrec() CloudXAdproperty renames:PlacementNameis nowAdUnitIdBidderNameis nowNetworkName
What’s New
- Added placement and custom data support for all ad formats:
SetBannerPlacement(adUnitId, placement)andSetBannerCustomData(adUnitId, customData)SetMRecPlacement(adUnitId, placement)andSetMRecCustomData(adUnitId, customData)ShowInterstitial(adUnitId, placement?, customData?)now accepts optional placement and customData parametersShowRewarded(adUnitId, placement?, customData?)now accepts optional placement and customData parameters
- New
CloudXAdproperties:AdFormat,Placement,NetworkPlacement
SDK Updates
- Updated Android SDK from 0.12.1 to 2.0.0
- Updated Android adapters from 0.12.1 to 2.0.0
- Updated iOS CloudXCore from 1.3.0 to 2.0.0
- Updated iOS CloudXRenderer from 1.3.0 to 2.0.0
- Updated iOS adapters from 1.3.0 to 2.0.0
Android SDK 2.0.0
This release replaces placement names with Ad Unit IDs from the CloudX dashboard. Update your createBanner(), createMREC(), createInterstitial(), and createRewarded() calls to use the ad unit ID instead of a placement name.
Added
- Rewarded Ads - Added rewarded ads with
CloudX.createRewarded(),CloudXRewardedAd,CloudXRewardedListener, andCloudXReward. - InMobi Adapter - Added InMobi adapter support for banner, MREC, interstitial, and rewarded ads.
- Vungle Rewarded Ads - Added rewarded ad support to the Vungle adapter.
- Added
CloudX.isInitialized()to check SDK initialization state. - Added
CloudX.getVersion()to get the SDK version string. - Added
setPlacement()andsetCustomData()onCloudXAdViewfor tracking. - Added
show(activity, placement, customData)overloads on fullscreen ads for tracking. - Added
CloudXSdkConfigurationin theonInitialized()callback. - Added
CloudXAd.networkPlacementfor network-specific placement IDs. - Added new error codes:
NETWORK_NO_CONNECTION,AD_ALREADY_SHOWING,DONT_KEEP_ACTIVITIES_ENABLED,AD_NOT_READY, andINVALID_APP_KEY.
Breaking Changes
- Bumped
minSdkfrom 21 to 23. - Replaced
CloudXInitializationParamswithCloudXInitializationConfiguration. - Renamed
placementNameparameters toadUnitIdincreateBanner(),createMREC(),createInterstitial(), andcreateRewarded(). - Renamed
CloudXAd.placementIdtoadUnitId. - Removed
CloudXAd.placementName. - Renamed
CloudXAd.bidderNametonetworkName. - Renamed
CloudXErrorCode.INVALID_PLACEMENTtoINVALID_AD_UNIT. - Changed
onAdLoadFailed(placementName, cloudXError)toonAdLoadFailed(adUnitId, cloudXError). - Changed
onAdDisplayFailed(cloudXError)toonAdDisplayFailed(cloudXAd, cloudXError). - Changed
onInitialized()toonInitialized(configuration: CloudXSdkConfiguration). - Removed the
testModeinitialization parameter; test mode is now server-controlled. - Changed
show()toshow(activity)for interstitial and rewarded ads.
Changed
- Updated Meta Audience Network SDK from
6.17.0to6.21.0.
Fixed
- Fixed ad reload behavior in
onAdHiddenandonAdDisplayFailedcallbacks. - Ensured all
load()andshow()callbacks are delivered on the UI thread.
iOS SDK 2.0.0
This release replaces placement names with Ad Unit IDs from the CloudX dashboard. Update your createBannerWithAdUnitId:, createMRECWithAdUnitId:, createInterstitialWithAdUnitId:, and createRewardedWithAdUnitId: calls to use the ad unit ID instead of a placement name.
Added
- Rewarded ads with
createRewardedWithAdUnitId:delegate:andCLXRewardedDelegate - InMobi adapter (SDK 11.1) with support for banner, MREC, interstitial, and rewarded ads
CLXAd.networkPlacementproperty for network-specific placement ID
Breaking Changes
- Renamed
placementparameter toadUnitIdincreateBannerWithAdUnitId:,createMRECWithAdUnitId:,createInterstitialWithAdUnitId:,createRewardedWithAdUnitId: - Renamed
CLXAd.placementtoadUnitId - Renamed
CLXAd.bidderNametonetworkName - Renamed
CLXErrorCodeInvalidPlacementtoCLXErrorCodeInvalidAdUnit - Changed
bannerAdView:didFailWithError:to include ad unit ID in error - Removed
testModeparameter frominitializeSDKWithAppKey:completion:- test mode is now server-controlled via dashboard
Changed
- Meta Audience Network SDK updated from 6.17.0 to 6.21.0
- Vungle SDK updated from 7.4.2 to 7.6.0
Fixed
- Fixed IFA (Identifier for Advertisers) collection
- Fixed country/geo-targeting data collection
Unity SDK 0.12.1
What’s New
- Added support for iOS platform
Performance Improvements
- Android: BidToken is now generated on a background thread for improved performance
SDK Updates
- Updated Android SDK from 0.12.0 to 0.12.1
Improvements
- Renamed internal
UnityMainThreadDispatcherclass to avoid namespace collisions with third-party packages
Android SDK 0.12.1
Fixed
- Fixed an ANR risk in the Meta adapter caused by bid token collection on the main thread.
Android SDK 0.11.1
Fixed
- Fixed an ANR risk in the Meta adapter caused by bid token collection on the main thread.
Unity SDK 0.12.0
Initial release of CloudX Unity SDK
Android SDK 0.12.0
Breaking Changes
- Removed
CloudXError.effectiveMessage; usemessagedirectly instead. - Removed
setLoggingEnabled(); usesetMinLogLevel(CloudXLogLevel.NONE)to disable logging. - Removed
CloudXPrivacy; privacy is now handled automatically through standard privacy signals.
Changed
- Enhanced GDPR support with GPP Section 2 parsing and vendor consent checking.
- Simplified TCF purpose checks to only require purposes 1 and 2.
- Added CCPA support via GPP with legacy US Privacy fallback.
- Removed COPPA handling.
- Added
CloudXLogLevel.NONEfor disabling logs.
Fixed
- Fixed geo API failure handling during initialization.
iOS SDK 1.3.0
Added
- Banner Refresh Retry - Banners now automatically retry loading after failure when hidden
Fixed
- App Extension Compatibility - SDK now works correctly in App Extensions (no UIApplication calls)
- Rewarded Delegate Callbacks - Fixed callback ordering bug
- Symbol Collisions - All category methods now prefixed with
clx_to prevent conflicts
Changed
- CloudXCore now distributed as Dynamic Framework - Enables crash symbolication for SDK issues
Android SDK 0.11.0
Changed
- Migrated the SDK HTTP client from Ktor
3.0.3to OkHttp4.12.0. - Added destroyed-state guards across ad formats.
iOS SDK 1.2.1
Added
- Visual Debugger Button - New debugging tool for development and QA
- High-ROI Key-Value Targeting Examples - Enhanced demo apps with targeting signal examples
Fixed
- Corrected vendored_frameworks paths in podspecs
Android SDK 0.10.0
Added
- Vungle Adapter - Added Vungle adapter support for banner and interstitial ads.
Changed
- Simplified the log tag to
CloudXfor easier logcat filtering. - Added public API entry logging for easier integration debugging.
- SDK initialization now fails early with a clear error when no adapters are found.
Fixed
- Fixed banner refresh stopping after load failure.
Android SDK 0.9.0
Added
- Added ad revenue tracking via
CloudXAdRevenueListener.onAdRevenuePaid().
Changed
- Upgraded Ktor from
2.3.8to3.0.3for improved compatibility with apps using Ktor 3.x.
Fixed
- Fixed memory leaks in ad lifecycle management.
- Improved SDK stability.
iOS SDK 1.2.0
🚀 First Official Release
Initial release of the CloudX iOS SDK with support for banner, MREC, and interstitial ads.
Android SDK 0.6.0
Added
- Added
testModesupport toCloudXInitializationParamsfor requesting test ads during development.
Android SDK 0.4.0
Added
- Initial alpha release of CloudX Android SDK.
- Added banner and MREC ad support.
- Added interstitial ad support.
- Added real-time bidding with CloudX mediation.
- Added CloudX and Meta Audience Network adapter support.
- Added privacy compliance support for GDPR, CCPA, US Privacy, TCF, and GPP signals.
- Added session depth tracking for bid optimization.
- Added ad lifecycle callbacks and error handling.
- Added debug logging with configurable log levels.