Java Release Notes

Recent Java agent release notes are listed below. If you would like a release that has been used extensively with a list of known issues, see Established releases (Java) for download link and version information.

Java Agent Release Notes

Friday, June 14, 2013 - 15:58 Download


  • 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.

Wednesday, May 29, 2013 - 17:23 Download


  • Play 2 Instrumentation

    Provides insight into Play 2.x Java and Scala applications. Adds instrumentation to Netty server, Akka actor calls, Scala Promises and Futures, and the WS API calls.

    Known issue: Request parameters are not captured properly even if capture_params is enabled.

  • Support added for Jetty 9 (tested on 9.0.0 through Jetty 9.0.3).

  • Fix: Agent can cause java.lang.VerifyError on code compiled with Java 7

    In certain cases, if your application code or third party libraries are compiled with Java 7, you may get a java.lang.VerifyError. This fix allows the agent to work correctly in those cases.

  • Fix: The Java Agent detects status codes for Apache Felix correctly by default. The property take_last_status is now deprecated.

Tuesday, May 7, 2013 - 20:07 Download


  • New metrics are displayed under the JVM tab

    While the metrics displayed differ between application servers, common metrics include loaded class count, active thread count, active thread count per thread pool, active session count per application, and active transaction count. In order to see these metrics, JMX must be enabled on your app server.

  • Fix: When naming transactions, the property enable_auto_transaction_naming should be honored

    There was an issue where transactions using the Spring Framework were ignoring the property.

  • Fix: Strip query string from HTTP Referer

    Query strings can potentially contain sensitive information. To prevent that data from being sent to New Relic, only the host and path portion of the referer are captured.

Wednesday, April 17, 2013 - 21:33 Download


  • Fix: Fixed bug in which application code can throw NoSuchMethodError

    In some cases using Java agent 2.17.0 and 2.17.1, application code was throwing an exception

    java.lang.NoSuchMethodError: java.lang.Boolean.valueOf(B)Ljava/lang/Byte;

    This usually occurred when calling a ResultSet implementation.

Friday, April 12, 2013 - 21:17


  • Fix: Reverted transaction naming change on ColdFusion, introduced in 2.17.0.

    That change caused issues with certain modes of ColdFusion.

Thursday, April 11, 2013 - 22:43


  • Agent reports JDBC ResultSet query time

    This change gives you deeper insight into your database time by displaying ResultSet processing time in aggregate metrics and transaction traces.

  • Fix: Avoid retransform exception on IBM JREs

    In some IBM JRE versions, the agent logged an INFO level exception and did not instrument select classes. This fix allows these classes to be instrumented properly.

  • Adds a stack trace in a transaction trace for all methods taking longer than stack trace threshold. This differs from 2.16 which only provided stack traces for a limited number of methods.

  • Better transaction naming on ColdFusion

Monday, March 25, 2013 - 22:03 Download


  • Adds a stack trace in the transaction trace for slow methods.

    This change provides additional insight into your slowest transactions.You can adjust how slow a method is before it generates the stack trace by setting stack_trace_treshold (in seconds).

      stack_trace_threshold: 1.0
  • Cross Application Tracing support for HttpURLConnection.

    Adds request and response headers to external calls using the HttpURLConnection library to provided better performance data when calling applications monitored by other New Relic Agents (Java, .NET, and Ruby, with others coming soon).

  • Fix: Cross Application Tracing does not correlate consistently when using WebSphere, WebLogic, Resin, and Glassfish.

    Cross Appplication Tracing did not correlate calling and called applications when the HTTP response was large.

  • Queuing time more broadly supported.

    The 'X-Queue-Start' and 'X-Request-Start' request headers for Heroku and other front-end web servers are interpreted and reported. Previously, queuing time was not reported for Heroku.

  • Work-around for Oracle JVM bug that in rare cases causes a native memory leak

    In rare cases, the Oracle JVM can leak native OS memory (not heap space) when classes are intercepted by the agent. This setting turns off interception of classes that are loaded after the given number of seconds. The agent will continue to monitor classes loaded before this time.

      shutdown_delay: 3600
Wednesday, March 13, 2013 - 21:43 Download


  • Fix: Cross Application Tracing does not correlate consistently when using Tomcat 6+

    Cross Appplication Tracing did not correlate calling and called applications when the called application ran in Tomcat 6 or later and the HTTP response was greater than about 7k.

Thursday, February 28, 2013 - 23:06 Download


  • Cross Application Tracing

    The Cross Application Tracing feature adds request and response headers to external calls using the Apache HttpClient libraries to provided better performance data when calling applications monitored by other New Relic Agents (Java, .NET, and Ruby, with others coming soon).

    The 2.14.0 release links aggregated data across applications. This release also links transaction traces.

    The configuration setting introduced in 2.14.0 to enable/disable Cross Application Tracing in newrelic.yml has changed. The old setting: 'cross_application_tracing: true' is deprecated. The new setting is

       enabled: true

    The default setting is true. Set to false to disable Cross Application Tracing.

  • Instrumentation added for the AmazonS3Client version 1.x

    The New Relic Agent now offers support for version 1.0 to current of the interface.

  • New Relic Java Agent support a daily roll over log

    To roll over the agent log every day, set the property log_daily to true. Set the property log_file_count to the number of day logs you would like to keep.

  • New Relic Java Agent now communicates with New Relic via HTTPS by default rather than HTTP

    If you have an existing installation and wish to use HTTPS to communicate with New Relic, edit your newrelic.yml file to include

    ssl: true

    in the common section. We recommend this for existing customers in order to improve the security of your communications with New Relic.

  • Java Agent installer improvements

    The Java Agent installer now supports JBoss 7.x AS and JBoss 6.x EAP in standalone mode. Instructions for manually installing the Java Agent on JBoss 7.x AS and JBoss 6.x EAP can be found at

  • Fix: Default hostname reported

    This release reverts the change in 2.14.0 that effected the way that the hostname is reported. With this release, the agent reports the default hostname rather than short form in order to correlate with New Relic server monitoring.

  • Fix: Web transactions naming in Spring MVC version 3.x

    This bug caused customers using Spring 3.0.1 and above to often have web transactions named by the servlet rather than controller method. This has been fixed such that a separate metric is created for each controller method.

Friday, February 15, 2013 - 23:38 Download


  • Fix: Application errors using The bug, introduced in 2.14.0, could cause errors in code that uses Possible errors could occur in XML parsing, incorrect http response status, or BeanCreationException in Spring. As part of this fix the agent does not add a 'X-NewRelic-ID' header to outbound requests using
Friday, February 8, 2013 - 00:03 Download


  • Fix: New Relic includes property take_last_status to only grab the final http status code.

    By default, New Relic reports any error status code. However, when this property is set to true, only the last http status code will be reported. This property should be set when using Apache Felix.

  • Fix: New Relic now correctly patches Apache Felix ClassLoaders.

  • Fix: Time will now display correctly for the first hour of the day when using log4j.

  • Fix: RUM header was missing a semicolon at the end of the last statement. Some browsers prefer semicolons everywhere.

  • Adds a 'X-NewRelic-ID' header to outbound requests using the Apache HttpClient or HttpURLConnection libraries. This change helps improve the correlation of performance between services in a service-oriented architecture for a forthcoming feature. In the meantime, if you wish to disable the header, set 'cross_application_tracing: false' in newrelic.yml.

  • Fix: Java agent now reports hostnames consistent with the output of "hostname -s" to match all other agents

  • Add report of physical server memory (in addition to JVM memory) on Unix/Linux machines

Wednesday, January 16, 2013 - 19:42 Download


  • Agent can be configured to not send JVM arguments to the New Relic server

    The property send_jvm_props can be set to false, which will cause JVM arguments to no longer be sent to the server. Use this setting if you set sensitive system properties on the command line.

  • Agent reports full URL in external service calls for transaction traces

    The agent now will provide the full URL if available in transaction traces for external calls.

  • Fix: ResinServletTracerFactory no longer causing SkipServletTracerFactory errors

    When hitting the ResinServletTracerFactory inside a transaction, a SkipServletTracerFactory excetion will no longer be thrown.

  • Agent logging improvements

    We have improved the clarity of logging messages, adjusted logging levels to be more appropriate, and increased logging performance.

Thursday, December 6, 2012 - 22:56 Download


  • Agent reports jars used by applications to the Environments tab in the UI

    The Environments tab in the New Relic UI now shows the jars used by your application.

  • Fix: In certain cases, auto-RUM of JSP breaks HTML

    An angle-bracket in quotes in a META tag causes the agent to produce invalid HTML for JSP. The fix produces valid HTML for this case.

  • Fix: Key Transaction ApdexT value not used

    In v2.10 - v2.11, the application-level ApdexT value is used for Key Transactions rather than the ApdexT for the Key Transaction itself. In this release, the ApdexT for the Key Transaction is used.

  • Fix: With OC4J using PolicyClassLoader, no metrics displayed

    In the case where OC4J uses the PolicyClassLoader, the agent generates a java.lang.StackOverflowError in the log and does not provide metrics. In this release, the error does not occur.

  • Fix: External metrics for HttpClient include port if host is an IP address

    In the case where an external service call uses HttpClient with an IP address rather than a hostname, the port number is also included. In this release, the port number is not displayed.

Wednesday, November 28, 2012 - 17:00 Download


  • Support Jetty Continuations
  • Support Servlet 3.0 async API for WebSphere
  • Bug fix: java.lang.ClassCircularityError in JBoss
  • Bug fix: Agent does not detect Solr 4.0
  • Bug fix: NewRelicIgnoreApdex annotation ignored
Tuesday, November 13, 2012 - 21:40 Download


  • Remove stall detection
Wednesday, October 31, 2012 - 16:39 Download


  • Instrumentation of Servlet 3.0 async processing. Processing initiated by startAsync is included in metrics and transaction traces.
  • Custom instrumentation configured through an XML file. For details see the documentation.
  • Request attribute for setting app name now allows multiple app names
  • Bug fix: auto RUM inserts header and footer into script tags
Tuesday, October 9, 2012 - 16:21 Download


  • Support for Key Transactions. Key Transactions let you closely monitor these important key business transactions and receive alerts when they are performing poorly. For more information see the full documentation.
  • More metrics available in Custom Dashboards
Tuesday, September 11, 2012 - 21:50 Download


  • Supports basic proxy authentication for the case where there is a proxy server between the agent and the internet. The configuration uses proxy_user and proxy_password settings.
  • To avoid reporting the same transaction trace repeatedly, the agent reports a number of the slowest transactions.
  • Bug fix: Transaction trace reported to wrong app if enable_auto_app_naming and browser requested a transaction trace
Tuesday, July 31, 2012 - 15:57 Download


  • Add skipTransactionTrace element to @Trace annotation to tell Agent to drop method from transaction trace
  • Add -Dnewrelic.bootstrap_classpath=true system property to append newrelic.jar to bootstrap classpath
  • Support RUM reporting to multiple applications (RUM3)
  • Bug fix: Asynchronous processing time not reported correctly in Play 1.2.4
  • Bug fix: CXF transaction names not set to URI path if protocol is https
Wednesday, June 6, 2012 - 17:33 Download


  • Java 7: Native support for instrumenting classes compiled to Java 7 bytecode
  • Audit Mode: mode which logs all data sent to New Relic in the newrelic_agent.log
  • Bug fix: Prevent agent instrumentation from changing the Serial Version UID (introduced in 2.2.0)
  • Bug fix: Prevent memory leak when client applications start and subsequently stop a thread before completing a transaction (introduced in 2.2.0)
  • Bug fix: Prevent stack overflow exception when executing queries using the Postgres 9.0.x JDBC driver
  • Bug fix: Fix dispatch handler instrumentation for Jetty 7.5.* (introduced in 2.5.0)
  • Bug fix: Set the application port correctly under Jetty 4.*
  • Bug fix: Make the transacation_tracer configuration settings respect command line and environment overrides