What Was New in Recent Releases

Here’s an archive of What’s New bulletins from recent Mobile SDK releases.

Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.

Mobile SDK 11.1.0 is a minor release that features modernized support for iOS and 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.

These changes apply to more than one platform.

  • Cordova for Android: 12.0.1

  • Cordova for iOS: 7.0.1

  • React Native: 0.70.14

We’ve successfully tested Mobile SDK for compatibility with iOS 17 and XCode 15. See iOS 17 Release Notes.

We’ve introduced support for Swift Package Manager, which can now be used to bring Mobile SDK into applications.

Check your compiler warnings, or see iOS Current Deprecations.

We’ve successfully tested Mobile SDK for compatibility with Android 14. See Android Version 14.

We’ve modernized the Mobile Sync Library on Android.

Although we don’t typically require consuming code changes in minor releases such as Mobile SDK 11.1, our modernized Mobile Sync library requires consuming code changes in some cases. For example, constants that were once imported from a class in Java are now imported from a companion object in consuming Kotlin code.

  • 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.

We’ve fixed these bugs related to advanced auth.

  • If Chrome wasn’t found during the advanced auth flow, Android users were presented with an error and couldn’t 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’ve 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.

Check your compiler warnings, or see Android Current Deprecations.

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.

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.

These changes apply to more than one platform.

  • The default authentication on iOS and Android now uses Web Server Flow instead of User-Agent Flow. See OAuth 2.0 Web Server Flow.
  • Device system biometric authentication for logins. See Biometric Authentication.
  • Reworked multi-app SSO flows and configurations with identity providers. See Identity Provider Apps.
    External Component Version Updates

    SQLCipher: 4.5.4 (iOS and Android)

    SQLite: 3.41.2

    Cordova for Android: 11.0.0

    Cordova for iOS: 6.3.0

    Cordova Command Line: 12.0.0

See also: General Updates in Mobile SDK 11.0

Version Updates

Deployment target: 15

Base SDK version: 16

Xcode: 14

Removed APIs

See iOS APIs Removed in Mobile SDK 11.0.

Deprecated APIs

Check your compiler warnings, or see iOS Current Deprecations.

Mobile SDK 10.2 is an interim release that features non-breaking API changes and modernized platform support.

iOS 16 Compatibility

We’ve successfully tested Mobile SDK for compatibility with iOS 16. See iOS 16 Release Notes.

Version Updates

SQLite: 3.39.2

SQLCipher: 4.5.2

React Native: 0.70.1

ShellJS: 0.8.5 (for command line tools)

TypeScript: 4.8.3 (for React Native)

Deprecated APIs

Check your compiler warnings, or see iOS Current Deprecations.

Android 13 Compatibility

We’ve successfully tested Mobile SDK for compatibility with Android 13. See Android Version 13.

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

Deprecated APIs

Check your compiler warnings, or see Android Current Deprecations.

Version Updates

React Native: 0.70.1

Mobile SDK 10.1.1 is a minor patch release. 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.

Mobile SDK 10.1.0 is a minor release that includes bug fixes, performance enhancements, feature additions, and updates.

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.

These changes apply to more than one platform.

REST API Methods for Briefcase Priming Records (iOS, Android)

REST request factory method and response parser for the Briefcase Priming Salesforce API. See Briefcase Priming Records.

REST API Methods for sObject Collections (iOS, Android, React Native)

REST request factory methods and response parser for the following sObject Collections operations:

Briefcase Sync Down Target (iOS, Android)

New sync down target for downloading and locally synchronizing records from an org's briefcases. See Using the Briefcase Sync Down Target.

Collection Sync Up Target using sObject Collections (iOS, Android)

New sync up target that uses sObject Collections to improve performance. If you don't specify an implementation class ("androidImpl" or "iOSImpl") in your sync up target configuration, Mobile SDK automatically uses CollectionSyncUpTarget. See Using the sObject Collection Sync Up Target.

External Component Version Updates

SQLCipher: 4.5.1 (iOS and Android)

SQLite: 3.37.2

Gradle: 7.2.1

See also General Updates in Mobile SDK 10.0.

Version Updates

SQLCipher: 4.5.1

SQLite: 3.37.2

Deprecated APIs

Check your compiler warnings, or see iOS Current Deprecations.

See also General Updates in Mobile SDK 10.0.

MobileSyncExplorerKotlin Template

A new Android app template that demonstrates the full power of Mobile Sync, using Kotlin and Jetpack Compose: https://github.com/forcedotcom/SalesforceMobileSDK-Templates/tree/dev/MobileSyncExplorerKotlinTemplate

Version Updates

SQLCipher: 4.5.4

SQLite: 3.41.2

Gradle: 7.2.1

Deprecated APIs

Check your compiler warnings, or see Android Current Deprecations.

See also General Updates in Mobile SDK 10.0.

Version Updates

React Native: 0.70.14

Version Updates

SQLCipher: 4.5.4 (iOS and Android)

SQLite: 3.41.2

See also General Updates in Mobile SDK 10.0.

Briefcase Sync Down Target (iOS, Android)

New sync down target for downloading and locally synchronizing records from an org's briefcases.

Collection Sync Up Target using sObject Collections (iOS, Android)

New sync up target that uses sObject Collections to improve performance. If you don't specify an implementation class in your sync up target configuration, Mobile SDK automatically uses CollectionSyncUpTarget.

Mobile SDK 10.0.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 native APIs.

These changes apply to more than one platform.

Binary Storage in Key-Value Stores

Key-value stores in native iOS and Android now support secure binary storage APIs. See Using Key-Value Stores for Secure Data Storage.

External Component Version Updates

React Native: 0.67.1

Cordova for iOS: 6.2.0

Cordova for Android: 10.1.1

Cordova command line: 11.0.0

SQLCipher: 4.5.0 (iOS and Android)

SQLite: 3.36.0

node.js: 12.0 to latest LTS version

Binary Storage in Key-Value Stores

Key-value stores now support secure binary storage with new Mobile SDK APIs. See Using Key-Value Stores for Secure Data Storage.

Widgets in the MobileSyncExplorerSwift Template App

We've added a Recent Contacts widget to this template.

Version Updates

Deployment target: 14

Base SDK version: 15

Xcode: 13

Removed APIs

See iOS APIs Removed in Mobile SDK 11.0.

Deprecated APIs

Check your compiler warnings, or see iOS Current Deprecations.

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.

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 11.0.

Deprecated APIs

Check your compiler warnings, or see Android Current Deprecations.

Version Updates

React Native: 0.67.1

Version Updates

Cordova for iOS: 6.2.0

Cordova for Android: 10.1.1

Cordova command line: 11.0.0

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, the external storage feature and the SoupSpec class have been deprecated for removal in Mobile SDK 11.0. SmartStore is now fully capable of handling large data sets. See Android Current Deprecations and iOS Current Deprecations.

Version Updates

SQLCipher: 4.5.0 (iOS and Android)

SQLite: 3.36.0

Mobile SDK 9.2.0 is an interim release that features non-breaking API changes and modernized iOS 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.

These changes apply to more than one platform.

Passcode Removal

We’ve removed app-specific passcodes from iOS and Android apps in favor of mobile operating system security. Mobile SDK still honors an org’s passcode requirement but ignores passcode length, passcode timeout, and biometric settings from a connected app. For customers who’ve already configured a device lock screen or biometric unlock, this upgrade is seamless. For others, the new app lock screen prompts the customer to configure an authentication mode. When the customer reactivates the app from the background, the device passcode, rather than an app-specific passcode, is required. See About Login and Passcodes (iOS) and Using Passcodes (Android).

Cordova

  • iOS: 6.2.0
  • Android: 10.1.0
React Native

0.66.0 (iOS and Android)

SQLite

3.34.1

SQLCipher

4.4.3 (iOS and Android)

Mobile SDK 9.1.0 is an interim release that features non-breaking API changes and modernized iOS 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.

These changes apply to more than one platform.

Key-Value Stores (iOS, Android)

  • Key-value store version 2 debuts in 9.1. With version 2, you can use key-value store APIs to retrieve all keys from the store.
  • The Inspect Key-Value Store option of the Dev Support menu now lets you search for all keys that match a given partial or whole key name.
  • For details of these features, see Using Key-Value Stores for Secure Data Storage.
iPad Support in Sample Apps

REST API Wrapper Update

  • We’ve added a batchSize parameter to requestForQuery methods of SFRestApi (Objective-C) and RestClient (Swift). Use this parameter to specify a preferred number of records to be returned in each fetch. Permissible values range from 200 to 2,000 (default setting). To allow for run-time performance adjustments, Mobile SDK doesn’t guarantee that your requested size will be the actual batch size.
Deprecations

REST API Wrapper Update

  • We’ve added a batchSize parameter to the RestRequest.getRequestForQuery method. Use this parameter to specify a preferred number of records to be returned in each fetch. Permissible values range from 200 to 2,000 (default setting). To allow for run-time performance adjustments, Mobile SDK doesn’t guarantee that your requested size will be the actual batch size.
Deprecations

Check your compiler warnings, or see Android Current Deprecations.

SmartStore

Smart SQL no longer requires index paths for all fields referenced in SELECT or WHERE clauses. See Smart SQL Queries.

SOQL Sync Down Target Enhancement

You can now configure the size for SOQL sync down batches. You can specify any value from 200 to 2,000 (default value). See Using the SOQL Sync Down Target.

General

These changes apply to more than one platform.

Developer Tools

(iOS, Android) The Dev Support menu now provides a new utility: Inspect Key-Value Store. In-App Developer Support

External Component Version Updates

  • SQLCipher (iOS, Android): 4.4.2
  • SQLite (iOS, Android): 3.33.0
  • yarn: 1.22
  • Cordova:
    • iOS: 6.1.1
    • Android: 9.0.0
iOS

iPadOS Support

  • Implemented multiple window support for iPadOS. This new feature requires changes to existing apps that intend to run on iPads. See Supporting iPadOS in Mobile SDK Apps.
  • Improved support for landscape mode on iPadOS. (Other than updating to Mobile SDK 9.0, no app changes required.)

Version Updates

  • Deployment target: iOS 13
  • Base SDK: iOS 14
  • Xcode: 12
  • CocoaPods: 1.8.0 (no maximum)

Deprecations

  • Check your compiler warnings, or see iOS Current Deprecations.
  • The Carthage framework manager is no longer officially supported.
Android

Version Updates

Target API: Android 11 (API 30)

Deprecations

Check your compiler warnings, or see Android Current Deprecations.

React Native

TypeScript Now Supported

Mobile SDK’s implementation of React Native now supports TypeScript for app development in addition to standard JavaScript. Mobile SDK libraries for React Native now also use types. TypeScript requires you to install the TypeScript compiler. React Native Development

Version Updates

React Native version: 0.63.4

Mobile Sync

Parent-Child Sync Up Adds externalIdField Parameter

The new externalIdField parameter for parent-child sync up matches the functionality added for basic sync operations in Mobile SDK 8.0. Syncing Up by External ID.