New features and improvements
- Adds Java 26 support 2734
- Adds Serverless mode for AWS Lambda monitoring with the Java agent 2609 2615 2625 2633 2640 2641 2647 2673 2716 2721 2735 2723 2740 2769 2782 2794 2797 2796 2806
- Adds new
application_logging.forwarding.log_level_denylistconfig 2764 - Implements region aware event/metric ingest URIs 2749 2790 2790
- Adds support for associating logs to corresponding entity when
enable_auto_app_namingistrue2627 - Add
opentelemetry-sdk-extension-autoconfigure-1.59.0instrumentation for OpenTelemetry 1.59.0+ 2786 - Adds support for associating adaptive sampler to corresponding entity when
enable_auto_app_namingistrue2805 - Adds supportability metrics for each entity created when
enable_auto_app_namingistrue2808 - Implements Cloud Metadata Bypass Proxy config 2791
- Adds support for multiple versions of Caffeine in the agent 2807
- Adds support for explain plans that utilize SQL arrays 2815
- Adds generic 'Queue' as a transport type 2820
- Adds support for Reactor Netty Http client calls 2817
Fixes
- Fixes an edge case where ill-formed payloads caused an NPE when accessing the
sampledfield on the NR payload 2762 - Expires Tokens when a Reactive Subscription is canceled 2798
- Adds logic to manually evict any dead threads from the
TheadTrackercache to prevent a memory leak 2811 - Resolves a deadlock between harvest thread and JVM shutdown thread 2539
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:
- Back up the entire Java agent root directory to another location. Rename that directory to
NewRelic_Agent#.#.#, where#.#.#is the agent version number. - Download the agent..
- Unzip the new agent download file, then copy
newrelic-api.jarandnewrelic.jarinto the original Java agent root directory. - Compare your old
newrelic.ymlwith the newly downloadednewrelic.ymlfrom the zip, and update the file if needed. - 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.
Novos recursos e melhorias
- O Agente Híbrido Java: oferecendo uma experiência do "melhor dos dois mundos" ao combinar a visibilidade profunda da New Relic com a compatibilidade com a API OpenTelemetry. Esta versão inclui suporte abrangente para as APIs de Tracing, Métricas e Logs do OpenTelemetry, bem como instrumentação de bibliotecas independentes e frameworks nativos. Principais melhorias, como Span Links e Events on Spans, estão agora disponíveis, garantindo interoperabilidade perfeita em ambientes de modo misto.
- Suporte à API OpenTelemetry do Agente Híbrido por @jasonjkeller em 2711
- Melhorias em ignorar corrotinas por @dhilpipre em 2726
- Adicionar ação de metadados do agente - @mvicknr em 2732 2745
Correções
- Correção da propagação de rastreamento quebrada com cabeçalhos w3c por @jasonjkeller em 2299
- Correção da configuração de preferência multihost @jtduffy em 2720
- Corrigido problema onde suspend ignores não estava sendo lido, por @dhilpipre em 2663
Atualizar para a versão mais recente
Para identificar qual versão do agente Java você está usando atualmente, execute java -jar newrelic.jar -v. A versão do seu agente Java será impressa em seu console.
Em seguida, para atualizar para a versão mais recente do agente Java:
- Faça backup de todo o diretório raiz do agente Java em outro local. Renomeie esse diretório para
NewRelic_Agent#.#.#, onde#.#.#é o número da versão do agente. - Baixe o agente..
- Descompacte o novo arquivo de download do agente e copie
newrelic-api.jarenewrelic.jarno diretório raiz original do agente Java. - Compare seu
newrelic.ymlantigo com onewrelic.ymlrecém-baixado do zip e atualize o arquivo, se necessário. - Reinicie seu despachante Java.
Se você tiver problemas após a atualização do agente Java, restaure a partir do diretório do agente New Relic do qual foi feito backup.
Atualizar diferenças de configuração do agente
Adicionamos novas configurações a newrelic.yml à medida que lançamos novas versões do agente. Você pode usar diff ou outro utilitário de comparação para ver o que mudou e adicionar as novas configurações ao seu arquivo antigo. Certifique-se de não substituir nenhuma personalização feita no arquivo, como chave de licença, nome do aplicativo ou alterações nas configurações padrão.
Por exemplo, se você diff os arquivos newrelic.yml padrão para as versões 7.10.0 e 7.11.0 do agente Java, os resultados impressos no console serão 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...Neste exemplo, essas linhas foram adicionadas ao newrelic.yml padrão no agente Java versão 7.11.0. Se você estiver migrando para 7.11.0 ou superior, adicione essas novas linhas ao seu newrelic.yml original.
Declaração de apoio:
- New Relic recomenda que você atualize o agente regularmente para garantir que esteja obtendo os benefícios mais recentes de recursos e desempenho. Além disso, versões mais antigas não terão mais suporte quando chegarem ao fim de sua vida útil.
Novos recursos e melhorias
- Adicionar configuração para excluir jars temporários de agente obsoletos na inicialização por @jtduffy em 2676
- Adicionar a opção "inclusão" para complementar a configuração de exclusão para instrumentar seletivamente aplicativos @jtduffy em 2638
- Para usar este recurso, defina a variável de ambiente
NEW_RELIC_STARTUP_JAVA_ARTIFACT_INCLUDESou a propriedade do sistemanewrelic.config.startup_java_artifact_includes. Especifique os artefatos que devem ser instrumentados como uma lista separada por vírgulas.
- Para usar este recurso, defina a variável de ambiente
Correções
- Resolva IllegalAccessError movendo a classe wrapper de S3AsyncClient_Instrumentation por @jtduffy em 2503
- Corrigir versão de instrumentação rotulada incorretamente em eventos de log em logback-classic-1.5.20 por @jasonjkeller em 2594
- Mensagem de log corrigida para valor máximo de atributo por @jeffalder em 2680
- Prioridades do amostrador de Taxa de Rastreamento corrigidas por @jtduffy em 2583
Remoções
- Remove os módulos jdbc-inet-* obsoletos por @obenkenobi em 2572
- Remove a biblioteca obsoleta java.completable-future-jdk8. instrumentação por @obenkonobi em 2562
- Remove a instrumentação de encapsulamento aws por @obenkenobi em 2567
- Remove o módulo jdbc-sybase-6 por @obenkenobi em 2614
- Remove a instrumentação play 2.3 por @obenkenobi em 2568
- Remove thrift-0.8 obsoleto módulo por @obenkenobi em 2569
- Remove os módulos solr 4.0 e 5.0 obsoletos por @obenkenobi em 2570
- Remove o módulo obsoleto grails-1.3 por @obenkonobi em 2573
- Remove o módulo obsoleto hibernate-3.3 por @obenkenobi em 2574
- Remove a API de injeção de rodapé obsoleta por @sharvath-newrelic em 2620
- Remove pointcuts Struts 1 obsoletos por @obenkenobi em 2561
- Remove o módulo obsoleto glassfish-3 por @sharvath-newrelic em 2575
- Remove os módulos rabbit-amqp obsoletos 2.5.0, 2.4.1, 1.7.2 por @obenkenobi em 2571
- Remove a função de marcador de implantação por @jtduffy em 2589
Atualizar para a versão mais recente
Para identificar qual versão do agente Java você está usando atualmente, execute java -jar newrelic.jar -v. A versão do seu agente Java será impressa em seu console.
Em seguida, para atualizar para a versão mais recente do agente Java:
- Faça backup de todo o diretório raiz do agente Java em outro local. Renomeie esse diretório para
NewRelic_Agent#.#.#, onde#.#.#é o número da versão do agente. - Baixe o agente..
- Descompacte o novo arquivo de download do agente e copie
newrelic-api.jarenewrelic.jarno diretório raiz original do agente Java. - Compare seu
newrelic.ymlantigo com onewrelic.ymlrecém-baixado do zip e atualize o arquivo, se necessário. - Reinicie seu despachante Java.
Se você tiver problemas após a atualização do agente Java, restaure a partir do diretório do agente New Relic do qual foi feito backup.
Atualizar diferenças de configuração do agente
Adicionamos novas configurações a newrelic.yml à medida que lançamos novas versões do agente. Você pode usar diff ou outro utilitário de comparação para ver o que mudou e adicionar as novas configurações ao seu arquivo antigo. Certifique-se de não substituir nenhuma personalização feita no arquivo, como chave de licença, nome do aplicativo ou alterações nas configurações padrão.
Por exemplo, se você diff os arquivos newrelic.yml padrão para as versões 7.10.0 e 7.11.0 do agente Java, os resultados impressos no console serão 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...Neste exemplo, essas linhas foram adicionadas ao newrelic.yml padrão no agente Java versão 7.11.0. Se você estiver migrando para 7.11.0 ou superior, adicione essas novas linhas ao seu newrelic.yml original.
Declaração de apoio:
- New Relic recomenda que você atualize o agente regularmente para garantir que esteja obtendo os benefícios mais recentes de recursos e desempenho. Além disso, versões mais antigas não terão mais suporte quando chegarem ao fim de sua vida útil.
Correções
- Corrige o erro de Kotlin Coroutine sobre a implementação de terceiros de
CancellableContinuation
Depreciações
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1spring-3.0.0thrift-0.8solr-4.0.0solr-5.0.0jdbc-inet-merliajdbc-inet-oranxograils-1.3rabbit-amqp-1.7.2rabbit-amqp-2.4.1rabbit-amqp-2.5.0rabbit-amqp-2.7.0glassfish-3hibernate-3.3hibernate-3.5jdbc-jtds
Atualizar para a versão mais recente
Para identificar qual versão do agente Java você está usando atualmente, execute java -jar newrelic.jar -v. A versão do seu agente Java será impressa em seu console.
Em seguida, para atualizar para a versão mais recente do agente Java:
- Faça backup de todo o diretório raiz do agente Java em outro local. Renomeie esse diretório para
NewRelic_Agent#.#.#, onde#.#.#é o número da versão do agente. - Baixe o agente.
- Descompacte o novo arquivo de download do agente e copie
newrelic-api.jarenewrelic.jarno diretório raiz original do agente Java. - Compare seu
newrelic.ymlantigo com onewrelic.ymlrecém-baixado do zip e atualize o arquivo, se necessário. - Reinicie seu despachante Java.
Se você tiver problemas após a atualização do agente Java, restaure a partir do diretório do agente New Relic do qual foi feito backup.
Atualizar diferenças de configuração do agente
Adicionamos novas configurações a newrelic.yml à medida que lançamos novas versões do agente. Você pode usar diff ou outro utilitário de comparação para ver o que mudou e adicionar as novas configurações ao seu arquivo antigo. Certifique-se de não substituir nenhuma personalização feita no arquivo, como chave de licença, nome do aplicativo ou alterações nas configurações padrão.
Por exemplo, se você diff os arquivos newrelic.yml padrão para as versões 7.10.0 e 7.11.0 do agente Java, os resultados impressos no console serão 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...Neste exemplo, essas linhas foram adicionadas ao newrelic.yml padrão no agente Java versão 7.11.0. Se você estiver migrando para 7.11.0 ou superior, adicione essas novas linhas ao seu newrelic.yml original.
Declaração de apoio:
- New Relic recomenda que você atualize o agente regularmente para garantir que esteja obtendo os benefícios mais recentes de recursos e desempenho. Além disso, versões mais antigas não terão mais suporte quando chegarem ao fim de sua vida útil.
Novos recursos e melhorias
- Adiciona suporte ao Java 25 por @deleonenriqueta em 2512
- Adiciona suporte para Logback-1.5.20 por @jtduffy em 2535
- Introduz uma opção de configuração para desativar a execução das expressões regulares do analisador SQL
calleexecpor @jtduffy em 2490 - Adiciona suporte para Kotlin Coroutines v1.4+ por @dhilpipere em 2454
- Adiciona suporte para funções de suspensão de Coroutines do Kotlin geradas fora das Coroutines do Kotlin por @dhilpipre em 2456
- Introduz uma configuração de preferências para múltiplos hosts durante a detecção de armazenamento de dados por @jbedell-newrelic em 2508
- Adiciona uma propriedade de sistema para configurar a função de ignorar artefatos por @jtduffy em 2509
- Adiciona uma opção de configuração que permite que as transações do Spring Controller sejam nomeadas usando o nome da classe do controller e o nome do método por @sharvath-newrelic em 2532
- Implementa SamplerConfig, centralizando todas as configurações
distributed_tracing.samplernoSamplerConfigpor @jasonjkeller em 2529 - Atualizações
kafka-clients-spans-0.11.0.0instrumentação do produtor para usar API distributed tracing modernas com suporte W3C Trace Context por @sharvath-newrelic em 2516
Correções
- Corrige a análise dos nomes das classes de erro por @sharvath-newrelic em 2497
- Corrige um possível problema de memória causado por um rastreamento stack excessivamente grande no logging de erros, por @jtduffy em 2498.
- Esclarecer mensagens de logging para atributo inválido em evento personalizado e logging de eventos por @sharvath-newrelic em 2501
Depreciações
Os seguintes módulos de instrumentação estão obsoletos e serão removidos na próxima versão principal.
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1spring-3.0.0thrift-0.8solr-4.0.0solr-5.0.0jdbc-inet-merliajdbc-inet-oranxograils-1.3rabbit-amqp-1.7.2rabbit-amqp-2.4.1rabbit-amqp-2.5.0rabbit-amqp-2.7.0glassfish-3hibernate-3.3hibernate-3.5jdbc-jtds
Atualizar para a versão mais recente
Para identificar qual versão do agente Java você está usando atualmente, execute java -jar newrelic.jar -v. A versão do seu agente Java será impressa em seu console.
Em seguida, para atualizar para a versão mais recente do agente Java:
- Faça backup de todo o diretório raiz do agente Java em outro local. Renomeie esse diretório para
NewRelic_Agent#.#.#, onde#.#.#é o número da versão do agente. - Baixe o agente..
- Descompacte o novo arquivo de download do agente e copie
newrelic-api.jarenewrelic.jarno diretório raiz original do agente Java. - Compare seu
newrelic.ymlantigo com onewrelic.ymlrecém-baixado do zip e atualize o arquivo, se necessário. - Reinicie seu despachante Java.
Se você tiver problemas após a atualização do agente Java, restaure a partir do diretório do agente New Relic do qual foi feito backup.
Atualizar diferenças de configuração do agente
Adicionamos novas configurações a newrelic.yml à medida que lançamos novas versões do agente. Você pode usar diff ou outro utilitário de comparação para ver o que mudou e adicionar as novas configurações ao seu arquivo antigo. Certifique-se de não substituir nenhuma personalização feita no arquivo, como chave de licença, nome do aplicativo ou alterações nas configurações padrão.
Por exemplo, se você diff os arquivos newrelic.yml padrão para as versões 7.10.0 e 7.11.0 do agente Java, os resultados impressos no console serão 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...Neste exemplo, essas linhas foram adicionadas ao newrelic.yml padrão no agente Java versão 7.11.0. Se você estiver migrando para 7.11.0 ou superior, adicione essas novas linhas ao seu newrelic.yml original.
Declaração de apoio:
- New Relic recomenda que você atualize o agente regularmente para garantir que esteja obtendo os benefícios mais recentes de recursos e desempenho. Além disso, versões mais antigas não terão mais suporte quando chegarem ao fim de sua vida útil.
New features and improvements
- Support MongoDB Reactive Streams 5.2.0 and up by @obenkenobi in 2465
- Jedis 6 support by @kanderson250 in 2466
Fixes
- CouchBase: Add skip class to prevent double instrumentation by @jtduffy in 2462
- Spring WebClient 5.x: Only wrap headers instead of the entire response by @jtduffy in 2464
Deprecations
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
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:
- Back up the entire Java agent root directory to another location. Rename that directory to
NewRelic_Agent#.#.#, where#.#.#is the agent version number. - Download the agent..
- Unzip the new agent download file, then copy
newrelic-api.jarandnewrelic.jarinto the original Java agent root directory. - Compare your old
newrelic.ymlwith the newly downloadednewrelic.ymlfrom the zip, and update the file if needed. - 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.