Skip to content

Android SDK - Changelog

Release history for the MDN11 Android SDK.


v3.2.10 BOM: 2026.09.06

2026-09-29

Breaking changes

  • Vendor.IRON_SOURCE removed - the "ironsource" vendor is no longer part of the Vendor enum. Replace any Vendor.IRON_SOURCE entry in setUserConsent() with Vendor.UNITY_ADS. Vendor.UNITY_ADS is the only consent forwarded to LevelPlay; consent set under "ironsource" is ignored.

Added

  • LevelPlay adapter support for LevelPlay SDK 9.6.0

Fixed

  • Various internal fixes and improvements

Updated adapters

  • LevelPlay adapter - added 9.0.0

v3.2.8 BOM: 2026.09.05

2026-09-24

Fixed

  • Various internal fixes and improvements

v3.2.7 BOM: 2026.09.04

2026-09-22

Added

  • Google Ad Manager (GAM) mediation - new supported ad network through the existing google adapter. Supports banner, MREC, interstitial, and rewarded formats
  • AdInfo.extraParameters now populated for GAM-served ads, keyed by "google_ad_manager" (mirrors the "google_admob" shape: response id, served ad source fields, and responseExtras - mediation group/AB test names, GAM line item and creative ids)
  • GAM privacy handling modernized to match AdMob: GDPR/LGPD maps to TFUA, non-GDPR jurisdictions respect the isChildDirected tri-state via TFCD (previously hardcoded to non-child-directed), and doNotSell now sets the gad_rdp restricted-data-processing signal Google's SDK reads on every request

Fixed

  • AdInfo.adNetworkName reported the wrong value (or an empty string) for GAM-served ads in every callback - it's now sourced from the network that actually filled
  • Various fixes and improvements

Updated adapters

  • A11 DSP adapter - updated to 1.0.5
  • AppLovin MAX adapter - updated to 13.0.10
  • Google (Admob) mediation adapter - updated to 24.0.11
  • Nimbus adapter - updated to 2.0.8
  • Google Ad Manager (GAM) mediation adapter - updated to 24.0.9

v3.2.6-hotfix1 BOM: 2026.09.03.1

2026-10-06

Hotfix release branched from v3.2.6 - applies only the changes below. Does not include the changes shipped in v3.2.7 through v3.2.10 (above).

Fixed

  • Various fixes and improvements

Updated

  • Renderer - updated to 0.9.7.1
  • Google adapter - updated to 24.0.8.1

v3.2.6 BOM: 2026.09.03

2026-09-16

Breaking changes

  • AdMob key in extraParameters renamed - the AdMob entry in AdInfo.extraParameters is now keyed by "google_admob" instead of "ad_mob". Update any code reading extraParameters["ad_mob"] to use "google_admob".

Fixed

  • Various fixes and improvements

Updated

  • Google mediation adapter - updated to 24.0.10

v3.2.5 BOM: 2026.09.02

2026-09-11

Added

  • Report that an impression for an ad unit went to an ad source outside the MDN11 SDK via notifyLossToExternal(price: Double? = null) on all supported ad formats.

v3.2.4 BOM: 2026.09.01

2026-09-03

Added

  • Publishers can now observe which ad the SDK would show next: a new bestLoadedAdListener and bestLoadedAd snapshot getter on each ad type
  • AdInfo now carries adUnitId, sdkPlacementId, and extraParameters - network-specific load-response data keyed by network (e.g. "ad_mob" with the served ad source fields and the mediation group name from responseExtras)

Fixed

  • An AdMob dashboard-configured banner auto-refresh now forwards a paid event to the publisher as revenue for every refresh, instead of only the first

Updated

  • Google mediation adapter - updated to 24.0.9

v3.2.3 BOM: 2026.08.05

2026-08-28

Requirements

  • Minimum supported Android API level lowered back to 23 (reverting the 3.2.2 change)

Added

  • New init() overload for hybrid initialization: the SDK starts immediately from a publisher-provided static config while a remote config is fetched from hostUrls in the background and applied when it arrives
  • Mediation SDKs are now initialized as soon as configuration is available instead of waiting for the first ad load, shortening time-to-first-ad

Fixed

  • Fixed an issue where, in landscape orientation, banner width was limited to at most 70% of the available width
  • Various internal fixes and improvements

Updated

  • Renderer - updated to 0.9.7
  • A11 DSP adapter - updated to 1.0.4
  • AppLovin MAX adapter - updated to 13.0.9
  • Google adapter - updated to 24.0.8
  • Google mediation adapter - updated to 24.0.8
  • Nimbus adapter - updated to 2.0.7

v3.2.2 BOM: 2026.08.03

2026-08-24

Requirements

  • Minimum supported Android API level raised to 24

Fixed

  • Fixed banner ads occasionally producing duplicate adClicked callbacks
  • Fixed banner, MREC, and native ads being torn down when the ad's own overlay closed, instead of the ad itself
  • Various internal fixes and improvements

Updated

  • AppLovin MAX adapter - updated to 13.0.8
  • Google adapter - updated to 24.0.7
  • Google mediation adapter - updated to 24.0.7
  • Nimbus adapter - updated to 2.0.6

v3.2.1 BOM: 2026.08.02

2026-08-17

Fixed

  • Improved adaptive banner sizing on the AppLovin MAX, Google AdMob, Nimbus GAM, and Pangle adapters
  • Fixed a couple of rare crashes related to ad display and activity lifecycle handling
  • Various internal fixes and improvements

Updated

  • Renderer - updated to 0.9.6
  • AppLovin MAX adapter - updated to 13.0.7
  • Google adapter - updated to 24.0.6
  • LevelPlay adapter - updated to 8.0.5
  • Nimbus adapter - updated to 2.0.5
  • Pangle adapter - updated to 7.0.5

v3.2.0 BOM: 2026.08.01

2026-08-04

Fixed

  • Fixed a crash when WorkManager is not initialized in the host app
  • Various internal fixes and improvements

v3.1.1 BOM: 2026.07.01

2026-07-29

New

  • Unity 2022 support - the SDK now builds and runs on Unity 2022
  • BOM (Bill of Materials) - new optional functionality: pin a single BOM version to keep all MDN11 SDK/adapter versions aligned, instead of managing each dependency version individually

Fixed

  • Malformed or unknown ad-unit configuration entries are now safely skipped
  • Various internal fixes and improvements

Updated adapters

  • A11 DSP adapter - updated to 1.0.3
  • AppLovin MAX adapter - updated to 13.0.6
  • Google mediation adapter - updated to 24.0.5
  • Nimbus adapter - updated to 2.0.4

v3.1.0

2026-07-22

Fixed

  • Various internal fixes and improvements

v3.0.0

2026-07-17

New

  • ACR (Ad Cache Retrieval) - improves how ads are selected and served
  • Internal Telemetry - improved diagnostics and reliability
  • AppLovin and Meta (previously Facebook) now auto-disable under setChildDirected(true)
  • Improved adaptive banner sizing on AppLovin adapters
  • JDK downgrade to 11, easing integration for apps still on older toolchains

Fixed

  • Various internal fixes and improvements

Updated

  • Smaato adapter removed - the adapter has been discontinued and Vendor.SMAATO is no longer available in the privacy/consent Vendor enum
  • BannerAd.adSize - now requires the main thread; the setter is annotated @MainThread

Updated adapters

  • A11 DSP adapter - updated to 1.0.2
  • AppLovin MAX adapter - updated to 13.0.5
  • Google mediation adapter - updated to 24.0.5

v2.4.2

2026-06-20

Fixed

  • Internal bug fixes and improvements

v2.4.1

2026-06-17

New

  • A11 DSP support enabled.

Updated

  • A11 DSP adapter - updated to 1.0.1
  • Google mediation adapter - updated to 24.0.4
  • AppLovin MAX adapter - updated to 13.0.4

v2.4.0

2026-06-16

Fixed

  • Internal bug fixes and improvements

New

  • AdMob mediation support.

Updated

  • Google adapter - updated to 24.0.3
  • Renderer - updated to 0.9.3

v2.3.0

2026-06-05

Maintenance release - no API changes.


v2.2.0

2026-04-17

New

  • Custom ad parameters - all ad units (BannerAd, MrecAd, InterstitialAd, RewardedAd) now expose a customParameters: Map<String, Any>? property for passing network-specific key-value pairs to demand partners (e.g. custom targeting for Google Ad Manager, custom tokens for AppLovin)
  • Static config - new A11.init(application, appKey, staticConfig: String) overload lets publishers supply the SDK configuration as a JSON string, skipping the remote config fetch; useful for offline environments or publishers without a backend config endpoint

Updated

  • Nimbus adapter - updated to 2.0.2
  • AppLovin MAX adapter - updated to 13.0.2
  • Google adapter - updated to 24.0.2

v2.1.1

2026-03-27

Maintenance release - no API changes.


v2.1.0

2026-03-24

Breaking changes

  • init() requires a new hostUrls argument - pass a list of host URLs for the SDK to retrieve its configuration
  • setTestAds() must be called before init() - calling it afterwards has no effect
  • Ad retrieval methods renamed - adBanner → getBannerAd, adInterstitial → getInterstitialAd, adRewarded → getRewardedAd
  • Dismiss callbacks renamed - onInterstitialAdDismissed → onInterstitialAdClosed, onRewardedAdDismissed → onRewardedAdClosed
  • AdInfo simplified - revenue, revenueCurrency, network, revenueSource, revenueSourcePrecision, and bidding are replaced by adImpressionValue, adNetworkName, and sdkAdapter
  • BannerAd.view renamed to BannerAd.adView
  • BannerAd.hide() removed - control banner visibility through the activity lifecycle or by removing the view from the hierarchy

New

  • MREC ad format - available via A11.getMrecAd(adUnitId)
  • Reward earned callback - onRewardedAdRewardEarned(adInfo) fires when a reward is granted, independently of the ad close event

Fixed

  • Privacy - the child-directed (TFUA) flag is now only sent when isChildDirected is explicitly set

v2.0.0

2026-03-03

  • New: AdInfo added to all listener callbacks - carries impression-level revenue, network, and attribution data
  • New: setTestAds(enabled) - dedicated method for enabling test creatives, independent from development mode logging
  • New: MREC ad format (A11.adMrec(adUnitId))
  • New: Nimbus adapter available
  • Breaking: onInterstitialAdDismissed and onRewardedAdDismissed now receive adInfo: AdInfo instead of adProviderId: String?
  • Privacy signals are now non-nullable
  • Fixed revenue price parsing for impression data
  • SDK also distributed as a fused / fat AAR

v1.0.0

2026-02-16

  • Initial release
  • Ad formats: Banner, Interstitial, Rewarded
  • Waterfall, bidding, and hybrid mediation support
  • Privacy API: GDPR per-vendor consent, CCPA do-not-sell, COPPA child-directed
  • Publisher signals: paid user, user ID, installed apps
  • 40+ demand partners