Releases: forcedotcom/SalesforceMobileSDK-Android
Salesforce Mobile SDK 12.2.0
What's New in Salesforce Mobile SDK 12.2.0
Mobile SDK 12.2 is a minor release that features QR code login, refresh behavior enhancements, and modernized support for Android.
In interim releases, we often deprecate items in native libraries for removal in an upcoming major release. Be sure to check your compiler logs for deprecation warnings so that you can address any changes before they go into effect.
Android 15 (API 35) Compatibility
We’ve successfully tested Mobile SDK for compatibility with Android 15. See Android Version 15.
Single Access UI Bridge API
When displaying a Salesforce UI in a webview or external browser without requiring users to re-enter their credentials, we now use the Single Access UI Bridge API (UI Bridge API for short) to construct the frontdoor URL, which was previously constructed manually. See also:
QR Code Login
With the help of Apex classes, Visualforce Pages, UI Bridge API, and new Mobile SDK methods, we can now log users in with a QR code. To learn more about QR code login and how to set it up, see:
- QR Code Login with Single Access UI Bridge API
- QR Code Login Prerequisites
- QR Code Login for Android
Refresh Behavior Enhancements
We enhanced our token refresh behavior for 403 (Bad_OAuth_Token
) responses. Where apps previously managed a 403 response by performing a preliminary REST call to update the access token, we now refresh the token automatically.
The new refresh behavior impacts the /service/oauth2
endpoint and helps with our new REST wrapper for UI Bridge API.
Login Screen Bug Fix and Breaking Change
We fixed a bug that sometimes caused the login screen to relaunch after a successful authentication.
Important: This bug fix introduced a breaking change. If your app overrides LoginActivity or uses advanced authentication, change the launch mode from singleTop
to singleTask
.
Hybrid Remote Application Session Management
In hybrid remote applications, we now use session IDs (sourced from the login and refresh token endpoints) to load the app’s start page. This replaces the behavior in previous versions, which relied on a frontdoor URL to establish a UI session.
Note: This feature requires hybrid authentication, which is enabled by default. To verify the hybrid authentication setting, verify that the useHybridAuthentication
property in SalesforceSDKManager
is set to true
.
External Component Version Updates
- Android Gradle Plugin: 8.6.1
- React Native: 0.74.5
How to Upgrade Your Apps
For information on upgrading Mobile SDK apps, follow the instructions at Migrating from the Previous Release.
Salesforce Mobile SDK 12.1.1
What's New in Salesforce Mobile SDK 12.1.1
Mobile SDK 12.1.1 is a minor patch release that features these changes:
- We fixed a bug that cleared user account fields locally when some users logged in immediately after logout.
- SQLCipher upgrade: 4.6.1 which now supports binding NULL parameters - see the SQLCipher release notes.
- SQLite upgrade: 3.46.1
- Google Lifecycle upgrade: 2.8.4
How to Upgrade Your Apps
For information on upgrading Mobile SDK apps, follow the instructions at Migrating from the Previous Release.
Salesforce Mobile SDK 12.1.0
What's New in Salesforce Mobile SDK 12.1.0
Mobile SDK 12.1 is a minor release that introduces user-registration and password-reset flows to the native login suite for Experience Cloud.
In interim releases, we often deprecate items in native libraries for removal in an upcoming major release. Be sure to check your compiler logs for deprecation warnings so that you can address any changes before they go into effect.
Native User Registration and Password Reset
We added user-registration and password-reset support for Experience Cloud sites, which means you can now fully customize the UI for these flows.
External Component Version Updates
- Gradle: 8.7.0
- SQLCipher: 4.6.0
- Cordova: 13.0.0
- React Native: 0.74.3
How to Upgrade Your Apps
For information on upgrading Mobile SDK apps, follow the instructions at Migrating from the Previous Release.
Salesforce Mobile SDK 12.0.1
What's New in Salesforce Mobile SDK 12.0.1
Mobile SDK 12.0.1 is a minor patch release that features these changes.
- Fine-tuned access modifiers on classes recently migrated from Java to Kotlin, ensuring seamless compatibility for the apps that extend them.
- An upgrade to SQLCipher 4.5.7. See the SQLCipher release notes at SQLCipher 4.5.7.
How to Upgrade Your Apps
For information on upgrading Mobile SDK apps, follow the instructions at Migrating from the Previous Release.
Salesforce Mobile SDK 12.0.0
What's New in Salesforce Mobile SDK 12.0.0
Mobile SDK 12.0 is a major release that provides support for native login for Experience Cloud, including passwordless login. It also adjusts for a Google Firebase change that affects mobile connected apps using push notifications.
In major releases, we typically remove items that have been deprecated for removal. Read the following information to learn about new features and breaking changes that can affect your app. In every release, be sure to check your compiler logs for deprecation warnings so that you can address these changes before they go into effect.
How to Upgrade Your Apps
For information on upgrading Mobile SDK apps, follow the instructions at Migrating from the Previous Release.
Firebase Cloud Messaging (FCM) Upgrade
-
We've upgraded FCM to version 23.3.1. For apps using Android or Hybrid push notifications,
google-services.json
replacesandroidPushNotificationClientId
in Mobile SDK 12.0. -
Because of a change in how Google handles push notifications for apps, Android mobile connected apps now collect the Admin SDK private key and project ID from a Google Firebase project. This change applies to mobile connected apps with Android push notifications.
-
To configure or update Android push notifications, see: Update Your Android Mobile Connected App’s Information for Push Notifications and Configure Android Push Notifications.
Encrypted Push Notifications Change
Starting in summer 2024, we’re using a new cipher mode for encrypting push notifications on the server.
- The server will only understand the new cipher mode after summer 2025.
- Mobile apps using Mobile SDK 12.0 can handle both the legacy and new cipher mode.
- To keep using encrypted push notifications, upgrade your mobile apps to Mobile SDK 12.0 (or a later version) before summer 2025.
Gradle and JDK Upgrade
We've upgraded to Gradle 8 and Android Gradle Plugin (AGP) 8. We've also moved to Java JDK 17. For more information see the Gradle 8 release notes.
New SQLCipher for Android
We've moved from to a new SQLCipher for Android Package, which means android-database-sqlcipher
is replaced by sqlcipher-android
in 12.0. For more information, see the SQLCipher release notes for version 4.5.5 and version 4.5.6.
Version Updates
- Minimum API: Android Oreo (API 26)
- Target API: Android 14 (API 34)
- Default SDK version for hybrid apps: Android 14 (API 34)
- Gradle: 8.2
- Java JDK: 17
- Firebase Cloud Messaging: 23.3.1
External Component Version Updates
- SQLCipher: 4.5.6
- SQLite: 3.44.2
- React Native: 0.73.6
- sf (previously sfdx): v2
Removed APIs
See Android APIs Removed in Mobile SDK 12.0.
Deprecated APIs
Check your compiler warnings, or see Android Current Deprecations.
Salesforce Mobile SDK 11.1.0
What's New in Salesforce Mobile SDK 11.1.0
Mobile SDK 11.1.0 is a minor release that features modernized support for Android.
In interim releases, we often deprecate items in native libraries for removal in an upcoming major release. Be sure to check your compiler logs for deprecation warnings so that you can address any changes before they go into effect.
Android 14 Compatibility
We’ve successfully tested Mobile SDK for compatibility with Android 14. See Android Version 14.
Mobile Sync Library Modernization
We’ve modernized the Mobile Sync Library on Android.
- All source files are now written in Kotlin.
- Parameters and members now use non-nullable types wherever nulls are not expected or supported.
- Kotlin syntax is now supported where appropriate, e.g. string templates, ?:, let, also, map, forEach, when, etc.
- Co-routine wrappers are now available for key methods in SyncManager. See Incremental Syncs with reSync, Handling “Ghost” Records After Sync Down Operations, Using Sync Names.
Note: Although we typically do not require consuming code changes in minor releases such as Mobile SDK 11.1, our modernized MobileSync library may require consuming code changes in order to maintain support for both Java and Kotlin. For example, constants that were once imported from a class in Java are now imported from a companion object in consuming Kotlin code.
Android Template Updates
- Our Mobile SDK Android templates are now up to date with the Kotlin DSL migration.
- Our templates are now set up to download Mobile SDK artifacts from Maven Central, which results in a friendlier build environment.
Advanced Authentication Enhancements
We’ve fixed these bugs related to advanced auth.
- If Chrome was not found during the advanced auth flow, Android users were presented with an error and could not continue with login. Advanced authentication now reinstates the expected behavior of using the default browser if Chrome isn’t available at runtime.
- A bug caused some Android users’ login flow to reset to the initial screen when the app was backgrounded during MFA. We fixed this issue and changed LoginActivity’s launch mode from singleInstance to singleTop. Apps that extend LoginActivity now require the same change.
We’ve added new advanced auth methods that allow you to 1) configure which browser your app selects and 2) view the currently selected custom tab browser. See Configuring Advanced Authentication in Android Apps.
External Component Version Updates
- React Native: 0.70.14
- Cordova Android: 12.0.1
How to Upgrade Your Apps
For information on upgrading Mobile SDK apps, follow the instructions at Migrating from the Previous Release.
Salesforce Mobile SDK 11.0.1
What's New in Salesforce Mobile SDK 11.0.1
Mobile SDK 11.0.1 is a minor patch release that features these changes.
- Bug fixes for login and refresh with custom domain and enhanced domain
- Access token re-hydration in hybrid apps and when using an IDP flow
- Improved read performance for Key-Value Stores
How to Upgrade Your Apps
For information on upgrading Mobile SDK apps, follow the instructions at Migrating from the Previous Release.
Salesforce Mobile SDK 11.0.0
What's New in Salesforce Mobile SDK 11.0.0
Mobile SDK 11.0 is a major release that modernizes several authentication flows. In major releases, we typically remove items that have been deprecated for removal. Read the following information to learn about new features and breaking changes that can affect your app. In every release, be sure to check your compiler logs for deprecation warnings so that you can address these changes before they go into effect.
How to Upgrade Your Apps
For information on upgrading Mobile SDK apps, follow the instructions at Migrating from the Previous Release.
General Updates in Mobile SDK 11.0
These changes apply to more than one platform.
- The default authentication now uses Web Server Flow instead of User-Agent Flow.
- Device system biometric authentication for logins.
- Reworked multi-app SSO flows and configurations with identity providers.
Version Updates
- Minimum API: Android Nougat (API 24)
- Target API: Android 13 (API 33)
- Default SDK version for hybrid apps: Android 13 (API 33)
- Kotlin: 1.6
External Component Version Updates
- SQLCipher: 4.5.4
- SQLite: 3.41.2
- React Native: 0.70.6
- Cordova Command Line: 12.0.0
Removed APIs
See Android APIs Removed in Mobile SDK 11.0.
Deprecated APIs
Check your compiler warnings, or see Android Current Deprecations.
Salesforce Mobile SDK 10.2.0
What's New in Salesforce Mobile SDK 10.2 for Android
Mobile SDK 10.2 is an interim release that features non-breaking API changes and modernized Android support. In interim releases, we often deprecate items in native libraries for removal in an upcoming major release. Be sure to check your compiler logs for deprecation warnings so that you can address any changes before they go into effect.
Feature Updates
Android 13 Compatibility
We’ve successfully tested Mobile SDK for compatibility with Android 13. See Android Version 13.
External Component Version Updates
- SQLite: 3.39.2
- SQLCipher: 4.5.2
- OkHttp: 4.10.0
- Cordova-android: 11.0.0
- React Native: 0.70.1
- ShellJS: 0.8.5 (for command line tools)
- TypeScript: 4.8.3 (for React Native)
- Android SDK (target API): 33
How to Upgrade Your Apps
For information on upgrading Mobile SDK apps, follow the instructions at Migrating from the Previous Release.
Deprecations
Check your compiler warnings, or see Android Current Deprecations.
Salesforce Mobile SDK 10.1.1
What's New in Salesforce Mobile SDK 10.1.1
Mobile SDK 10.1.1 restores use of the Lock App After timeout setting from the org's Connected App settings for your mobile app. When set, the mobile app locks after it has been in the background for longer than the timeout period. Locking occurs when the mobile app is activated. Unlocking the app remains the same.
How to Upgrade Your Apps
For information on upgrading Mobile SDK apps, follow the instructions at Migrating from the Previous Release.
Deprecations
Check your compiler warnings, or see Android Current Deprecations.