July 30, 2019
- Added support for iOS 13 Beta 4 and Xcode 11. Apps using Older SDKs (<=7.5 version ) will see the following degraded behavior for in-app support when run on iOS 13 beta:
- End-users will not be able to send attachment
- Inconsistent dark/light color elements in SDK, when you turn ON the OS level dark mode
- Difficulty in navigating or reading through FAQs because of the UX changes introduced in iOS 13
- Gestures to open and close the bot options in list picker UI will not work properly
- Removed CoreLocation framework dependency
- Added support for messages and attachment redaction for SDKs. If you redact messages and attachments from Agent desktop, they will be redacted from the device too.)
- Deprecated the automatic handling of Helpshift push notifications via swizzling. Make sure that you follow the guide for notification integration:
- Fixed a bug, where the user did not receive the agent response. It occurred when the user was on chat screen and device got locked, and after unlocking the device, intermittently the user did not receive the Agent messages. However, when you close and reopen the chat screen, user was able to receive all the Agent messages.
- Fixed a bug, where sometimes, SDK configuration set on dashboard would not show on app launch.
- Fixed a bug where map and filter named methods of NSArray category were conflicting with the host app's categories.
- Fixed a bug where, in some network edge cases, the user was able to retry an older message which is not part of the running bot.
- Fixed a bug where the user couldn't send the CSAT rating for a resolved conversation if conversation history was ON and if there was a login change between users.
- Fixed a bug where the previously sent images were not shown on chat screen immediately after a login change. However if the user closed and revisited the chat screen, the images would load correctly.
- Fixed a bug where, in some network edge cases, the user fails to send or receive messages if a bot was interrupted by another bot.
- Fixed a bug, where conversationEnded delegate was not called for the agent rejected conversation unless user exits the chat screen.
- Fixed a bug where the user message was sent twice in an edge case when Send button was tapped multiple times
- Improved the loading of large FAQs.
May 14, 2019
- Fixed a bug which resulted in in-app notifications not working for some cases on the Standard SDK.
- Fixed a crash that would occur in a rare db write failure scenario.
- Stack trace: [HsSQLDbHelper runQuery:withBlobData:doesReturnData:withError:] + 236
0x0000000105efaeac -[HsSQLDbHelper runExcecutableQuery:withParameters:useBlobType:withError:] + 80
0x0000000105eec7c4 -[HsKVStoreProvider insertQueryWithParameters:domain:withError:] + 220
0x0000000105eebda4 -[HsKVStoreProvider setLongValue:forKey:domain:withError:] + 200
0x0000000105f181c0 -[HsSDKConfigurationDM updateLastSuccessfulConfigFetchTime] + 96
0x0000000105f164e4 -[HsSDKConfigurationDM fetchServerConfig:] + 912
0x0000000105e8b65c -[HsCocoaCore fetchServerConfig] + 136
March 28, 2019
- Fixed a bug, where the application crashes, when a developer imports Helpshift header files and starts the application on iOS 9.
March 25, 2019
- Fix the linker warning about duplicate usage of the
March 25, 2019
- 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 which now accepts a completion handler. For more details, see here.
- 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
- Fixed a bug introduced in version
7.4.0, where default values of InstallConfig were not being respected in the
[HelpshiftSupport installForApiKey:domainName:appID:] API
To upgrade to 7.5.1 please refer to the guide here
January 29, 2019
- Added a new API
enableTestingMode to enable testing mode in the SDK. For more details, see here.
- When testing mode is enabled, public APIs in HelpshiftSupport, HelpshiftCampaigns and HelpshiftCore will now throw
ExceptionInInitializerError exception if the API is called before
- 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
- 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.
October 3, 2018
- Added iOS 12 support.
- Applications are now required to build with Xcode 10.0 and above.
- Added Campaigns delegate callbacks for tracking when a Helpshift session begins and when a session ends. Details are available here
- Added new customization keys. Details are available here
- 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.
- Introduced the ability for users to open user-sent attachments.
- Fixed a bug where Custom Bot options were only partially rendered in the chat screen.
- Fixed a bug where the new conversation button was shown along with the reply box.
- Fixed a bug where the conversation screen was not scrolling to the bottom when the option pills were rendered.
- Fixed a bug where the conversation would get closed when the chat screen was partially slid from the left.
- Fixed a bug where the greeting message text was appended whenever the chat screen was partially slid from the left.
- Fixed a bug where the app would crash when the chat screen was partially slid from the left after the user had tapped on the new conversation button.
- Fixed a bug where Custom Bots pills were not rendered on migration,
- Fixed a bug where the reply box was not shown when a New Issue Automation was enabled with Custom Bots and an action set to resolve the Issue.
- Fixed a bug where the new conversation button was not shown after the user had selected one of the options offered by Answer Bot.
- Fixed a bug where the app would crash after the chat screen was scrolled while the user was in the process of selecting a Custom Bot option pill.
- Fixed a bug where Admin attachments were not displayed in the chat screen when a screenshot request was sent with an attachment.
- Fixed a bug where the app would crash after the user had tapped on the New Conversation button when conversations history and a greeting message were both disabled.
- Fixed the alignment of the pill options and the skip button.
- Fixed a bug where Answer Bot option pills were still visible when they weren't supposed to be in some edge cases.
- Fixed a bug where the user attachment button was not showing in the chat screen after a user had rejected the resolution question.
- Fixed bug where the new conversation button would jump up when the orientation was changed from landscape to portrait.
August 21, 2018
- 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 a new way to embed messaging experience in your iOS app. Details are available here.
- Fixed an edge case bug where, if the end user sent an image attachment at the same time that the Agent rejected the Issue, the Issue would remain open on the end user side.
- Fixed a crash that would occur on 32 bit devices when the user selected a date in response to a Custom Bot.
- Fixed a crash that would occur when accessing a dictionary in a multithreaded environment
- Stack trace: [__NSDictionaryM setObject:forKey:]
July 25, 2018
- Fixed a bug wherein all the options in an options list sent by Custom bot would not be rendered the first time it appeared when the app was in landscape mode. Selecting an option in this partially rendered list would crash the application.
July 10, 2018
- Introduced support for Custom Bots.
- Fixed a bug where the system kept the form-based Issue filing experience as the default if the Conversational Filing configuration from the Dashboard was not known to the SDK yet.
- Fixed a bug where the SDK was incorrectly reporting the build number as the application version while filing the issue.
- Fixed a bug where image attachments sent by an end user were not re-fetched after they had logged out and logged back in.
- Fixed a bug where image drafts were lost in the form-based Issue filing experience when the user visited suggested FAQs.
- Fixed a bug where image attachments sent by the end user were uploaded twice when network timeout errors occurred.
- Fixed a bug where the SDK was not throwing the InstallException in cases where wrong install credentials were provided.
- Fixed a bug where the name field was not being updated when the same user logged in with a different name.
- 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 send button image theme could not be edited.
- 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 rarely while retrying the failed network requests:
- Stacktrace: objc_class::demangledName(bool)
- Fixed a crash in database operations:
- Stacktrace: __hs_db_worker_queue
+[HsDbUtil openDb:] + 4342041624
May 9, 2018
- Fixed a bug where network requests were not automatically retried when failures occurred.
- Fixed a bug where FAQs did not load for some users when upgrading to 7.0.0.
- Fixed a crash that would occur in cases where a user replied to a Rejected conversation.
- Fixed a rare bug where a user might get stuck in pre-issue state.
- Fixed a bug where the 'didReceiveInAppNotification' delegate was not called in some cases.
- Fixed a bug where a user would see a blank screen when the showConversation API was called.
- Fixed a CFBundleExecutable key Issue in bundles.
- Fixed a bug where the pre-Issue state might be reset when an app reinstall occurred.
- Fixed a bug where in some cases, the badge count would not update on FAQ screens.
April 23, 2018
- Introduced new updates to the in-app messaging experience. Here's our guide on how to onboard to the new experience. View
- 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 the Answer Bot and Identity Bot for in-app messaging SDKs.
- Enhanced UI and support for voiceover.
- SDK screens are not orientation locked anymore.
- Chat bubble colors are customizable now.
- Deprecated the
setUserIdentifier() and the existing
loginWithIdentifier: APIs. Please use the new login API.
- Deprecated the configurations
showSearchOnNewConversation along with the Form-based Issue filing experience. All the details are mentioned here
- Dropped support for iOS8 and below.
- Fixed cases where multiple Issues can be created or duplicate messages can be sent from the SDK in case of client network errors.
- 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 reject 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 which would occur when syncing device data for Campaigns:
- Stacktrace: NSInvalidArgumentException
February 13, 2018
- Fixed a rare edge case where users were not able to send or receive messages.
- Improved Helpshift's podspecs to address an issue where test targets were not building after Helpshift's pod integration.
January 16, 2018
- Fixed a rare crash that would occur when the SDK configuration was being fetched for the first time.
- Stack trace: 0x00000001903ae2d0 -[__NSDictionaryM setObject:forKey:] + 320
0x0000000100157ee8 -[HsSdkInfoModel addEtag:forRoute:] + 136
December 21, 2017
- Fixed a bug where symbols were conflicting with SocketRocket while using -all_load linker flag.
- Fixed a race condition where the SDK stopped fetching new messages after navigating to the chat screen from FAQs.
- Fixed a rare bug where agent typing indicator would not be visible to the user.
- Fixed a rare crash while storing campaigns sessions.
- Stack trace:Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects'
- Fixed a crash when the entered text in FAQs Search Controller was in auto-correct/suggestion mode and user pressed cancel.
- Stack trace: -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects in method -[HsFaqSearchUIControllerImpl addFAQAnalyticEvent:]
November 20, 2017
- Added support for iPhoneX.
- Applications are now required to build with Xcode 9 so that layouts work correctly across all supported iOS versions. If you have an XCode 8 project, you could use the build mentioned here.
- Added support for UNNotifications framework for push notifications. View
- Improved the accessibility behavior for the following UI elements:
- Resolution Request view
- "Start a new conversation" button
- Customer Satisfaction Survey flow
- Failed message indicator view
- "Screenshot Request" message
- "Review Request" message
- Automation reply message
- Attachment message
- Improved Italian translation for "Email (optional)" string.
- Fixed a crash in the Campaigns login API .
- Stack trace: [HsSwitchUserController getRequestData] setObjectForKey - object cannot be nil (key: uid)
- Fixed a crash in the SDK migration flow.
- Stack trace: setObjectForKey: object cannot be nil (key: profile-id)
- Fixed a crash in the Campaigns property syncing.
- Stack trace: Exception: NSInvalidArgumentException in -[HsUserModel setSyncStatus:forProperties:]
- Fixed a crash which would occur when the showDynamicFormOnViewController:withTitle:andFlows:withConfig: API was called.
- Fixed a bug where the chat screen would automatically open if the control center or notification tray was open at the time of push notification arrival.
- Fixed an edge case bug where users would see a blank chat screen if they filed a new conversation while the SDK was migrating to a new SDK version.
- Fixed a bug where the image attachment would flicker after being sent successfully.
- Fixed a bug where the typing indicator animation was not smooth on iOS 11 devices.
- Fixed a bug where the "Contact Us" button in the search footer was not localized for VO users.
- Fixed a bug where focusing on the tableview in VO mode would shift the tableview down and show some empty space on top.
- Fixed a bug where Bar button font name was not getting applied from the HelpshiftConfigDark.plist.
- Fixed a bug where font size in Table Section Header was not getting applied.
November 13, 2017
- Fixed a UX issue for apps built with Xcode8 or prior and running on iOS11 where the beginning of the tableviews was shifted down.
October 13, 2017
- Added support for sending "Custom Issue Fields" when filing a new conversation. View
- Added a Swift compatible API to send logs when filing a new conversation. View
- Added support for passing 64 bit integers in campaigns user properties. View
- Added an API to asynchronously request unread campaigns message count. View
- Added a new delegate to provide unread campaign message count. View
- SDK now requires -ObjC flag to be present in the "Other Linker Flags" under Build Settings section. View
- Made improvements to the Campaign images downloading mechanism.
- Fixed an intermittent crash on conversation filing screen when network is unavailable.
- Fixed a bug where links were not working in Screenshot Request messages.
- Fixed a UI issue where calling UIAppearance proxy API to invoke setContentInsetAdjustmentBehavior from host app was affecting SDK's scroll views.
- Fixed a bug where Application state was being read from background thread instead of main thread.
- Fixed an accessibility bug where VO would navigate to "Describe your problem" text view and its placeholder in the text input area.
- Fixed a rare case where failing to read metadata of a message from disk could cause the app to crash.
- Improve accessibility VO label for "Send" button on Conversation Filing Screen.
- Improved handling of the rare case where Conversation DB could go in undesirable state.
- Deprecated the following APIs. View
- (void) log:(NSString *)format, ...; in HelpshiftSupport class
- (NSInteger) getCountOfUnreadMessages in HelpshiftCampaigns class
September 22, 2017
- Helpshift now supports iOS 11
showAlertToRateAppWithURL:withCompletionBlock: API. An explanation of why we made this change can be found here.
- 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.
- Fixed some code comments.
- Make method
HelpshiftSupportDelegate optional. Use the newer
didReceiveUnreadMessagesCount APIs instead.
- Fixed a bug where the color set using "Rating star color" was not being applied to stars on feedback screen.
- Fixed Hindi translation for "You found this helpful" string.
- Fixed a rare crash in signature generation while making a network request.
- Fixed a bug where the retry button for text messages would not work even after reconnecting to the network.
August 21, 2017
- Added support for iOS-11 beta-5
- Added a new API to set the SDK language asynchronously. View
- Added an API to asynchronously check if an active Conversation exists. View
- Added an API to asynchronously request unread message count. View
- Added an API to asynchronously create and return dynamic form for given flows. View
- Added the following methods to the HelpshiftSupportDelegate protocol:
- (void) didCheckIfConversationActive:(BOOL)isActive
- (void) didReceiveUnreadMessagesCount:(NSInteger)count
- (void) didCreateDynamicForm:(UINavigationController *)form
- Setting enableFullPrivacy API configuration to true will now hide name and email address fields. View
- Fixed a bug where blank cells appeared upon searching for FAQs in FAQ section view.
- Fixed a bug on iOS 11-beta where the text view to enter CSAT review text was not visible in review rating screen.
- Fixed a bug where compilation would fail if Socket Rocket library was integrated with the app through source code.
- Fixed a bug where tags were not added to the new issue if added without metadata.
- Fixed a bug where "Bold font name" config was not applied to FAQ title.
- Fixed a bug where the applications that use Google Cast SDK would crash while filing a new Conversation.
- Fixed the warnings reported by Xcode 9 where some of the UIKit APIs were called from secondary thread.
- Fixed a bug where database connections were not closed before removing the database during migration.
- Fixed a bug on iOS 11 where back button title would not appear in single FAQ and Conversation screens.
- Deprecated the following APIs within the HelpshiftSupport class: View
- (BOOL) isConversationActive
- (NSInteger) getNotificationCountFromRemote:(BOOL)isRemote
- (UINavigationController ) dynamicFormWithTitle:(NSString )title andFlows:(NSArray *)flows
- setSDKLanguage:(NSString *)languageCode
- Deprecated the method (void) didReceiveNotificationCount:(NSInteger)count in HelpshiftSupportMetadata protocol. View
July 18, 2017
- Added compatibility for iOS 11 beta 3.
- Added support to show an animated indication on the Conversation screen when an Agent is replying to the Conversation.View
- Added a new High Contrast theme.View
- Added two new keys for customizing text color of the user chat bubble and Agent chat bubble.View
- Added new key for customizing Typing indicator color.View
- Added new keys for customizing Secondary text color, Placeholder text color and Timestamp text color.View
- Removed Helpshift class and all its member methods that were deprecated in SDK version 5.0.0.View
- Deprecated APIs that take install and API configurations as NSDictionary.View
- Fixed a bug where the SDK would crash upon pressing the back button after attaching a second screenshot while the first screenshot upload was still in-progress.
- Fixed a bug where the SDK would crash if the Issue was filed with a corrupt image.
- Fixed a bug where the SDK would crash upon calling setMetadataObjectBlock API.
- Fixed a bug where the search title text was not highlighted in search results.
- Fixed a bug where the FAQ footer text got clipped if the font size was increased in the device's accessibility settings.
- Fixed a bug where follow-up was successful if sent while the user was typing.
- Fixed a UI glitch where extra padding was added to the table view search controller if the translucency of the navigation bar was disabled.
- Fixed bug where a crash would occur when multi-character UTF-16 encoded characters were found in the FAQ body of search results.
- Fixed a bug where the Contact Us button in FAQ search results list was not accessible via the accessibility identifier.
- Fixed a bug where the badge count was not updated when the Issue was resolved.
- Fixed a bug where notification count APIs were returning incorrect values.
- Fixed a bug where the app was not suspended immediately after being backgrounded.
- Fixed a bug where a crash would occur on iOS 11 beta 3 while attaching a screenshot in new Conversation.
- Fixed crash on some devices in rare cases while creating a new issue.
- Fixed a rare bug where a crash would occur on syncing sessions on iOS 10.
- Fixed a rare crash on app launch.
- Improved syncing server configurations.
- Improved handling for failed network requests.