SDK Release Notes

This section describes the new features and enhancements in each release:
dxaxa191
This section describes the new features and enhancements in each release:
Enhancement to the Encryption and Decryption Model
The Encryption and Decryption model for the payloads in the earlier versions of SDK was a combination of Asymmetric (RSA) and Symmetric (AES 256) encryption. During the data collection, every event is encrypted and persisted in an encrypted format in the local sqlite. This approach is secure. However, asymmetric RSA decryption of every symmetric key slowed the performance.This old approach is used:
  • By older versions of the SDKs irrespective of the Collector server version.
  • If the Collector responds with a Server response header below 1810 (inclusive).
The Encryption/Decryption model is enhanced to use AES 256 global symmetric key encryption and does not use the Asymmetric Encryption (RSA) model. With this new approach, performance of encryption on SDKs and backend decryption service is improved.
Dropped Support for watchOS and tvOS
Starting this release, the SDK zip does not include the watchOS and tvOS libraries.
Android and iOS
Added Support to Mask IP Address or Drop IP Address
You can now mask the IP address in the Kibana dashboards. When the IP address is masked, the last two octets in the IP address are displayed as zero. For example, if the IP address is 10.2.3.4, the masked IP address is displayed as 10.2.0.0.You can also drop the IP address from being displayed in the Kibana dashboards.To enable masking or dropping of the IP addresses, contact the
Broadcom
Support
.
Dropping IP address takes precedence over masking IP address.
Version File Added to SDK Archive
A version file has been added to the SDK archive that contains the version number, date, and changes.
Android
Added Support for Metadata Properties
You can configure the following metadata properties:
  • AXACollectIp:
    Use this property to mask the IP address.
  • AXACLLocationLevel:
    Use this property to scramble the location.
  • AXADisableAutoTransactionInfo:
    Use this property to enable or disable sending APM headers for auto transactions.
You must add these properties to the
AndroidManifest.xml
before you wrap your app with DX App Experience Analytics. These AndroidManifest application meta-data properties can override the default behavior of the DX App Experience Analytics Android SDK.For more information, see the
Android Custom APIs
section.
Wrapping Using Gradle Improved
To increase the Android performance, the Gradle wrapping has been improved.
Android Public Key Updated
The byte[] comparison is working properly and is now pinning the Android Public Key..
Event Notifications
Android to provide notification, ability to register a broadcast receiver to the app when events are uploaded.
SDK Activation
When a Service Bind request is made, the SDK is activated.
CaMDOIntegration.setCustomerId() File Added
The integration file is moved to the last dex, with an SDK patch that is implemented to avoid the packaging error.
Wrapper Changes
The wrapper accepts both Fine and Course location access.
Wrapper Script Updated
The wrapper script is updated to prevent crashes in Android 4.4 (KitKat) and earlier.
Android Service Calls
Application calls to service APIs (bindService, startService, and stopService) no longer fails when a properly initialized component is missing.
iOS
Added Support for Metadata Properties
You can the following metadata properties to the
info.plist
file:
  • AXACollectIp:
    Use this property to mask the IP address.
  • AXACLLocationLevel:
    Use this property to scramble the location.
For more information, see the
iOS Custom APIs
section.
Privacy Overrides - Disable Collection of the IP Address
You can now disable collection of the IP address by configuring the
AXACollectIp
key in the info.plist file. When you set the value to False, the IP address is not captured and is displayed as private.
For example, in the info.plist file for the application, introduce the following entry:
<key>AXACollectIp</key><false/>
Privacy Overrides - Location Level Control
You can control the location granularity using the info.plist key
AXACLLocationLevel.
This key accepts the following location levels:
  • NearestTenMeters
  • HundredMeters
  • Kilometer
  • ThreeKilometers
For example, in the
info.plist
file for the application, introduce the following entry:
<key>AXACLLocationLevel</key><string>HundredMeters</string>
Fixed Issues
SDK Sends Empty URLs As Part of Network Traces
When the URL key is empty in Webviews or Cordova, the SDK collected empty URLs as a network event. This is now fixed to skip the empty URLs.
App Does Not Crash When Network Connection Changes
Prior to this roll out, whenever network changed from Wi-Fi to cellular or vice versa in a device in short sub second time, SDK did not receive the network information and processing that resulted in crash. This is now fixed.