Skip to content

Releases: DataDog/dd-trace-java

1.26.1

20 Dec 14:59
60e0d4d
Compare
Choose a tag to compare

Components

Continuous Integration Visibility

Trace context propagation

Instrumentations

1.26.0

19 Dec 10:59
ad2dbbf
Compare
Choose a tag to compare

Potentially Breaking Changes

Warning

Allow comma in request header tag values (#6376 - @bantonsson)

Components

Application Security Management (IAST)

Application Security Management (WAF)

  • Update ASM event rules to v1.10.0 (#6349 - @smola)
  • Remove warning about unknown graphql.server.all_resolvers (#6344 - @smola)

Continuous Integration Visibility

Crash tracking

Data Streams Monitoring

Database Monitoring

  • 🐛 Append DBM trace context comments for SQL Server & Postgres (#6214 - @jmeunier28)

Dynamic Instrumentation

GraalVM native-image

Profiling

Trace context propagation

Tracer core

Instrumentations

Apache Spark instrumentation

Armeria Instrumentation

JAX-RS instrumentation

  • 🐛 Make propagation happen on AsyncResponse using CFX JAX-RS (#6313 - @amarziali)

Spring instrumentation

  • 🐛 Exclude spring-kafka runnables from spring scheduling wrapping (#6388 - @amarziali)
  • 🐛 Make webflux compatible with latest spring 6 (#6352 - @amarziali)

Eclipse Vert.x instrumentation

Other changes

  • 🔍 Populate tracer-flare zip with configuration details (#6359 - @mcculls)

1.25.1

07 Dec 00:56
v1.25.1
476c346
Compare
Choose a tag to compare

Note

There will be no 1.25.0 release

Components

Application Security Management (IAST)

Application Security Management (WAF)

  • 🐛 Exclude OAuth from Spring Security instrumentation (#6278 - @smola)
  • 🐛 Fix race in Spring Security instrumentation (hideUserNotFoundExceptions) (#6277 - @smola)

Build & Tooling

Continuous Integration Visibility

Data Streams Monitoring

Database Monitoring

  • Disable DBM full propagation for oracle & sql server (#6117 - @vandonr)

Dynamic Instrumentation

GraalVM native-image

  • Support profiler in graalvm native image applications (#6145 - @jbachorik)
  • 📖 Add GraalVM native image build instructions (#6265 - @ygree)

Profiling

Remote Configuration

Telemetry

Tracer core

  • Add new sampling rules criteria and support for dynamic config (#5164 - @PerfectSlayer)
  • Adds resource name matching to the trace sampling rules (#5900 - @dougqh)

Tracer internal logging

Instrumentations

AWS Lambda instrumentation

Netty instrumentation

  • 🐛 Add support for netty-reactor http2 client/server (#6226 - @amarziali)

OpenTelemetry instrumentation

  • 🐛⚠️ Store OpenTelemetry span kind as tag instead of span type and drop reserved attributes from span tags (#6239 - @PerfectSlayer)

Reactor instrumentation

  • 🐛 Add support for netty-reactor http2 client/server (#6226 - @amarziali)

Spring instrumentation

  • 🐛 Spring scheduling: have actuator display the right task class name (#6249 - @amarziali)

All other instrumentations

Other changes

  • Upgrade jnr-unixsocket to 0.38.21, jnr-posix to 3.1.18 (#6266 - @mcculls)
  • 🔍 Configuration changes to support triage mode (#6262 - @mcculls)

1.24.2

17 Nov 21:30
a1f05ad
Compare
Choose a tag to compare

Components

Profiling

1.24.1

16 Nov 17:51
a9dfdcc
Compare
Choose a tag to compare

Breaking Changes

Warning

Regression in the continuous profiler when running on OpenJ9. All stacktraces appear as truncated.

Components

Continuous Integration Visibility

Instrumentations

OpenTelemetry instrumentation

  • 🐛⚠️ Store OpenTelemetry span kind as tag instead of span type (#6232 - @PerfectSlayer)

1.24.0

15 Nov 21:24
9a567fb
Compare
Choose a tag to compare

Breaking Changes

Warning

Span operation and resource names issued from OpenTelemetry instrumentations will change according our new naming convention. Check #6104 for more details.

Warning

Regression in the continuous profiler when running on OpenJ9. All stacktraces appear as truncated.

Components

Application Security Management (IAST)

Continuous Integration Visibility

Database Monitoring

  • Fix SQL Server connection instrumentation driver class allow list (#6209 - @jmeunier28)

Dynamic Instrumentation

  • ✨ Add support for synthetic vars for metric probes (#6178 - @jpbempel)

Metrics

  • Revert setting dd.internal.card:none for UDS (#6220 - @mcculls)
  • Upgrade bundled metrics integrations to 7.49.0 (#6207 - @mcculls)

Profiling

Telemetry

  • Fix log message to debug level when DD_API_KEY missing to create Telemetry Intake connection (#6213 - @ygree)

Trace context propagation

Tracer core

Instrumentations

gRPC instrumentation

OpenTelemetry instrumentation

All other instrumentations

1.23.0

09 Nov 21:40
94ed1d0
Compare
Choose a tag to compare

Components

Application Security Management (IAST)

Application Security Management (WAF)

Continuous Integration Visibility

Database Monitoring

  • 🐛 Append sql comments instead of prepend to prevent exceptions on CallableStatements (#6034 - @jmeunier28)
  • DBM-APM: Selectively pre/append sql comments depending on DBMS typeq (#6160 - @jmeunier28)

Dynamic Instrumentation

Profiling

Telemetry

Tracer core

Instrumentations

Kafka instrumentation

  • ✨ Track payload size for Kafka integration (#6045 - @vandonr)

Other changes

  • instrument Exception and Error classes to avoid instrumenting generic throwables used for control flow (#6128 - @richardstartin)

1.22.0

26 Oct 11:22
848d377
Compare
Choose a tag to compare

Breaking Changes

⚠️ This release contains a change in the normalization of resource names with spaces.
See #5968 for further notes on details and the feature flag to revert back to the old behavior.

Components

Application Security Management (IAST)

Application Security Management (WAF)

Build & Tooling

  • Make sure internal 'datadog.trace.api.Functions' class is relocated in dd-trace-ot (#6005 - @mcculls)

Continuous Integration Visibility

Data Streams Monitoring

  • Avoid potential deadlock in DefaultDataStreamsMonitoring on tracer shutdown (#6011 - @mcculls)
  • ✨ Add DSM API changes to support kinesis use case (#6001 - @devinsba)
  • ✨ Add DSM implementation for kinesis in SDKv1 (#5981 - @devinsba)
  • ✨ Add DSM implementation for kinesis in SDKv2 (#5966 - @devinsba)

Dynamic Instrumentation

GraalVM native-image

  • Mark some default services as off during native-image build (#6079 - @mcculls)
  • Skip task scope creation for Graal VMOperation threads (#6078 - @mcculls)
  • Relocate OkHttp to avoid conflicts (#6018 - @luneo7 - thanks for the contribution!)
  • Register that we will reflect on ConcurrentHashMap constructor at runtime (#5924 - @mcculls)

Metrics

Profiling

Telemetry

Tracer core

Instrumentations

Apache Spark instrumentation

Armeria Instrumentation

AWS SDK instrumentation

  • 🐛 AWS set reponse status on error (#6055 - @ygree)
  • ✨ Add DSM implementation for kinesis in SDKv1 (#5981 - @devinsba)
  • ✨ Add DSM implementation for kinesis in SDKv2 (#5966 - @devinsba)
  • ✨ Extract trace context from embedded SQS message attribute '_datadog' (#5920 - @mcculls)

gRPC instrumentation

JDBC instrumentation

  • Add dd.trace.db.client.split-by-host Config (#4094 - @shunyy - thanks for the contribution!)

Lettuce instrumentation

Netty instrumentation

OpenTelemetry instrumentation

Play Framework instrumentation

Trace annotations instrumentation

  • ✨ Support @Trace(noParent=true) to always start a new trace at that method (#6032 - @mcculls)

All other instrumentations

  • Add weblogic.net.http.HttpURLConnection to list of traced connection classes (#6047 - @mcculls)
  • Support tracing of custom (non-JDK) HttpURLConnection implementations (#6046 - @mcculls)
  • Skip falling back to 'org.apache.jasper.servlet.JasperLoader.loadClass' (#5998 - @mcculls)
  • Use package prefix to direct search for helper dependencies in OSGi (#5973 - @mcculls)
  • Openliberty jakarta integration (#5652 - @nayeem-kamal)

1.21.0

20 Sep 12:02
v1.21.0
7ab7c4f
Compare
Choose a tag to compare

Components

Application Security Management (IAST)

  • Add Thymeleaf support to IAST XSS vulnerability (#5901)
  • 🐛 Improved IAST request sampling with more accurate configuration (#5879)
  • ⚡ Use bytes instead of strings in IAST metrics tags (#5872)
  • 🐛 Fix request body tainting in spring boot 2.7.5 (#5867)
  • Exclude net.jpountz.xxhash (#5856)
  • Add XSS detection for Spring's ResponseBody (#5813)
  • Add support for scala APIs (#5284)

Application Security Management (WAF)

  • Update to ASM rules 1.8.0 (#5902)
  • Make sure we close the AppSec default template resource after reading (#5876)
  • 🐛 Fix blocking for jetty 10.0.16 and 11.0.16 (#5857)
  • 🐛 Fix race condition in AppSec GatewayBridge (#5834)
  • Improve query obfuscation regular expression (#5824)

Continuous Integration Visibility

  • 🐛 Always populate test.command tag in session spans (#5885)
  • 🐛 Fix deadlock occuring when stopping SignalServer (#5884)
  • 🐛 Fix NullPointerException when calculating ITR skippable tests in TestNG (#5836)
  • 🐛 Correctly handle cases when there are multiple JVM forks per single test module (#5806)
  • Implement sending total coverage percentage for sessions and modules (#5769)
  • Allow specifying additional JVM arguments for children processes (#5628)

Data Streams Monitoring

  • ✨ Add version tag to data streams (#5866)
  • Allow data streams monitoring to be controlled by dynamic config (#5779)

Dynamic Instrumentation

  • Make @duration a float value in ms (#5823)

Metrics

  • Upgrade JMXFetch to 0.47.10 (#5878)
  • Upgrade JMXFetch integrations to 7.47.0 (#5877)

Profiling

  • Upgrade ddprof to 0.78.0 (#5914)
  • GA the profiling context API (#5830)
  • Restore exception profiling instrumentation enablement (#5826)

Remote Configuration

  • Allow data streams monitoring to be controlled by dynamic config (#5779)

Telemetry

  • Less verbose dependency collection debug logs (#5904)
  • 🐛 Fix Telemetry Config Collector to collect String and Map values (#5886)

Tracer core

  • 🧪 Make peer.service manually overridden by component (#5860)
  • Skip attaching the tracer when we know the JVM is running a JDK tool such as jstack (#5854)

Instrumentations

Apache Spark instrumentation

  • Add fallbacks when retrieving databricks ids (#5910)
  • Custom spark spans tags at runtime (#5870)
  • Add Spark SQL spans (#5820)

Eclipse Vert.x instrumentation

JDBC instrumentation

  • Preserve single line comment (--) prefixes when normalizing SQL (#5812)

JMS instrumentation

  • Support tracing jakarta.jms calls (#5868)
  • Avoid duplicate traces for nested JMS receive calls (#5863)

OpenTelemetry instrumentation

  • ✨ Add support for OpenTelemetry record exception span event (#5895)
  • ✨ Only invalidate current OTel context if we created it (#5880)

All other instrumentations

  • ✨ Add asynchronous type support for trace annotation instrumentation (#5802)
  • Add instrumentation support for Apache Pekko (#5858) -- thanks @scoquelin for the contribution!

Other changes

  • 🔐 Replace okio dependency (#5846)
  • Exclude JMXFetch jackson dependencies (#5821)

1.20.1

07 Sep 08:52
70cd67c
Compare
Choose a tag to compare

Components

Continuous Integration Visibility

  • 🐛 Fix NullPointerException when calculating ITR skippable tests in TestNG (#5842)

Other changes

  • Replace okio dependency with fork that backports the fix for CVE-2023-3635 (#5851)
  • Exclude JMXFetch jackson dependencies because we don't need them for our embedded usage (#5843)