Release Notes

v3.1.0

May 22, 2019

Release Notes

iOS

  • Updated to native iOS SDK version v7.5.3.
  • Introduced a new rich element for automation bots to let users choose from a list of selectable options if the number of options is more than 5.
  • From this release, Helpshift SDK will work for users on iOS 10,11 and 12. Here's how you could continue using Helpshift for your iOS 9 users.
  • Users can modify their CSAT rating during the Feedback phase before submitting them. For more details, see here.
  • Added a configuration option, IssueMinimumDescriptionLength for setting the minimum number of characters required, before you can send a message in conversational experience. For more details, see the documentation.
  • Added configuration option, conversationPrefillText, for pre-filling new conversation's description in the conversational issue filing experience. For more details, see here.
  • Updated behavior of opening Links from the FAQ view inside of Helpshift. The Helpshift session will not close when opening external links.
  • Added a new API for closing the active Helpshift session. For more details, see here.
  • Added new API "enableTestingMode". View
  • When testing mode is enabled, public APIs in HelpshiftSupport, HelpshiftCampaigns and HelpshiftCore will now throw ExceptionInInitializerError exception if the API is called before HelpshiftCore:installForApiKey:domainName:appID:withConfig API.
  • Fixed a bug, where a user could attach a screenshot twice by quickly tapping the Send button in the Preview screen multiple times.
  • If there are no FAQs present in the SDK, FAQ search bar is disabled.
  • Fixed a bug where agent nickname showed up as (null) on the SDK chat screen if it wasn't set on the admin dashboard.
  • Fixed a bug where loading older messages would fail under an edge case.
  • Fixed a UI issue where calling UIAppearance proxy API to invoke setContentInsetAdjustmentBehavior from host app was affecting some of SDK's scroll views.
  • Fixed a bug where, under rare circumstances, retrying failed bot message could lead to user getting stuck on the chat screen with infinitely loading Typing Awareness Indicator.
  • Fixed a rare crash that occurred when the app was brought to foreground.
  • Deprecated the HsAddFaqsToDeviceSearchOnInstall enum value from the addFaqsToDeviceSearch option.
  • Fixed a bug where the conversation wasn't closed if the user clicked on NO in the resolution question and exited the chat screen in some cases.
  • Fixed a rare crash occurring due to resource deadlock during SDK initialization.
  • Fixed a bug where deep links which opened FAQ screens in Agent replies failed to open in the app.
  • Fixed a bug in the checkIfConversationActive API. If the conversation resolution question is off, this API would incorrectly return true until the chat screen is opened.
  • Fixed a bug where blank screen was sometimes shown if conversation creation failed.
  • Fixed a rare bug in the Form based issue filing experience in which the user was able to create multiple open conversations.
  • Fixed a crash that occurred due to nil device ID returned by iOS APIs. Stack trace of the crash :
    • Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: [__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0] [HsCampaignsInboxSyncController getRequestData]
  • Fixed duplicate symbol linker errors when -ObjC linker flag is on.
  • Fixed a bug where failed analytics events requests were never retried.
  • Fixed a bug where close button was missing from nested dynamic form screens.
  • Fixed a bug where user's name was visible as author for "What else can we help you with?" agent message.

Android

  • Updated to Android SDK version 7.5.0. View
  • Introduced a new rich element for automation bots to let users choose from a list of selectable options if the number of options is more than 5. For more details, refer here
  • Users can modify their CSAT rating during the Feedback phase before submitting them. For more details, refer here.
  • Added a configuration option, hs__issue_description_min_chars for setting the minimum number of characters required before you can send a message in conversational experience. For more details, refer here.
  • In debug mode, public APIs in Support, Campaigns and Core would log an error if the API is called before Core#install API.
  • Fixed a bug where the enableContactUs configuration flag in the API config options wouldn't work correctly.
  • Fixed a bug where the RequestUnreadMessagesCount was not being called with -1 as the count when the user doesn't have any conversation created or an internal error occurred.
  • Fixed a crash which occurs when isConversationActive API was called when the conversation is resolved and the user rejected the conversation resolution question.
  • Prevented a crash due to Android OS 8.0 bug when using the screenOrientation configuration flag in the Install call.
  • Fixed a bug where, in some network edge cases, SDK fails to download an image.
  • Fixed a bug where the user could reply to a previously assigned bot in the conversation.
  • Fixed a bug where in some network edge cases, the user can reply to a conversation while waiting for the next bot message.
  • Fixed a bug where the "Message Deleted" message text was getting clipped off from the right when using a custom font.
  • Fixed a bug where sometimes other messages were shown incorrectly in italics, if a message was redacted.
  • Fixed a bug where the notificationSound configuration flag in the Install call wouldn't work correctly on Android OS 7.0 & above.
  • Fixed a bug, where in some rare scenarios, agent messages were not received by the SDK.
  • Fixed a bug, where in some rare scenarios, a user could not reply to a conversation if custom bot was assigned to it.
  • Fixed a bug, where in some scenarios, conversations weren't closed when the user rejected the resolution question and closed the conversation screen.
  • Fixed a bug, where sometimes, the getNotificationCount API would incorrectly return -1 when it should be 0.
  • Fixed a bug where the getNotificationCount API would incorrectly return 0 if Conversation History was enabled and conversation was resolved/rejected.
  • Fixed a bug where the isConversationActive API would incorrectly return true until the chat screen is opened if config for conversation resolution question is disabled.
  • Fixed a rare bug in the Form based issue filing experience in which the user was able to create multiple open conversations.
  • Fixed some memory leaks caused by launching of Conversation and FAQ UI.
  • Fixed a bug where the hyperlinks in CJK language messages were not showing correctly if the message text contained full-width parentheses.
  • Fixed a bug where an extra comma along side the date was displayed on the chat screen if agent name was empty.

v3.0.0

November 26, 2018

Release Notes

iOS

  • Updated to native iOS SDK version v7.3.0.
  • Added support for iOS 12.
  • Introduced new updates to the in-app messaging experience. Here's our guide on how to onboard to the new experience. View
  • Introduced the Answer Bot and Identity Bot for in-app messaging SDKs.
  • Introduced support for Custom Bots.
  • Introduced a new and enhanced Login API for managing the name, email, and user identifiers for your end users. View.
  • Introduced the ability to use the 'Email' field as a means of identifying users, so that email addresses don't have to be passed to the 'User ID' field.
  • Introduced 'user auth token', which is an HMAC Digest used to ensure that the requests are coming from an authentic source (and not a malicious 3rd party). View
  • Introduced functionality for end users to view their past conversations. This can be managed via an Admin toggle available in the Dashboard on the App settings > the In-app SDK configuration page. Review this FAQ to get started.
  • Introduced functionality for Admins to prevent users from being able to attach files in conversations. This can be managed via an Admin toggle available in the Dashboard on the app settings > the In-app SDK configuration page.
  • Introduced functionality for end users to be able to tap on an attachment that they sent in order to view the image.
  • Added new APIs with ApiConfig and InstallConfig objects instead of Dictionary for passing SDK configuration.View
  • Added Campaigns delegate callbacks for tracking when a Helpshift session begins and when a session ends.
  • Replaced the old Support and Campaign delegates with improved cross platform delegates. View
  • Enhanced UI and support for voiceover.
  • SDK screens are not orientation locked anymore.
  • Chat bubble colors are now customizable.
  • Deprecated the setSDKLanguage API. Please use the new setLanguage API
  • Deprecated the setNameAndEmail(), setUserIdentifier() and the existing loginWithIdentifier: APIs. Please use the new login API.
  • Deprecated the configurations conversationPrefillText, requireEmail, hideNameAndEmail, goToConversationAfterContactUs, showSearchOnNewConversation along with the Form-based Issue filing experience. All the details are mentioned here
  • Dropped support for iOS 9.2 and below.
  • Added new customization keys:
    • Selectable Option Text Color: The color of the text in option pills of the Answer Bot or skip button.
    • Selectable Option Background Color: The background color of the option pills of the Answer Bot or skip button.
    • Selectable Option Border Color: The border color of the option pills of the Answer Bot or skip button.
    • Field Background color: The background color of the reply field.
    • Field border color: The border color of the reply field.
  • Removed the selectable option color customization key. Please use the latest plist with the updated keys if you plan to customize the Helpshift UI.
  • Fixed a bug where image attachments sent by the end user were uploaded twice when network timeout errors occurred.
  • Fixed a bug where the dark theme was incorrectly displayed on iPhoneX devices in the FAQ detail screen bottom view.
  • Fixed a bug where the status bar color property was not reflected correctly the first time that the screen was launched.
  • Fixed a bug where the SDK was not considering the current push permission status with regards to starting and stopping the poller.
  • Fixed a bug where FAQ search results were not being highlighted for CJK languages.
  • Fixed a bug where pending notifications for a closed Issue were taking the user to the chat screen of the closed Issue even after the user had already created a new Issue.
  • Fixed a crash that would occur in cases where a user replied to a Rejected conversation.
  • Fixed a bug where the 'didReceiveInAppNotification' delegate was not called in some cases.
  • Fixed a bug where the user would see a blank screen when calling the showConversation API.
  • Fixed cases where multiple Issues could be created or duplicate messages would be sent from the SDK in cases where client network errors occurred.
  • Fixed a bug where FAQ search keywords specified on the Dashboard were not picked up by the SDK if they contained capital letters.
  • Fixed a bug where users wouldn't receive push notifications if the push token syncing failed.
  • Fixed a bug where sometimes the SDK would keep making network requests if the host app is executing a background operation.
  • Fixed a bug where, on the Issue filing screen, a deleted description draft would reappear after attaching the screenshot.
  • Fixed a bug where the 'Contact Us' button was not visible if the FAQ or Section title was too large.
  • Fixed a bug where the bottom half of the in-app notification banner was not tappable on an iPhone X.
  • Fixed a bug where the background of the table view when presenting FAQ search results was not styled properly in Dark theme.
  • Fixed a bug where sometimes a chat screen will launch automatically when multiple in-app notifications were received at the same time.
  • Fixed a bug where sometime users were able to give a CSAT rating after they had rejected the resolution request.
  • Fixed a bug where the users' device was shown as an iPhone 7 instead of an iPhone 7 plus.
  • Fixed a bug where user engagement analytics were not properly captured for Campaigns push notifications.
  • Fixed a bug where rich push notification actions were not working in Campaigns push notifications if the UNNotification framework was used.
  • Fixed a bug where the badge count for unread messages on the FAQ screen was incorrect if the Issue was resolved and the app was killed and re-opened.
  • Fixed an issue where the SDK was throwing and catching exceptions while the device is offline, making the offline debugging harder for developers.
  • Fixed a crash in database operations.
  • Stacktrace: thread #4, queue = 'com.helpshift.HSIssuesPersistentStorage', stop reason = EXC_BAD_ACCESS (code=1, address=0x74786574)
  • Fixed a crash which would sometime occur when sanitizing the user name string.
  • Stacktrace: NSInvalidArgumentException
  • [HSProfile initWithServerIdentifier:identifier:name:email:userId:deviceId:andLastSeenAt:isSynced:]
  • Fixed a crash that would occur rarely while retrying the failed network requests:
    • Stacktrace: objc_class::demangledName(bool) NSStringFromClass +[HSConstants queueNameForClass:]
  • Fixed a crash in database operations:
    • Stacktrace: __hs_db_worker_queue +[HsDbUtil pathForDatabaseName:] +[HsDbUtil openDb:] + 4342041624
  • Fixed a crash which would occur when syncing device data for Campaigns:
    • Stacktrace: NSInvalidArgumentException [HsDeviceController makeHSRequestForProperties:]
  • Fixed a crash that would occur when accessing a dictionary in a multithreaded environment
    • Stack trace:[__NSDictionaryM setObject:forKey:] [HsIOSNetworkRequestDAO storeEtag:forRoute:]

Android

  • Updated to native Android SDK version v7.3.0.
  • Introduced new updates to the in-app messaging experience. Here's our guide on how to onboard to the new experience.
  • Introduced Answer Bot and Identity Bot for in-app messaging SDKs.
  • Introduced support for Custom Bots.
  • Introduced support for Android P.
  • Introduced a new and enhanced Login API for name, email, user identifier for your end users.
  • Introduced the ability to use the 'Email' field as a means of identifying users, so that email addresses don't have to be passed to the 'UserID' field.
  • Introduced 'userauthtoken', which is an HMAC digest used to ensure that the requests are coming from an authentic source (and not a malicious 3rd party). Refer here.
  • Introduced functionality for end users to view their past conversations. This can be managed via an Admin toggle available in the Dashboard on the App settings > the In-app SDK configuration page. Review this FAQ to get started.
  • Introduced functionality for Admins to prevent users from being able to attach files in conversations. This can be managed via an Admin toggle available in the Dashboard on the app settings > the In-app SDK configuration page.
  • Introduced functionality for end users to be able to tap on an attachment that they sent in order to view the image.
  • Added Campaigns delegate callbacks for tracking when a Helpshift campaigns session begins and when a session ends. Refer here.
  • Added new APIs with ApiConfig and InstallConfig objects instead of Dictionary for passing SDK configuration.View
  • Enhanced support for voiceover.
  • Replaced the old Support and Campaign delegates with improved cross platform delegates. View
  • Deprecated the setSDKLanguage API. Please use the new setLanguage API
  • Deprecated the setNameAndEmail(), setUserIdentifier() and the existing login() APIs. Please use the new Login API. Link
  • Deprecated the configurations conversationPrefillText, requireEmail, hideNameAndEmail, goToConversationAfterContactUs, showSearchOnNewConversation, enableTypingIndicator along with the Form-based Issue filing experience. All the details are mentioned here.
  • Changed the default value of showConversationResolutionQuestion to false and made it customizable from the app settings Dashboard.
  • Fixed an ANR error which would occur sometimes when the Campaigns' addProperty API was called after the login API.
  • Fixed a bug where MetadataCallable was being called twice whenever a new Issue was created.
  • Fixed a bug where the search icon was missing on the FAQ screen if "Don't keep activities" developer option is on.
  • Fixed a rare edge case where users were not able to send or receive messages if an SQLiteException occurred at least once while the user's data was being read from the database.

v2.6.0

January 04, 2018

Release Notes

iOS

  • Updated to native iOS SDK version v6.4.1.
  • Added support for iPhone X.
  • Applications are now required to build with Xcode 9 so that layouts work correctly across all supported iOS versions. If you have a project with Xcode version prior to Xcode 9, you could use the build mentioned [here].(https://support.helpshift.com/kb/article/can-i-install-an-older-version-of-the-helpshift-sdk/#plugins).
  • Added support for UNNotifications framework for push notifications. View

v2.5.0

December 01, 2017

Release Notes

iOS

  • Updated to native iOS SDK version v6.3.1.
  • Helpshift now supports iOS 11.
  • Added support for sending "Custom Issue Fields" when filing a new conversation. View
  • Added new Campaigns AddProperty() API to support 64 bit integer values.
  • Deprecated the following APIs. View
    • int GetCountOfUnreadMessages() in HelpshiftCampaigns class. For new api check here
  • Made improvements to the Campaign images downloading mechanism saving data for the user. For more details check the CoverImage api in HelpshiftInboxMessage interface here.
  • Deprecated ShowAlertToRateApp() API. An explanation of why we made this change can be found here. Link
  • Automatic review reminder requests sent from the backend will now be ignored.
  • Updated the review action in Campaigns to have it redirect to the app store page of the app.

Android

  • Updated to native Helpshift Android SDK version v6.4.0. View release notes for 6.4.0. View release notes for 6.3.0. View release notes for 6.2.0
  • Added support for sending "Custom Issue Fields" when filing a new conversation. View
  • Added new Campaigns AddProperty() API to support Long values.
  • Deprecated the following APIs.
    • int GetCountOfUnreadMessages() in HelpshiftCampaigns class. For new api check here
  • Storage permission for user attachments is now optional. More details on storage permission usage here
  • Add support for notification channels introduced in Android Oreo. View
  • Made improvements to the Campaign images downloading mechanism saving data for the user. For more details check the CoverImage api in IHelpshiftInboxMessage interface here.
  • Added two new customizable color attributes for tab text on FAQ sections pager screen.
  • Use title parameter of the dynamic form API as the form title. View.

v2.4.0

September 6, 2017

Release Notes

iOS

  • Updated to iOS API version : 6.1.0. View release notes for 6.1.0, View release notes for 6.0.0.
  • Added flag for showing a typing indicator on Conversation screen. View.
  • Renamed HelpshiftApi.IOS.dll to HelpshiftApi.dll.
  • Added an API to asynchronously check if an active Conversation exists. View
  • Added an API to asynchronously request unread message count. View
  • Added the following methods to the Helpshift delegate interface: View
    • DidCheckIfConversationActive
    • DidReceiveUnreadMessagesCount
  • Deprecated the following APIs within the HelpshiftApi.HelpshiftSupport class:
    • IsConversationActive
    • GetNotificationCount
  • Deprecated the method DidReceiveNotificationCount in Helpshift delegate interface.

Android

  • Updated to Android API version : 6.1.0. View release notes for 6.1.0, View release notes for 6.0.0
  • Added flag for showing a typing indicator on Conversation screen. View.
  • Renamed HelpshiftApi.Android.dll to HelpshiftApi.dll.
  • Added an API to asynchronously check if an active Conversation exists. View
  • Added an API to asynchronously request unread message count. View
  • Added the following methods to the Helpshift delegate interface: View
    • DidCheckIfConversationActive
    • DidReceiveUnreadMessagesCount
  • Deprecated the following APIs within the HelpshiftApi.HelpshiftSupport class:
    • IsConversationActive
    • GetNotificationCount

v2.3.1

April 26, 2017

Release Notes

iOS

  • Updated to iOS API version : 5.10.1. View release notes
  • Added flag for showing Conversation info screen. View

Android

  • Updated to Android API version : 4.9.1. View release notes
  • Added flag for showing Conversation info screen. View

v2.3.0

April 12, 2017

Release Notes

iOS

Android

  • Updated to Android API version : 4.9.0. View release notes
  • Introduced an API to check if a Conversation is active. View
  • Added a new delegate to notify when the Conversation has ended. View

v2.2.0

February 3, 2017

Release Notes

iOS

  • Updated to iOS API version : 5.9.2. View release notes
  • Renamed the HelpshiftSdk namespace to InternalHsApiDefinition.
  • Added Inbox Data APIs to retrieve expiry timestamp of a campaign message. View
  • Added Inbox Data APIs to retrieve action type and action data for action buttons of a campaign message. View
  • Fixed a crash which would occur on calling Dynamic Forms API.

Android

  • Updated to Android API version : 4.8.1. View release notes
  • Added Inbox Data APIs to retrieve expiry timestamp of a campaign message. View
  • Added Inbox Data APIs to retrieve action type and action data for action buttons of a campaign message. View

v2.1.0

November 21, 2016

Release Notes

iOS

  • Added Inbox Data APIs. View
  • Added ShowMessage API for showing specific Campaigns messages. View

Android

  • Added Inbox Data APIs. View
  • Added ShowMessage API for showing specific Campaigns messages. View

v2.0.0

November 7, 2016

Release Notes

iOS

Android

v1.0.0

August 11, 2015

  • iOS API version : 4.12.1, Android API version : 3.9.1