Fixed in this release
- Resolved D8/R8 warning messages: Expected stack map table for method with non-linear control flow.
- Fixed crash caused by
NoSuchMethodError
that occurred on Android 5 and 6. - Reverted the fix for missing Retrofit2/OkHttp3
bytesReceived
and error response body results to prevent memory leaking.
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.24.0.
New in this release
- Deprecated SDK location support, and removed geolocation listener from agent.
Fixed in this release
- Resolved missing Retrofit2/OkHttp3 'bytesReceived' and error response body results
- Fixed single/orphan Distributed Tracing spans resulting from malformed trace parent HTTP header
- Resolved missing OkHttp3 response bodies that made the agent incompatible with Mapquest
- Resolved Gradle 7 execution optimization warnings due to the agent plugin's failure to declare an explicit or implicit dependency.
- Removed erroneous Kotlin UnknownTaskException log warning
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.
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.
Important
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