• EnglishEspañol日本語한국어Português
  • Log inStart now

Java agent release notesRSS

December 22, 2014
Java agent v3.12.1

Download this agent version

Improvements

  • Play 2 async activity is no longer tracked when transaction is ignored.
  • Reduced GC overhead when monitoring Play 2 applications.
  • Reduced memory usage when inspecting slowest SQL statements.

Config Changes

  • stack_based_naming now false by default.

    The stack_based_naming in the transaction_tracer section is now false by default. Stack-based naming caused significant overhead in many Scala applications, so it now must be set to true explicitly. Set to true for better naming of trace detail segments in Scala Play applications.

    transaction_tracer:
    stack_based_naming: true

Fixes

  • Memory leak when applications using servlets are continuously reloaded inside the JVM.
  • Memory leak with long running transactions performing a high number of external calls.
  • In some cases for JBoss application servers, two JVMs were being displayed in the UI when there was actually only one.

November 6, 2014
September 30, 2014
Java agent v3.11.0

Improvements

  • Spring Web Services
    • The Java Agent now supports Spring Web Services. Transactions are named based on the SOAP method name. The agent also reports the SOAP version, content type, and SOAP Action.
  • Support for Auto-RUM and precompiled JSPs
    • The Java agent now provides auto rum support when precompiling JSPs. To use auto rum when precompiling JSP files, add the agent as a java agent to your pre-compilation process.

Fixes

  • Fix: Under some circumstances the agent would report a LinkageError
  • Fix: Grails 2 transaction names had extra slash
  • Fix for auto-RUM
    • In some cases when a script tag is before a head tag in a JSP file, the auto RUM instrumentation was failing to place the initial New Relic header script in the page.
  • Fix: Reduce overhead of Akka instrumentation when not used in conjunction with Play/Netty
  • Fix: RabbitMQ instrumentation reported unnecessary transactions
    • basicPublish, basicGet, and nextDelivery no longer start short-lived  transactions.

August 26, 2014
Java agent v3.10.0

Improvements

  • Full support for Java SE 8

    The New Relic Java agent now supports Java SE 8! Applications can now run on a Java 8 JVM, including those compiled to target Java 8 (i.e. -target 1.8). The system property newrelic.enable.java.8 is no longer necessary.

  • @RequestMapping annotation used to name web transactions

    Where available, Spring Web Transactions are now named using the URI path pattern defined in the @RequestMapping annotation. This generally provides even more meaningful transaction names than controller methods. To disable this and revert back to naming using controllers, add this config to your newrelic.yml:

    instrumentation:
    spring_annotations:
    enabled: false
  • WebSphere JMX metrics reported when global security is enabled

    Prior to this version, JMX metrics could not be pulled by the agent with WebSphere when global security was enabled. This means custom JMX metrics in a yaml file and default JMX metrics displayed on the JVM Threads and Http Sessions tabs were not reported.

  • Servlet UserPrincipal name can be reported as an attribute

    With this release, you can enable the capturing of the UserPrincipal name so that it is available in New Relic and as a transaction trace attribute. To enable:

    class_transformer:
    com.newrelic.instrumentation.servlet-user:
    enabled: true
  • Non-Web Transactions can now be made Key Transactions with a custom apdex T

    This feature will be available in the RPM UI very soon. It requires this or a higher version of the agent.

Fixes

  • Fix: Web transactions not always reported.

    In some unusual cases the Agent stopped reporting web transactions. The agent would log an error that included the phrase "Inconsistent state"

  • Fix: WebSphere 7 reports active thread count on the JVM tab

    The thread pool active count being displayed in the UI was actually the pool size.

  • Fix: Excess error reporting in Play apps

    In Scala/Play apps, the agent was incorrectly logging errors when promises were resolved with a Failure.

  • Fix: Request headers are not read when cross application tracing is disabled

    Disabling cross application tracing using these config settings did not stop the Agent from reading request headers.

    cross_application_tracer:
    enabled: false
  • Fix: NewRelic API methods prematurely deprecated

    In 3.9.0, some API calls in com.newrelic.api.agent.NewRelic were prematurely deprecated. We are in the process of providing a more complete API for the New Relic agent. In an upcoming release, these methods may become deprecated, but with a stable and superior API alternative.

July 31, 2014
Java agent v3.9.0

New Features

  • Support for new Cross Application Trace map

    This release enhances cross application tracing with the new trace map visualization of your app's cross application calls. The new visualization helps you spot bottlenecks in external services within transaction traces and gives you an end-to-end understanding of how the transaction trace is used by other applications and services. This leads to faster problem diagnosis and better collaboration across teams. All agents involved in the cross application communication must be upgraded to see the complete graph. You can view cross application traces in the transaction trace drill-down.

  • Support for RabbitMQ

    You can now see messages sent to and received from RabbitMQ 2.7.0 or higher. The time spent processing a dequeued message is shown as a Message transaction.

  • Support for SOAP over CXF

    In this release, we provide automated instrumentation of your SOAP calls when using CXF 2.7.

Improvements

  • Absolute maximum for max_samples_stored lifted

    In previous versions of the agent, max_samples_stored could not be set to more than 10000. This restriction has been lifted, which can help avoid sampling.

Fixes

  • Enable Cross Application Tracing for all valid uses of HttpURLConnection

    Prior to this, certain uses of HttpURLConnection between two New Relic apps would fail to be recognized as Cross Application Traces and instead show up as external calls.

  • Allow customers to set the system property logback.ContextSelector

    Prior to this fix, the agent would throw a ClassNotFoundException when the system property logback.ContextSelector was set.

  • Wrong Application name in App Map when Auto App Naming is enabled

    When the enable_auto_app_naming config setting is set to true, the auto-named apps are incorrectly identified as the default app in the App Map.

July 28, 2014
Java agent v3.8.2

  • Fixed: Instrumentation missing including browser monitoring

    There was a bug in the agent that caused several instrumentation modules to not be loaded. This bug occurred when no extensions directory existed or the extensions directory was empty. This fix will allow auto-RUM to report normally. This bug was introduced in 3.8.0.

  • Fix: Missing metrics with Java 2 Security

    When Java 2 Security was enabled, the agent failed to report some metrics. This bug was introduced in 3.8.0.

  • Fix: Agent could stop reporting transactions

    For Jetty applications, the agent could stop reporting transactions if an uncaught exception was thrown. This bug was introduced in 3.6.0.

  • Fix: Agent not reporting external services in Play 2.3

    The Java Agent was not reporting calls to external services.

July 10, 2014
Java agent v3.8.1

Notes

  • Fix: EJB application transaction metrics reporting correctly for WebLogic

    In version 3.8.0 of the agent, EJB application transaction metrics for WebLogic were reporting the data as the average value per a bean instead of the total value per an application. This has been fixed and the data can now be found under the JVM tab.

  • Fix: App Map incomplete

    If a web request made an external call to another app, the app making the web request did not appear in the App Map. Moreover, subsequent external calls to other apps did not appear in the App Map either.

June 30, 2014
Java agent v3.8.0

Notes

  • Experimental support for Java SE 8

    This version includes experimental support for Java 8. Code that is known to work with Java SE 8 and compiled for Java 6 or 7 (such as Tomcat 8, Play Framework 2.3, etc) should work fine. We would like your feedback if you run into any trouble running code compiled for Java SE 8.

    Please only try this in non-production environments. We are eager for your feedback as we work to make Java 8 support production-ready. To enable Java SE 8 compatibility, set the following system property on your system:

    -Dnewrelic.enable.java.8

  • Support for Hibernate 4.3

    The Java agent now reports details on calls to Hibernate 4.3 as well as previous versions.

  • Fix: Cross-Application Tracing didn't trace when caller used WLS 11g and SOAP.

    In Oracle WebLogic Server 11g, cross-application tracing (CAT) failed for external calls originating in the default SOAP pipeline, producing an exception in the log. This bug has been fixed.

  • Fix: Old DocumentationBuilderFactory can cause agent to disable itself

    When using a DocumentBuilderFactory implementation compiled with Java 1.4 or below an abstract method error was being thrown, causing the agent to disable itself.

  • Fix: Agent not detecting async servlets in WebSphere 8.x

    The Java Agent was not detecting the call to AsyncContext.complete(), so it was not reporting async servlet calls.

June 11, 2014
Java agent v3.7.2

Notes

  • Support for Play 2.3

    The Java Agent now provides full support for Play 2.3. In particular, transaction naming is based on the controller action.

June 3, 2014
Java agent v3.7.1

Notes

  • Fix: NewRelic.setRequestAndResponse API call was not backward-compatible

    Implementation classes of the com.newrelic.api.agent.Request and com.newrelic.api.agent.Response interfaces compiled with a pre-3.5.0 version of newrelic-api.jar threw a java.lang.AbstractMethodError when used with a 3.5.0 or higher version of the Agent.

  • Fix: NewRelic.setRequestAndResponse can cause LinkageError

    For some app servers, calling NewRelic.setRequestAndResponse API caused a java.lang.LinkageError: loader constraint violation

  • Fix: ignoreTransaction attribute ignored

    The ignoreTransaction="true" attribute in custom xml had no effect. The transaction was not ignored even with "true" set.

  • Fix: In rare cases, Auto-RUM failed to add the New Relic header script to JSP pages.

  • Fix: Naming of CGLib classes

    Improved the fix in 3.7.0 for excluding the random part from the name of CGLib generated class.

  • Fix: Agent works properly inside a folder with + in the path

    Improved the fix in 3.7.0 for a directory path with a + character.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.