iOS
v3.0.0
Release date: 09-21-2023
Update
Increased minimum deployment target to iOS 12
v2.9.0
Release date: 09-19-2023
Fixed
Fixed a crash when uploading Live Photos on devices running iOS 17. As of iOS 14+, the NSPhotoLibraryUsageDescription can be omitted.
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
istrue
. Only session events related to the providedbrandId
will be handled.
Fixed
- Fixed an issue where conversations across an organization’s brands were appearing in chat history and in-app notifications
Added
- Added
public var showAllBrandsConversationHistory: Bool?
toKustomerOptions
to allow showing all conversation history across an organization’s brands.
Updated
ChatProvider.getConversationPage
,ChatProvider.getOpenConversationCount
andChatProvider.getConversations
now use a value ofKustomerOptions.brandId
as a query parameter when fetching sessions. By default, this is set to the default brand. IfKustomerOptions.showAllBrandsConversationHistory
istrue
then all sessions will be fetched across all brands.
v2.7.9
Release date: 04-18-2023 // Docs
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
- Deprecated the
status
field. For more information, see KUSConversation.
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
andgetConversationPage
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
- Added new parameters that can be used on conversation creation. You can now create a conversation with an assistant action, mll, image, or file. Additional parameters include:
customDescribe
can be used to pass conversation attributestitle
can be used to set the conversation name
For more information, seecreateConversation
.
- Added a footer to the Knowledge Base search results page that indicates if more than 100 articles were found.
- Added support for English (en) translations.
- Added two new functions to the Core SDK to improve consistency in behavior across Android and iOS SDKs when creating a conversation with a new assistant:
getInitialMessages
andcreateConversation
. This was formerly calledcreateAssistant
. For more information, see Implement makeAnAssistant(). - Added a new
onUnreadCountChange(conversationId:count:)
listener. - Added the following new methods:
- Added a new parameter that submits a user’s response to a satisfaction form. For more information, see
submitSatisfactionForm
.
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:
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)
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:
public func getConversations(completion: @escaping (Result<[KUSConversation], KError>)
public func getConversation(conversationId: String, completion: @escaping (Result<KUSConversation, KError>)
public func getUnreadCount(completion: @escaping (Result<Int, KError>)
public func getOpenConversationCount(completion: @escaping (Result<Int, KError>)
public func sendChatMessage(action: KUSMessageAction, conversationId: String, completion _outerCompletion: @escaping (Result<(message: KUSChatMessage, conversation: KUSConversation), KError>)
public func sendChatMessage(text: String, assistant: KUSAssistant, conversationId: String, completion _outerCompletion: @escaping (Result<(message: KUSChatMessage, conversation: KUSConversation), KError>)
public func sendChatMessage(mllNode: KUSMLLNode, conversationId: String, completion _outerCompletion: @escaping (Result<(message: KUSChatMessage, conversation: KUSConversation), KError>)
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 inKustomerOptions
that was previously defined in KustomerPubSub. It is now an enum inKustomerChat
.
Fixed
- Fixed a bug that was 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 a variety of 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.
v2.5.3
Release date: 12-16-2021
Fixed
- Fixed a bug that caused the app to crash when using
KustomerChat.KUISearchController
. - Fixed a bug that was displaying an incorrect date/timestamp for messages marked
seen
. - Fixed a bug with background threading that caused a crash.
Added
- Added support for storing
visited
data on chat deflection articles. - Added documentation for
.knowledgeBaseHome
.
Improved
- Improved the user experience of the conversation history view UI.
- Improved the performance of our networking library.
v2.5.2
Release date: 11-17-2021
Summary: Hotfix release
Fixed
- Fixed a bug that prevented users from tapping a satisfaction survey's Submit button on some devices running iOS 12.
- Fixed an issue where the
clientVersion
number was being overwritten by the app version number.
v2.5.1
Release date: 11-10-2021
Fixed
- Fixed a bug where the team logo, name, and greeting message were not displayed after viewing an attachment.
- Fixed a bug that was impacting navigating chat via the iOS VoiceOver feature. Now, you can select buttons with voiceover.
- Fixed a bug where a public class SessionDelegate was creating a namespace conflict. This class is no longer exposed outside of the SDK.
Added
- Added a new
Kustomer.chatProvider.getUnreadCount()
function that can be used to request the count of unread messages. This was formerly namedKustomer.chatProvider.unreadCount()
. - Added a new
getChatMessages
function that can be used to return chat messages. - Added the
public func isLoggedIn(userEmail: String?, userId: String?) -> Bool
method. This was formerly namedpublic func isLoggedIn(userEmail:String?, userId:String?, completion: @escaping ((Result<Bool,KError>)->Void))
.
Improved
- Improved how chat settings are fetched by reducing extra calls made to the endpoint.
- Improved the efficiency and performance of login and authentication.
v2.5.0
Release date: 10-22-2021
Deprecated methods
The following methods have been deprecated. Please upgrade your implementation to iOS v2.5.0:
KBProvider.shared.update
KBProvider.shared.clearLocalDataStore
category.completeObject
KBProvider.shared.needsUpdate
KBProvider.shared.getArticlesAndCategories
by parent category IDKBProvider.shared.getArticlesAndCategories
by text searchKBProvider.shared.lastUpdateAt
KBProvider.shared.hasNeverUpdated
knowledgeBaseID
Fixed
- Fixed a bug where the most relevant article search results were appearing at the bottom of the list.
- Fixed a bug that caused the greeting image to appear in existing conversations.
- Fixed a bug where long names used on buttons in the Button Questions interaction stretched beyond the device’s view. Now, these names are truncated or wrapped.
- Fixed a periodic crash by updating the Alamofire library to the newest version.
- Fixed a bug that caused knowledge base articles not to load on devices running iOS 13.3 and lower.
Added
- Added support for conversational assistant rules.
- Added support for multi-question CSAT.
- Added pagination to the conversation list to increase page loading speed. The first 100 conversations are shown on the first page.
- Added the following new methods:
KBProvider.shared.getRootCategory(lang: String, knowledgeBaseId: String?)
. This was formerly namedgetEntriesForRoot
.KustomerClient.shared.kbProvider.getArticle(by id: String, lang: String, knowledgeBaseId: String?)
. This was formerly namedKBProvider.shared.getArticle
.KustomerClient.shared.kbProvider.getCategory(by: id: String, childrenLimit: Int, lang: String, knowledgeBaseId: String?)
. This was formerly namedKBProvider.shared.getCategory
.KustomerClient.shared.kbProvider.searchArticles(term: String, page: Int, pageSize: Int, lang: String)
. This was formerly namedKBProvider.shared.getEntries
.
Improved
- Improved the user experience and error handling of the knowledge base UI.
v2.4.11
Release date: 10-08-2021
Summary: Hotfix release (Intermittent crash on iOS 15+)
Fixed
- Fixed issue where the SDK would crash for some customers on iOS 15+.
v2.4.10
Release date: 09-23-2021
Summary: Hotfix release (Supports Xcode 12)
Fixed
- Fixed issue where KB articles were rendering blank.
v2.4.9
Release date: 09-23-2021
Summary: Hotfix release (Supports Xcode 13)
Fixed
- Fixed issue where KB articles were rendering blank.
v2.4.8
Release date: 09-10-2021
Fixed
- Fixed a bug that caused responses to the assistant prompts to appear empty and left-aligned.
- Fixed a bug that periodically caused the assistant to send duplicate messages per interaction.
- Fixed a bug that resulted in a 1. being inserted into a message if there was an extra space.
- Fixed a bug that periodically caused the conversation list UI to not display properly.
- Fixed a bug that caused outbound messages with more than one line to be aligned incorrectly.
Added
- Added the ability to customize URL colors using
messageUrlLinkOnAgentBubble
andmessageUrlLinkOnCustomerBubble
. These were formerly namedmessageLinkInIncomingMessageBubble
andmessageLinkInOutgoingMessageBubble
.
Improved
- Improved the speed and reliability of message delivery.
v2.4.7
Release date: 08-13-2021
Fixed
- Fixed a bug that periodically caused the SDK to not automatically fetch conversation updates when the SDK was backgrounded.
- Fixed a bug that caused the Chat UI to not display correctly for languages that read right to left.
- Fixed a bug that caused the agent avatar to not display when using a Gravatar URL.
- Fixed a bug that periodically caused push notifications to not display if the user logged out and logged back in.
Improved
- Improved French and Spanish translations for the word ‘Chat’.
v2.4.6
Release date: 8-3-2021
Added
- Can now set a blank custom reply time message.
v2.4.5
Release date: 07-29-2021
Fixed
- Fixed a bug that caused chat conversations that were marked Done in Kustomer still show as Open in the chat UI.
- Fixed a bug where the font size of messages sent via the conversational assistant was appearing larger than usual in the chat UI.
- Fixed a bug that caused read messages to appear as unread after pulling to refresh the chat UI.
- Fixed a bug that causes conversations marked Done in Kustomer to be displayed in the conversation list despite
Hide History
being set to true.
Added
- Added a new method
Kustomer.isLoggedIn(userEmail: String?, userId: String?)
that can be used to determine when to calllogin
. For more information, see Log in and authentication.
v2.4.4
Release date: 07-16-2021
Fixed
- Fixed a bug that caused the app to crash if a customer returns to a chat that they abandoned before completing all of the prompts. Now, if a customer returns to their chat, they will see that the conversation ended, as well as a button where they can leave a message.
- Fixed a bug that caused the app to crash when using Describe Conversation.
- Fixed a bug that caused the app to crash after upgrading to v2.4.2 on devices running iOS 11 and iOS 12.
Added
- Added new methods that can be used to close the UI before calling Logout. For more information, see Close the Chat UI and Is Chat UI visible?
- Added the hideKbArticleShare configuration option which lets you hide the ability to open help articles in a browser. For more information, see the 'KustomerOptions' class reference.
Improved
- Improved the reliability of push notifications in the app.
- Compressed image assets to reduce SDK package size.
v2.4.3
Release date: 07-02-2021
Fixed
- Fix a bug that caused long chat bubbles to overlap over other messages.
- Fixed a bug where the conversational assistant wasn’t providing a list of alternate follow up channels for agent missed chats.
- Fixed a bug where opening an app via a notification that was previously forced closed causes the app to crash.
- Fixed a bug where
KustomerUI.Color.historyNewChatButtonText
was not correctly applying the set color to the New Conversation button.
Added
- Added the ability to customize the bottom tab icon colors for chat and knowledge base.
Improved
- Improved push notification device registration for customers using
login
.
v2.4.2
Release date: 06-18-2021
Summary: We made several updates and bug fixes to the Chat iOS SDK with a focus on the following:
- Improve user experience and overall consistency for the chat UI
- Improve user experience and overall consistency for the conversational assistant
- Improve efficiency and performance for login with
customerExists()
, a new method added to replacecurrentCustomer()
(deprecated)
Fixed
- Fixed a bug that caused article deflection reporting errors for articles provided to customers through the conversational assistant. Now, all article deflection titles appear as expected in the Article Performance table from the Deflection report in Kustomer.
- Fixed a bug that caused errors for some customers when they reopened an abandoned chat with a conversational assistant. Now, when a customer abandons their chat with a conversational assistant, the assistant automatically ends the conversation as expected and provides the customer with the option to leave a message or start a new conversation.
- Fixed a bug that caused conversations from previous versions of Kustomer Chat (Chat 1.0 and earlier) to appear in Kustomer Chat 2.0. Now, only conversations from Kustomer Chat 2.0 appear in Chat 2.0 conversations.
- Fixed a bug that caused the SDK to create draft conversations in the customer timeline. To fix this issue, we updated the SDK to use the latest Chat session
POST
endpoint from/c/v2.0/chat/session
to/c/v2.1/chat/session
. - Fixed a bug to reduce
NSLayoutConstraint
logs emitted. - Fixed a bug that caused errors if
logOut(...)
was called while the SDK was connecting or reconnecting to the Kustomer Pub/Sub service.
Added
- Added [
customerExists()
] to replacecurrentCustomer()
and to support login efficiency and performance. To learn more, visitcustomerExists()
. - Added a new
hideHistoryNavigation
configuration option to hide the back button in the Conversations view. Use this configuration option to allow customers to have multiple chats open at the same time and bypass the Conversations (chat history) view when appropriate. To learn more, visit Configuration.
Improved
- Improved support for longer article titles in article suggestions from the conversational assistant. Now, the conversational assistant displays the full article title for all article suggestions regardless of title length.
- Improved consistency for logo display. Previously, logos appeared in grayscale for read conversations for some organizations. Now, logos appear in full color as expected regardless of the read or unread status of a conversation.
Deprecated
- Deprecated the
currentCustomer()
method. Use the newcustomerExists()
method instead.
v2.4.1
Release date: 05-25-2021
Summary: Hotfix release
Fixed
- Fixed a bug where the keyboard from the chat interface would persist when the chat window was closed.
v2.4.0
Release date: 05-24-2021
Summary: We made several updates and bug fixes to the Chat iOS SDK with a focus on the following:
- Improve user experience and overall consistency for the chat UI
- Improve keyboard display behavior for the chat UI
- Fix bug crashes related to messages sent to the conversational assistant
Fixed
- Fixed a bug that caused the SDK to send both a push notification and a duplicate in-app notification if the user opens the app without tapping the push notification.
- Fixed a bug that caused crashes for when messages were sent to the conversational assistant.
Added
- Added "⚡️ by Kustomer" to display on the bottom of the Answers tab and article list page in the Knowledge Base view.
- Added a static library version of the SDK to provide developers with additional installation options.
- Added customer messages to the
onChatMessageReceived
listener to make it easier to get all messages in one listener callback.
Improved
- Improved the overall stability of the SDK.
- Improved the consistency of language locale overrides.
- Improved the consistency of the display order for attachments and related messages. Now, the SDK displays the relevant message body before displaying the attachment.
- Improved the user experience and error messaging for sending attachments. Now, the SDK displays an “Error. Tap to retry” message when attachments do not send.
Improved the message read behavior. Now, the SDK marks messages as read when the user swipes down to close the display. - Improved the user experience for keyboard display in the chat widget to match the Android SDK experience. Now, the keyboard remains open in the chat.
- Improved the iOS Chat SDK dark mode assets for the “Powered by Kustomer” brand icon and the default away image to match the display behavior in the Android Chat SDK.
Removed
- Removed the article count for Knowledge Base article categories in the Knowledge Base view to match the UI behavior of other Kustomer Chat SDKs.
v2.3.1
Release date: 04-30-2021
Summary: We made several updates and bug fixes to the Chat iOS SDK with a focus on the following:
- Improve error handling, archive support, and UI behavior for the iOS SDK.
- Add support for the Object Selector dialog interaction, a new feature for the conversational assistant.
Fixed
- Fixed a bug that caused formatting errors for some hyperlinked text in the UI.
Added
- Added support for a new KObject Lists message template for the Object Selector dialog, a new conversational assistant feature.
- Added two new color names to the
KustomerUI.Color
reference to support the new Object Selector dialog feature:kobjectButton
andkobjectButtonText
. - Added handling for
423 Locked
errors in the iOS SDK to prevent messages from sending to conversations that have ended. - Added filtering to prevent any messages started on the Chat 1.0 SDK from appearing in the Chat 2.0 SDK.
Improved
- Improved the UI behavior for consistency with other mobile and web Chat SDKs. Now, the chat UI navigation resets to display the Conversations list when a user closes and then reopens the chat widget.
- Improved archive support.
v2.3.0
Release date: 04-23-2021
Fixed
- Fixed a bug that caused the “Leave a message” and “New Conversation” buttons to appear cut off in the chat UI for some screens.
- Fixed a bug that caused the conversational assistant to present more than one CSAT survey for some ended conversations.
- Fixed a bug that prevented image thumbnails for attachments from loading properly in conversations after a customer logged out and logged in again.
Added
- Added the set reply time to the Conversations list in the chat UI.
Improved
- Improved the offline behavior so that customers can no longer start a new conversation until they regain network connectivity.
- Improved the UI display for Knowledge Base article titles sent through a conversational assistant dialog. Previously, words in longer article titles would appear split between lines in the chat UI for some organizations.
- Improved the user experience for how video or PDF attachments sent by the agent appear in the UI.
Improved the usability of the Conversations list for organizations to match the Chat Web SDK behavior for closed conversations. Now, the iOS SDK displays in the Conversations list the name of the last agent, conversational assistant, or the team a customer received a message from before the conversation was closed. - Improved the display behavior for failed messages in closed conversations. Now, chat automatically hides failed messages for conversations after they are closed.
v2.2.1
Release date: 04-08-2021
Summary: We made several updates and bug fixes to the Chat iOS SDK with a focus on the following:
- Improve behavior, usability, and functionality for conversation merge scenarios.
- Improve support for conversational assistants for app installation and reinstallation scenarios.
- Improve general chat performance and stability.
- Add developer options for CSAT animations in chat.
Fixed
- Fixed a bug that prevented customers from replying to chats after an agent merged customer profiles.
- Fixed a bug that prevented the chat history from displaying consistently for customers on a slow or unstable connection.
- Fixed a bug that prevented conversational assistant buttons from displaying if a customer reinstalled the app in the middle of a conversation with an assistant.
- Fixed a bug that prevented conversational assistants, if set, from starting new conversations after a new app installation.
- Fixed a bug that caused chat to crash after the following error:
Illegal attempt to establish a relationship 'session' between objects in different contexts
. - Fixed a rare bug that caused chat to crash after the following error:
NSInvalidArgumentException: -[__NSCFSet addObject:]: attempt to insert nil
Added
- Added the option for developers to turn on or turn off the default CSAT animation. Previously, the CSAT animation was turned on by default. Now, the animation is turned off by default. To learn more, see KustomerOptions.
Improved
- Improved push notification support and update/routing behavior for customer chats after an agent merges customer profiles.
- Improved the user experience and in-app messaging for article deflection and conversation merges.
- Improved the conversational assistant behavior to re-ask article deflection questions if a customer submits an attachment in response. Previously, the assistant waited for the customer to submit a text response.
Removed
- Removed a duplicate
BCSymbolmap
file that affected manual installations of the Chat iOS SDK.
v2.1.1
Release date: 04-02-2021
Summary: This update is for our developer audience. We made two changes to how we compile the framework. There are no code or product updates for this version.
- Enabled bitcode
- Enabled
-no-serialize-debugging-options
for improved xcframework compatibility
v2.1.0
Release date: 03-24-2021
Summary: We made several updated and bug fixes to the Chat iOS SDK with a focus on the following:
- Improve chat UI usability for consistency in behavior across Android and iOS SDKs.
- Improve support and handling for synchronous chat over unstable network connections and after logout/login events.
- Improve behavior, usability, and functionality for conversation merge scenarios between open and ended conversations.
- Improve conversational assistant support for agent interruption.
Fixed
- Fixed a bug that caused chat bubbles to overlap when displayed with Chat iOS SDK v2.0.6.
- Fixed a bug that caused customer merges to appear as a conversation merge in UI.
- Fixed a bug that caused some conversational assistant messages to appear in an order different from the order expected from the assistant logic flow.
- Fixed a bug that caused the activity indicator (or progress spinner) in the chat UI to freeze and persist even after re-establishing a network connection.
- Fixed a bug that caused inaccuracies in the unread message count after logout/ login. The unread message count inaccuracies meant some customers could view their chat history even with the Hide Chat History synchronous chat setting turned on.
- Fixed a bug that prevented some push notifications from opening the corresponding conversation when tapped.
Added
- Added support for conversational assistant interruption. The assistant buttons disappear from the UI when the agent is responding (if typing indicators are turned on) or after the agent sends a message to the customer and interrupts the assistant flow.
- Added support for the Date data type for custom attributes on describeCurrentCustomer.
Improved
- Improved the usability of the conversation button when the “Restrict to Single Open Chat” synchronous chat setting is turned on. To better match the actual behavior, the conversation button now displays “Return to Open Conversation” instead of “New Conversation”.
- Improved functionality for merge scenarios between open conversations and ended conversations. Now, when an agent merges either an open conversation into an ended conversation, or an ended conversation into an open conversation, the merged conversation will display as an open conversation with the messages threaded together. A CSAT survey won’t display because the conversation is open.
- Improved intermittent network handling.
v2.0.7
Release date: 03-01-2021
Improved
- Improved error messaging and user experience for connectivity issues. Now, a “No internet connection” screen is displayed when an internet connection is unavailable. The screen also displays a retry button for chat and persists until a stable internet connection becomes available again.
- Improved consistency for
isChatAvailable
method. Now, `isChatAvailable returns a Boolean instead of a callback. To learn more, see the updated documentation for is Chat available?.
v2.0.6
Release date: 02-10-2021
Fixed
- Fixed issues with login
- Image loading
- In-app notifications
- Reconnect button
Improved
- Updated German Translations
- Improved UI for Conversation Move
- Improved push notification registration
v2.0.5
Release date: 01-28-2021
Fixed
- Bug fix for multi-line text input not resizing as user types
- Minor fixes and improvements to conversation and customer merging and moving
Added
- Added user presence support
- Agents will now see a “green” presence indicator when user has the chat widget open
- Added the ability to use message template functionality that was only available in the Chat Assistant
- Added changeBrand(brandId: completion) and changeBusinessSchedule(scheduleId: completion)
- For business schedules and brands, you no longer have to modify
Kustomer.options - and then call reloadChatSettings(_:).
- Instead, use changeBrand(brandId: completion) and changeBusinessSchedule(scheduleId: completion)
- For business schedules and brands, you no longer have to modify
- Added onShow and onDismiss.
- Added printlocalizationkeys().
Deprecated
- Deprecated onViewDidAppear, onViewDidDisappear, onViewWillAppear, onViewWillDisappear.
v2.0.4
Release date: 01-12-2021
Fixed
- Inline images displayed incorrectly in chat
-,*,<,>
display correctly in chats
Added
- Multi-line KB article titles
- Added a "Thank you for your rating" pop up when completing a satisfaction survey
Improved
- Improved KB performance
- General performance improvements
Deprecated
- Deprecated
KustomerClient.resetTrackingToken
. UselogOut
instead. - Deprecated
ChatProvider.identifyCurrentCustomer
. UselogIn()
orlogOut()
followed bylogIn()
instead.
v2.0.3
Release date: 12-17-2021
Fixed
- Crash when a typing indicator signal is received while logging out
Added
Kustomer.rootViewController
(read-only)Kustomer.options.hostViewController
Kustomer.options.hideNewConversationButton
PushProvider.shared.listLivePushChannelRegistrations(completion:)
- Additional logging at the .info level for push registration
Improved
- Chat assistant quick replies
v2.0.2
Release date: 12-03-2020
Fixed
- Push notification registration failure
- iOS 11 and 12: message bubble background color always black
Added
- Callbacks for when the Kustomer UI view controller is shown/hidden
AddedonViewDidAppear
,onViewWillAppear
,onViewWillDisappear
, andonViewDidDisappear
to KustomerOptions. Events fire when the main Kustomer UI view controller is shown/hidden
let options = KustomerOptions()
options.onViewWillAppear = { animated in
print("view will appear")
}
Kustomer.configure(apiKey:"foo", options:options, launchOptions:launchOptions)
Improved
- Renamed
ChatProvider.shared.createConversation(title: ...)
toChatProvider.shared.createConversation(firstCustomerMessage: ...)
- Agent name can take up multiple lines on chat detail screen