Skip to content

Releases: DataDog/dd-trace-java

1.39.0

02 Sep 15:05
v1.39.0
352673a
Compare
Choose a tag to compare

Components

Application Security Management (IAST)

  • πŸ› Do not skip ErrorReportValve.report in any case (#7489 - @smola)
  • ✨ Suppress internal exceptions in tomcat stacktrace leak detection (#7488 - @smola)
  • πŸ› Add exclusions for openid4java and seasar frameworks (#7417 - @manuel-alvarez-alvarez)
  • Add detection of untrusted deserialization in snakeyaml library (#7406 - @Mariovido)
  • ✨ Fix progagation for Untrusted Deserialization vulnerability (#7374 - @Mariovido)
  • Map JSP stack traces to file names (#7005 - @jandro996)

Application Security Management (WAF)

Cloud Workload Security (CWS)

  • Make cws-tls use the same JNA dependency as instrumentations (#7412 - @bantonsson)

Continuous Integration Visibility

Crash tracking

  • Make the warning in ScriptInitializer less scary (#7514 - @jbachorik)
  • 🧹 Improving crash tracking script initialization error handling (#7427 - @PerfectSlayer)
  • πŸ› Fix crash-tracking uploader script overwrite warning (#7386 - @jbachorik)

Data Streams Monitoring

  • ⚑ Don't recompute DSM pathway hash for known tags (#7307 - @vandonr)

Database Monitoring

Dynamic Instrumentation

GraalVM native-image

  • Avoid RemoteHostnameAdder.config resolution error when building Quarkus native images (#7480 - @mcculls)
  • Fix ClassNotFoundException: net.jpountz.lz4.LZ4JavaSafeCompressor when instrumenting Kafka 3.7 with Quarkus native (#7404 - @mcculls)
  • Fix unresolved field error when instrumenting Kafka 3.7 with Quarkus native (#7403 - @mcculls)

JMX fetch

Metrics

Profiling

Telemetry

  • πŸ” Enable telemetry logs for services using AppSec (#7534 - @smola)
  • πŸ” Enable telemetry logs for a subset of Java versions (#7475 - @PerfectSlayer)
  • Tag span metrics with 'otel.library' when we know it was created by an OTel extension (#7463 - @mcculls)
  • ✨ Reduce telemetry log messages per minute to 10 (#7410 - @smola)
  • ✨ Add Otel env var telemetry (#7391 - @cecile75)
  • ✨ Add telemetry app product change message (#7348 - @jandro996)
  • Adding InitializationTelemetry - e.g. guard rails reporting (#7287 - @dougqh)

Trace context propagation

  • ✨ Use W3C Trace Context trace ID as parent ID regardless of propagation style order (#7355 - @mtoffl01)

Tracer core

Instrumentations

Apache Spark instrumentation

  • Allow instrumented Spark trace linked to Openlineage originated context (#7450 - @yiliangzhou)

Armeria Instrumentation

  • OpenTelemetry drop-in fixes for Armeria HTTP (#7498 - @mcculls)

AWS SDK instrumentation

  • Avoid NullPointerException when publishing SNS messages to phone numbers (#7448 - @mcculls)

gRPC instrumentation

JDBC instrumentation

OpenTelemetry instrumentation

  • OpenTelemetry drop-in fixes for Apache Pulsar (#7500 - @mcculls)
  • OpenTelemetry drop-in fixes for Apache Dubbo (#7499 - @mcculls)
  • OpenTelemetry drop-in fixes for Armeria HTTP (#7498 - @mcculls)
  • Tag span metrics with 'otel.library' when we know it was created by an OTel extension (#7463 - @mcculls)
  • OpenTelemetry drop-in fixes for r2dbc (#7444 - @mcculls)

All other instrumentations

  • OpenTelemetry drop-in fixes for Apache Pulsar (#7500 - @mcculls)
  • OpenTelemetry drop-in fixes for Apache Dubbo (#7499 - @mcculls)
  • πŸ› Apache http client 4: do not copy all request headers on redirect (#7483 - @amarziali)
  • πŸ› Avoid finishing twice a servlet 3 async dispatch span (#7395 - @amarziali)

Other changes

1.38.1

16 Aug 08:54
d5cba79
Compare
Choose a tag to compare

Components

Application Security Management (IAST)

Continuous Integration Visibility

Dynamic Instrumentation

GraalVM native-image

  • πŸ› Fix ClassNotFoundException: net.jpountz.lz4.LZ4JavaSafeCompressor when instrumenting Kafka 3.7 with Quarkus native (#7422 - @mcculls)
  • πŸ› Fix unresolved field error when instrumenting Kafka 3.7 with Quarkus native (#7421 - @mcculls)

Tracer core

Instrumentations

AWS SDK instrumentation

  • πŸ› Avoid NullPointerException when publishing SNS messages to phone numbers (#7449 - @mcculls)

OpenTelemetry instrumentation

1.38.0

05 Aug 17:35
60ddc9e
Compare
Choose a tag to compare

Potentially Breaking Changes

Warning

When setting up the client library using the Single Step Instrumentation feature (SSI), the library will now check the presence of multiple Java Virtual Machine (JVM) agents and won't install it if is not the only one.
This behavior can be disabled by forcing the injection using the DD_INJECT_FORCE environment variable to TRUE.

Components

Application Security Management (IAST)

Application Security Management (WAF)

Build & Tooling

Cloud Workload Security (CWS)

Configuration at Runtime

Continuous Integration Visibility

Crash tracking

Data Streams Monitoring

Dynamic Instrumentation

JMX fetch

Library Injection

Profiling

Tracer core

Instrumentations

Apache Spark instrumentation

AWS SDK instrumentation

  • πŸ› Fix parsing of binary datadog headers in SQS (#7324 - @vandonr)
  • πŸ› Remove binary _datadog attribute if present in JMS SQS instrumentation to avoid crash (#7283 - @vandonr)

GraphQL instrumentation

Jetty instrumentation

Spring instrumentation

  • πŸ› Rollback wrapping of runnables on each schedule for Spring Scheduling (#7290 - @amarziali)

All other instrumentations

  • ✨ Fetch uri information correctly when httphost argument is null (#7276 - @abagavat - thanks for the contribution!)

1.37.1

17 Jul 12:24
v1.37.1
75639e3
Compare
Choose a tag to compare

Components

Continuous Integration Visibility

1.37.0

04 Jul 11:46
v1.37.0
1496a6c
Compare
Choose a tag to compare

Components

Application Security Management (WAF)

  • πŸ› Add missing appsec propagation tag on appsec events (#7262 - @jandro996)
  • πŸ› Set appsec.blocked in local root span (#7251 - @smola)

Continuous Integration Visibility

Crash tracking

Profiling

Instrumentations

Apache Spark instrumentation

JMS instrumentation

  • ✨ Trace JMS Queue and Topic producers when destination is explicit (#7266 - @amarziali)

All other instrumentations

  • Add ServiceTalk async context propagation instrumentation (#7241 - @ygree)
  • πŸ§ͺ Instrument Tibco BusinessWorks 5 and 6 (#7155 - @amarziali)

1.36.0

27 Jun 14:25
9f9d372
Compare
Choose a tag to compare

Components

Application Security Management (IAST)

Application Security Management (WAF)

Continuous Integration Visibility

Data Streams Monitoring

Dynamic Instrumentation

  • πŸ› Fix debugger batch upload URL when using UDS (#7166 - @mcculls)

Metrics

Profiling

Testing

Tracer internal logging

Instrumentations

AWS SDK instrumentation

  • πŸ› Do not modify readonly message attributes map on SNS integration (#7150 - @vandonr)

Kafka instrumentation

  • πŸ› Fix NPE when kafka consumer info is not available (#7190 - @amarziali)

OpenTelemetry instrumentation

  • Improve config mapping for OpenTelemetry extensions (#7193 - @mcculls)
  • Map OpenTelemetry environment variables to their Datadog equivalents (#7184 - @mcculls)
  • Add more tests aboutβ€―OpenTelemetry attributes conventions (#7163 - @PerfectSlayer)
  • Map OpenTelemetry muzzle references to Datadog equivalent (#7142 - @mcculls)
  • Map OpenTelemetry VirtualField to Datadog ContextStore (#7129 - @mcculls)

All other instrumentations

1.35.2

18 Jun 11:17
816e6b1
Compare
Choose a tag to compare

Components

Application Security Management (IAST)

Dynamic Instrumentation

  • πŸ› Fix debugger batch upload URL when using UDS (#7167 - @mcculls)

Tracer internal logging

Instrumentations

AWS SDK instrumentation

  • πŸ› SNS integration: do not modify readonly message attributes map (#7174 - @vandonr)

Kafka instrumentation

  • πŸ› Fix NPE when kafka consumer info is not available (#7195 - @amarziali)

OpenTelemetry instrumentation

  • Improve config mapping for OpenTelemetry extensions (#7194 - @mcculls)
  • Map OpenTelemetry environment variables to their Datadog equivalents (#7185 - @mcculls)
  • Map OpenTelemetry muzzle references to Datadog equivalent (#7172 - @mcculls)
  • Map OpenTelemetry VirtualField to Datadog ContextStore (#7171 - @mcculls)

Log4J2 instrumentation

1.35.1

18 Jun 09:06
9c5c8ab
Compare
Choose a tag to compare

This patch release was published as 1.35.2

Components

Application Security Management (IAST)

Dynamic Instrumentation

  • πŸ› Fix debugger batch upload URL when using UDS (#7167 - @mcculls)

Tracer internal logging

Instrumentations

AWS SDK instrumentation

  • πŸ› SNS integration: do not modify readonly message attributes map (#7174 - @vandonr)

Kafka instrumentation

  • πŸ› Fix NPE when kafka consumer info is not available (#7195 - @amarziali)

OpenTelemetry instrumentation

  • Improve config mapping for OpenTelemetry extensions (#7194 - @mcculls)
  • Map OpenTelemetry environment variables to their Datadog equivalents (#7185 - @mcculls)
  • Map OpenTelemetry muzzle references to Datadog equivalent (#7172 - @mcculls)
  • Map OpenTelemetry VirtualField to Datadog ContextStore (#7171 - @mcculls)

Log4J2 instrumentation

1.35.0

10 Jun 10:50
v1.35.0
97065ed
Compare
Choose a tag to compare

Known Issues

This release contains a critical bug that may break applications using AWS SNS with immutable message attributes.

To avoid this bug you can either upgrade to v1.35.2, revert to v1.34.0, or turn off the SNS integration with this JVM option
-Ddd.integration.sns.enabled=false or this environment variable DD_INTEGRATION_SNS_ENABLED=false.

Turning off the SNS integration won't change the traces collected, but may cause some SNS traces to become disconnected.

Potentially Breaking Changes

Warning

Enable by default the Spring Boot environment instrumentation that infers the service name to the value of spring.application.name if the user did not provide any DD_SERVICE configuration.
Check #7029 for more details and how to revert it.

Components

Application Security Management (IAST)

Application Security Management (WAF)

Build & Tooling

Cloud Workload Security (CWS)

  • πŸ› Fix the cws tracer on systems using musl libc (like alpine) (#7066 - @spikat)

Configuration at Runtime

  • ⚑ Only rebuild tracer tags when the remote-config 'tracing_tags' change (#6996 - @mcculls)

Continuous Integration Visibility

Data Streams Monitoring

Database Monitoring

  • Apply configured service name mapping to DBM-injected dddbs (#7064 - @vandonr)

Dynamic Instrumentation

  • πŸ› Ensure locals are in scope when generating metrics (#7121 - @jpbempel)
  • Remove too generic redaction keywords (#7117 - @jpbempel)
  • πŸ› Fix line probe in method with inline lambdas (#7099 - @jpbempel)
  • Report exception when deserializing config (#7092 - @jpbempel)
  • Add option to limit number of frames captured (#7083 - @jpbempel)
  • Add circuit breaker for Exception Debugging (#7074 - @jpbempel)
  • πŸ› Fix short circuiting of boolean expressions (#7060 - @jpbempel)
  • Add EXCEPTION_REPLAY_ENABLED config token (#7054 - @jpbempel)
  • πŸ›βš‘ Fix perf issue when accessing fields by reflection (#7052 - @jpbempel)
  • ✨ Add Throwable capturing fields support for JDK16+ (#7047 - @jpbempel)
  • πŸ” Add fingerprint info into Tracer flare (#7043 - @jpbempel)
  • πŸ›βš‘ Fix expensive folding only in debug level (#7042 - @jpbempel)
  • Protect Map and Set accesses to be only in-memory (#7032 - @jpbempel)
  • Remove debug log on sampling (#7021 - @jpbempel)
  • πŸ› Fix support of literals in Expression Language (#7018 - @jpbempel)
  • Fix log level and message for SymDB extraction (#7016 - @jpbempel)
  • πŸ› Fix ArrayIndexOutOfBoundsException in adjustLocalVarsBasedOnArgs (#7013 - @jpbempel)
  • Filter out Errors for Exception Debugging (#6997 - @jpbempel)
  • Add support of Set in Expression Language (#6992 - @jpbempel)

GraalVM native-image

  • Relocate JCTools (#7004 - @luneo7 - thanks for the contribution!)

Metrics

  • Bump java-dogstatsd-client to 4.4.0 (fix potential file-descriptor leak) (#7089 - @mcculls)

OpenTracing

  • Add a TracingFactory (since opentracing-tracerresolver 0.1.5) which resolves our tracer (#7102 - @mcculls)
  • Bumps opentracing-tracerresolver to 0.1.6 (#7093 - @fedefernandez - thanks for the contribution!)

Profiling

Telemetry

  • Report updated trace.sampling.rules to telemetry (#7106 - @mcculls)
  • Enable telemetry logs for IAST, CI Visibility and Dynamic Instrumentation users (#7017 - @smola)
  • Adding support for reporting remote config id (#7012 - @stanistan)
  • ✨ Add log file if size is not too big (#6993 - @cecile75)

Trace context propagation

  • Encode the last seen Datadog span ID within tracestate (#7067 - @am312)

Tracer core

Instrumentations

AWS SDK instrumentation

Core Java language instrumentation

gRPC instrumentation

  • Extend gRPC context propagation into WriteQueue, add queue timing to WriteQueue commands (#7110 - @richardstartin)

JDBC instrumentation

  • Add extra connection params as tags for JDBC statements (#7055 - @kr-igor)

Kafka instrumentation

Micronaut instrumentation

Netty instrumentation

  • πŸ› Don't always finish parent span in Netty client (#7126 - @amarziali)

OpenTelemetry instrumentation

  • Ensure manually created OpenTelemetry spans are compliant with trace metrics (#7138 - @mcculls)
  • Support custom OpenTelemetry context (#7118 - @mcculls)
  • ⚑ Avoid creating unnecessary OtelSpanContext… (#7116 - @mcculls)
  • Track OpenTelemetry propagated context (#7114 - @mcculls)
  • Runtime drop-in support for OpenTelemetry instrumentations (#7086 - @mcculls)

Spring instrumentation

  • ⚠️ Enable spring boot service name detection from spring.application.name (#7029 - @amarziali)

Other changes

1.35.0-RC1

06 Jun 12:31
64a0120
Compare
Choose a tag to compare
1.35.0-RC1 Pre-release
Pre-release

Warning

This is a release candidate and is not intended for use in production.
Please open an issue regarding any problems in this release candidate.

Components

Application Security Management (IAST)

Application Security Management (WAF)

Build & Tooling

Cloud Workload Security (CWS)

  • πŸ› Fix the cws tracer on systems using musl libc (like alpine) (#7066 - @spikat)

Configuration at Runtime

  • ⚑ Only rebuild tracer tags when the remote-config 'tracing_tags' change (#6996 - @mcculls)

Continuous Integration Visibility

Database Monitoring

  • πŸ› Apply configured service name mapping to DBM-injected dddbs (#7064 - @vandonr)

Data Streams Monitoring (DSM)

Dynamic Instrumentation

  • πŸ› Ensure locals are in scope when generating metrics (#7121 - @jpbempel)
  • Remove too generic redaction keywords (#7117 - @jpbempel)
  • πŸ› Fix line probe in method with inline lambdas (#7099 - @jpbempel)
  • Report exception when deserializing config (#7092 - @jpbempel)
  • Add option to limit number of frames captured (#7083 - @jpbempel)
  • Add circuit breaker for Exception Debugging (#7074 - @jpbempel)
  • πŸ› Fix short circuiting of boolean expressions (#7060 - @jpbempel)
  • Add EXCEPTION_REPLAY_ENABLED config token (#7054 - @jpbempel)
  • πŸ›βš‘ Fix perf issue when accessing fields by reflection (#7052 - @jpbempel)
  • ✨ Add Throwable capturing fields support for JDK16+ (#7047 - @jpbempel)
  • πŸ” Add fingerprint info into Tracer flare (#7043 - @jpbempel)
  • πŸ›βš‘ Fix expensive folding only in debug level (#7042 - @jpbempel)
  • Protect Map and Set accesses to be only in-memory (#7032 - @jpbempel)
  • Remove debug log on sampling (#7021 - @jpbempel)
  • πŸ› Fix support of literals in Expression Language (#7018 - @jpbempel)
  • Fix log level and message for SymDB extraction (#7016 - @jpbempel)
  • πŸ› Fix ArrayIndexOutOfBoundsException in adjustLocalVarsBasedOnArgs (#7013 - @jpbempel)
  • Filter out Errors for Exception Debugging (#6997 - @jpbempel)
  • Add support of Set in Expression Language (#6992 - @jpbempel)

GraalVM native-image

  • Relocate JCTools (#7004 - @luneo7 - thanks for the contribution!)

Metrics

  • Bump java-dogstatsd-client to 4.4.0 (fix potential file-descriptor leak) (#7089 - @mcculls)

OpenTracing

  • Add a TracingFactory (since opentracing-tracerresolver 0.1.5) which resolves our tracer (#7102 - @mcculls)
  • Bump opentracing-tracerresolver to 0.1.6 (#7093 - @fedefernandez - thanks for the contribution!)

Profiling

Telemetry

  • Report updated trace.sampling.rules to telemetry (#7106 - @mcculls)
  • Enable telemetry logs for IAST, CI Visibility and Dynamic Instrumentation users (#7017 - @smola)
  • Adding support for reporting remote config id (#7012 - @stanistan)
  • ✨ Add log file if size is not too big (#6993 - @cecile75)

Tracer core

Instrumentations

AWS SDK instrumentation

Core Java language instrumentation

JDBC instrumentation

  • Extra connection params as tags for JDBC statements (#7055 - @kr-igor)

Kafka instrumentation

Micronaut instrumentation

Netty instrumentation

  • πŸ› Don't finish parent span when instrumenting a client (#7126 - @amarziali)

OpenTelemetry instrumentation

  • Support custom OpenTelemetry context (#7118 - @mcculls)
  • ⚑ Avoid creating unnecessary OtelSpanContext when extracting context from OTel wrapper around Datadog span (#7116 - @mcculls)
  • Track OpenTelemetry propagated context (#7114 - @mcculls)
  • Runtime drop-in support for OpenTelemetry instrumentations (#7086 - @mcculls)

Spring instrumentation

  • ⚠️ Enable spring boot service name detection from spring.application.name (#7029 - @amarziali)