Skip to main content

Changelog

Version 3.7.0 (May 11th, 2026)

Added

  • Added a new flat configuration API on BidMachineSdk.shared. SDK, regulation, publisher, targeting, store, and bidding settings can now be configured directly on BidMachineSdk.shared using chainable with... methods, without nested populate calls.

    BidMachineSdk.shared
    .withTestMode(true)
    .withGDPRZone(true)
    .withNonPersonalized(true)
    .withPubDomain("example.com")
    .withUserId("user_id")
  • Added withNonPersonalized(_:) regulation setting. This setting allows publishers to explicitly mark ad requests as non-personalized when applicable.

Changed

  • Updated Open Measurement integration to v1.6.3.
  • Improved internal privacy and regulation handling.

Deprecated

  • Deprecated nested configuration entry points on BidMachineInfoProtocol:

    • publisherInfo
    • targetingInfo
    • regulationInfo
    • biddingInfo
    • populate(_:)

    Use the new flat BidMachineSdk.shared.with... API instead.

Migration

Regulation

// Before
BidMachineSdk.shared.regulationInfo.populate {
$0.withCOPPA(true)
$0.withGDPRZone(true)
}

// After
BidMachineSdk.shared
.withCOPPA(true)
.withGDPRZone(true)

Targeting

// Before
BidMachineSdk.shared.targetingInfo.populate {
$0.withUserId("user_id")
}

// After
BidMachineSdk.shared.withUserId("user_id")

Notes

  • Regulation state is resolved using IAB TCF v2 data and publisher-provided regulation settings. IAB TCF v1 data is not used when resolving the SDK regulation result.
  • withNonPersonalized(_:) can be used to explicitly mark ad requests as non-personalized when applicable.
  • BidMachineSdk.partnerName is no longer part of the public API.
  • BidMachineSdk.partnerVersion is no longer part of the public API.

Version 3.6.1 (March 23rd, 2026)

Bug fixes

  • Fixed Privacy Manifest undeclared reasons warning
  • Fixed a potential crash in AdaptiveVideoPlayerBufferingObserver class

Version 3.6.0 (March 11th, 2025)

Features

  • New configurable viewability tracking system based on ViewabilityConfiguration rules, supporting MRC standard and custom viewability definitions with geometry, visibility, overlap, and lifecycle metrics.
  • Viewability measurement now works correctly in SwiftUI-based view hierarchies
  • Smoother transition animations when pressing the collapse button in MRAID expand scenarios
  • Adaptive Rendering now tracks view cycle for scrollable content

Bug fixes

  • Verified and fixed rendering behavior with iPad OS 26 multitasking
  • Fixed SDK integration issues in Unity apps
  • Fixed crash in STKNetworkReachability module

Version 3.5.1 (December 11th, 2025)

Features

  • Added BidMachineBannerSize.getMaxAdaptiveHeight(width:) API to calculate maximum expected banner height for a given width
  • Pure static stack modules dependencies
  • Updated OMSDK to version 1.6.0 with static/dynamic versions support

Version 3.5.0 (Oct 22nd, 2025)

Features

  • Adaptive banner support

    • New AdFormat API
    • Updated Placement API
  • MRAID Expand Support

  • iOS26 support

API Changes & Deprecations

New AdFormat API

Introduced AdFormat class to replace the deprecated PlacementFormat enum:

@objc(BidMachineAdFormat)
public final class AdFormat : NSObject {
// Banner formats
@objc public static var banner320x50: BidMachine.AdFormat { get }
@objc public static var banner728x90: BidMachine.AdFormat { get }
@objc public static var banner300x250: BidMachine.AdFormat { get }
@objc public static func bannerAdaptive(width: UInt32, maxHeight: UInt32) -> BidMachine.AdFormat

// Interstitial formats
@objc public static var interstitial: BidMachine.AdFormat { get }
@objc public static var interstitialStatic: BidMachine.AdFormat { get }
@objc public static var interstitialVideo: BidMachine.AdFormat { get }

// Rewarded formats
@objc public static var rewarded: BidMachine.AdFormat { get }
@objc public static var rewardedStatic: BidMachine.AdFormat { get }
@objc public static var rewardedVideo: BidMachine.AdFormat { get }

// Native formats
@objc public static var native: BidMachine.AdFormat { get }
@objc public static var nativeIcon: BidMachine.AdFormat { get }
@objc public static var nativeImage: BidMachine.AdFormat { get }
@objc public static var nativeVideo: BidMachine.AdFormat { get }
@objc public static var nativeIconAndVideo: BidMachine.AdFormat { get }
@objc public static var nativeIconAndImage: BidMachine.AdFormat { get }
@objc public static var nativeImageAndVideo: BidMachine.AdFormat { get }
}

Updated Placement API

Deprecated:

// Old API (deprecated since 3.5.0)
let placement = try? BidMachineSdk.shared.placement(from: .banner) { ... }

New:

// New API
let placement = try? BidMachineSdk.shared.placement(.banner320x50) { ... }

Migration Guide

Swift:

// Before (deprecated)
let placement = try? BidMachineSdk.shared.placement(from: .banner) {
$0.withPlacementId("placement_id")
}

// After
let placement = try? BidMachineSdk.shared.placement(.banner320x50) {
$0.withPlacementId("placement_id")
}

Objective-C:

// Before (deprecated)
BidMachinePlacement *placement = [[BidMachineSdk shared]
placementFrom:BidMachinePlacementFormatBanner
error:&error
builder:nil];

// After
BidMachinePlacement *placement = [BidMachineSdk.shared
placement:BidMachineAdFormat.banner320x50
error:&error
builder:nil];

Deprecated APIs

The following APIs are deprecated since version 3.5.0 and will be removed in future releases:

Deprecated APIReplacementNotes
PlacementFormat enumAdFormat classUse static properties of AdFormat
placement(from:builder:)placement(_:builder:)Parameter changed from from: to direct argument
NSString.bidmachine_placement_formatAdFormat static propertiesString conversion no longer supported

Version 3.4.0 (Aug 7th, 2025)

Features

  • Reverted OMSDK to 1.5.2
  • Watermarks support in Adaptive Rendering
  • Minor bug fixes and performance improvements

Version 3.3.0 (May 26th, 2025)

Features & API Changes

  • Added detection for broken creatives to improve reliability
  • Added support for Custom Product Pages via SKProductController
  • Implemented adaptive background rendering
  • Improved adaptive animation rendering
  • Fixed issue with AVPlayer not maintaining correct active state
  • New Public API:
    Introduced BidMachinePlacement
      @objc public final class BidMachinePlacement: NSObject {
    @objc public fileprivate(set) var format: PlacementFormat
    @objc public fileprivate(set) var placementId: String?
    @objc public fileprivate(set) var customParameters = [String: Any]()
    }
  • New Public API:
    Introduced BidMachineAuctionRequest to replace the deprecated BidMachineRequestInfoProtocol
      @objc public final class BidMachineAuctionRequest: NSObject {
    public fileprivate(set) var payload: String?
    public fileprivate(set) var priceFloors = [BidMachinePriceFloorProtocol]()
    public fileprivate(set) var unitsConfigurations = [BidMachineBiddingUnitConfiguration]()
    }
  • New Builder Functions:
    • Create placement:
      func placement(from format: PlacementFormat, builder: BidMachinePlacementBuilderBlock? = nil) throws -> BidMachinePlacement
    • Create auction request:
      func auctionRequest(placement: BidMachinePlacement, builder: BidMachineAuctionRequestBuilderBlock? = nil) -> BidMachineAuctionRequest
    • Generate token:
      func token(placement: BidMachinePlacement, completion: @escaping (String?) -> Void)
  • Placement Parameters Support:
    placementId and customParameters are now passed in token and RTB requests.

Refactoring

  • PlacementFormat moved to new public class BidMachinePlacementConfiguration, all related APIs updated.

  • BidMachine.Placement has been replaced with adType: PlacementType.

Deprecations

  • Placement struct is deprecated:

    @available(*, deprecated, message: "Will be removed")
    public struct Placement: Equatable
  • BidMachineRequestInfoProtocol is deprecated in favor of BidMachineAuctionRequest.

  • Deprecated token API:

    @available(*, deprecated, message: "Use token(placement:completion:) instead.")
    func token(with format: PlacementFormat, completion: @escaping (String?) -> Void)
  • Deprecated request configuration API:

    @available(*, deprecated, message: "Use auctionRequest(placement:builder:) instead.")
    func requestConfiguration(_ format: PlacementFormat) throws -> BidMachineRequestConfigurationProtocol

Version 3.2.1 (Mar 21st, 2025)

Features:

  • Added COPPA trafic idfv/idfa restrictions
  • OMSDK version 1.5.4
  • Added CRID Info to Crash Report
  • Added IMPRESSION_OPPORTUNITY event tracking

Version 3.2.0 (Feb 12th, 2025)

Features:

  • Added support for ERID requirements
  • Added Deep Links support
  • Added User-Agent to trackers
  • Improved Referrer HTTP header field for MRAID ad

Bug fixes:

  • Fixed iOS 14.6-14.9 Swift Concurrency crashes
  • Fixed SKAN 4.0 Ad impression init fix for Mac OS
  • STKVastController fixed: crash + store opening with postbanner
  • Changed analytics DB file path

Version 3.1.2 (December 17, 2024)

  • Fix potential crash in ProtoBuilder.Context.Session.with(environment:contextualDatas:)
  • Fix Main Thread Checker warning on -[UIApplication canOpenURL:]

Version 3.1.1 (November 19, 2024)

  • Fix bug introduced in 3.1.0 that prevented impressions firing for view ads in some cases
  • Extend MRAID feature support
  • Internal stability improvements

Version 3.1.0 (October 31, 2024)

warning

Updated the minimum supported Xcode version to 15.3

  • Internal stability improvements
  • Certified with OM SDK 1.5.2
  • Adopt AdAttributionKit
  • Fix OOM crash in +[STKVASTUtilities blurredImageWithImage:]
  • Improve viewability for banner ads

Version 3.0.1 (September 12, 2024)

  • Add first_launch_time
  • Fix MRAID placeholder behavior
  • Fix potential crash on iOS 12

Version 3.0.0 (July 22, 2024)

warning

Updated the minimum supported Xcode version to 15.2

  • Drop support for iOS versions below 13 (SDK code will not execute on earlier versions)
  • Remove deprecated Rich Media Ad format
  • Update OMSDK to 1.5.0

Version 2.7.0 (May 7, 2024)

  • Fix banner disappearing when moving through the view hierarchy
  • General bug fixes and improvements
  • Add support for dynamic framework integration

Version 2.6.1 (April 19, 2024)

  • Fix UI thread lock issue
  • Fix Thread Sanitizer warnings

Version 2.6.0 (April 5, 2024)

  • Update OMSDK to 1.4.12 (certified)
  • Performance enhancements and various fixes

Version 2.5.3 (March 25, 2024)

  • Update XCPrivacy Manifest

Version 2.5.2 (March 19, 2024)

Features:

  • General bug fixes and improvements

Version 2.5.1 (February 20, 2024)

Features:

  • Add support for Google Mobile Ads SDK 11.x

Version 2.5.0 (February 14, 2024)

warning

Updated the minimum supported Xcode version to 14.3
Supported Google Mobile Ads SDK version ≥ 10.0 (see 2.5.1 for unrecognized selector fix)

Features:

  • Add PrivacyManifest file

Bugfixes:

  • Fix StoreKit on iOS 17

Version 2.4.0.4 (February 20, 2024)

Features:

  • Support Google Mobile Ads SDK 11.x

Version 2.4.0.3 (January 26, 2024)

warning

Supported Google Mobile Ads SDK version ≥ 10.0 (see 2.4.0.4 for update)

Features:

  • Internal improvements

Version 2.4.0.2 (January 4, 2024)

Features:

  • Append skip initialization flag

Version 2.4.0.1 (November 30, 2023)

Features:

  • Add SKOverlay support for MRAID

Version 2.4.0.0 (November 9, 2023)

Features:

  • Add GPP support

Bugfixes:

  • Fix SKOverlay logic
  • Fix memory leaks in bidding integrations
  • Fix SDK initialization crashes
  • Resolve Swift protobuf conflict with SPM

Version 2.3.0.3 (February 20, 2024)

Features:

  • Support Google Mobile Ads SDK 11.x

Version 2.3.0.2 (August 10, 2023)

warning

Supported Google Mobile Ads SDK version ≥ 10.0 (see 2.3.0.3 for update)

Features:

  • Improved Google integration

Version 2.3.0.1 (July 25, 2023)

Features:

  • Add Rewarded/MREC ad types in Google integration

Version 2.3.0.0 (June 26, 2023)

Features:

  • Check network reachability
  • Append failure callback for AdView types
  • Update dependency management system
  • Miscellaneous improvements

Bugfixes:

  • Fix WKWebView main thread bug

Version 2.1.0.0 (May 22, 2023)

  • Add new token method
  • Bump Proto Core to 0.3.0
  • Bump API Core to 0.3.0
  • Bump Network Core to 0.3.0
  • Bump Display Core to 0.4.0
  • Bump Bidding Core to 0.3.0
  • Bump Analytics Core to 0.4.0
  • Bump IAB to 2.1.0
  • Bump StackModules to 1.5.0

Version 2.0.1.0 (April 18, 2023)

  • Bump Proto Core to 0.2.0
  • Bump API Core to 0.2.0
  • Bump Network Core to 0.2.0
  • Bump Display Core to 0.3.0
  • Bump Bidding Core to 0.2.0
  • Bump Analytics Core to 0.3.0
  • Increase minimum iOS version to 12.0
  • Remove armv7 and i386 support (deprecated)
  • Improve loading, presentation, feature, event, and error logic
  • Include SK fields in tokens
  • Fix arithmetic overflow exception
  • Fix banner left alignment
  • Trigger didUserInteraction before willPresentScreen
  • Update license to Commercial

Version 2.0.0.6 (March 10, 2023)

  • Update license to Commercial

Version 2.0.0.5 (December 29, 2022)

  • Bump StackModules to 1.4.0

Version 2.0.0.4 (November 16, 2022)

  • Bump IAB to 2.0.0

Version 2.0.0.3 (November 8, 2022)

  • Bump Display Core to 0.1.0
  • Add canShow method

Version 2.0.0.2 (November 3, 2022)

  • Bump API Core to 0.0.3
  • Bump Analytics Core to 0.1.0

Version 2.0.0.1 (October 6, 2022)

  • Update IAB adapters
  • Bump API Core to 0.0.2
  • Bump Display Core to 0.0.2
  • Bump Bidding Core to 0.0.2
  • Bump IAB to 1.9.0
  • Append Analytics Core 0.0.1

Version 2.0.0.0 (September 7, 2022)

  • Update project structure
  • Update public API
  • Append adapter caching

Version 1.9.4.8 (August 16, 2022)

  • Update proto model to 0.8.2
  • Include regulation info in tokens

Version 1.9.4.7 (August 11, 2022)

  • Fix request multithreading crash

Version 1.9.4.6 (August 9, 2022)

  • Small improvements
  • Update initial request URL
  • Fix potential Native crash

Version 1.9.4.5 (July 25, 2022)

  • Update network registration logic

Version 1.9.4.4 (July 14, 2022)

  • Update impression callback logic

Version 1.9.4.3 (June 30, 2022)

  • Allow biddingToken before initialization
  • Improve ad caching

Version 1.9.4.2 (June 22, 2022)

  • Update SDK initialization callback

Version 1.9.4.1 (June 14, 2022)

  • Fix Skippable Video controller

Version 1.9.4.0 (June 3, 2022)

  • Update Ad Caching logic
  • Update Ad display controllers
  • Deprecate Any AdRequest methods
  • Deprecate Any AdDisplay methods
  • Add additional loading method for AdDisplay

Version 1.9.3.1 (May 30, 2022)

  • Add hashed request initialization

Version 1.9.3.0 (May 6, 2022)

  • Bump StackProtobuf to 0.8.1
  • Bump StackModules to 1.2.1
  • Update network configuration initialization
  • Update placement type for fullscreen extensions

Version 1.9.2.1 (March 23, 2022)

  • Bump StackProtobuf to 0.8.0

Version 1.9.2.0 (March 18, 2022)

  • Bump StackModules to 1.2.0

Version 1.9.1.0 (February 24, 2022)

  • Convert BidMachine SDK to XCFramework
  • Bump StackAPI to 0.7.1
  • Bump StackModules to 1.1.11

Version 1.9.0.2 (February 22, 2022)

  • Fix event handling

Version 1.9.0.1 (February 8, 2022)

  • Append request custom parameters

Version 1.9.0.0 (February 1, 2022)

  • Append bidding token

Version 1.9.0.0-Beta.0.0 (November 23, 2021)

  • Append request cacher

Version 1.8.0.3 (December 17, 2021)

  • Update event tracking logic

Version 1.8.0.2 (December 16, 2021)

  • Append request storage comparison

Version 1.8.0.1 (November 23, 2021)

  • Fix event escaping string

Version 1.8.0.0 (October 26, 2021)

  • Append RichMediaView Type

Version 1.7.4.2 (October 26, 2021)

  • Append Waterfall + HB adapter support

Version 1.7.4.1 (October 21, 2021)

  • Append request loss parameters

Version 1.7.4.0 (October 8, 2021)

  • Append native ad event tracking

Version 1.7.3.6 (August 24, 2021)

  • Fix potential multithreading exception

Version 1.7.3.5 (August 3, 2021)

  • Fix URL session protobuf conflict

Version 1.7.3.4 (July 28, 2021)

  • Update C++ support

Version 1.7.3.3 (July 20, 2021)

  • SDK improvements

Version 1.7.3.2 (May 25, 2021)

  • Add API for placement ID transfer

Version 1.7.3.1 (May 14, 2021)

  • Add API for external user IDs transfer
  • Fix thread-unsafe calls
  • Fix video payload validation

Version 1.7.3.0 (April 20, 2021)

  • Append SKAdNetwork 2.2 support
  • Append OM MRAID/VAST support
  • Various small fixes

Version 1.7.2.0 (April 12, 2021)

  • Append bid payload

Version 1.7.1.0 (March 30, 2021)

  • SDK improvements
  • Update header bidding configuration method
  • Separate adapters into a dedicated project
  • Deprecate client-side rounding (use server-side)
  • Deprecated BDMFetcher: use BDMRequestStorage for request persistence