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).
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.
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 cr…
Fixed MissingPropertyException thrown by newRelicInstrumentTask when building with Android Gradle Plugin 2.x
Maps will only be reported during select variant builds (i.e., Release)Build variants are assigned unique build IDsMaps can be compressed prior to upload
Updated for Android Gradle Plugin 4.0See the Android compatibility matrix here
Fixed additional incompatibilities with DexGuard and AGP 3.6Fixed automatic map uploads for some variants types, broken in the previous hotfix (our apologies)
Fixed detection of DexGuard-generated mapping.txt files ("")Update OkHttp request transaction state when interceptors are usedImproved visibility into obfuscation map uploads. Users can invoke the Gra…
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 i…
The agent now uploads files to New Relic when tasks are used with Dexguard.
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 JSON…
Clear up duplicate reporting of device dataAddress a build failure when instrumenting apps using Gson 2.8.6Exclude additional 3rd party packages from instrumentation (to address a D8 crash)
Updated instrumentation to include Fragment and Activity classes derived from androidx support packages.Updated 3rd party licenses information.
Refactored New Relic Agent plugin to conform to Gradle 5
Fixes an issue that caused lock contention on the main thread when an Activity or Fragment started during harvest.
Updated instrumentation support for OkHttp to version 3.12.0Minimum supported versions are now OkHttp 3.5.0, and OkIO 1.11.0Dependency JARs using signature validation are detected during instrumentati…
Fixes build failure when Kotlin extensions are usedEliminates a race condition that could result in ANR in apps that make many concurrent network requests
Corrects a condition where a Gradle task would block when uploading Proguard/Dexguard map files
Corrects a problem detecting R8-generated map filesRemoves unnecessary Proguard map file processing task
Add support for the upcoming Android D8/R8 toolsetDiscontinue the New Relic Maven pluginDisable CPU sampling for apps running on Android 8 and higher
Support for the Maven plugin is now deprecated, and will be removed in version 5.21.0.The minimum supported SDK level (minSdkVersion) is now 14 (Android 4.0)
Fixes NoClassDefFoundError crash due to missing Apache classes for apps targeting Android 9 (SDK versions or 28 ). This release is only needed by apps that target SDK 28 or higher.
The agent will now recognize region-specific application tokens.
Fixed problem reading from the error stream of instrumented Http/HttpsUrlConnection requests.Fixed problems uploading Proguard/Dexguard mapping.txt files.Eliminated a delay in shutting down the app wh…
Addressed potential ANR at launch when an app has the Firebase performance monitoring SDK also running.
Fixed instrumentation failures introduced in the 5.17.0 release.Corrected a hang during instant app shutdown that could occur during a crash.
Fixed trace instrumentation crash introduced in 5.17.0 release.
The agent now detects and instruments all feature modules for an instant app. Because instant apps are typically side-loaded, users must add NewRelic.start() calls to each entry point activity in the…
MobileRequestError events now contain the response body returned in the network request response, if one exists. Response bodies will only be reported if the withHttpResponseBodyCaptureEnabled feature…
The NetworkRequests feature flag is now enabled by default. The feature can still be disabled (and re-enabled) at any time if the additional MobileRequest events are not needed.Added a feature flag fo…
The agent has added API methods to report handled exception events to Insights! Details and examples of how to use the new APIs can be found in the Android SDK API document recordHandledException. We'…
This release has been removed due to deployment issues with Jcenter. Please use release version 5.15.1 instead.
The agent now reports network request events to Insights! This feature must be enabled when starting the agent using the FeatureFlag. When enabled all network calls will be tracked, in addition to ne…
Added a new event type that allows you to annotate the execution of your app, to help troubleshoot crashes and provide greater detail in Insights. See the recordBreadcrumb() API docs for more informa…
Validate custom event type names with the same rules as the backend service, reporting invalid event types to the user immediately. Previous agent versions would allow custom event type names that wou…
Fix instrumentation failure when using Dexguard, Retrolambda and build product flavors.
Fix a null pointer exception crash that occurred during completion of activity traces.Optimize updates to the analytics attribute store.OkHttp3 responses are no longer pre-buffered. Streamed responses…
With this agent release, Mobile custom events are now recorded as their own event type in New Relic Insights. Until this release, custom events for New Relic Mobile were bundled under the "Mobile" eve…
The agent now generates events describing failures in network requests. This new event tracks networking and HTTP errors, and includes attributes for common request properties. More details can be fo…
Fixed instrumentation failures that occurred when building apps that used both Dexguard and the Android Retrolambda plugin.Updated agent logging to remove noise and conform to Gradle logging conventio…
Starting with this version of the SDK, you can set a custom user identifier value that can be used to associate user sessions with analytics events and attributes. Check out the NewRelic.setUserId met…
Fixed content length tracking and reporting failure for Retrofit ResponseBody contents.
This release updates OkHttp3 instrumentation. OkHttp3 instrumentation is the automatic instrumentation for apps using the OkHttp version 3 HTTP client library for synchronous and asynchronous network …
Addressed a potential crash that could occur when using OkHttp3 with both interceptors and caching.
This release adds automatic instrumentation for apps using the OkHttp version 3 HTTP client library for synchronous and asynchronous network requests. OkUrlFactory is also now supported when used with…
Fixed a hang due to a sampling race condition that occurred when an app's crash was uploaded to New Relic.
We are pleased to announce support for Dexguard.Full build time compatibility with Full instrumentation supportDe-obfuscated crash report stack traces
Fixes crashes when initializing JsonObject instances with null values. The class constructor now throws a JSONException if the passed JSON string argument is null.Fixes crashes that resulted from atte…
A set of OkHttp2 request exceptions, previously listed as errors, have been adapted to reportable error types.Crash reports that are collected, but cannot be immediately uploaded, are saved locally. …
This release adds a new feature flag, , that controls whether automatically instrumented (default) interactions are collected by the agent. With auto-instrumented interactions disabled, only custom in…
Prevent duplication of the New Relic HTTP header used for cross application tracing ('X-NewRelic-Id') if the request is replayed through OkHttpThe agent will now send the HTTP header 'X-NewRelic-Id' (…
Interaction tracing can now be globally disabled with the new API method, NewRelic.withInteractionTracing(boolean). This method should be called prior to starting the agent, but it can be changed any …
This release adds two new Insights attributes for the upcoming Mobile Version Trends Report : install, and upgradeFrom. This allows tracking when a session includes a new install or a new upgrade. The…
Android Gradle plugin 1.4 compatibility (1.4.0-beta6)Google is working to improve the build system within Android Developer Toolkit (ADT) and as of version 1.4.0-beta2 a change was made that breaks co…
Retrofit compatibility - this release of the Android SDK adds support for the current beta version of the Retrofit library (2.0.0-beta2) and addresses a crash that may have occurred previously when ma…
This release adds a new API method withApplicationBuild(String build) which replaces the now deprecated method, withBuildIdentifier(String build). The functionality remains the same, allowing the appl…
Fixes a crash that occurred when attempting to cast the result of OkHttpFactory.open() to a javax.net.ssl.HttpsURLConnection, resulting in a java.lang.ClassCastExceptionResolves a crashing java.lang.N…
The SDK now tracks the number and duration of network requests per interaction, which will be used in upcoming features.Deprecates the NewRelic.shutdown() method, which will be removed from the API in…
Resolves an issue where the connection type used by the app may have been incorrectly reported.
Resolves a compatibility issue that may occur when running apps on Android M preview.
The Android SDK will now collect an app build identifier when an app crashes, which will be displayed in parentheses beside the version number in the Crash Details page in RPM. This value defaults to …
Fixes a crash resulting from empty body responses when using version 1.9 of the Retrofit library.Corrects an internal issue with reserved attribute names. 'interactionDuration' is now a reserved attri…
Corrects an issue where the timeSinceLoad attribute may not have been sent for Insights Events.
This release introduces Insights for New Relic Mobile.
Addresses an issue that could cause a null pointer exception when an empty response body was received using older versions of the Retrofit libraryCorrects a potential ConcurrentModificationException d…
This release adds instrumentation for versions 2.1+ of Square's OkHttp library. 1.x versions continue to be supported.This release also adds support for the Retrofit (1.8+) and Picasso (2.4+) librarie…
A custom application version can now be set using the new method NewRelic.withApplicationVersion(String appVersion)Added the method NewRelic.recordMetric(String name, String category) to allow recordi…
Improved instrumentation of the OkHttp library v1.6 to include support for OkURLFactory
Addresses an issue that may have caused an upgraded application to continue reporting the older version of the application to New Relic.Corrects a potential RuntimeException when the HEAD method was u…
You can now disable the capture of the HTTP response body for requests by calling NewRelic.disableFeature(FeatureFlag.HttpResponseBodyCapture).You can now disable crash reporting by calling NewRelic.d…
Resolves a crash in InputStream instrumentation when chunked transfer encoding is used.Custom interaction names, when specified, are now used in Crash interaction history trails.
Corrects an issue where the agent may crash under certain concurrent access of instrumented InputStream implementations.Corrects an issue where a thread pool was not properly getting destroyed upon ap…
This release introduces crash reporting for mobile apps. Crash reporting supports capture and reporting of unhandled Java runtime exceptions.Crashes include interaction trails: a history of automatica…
New Gradle PluginWe've rewritten the New Relic Gradle plugin from the ground up to impose a smaller footprint on your build and improve compatibility with the new Gradle Daemon.
Naming changes to Interaction TracesWe've changed the naming scheme for Interaction Traces to be more clear. Instead of "ActivityClass#onCreate", you'll see "Display ActivityClass". If you want to cha…
API methods now check for bad values and throw IllegalArgumentExceptionPreviously, our API methods would silently discard bad data without recording errors or metrics. We've changed this behavior to b…
CPU vitals in Interaction traces.We've added CPU vitals in interaction traces. You'll now be able to see your application's usage of the device's CPU(s) as a percentage of the total CPU time.
Better auto-naming support for Fragments.Previously, separating fragments from the calling Activity required renaming the running interaction. Now, Fragments have first class treatment and will show u…
Ensure interactions complete when an app leaves the foreground.Previously, it was possible for an interaction to persist across application foreground/background lifecycles if a trace segment was stil…
New API methods for adding cross application tracing headers to noticeHttpTransaction().In case the New Relic agent doesn't support the HTTP API you're using, you can manually submit a transaction via…
New API method for configuring logging verbosity.You can now choose how verbose the agent will be at boot by chaining withLogLevel() before your NewRelic start() call. The default level is INFO.New AP…
Call checkcast before invoking NR instrumentation.This fixes an issue where the Dalvik VM refuses to load a class with our instrumentation in cases where the inbound object is not the expected type as…
End to end instrumentation for your mobile applications.Automatic instrumentation of important system objects and methods.Customizability to allow for instrumentation of your most important objects an…
Fixed rare bug in Eclipse where all projects are built with New Relic regardless of agent jar presence.
Added support for ProGuard with Ant builds.Clarified naming of unknown carriers on Android
Added support for ProGuard with Ant builds. *Note: Version 2.426.0 of the Android agent already works with ProGuard and other build systems (Gradle, Maven, and Eclipse).
The agent now detects if the app was instrumented properly and displays an error message if otherwise.The Eclipse plugin now refreshes your project after installing/updating New Relic.Improved post in…
Now you can add New Relic to your Gradle buildsAndroid Studio support via Gradle/Maven
Eclipse plugin supportMaven Sonatype repositorySimplified Ant installation
New Relic for Android is now compatible with Android 2.2 (API Level 8)
Improved setup and configuration support, especially on Windows
Happy Pi Day!Welcome to New Relic for Mobile Apps, we're glad to have you aboard.