New features and improvements
Support for CRaC 2250
Support for JDK24 2284
Added 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
andremote_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.
- 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
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: trueSupport for Couchbase Client 2203
- If the Couchbase Client Experimental Module is currently in use, remove it from your extensions directory before upgrading to this version of the Java Agent.
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: trueRefactor 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
- 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
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
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.jar
andnewrelic.jar
into the original Java agent root directory. - Compare your old
newrelic.yml
with the newly downloadednewrelic.yml
from 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
Suporte para CRaC 2250
Suporte para JDK24 2284
Opções de amostragem adicionadas quando existe um traceparent de entrada 2279
- Essas opções definem como o agente deve lidar com a amostragem de intervalos, dependendo das decisões de amostragem que foram tomadas para seu intervalo por uma entidade upstream. As opções de configuração
remote_parent_sampled
eremote_parent_not_sampled
especificam o que fazer caso o intervalo pai tenha sido amostrado ou não amostrado, respectivamente. Consulte a documentação para obter detalhes completos da configuração.
- Essas opções definem como o agente deve lidar com a amostragem de intervalos, dependendo das decisões de amostragem que foram tomadas para seu intervalo por uma entidade upstream. As opções de configuração
Suporte para Undertow como um módulo autônomo 2269
- Esta instrumentação é desabilitada por padrão para evitar conflitos com a instrumentação Wildfly existente. Para habilitar essa instrumentação para aplicativos de servidor Undertow autônomos, use a configuração:
class_transformer:com.newrelic.instrumentation.undertow-server-1.1.0:enabled: trueSuporte para o cliente Couchbase 2203
- Se o Módulo Experimental do Cliente Couchbase estiver em uso, remova-o do seu diretório de extensões antes de atualizar para esta versão do agente Java.
Correções
Corrigir transações netty 'Desconhecidas' 2274
- Esta correção move alterações anteriores da instrumentação do netty para trás de um sinalizador de recurso, o que fornece visibilidade adicional em alguns casos envolvendo transações HTTP2. Para reativar essa granularidade (ao possível custo de ver transações "Desconhecidas"), use a configuração:
netty:http2:frame_read_listener:start_transaction: trueRefatore a busca de ID do Docker da AWS para usar o tempo limite de 5s 2275
sinalizador de recurso para aplicar a correção Kotlin
ArrayIndexOutOfBoundsException
a todos os métodos 2307- Esta correção corrige erros que podem ser vistos ao executar o agente Java em um ambiente onde funções de suspensão do Kotlin são usadas. Para usar esta correção, defina a propriedade do sistema
-Dnewrelic.config.class_transformer.clear_return_stacks=true
- Esta correção corrige erros que podem ser vistos ao executar o agente Java em um ambiente onde funções de suspensão do Kotlin são usadas. Para usar esta correção, defina a propriedade do sistema
Impedir bloqueio de cache para análise de instruções longas de BD 2294
Adicionar configuração para especificar se java.sql é carregado pelo carregador de classes de plataforma 2267
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.0
java.completable-future-jdk8
play-2.3
netty-3.4
Struts 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.jar
enewrelic.jar
no diretório raiz original do agente Java. - Compare seu
newrelic.yml
antigo com onewrelic.yml
recé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.
New features and improvements
- 2238 Support Adding Labels to APM Forwarded Logs by @deleonenriqueta
- 2246 Update Config File to Include APM Forwarded Log Labels Options by @deleonenriqueta
- 2243 Add response attributes for http4s server modules by @kanderson250
- 2230 Default proxy_scheme setting to "http" by @jtduffy
- 2259 Add support for server-side application logging configs by @obenkenobi
Fixes
- 2228 invokeSuspend edge case fix by @kanderson250
- 2258 Rename and reenable aws sqs modules by @kanderson250
- 2245 Update JFR service to run as a daemon by @kanderson250
IAST
- CSEC Version bump to 1.6.1 2252
- Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.6.1
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.jar
andnewrelic.jar
into the original Java agent root directory. - Compare your old
newrelic.yml
with the newly downloadednewrelic.yml
from 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.
New features and improvements
- 2172 Add scala3 source detection by @kanderson250
- 2185 Vertx: decrease amount of tokens created by @meiao
- 2199 Instrumentation module for Struts2 v6.7.0 by @jtduffy
- 2203 Kafka 3.9 support by @meiao
- 2204 Sqs distributed trace by @obenkenobi
- 2202 Kafka clients node metrics by @meiao
Fixes
- 2187 Fix edge case in JsonTemplateLayout with certain escaped sequences by @jtduffy
- 2191 Correct Apdex on transaction event if an error is present by @jtduffy
- 2192 Don't add null port to hostname attribute on JFR events by @jasonjkeller
- 2197 Fix memory issue with httpclient-5.0 instrumentation by @jasonjkeller
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.jar
andnewrelic.jar
into the original Java agent root directory. - Compare your old
newrelic.yml
with the newly downloadednewrelic.yml
from 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.
New features and improvements
- Add support for jdbc-mariadb 3.0.0 till latest and r2dbc-mariadb 1.1.2 till latest - credit to @dhilpipre - clone of 2142 by @jtduffy in 2146
- Auto discover AWS account ID in the DynamoDB instrumentation by @meiao in 2148
- Auto discover AWS account ID in the Lambda sdk instrumentation by @meiao in 2167
- Support pekko-http on scala 3 for versions 1.0.0 till latest by @kanderson250 in 2163
- Allow JFR queue size and harvest interval to be configured via agent config by @jtduffy in 2168 New configs are:
jfr: # The time interval, in seconds, of how often JFR data is sent to New Relic. # The default is 10 seconds. harvest_interval: 10
# The size of the queue used to store JFR events. Increasing this can reduce gaps in JFR reported data # but can also cause resource issues in the agent or cause data to be dropped if backend pipeline # limits are exceeded. # See: https://docs.newrelic.com/docs/data-apis/ingest-apis/event-api/introduction-event-api/#limits # https://docs.newrelic.com/docs/data-apis/ingest-apis/metric-api/metric-api-limits-restricted-attributes/ # Default is 250000 queue_size: 250000
- Add AWS Firehose SDK Instrumentation for versions 2.1.0 till latest by @obenkenobi in 2149
- Implement a new instrumentation module for r2dbc-mysql 1.1.3+ by @jbedell-newrelic in 2169
- Memory usage reduced for the r2dbc-mssql and m2dbc-mysql modules by @jbedell-newrelic in 2169
- Log when multiple, different, traceparent headers found on inbound request and only report
invalid parent header count
supportability metric when that scenario occurs by @jtduffy in 2154 - Expected NPE in noticeTracer no longer logs full stack trace by @jasonjkeller in 2143
Fixes
- Resolved a potential token timeout issue with the reactor-3.3.0 module by @jbedell-newrelic in 2169
IAST
- CSEC version bump to 1.6.0 2173
- Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.6.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.jar
andnewrelic.jar
into the original Java agent root directory. - Compare your old
newrelic.yml
with the newly downloadednewrelic.yml
from 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.
New features and improvements
- Obfuscate JVM properties 2114
The Java agent will now obfuscate values passed to JVM properties. For example:-Dprop=12345
will now be sent as-Dprop=obfuscated
. The documentation has information on how to disable obfuscation and how to add exceptions.
- Cloud API 2081
The Cloud API allows cloud provider account information to be provided to the agent. This will allow the agent to populate thecloud.resource_id
attribute in calls to select cloud services.
The API documentation has information on how to use it programmatically.
This information can also be provided using a configuration option.
Support distributed tracing for Kafka Stream 3.7.x 2095
Report if agent was installed via Azure site extension 2094
Lazy initialization of GUIDs on DefaultTracers 2088
Java HttpClient: Addition of status code to reported externals 2089
AWS Lambda: populate
cloud.resource_id
using data from Cloud API 2115Kinesis Data Streams: populate
cloud.resource_id
2112DynamoDB: populate
cloud.resource_id
2113
Fixes
Use recordResponseTimeMetric instead of recordMetric 2128
Use WeakReference HttpUrlConnection instrumentation 2082
Fix a bug where Jetty 12 would not properly link distributed traces 2140
Update to JFR daemon 1.13.0 2129
This update changes the HTTP client used, which caused problems with some proxies.
IAST
CSEC version bump to 1.5.1 2076
Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.5.1
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.jar
andnewrelic.jar
into the original Java agent root directory. - Compare your old
newrelic.yml
with the newly downloadednewrelic.yml
from 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.
New features and improvements
- Addition of AWS Lambda SDK instrumentation 1998
- Reporting of Flyway migration events 2021
- Add support for using an environment variable for config file location 2022
- Support AWS Kinesis V1 and V2 SDKs 2031
- Addition of kafka-clients-node-metrics-3.7.0 Instrumentation module 2039
- Add instrumentation for glassfish-jul-extension logging library 2049
- Java 23 support 2055
- Support reporting of ECS Fargate Docker ids 2050
- Actuator endpoint transaction naming for Spring Boot 3 2077
Fixes
- Slick 3.5.0 instrumentation bug fix 2025
- Protect against Http2Headers methods throwing exceptions in Netty instrumentation 2042
- Fix an issue where the Kinesis instrumentation is generating ERROR logs due to a NullPointerException 2052
IAST
- CSEC version bump to 1.5 2076
- Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.5.0
Full Changelog: https://github.com/newrelic/newrelic-java-agent/compare/v8.14.0...v8.15.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.jar
andnewrelic.jar
into the original Java agent root directory. - Compare your old
newrelic.yml
with the newly downloadednewrelic.yml
from 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.
New features and improvements
- The Java agent supports disabling AI Monitoring at the account/organization level 1972
- HikariCP instrumentation now captures additional metrics 1976
- Adds new instrumentation module for
kafka-clients-metrics-3.7.0
2001 - Adds new instrumentation module for
jedis-5.0.0
1969 - Adds new instrumentation module for
vertx-sqlclient-4.4.2
2004 - The
newrelic-scala-api
for Scala 3 will now be published to Maven 1995 - New AWS MQ attributes will be added to spans 1977
- Clarify Javadoc comments for
@Trace
API 2009
Fixes
- Fixes a
netty-reactor
issue that was causing high memory usage 1978 - Netty instrumentation will start transactions for HTTP/2 requests 1994
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
spring-3.0.0
netty-3.4
Struts v1
IAST
- CSEC Version bump to 1.4.1 2010
- Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.4.1
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.jar
andnewrelic.jar
into the original Java agent root directory. - Compare your old
newrelic.yml
with the newly downloadednewrelic.yml
from 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.
New features and improvements
- Add attributes to AWS SQS spans that allow linking to SQS entities 1954
- Add support for Graphql 22.0+ 1912
- Add support for JSP v4 1951
- Add instrumentation for HikariCP 2.4.0 to replace existing extension module.1964
- Note: If the New Relic HikariCP incubator module is currently in use, delete it from the new relic jar’s extension folder before upgrading to this version of the Java Agent.
- Enhance CompletableFuture instrumentation for JDK11+ 1908
- Enable RUM script injection via JSP v3 Tag library 1943
- Fetch the docker container ID for ECS Fargate instances 1952
Fixes
- Fix R2dbc postgresql 0.9.2 instrumentation to prevent memory leaks 1916
- Update vertx-web instrumentation to start transactions for HTTP/2 requests 1959
- Update JFR Instance Naming to display correct number of JVMs 1928
- Close instrumentation gap for akka-http 10.2.0+ 1955
- Start transactions in the Jetty12 core server 1950
- Clean up dtTracers and externalTracers after exceptions to prevent memory leaks 1902
- Add security-related class excludes during normal class transformer creation 1918
- Add null checks to vertx 4.5.1 instrumentation 1927
IAST
Deprecations
- The browser footer injection APIs have been deprecated and will be removed in a future agent release. The header injection API now adds both the header and footer scripts. 1679
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
spring-3.0.0
netty-3.4
Struts 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.jar
andnewrelic.jar
into the original Java agent root directory. - Compare your old
newrelic.yml
with the newly downloadednewrelic.yml
from 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.
New features and improvements
- Add support for Java 22 1819
- Add AI Monitoring support for AWS SDK for Java v2 Bedrock Runtime Client versions 2.20.157 and above 1837
- Enhance log forwarding to include caused by section 1857
- Add support for Pekko Http 1850
- Add local decorating for Log4j 2 users utilizing JsonTemplateLayout 1866
- Performance improvements on SQL checks 1887
Fixes
- Resolve various thread hopping issues with Spring Reactor call chains 1883
- Refactor the daily logfile rolling job to support all platforms 1888
- Fix Ning memory leak 1903
IAST
- Update Security Agent to Public Release version
1.3.0
1896 - Changes/Fixes
Deprecations
The browser footer injection APIs have been deprecated and will be removed in a future agent release. The header injection API now adds both the header and footer scripts. 1679
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
spring-3.0.0
netty-3.4
Struts 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.jar
andnewrelic.jar
into the original Java agent root directory. - Compare your old
newrelic.yml
with the newly downloadednewrelic.yml
from 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