Changelog
iOS SDK release history
BIGO Ads adapter 5.3.0.0 - 2026-09-17
Added
- First public BIGO Ads adapter release — Supports Banner, MREC, Interstitial, and Rewarded with BigoADS 5.3.0. Requires
CloudXCore >= 3.9.0. Install:pod 'CloudXBigoAdapter', '~> 5.3.0.0'.
AppLovin Auction adapter 13.6.3.0 - 2026-09-15
Added
- First public AppLovin Auction adapter release — Supports App Open, Interstitial, Rewarded, and Native with AppLovinSDK 13.6.3. Requires
CloudXCore >= 3.9.0. Install:pod 'CloudXAppLovinAdapter', '~> 13.6.3.0'.
Unity Ads adapter 4.20.1.0 - 2026-09-15
Changed
- Certified with UnityAds 4.20.1 —
CloudXCore >= 3.5.0and iOS 13.0 requirements are unchanged. Install:pod 'CloudXUnityAdsAdapter', '~> 4.20.1.0'.
Unity Ads adapter 4.20.0.0 - 2026-09-15
Changed
- Certified with UnityAds 4.20.0 —
CloudXCore >= 3.5.0and iOS 13.0 requirements are unchanged. Install:pod 'CloudXUnityAdsAdapter', '~> 4.20.0.0'.
Google Waterfall adapter 13.9.0.0 - 2026-09-14
Changed
- Certified with Google Mobile Ads SDK 13.9.0 —
CloudXCore >= 3.7.0and iOS 13.0 requirements are unchanged. Install:pod 'CloudXGoogleWaterfallAdapter', '~> 13.9.0.0'.
Google Waterfall adapter 13.8.0.0 - 2026-09-14
Changed
- Certified with Google Mobile Ads SDK 13.8.0 —
CloudXCore >= 3.7.0and iOS 13.0 requirements are unchanged. Install:pod 'CloudXGoogleWaterfallAdapter', '~> 13.8.0.0'.
Google Waterfall adapter 13.7.0.0 - 2026-09-14
Changed
- Certified with Google Mobile Ads SDK 13.7.0 —
CloudXCore >= 3.7.0and iOS 13.0 requirements are unchanged. Install:pod 'CloudXGoogleWaterfallAdapter', '~> 13.7.0.0'.
Fixed
- Manually integrated adapters now enforce the existing CloudXCore 3.7.0 minimum.
[3.9.1] - 2026-09-14
Install: pod 'CloudXCore', '~> 3.9'
Changed
- Global ad-revenue delegates and MMP connectors no longer receive duplicate mediation-stack revenue when the server marks a bidder as SDK-reported. Per-ad revenue delegates and CloudX impression events are unchanged.
Fixed
- Rewarded and other fullscreen callbacks now use the placement and custom data from the accepted show. Consecutive rewarded ads no longer reuse missing or stale attribution.
Digital Turbine adapter 8.4.10.0 - 2026-09-14
Changed
- Certified with Fyber Marketplace SDK 8.4.10 — Requires iOS 15.0+ and Xcode 26.1+;
CloudXCore >= 3.5.0is unchanged. Includes improved click handling. Install:pod 'CloudXDigitalTurbineAdapter', '~> 8.4.10.0'.
Moloco adapter 4.10.0.0 - 2026-09-14
Changed
- Certified with MolocoSDKiOS 4.10.0 — Updates the bundled MolocoSDKiOS from 4.9.1 to 4.10.0. No integration change is required;
CloudXCore >= 3.5.0and iOS 13.0 are unchanged. Install:pod 'CloudXMolocoAdapter', '~> 4.10.0.0'.
Moloco adapter 4.9.1.0 - 2026-09-14
Changed
- Certified with MolocoSDKiOS 4.9.1 — Updates the bundled MolocoSDKiOS from 4.9.0 to 4.9.1. No integration change is required;
CloudXCore >= 3.5.0and iOS 13.0 are unchanged. Install:pod 'CloudXMolocoAdapter', '~> 4.9.1.0'.
Moloco adapter 4.9.0.0 - 2026-09-14
Changed
- Certified with MolocoSDKiOS 4.9.0 — Updates the bundled MolocoSDKiOS from 4.8.1 to 4.9.0. No integration change is required;
CloudXCore >= 3.5.0and iOS 13.0 are unchanged. Install:pod 'CloudXMolocoAdapter', '~> 4.9.0.0'.
Moloco adapter 4.8.1.0 - 2026-09-14
Changed
- Certified with MolocoSDKiOS 4.8.1 — Updates the bundled MolocoSDKiOS from 4.8.0 to 4.8.1. No integration change is required;
CloudXCore >= 3.5.0and iOS 13.0 are unchanged. Install:pod 'CloudXMolocoAdapter', '~> 4.8.1.0'.
Pangle adapter 8.3.0.6.0 - 2026-09-14
Changed
- Certified with Ads-Global 8.3.0.6 — Updates the bundled Ads-Global from 8.2.1.0 to 8.3.0.6. No integration change is required;
CloudXCore >= 3.5.0and iOS 13.0 are unchanged. Install:pod 'CloudXPangleAdapter', '~> 8.3.0.6.0'.
Pangle adapter 8.2.1.0.0 - 2026-09-14
Changed
- Certified with Ads-Global 8.2.1.0 — Updates the bundled Ads-Global from 8.2.0.9 to 8.2.1.0. No integration change is required;
CloudXCore >= 3.5.0and iOS 13.0 are unchanged. Install:pod 'CloudXPangleAdapter', '~> 8.2.1.0.0'.
Pangle adapter 8.2.0.9.0 - 2026-09-14
Changed
- Certified with Ads-Global 8.2.0.9 — Updates the bundled Ads-Global from 8.2.0.8 to 8.2.0.9. No integration change is required;
CloudXCore >= 3.5.0and iOS 13.0 are unchanged. Install:pod 'CloudXPangleAdapter', '~> 8.2.0.9.0'.
Pangle adapter 8.2.0.8.0 - 2026-09-14
Changed
- Certified with Ads-Global 8.2.0.8 — Updates the bundled Ads-Global from 8.2.0.7 to 8.2.0.8. No integration change is required;
CloudXCore >= 3.5.0and iOS 13.0 are unchanged. Install:pod 'CloudXPangleAdapter', '~> 8.2.0.8.0'.
[3.9.0] - 2026-09-10
Install: pod 'CloudXCore', '~> 3.9'
Breaking Changes
- A third simultaneous
load()on one ad unit is now rejected — Two concurrent publisher-triggered loads per ad unit is the new default ceiling. A third fails throughdidFailToLoadAd:. Contact CloudX to raise the limit for your account. load()during a fullscreen ad no longer fails — A load requested while an interstitial, rewarded or app-open ad is on screen now waits and starts when that ad is dismissed. Remove any retry logic that handled the old immediate failure.- Manual banner
load()is ignored while auto-refresh is running — With auto-refresh on and an ad already showing,load()runs no auction and fires no delegate callback; a warning is logged instead. CallstopAutoRefreshfirst to drive refresh yourself.
Added
- Video creatives now render inline in banner and MREC slots — Inline video plays in the ad slot through a dedicated renderer. It starts muted and plays only while the slot is genuinely visible. Auto-refresh pauses until playback finishes.
- Optional ad caching and warm preload — A won but unshown ad can survive its ad object being destroyed and serve to the next object for the same ad unit, and an impression can start fetching the next ad. Both are off unless CloudX enables them for your account.
shouldPrepareViewForInteractionOnMainThreadonCLXNativeAd— Override it on a custom native ad to declare whether view preparation must run on the main thread. It defaults toYES, which matches existing behaviour.
Changed
- Faster first bid on a cold start — Bid tokens are now collected as each adapter finishes initializing, rather than when the first auction runs, so the first ad request returns sooner. Measured 230–272 ms faster time-to-first-bid.
- Auto-refresh disabled by CloudX stays disabled — When auto-refresh is turned off for an ad unit on the CloudX side,
startAutoRefresh()no longer re-enables it.load()still works, and pausing or resuming withstopAutoRefresh()is unaffected. - Banners refresh only while actually visible — A banner that is hidden, fully transparent, zero-sized or outside the visible window stops requesting new ads until it is on screen again. Expect fewer load requests and a higher impression rate per load.
- The generated native template view is sized from the creative — A native template view now derives its height from the creative’s aspect ratio and the width you give it, not a fixed 320x250. Read the height from
-sizeThatFits:; a hardcoded height clips the ad. - A fixed-size native template is still available —
+[CLXNativeAdView viewFromAd:withTemplate:]withmedium_templateis unchanged and still returns exactly 320x250.
Fixed
- Banner auto-refresh resumes after a brief interruption — Control Center, an incoming call or a Face ID prompt could stop a banner’s auto-refresh for the rest of the session. Refresh now resumes when your app becomes active again.
- Fullscreen ads present correctly when a modal is already open —
showFromViewController:now resolves the topmost view controller instead of failing. Ads are never presented over system UI such as alerts or share sheets, and the rejection reason is reported. - Test-mode sessions no longer report revenue — A test session fills at placeholder prices, so those figures are no longer sent to your revenue callback or forwarded to your attribution provider. Live sessions are unaffected.
- Your requested native template now reaches the auction — The native template you request is sent in the bid request, so bidders can return a creative that matches it. Previously the request was dropped before it left the SDK.
Unity Ads adapter 4.17.0.0 - 2026-09-11
Added
- Compatibility-line release for Unity Ads 4.17.0 — The 4.19.0.0 adapter rebuilt against Unity Ads 4.17.0, same feature set, no source change. Install:
pod 'CloudXUnityAdsAdapter', '4.17.0.0'; requiresCloudXCore >= 3.5.0.
Vungle adapter 7.7.1.0 - 2026-09-11
Added
- Compatibility-line release for Vungle Ads SDK 7.7.1 — The 7.7.6.0 adapter rebuilt against Vungle Ads SDK 7.7.1, same feature set, no source change. Install:
pod 'CloudXVungleAdapter', '7.7.1.0'; requiresCloudXCore >= 3.5.0.
Vungle adapter 7.7.6.0 - 2026-09-08
Changed
- Certified with VungleAds 7.7.6 — Updates the bundled VungleAds SDK from 7.7.4 to 7.7.6. No integration change is required;
CloudXCore >= 3.5.0and iOS 13.0 are unchanged. Install:pod 'CloudXVungleAdapter', '~> 7.7.6.0'.
Mintegral adapter 8.1.6.0 - 2026-09-08
Changed
- Certified with MintegralAdSDK 8.1.6 — Updates the bundled MintegralAdSDK from 8.1.5 to 8.1.6. No integration change is required;
CloudXCore >= 3.5.0and iOS 13.0 are unchanged. Install:pod 'CloudXMintegralAdapter', '~> 8.1.6.0'.
Pangle adapter 8.1.0.6.0 - 2026-09-07
Added
- Compatibility-line release for Pangle Ads-Global 8.1.0.6 — The 8.2.0.7.0 adapter rebuilt against Ads-Global 8.1.0.6, same feature set, no source change. Install:
pod 'CloudXPangleAdapter', '8.1.0.6.0'; requiresCloudXCore >= 3.5.0.
Pangle adapter 8.1.0.7.0 - 2026-09-07
Added
- Compatibility-line release for Pangle Ads-Global 8.1.0.7 — The 8.2.0.7.0 adapter rebuilt against Ads-Global 8.1.0.7, same feature set, no source change. Install:
pod 'CloudXPangleAdapter', '8.1.0.7.0'; requiresCloudXCore >= 3.5.0.
Moloco adapter 4.7.0.0 - 2026-09-05
Added
- Compatibility-line release for MolocoSDKiOS 4.7.0 — The 4.8.0.0 adapter rebuilt against MolocoSDKiOS 4.7.0, same feature set, no source change. Install:
pod 'CloudXMolocoAdapter', '4.7.0.0'; requiresCloudXCore >= 3.5.0.
Google Waterfall adapter 12.12.0.0 - 2026-09-02
Added
- Compatibility-line release for Google Mobile Ads SDK 12.12.0 (12.12.0) — The 12.14.0.3 adapter rebuilt against Google Mobile Ads SDK 12.12.0, same feature set, no source change. Install:
pod 'CloudXGoogleWaterfallAdapter', '12.12.0.0'; requiresCloudXCore >= 3.7.0.
TaurusX adapter 1.18.2.0 - 2026-08-28
Changed
- Certified with TaurusX SDK 1.18.2 — Updates the bundled TaurusX SDK from 1.18.1. No integration change is required;
CloudXCore >= 3.5.0and iOS 13.0 are unchanged. Install:pod 'CloudXTaurusXAdapter', '~> 1.18.2.0'.
Mintegral adapter 8.1.3.0 - 2026-08-28
Added
- Backport of the 8.1.5.0 adapter for MintegralAdSDK 8.1.3 — Compatibility-line release with the same Banner, MREC, Interstitial, Rewarded, Native and App Open support. Install:
pod 'CloudXMintegralAdapter', '8.1.3.0'; requiresCloudXCore >= 3.5.0.
[3.8.0] - 2026-08-24
Install: pod 'CloudXCore', '~> 3.8'
Added
- Video in banner and MREC ads now starts muted — Video creatives in banner and MREC placements begin playback muted; a creative can only unmute in response to a user tap on its own controls.
- Google Ad Manager Prebid integration — Now available as
pod 'CloudXGAMPrebid', '~> 1.0', letting CloudX demand compete as prebid line items in your Google Ad Manager auction for banner, MREC, interstitial, rewarded, and native. Requires CloudXCore 3.8.0.
Fixed
- Revenue and click callbacks always delivered — Ads with incomplete bid metadata could serve and earn while the revenue and click callbacks were silently skipped. These callbacks now always fire, so your ILRD matches CloudX reporting.
- Calling
load()on a visible banner no longer leaks the replaced ad — Publisher-driven banner/MREC refresh viaload()leaked the previous ad’s web view and media resources for the rest of the session. The replaced ad now tears down correctly. - Video impressions tracked when viewability measurement fails to start — Some VAST video ads rendered and played but were never counted as impressions. They now bill and fire their tracking beacons correctly.
- Long tracking URLs no longer dropped — VAST tracking beacons with URLs up to 10KB now fire; previously URLs over 2KB were silently dropped.
- Faster handling of concurrent network responses — Network completions are no longer processed one at a time, so one slow response can no longer delay other finished requests during init and bidding.
MobileFuse adapter 1.11.0.1 - 2026-08-24
Fixed
- Reading the MobileFuse SDK version no longer blocks the calling thread — Removes a stall on the bid-token path. MobileFuseSDK 1.11.0 and
CloudXCore >= 3.5.0are unchanged. Install:pod 'CloudXMobileFuseAdapter', '~> 1.11.0.1'.
Google Waterfall adapter 12.14.0.3 - 2026-08-26
Changed
- Google adapter startup no longer delays CloudX SDK initialization (12.14.0) — Same change as 13.6.0.4, for Google Mobile Ads SDK 12.14.0. Install:
pod 'CloudXGoogleWaterfallAdapter', '12.14.0.3'; requiresCloudXCore >= 3.7.0.
Google Waterfall adapter 13.6.0.4 - 2026-08-26
Changed
- Google adapter startup no longer delays CloudX SDK initialization — The Google Mobile Ads SDK now starts in the background instead of holding up your
initializecall. A missingGADApplicationIdentifierin your Info.plist still fails initialization straight away. - An ad requested in the moment right after initialization may no-fill once — Google demand is ready as soon as its background start finishes. A request landing before then returns a fast no-fill for that one request instead of waiting, and the next request is served normally.
- Requires Google Mobile Ads SDK 13.6.0 exactly; requires
CloudXCore3.7.0 or newer. Install:pod 'CloudXGoogleWaterfallAdapter', '~> 13.6.0.4'.
Meta adapter 6.20.1.0 - 2026-08-28
Changed
- Audience Network 6.20.1 compatibility line — For apps pinned to Audience Network 6.20.1; keeps iOS 13. Native video options and AdChoices close reporting are unavailable at this version. Install:
pod 'CloudXMetaAdapter', '6.20.1.0'; requiresCloudXCore >= 3.5.0.
Vungle adapter 7.6.3.0 - 2026-08-28
Changed
- VungleAds 7.6.3 compatibility line (7.6.3) — For apps whose mediation stack pins VungleAds 7.6.3. No behavioral difference from the current line. Install:
pod 'CloudXVungleAdapter', '7.6.3.0'; requiresCloudXCore >= 3.5.0.
Unity Ads adapter 4.16.3.0 - 2026-08-28
Changed
- UnityAds 4.16.3 compatibility line — For apps pinned to UnityAds 4.16.3.
CLXUnityAdsRewardedgrants its reward on show completion, and ad expiry callbacks are unavailable. Install:pod 'CloudXUnityAdsAdapter', '4.16.3.0'; requiresCloudXCore >= 3.5.0.
Mintegral adapter 8.0.3.0 - 2026-08-28
Changed
- MintegralAdSDK 8.0.3 compatibility line (8.0.3) — For apps whose mediation stack pins Mintegral 8.0.3. No behavioral difference from the current line. Install:
pod 'CloudXMintegralAdapter', '8.0.3.0'; requiresCloudXCore >= 3.5.0.
Google Waterfall adapter 13.6.0.3 - 2026-08-21
Changed
- Fullscreen ads prefetch through Google’s ad-preloading API — Interstitial, rewarded, and app-open ads are preloaded by the Google Mobile Ads SDK, not the adapter;
CLXGoogleWaterfallFullscreenLoaderis removed. Banner, MREC, and native are unchanged, and no publisher action is needed. - Requires Google Mobile Ads SDK 13.6.0 exactly; requires
CloudXCore3.7.0 or newer. Install:pod 'CloudXGoogleWaterfallAdapter', '~> 13.6.0.3'.
InMobi adapter 11.4.1.0 - 2026-08-18
Changed
- Certified with InMobiSDK 11.4.1 — Improves audio handling for MRAID 3 creatives, so an ad no longer interrupts audio your app is already playing. Requires
CloudXCore >= 3.5.0, unchanged. Install:pod 'CloudXInMobiAdapter', '~> 11.4.1.0'.
Meta adapter 6.22.0.0 - 2026-08-12
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.
[3.7.0] - 2026-08-11
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.
Google Waterfall adapter 13.6.0.2 - 2026-08-11
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.
Google Waterfall adapter 12.14.0.2 - 2026-08-11
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.
TaurusX adapter 1.18.1.0 - 2026-08-03
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.
Pangle adapter 8.2.0.7.0 - 2026-07-30
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.
Google Waterfall adapter 12.14.0.1 - 2026-07-29
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.
[3.6.0] - 2026-07-28
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.
Google Waterfall adapter 13.6.0.1 - 2026-07-21
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.
Off-line adapter releases (-core34) - 2026-07-16
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.
MobileFuse adapter 1.11.0.0 - 2026-07-08
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.
[3.5.0] - 2026-07-07
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.
[3.4.6] - 2026-06-29
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.
[3.4.5] - 2026-06-12
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.
[3.4.4] - 2026-06-02
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.
[3.4.3] - 2026-06-01
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.
[3.4.2] - 2026-05-29
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.
[3.4.1] - 2026-05-27
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.
[3.4.0] - 2026-05-22
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.
[3.2.0] - 2026-04-22
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.
[3.1.0] - 2026-04-16
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.
[2.2.9] - 2026-04-09
Fixed
- Unity Ads Adapter — Fixed initialization, privacy consent forwarding, rewarded callbacks, and bid token error handling for improved reliability across regions.
[2.2.8] - 2026-04-03
Fixed
- Crash Fix — Fixed a crash that could occur during concurrent ad event tracking on background threads
[2.2.7] - 2026-04-01
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
[2.2.6] - 2026-03-30
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
[2.2.4] - 2026-03-26
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
[2.2.3] - 2026-03-19
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
[2.2.2] - 2026-03-16
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
[2.0.0] - 2026-02-04
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
[1.3.0] - 2025-12-14
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
[1.2.1] - 2025-12-04
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
[1.2.0] - 2025-11-26
🚀 First Official Release
Initial release of the CloudX iOS SDK with support for banner, MREC, and interstitial ads.