- Remove TCF v1 support.
- Supporting url and resource name from
- SetupUI was not working properly with specific Android project configurations, throwing an exception.
AndroidJavaException: java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onStart(androidx.lifecycle.LifecycleOwner)"
- Fix Toggle colors not changing for older APIs (< 24).
- Fix Toggle state not updated on click when the view holder is recycled for older APIs (< 27).
- Optimize display of Purpose legal description.
kotlinplugin from 1.5.31 to 1.7.20.
appcompatlibrary from 1.3.1 to 1.4.2.
materiallibrary from 1.4.0 to 1.6.1.
- Improve AndroidTV performance.
- Prevent crash when Application is brought back from background and the Didomi SDK is not initialized from the Application class.
- Fix device language not correctly handled for Hebrew and Indonesian.
- Disable location query from device GPS when the location permissions are granted (we now rely only on our API to get the user location and to provide the matching regulation).
- Update link to IAB TCF v2 from the vendor detail page.
- Prevent CCPA "Sell my data" toggle neutral state.
- Accessibility improvements on the vendors list
- Improved accessibility on buttons displayed on the notice.
- Consent asked events was using all required purposes as both consent and legitimate interest.
- Fix toggle buttons behaviour when using purpose categories
- Improve accessibility of close buttons and headings on Preferences screens.
- Fix missing button padding on some devices for AndroidTV.
- Fix a lifecycle issue causing not initialized properties errors (e.g.
Fatal Exception: kotlin.UninitializedPropertyAccessExceptionlateinit property themeProvider has not been initialized).
- Handle device storage disclosure as link (instead of json) from IAB vendor list.
- Improve accessibility of Preferences screen.
- Add missing bottom bar for Vendor details page.
- Fix crash when displaying details of vendor with an incorrect device storage disclosure URL (
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean io.didomi.sdk.models.DeviceStorageDisclosure.isValid()' on a null object reference)
- Query purposes for current language in order to always provide up-to-date translations.
- Fix layout on additional data processing page.
- Disable neutral state when controlled value is legitimate interest.
- Hide bulk action in purposes and vendors screens when there is only one item in the list.
- Allow to call
reset()method while SDK is not initialized.
- Prevent notice text scrolling outside of pop-up window
- Fix possible crash when app and notice were restored after staying a very long time in the background.
- When notice was displayed to the user but no choice was made yet, the IAB consent string contained an incorrect list of enabled legitimate interest purposes.
- Vendor device storage disclosure list was not displayed on devices below API 21.
- Update design for tablets.
- Add new languages support (Norwegian, Brazilian, Azerbaijani, Bengali, Filipino/Tagalog, Hebrew, Hindi, Indonesian, Macedonian, Swahili).
- Remove Purpose and Vendor bulk action when only essential/required purposes are used.
- Incorrect toggles animation while scrolling
- Fix issues when legitimate interest purposes are set as essential
- Fix a crash on Android TV preferences screen when using essential purposes
Didomiclass to Kotlin
- Improve banner notice layout
- Add a default background color for secondary buttons
- Fix dependencies conflict with some libraries, producing the error
java.lang.VerifyError: Verifier rejected class
- Improve accessibility of User Information screen
- Update ConstraintLayout dependency from 2.1.2 to 2.1.3
- Prevent glitch during Preferences screen animation for tablets
- Revert toggle change animation for purposes screen
- Prevent invisible toggle track for some application themes
- Allow multiple initializations of the SDK.
- Use Support Library for vector drawables (no more bitmaps generated for older APIs).
- Toggle and Switch components were migrated to Kotlin.
- Keep white background for the notice on Dark Mode.
- Remove empty space on the top of the notice with some themes (disable Dialog Title).
- Remove unnecessary permission
- Improve accessibility for purposes and partners screens.
- Layout optimisation for CTV Vendors detail screens (layout simplification, use selector for components colors).
- Improve alignment in purposes list with optional icon.
Vendormodel class was migrated to Kotlin
- Embed a library which was hosted on deprecated JCenter repository, so JCenter is no longer required for building app
- Added the
didomi_prefix before all Didomi SDK resource ids (layouts, drawables, colors, dimensions...) to prevent conflicts with app or other libraries resources
- Fix possible crash related to application lifecycle (
lateinit property model has not been initialized)
- Support new IAB rules regarding timestamp: the timestamp stored in the GDPR consent string has now only day-level granularity. See https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/pull/306/files#diff-99d4d9da93e17e584b04a239a04503a776d54503b0e2db52fc157b77fc950bbbR65
Purposemodel class was migrated to Kotlin
- The user consent update date was not correctly updated
syncDoneevent was not called if last synchronization was still recent
- Improve accessibility for the notice and purposes screens
- Migrate Didomi event classes to Kotlin
- Code javadoc was not published with the release
- Optimize focus management on Android TV
- Apply “save”, “agree to all”, “disagree to all” to Vendors on Android TV preferences screen
- Saving Consent without any action will keep the current state of Vendors and Purposes on Android TV
- Fix Notice and Preferences layouts to prevent cropped text on Android TV
- Update displayed user status when reopening preferences screen on Android TV
- Keep package name for obfuscated classes in order to prevent conflicts with other obfuscated libraries.
- Add missing @Keep annotation and avoid obfuscation of some parameters name that are exposed to host app.
- Update fallback data for IAB TCF global vendors list.
@Keepannotation for obfuscation (no need for proguard rules anymore).
- Layouts optimization for performance.
hidePreferencesevents when the preferences screen is opened and closed.
- Allow to modify the save button label in the vendors view through
- Convert bitmap resources to vectorized resources.
- The common screen header had a few wrong margins.
- Added Legitimate Interest in TCF Consent String by default once the notice has been shown.
- User Info screen was not displaying in fullscreen mode.
- Avoid random ConcurrentModificationException while synchronizing after several calls to Didomi#setUser
- The Purposes screen had a few wrong margins.
- Simultaneous API event calls were sometimes skipped.
- Get content from the remote if the cache date is valid but the file is corrupted or missing.
- Handle deny option as a cross in notice
- Disabled vendors with only legitimate interest purposes were not present in
- Vendors with no associated consent or legitimate interest purposes were not present in
- In vendors screen, in some situations, a switch was displayed next to vendors with no associated consent or legitimate interest purposes
- Consent String retrieved by the sdk was not correctly updated after consent changes
- Fix incorrect serialization of
UserStatusobject when using Gson library
- Add salesforce vendor to global configuration
- Update dependencies: Kotlin from
1.5.30, Gson from
2.8.8, Coroutines from
- Better focus management on vendors detail page for CTV
- Add a parameter to determine if user consent choice was set from Didomi UI or from a call to
- Handle non-TCF purposes in device storage disclosures.
- When publisher restrictions applies to all vendors, apply it to non-IAB vendors as well.
- Vendor device storage disclosures were not displayed in some configurations.
- Change the default focus on CTV notice according to CNIL guidelines.
getUserStatus()method by correcting
- Fix Vendors bulk action for some configurations. The
Alltoggle behavior was not working properly.
- Update french translation for
- Update IAB-TCF encoding library to fix invalid consent string for some configurations. Issue: https://github.com/InteractiveAdvertisingBureau/iabtcf-java/pull/126/commits/a80bc4ce0bfb38120aaf8984091f2c512743f713
- Fix User Info screen by adding scrollbars and fixing a crash after clipboard action on older devices.
- Update dependencies: Kotlin from
1.5.21and Android Material from
- Refactor dependency management that which will allow improving the performance of the SDK.
- Add a new initialization method with a
DidomiInitializeParametersparameters object. This is the recommended way to initialize the sdk, the previous methods are now deprecated. See the reference for more information.
- Disable Android TV SDK by default, and add
androidTvEnabledparameter to enable it. If you need to use the Android TV SDK, please reach out to your dedicated customer success manager.
tvNoticeIdparameter for Android TV SDK specific notice id.
- Ensure configuration is only loaded from Didomi on Android TV SDK.
- Update androidx.appcompat dependency:
- Fix Android TV preferences screen closing unexpectedly when switching from partners tab
- Fix material shadow under preferences screens buttons
getRequiredVendorIdsmethod was only returning vendors with consent-based data processing instead of all the required vendors
- When reopening the preferences screen after setting user consent status programmatically (
setUserStatusmethods), the displayed consent state was not correct
- Removed separate internal vendors implementations, and turned
Vendorinterface into a class instead
- Prepare support for displaying device storage information for custom vendors
hidePreferencescommand when main preferences screen is not displayed
- Use density-independent pixels (dp) instead of raw pixels for theme buttons border and corner radius sizes. In order to preserve existing configurations, this fix is under a feature flag: set
trueto use it (see Customize the theme & UI for more information)
- Fix material shadow under notice "Agree" button