> [!NOTE]
> **Note:** There could be numeric gaps in the sequence numbers of releases shown on this page---for instance, v.3.582.5 prior to v.3.583.1---due to periodic skipped release numbers.

<br />

|---|---|---|
| **Version** | **Release Date** | **Notes** |
| 4.18.1 | 2026-10-22 | - Adds the [`IMASettings.preloadTime`](https://developers.google.com/interactive-media-ads/docs/sdks/tvos/client-side/reference/Classes/IMASettings.md.txt#preloadtime) property to set a time that begins loading mid-roll ad breaks before the ad break start time. If unset, the preloading time defaults to eight seconds. - Adds the [`IMAAdsRenderingSettings.prerollLoadVideoTimeout`](https://developers.google.com/interactive-media-ads/docs/sdks/tvos/client-side/reference/Classes/IMAAdsRenderingSettings.md.txt#prerollloadvideotimeout) property to set an amount of seconds to wait for pre-roll ads to load, before canceling ad playback and playing content. - Fixes an issue where users couldn't skip ads if tvOS VoiceOver is turned on. |
| 4.17.0 | 2026-05-29 | - Adds support for skippable ads with HLS interstitial enabled streams. - Adds a compile-time check to verify your app's target tvOS version is compatible with the IMA SDK minimum tvOS version. - Adds error codes to the ` IMAAdError ` enum: - `kIMAError_ASSET_FALLBACK_FAILED`: `1021` - `kIMAError_UNSUPPORTED_URL`: `1022` - `kIMAError_STREAM_INITIALIZATION_TIMEOUT`: `1023` - `kIMAError_STREAM_AUTHORIZATION_FAILED`: `1024` - Updates the ` IMASettings.featureFlags() ` method to accept any object type as the value. |
| 4.16.0 | 2025-10-23 | - Increases the minimum tvOS version for compilation to tvOS 15. - Adds the `useHLSInterstitial` parameter to enable interstitial support for the `IMALiveStreamRequest` and `IMAVODStreamRequest` interfaces. |
| 4.15.1 | 2025-05-07 | - Adds the ad period info to the `AD_PERIOD_STARTED` event, which you can access from [`IMAAdEvent.adData`](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/tvos/reference/Classes/IMAAdEvent.md.txt#addata) property. - Adds support for handling HLS interstitials metadata with the IMA SDK. |
| 4.14.1 | 2024-12-03 | - Adds [network code](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/tvos/reference/Classes/IMALiveStreamRequest.md.txt#-initwithassetkey:addisplaycontainer:videodisplay:usercontext:) to the list of stream request parameters for all stream types. - Fires a LOG event when an invalid click-through URL is clicked, rather than failing silently. - Fixes a memory leak when OMID sessions were improperly destroyed. - Adds support for skippable ads in VOD Pod Serving streams. - Fixes a bug with scrolling support when the video is embedded in a scrollable container. - Adds support for `minSuggestedDuration` to non-linear ads - Fixes a bug that would cause some Campaign Manager tracking URLs to be incorrectly encoded. - Fixes an issue that caused `STARTED` events to not be dispatched on some ad sessions. |
| 4.13.0 | 2024-06-13 | - Adds `VODConfigID` to [IMAVideoStitcherVODStreamRequest](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/tvos/reference/Classes/IMAVideoStitcherVODStreamRequest.md.txt). - Fixes nullpointerexception when `adTagURL` is `null` in [`IMAAdsRequest`](https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdsRequest.md.txt). - Changes [asset-level fallback](https://support.google.com/admanager/answer/3007370#activate-video-fallback-and-ad-buffet) logic to iterate through all ads in the original VAST until the SDK identifies a playable creative. If no playable creative is found, the ad isn't played. - Fixes issue where tracking pings to `ad.doubleclick.net` were not being fired. - Sets the SDK's ad size rendering constraints based on the view frame instead of the safe area layout guide for the playerView. |
| 4.12.0 | 2024-04-03 | - Adds a privacy manifest `PrivacyInfo.xcprivacy` file and a signature for the SDK. - Adds [IMAVideoStitcherLiveStreamRequest.videoStitcherSessionOptions](https://developers.google.com/interactive-media-ads/docs/sdks/tvos/client-side/reference/Classes/IMAVideoStitcherLiveStreamRequest.md.txt#videostitchersessionoptions) and [IMAVideoStitcherVODStreamRequest.videoStitcherSessionOptions](https://developers.google.com/interactive-media-ads/docs/sdks/tvos/client-side/reference/Classes/IMAVideoStitcherVODStreamRequest.md.txt#videostitchersessionoptions) properties to set Cloud Video Stitcher's [options for manifest generation](https://cloud.google.com/video-stitcher/docs/reference/rest/v1/ManifestOptions). |
| 4.11.1 | 2024-02-22 | - Fixes an issue where content audio could be heard during ad playback. |
| 4.10.0 | 2024-01-24 | - Enables Pod Serving VOD stream requests. - Updates constraints for the AdUI to respect safe area guides. - Adds a getter for cue points to iOS/tvOS stream manager |
| 4.9.2 | 2023-08-15 | - Fixed a bug which causes high CPU utilization for some DAI streams. |
| 4.9.1 | 2023-04-20 | - Increased minimum tvOS version for compilation to tvOS 14. - Removed support for the ARMv7 platform. - Adds the [IMAVideoStitcherLiveStreamRequest](https://developers.google.com/interactive-media-ads/docs/sdks/tvos/client-side/reference/Classes/IMAVideoStitcherLiveStreamRequest.md.txt) class, which provides support for the [Google Video Stitcher Live API](https://cloud.google.com/video-stitcher/docs/how-to/gam/live/overview). - Adds the [IMAVideoStitcherVODStreamRequest](https://developers.google.com/interactive-media-ads/docs/sdks/tvos/client-side/reference/Classes/IMAVideoStitcherVODStreamRequest.md.txt) class, which provides support for the [Google Video Stitcher VOD API](https://cloud.google.com/video-stitcher/docs/how-to/gam/vod/overview). |
| 4.8.2 | 2022-11-03 | - Added `userContext` to IMA stream requests. - Fixed bug that caused unnecessary "Invalid internal message" warnings. |
| 4.7.0 | 2022-07-20 | - Fixed an issue with publishers overwriting IMA SDK version information. - Added `AD_CAN_PLAY` event. Fired when the ad is ready to play without buffering. - Increased max default bitrate to unlimited for non-mobile devices. |
| 4.6.1 | 2022-02-23 | - Service release; No public changes. |
| 4.5.0 | 2021-12-06 | - Raised the minimum tvOS version to tvOS 12. - Fixed a bug that could result in multiple Why this Ad icons. - Removed need for MPNowPlayingSession. |
| 4.4.2 | 2021-05-03 | - Fixed an issue that caused warning messages on tvOS \< 12. - Last version of the IMA SDK for iOS to support tvOS 10. |
| 4.4.1 | 2021-03-09 | - Added [`IMASettings.sessionID`](https://developers.google.com/interactive-media-ads/docs/sdks/tvos/dai/reference/Classes/IMASettings#sessionid) property to allow publishers to manually set their sessionID. - Added support for PiP. - Fixed an issue where ad pause and resume events could sometimes fire during content. - Added [`IMAVideoDisplay.nowPlayingSession`]() to properly support play/pause events on tvOS 14+. - Fixed a bug where adsense linear ads were being reported to the publisher as non linear. - Fixed an issue where `IMAStreamManager.replaceAdTagParameters` would not issue an update. - Added pod serving APIs. - Enforced adContainer attachment to window. |
| 4.3.2 | 2020-08-11 | - Updated the IMA SDK to support tvOS 14: Added support for `AppTrackingTransparency`. See [request App Tracking Transparency authorization](https://developers.google.com/interactive-media-ads/docs/sdks/tvos/client-side/tvos14.md.txt#request) for more information. |
| 4.3.1 | 2020-08-05 | - Added support for Google's Additional Consent mode. For more information, see [Google's Additional Consent Mode technical specification](https://support.google.com/admanager/answer/9681920). - Added support for the "language_name" key for stream subtitles. - Fixed an issue that caused audio-only ads to timeout. - Fixed an issue where skipping the first ad in a preroll would cause the second ad to ignore its own skip offset. - Added `IMAAdDisplayContainer.focusEnvironment`, which allows publishers to transfer focus to SDK during ad breaks. This is required whenever the user needs to interact with the ad UI (e.g. skippables, VAST icons). - Added `viewController` as a new required initialization argument or property for `IMAAdDisplayContainer`. - Fixed non-English localization support. - Reduced erroneous `RESUME` events. - Added `IMAAdsRenderingSettings.enablePreloading`, which is enabled by default, to improve ad rendering performance. - Added support for skippable ads (client-side and VOD) and VAST icons (client-side and DAI) - Added the `ICON_FALLBACK_IMAGE_CLOSED` and `ICON_TAPPED` events. We recommend automatically resuming on `ICON_FALLBACK_IMAGE_CLOSED` since the SDK pauses on fallback image open. - Fixed an issue where the `IABTCF_gdprApplies` was only acknowledged if it was a string. |
| 4.2.3 | 2020-05-06 | - Fixed an issue where certain app bundle IDs could cause traffic to be misclassified. |
| 4.2.2 | 2020-03-26 | - Increased the minimum runtime version to tvOS 10 - Fixed a bug where some UI updates could trigger on a background thread - Fixed an issue where strict flags would make IMACompanionAd's init conflict with NSObject's - Deprecated the `loadURL` method on the IMAVideoDisplay protocol |
| 4.2.1 | 2020-02-12 | - 4.2.1 will be the final version of the IMA SDK that supports tvOS 9.x - Fixed an issue where clickthroughs would crash on tvOS 9.x |
| 4.2.0 | 2019-10-30 | - Fixed an intermittent crash issue on tvOS 13. |
| 4.1.0 | 2019-09-23 | - Added support for tvOS 13. - Added `playerVideoDisplay:didLoadPlayerItem:` for DAI. - Added `IMAAd.companionAds` and `IMACompanionAd` for DAI ads. - Updated `IMAAVPlayerVideoDisplayDelegate` names to better fit Objective-C style. |
| 4.0.5 | 2019-08-16 | - Fixed an issue where the play button on the Apple TV remote did not resume content. |
| 4.0.2 | 2019-07-18 | - Fixed an issue where the user's "Limit Ad Tracking" setting was incorrectly transmitted. - `IMAAdEventType.adData` is now typed. - Added the `authToken API` on `IMAStreamRequest`. |
| 4.0.1 Deprecated | 2019-07-02 | - Combined client-side and DAI tvOS SDKs - Fixed an issue where AdsLists weren't parsed and threw AdsLoader errors on tvOS. |

#### Show earlier versions

|---|---|---|
| **Version** | **Release Date** | **Notes** |
| 3.9.1 | 2019-03-28 | - Changed the default stream initialization timeout from 5 seconds to 8 seconds. - Added `initializationTimeout` property to `IMAStreamRequest` to enable configuration of the stream initialization timeout. |
| 3.9.0 | 2019-03-06 | - Added adPeriodDidStart and adPeriodDidEnd callbacks to IMAStreamManagerDelegate. |
| 3.8.1 | 2018-12-06 | - To prevent duplicate metrics recording, ad events like AD_BREAK_STARTED/AD_BREAK_ENDED no longer fire when re-watching/seeking an ad. |
| 3.8.0 | 2018-05-21 | - Adds support for the `npa` ad tag parameter. |
| 3.7.1 | 2018-02-26 | - Fixes a bug where tracking URLs containing curly braces ("{" or "}") were not being pinged on tvOS 11.2.6. |
| 3.7.0 | 2018-01-24 | - Adds the following as acceptable values for `IMAStreamRequest.adTagParameters` keys: - audio range (`dai-aor`) - exclude (`dai-excl`) - order start (`dai-os`) - video range (`dai-sr`) - Adds the following to `IMAAd`: `advertiserName`, `creativeID`, `creativeAdID`, `dealID`, `universalAdIDRegistry`, `universalAdIDValue`, `wrapperAdIDs`, `wrapperAdSystems`, `wrapperCreativeIDs`, and `wrapperDealIDs`. - The SDK now fires `AD_BREAK_STARTED` when joining a stream in the middle of an ad break so listeners can render the ad UI. - Adds `IMAAVPlayerVideoDisplayDelegate` so that users of `IMAAVPlayerVideoDisplay` can receive the `AVAssetURL` of the stream to be loaded. With the `AVAssetURL` object, users can register for FairPlay content protection playback. |
| 3.6.0 | 2017-09-19 | - Removes nonfunctional `IMAStreamRequest.attemptPreroll`. - Adds the following as accepted `IMAStreamRequest.adTagParameters`: - dai-ah (Ad Holiday) - dai-dlid (Delivery Location) - Adds `IMAStreamRequest.streamActivityMonitorID`. - Fixes an issue where `[IMAStreamManagerDelegate streamManager:didReceiveError:]` wasn't called for a stream that didn't play or load. |
| 3.5.0 | 2017-04-24 | - Adds `IMAAd.companions`. - Adds the `IMACompanion` class. |
| 3.4.1 | 2017-03-31 | - Service release, no new features. |
| 3.4.0 | 2017-03-13 | - Fixes bitcode support. - Adds the following properties to `AdBreakInfo`: - `adBreakIndex` - `timeOffset` |
| 3.3.0 | 2016-12-05 | - Exposes `[IMAAVPlayerVideoDisplay reset]`, to be called when you need to replace the `AVPlayerItem` on your content player with a backup `AVPlayerItem`. |
| 3.2.0 | 2016-08-22 | - Fixes an issue when submitting an app that uses the framework for testing. |
| 3.1.0 | 2016-05-09 | - Initial release. |