Skip to main content
Version: 5.9.0

Changelog

5.9.0

New features

  • Added the titleTextInsets: UIEdgeInsets parameter to TextButtonStyle for 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 — from ChatPlaceholderErrorStyle.repeatButtonStyle instead of hardcoded values. Full customization of the retry button appearance through ChatTheme.

Bug fixes

  • Fixed a race condition in CCWebSocketDataProvider: when urlSession(_: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 sets cornerRadius = 8.0 instead of the previously incorrect borderWidth = 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 via greaterThanOrEqualToConstant: 30 instead of being fixed — text at large sizes is no longer truncated.

Compatibility

  • iOS 14.0+
  • Xcode 16+
  • Swift 5
  • 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 when isConfigurable=true), bubbleErrorColor (applied only to outgoing messages; ignored for incoming), HTTPConfig.connectionTimeout (REST only; the WebSocket timeout is set via WSConfig.connectionTimeout).
  • Added a warning about the insecurity of SSLPinningConfig.allowUntrustedSSLCertificate in production.
  • Added descriptions of API versions (api17api21) in ChatTransportConfig.APIVersion.

Compatibility

  • iOS 14.0+
  • Xcode 16+
  • Swift 5
  • 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 on ChatUser for 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.
  • 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 next getChat() call and is reset after that.
  • Added the alwaysShow: Bool property (default false) to ScrollToMessageButtonStyle. When true, the scroll-to-bottom button is always shown, even if there are no unread messages.
  • The questionBackgroundColor property in SurveyChatMessageStyle has been marked as deprecated. Use questionButtonColor instead, 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 clientCommentThreshold field 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 hideAfter field 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 blockInput flag.

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.backgroundCornerRadius property for rounding the corners of the quote background.

5.4.0

New features

  • Added the OpenGraphViewStyle style 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 in ChatCenterUISDKDelegate for receiving SDK logs in the host application.
  • Added the shouldUseRemoteConfig parameter (default true) to ChatConfig for 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 apply method 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: ChatTransportConfigChatConfigChatCenterUISDK.
  • 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.