Skip to content

Releases: snowplow/snowplow-ios-tracker

Version 3.1.2

25 May 10:55
Compare
Choose a tag to compare

This patch version fixes a mistake in the Lifecycle autotracking feature. When configured, Background and Foreground events are fired as the user navigates away from, and back to, the app. Also, a LifecycleEntity is attached to all events, marking if they occurred when the app was visible or not. Unfortunately, these entities were not being added until after a Background event had fired. This has now been fixed: when Lifecycle autotracking is on, all events will have the lifecycle entity.

CHANGELOG

Bug fixes:

  • Attach LifecycleEntity before the first Background event (#679)

Version 3.1.1

03 Mar 16:49
c873da2
Compare
Choose a tag to compare

This is a patch release that fixes a bug in session management. It can crash the app at startup due to an incorrect migration of session data from the older versions of the tracker.

CHANGELOG

Bug fixes:

  • Fix object cannot be nil (key: userId) when initialising Snowplow tracker (#675)

Version 3.1.0

28 Feb 10:29
d223aa3
Compare
Choose a tag to compare

This version has some improvements to the session management and the tracker control.

About the session management, we noticed that the behaviour of the session timeout checking with the lifecycle events could cause bad interpretation of the session in some edge cases. The previous version of the tracker used to check the timeout based on the state of the app. To make an example, a transition from foreground to background was causing the generation of an application_background event checking the session with the background timeout, accordingly with the state of the app. This caused a weird behaviour where the session remained the same even if an app was in background for longer than the background timeout. This new version fix that issue.

Another improvement to the session management is the ability to receive the details of the new session (SessionID, SessionIndex, etc.) as soon as the session is renewed. That's a feature that disappeared with the v2 of the native mobile trackers.

We added back another feature that was removed with v2: the ability to pause and resume the emission of events. In cases of low bandwidth or low battery we can allow the app to pause the emission of the events without pausing the ability to track them.

CHANGELOG

Bug fixes:

  • Check session for background event using foreground timeout (#667)

Enhancements:

  • Add pause and resume to EmitterController (#672)
  • Add session callback (#664)

Under the hood:

  • Update copyright headers to 2022 (#669)
  • Update links to v3 docs in README (#665)

Snowplow iOS Tracker v3.0.2

23 Dec 16:33
Compare
Choose a tag to compare

This is a patch release that fixes a problem where the Apple IDFA and IDFV attributes of the platform context remained null even after permission to access them was given by the user. This was caused by caching their values since the initialization of the tracker. Instead, this release regularly updates their values while they are null.

CHANGELOG

Bug fixes:

  • Fix updating IDFA during app runtime (#661)

Snowplow iOS Tracker v3.0.1

17 Dec 09:40
Compare
Choose a tag to compare

This is a patch release that fixes a bug introduced in version 3.0.0 which resulted in multiple of the same screen context entities being added to events. The problem occurred when tracker configuration was updated (manually or through remote configuration) in which case new state machines for managing the context state were added but old ones weren't removed. This fix removes old state machines on configuration updates and allows only one of the same type to exist.

CHANGELOG

Bug fixes:

  • Do not allow multiple state machines with the same ID (#658)

Snowplow iOS Tracker v3.0.0

23 Nov 10:41
bc52d18
Compare
Choose a tag to compare

This release completes the transition started with the previous major release v2.0, completely removing support for the old v1.0 API. The platform context now includes information about memory, storage, and battery usage. With this new version we provide two new events out-of-the-box: DeepLinkReceived and MessageNotification. Furthermore, each event tracked can be attached with a Lifecycle context indicating if the app is in background or foreground state and a DeepLink context attached to the first ScreenView tracked after a DeepLinkReceived.

CHANGELOG

Bug fixes:

  • Fix SPDataPersistence crash at SDK init (#655)

Enhancements:

  • Allow campaign enrichment with DeepLinkReceived events (#648)
  • Capture campaign attribution data from deep links (#297)
  • Add event for remote and local notifications (#646)
  • Add memory, battery and storage info to mobile context (#643)
  • Support lifecycle reporting for tvOS (#640) (Contribution of @miike)
  • Add lifecycle context to indicate app state when the event is tracked (#637)

Under the hood:

  • Fix Copyright notice in LICENSE file (#651)
  • Remove v1 API (#652)
  • Add tracker state management (#634)

Snowplow iOS Tracker v2.2.2

16 Aug 08:22
805dfc4
Compare
Choose a tag to compare

This is a patch version that fixes a bug introduced with the version 2.0 which allows multiple tracker instances in the same app. The Session UserID should be common among the instances but with the previous version each instance of the tracker generated its own Session UserID. With this fix, all the instances can share the same Session UserID.

Also, this version of the tracker doesn't store persistent data in the filesystem when running on watchOS and tvOS app. In fact, those operating systems have limitations on the data that can be stored persistently in the device.

CHANGELOG

Bug fixes:

  • Fix Session UserID not consistent among tracker instances (#630)
  • Fix crash on tvOS caused by access to filesystem (#621)

Snowplow iOS Tracker v2.2.1

02 Aug 12:26
2cf806e
Compare
Choose a tag to compare

This patch version fixes a build error introduced by the Xcode 13.0 beta 3.
There are chances that this issue will be eased out in one of the next beta versions of Xcode 13.
Meanwhile, this fix avoid the build error allowing Xcode 13 to build the Snowplow tracker framework.

CHANGELOG

Enhancements:

  • Fix build errors in Xcode 13 beta 3 when using SPM (#628)

Snowplow iOS Tracker 2.2.0

16 Jul 09:56
58432ba
Compare
Choose a tag to compare

This version reverts a breaking change introduced with the version 2.0.
The application_install event reports the time when the app has been launched for the first time after the installation.
Since the version 2.0 that timestamp is added in the true_timestamp field of the event.
Unfortunately, we noticed that it can be cause of issues on data-modelling because the true_timestamp is directly applied to the derived_timestamp field and it's not adapted to the time of the collector (collector_timestamp). The problem is visible when the user device has the device time set on the future, because the derived_timestamp wouldn't be corrected and would store the application_install event as happened in the future.

Since this version, we set the application_install timestamp in the device_created_timestamp. In this way, a wrong time setting in the user device wouldn't affect the correctness of the derived_timestamp in the data model.

It also has a couple of fixes:

  • A typo in an imported header. Thanks for the contribution of Juraldinio.
  • A fix for a deprecated method used for the remote configuration management.

CHANGELOG

Bug fixes:

  • Set application install timestamp on device timestamp field (#625)
  • Avoid deprecated method for configuration serialization (#623)
  • Fix for CaseSensetive file systems (#622) (Contribution of @Juraldinio)

Internal:

  • Remove Demo app builds for iOS 12 on CI (#626)
  • Set amended v_tracker indicating wrapper tracker version (#624)

Snowplow iOS Tracker v2.1.1

24 Jun 14:07
2b0d6b7
Compare
Choose a tag to compare

This version has a patch for a bug introduced with the version 2.1. The bug adds the GDPR context to the events even when disabled.
With this fix it will be added only when configured or enabled at runtime.

CHANGELOG

Bug fixes:

  • Fix GDPR context being tracked without enabling it (#618)