Releases: forcedotcom/SalesforceMobileSDK-Android
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.
Salesforce Mobile SDK 10.1.0
What's New in Mobile SDK 10.1.0
Mobile SDK 10.1.0 is a minor release that includes bug fixes, performance enhancements, feature additions, and updates.
How to Upgrade Your Apps
For information on upgrading Mobile SDK apps, follow the instructions at Migrating from the Previous Release.
Feature Additions and Updates
MobileSyncExplorerKotlin Template
The full power of Mobile Sync, using Kotlin and Jetpack Compose for your use as an app template. See MobileSyncExplorerKotlinTemplate.
REST API Methods for Briefcase Priming Records
REST request factory method and response parser for the Briefcase Priming Salesforce API.
REST API Methods for sObject Collections
REST request factory methods and response parser for the following sObject Collections operations:
Create
Retrieve
Update
Upsert
Delete
Briefcase Sync Down Target
New standard target for downloading and locally synchronizing records from an org's briefcases.
Collection Sync Up Target
A new sync up target that uses sObject Collections for improved performance. It is the new default when creating a sync up target without specifying an implementation class.
External Component Version Updates
Gradle: 7.2.1
SQLCipher: 4.5.1
SQLite: 3.37.2
Salesforce Mobile SDK 10.0.0
What's New in Salesforce Mobile SDK 10.0.0
Mobile SDK 10.0 is a major trust release. It includes breaking API changes, bug fixes, performance enhancements, minor feature additions, and updates. In major releases, we remove items in native libraries that were deprecated in interim releases. For your convenience, we've compiled lists of deprecated and removed native APIs.
What’s New for Native Android
Binary Storage in Key-Value Stores
Key-value stores now support secure binary storage using existing Mobile SDK APIs. See Using Key-Value Stores for Secure Data Storage.
API Version Updates
- Minimum API: Android Nougat (API 24)
- Target API: Android 12 (API 32)
- Default SDK version for hybrid apps: Android 12 (API 32)
Removed APIs
See Android APIs Removed in Mobile SDK 10.0.
Deprecated APIs
Check your compiler warnings, or see Android Current Deprecations.
SmartStore Updates
WAL for Android
Mobile SDK 10.0 implements write-ahead logging (WAL) in SQLCipher for Android. Although SQLCipher's concurrent read-write support remains blocked on Android, lower-level updates bring measurable improvements to SmartStore performance.
Feature Deprecations
Due to improvements in third-party modules, SmartStore is now fully capable of handling large data sets. Therefore, the external storage feature and the SoupSpec
class have been deprecated for removal in Mobile SDK 11.0. See Android Current Deprecations.
External Component Version Updates
- SQLCipher: 4.5.0
- SQLite: 3.36.0
- React Native: 0.67.1
- Cordova for Android: 10.1.1
- Cordova command line: 11.0.0
- node.js: 12.0 to latest LTS version
How to Upgrade Your Apps
For information on upgrading your apps, follow the instructions at Migrate All Apps from 9.2 to 10.0.