• /
  • EnglishEspañolFrançais日本語한국어Português
  • Inicia sesiónComenzar ahora

Java agent release notesRSS

September 25
Java agent v9.5.0

Download this agent version

New features and improvements

Enhancements

  • Add (limited) Hybrid Agent proxy support 3013
  • Hybrid Agent - Logging - Allow empty message body when context attributes are present 3042
  • Add hybrid audit logging 3059
  • Enhance gRPC-Netty support 3063
  • Enable Hybrid Agent OTLP metric retry logic 3084
  • Add collector connection TTL and recovery tests 3081
  • Make weave related task thread count configurable 3103
  • Report Cluster Ids in Kafka Metrics 3054

Fixes

  • Properly handle exceptions thrown from the normalizer flow 3037
  • Resolve Micronaut duplicate transactions/lost custom attributes issues 3085

IAST

Update to latest version

To identify which version of the Java agent you're currently using, run java -jar newrelic.jar -v. Your Java agent version will be printed to your console.

Then, to update to the latest Java agent version:

  1. Back up the entire Java agent root directory to another location. Rename that directory to NewRelic_Agent#.#.#, where #.#.# is the agent version number.
  2. Download the agent..
  3. Unzip the new agent download file, then copy newrelic-api.jar and newrelic.jar into the original Java agent root directory.
  4. Compare your old newrelic.yml with the newly downloaded newrelic.yml from the zip, and update the file if needed.
  5. Restart your Java dispatcher.

If you experience issues after the Java agent update, restore from the backed-up New Relic agent directory.

Update agent config differences

We add new settings to newrelic.yml as we release new versions of the agent. You can use diff or another diffing utility to see what's changed, and add the new config settings to your old file. Make sure not to overwrite any customizations you've made to the file, such as your license key, app name, or changes to default settings.

For example, if you diff the default newrelic.yml files for Java agent versions 7.10.0 and 7.11.0, the results printed to the console will be like:

➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml
...
107a108,119
> # Whether the log events should include context from loggers with support for that.
> context_data:
>
> # When true, application logs will contain context data.
> enabled: false
>
> # A comma separated list of attribute keys whose values should be sent to New Relic.
> #include:
>
> # A comma separated list of attribute keys whose values should not be sent to New Relic.
> #exclude:
>
125a138
>
128c141
< enabled: false
---
> enabled: true
...

In this example, these lines were added to the default newrelic.yml in Java agent version 7.11.0. If you're moving to 7.11.0 or higher, you should add these new lines to your original newrelic.yml.

Support statement:

  • New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.

July 29
Java agent v9.4.0

Nuevas características y mejoras

  • Se eliminó el blob de metadatos de enlace @NewFields del módulo log4j-2.11 2917
  • Se agregó soporte para el modo clúster en los módulos lettuce-6.0 y lettuce-6.5 2922
  • Se agregaron nuevos módulos de instrumentación para Vert.x web y core 5.x 2920
  • Se agregaron nuevos módulos de instrumentación de Java Server Faces para reemplazar los point cuts legacy 2944
  • Se agregó un nuevo módulo Portlet para reemplazar los point cuts legacy 2953
  • Se migró el plug-in shadow de com.github.johnrengelman a com.gradleup 2945
  • Se agregó el reemplazo de instrumentación de clase weave para el point cut HandlerMethodInvoker3PointCut 2967
  • Se eliminaron las anotaciones @NewField del módulo jdbc-generic 2963
  • Se eliminó el point cut HandlerMethodInvokerPointCut 2977
  • Se eliminó el point cut SpringPointCut 2990
  • Se agregó un nuevo atributo http.request.method a todos los spans HTTP externos 2985 3010
  • Se agregó soporte para decorar datos JFR con etiquetas de APM (como se configuró en el agente de Java) 3007
  • [Agente híbrido] Se decoraron las métricas dimensionales de OpenTelemetry con otlp_resource_attributes de la respuesta de conexión 2956

Correcciones

  • Se solucionó el problema de fuga de MDC en el apache-log4j-2.11 module 2926
  • Se eliminaron las excepciones con espacio de nombres java.rmi 2932
  • Se utilizó el atributo de excepción de servlet de Jakarta en el módulo wildfly-27 2929
  • El modo Serverless ahora envía la carga a la consola si no se escribió la tubería de archivos 2975
  • Se cambió el log ForceRestartException a INFO 2989
  • Se agregó una nueva instancia Patcher de tiempo de compilación para eliminar los valores de enumeración problemáticos de la clase @NullMarked de la biblioteca jspecify sombreada 2982
  • Se limpiaron las instancias de segmento para las llamadas HTTP de Netty Reactor 3004
  • Se corrigieron los metadatos de vinculación de la transacción durante algunas operaciones asíncronas 3006

Actualizar a la última versión

Para identificar qué versión del agente de Java estás usando actualmente, ejecuta java -jar newrelic.jar -v. Su versión de agente de Java se imprimirá en su consola.

Luego, para actualizar a la última versión del agente de Java:

  1. Haga una copia de seguridad de todo el directorio raíz del agente de Java en otra ubicación. Cambie el nombre de ese directorio a NewRelic_Agent#.#.#, donde #.#.# es el número de versión del agente.
  2. Descargar el agente..
  3. Descomprima el archivo de descarga del nuevo agente y luego copie newrelic-api.jar y newrelic.jar en el directorio raíz del agente de Java original.
  4. Compare su newrelic.yml antiguo con el newrelic.yml recién descargado del zip y actualice el archivo si es necesario.
  5. Reinicie su despachador de Java.

Si tiene problemas después de la actualización del agente de Java, restaure desde el directorio del agente New Relic respaldado.

Actualizar diferencias de configuración del agente

Agregamos nuevas configuraciones a newrelic.yml a medida que lanzamos nuevas versiones del agente. Puede usar diff u otra utilidad de diferenciación para ver qué ha cambiado y agregar la nueva configuración a su archivo anterior. Asegúrese de no sobrescribir ninguna personalización que haya realizado en el archivo, como su clave de licencia, el nombre de la aplicación o los cambios en la configuración predeterminada.

Por ejemplo, si diff los archivos newrelic.yml predeterminados para las versiones 7.10.0 y 7.11.0 del agente de Java , los resultados impresos en la consola serán como:

➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml
...
107a108,119
> # Whether the log events should include context from loggers with support for that.
> context_data:
>
> # When true, application logs will contain context data.
> enabled: false
>
> # A comma separated list of attribute keys whose values should be sent to New Relic.
> #include:
>
> # A comma separated list of attribute keys whose values should not be sent to New Relic.
> #exclude:
>
125a138
>
128c141
< enabled: false
---
> enabled: true
...

En este ejemplo, estas líneas se agregaron al valor predeterminado newrelic.yml en el agente de Java versión 7.11.0. Si está migrando a la versión 7.11.0 o superior, debe agregar estas nuevas líneas a su newrelic.yml original.

Declaración de apoyo:

  • New Relic recomienda actualizar el agente regularmente para asegurarse de obtener las últimas funciones y beneficios de rendimiento. Además, las versiones anteriores dejarán de tener soporte cuando lleguen al fin de su vida útil.

May 28
Java agent v9.3.0

Nuevas características y mejoras

  • Agregar la configuración log_level_denylist al yaml predeterminado 2830

  • Módulo JMX de Solr 9 2821

  • Nueva estrategia centralizada de conteo de tokens para capturar los conteos de tokens de las respuestas de LLM. 2837

  • Soporte para capturar operaciones por lotes de JDBC; específicamente los métodos addBatch() y executeBatch(). 2840

  • Módulo de instrumentación XML RPC para reemplazar el point cut legacy 2841

  • Agregar una nueva configuración específica de JFR jfr.use_display_name. Si se establece en true, el agente establecerá el nombre de host de JFR en el valor de la configuración process_host.display_name. El valor predeterminado es false para conservar el comportamiento anterior.

Si jfr.use_display_name es true pero la configuración display_name está vacía, el JfrService recurrirá al comportamiento anterior para el nombre de host.

common: &default_settings
jfr:
use_display_name: true

2847

  • Eliminar la creación innecesaria de segmentos en el módulo java.xmlrpc 2853

  • Actualizar el módulo aws-bedrock-runtime-2.20 con una nueva estrategia de conteo de token para cada uno de los modelos. 2845

  • Nuevo algoritmo de ofuscación de clave de licencia 2864

  • Compatibilidad con clientes HTTP de Micronaut versiones 3.5.0+ 2834

  • Soporte para Apache Camel 3.9.0 y versiones superiores 2896 2901

  • Soporte para Kafka Clients 4.0.0 y versiones posteriores 2896

  • Actualización de la dependencia interna Log4j Core de 2.17.1 a 2.25.4 2833

  • Soporte para AWS DAX desde 2.0.0 hasta la más reciente 2873

  • Agregar instrumentación para los clientes de completion y embedding de Spring AI para las versiones 1.0.0 en adelante. Esto agrega nuevos módulos de instrumentación:

spring-ai-client-chat-1.0.0
spring-ai-model-1.0.0

2842

  • Rastreo principal: descartar SpanEvents y reasignar SpanLinks descartados 2881

  • Reemplazos de pointcut

    • Eliminar SpringDispatcherPointCut y SpringExceptionHandlerPointCut y, en su lugar, mover la funcionalidad a nuestros módulos de instrumentación de Spring.
    • Reemplazar HandlerInterceptorPointCut 2871 2886
  • Compatibilidad con BlockingHttpClient de Micronaut 2860

  • Agregar compatibilidad con el Model Context Protocol de modelo de IA 1.0.0 a la versión más reciente. 2880

Correcciones

  • Se corrigió la instrumentación de corrutinas. Las correcciones incluyen:

    • Mejor seguimiento del comportamiento asincrónico mediante el instrumentado de los vacíos encontrados donde la ejecución puede saltar a otro hilo.
    • Mejor nomenclatura en Coroutines y continuaciones. La nomenclatura existente era demasiado genérica. La nueva nomenclatura identifica según si se inicia mediante runBlocking, async, withContext o lanzamiento.
    • Se eliminaron algunos métodos de utilidad que ya no se utilizaban 2802
  • Corrige el número excesivo de tokens asíncronos no expirados cuando Micronaut es instrumentado. 2792

  • Resolución de IllegalAccessError de Mule 4.9 2859

  • Corrige un registro incorrecto de las métricas instrumentadas y conservadas para Core Tracing, ya que originalmente se estaban registrando como una métrica de tiempo. 2881

Actualizar a la última versión

Para identificar qué versión del agente de Java estás usando actualmente, ejecuta java -jar newrelic.jar -v. Su versión de agente de Java se imprimirá en su consola.

Luego, para actualizar a la última versión del agente de Java:

  1. Haga una copia de seguridad de todo el directorio raíz del agente de Java en otra ubicación. Cambie el nombre de ese directorio a NewRelic_Agent#.#.#, donde #.#.# es el número de versión del agente.
  2. Descargar el agente..
  3. Descomprima el archivo de descarga del nuevo agente y luego copie newrelic-api.jar y newrelic.jar en el directorio raíz del agente de Java original.
  4. Compare su newrelic.yml antiguo con el newrelic.yml recién descargado del zip y actualice el archivo si es necesario.
  5. Reinicie su despachador de Java.

Si tiene problemas después de la actualización del agente de Java, restaure desde el directorio del agente New Relic respaldado.

Actualizar diferencias de configuración del agente

Agregamos nuevas configuraciones a newrelic.yml a medida que lanzamos nuevas versiones del agente. Puede usar diff u otra utilidad de diferenciación para ver qué ha cambiado y agregar la nueva configuración a su archivo anterior. Asegúrese de no sobrescribir ninguna personalización que haya realizado en el archivo, como su clave de licencia, el nombre de la aplicación o los cambios en la configuración predeterminada.

Por ejemplo, si diff los archivos newrelic.yml predeterminados para las versiones 7.10.0 y 7.11.0 del agente de Java , los resultados impresos en la consola serán como:

➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml
...
107a108,119
> # Whether the log events should include context from loggers with support for that.
> context_data:
>
> # When true, application logs will contain context data.
> enabled: false
>
> # A comma separated list of attribute keys whose values should be sent to New Relic.
> #include:
>
> # A comma separated list of attribute keys whose values should not be sent to New Relic.
> #exclude:
>
125a138
>
128c141
< enabled: false
---
> enabled: true
...

En este ejemplo, estas líneas se agregaron al valor predeterminado newrelic.yml en el agente de Java versión 7.11.0. Si está migrando a la versión 7.11.0 o superior, debe agregar estas nuevas líneas a su newrelic.yml original.

Declaración de apoyo:

  • New Relic recomienda que actualices el agente periódicamente para garantizar que obtengas las últimas características y beneficios de rendimiento. Además, las versiones anteriores ya no recibirán soporte cuando lleguen al final de su vida útil.

April 8
Java agent v9.2.0

Nuevas características y mejoras

  • Agrega soporte para Java 26 2734
  • Agrega el modo Serverless para el monitoreo de AWS Lambda con el agente de Java 2609 2615 2625 2633 2640 2641 2647 2673 2716 2721 2735 2723 2740 2769 2782 2794 2797 2796 2806
  • Agrega nueva configuración de application_logging.forwarding.log_level_denylist 2764
  • Implementa URI de ingesta de evento/métrica con reconocimiento de región 2749 2790
  • Agrega soporte para asociar logs a la entidad correspondiente cuando enable_auto_app_naming es true 2627
  • Agrega instrumentación de opentelemetry-sdk-extension-autoconfigure-1.59.0 para OpenTelemetry 1.59.0+ 2786
  • Agrega soporte para asociar el muestreador adaptativo a la entidad correspondiente cuando enable_auto_app_naming es true 2805
  • Agrega métrica de soportabilidad para cada entidad creada cuando enable_auto_app_naming es true 2808
  • Implementa la configuración del proxy de omisión de metadatos de la nube 2791
  • Agrega soporte para múltiples versiones de Caffeine en el agente 2807
  • Agrega soporte para planes de ejecución que utilizan matrices de SQL 2815
  • Agrega 'Queue' genérica como tipo de transporte 2820
  • Agrega soporte para llamadas de cliente HTTP de Reactor Netty 2817

Correcciones

  • Corrige un caso extremo donde la carga mal formada provocaba un NPE al acceder al campo sampled en la carga de NR 2762
  • Expira los token cuando se cancela una suscripción reactiva 2798
  • Agrega lógica para desalojar manualmente cualquier hilo muerto de la caché TheadTracker para evitar una fuga de memoria 2811
  • Resuelve un interbloqueo entre el hilo de recolección y el hilo de apagado de la JVM 2539

Actualizar a la última versión

Para identificar qué versión del agente de Java estás usando actualmente, ejecuta java -jar newrelic.jar -v. Su versión de agente de Java se imprimirá en su consola.

Luego, para actualizar a la última versión del agente de Java:

  1. Haga una copia de seguridad de todo el directorio raíz del agente de Java en otra ubicación. Cambie el nombre de ese directorio a NewRelic_Agent#.#.#, donde #.#.# es el número de versión del agente.
  2. Descargar el agente..
  3. Descomprima el archivo de descarga del nuevo agente y luego copie newrelic-api.jar y newrelic.jar en el directorio raíz del agente de Java original.
  4. Compare su newrelic.yml antiguo con el newrelic.yml recién descargado del zip y actualice el archivo si es necesario.
  5. Reinicie su despachador de Java.

Si tiene problemas después de la actualización del agente de Java, restaure desde el directorio del agente New Relic respaldado.

Actualizar diferencias de configuración del agente

Agregamos nuevas configuraciones a newrelic.yml a medida que lanzamos nuevas versiones del agente. Puede usar diff u otra utilidad de diferenciación para ver qué ha cambiado y agregar la nueva configuración a su archivo anterior. Asegúrese de no sobrescribir ninguna personalización que haya realizado en el archivo, como su clave de licencia, el nombre de la aplicación o los cambios en la configuración predeterminada.

Por ejemplo, si diff los archivos newrelic.yml predeterminados para las versiones 7.10.0 y 7.11.0 del agente de Java , los resultados impresos en la consola serán como:

➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml
...
107a108,119
> # Whether the log events should include context from loggers with support for that.
> context_data:
>
> # When true, application logs will contain context data.
> enabled: false
>
> # A comma separated list of attribute keys whose values should be sent to New Relic.
> #include:
>
> # A comma separated list of attribute keys whose values should not be sent to New Relic.
> #exclude:
>
125a138
>
128c141
< enabled: false
---
> enabled: true
...

En este ejemplo, estas líneas se agregaron al valor predeterminado newrelic.yml en el agente de Java versión 7.11.0. Si está migrando a la versión 7.11.0 o superior, debe agregar estas nuevas líneas a su newrelic.yml original.

Declaración de apoyo:

  • New Relic recomienda que actualices el agente periódicamente para garantizar que obtengas las últimas características y beneficios de rendimiento. Además, las versiones anteriores ya no recibirán soporte cuando lleguen al final de su vida útil.

February 12
Java agent v9.1.0

Nuevas características y mejoras

  • El Agente híbrido de Java: ofrece una experiencia de "lo mejor de ambos mundos" al combinar la visibilidad profunda de New Relic con la compatibilidad con la API de OpenTelemetry. Esta versión incluye soporte integral para las API de Tracing, Metrics y Logs de OpenTelemetry, así como instrumentación de bibliotecas independientes y frameworks nativos. Mejoras clave como Span Links y Events on Spans ya están disponibles, garantizando una interoperabilidad fluida en entornos de modo mixto.
    • Soporte de la API de OpenTelemetry del agente híbrido por @jasonjkeller en 2711
  • Mejoras en la omisión de corrutinas por @dhilpipre en 2726
  • Agregar acción de metadatos del agente - @mvicknr en 2732 2745

Correcciones

  • Se corrigió la propagación de trazas rota con encabezados w3c por @jasonjkeller en 2299
  • Se corrigió la configuración de preferencia multihost @jtduffy en 2720
  • Se solucionó un problema donde suspend ignores no se leía, por @dhilpipre en 2663

Actualizar a la última versión

Para identificar qué versión del agente de Java estás usando actualmente, ejecuta java -jar newrelic.jar -v. Su versión de agente de Java se imprimirá en su consola.

Luego, para actualizar a la última versión del agente de Java:

  1. Haga una copia de seguridad de todo el directorio raíz del agente de Java en otra ubicación. Cambie el nombre de ese directorio a NewRelic_Agent#.#.#, donde #.#.# es el número de versión del agente.
  2. Descargar el agente..
  3. Descomprima el archivo de descarga del nuevo agente y luego copie newrelic-api.jar y newrelic.jar en el directorio raíz del agente de Java original.
  4. Compare su newrelic.yml antiguo con el newrelic.yml recién descargado del zip y actualice el archivo si es necesario.
  5. Reinicie su despachador de Java.

Si tiene problemas después de la actualización del agente de Java, restaure desde el directorio del agente New Relic respaldado.

Actualizar diferencias de configuración del agente

Agregamos nuevas configuraciones a newrelic.yml a medida que lanzamos nuevas versiones del agente. Puede usar diff u otra utilidad de diferenciación para ver qué ha cambiado y agregar la nueva configuración a su archivo anterior. Asegúrese de no sobrescribir ninguna personalización que haya realizado en el archivo, como su clave de licencia, el nombre de la aplicación o los cambios en la configuración predeterminada.

Por ejemplo, si diff los archivos newrelic.yml predeterminados para las versiones 7.10.0 y 7.11.0 del agente de Java , los resultados impresos en la consola serán como:

➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml
...
107a108,119
> # Whether the log events should include context from loggers with support for that.
> context_data:
>
> # When true, application logs will contain context data.
> enabled: false
>
> # A comma separated list of attribute keys whose values should be sent to New Relic.
> #include:
>
> # A comma separated list of attribute keys whose values should not be sent to New Relic.
> #exclude:
>
125a138
>
128c141
< enabled: false
---
> enabled: true
...

En este ejemplo, estas líneas se agregaron al valor predeterminado newrelic.yml en el agente de Java versión 7.11.0. Si está migrando a la versión 7.11.0 o superior, debe agregar estas nuevas líneas a su newrelic.yml original.

Declaración de apoyo:

  • New Relic recomienda que actualices el agente periódicamente para garantizar que obtengas las últimas características y beneficios de rendimiento. Además, las versiones anteriores ya no recibirán soporte cuando lleguen al final de su vida útil.

January 14
Java agent v9.0.0

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 sampler priorities by @jtduffy in 2583

Removals

  • Removes deprecated jdbc-inet-* modules by @obenkenobi in 2572
  • Removes deprecated java.completable-future-jdk8 instrumentation by @obenkenobi in 2562
  • Removes aws wrap instrumentation by @obenkenobi in 2567
  • Removes jdbc-sybase-6 module by @obenkenobi in 2614
  • Removes play 2.3 instrumentation by @obenkenobi in 2568
  • Removes deprecated thrift-0.8 module by @obenkenobi in 2569
  • Removes deprecated solr 4.0 & 5.0 modules by @obenkenobi in 2570
  • Removes deprecated module grails-1.3 by @obenkenobi in 2573
  • Removes deprecated module hibernate-3.3 by @obenkenobi in 2574
  • Removes deprecated footer injection API by @sharvath-newrelic in 2620
  • Removes deprecated Struts 1 pointcuts by @obenkenobi in 2561
  • Removes deprecated module glassfish-3 by @sharvath-newrelic in 2575
  • Removes deprecated rabbit-amqp modules 2.5.0, 2.4.1, 1.7.2 by @obenkenobi in 2571
  • Removes deployment marker function by @jtduffy in 2589

Update to latest version

To identify which version of the Java agent you're currently using, run java -jar newrelic.jar -v. Your Java agent version will be printed to your console.

Then, to update to the latest Java agent version:

  1. Back up the entire Java agent root directory to another location. Rename that directory to NewRelic_Agent#.#.#, where #.#.# is the agent version number.
  2. Download the agent..
  3. Unzip the new agent download file, then copy newrelic-api.jar and newrelic.jar into the original Java agent root directory.
  4. Compare your old newrelic.yml with the newly downloaded newrelic.yml from the zip, and update the file if needed.
  5. Restart your Java dispatcher.

If you experience issues after the Java agent update, restore from the backed-up New Relic agent directory.

Update agent config differences

We add new settings to newrelic.yml as we release new versions of the agent. You can use diff or another diffing utility to see what's changed, and add the new config settings to your old file. Make sure not to overwrite any customizations you've made to the file, such as your license key, app name, or changes to default settings.

For example, if you diff the default newrelic.yml files for Java agent versions 7.10.0 and 7.11.0, the results printed to the console will be like:

➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml
...
107a108,119
> # Whether the log events should include context from loggers with support for that.
> context_data:
>
> # When true, application logs will contain context data.
> enabled: false
>
> # A comma separated list of attribute keys whose values should be sent to New Relic.
> #include:
>
> # A comma separated list of attribute keys whose values should not be sent to New Relic.
> #exclude:
>
125a138
>
128c141
< enabled: false
---
> enabled: true
...

In this example, these lines were added to the default newrelic.yml in Java agent version 7.11.0. If you're moving to 7.11.0 or higher, you should add these new lines to your original newrelic.yml.

Support statement:

  • New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.