Fixes
- Fixes Kotlin Coroutine error about third party implementation of
CancellableContinuation
Deprecations
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
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.> include_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
- 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.> include_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
- Suporte ao MongoDB Reactive Streams 5.2.0 e superior por @obenkenobi em 2465
- Suporte para Jedis 6 por @kanderson250 em 2466
Correções
- CouchBase: Adicionar classe skip para evitar instrumentação dupla por @jtduffy em 2462
- Spring WebClient 5.x: Encapsule apenas cabeçalhos em vez de toda a resposta por @jtduffy em 2464
Depreciações
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
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.> include_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
- Atualização para suporte à versão 24 do GraphQL por @jtduffy em 2425
- Adicione alface 6.5 instrumentação por @kanderson250 em 2430
- Aumente a versão commons-lang para 3.18.0 por @jtduffy em 2421
- Adicionar lettuce dbName aos parâmetros do armazenamento de dados, quando disponível, por @kanderson250 em 2423
- Adicione uma variável de ambiente para pular a implementação de certos aplicativos. O nome da variável de ambiente é
NEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPS. O valor disso é uma lista separada por vírgulas de classes principais, arquivos jar executáveis ou ferramentas/aplicativos baseados em Java que o agente NÃO deve instrumentar (por exemploNEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPS=keytool,myapp.jar,IgnoreThisClass) por @jtduffy em 2433
Correções
- Corrigir um bug em que mensagens SQS com 8 atributos não são enviadas para a AWS. As mensagens SQS precisam de menos de 8 atributos para passar cabeçalhos distributed trace por @obenkenobi em 2422
- Corte a parte "assinatura" do final do nome do tópico no cliente do Azure Service Bus por @jbedell-newrelic em 2440
- Corrigir configuração AutoConfiguredOpenTelemetrySdk por @jasonjkeller em 2451
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 v1
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.> include_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
- Barramento de Serviço do Azure 7.15.0 instrumentação por @jbedell-newrelic em 2384
- Vinculando metadados para serviços de aplicativo do Azure por @jbedell-newrelic em 2399
- Erros de conexão agora registrados como SEVERE por @jtduffy em 2377
- Registrar e ofuscar chaves inválidas adicionadas como atributo aos logs e eventos por @jtduffy em 2388
Correções
- Realocar a biblioteca de anotações do IntelliJ por @meiao em 2383
- Suporte à configuração sampling_target do lado do servidor por @jtduffy em 2386
- Remover a instrumentação MonoFlatMapMain para corrigir possíveis vazamentos de memória por @deleonenriqueta em 2400
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 v1
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.> include_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.
Cuidado
Known issues: This release has a known issue with certain uses of Netty Reactor that can cause memory leaks. Please consider using another version.
New features and improvements
- Enhances visibility into Reactor
Mono.flatMapcalls 2308 - Adds new instrumentation for Spring-Kafka and distributed tracing when using the core Kafka client library 2312
- Adds
KafkaConsumerConfigevent support for Kafka 3.7+ 2358
Fixes
Fixes the
distributed_tracing.samplerconfig 2330Fixes 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=true2334Fix 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 2353
Allows the
org.cracJAR to be shadowed to prevent conflicts with customer environments. 2344Backports changes made in PR #1927 to prevent
NullPointerExceptionsto older versions of thevertx-coreinstrumentation 2327Prevents excessive transaction segments from being created by
HttpUrlConnectionmethod 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 innewrelic.yml. Default setting istrue(i.e. non-externalgetInputStreamand other response handler methods will be reported as before). 2365
Security
- Upgrades the
com.newrelic.agent.java:infinite-tracing-protobuffor better security with infinite tracing 2339 - Replaces
snakeyamlwithcom.konloch:safeyamlto address a security vulnerability 2333
Deprecations
The following instrumentation modules are deprecated and will be removed in the next major release:
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
IAST
CSEC Version Update to 1.7.0 2348
Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.7.0
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.> include_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.