Android SDK Release Notes
# 10.2.2
Released Feb 06, 2024
BugFixes and Performance improvements.
# Changes
- Fixed memory leaks.
- Quick reply and return to chat UI glitch fixed.
# Integration changes
No integration changes.
# 10.2.1
Released Oct 25, 2023
Added Markdown with rich text support.
# Changes
- Added markdown framework
- Enable message buttons during live chat
# Integration changes
No integration changes.
# 10.1.3
Released Sep 18, 2023
Bug fix release.
# Changes
- Fix delay in displaying welcome back event message
- Light mode navigation bar bugfix
# Integration changes
No integration changes.
# 10.1.2
Released Apr 11, 2023
Copy updates.
# Changes
- Changed wording for retry connect
# Integration changes
No integration changes.
# 10.1.1
Released Mar 07, 2023
Bug fix release.
# Changes
- Fix input mask exception
- Change CUI label accessibility flag to isDecorative
# Integration changes
No integration changes.
# 10.1.0
Released Jan 27, 2023
Updates for SDK dependencies, improved build, and update to the Login handler interface (see Integration Changes).
# Changes
- Reduce build warnings
- Fix auth metric metadata
- Update Android libraries
# Integration changes
Please note that ASAPP.instance.userLoginHandler
is now deprecated, and should be replaced with ASAPP.instance.userLoginResultHandler
. Please refer to the docs.asapp.com documentation for more details on how to use it.
Note that this change is due to the fact that the older handler relies on the now deprecated onActivityResult
Android API, a mechanism which is being replaced with ActivityResultLauncher
.
# 10.0.0
Released Nov 29, 2022
Major update containing user experience improvements, bug fixes, and dependency updates. Notably, the minimum supported Android API has been updated to 23.
# Changes
# New features and updates
- Increase minSdk to 23 and targetSdk to 31
- Use EncryptedSharedPreferences and remove Hawk
- Add i18n support
- Add navigation bar customization option
- Truncate unread messages number at 99+
# Bug fixes
- Fix: autosuggest should hide when a user taps out of the input
- Fix: have only one GSON instance
- Fix: EWT progressbar direction
- Fix: CUI form error feedback
- Fix: unread message badge position
- Fix: missing space between message bubble and card
- Fix: chat input paper clip icon is needed to be rotated a bit
- Fix: CUI form field editing long texts
- Fix: input masking UX for long strings
- Fix: confirmation and fullscreen titles should be header2
- Fix: button icon color on API 23
- Fix: tapping input fields do not raise the keyboard
- Fix: redaction rules not being redacted immediately
- Fix: app crashes after choosing new language
- Make sure authenticate() reset hasPendingAuthRequest in case of exceptions
- Fix: chosen language is not saved in Select App Languages section
- Fix: Are you sure? action sheet button view
- Fix: full screen text width
- Fix: dropdown does wrap the width items like Web
- Fix: filled mandatory field still tells you to fill it in a form
# Accessibility updates
- Provided textual equivalents for all non-text elements including sounds and images
- Ensure all controls and non-decorative content support accessibility
- Provide valid labels for all form elements
- Scale View accessibility updates
- Accessibility updates
- Add accessibility headings to header CUI labels
# Other internal updates
- Move slack hooks to CI vars
# Integration changes
- The minimum supported Android API was updated to 23.
# 9.2.1
Released Sep 27, 2022
Hotfix release.
# Changes
- Fixed an issue where a loading screen persisted after successful token refresh.
- Fixed an issue where a local redaction rule did not always apply immediately.
# Integration changes
No integration changes.
# 9.2.0
Released Jul 22, 2022
UI improvements and bug fixes.
# Changes
- Updates to button styles
- Fix Component UI gravity default settings
- Fix EWT message for customer position in queue
- Fix error message being replaced by connected feedback
- Fix CUI dialog title alignment to match setting
- Fix chat input line breaking and scrolling
- Fix failing gracefully on SDKSettings API error
- Fix End Chat text disappearance after agent ends chat
- Fix error messages on actions after foregrounding chat
- Fix calendar doesn’t fit on the screen issue
- Fix message button corner radius
- Fix chat Instead label text casing
- Fix empty UI state edge case after resuming app
- Fix multiple popup bug that triggered when tapping leave button quickly
# Integration changes
No integration changes
# 9.1.2
Released Mar 21, 2022
Bug fixes and a small UX improvement.
# Changes
- Update send icons and hint colors.
- Fix uninitialized property exception in fragment.
- Fix UI state and PN token registration for expired anonymous users.
# Integration changes
No integration changes.
# 9.1.1
Released Feb 25, 2022
Bug fix release.
# Changes
- Fix issue for apps targeting API 31+: PendingIntent issue creation exception.
- Fix unread message count reset on loading earlier messages.
- Fix repeating animations on long quick reply lists.
# Integration changes
No integration changes.
# 9.1.0
Released Jan 27, 2022
Improvements to form components and bug fixes.
# Changes
- Add placeholder to form dropdown component.
- Truncate form dropdown component on selected items.
- Updates to Text Styles.
- Fix Text Input focus issue.
- Fix Dropdown popup background color on API 21.
- Fix EWT progress bar color on API 21.
- Fix exception on empty Input Masking placholder.
- Fix text field changing width on user input.
- Fix setting custom user context retriever for anonymous.
- Fix width for Dropdown and Date form components.
# Integration changes
No integration changes.
# 9.0.1
Released Jan 5, 2022
Bug fixes and dependency updates.
# Changes
- Updates: Java 11, Gradle 7.0.3, Kotlin 1.5.31, and Moshi 1.12.0.
- Fix rare out-of-bounds exception when scrolling and receiving messages.
- Fix issues deregistering push notification tokens.
- Fix DrawerView caret color for dark mode.
# Integration changes
No integration changes.
# 9.0.0
Released Nov 11, 2021
Update Chat SDK to target API 30.
# Changes
- Target Android API 30.
- Library updates: Retrofit 2.9.0, OkHttp 4.9.1, and Coroutines 1.5.2.
# Integration changes
- Target Android API 30: this is now the minimum target that an application must use to integrate Chat SDK.
# 8.5.2
Released Nov 2, 2021
Bug fixes, dependency updates and minor improvements.
# Changes
- Add UncaughtExceptionHandler to improve on SDK crash reporting.
- Fix intermittent incorrect start UI state.
- Fix CheckBox and Separator components colors.
- Fix conversation status callbacks to run on main thread.
- Android dependency minor version updates.
# Integration changes
No integration changes.
# 8.5.1
Released Oct 12, 2021
Adds push notification capability for unauthenticated users.
# Changes
- Add register PN tokens for unauthenticated users.
- Fix Component UI style settings for Gravity, Align and TextAlign.
# Integration changes
No integration changes.
# 8.5.0
Released Aug 27, 2021
Using new and more performant chat history API, plus other improvements and bug fixes.
# Changes
- Implement new event history API and ULIDs.
- Implement new Component UI Custom HTTP Post action.
- Improve accessibility by using a list view for quick replies.
- Improve user feedback on Confirmation Modal.
- Improve error feedback for Confirmation Modal.
- Improve metric reports on open chat failures.
- Fix duplicate quick replies on repeated clicks.
- Fix duplicate API calls on multiple clicks in Confirmation Modal.
- Fix issue changing text inputs while submitting Component UI forms.
- Fix Component UI weight distribution for horizontal layouts.
- Fix message image URL by using cached company ID.
# Integration changes
No integration changes.
# 8.4.1
Released Jul 12, 2021
Improve reliability of user message sending, along with bug fixes and other improvements.
# Changes
- Improve sent message reliability
- Add metrics for file upload requests
- Disable all form buttons while submitting
- Allow Link, Deeplink, Web actions to run without websocket connection
- Improve animation for multiple incoming messages
- Improve animations between new question and quick reply states
- Fix incorrect bubble background after displaying inline form
- Fix Chat Instead to use configured Company Marker
- Fix persistent notification usage of conversation state
- Fix end chat modal to dismiss after chat ends remotely
- Fix metrics hostname to update with config changes
- Fix empty uiMessageId string
- Fix EWT polling lifecycle
- Fix incorrect inset displayed with keyboard
- Remove New Question button from Inline Forms
- Remove session memory caching
- Remove deprecated SDK setting
# Integration changes
- No integration changes.
# 8.4.0
Released May 12, 2021
Release of Persistent Notifications, bug fixes, and improvements.
# Changes
- Implement Persistent Notifications while in a live chat or in queue. This feature will automatically surface a persistent notification when a user joins the queue or is connected to a live agent.
- Add support null conversation state from API
- Add debounce typing preview to reduce network load
- Add metrics for dark mode and PN settings on open chat
- Add new automated QA build pipeline
- Update text styles and colors for Spinner
- Fix Chat Instead Fragment to use ASAPP theme colors
- Fix hide dialog if moving to Live Chat
- Fix quick replies sporadically displaying again after tapping one
- Fix memory leak
- Fix text message length limit
- Fix feedback banner state after onStop
- Fix toolbar not displayed while loading
- Fix text type crash
- Fix feedback banner changes while not visible
- Refactor: Remove/move dependencies from JCenter
- Refactor: Wrap log spike
- Refactor: Use View Binding
# Integration changes
No integration changes required. One integration improvement: When using Chat Instead, a new extra theme/color definition is no longer required. Chat Instead will use the usual ASAPP customizable theme.
# 8.3.0
Released April 1st, 2021
Add Avoid Two Concurrent Issues feature, accessibility improvements and bug fixes.
# Changes
- Implement Avoid Two Concurrent Issues (a.k.a. Channel Blocker). This feature prevents a customer from having an authenticated chat and an authenticated call concurrently.
- Accesibility improvements:
- Improve Carousel navigation
- Add headings to chat and forms
- Improve color contrasts
- Add more unit tests
- Refactors and other updates:
- Move from Rx to Coroutines
- Update moshi to 1.11.0
- Update coroutines to 1.4.2
- Update kotlin to 1.4.20
- Bug fixes:
- Fix issue on camera picture uploads on latest Android versions
- Fix issue when deregistering device token
- Fix feedback banner stuck on screen
# Integration changes
No integration changes.
# 8.2.1
Released March 24, 2021
This release fixes a bug that crashed the app when ASAPP.init
was not called at App creation.
# Changes
- Fix file uploader crash
# Integration changes
No integration changes.
# 8.2.0
Released Febuary 11, 2021
Bug fixes and accessibility improvements.
# Changes
- Update Dark Mode colors
- Add metrics and update the metrics library
- Fix Quick Replies while in Live Chat (or In Queue)
- Fix keyboard being displayed when entering In Queue
- Fix memory leak
- Accessibility: Update Scale component icon and color
- Accessibility: Fix Dropdown empty content description
- Accessibility: Fix scrollbar focus behavior
- Accessibility: Fix focus loss when selecting in a ScaleView
- Accessibility: Remove TalkBack announcement from radio buttons container
# Integration changes
No integration changes.
# 8.1.0
Released Febuary 3, 2021
This release adds support for ASAPP’s Estimated Wait Time functionality.
# Changes
- Improve handling of push notifications
- Fix input state after dismissing inline form
- Display bottom sheet for End Chat
- UI affordances and feature enchancements for Estimated Wait Time (EWT)
- Adapt New Question sheet
# Integration Changes
- New
ASAPP.conversationStatusHandler
: this callback handler is called when an ASAPP push notification is received with updated conversation status. If your application already handles push notifications, please useASAPP.onFirebaseMessageReceived
so that the SDK can handle incoming ASAPP notifications. Note that this replaces the need to useASAPP.getConversationStatusFromNotification
, which will be removed from the next major release. - New
ASAPP.onFirebaseMessageReceived
: this function processes an incoming push notification message from Firebase. If this message originates from ASAPP and contains conversation status updates,ASAPP.conversationStatusHandler
will be triggered. - Deprecated
ASAPP.getConversationStatusFromNotification
in favor ofASAPP.conversationStatusHandler
. Please note thatASAPP.getConversationStatusFromNotification
will be removed from the next major release of the SDK. - Deprecated
ASAPP.getConversationStatus
in favor ofASAPP.fetchConversationStatus
. Please note thatASAPP.getConversationStatus
will be removed from the next major release of the SDK.
# 8.0.1
Released Oct 23, 2020
This release brings bug fixes along with updates to chat dependencies.
# Changes
- Fix incorrect text color on Alert Dialog in night mode
- Fix sending empty messages
- Update
retrofit
and other Chat SDK dependency libraries
# Integration changes
No integration changes.
# 8.0.0
Released Sep 11, 2020
Major release including support for Dark Mode and ASAPP’s new “Chat Instead” feature.
# Changes
# Dark Mode & SDK customization
- Add Dark Mode support for Chat SDK
- Add Text Style customization via handler for dynamic updates
- Add support for button customization
- Remove deprecated styles
# “Chat Instead” Support
- Add new Chat Instead user interface
- Add
ASAPPChatInstead
API, Actions, Metrics and Views - Add Chat Instead support for Tablets
- Add Dark Mode support to ChatInstead
# Other changes
- Fix text input issues with icon paddings
- Fix button with icon issues
- Fix chat state if received messages while in Component UI view
# Integration changes
The customization hooks for Chat SDK were heavily updated to accomodate the new support for Dark Mode.
ASAPP customers will receive a migration guide that will detail how to style the updated chat experience. In advance of that guide, the following is a comprehensive list of breaking changes:
- Base customizable colors have changed:
- Added
asapp_on_primary
,asapp_background
, andasapp_on_background
. - Removed all alpha variants for
asapp_primary
. - Removed color
asapp_dark
and all alpha variants.
- Added
- Changed user feedback base colors:
- Color
asapp_warning
is now utilized for yellow / warning feedback. - Added
asapp_failure
(red), andasapp_success
(green).
- Color
- Renamed
asapp_statusBar
toasapp_status_bar
. - Removed color
asapp_form_selected_button_bg_color
. Useasapp_control_tint
,asapp_control_secondary
, andasapp_control_background
instead. - Removed colors
asapp_chat_bg_start
andasapp_chat_bg_end
. Messages background color can be customized viaasapp_messages_list_background
(or assumed to beasapp_background
). - Removed option
asapp_enableWindowLightStatusBar
, this is now calculated dynamically. - Removed
ASAPPStyleConfig
functionssetPrimaryBackButtonColorOverlay
andsetSecondaryBackButtonColorOverlay
. To customize navigation bar buttons (back and overflow button), override the theme attributeasapp_nav_button
. - Removed
asapp_overflow_menu_icon
. To customize the toolbar overflow menu icon, useasapp_overflow_menu_drawable
instead. - Changed
asapp_show_pill_button
attribute to boolean type. If your application used<item name="asapp_show_pill_button">1</item>
, you should replace it by<item name="asapp_show_pill_button">true</item>
.
# 7.0.0
Released Jul 17, 2020
Chat SDK targeting Android API 29 and other bug fixes.
# Changes
- Chat SDK targeting Android API 29
- Add Chat SDK R8 minification rules
- Remove deprecated init() public function
- Fix form values cast into strings
- Fix flash when resuming chat
- Fix component UI action parsing
# Integration changes
- Applications are now required to target Android API level 29 or higher.
- Removed public function
ASAPP.init(Application, ASAPPConfig, Boolean)
, please useASAPP.init(Application, ASAPPConfig)
instead.
# 6.0.0
Released May 26, 2020
Migrates Chat SDK to use AndroidX libraries.
# Changes
- Move to AndroidX
# Integration changes
From this release forward, applications must use Android X to utilize Chat SDK.
# 5.6.3
Released June 11, 2020
Hotfix for SDK Metrics model serialization.
# Changes
- Fix issue with SDK metrics library model serialization
# Integration changes
None.
# 5.6.2
Released June 04, 2020
This release fixes issues with model serialization.
# Changes
- Update metrics version to fix issue with Moshi
# Integration changes
None.
# 5.6.1
Released May 22, 2020
# Overview
Release 5.6.1 includes fixes to expired token refresh logic and to error flows.
Note: this version is the Long Term Support (LTS) version, being the last pre-AndroidX SDK release.
# Changes
- Fix expired token retry user experience
- Fix issue where loading screen overlapped with chat
- Fix error/loading screen clicks passthrough
- Add SonarQube analysis
# Integration changes
None.
# 5.6.0
Released May 13, 2020 Release 5.6.0 includes bug fixes, better metrics, and minor improvements.
# Changes
- Validate large free text input API error
- Add more Metrics
- Fix various UI bugs
- Improve UI for ignored messages
- Add GPG to Bintray
# Integration changes
None.
# 5.5.0
Released March 30, 2020
# Overview
Migrating from Glide to Picasso image management library. This improves compatibility and reduces the overall size of the Chat SDK.
# Changes
- Replace Glide with Picasso
- Fix crash caused by Rx blockingGet
- Various refactoring
# Integration changes
None.
# 5.4.2
Released March 06, 2020
# Overview
Metrics and logs improvements for debugging.
# Changes
- Additional metrics and logging to support internal debugging
- Refactor method used to close websockets
# Integration changes
None.
# 5.4.1
Released February 25, 2020
# Highlights
Bug fixes. Deprecated ASAPP.getConversationStatusFromNotification
utility function.
- Adjust verbosity in metrics logs
- Fix no confirmation dialog on new question
- Fix inline form not properly dismissing
- Fix focus state in component UI text inputs
# Integration changes
This release does not have any changes that break backwards compatibility. However, we are deprecating the ASAPP.getConversationStatusFromNotification utility function, which we plan on removing in the next major release. Please use ASAPP.getConversationStatus instead to get live conversation status.
# 5.4.0
Released January 16, 2020
# Highlights
Mostly just bug fixes.
- Added additional validation for large free text input via the UI
- Fixed an error that caused the paginator to malfuction after chat was minimized
- Fixed an error that resulted in duplicate Event Log messages
- Fix a memory leak
- Fixed a crash caused by a call to OnDestroy when ASAPP is not initialized
# Integration changes
None.
# 5.3.1
Released December 18, 2019
This release provides a few mostly cosmetic fixes:
- Fix the layout of error messages
- Fixed a bug where quick replies would be missing from the UI
- Adjusted the background color of the notification banner
- Added support for escaped asterisks in Input Masking
# 5.3.0
Released December 13, 2019
This release incorporates a brand new metrics library, and updates the SDK target Android API to level 28.
Includes:
- Add Metrics
- Update Target SDK Version to API level 28
- Remove Expired Credentials error view and use Login view
- Fix corner radius values
- Fix progress bar issues
- Decouple Component UI from ChatRepository et al.
- Setup Espresso UI tests
- Injecting custom layout manager
- Instrument more metrics
- Update Kotlin
- Move metrics to its own repo
- Add optimistic rendering for SRS messages
- Inline Form still present after receiving new messages
- Deprecated ASAPP.init push notification argument
- Use timeout value from SDK Settings
- Fail pending message in case of network errors
- Toggle QR even if there’s a cutout
# 5.2.1
Released October 11, 2019
Hotfix: Prevent multiple initializations
# 5.2.0
Released October 03, 2019
This release implements Input Masking, which enhances UI and error checking for structured input fields.
# 5.1.2
Released September 19, 2019
Bug fix release.
- Update OkHttp to 3.11.0
- Remove Kotlin Reflection dependency
# 5.1.1
Released September 03, 2019
Bug fix release.
- Fix SDK Settings lost by Redux State reset
- Fix incorrect error page on tablet orientation change
# 5.1.0
Released July 28, 2019
This release implements Inline Forms, which provides the abilty to capture structured information within the context of a chat. Instead of presenting a separate modal interface that shows a form, simple form elements can be presented natively inline with the caht.
# What’s New
- Implement Inline Forms
- Only show the progressbar when it’s an inline form
- Prevent dialogs with inline forms
# Bug fixes
- Fix invalid red connection error banner
- Messages view keyboard focus fix
- Remove debouncer from main thread
- Fix behavior when flow expires
# 5.0.0
Released July 18, 2019
This is a Major release, containing many new improvements and fixes!
Most notably, the SDK is now distributed via a private maven repository.
# What’s New
- Setup Android SDK distribution with Bintray
- Update minimum Android SDK version to 21
- Security improvement: encrypt cached data
- Add constant for open chat intent
- Remove deprecated interfaces
- Handle session_not_found auth error
- Hide errors once user fills any input form field
- Remove notification banner and related code
# Bug fixes
- Fix boolean refreshContext parameter being ignored on auth result.
- Fix color background on carrousel tabview (AndroidX only)
# Integration Changes :warning:
Please check the provided documentation for up-to-date references.
- SDK should now be installed from a private maven repository. Please check the “Migration from 4.x.x” section for more instructions.
- Removed deprecated interfaces:
- Function
ASAPP.tokenRefreshed(token)
was removed. Please useASAPP.updatePushNotificationsToken(token)
instead, as there have been no behavior changes. - Removed
ASAPP.pushTokenHandler
andASAPPPushTokenHandler
interface. Please useASAPP.updatePushNotificationsToken(token)
to add or update the device’s push notification token.
- Function
- Minimum Android SDK version is now 21.
# Migration from 4.x.x
- What you will need:
- Access to ASAPP Chat SDK Bintray repository: https://bintray.com/asapp/ChatSDK
- Please contact your ASAPP Deployment Manager if you do not have it.
- Bintray username and API key, which can be retrieved here: https://bintray.com/profile/edit
- Add your Bintray username and API Key to
gradle.properties
. You can add this at project or global level, for example~/.gradle/gradle.properties
:
ASAPP_BINTRAY_USER=my_username
ASAPP_BINTRAY_API_KEY=my_api_key
- Add the Bintray plugin to your
build.gradle
file:
allprojects {
repositories {
maven {
url "https://asapp.bintray.com/ChatSDK"
credentials {
username ASAPP_BINTRAY_USER
password ASAPP_BINTRAY_API_KEY
}
}
}
}
- Replace the previous ASAPP import line and all its dependencies by the following:
implementation "com.asapp.chatsdk:chat-sdk:5.0.0"