Releases: newrelic/newrelic-java-agent
Version 8.17.0
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
Full Changelog: v8.16.0...v8.17.0
Version 8.16.0
New features and improvements
-
Obfuscate JVM properties by @kanderson250 in 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 by @meiao in 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 by @deleonenriqueta in 2095
-
Report if agent was installed via Azure site extension by @jtduffy in 2094
-
Lazy initialization of GUIDs on DefaultTracers by @yuzawa-san in 2088
-
Java HttpClient: Addition of status code to reported externals by @jtduffy in 2089
-
AWS Lambda: populate
cloud.resource_id
using data from Cloud API by @meiao in 2115 -
Kinesis Data Streams: populate
cloud.resource_id
by @obenkenobi in 2112
Fixes
-
Use recordResponseTimeMetric instead of recordMetric by @Matzz in 2128
-
Use WeakReference HttpUrlConnection instrumentation by @obenkenobi in 2082
-
Fix a bug where Jetty 12 would not properly link distributed traces by @obenkenobi in 2140
-
Update to JFR daemon 1.13.0 by @jasonjkeller in 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
New Contributors
- @yuzawa-san made their first contribution in #2088
- @Matzz made their first contribution in #2128
Full Changelog: v8.15.0...v8.16.0
Version 8.15.0
New features and improvements
- Addition of AWS Lambda SDK instrumentation by @meiao in 1998
- Reporting of Flyway migration events by @jtduffy in 2021
- Add support for using an environment variable for config file location by @jtduffy in 2022
- Support AWS Kinesis V1 and V2 SDKs by @obenkenobi in 2031
- Addition of kafka-clients-node-metrics-3.7.0 Instrumentation module by @deleonenriqueta in 2039
- Add instrumentation for glassfish-jul-extension logging library by @jasonjkeller in 2049
- Java 23 support by @jasonjkeller in 2055
- Support reporting of ECS Fargate Docker ids by @jtduffy in 2050
- Actuator endpoint transaction naming for Spring Boot 3 by @jtduffy in 2077
Fixes
- Slick 3.5.0 instrumentation bug fix by @kanderson250 in 2025
- Protect against Http2Headers methods throwing exceptions in Netty instrumentation by @jasonjkeller in 2042
- Fix an issue where the Kinesis instrumentation is generating ERROR logs due to a NullPointerException by @obenkenobi in 2052
IAST
- CSEC version bump to 1.5 by @jtduffy in 2076
- Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.5.0
Full Changelog: v8.14.0...v8.15.0
Version 8.14.0
New features and improvements
- The Java agent supports disabling AI Monitoring at the account/organization level by @jasonjkeller in #1972
- HikariCP instrumentation now captures additional metrics by @jtduffy in #1976
- Adds new instrumentation module for
kafka-clients-metrics-3.7.0
by @obenkenobi in #2001 - Adds new instrumentation module for
jedis-5.0.0
by @deleonenriqueta in #1969 - Adds new instrumentation module for
vertx-sqlclient-4.4.2
by @jtduffy in #2004 - The
newrelic-scala-api
for Scala 3 will now be published to Maven by @kanderson250 in #1995 - New AWS MQ attributes will be added to spans by @obenkenobi in #1977
- Clarify Javadoc comments for
@Trace
API by @jasonjkeller in #2009
Fixes
- Netty instrumentation will start transactions for HTTP/2 requests by @jasonjkeller in #1994
- Fixes a
netty-reactor
issue that was causing high memory usage by @jbedell-newrelic in #1978
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 by @jtduffy in #2010
- Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.4.1
Full Changelog: v8.13.0...v8.14.0
Version 8.13.0
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
Full Changelog: v8.12.0...v8.13.0
Version 8.12.0
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
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
Full Changelog: v8.11.0...v8.12.0
Version 8.11.1
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
Full Changelog: v8.11.0...v8.11.1
Version 8.11.0
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: false
Configuration via system property:
-Dnewrelic.config.opentelemetry.sdk.autoconfigure.enabled=false
-
Treat 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
Full Changelog: v8.10.0...v8.11.0
Version 8.10.0
This agent version introduced a bug that may cause significant increases in CPU and memory usage and potential deadlock if your application uses HttpUrlConnection (or any libraries that use it under the hood). This issue has been resolved in the 8.11.0 agent. Alternatively, disabling the HttpUrlConnection instrumentation would prevent the issue
(for example -Dnewrelic.config.class_transformer.com.newrelic.instrumentation.httpurlconnection.enabled=false
).
PLEASE NOTE: Disabling this instrumentation will result in external calls made by the client no longer getting recorded. We strongly recommend using the latest agent versions, which include all recent 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 above 152, 118, 116
- Jersey Support: The security agent now also supports Jersey 2.0 and above 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 above 106
- Lettuce Support: The security agent now also supports Lettuce 4.4.0.Final and above 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
Full Changelog: v8.9.1...v8.10.0
Version 8.9.1
Fixes
- Check
HttpHost
instance for null prior to dereferencing it when certain execute() methods are called 1722 - Do an
instanceof
check in thecomplete()
method prior to class cast 1719 - Null check on the response object prior to 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
Full Changelog: v8.9.0...v8.9.1