Skip to main content

Changelog

Subscribe to our changelog

Subscribe to our changelog to receive emails whenever we make updates to the Atomic area(s) that most interest you.

29 November 2022

Workbench

  • Bugfix: Fixes an issue where last sent date was displayed in local timezone on insights page, inconsistent with other dates on the page which are in UTC.
  • Bugfix: Fixes an issue where sign-up links persisted between sessions in browser, occasionally causing "invite is invalid" errors on login via SSO.

Platform

  • Feature: Custom analytics events can now be sent to Atomic to trigger webhooks and create segments, in future these will also be usable with Action Flows. See documentation for more information.
  • Feature: Allow sorting realtime analytics API responses descending by timestamp with a new query parameter "desc" - setting this to any value will sort the response in descending order (newest first).
  • Enhancement: API spec 1.1.0
    • New “custom events” API endpoint has been added.
    • Spec has been updated to include "desc" parameter for sorting realtime analytics.

iOS (1.1.7)

  • Bugfix: Fixes an issue that caused the app to crash when falling back from WebSockets to HTTP polling.

25 November 2022

Workbench

  • Feature: Displays IDs of roles & groups in their respective list views.
  • Enhancement: Changes label of "Permission group" permission to "Workbench member group".
  • Bugfix: Fixes an issue where "Manage environments" & "Manage organization" in the top-right dropdown weren't showing for users with "view" permissions to environments & organization.

Platform

  • Enhancement: Tags endpoints by categories in API spec (version 1.0.9).
  • Enhancement: Updates user profile schema in API spec (version 1.0.9) to only show updatable fields.
  • Bugfix: Fixes an issue where any analytic event could update customer's first_seen_at field.
  • Bugfix: Fixes an issue where the initial default value of boolean variables was "undefined", not "false".
  • Bugfix: Fixes an issue with the returned internal identifier keys in the user update (put /v1/${environmentId}/user) endpoint.

Android (1.1.10)

  • Bugfix: Fixes an issue with registering for and de-registering from push notifications.
  • Bugfix: Fixes an issue where setting apiProtocol was only available from Kotlin.

21 November 2022

iOS (1.1.6)

  • Feature: Introduces custom events. (preview feature)
  • Enhancement: It is now possible to use form elements on top-level cards. Read more about form elements in our Authoring cards tutorial.
  • Bugfix: Fixes issue where customised error messages were truncated on the loading page.

16 November 2022

Workbench

  • Feature: It is now possible to trigger the sending of cards when customers enter or exit segments. Read more about Segment triggers.
  • Bugfix: Fixes issue where external test users didn’t show in send test card modal.

10 November 2022

Workbench

  • Feature: Theme editor supports new font weight options. Supported from these SDK versions and later: Android 1.1.0, iOS 1.1.5 & Web 1.3.0.
  • Enhancement: A workbench member's login options (SSO or org id) are now remembered for subsequent logins.

Platform

  • Feature: Support for filtering by Action Flow invocation id and Action Flow config id in the realtime analytics endpoint.

09 November 2022

Android (1.1.9)

  • Bugfix: Fixes an issue where submit handler sometimes is not triggered, despite event handler.

04 November 2022

Android (1.1.8)

  • Bugfix: Fixes an issue where cards were shown in the wrong stream container when using live updates.

02 November 2022

Workbench

  • Enhancement: Adds a copyable subview id beside the heading when viewing a subview in the card editor.
  • Enhancement: Improves email validation notifications when inviting a new user.
  • Bugfix: Fixes an issue where users could not sign-up to MFA enforced organisations.
  • Bugfix: Fixes an issue where customer CSV files could not be uploaded in organisations hosted outside of the us-east-1 region.
  • Bugfix: Fixes an issue where Boolean variables with default value of "false" were rendered incorrectly.
  • Bugfix: Fixes an issue where group names were not shown correctly in the card approvals setting screen.

Android (1.1.7)

  • Bugfix: Fixes issue where there is no error shown when no JWT token is provided.
  • Bugfix: Fixes issue where new line character in Text Block Component did not get trimmed.

27 October 2022

Workbench

  • Bugfix: Fixes an issue where user CSV files could not be uploaded in organizations hosted outside of the us-east-1 region.
  • Bugfix: Fixes an issue where group names were not visible to select in the card approvals setting screen for some users.

Platform

  • Enhancement: Allow filtering by analytic event name and card template Id in realtime analytics API endpoint.

26 October 2022

Android (1.1.5)

  • Enhancement: Adds configuration for customising session delegate’s retry interval.

iOS (1.1.5)

  • Enhancement: Subviews can now be linked from text via markdown. See the Themes and style guide for more details on how to link to subview.
  • Enhancement: Adds configuration for customising toast text.
  • Enhancement: The toast message no longer has the "Dismiss" link and is entirely tappable.
  • Enhancement: Adds configuration for customising session delegate’s retry interval.
  • Enhancement: Adds a new Cocoapods path for importing Atomic SDK.
  • Enhancement: Support all font weights. This feature is implemented on iOS SDK but not available yet on Workbench.

25 October 2022

Web (1.3.0)

  • Feature: Introduces the ability to customise toast messages displayed by the SDK.
  • Feature: Introduces a custom container header that is displayed above the card feed if supplied.
  • Enhancement: Font support has been expanded, custom fonts in woff & woff2 format are now supported as well as numeric font weights.
  • Bugfix: Fixes an issue where an incorrectly configured streamContainerId or endUserId could be passed to the platform in analytics events without first being verified.
  • Bugfix: Fixes an issue where the card feed could get stuck in a loading state when subscribing for updates from the WebSocket.

20 October 2022

Workbench

  • Enhancement: Show an error message when an active or invited workbench user is invited.
  • Enhancement: Clarify "Workbench member group" description in workbench.

14 October 2022

Android (1.1.4)

  • Bugfix: Fix issue where stream container does not load.
  • Bugfix: Fix issue when onTokenReceived is called with a null argument.

7 October 2022

Workbench

  • Enhancement: Users with "view" permission of "API Authentication control" can no longer view secrets, they can only list the available credentials. Users with "edit" permission continue to be able to list, create, delete, and view secrets of API credentials.
  • Enhancement: Escape excel command characters from analytics CSV export as per OWASP guidance.

Platform

  • Bugfix: Fix an issue where embargoed cards could not be cancelled.
  • Bugfix: Fix an issue where workbench email invites were not delivered when re-sent.

iOS (1.1.4)

  • Enhancement: Items on the overflow menu are now evenly spaced when menu dividers are not visible.
  • Bugfix: Calls to acquire the JWT are now restricted to only one at the same time.

5 October 2022

iOS (1.1.3)

  • Enhancement: Improved error handling on sendEvent, trackPushNotificationReceived and userMetrics.
  • Bugfix: Removed bitcode from the SDK as Xcode 14 no longer builds bitcode by default and AppStore no longer accepts bitcode submissions. See Xcode 14 ReleaseNotes for more details.
  • Bugfix: Fix multiple theme inconsistencies.
  • Bugfix: Fix hang risk caused by threads waiting on lower QoS threads.

Web (1.2.0)

  • Feature: Introduces the new horizontal card feed layout for standalone type stream containers.
  • Enhancement: Card count notifications are now sent in real-time when the WebSockets protocol is used.
  • Enhancement: The SDK now handles a custom payload on "submit" buttons if this has been set in the Workbench.
  • Enhancement: The dismiss icon displayed at the top of a card will take the values set for "button icon" & "button state" in the Workbench.
  • Fix: Fixes an issue where polling was stopped prematurely when the SDK protocol was set to http via the setApiProtocol method.

30 September 2022

Workbench

  • Enhancement: In the insights dashboard, treat a card as actioned if the user has given feedback.
  • Enhancement: In the insights dashboard, show more clearly which filters have been applied.
  • Enhancement: Allow de-selection of media library images in the card builder.

Platform

  • Removal: The deprecated Card Config API has now been removed.

Android (1.1.1)

  • Enhancement: Add configuration point for JWT expiry interval.
  • Enhancement: Add configuration point to customise toast text, and remove "Dismiss" link.
  • Fix: Prevent multiple calls to JWT.
  • Fix: UI Issues with AACSDK v1.1.0.
  • Fix: Improve logout flow when called without login.

22 September 2022

Workbench

  • Enhancement: Add raw number totals to the insights dashboard along with percentages.
  • Enhancement: In theme editor, all color inputs now show a preview of chosen color.
  • Enhancement: Allow deep-linking and support back-button navigation within the theme editor by tracking the current open section in the url.
  • Enhancement: Enhance the error message on the CSV Customer import function for failed rows.
  • Fix: Fixes an issue where renaming a font variable in the theme editor broke existing references to that variable. Now the theme is updated to automatically reference the new font variable name.

16 September 2022

Android (1.1.0)

  • Enhancement: Update Card count without displaying a Stream Container.
  • Enhancement: Link to subviews from text via markdown.
  • Enhancement: Support all font weights. This feature is implemented on Android SDK but not available yet on Workbench.
  • Enhancement: Remove redundant invoked events from Android SDK.
  • Enhancement: Custom Container Header.
  • Enhancement: Remove non authenticated calls to deregisterDeviceForNotifications and removed deprecated end-point.
  • Fix: Line height not respected consistently on list bullets.
  • Fix: Card Width.
  • Fix: Unexpected behaviour of new line in Markdown.
  • Fix: Border radius on cards & banner images.

12 September 2022

iOS (1.1.2)

  • Feature: Introduces a custom container header that scrolls along with cards.
  • Enhancement: card-dismiss-invoked, card-snooze-invoked, and card-submit-invoked are removed from events.
  • Bugfix: Fixes several theme inconsistencies.
  • Bugfix: Fixes unexpected handling of bold italic text in Markdown.
  • Bugfix: Fixes the endless waiting for non-response JWT token requests.

Workbench

  • Enhancement: Provide copyable card id in card editor overflow menu.
  • Bugfix: Fixes an issue in the card editor where changing default input values didn't update the card preview.

Platform

  • Enhancement: Targeting an action flow with an invalid segment Id or tag name now returns an HTTP 400 status code.

9 September 2022

Android (1.0.10)

  • Fix: Downgrade OkHttp to use 4.9.1

2 September 2022

Workbench

  • Enhancement: Overwriting existing media items is now supported with an automatic clearing of existing cache entries.
  • Bugfix: Inactive workbench test users no longer appear in the "send test card" modal.

Android (1.0.9)

  • Fix: No error message displayed when unable to obtain a JWT

29 August 2022

Workbench

  • Feature: Audit Log tool released in beta. See the tools guide for more information.
  • Enhancement: Add 'copy to clipboard' button for Segment IDs in the Customers screen.

Platform

  • Feature: Add basic auth to webhook authentication options. See the workbench configuration guide for more information.
  • Bugfix: Fix an issue where analytics publishedAt time did not represent the first publish of a card, but could be subsequent times that a card was made active i.e. unsnoozing.

23 August 2022

Web (1.1.0)

  • Feature: Adds a new enableDebugMode method which can be used to run the SDK with debug logs output to the console.
  • Feature: Adds the ability to change the icon & background colour for the stream container launcher button, or to disable it entirely.
  • Enhancement: Built-in action menus and buttons for dismissing, snoozing and voting can be controlled on a per-card basis in the Workbench. Action buttons on the card are not affected. (Workbench changes coming soon).
  • Bugfix: Bulleted lists created using markdown in a Text block now match the styling of the List block.
  • Bugfix: Fixed an issue where the loading state was not correctly updated when particular authentication issues occurred.

22 August 2022

Android (1.0.8)

  • Enhance: Changes to push notification de-registration.
  • Enhance: Built-in action menus and buttons for dismissing, snoozing and voting can be controlled on a per-card basis in the Workbench. Action buttons on the card are not affected. (Workbench changes coming soon).
  • Enhance: Upgrade AACSDK Gradle version to support AGP 7.2.1.
  • Fix: Theme inconsistencies.
  • Fix: Integers display as floats.

17 August 2022

iOS (1.1.1)

  • Bugfix: Card voting options are now always enabled if the user has enabled voting in the SDK integration directly.

16 August 2022

iOS (1.1.0)

  • Feature: Introduces a new horizontal layout of the card feed.
  • Feature: Introduces a new method setApiProtocol to switch between WebSockets and HTTP polling.
  • Enhancement: Built-in action menus and buttons for dismissing, snoozing and voting can be controlled on a per-card basis in the Workbench. Action buttons on the card are not affected. (Workbench changes coming soon)
  • Enhancement: Card count notifications are now sent in real-time when the WebSocket is used.
  • Enhancement: Reduce minimum token expiry from five minutes to one.
  • Bugfix: Fixes an issue that prevents in-place cards from being updated.
  • Bugfix: Bullets in lists are now correctly rendered with theme colours.
  • Bugfix: Bullets in lists are now correctly rendered with the list height in theme.
  • Bugfix: Image elements with a valid external source URL are now correctly displayed with a placeholder image when that URL links to a non-image.

15 August 2022

Workbench

  • Feature: AWS signed-request Webhook authentication option available in beta.
  • Bugfix: Fix issue where non-card scoped webhook types were not selectable when choosing the "All cards" card template option.
  • Bugfix: Fix issue where variables could not be used as the default value for a number input in a card.
  • Enhancement: Speed up end user deletion in both API and in Workbench.
  • Enhancement: Pre-check the streams that are enabled in the delivery settings when sending a test card.

10 August 2022

Android (1.0.7)

  • Enhancement: Remove Jetifier as dependency.
  • Enhancement: Add WebSockets toggle.
  • Enhancement: Reduce minimal token expiration from five minutes to one.

Workbench

  • Enhancement: Improve workbench preview by inserting {varName} to show where variables will be inserted.
  • Enhancement: Improve error message when inviting a workbench member who already has access.

Platform

  • Enhancement: Ensure an Action Flow can only be invoked in either live or test mode, not both.
  • Bugfix: /events API endpoint now returns HTTP 400, not HTTP 200, when there is no matching published card associated with the event.

3 August 2022

Workbench

  • Feature: Added menu option to edit environment preferences direct from "Manage environments" page.
  • Bugfix: Fix permission issue on the Workbench Member screen.

Platform

  • Deprecation: Card Config API is now deprecated. It will be removed in a future release.

29 July 2022

Web (1.0.0)

  • Feature: The WebSockets are now fully supported and are activated by default.
  • Feature: A method setApiProtocol has been added to deactivate WebSockets if desired.
  • Enhancement: Authentication is now handled via a single auth callback provided to setSessionDelegate. The other SDK methods which previously took an auth callback should no longer be provided one. See the 1.0.0 migration guide for a full description of the updates required to your integration.

28 July 2022

Platform

  • Feature: Allow completing, dismissing and cancelling cards programmatically by Action Flow Ids.

21 July 2022

Platform

  • Bugfix: Adds missing publishedAt and snoozePeriod columns to batched analytics and the Analytics debugger CSV export.

15 July 2022

Platform

  • Enhancement: All cards are now sent to a default "All Cards" Stream.
  • Enhancement: Analytic events include "action flow" related properties.
  • Feature: Introduction of Action Flows.

Workbench

  • Bugfix: Fix link to card template from "configuration > webhooks > subscriptions".
  • Enhancement: Allow configuring streams from within the card editor "delivery" tab.
  • Enhancement: Improvements to the customer CSV import to allow importing more customers at once.
  • Enhancement: UI updates to the card editor "triggers" tab.

14 July 2022

Flutter (0.2.0)

  • Enhancement: Native SDK Dependency Updates: Android SDK v0.18.1 and iOS SDK v0.25.1.
  • Feature: Add single card view support on Android.
  • Feature: Add card count observer support on Android.

4 July 2022

Platform

  • Enhancement: Add support for multiple mapped workbench groups for (a) SSO user role(s) during SSO login.
  • Bugfix: Fixes an issue where in-place card updates were not being sent via WebSocket.

1 July 2022

Platform

  • Enhancement: Display additional context in the Activity Log around the JWT being used, in case of JWT auth error.

Workbench

  • Feature: Add support for using variables in URLs in the card editor.

22 June 2022

Platform

  • Enhancement: Update and fix errors in API specification.

Workbench

  • Enhancement: Preserve card list order between page reloads.

21 June 2022

Android (1.0.6)

  • Enhancement: Dependency updates: androidx.fragment:fragment:1.3.6, androidx.appcompat:appcompat:1.3.1, androidx.activity:activity:1.2.4
  • Enhancement: Namespace the “mode” attribute to avoid clashes with other libraries.

Android (1.0.5)

  • Enhancement: Close WebSockets session when App goes to background.

React Native (1.0.6)

  • Enhancement: Close WebSockets session when App goes to background for Android.

15 June 2022

Workbench

  • Enhancement: Provide option to enter target organization when logging in via direct sso link.
  • Enhancement: Add snooze, dismiss and card vote up/down options as configurable buttons in card editor. Read more about these options in the card element reference guide.
  • Enhancement: Fix issue where jpeg and jpg files were not shown as selectable for media library upload in file browser.

Platform

  • Enhancement: Introduce new card analytics to capture a users device information. Read more about the available analytics in the analytics reference section

09 June 2022

Workbench

  • Enhancement: Remove analytic columns from events list page.
  • Bugfix: Fix a bug where jpeg files couldn't be uploaded to the media library.

iOS (1.0.1)

  • Feature: Introduces a new logging method enableDebugMode.
  • Feature: Top-level components can now be used in subviews.
  • Enhancement: The WebSockets connection is now closed when the app enters the background.
  • Enhancement: The WebSockets connection can now be checked by certificate validation exclusively.
  • Bugfix: Removes an extra white line during launching when launchColors isn't set.
  • Bugfix: Fixes an issue where action button icons and labels were not correctly aligned.

07 June 2022

Android (1.0.4)

  • Features: Introduces a new logging method enableDebugMode.
  • Bugfix: Removes a padding of the Header Image that shouldn’t be there.
  • Bugfix: Improvement on Runtime variable implementation.
  • Bugfix: Fixes issue where previous content persisted after logout, until overwritten with new content.
  • Bugfix: Fixes issue with null pointer exception when trying to view card list on start-up.

03 June 2022

React Native (1.0.5)

  • Features: Introduces a new logging method enableDebugMode.
  • Enhancement: The WebSockets connection is now closed when the app enters the background. [iOS]
  • Bugfix: Removes an extra white line during launching when launchColors isn't set. [iOS]
  • Bugfix: Removes a padding of the Header Image that shouldn’t be there. [Android]
  • Bugfix: Improvement on Runtime variable implementation. [Android]

31 May 2022

Platform

  • Bugfix: Fixes issue with themes not being shown correctly if multiple containers reference the same theme.

25 May 2022

React Native (1.0.4)

  • Bugfix: Fixes for Android WebSocket implementation.
  • Bugfix: Fixes issue where previous content persisted after logout, until overwritten with new content.
  • Bugfix: Fixes issue with null pointer exception when trying to view card list on start-up.
  • Bugfix: Fixes issue where category title overlapped with overflow menu button.
  • Bugfix: Fixes issue where the text did not fit the card when using icons in text blocks.
  • Bugfix: Fixes issue where switching between environments prevents cards from loading/showing as expected.

19 May 2022

React Native (1.0.2)

  • Bugfix: Fixes for Android WebSockets implementation.

Workbench

  • Bugfix: Fix issue preventing notification platforms from displaying in some cases.

17 May 2022

React Native (1.0.1)

  • Feature: Add support for Android SDK 1.0.0
  • Change: Android SDK no longer uses Gradle Shadow, so compatibility checks may be required. See AACSDK dependencies.

10 May 2022

Android

  • Feature: The WebSockets are now fully supported and are activated by default.
  • Change: Android SDK no longer uses Gradle Shadow, so compatibility checks may be required. See AACSDK dependencies.

04 May 2022

Workbench

  • Enhancement: Minor UI changes to list-variable based card editor fields.
  • Enhancement: UI updates to environment switcher & profile dropdown menu.
  • Feature: Adds an organisation switcher for organisation specific pages.
  • Enhancement: Allow filtering by draft cards that have never been published in card insights dashboard.
  • Bugfix: Fixes an issue where SSO logins showed "Authorisation failed" error message regardless of authorisation status.

28 April 2022

React Native (1.0.0)

  • Feature: Add support for iOS SDK 1.0.0
  • Feature: The WebSockets are now fully supported and are activated by default.
  • Feature: You can now pass a callback to logout, invoked when the logging out completes.
  • Enhancement: Improvements to the layout of the stepper control.
  • Enhancement: Increase the security of push notification deregistration.

Platform

  • Feature: Adds support for Token Authentication with iOS Notification Platforms.
  • Enhancement: Improved Manage Organization screen.
  • Enhancement: Removes "*-invoked" analytics events.
  • Bugfix: Fixes an issue with card insights screen where in certain timezones the "From" time selection was incorrect.

21 April 2022

Platform

  • Feature: WebSockets now used to manage Card feed.
  • Bugfix: Fixes an issue where any platform event could set "last seen at" time on a customer record.

Workbench

  • Enhancement: Add button to launch Atomic Connect using QR code directly from the workbench.
  • Enhancement: Minor UI updates to webhook subscription creation form and webhook list.
  • Bugfix: Fixed bug where URLs for external images did not show in the card editor.

14 April 2022

iOS (1.0.0)

  • Feature: The WebSockets are now fully supported and are activated by default.
  • Feature: You can now pass a callback to logout, invoked when the logging out completes.
  • Enhancement: The push notification registration methods now return a more specific error type when an error happens.
  • Enhancement: Improvements to the layout of the stepper control.
  • Enhancement: Increase the security of push notification deregistration.

8 April 2022

Web (0.19.2)

  • Bugfix: Fixed a bug where card displayed analytics events were occasionally not sent

6 April 2022

Web (0.19.1)

  • Feature: Alternative text provided via the workbench for images and videos are now supported by the web SDK.
  • Enhancement: The onCardCountChanged callback now provides both total cards visible in the container and the total number of unfiltered cards available in the stream.
  • Bugfix: Fixed padding around the calendar element to prevent dates overlapping with the border.

1 April 2022

Platform

  • Enhancement: Segment entered/exited events now include the segment name in the properties. EndUserId has been removed from properties but retained as a top level item in the event.

Workbench

  • Enhancement: Add button to download a preview image of a card from the card builder page.
  • Enhancement: Enable “customers” page in beta for all workbench users.

22 March 2022

Workbench

  • Fix broken link in the card template editor to list of available icons.
  • New environments created in the workbench have improved default themes in place.

16 March 2022

Workbench

  • Button added to theme overflow menu to copy theme JSON to clipboard
  • Button added to card list overview menu to copy the card JSON definition to clipboard.

Platform

  • Cards cancel, complete and dismiss endpoints now return HTTP 200 instead of 400 when a request is valid but no cards are found within the filter criteria.
  • Endpoint ${environmentId}/cards now includes cardTemplateName in response data

10 March 2022

Workbench

  • Enhancement: Adds breadcrumbs to the theme editor page.

Platform

  • Bugfix: Fixes an issue with card sorting when the stream container limit was reached.

2 March 2022

Workbench

  • Feature: Add webhooks for "segment-entered/exited" event types.
  • Feature: Display "segment-entered/exited" events in the analytics debugger tool.
  • Bugfix: Fixes an issue where some media library images would not render in the card preview downloader.

24 February 2022

Workbench

  • Feature: Webhook credentials now support the OAuth2 body-parameter request scheme.
  • Bugfix: Fixes a workbench issue where some dropdowns incorrectly had right-aligned text.

17 February 2022

Workbench

  • Enhancement: Allows multiple SSO identity providers within an organisation.
  • Enhancement: Adds support for scope in webhook OAuth client credentials.
  • Enhancement: Updates resource descriptions.
  • Bugfix: Fixes SSO login via a direct link.
  • Bugfix: Fixes sorting of card templates in Card List view.

Platform

16 February 2022

Android (0.18.1)

  • Enhancement: Updates for compatibility with Android 12.
  • Bugfix: Fix issue where toast messages would disappear after resuming an activity containing an Atomic stream container.

10 February 2022

Workbench

  • Enhancement: Preview renderer updated to use Web SDK 0.19.0

  • Enhancement: Always return to the most recently used filter tab in the Card List view.

  • Enhancement: Card approval in Beta for all customers.

  • Bugfix: Improve the loading speed of the Analytics Debugger.

Platform

  • Enhancement: Updates to the Card configuration endpoint. PUT and POST routes have been renamed from /card to /card-config to match the existing GET endpoint.
    • The existing endpoint will remain for now, but we encourage switching to the new endpoint
    • The api spec has been updated.
    • To support creating cards directly, the following event properties are now optional eventName, eventDefinitionId, eventSchema, eventDefinitionVersion, eventClientTriggerEnabled

8 February 2022

iOS (0.25.1)

  • Bugfix: Fix issue where image components would revert to a placeholder state unexpectedly.

Workbench

  • Bugfix: Fixes links to published card versions on the card list page.
  • Bugfix: Fixes an issue where published cards were showing in the draft tab of the card list.

4 February 2022

Web (0.19.0)

As of this release, the Web SDK no longer supports Internet Explorer 11 and legacy Microsoft Edge.

  • Feature: Drop support for Internet Explorer 11 and legacy version of Microsoft Edge. More details on the end-of-life for Internet Explorer and legacy Microsoft Edge can be found here.
  • Feature: Add new logout method, which sends any pending analytics events back to the Atomic Platform.
  • Feature: Add support for action buttons, allowing you to snooze, dismiss or vote on a card from the top-level card.
  • Enhancement: Keyboard navigation for stream containers in the launcher mode has been improved.
  • Bugfix: Fix issue where border radius on banner images and videos was not applied correctly.

31 January 2022

Android (0.18.0)

  • Feature: Add support for dark mode on Android versions that support it. You can now specify an interfaceStyle on your stream container instance, which determines the theme that is applied to your container. If the Android operating system version does not support dark mode, and you use the automatic interface style, the light theme will always be used. To enable dark mode, you must also configure a dark theme on your stream container using the Atomic Workbench.
  • Enhancement: Update push registration methods to accept a callback.
  • Enhancement: Update the logout method so that as well as clearing caches (as it does currently), any pending analytics events are also sent to the backend.
  • Enhancement: Returning a network disposition of AllowWithCertificatePins from the network request handler, with an empty list of certificate pins, now denies the network request.
  • Bugfix: Fix issue where returning a null JWT or an exception from the getToken method inside a session delegate did not trigger error handling scenarios.
  • Bugfix: Fix crash when scrolling to bottom of card list and back up.
  • Bugfix: Fix issue where background colour was not applied correctly to inline image and video elements.
  • Bugfix: Fix for view leaks on Configuration Changes.
  • Bugfix: Fix for CardModalActionDialog crash on configuration changes.

27 January 2022

Workbench

  • Bugfix: Fixes an issue where paging card templates would reset to the first page after a few seconds.

25 January 2022

iOS (0.25.0)

  • Feature: You can now pass a callback to registerDeviceForNotifications and registerStreamContainersForPushNotifications, invoked when registration completes.
  • Feature: Action buttons for dismissing, snoozing and voting a card up or down are now supported.
  • Enhancement: The logout method now sends any pending analytics events to the Atomic Platform.
  • Enhancement: The singleCardView:willChangeSize: delegate method now reports the correct size when another card appears immediately after the previous card was actioned.
  • Enhancement: Improvements to accessibility descriptions across the SDK.
  • Enhancement: Improved the animation of toast messages on devices with a notch.
  • Bugfix: Image and video placeholders now display correctly for image and video elements without a thumbnail URL.

19 January 2022

Workbench

  • Enhancement: The read only view of card templates has been improved.
  • Enhancement: Show a prompt to refresh the workbench when a new version has been released.
  • Enhancement: The card list view now shows "last edited by" and "published by" information.
  • Bugfix: Fixes an issue where media library images could not be seen with the Card-Template "View" permission level.

12 January 2022

Workbench

  • Enhancement: Allow priority to be supplied via CSV for the Bulk Card Send.
  • Enhancement: When supplying a duration, "weeks" is now supported.
  • Enhancement: In the Card List, totals are now displayed for Drafts, Published and Archived views.
  • Bugfix: Fix layout issue on the Card Delivery tab when using the expiry toggle.
  • Bugfix: When launching the Atomic Connect Demo, archived environments are now excluded.
  • Bugfix: During the invite flow, if login is via SSO provider, redirect back to the original requested invite.

Platform

  • Bugfix: When sending cards in a batch, all cards now get the same Lifecycle ID.
  • Bugfix: For cards with expiry set in the past, notifications no longer sent when coming out of DND time.

22 December 2021

Android (0.17.6)

  • Bugfix: Fix issue where the onChangeCardSize callback was not triggered when all cards in a single card view were actioned.

React Native (0.6.1)

  • Bugfix: Fix issue where single card view instances did not resize correctly on Android when the last card was actioned.

15 December 2021

Platform

  • Bugfix: Consider any actioned card to be "seen" in SDK metrics endpoint.

React Native (0.6.0)

  • Enhancement: Add support for runtime variables on Android.
  • Enhancement: Add TypeScript type definitions for all methods in the SDK.
  • Bugfix: Fix issue where single card view may collapse to a height of 0 when React Native context is re-created.

9 December 2021

Workbench

  • Bugfix: Fixes issue where newly invited members wouldn't see the environment switcher in the header until refreshing.
  • Bugfix: Fixes the webhook mapping example script example to correctly map environment id.

6 December 2021

Android (0.17.5)

  • Fix: Fix for a connection error message overlapping on empty stream containers.

Workbench

  • Enhancement: Improve the layout on the Resources and Permissions page for wider screens.
  • Bugfix: Fixes an issue where a workbench user could be redirected back to a different organisation after setting up MFA.
  • Bugfix: Allow deletion of webhook endpoints in failed state.
  • Bugfix: Fix issue that prevented users editing an existing api public key.
  • Bugfix: Remove redundant 'inline' and 'stack' toggles on subview text input configurations.

1 December 2021

Android (0.17.4)

  • Enhancement: Remove jcenter() as dependency repository. Update Koin to version 2.0.1.

25 November 2021

Workbench

  • Feature: Smart redirecting added for logged in users and on sign-up when organisation MFA requirement is enabled.
  • Bugfix: Fixes an issue where card delivery configuration was not reset when discarding draft.
  • Bugfix: Fixes an issue where the organisation switcher was not shown on the "organisation not found" page.

23 November 2021

Android (0.17.3)

  • Bugfix: Fix issue where specifying a cardListRefreshInterval of 0 did not function as expected.
  • Bugfix: Fix issue where the initial load of the card list was delayed by the duration set for cardListRefreshInterval.

19 November 2021

Android (0.17.2)

  • Bugfix: Fix issue where runtime variables were not resolved successfully when the resolution callback was invoked from an asynchronous context.
  • Bugfix: Fix issue where the loading spinner would not disappear when invoking pull-to-refresh on an empty card list.

17 November 2021

Workbench

  • Feature: Customer API endpoints which update cards now support limit and offset query string parameters. The default limit is 500. The maximum value for the limit parameter is 1000. This limits the number of cards that can be effected by an operation.

Web (0.18.0)

This is the last version of the Web SDK that will support Internet Explorer 11 and the legacy version of Microsoft Edge. More details on the end-of-life for Internet Explorer and legacy Microsoft Edge can be found here.

  • Feature: The SDK now uses Websockets to load the card list and receive new cards. In the event that Websockets are not available or a connection cannot be established, a polling mechanism is used to retrieve cards. As a result, the cardListRefreshInterval property on the stream container configuration object now only applies when polling is used.
  • Feature: Add support for dark mode in operating system and browser combinations that support it. You can now specify an interfaceStyle property on your stream container configuration object, which determines the theme that is applied to your container. If the browser and operating system combination do not support dark mode, the light theme will always be used. To enable dark mode, you must also configure a dark theme on your stream container using the Atomic Workbench.
  • Feature: Error messages that are shown when the card list or theme fails to load can now be customised.
  • Enhancement: Overflow menus are no longer confined to the bounds of their parent card. If an overflow menu has enough space to open above or below the corresponding button, it will now open at full height.

15 November 2021

Workbench

  • Enhancement: Workbench user interface updates to make it more intuitive and easier to use.
  • Enhancement: Card analytics data is now collated more frequently.

4 November 2021

Workbench

  • Feature: Card Priority can now be configured under the card delivery tab.
  • Enhancement: Add a prompt to save any pending changes when leaving the theme editor.
  • Enhancement: Browser tabs and history now show improved page titles.
  • Bugfix: Fixes an issue where the edit button on the theme list wasn't working.

Platform

  • Enhancement: Card Priority is now more intuitive with 1 signifying highest priority.

1 November 2021

Workbench

  • Enhancement: Disallow creation of webhook endpoints that contain whitespace in the target URL.

27 October 2021

React Native (0.5.0)

As of React Native SDK release 0.5.0, runtime variable analytics now default to off. This is a change in the behaviour of previous releases which defaulted to on.

  • Feature: Events can be triggered from the SDK using the new sendEvent method. You must opt-in to this functionality on a per-event basis in the Atomic Workbench.
  • Feature: Add support for an optional footer message, displayed below the last card in a stream container, provided at least one card is present.
  • Feature: The error messages on the first time load screen and card list can now be customized. You can customize the following messages by setting the corresponding properties in the customStrings object for your stream container configuration:
    • noInternetConnectionMessage: The error message shown when the user does not have an internet connection. Defaults to "No internet connection".
    • dataLoadFailedMessage: The error message shown when the theme or card list cannot be loaded due to an API error. Defaults to "Couldn't load data".
    • tryAgainTitle: The title of the button allowing the user to retry the failed request for the card list or theme. Defaults to "Try again".
  • Feature: Added the ability to detect when cards are successfully submitted, dismissed, snoozed or voted on, or when cards fail to submit, dismiss or snooze, using the new cardEventTriggered callback.
  • Feature: Add method to convert a push payload to a structured object, provided the payload represents an Atomic notification.
  • Feature: Add a new method for retrieving a one-off card count without creating a stream container.
  • Feature: Add method to de-register a device for Atomic push notifications, without requiring an authentication token.
  • Feature: Toast messages, the card list footer message and the card list header can now be enabled or disabled on the card list. Regardless of this setting, these UI elements are always disabled in single card view.
  • Feature: (iOS only) Stream containers and single card views can now be manually refreshed using the new refresh method.
  • Enhancement: Runtime variable analytics are no longer sent to the Atomic Platform by default. If you wish to continue sending runtime variable analytics, you will need to update your integration, by explicitly setting the features.runtimeVariableAnalytics flag to true on your stream container or single card view.
  • Feature: When registering stream containers for push notifications, you can now opt to set the current user's notifications preference to on or off.
  • Feature: Add support for user metrics, allowing you to determine how many cards a user has not yet seen in a stream container, as well as the total cards in the container.
  • Feature: (iOS only) When declaring custom fonts in your stream container theme, you can now reference fonts embedded in your app rather than those hosted at a remote URL.
  • Feature: (iOS only) Add the ability to automatically show the next card in a single card view after the user submits, dismisses or snoozes the current card.

20 October 2021

Workbench

  • Enhancement: Add ability to clone an existing Theme.
  • Bugfix: Fix scrolling issues in the Card Builder screen.
  • Bugfix: Fix hidden tooltips in the Card Builder screen.
  • Bugfix: Fix usability issues in the Webhook configuration screens.

Platform

  • Enhancement: Event creation endpoint now returns count of targeted customers. The individual target user IDs are no longer returned.
  • Bugfix: Fixing issues with Webhook configuration not passing all mapped fields through in the payload.

15 October 2021

Android (0.17.1)

  • Enhancement: Remove dependency on the deprecated kotlin-android-extensions plugin. As a result, the org.jetbrains.kotlin:kotlin-android-extensions-runtime dependency has been removed, and the org.jetbrains.kotlin:kotlin-parcelize-runtime dependency has been added.
  • Bugfix: Fix an issue where applying a filter to a stream container or single card view did not work as expected if the card list was not loaded first.

14 October 2021

Workbench

  • Enhancement: Escape key will now close modals.
  • BugFix: Fix the 'load more' action on the card template screen.

Platform

  • Enhancement: Card priority is captured in analytics data under cardContext.cardPriority.
  • BugFix: Variables used in comparisons of conditional variables are now evaluated.
  • BugFix: Profile variables are evaluated in notification messages.

7 October 2021

Workbench

  • Feature: Add a new 'Granular Permissions' system that supports user-defined Roles and Groups.
  • Enhancement: The webhook log view is now more user friendly and includes live polling updates.
  • Enhancement: Theme properties are now more intuitively grouped and described, including SDK support labels.
  • Enhancement: The selected environment within an organization is now sticky across sessions.
  • Bugfix: Fixes an issue where sign-up could not proceed when a user entered mismatched passwords.
  • Bugfix: Fixes an issue where some workbench customers were unable to update their own profile information.

Platform

  • Feature: Stream Containers now support configurable feed size limits.
  • Feature: Cards in feed can now be ordered by priority.
  • Bugfix: Fix an issue where webhooks in a 'failed' state could not be tested via the workbench 'send test' functionality.

6 October 2021

Web (0.17.0)

As of Web SDK release 0.17.0, runtime variable analytics now default to off. This is a change in the behaviour of previous releases which defaulted to on.

  • Feature: The Atomic SDK now requests authentication tokens from your app using a callback, which aligns with our iOS and Android SDKs. This callback allows you to check token expiry, and refresh tokens at the time they are requested. To opt-in to this new functionality, implement an onAuthTokenRequested callback on your stream container configuration object which returns a Promise. The existing authToken property on the stream container configuration will continue to function.
  • Feature: Add support for user metrics, allowing you to determine how many cards a user has not yet seen in a stream container, as well as the total cards in the container.
  • Feature: A stream container created using the AtomicSDK.launch method can now be opened and closed from an external trigger on your page.
  • Feature: When an SDK request fails, a new request-failed analytics event is now triggered. This event includes the path of the request that failed, and the HTTP status code that was returned.
  • Feature: The width of the card border is now customisable using the shape.border.card theme property.
  • Enhancement: Runtime variable analytics are no longer sent to the Atomic Platform by default. If you wish to continue sending runtime variable analytics, you will need to update your integration, by explicitly setting the features.runtimeVariableAnalytics flag to true on your stream container or single card view.
  • Enhancement: Thumbnail images and videos that do not have a source URL defined no longer show a 'View' or 'Watch' link.
  • Enhancement: Images and videos that do not have a source URL defined no longer show a hand pointer when hovered.
  • Enhancement: Dropdowns, overflow menus and radio groups can now be navigated using the up and down arrow keys, rather than needing to tab between each individual item.
  • Bugfix: Fix issue where arrows to the right of dropdowns and date pickers were not themed correctly in all scenarios.
  • Bugfix: Line height is now applied correctly to bulleted list items.
  • Bugfix: Fix issue where validations on subview inputs did not run in a well-defined order.

30 September 2021

Workbench

  • Feature: Add customer-profile based variables to card editor.
  • Feature: Add 'non-wrapping' and 'runtime' configurations to card switch variables.
  • Enhancement: Add a new 'event overwrite' configuration to card variables.
  • Bugfix: Show "not found" page when invalid environment ID is used in URL.

28 September 2021

Android (0.17.0)

  • Feature: Add support for user metrics, allowing you to determine how many cards a user has not yet seen in a stream container, as well as the total cards in the container.
  • Feature: When an SDK request fails, a new request-failed analytics event is now triggered. This event includes the path of the request that failed, and the HTTP status code that was returned.
  • Enhancement: An alternative version of the AACSDK.getCardCountForStreamContainer method is now available. This alternative version doesn't require the use of coroutines, taking a callback instead.
  • Bugfix: Fix issue where validations on subview inputs did not run in a well-defined order.

21 September 2021

Workbench

  • Bugfix: Fix an issue with the customers screen where the Load More button was not returning subsequent results.

14 September 2021

iOS (0.24.0)

  • Feature: Add support for user metrics, allowing you to determine how many cards a user has not yet seen in a stream container, as well as the total cards in the container.
  • Feature: When registering stream containers for push notifications, you can now opt to set the current user's notifications preference to on or off.
  • Feature: The error messages on the first time load screen and card list can now be customized. You can customize the following messages by setting the corresponding custom strings on AACConfiguration:
    • AACCustomStringNoInternetConnectionMessage: the error message shown when the user does not have an internet connection.
    • AACCustomStringDataLoadFailedMessage: the error message shown when the theme or card list cannot be loaded due to an API error.
    • AACCustomStringTryAgainTitle: the title of the button allowing the user to retry the failed request for the card list or theme.
  • Feature: When declaring custom fonts in your stream container theme, you can now reference fonts embedded in your app rather than those hosted at a remote URL.

13 September 2021

Workbench

  • Enhancement: Minor performance enhancement to the Card Templates view.
  • Enhancement: Minor improvement to how empty lists are displayed.
  • Enhancement: Ability to update additional fields on the profile screen.
  • Bugfix: Fix an issue where the Org Preferences modal wasn't displaying the "MFA Required" toggle.

6 September 2021

Workbench

  • Bugfix: Resolve a loading state issue when setting the default theme in the theme editor.

26 August 2021

Android (0.16.0)

As of Android SDK release 0.16.0, runtime variable analytics now default to off. This is a change in the behaviour of previous releases which defaulted to on.

  • Feature: Add support for alternate text on image and video components, defined in the Atomic Workbench.
  • Feature: You can now filter a stream container or single card view to only show a card with a specific card instance ID.
  • Enhancement: Runtime variable analytics are no longer sent to the Atomic Platform by default. If you wish to continue sending runtime variable analytics, you will need to update your integration, by explicitly setting the runtimeVariableAnalyticsEnabled flag to true on your stream container or single card view.
  • Enhancement: Significant improvements to the navigation order of card components when using the Android screen reader (TalkBack).
  • Enhancement: The sessionDelegate parameter in notificationFromPushPayload(intent, sessionDelegate) and notificationFromPushPayload(message, sessionDelegate) can now be null. If this parameter is null, a notification-received analytics event is not sent to the Atomic Platform.
  • Enhancement: Method and class documentation for public SDK methods is now displayed in Android Studio.
  • Bugfix: Improve the consistency of runtime-vars-updated analytics events, when enabled on a stream container or single card view.
  • Bugfix: Fix issue where notification-received analytics events did not include a cardInstanceId.
  • Bugfix: Fix crash that can occur when rotating a device while displaying a stream container.

24 August 2021

Workbench

  • Bugfix: Resolve an issue where some modals could not be submitted with the enter key in the workbench settings

Platform

  • Bugfix: Minor semantic fixes in the Customer API specification file (../spec.yaml endpoint)

19 August 2021

Workbench

  • Bugfix: Fix issue with theme list view not refreshing automatically in some situations

Platform

  • Enhancement: Additional field platformContext.targetStreamIds added to some analytics events

16 August 2021

Workbench

  • Feature: Added the ability to duplicate an existing card
  • Enhancement: Minor styling improvements to card analytics view
  • Enhancement: Theme Editor now allows negative px values for shadow offsets
  • Enhancement: Themes can no longer be deleted while set as the default
  • Bugfix: Fix issue where some workbench fonts weren't loading
  • Bugfix: Remove redundant fields in the theme editor
  • Bugfix: Fix issue where list dropdowns were still visible after a modal had been opened
  • Bugfix: Fix issue where changing a variable name didn't update its references in conditional variables

12 August 2021

iOS (0.23.0)

As of iOS SDK release 0.23.0, runtime variable analytics now default to off. This is a change in the behaviour of previous releases which defaulted to on.

  • Feature: Add support for alternate text on image and video components, defined in the Atomic Workbench.
  • Feature: You can now filter a stream container or single card view to only show a card with a specific card instance ID.
  • Feature: When an SDK request fails, a new request-failed analytics event is now triggered. This event includes the path of the request that failed, and the HTTP status code that was returned.
  • Feature: The width of the card border is now customisable using the shape.border.card theme property.
  • Enhancement: Runtime variable analytics are no longer sent to the Atomic Platform by default. If you wish to continue sending runtime variable analytics, you will need to update your integration, by setting the runtimeVariableAnalytics flag to true on your stream container or single card view's configuration object.
  • Enhancement: The 'View' or 'Watch' link on thumbnail media is now hidden when there is no source asset defined in the Atomic Workbench. In these scenarios, tapping on the thumbnail media has no effect.
  • Enhancement: All imports in the Atomic SDK umbrella header (AtomicSDK.h) now use bracketed imports rather than quoted imports, to resolve Xcode warnings when using the SDK.
  • Bugfix: Fix issue where a custom font that was been renamed in a stream container theme failed to register when the theme was updated.
  • Bugfix: Fix issue where background color was incorrectly applied to text components on subviews, which was inconsistent with our other SDKs.
  • Bugfix: Fix memory leak in network requests throughout the SDK.
  • Bugfix: Fix issue where validations on subview inputs did not run in a well-defined order.
  • Bugfix: Fix issue where stepper values outside of a defined minimum and maximum were treated as empty values.

4 August 2021

Workbench

  • Bugfix: Fix issue where all themes show as recently updated when default is changed
  • Bugfix: Fix issue with color variables in themes not working in the SDK
  • Bugfix: Allow theme color variables to be entered without # or px
  • Bugfix: Fix issue with Font Size variables in the Theme Editor
  • Bugfix: Fix issue where Referencing-variable dropdown was hidden behind modal

Platform

  • Feature: Ability to send data-only notifications on Android

29 July 2021

Web (0.16.0)

  • Feature: Added the ability to detect when cards are successfully submitted, dismissed, snoozed or voted on, or when cards fail to submit, dismiss or snooze, using the new onCardEvent callback.
  • Enhancement: Licenses for 3rd party dependencies used by the SDK are now published alongside the SDK itself. When downloading the SDK, a link to a file containing license information is included in a header comment.
  • Enhancement: Send stream container ID to Atomic Platform with all submit, dismiss and snooze requests.
  • Enhancement: Stream containers presented with AtomicSDK.launch now have a maximum width applied, to prevent them rendering outside of the viewport.
  • Enhancement: Improvements to the loading of custom fonts to align with our iOS and Android SDKs.
  • Enhancement: Navigation bars are now variable height, to accommodate larger font sizes or line heights.
  • Bugfix: Clicking on an image or video preview on a card with no URL defined no longer opens an empty 'View image' or 'View video' view.
  • Bugfix: Theming no longer influences the styling of items in subview dropdowns, to align with our iOS and Android SDKs.
  • Bugfix: Fix issue where selecting a date in a date picker did not display the correct date in some timezones.
  • Bugfix: Fix issue where video playback controls in Google Chrome would overlap the card overflow menu.

22 July 2021

Workbench

  • Bugfix: Theme editor fixed to allow a single variable per field.
  • Bugfix: Theme list improvements, adding and deleting a theme updates the theme list without requiring a refresh.
  • Feature: Theme editor no longer requires px and # in size and color fields.
  • Feature: Performance improvements for card list view.

Platform

  • Feature: Improvements to our Open API specification document.
  • Bugfix: API requests with malformed auth tokens now result in a 400 status code.

15 July 2021

Workbench

  • Bugfix: Allow empty editor values in theme editor, disallow negative opacities.

Platform

  • Bugfix: Allow event client trigger flag to update by itself via API
  • Bugfix: Fix server error when passing empty string for interval

8 July 2021

Workbench

  • Bugfix: Theme editor falls back to default if font is missing.
  • Bugfix: Theme editor, gracefully handles missing typography size.
  • Bugfix: Fixes default sort of the card log screen.

Platform

  • Bugfix: Customer-api now responds with a 403 status instead of a 500 when wrong authorization is provided.

9 July 2021

Android (0.15.0)

  • Breaking: This is a significant release that improves the reliability and stability of the Android SDK. As a result, selected methods have been deprecated with immediate effect (generating compile time errors if used) and replaced with equivalent methods using different signatures. Please consult the upgrade guide for a full overview of the changes required to upgrade from previous releases of the Android SDK.
  • Breaking: AACStreamContainer and AACSingleCardView no longer implement Parcelable. Save stream container and single card view instances on a long-lived ViewModel instead. See our upgrade guide for more information.
  • Dependencies: Added androidx.activity:activity-ktx, com.google.android.exoplayer:exoplayer-core, com.google.android.exoplayer:exoplayer-ui and com.google.android.exoplayer:extension-okhttp as transitive dependencies.
  • Feature: Add new request handler, offering fine-grained control over all network requests originating from the Atomic SDK.
  • Feature: Add support for certificate pinning, using SHA-256 Public Key Subject Info hashes. This behaviour is implemented using the new global request handler.
  • Feature: Add support for font scaling, allowing typography styles in the SDK to respond to the user's system-wide font scale preference. This functionality is opt-in via the stream container theme in the Atomic Workbench. As a result, typography styles no longer automatically respond to the user's chosen font scale (as they did in previous SDK releases), unless 'Dynamic scaling' is turned on.
  • Enhancement: Internal improvements to improve the reliability and stability of the Android SDK. Stream container and single card view instances are now self-contained, better supporting use cases where the same stream container ID is used for multiple instances.
  • Enhancement: Improve layout of steppers on subviews with long labels.
  • Enhancement: Soft line breaks (a single new line) are now rendered correctly in text components.
  • Bugfix: Fix crash that could occur in subview date pickers, when an incorrect date format was used.
  • Bugfix: Fix issue where the card completion animation may not correctly revert in the event of an API error.
  • Bugfix: Fix theme properties that were applied inconsistently on dropdowns and date pickers.
  • Bugfix: Fix issue where typography styles were not applied in card overflow menus within AACStreamContainer instances.
  • Bugfix: Fix issue where custom fonts were not applied consistently after being downloaded for the first time.

8 July 2021

Workbench

  • Bugfix: Theme editor falls back to default if font is missing.
  • Bugfix: Theme editor, gracefully handles missing typography size.
  • Bugfix: Fixes default sort of the card log screen.

Platform

  • Bugfix: Customer-api now responds with a 403 status instead of a 500 when wrong authorization is provided.

1 July 2021

Workbench

  • Bugfix: Show images and videos when previewing card templates in the Theme editor.
  • Bugfix: Fix being unable to change theme in card builder preview.

Platform

  • Bugfix: Respond with 400 code instead of 500 when API requests are made with malformed JSON.

24 June 2021

Workbench

  • Bugfix: Remove invalid media library as an option for videos
  • Bugfix: Fix issue where event log was not displaying results

23 June 2021

iOS (0.22.0)

As of this release, the iOS SDK supports iOS 10 and above only.

  • Feature: Add new request delegate, offering fine-grained control over all network requests originating from the Atomic SDK.
  • Feature: Add support for certificate pinning, using SHA-256 Public Key Subject Info hashes. This behaviour is implemented using the new global request delegate.
  • Feature: Add support for Dynamic Type. This functionality is opt-in via the stream container theme in the Atomic Workbench.
  • Feature: Dropped support for iOS 9.
  • Enhancement: When the card list header is turned off, the SDK no longer hides the navigation bar provided by UINavigationController, allowing you to display your own navigation bar.

17 June 2021

Workbench

  • Enhancement: Add support for specifying alternate text for media in card builder.
  • Enhancement: Theme editor preview now lets you select the card that you would like to preview theme changes on.
  • Enhancement: Theme editor now shows theme json without replacing the theme preview.
  • Enhancement: Theme editor supports dynamic font sizing.
  • Enhancement: UI improvements to the the send event modal.
  • Bugfix: Fixes the loading spinner which would appear at an incorrect scale in some situations.
  • Bugfix: Adds some missing properties to the theme editor.
  • Bugfix: Fix an issue that prevented deleting dates in the delivery tab of the card editor.
  • Bugfix: Fix card embargo and expiry inputs in the card send modal.
  • Bugfix: Ensure email invites are not case sensitive.

3 June 2021

Workbench

  • Enhancement: Send test cards to user's own test user by default
  • Enhancement: Remember the user's chosen stream for the session when sending test cards
  • Enhancement: The settings screen now supports specifying security credentials for webhooks.
  • Enhancement: Card send modal now supports specifying a stream.
  • Bugfix: Fix an issue where event log pages were inconsistent lengths

Platform

  • Enhancement: Remove pending and suppressed states from card lifecycle
  • Bugfix: Fix issue where expiry time for embargoed cards was calculated based on the card's creation time, rather than publish time

28 May 2021

Android (0.14.2)

The Atomic Android SDK can now be downloaded as a dependency without authentication, directly from our internal Maven repository. See the installation guide for more information.

  • Enhancement: Removal of synthetic bindings across the SDK.
  • Enhancement: Increase touch area for dropdowns.
  • Enhancement: Increase touch area for stepper buttons.
  • Bugfix: Removed external storage permission that is no longer required by the SDK.
  • Bugfix: The in-memory card feed cache is now correctly cleared when the AACSDK.logout method is called.
  • Bugfix: Fix issue where subview dividers were rendered larger than expected.
  • Bugfix: Fix issue where text components did not render correctly in release 0.14.1.

24 May 2021

Workbench

  • Enhancement: Added variable support to beta Theme Editor for colors and font-sizes.
  • Enhancement: Test events can automatically be sent from card editor screen without needing to set-up a trigger & event.
  • Enhancement: Beta webhook "credentials" and "mapping" features added.
  • Enhancement: Card "delivery" tab added to card editor to manage card embargo and expiry times.

13 May 2021

Android (0.14.1)

  • Bugfix: Remove unnecessary network_security_config.xml file from the SDK.

10 May 2021

Android (0.14.0)

  • Breaking: The Atomic SDK is now explicitly initialized rather than using a content provider. When upgrading to this release, you will need to call AACSDK.init(context) before you can use the SDK. Failing to make this change will raise an exception that indicates the required change.
  • Feature: Add a new method - getCardCountForStreamContainer - for retrieving a one-off card count without creating a stream container.
  • Feature: Events can be triggered from the SDK using the new sendEvent method on AACSDK. You must opt-in to this functionality on a per-event basis in the Atomic Workbench.
  • Feature: Update target SDK to 30.
  • Enhancement: Radio buttons on the card feedback screen are now left aligned to better match Android convention.
  • Enhancement: Fix alignment of some components on subviews, snooze and feedback screens if enableRtl is not enabled on the host app.
  • Enhancement: Custom fonts from stream container themes are now downloaded to internal storage and no longer appear as downloads in the notification tray. This removes the requirement for the EXTERNAL_STORAGE permission.
  • Enhancement: Send stream container ID to Atomic Platform with all submit, dismiss and snooze requests.
  • Enhancement: Improvements to the destroy method on AACStreamContainer, to prevent non-Atomic fragments from being removed.
  • Bugfix: Fix race condition that can occur when the completion handler is called asynchronously inside AACSessionDelegate's getToken method.
  • Bugfix: Fix issue where cards were collapsed when Proguard was enabled in the host app.
  • Bugfix: Fix an issue where the error state in a stream container was incorrectly aligned.
  • Bugfix: Internal improvements to card events, sent when cards are submitted, dismissed, snoozed or voted on.

6 May 2021

Platform

  • Bugfix: Fix card configuration endpoint returning incorrect status for cards.
  • Bugfix: Fix notification descriptions not showing in Android.
  • Bugfix: Fix notifications only being sent to a single device if a user had multiple devices registered.

Workbench

  • Enhancement: CSV upload supports creating custom tags for uploaded records.
  • Enhancement: Support enforcing Multi Factor Authentication login.
  • Enhancement: Ensure email addresses used during sign up are not case sensitive.
  • Bugfix: Fix default values for conditional variables.
  • Bugfix: Fix card actioned reporting statistic in card analytics.

30 April 2021

Android (0.13.2)

  • Bugfix: Fix an issue where multiple stream containers with different IDs may not render up-to-date cards.

21 April 2021

iOS (0.21.0)

This is the last version of the iOS SDK that will support iOS 9. From our next release onwards, iOS 10 and above will be required to use new SDK releases.

  • Enhancement: Internal improvements to notificationFromPushPayload: method on AACSession.
  • Enhancement: Improve error handling when loading unsupported image assets on cards.
  • Enhancement: Send stream container ID to Atomic Platform with all submit, dismiss and snooze requests.
  • Enhancement: Remove all methods deprecated in release 0.14.0 (July 2020).

19 April 2021

Flutter (0.1.0)

  • Feature: Initial release of Flutter wrapper for the iOS and Android SDKs.
  • Feature: Add support for creating a stream container.
  • Feature: Add support for registering and deregistering device for push notifications.
  • Feature: Add support for single card view (iOS only).
  • Feature: Add support for observing card count (iOS only).

14 April 2021

Platform

  • Bugfix: Fix duplicated notifications when sending cards in some cases

Workbench

  • Enhancement: Added beta interface for theme editing under "settings"

29 March 2021

Workbench

  • Enhancement: Create default stream, stream container and theme automatically when new environments are added
  • Enhancement: Allow subscribing one webhook to many event types
  • Enhancement: Additional webhook event types added. Webhook types and payload now match analytics
  • Enhancement: Added environment preferences to control specific data fields provided in analytics
  • Enhancement: Added additional options for conditional variables in card assembler
  • Bugfix: Correctly handle mailto: urls in card assembler
  • Bugfix: Fix bug where a crash occurred when discarding changes on a non-published card

18 March 2021

React Native (0.4.0)

  • Feature: Add support for runtime variables (iOS only).
  • Feature: Add single card view, with callback when size changes.
  • Feature: Allow debug logging to be enabled.
  • Feature: Add support for observing card count.
  • Feature: Add callback to logout method, called when caches are cleared.
  • Feature: Add support for presentation styles, and callback when action button is tapped (iOS only).
  • Feature: Add support for submit and link button payloads.
  • Feature: Allow first time launch colors to be configured.
  • Feature: Add support for interface style, to enable dark mode (iOS only).
  • Feature: Allow card voting options to be configured.
  • Feature: Allow SDK strings to be customized.
  • Feature: API base URL can now be set in code.
  • Feature: Update iOS SDK to 0.20.0.
  • Feature: Update Android SDK to 0.13.1.

4 March 2021

Web (0.15.0)

  • Feature: Allow customers to vote on whether they found a card useful or not.
  • Feature: Allow customers to provide feedback if they did not find a card useful.
  • Feature: Add a new method that allows you to request a card count without creating a stream container in your UI.
  • Feature: Toast messages can now be disabled on the card list. Regardless of this setting, toast messages are always disabled in single card view.
  • Feature: Standalone embeds can now have their iframe height set automatically to the height of all content, by supplying the optional 3rd parameter to AtomicSDK.embed as true. The onSizeChanged callback is also triggered when the iframe is resized, allowing you to respond to changes in the height of the card list or subviews.
  • Feature: You can now specify a minimum height for cards in the card list and single card view.
  • Enhancement: Improve handling of link buttons directed to subviews in single card view.
  • Enhancement: Re-introduce scroll indicators in subviews, feedback and snooze screens.
  • Bugfix: Fix issue where SDK fails to load when using private browsing mode in Firefox.
  • Bugfix: Fix issue where toast message content may disappear when displaying multiple toasts in succession.
  • Bugfix: Reduce time to display text with custom fonts when fonts fail to load.

1 March 2021

Android (0.13.1)

  • Bugfix: Fix issue where card list fragment may crash when not attached to a context.

25 February 2021

Workbench

  • Enhancement: Reorder columns in card log table to improve readability
  • Bugfix: Fix bug where user profile screen didn't show when the user had no org access
  • Bugfix: Fix bug where overlays did not reposition until scrolling stops

Platform

  • Enhancement: Add notification-sent webhook, and always send card-published when cards are sent to customers. Deprecate card-suppress webhook.
  • Bugfix: Fix missing data in streamContext in analytics payloads
  • Bugfix: Set updated timestamp correctly in card action logs

10 February 2021

Android (0.13.0)

  • Feature: Runtime variable analytics can be turned off using the new runtimeVariableAnalyticsEnabled property on stream containers and single card views.
  • Feature: The license for the Font Awesome icon font, included in the SDK, is now supplied in the compiled AAR.
  • Enhancement: Subviews now render in their own activity, rather than as a fragment. As a result, the device's back button behaves as expected in subviews.
  • Enhancement: Improved namespacing of SDK resources to avoid naming clashes.
  • Enhancement: Improved exception handling when sending card responses.
  • Enhancement: The card feed is now cached in memory rather than on disk.
  • Enhancement: Improved manifest security to prevent Atomic SDK activities from being launched outside of the host app.
  • Enhancement: Improve state restoration after device rotation on subviews, card feedback and card snooze screens.

28 January 2021

Workbench

  • Feature: Add support for conditional values in variables
  • Enhancement: Add name to api credentials
  • Enhancement: Create download on click in analytics batch download screen
  • Bugfix: Remove notification previews for unsupported desktop platforms in card builder
  • Bugfix: Fix jumpy UI when opening webhook overflow
  • Bugfix: Improve error text on post-auth screen
  • Bugfix: Hide MFA setup UI for SSO-authorized logins

Platform

  • Enhancement: Replace "card-suppressed" analytics event with "card-published"
  • Enhancement: Add support for restrictedPackageName property for android notifications
  • Enhancement: Update openAPI spec for customer api
  • Bugfix: Move atomic object out of aps in notification payload

iOS (0.20.0)

  • Feature: The cardEventDelegate is now called when cards fail to submit, dismiss or snooze.
  • Feature: Events can be triggered from the SDK using the new sendEvent:withSessionDelegate:completionHandler: method on AACSession. You must opt-in to this functionality on a per-event basis in the Atomic Workbench.
  • Enhancement: Improvements to caching of HTTP responses across the SDK.

23 December 2020

Android (0.12.0)

  • Feature: Updated the first load experience with a loading indicator, to align with our iOS and Web SDKs. This first load experience is not visible in single card view, and appears if the user does not have a cached theme on their device.
  • Feature: Added a loading state to the card list. This loading state does not appear in single card view.
  • Feature: The SDK now requests the card list each time a stream container or single card view instance is launched, rather than retrieving it from the cache.
  • Feature: Explicit error messages on the card list now appear if the card list load fails due to an API error or no internet connection, rather than only on the very first load. These errors do not appear in single card view, but rather the container collapses.
  • Feature: The error messages on the first time load screen and card list can now be customized. You can customize the following messages by setting the corresponding properties on AACStreamContainer:
    • noInternetMessage: the error message shown when the user does not have an internet connection.
    • apiErrorMessage: the error message shown when the theme or card list cannot be loaded due to an API error.
    • tryAgainButtonTitle: the title of the button allowing the user to retry the failed request for the card list or theme.
  • Enhancement: Internal reliability improvements across the SDK.
  • Enhancement: The AACSDK.logout method now clears all cached data (themes and cards) when called.
  • Bugfix: Fix issue where runtime variables were resolved multiple times when loading the card list.

16 December 2020

Workbench

  • Feature: Single sign-on support
  • Feature: Add testing tools screen which allows batches of test events to uploaded via a CSV or JSON file
  • Feature: Add Analytics exporter screen which makes analytics batch downloads available via the workbench, for admin only
  • Enhancement: Remove legacy "Test data" input from card card builder, superseded by variable defaults
  • Enhancement: Add csv and json download options to the Analytics debugger screen
  • Bugfix: Prevent dashes in card builder variable names as they're unsupported
  • Bugfix: Don’t make inactive customers active when changing their role
  • Bugfix: Merge workbench member roles when an invite is accepted by a user who already exists for the org

11 December 2020

Web (0.14.0)

  • Feature: Added ability to trigger an event for the logged in user from the SDK, using the new AtomicSDK.sendEvent method.
  • Feature: Stream container themes are now cached in the browser after the first load, and updated in the background on subsequent loads.
  • Feature: Added a new first load experience with loading indicator, to align with our iOS SDK. This first load experience is not visible in single card view, and appears if the user does not have a cached theme in their browser.
  • Feature: Added a loading state to the card list. This loading state does not appear in single card view.
  • Feature: Added explicit error messages for the first load experience, if the theme load fails due to an API error or no internet connection. These errors do not appear in single card view.
  • Feature: Added explicit error messages to the card list, if the card list load fails due to an API error or no internet connection. These errors do not appear in single card view.
  • Enhancement: In launcher mode, stream-displayed and card-displayed analytics events are now triggered only when the launcher is open. These events are also triggered each time the launcher is opened or closed.
  • Enhancement: card-displayed analytics events are only sent for cards if they were not previously visible, which prevents over-reporting.
  • Bugfix: The background and icon color for stepper buttons now matches the behaviour in the iOS SDK.
  • Bugfix: Fix issue where card-displayed analytics events were only triggered if the user scrolled the card list.
  • Bugfix: Fix issue where scrolling of card list may not have been possible, when first opening a launcher instance in Safari.

Android (0.11.4)

  • Dependency update: The following dependencies have changed in this release:
    • Downgraded androidx.activity:activity to version 1.1.0;
    • Downgraded androidx.fragment:fragment to version 1.2.5;
    • Downgraded com.google.android.material:material to version 1.2.1;
    • Upgraded androidx.constraintlayout:constraintlayout to version 2.0.4.

8 December 2020

Platform

  • Enhancement: Treat repeated but otherwise valid device deregistrations as a no-op, rather than invalid request
  • Enhancement: Ensure that internal routing errors return a 502 status code rather than 400
  • Bugfix: Reduce maximum size of analytics batch files to improve reliability of ETL job
  • Bugfix: Tweak analytics ETL timeout so failed jobs are retried sooner

Workbench

  • Enhancement: Add variable insert button for all card builder inputs which support it
  • Enhancement: Don't show sample theme in preview selector if a default theme has been created
  • Bugfix: Don't close modals on background click, if a containing dropdown is open
  • Bugfix: Hide webhooks tab in card builder if user doesn't have access
  • Bugfix: Fix crash in demo login form

27 November 2020

Android (0.11.3)

  • Bugfix: Fix crash that could occur when storing a single card view as a Parcelable inside of a bundle, and then attempting to restore it.
  • Bugfix: Fix issue where configuration was not saved correctly inside of a stream container or single card view, when storing it as a Parcelable.

25 November 2020

iOS (0.19.0)

  • Feature: The iOS SDK is now built using Xcode 12 and the iOS 14 SDK.
  • Feature: Added support for Swift Package Manager.
  • Feature: When integrating the Atomic SDK using Cocoapods, xcframework is now the default option. If you are using an older version of Cocoapods, or want to use the legacy framework option, you can include the new AtomicSDK-framework pod instead.
  • Feature: The runtime-vars-updated analytics event can now be disabled in the SDK, using a new feature flag on AACConfiguration (features.runtimeVariableAnalytics).
  • Enhancement: The Atomic SDK now uses the default iOS activity indicator for pull to refresh, loading of the card list, submit buttons on subviews and the first time loading screen.
  • Enhancement: The first time loading screen now displays an activity indicator instead of 'Loading' text. You can customize the color of this indicator using the new launchLoadingIndicatorColor property on AACConfiguration.
  • Enhancement: When launching a subview or full size image view from single card view, the button in the top left now says 'Close' instead of 'Back'.
  • Enhancement: The AACCardEventKindVotedNotUseful card event is now triggered once the feedback screen is dismissed, rather than before.
  • Deprecations: The launchIconColor property on AACConfiguration is now deprecated, due to icons being removed from the first time loading screen.

17 November 2020

Platform

  • Enhancement: Improved API healthchecking strategy

Workbench

  • Bugfix: Fix intermittent issue where workbench auth session expired and wasn't refreshed
  • Bugfix: Remove redundant toast which obscures next action in notification platform UI

16 November 2020

Web (0.13.0)

  • Feature: Add support for using the SDK inside of a Cordova or Capacitor app, using a new feature flag. More information is available in the corresponding SDK documentation.
  • Feature: Allow the Web SDK to be navigated using the keyboard, using the new colors.border.focus theme property to render a focus border on the active element.
  • Feature: Appropriate accessibility attributes have been added throughout the SDK, to support screen readers.
  • Feature: Runtime variable analytics can be turned off using the new runtimeVariableAnalytics feature flag.
  • Improvement: Removed console warning that may appear when vendor-prefixed CSS rules are not supported by the current browser.
  • Bugfix: Fix issue where selecting a snooze date may cause the snooze screen to close when in launcher mode.
  • Bugfix: Fix issue where a light border may appear around calendar dates in Firefox.

13 November 2020

Android (0.11.2)

  • Bugfix: Improve the sending of analytics in the background to reduce battery consumption.

11 November 2020

Android (0.11.1)

  • Feature: Add support for pressed states on submit and link buttons, on the card list and subviews, using the new colors.background.buttonActive theme property.
  • Enhancement: Improve theme caching process in the event of an API error.
  • Bugfix: Add additional safeguard for a crash that can occur when sending analytics in the background.
  • Bugfix: Fix issue that prevented a transparent background from being applied to the 'No internet connection' banner on the card list.

iOS (0.18.4)

  • Bugfix: Fix rare crash that can occur when actioning many cards at once.

5 November 2020

Android (0.11.0)

  • Feature: The cardEventHandler on a stream container instance now raises events when cards fail to submit, dismiss or snooze.
  • Feature: The SDK now automatically scrolls to the top of the card list when a new card arrives.
  • Feature: The width of the card border is now customisable using the shape.border.card property.
  • Enhancement: The loading view now displays only when a theme is loaded for the first time, rather than every time a stream container is started. This aligns with the implementation on iOS.
  • Enhancement: Ensure card-displayed events are tracked when returning from subviews.
  • Bugfix: Fix issue where card-displayed events may reference the 2nd and 3rd cards visible rather than the 1st and 2nd cards visible.
  • Bugfix: Fix issue where toast messages disappear too early when retrying a failed action.
  • Bugfix: Fix issue where swiping on a card after a failed action caused it to attempt the action again.

29 October 2020

Platform

  • Enhancement: Add notificationsEnabled preference to allow explicit disabling of notifications per-user
  • Bugfix: Disallow device token duplicates in the db

Workbench

  • Feature: Add "Request debugger" screen for use when setting up a new integration
  • Bugfix: Allow streams to be deleted when they are linked to an archived card version
  • Bugfix: Fix squashed logo in email template
  • Bugfix: Fixed unnecessary scrollbars rendered when using an external mouse

27 October 2020

Android (0.10.5)

  • Bugfix: Fix issue where SDK may crash when sending analytics in the background.

26 October 2020

iOS (0.18.3)

  • Bugfix: Fix issue where date and time pickers were not using the correct selection style in iOS 14.

23 October 2020

iOS (0.18.2)

  • Enhancement: Improve first time load experience when using a single card view.
  • Bugfix: Fix retain cycle that can occur when setting an actionDelegate or cardEventDelegate on a stream container or single card view.

21 October 2020

Platform

  • Enhancement: Catch invalid time values in user preferences validation

Workbench

  • Enhancement: Add thumbnails and grid view option to workbench media screen
  • Enhancement: Show event timestamp in Workbench analytics list instead of time event was received
  • Enhancement: Prompt before discarding unsaved changes, when closing variable modal
  • Enhancement: Allow send test event modal to be opened from the notifications tab
  • Bugfix: Fix issue where send test event modal help text didn't show if there was an error
  • Bugfix: Fix issue with non-ascii filenames in media upload
  • Bugfix: Fix issue where variable modal error persisted after error resolved

20 October 2020

Android (0.10.4)

  • Bugfix: Fix a crash on devices running Android 5.1.

Web (0.12.2)

  • Bugfix: Fix issue where finally method was not polyfilled on Promise in IE 11 and Edge 18.
  • Bugfix: Fix issue where submit and link buttons may re-execute the last request to open a URL or trigger an action payload.

16 October 2020

Android (0.10.3)

  • Bugfix: Fix issue where card empty state did not display when using a solid background color on the card list.

15 October 2020

Android (0.10.2)

  • Feature: The colors.border.card theme property is now applied in the Android SDK. This affects the color of the border rendered around each card.
  • Bugfix: Fix memory leak when destroying a stream container.

13 October 2020

Web (0.12.1)

  • Bugfix: Fix issue where an error may be reported in the browser console if the SDK is not initialized, when attempting to send analytics.

12 October 2020

Android (0.10.1)

As of Android release 0.10.1, we now publish our transitive dependency graph.

  • Feature: The following theme properties are now applied throughout the SDK:
    • shape.borderRadius.card: alters the corner radius of cards.
    • shape.blur.cardShadow: alters the elevation of cards in the card list and single card view.
    • shape.blur.navigationShadow: alters the height of drop shadows displayed below toolbars.
    • colors.background.default: alters the background color of all screens. Ignored in single card view.
    • colors.border.inputActive: alters the color of the underline below text and number inputs when the input is focused.
    • colors.border.inputInactive: alters the color of the underline below text and number inputs when the input is not focused.
    • colors.shadow.navigation: alters the color of the drop shadow displayed below toolbars.
  • Enhancement: Line height is now respected on all typography styles.
  • Enhancement: Increased the height of all toolbars in the SDK.
  • Enhancement: Toolbar titles are now truncated and ellipsised if they are too long.
  • Enhancement: Dividers on subview, snooze and card feedback screens have been removed.
  • Bugfix: List items are no longer rendered multiple times if their card contains runtime variables.
  • Bugfix: color values with 0% opacity, defined in a stream container theme, now render as expected.
  • Bugfix: Fix memory leak when rendering submit buttons and text components with icons.
  • Bugfix: Fix crash where calling streamContainer.destroy inside the onDestroy lifecycle event.
  • Bugfix: Fix crash when submitting, dismissing, snoozing or voting on a card without a cardEventHandler set on the stream container.
  • Bugfix: Fix memory leak when creating multiple stream container instances.
  • Bugfix: Custom values set on a submit button in the Workbench are now sent as part of the response.
  • Bugfix: Fix issue where card-displayed event may be reported an incorrect number of times if a card list footer message is present.

iOS (0.18.1)

  • Enhancement: Improved reporting of the card-displayed analytics event.

30 September 2020

Android (0.10.0)

  • Feature: Add a new callback that listens for events occurring on cards. Using the cardEventHandler on a stream container, you can now be notified when a card is completed, dismissed, snoozed or voted on.
  • Enhancement: Improve stream container lifecycle methods. Methods are now:
    • pause: Pauses any operations that do not need to continue when navigating away from a stream container.
    • resume: Resumes the stream container after a previous call to pause.
    • destroy: Stops a stream container instance completely.
    • stop: Now deprecated and should no longer be used.
  • Enhancement: Improve handling of post-submission URLs that are unsupported by the current app.
  • Enhancement: Card count observers are no longer updated when pause is called. Calling resume will result in card count updates being sent again.
  • Bugfix: Fix issue where the background color on single card overflow menus was not applied.

iOS (0.18.0)

  • Feature: Add a new delegate that listens for events occurring on cards. Using the cardEventDelegate on AACConfiguration, you can now be notified when a card is completed, dismissed, snoozed or voted on.
  • Feature: The API base URL can now be set in code using AACSession.setApiBaseUrl.
  • Feature: Stream containers and single card views can now be manually refreshed using the new refresh method.

Platform

  • Enhancement Ability to set "channel id" when registering Android platforms

Workbench

  • Enhancement Chosen theme is remembered in card editor
  • Enhancement UI improvements to event triggers screen
  • Enhancement Order workbench analytics events by event time, instead of time saved
  • Enhancement Show the device platform (i.e. APNS, APNS_SANDBOX) in workbench list
  • Bugfix Fix issue where a page refresh was required after login expired
  • Bugfix Fix validation of number variables in workbench card editor
  • Bugfix Fix issue where modals would close when text selection ends outside of modal border

24 September 2020

iOS (0.17.0)

  • Feature: Add the ability to automatically show the next card in a single card view after the user submits, dismisses or snoozes the current card.
  • Feature: Add new method on AACSession to request a one-off card count from the SDK.
  • Enhancement: Card count requests on AACSession now also post an AACSessionCardCountDidChange notification when the card count is retrieved.
  • Enhancement: If the card list header is disabled on a stream container, the header is also disabled on the first time loading screen.

22 September 2020

Workbench

  • Enhancement: Visual enhancements for test user list display in send test event list.
  • Bugfix: Prevent drop down components causing modals to close in some circumstances.
  • Bugfix: Fix scale of images in media element in safari and improve replace image styling.
  • Bugfix: Fix demo app setup screen so app type is maintained on re-login.

Platform

  • Bugfix: Support app notifications with IOS Sandbox ( APNS_SANDBOX )

21 September 2020

Android (0.9.0)

  • Feature: Allow customers to vote on whether they found a card useful or not.
  • Feature: Allow customers to provide feedback if they did not find a card useful.
  • Bugfix: Resolved a memory leak when navigating between fragments.
  • Bugfix: Fix issue where a single card view may prevent scrolling in some scenarios.

17 September 2020

iOS (0.16.1)

  • Enhancement: The total number of cards in a stream is now reported in the AACSessionCardCountDidChange notification, accessible via the AACSessionTotalCardCountUserInfoKey key in the userInfo dictionary. AACSessionCardCountUserInfoKey continues to report the number of visible cards.
  • Enhancement: The single card view now starts at a height of 0, rather than a fixed height. As such, it no longer displays a loading spinner.
  • Enhancement: Update dismiss icon used throughout the SDK.

9 September 2020

Android (0.8.1)

  • Enhancement: Improve handling of multiple stream containers with the same stream container ID in a single app.
  • Enhancement: getCardCount() now only emits a value when the card count has changed from its previous value.
  • Bugfix: Fix issue where incorrect app ID was sent when registering stream containers for push notifications.
  • Bugfix: Fix issue where exception may be raised when viewing the overflow menu or launching the card snooze screen.
  • Bugfix: Fix issue where swipe actions may sometimes disappear from underneath cards.

Platform

  • Bugfix: Fix inconsistency in webhook ids between api and workbench
  • Bugfix: Fix issue where if one notification failed when sending multiple for a user, all would be retried
  • Bugfix: Fix error response when attempting to deregister for notifications with invalid data

Workbench

  • Enhancement: Display a log of recent webhook requests in the Workbench
  • Enhancement: Make request method configurable in webhooks
  • Enhancement: Improved performance of card list screen
  • Bugfix: Fix incorrect copy in UI for making variables non-wrapping
  • Bugfix: Fix bug which prevented saving of themes which were in use by a container

4 September 2020

Platform

  • Enhancement: Add snooze period (for card-snoozed event) and card published date to analytics schema

Workbench

  • Enhancement: Add support for custom payloads on submit buttons
  • Bugfix: Fix visual regression in grouped form inputs

3 September 2020

Android (0.8.0)

  • Feature: Add method on AACSDK to de-register a device for Atomic push notifications, without requiring an authentication token.
  • Feature: Add support for an optional footer message, displayed below the last card in a stream container, provided at least one card is present.
  • Bugfix: Fix an issue where no cards may appear in some scenarios.
  • Bugfix: Fix an issue where an invalid device ID was sent when registering for push notifications.

1 September 2020

Platform

  • Enhancement: Move the displayMode property to streamContext in the analytics schema

Workbench

  • Enhancement: Improve UI for adding image banners and headlines in card builder, these are now restricted to the top of the card
  • Bugfix: Don’t require leading spaces before card builder variables

27 August 2020

Platform

  • Feature: Allow batched analytics to be requested in ndjson format as well as parquet
  • Enhancement: Improve handling of broken webhook endpoints. These now retry up to 25 times, before disabling the endpoint if still unsuccessful
  • Enhancement: Card instance IDs are now in standard UUID format rather than a concatenated string
  • Bugfix: Fix access issue with customer api where some API roles could access endpoints which should have been restricted
    • "workbench" role could access cards and customers api endpoints
    • "events" role could access webhook configuration endpoints
  • Bugfix: Fix issue where only the latest registered device recieved a push notification instead of all

Workbench

  • Enhancement: Allow string variables in cards to be formatted as non-breaking
  • Bugfix: Fix visual regression in card builder preview
  • Bugfix: Fix bug in demo-login screen which occurrs when user's org access is slow to retrieve
  • Bugfix: Fixed bug which prevented profile screen from loading

26 August 2020

Android (0.7.0)

  • Feature: Add support for triggering a custom action payload after successful submission of a card (Workbench support pending).
  • Feature: Toast messages can now be disabled on the card list. Regardless of this setting, toast messages are always disabled in single card view.
  • Feature: The header can now be disabled on the card list. Regardless of this setting, the header is always disabled in single card view.
  • Enhancement: Improve card animations when submitting, dismissing and snoozing.
  • Enhancement: Success toast messages now display a 'Dismiss' button that allows you to hide the toast message faster.
  • Enhancement: All SDK analytics events now indicate whether they occurred in a stream container or single card view.
  • Bugfix: Fix issue where runtime variables were resolved multiple times when first loading the card list.
  • Bugfix: Fix issue where banner and inline images did not open to full size when tapped.
  • Bugfix: Fix issue where subview for a previously viewed card may return when viewing a subview on another card.

iOS (0.16.0)

  • Feature: Add support for triggering a custom action payload after successful submission of a card (Workbench support pending).
  • Enhancement: Success toast messages now display a 'Dismiss' button that allows you to hide the toast message faster.
  • Enhancement: All SDK analytics events now indicate whether they occurred in a stream container or single card view.
  • Bugfix: Improved rendering of identical, successive cards after one is completed.
  • Bugfix: Improved rendering of cached images on cards when re-appearing on screen.

19 August 2020

Android (0.6.4)

  • Enhancement: OkHttp and Retrofit are now bundled as part of the compiled SDK.
  • Enhancement: Passing a null JWT to the completionHandler on AACSessionDelegate.getToken() now cancels the request and invokes error handling scenarios in the SDK.
  • Enhancement: Toast messages are now displayed when successfully submitting or dismissing a card in a stream container. Toast messages are disabled in single card view.
  • Bugfix: When choosing to snooze a card, the default selected snooze time is now rounded to the nearest logical 15 minute block, rather than defaulting to the current time.
  • Bugfix: Performance improvements for the card snooze screen.
  • Bugfix: Improved reliability of onChangeCardSize callback on single card view.

13 August 2020

Platform

  • Enhancement: Add idempotency id to outgoing webhook payloads
  • Enhancement: Include event payload in card state webhook payloads
  • Enhancement: Put newly unsnoozed cards at the top of card feed
  • Enhancement: Remove legacy internal endpoints no longer used by SDKs
  • Bugfix: Fix issue where notifications and webhooks could be duplicated when card appears in more than one stream
  • Bugfix: Fix bug where notifications failed due to missing text
  • Bugfix: Fix api error which can arise when adding large numbers of new customers concurrently
  • Bugfix: Fix issue which prevented cards with drafts from being updated via API

Workbench

  • Enhancement: Allow stream containers to be named in workbench
  • Enhancement: Allow workbench customers to view multiple orgs in different tabs
  • Enhancement: Improve test accounts management UI to distinguish team members from created accounts

12 August 2020

Android (0.6.3)

  • Breaking: The getToken() method on AACSessionDelegate now supports asynchronous operations. Once you have retrieved a JWT, call the completionHandler with the token as the first argument, and null as the second argument. The previous synchronous implementation of getToken() is no longer available.
  • Breaking: The stop() method on AACStreamContainer is now consistent with the start() method, taking a view ID instead of a Fragment.
  • Breaking: Removed duplicate method on AACSDK - setAPIHost(). Use setApiHost() instead.
  • Feature: The status bar background color on the snooze selection screen can now be customized, using the statusBarBackgroundColor setter on AACStreamContainer.
  • Enhancement: Improvements to the animation of the bottom sheet dialog, presented when tapping a card overflow button in single card view.
  • Enhancement: Empty card states no longer appear in single card view.
  • Bugfix: Fix issue where single card views would fill the screen, rather than wrapping their content.
  • Bugfix: Fix minor issue where SDK debug logging may log an error message when card list polling requests contain no new cards.

4 August 2020

Android (0.6.2)

  • Deprecations: The method AACSDK.setSiteId has been renamed to AACSDK.setEnvironmentId. setSiteId has been deprecated, will continue to work with a warning, but will be removed in a future release.
  • Feature: A stream container can now display an action button in the top right of the card list - use a value of WITH_ACTION_BUTTON for the stream container's presentationStyle. The actionDelegate is triggered when the action button is pressed.
  • Feature: The SDK now uses the Font Awesome Free icon font for named icons.
  • Bugfix: Fix issue where post-submission URLs don't open after submitting a card on the card list.
  • Bugfix: Fix issue where toast messages would incorrectly appear in single card view.
  • Bugfix: Fix issue where pull to refresh was not disabled in single card view.
  • Bugfix: Add missing analytics properties.
  • Bugfix: Fix issue where card count listeners would only return 0.
  • Bugfix: Fix issue where card category would always render in uppercase.

3 August 2020

iOS (0.15.0)

  • Feature: Add method on AACSession to de-register a device for Atomic push notifications, without requiring an authentication token.
  • Feature: Allow card list header and toast messages to be disabled, using the new enabledUiElements bitmask on AACConfiguration.
  • Feature: Add support for an optional footer message, displayed below the last card in a stream container, provided at least one card is present.
  • Enhancement: The handler passed to cardSessionDidRequestAuthenticationTokenWithHandler: on AACSessionDelegate now accepts a nil token. If a nil token is provided, the request will fail immediately.
  • Bugfix: Fix issue where card impressions were not tracked when returning from a secondary screen.
  • Bugfix: Fix issue where some analytics properties were missing from user-redirected events.

29 July 2020

Platform

  • Breaking The format of the analytics batch parquet files has changed. The files have been flattened so the structure is no longer nested.
  • Enhancement The card configuration endpoint now supports creating cards with a supplied id. It's also possible call the PUT /v1/:siteId/card/:cardId endpoint and have cards created if they don't exist already.
  • Enhancement Event data is now included in analytics data
  • Enhancement Card creation is now rate-limited according to tier
  • Bugfix Prevent "Super Admin" role from demoting their own access level in the workbench.
  • Bugfix Renaming a workbench variable now updates all existing references

24 July 2020

Platform

  • Enhancement: Add API endpoint which allows deregistration of a device for push notifications.

Workbench

  • Feature: Add environment-scoped workbench roles
  • Feature: Implement API security for environment-scoped workbench roles
  • Enhancement: Navigate to new subview when creating via link button editor
  • Enhancement: Show account name in test account list if linked to a workbench user
  • Enhancement: Display new cards as Untitled instead of Card {id}
  • Enhancement: Allow workbench customers to change organization name from settings screen
  • Enhancement: Update preview renderer to match SDK version 0.12.0
  • Bugfix: Card log tab wasn't showing any results
  • Bugfix: Fix performance regression in workbench card and event screens

23 July 2020

Android (0.6.1)

  • Bugfix: Fix issue that may cause a crash in some scenarios.

22 July 2020

Android (0.6.0)

  • Breaking: Stream container IDs are now strings rather than numeric. All public-facing SDK methods have been updated to reflect this change, and you will need to update your container IDs to be strings.
  • Feature: Send analytics for user events throughout the SDK.
  • Feature: Add onChangeCardSize parameter to AACSingleCardView.create method, which allows you to be notified when the single card view changes size.
  • Enhancement: Remove Bugsnag as an SDK dependency.
  • Bugfix: Resolve crash in notificationFromPushPayload.

15 July 2020

iOS (0.14.0)

  • Deprecations: SDK method signatures have been updated to accept stream container IDs as strings. Methods that accept or return only numeric container IDs have now been deprecated. Note that deprecated methods will continue to work with warnings, but will be removed in a future release.

    • AACStreamContainer: -initWithContainerId:sessionDelegate:configuration: is now -initWithIdentifier:sessionDelegate:configuration:
    • AACStreamContainer: -containerId is now -identifier
    • AACCardCustomAction: -streamContainerId is now -containerId
    • AACPushNotification: -streamContainerId is now -containerId
    • AACSession: +initialiseWithSiteId:apiKey: is now +initialiseWithEnvironmentId:apiKey:
    • AACSession: +observeCardCountForStreamContainerWithId:interval:sessionDelegate:handler: is now +observeCardCountForStreamContainerWithIdentifier:interval:sessionDelegate:handler:
    • AACSession: +registerStreamContainersForNotifications:withSessionDelegate: is now +registerStreamContainersForPushNotifications:sessionDelegate:
    • AACSingleCardView: -initWithFrame:containerId:sessionDelegate:configuration: is now -initWithFrame:containerIdentifier:sessionDelegate:configuration:
  • Feature: The SDK now uses the Font Awesome Free icon font for named icons.

  • Enhancement: Improved the layout of cards with no action buttons.

  • Enhancement: References to 'site ID' have been replaced with 'environment ID' for consistency with the Workbench.

Web (0.12.0)

  • Feature: Send analytics for user events throughout the SDK.
  • Feature: Send analytics events when user launches or abandons card snooze.
  • Feature: The SDK now uses the Font Awesome Free icon font for named icons.
  • Enhancement: The SDK now accepts stream container IDs as strings. SDK method signatures have not changed.
  • Enhancement: Remove Bugsnag as an SDK dependency.
  • Enhancement: References to 'site ID' have been replaced with 'environment ID' for consistency with the Workbench.
  • Bugfix: Improve rendering of empty card list state.

13 July 2020

Platform

  • Enhancement: Support deletion of disabled notification platforms
  • Bugfix: Handle string ids in parquet analytics files

Workbench

  • Enhancement: Preview themes in the Workbench card builder
  • Enhancement: Maintain scroll position when switching between subview and main view in card builder
  • Enhancement: Show container id in magic link login screen
  • Enhancement: Rename Sites as Environments
  • Enhancement: Rename incoming Webhooks as Connectors
  • Bugfix: Fix online indicator appearing above some menus
  • Bugfix: Fix invite screen display when already logged in
  • Bugfix: Fix some dropdowns not closing when clicking outside of context

6 July 2020

Platform

  • Enhancement: Use strings instead of integers for resource ids
  • Bugfix: Respect user’s timezone when rendering formatted dates in assembled cards
  • Bugfix: Prevent notifications for containers which are disabled in the workbench

Workbench

  • Enhancement: Return to previous scroll position when switching views in the card builder
  • Enhancement: Improve styling of user profile screen on workbench
  • Enhancement: Improve handling of relative times, e.g. "updated 3 hours ago"
  • Enhancement: Improve styling of dropdowns
  • Bugfix: Fix visual bug where some resource lists had a grey border
  • Bugfix: Fix visual regression where date input size was reduced

30 June 2020

iOS (0.13.2)

  • Bugfix: Fixes an issue where certain types of runtime variables may cause the SDK to crash.

Workbench

  • Feature: Support "magic link" authentication for demo app

29 June 2020

Android (0.5.1)

  • Bugfix: Fix issue where the SDK would crash on launch.

23 June 2020

Android (0.5.0)

  • Feature: Add ability to snooze a card.
  • Feature: Add single card view.
  • Feature: Add empty states when there are no cards in a stream container.
  • Feature: Introduce new requirement to initialize SDK with API key and environment ID.
  • Bugfix: Fix issue where an app with the SDK integrated may crash on resume.
  • Bugfix: Fix issue where runtime variables may resolve multiple times.
  • Bugfix: Fix issue where particular types of runtime variables may cause the SDK to crash.

22 June 2020

Platform

  • Feature: Add API for retrieving batched analytics.
  • Feature: Extract analytics to parquet files in batches
  • Enhancement: Improve data validation errors
  • Enhancement: Resolve variables in card response payloads
  • Enhancement: Implement card cancellation as a card state change
  • Enhancement: Remove “cancel" event type
  • Enhancement: Replace private key signing for outgoing webhooks with resource-scoped shared secret
  • Enhancement: Add defensive card state transitions e.g. pending -> expired, to improve resilience during load spikes
  • Enhancement: Remove requirement to link each stream container to a client key. Any active client key for the site can be used
  • Enhancement: Alter test webhook endpoint to trigger a test for a single subscription only
  • Bugfix: Disallow API calls against non active environments
  • Bugfix: Include disabled webhooks when retrieving from API
  • Experimental/restricted: Add payload signature authentication to incoming webhooks
  • Experimental/restricted: Allow incoming webhooks to map all event data
  • Experimental/restricted: Add “test” status for incoming webhooks
  • Experimental/restricted: Add status field to incoming webhooks
  • Experimental/restricted: Disable incoming webhooks on validation error
  • Experimental/restricted: Fix incoming webhook authentication header parsing code

Workbench

  • Feature: Add multi-factor authentication
  • Feature: Allow user to set phone number and name in profile screen
  • Enhancement: automatically accept invite when user logs in or signs up as invited
  • Enhancement: Add hint for comma-separated values when adding jwt issuers or allowed IP addresses in workbench
  • Enhancement: Allow deletion of inactive workbench customers
  • Enhancement: Display object id and last-updated date in overflow menus
  • Enhancement: Update card preview renderer
  • Enhancement: Allow admin customers to see the pending workbench user invite list
  • Enhancement: Add linked workbench user details to test accounts screen
  • Enhancement: Show better error message when attempting to enable a webhook with a duplicate url

17 June 2020

Workbench

  • Bugfix: Fix issue which prevented input in some workbench text areas

4 June 2020

Web (0.11.0)

  • Feature: Add ability to snooze a card.
  • Feature: Add single card view.
  • Feature: Add empty states when there are no cards in a stream container.
  • Enhancement: Improve handling of dropdowns.
  • Bugfix: Fix issue where subtitle text in thumbnail media was sometimes cut off.
  • Bugfix: Fix issue where customers may be navigated back to the card list unexpectedly.

27 May 2020

Platform

  • Enhancement: Allow multiple webhook subscriptions per webhook type
  • Enhancement: Allow webhooks to be scoped per card template
  • Bugfix: Strip unwanted headers from webhook payload
  • Bugfix: Fix issue where linking a card to two streams doesn’t work
  • Bugfix: Performance enhancements
  • Feature: Improved internal tooling for managing customer accounts
  • Feature: Add optional payload mapping to outgoing webhooks

Workbench

  • Enhancement: Remove unused streams and history tabs from card builder
  • Enhancement: Improve helper text in variable edit modal
  • Enhancement: Moved sites UI to top level, remove restriction on altering "current" site
  • Enhancement: Move webhook integrations to event definition tab
  • Enhancement: Allow deletion of unused client keys, and improve client key UI
  • Enhancement: Open variable modal when clicking on variable tag in the card builder
  • Enhancement: Handle TOTP MFA in sign-in form
  • Enhancement: Allow Workbench team members to be invited directly from the main team members screen
  • Bugfix: Fix bug where nested dropdowns closed their parent
  • Bugfix: Improved error message for duplicate event names
  • Bugfix: Fix layout issues with empty list state
  • Bugfix: Fix bug where webhook headers input didn't save correctly
  • Bugfix: Fix bug where page jumped when dropdown in modal opened
  • Bugfix: Don't show duplicate events in card builder test modal
  • Bugfix: Prevent unwanted auto complete of notification platform secret
  • Bugfix: Fix issue where test event customers were not remembered and prefilled
  • Bugfix: Fix issue where no subviews showed when adding a link button
  • Feature: Add config screens for outgoing webhooks to workbench
  • Feature: Send workbench invites via email

8 May 2020

Platform

  • Enhancement: Repeated events no longer recreate actioned cards
  • Enhancement: Move themes to sit under environments, rather than under orgs
  • Enhancement: Add from/to parameters to analytics retrieval endpoint

Workbench

  • Feature: Add consolidated settings screen, remove separate screens
  • Feature: Webhook integrations - connect incoming webhooks to Atomic and configure them to create cards
  • Enhancement: Focus on first input when opening variables modal
  • Enhancement: Update preview renderer to latest version
  • Enhancement: Add better monospace font
  • Enhancement: Set default text on new submit buttons
  • Enhancement: Improve layout consistency in UI
  • Bugfix: Fix crash in "Send test event" modal
  • Bugfix: Fix issue where payload link buttons were blank

7 May 2020

Web (0.10.0)

  • Feature: Add new initialise method, used to initialize the SDK with a environment ID and API key.
  • Feature: Add support for runtime variables.
  • Feature: Allow runtime variable timeout to be customized.
  • Feature: Allow runtime variables to be updated manually.
  • Feature: Add support for link buttons with custom action payloads.
  • Bugfix: Fix issue where stream containers in launcher mode may resize unexpectedly.

16 April 2020

Platform

  • Feature: Card and event configuration API endpoints
  • Enhancement: Remove invalidEvents array from event api response
  • Enhancement: Update APNS payload to allow notifications to be tracked in iOS
  • Bugfix: add missing cardInstanceStatus to analytics context
  • Bugfix: When cancelling a card, ensure any scheduled state changes/push notifications are also cancelled
  • Bugfix: Add missing userLocalTimestamp to analytics events

Workbench

  • Enhancement: Copy update when test accounts created
  • Enhancement: Credential screen visual enhancements
  • Bugfix: Remove broken sort by status option from card list
  • Bugfix: Fix keyboard navigation issue in signup form
  • Bugfix: Fix issue where new event definition schemas were malformed

9 April 2020

iOS (0.13.1)

  • Feature: Add support for manually refreshing runtime variables on single card views;
  • Bugfix: Fix bug where UI may freeze when manually refreshing runtime variables.

7 April 2020

iOS (0.13.0)

  • Feature: Allow customers to vote on whether they found a card useful or not;
  • Feature: Allow customers to provide feedback if they did not find a card useful;
  • Feature: Introduce new requirement to initialize SDK with API key and environment ID;
  • Feature: Send analytics for user events throughout the SDK;
  • Feature: Send analytics events when user launches or abandons card snooze;
  • Feature: Display customisable message when user has never seen cards before, and there are no cards in the list;
  • Feature: Display customisable message when user has no cards to action;
  • Bugfix: Fix issue where runtime variables did not always update in text blocks;
  • Bugfix: Improve handling of trailing new lines in Markdown text.

3 April 2020

Platform

  • Feature: Analytics platform
  • Feature: Analytics integration with SDKs
  • Feature: Customer-side endpoint for retrieval of analytics data
  • Feature: API endpoints for rotating API credentials
  • Feature: API endpoints for managing SNS notification platforms
  • Bugfix: Fix issue where scheduled notifications were still sent for completed cards

Workbench

  • Feature: Add recent analytics view to workbench
  • Enhancement: Use primary image if no thumbnail specified for image elements
  • Enhancement: Add http:// to urls in card builder, if omitted
  • Enhancement: Support title/value pairs in list variables
  • Enhancement: Add help text for send modal
  • Enhancement: Improve theme, container and environment list
  • Bugfix: Fixed modal centering issue

17 March 2020

Platform

  • Bugfix: Fix issue where DND did not handle certain timezones correctly
  • Bugfix: Fix incorrect http status code

Workbench

  • Bugfix: Fix crash which occurred for certain cards with subviews

12 March 2020

Platform

  • Feature: Add card embargo capability.
  • Feature: Support timezone based notification preferences.
  • Feature: Add webhooks for all card lifecycle events.
  • Feature: Add support for multiple subscriptions per webhook.
  • Enhancement: Support card snooze notifications.

Workbench

  • Feature: Allow direct invite of "Admin" team members.
  • Enhancement: Improved UI for sending test events.
  • Enhancement: Text areas auto resize to fit content.

iOS (0.12.0)

  • Feature: Add option to snooze a card until a given date and time.
  • Feature: Add single card view.
  • Bugfix: Fix issue where selected components would not render correctly when no icon was present.

4 March 2020

Android (0.3.0)

  • Feature: Add support for resolving runtime variables.
  • Feature: Add configurable timeout when resolving runtime variables.
  • Feature: Allow runtime variables to be manually refreshed.

25 February 2020

Platform

  • Feature: Add card expiry capability.
  • Feature: Add card snooze capability.
  • Feature: Add API for setting card expiry.
  • Feature: Send event data with the push notification payload.
  • Feature: Update database to support light/dark themes.
  • Feature: Support sending notification detail with event payload.
  • Feature: Send runtime variables in Client API feed response.
  • Feature: Support runtime variables in card assembler.
  • Feature: Handle platform-specific urls for buttons.
  • Feature: Add API endpoint for reading and modifying cards.
  • Enhancement: Prioritise event processing behind other queue actions.
  • Enhancement: Remove content and length restrictions on lifecycle id.
  • Enhancement: Gracefully handle invalid container id.
  • Enhancement: Add additional card states.
  • Enhancement: Prefix public APIs with /v1/.
  • Enhancement: Improve card creation performance.
  • Enhancement: Extend variable to allow test data, per-platform values and and list type.
  • Enhancement: Add internal card analytics api endpoint.
  • Bugfix: Fix bug with handling multiple card versions.
  • Bugfix: Handle empty variables gracefully.

Workbench

  • Feature: Add expiry inputs to workbench test event UI.
  • Feature: Add support for runtime variables in the Workbench.
  • Feature: Add UI for specifying platform-specific urls for buttons.
  • Feature: Add input for entering notification payload data when sending a test event.
  • Enhancement: Improve UI for uploaded media.
  • Enhancement: Improve authentication screen UI and copy.
  • Enhancement: Improve select component in UI.
  • Bugfix: Fix issue with list variables.
  • Bugfix: Fix issue where toast messages stole focus.
  • Bugfix: Fix issue where invite screen redirected to home.
  • Bugfix: Fix render bug in workbench preview.
  • Bugfix: Fix UI issue with loading screen.

iOS (0.11.0)

  • Feature: Add support for resolving runtime variables.
  • Feature: Add configurable timeout when resolving runtime variables.
  • Feature: Allow runtime variables to be manually refreshed.
  • Bugfix: Improvements to rendering of borders and shadows.
  • Bugfix: Improvements to handling of keyboards in dark mode.

React Native

  • Feature: Update iOS SDK to 0.11.0.

14 February 2020

iOS (0.10.1)

  • Bugfix: Fixed an issue where the background color on thumbnail media elements was not being applied.
  • Bugfix: Fixed an issue where media borders were always set against a solid white background.
  • Bugfix: Removed a border from stepper buttons.
  • Bugfix: Fixed an issue where loading spinner shadow was cropped.

5 February 2020

Android (0.2.11)

  • Feature: Support theming the navigation bars.
  • Feature: Support for the pull to refresh spinner on the card list to be themed.
  • Feature: Display loading state when submitting card from subview.
  • Feature: Allow the first time load screen to be themed.
  • Feature: Add support for comma separated lists.
  • Feature: Allow polling to be disabled on stream containers.
  • Feature: Display error messages when data can't be loaded due to no internet connection.
  • Feature: Support retrying of card loading, submission and dismissal from the card list, in the event of failure.
  • Feature: Display error messages when requests fail due to an API error.
  • Feature: Add method to determine if a push notification originated from Atomic.
  • Enhancement: Improvements to the first time loading experience.
  • Enhancement: Improve caching of stream container themes.
  • Bugfix: Fixed a bug causing the card list to hang indefinitely with some responses from the API.
  • Bugfix: Fix a styling bug in subview content.

iOS (0.10.0)

  • Feature: Add SDK support for dark mode.
  • Feature: Display error messages when data can't be loaded due to no internet connection.
  • Feature: Support retrying of card loading, submission and dismissal from the card list, in the event of failure.
  • Feature: Allow polling to be disabled on stream containers.
  • Feature: Allow dark mode style to be specified: automatic, always light, or always dark.
  • Feature: Add method to determine if a push notification originated from Atomic.
  • Feature: Add support for custom actions on link buttons.
  • Enhancement: Improve caching of stream container themes.

Web (0.9.0)

  • Feature: Display error messages when requests fail due to an API error.
  • Feature: Display error messages when data can't be loaded due to no internet connection.
  • Feature: Support retrying of card submission and dismissal from the card list, in the event of failure.
  • Feature: Allow polling to be disabled on stream containers.
  • Enhancement: Improve handling of invalid themes.

React Native

  • Feature: Update dependencies: iOS SDK to 0.10.0 and Android SDK to 0.2.11.

24 January 2020

Platform

  • Enhancement: Allow the theme payload to be cached.
  • Enhancement: Return correct status codes from all API endpoints.
  • Enhancement: Replace all environment references with site in public APIs.
  • Enhancement: Handle invalid dates and date formats.

Workbench

  • Feature: Add a new admin workbench role which has full access.
  • Enhancement: Enhance input for date and time variables.
  • Enhancement: Gracefully handle invalid date formats in the Workbench.
  • Bugfix: Fix issue where some linked cards showed multiple times for an event.
  • Bugfix: Handle case where current Workbench organization is no longer valid.
  • Enhancement: Ensure Workbench avatars are always the same color.

18 December 2019

Android (0.2.9)

  • Bugfix: Improvements to resilience of SDK.
  • Bugfix: Improvements to theming within SDK.

iOS (0.9.0)

  • Feature: Improve error handling when data cannot be loaded in the SDK.
  • Feature: Update to support Xcode 11.
  • Enhancement: Stream container IDs are now specified as integers rather strings, for consistency with other SDKs.

Web (0.8.0)

  • Bugfix: Improvements to handling of style rules in the Web SDK.
  • Bugfix: Fix an issue where text inputs with a maximum length validation would fail when they shouldn't.
  • Enhancement: The Web SDK is now hosted on the Atomic CDN (downloads.atomic.io).
  • Feature: Add support for displaying full size images and videos within a stream container.

React Native

  • Feature: Introduce support for React Native.
  • Feature: Add support for configuring polling interval and card list title.
  • Feature: Add support for registering for push notifications.
  • Feature: Add logout method, which integrators can call to clear caches when a user logs out.

9 December 2019

Platform

  • Bugfix: Fix issue preventing Android push notifications from working.

Workbench

  • Bugfix: Resource usage avatars will now timeout after 10 minutes of inactivity.
  • Feature: API security updates to restrict workbench resources to the owner role only.
  • Bugfix: Visual tidy up of team member invite screen.
  • Bugfix: Card builder dropdown option can now be deselected if option selected in error.
  • Bugfix: Fix analytics counts maxing out at 200.
  • Enhancement: Platform field names now better match with Android terminology.
  • Feature: A new tab to manage variables that are available to cards, as well as any corresponding test data.
  • Bugfix: Remove user avatars from Workbench resources after closing browser or tab.
  • Bugfix: Fix bug which prevented adding a client key to a container in the Workbench.
  • Enhancement: Fix inconsistent hover state on icon selector.
  • Bugfix: Fix browser error when discarding a newly created draft.
  • Feature: Restricted access to configuration screens for team members without the owner role.

27 November 2019

Platform

  • Feature: A large database refactor incorporating environment id into many tables.

Workbench

  • Bug fix: Fixed an issue with icon rendering that was causing isues with the Workbench preview.

20 November 2019

Platform

  • Bug fix: Fixed a bug where two event schemas shared the same id. Id's are now ignored in event schema.

Workbench

  • Feature: Allow user to enable the icon selector on card builder components on hover.
  • Feature: The card editor and card list screens now indicate via an avatar if another user is currently active in the card editor.
  • Enhancement: Remove an unused "member" option from team member invite form.
  • Bug fix: Fixed a display bug that would throw the layout off.
  • Bug fix: Fixed a bug where linked draft cards were not shown in event list.
  • Bug fix: Fixed a bug where routes for pages, such as API Credentials, are now restricted to account owners.

13 November 2019

Workbench

  • Feature: Added UI for managing customer API tokens.
  • Enhancement: Added support for failing gracefully if the theme is missing.
  • Enhancement: Added support for Internet Explorer 11.
  • Enhancement: More behind the scenes support for notifications: hiding the notification form and preview when notifications are disabled.
  • Bug fix: Fixed a bug where uploaded media did not load in the Web SDK.

Android (0.2.7)

  • Feature: Added animation for card completion.
  • Feature: Added animation when a card is dismissed.
  • Feature: Added support for custom fonts.
  • Feature: Added support for the overflow menu presentation style.
  • Feature: Added support for dividers when presenting subview elements in the SDK.
  • Feature: Refactoring to support restoring a card when a card dismiss or response fails.
  • Feature: Added support for minimum and maximum length validation on text inputs.
  • Feature: Added support for minimum and maximum date validation to the date picker.
  • Feature: Added support for minimum and maximum validations on number/stepper inputs.
  • Feature: Added an SDK API for registering a device for push notifications.
  • Feature: Added an SDK API for registering stream containers for push notifications.
  • Feature: Added support for changing the title of the card list.
  • Feature: Added SDK support for stacked variants of dropdowns and date pickers.
  • Feature: Added support for the required validation on text input, number input, stepper and dropdown.
  • Feature: Added support for regular expression validation on text inputs.
  • Enhancement: Removed the settings icon, which will be reinstated in the future.
  • Bug fix: Fixed a bug where the card action dropdown would open if you tapped other regions of the card.
  • Bug fix: Fixed a bug where number inputs would crash when a "." character was input.
  • Bug fix: Fixed bugs where images were not scaling correctly.
  • Bug fix: Fixed a bug where tapping banner images or thumbnails at top of card was causing the dismiss dropdown to open.
  • Bug fix: Fixed a bug where opening a date dropdown crashed the app.
  • Bug fix: Fixed bug where images with the "text" format would not render.
  • Bug fix: Fixed issues where Markdown was not rendering correctly.

iOS (0.8.0)

  • Feature: Added support for theming navigation bars on the card list screen, subviews and when viewing full size images.
  • Feature: Added a method for registering stream containers as eligible for push notifications.
  • Feature: Added support for comma separated lists.
  • Feature: Added support for validating minimum and maximum values in number inputs and steppers.
  • Feature: Added support for validating minimum and maximum dates in date pickers.
  • Feature: Added support for validating text input using regular expressions.
  • Feature: Added support for changing the title of the card list.
  • Enhancement: Improved the handling of icons on buttons, text and list items.
  • Enhancement: Improve handling of text wrapping on headlines.
  • Enhancement: Improved the handling of contiguous new lines in Markdown.
  • Bug fix: Fixed a bug where card background incorrectly rendered as white.
  • Bug fix: Fixed a bug where tapping on a link to a subview that did not exist prevented any other link buttons from being tapped on that card.
  • Bug fix: Fixed a bug where subviews with text or number inputs would freeze on iOS 10.
  • Bug fix: Fixed a bug where the card overflow button did not always have the correct theme applied.
  • Bug fix: Fixed a bug where borders on inline and thumbnail images were not rendering correctly.
  • Bug fix: Fixed a bug where focussing of elements on subviews was delayed.
  • Bug fix: Fixed a bug where image thumbnails reloaded unnecessarily when scrolling.

Web (0.7.0)

  • Feature: Added support for integrating the Web SDK as a standalone iframe.
  • Feature: Added support for changing the title of the card list.
  • Feature: Added support for theming navigation bars on subviews and the card list screen.
  • Feature: Added support for comma separated lists.
  • Feature: Added support for minimum and maximum validation in number inputs and stepper fields, with an accompanying validation message.
  • Feature: Added animation for card completion.
  • Feature: Added animation for card dismissal.
  • Enhancement: Improved text selection behaviour in the stepper component.
  • Enhancement: Improved the UX of stepper buttons.
  • Enhancement: The Web SDK now appears only once all required data is loaded.
  • Enhancement: Updated the preview renderer theme to be consistent with Workbench.
  • Enhancement: Improved the truncated text on submit button, consistent with other SDKs.
  • Bug fix Fixed a bug affecting the padding of text blocks on subviews.
  • Bug fix Fixed a bug where you could navigate to non-existent subviews.
  • Bug fix Fixed a bug where a validation error was sometimes incorrectly displayed for dropdowns.
  • Bug fix Fixed a bug where a text or number input’s default value was not considered when validating.
  • Bug fix Fixed a bug to improve handling of contiguous new lines in Markdown.
  • Bug fix: Fixed a bug affecting the border radius on inline videos.
  • Bug fix: Fixed a bug where text on inputs was getting cut off due to incorrect line height.
  • Bug fix: Fixed a bug where changing image URLs in the Workbench did not always update the preview.
  • Bug fix: Fixed a bug where text blocks on subviews were not styled correctly.
  • Bug fix: Fixed a bug where 0 could not be entered into a number input.

6 November 2019

Workbench

  • Enhancement: Improved UI for adding and removing triggers in the card builder.
  • Bug fix: Fixed a bug where "no data" screen was displaying, instead of the loader.
  • Bug fix: Fixed a bug where auto-fill inputs were not rendering correctly.

Platform

  • Enhancement: Added an endpoint for retrieving our public key, used for verifying webhook payloads.
  • Bugfix: Fixed a bug where webhook payload signatures were incorrect.
  • Bugfix: Fixed a bug where images in cards were not being cached by browsers and devices.

30 October 2019

Workbench

  • Feature: Added support for Media library.
  • Feature: Added support for password enabled IOS p12 certificates for notification setup.
  • Feature: Added support to notification platform.
  • Bug fix: Fixed a bug where dropdowns in the workbench sometimes had stale options.
  • Bug fix: Fixed a bug where the last card updated displayed incorrectly.
  • Bug fix: Fixed a bug preventing copy and pasting theme json in the workbench.
  • Bug fix: Fixed a bug sending team members to the homepage on logout, rather than staying on the previous route.

Platform

  • Feature: Enabled push notifications for new cards.
  • Feature: Added support for uploaded media files in the workbench preview and in cards on device.
  • Bug fix: Fixed a bug to gracefully handle missing dropdown source in card definition schema.

23 October 2019

Workbench

  • Feature: Added behind the scenes support in preparation for uploading media assets (full support coming soon).
  • Enhancement: Added support for variable insertion in the card builder for video and image url fields.
  • Bug: Fixed a bug where duplicated inputs in the card builder did not have unique names.
  • Bug: Fixed a bug where some changes were lost when closing some modals.

16 October 2019

Android (0.2.6)

  • Feature: Added support for custom fonts.
  • Feature: Added support for changing the title of the card list.
  • Feature: Added SDK support for stacked variants of dropdowns and date pickers.
  • Bug fix: Fixed issues where Markdown was not rendering correctly.
  • Feature: Added support for regular expression validation on text inputs.
  • Feature: Added support for minimum and maximum validations on number/stepper inputs.
  • Bug fix: Fixed bug where images with the "text" format would not render.
  • Feature: Added support for minimum and maximum date validation to the date picker.
  • Bug fix: Fixed bugs where images were not scaling correctly.
  • Feature: Added support for minimum and maximum length validation on text inputs.
  • Bug fix: Fixed a bug where the card action dropdown would open if you tapped other regions of the card.
  • Bug fix: Fixed a bug where number inputs would crash when a "." character was input.
  • Feature: Added support for the required validation on text input, number input, stepper and dropdown.
  • Bug fix: Fixed a bug where tapping banner images or thumbnails at top of card was causing the dismiss dropdown to open.
  • Bug fix: Fixed a bug where opening a date dropdown crashed the app.

iOS (0.7.0)

  • Feature: Added support for theming navigation bars on the card list screen, subviews and when viewing full size images.
  • Feature: Added a method for registering stream containers as eligible for push notifications.
  • Feature: Added support for comma separated lists.
  • Feature: Added support for changing the title of the card list.
  • Bug fix: Fixed a bug where the card overflow button did not always have the correct theme applied.
  • Feature: Add SDK support for sending push notification token to the Atomic Platform.
  • Enhancement: Improved the handling of contiguous new lines in Markdown.
  • Bug fix: Fixed a bug where borders on inline and thumbnail images were not rendering correctly.
  • Bug fix: Fixed a bug where focussing of elements on subviews was delayed.
  • Bug fix: Fixed a bug where image thumbnails reloaded unnecessarily when scrolling.

Web (0.6.0)

  • Feature: Added support for theming navigation bars on subviews and the card list screen.
  • Feature: Added support for comma separated lists.
  • Feature: Added support for changing the title of the card list.
  • Bug fix Fixed a bug affecting the padding of text blocks on subviews.
  • Bug fix Fixed a bug where you could navigate to non-existent subviews.
  • Bug fix Fixed a bug where a validation error was sometimes incorrectly displayed for dropdowns.
  • Bug fix Fixed a bug where a text or number input’s default value was not considered when validating.
  • Enhancement: Improved the handling of contiguous new lines in Markdown.
  • Feature: Added support for minimum and maximum validation in number inputs and stepper fields, with an accompanying validation message.
  • Feature: Added animation for card completion.
  • Feature: Added animation for card dismissal.
  • Enhancement: Improved text selection behaviour in the stepper component.
  • Enhancement: Improved the UX of stepper buttons.
  • Enhancement: The Web SDK now appears only once all required data is loaded.
  • Bug fix: Fixed a bug where 0 could not be entered into a number input.

9 October 2019

Workbench

  • Feature: Added some behind the scenes support for notification content.
  • Enhancement: Improved indicator wording in card builder, to make it clearer what's happening: "Saved", "Edited", "Saving".
  • Enhancement: Added additional metadata to card and event logs in the workbench.
  • Enhancement: Improved scrolling throughout the workbench.
  • Security: Improved the way we manage card log restriction on the backend.
  • Bug fix Fixed a bug where discarding a draft with changed triggers did not revert the triggers.
  • Bug fix Fixed a bug where "editor" team members saw "send invite" and other UI they couldn't use.
  • Bug fix Fixed a bug to align the header text and button in the list pages.
  • Bug fix Fixed a bug where reverting a draft card now did not update the displayed status in the header.

Platform

  • Enhancement: Improved event API write performance by handling batches more efficiently.
  • Bug fix: Fixed a bug where cancelling an event when the name didn't exist resulted in a 500 error.

25 September 2019

Workbench

  • Feature: Added support in the card builder for adding validation rules to individual fields.
  • Feature: Added support for team members to set a maximum and minimum values for number, text, and date fields, with a corresponding error message.
  • Feature: Added support for team members to set a regular expression to validate a text field value, with a corresponding error message.
  • Bug fix: Fixed a bug preventing the deletion of events from a published card.

Platform

  • Feature: Added support for cards to have a banner image as their first element.
  • Feature: Added support for adding validation rules to individual fields in the card builder.

18 September 2019

Workbench

  • Enhancement: Restyled card builder back button.
  • Enhancement: Improved performance of the stepper element used in the Workbench card builder.

Android

  • Feature: Added support for dismissing a card from its overflow menu.
  • Feature: Added support for number input components, which allows integer or decimal inputs only, as an extension of the text input.
  • Feature: Added support for refreshing a stream container in the background at a given interval.
  • Bug fix: Fixed a bug that affected the display of images and videos (banner, thumbnail, text).
  • Bug fix: Fixed a bug that prevented dropdowns from working in some situations.
  • Bug fix: Fixed a bug where the overflow menu dropdown blocked interaction with other card areas.

iOS (0.6.0)

  • Feature: Added support for validating minimum and maximum values in number inputs and steppers (Workbench support coming soon).
  • Feature: Added support for validating minimum and maximum dates in date pickers (Workbench support coming soon).
  • Feature: Added support for validating text input using regular expressions (Workbench support coming soon).
  • Feature: Add support for marking input fields in subviews as required, with an accompanying validation message. (Workbench support coming soon).
  • Feature: Add support for validating minimum and maximum length in text inputs. (Workbench support coming soon).
  • Bug fix: Updates for iOS 13 compatibility.

Update TestFlight Demo app to see these changes

Web (0.5.0)

  • Feature: Added support for refreshing a stream container in the background at a given interval.
  • Feature: Added support for validating form fields as required (Workbench support coming soon).
  • Feature: Added support for validating minimum and maximum dates in date pickers (Workbench support coming soon).
  • Feature: Added support for validating text input using regular expressions (Workbench support coming soon).
  • Feature: Added an overflow button to cards, allowing customers to dismiss a card.
  • Feature: Added support for validating minimum and maximum length in text inputs. (Workbench support coming soon).
  • Feature: Added a spinner icon to submit button in subview to show loading state.
  • Bug fix: Thumbnail component improvements: whole component is now clickable, link text now fixed to bottom of component, label and description text now truncates when longer than two and one lines respectively.
  • Bug fix: Dropdown and date picker placeholders are now displayed in Web SDK.
  • Bug fix: Fixed style bug that was causing text to wrap incorrectly in Safari.
  • Bug fix: Fixed markdown layout issues

Platform

  • Bug fix: Separated live/test event lifecycles, so live events can no longer mutate live events, or the other way around. Note: An identical event lifecycle ID might be used on a test and live event, but this won't create any relationship between the test and live event as they are completely seperate.

11 September 2019

Workbench

  • Feature: Team member account status in now shown in list (Active, Inactive etc).
  • Feature: Improved version status indicators.
  • Feature: Added support for number input components in subviews.
  • Feature: Added empty default event schema, rather than starting with a blank object.
  • Bug fix: Fixed bug where archived events were still active in the system.
  • Bug fix: Fixed bug where deleting a trigger didn't remove it from the trigger list until page refresh.
  • Bug fix: Fixed issue where variable insertion dropdown would close unexpectedly.
  • Bug fix: Fixed incorrect card count calculation in event list.
  • Bug fix: Adding a trigger event now transitions the card to draft state instead of adding to already published card.

29 August 2019

Workbench

  • Enhancement: Fixed an issue where new Workbench members could get stuck signing up to the Workbench when entering confirmation code. Now confirmation code input field reliably appears during sign-in flow for unverified members.
  • Enhancement: Improved card builder UI to more clearly indicate card state (draft, published, archived) and added "discard draft" and "restore from archive" functionality.
  • Bug fix: Fixed a bug where draft cards could not be archived without publishing them first.

Android

  • Feature: Added support for the number input component, which allows integer or decimal inputs only, as an extension of the text input. Note: Workbench card-builder support will arrive in a future release.
  • Enhancement: Updated initial loading design and error handling.

iOS (0.5.0)

  • Feature: Added support for refreshing a stream container in the background at a given interval, configurable when implementing SDK. Note: Demo iOS app configured to poll at 5 second intervals for demo purposes.
  • Feature: Added support for the number input component, which allows integer or decimal inputs only, as an extension of the text input. Note: Workbench card-builder support will arrive in a future release.
  • Enhancement: Improved Markdown implementation for consistency accross all SDKs.
  • Enhancement: Updated initial loading design and error handling.

Update TestFlight Demo app to see these changes

Web (0.4.0)

  • Feature: Added support for the number input component, which allows integer or decimal inputs only, as an extension of the text input. Note: Workbench card-builder support will arrive in a future release.
  • Feature: Added support for the host app requesting the card count within a container.
  • Enhancement: Added support to dropdowns and date pickers for either an inline or stacked display format.
  • Bug fix: Fixed issue where a link in markdown opens within the card frame instead of new window.

Platform

  • Feature: Added support for Webhook subscriptions, allowing external applications to be notified when customers interact with a card.
  • Bug fix: Fixed issue where cards made with an earlier version of a template were rendering with a later version when one exists.

23 August 2019

  • Fix card feed refresh and dismissal issues.
  • Fix 500 on dismissal if multiple card_state entries.