# User Messaging Platform (UMP) SDK release notes

| Version | Release Date | Notes |
|---|---|---|
| 4.0.0 | 2025-10-31 | - Added `setConsentSyncId()` API to [sync a user's consent across apps](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/privacy/api/privacy/sync-consent) configured for consent syncing. - Increased the minimum Android API level to 23. |
| 3.2.0 | 2025-03-24 | - Added internal functionality to call Firebase consent APIs when consent mode support is [configured through Privacy \& messaging](https://support.google.com/admob/answer/10114014). |
| 3.1.0 | 2024-10-30 | - To support testing with regulated US states, added the following options to `https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/privacy/reference/com/google/android/ump/ConsentDebugSettings.DebugGeography`: - `DEBUG_GEOGRAPHY_REGULATED_US_STATE` - `DEBUG_GEOGRAPHY_REGULATED_OTHER` - Deprecated `DEBUG_GEOGRAPHY_NOT_EEA`. Use `DEBUG_GEOGRAPHY_OTHER` instead. |
| 3.0.0 | 2024-07-11 | - Increased the minimum Android API level to 21. - Updated `https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/privacy/reference/com/google/android/ump/ConsentInformation.html#canRequestAds()` to return `true` when the app has no privacy messages configured. - Improved privacy message rendering behavior during orientation changes. - Fixed a bug where privacy messages did not cover the full screen for apps displaying [edge-to-edge](https://developer.android.com/develop/ui/views/layout/edge-to-edge) content. - Official release version for the ads personalization controls message. |
| 2.2.0 | 2024-01-24 | - Removed all use of Advertising ID. - Emulators are now automatically recognized as test devices when testing UMP forms. |
| 2.1.0 | 2023-07-24 | This release introduces several new APIs to simplify the consent gathering process. Adopting these new APIs is not required for existing integrations. - Calling `https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/privacy/reference/com/google/android/ump/ConsentInformation.html#requestConsentInfoUpdate(android.app.Activity,%20com.google.android.ump.ConsentRequestParameters,%20com.google.android.ump.ConsentInformation.OnConsentInfoUpdateSuccessListener,%20com.google.android.ump.ConsentInformation.OnConsentInfoUpdateFailureListener)` **is now required** before interacting with other public APIs. Before calling it, the following are returned: - `https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/privacy/reference/com/google/android/ump/ConsentInformation.ConsentStatus` returns `https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/privacy/reference/com/google/android/ump/ConsentInformation.ConsentStatus.html#UNKNOWN` - `https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/privacy/reference/com/google/android/ump/ConsentInformation.PrivacyOptionsRequirementStatus.html` returns `https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/privacy/reference/com/google/android/ump/ConsentInformation.PrivacyOptionsRequirementStatus.html#public-static-final-consentinformation.privacyoptionsrequirementstatus-unknown` - `https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/privacy/reference/com/google/android/ump/ConsentInformation.html#canRequestAds()` returns `false` - Added a helper method `https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/privacy/reference/com/google/android/ump/ConsentInformation#public-abstract-boolean-canrequestads`. - Added a static method `https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/privacy/reference/com/google/android/ump/UserMessagingPlatform.html#loadAndShowConsentFormIfRequired(android.app.Activity,%20com.google.android.ump.ConsentForm.OnConsentFormDismissedListener)` to combine load and show calls. This method is intended for the use case of showing a form if needed when the app starts. - **Privacy Options** - Added `https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/privacy/reference/com/google/android/ump/ConsentInformation.html#getPrivacyOptionsRequirementStatus()` to indicate whether privacy options are required to be shown in this session. - Added a static method `https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/privacy/reference/com/google/android/ump/UserMessagingPlatform.html#showPrivacyOptionsForm(android.app.Activity,%20com.google.android.ump.ConsentForm.OnConsentFormDismissedListener)` to be called when users interact with your app's privacy setting. - Enabled hardware acceleration on the consent form's window to improve performance of the consent form in game engines such as Unity. |
| 2.0.0 | 2021-07-12 | - Removed the `ConsentInformation.ConsentType` IntDef and the `ConsentInformation.getConsentType()` method. |
| 1.0.0 | 2020-07-07 | - General Audience release of the Google UMP SDK. |