Releases: snowplow/snowplow-android-tracker
Releases · snowplow/snowplow-android-tracker
Snowplow Android Tracker v1.0.0
This release introduces features to alleviate blocking issues on tracker instantiation, add control over sessions, and improve the robustness of foreground and background detection.
New features
- Add Futures for loading of Emitter and Session (#285)
- Add ability to share an OkHttpClient instance with Emitter (#269)
- Add option for callbacks on session transitions (#281)
- Add setter for session context boolean (#282)
- Use ProcessLifecycleOwner to detect foreground and background (#272)
- Add ability to momentarily suspend session checking (#271)
Under the hood
- Update to Android Target API level 28 (#287)
- Output maximum logging detail in demo app (#279)
- Perform blocking operations in the background (#159)
- Enforce strict mode for demo app (#278)
- Bump versions in build.gradle for demo app (#284)
- Bump Android Gradle to 3.2.1 (#280)
- Bump versions of build tools in Travis (#283)
- Update to Android Target API level 26 (#273)
Bug fixes
- Fix Travis license issue (#288)
Snowplow Android Tracker v0.8.0
This release fixes a bug that stops Android lifecycle tracking whenever an activity is destroyed. The release also adds methods to set and view the custom contexts sent with lifecycle events.
New features
- Add ability to change custom context sent by LifecycleHandler (#267)
Bug fixes
- Fix LifecycleHandler callbacks being unregistered on activity destruction (#266)
Version 0.7.0
This release introduces privacy rights tracking, lifecycle handler improvements, as well as some new convenience methods and bugfixes.
Testing and deployment
- Fix outdated and broken Travis configuration (#258)
New features
- Add trackConsentGranted and trackConsentWithdrawn methods (#255)
- Add ability to specify TLS protocols to use for emitting events (#245)
- Add the ability to suspend and resume a LifecycleHandler (#261)
- Add support for custom contexts to LifecycleHandler (#263)
- Add a method to start a new session (#226)
- Add identifyUser as alias for setUserId (#254)
Under the hood
- Raise minimum supported Android API to level 14 (#262)
Bug fixes
- Reset firstId even if app is in the foreground (#257)
- Make tracker.setLifecycleHandler take a Context instead of an Activity (#224)
- Unregister LifecycleHandler callbacks on activity destruction (#259)
Documentation
- Update README markdown in accordance with CommonMark (#256)
Version 0.6.2
Bugs
- Ensure we do not pass invalid information to application_error event (#237)
- Mobile context: offline events not being recorded as such (#239)
- GeoLocation context: changes in position not being reflected (#240)
- Fix logger crashing when a value contains '%' (#238)
Build
- Bump Android Gradle to 2.2.3 (#241)
Documentation
- Update copyright to 2015-2017 (#243)
Development
- Ensure vagrant environment can build and test tracker (#227)
Version 0.6.1
Version 0.6.0
API
- Added support for attaching true timestamp for events (#196)
- Removed RxJava and merge Classic into core (#187)
- Renamed TimingWithCategory to Timing (#164)
- Renamed Unstructured Event to SelfDescribing Event (#190)
- Refactored how extra contexts are attached to events (#204)
- Forced singleton pattern for the Tracker (#175)
Tracking
- Added network type and technology to mobile context (#180)
- Added firstEventId to client_session context (#160)
- Bumped geolocation_context to 1-1-0 (#203)
- Automatically track fatal/uncaught application exceptions (#202)
- Automatically track activity resume/pause lifecycle events (#206)
Backend
- Stopped incrementing SessionIndex while application in background (#192)
- Removed
Emitter:performSyncEmit
as no longer used (#209) - Converted removal of events from database into a single query (#177)
- Upgraded OkHttp from 2 to 3 (#183)
- Moved EventStore serialize & deserialize functions to Util (#211)
Bugs
- Removed trailing newline character from base64 encoding (#207)
- Ensured Timing event does not set a null or empty value for
label
(#210) - Util.getAdvertisingId(Context) e.getCause() can be null (#191)
- Do not send "co/cx" when there are no contexts to send (#194)
- SelfDescribingJson
setData
has invalid equality check (#208)
Deployment/Testing
Snowplow Android Tracker v0.5.4
Snowplow Android Tracker v0.5.3
Bug fixes around session handling and stm
Bug fixes
- Core: fixed session context fails on first session (#176)
- Core: fixed adding STM to events is not in order (#169)
Documentation
- Added comments to demo-app's build.gradle to explain why it shouldn't be copied (#158)
Testing
- Removed chmod +x ./ci/wait_for_emulator from README (#157)
Snowplow Android Tracker v0.5.2
Fixes a bug in the Timing event.
Bug fixes
- Core: Timing event field is incorrectly converted to a String (#168)