1.48.0
·
208 commits
to master
since this release
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)
- ✨ Fix vulnerability location org.jose4j.lang.HashUtil (#8610 - @jandro996)
- ✨ Fix weak randomness in oracle.ucp.util.OpaqueString (#8609 - @jandro996)
- ✨ Fix weak hash false positive in oracle.security.o5logon.O5Logon (#8608 - @jandro996)
- 🐛 Prevent before callsites targeting constructors in super calls (#8549 - @manuel-alvarez-alvarez)
Application Security Management (WAF)
- ✨ Update login events public SDK to V2 (#8620 - @manuel-alvarez-alvarez)
- 🐛 Send RASP LFI capability only when AppSec is statically enabled (#8573 - @jandro996)
- ✨ Improve detection of missing request end events (#8510 - @smola)
- 🧹 Remove remote configuration for API Security sampling rate (#8486 - @smola)
- ✨ Add setUser to user monitoring SDK (#8482 - @manuel-alvarez-alvarez)
- ✨ Add missing address for signup event (#8469 - @manuel-alvarez-alvarez)
- ✨ Allow login events SDK to be used with appsec disabled (#8464 - @manuel-alvarez-alvarez)
- ✨ Add support for endpoint discovery in spring mvc (#8352 - @manuel-alvarez-alvarez)
- ✨ New API Security sampling algorithm (#8178 - @ValentinZakharov)
Build & Tooling
- ✨ Add buffer size customizability to JDK UDS support (#8629 - @sarahchen6)
- ✨ Add JDK built-in support for UDS on Java 16+ (#8314 - @sarahchen6)
Configuration at Runtime
- 🐛 Send RASP LFI capability only when AppSec is statically enabled (#8573 - @jandro996)
Continuous Integration Visibility
- 🐛 Prevent double reporting of Scalatest events when using SBT with test forking (#8682 - @nikita-tkachenko-datadog)
- 🐛 Shutdown CI Visibility test event handlers before tracer (#8677 - @nikita-tkachenko-datadog)
- 🐛 Do not apply JUnit 4 instrumentation to MUnit runners (#8675, #8683 - @nikita-tkachenko-datadog)
- ✨ Remove error log when source path resolution fails on isModified check (#8663 - @daniel-mohedano)
- ✨ Implement tests reordering for JUnit 4 (#8650 - @daniel-mohedano)
- 🐛 Set default Attempt to Fix retries if none provided from the backend (#8615 - @daniel-mohedano)
- ✨ Allow to manually set PR info (#8566 - @nikita-tkachenko-datadog)
- 🐛 Fix Test Optimization init when repo root cannot be determined (#8533 - @nikita-tkachenko-datadog)
- ✨ Add capabilities tagging (#8499, #8540 - @daniel-mohedano)
Crash tracking
- 🐛 Remove dependency on bash from crash/oome uploder scripts (#8652 - @jbachorik)
Data Streams Monitoring
Dynamic Instrumentation
- 🐛 Fix In-Product when config is empty (#8679 - @jpbempel)
- ✨ Add support for filtering shaded third-party libs (#8612 - @jpbempel)
- ✨ Add In-Product Enablement (#8587 - @jpbempel)
- ✨⚡ Reduce footprint of SourceFile tracking (#8524 - @jpbempel)
- ✨⚡ Optimize the SourceFile tracking (#8520 - @jpbempel)
OpenTracing
Profiling
-
✨ Add profiler env check command to AgentCLI (#8671 - @jbachorik)
-
✨ Bump ddprof to 1.23.0 (#8668 - @jbachorik)
- Fix a crash related to ElfParser::loadSymbolTable (#191) by @yanglong1010 in DataDog/java-profiler#192
- Unwind String.indexOf intrinsic on AArch64 by @MattAlp in DataDog/java-profiler#193
- Fix Java 24 support by @jbachorik in DataDog/java-profiler#194
- A set of fixes related to clang, aarch64 and musl pecularities of vmstructs stack unwinder by @jbachorik in DataDog/java-profiler#199
-
🐛 Remove process information from JFR recording (#8661 - @r1viollet)
-
🐛 Make TempLocationManager USER aware (#8605 - @jbachorik)
-
✨ Extract git tags from embedded git.properties and datadog_git.properties (#8561 - @wmouchere)
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
- 🧹 Simplify ssi tests one-pipeline (#8558 - @robertomonteromiguel)
- ✨ Add smoke tests for java's concurrent API (#8438 - @sarahchen6)
Trace context propagation
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 prioritizingDD_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
- ✨ Instrument Runtime.exit() to finish spark application spans (#8572 - @paul-laffon-dd)
- ✨ Configure OpenLineage if present in Spark instrumentation (#8541 - @mobuchowski)
Armeria Instrumentation
- ✨ Support armeria grpc 1.32.3 (#8606 - @github-actions[bot])
AWS DynamoDB Instrumentation
- ✨ Create DynamoDB instrumentation + add span pointers for
updateItem
anddeleteItem
(#8490 - @nhulston)
AWS SDK instrumentation
- ✨ Add DynamoDB in DEFAULT_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES (#8595 - @joeyzhao2018)
Azure Functions instrumentation
- ✨ Enable tracer computed trace metrics by default for Azure Functions (#8518 - @duncanpharvey)
- 💡 Add azure-functions instrumentation (#8432 - @duncanpharvey)
Core Java language instrumentation
- 🐛 Fix ForkJoinPool.execute() instrumentation on Java 21+ (#8560 - @PerfectSlayer)
Eclipse Vert.x instrumentation
Kafka instrumentation
- ✨ Support and test kafka-clients 4 (#8581 - @amarziali)
Kotlin instrumentation
Log4j instrumentation
OpenTelemetry instrumentation
Spring instrumentation
- 🐛 Support CompletableFuture on spring webmvc controllers (#8659 - @amarziali)
- ✨ Add support for endpoint discovery in spring mvc (#8352 - @manuel-alvarez-alvarez)
WebSocket Instrumentation
- ✨ Instrument Jetty websocket pojo (#8562 - @amarziali)
- 💡 Instrument Java Websocket API (JSR356) (#8440 - @amarziali)
All other instrumentations
- ✨ Introduce cache for peer.hostname lookup (#8601 - @mcculls)
- ✨ Support pekko http 1.1 (#8532 - @amarziali)