Android release notes

Android release notes

Wednesday, October 18, 2017 - 15:00 Download

New in this release

  • 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've also updated the document that describes how to query handled exception events from Insights: Insights query examples for New Relic Mobile provides useful queries for examining handled exception event data. Apps that use Proguard or Dexguard may have to make adjustments to their Proguard configuration to preserve all exception information. Please review Configure ProGuard or DexGuard for Android Apps for more details.
  • Added support for automatic instrumentation when using Android Gradle plugin version 3 (used by Android Studio 3).

Fixed in this release

  • HttpURLConnection requests now return the correct status codes in MobileRequest events
  • Report carrier type as 'Unknown' if a valid carrier type can not be determined
  • Restore instrumentation of Android support classes (missing since version 5.13.0)
Monday, October 2, 2017 - 15:00

This release has been removed due to deployment issues with Jcenter. Please use release version 5.15.1 instead.

### New in this release

  • 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've also updated the document that describes how to query handled exception events from Insights: Insights query examples for New Relic Mobile provides useful queries for examining handled exception event data. Apps that use Proguard or Dexguard may have to make adjustments to their Proguard configuration to preserve all exception information. Please review Configure ProGuard or DexGuard for Android Apps for more details.
  • Added support for automatic instrumentation when using Android Gradle plugin version 3 (used by Android Studio 3).

### Fixed in this release

  • HttpURLConnection requests now return the correct status codes in MobileRequest events
  • Report carrier type as 'Unknown' if a valid carrier type can not be determined
  • Restore instrumentation of Android support classes (missing since version 5.13.0)
Wednesday, June 14, 2017 - 15:00 Download

New in this release

  • The agent now reports network request events to Insights! This feature must be enabled when starting the agent using the NetworkRequests FeatureFlag. When enabled all network calls will be tracked, in addition to network errors.

    We've also added a new document that describes how to query network events from Insights. Mobile Request Query Examples provides useful queries for examining network request event data.

Fixed in this release

  • Ensure there is no shared activity history state between launched sessions.
Wednesday, May 10, 2017 - 15:00 Download

New in this release

  • Added a new MobileBreadcrumb 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 information.
  • Added an additional recordCustomEvent method that takes the event name as an optional parameter. This avoids the need to add a name attribute in the passed attribute set. See the recordCustomEvent() API docs for more information.
Friday, April 21, 2017 - 13:00 Download

Fixed in this release

  • 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 would be rejected by Insights during ingest. The name may be comprised of alphanumeric, space, ., : or _ characters.
Wednesday, March 29, 2017 - 10:30 Download

Fixed in this release

  • Fix instrumentation failure when using Dexguard, Retrolambda and build product flavors.
Thursday, March 23, 2017 - 14:30 Download

Fixed in this release

  • 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 without a content length header will report -1 for content length.
Wednesday, March 8, 2017 - 14:30 Download

New in this release

Updates to recording custom events

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" event type (category='Custom'). This release includes a new method to be used for adding custom events: recordCustomEvent. The previously used method for this, recordEvent, is now deprecated. This update is to satisfy customer requests for:

  • Improved Insights query performance
  • Defining your own custom event names
  • Finding custom events in Insights more easily
  • Flexibility to define data retention per custom event type (1 day default; more with Insights Pro)

For this and the next several releases, we will continue to support the previous method for custom events (recordEvent) to avoid impact on your queries and existing dashboards.

Fixed in this release

  • Ignore BaseFragmentActivityGingerbread base class when auto-instrumenting activities.
Tuesday, February 28, 2017 - 10:30 Download

New in this release

Adds recording of network request error events

The agent now generates MobileRequestError 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 found at Mobile Request Error Events.

Adds additional session attributes

  • lastInteraction allows you to see in Insights, what the most common exit screen was for customers across all sessions or a filtered selection of sessions.
  • appBuild allow developers to view the adoption of a new build, particularly if rolled out under an existing app version number. Originally, this was only available on crash events.
  • architecture and runTime allow you to see the hardware type and Java runtime version the of the device on which the app is running. Both values are taken form the device's system properties, and are useful for debugging device-specific issues.

Fixed in this release

  • Fix the minimum utilization instrumentation filter

    Slow interaction trace capture relied on an incorrectly interpreted minimum utilization value. In some cases you may see more slow interaction traces than previous agent versions. Please reach out to support if you are not seeing slow interaction traces.
  • Fix crash when using OkHttp 3.2.0 web sockets

    Although the Android agent does not officially support OkHttp versions prior to 3.4, this fix avoids crashes that may occur when including 3rd-party libraries that may depend on those versions of OkHttp.
  • Warn when agent and class rewriter versions do not match

    Instead of halting a build of the application, the agent will warn of this benign scenario. Agent JAR version mismatch sometimes occurs when upgrading to a new agent version.
  • Fix ConcurrentModificationException crash

    This change addresses a rarely seen crash that occurs during agent start-up.
  • Move remaining sampler shutdown to background thread

    This change addresses a lag seen during interaction trace completion.
Thursday, January 12, 2017 - 10:30 Download

New in this release

  • 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 conventions.
    Adding --info or --debug to the Gradle build will result in more detailed logging messages.
  • Replaced Gradle agent plugin POM file missing from Jfrog Bintray artifact repository.
  • Agent and agent plugin are now built using JDK 1.8.
Tuesday, December 6, 2016 - 14:00 Download

New In This Release

  • 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 method for more information.
Tuesday, October 18, 2016 - 14:00 Download

Fixes

  • Fixed content length tracking and reporting failure for Retrofit ResponseBody contents.
Monday, October 3, 2016 - 14:00 Download

Update for OkHttp3 instrumentation

  • 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 requests. OkUrlFactory is also now supported when used with OkHttp3 client.

Fixes

  • Fixed the class cast exception crash when using OkHttp3 web sockets.
Thursday, September 29, 2016 - 10:30 Download

Fixes

  • Addressed a potential crash that could occur when using OkHttp3 with both interceptors and caching.
Monday, September 26, 2016 - 16:00 Download

New in this release

  • Add support for OkHttp3 instrumentation
    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 OkHttp3 client.

Fixes

  • Improved interaction reporting
    The app's main activity, not Android SDK subclasses, is now reported as the default interaction.
  • Fixed NPE when reading from instrumented InputStream instances.
  • Fixed unhandled MeasurementException crash in when renaming interactions.
  • Added session attributes missing from crash reports.
Friday, September 2, 2016 - 16:00 Download

Fixed in this release

  • Fixed a hang due to a sampling race condition that occurred when an app's crash was uploaded to New Relic.
Thursday, August 4, 2016 - 16:00 Download

New in this release

  • We are pleased to announce support for Dexguard.
    • Full build time compatibility with Dexguard version 7.2.04 or higher
    • Full instrumentation support​
    • De-obfuscated crash report​ stack traces​

Fixes

  • The New Relic Gradle plugin depends on the Android application or library plugin having been installed first. The New Relic plugin now throws a Gradle runtime exception, which includes instructions on how to fix the problem, if it is applied before Android.
  • Interaction trace completion was blocked on the sampling tasks running during the interaction. Any running sample tasks are stopped immediately when the interaction trace completes.

Changes

  • The Android agent now requires Proguard version 5.0 or higher for Proguard support
Tuesday, May 31, 2016 - 14:00 Download

Fixes

  • 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 attempting to determine the root cause of an unhandled exception.
  • Fixes very rare crashes when OkHttp2 returns a null Response object following a network request.
Wednesday, May 4, 2016 - 15:00 Download

Improvements

  • Improved OkHttp2 error reporting

    A set of OkHttp2 request exceptions, previously listed as Unknown errors, have been adapted to reportable error types.
  • Reduce upload attempts for cached crash reports

    Crash reports that are collected, but cannot be immediately uploaded, are saved locally. Saved crashes are uploaded to the crash collectors as part of agent initialization, and if the upload was successful, the local copy is removed. Otherwise, the upload is tried again the next time the app is launched, and this would go on until the upload was successful. To limit accumulation, and reduce old or duplicated crash reports, the agent now limits retries to three attempts.

Fixes

  • Fixes crash when initializing JsonArray instances with null values. Throws JSONException if the passed JSON string argument is null.
  • Fixes certain crashes resulting from NoClassDefFoundError exceptions thrown by multi-dexed apps compiled for Dalvik on platforms prior to Lollipop (Android 5.0, API level 21).
Tuesday, March 8, 2016 - 10:15 Download

Improvements

This release adds a new feature flag, DefaultInteractions, that controls whether automatically instrumented (default) interactions are collected by the agent. With auto-instrumented interactions disabled, only custom interactions (interactions created through the public New Relic agent API) will be recorded. This flag is enabled by default, and is disabled by calling

NewRelic.disableFeature(FeatureFlag.DefaultInteractions);

Fixes

  • Fixes a problem reading a response body in asynchronous network requests via OkHttp, which was introduced by version 5.4.1.

Pages