Skip to content

Releases: snowplow/snowplow-ios-tracker

Version 6.2.0

13 Feb 11:11
3872d6f
Compare
Choose a tag to compare

This release adds an option to continue the previously persisted session when the app restarts.

The default behaviour is to always start a new session when a new tracker is created (i.e., when the app restarts) regardless of whether the previous one timed out or not.

With the option enabled, every session update is persisted to the UserDefaults storage. This includes the current event index in the session and a timestamp of the last update of the session. In case it's disabled, only session changes are persisted to UserDefaults.

The option can be configured using SessionConfiguration:

val sessionConfig = SessionConfiguration()
    .continueSessionOnRestart(true)

Enhancements

  • Add an option to continue previously persisted session when the app restarts rather than starting a new one (#912)
  • Make SelfDescribingJson class open to allow for inheritance (#906) thanks to @TwoDollarsEsq

Version 6.1.0

20 Jan 10:23
Compare
Choose a tag to compare

This version makes tracking in hybrid apps easier and more powerful, by adding support for the new Snowplow JavaScript tracker WebView plugin (available from JS tracker v4.3).

Implement the JS tracker plus WebView plugin in your WebView to automatically forward all web events to the iOS tracker.

Enhancements

  • Add new WebView interface (#913)

Under the hood

  • Fix typos in internal Structured event constants (#911)

Version 6.0.9

20 Nov 15:15
c105d9f
Compare
Choose a tag to compare

Bug fixes

  • Handle nan values and other non-serializable data in events from the WebView tracker (#909)

Version 6.0.8

20 Aug 10:56
bf14959
Compare
Choose a tag to compare

This patch release fixes a bug that caused the tracking events to crash when media tracking was started using an AVPlayer instance.

Bug fixes

  • Fix media tracking calls not being dispatched on the correct queue when tracking using AVPlayer

Version 6.0.7

16 Jul 10:51
20b1fea
Compare
Choose a tag to compare

This release fixes a bug when serializing remote configuration in case the timeout property is set in network configuration.

Bug fixes

  • Fix incorrect decoding of timeout property in network configuration (#902)

Version 6.0.6

10 Jul 10:37
b01a810
Compare
Choose a tag to compare

This PR fixes a bug in remote configuration that resulted in a crash in case the tracker configuration had a logger class configured, which the tracker previously tried to serialize on remote config updates. The logger class is no longer serialized, but it still can persist on config updates as the new tracker configuration can fallback on the previous one for that property.

Bug fixes

  • Fix remote configuration attempting to serialize a logger class after new configuration is fetched (#900)

Version 6.0.5

03 Jul 11:48
18f62a1
Compare
Choose a tag to compare

This patch release makes the emitter pause for 5 seconds in case events fail to be removed from the event store. This aims to reduce the number of duplicates caused in case of issues with removing events from the SQLite event store.

It also adds a warning to the API docs that the self-describing event and entity data may needs to be serializable to JSON.

Bug fixes

  • Stop sending if events fail to be removed from the event store
  • Add warning for the serialization of data in self-describing event and entity (#898)

Version 6.0.4

20 Jun 13:12
Compare
Choose a tag to compare

Bug fixes

  • Fix CrossDeviceParameterConfiguration constructor to be public (#894) thanks to @thomas-brx

Version 6.0.3

14 May 07:43
Compare
Choose a tag to compare

This release disables UIKit view swizzling in case automatic screen view tracking is disabled. It also adds the PrivacyInfo manifest to Cocoapods.

Bug fixes

  • Add the PrivacyInfo to the CocoaPods podspec (#888) thanks to @tottakai
  • Do not swizzle views if screen view autotracking is disabled (#889)

Version 6.0.2

03 Apr 09:57
Compare
Choose a tag to compare

Bug fixes
Fix non-published constructor for MediaPlaybackRateChangeEvent (#884)
Remove deprecated name property in SPM package file for the Mocker dependency on Swift 5.9 (#881) thanks to @nvelichkin
Fix accessing media tracking instance not on internal queue (#886)
Expose a public getter for EmitterEvent's payload and storeId properties (#879)