New features and improvements
- Adds Java 26 support https://github.com/newrelic/newrelic-java-agent/pull/2734
- Adds Serverless mode for AWS Lambda monitoring with the Java agent https://github.com/newrelic/newrelic-java-agent/pull/2609 https://github.com/newrelic/newrelic-java-agent/pull/2615 https://github.com/newrelic/newrelic-java-agent/pull/2625 https://github.com/newrelic/newrelic-java-agent/pull/2633 https://github.com/newrelic/newrelic-java-agent/pull/2640 https://github.com/newrelic/newrelic-java-agent/pull/2641 https://github.com/newrelic/newrelic-java-agent/pull/2647 https://github.com/newrelic/newrelic-java-agent/pull/2673 https://github.com/newrelic/newrelic-java-agent/pull/2716 https://github.com/newrelic/newrelic-java-agent/pull/2721 https://github.com/newrelic/newrelic-java-agent/pull/2735 https://github.com/newrelic/newrelic-java-agent/pull/2723 https://github.com/newrelic/newrelic-java-agent/pull/2740 https://github.com/newrelic/newrelic-java-agent/pull/2769 https://github.com/newrelic/newrelic-java-agent/pull/2782 https://github.com/newrelic/newrelic-java-agent/pull/2794 https://github.com/newrelic/newrelic-java-agent/pull/2797 https://github.com/newrelic/newrelic-java-agent/pull/2796 https://github.com/newrelic/newrelic-java-agent/pull/2806
- Adds new
application_logging.forwarding.log_level_denylistconfig https://github.com/newrelic/newrelic-java-agent/pull/2764 - Implements region aware event/metric ingest URIs https://github.com/newrelic/newrelic-java-agent/pull/2749 https://github.com/newrelic/newrelic-java-agent/pull/2790 https://github.com/newrelic/newrelic-java-agent/pull/2790
- Adds support for associating logs to corresponding entity when
enable_auto_app_namingistruehttps://github.com/newrelic/newrelic-java-agent/pull/2627 - Add
opentelemetry-sdk-extension-autoconfigure-1.59.0instrumentation for OpenTelemetry 1.59.0+ https://github.com/newrelic/newrelic-java-agent/pull/2786 - Adds support for associating adaptive sampler to corresponding entity when
enable_auto_app_namingistruehttps://github.com/newrelic/newrelic-java-agent/pull/2805 - Adds supportability metrics for each entity created when
enable_auto_app_namingistruehttps://github.com/newrelic/newrelic-java-agent/pull/2808 - Implements Cloud Metadata Bypass Proxy config https://github.com/newrelic/newrelic-java-agent/pull/2791
- Adds support for multiple versions of Caffeine in the agent https://github.com/newrelic/newrelic-java-agent/pull/2807
- Adds support for explain plans that utilize SQL arrays https://github.com/newrelic/newrelic-java-agent/pull/2815
- Adds generic 'Queue' as a transport type https://github.com/newrelic/newrelic-java-agent/pull/2820
- Adds support for Reactor Netty Http client calls https://github.com/newrelic/newrelic-java-agent/pull/2817
Fixes
- Fixes an edge case where ill-formed payloads caused an NPE when accessing the
sampledfield on the NR payload https://github.com/newrelic/newrelic-java-agent/pull/2762 - Expires Tokens when a Reactive Subscription is canceled https://github.com/newrelic/newrelic-java-agent/pull/2798
- Adds logic to manually evict any dead threads from the
TheadTrackercache to prevent a memory leak https://github.com/newrelic/newrelic-java-agent/pull/2811 - Resolves a deadlock between harvest thread and JVM shutdown thread https://github.com/newrelic/newrelic-java-agent/pull/2539
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.jarandnewrelic.jarinto the original Java agent root directory. - Compare your old
newrelic.ymlwith the newly downloadednewrelic.ymlfrom 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.> 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.