Skip to content

Releases: snowplow/snowplow-ios-tracker

Snowplow iOS Tracker v2.1.0

21 Jun 09:34
1afcf4c
Compare
Choose a tag to compare

This version comes with a number of minor fixes and important new feature: the remote configuration.
We will gradually improve the remote configuration of the tracker in the upcoming version but this first version of the remote configuration already allow to configure the fundamental aspects of the tracker: TrackerConfiguration, NetworkConfiguration, SubjectConfiguration and SessionConfiguration.
You can find more information in the upcoming blog post where we will present the feature with more details and examples.

Among the fixes:

  • Fixed sessionIndex that started from 0 rather than 1, differently than the Android tracker behaviour and previous versions.
  • Fixed an issue that blocked the sending of automatic events when the tracker doesn't have programmatic events to send first.
  • Fixed an issue that prevented to instrument the tracker on tvOS apps raising a compiler error.
  • Bumped FMDB dependency to 2.7 on Cocoapods spec, like it was already for Swift Package Manager.
  • Fixed name clash between SPSelfDescribing and SPSelfDescribingAbstract when used in Swift (both called SelfDescribing).
  • Fixed a possible data race caused when multiple threads access the information related to the current screenState used in screen context.

CHANGELOG

Enhancements:

  • Add remote configuration (#581)
  • Fix missing base64encoding in remote config (#615)

Bug fixes:

  • Fix sessionIndex starting from 0 rather than 1 (#616)
  • Fix screenView autotracking unable to send events (#614)
  • Fix tvOS integration via SwiftPM unable to compile (#611)
  • Bump FMDB to version 2.7 (#612)
  • Fix Swift names clash for SelfDescribing event (#610)
  • Fix data race accessing currentScreenState (#609)

Snowplow iOS Tracker v1.7.1

25 May 12:12
Compare
Choose a tag to compare

This release fixes a bug related to a couple of methods of SPUtilities that are not accessible on v1.7 and backports a fix of a bug that prevents the tracker to get IDFA on iOS 14.

CHANGELOG

Bug fixes:

  • Fix IDFA not accessible on iOS 14 (#601)
  • Fix SNOWPLOW_TARGET not working with Xcode 12.5 (#589) (Contribution of @ejensen)

Internal:

  • Test tracker v1 against demo apps v1 (#608)

Snowplow iOS Tracker v2.0.2

24 May 15:54
30440e5
Compare
Choose a tag to compare

This release fix some minor issues and regressions introduced with the version 2.0.

Important to mention:

  • An important fix about a bug that prevented the tracker to get IDFA on iOS 14.
  • A fix for a regression on v2.0 where the SubjectConfiguration doesn't expose the properties needed for the geolocation context, previously available in the deprecated SPSubject.

CHANGELOG

Bug fixes:

  • Add geolocation to SubjectConfiguration and SubjectController (#604)
  • Fix duplicate NS_SWIFT_NAME macro (#603)
  • Fix IDFA not accessible on iOS 14 (#601)

Snowplow iOS Tracker v2.0.1

12 May 14:57
Compare
Choose a tag to compare

This release introduces the ability of updating the userID in the SubjectController.
The version 2.0 allowed the configuration of the userID but it was impossible to update it at runtime.

There are also community contributions and improvements to the reliability of the tracker:

  • SPM can be used with the macOS target
  • Fix for the exception caused by a wrong migration of install events
  • Fix for crashes due to wrong conversion of data to json format and viceversa

CHANGELOG

Enhancement:

  • Add SubjectController to update userId (#595)

Bug fixes:

  • Fix crash if data from Database is corrupted (#596) (Contribution of @glukhanyk)
  • Fix NSInvalidArgumentException on first run with v2.0 (#592)
  • Fix macOS target for SPM (#593) (Contribution of @Juraldinio)

Snowplow iOS Tracker v2.0.0

27 Apr 11:58
ed0bb83
Compare
Choose a tag to compare

This new major release introduces various changes in the API and important new features:

  • the ability to run multiple trackers in the same app (not possible with the version 1.x);
  • a new API, common between iOS tracker and Android tracker (the API of the version 1.x still available but deprecated with minor breaking changes);
  • better integration with Swift.

CHANGELOG

  • Set lifecycle tracking off by default (#587)
  • Update README (#502)
  • Fix GitHub Actions failures due to redirection to macos-10.15 (#583)
  • Remove protocol from NetworkController and NetworkConnection (#573)
  • Add custom headers for requests (#364)
  • Store sessions info separately per tracker namespace (#570)
  • Add API reference documentation for configurations and controllers (#568)
  • Add NSDictionary as explicit argument in SPSelfDescribingJson (#274)
  • Allow multiple instances of the tracker (#566)
  • Import corrections from Android tracker (#563)
  • Create API for v.2.0 (#558)
  • Restructure project source tree (#552)
  • Bump deployment target to iOS 9 (#550)

Snowplow iOS Tracker v1.7.0

03 Apr 08:00
b2a68f0
Compare
Choose a tag to compare

This release fixes an issue causing app rejection due to the fingerprinting caused by the OpenIDFA feature.
To avoid any issue we have completely removed the OpenIDFA identifier and related code.
Also, we changed the policy for enabling the Apple IDFA. On the new version 1.7.0, the IDFA identifier will be enabled only if the developer adds the AdSupport library to the app project and enables the compiler flag SNOWPLOW_IDFA_ENABLED in the build settings.
More details here: IDFA tracking

Note: The previous versions of the tracker (before v.1.7.0) used a different flag SNOWPLOW_NO_IFA needed to disable IDFA feature. Instead, since the version 1.7.0 the IDFA will be enabled only if the SNOWPLOW_IDFA_ENABLED is set.

CHANGELOG

Bug fixes:

  • Fix issue of OpenIDFA causing App Rejection (#575)

Snowplow iOS Tracker v1.6.2

12 Jan 15:55
5c3f00d
Compare
Choose a tag to compare

This release fixes a memory leak on SNOWReachability.

CHANGELOG

Bug fixes:

  • Fix leak on SNOWReachability (#559), thanks to @i-dama contribution.

Under the hood

  • Fix internal Carthage issues with Xcode 12.3 (#561)

Snowplow iOS Tracker v1.6.1

24 Nov 11:21
540fbcd
Compare
Choose a tag to compare

This release fixes a couple of bugs related to Crash Reporting and Global Contexts.
The crashes reported with the Crash Reporting feature were sent without the AppID and all the other contexts attached (e.g.: Session). Instead for the Global Contexts feature it was impossible to add a context generator at runtime when the setGlobalContextGenerators is not declared in the tracker builder.

CHANGELOG

Bug fixes:

  • Fix AddGlobalContext unable to work when GlobalContexts not initialized (#553)
  • Let Crash reporting to add contexts and AppID (#555)

Snowplow iOS Tracker v1.6.0

23 Sep 08:05
96dcf15
Compare
Choose a tag to compare

This release fixes an issue about Swift Package Manager where the minimum deployment target version didn't meet the stricter requirements of Xcode 12.

We also refactored the session management which fixes an issue where short session timeout could cause more than one session expiration. Also, the new session management avoids other possible issues as it adopts a different way to check if the session is expired (more details on #497 thread).

CHANGELOG

Bug fixes:

  • Enable Xcode 12 support for Swift Package Manager (#544) (Thanks to Marc Schultz contribution)
  • Make session uuid rotation dependant on events being tracked (#497)

Under the hood:

  • Update GitHub Actions to test on iOS 14 (#545)
  • Session storageMechanism is marked SQLITE but it's not (#482)

Snowplow iOS Tracker v1.5.0

01 Sep 16:11
7114049
Compare
Choose a tag to compare

This release enhances the Emitter component splitting it in three parts:

  • EventStore: handles the persistence of tracked events not yet sent to the collector;
  • NetworkConnection: establish the connection with the collector and perform the requests;
  • Emitter: Handle dispatching like backoff and retry of failed requests and aggregation of events in a single request.
    The SPEmitter API is still the same, so EventStore and NetworkConnection can be configured automatically by the Emitter from the SPEmitter configuration.

In this release we also introduce tracker diagnostics, which help to track errors which happen inside the tracker in order to spot and diagnose tracking issues. Also tracker logs can be reported to the main app. These features can be helpful for inspecting issues during instrumentation of the tracker or troubleshooting of unexpected behaviours.

CHANGELOG

New features:

  • Report logs to the app (#534)
  • Add diagnostic feature (#533)

Bug fixes:

  • Crash connected with method writeSessionToFile in SPSession (#515)

Under the hood:

  • Emitter refactoring (#540)