Versions

1.58.0 (September 2021)

Features:

  • Display non-TCF purposes in disclosures

  • Add salesforce vendor to global configuration

  • Add a parameter to determine if user consent choice was set from Didomi UI or from a call to Didomi.setUserStatus.

Bug fixes:

  • Hide blank device storage disclosure fields

  • Fix an issue for device storage disclosures when no cookie info is available

1.57.1 (August 2021)

Features:

  • Change the default focus on CTV notice according to CNIL guidelines.

1.56.2 (August 2021)

Bug fixes:

  • Removed unused Xcode 11 code.

1.56.1 (July 2021)

Bug fixes:

  • French translation for required was wrong.

  • getUserStatus().vendors.global was not returning the right value.

1.56.0 (July 2021)

Features:

  • Added new getUserStatus method.

Bug fixes:

  • Fixed purpose details button theme.

  • Ensure configuration is only loaded from Didomi on CTV SDK.

1.55.1 (June 2021)

Bug fixes:

  • No event was being triggered when the user switched the toggles in the vendor or purpose details views.

Features:

  • Added getQueryStringForWebView method.

  • Migrated framework to Swift 5.0.

1.54.1 (June 2021)

Bug fixes:

  • getUserLegitimateInterestStatusForPurpose and getUserLegitimateInterestStatusForVendor: return .enabled when status is not set (align status with Android).

  • Dismiss preferences sub-screens before dismissing preferences screen.

1.54.0 (May 2021)

Features:

  • Applied optimizations around the parsing of vendors information that should reduce the initialization time.

Bug fixes:

  • Hide notice event was not being triggered when user gave/denied consent from the notice.

1.53.1 (May 2021)

Bug fixes:

  • Manage languages with specific script code from device

  • Handle vendor with no consent or LI in getUserStatusForVendor

1.53.0 (May 2021)

Features:

1.52.1 (May 2021)

Features:

  • Improved header's layout and made bulk action sticky on the Vendors view.

  • Handle setUserStatus with detailed purposes and vendors ids

  • Send dedicated CTV source type to the privacy center on sync request

Bug fixes:

  • Fix setUserConsentStatus result

1.51.0 (May 2021)

Bug fixes:

  • Legitimate interest purposes were not staying as enabled when the user taps on Disagree to all in the Preferences view on tvOS.

  • SDK was getting into a weird state when the IAB Config file was being removed by the OS.

  • Vendors Bulk Action didn't have the right state if there is vendors without consent

1.50.1 (May 2021)

Features:

  • Added support for app.deploymentId.

Bug Fixes:

  • Preferences screen title was ignoring text from preferences property.

  • SDK was getting into a weird state when cache directory was being removed by the OS.

1.49.3 (April 2021)

This version requires Xcode 12.

Features:

  • Added support for tvOS.

1.48.2 (April 2021)

Please note that this release replaces the IDFA provided by AdSupport for a random custom identifier.

Features:

  • Allow users to see and copy their information (Consent Token, User Id and SDK version)

  • Remove usage of IDFA.

  • Added support for Denied Consent Duration (app.deniedConsentDuration)

Bug fixes:

  • The Learn more button was in the wrong position in the notice view.

  • Some HTML tags were being ignored in the notice view.

1.47.0 (March 2021)

Features:

  • Added support for purpose categories.

  • Added support to sync user choices across devices.

  • Added a global toggle in the purposes screen that allows to toggle all purposes at once.

Bug fixes:

  • getUserConsentStatusForVendorAndRequiredPurposes was returning false when a vendor had only essential/required purposes.

1.46.0 (March 2021)

Features:

  • Updated the behaviour of the Disagree to all buttons in the preferences screen to align with other platforms.

  • Added support for the denyAppliesToLI feature in notice and preferences screen.

1.45.0 (March 2021)

Features:

  • Added support for specifying consent expiration.

Bug fixes:

  • Size of consent notice was wrong when displayed a second time.

  • There was an error in the API Events' sampling calculation.

1.44.0 (February 2021)

Features:

  • Added support to include Publisher Country Code into Consent String.

Bug fixes:

  • UI event were being triggered before consent was saved.

1.43.0 (February 2021)

  • If you were passing the consent and legitimateInterest parameters to the setUserDisagreeToAll method in your Swift code, it won't compile anymore. If you want to set the consent and legitimate interest status for all vendors and purposes you should use the setUserStatus method instead https://developers.didomi.io/cmp/mobile-sdk/ios/reference#setuserstatus.

  • If you were directly calling setUserDisagreeToAll from Objective-C (setUserDisagreeToAllWithConsent:legitimateInterest:) you would need to use setUserDisagreeToAll instead which does not accept parameters. If you want to set the consent and legitimate interest status for all vendors and purposes you should use the setUserStatus method instead https://developers.didomi.io/cmp/mobile-sdk/ios/reference#setuserstatus.

  • This release also makes private some views and view controllers classes. Currently this SDK is not designed to access these classes directly but only through the available methods which are documented in the references section https://developers.didomi.io/cmp/mobile-sdk/ios/reference.

Features:

  • Added ability to display "Disagree & Close" button on the notice (notice.type = "optin").

  • Added ability to display "Disagree & Close" button as primary (notice.denyAsPrimary = true).

  • Added ability to display "Continue without agreeing" link on the notice (notice.denyAsLink = true).

  • Added some UI updates on the notices.

  • Added new method to set user status for all purposes and vendors setUserStatus(purposesConsentStatus: Bool, purposesLIStatus: Bool, vendorsConsentStatus: Bool, vendorsLIStatus: Bool)

1.42.0 (January 2021)

Features:

  • Indicate platform and SDK version when downloading notice configuration.

  • Added support for TCF v2.1.

  • Send TCF and Additional Consent information in API events.

1.41.1 (December 2020)

Bug fixes:

  • In some cases consent was not being properly kept after an update of the GVL.

  • A translation in Croatian was not being displayed properly.

1.41.0 (December 2020)

Features:

  • Added Device storage section in the vendor details view.

  • Updated some texts from vendors and purposes.

Bug fixes:

  • Custom initializer hexString:alpha: was being publicly exposed through an extension of the UIColor class which was causing conflicts for some clients that had the same implementation.

1.40.1 (December 2020)

Please notice that this release includes the ability to download the GVL (Global Vendor List) file. If you don't want the SDK initialization to wait for this step, set the app.vendors.iab.requireUpdatedGVL to false as explained here https://developers.didomi.io/cmp/mobile-sdk/ios/setup#download-global-vendor-list-gvl

Features:

  • Essential/Required purposes section in the detailed view for each vendor.

  • Download the GVL (Global Vendor List).

  • Optimizations around Publisher Restrictions.

Fixes:

  • Long purpose names were being cut-off.

1.39.0 (November 2020)

Features:

  • Detailed additional data processing information

  • Added onError method.

1.38.0 (October 2020)

Features:

  • GVL update

  • Remove TCFv1 storage keys when TCFv2 is enabled

  • Improved responsiveness when saving consent

Bug fixes:

  • Ensure that the legitimate interest status is correctly passed to Webviews in getJavaScriptForWebView

1.37.0 (October 2020)

Features:

  • Support for Publisher Restrictions.

1.36.1 (September 2020)

Bug fixes:

  • Fixed ratio issue with logo on popup notice.

1.36.0 (September 2020)

Features:

  • Updated initialization process to stop requesting location when gdprAppliesGlobally is set to true.

1.35.1 (September 2020)

Bug fixes:

  • App logo was not being displayed on the popup notice.

  • Detailed view of essential purposes contained toggles.

1.35.0 (September 2020)

Features:

  • When user.ignoreConsentBefore is set and if consent was collected from the user at a date earlier than user.ignoreConsentBefore, show the consent notice to recollect consent (irrespective of the consent status of the user).

  • Improved the UI of the popup notice to force users to see all the content of the view before selecting any action.

Bug fixes:

  • Close button was not very responsive on the purposes view.

1.34.0 (September 2020)

Features:

  • Collect and send organization user ID in API events.

1.33.1 (September 2020)

Bug fixes:

  • Vendors button was not responsive when text on popup notice was long enough to require scroll.

1.33.0 (September 2020)

Features:

  • Disable TCF if it is disabled from the Console or if config file does not come from Didomi.

1.32.0 (August 2020)

Features:

  • Updated IAB vendors list to 52.

1.31.1 (August 2020)

Bug fixes:

  • Save button on purposes list view didn't have the right state when selections of Consent and Legitimate interest were opposite.

1.31.0 (August 2020)

Features:

  • Added support for Google as a TCF vendor.

1.30.2 (July 2020)

Bug fixes:

  • getUserConsentStatusForVendorAndRequiredPurposes was not returning the right status for google and other custom vendors.

1.30.1 (July 2020)

Features:

  • Added Show our vendors button to the notice which allows users to navigate directly to the Vendors list view.

  • Added Additional Data Processing section on Purposes list and Vendor Details views.

1.29.0 (July 2020)

Features:

  • Ensure that consent is recollected when switching TCF version

Bug fixes:

  • Ensure switch state is accurate on the list of vendors

1.28.0 (July 2020)

Features:

  • Better support for dark mode in purpose and vendor detailed views

  • IAB TCF label on TCF vendors in the list of vendors

  • Notice configuration by ID

1.27.2 (July 2020)

Bug fixes:

  • Minor fixes regarding TCFv2.

  • Fixed broken custom text on the Vendors view.

1.27.0 (June 2020)

Features:

  • showPreferences allows selecting which view should open (purposes or vendors)

1.26.0 (June 2020)

Features:

  • IAB TCF v2 initial support

1.21.0 (June 2020)

Features:

  • Use os_log for logging on iOS 10+.

  • Allow setting minimum log level via setLogLevel.

  • Changed the way Purpose details are displayed from expanding a cell to displaying a new view.

1.20.1 (May 2020)

Bug fixes:

  • Banner notice was displaying the rounded top border without transparency.

1.18.1 (March 2020)

Features:

  • Added support for XCFramework which means there is no need to use a different Pod (or binary) for newer versions of Xcode (since Xcode >= 11). Using this Pod/binary should be enough: Didomi-XCFramework.

1.17.1 (March 2020)

Features:

  • Updated Global Vendor List to version 192.

  • Improved the way in which optionals are handled.

1.16.5 (February 2020)

Bug fixes:

  • Calling the setupUI method multiple times could have resulted in crashes.

  • UI constraints were breaking in some cases when views were displayed behind an interstitial ad.

  • Fixed a race condition when triggering API events which could have resulted in crashes.

1.16.4 (January 2020)

Bug fixes:

  • UI improvements around the scroll bar and the scrolling animation on the Purposes screen when items are expanded/collapsed.

Features:

  • Added Didomi.notice.hide(); to the JavaScript code that gets returned by method getJavaScriptForWebView. This means that the notice view on the web app that's loaded on the native app will be hidden automatically when injecting the JavaScript code returned by this method.

1.16.0 (January 2020)

Features:

  • Added Xcode 11.3 support.

1.15.4 (Dec 2019)

Features:

  • Updated getTranslatedText method to get translated text from multiple sources https://developers.didomi.io/cmp/mobile-sdk/reference-ios#gettranslatedtext

  • Created new method updateSelectedLanguage method that allows app developers to change the language of the Didomi SDK.

  • Added the ability to pass a language code when calling the initialize method. This language code will be used to set the selected language.

Existing apps using this implementation of the initialize method in Objective-C:Didomi *didomi = [Didomi shared]; [didomi initializeWithApiKey:@"<Your API key>" localConfigurationPath:nil remoteConfigurationURL:nil providerId:nil disableDidomiRemoteConfig:NO];

will have to add the languageCode parameter and set it to nil unless they want to set a language code: Didomi *didomi = [Didomi shared]; [didomi initializeWithApiKey:@"<Your API key>" localConfigurationPath:nil remoteConfigurationURL:nil providerId:nil disableDidomiRemoteConfig:NO languageCode:nil];

Bugs:

  • The save button in the purposes view was not being enabled property in some cases when the user had previously saved their preferences using an old list of purposes.

1.14.1 (Nov 2019)

Features:

  • Added support for Xcode 11.2.

  • Updated the way API events are sampled to be based on user ID rather than on a random number.

1.13.0 (Oct 2019)

Features:

  • Introduced ui.action type for events sent to the API for tracking the interactions of the user with the consent UI. Actions added: preferences.shownpurposes, preferences.shownvendors, preferences.purposechanged and preferences.vendorchanged.

Bug fixes:

  • The IABConsent_SubjectToGDPR key was not being set properly in the user defaults.

1.12.2 (Oct 2019)

Bug fixes:

  • UI issue with the purpose switches keeping a stale state when the user toggled the switch and expanded the purpose description right after.

1.12.1 (Sep 2019)

Features:

  • Added support for Xcode 11 and bitcode.

Bug fixes:

  • Build was being created using the Debug configuration.

  • Some views were not displaying correctly on iOS 13 when dark mode was enabled.

  • In some cases getting the device location could cause a long delay.

  • Objective-C projects were not compiling correctly under certain configurations.

  • Objective-C projects were not compiling correctly when running on simulator on Xcode 10.2 and 10.3.

1.10.1 (Sep 2019)

Features:

  • Improved internal implementation of the SDK to ease the creation of custom views.

1.9.6 (Jul 2019)

Bug fixes:

  • Some mapping keys related to the getText and getTranslatedText methods were not matching the JSON properties of the preferences and notice properties.

1.9.5 (Jul 2019)

Features:

  • Updated IAB vendors list to 155.

  • Added the ability to provide translatable texts through the texts property in the didomi_config.json file that can be used when creating a custom notice.

1.9.4 (Jul 2019)

Features:

  • Added the ability to block/disable the Agree to all and Disable to all buttons by providing the preferences.disableButtonsUntilScroll flag and setting it to true.

1.9.3 (Jun 2019)

Bug fixes:

  • Event HideNoticeEvent was not triggered as required in some cases.

1.9.2 (Jun 2019)

Bug fixes:

  • The Console generates custom purpose IDs within [A-Za-z0-9-_] and SDKs only allowed [a-z0-9-_]

1.9.1 (May 2019)

Features:

  • Added logs to indicate app developers when methods that require the Didomi SDK to be ready are called before that.

1.8.1 (May 2019)

Features:

  • Update IAB vendors list (version 146)

1.8.0 (May 2019)

Features:

1.7.0 (Apr 2019)

Features:

  • Add the possibility to get the configuration remotely from the Didomi console

If you are coming from a previous version and want to enable the remote Didomi configuration created from the console, please add disableDidomiRemoteConfig: false as a new parameter in your initialize function. See documentation.

1.6.0 (Apr 2019)

Features:

  • Added pod Didomi-xcode10.2 which supports Xcode 10.2.

Bug fixes:

  • Exposed missing properties of Purpose and Vendor classes.

1.5.1 (Apr 2019)

Features:

1.5.0 (Apr 2019)

Features:

  • Exposed the following methods: getRequiredPurposes, getRequiredVendors, getEnabledPurposes, getEnabledPurposeIds, getDisabledPurposes, getDisabledPurposeIds, getEnabledVendors, getEnabledVendorIds, getDisabledVendors, getDisabledVendorIds, getPurpose and getVendor.

  • Add Russian and Ukrainian languages

1.4.5 (Mar 2019)

Bug fixes:

  • Preferences popup was being displayed on each visit when notice.enable was set to false and preferences.showWhenConsentIsMissing to true.

1.4.3 (Feb 2019)

Features:

  • Updated master config file adding countries, translations, purposes and partners.

  • Exposing shouldConsentBeCollected method used to allow developers to check if consent should be collected or not.

Bug fixes:

  • Items on Purposes and Vendors list were not expanding when clicking right on the expand arrow.

  • SDK had to wait for the country code to get initialised which in some cases could result in the app having to wait for it before starting.

  • Fix translation for "View privacy policy" on the Vendors view

1.4.1 (Feb 2019)

Bug fixes:

  • Purposes description was not being displayed on iPad running iOS 9.3.

  • Fixed strong reference cycles.

1.4.0 (Jan 2019)

Breaking change

This release modifies how we treat the ID of your custom vendors. If you are getting the user consent status with an API function like getUserConsentStatusForVendorAndRequiredPurposes("vendor-id"), you need to update your code to prefix the vendor ID with c:. Your function call now becomes: getUserConsentStatusForVendorAndRequiredPurposes("c:vendor-id").

This change will also trigger consent re-collection for your users.

Features:

Bug fixes:

  • The "Disagree to all" button did not use the same text and background color as the "Agree to all" button.

  • Inline style of HTML content was being overridden on the Preferences pop-in.

  • The "Save" button was present but disabled even though all purposes were set to unknown.

  • Purposes were not being properly updated when categories were being used.

  • The "c:" prefix was missing from custom vendors IDs. Important: this could be a breaking change since on the previous version the "c:" prefix was not required before each custom vendor ID.

  • Purposes were not sorted properly on the vendors and purposes views.

1.3.2 (Jan 2019)

Features:

  • Supports the 24 European languages

  • Number of days before recollecting consent option in the configuration tag

  • Updates on helpers to ease testability

1.3.1 (Dec 2018)

Features:

  • Added the ability to load a remote configuration file so app developers can customize how the SDK is displayed to users

Bug fixes:

  • Fixed potential issue around macros and the way they get replaced in the content

1.2.1 (Dec 2018)

Bug fixes:

  • Fixed logic around showPreferences and forceShowNotice methods so app does not crash after consent has been given

  • Fixed the way notices display long content by enabling scroll when required

  • Correctly load purposes and vendors statuses in the Preferences popup after consent has been given

  • Show the Save button when the Preferences popup is open after consent has been given

1.2.0 (Nov 2018)

Features:

  • Custom purposes

  • Map custom vendor to IAB ID

  • Expose getUserConsentStatusForPurpose and getUserConsentStatusForVendorAndRequiredPurposes in the public API

  • Ability to customize texts in the preferences popup

1.1.3 (Nov 2018)

Bug fixes:

  • Minor UI fixes.

  • Updated default notice text.

1.1.2 (Nov 2018)

Bug fixes:

  • Minor UI fixes.

1.1.1 (Nov 2018)

Bug fixes:

  • Exposed additional methods.

1.1.0 (Nov 2018)

Features:

  • Added support for Xcode 9

  • Added support for Objective-C

1.0.0 (Nov 2018)

Initial version.

Contents
1.58.0 (September 2021)
1.57.1 (August 2021)
1.56.2 (August 2021)
1.56.1 (July 2021)
1.56.0 (July 2021)
1.55.1 (June 2021)
1.54.1 (June 2021)
1.54.0 (May 2021)
1.53.1 (May 2021)
1.53.0 (May 2021)
1.52.1 (May 2021)
1.51.0 (May 2021)
1.50.1 (May 2021)
1.49.3 (April 2021)
1.48.2 (April 2021)
1.47.0 (March 2021)
1.46.0 (March 2021)
1.45.0 (March 2021)
1.44.0 (February 2021)
1.43.0 (February 2021)
1.42.0 (January 2021)
1.41.1 (December 2020)
1.41.0 (December 2020)
1.40.1 (December 2020)
1.39.0 (November 2020)
1.38.0 (October 2020)
1.37.0 (October 2020)
1.36.1 (September 2020)
1.36.0 (September 2020)
1.35.1 (September 2020)
1.35.0 (September 2020)
1.34.0 (September 2020)
1.33.1 (September 2020)
1.33.0 (September 2020)
1.32.0 (August 2020)
1.31.1 (August 2020)
1.31.0 (August 2020)
1.30.2 (July 2020)
1.30.1 (July 2020)
1.29.0 (July 2020)
1.28.0 (July 2020)
1.27.2 (July 2020)
1.27.0 (June 2020)
1.26.0 (June 2020)
1.21.0 (June 2020)
1.20.1 (May 2020)
1.18.1 (March 2020)
1.17.1 (March 2020)
1.16.5 (February 2020)
1.16.4 (January 2020)
1.16.0 (January 2020)
1.15.4 (Dec 2019)
1.14.1 (Nov 2019)
1.13.0 (Oct 2019)
1.12.2 (Oct 2019)
1.12.1 (Sep 2019)
1.10.1 (Sep 2019)
1.9.6 (Jul 2019)
1.9.5 (Jul 2019)
1.9.4 (Jul 2019)
1.9.3 (Jun 2019)
1.9.2 (Jun 2019)
1.9.1 (May 2019)
1.8.1 (May 2019)
1.8.0 (May 2019)
1.7.0 (Apr 2019)
1.6.0 (Apr 2019)
1.5.1 (Apr 2019)
1.5.0 (Apr 2019)
1.4.5 (Mar 2019)
1.4.3 (Feb 2019)
1.4.1 (Feb 2019)
1.4.0 (Jan 2019)
1.3.2 (Jan 2019)
1.3.1 (Dec 2018)
1.2.1 (Dec 2018)
1.2.0 (Nov 2018)
1.1.3 (Nov 2018)
1.1.2 (Nov 2018)
1.1.1 (Nov 2018)
1.1.0 (Nov 2018)
1.0.0 (Nov 2018)