- Add Watson enrichment support (New)
EventProperties.ALCHEMY_* strings can be used to enrich an event with the watson information provided for the current/page URL.
- Add PageviewComplete event (New)
Adds page engagement support for the Android platform. The PageviewComplete event is automatically generated when calling close on a PageTracker object.
- Always use application context on initialisation (Fix)
Prevents Activity leaks when passing an Activity as the SDK's context, rather than the Application.
- Turn off TPD usage reporting as a default (Fix)
TPD usage reporting is not used by our customers at this time, so this has defaulted to off.
- Report SDK version as a metric (New)
Reporting SDK version will give us better information on current deployments.
- Add hashed ip as an event enrichment type (New)
The string "$ip_address_hash" will now resolve to a hashed version of the client's ip address.
- Fix instances of dependencies upon startup (Fix)
Fixes a potential race condition that could allow double creations of SDK dependencies.
- Fix error reporting so that it includes script date/time (Fix)
To better diagnose issues we now report the query language creation time in error reports.
- Handle illegal argument exception when unregistering broadcast receiver (Fix)
Fixed an issue when unregistering a broadcast receiver that has not yet been registered in some cases.
- Always ask server to resolve resources, regardless of cache-control max-age (Fix)
We now do not honor the cache-control max-age header, as if this is very long we will not fetch the updates files from our servers.
- do not generate segment_exit events for deleted/missing segments (Fix)
We now do not generate segment_exit events for missing/deleted segments.
- update library dependencies (New)
We've updated our library dependencies to take advantage of the latest bugfixes & enhancements.
- Remove deleted queries from persisted state (New)
We now detect & delete queries & segments that have been deleted/disabled from the dashboard.
- Add date support to EventProperties (New)
In older SDKs a developer had to manually format a datetime object to a String (in ISO 9601), we've added date support for EventProperties so that this will happen automatically.
- Add appnexus support to add permutive targeting (New)
We've added preliminary support for ad targeting using the AppNexus SDK with our new appnexus addon library.
- Add OS/Script/App info to error reports (New)
When we report an error to our endpoints we now include additional information to help us diagnose issues: The operating system version, the segmentation queries version that is being executed as well as information on the Application (version & identifier).
- Limit deferred functions upon startup(New)
While the SDK is initialising, we defer execution of public function calls until this has completed. This was previously unlimited, we have put in a cap so that this does not become unbounded.
- Add pagetracking API & deprecate context APIs(New)
The PageTracker API gives support for Pageview and PageviewEngagementAggregate events. The page's context (url/title/referrer) are now tied to a Page, rather than a global Permutive setting. Using the PageTracker API will allow for better reporting & better visibility of engagement on the Android SDK.
As a result, we would recommend using PageTracker rather than EventTracker for page related events. As a general rule: if an event has a url/title/referrer - it should probably be tracked by the PageTracker object. The global context methods setTitle/setUrl/setReferrer are now deprecated as a result, and we have stopped persisting these values.
- Fix illegal state in db when reading (Fix)
A small percentage (around 0.5%) of users have reported an IllegalStateException under certain circumstances. Previously we would halt segmentation & disable the SDK for these users, for 1.4.0 we have a fix so that this will no longer happen.
- Fix regex matching when disabling (Fix)
We have made our regular expression matching more straightforward in the event that we have to disable a deployment.
- Fix consumer proguard typo (Fix)
Some setups of proguard have stripped away functions that we are using internally. Although we had a @Keep clause on the function, it is still possible that it can be stripped away. We have updated our consumer-proguard so that this is fixed.
- fix issue when migrating from older versions
Upgrading from older versions of this SDK can result in a migration issue, we recommend using version 1.3.1 which has a fix for this issue.
- Add ability to remotely disable by application, os, or sdk version (New)
- Remove dependency on core library for google ads library (New)
- Add third party data usage reporting support (New)
- Make engine events session_id & user_id optional (Fix)
- Fix stack size issue for Dalvik VMs (Fix)
Segmentation may not occur for OSes using Dalvik VMs, we recommend using version 1.2.0 which has a fix for this issue.
- Use Rhino as the js engine (New)
- Non-beta release of the Android SDK
- Correctly handle date time when the format is incorrect (Fix)
- Reduce memory overhead for db so that it performs well on low end systems (Fix)
- Only update event server time when posting events (Fix)