Skip to content

Releases: newrelic/newrelic-java-agent

Version 9.1.0

12 Feb 15:46
1bd873a

Choose a tag to compare

New features and improvements

  • The Java Hybrid Agent: offering a "best-of-both-worlds" experience by combining New Relic’s deep visibility with OpenTelemetry API compatibility. This release includes comprehensive support for the OpenTelemetry Tracing, Metrics, and Logs APIs, as well as standalone library and native framework instrumentation. Key enhancements like Span Links and Events on Spans are now available, ensuring seamless interoperability in mixed-mode environments.

  • Enhancements to coroutine ignores by @dhilpipre in 2726

  • Add agent metadata action - @mvicknr in 2732, 2745

Fixes

New Contributors

Full Changelog: v9.0.0...v9.1.0

Version 9.0.0

14 Jan 00:45
cfb7b44

Choose a tag to compare

New features and improvements

  • Add config to delete stale agent temp jars on startup by @jtduffy in 2676
  • Add "inclusion" option to compliment the exclude configuration for selectively instrumenting applications @jtduffy in 2638
    • To use this feature, set the environment variable NEW_RELIC_STARTUP_JAVA_ARTIFACT_INCLUDES or system property newrelic.config.startup_java_artifact_includes. Specify the artifacts that should be instrumented as a comma-separated list.

Fixes

  • Resolve IllegalAccessError by moving wrapper class out of S3AsyncClient_Instrumentation by @jtduffy in 2503
  • Fix mislabeled instrumentation version on log events in logback-classic-1.5.20 by @jasonjkeller in 2594
  • Fixed logging message for max attribute value by @jeffalder in 2680
  • Corrected Trace ratio and Probability sampler priorities by @jtduffy in 2583

Removals

Full Changelog: v8.25.0...v9.0.0

v8.25.1

16 Dec 18:39

Choose a tag to compare

Fixes

  • Fixes Kotlin Coroutine error about third party implementation of CancellableContinuation @dhilpipre in 2582

Full Changelog: v8.25.0...v8.25.1

Version 8.25.0

11 Nov 02:44
25046bc

Choose a tag to compare

What's Changed

  • Adds Java 25 Support by @deleonenriqueta in 2512
  • Adds support for Logback-1.5.20 by @jtduffy in 2535
  • Introduces a config option to disable the execution of the call and exec SQL parser regular expressions by @jtduffy in 2490
  • Adds support for Kotlin Coroutines v1.4+ by @dhilpipre in 2454
  • Adds support for Kotlin Coroutines Suspend Functions generated outside of Kotlin Coroutines by @dhilpipre in 2456
  • Introduces a preference config for multiple hosts during datastore detection by @jbedell-newrelic in 2508
  • Adds a system property to configure the artifact skip function by @jtduffy in 2509
  • Adds a configuration option allowing Spring Controller transactions to be named using the controller class name and method name by @sharvath-newrelic in 2532
  • Implement SamplerConfig, centralizing all distributed_tracing.sampler configs into the SamplerConfig by @jasonjkeller in 2529
  • Updated kafka-clients-spans-0.11.0.0 producer instrumentation to use modern distributed tracing API’s with W3C Trace Context support by @sharvath-newrelic in 2516

Fixes

  • Fixes parsing of error class names by @sharvath-newrelic in 2497
  • Fixed a potential memory issue caused by excessively large stack traces in error logging by @jtduffy in 2498
  • Clarify logging messages for invalid attributes on custom events and logging events by @sharvath-newrelic in 2501

Deprecations

The following instrumentation modules are deprecated and will be removed in the next major release.

  • aws-wrap-0.7.0
  • java.completable-future-jdk8
  • play-2.3
  • netty-3.4
  • Struts v1
  • spring-3.0.0
  • thrift-0.8
  • solr-4.0.0
  • solr-5.0.0
  • jdbc-inet-merlia
  • jdbc-inet-oranxo
  • grails-1.3
  • rabbit-amqp-1.7.2
  • rabbit-amqp-2.4.1
  • rabbit-amqp-2.5.0
  • rabbit-amqp-2.7.0
  • glassfish-3
  • hibernate-3.3
  • hibernate-3.5
  • jdbc-jtds

New Contributors

Full Changelog: v8.24.0...v8.25.0

Version 8.24.0

03 Sep 19:16
0d8da28

Choose a tag to compare

What's Changed

Full Changelog: v8.23.0...v8.24.0

Version 8.23.0

12 Aug 15:36
3361c19

Choose a tag to compare

New features and improvements

  • Update to support v24 of graphql by @jtduffy in 2425
  • Add lettuce 6.5 instrumentation by @kanderson250 in 2430
  • Bump commons-lang version to 3.18.0 by @jtduffy in 2421
  • Add lettuce dbName to datastore params where available by @kanderson250 in 2423
  • Add an environment variable to skip implementing certain applications. The environment variable name is NEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPS. The value of it is a comma separated list of main classes, executable jar files or Java based tools/apps that the agent should NOT instrument (e.g. NEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPS=keytool,myapp.jar,IgnoreThisClass) by @jtduffy in 2433

Fixes

  • Fix a bug where SQS messages with 8 attributes are not sent to AWS. SQS messages need less then 8 attributes to pass distributed trace headers by @obenkenobi in 2422
  • Trim the "Subscriptions" bit off the end of the topic name in azure service bus client by @jbedell-newrelic in 2440
  • Fix AutoConfiguredOpenTelemetrySdk config by @jasonjkeller in 2451

Deprecations

The following instrumentation modules are deprecated and will be removed in the next major release:

  • aws-wrap-0.7.0
  • java.completable-future-jdk8
  • play-2.3
  • netty-3.4
  • Struts v1

New Contributors

Full Changelog: v8.22.0...v8.23.0

Version 8.22.0

08 Jul 14:37
b5c9000

Choose a tag to compare

New features and improvements

Fixes

  • Relocate IntelliJ annotations library by @meiao in 2383
  • Support server side sampling_target configuration by @jtduffy in 2386

Deprecations

The following instrumentation modules are deprecated and will be removed in the next major release:

  • aws-wrap-0.7.0
  • java.completable-future-jdk8
  • play-2.3
  • netty-3.4
  • Struts v1

Full Changelog: v8.21.0...v8.22.0

Version 8.21.0

28 May 18:49
4da1fd0

Choose a tag to compare

New features and improvements

  • Enhances visibility into Reactor Mono.flatMap calls by @deleonenriqueta in #2308
  • Adds new instrumentation for Spring-Kafka and distributed tracing when using the core Kafka client library by @obenkenobi in #2312
  • Adds KafkaConsumerConfig event support for Kafka 3.7+ by @nrlkirby in #2358

Fixes

  • Fixes the distributed_tracing.sampler config by @jbedell-newrelic in #2330

  • Fixes an Illegal Access Error that can occur when using Scala 2.12 and JDK 11. In cases where Scala 2.12 is not detectable by the agent (we check the system classloader for this - notably, sbt will load Scala classes into custom Scala loaders), there is also a feature flag to manually enable the fix via system property -Dnewrelic.config.class_transformer.illegal_access_fix=true by @kanderson250 in #2334

  • Fix netty 'Unknown' transactions 2274 2355

    • This fix moves previous netty instrumentation changes behind a feature flag, which provides additional visibility in some cases involving HTTP2 transactions. To reenable this granularity (at the possible cost of seeing ‘Unknown’ transactions), use the config setting:
      netty:
        http2:
          frame_read_listener:
            start_transaction: true
    • 8.20 has a logic error in the agent config so the fix is only official in agent version 8.21 and up.
  • Adds a restriction on when to add distributed trace headers for SQS messages. This is based on how large the contents of a message is in bytes and the and the size of attributes. Messages with size greater than 251 KB and/or with 9 or more attributes are excluded from getting distributed trace headers added by @obenkenobi in #2353

  • Allows the org.crac JAR to be shadowed to prevent conflicts with customer environments. by @jbedell-newrelic in #2344

  • Backports changes made in PR #1927 to prevent NullPointerExceptions to older versions of the vertx-core instrumentation by @jgoulard in #2327

  • Prevents excessive transaction segments from being created by HttpUrlConnection method calls (e.g. getInputStream) when they are not associated with an external call. This behavior can be controlled by the following config options: NEW_RELIC_CLASS_TRANSFORMER_COM_NEWRELIC_INSTRUMENTATION_HTTPURLCONNECTION_VERBOSE=false, sys prop -Dnewrelic.config.class_transformer.com.newrelic.instrumentation.httpurlconnection.verbose=false, or equivalent stanza in newrelic.yml. Default setting is true (i.e. non-external getInputStream and other response handler methods will be reported as before). by @kanderson250 in #2365

Security

  • Upgrades the com.newrelic.agent.java:infinite-tracing-protobuf for better security with infinite tracing by @jtduffy in #2339
  • Replaces snakeyaml with com.konloch:safeyaml to address a security vulnerability by @jtduffy in #2333

Deprecations

The following instrumentation modules are deprecated and will be removed in the next major release:

  • aws-wrap-0.7.0
  • java.completable-future-jdk8
  • play-2.3
  • netty-3.4
  • Struts v1

IAST

CSEC Version Update to 1.7.0 by @lovesh-ap in #2348
Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.7.0

Full Changelog: v8.20.0...v8.21.0

Version 8.20.0

15 Apr 18:34
dec5862

Choose a tag to compare

New features and improvements

  • Support for CRaC 2250

  • Support for JDK24 2284

  • Add sampling options when an inbound traceparent exists 2279

    • These options define how the agent should handle sampling of spans, depending on sampling decisions that were made for their parent span by an upstream entity. The configuration options remote_parent_sampled and remote_parent_not_sampled specify what to do in the case the parent span was sampled or not sampled, respectively. See the documentation for full configuration details.
  • Support for Undertow as a stand-alone module 2269

    • This instrumentation is disabled by default to avoid conflicts with existing Wildfly instrumentation. To enable this instrumentation for stand-alone Undertow server apps, use the configuration setting:
     class_transformer:
       com.newrelic.instrumentation.undertow-server-1.1.0:
         enabled: true
  • Support for Couchbase Client 2203

Fixes

  • Fix netty 'Unknown' transactions 2274

    • This fix moves previous netty instrumentation changes behind a feature flag, which provides additional visibility in some cases involving HTTP2 transactions. To reenable this granularity (at the possible cost of seeing ‘Unknown’ transactions), use the config setting:
      netty:
        http2:
          frame_read_listener:
            start_transaction: true
  • Refactor AWS docker id fetch to use 5s timeout 2275

  • Feature flag to apply Kotlin ArrayIndexOutOfBoundsException fix to all methods 2307

    • This fix addresses errors that may be seen when running the Java Agent in an environment where Kotlin suspends functions are used. To use this fix, set the system property -Dnewrelic.config.class_transformer.clear_return_stacks=true
  • Prevent cache lock for long DB statement parsing 2294

  • Add config to specify whether java.sql is loaded by platform classloader 2267

Deprecations

The following instrumentation modules are deprecated and will be removed in the next major release:

  • aws-wrap-0.7.0
  • java.completable-future-jdk8
  • play-2.3
  • netty-3.4
  • Struts v1

New Contributors

Full Changelog: v8.19.0...v8.20.0

Version 8.19.0

10 Mar 21:12
875b6e3

Choose a tag to compare

New features and improvements

Fixes

IAST

New Contributors

Full Changelog: v8.18.0...v8.19.0