Android Release Notes
R14
v1.11.0
- Various bug fixes and performance improvements.
Important Changes
- Android Marshmallow 6.0 (API 23) is no longer supported. The new minimum version target is Android Nougat 7.0 (API 24).
- The Spark Communications Services SDK has been updated to support Android 11 (API 30).
- The example applications now support Android 11.
- The minimum supported Gradle version is now 6.1.1.
R12
v1.9.0
- This is a maintenance release that contains minor improvements and documentation updates.
R11
v1.8.0
- Various bug fixes and performance improvements.
Important Changes
- Android Lollipop 5.0 (API 21) is no longer supported. The new minimum version target is Android Lollipop 5.1 (API 22).
- The Spark Communications Services SDK has been updated to support Android 10 (API 29).
- The Spark Communications Services SDK has been updated to support AndroidX.
- The example applications now support Android 10 and AndroidX.
- The minimum supported Gradle version is now 5.1.1.
R10
v1.7.0
This is a maintenance release that contains minor improvements and documentation updates.
New Features
- Firebase push functionality from the RichChat example application has been moved into the Support library.
R9
v1.6.0
This is a maintenance release that contains minor improvements and documentation updates.
R8
v1.5.0
Important Changes
-
The Support library now
builds as an AAR library. You can continue to include the Support library
as a project dependency or you can include the AAR file as a dependency in
your application's
build.gradle
file. - The Android example applications no longer require a signing key store when building with the debug configuration.
- The Support library generates tokens for sandbox domains with user authentication disabled. These tokens are now more tolerant of clock synchronization differences between client endpoints and the BlackBerry Infrastructure.
New Features
- Voice and video call functionality from the RichChat example application has been moved to the Support library. You can use and extend this functionality to easily add voice or video call support to your application.
R7
v1.4.0
Important Changes
-
BBMEnterpriseCallback.onInvalidPushToken
has been added to let users of the SDK react when the BlackBerry Infrastructure discovers that a push cannot be completed due to expired or invalid push token. Users must generate a new push token and set into the SDK viaBBMEnterprise.setPushToken
. -
The SDK now includes the
arm64-v8a
native libraries. Users can now ensure their applications will be ready to support 32-bit and 64-bit before the Google deadline of August 2019. - The BBM Enterprise SDK has been updated to support Android P (API 28). For more information on migrating to Android P see: https://developer.android.com/about/versions/pie/android-9.0-migration
New Features
- The Global Syncing value indicates when bbmcore is performing reconnect synchronization with the BlackBerry Infrastructure. Your application should ensure that the SDK remains active while the GlobalSyncing value is true.
- Use the private data value of a chat to share chat metadata that needs to be known by all the users endpoints.
- The Android example applications and Support library now support sandbox domains that have user authentication disabled. See the Download & Configure page for instructions on how to set up such a domain.
- The Android example applications now support using Google People for User Management.
Breaking Changes
-
The
Protected
Chat flag has been removed. All chats are always in a protected state. -
The
ChatStart
constructor no longer includes the subject parameter. The subject can optionally be set using thesubject()
method. -
ChatMessage
Ref
andRefBy
tags are aString
value instead of anEnum
. This allows easily setting custom reference tags. If you have existing code using reference tags ensure you are comparing tags usingequals()
.
R6
v1.3.1
- Various bug fixes and performance improvements.
v1.3.0
Important Changes
New Features
- The BlackBerry Key Management Service (KMS) has been introduced to provide an integrated security key storage solution.
Deprecated
- When starting a chat if isOneToOne is true and the chat already exists bbmcore will respond with ChatStartFailed.Reason.AlreadyExists. The listAdd response is still sent but deprecated.
- BBMEnterprise.handlePushNotification(Bundle data) is deprecated and replaced with BBMEnterprise.handlePushNotification(Map<String,String> data).
R5
v1.2.1
- Various bug fixes and performance improvements.
v1.2.0
Important Changes
- The BBM Enterprise SDK has been updated to support Android O (API 26). In addition, the code compatibility has been updated to Java 1.8 from Java 1.7. For more information on migrating to Android O see: https://developer.android.com/about/versions/oreo/android-8.0-migration.html For more information about Java 1.8 on Android see: https://developer.android.com/studio/write/java8-support.html
- The BBM Enterprise SDK now encrypts all private keys in each example. For more information see Cloud Key Storage
-
Deprecated items from R4 have been removed from this
release:
- DeleteMessage
- StopConversation
- MessageStatus
- RecallMessage
- GetMessageStatus
- GetMessageStatusResult
- TypingNotification
New Features
- The BBM Enterprise SDK now includes the x86_64 ABI. This inclusion will let developers use the Android Emulator to run, test, debug your code without the needs to deploy to a real device. For more information on the Android Emulator see: https://developer.android.com/studio/run/emulator.html
- New data connection API which allows sharing data in securely over a peer to peer connection. See the Data Transfer example for a guide on using the data connection API to share files.
- Support Library: UI Widgets The Support Library now includes several reusable UI widgets as well as other related code and utilities. Refer to the Announcements or RichChat application for an example of how to integrate this code into your application.
- Support Library: Analytics The Support Library now includes AnalyticsUtil which can be used to gather and report usage and other information about your application.
- The Support library now supports Azure Active Directory as your Identity Provider, Azure Active Directory for User Management, and Azure Cosmos DB for Cloud Key Storage. Azure support has also been added to Rich Chat and other example applications.
Deprecated
- GlobalHasNewMessage has been deprecated and will be removed in a future release.
Breaking changes
- The BBM Enterprise SDK BbmSdkSupport library has been renamed to BBM Enterprise SDK Support.
New Examples
- DataTransfer Build an application to share files using the BBM Enterprise SDK.
- Announcements Build an application that allows users to send, view, and edit announcements in a chat, and view their change history.
R4
v1.1.0.18
Important Changes
- Android Jelly Bean API 18 is no longer supported. The minimum version target is Android KitKat, API 19+.
New Features
- Multiple Points of Presence The BBM Enterprise SDK now allows applications to have multiple instances running and connected at the same time for the same user. Each endpoint will receive messages and voice and video calls.
- Group chats now support having administrators and InvitePolicies. Chat administrators can remove participants or delete a chat from all users devices. The invite policy can be set to allow invites only by the administrator.
Deprecated
- Chat.isOneToOne has been migrated to Chat.Flag.OneToOne and retains the same usage definition. To determine if a Chat object has the Chat.Flag.OneToOne, use the Chat.hasFlag() method.
- DeleteMessage is deprecated and replaced with ChatMessageDelete. ChatMessageDelete is identical to DeleteMessage but replaces the conversationUri with a chatId.
- StopConversation is deprecated and replaced with ChatHide and ChatLeave. ChatHide and ChatLeave replace the StopConversation.Action.Hide and StopConversation.Action.Leave respectively.
- MessageStatus is deprecated and replaced with ChatMessageRead. ChatMessageRead simplifies MessageStatus by removing the status parameter.
- RecallMessage is deprecated and replaced with ChatMessageRecall. ChatMessageRecall is identical to RecallMessage but replaces the conversationUri with a chatId.
- GetMessageStatus is deprecated and replaced with ChatMessageStateGet. ChatMessageStateGet is identical to GetMessageStatus but replaces the conversationUri with a chatId.
- GetMessageStatusResult is deprecated and replaced with ChatMessageState.
- TypingNotification is deprecated and replaced with ChatTyping. ChatTyping is identical to TypingNotification but replaces the conversationUri with a chatId.
Breaking changes
-
StateAwareList is renamed to
StateAware
- Does not extend ObservableValue
-
Removal of generic constraint
- The change results in a new inheritance chain for ObservableList and allows developers to use the new StateAware interface for more than just lists.
- The displayName property has been removed from the User class. Previously this value was always empty. This change also resulted in the removal of the ProfileChange message, and displayName being removed from ChatInvite, ChatStart, Search and SearchResult.
- BBMERenderViewPort is deprecated and replaced with BBMEVideoRenderer
- BBMECall.getVideoSurfaceView() is deprecated the surface views for video can be obtained from the local and remote BBMEVideoRenderers. Visit the SoftPhone for a guide showing how to add video to a call.
- User.pin replaces the User.pins list.
-
SetupDeviceSwitch
has been removed to support MPoP. Visit the QuickStart example for a guide on the new endpoint setup process. - SearchResult.Elements now includes a chatId instead of a conversationUri.
- The ChatParticipant list replaces the Participant list. ChatParticipant is identical to Participant but replaces the conversationUri with a chatId.
- The Typing list replaces the TypingUser list. Typing is identical to TypingUser but replaces the conversationUri with a chatId.
New Examples
- SoftPhone Build an application with voice and video calling using the BBM Enterprise SDK.
- Whiteboard Build a shared white board application with the BBM Enterprise SDK.
- QuickStart replaces the Basic Setup example from R3.
Logging
- You can now control the native logging of the BBM
Enterprise SDK.
-
Use the
<meta-data android:name="com.bbm.sdk.NativeMinLogLevel" android:value="android.util.Log.DEBUG"/>
manifest flag to control the native log level and the<meta-data android:name="com.bbm.sdk.logToFiles" android:value="android.util.Log.DEBUG"/>
flag will redirect native logging into logcat.
-
Use the
R3
v1.0.0.28
- The first release of BBM Enterprise SDK for Android