Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Percentiles and Histograms
The Java Agent now captures data that provides percentile and histogram views in the New Relic UI.
JAX-RS annotation instrumentation
The Java Agent now instruments and names web transactions based on javax.ws.rs annotations.
JAX-WS instrumentation
The Java Agent now instruments methods on classes that are marked with the javax.jws.WebService annotation.
Fix: In some cases, agent had excessive overhead on Spring AOP apps
The agent should now perform well for any Spring AOP application.
Fix: Play Framework instrumentation was ignoring the ignoreTransaction call
The Play Framework 2.x instrumentation now honors the New Relic API ignoreTransaction call.
Fix: Potential memory leak when app continually creates ClassLoaders
The Java Agent now handles applications where ClassLoaders are continuously created.
Fix: Agent zip distribution did not include the API source jar
The newrelic-api-sources.jar is now included in the zip file.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
Fix: Issue at startup with JBoss and Glassfish
An issue in the 3.0.0 version caused startup of some versions of JBoss and Glassfish to fail. This version fixes that issue.
Fix: RUM not auto-instrumented for JSPs
The Java Agent should auto-instrument RUM header and footer in JSPs when using the Jasper engine. This did not work in 3.0.0. This version fixes that issue.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
Spring AOP instrumentation
This version instruments any call that passes through an AOP pointcut that you have declared in your Spring application. This gives your additional insight into the call time of key Spring beans.
Performance Improvements
This version contains optimizations that reduce agent overhead.
Fixes: Hibernate improvements
In this version, we provide more consistent detail into Hibernate calls across supported version of Hibernate (3.3 - 4.2).
Fix: Removed need for WebSphere SSL work-around
Previous versions sometimes required a work-around when using WebSphere. This version removes the need for a work-around.
NOTE: Requires Java SE 6 or 7
Java Agent 3.0 requires Java SE 6 or 7. At signup or on the release notes page, you have the option to download a version of the agent that works with Java SE 5.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
Fix: Metric Grouping Issue with Netty
The request URL was referenced in some metric names, causing Metric Explosion. The URL is no longer included in the metric name.
Fix: Make Cookie parsing more robust when running on Netty
Cases where the Cookie header was malformed were causing exceptions to be thrown. Agent now makes a better effort to capture the individual valid parts.
Fix: Agent could not connect to New Relic in non-DNS environments
Fixed an issue which caused the agent to only be able to connect to New Relic in environments where DNS was used for hostname resolution.
Fix: In 2.21.2 and 2.21.3 an @Trace annotation ignored the transaction for Apdex
An @Trace annotation on a method called in a web transaction had the side-effect of ignoring the transaction for calculating the Apdex score.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
Fix: Agent did not run with J2SE 5.0 (aka JDK 1.5)
Release 2.21.0 - 2.21.2 did not run correctly on J2SE 5.0. On startup, the agent reports:
Unable to start New Relic agent: java.lang.UnsupportedClassVersionError: Bad version number in .class fileIf you are running J2SE 5.0, please update to agent version 2.21.3.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
Fix: Longer application startup time
Release 2.21.0 introduced an issue that could cause application startup to be slower than in previously releases. This fix returns application startup time to normal.
Fix: File location changes
Release 2.21.0 introduced a change to file locations within the newrelic zip file. This fix reverts the locations to what they were previously.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
Fix: In 2.21.0, calls to NewRelic class can cause NoClassDefFoundError
In 2.21.0, if your application calls the NewRelic class and does not include the newrelic-api.jar, the application would throw a NoClassDefFoundError. With this fix, the separate newrelic-api.jar is not required. However, it is recommended that your application include the newrelic-api.jar so that calls to the NewRelic API resolve with or without the agent installed.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
X-Ray sessions
Adds support for X-Ray sessions. An X-Ray session collects Transaction Traces and a thread profile for a Key Transaction.
Fix: In 2.20.0 an @Trace annotation ignored the transaction for Apdex
An @Trace annotation on a method called in a web transaction had the side-effect of ignoring the transaction for calculating the Apdex score.
Fix: HTTP status code for Errors
If the HTTP status code for a web transaction was less than 400, the HTTP status code reported in the error was 500. The actual status code for the web request is now reported.
Fix: Spring exception handling
The Exception argument in the Spring DispatcherServlet processHandlerException method was reported as an Error with an HTTP status code of 500. The actual status code in the HTTP response is now reported.
Fix: Reading Post Parameters for Resin 3
Prior to this fix, post parameters in Resin 3 were always read using the default properties even if the application tried to read the post parameters using non-default properties or by just grabbing the request input stream.
Fix: JVM Tab Metrics Not Showing up for Tomcat Applications
Prior to this fix, if the service name in service.xml was not Catalina, then metrics would not appear under the JVM tab. Additionally, if you are using an embedded Tomcat 5/6, metrics should now appear under the JVM tab.
Fix: Improved compatibility with Java 1.5
In the custom xml validator, there were references to String.isEmpty() which was not available until Java 1.6. Those have been removed.
Fix: Reducing DNS problems by not automatically adding '.' to the domain name
By default the '.' is included. But if changed, then the '.' won't be added.
Fix: JVM tab metrics showing for all Applications In JVM
Metrics under the Thread, Session, and Transaction tabs used to only appear under the main application. The data will now be shown for all applications running in the specific JVM.
Fix: Using a Proxy now works with SSL Enabled
In prior releases proxy authentication would fail when SSL was enabled. We now do proxy authentication using the java.net.Authenticator.
Fix: Akka error reporting
If an actor throws an exception or the message times out, an error is reported. Previously, no error was reported.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
Glassfish 2.1 JVM tab: The JVM tab will now show thread, session, and transaction metrics for Glassfish 2.1.
Fix: Solr cache metrics: The solr cache metrics do not appear with versions 2.18 and 2.19 of the agent. This has been fixed, and all solr metrics should now appear.
Fix: NullPointerException in New Relic agent logs when NewRelic API called: In certain circumstances, a call to a method on the
NewRelic
class can generate aNullPointerException
in the agent logs. It does not cause aNullPointerException
in your application.Fix: Support custom extension XML file for WebSphere with JRE: Prior to this fix, an attempt to use a custom extension XML file with a IBM JRE would lead to a
ClassNotFoundException
.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
- Fix for 2.19.0 known issue: Play now captures GET and POST parameters correctly if
capture_params
is enabled. - Disabled overly ambitious instrumentation used to time template rendering for Play 2. Resulted in unintended classes being instrumented.