New APIs
- Added getTraceMetadata(). This provides information about the currently executing trace, including the trace and span ids as well as it’s sampled state
 - getTraceId(), which provides the currently executing trace’s identifier from the 
TraceMetadata. - getSpanId(), which provides the span identifier associated with the currently executing span from the 
TraceMetadata. - isSampled(), returns whether or not the current transaction is part of a sampled distributed trace from the 
TraceMetadata. - Added getLinkingMetadata(), which provides an opaque map of key/value pairs that can be used to correlate this application in the New Relic backend.
 
Fixes
- Spring Webflux WebClient would not track external calls when constructed with 
baseUrl(String baseUrl) - The 
NewRelic.getAgent().getConfig().getValue()api would not check configuration values set via environment variables - The agent’s completable-future instrumentation could hold a reference to 
Tokens after they were expired, which could cause excessive memory usage. - Error traces could report to the wrong application when 
auto_app_namingis enabled and there were errors from two different application names getting reported during the same harvest - The agent’s MongoDB instrumentation would instrument the same builder used by the async and reactive-streams drivers, resulting in excessive memory usage and incorrect transaction times. Note: The agent will no longer instrument the sync MongoDB driver if the async and/or reactive-streams drivers are on the application’s 
classpath.