Fixed in this release
- Update ASM API level for all classes to fix a build error indicating:
java.lang.UnsupportedOperationException: This feature requires ASM7
when running on JDK 11 and Gradle 7+ - Emit log messages to warning while processing some unsupported classes due to an incompatibility with our bytecode injection library, further investigation needed
- Add exception handling to address
NoSuchMethodError
runtime crash on certain Android devices
Support statement:
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 5.23.0.
New in this release
- Add suppport for Android Gradle plugin (AGP) version 7.0
- Update instrumentation support level to JDK 11
Fixed in this release
- Replace
Map.putIfAsent()
method reference that caused runtime crashes when using compileSDK< 24
- Remove any remaining location listener when app goes to background
- Fix OkHttp interceptor failure when updating the URL of Retrofit POST requests
Support statement:
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 5.23.0.
Importante
We have noticed that this version has issues running on devices with API levels below 24.
This will be fixed in the upcoming release. In the meantime we suggest you revert to version 6.0.0 (or upgrade compileSDK to 24).
New in this release
In consideration of customers still dependent on Android 5.0, we've reverted the minimum supported SDK level (minSdkVersion) from 24 to 21.
Fixed in this release
Agent version 6.0.0 introduced changes to the way the agent processes crashes at runtime. Deferred crash reporting is now the default crash reporting behavior, in which case crash reports are recorded when they occur, but not uploaded until the next application launch. This agent release:
- fixes a race condition with deferred crash reporting that resulted in dropped crashes.
- corrects the inadvertently deprectated
NewRelic.withCrashReportingEnabled(boolean)
API method.
Resolve D8 crash caused by incomplete instrumentation of AsyncTask implementations.
Correct misleading logging messages generated when Http/HttpsUrlConnections are are instrumented for Distributed Tracing.
Support statement:
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 5.23.0.
Welcome to the New Relic Android agent version 6.0. This major release breaks compatibility with older 2.x and early 3.x versions of the Android Gradle Plugin (AGP).
New in this release
Adds Distributed Tracing support
The agent will now add Distributed Tracing headers to instrumented network requests. This feature is enabled by default, but can be disabled through the DistributedTracing
feature flag.
Refer to How New Relic distributed tracing works for more information on Distributed Tracing in mobile apps.
Exclude variants from instrumentation
Variant builds can now be selectively excluded from instrumentation during builds. Build types or product flavors are excluded through the New Relic Gradle plugin extension:
newrelic { // do not instrument these build variants excludeVariantInstrumentation("debug", "chocolateRelease")}
Updated requirements
The minimum supported SDK level (minSdkVersion) is now 24 (Android 7.0) The minimum supported Android Gradle plugin version is now 3.4 using Gradle 5.1.1 or higher.
Fixed in this release
Bluetooth and ethernet connections are now correctly identified.
Fix build crash involving manifestPlaceholder replacement when used with AGP 4.1.
Remove unused compile dependency on the
support-v4
Android support library .
Support statement:
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 5.22.1.
Fixed in this release
- Crash reports uploads are sent immediately for wired connections (i.e., AndroidTV). Previously, crashes were deferred until the first harvest of the next app launch.
Android Gradle Plugin Support
- This will be the last version of the Android agent to support versions 2.+ of the Android Gradle Plugin.
Support statement:
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 5.21.3.
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