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
Features
- Update Security Agent to Public Release version
1.2.1
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
IAST
- Update Security Agent to Public Release version
1.2.1
1870 - Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.2.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 HTTP/2 support for Netty 4.1.16.Final + 1815
Support external calls inside Spring Reactor call chains 1828
Support for Apache Pekko (i.e. the pekko-actor library). Support for Pekko HTTP coming soon. 1811
Add configuration to allow the OTel SDK integration to be completely disabled 1821
Configuration via yaml:
opentelemetry:sdk:autoconfigure:enabled: falseConfiguration via system property:
-Dnewrelic.config.opentelemetry.sdk.autoconfigure.enabled=falseTreat OpenTelemetry @WithSpan annotation as @Trace in the Java Agent API 1841
Fixes
- Fix high CPU usage with HttpURLConnection by reverting InboundWrapper changes introduced in 8.10.0 1840
- Prevent duplicate HTTP external calls when using the DynamoDB SDK 1827
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
IAST
Changes
Fixes
- Fix issue related to the instrumentation of the Rhino JavaScript Engine that occurred while reading the script 211
- Changelog: v8.10.0...v8.11.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 are 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.
Cuidado
This version of the agent introduced a bug that can cause significant CPU and memory usage increases and potential deadlocks if your application uses HttpUrlConnection
or any libraries that use it under the hood. Agent version 8.11.0 fixes this problem. Alternatively, disabling the HttpUrlConnection
instrumentation would prevent the issue. For example, -Dnewrelic.config.class_transformer.com.newrelic.instrumentation.httpurlconnection.enabled=false
.
Disabling this instrumentation will have the effect that the client's external calls will not be recorded. We strongly recommend that you use the latest agent versions. They include all the latest code fixes and provide access to the latest platform features.
New features and improvements
- Support for Spring Webflux 6.1.x 1761
- Support for Spring Batch v4.0+ 1792
- Scala 3 API 1772
- ZIO 1 instrumentation improvements 1739
- Support for ZIO 2 1778
- Enhanced clustered Solr JMX metrics 1812
- Add transaction GUID to Errors 1813
Fixes
- Prevent NullPointerException when setting the user id outside of a transaction 1762
- Disallow Real Time Profiling when High Security Mode is enabled 1764
- Prevent
ClassCircularityErrors
in some specific circumstances 1763 - Properly removing files when
log_daily
is enabled 1754 - Decreased memory held by the agent when HTTP calls are made 1775
- Prevent duplicate DT headers for gRPC 1783
- Properly updating how many log messages are sent after configuration change 1784
- Prevent exceptions when reading lambda bytecode 1794
- Reduce interval for JDBC caches 1809
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
IAST
Changes
- Ning Async HTTP client Support: The security agent now also supports
com.ning:async-http-client
1.0.0 and higher 152, 118, 116 - Jersey Support: The security agent now also supports Jersey 2.0 and higher 150, 149
- Mule Support: The security agent now also supports Mule server version 3.6 to 3.9.x 144, 143
- Jetty v12 Support: The security agent now also support Jetty version 12 and higher 106
- Lettuce Support: The security agent now also supports Lettuce 4.4.0.Final and higher 125
Fixes
- Extract Server Configuration to resolve IAST localhost connection with application for Wildfly server 192
- Trustboundary events now will have list of string as parameter schema
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.
Fixes
- Check
HttpHost
instance for null before dereferencing it when certainexecute()
methods are called 1722 - Do an
instanceof
check in thecomplete()
method before class cast 1719 - Null check on the response object before trying to report an external call 1719
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 the 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 New Relic agent directory backed up.
Update agent config differences
We add new settings to newrelic.yml
as we release new agent versions. 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 this:
➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml...107a108,119> # Whether the log events should include context from loggers with support.> 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 are moving to 7.11.0 or higher, add these new lines to your original newrelic.yml
.
Support statement:
- New Relic recommends that you upgrade the agent regularly to ensure you get the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
New features and improvements
- Instrumentation for Spring Webclient 5/6 now captures http status code and http status message 1658
- Add status code to
grpc-1.40.0
client instrumentation 1673 - Add config to set the size limit of attributes on custom events (i.e.
newrelic.config.custom_insights_events.max_attribute_value
). Default size is255
characters and the max is4095
. 1683 - Add Spring instrumentation modules to support proper transaction naming (route + HTTP method) of traditional annotated spring controllers as well as controllers that inherit annotations from interfaces, super classes or custom annotations. Note that because the new instrumentation can change transaction names, enabling this "enhanced transaction naming" is gated by the
newrelic.config.class_transformer.enhanced_spring_transaction_naming
agent configuration option, which isfalse
by default. Thanks to @mgr32 for their help with validating the naming changes. 1675 - Add instrumentation for Vert.x 4.5.x web client and futures 1704
Fixes
- Remove erroneous printing of stack trace in
SlowTransactionManager
1684 - Convert the
ProcessPointCut
over to a weaver instrumentation module to better handle cases where it is used in a multi-threaded environment. 1685
Removals
- Remove support for setting agent config with rarely used lower-case, dotted environment variable names (e.g.
newrelic.config.labels
). Customers relying on lower-case, dotted environment variables should switch to the standard upper-case, underscore names (e.g.NEW_RELIC_CONFIG_LABELS
). There are no changes to documented system property behavior (vianewrelic.config.
, server-side config, YAML, or standard environment variable (viaNEW_RELIC_
). 1598
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
IAST
- Update Security Agent to Public Release version
1.1.0
1710 - Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.1.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 are 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.