Releases: nice-devone/nice-cxone-mobile-sdk-android
3.2.2
CXone Chat SDK for Android - Release Notes
Version: 3.2.2
Date: April 23, 2026
🎯 Release Highlights
Patch release correcting the visibility of the "Send Transcript" option in the End Conversation sheet for LiveChat channels that have transcripts disabled.
Top highlights:
- Send Transcript visibility fix — The option is now correctly hidden when
liveChatAllowTranscriptisfalsein the channel configuration
🐛 Bug Fixes
- Send Transcript visibility: Fixed the "Send Transcript" action row in the End Conversation bottom sheet always being visible regardless of channel configuration. The option is now gated behind the
liveChatAllowTranscriptflag received from the chat configuration.
⚠️ Known Issues
None.
3.2.1
CXone Chat SDK for Android - Release Notes
Version: 3.2.1
Date: March 31, 2026
🎯 Release Highlights
Patch release fixing the EndContact dialog reappearing after dismissal in LiveChat mode. The dialog would re-trigger on every Activity recreation because the isArchived StateFlow (WhileSubscribed) restarted from its initial false value, causing a false-to-true transition that unconditionally called showEndContactDialog().
Top highlights:
- EndContact Dialog Fix — Prevents the EndContact dialog from reappearing after user dismissal during LiveChat sessions
🐛 Bug Fixes
- Prevent EndContact dialog from reappearing: Fixed issue where the EndContact dialog re-triggered on Activity recreation in LiveChat mode due to
isArchivedStateFlow restarting from its initialfalsevalue
Known Issues
Send Transcript visibility — The option is incorrectly shown when liveChatAllowTranscript is false in the channel configuration
3.2.0
CXone Chat SDK for Android - Release Notes
Version: 3.2.0
Date: February 26, 2026
🎯 Release Highlights
This release introduces two major new features — Send Transcript and OAuth Token Exchange — along with a security-focused migration from deprecated EncryptedSharedPreferences to Google Tink for secure storage. The release also includes 6 bug fixes, notably resolving a network reconnect issue, and 14+ dependency upgrades.
Top highlights:
- Send Transcript — Users can now send a transcript of their chat conversation directly from the SDK UI
- OAuth Token Exchange — New Transaction Token Exchange flow for OAuth authentication
- Tink Secure Storage Migration — Secure storage migrated from deprecated
EncryptedSharedPreferencesto Google Tink for improved cryptographic security - Network Reconnect Fix — Fixed loading overlay not appearing and chat not reconnecting after network is restored
- Dependency Upgrades — 14+ library upgrades including Kotlin/KSP, Compose BOM, OkHttp, Firebase, and Coil
✨ New Features
- Send Transcript: Integrated send transcript feature into the SDK and UI, allowing users to receive a conversation transcript
- OAuth Token Exchange: Implemented Transaction Token Exchange support for OAuth authentication flows
📚 Documentation
- OAuth Token Exchange: Third-Party OAuth Authentication — implementation guide covering the Transaction Token Exchange flow, token lifecycle, and integration examples
🐛 Bug Fixes
- Fixed loading overlay not appearing and chat not reconnecting after network is restored
- Fixed threading issue during captured media retrieval
- Fixed audio permission request flow on Android 15
- Fixed
RemoteLoggernot reporting upload failures to secondary logger instance - Fixed loading of metadata being triggered for pending threads
- Aligned confirm button string to use "Submit" consistently across pre-chat survey, send transcript, and list picker
🔄 Dependency Updates
- Secure Storage: Migrated from deprecated
EncryptedSharedPreferencesto Google Tink (tink-android 1.20.0) - Coil 3.1.0 → 3.3.0
- androidx-lifecycle 2.9.4 → 2.10.0
- androidx-navigation and safeargs 2.9.5 → 2.9.7
- androidx-window 1.5.0 → 1.5.1
- androidx.activity:activity-compose 1.11.0 → 1.12.3
- androidx.compose:compose-bom 2025.10.00 → 2026.01.01
- androidx.datastore:datastore-preferences 1.1.7 → 1.2.0
- androidx.security:security-crypto 1.0.0 → 1.1.0
- com.airbnb.android:lottie-compose 6.6.10 → 6.7.1
- com.google.firebase:firebase-bom 34.4.0 → 34.8.0
- koin-annotations 2.1.0 → 2.3.1
- Kotlin and KSP group 2.2.10 → 2.2.21 (includes com.google.devtools.ksp 2.3.1 → 2.3.3)
- OkHttp 5.1.0 → 5.3.2
- net.engawapg.lib:zoomable 2.7.0 → 2.9.0
3.1.2
CXone Chat SDK for Android - Release Notes
Version: 3.1.2
Date: February 18, 2026
🎯 Release Highlights
This is a bugfix release focused on stability improvements and resolving customer-impacting issues. Key highlights include fixing a Google Play publishing conflict for multi-app integrators and removing the unused Foreground Service that required unnecessary permissions.
🐛 Bug Fixes
- Fixed FileProvider authority conflict when multiple apps using the SDK are published on Google Play under the same developer account, by making the authority dynamic based on application package name
- Fixed PdfRender thread-safety issue causing crashes during concurrent access by switching from lazy to eager initialization
- Fixed PdfRenderer resource leak during rapid scrolling and constructor failures by properly closing resources in all error paths and lifecycle events
- Fixed opening of non-video/image attachments by adding the missing URI read permission flag
- Fixed auto-linked text color regression introduced in version 3.0 where user-entered text that is auto-linked was invisible on background
- Removed remnants of unused Foreground Service implementation (
PlayerDownloadService) to prevent clashes with other integrations. Audio pre-caching continues to work via direct DownloadManager usage
🔄 Migration Note: Foreground Service Removal
The SDK no longer declares foreground service permissions (FOREGROUND_SERVICE, FOREGROUND_SERVICE_DATA_SYNC). If your app previously added manifest workarounds to remove these permissions, you should clean them up. See the Migration Guide for detailed steps.
3.1.1
CXone Chat SDK for Android - Release Notes
Version: 3.1.1
Date: January 14, 2026
🎯 Release Highlights
This release focused on fixing UI bugs identified in the previous release (3.1.0) and improving developer experience.
🐛 Bug Fixes
- Fixed visibility of the "Add attachment" button based on channel
- Enhanced handling of slow SDK start scenarios when attachments are added or when the UI is resumed, reducing potential user confusion.
- Resolved issues with
OnThreadsUpdatedListenernotifications forChatThreadState.Pendingthreads to ensure accurate thread state
updates. - Corrected chat transcript layout when the position in queue counter is displayed for better readability.
- Added missing subtitle to the Pre-chat survey screen and Edit Custom Values Screen for improved user guidance.
- Fixed missing permission request for camera attachment when CAMERA permission is declared in the application manifest to ensure proper
functionality.
📞 Support & Migration Assistance
- Improved documentation for UI module Theme customization to assist developers in applying custom themes correctly.
- Added missing Java helper methods for UI module
ThemeColorTokensand its subclasses to enhance Java interoperability. - Added known issues section to
chat-sdk-uiREADME for better developer awareness with a workaround section.
3.1.0
CXone Chat SDK for Android - Release Notes
Version: 3.1.0
Date: November 6, 2025
🎯 Release Highlights
This release represents a major UI/UX overhaul of the CXone Chat SDK for Android, featuring comprehensive redesigns of all major UI components based on updated design specifications.
Additionally, this release includes important dependency updates.
📱 What's New
UI Features (12 Major Updates)
- Updated thread list cell design for unread state - Enhanced visual indicators for better user awareness
- List Picker UI overhaul - Improved option selection with modern design patterns
- Quick Replies redesign - Enhanced interaction patterns with better accessibility
- Voice Messages UI update - Improved recording and playback controls
- Attachments interface redesign - Streamlined file selection and preview
- Typing indicator improvements - Better visual feedback for agent activity
- Position in Queue UI update - Clearer waiting status communication
- Offline mode interface - Better guidance during connectivity issues
- Rich Link preview enhancement - Improved content preview design
- Basic conversation UI refresh - Enhanced readability and visual hierarchy
- Accessibility enhancements - Improved screen reader support and usability across all UI components
- Attachment preparing indicator - Visual feedback while attachments are being processed
- QuickReply interaction behavior - Options only visible for last message
Core Features (4 New Capabilities)
- Automatic retry mechanism - Enhanced reliability for visitor creation and updates with intelligent failure handling
- RemoteLogger integration - New error reporting capability for production issue tracking
- Inactivity Popup support - Better user engagement management with configurable popups
- WebSocket exponential reconnect - Intelligent connection recovery with exponential backoff strategy (1s base + random 1-5s, 1.3x exponential factor, 20 max attempts)
- Increased compileSdkVersion to 36 - Support for latest Android features and optimizations
API Enhancements
- New
RemoteLoggerpublic API - Programmatic access to error reporting functionality - Enhanced
ChatThreadActionHandler- Improved thread management capabilities PopupandInactivityPopupclasses - New popup management system- Utility method
ChatThreadEventHandler.triggerAction- Simplified action triggering for Quick Replies, List Picker, and Popups - Expanded action event support - Better integration with interactive message components
📦 Dependencies & Security
🚨 Breaking Change - OkHttp Upgrade
- Bump com.squareup.okhttp3:okhttp from 4.12.0 to 5.1.0
Migration Required: This is a minor version upgrade that introduces potential transitive API changes.
Migration Steps:
- Update import statements: Review all OkHttp imports in your integration code
- Verify network configurations: Test all network-related functionality thoroughly
- Check interceptors: Update any custom interceptors to use OkHttp 5.x APIs
- Review error handling: Ensure exception handling is compatible with new version
Impact: Applications using direct OkHttp APIs alongside the SDK may need updates.
Workaround: Decrease the okhttp dependency version using gradle guide
Other Dependencies
- Multiple AndroidX library updates for improved stability
- Compose BOM updates for latest UI framework features
- Firebase BOM updates for enhanced push notification support
- Navigation library updates for better app flow management
🐛 Bug Fixes
Stability & Reliability
- Server error reporting in single thread mode - ThreadRecoveryFailure errors now properly suppressed in single thread mode where they are expected
- Message filtering - Unsupported message answers now filtered to prevent display issues
- Custom fields dropdown - Fixed menu opening and search list expansion
- Deeplink handling - Chat access now properly delayed until SDK is ready or in terminal state
- Single attachment preview - Fixed sizing and design to match specifications
- Memory leak fix - Resolved TemporaryFileStorage activity reference leak using Application context
- Presurvey validation - Enhanced email validation and required field checks
Security Enhancement
- Audio message recording security - Enhanced validation of audio file URIs before deletion to prevent unauthorized file access
🔄 User Story Traceability
This release addresses the following user stories:
- Complete UI/UX redesign initiative with fixes
- Core SDK feature enhancements and fixes
- Performance optimization for image and video caching
📋 Testing & Quality Assurance
- Comprehensive UI testing - All redesigned components include Android instrumentation tests
- Cross-device compatibility - Tested on various screen sizes and Android versions
- Accessibility validation - Enhanced screen reader support and contrast compliance
🔗 Links & Resources
- GitHub Repository: https://github.com/nice-devone/nice-cxone-mobile-sdk-android
- Implementation Guide: docs/implementation.md
- Case Studies: docs/case-studies.md
📞 Support & Migration Assistance
For questions about this release or migration assistance:
- Review the Implementation Guide
- Check Case Studies for integration examples
- Contact your CXone representative for additional support
🗓️ What's Next
- Performance optimizations based on UI redesign feedback
- Additional accessibility enhancements
- Expanded analytics and error reporting capabilities
- Enhanced offline mode functionality
CHANGELOG
[3.1.0] - 2025-11-06
Added
RemoteLoggerto report errors to the server- Inactivity Popup Support
RemoteLoggerto public API for error reportingChatThreadActionHandlerwhich can be obtained fromChatThreadHandlerPopupwhich is provided toOnPopuplisteners registered in theChatThreadActionHandlerInactivityPopup- Utility extension method
ChatThreadEventHandler.triggerActionto allow easy triggering ofActionevents (for Quick Replies, List
Picker, Popups) - Daily Perfecto build workflow for automated testing
- Concurrency controls to PR workflows to cancel previous runs and save CI resources
- UI tests support
- ChatInstanceProvider unit test coverage
- Presurvey field validation check dynamically
- Video and Image caching to improve loading performance
- Indicator for attachment preparing
- WebSocket exponential reconnect with backoff strategy
- androidx.material3.adaptive dependency for adaptive UI layouts
- androidx.window and androidx.window-testing dependencies for window size class support
Changed
- BREAKING CHANGE: Bump com.squareup.okhttp3:okhttp from 4.12.0 to 5.1.0
- Updated the thread list cell design for unread state
- Updated UI for List Picker
- Updated UI for Quick Replies
- Updated UI for voice messages
- Updated UI for attachments
- Updated UI for typing indicator
- Updated UI for Position in Queue
- Updated UI for offline mode
- Updated UI for Rich-Link
- Updated UI for Basic Conversation
- Updated UI for Accessibility
- QuickReply message interaction behavior - options only visible for last message
- UI module error handling with grouped error types
- Increased compileSdkVersion to 36
- Update Android Gradle Plugin 8.11.1 -> 8.13.0
- Bump androidx.compose:compose-bom from 2025.06.01 to 2025.10.00
- Bump androidx-navigation from 2.9.3 to 2.9.5
- Bump androidx.navigation.safeargs from 2.9.3 to 2.9.5
- Bump androidx.activity:activity-compose from 1.10.1 to 1.11.0
- Bump androidx.emoji2:emoji2 from 1.5.0 to 1.6.0
- Bump androidx-lifecycle from 2.9.3 to 2.9.4
- Bump com.google.firebase:firebase-bom from 34.3.0 to 34.4.0
- Bump com.github.gmazzo.buildconfig from 5.6.8 to 5.7.0
- Bump com.google.gms.google-services from 4.4.3 to 4.4.4
Fixed
- Handle failure & added auto retry mechanism during visitor creation/update
- Filter unsupported message answers
- Presurvey invalid email and field validation
- Server error reporting in single thread mode - ThreadRecoveryFailure errors now suppressed
- Single attachment preview - fixed size and design according to new specifications
- Deeplink handling - delay Chat access until it is ready or in terminal state
- Custom Fields dropdown - menu now opens properly and expands on clear
- Memory leak in TemporaryFileStorage - using Application context instead of Activity
- ExplicitGcViolation for Android 16 compatibility
Security
- Audio message recording - validate audio file Uri returned by the ContentResolver before deleting it
3.0.0
[3.0.0] - 2025-07-28
Bug Fixes
- ChatInstanceProvider - fix concurrency for state updates
- Block multiple archival requests
Dependency Change
- Bump androidx.datastore:datastore-preferences from 1.1.1 to 1.1.7
- Bump retrofit from 2.11.0 to 3.0.0
- Bump com.github.gmazzo.buildconfig from 5.5.4 to 5.6.6
- Bump androidx.core:core-ktx from 1.15.0 to 1.16.0
- Bump org.jetbrains:annotations from 26.0.1 to 26.0.2
- Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.7.3 to 1.8.1
- Update Kotlin 2.0.21 -> 2.1.21
Features
- Release Chat SDK UI module
- Renamed all classes with name like
CXOnetoCXone- Breaking Change - Removed all deprecated methods and classes
UI Features
- Redesign pre-contact survey
- Allow to name pending thread
Notes
- Metalava plugin used for tracking API is no longer compatible with Kotlin 2.2.0+ and will be replace with binary-compatibility-validator for Kotlin
3.0.0-RC2
3.0.0-RC2
Bug Fixes
- ChatInstanceProvider - fix concurrency for state updates
- Block multiple archival requests
Dependency Change
- Bump androidx.datastore:datastore-preferences from 1.1.1 to 1.1.7
- Bump retrofit from 2.11.0 to 3.0.0
- Bump com.github.gmazzo.buildconfig from 5.5.4 to 5.6.6
- Bump androidx.core:core-ktx from 1.15.0 to 1.16.0
- Bump org.jetbrains:annotations from 26.0.1 to 26.0.2
- Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.7.3 to 1.8.1
- Update Kotlin 2.0.21 -> 2.1.21
Features
- Release Chat SDK UI module
- Renamed all classes with name like
CXOnetoCXone- Breaking Change - Removed all deprecated methods and classes - Breaking Change
UI Features
- Redesign pre-contact survey
- Allow to name pending thread
2.3.0
Bug Fixes
- Welcome message improvements
- In Messaging mode Welcome message is initially provided as placeholder
- Welcome Message in LiveChat mode is using different logic
- Improved support for late handling of a WelcomeMessage ProActive event
- Custom fields handling
- Remove check which has allowed only the pre-chat survey fields to be
supplied during thread creation to align with iOS platform - Don't send event about contact custom field change if the thread is in
the pending or closed state
- Remove check which has allowed only the pre-chat survey fields to be
- Fix reconnect issues
- Events are properly delayed on reconnect
- Allow SDK to reconnect in Offline state
- The
ChatWindowOpenevent is delayed pending authorization - ProGuard/R8 fixes
- Split out create method from all invoke operators
- Added rules to the internal SDK minification
Dependency Change
- Bump androidx.core:core-ktx from 1.13.1 to 1.15.0
- Bump kotlin from 2.0.20 to 2.0.21
- Bump org.jetbrains:annotations from 24.1.0 to 25.0.0
- Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.7.2 to 1.7.3
- Bump kotlin from 2.0.10 to 2.0.20
Features
- Raise targetSdk 34 -> 35
- Update query parameters for web socket request
UI Features
- Redesign message group header
- Redesign pre-contact survey
- Added progress dialog for initialization in single thread mode
Full Changelog: 2.2.2...2.3.0
2.2.2
2.2.2
Bug Fixes
- Livechat mode won't recover messages from closed case
- In livechat mode the queue position will remain
nullas long as the agent is assigned to the case - SDK will supply Message object
createdAtdate with millisecond precision if possible - Fix missing
ChatThreadState.Closedenum entry in api.txt