New in this release
Improved attribute validation
The agent will no longer reject events containing invalid attributes. Attributes that fail basic event validation are pruned from the map of provided event attributes. We've also corrected an event creation error where attribute maps containing null
keys would result in events with a subset of passed attributes.
This applies to attributes passed torecordCustomEvent()
, recordEvent()
and recordBreadCrumb()
API methods.
Map uploads are now compressed by default
To disable compressed uploads, add the following to the newrelic.properties
:
com.newrelic.compressed_uploads=false
Fixed in this release
- Fixes the
java.lang.LinkageError
runtime crash when instrumenting OkHttp 4.9 - Fixed
IllegalArgumentException
thrown during builds when the agent inspects classes compiled with JDK 9 and higher. Classes compiled with JDK 9 through JDK 11 are now inspected for instrumentation
Fixed in this release
- Fixed MissingPropertyException thrown by
newRelicInstrumentTask
when building with Android Gradle Plugin 2.x
New in this release
Enhanced the New Relic Gradle plugin's build-time reporting of ProGuard/DexGuard maps
- Maps will only be reported during select variant builds (i.e., Release)
- Build variants are assigned unique build IDs
- Maps can be compressed prior to upload
Please refer to Android agent crash reporting for more detail regarding these features. These features are configurable through the New Relic Gradle Plugin extension and existing newrelic.properties
.
Fixed in this release
- Fixed build errors that occur when older (pre-3.0) versions of the Android Gradle Plugin is used
- Fixed 'IllegalStateException' crash that resulted when header queries were made to failed HttpsUrlConnection requests
New in this release
- Updated for Android Gradle Plugin 4.0
- See the Android compatibility matrix here
Fixed in this release
- Missing O/S versions for Android 9 and above are now reported as
undefined
- O/S major versions that were reported as empty string are no longer recorded if the agent is unable to determine a value
- OkHttp2 and OkHttp3 requests are now reporting
bytesSent
in HttpRequests, when available - Interaction counts reported as zero are now recorded with the correct value
Fixed in this release
- Fixed additional incompatibilities with DexGuard and AGP 3.6
- Fixed automatic map uploads for some variants types, broken in the previous hotfix (our apologies)
Fixed in this release
- Fixed detection of DexGuard-generated mapping.txt files ("mappingFile is null")
- Update OkHttp request transaction state when interceptors are used
- Improved visibility into obfuscation map uploads. Users can invoke the Gradle task newRelicMapUpload{Variant} (newRelicDexguardMapUpload{Variant} for DexGuard) to resend tagged obfuscation maps. {Variant} is dependent on configuration.
- Toned-down plugin debugging messages inadvertently emitted as errors
New in this release
- Adds support for Android Gradle Plugin (AGP) version 3.6. AGP 3.6 requires version 5.25.0 of the New Relic agent. Previous agent versions are not supported with 3.6.
- Apache HttpClient instrumentation is deprecated
Fixed in this release
- Fix unhandled exception when closing a Cronet HttpUrlConnection on error conditions
- Fixed OkHttp2/Retrofit crash when reading error response bodies
- Better content length/bytes received reporting for OkHttp2 and OkHttp3
Known issues
The New Relic agent may not correctly detect the 'mapping.txt' file using Dexguard and AGP 3.6. We are looking into the issue.
Fixed in this release
- The agent now uploads mapping.txt files to New Relic when bundle tasks are used with Dexguard.
Fixed in this release
- Fixed a harvest error that occurred when the sum of all activity traces exceeded the default limit (64k characters), and filtering removed all traces.
- Fixed a set of DEX failures that emerged when JSONObject(String) and JSONArray(String) invocations were instrumented. Unfortunately, the time spent in instance construction can no longer be reported as a result of the change.
Fixed in this release
- Clear up duplicate reporting of device data
- Address a build failure when instrumenting apps using Gson 2.8.6
- Exclude additional 3rd party packages from instrumentation (to address a D8 crash)