Changelog
5.9.0
New features
- Added the
titleTextInsets: UIEdgeInsetsparameter toTextButtonStylefor configuring text insets from the button edges. Default value:UIEdgeInsets(top: 8, left: 24, bottom: 8, right: 24). - The retry button on the chat loading screen (
LoadingChatViewController.repeatButton) now applies theme parameters —titleTextInsets,cornerRadius,borderWidth— fromChatPlaceholderErrorStyle.repeatButtonStyleinstead of hardcoded values. Full customization of the retry button appearance throughChatTheme.
Bug fixes
- Fixed a race condition in
CCWebSocketDataProvider: whenurlSession(_:task:didCompleteWithError:)is called again after the connection is already closed (with a code other than.goingAway), cleanup is no longer performed twice and a duplicate close event is no longer sent. - In
ChatPlaceholderErrorStyle, the retry button style now correctly setscornerRadius = 8.0instead of the previously incorrectborderWidth = 8.0(rounded corners instead of a thick border). - The retry button on the loading screen now correctly responds to Dynamic Type: the font width adapts to system settings (
adjustsFontForContentSizeCategory = true), and the button height is set viagreaterThanOrEqualToConstant: 30instead of being fixed — text at large sizes is no longer truncated.
Compatibility
- iOS 14.0+
- Xcode 16+
- Swift 5
Recommended server versions
- Backend ednaChatCenter version 6.35.0+
- Datastore ednaChatCenter version 15 (history version v16)
5.8.2
Bug fixes
- Fixed the WebSocket disconnection that occurred when opening the chat from a push notification.
Documentation
- Added the Known limitations page — theme parameters that are declared in the API but are not applied or applied only conditionally.
- Clarified the conditions for parameter application:
NavigationBarStyle.titleTextStyle.font(only whenisConfigurable=true),bubbleErrorColor(applied only to outgoing messages; ignored for incoming),HTTPConfig.connectionTimeout(REST only; the WebSocket timeout is set viaWSConfig.connectionTimeout). - Added a warning about the insecurity of
SSLPinningConfig.allowUntrustedSSLCertificatein production. - Added descriptions of API versions (
api17–api21) inChatTransportConfig.APIVersion.
Compatibility
- iOS 14.0+
- Xcode 16+
- Swift 5
Recommended server versions
- Backend ednaChatCenter version 6.35.0+
- Datastore ednaChatCenter version 15 (history version v16)
5.8.1
Bug fixes
- Fixed a chat initialization error when calling
updateData(data:)before the WebSocket connection was established.
5.7.0
New features
- Added the
updateData(data:)method onChatUserfor updating user data after authorization. The updated data is sent to the server when the chat screen is next opened.
Bug fixes
- Fixed clearing of quick replies when the display mode changes.
- Fixed visibility of the search button in the navigation bar when both the keyboard button and search are enabled simultaneously.
Recommended server versions
- Backend ednaChatCenter version 6.35.0+
- Datastore ednaChatCenter version 15 (history version v16)
5.6.0
New features
- Added the
prefill(message:)method for prefilling the input field with text before opening the chat. The text is inserted on the nextgetChat()call and is reset after that. - Added the
alwaysShow: Boolproperty (defaultfalse) toScrollToMessageButtonStyle. Whentrue, the scroll-to-bottom button is always shown, even if there are no unread messages. - The
questionBackgroundColorproperty inSurveyChatMessageStylehas been marked as deprecated. UsequestionButtonColorinstead, which supports normal/highlighted/disabled states.
Updated surveys (server side)
- Surveys can include a comment field. It is shown when the rating is below the threshold defined by the server via the
clientCommentThresholdfield in the survey payload. The parameter is configured on the server; no SDK setting is required. - On API version
.api21+, survey answers are sent in a single message. - The server can set the time for automatic survey hiding via the
hideAfterfield in the payload. The parameter is configured on the server; no SDK setting is required. - The input field is blocked while a survey is active if the server sends the
blockInputflag.
Changes
- The input field limits message length to 4000 characters at the UI level. Text pasted beyond the limit is truncated.
5.5.0
Bug fixes
- Fixed opening of a file sent by the operator.
- Fixed mask application to messages with images.
- Fixed style application during dynamic theme switching.
New features
- Added the
QuoteStyle.backgroundCornerRadiusproperty for rounding the corners of the quote background.
5.4.0
New features
- Added the
OpenGraphViewStylestyle for configuring the display of OpenGraph links. - Added support for the server event
CLIENT_UNBLOCKED(client unblocking) — displayed in the chat as a system message. - Added the
chatCenterUI(chatCenter:didLog:)method inChatCenterUISDKDelegatefor receiving SDK logs in the host application. - Added the
shouldUseRemoteConfigparameter (defaulttrue) toChatConfigfor disabling retrieval of settings from the server and using local values (see SDK settings).
Bug fixes
- Fixed application of design system settings.
- Fixed the unread notification counter.
5.3.0
Design system stabilization
In version 5.3, the design system settings interface has been stabilized.
Changes
- Some styles and properties have been renamed (mostly adding the
Color,Style, etc. suffixes) — the old names are marked as deprecated, and Xcode offers an autocorrect. The full list is in Known limitations. - The structure for configuring voice message styles has been changed.
- Added a builder (
build) for creating styles via a closure. - Added the
applymethod for configuring existing styles.
Component configuration limitation
Calling apply on components from ChatComponents inside a flow can lead to a global change. Create a new component via build.
5.0.0
Full API update
Version 5.0 contains a fully updated API that is not compatible with versions 4.x.
Main changes
- The CocoaPods pod name has been changed to
ChatCenterUI. - New initialization model:
ChatTransportConfig→ChatConfig→ChatCenterUISDK. - Three-level design system: tokens → components → scenarios (flows).
- Support for light and dark themes via
theme/darkTheme. - New SSL pinning settings via
ChatNetworkConfig.
Compatibility
- iOS 14.0+
- Xcode 16+
- Swift 5
Migration: Migration guides.