Java release notes

Wednesday, January 27, 2021 - 13:53 Download

New Features and Improvements:

  • Spring Webflux/Netty Reactor instrumentation improvements for enhanced tracing across asynchronous thread hops.
  • Infinite tracing will now utilize a backoff sequence on retries.
  • New distributed tracing APIs have been added to better support general use cases for propagating distributed tracing headers. In particular the new APIs provide enhanced support for W3C Trace Context but are flexible enough to support other header protocols that may be supported by the agent in the future. Previous distributed tracing APIs have been deprecated and are subject to removal in a future agent release. See documentation here.

Fixes:

  • Updated the Java agent’s snakeyaml dependency to 1.27.
  • In some environments the jar collector service could lead to high CPU utilization at application startup. The agent now provides a configurable rate limiter, with a reasonable default, for processing jars detected in the application’s environment. See documentation here.

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 4.10.0.
Thursday, December 17, 2020 - 14:33 Download

Improvements

  • Spring Webflux
    • The Java agent now supports Spring Webflux versions 5.3+
    • Added reactor-netty.errors.enabled configuration to allow disabling error reporting in Subscriber::onError.
  • Scala 2.13
    • The Java agent now provides support for Scala 2.13 and frameworks compiled with 2.13 Akka-http, Play

Fixes

  • The netty-4.0.8 instrumentation would sometimes not start a Transaction on channelRead, potentially affecting instrumentation dependent on it including: Spring, Akka and Play
  • Updated the Java agent’s Apache HttpClient dependency to 5.13
  • Spring Webclient could report the wrong URL when multiple HTTP calls to several URLs occurred in parallel
Tuesday, November 17, 2020 - 13:19 Download

Fixes

  • Fixes an issue where Spring-Webflux applications with endpoints returning Flux or empty content could become unresponsive
Tuesday, November 10, 2020 - 12:58 Download

New features

    return serviceA.getData()
                .map(service -> Response.builder().service(service).build())
                .flatMap(serviceB::getData)
                .flatMap(serviceC::getData)
                .doOnNext(this::saveResponse);

Improvements

Fixes

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 4.8.0.
Wednesday, September 30, 2020 - 15:51 Download

Improvements

Java 15

  • The New Relic Java agent is now fully compatible with version 15 of the OpenJDK and Hotspot JDKs.

APIs

Fixes

Notes

  • The Java agent now includes the newrelic.com SSL certificate. In previous agent versions, applications using a custom Truststore would have to provide their certificate or use the use_private_ssl configuration which was removed in 6.0.0.

  • Fixed an issue where applications could fail to start due to the agent attempting to access the JMX MBean server before it was initialized.

Wednesday, August 26, 2020 - 12:04 Download

Improvements

Fixes

Note re: certificate bundle use_private_ssl

This release removed the certificate bundle from the agent artifact. Users previously using use_private_ssl should now use the ca_bundle_path configuration directive. For more information, see the Java v6.0.0 release on GitHub.

Monday, July 27, 2020 - 15:05 Download

Improvements

  • Agent Extensions The Java agent now provides a configuration to disable reloading extensions during runtime. extensions: reload_modified: false
  • Spring Webflux The Java agent now provides updated instrumentation for reactor-netty-0.8.0+ to link the Transaction across threads. In previous agent versions, Transactions would be named /NettyDispatcher.

  • Logging format To make the agent log easier to sort and read across locales, the date/time format has changed. The new format is log4j's ISO8610_OFFSET_DATE_TIME_HHMM and it is rendered like this in all locales:

    2020-07-10T08:33:00,328-0700 [9550 1] com.newrelic INFO: New Relic Agent: Loading configuration file "lib/./newrelic.yml"

    2020-07-10T08:33:00,423-0700 [9550 1] com.newrelic INFO: Using default collector host: collector.newrelic.com

    All other data on the log line remains the same.

Fixes

  • Solr instrumentation could throw a NullPointerException when Query.toString() returned null.
Tuesday, June 16, 2020 - 15:05 Download

Improvements

  • Distributed tracing: With distributed tracing spans and/or Infinite Tracing, the Java agent will now incorporate additional information from the transaction event on to the root span event of the transaction.

  • New TracedMethod.addCustomAttribute(...) APIs have been added for adding attributes directly to spans.

    Note: Any attribute include or exclude settings specific to transaction events should be applied to your span attributes configuration or your global attributes configuration.

  • The Java agent now uses AWS's IMDS v2 to gather instance information.

Fixes

  • Jetty JMX metrics would not report when running embedded in Spring Boot.
  • Local configuration settings could revert to the default following an agent reconnect.
Friday, May 15, 2020 - 16:42 Download

Notes

Bug fixes

This is a patch release that resolves an issue in 5.12.0. With distributed tracing enabled and Infinite Tracing disabled, a defect in version 5.12.0 causes spans to be omitted from distributed traces.

Any customers currently on 5.12.0 are strongly encouraged to upgrade to this 5.12.1 patch release.

Tuesday, May 5, 2020 - 14:26

New Features

Added support for Infinite Tracing on New Relic Edge.

Infinite Tracing observes 100% of your distributed tr