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', '~> 1.0.0'. RequiresAppsFlyerFramework >= 6.15.0. - Adjust ad-revenue connector — Forward CloudX impression revenue to Adjust. Install:
pod 'CloudXAdjustConnector', '~> 1.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 onCloudXCore 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 ofCloudXCore. 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 yourcreateBannerWithAdUnitId:, 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