Add support for passing Throwable types to NewRelic.recordHandledException()
Resolved an error when transforming some libraries during build time. Detailed message: transformArchive: java.util.zip.ZipException: duplicate entry: META-INF/MANIFEST.MF. Resolved a 'java.lang.NoCl…
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 missin…
Deprecated SDK location support, and removed geolocation listener from agent
This release is invalid and should not be used. Please use Android agent version 6.3.1.
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 war…
Add suppport for Android Gradle plugin (AGP) version 7.0. Update instrumentation support level to JDK 11
In consideration of customers still dependent on Android 5.0, we've reverted the minimum supported SDK level (minSdkVersion) from 24 to 21.
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 IDs. Maps can be compressed prior to upload
Updated for Android Gradle Plugin 4.0. See the Android compatibility matrix here
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 detection of DexGuard-generated mapping.txt files (""). Update OkHttp request transaction state when interceptors are used. Improved visibility into obfuscation map uploads. Users can invoke the…
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 …
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 JSO…
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)
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.0. Dependency JARs using signature validation are detected during instrumenta…
Fixes build failure when Kotlin extensions are used. Eliminates 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 files. Removes unnecessary Proguard map file processing task
Add support for the upcoming Android D8/R8 toolset. Discontinue the New Relic Maven plugin. Disable 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 …
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 f…
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 respons…
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 conventi…
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 support. De-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 att…
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 OkHttp. The 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.ClassCastException. Resolves a crashing java.lang…
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 i…
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 attr…
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 library. Corrects a potential ConcurrentModificationException…
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+) librari…
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 recor…
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 …
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.…
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 a…
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 automatic…
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 A…
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 …
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 …
Now you can add New Relic to your Gradle builds. Android Studio support via Gradle/Maven
Eclipse plugin support. Maven Sonatype repository. Simplified 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