Skip to content

Releases: DataDog/dd-trace-java

1.50.0

20 Jun 11:31
v1.50.0
6db7d82
Compare
Choose a tag to compare

Deprecation Notice

Note

DD_RUNTIME_ID_ENABLED has been deprecated and will be removed in future releases. Please use DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED instead.

Components

Application Security Management (WAF)

  • 🐛 Add String length truncation limit to ObjectIntrospector and update truncation metrics (#8825 - @jandro996)
  • 🐛 Adapt standalone ASM to support API Security (#8804 - @jandro996)
  • ✨ Add appsec.waf.input_truncated metric (#8791 - @jandro996)
  • ✨ Extended appsec request body collection (#8748 - @jandro996)
  • ✨ Extended appsec request/response headers collection (#8724 - @jandro996)

Build & Tooling

Continuous Integration Visibility

Data Streams Monitoring

  • 💡 Surface process tags in dsm payloads and use them for base hash calculation (#8836 - @amarziali)

Dynamic Instrumentation

GraalVM native-image

  • ✨ Add support for GraalVM Native GC metrics (#8913 - @ygree)
  • ✨ Add JMXFetch support for GraalVM Native (#8569 - @ygree)

JMX fetch

  • ✨ Add support for GraalVM Native GC metrics (#8913 - @ygree)

Library Injection

OpenTracing

Profiling

Telemetry

Trace context propagation

  • ✨ Migrating all HttpClient Instrumentations to Inject Full Context (#8826 - @mhlidd)
  • ✨ Migrating all HttpServer Instrumentations to Extract full Context (#8820 - @mhlidd)
  • ✨ Add context API support OTel propagators (#8770 - @PerfectSlayer)

Tracer core

  • ✨⚡ Skip JAXB generated classes classloader (#9003 - @bric3)
  • ✨ Add DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED alias for runtime id generation (#8981 - @amarziali)
  • 🐛 Use resolved address for peer.hostname when available without hitting the cache (#8915 - @amarziali)
  • 💡 Surface server name process tag for tomcat (#8894 - @amarziali)
  • 💡 Surface websphere cell and server name on process tags (#8880 - @amarziali)
  • ✨ Added special lightweight pre-main class that skips installation on incompatible JVMs. (#8855 - @AlexeyKuznetsov-DD)
  • 💡 Add entrypoint type to process tags (#8839 - @amarziali)
  • ✨ Extend JPS re-implementation to J9 family (#8813 - @MattAlp)
  • ✨ Notify listeners when the scope top changes after switching scope stacks (#8797 - @mcculls)
  • ✨ Read hsperfdata for Java PIDs if jvmstat is unavailable (#8792 - @MattAlp)
  • 🐛 Turn JDK socket support on by default (#8752 - @sarahchen6)
  • ✨ Simplify context propagation (#8719 - @PerfectSlayer)
  • ✨ Add JSON parsing support (#8579 - @PerfectSlayer)

Tracer internal logging

Tracer public API

  • 💡 Track the source of installation (#8956 - @mabdinur)
  • ✨ Enforce size limit on application_monitoring.yaml files (#8789 - @mtoffl01)
  • ✨ Enabling baggage cache to support limits and non-ascii characters (#8713 - @mhlidd)

Instrumentations

AWS Lambda instrumentation

Core Java language instrumentation

  • ✨ Ensure ClassloadingInstrumentation is always applied even with DD_TRACE_ENABLED=false (#8863 - @mcculls)

Eclipse Vert.x instrumentation

  • 🐛 Do not override route with / in vertx instrumentation (#8881 - @vandonr)

IBM Liberty

JDBC instrumentation

  • 🐛 Do not prepend DBM <> APM trace comment in SQLCommenter if there is a pg plan hint (#8864 - @edengorevoy)

JMS instrumentation

  • ✨ Add jms as an extra integration name where there is JMS involved (#8933 - @vandonr)

Kotlin instrumentation

  • ✨ Enable kotlin_coroutine integration by default (#8848 - @mcculls)
  • 🧹 Rework Kotlin coroutines instrumentation around coroutine context (#8774 - @mcculls)

OpenTelemetry instrumentation

Play Framework instrumentation

  • 🐛 Fix the Play Framework's span resource name priority so that the client JAX-RS 404 cannot override it (#8591 - @ygree)

Quarkus Instrumentation

  • 🐛 Ignore quarkus jaxrs stubs and cdi wrapper proxies (#8891 - @amarziali)

ServiceTalk

  • ✨ Improve ServiceTalk Captured Context API Instrumentation for v0.42.56+ (#8821 - @ygree)

Spring instrumentation

  • ✨ Supporting Baggage for Instrumentations used in Weblog Tests (#8773 - @mhlidd)

WebSocket Instrumentation

Zio Instrumentation

  • 🧹 Cleanup Zio fiber instrumentation to avoid repeated activation of continuation (#8798 - @mcculls)

1.49.0

06 May 13:11
5bfab65
Compare
Choose a tag to compare

Components

Configuration at Runtime

  • ✨ Add process tags as list to remote config payload (#8705 - @amarziali)

Continuous Integration Visibility

Dynamic Instrumentation

Library Injection

  • ✨ Add system property to force injection of the tracing library even though multiple javaagents have been detected (#8697 - @cecile75)

Metrics

Profiling

Telemetry

Tracer core

  • ✨ Exclude jackson afterburner dynamic classes from instrumentation (#8747 - @amarziali)
  • ✨ Introduce Java 8 bytecode bridge for instrumentation API (#8736 - @PerfectSlayer)
  • ⚡🧹 Use byte-buddy classes optimized for Java8+ (#8735 - @mcculls)
  • 🐛 Do not set the hibernate or datanucleus span service name when disabled (#8727 - @ygree)
  • ✨ Update bytebuddy and ASM to support JDK 24 (#8720 - @sarahchen6)
  • 🐛 Turn off JDK socket support by default (#8715 - @mcculls)
  • 🐛 Log warning when trace buffer overflow occurs (#8712 - @ygree)
  • ✨🧪 Introducing an internal integration name (#8708 - @amarziali)
  • ✨ Add process tags to client stats payload (#8704 - @amarziali)
  • ✨ Collect process tags for tracing (#8698 - @amarziali)
  • ✨ Stable Config file: target system properties in process_arguments and support template variables in YamlParser (#8690 - @mtoffl01)
  • ✨⚡ Use prefix trie for proxy ignores (#8678 - @amarziali)
  • ✨ Allow agent to be automatically injected when running aside Log4J patch agent (#8648 - @paullegranddc)
  • ✨ Use jvmstat for JDKs 9+ programmatically (#8641 - @MattAlp)

Tracer internal logging

Instrumentations

Akka instrumentation

  • 🐛 Handle reentrant scope cleanup in Akka/Pekko actor instrumentations (#8722 - @mcculls)

Apache Spark instrumentation

JDBC instrumentation

Kotlin instrumentation

  • 🐛 Take defensive copy of parent scope stack when closing nested coroutines (#8749 - @mcculls)

Reactor instrumentation

  • ✨⚡ Do not inspect reactor context when not needed (#8745 - @amarziali)

1.48.2

23 Apr 13:45
5ca8aa2
Compare
Choose a tag to compare

Components

Profiling

Tracer core

Instrumentations

Akka instrumentation

  • 🐛 Handle reentrant scope cleanup in Akka/Pekko actor instrumentations (#8723 - @mcculls)

1.48.1

09 Apr 21:34
v1.48.1
e37f279
Compare
Choose a tag to compare

Known Bugs

Note

If you are experiencing issues with unbounded file-descriptor growth, please update to the latest version or set DD_JDK_SOCKET_ENABLED to false.

Components

Tracer internal logging

1.48.0

09 Apr 13:37
v1.48.0
2623e84
Compare
Choose a tag to compare

Known Bugs

Note

If you are experiencing issues with unbounded file-descriptor growth or spamming timeout logs, please update to the latest version or set DD_JDK_SOCKET_ENABLED to false.

Components

Application Security Management (IAST)

Application Security Management (WAF)

Build & Tooling

Configuration at Runtime

  • 🐛 Send RASP LFI capability only when AppSec is statically enabled (#8573 - @jandro996)

Continuous Integration Visibility

Crash tracking

  • 🐛 Remove dependency on bash from crash/oome uploder scripts (#8652 - @jbachorik)

Data Streams Monitoring

  • ✨ e2e pipeline configuration when data jobs is enabled (#8553 - @kr-igor)

Dynamic Instrumentation

OpenTracing

  • 🧹 Remove activeScope() use in OpenTracing shim (#8478 - @mcculls)

Profiling

Telemetry

  • 🐛 Fix appsec.rasp.error and appsec.waf.error telemetry metrics (#8624 - @jandro996)
  • ✨ Create metric: appsec.rasp.rule.skipped (#8618 - @jandro996)
  • ✨ Extract git tags from embedded git.properties and datadog_git.properties (#8561 - @wmouchere)

Testing

Trace context propagation

  • ✨ Adding Support for TRACE_PROPAGATION_BEHAVIOR_EXTRACT (#8535 - @mhlidd)

Tracer core

  • 🐛 Ensure shaded helpers have unique names (#8559 - @amarziali)
  • ✨ Support common config sources for user-provided git info (#8547 - @nikita-tkachenko-datadog)
  • ✨ Make the default config sources more robust when a security manager is installed (#8544 - @mcculls)
  • ✨ Support targeting services with configurations in stable configuration file (#8526 - @mtoffl01)
  • ✨ Add new parser for DD_TAGS and prioritizing DD_SERVICE (#8296 - @mhlidd)

Tracer internal logging

  • 🐛 Add missing debug log for the cloudPayloadTaggingServices config (#8600 - @ygree)
  • ✨ Add the possibility to output the logs of the Java tracer in JSON (#8083 - @cecile75)

Tracer public API

  • ✨ Introducing DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED Config (#8536 - @mhlidd)
  • ✨ Config Consistency Round 2 (#8489 - @mhlidd)

Instrumentations

Apache Spark instrumentation

Armeria Instrumentation

  • ✨ Support armeria grpc 1.32.3 (#8606 - @github-actions[bot])

AWS DynamoDB Instrumentation

  • ✨ Create DynamoDB instrumentation + add span pointers for updateItem and deleteItem (#8490 - @nhulston)

AWS SDK instrumentation

  • ✨ Add DynamoDB in DEFAULT_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES (#8595 - @joeyzhao2018)

Azure Functions instrumentation

Core Java language instrumentation

Eclipse Vert.x instrumentation

  • ✨ Add vertx postgresql client instrumentation (#8471 - @vandonr - thanks for the contribution!)

Kafka instrumentation

Kotlin instrumentation

  • ✨ Avoid disconnected traces when using Kotlin flowOn (#8651 - @mcculls)

Log4j instrumentation

  • 🐛 Fix NPE in getMdcCopy of LoggingEventInstrumentation (#8599 - @ygree)

OpenTelemetry instrumentation

  • 🧹 Migrate OtelContext wrapper to new internal Context API (#8645 - @mcculls)

Spring instrumentation

WebSocket Instrumentation

All other instrumentations

1.47.3

24 Mar 14:56
4a85e1f
Compare
Choose a tag to compare

Components

Profiling

  • 🐛 🍒 8605 - Make TempLocationManager USER aware (#8614 - @mcculls)

Instrumentations

All other instrumentations

  • ✨ 🍒 8601 - Introduce cache for peer.hostname lookup (#8611 - @mcculls)

1.47.2

18 Mar 14:17
v1.47.2
feebc3c
Compare
Choose a tag to compare

Components

Application Security Management (IAST)

1.47.1

13 Mar 08:46
v1.47.1
6c61c65
Compare
Choose a tag to compare

Components

Continuous Integration Visibility

Tracer core

  • ✨ 🍒 8544 - Make the default config sources more robust when a security manager is installed (#8545 - @mcculls)

1.47.0

05 Mar 14:28
v1.47.0
a951656
Compare
Choose a tag to compare

Components

Application Security Management (IAST)

  • 🐛 Exclude com.stripe.net.HttpURLConnectionClient to solve IAST SSRF vulnerability false positives (#8483 - @jandro996)
  • 🐛 Add exclusion to solve IAST weak randomness vulnerability false positives (#8462 - @jandro996)
  • ✨ Fix weak randomness false positive in Kafka client (#8408 - @smola)
  • ✨ Fix location for SSRF with Kong Unirest (#8407 - @smola)
  • ✨ Exclude IBM Instana from IAST (#8406 - @smola)
  • 🐛 Fix org.json iast instrumentation test for latest dependency (#8347 - @jandro996)
  • ✨ Configuration to Disable APM Tracing (#8219 - @jandro996)
  • ✨ Address cookie vulnerability cardinality issues (#8210 - @jandro996)
  • ✨ Email HTML Injection detection in IAST (#8205 - @sezen-datadog)

Application Security Management (WAF)

Build & Tooling

  • 🐛 Do not generate Muzzle references for primitive arrays in method body (#8361 - @amarziali)
  • 📖 Improve dev env setup documentation for Windows (#8180 - @lucaspimentel)

Continuous Integration Visibility

Crash tracking

  • ✨ Only fork jps when required (#8419 - @mcculls)
  • 🐛 Use Java home of the crashed process to launch crash uploader (#8348 - @jbachorik)

Data Streams Monitoring

Database Monitoring

  • ✨ Add DBMTracePreparedStatements to tracer configuration log (#8508 - @cecile75)

Dynamic Instrumentation

Metrics

Profiling

Telemetry

Trace context propagation

Tracer core

Instrumentations

AWS Lambda instrumentation

  • 🐛 Send error message and stack to Lambda extension (#8417 - @nhulston)

AWS SDK instrumentation

Core Java language instrumentation

  • ✨ Look in another location for grpc service methods (#8468 - @evanchooly)
  • ✨ Add code origin support for spring-webmvc (#8416 - @evanchooly)
  • 💡 Implementation of BaggagePropagator and BaggageContext (#8330 - @mhlidd)
  • ✨ Add code origin support to kafka message listeners (#8301 - @evanchooly)

gRPC instrumentation

Kafka instrumentation

  • ✨ Add messaging.destination.name tag to kafka integrations (#8366 - @rarguelloF)

Protocol Buffer instrumentation

1.46.1

20 Feb 15:44
v1.46.1
8e02059
Compare
Choose a tag to compare

Components

Dynamic Instrumentation

Other changes

Library Injection

  • 🐛 Address partial library copy failures causing failed application startups in k8s.