Skip to content

Releases: DataDog/dd-trace-java

1.46.0

30 Jan 20:55
2b2be1e
Compare
Choose a tag to compare

Breaking Changes

Warning

jnr-unixsocket is now an external dependency of dd-trace-ot and must be included when deploying dd-trace-ot.

Note

The API TracerScope.setAsync(boolean), used to manually control asynchronous span propagation, does no more apply to the scope instance but to the active span scope.

Components

Application Security Management (IAST)

Application Security Management (WAF)

Build & Tooling

  • 🐛 Ensure shaded helpers have unique names when injected into class-loaders (#8192 - @mcculls)

Configuration at Runtime

  • 🐛 Remove filtering of DD_SERVICE and DD_ENV from the tracer (#8176 - @mhlidd)

Continuous Integration Visibility

Data Streams Monitoring

  • ✨ Change hash computation for protobuf to better represent impacting changes + save proto number in schema (#8201 - @vandonr)

Database Monitoring

Dynamic Instrumentation

JMX fetch

  • 🐛 Mute JMXFetch Shutdown in progress error (#8068 - @ygree)

OpenTracing

  • ⚠️🧹 Make jnr-unixsocket an explicit dependency of dd-trace-ot (#8307 - @mcculls)

Profiling

Telemetry

  • ✨ Add pending traces report in tracer flares (#8053 - @mhlidd)

Testing

Trace context propagation

Tracer core

Instrumentations

Apache HttpComponents

  • 🐛 Properly finish spans and support latest apache httpclient5 (#8272 - @amarziali)

AWS Lambda instrumentation

AWS S3 instrumentation

  • 💡 Create S3 instrumentation + add span pointers (#8075 - @nhulston)

AWS SDK instrumentation

  • 🐛 Revert "Add avoid double instrumenting lambda non-streaming handlers." (#8247 - @nhulston)

Cassandra

Core Java language instrumentation

Eclipse Vert.x instrumentation

Kafka instrumentation

  • 🐛 Prevent possible NPE calculating Kafka record header size (#8292 - @ygree)

Mule instrumentation

Protocol Buffer instrumentation

  • ✨ Change hash computation for protobuf to better represent impacting changes + save proto number in schema (#8201 - @vandonr)

Spring instrumentation

  • 🐛 Preserve getQualifier from spring scheduling runnables (#8293 - @amarziali)

1.45.2

22 Jan 13:22
400277e
Compare
Choose a tag to compare

Components

Application Security Management (WAF)

1.45.1

14 Jan 18:53
ec1744f
Compare
Choose a tag to compare

Components

Build & Tooling

  • 🐛 🍒 #8192 - Ensure shaded helpers have unique names when injected into class-loaders (#8193 - @mcculls)

Continuous Integration Visibility

Profiling

Instrumentations

Mulesoft

1.45.0

09 Jan 10:07
v1.45.0
73f194e
Compare
Choose a tag to compare

Breaking changes

Warning

Support for custom scope manager using OpenTelemetry tracer artifact (dd-trace-ot) is dropped.
Tracing with OpenTracing API and custom scope manager will continue to work on 1.44.x releases.

Components

Application Security Management (IAST)

Application Security Management (WAF)

Build & Tooling

  • 💡 Support instrumentation of repackaged libraries (#8153 - @mcculls)
  • ✨ Configure native image build setting for JDK-22 based GraalVM (#8092 - @MattAlp)

Database Monitoring

Dynamic Instrumentation

GraalVM native-image

  • ✨ Configure native image build setting for JDK-22 based GraalVM (#8092 - @MattAlp)

ML Observability (LLMObs)

Metrics

OpenTracing

Telemetry

Testing

  • 🐛 Remove restriction to not run vertx4 latest tests on java 17 (#8133 - @vandonr)

Tracer core

  • ✨ Defer remote components to avoid OkHttp class-loading side-effects (#8131 - @mcculls)
  • ✨ Improve Context API null handling and Javadoc (#8129 - @PerfectSlayer)
  • 🐛⚡ Avoid performing blocking I/O operation on application thread (#8120 - @mcculls)
  • 💡 Introduce a shared context component, independent of tracing (#8117 - @mcculls)
  • ✨ Improves ServiceNameCollector (#8109 - @amarziali)
  • Upgrade to ASM 9.7.1 (adds new constant for Java 24) (#8097 - @mcculls)
  • 🐛 Dynamically evaluate service name for message consumers (#8088 - @amarziali)

Serverless

  • 🐛 Add avoid double instrumenting lambda non-streaming handlers. (#8073 - @purple4reina)

Instrumentations

AWS SDK instrumentation

Eclipse Vert.x instrumentation

  • 🐛 Remove restriction to not run vertx4 latest tests on java 17 (#8133 - @vandonr)

JDBC instrumentation

Jetty instrumentation

  • 🐛 Ensure jetty 12 has servlet.path starting with / (#8093 - @github-actions[bot])

JMS instrumentation

  • 🧹 Re-use javax JMS module for jakarta namespace (#8155 - @mcculls)
  • 🧹 Group javax.jms instrumentations under a single module (#8154 - @mcculls)

Reactor instrumentation

  • 🐛 Reactor: early propagate span in context when subscribing (#8166 - @amarziali)

1.44.1

13 Dec 15:46
v1.44.1
13a9a2d
Compare
Choose a tag to compare

Components

Continuous Integration Visibility

1.44.0

12 Dec 15:07
v1.44.0
4573a38
Compare
Choose a tag to compare

Known Issues

Warning

This release contains a known issue that causes failures when using Test Optimization to trace JUnit 5 tests in a Maven project where Maven Surefire is configured with forkCount > 1.
The issue is fixed in v1.44.1

Breaking Changes

Warning

Support for X-Forwarded header is dropped from default client IP resolution.
It can still be re-activated using the dd.trace.client-ip-header=x-forwarded system property, or the DD_TRACE_CLIENT_IP_HEADER=x-forwarded environment variable. See #7946.

Components

Application Security Management (IAST)

  • ✨ Set unexpected IAST exceptions to debug log level (#8044 - @smola)
  • ✨ Increase IAST propagation to StringBuffer subSequence (#8038 - @Mariovido)
  • ✨ Increase IAST propagation to StringBuilder subSequence (#8026 - @Mariovido)
  • ✨ Add IAST propagation to String valueOf (#8013 - @Mariovido)
  • ✨ Increase IAST propagation to StringBuilder append (#8010 - @Mariovido)
  • ✨ Expand SSRF support in IAST to apache-httpclient-5 and apache-httpasyncclient-4 (#7920 - @Mariovido)

Build & Tooling

Continuous Integration Visibility

Crash tracking

Data Streams Monitoring

Dynamic Instrumentation

  • ✨ Add Micronaut 4 support for code origin for spans (#8039 - @jpbempel)
  • ✨ Refactor probe matching for methods (#8021 - @jpbempel)
  • ✨ Update the CodeOriginProbe fingerprint to not rely on a stack walk (#8016 - @evanchooly)
  • ✨ Implement code origin support for grpc server entry spans (#7942 - @evanchooly)

GraalVM native-image

  • 🐛 Update Graal build-time instrumentation config for TracePropagationStyle (#8065 - @MattAlp)
  • 🐛 Fix NoClassDefFoundError: Could not initialize class DDSpanLink$EncoderHolder in Graal native-image (#8036 - @mcculls)
  • 🐛🧹 Fix native-image generation of reactive applications (#8012 - @mcculls)

OpenTracing

  • 🧹 Custom ScopeManagers are deprecated and will be removed in a future release of dd-trace-ot (#8058 - @mcculls)

Tracer core

  • ✨🧪 Service naming: split by jee deployment (#8064 - @amarziali)
  • ✨ Exclude jboss mdb proxies from instrumenting (#8061 - @amarziali)
  • ✨ Add a built-in trace interceptor for keeping traces depending of their latency (#8040 - @cecile75)
  • 💡 Introduce marker mechanism for eagerly initializing helpers (#8028 - @mcculls)
  • 💡 Add JSON component (#7973 - @PerfectSlayer)
  • ⚠️ Remove support for X-Forwarded in client IP resolution (#7946 - @smola)

Instrumentations

Apache HttpComponents

  • ✨ Expand SSRF support in IAST to apache-httpclient-5 and apache-httpasyncclient-4 (#7920 - @Mariovido)

gRPC instrumentation

JDBC instrumentation

JMS instrumentation

  • 🐛 Protect mdb from instrumenting multiple time the same event (#8062 - @amarziali)

Kafka instrumentation

OpenTelemetry instrumentation

  • 🐛 Support using OpenTelemetry Event API inside @WithSpan annotated method (#8019 - @mcculls)

Reactor instrumentation

  • 🐛🧹 Fix native-image generation of reactive applications (#8012 - @mcculls)

Spring instrumentation

  • 🐛 Avoid double instrumenting lambdas on latest spring scheduling (#8005 - @amarziali)

All other instrumentations

1.43.0

25 Nov 13:10
f2d21ae
Compare
Choose a tag to compare

Components

Application Security Management (IAST)

  • ✨ Add propagation to StringBuffer substring methods (#7992 - @Mariovido)
  • 🐛 Fix issue with call sites in super calls to constructor (#7991 - @manuel-alvarez-alvarez)
  • ✨ Add propagation to StringBuilder substring methods (#7980 - @Mariovido)
  • 🐛 Reset IAST request context on root span published (#7969 - @manuel-alvarez-alvarez)
  • ✨ Add propagation to String constructors with StringBuffer and StringBuilder (#7966 - @Mariovido)
  • 🐛 Do not reset IAST concurrent request counter (#7963 - @smola)
  • ✨ Exclude spark web from vulnerability locations (#7939 - @smola)
  • 🐛 Exclude dev.failsafe from IAST instrumentation (#7938 - @smola)
  • ✨ Exclude okio from vulnerability locations (#7937 - @smola)
  • ✨ Expand SSRF support in IAST to java.net.http.HttpClient (#7877 - @Mariovido)
  • Fix stack trace inconsistency between excluded frames in vulnerability location and metastruct stack trace (#7865 - @jandro996)
  • ✨🧪 Add experimental taint propagation to the String replace, replaceFirst, replaceAll methods (#7741 - @Mariovido)

Application Security Management (WAF)

Build & Tooling

Continuous Integration Visibility

Crash tracking

  • 🐛 Improve crashtracking support for older Bash versions (#7956 - @PerfectSlayer)
  • ✨ Adjust crash upload timeout (#7905 - @dougqh)
  • ✨ Use telemetry 'is_sensitive' attribute instead of redacting the crash stacktrace (#7899 - @jbachorik)

Data Streams Monitoring

Dynamic Instrumentation

  • 🐛 Fix integer json parsing probe definition (#7957 - @jpbempel)
  • 🐛 Fix NullPointerException Extracting Class symbols (#7934 - @jpbempel)
  • ✨ Avoid duplicate class symbol extraction (#7919 - @jpbempel)
  • Add outer exceptions support for Exception Replay (#7897 - @jpbempel)
  • 🐛 Fix memory leak in Exception Replay (#7885 - @jpbempel)
  • ✨ Consult the environment variable when setting the max users frames in code origin probes (#7881 - @evanchooly)

JMX fetch

Profiling

Telemetry

  • ✨ Collect git metadata for telemetry (#7951 - @jpbempel)
  • ✨ Fix dependency collection for new Spring Boot nested jars (#7931 - @smola)

Trace context propagation

  • 🐛 Fix baggages mapping configuration when only keys are provided (#7972 - @cecile75)
  • ✨ Updating Span Link creation due to header tag propagations for invalid spans (#7799 - @mhlidd)

Instrumentations

AWS Lambda instrumentation

AWS SDK instrumentation

  • 🐛 Fix AWS Payload Tagging prefix generation related to SdkPojo (#7882 - @ygree)

Jetty instrumentation

Kafka instrumentation

Netty instrumentation

Reactor instrumentation

1.42.2

14 Nov 14:31
v1.42.2
ed086cb
Compare
Choose a tag to compare

Components

Build & Tooling

JMX fetch

Instrumentations

Jetty instrumentation

  • 🐛 Finish netty span when request is cancelled (#7945 - @vandonr)

1.42.1

08 Nov 14:24
v1.42.1
df0ec27
Compare
Choose a tag to compare

Potentially Breaking Changes

Warning

There is a known issue with Kafka instrumentation that causes double tracing. As a result, Kafka 3.8+ is disabled by default until the double tracing issue is resolved.

Components

Dynamic Instrumentation

Profiling

Instrumentations

AWS SDK instrumentation

  • 🐛 Fix AWS Payload Tagging prefix generation related to SdkPojo (#7901 - @ygree)

Kafka instrumentation

  • Disable Kafka 3.8+ instrumentation by default (#7909 - @ygree)

Reactor instrumentation

  • 🐛 Protect currentContext access for reactor inner operators (#7895 - @amarziali)

1.42.0

04 Nov 17:20
6eac0b8
Compare
Choose a tag to compare

Known Issues

This release contains a critical bug that may cause intermittent crashes when using profiler.

To avoid this bug you can either upgrade to v1.42.1, revert to v1.41.2, or:

  • To greatly reduce the chance of crash, disable native stack collection via -Ddd.profilng.ddprof.cstack=no
  • To completely eliminate the chance of crash, turn off Datadog Java profiler via -Ddd.profiling.ddprof.enabled=false and use only JFR, when available

Components

Application Security Management (IAST)

Application Security Management (WAF)

Build & Tooling

Configuration at Runtime

Continuous Integration Visibility

Database Monitoring

Dynamic Instrumentation

JMX fetch

Profiling

Telemetry

  • 🐛 Fix telemetry logs default flag (#7833 - @smola)

Tracer core

  • 🐛 Prevent NPE setting null span baggage (#7848 - @PerfectSlayer)
  • Widen catch blocks to make agent discovery more tolerant (#7796 - @mcculls)
  • Fall back to ports when we cannot use auto-discovered unix domain sockets (#7794 - @mcculls)
  • Improve isolation of embedded JFFI dependency (#7789 - @mcculls)
  • ✨ Support DD_TRACE_<INTEGRATION>_ENABLED (#7718 - @mtoffl01)
  • ⚠️ Add support for TRACE_HTTP_CLIENT_TAG_QUERY_STRING and change default value of HTTP_CLIENT_TAG_QUERY_STRING to true (#7677 - @mhlidd)
  • Propagate AppSec blocking exceptions from bytebuddy supressions (#7516 - @manuel-alvarez-alvarez)

Instrumentations

Apache Spark instrumentation

AWS SDK instrumentation

JAX-WS instrumentation

JDBC instrumentation

  • 🐛 Avoid metadata access in driver connect advice for Oracle sharded connections (#7812 - @mcculls)
  • 🐛 Do not parse DBInfo when no connection (#7800 - @amarziali)

Kafka instrumentation

Lettuce instrumentation

Reactor instrumentation