SDK V2 vs SDK V3
On June 15, 2021, we released SDK V3 - the preferred SDK version for new integrations.
Publishers using SDK V2 should continue to do so, until instructed otherwise.
- Minor bug fixes.
- Fixed a bug where a certain change in the device orientation caused the Feed to become cropped.
- Fixed a bug for API via SDK that caused the wrong images to display when reusing cells.
- Fixed a race condition where, in rare cases, privacy status was reported once only for that session (instead of each time that content was fetched).
- Added a new delegate "checkIfVisibleFromScroll" in "API via SDK" to allow publishers to report the SDK when the user is scrolling, instead of having the SDK detect the scrolling on its own. To activate this feature please turn on the "allowScrollReporting" feature flag
- When the publisher is manually reporting viewability, the SDK will turn off its automatic viewability mechanism.
If you are using Xcode 11, add the following line to your .xcodeproj/project.pbxproj file.
This line should be added under both
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
- Fixed a rare crash in "API via SDK"
- Fixed a bug in Feed/Widget via Native where the publisher's ScrollView tag was overridden by the SDK
- Fixed a rare crash "NSKeyValueObservation" crash when calling "deinit"
- Fixed an issue that added an executable resource to the Carthage binary
- Restored the "bitcode" option when working with the Carthage binary
- Added support for Apple's iOS 14 "AppTrackingTransparency" framework, that is fetching the IDFA according to the new guidelines
- Below the engine hood work to improve the way we set code-level feature flags using the
- Removed old Apple's deprecated functions from the code
- We made significant improvements in the way we detect and report viewability (when the user sees Taboola); upgrading to this version may result in changes on the "visibility rate" figure in "Interaction Funnel" section in Backstage
- Fixed a crash that caused Feed/Widget via JS integrations to sometimes crash in iOS 10.x
- Well, it so happens that our iOS SDK had a code comment with the string of "UIWebView"... On April 30th, Apple started to reject new apps that are using UIWebView. When we say "using" it means also code comments with the string of "UIWebView"... We're now fixing it by removing this elusive code comment from
- Fixed an issue that caused "executable" warnings when trying to upload a project to the App Store when using the Taboola iOS SDK 2.6.0
- Fixed an issue that caused the scroll freeze when using iOS SDK 2.6.0 in widget/feed via JS
We are apologizing for the inconvenience caused. We are doing our best to maintain good SDK quality
- Added support for the IAB Transparency and Consent Framework V2 (TCFv2)
- Added a refresh function to Feed/Widget via JS (SDK for Hybrid apps - SDK JS)
- Added a function that returns Taboola ScrollView to the publisher in Feed/Widget via Native (SDK Standard) - "getScrollView"
- We improved the way we report viewability on fast scrolling gestures in Feed/Widget via Native (SDK Standard)
- Fixed a bug that caused the video to open in fullscreen instead of inline within the feed
- Crash fixes that we collect using the SDK "global uncaught exception handler"
- Fixed a crash related to identifying old usage of WIWebView ("exception message: -[__NSCFString hasPrefix:]: nil argument)
- Added a new method to Feed via native that helps the publisher getting back control of the scrolling. Read more here
- Widget/Feed via native: Added new and detailed error strings for the
didFailToLoadPlacementNameddelegate. To avoid breaking current SDK 2.x integrations, an opt-in feature flag should be used. See more here for feed and widget
- Added "TBL" prefix to the "CCPADataStorageUserDefaults" library to avoid a conflict with other 3rd parties CMP SDKs
- SDK API is now using delegates instead of observers to improve performance and measurements
- Improved the way the SDK sends events to Taboola Newsroom integration when in use by the publisher
- Improved the way we send events to the iOS Global Uncaught Exceptions Handler
- Fixed an issue in SDK API that prevented sending correct ads preferences signals
- Fixed an issue where the online HTML template didn't load as a fallback to the local HTML template not loading
- We fixed a bug that prevented some iOS apps from submitting their app to the App Store when using the Taboola iOS SDK (getting
Unexpected CFBundleExecutable keyerror)
- Added support to the IAB CCPA framework. The SDK automatically collects the US privacy string if the publisher implements the IAB spec correctly
- The iOS SDK framework file is now a dynamic file and not a static file
- Added GUEH to the iOS SDK (Uncaught exception handler)
- Well, hmmm, this is a bit embarrassing, but we had a typo (for more than a year @$%@!) on the
setExtraPropetriesfunction name. We deprecated it and added a new function without any typos -
- The function
setOptionalPageCommandsis officially deprecated. Please use
- Improved overall performance and removed some rare memory leaks
- Removed an usage of the clipboard for paring with an internal debugging tool
- Fixed an issue where the iOS SDK is crashing when the publisher is not using the IAB GDPR framework correctly by setting wrong value types in
- We had to release another hotfix to make sure our SDK does not conflict with other CMP SDKs.
- We changed the name of the
CMPDataStorageUserDefaultslibrary in the SDK to
TaboolaCMPDataStorageUserDefaultsto avoid conflicts with other GDPR CMP SDKs
- Added support for dark mode by passing an indication in "setExtraProperties" function, or by listening to the iOS dark mode status. Publishers who are using dark mode themes in their apps must contact their account/solution manager in Taboola to activate the dark mode design. In Q2 2020 this process will be done automatically
- iOS SDK API will send an indication when the user is limiting ad tracking in the iOS settings
- The SDK will not include "CoreLocation" library if the publisher app is not already using it
- Minor bug fixes and performance improvements
- Fixed an issue that prevented previous SDK API versions to use the Click Handler in SDK 2.3.7
- Added support to position
TaboolaWidgetby using Constraints in addition to frames
- Added the option to hide the scrolling bars for Feed via Native. See the SDK reference to see how
onItemClick"placementNamed" is now returning the placement name instead of the item's title
- Removed the UIWebView API from Widget/Feed via JS to comply with the App Store policy
- Restored the option to manually report a click event when using SDK API (
handleClickEvent). Using this method is remotely blocked. To use it, please contact your Solution Manager / Support
- Fixed an issue where bad items click URLs caused the SDK to stop responding
- Other minor bug fixes and performance improvements
- Fixed an issue that caused the Feed via Native scrolling not to work when very slowly scrolling on the Feed
- We improved the scrolling in Feed via Native when working with "UIPageViewer" - Taboola SDK returns the scroll back to the publisher app (from the Feed) when switching page, changing orientation, and returning back to the app
- Minor improvements to the Newsroom events reporting
- Fixed a collision with "mParticle SDK" that prevented both apps to compile in SDK 2.3.3
- Other minor bug fixes
- We added support for sending events from the SDK into the Newsroom platform - see dedicated documentation here
- We added a optional step of initializing Taboola object when the activity loads
- We added a global exception handler that will help catch errors during the development process
- We improved the way the SDK handles the network calls
- Other minor bug fixes and performance improvements
- Fixed an issue that caused a memory leak when using Widget/Feed via Native when Taboola is added to a
- Added a hotfix to protect the app from crashing in Widget/Feed via JS when publisher id setting is missing
Version 2.3.0 change log include all of the noatable features that were released in the past 6 months
- We added support for the IAB Consent framework. You can now pass the GDPR consent status from any CMP that supports the IAB consent string.
Read more here: Android - https://sdk.taboola.com/taboolasdk/docs/android-sdk-gdpr iOS - https://sdk.taboola.com/taboolasdk/docs/ios-sdk-gdpr
- We added an option to work with UIPageViewController (iOS) and ViewPager (Android) when using SDK JS - calling Taboola only when the next screen (horizontal scrolling) is visible to the user.
Read more here: Android - https://sdk.taboola.com/taboolasdk/docs/taboola-android-sdk-feed-via-js#section-working-with-viewpager iOS - https://sdk.taboola.com/taboolasdk/docs/taboola-ios-sdk-feed-via-js#section-working-with-uipageviewcontroller
- Added progress bar in Taboola Feed to improve the scrolling experience.
Read more here: Android - https://sdk.taboola.com/taboolasdk/docs/taboola-android-sdk-feed-via-native#section-step-5-show-the-progress-bar iOS - https://sdk.taboola.com/taboolasdk/docs/taboola-ios-sdk-feed-via-native#section-step-6-show-the-progress-bar
- Added support for device orientation change when working with Taboola Widget.
- Added an option to pass the publisher internal user ID, in addition to the device ID. In case you need to pass your own internal ID, you can now do so in addition to the regular attribution that is done based on the device ID (GAID/IDFA). To read more about this feature, please contact your account manager
- Improved the scroll switch logic when using Taboola Feed.
- Removed redundant logs and functions "taboolaBridge.emit", "sendClickTracing" and "WKNavigationDelegate".
- Fixed an issue that caused the iOS SDK JS to crash when using UIPageViewController
- Taboola Android SDK now supports the IAB Consent framework
- We added an option to pass the SDK an internal user ID
- We added an option to force CSS rules on the HTML the widget/feed is rendering on - to better support apps that are using dark UI mode
- Taboola Widget (via native) now supports device orientation change
- We improved the iOS SDK Feed via Native to return the scroll to the publisher app when the user reloads the current screen
- Fixed an issue that caused too-early viewability reporting on apps that are using UICollectionView
- Added the option to show the progress bar when the publisher is manually handling the scroll switch
- Added support for 3rd party vendor weather card for SDK via Native
- Improved automatic scroll switch mechanism, avoiding rare stuck scrolling gestures
- Removed redundant
- Fixed an issue that caused the progress bar to not show sometimes
- Other minor bug fixes and performance improvements
- Added support to fetch the item image URL when using specific SDK flavor
- Under the hood improvements for a specific SDK flavor
- Improved the manual scroll switch for Feed via Native integration
- We are introducing a native UI indicator when the scroll is switching from the publisher app to Taboola's Feed (Feed via Native)
- We fixed an issue that miss-identified some tablet devices
- We added a way to manually control the scroll switch when using Feed via Native iOS integration
- We added an option to lazy load content on our Widget via JS and Feed via JS iOS integrations
- We improve the way the SDK is working with more online and dynamic under-the-hood components
- We fixed the logs logic, it will now show only when working in xCode debug mode
- Minor bug fixes related to custom integrations
Memory leak upon destroy. This was a rare issue we eliminated.
- Loading a few widgets on the same page.
- Prefetching a few widgets on different pages.
Cache images in NSCachesDirectory
Enable bitcode support.
An available event is now counted automatically on successful 'getRecommendations'
A method of triggering click handling programmatically for a recommendation item (useful for allowing custom interactions, like swipe)
- DescriptionView where available for recommendation items
- extraData dictionary with additional API response data elements
TaboolaApi - Taboola SDK API initial versionChangelog
Updated 5 months ago