iOS

v 5.0.5

Release date: 11-14-2024

Deprecated

  • phones, emails, and socials are now deprecated in the describeCustomer method. The new methods to use are: sharedPhones, sharedEmails, sharedSocials.

Fixed

  • Resolved an issue with the startNewConversation method callback, which previously did not execute in error scenarios. The updated callback now fires on both success and error.
  • Fixed a bug that prevented reply types (for example, buttons) from hiding in older messages. This includes an edge case where the same message displayed twice would incorrectly show reply buttons in both the old and new versions.

v 5.0.4

Release date: 11-01-2024

Improved

  • Removed crash scenarios in ChatViewController from multiple overlapping requests to update the chat.
  • Removed embedded SwiftyJSON dependency and marked as Implementation ONLY.
  • Removed embedded NextGrowingTestView dependency and marked as Implementation ONLY.
  • Removed embedded TaggerKit dependency.
  • Removed Sentry dependency.

Fixed

  • Fixed UI issues that made the chat history screen look different than on web and Android.

Added

  • Added the Kustomer.overrideAssistant(id) method to be in parity with Android.

v 5.0.3

Release date: 10-18-2024

Fixed

  • Fixed issues that prevented CSAT messages from incrementing unread count

v 5.0.2

Release date: 10-03-2024

Improved

  • Improved logic that fetches the unread count for messages after the app is brought into the foreground. Logic now does not mark any messages as read unless there is an actively open chat conversation.
  • Removed embedded Nantes dependency and marked as Implementation ONLY
  • Removed embedded NotificationView dependency and marked as Implementation ONLY

Fixed

  • Fixed Crash that would sometimes happen when in an active Chat. This was caused by overlapping updates to the UITableViewDataSource that supports the Chat view.

v 5.0.1

Release date: 09-26-2024

Improved

  • Optimized Assets/Images in SDK, to decrease impact SDK has on app size
  • Removed embedded SnapKit dependency and marked as Implementation ONLY - made size reduction
  • Removed embedded Reachability dependency and marked as Implementation ONLY - made size reduction

Removed

  • Removed KUSReachabilityChangedNotification type due to removal of Reachability dependency
  • Removed KUSReachabilityChanged notification name due to removal of Reachability dependency

v 5.0.0

Release date: 09-19-2024

Improved

  • Removed Alamofire and AlamofireImage dependency from SDK - made SDK size reduction.

Fixed

  • Unread count now filters out conversations with the wrong brand. This should fix unread counts that don’t appear to ever go away due to brand mismatch.

Deprecated

  • Deprecated case describeCurrentCustomerIsAnonymous in KError, because the describeCustomer function now allows anonymous users. This improves consistency in behavior across web and Android.

🚧

Breaking changes to Alamofire and AlamofireImage

  • Completely removed KUSURLConvertible and KUSAFError from the SDK, as they were only there to support the use of Alamofire and AlamofireImage.
  • Completely removed case alamofire(KustomerChat.KUSAFError) from KError, as it was only there to support the use of Alamofire and AlamofireImage.

v 4.2.0

Release date: 08-29-2024

Fixed

  • Chat screen and message bubbles now have no transforms applied to them. This helps mitigate any scrolling bugginess on the chat screen where swipe to dismiss functionality is triggered when scrolling to bottom (most recent) of chat.
  • SDK now explicitly calls all registerForRemoteNotifications() requests on the main thread to avoid any crashes when calling from a background thread

Added

  • Added support for Telugu (te) and Kannada (kn) translations.

4.1.6

Release date: 08-08-2024

Fixed

  • Crash when scrolling to the bottom of Chat history when loading the next page of conversations.

Added

  • KustomerUI.Color.quickActionButtonBorder - To style quick reply and MLL buttons in Chats

Improved

  • Quick reply and MLL buttons are now rendered using quickActionButton, quickActionButtonText, and quickActionButtonBorder colors.

v4.1.5

Release date: 06-28-2024

Fixed

  • Fixed a bug where swiping down to dismiss the MLL options screen left chat unable to reselect MLL options

v4.1.4

Release date: 06-07-2024

Improved

  • Improved the ability to use Kustomer.options.activeAssistant to override the organization’s default assistant when using Kustomer.startNewConversation() method. Previously, you could only change this once before SDK initialization. Now you can change it as many times as needed to switch between different conversational assistants.

v4.1.3

Release date: 05-24-2024

Fixed

  • Fixed a bug that prevented KustomerUI.Color.historyNewChatButtonText from being used in the New Chat button on the Chat History screen. Previously, a white color was used, regardless of the customer's set override.
  • Fixed a bug that caused a crash in the iOS SDK when an incoming message from an agent contains a Unicode “non-width space” character.

v4.1.2

Release date: 05-16-2024

Fixed

  • Fixed a bug that caused the app to crash when performing updates to the ChatHistoryViewController.

v4.1.1

Release date: 05-02-2024

🚧

Changes to Swift repository

Starting with the Kustomer Chat iOS SDK v4.1.1, you must use https://github.com/kustomer/kustomer-ios-spm as the repository when using Swift Package Manager to install the Kustomer Chat SDK. For more information, see Swift Package Manager installation

Fixed

  • The completion block in Kustomer.openChatAssistant() function now fires when the chat assistant is opened and the first message is sent. Previously, never fired.

Added

  • The framework now includes a privacy manifest to adhere to Apple’s new requirements when submitting an app that uses the KustomerChat SDK. The complete list of privacy reasons is found here.

Improved

  • Polling (implemented in v 4.1.0) now only refreshes the chat UI if missing messages are detected. This prevents the screen from flickering unless a change is detected.

v4.1.0

Release date: 04-23-2024

Improved

  • Improved the reliability of incoming message delivery when actively viewing a conversation.

v4.0.4

Release date: 04-17-2024

Fixed

  • Avatars were rendered for outgoing attachments when viewing the conversation on the Chat History screen.
  • Fixed a bug that caused ChatViewController to crash when loading an existing conversation.
  • Fixed a bug that resulted in a crash when accessing Kustomer-defined colors before the application bundles were accessible

Improved

  • Improved the reliability of incoming message delivery when actively viewing a conversation.

v4.0.3

Release date: 04-02-2024

Added

  • Public extension for notifications that allows the ability to check if notification.isFromKustomer(), and if notification.kustomerShouldDisplay(). This enables customers to wrap their own workflows around notifications.

v4.0.2

Release date: 03-22-2024

Fixed

  • Crash that would periodically occur due to the SDK attempting to update the chat history list while an update is already in progress.
  • In-app notifications would display for chat assistants with multiple initial messages whenever a new chat window was opened.

v4.0.1

Release date: 03-08-2024

Fixed

  • Reply types (like buttons in a chat assistant message) would sometimes disappear when messages were received out of order.
  • Avatars in customer satisfaction (CSAT) chat surveys were rendered without the image or initials.
  • Fixed a bug where if a list is dismissed without making a selection, a large blank space would appear in the Chat View where multi-level list options should be.
  • Bug that mistakenly marked delivered messages as undelivered, causing duplicate outbound messages.
  • App would periodically crash when a team logo was not assigned to chat.

Added

  • Logging around network reachability changes.
  • Additional logging to incoming message brand filtering.

Improved

  • Title, Text, and Avatars in the Chat View Header are now updated more often and with greater accuracy.

Deprecated

  • KustomerLogType.fatal has been deprecated in Kustomer.options.logLevels. Future versions of SDK Logging will log any error as KustomerLogType.error.

v4.0.0

Release date: 02-09-2024

🚧

Breaking changes to Pubnub installation

This change marks PubNub as an implementation detail.

As a result, PubNub is no longer included and exposed via the KustomerChat SDK when using import KustomerChat.

SDK users that are not directly using PubNub or its related data types no longer need the PubNub dependency.

SDK users with the need to directly use PubNub or its data types can now add any version of PubNub to their project and access it by using import PubNub.

Fixed

  • Crash in LoadingViewController when chat is disabled on the Kustomer App website.
  • Support for using Xcode 15.1 or higher.

Improved

  • No more duplicate symbol warnings in the Xcode console when building an app using SDK from SPM (Swift Package Manager).
  • SDK is now using the latest version of PubNub internally (v 6.3.0).
  • Improved chat message delivery on slow networks.

v3.1.1

Release date: 01-25-2024

Fixed

  • Issues where push notifications were not being re-subscribed to when Push Environment, Device Token, or Customer Id are changed. iOS devices now re-register with PubNub more frequently.
  • Crash when calling the Kustomer.showKbArticle() function with an empty or non-existent Id.
  • Avatar images displayed placeholders instead of actual images/initials on the Chat History screen. They now display correctly.

Improved

  • The chat input bar is now hidden by default and will only appear if the last outbound message does not have buttons for the customer to select. This improves the chat UI for users revisiting a conversation with Answer Button Feedback buttons.
  • The End Chat and Close Conversation buttons in the chat window header overlapped, making it difficult to tap the red x (End Chat button) without accidentally tapping the down arrow (Close Conversation button) instead.
  • Avatars will use only the name's first letter when falling back to displaying initials. This makes iOS, Android, and Web SDKs treat the fallback similarly.
  • The initials rendered in the avatar of an attachment cell were rendered using a system color, not a Kustomer-defined color. They now all render using the same set of Kustomer-defined colors.

v3.1.0

Release date: 12-01-2023

Fixed

  • Attachment Cells not displaying images on iOS 17.
  • Article Feedback buttons were cut at the bottom of the article when opening from a Deflection link.
  • Application now registers for PubNub push notifications every time the push environment changes.
  • Fixed a bug where some knowledge base categories did now show up due to missing attributes.

Added

  • Support for displaying AI chat assistant messages.
  • Support for AI assistant typing indicator.

Improved

  • Moved all quick reply actions into the message thread

v3.0.0

Release date: 09-18-2023

Update

  • Increased minimum deployment target to iOS 12.

📘

Support for new XCode Release Candidate

This update is to support the new Xcode 15 Release Candidate. You can find information about the Xcode 15 Release Candidate and minimum requirements here.

v2.9.0

Release date: 09-18-2023

Fixed

Fixed a crash when uploading Live Photos on devices running iOS 17. In iOS 14+, the NSPhotoLibraryUsageDescription in Info.plist file can be omitted if necessary.

v2.8.1

Release date: 08-07-2023

🚧

Known issue with lldb debugger

There is a known issue with the lldb debugger when using macOS Ventura 13.3.1. Please upgrade to versions greater than Ventura 13.3.1. As of this release the latest stable version is Ventura 13.5

Fixed

  • Fixed an issue where UI updates, while initializing Push, were running off the main thread causing a crash.
  • Fixed an issue where the SDK was preventing the usage of the article language when constructing the article URL to be viewed within the embed, which led to the inability to view articles in other languages.

Updated

  • Built using Xcode 14.3.1 and generated by Apple Swift version 5.8.1

v2.8.0

Release date: 07-17-2023

🚧

Changes to KUSChatListener events

When subscribing to KUSChatListener, events are no longer handled across all brands unless KustomerOptions.showAllBrandsConversationHistory is true. Only session events related to the provided brandId will be handled.

Fixed

  • Fixed an issue where conversations across an organization’s brands were appearing in chat history and in-app notifications

Added

Updated

  • ChatProvider.getConversationPage, ChatProvider.getOpenConversationCount and ChatProvider.getConversations now use a value of KustomerOptions.brandId as a query parameter when fetching sessions. By default, this is set to the default brand. If KustomerOptions.showAllBrandsConversationHistory is true then all sessions will be fetched across all brands.

v2.7.9

Release date: 04-18-2023

Fixed

  • Fixed an issue where the Start new conversation button is not available after a conversation has ended.
  • Fixed an issue where launching the chat app from a push notification caused the app to crash.
  • Fixed an issue with displaying branded knowledge base articles.

Improved

  • Improved support for the knowledge base language defaults when an article isn’t available in a user’s browser language.

Updated

  • Adding custom describe parameters to new conversations now supports any type.

v2.7.8

Release date: 03-14-2023

Fixed

  • Fixed a bug that caused line break issues when using emoji as bullet points in a list.
  • Fixed a bug where some conversations starting with a Data Attribute interaction were not saving the response as the conversation name.
  • Fixed a bug where UI and in-app notifications still appear despite setting both to false.
  • Fixed a bug where VoiceOver was highlighting a group of buttons instead of reading the selected one.
  • Fixed a bug where customers selecting a push notification when viewing the conversation’s history view were not being taken to the respective conversation thread.

Improved

  • Improved the reliability of message delivery when users are on a slower internet connection.
  • Improved initialMessages handling in non-assistant conversations.

Deprecated

v2.7.7

Release date: 02-01-2023

Fixed

  • Fixed a bug that allowed users to repeatedly press the Send button, resulting in resending the original message several times.
  • Fixed a bug where the End Chat button did not appear until a second message was drafted in chats without an assistant.
  • Fixed a bug where the text input field wasn’t visible when filling out a CSAT.
  • Fixed a bug where brand specific knowledge base searches were still showing default brand articles in the results. Now, only articles assigned to that brand will appear.
  • Fixed a bug where the New Conversation button was not working as expected. Now, the button initializes a new conversation.

Improved

  • Improved the Conversation listener logic.
  • Improved the chat UI. Now, the unread counter badge doesn’t overlap text.

v2.7.6

Release date: 12-13-2022

Summary: Hotfix release

🚧

Upcoming bitcode deprecation

In keeping with Apple's deprecation of bitcode support we will be building the framework with Xcode 14 and removing bitcode enablement in the following release. This may cause compatibility issues with Xcode 13 and apps that continue to use bitcode.

Fixed

  • Fixed a bug where the conversation was not being described with describe parameters when calling the startNewConversation method with initial message parameters.

v2.7.5

Release date: 12-08-2022

🚧

Upcoming bitcode deprecation

In keeping with Apple's deprecation of bitcode support we will be building the framework with Xcode 14 and removing bitcode enablement in the following release. This may cause compatibility issues with Xcode 13 and apps that continue to use bitcode.

Fixed

  • Fixed a bug where the conversation was not being described with describe parameters when calling the startNewConversation method.
  • Fixed a bug where articles that were not in a default brand category failed to open when viewing them in the chat UI for an alternative brand. Now, all articles in all brands are displayed properly.
  • Fixed a bug where agent messages sent while a customer was out of network didn’t load correctly once the customer was back online.
  • Fixed a bug that resulted in two conversations being created when a customer sends two attachments in an initial message.

Improved

  • Improved how the iOS SDK handles fetching messages after a disconnect with PubNub.
  • Improved error messaging when the user tries to preview an unsupported file type.
  • Deflection report now immediately shows all articles that are clicked in chat, even if the chat is abandoned after the article is clicked.

v2.7.4

Release date: 11-03-2022

Fixed

  • Fixed a bug where launching the chat app from a push notification caused the app to be blank.
  • Fixed a bug where the category name is shown twice in the Knowledge Base widget.
  • Fixed a bug where outbound chats messages were not appearing in the chat app.
  • Fixed a bug where inbound messages periodically displayed with a larger font size.
  • Fixed a bug that resulted in an additional space being entered for the first item in an ordered list.
  • Fixed a bug that was cutting off URLs shown in the chat UI.
  • Fixed a bug that resulted in elements to overlap and empty spaces when opening the chat UI from a push notification.

Improved

  • Improved the accuracy of Turkish translations.
  • Greater flexibility with push notifications in your mobile application by moving the Kustomer SDK to a secondary handler. For more information, see Implement Kustomer SDK as secondary handler.
  • Refactored the SDK to remove a third-party library.

Added

  • Added support for a new Request feedback interaction, a new conversational assistant feature.
  • Initial messages sent to a customer now appear on the agent timeline when creating a new session.
  • Added the Coveralls integration to the SDK which tracks code coverage and helps you identify parts of your code not covered by your test suite.

v2.7.3

Release date: 09-22-2022

Fixed

  • Fixed a bug where previously merged conversations were still appearing in the conversation list.
  • Fixed a bug where users had to quit and relaunch the app to receive push notifications.
  • Fixed a bug that caused describeConversation and getConversationPage to not run correctly.
  • Fixed a bug that caused users to receive a push notification with a repetitive message when a conversation is merged.
  • Fixed a bug where conversations that are reopened still appeared closed in the chat UI.

Added

  • Added filtering for insecure file types.
  • Added support to display knowledge base articles marked as “Featured Articles” on the Answers tab in the chat UI.

Improved

  • Improved the accuracy of Turkish translations.
  • Changes to Chat settings now reflect immediately within the SDK.

v2.7.2

Release date: 08-24-2022

Fixed

  • Fixed an issue where the pound (£) symbol was displaying incorrectly when viewing knowledge base articles in the chat widget.
  • Fixed an issue where Kustomer.logout() completion handler is not called after a successful log out.
  • Fixed a bug where the No knowledge base article results UI was not translated into other languages.
  • Fixed a bug where the openConversation completion handler was not being called when the conversation was successfully opened.

Added

  • Added a button that allows you to quickly scroll down to the bottom of the message thread.
  • Added support for setting a lock out period with satisfaction (CSAT) surveys. To edit the time period, go to Settings > Satisfaction > General tab on the Kustomer website.

Improved

  • Improved the performance of unread message counts.
  • Improved how articles render in the SDK.
  • Improved the consistency of language locale overrides set in the SDK.
  • Improved the user experience of the conversation history view UI.
  • Optimized code to improve the overall performance.

v2.7.1

Release date: 07-28-2022

Summary: Hotfix release

Fixed

  • Fixed a bug that periodically caused the assistant to send duplicate messages after backgrounding and reopening the app.
  • Fixed a bug where initial messages set in startNewConversation weren’t being sent.
  • Fixed a bug where the conversational assistant specified in openChatAssistant wasn’t respected.
  • Fixed a bug where logging in with an expired JWT token caused excessive retries.
  • Fixed a bug where responses sent to assistants triggered by a workflow failed on the first attempt.

Updated

  • Updated the BUILD_LIBRARY_FOR_DISTRIBUTION flag to Yes to support clients that want to build an updated version of their wrapper.

v2.7.0

Release date: 07-14-2022

Fixed

  • Fixed a bug where session data was still visible after logging out of chat.
  • Fixed a bug where KustomerUI.Color.messagesBackground was not correctly applying the set color to a message background.
  • Fixed a rare bug that caused chat to crash after the following error: NSInvalidArgumentException: _countWithNoChangesForRequest:error: A fetch request must have an entity

Added

Improved

  • Improved the local storage used by the SDK to get more reliable data and make it more dynamic.
  • Improved color customization for knowledge base articles in the SDK. Now, the article will display the colors that are set in your knowledge base theme by default. The following have been deprecated:
    • kbHeaderTint
    • kbArticleBackgroundLight
    • kbArticleBackgroundDark
    • kbSurveySubmitButtonText
    • kbSurveySubmitButton
  • Improved how customer deletion is handled. Now, end-users are logged out of chat when the delete event is received.
  • Improved how conversation deletion is handled. Now, deleting an open conversation ends the chat and the customer is prompted to start a new conversation.

Updated

  • Updated the Core SDK to improve performance and consistency in behavior across Android and iOS SDKs.

Removed

The following methods have been completely removed:

  • public func getConversations()
  • public func getConversation(conversationId:String)
  • public func chatMessages(conversationId:String)
  • public func getUnreadCount()
  • public func openConversationCount()
  • public func sendChatMessage(action:KUSMessageAction, completion _outerCompletion: @escaping (KUSChatMessage, KUSConversation)
  • public func sendChatMessage(text:String, assistant:KUSAssistant, completion _outerCompletion: @escaping (KUSChatMessage, KUSConversation)
  • public func sendChatMessage(mllNode:KUSMLLNode, completion _outerCompletion: @escaping (KUSChatMessage, KUSConversation)

v2.6.2

Release date: 05-18-2022

🚧

Deprecated

The following methods have been deprecated in this release and will be completely removed in iOS v2.7.0:

Please upgrade your implementation to iOS v2.6.2 to get the most up-to-date methods.

Fixed

  • Fixed a bug that caused the app to periodically crash when assistant buttons had very long text.
  • Fixed a bug that caused links in the conversational assistant to not work properly.
  • Fixed a bug that caused button labels to appear cut off if the device is set to use a larger text size.
  • Fixed a bug where the KBProvider.shared.getCategory method wasn’t successfully returning the Knowledge Base object properties. For more information, see Work with the Knowledge Base.
  • Fixed a rare edge case scenario of arithmetic overflow with Pubnub & threading issue with UI
  • Fixed a bug where conversations missed by an agent are closed even if a follow-up channel was selected.

Improved

  • Improved the performance and efficiency of the whole chat view UI. This includes improvements to read receipts, merged conversations, and sending attachments.
  • Improved button text alignment.
  • Improved the accuracy of Turkish translations.

Added

Added the following new methods:

v2.6.1

Release date: 04-07-2022

Fixed

  • Fixed a bug where KustomerColor.incomingMessageText was not correctly applying the set color to stylized text in the conversational assistant.
  • Fixed a bug that caused links in the conversational assistant to not work properly.
  • Fixed a bug that caused messages that started with a numeric value to appear as a numbered list.
  • Fixed a bug where the Enter key does not create a new line when a user is providing written feedback for a KB article.
  • Fixed a bug where images sent in an outgoing message via a URL didn’t display properly.

Added

  • Added a new ‘startNewConversation` method which introduces the functionality to start a new conversation with an end-user message by specifying the initial message direction.

Improved

  • Improved the accuracy of Turkish translations.
  • Improved the accuracy of the KustomerUI Colors enumerations reference.
  • Improved how CSAT followup questions display when the device is set to a right to left language, such as Arabic or Hebrew.

v2.6.0

Release date: 03-03-2022

🚧

Changes to PubNub installation

PubNub is now automatically downloaded as a dependency if using Swift Package Manager or Cocoapods.

Users manually installing the SDK must download PubNub separately instead of adding the KustomerPubSub framework. See Install the Kustomer Chat iOS SDK for more information.

This change exposes the pushEnvironment variable in KustomerOptions that was previously defined in KustomerPubSub. It is now an enum in KustomerChat.

Fixed

  • Fixed a bug causing the app to crash when presenting conversational assistant buttons on devices running iOS 15+.

Improved

  • Improved the UI when uploading an image to the chat. Now, an entire image can be uploaded without the need to crop it.
  • Improved our authentication to fix an issue where a chat conversation would occasionally not have an assistant.
  • Improved how we send CSAT responses to our backend to support CSAT reporting in various languages.

v2.5.4

Release date: 02-09-2022

Fixed

  • Fixed a bug where underscores were being removed from URLs, resulting in links that wouldn’t open in the chat UI.
  • Fixed a bug where the numeric part of an address automatically changed to 1. After a customer sends the message.
  • Fixed a rare bug where the chat widget was occasionally displayed by default on first launch even though only the Knowledge Base widget was turned on.
  • Fixed a bug where customer responses to a multiple choice CSAT question were being stored in the incorrect attribute.
  • Fixed a bug that prevented the keyboard from minimizing when answering a free text question.
  • Fixed a bug where the confirmation message when submitting a CSAT always displays in English, regardless of the device language or SDK settings. Now, the confirmation message will display in the correct language.

Added

  • Added support for article feedback. With this feature, customers can rate your articles as positive or negative and, if turned on, allow them to provide written feedback.
  • Added support for disabling attachments. To edit, go to Apps > Chat > Settings on the Kustomer website.
  • Added a new showKbCategory method that can be used to open a specific knowledge base category.

Improved

  • Improved the user experience and overall consistency for the chat UI.
  • Improved the voice-over controls experience for conversational assistant prompts.
  • Improved the performance of the chat widget.

Updated

  • Updated the conversation list to no longer display draft conversations.