Releases: snowplow/snowplow-ios-tracker
Releases · snowplow/snowplow-ios-tracker
Version 0.8.0 (2018-04-29)
Introduces consent tracking methods, a push notification tracking method, and a Swift demo app, among other updates and bug fixes.
New functionality
- Add method to SPTracker to get session's userId (#345)
- Add a Swift port of SnowplowDemo (#342)
- Add trackConsentGrantedEvent and trackConsentWithdrawnEvent methods (#340)
- Add support for push notification open tracking (#335)
API changes
- Add identifyUser as alias for setUserId (#341)
- Add preprocessor flags to disable OpenIDFA or IDFV (#334)
- Add trackSelfDescribingEvent method as alias for trackUnstructEvent (#272)
Bug fixes
- Fix SnowplowTests bundle custom folder name (#343)
- Extend copyright notice in all files to 2018 (#331)
- Replace NSGregorianCalendar with NSCalendarIdentifierGregorian (#329)
- Fix truncation of structured event value to 6 digits (#299)
Documentation, test, and build
Version 0.7.0 (2017-12-24)
Refresh release, bringing dependencies up-to-date, plus some bug fixes
Bug fixes
- Fix invalid latitude in test suite (#322)
- Don't attempt to serialize nil object in event store (#286)
Version updates
- Bump iOS deployment target to 8.0 (#326)
- Bump Xcode to 9.1 and test against iOS 8.1 and 9.0 (#325)
- Bump CocoaPods to 1.3.1 (#306)
- Bump FMDB to 2.6.2 (#315)
- Use default Bundler version in Travis (#336)
Documentation
Version 0.6.2
Bugs
- Fix failing geolocation_context test (#293)
- Cast from NS(U)Integer to long type causes crashes on 32-bit devices, thanks @chrisfsampaio (#271)
- App crashes on iPhone 4s simulator, thanks @chrisfsampaio (#278)
- Fix Travis build (#295)
- Fix failing getLanguage test on Travis (#294)
- Correct the capitalization of Xcode in README, thanks @ReadmeCritic (#268)
Version 0.6.1
Bugs
- Harmonized foreground and background timeouts with Android (#265)
- Fixed Cast from NS(U)Integer to long type causing crashes on 32-bit devices (#264)
- Fixed crash when logging emitter attempts, thanks @rockshassa! (#262)
Deployment
- Made podfile dependencies more restrictive (#266)
Snowplow Objective-C Tracker v0.6.0
Refactors the event tracking API, introduces tvOS support and fixes an important bug with client sessionization
API Changes
- Updated Cocoapods version to 0.39.0 (#243)
- Added event class with builder options for all event types (#223)
- Added tvOS deployment target to Podspec (#244)
- Added Precondition checks for Tracker and Emitter (#221)
- Added option to set event id manually (#195)
- Added firstEventId to client_session context (#194)
- Added a SelfDescribingJson class to ensure we build contexts and unstructured events properly (#119)
- Added preconditions to event builders to ensure they are setup correctly (#117)
- Added location context information (#68)
Performance
- Removed buffer limit in favour of only using bytelimit (#245)
- Added batching based on payload size (#162)
Bug Fixes
- ClientSession needs to send null for the first previousSessionId (#257)
- Only start a single timer, be sure to stop previous checker (#252)
- Updated pauseEventTracking so that the emitter timer is invalidated/stopped (#218)
- Changed floats, doubles and ints to NSNumbers (#96)
- Floats and doubles are not being correctly shortened to two decimal places (#232)
- OpenIDFA calendar is deprecated for iOS 8, thanks @iamjason! (#230)
- Fixed classname collision: SPUtils vs WatchKit.framework, thanks @iamjason! (#228)
- iOS9 ATS issues with OpenIDFA (#175)
- SPUtilities getLanguage returns country code appended string in iOS9 (#233)
- SPUtilities getTimestamp should return an NSInteger not double (#229)
- Fixed tvOS could not create database queue for path (#251)
Documentation
Snowplow Objective-C Tracker v0.5.2
Snowplow Objective-C Tracker v0.5.1
Adds SP
into all tracker constants' names to prevent a build conflict with the Google Analytics tracker.
Under the hood
- Added entropy to global constants to avoid clang errors with other libraries (closes #224)
Snowplow Objective-C Tracker v0.5.0
Introduced builder patterns for Tracker & Emitter, client sessionization and various bug fixes.
New functionality
- Added SPSubject class equivalent to remove need to get same data over and over (#196)
- Configured SPSubject to match how other Tracker Subject classes function (#203)
- Added in-client sessionization (#19)
- Simplified SPTracker event decoration into a single function (#204)
- Changed "POST" and "GET" options to enums (#120)
- Updated contexts schema to 1-0-1 (#207)
- Updated payload-data to 1-0-3 (#91)
- Created SnowplowConstant class or equivalent (#35)
- Created an option to opt-out of data collection (#27)
- Added Tracker builder options to pass through session timeouts (#210)
- Added option to set emitting thread pool size (#199)
- Added option to set events to emit range (#198)
- Added support for checking if the device is online before attempting to emit (#184)
- Added builder pattern for tracker/emitter (#190)
- Added checks for malformed NSURL (#79)
- Added
is online
label to the demo app (#193)
Bug fixes
- Added synchronized mutex lock to emitter results to prevent BAD_ACCESS_ERR (#216)
- Added an implementation of NSTimer without a strong reference to its parent target (#215)
- Ensured that sendEvents will run in background only (#197)
- Ensured platform is set as it is a required field for payload_data (#206)
- Validated all public properties of all classes (#209)
- Fixed SPUtils functions need to return nil not an empty string if they fail to get a value (#213)
- Fixed SPUtils getPlatform function which only returns "mob" as a default string (#205)
- Fixed RequestCallback has to import Foundation before defining protocol (#202)
- Fixed Emitter timer must be setup on main thread or it will not run (#201)
- Removed OCHamcrest test dependency from podfile (#211)
Documentation, test and build
Snowplow Objective-C Tracker v0.4.0
Refactored event emitting, better testing and various community PRs
Event emitting
- Updated how the emitter sends information to match the Android Tracker flow (#185)
- Full memory leak and performance analysis (#183)
- Using FIFO instead of "pending" flag to track emit progress (#94)
New functionality
- Added iOS 6 support, thanks @agarwalswapnil! (#163)
- Added functions to access metrics on the SQLite database (#182)
- Added network properties implementation, thanks @duncan! (#142)
- Added support for callbacks for success/failure (#59)
Bug fixes
- Fixed Content-Type not being set correctly (#192)
- Macroed out the usage of sharedApplication, thanks @hlian! (#157)
Documentation, test and build
Snowplow Objective-C Tracker v0.3.4
Various bug fixes
Bug fixes
- Fixed Tracker sometimes POSTs when no events to post, thanks @leonardors! (#164)
- Fixed bug in PR whereby POST is sent with many events when Buffer type is instant (#178)
- Fixed FMDB requirement for an operation queue to work properly in a concurrent world (#179)
- Fixed bug where appId is nullified if namespace is nil (#165)
- Using buffer size to limit number of events per POST, thanks @leonardors! (#169)
Under the hood
- Removed _buffer in SnowplowEmitter in favour of boolean counter (#173)