SDK changelog

A list of changes made to the Localytics SDK.

iOS

5.4.0: October 24, 2018

  • Places now supports a foreground only mode, for apps that only ever request location "when in use" permissions.
  • Add the ability to change the native rendering of In App based on values in the html creative. To learn more, read the In App documentation
  • Fix a bug where the viewport-fit portion of the meta name=viewport element was being destroyed.
  • In Apps now specify an option to auto hide the Home Screen Indicator.

5.3.0: September 27, 2018

  • This release drops support for In App messages and Inbox Detail views on iOS 8. The Localytics SDK has transitioned from using UIWebView to WKWebView. Unfortunately, WKWebView does not support rendering of local files on iOS 8.
  • This release has major breaking changes to Places behavior. The setLocationMonitoringEnabled API will no longer request location permissions. Please consult the migration guide to ensure your integrations.
  • Push Event Labels passed through the Push API will now be reported on Push Received and Push Opened events.
  • Adds new API's to the Javascript available in In-Apps and Inbox campaigns that allow for deeplinking to the settings screen.
  • Security improvement: In App's will sandbox their filesystem and ignore any files with parent directory access.
  • Location monitoring can be persisted. Location monitoring that has been persisted will restart monitoring automatically on new session.

5.2.0: July 9, 2018

  • Adds new API's to the Javascript available in In-Apps and Inbox campaigns including methods for setting opted out state, prompting for location and notification permissions, and querying the current location authorization status.
  • Introduces a new delegate (CallToActionDelegate) that will update the user of Localytics related events that occur from inside campaigns.
  • Add Inbox delete API's and functionality including swipe to dismiss from the Inbox list view, as well as a delete button from the detail view controller.
  • Fix a potential deadlock when any Profiles API was called from inside the AnalyticsDelegate.
  • Fix a bug where In Apps with a trigger condition for Language would fail to ever qualify.
  • Fix a bug where the Inbox List view would show a date well before the user could have actually seen the campaign.
  • Some reliability improvements to the download and display of In Apps.
  • Deprecate MessgingDelegate:localyticsShouldDeeplink: in favor of CallToActionListener:localyticsShouldDeeplink:campaign:. This method will be removed in the next major release, and if both are implemented only the CallToActionDelegate variant will be called.

5.1: April 4, 2018

  • Improves integration pathways for GDPR compliance.
  • Fixes an issue where standard dimensions were getting truncated during In-App campaign trigger qualification
  • Updates setOptOut to cease collection and uploading of Profiles data.

5.0: January 17, 2018

  • Adds support for data flushing. Analytics data can now be flushed at periodic intervals that will improve time sensitive messaging capabilities.
  • Adds support for an In-app live creative previewer for device testing.
  • Adds support for the iPhone X and includes updates for iOS 11.
  • Removes support for versions below iOS 8.
  • Includes better support for a high number of geofences.
  • Adds more granular location permissions support.
  • Adds support for deep link suppression handling.
  • Adds support for Carthage integrations.
  • Fixes a bug where In-Apps with a common event trigger were not ordered correctly.
  • Fixes an issue with stale campaigns when a customer ID changes.
  • Fixes an issue with geofence downloading that causes freezing on the main thread.
  • Adds an API for opting into attaching an ADID parameter to Inbox URLs.

4.4.1: July 17, 2017

  • Fixed an issue that caused crashes because of how application state calls were being handled.

4.4.0: July 10, 2017

  • Categories and actions are now supported in Push and Places Notifications.
  • Added rich media support for Places notifications.
  • Full-screen videos can now be shown within Inbox creatives.
  • Silent Inbox campaigns are now supported to help A/B testing creatives without visible UI.
  • A new API has been added for tagging when an Inbox list item has been tapped.
  • Added Inbox messaging callbacks for displaying and dismissing the detail view controller.

4.3.2: April 13th, 2017

  • Fixed a bug that removed bitcode support in the framework.

4.3.1: April 5th, 2017

  • Fixed a bug that caused In-App creatives in test mode to not be approprately responsive.

4.3.0: March 23, 2017

  • In-App Messaging improvements including:
    • Per campaign UI modification. Using a callback, a number of properties on the In-app campaign can be modified such as centered In-App aspect ratio, Banner In-App offset from the edges of the screen, full-screen In-App transparency, and dismiss button image, location and visibility.
    • A new campaign test mode UI including the ability to preview all creatives in an A/B test.
    • The ability to delay In-App campaigns triggered by "Session Start" and refire them at a later time to avoid conflicts with splash screens or other interstitials.
    • Additional Javascript callbacks for setting Profiles and identifying users within custom HTML In-App Messaging creatives.
    • A new In-App Dimiss button.
    • In-App Messages can now be triggered or suppressed based on dimensions.
  • Performance events to manually track impressions and conversions for customers rendering fully custom Push, In-App, Inbox, and Places campaigns.
  • Added creative location access for custom Inbox and In-App campaigns.
  • Places notification trigger methods.

4.2.0: November 11, 2016

  • Added support for frequency capping in Places.
  • Added support for downloading scheduled campaigns in advance so they are available immediately at campaign launch time.
  • Fixed a bug that caused places identifiers with quotes to not be handled appropriately.
  • Fixed a bug where standard events would log transactions with a customer value of 0.
  • Improved logging.

4.1.0: August 30, 2016

  • Added support for iOS10 and the new UserNotification framework.
  • Fixed an issue that was caused when file protection is enabled globally for an app.

4.0.1: August 9, 2016

  • Fixed an issue that could cause a crash when Places is enabled in the Dashboard but Places integration has not been completed.

4.0.0: May 31, 2016

  • Added support for Places, our geofencing and background location analytics and messaging product.
  • Added standard events.
  • Replaced add/remove SDK callback API with a single set callback API.
  • Replace static lib release with two frameworks, one static and one dynamic. This provides full support for swift with Cocoapods.
  • Dropped iOS 6 support.

3.8.0: March 10, 2016

  • Added "push registered" event, which allows Localytics to upload a user's push token immediately. This improves reliability for developers when testing push integration. It also ensures all users who have only had one session can still receive push notifications.
  • Bug fixes.

3.7.0: February 5, 2016

  • Added App Inbox for delivering personalized content to users through a dedicated inbox.
  • Fixed an issue that could prevent in-app control group impressions from being tagged.

3.6.1: January 5, 2016

  • Fixed underreporting of Localytics Push Opened events at cold start which could cause incorrect push campaign performance metrics.

3.6.0: December 11, 2015

  • Increased hard limit on number of custom dimensions to enable future Dashboard improvements.
  • Fixed a deadlock that could occur when dispatching to the main thread from an analytics delegate callback.

3.5.1: October 7, 2015

  • Added Bitcode support
  • Fixed empty array/profile bug
  • Fixed offline/online bug
  • Updated Profile method signatures to better bridge between Swift & Objective C

3.5.0: August 28, 2015

  • Fix to in-app messaging for iOS 9 compatibility
  • Improved support for full-screen in-app messages for apps that support multiple orientations

3.4.0: July 1, 2015

  • Support for scheduling automation for in-app messaging
  • Support for control groups for in-app messaging
  • Added ability to suppress attachment of adid to in-app URLs upon click-through
  • tagScreenM now reports consecutive tags of the same screen as one tag

3.3.0: June 4, 2015

  • Added setters for customer first name, last name, full name, and email that will act as Profile attributes and be available in raw data exports
  • Fixed bug that impacted identically-named in-app campaigns
  • Improved handling of special characters in Customer IDs
  • Changed Profile upload batch size from 500 to 50

3.2.0: May 7, 2015

  • Added support for watchOS 1.0

3.1.1: April 7, 2015

  • Numerous performance-enhancing updates and bug fixes

3.1.0: February 20, 2015

  • Enables new Localytics Push Received event for more comprehensive campaign performance tracking

3.0.0: December 31, 2014

  • Profiles APIs enable you to increment, decrement, add to set, and remove set
  • Support for events that occur outside a session
  • New callbacks to expose more SDK state (helpful for event tagging and managing in-app message display)
  • Consistent tagging across iOS and Android SDKs for seamless integration experience
  • Performance enhancements across analytics and marketing

2.7.1: October 1, 2014

  • Fix for in-app message rotation issues on iOS 8

2.7.0: September 30, 2014

  • Support for Profiles
  • More efficient uploading of customer data
  • Fix deprecation warnings on iOS 8

2.6.1: September 19th, 2014

  • Remove direct calls to registerForRemoteNotificationTypes so apps that are not using push don't get warning emails after submission to the App Store
  • Suppress in-app messages while the app is in the background

2.6.0: August 1st, 2014

  • Support for additional customer data

Android

5.4.0: October 24, 2018

  • Add the ability to change the native rendering of In App based on values in the html creative. To learn more, read the In App documentation
  • Ensure that In App's render properly on devices with notches such as the Pixel 3 XL.

5.3.0: September 27, 2018

  • Fixes a bug where Inbox campaigns migrated from SDK 5.1 would have an expiration date in the past, and therefore be excluded from Inbox lists.
  • Push Event Labels passed through the Push API will now be reported on Push Received and Push Opened events.
  • Adds new API's to the Javascript available in In-Apps and Inbox campaigns that allow for deeplinking to the settings screen.
  • Added a fix for use of the Places BackgroundService with Google Play Services 12+.
  • Security improvement: In App's will sandbox their filesystem and ignore any files with parent directory access.
  • Location monitoring can be persisted. Location monitoring that has been persisted will restart monitoring automatically on new session.

5.2.1: July 18, 2018

  • Fixed a bug that could cause In App messages to fail to render in wrapper SDKs.

5.2.0: July 9, 2018

  • This SDK version has a major Inbox bug. Please upgrade directly to SDK 5.3 if you use Inbox
  • Drop supported Android versions back to Android OS 4.2 (API 17). All functionality is restored for older OS versions, with the exception of full screen In App messages.
  • Adds new API's to the Javascript available in In-Apps and Inbox campaigns including methods for setting opted out state and prompting for location permissions.
  • Introduces a new listener (CallToActionListener) that will update the user of Localytics related events that occur from inside campaigns.
  • Add Inbox delete API's and functionality including opt in swipe to dismiss from the Inbox list view.
  • The device back button will no longer dismiss In-App messages that have chosen to hide the dismiss button.
  • Fix a bug where the Inbox List view would show a date well before the user could have actually seen the campaign.
  • Add a tagPushReceivedEvent API for ease of integration on Firebase.
  • Some reliability improvements to the download and display of In Apps.
  • Deprecate MessgingListener#localyticsShouldDeeplink in favor of CallToActionListener#localyticsShouldDeeplink. This method will be removed in the next major release, and if both are implemented only the CallToActionListener variant will be called.

5.1.2: May 14, 2018

  • Fix an issue that could cause full screen In-App messages to render with an incorrect height.

5.1.1: May 1, 2018

  • Fix an issue that could cause full screen In-App messages to render as fully transparent on older devices and in wrapper SDKs.
  • Fix an issue where the default notificaton channel id set in the localytics.xml was not properly respected.

5.1.0: April 4, 2018

  • Improves integration pathways for GDPR compliance.
  • Adds ability to configure location update intervals.
  • Updates setOptOut to cease collection and uploading of Profiles data.

5.0.1: February 8, 2018

  • Fixes an issue which could prevent apps from being shipped to the Google Play store.

5.0.0: February 5, 2018

  • Adds support for data flushing. Analytics data can now be flushed at periodic intervals that will improve time sensitive messaging capabilities.
  • Adds support for an In-app live creative previewer for device testing.
  • Takes advantage of manifest merging and adds a config file, localytics.xml, to simplify integrations.
  • Removes support for versions of Android below 4.4 (KitKat).
  • Adds deeper Notification Channel support.
  • Removes the dependency on Google play services for both Google Cloud Messaging and Firebase Cloud Messaging integrations.
  • Fixes display of In-Apps on Android 8 devices with a soft navigation bar or action bar.
  • Adds support for push notifications with titles and no body.
  • Adds support for deep link suppression handling.
  • Fixes an issue with stale campaigns when a customer ID changes.
  • Adds an API for opting into attaching an ADID parameter to Inbox URLs.

4.5.1: October 18, 2017

  • Fixed a bug introduced in SDK v4.5.0 which led to crashes when certain 3rd party SDKs use Android services that dynamically activate/deactivate based on optional transitive dependencies.

4.5.0: September 12, 2017

  • Added support for Android O. The Localytics SDK will now use notification channels as needed, and handle background execution properly in Android O.
  • Updated Notifications enabled reporting to more accurately represent the user's state.
  • Fixed a bug where in app creatives stored as .html files would fail to download in test mode.

4.4.1: August 14, 2017

  • Fixed an issue where some deep links sent through Firebase Cloud Messaging caused apps to freeze.

4.4.0: July 10, 2017

  • Actions are now supported in Push and Places Notifications.
  • Added rich media support for Places notifications.
  • Full-screen videos can now be shown within Inbox creatives.
  • Silent Inbox campaigns are now supported to help A/B testing creatives without visible UI.
  • A new API has been added for tagging when an Inbox list item has been tapped.
  • Added extra Firebase validation for Rapid Push Verification.
  • Improved Firebase integration to make it quicker to set up.

4.3.1: April 5th, 2017

  • Fixed a bug introduced in SDK 4.3 preventing new Places from loading for apps with more than 1000 Places.

4.3.0: March 23, 2017

  • In-App Messaging improvements including:
    • Per campaign UI modification. Using a callback, a number of properties on the In-app campaign can be modified such as centered In-App aspect ratio, Banner In-App offset from the edges of the screen, full-screen In-App transparency, and dismiss button image, location and visibility.
    • A new campaign test mode UI including the ability to preview all creatives in an A/B test.
    • The ability to delay In-App campaigns triggered by "Session Start" and refire them at a later time to avoid conflicts with splash screens or other interstitials.
    • Additional Javascript callbacks for setting Profiles and identifying users within custom HTML In-App Messaging creatives.
    • A new In-App Dimiss button.
    • In-App Messages can now be triggered or suppressed based on dimensions.
  • Performance events to manually track impressions and conversions for customers rendering fully custom Push, In-App, Inbox, and Places campaigns.
  • Added creative location access for custom Inbox and In-App campaigns.
  • Places notification trigger methods.
  • First class support for Push messages with rich media attachments.

4.2.1: December 6, 2016

  • Fixed a crash that could occur when using Rapid Push Verification with a Firebase Cloud Messaging integration.

4.2.0: November 11, 2016

  • Added support for frequency capping in Places.
  • Added support for downloading scheduled campaigns in advance so they are available immediately at campaign launch time.
  • Fixed a bug that caused places identifiers with quotes to not be handled appropriately.
  • Improved logging.

4.1.0: September 6, 2016

  • Enable TLS 1.1/1.2 on API 16+ devices.
  • Fix in-app message aspect ratio on certain devices.

3.8.2: August 29, 2016

  • Fixed an issue with push registration due to an update in Google Play Services.

4.0.1: June 2, 2016

  • Fixed the availability of some standard events.

4.0.0: May 31, 2016

  • Added support for Places, our geofencing and background location analytics and messaging product.
  • Added standard events.
  • Removed in-app messaging dependency on FragmentActivity and dropped support for Android 2.3 (Gingerbread);
  • Fixed bug that could prevent a user from receiving push notifications after restoring from an Android 6.0 (Marshmallow) app backup.
  • Added listener callbacks to allow easy modification or suppression of push messages.

3.8.1: May 6, 2016

  • Fixed an issue that could cause session start in-app campaigns to not trigger on their first qualified session.

3.8.0: March 10, 2016

  • Added "push registered" event, which allows Localytics to upload a user's push token immediately. This improves reliability for developers when testing push integration. It also ensures all users who have only had one session can still receive push notifications.
  • Bug fixes.

3.7.0: February 5, 2016

  • Added App Inbox for delivering personalized content to users through a dedicated inbox.
  • Fixed an issue that could prevent in-app control group impressions from being tagged.

3.6.0: December 9, 2015

  • Increased hard limit on number of custom dimensions to enable future Dashboard improvements.
  • Fixed issue caused by calling flush() on devices with API level 18 and below.
  • Fixed issue in which some screen flows could be dropped due to not being persisted between app launches when the app left memory.

3.5.0: October 15, 2015

  • Added "handlePushNotificationReceived()" public method to allow push received tracking when not using Localytics broadcast receiver
  • Added "setLaunchIntent()" method to the "PushNotificationOptions.Builder" class, allowing customization of the launch intent used by Localytics notifications
  • Added "setTitle()" method to the "PushNotificationOptions.Builder" class, allowing customization of the title displayed in Localytics notifications
  • Bug fixes

3.4.2: September 14, 2015

3.4.1: July 15, 2015

  • Added some extra security measures around in-app creatives

3.4.0: July 1, 2015

  • Support for scheduling automation for in-app messaging
  • Support for control groups for in-app messaging

3.3.0: June 2, 2015

  • Added setters for customer first name, last name, full name, and email that will act as Profile attributes and be available in raw data exports
  • Fixed bug that impacted identically-named in-app campaigns
  • Improved handling of special characters in Customer IDs
  • Changed Profile upload batch size from 500 to 50
  • Fix for attribution due to late broadcast of INSTALL_REFERRER Intent
  • Added Android attribution test mode
  • Added extra check to see if icon resource is valid before posting notification
  • Enabled remote JavaScript in in-app creatives

3.1.1: April 7, 2015

  • Numerous performance-enhancing updates and bug fixes

3.1.0: February 20, 2015

  • Enables new Localytics Push Received event for more comprehensive campaign performance tracking
  • Application class integration is now available and required
  • Support for runtime app key setter
  • Support for multi-line push notifications
  • Simplified push integration with PushTracking Activity
  • New APIs for manual push registration: getRegistration and setRegistration
  • Upgraded to GCM and removed any references to C2DM
  • Fix in performance measurement when A/B testing multiple creatives in an in-app messaging campaign

3.0.1: February 2, 2015

  • Added getRegistrationId and setRegistrationId APIs to facilitate push registration for Titanium
  • Only available as part of Titanium 3.0.1

3.0.0: December 31, 2014

  • Profiles APIs enable you to increment, decrement, add to set, and remove set
  • Support for events that occur outside a session
  • New callbacks to expose more SDK state (helpful for event tagging and managing in-app message display)
  • Consistent tagging across iOS and Android SDKs for seamless integration experience
  • Performance enhancements across analytics and marketing

2.73: December 17th, 2014

  • In-app test mode fixes
  • Better handling of failed WakeLock acquisition
  • JavaScript API bug fixes for in-app creatives

2.72: November 7th, 2014

  • Fix for push registration on API Level 21

2.71: October 31st, 2014

  • Support for Profiles
  • Android Lollipop compatibility
  • Can specify an icon for Localytics push notifications

2.70: October 1st, 2014

  • More efficient uploading of customer data
  • WakeLock permission is now optional

2.66: September 19th, 2014

  • Referral receiver bug fixes

2.65: August 13th, 2014

  • Automatic integration using ActivityLifecycleCallbacks
  • Push receiver bug fixes

2.60: August 1st, 2014

  • Added in-app messaging support
  • Support for additional customer data
  • Google Advertising ID

Web

3.4.0: April 23, 2018

  • Improves integration pathways for GDPR compliance.

3.3.3: June 7, 2017

  • Increased the number of supported custom dimensions to 20.

3.3.2: January 10, 2017

  • Fixed a bug where customer identifiers weren't being encoded in profile uploads.

3.3.1: December 5, 2016

  • Add methods for setting first name, last name and full name identifiers.
  • Fixed a bug where setting identifiers wouldn't update corresponding profile attributes.

3.3.0: June 25, 2016

  • Add the ability to set profile attributes in the web.
  • Retry failed requests up to 3 times.

3.1.2: July 8, 2015

  • Improved AMD compatibility and error handling.

3.1.1: June 18, 2015

  • Improved handling of special characters.

3.1.0: January 6th, 2015

  • Added RequireJS and CommonJS support.

3.0.2: January 6th, 2015

  • Fix for missing screen flow data.

3.0.0: October 23rd, 2014

  • All new integration with async loading.
  • Local storage / cookies option.
  • Cross-domain support.
  • Auto page view tracking.

React Native

2.2.0: July 19, 2018

  • Updates bindings to SDK 5.2.0
  • Fix an issue with the LLLocationEmitter.

2.1.2: May 14, 2018

  • Updates bindings to Android SDK 5.1.2
  • Fix an issue that could cause full screen In-App messages to render with an incorrect height.

2.1.1: May 1, 2018

  • Updates bindings to Android SDK 5.1.1
  • Fix an issue that could cause Android full screen In-App messages to render as fully transparent.

2.1.0: April 9, 2018

  • Improves integration pathways for GDPR compliance.
  • Updates bindings to iOS/Android SDK 5.1.0.

2.0.0: March 6, 2018

  • Updates bindings to iOS/Android SDK 5.0.0.

tvOS

1.0.2: December 14, 2016

  • Fixed a bug where apps would crash when trying to deeplink while auto-integrated.

1.0.1: December 6, 2016

  • Fixed a bug where apps would crash when receiving a silent push notification while auto-integrated.

1.0.0: October 28, 2016

  • Introduced an Apple TV SDK with support for Analytics and Profiles.

Windows RT

3.1.0: November 11, 2015

  • Added support for profiles

3.0.1: July 10, 2015

  • Fixed bug that impacted exception handling

3.0.0: April 7, 2015

  • Initial release of analytics-only WinRT SDK, developed natively in C# for Windows Runtime
  • Works with Windows Phone 8.1 and later, Windows Store (i.e. Desktop) 8.1 and later
  • Analytics parity with iOS and Android

Roku

4.0.2: April 6, 2017

  • Fixes a bug introduced in 4.0.1 where sessions are not initialized properly on fresh installs.

4.0.1: March 29, 2017

  • Fixes an issue where registry writes could overlap from different threads.

4.0.0: March 3, 2017

  • Adds support for Scene Graph

3.0.0: May 26, 2015

  • Initial release of Roku SDK

Titanium

3.0.1: February 02, 2015

  • Major revision to the Titanium module to support Push and In-App Messaging for iOS
  • All iOS 3.0.0 improvements, including numerous performance enhancements
  • All Android 3.0.1 improvements