Releases: DataDog/dd-trace-java
1.49.0
Components
Configuration at Runtime
- ✨ Add process tags as list to remote config payload (#8705 - @amarziali)
Continuous Integration Visibility
- 🐛 Add span propagation for Pekko scheduled tasks (#8765 - @nikita-tkachenko-datadog)
- ✨ Update test.retry_reason to use full name of the feature (#8689 - @daniel-mohedano)
- 🧹 Remove unused TestEventsHandler methods (#8674 - @nikita-tkachenko-datadog)
Dynamic Instrumentation
- 🐛 Fix exclude identifiers normalization (#8742 - @jpbempel)
- ✨ Make source file tracking asynchronous (#8684 - @jpbempel)
- ✨ Add scope filtering for symbol extraction (#8676 - @jpbempel)
- ✨ Add support for @key and @value for Map filtering (#8669 - @jpbempel)
Library Injection
- ✨ Add system property to force injection of the tracing library even though multiple javaagents have been detected (#8697 - @cecile75)
Metrics
- ✨ Allow dogstatsd port to be configurable with DD_DOGSTATSD_PORT (#8693 - @randomanderson)
Profiling
- ✨ Bump ddprof-java to 1.25.1 (#8750 - @jbachorik)
- 🐛 Remove cleanup-on-shutdown for temporary files (#8746 - @jbachorik)
- ✨⚡ Replace a regex-based SMAP parser with a hand-crafted one (#8730 - @jbachorik)
- ✨ Improve error reporting on profiler startup (#8714 - @jbachorik)
- ✨ Exclude ProxyLeakTask exception from exception profiling (#8666 - @jbachorik)
- ✨ Use jvmstat for JDKs 9+ programmatically (#8641 - @MattAlp)
Telemetry
- ✨ Allow dogstatsd port to be configurable with DD_DOGSTATSD_PORT (#8693 - @randomanderson)
- 🐛 Fix appsec.waf.requests telemetry metric (#8644 - @jandro996)
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
- 🐛 Delete print line (#8686 - @sarahchen6)
Instrumentations
Akka instrumentation
Apache Spark instrumentation
- ✨ Use OpenLineage root parent information to generate trace id (#8726 - @mobuchowski)
- ✨ Spark job cancellation no longer marks application as failed (#8701 - @paul-laffon-dd)
JDBC instrumentation
- 💡 Add support for sybase tds jdbc driver (#8764 - @amarziali)
Kotlin instrumentation
Reactor instrumentation
- ✨⚡ Do not inspect reactor context when not needed (#8745 - @amarziali)
1.48.2
Components
Profiling
- 🐛 Bump ddprof-java to 1.24.0 (#8717 - @jbachorik)
- Add diagnostic counters for some failed unwinds by @jbachorik in DataDog/java-profiler#202
- Add profiler counters for time spent in stack unwinding by @bric3 in DataDog/java-profiler#195
- Increase number of reserved frames (cherry-pick 6c0aff4) by @MattAlp in DataDog/java-profiler#206
- Dwarf and JVMFlag related downports by @jbachorik in DataDog/java-profiler#204
Tracer core
Instrumentations
Akka instrumentation
1.48.1
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
- 🐛 Remove print line causing unnecessary logs (#8687 - @sarahchen6)
1.48.0
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
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)
1.47.3
1.47.2
Components
Application Security Management (IAST)
- 🐛 🍒 8549 - Prevent before callsites targeting constructors in super calls (#8582 - @manuel-alvarez-alvarez)
1.47.1
Components
Continuous Integration Visibility
- 🐛 🍒 8521 - Fix NPE when calculating code coverage for Gradle projects with non-standard directory layout (#8546 - @nikita-tkachenko-datadog)
Tracer core
1.47.0
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)
- 🐛✨ Ensure usr.exists tag is not overridden when UsernameNotFoundException is thrown (#8376 - @manuel-alvarez-alvarez)
- 🐛✨ Ensure usr.exists tag is not overridden by auto instrumentation (#8374 - @manuel-alvarez-alvarez)
- ✨ Update appsec metrics with event_rules_version tag (#8354 - @sezen-datadog)
- ✨ Update metrics: appsec.waf.requests (#8353 - @Mariovido)
- ✨ Improve ASM support in vert.x 5.0 (#8285 - @manuel-alvarez-alvarez)
- ✨ Update metrics: appsec.waf.updates and appsec.waf.init (#8280 - @Mariovido)
- ✨ Configuration to Disable APM Tracing (#8219 - @jandro996)
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
- ✨ Add support for skip-EFD tagging (#8487 - @nikita-tkachenko-datadog)
- 🐛 Fix an NPE in Gradle Android instrumentation (#8484 - @nikita-tkachenko-datadog)
- ✨ Consider modified tests when applying fail-fast tests ordering (#8474 - @nikita-tkachenko-datadog)
- ✨ Implement tests reordering for TestNG (#8467 - @nikita-tkachenko-datadog)
- 🐛 Fix Gradle Launcher instrumentation to not interfere with Gradle Test Kit (#8465 - @nikita-tkachenko-datadog)
- 🧹 Use separate TestEventHandlers per framework in CI Vis instrumentations (#8451 - @daniel-mohedano)
- ✨ Remove warning log when JUnit 4 test method cannot be retrieved (#8445 - @nikita-tkachenko-datadog)
- 🐛 Fix Scalatest tracing for tests that are reported asynchronously (#8444 - @nikita-tkachenko-datadog)
- ✨ Implement attempt to fix tests (#8393 - @daniel-mohedano)
- ✨ Implement test disabling (#8377 - @daniel-mohedano)
- ✨ Update CODEOWNERS parser to not log errors on comments with leading whitespace (#8349 - @nikita-tkachenko-datadog)
- ✨ Request Test Management tests list (#8345 - @daniel-mohedano)
- ✨ Receive test management settings from CIVis settings request (#8331 - @daniel-mohedano)
- ✨ Implement quarantined tests tagging (#8326 - @nikita-tkachenko-datadog)
- ✨ Implement tests quarantining (#8320 - @nikita-tkachenko-datadog)
- ✨ Add tag to specify if the user is setting DD_SERVICE (#8318 - @daniel-mohedano)
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
- 🐛 Fix error happening when sqs message attributes are readonly (#8473 - @vandonr)
- 🐛 Fix bug on proto schema extraction (#8403 - @vandonr)
- 🐛 Fix service name overrides in consumers (#8387 - @piochelepiotr)
Database Monitoring
Dynamic Instrumentation
- ✨ Look in another location for grpc service methods (#8468 - @evanchooly)
- 🐛 Fix Exception Replay with Lambda proxy classes (#8452 - @jpbempel)
- ✨ Add code origin support for spring-webmvc (#8416 - @evanchooly)
- ✨ Add support for scanning jar from loaded class (#8370 - @jpbempel)
- 🐛 Disable capture of entry values (#8369 - @jpbempel)
- 🐛 Fix CodeOrigin for
@Trace
annotation (#8344 - @jpbempel) - 🐛 Fix equals/hashCode for CodeOrigin probe (#8319 - @jpbempel)
- ✨ Add code origin support to kafka message listeners (#8301 - @evanchooly)
Metrics
- ✨ Create metric: appsec.waf.error (#8381 - @sezen-datadog)
- ✨ Create metric: appsec.rasp.error (#8364 - @sezen-datadog)
Profiling
- ✨ Bump ddprof library to 1.22.0 (#8463 - @jbachorik)
- IBM J9 8u361 corresponds to OpenJDK 8u362 by @jbachorik in DataDog/java-profiler#187
- Fix compatibility with musl libc 1.2.4 by @jbachorik in DataDog/java-profiler#189
- Modify version extraction by @jbachorik in DataDog/java-profiler#179
- Do not write null values to jvminfo event by @jbachorik in DataDog/java-profiler#184
- Productize VMStructs-based stack walker by @jbachorik in DataDog/java-profiler#177
- A few minor downport issues by @jbachorik in DataDog/java-profiler#180
- Enable ASGCT by default on fairly safe J9 JDK versions by @jbachorik in DataDog/java-profiler#181
- 🐛 Exclude OrderedThreadPoolExecutor from queue-time measurements (#8456 - @jbachorik)
- ✨ Record JVM info on JVMs without JFR (#8431 - @jbachorik)
- 🐛 Actually use CleanupTask in TempLocationManager (#8420 - @mcculls)
- ✨ Only fork jps when required (#8419 - @mcculls)
- 🐛 Adjust JFR checks for J9 (#8405 - @jbachorik)
- 🧹 Disable smap RSS parsing by default (#8342 - @MattAlp)
Telemetry
- 🐛 Add support for JBoss jar:file format to DependencyResolver (#8428 - @jandro996)
- ✨ Update metrics: appsec.waf.requests (#8353 - @Mariovido)
Trace context propagation
- ✨ Introduce tracing propagator (#8313 - @PerfectSlayer)
Tracer core
- 🐛 Fix Stable Config telemetry source names (#8460 - @BaptisteFoy)
- ✨ Probe trace endpoints with a valid payload of empty arrays (#8414 - @mcculls)
- ✨ Add 1 minute fail-safe to JUL/JMX class-loading callback (#8399 - @mcculls)
- ✨ Migrate DSM injection calls to context-first APIs (#8383 - @PerfectSlayer)
- 🧹 Move continuation capture methods from scope to tracer (#8371 - @mcculls)
- ✨ Migrate context extraction calls to context-first APIs (#8368 - @PerfectSlayer)
- 🧹 Migrate context injection calls to context-first APIs (#8358 - @PerfectSlayer)
- 💡 Support reading configurations from files (#8338 - @mtoffl01)
- 💡 Implementation of BaggagePropagator and BaggageContext (#8330 - @mhlidd)
- 🧹 Combine continuation implementations into one which supports multiple activations (#8324 - @mcculls)
- ✨ Introduce tracing propagator (#8313 - @PerfectSlayer)
- ✨ Remove old context propagation API (#8271 - @PerfectSlayer)
Instrumentations
AWS Lambda instrumentation
AWS SDK instrumentation
- 🐛 Fix error happening when sqs message attributes are readonly (#8473 - @vandonr)
- 💡 Inject trace context into AWS Step Functions input (#7585 - @DylanLovesCoffee)
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
- ✨ Look in another location for grpc service methods (#8468 - @evanchooly)
Kafka instrumentation
- ✨ Add messaging.destination.name tag to kafka integrations (#8366 - @rarguelloF)
Protocol Buffer instrumentation
1.46.1
Components
Dynamic Instrumentation
- 🐛 🍒 8344 - Fix CodeOrigin for @trace annotation (#8425 - @evanchooly)
- 🐛 🍒 8369 - Disable capture of entry values (#8424 - @evanchooly)
Other changes
Library Injection
- 🐛 Address partial library copy failures causing failed application startups in k8s.
1.46.0
Known Bugs
Note
If you are experiencing issues with failed application startups in k8s, please update to the latest version.
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)
- 🐛 Fix String.replace instrumentation for IAST (#8281 - @Mariovido)
- ✨ Apply the standard nomenclature to the stacktrace configs (#8244 - @jandro996)
- 🐛 Exclude false positive weak randomness (#8232 - @jandro996)
- ✨ Propagation of translateEscapes of String class (#8186 - @sezen-datadog)
- ✨ Add security control metrics (#8175 - @jandro996)
- ✨ Increase IAST propagation to StringBuffer setLength (#8128 - @Mariovido)
- ✨ Add IAST taint tracking for DB values (#8072 - @Mariovido)
Application Security Management (WAF)
- 🐛 Prevents a NPE when there is no subscriber for user events (#8258 - @manuel-alvarez-alvarez)
- ✨ Apply the standard nomenclature to the stacktrace configs (#8244 - @jandro996)
- 🐛 Ensure cached subscriptions are cleared on reconfiguration via RC (#8229 - @manuel-alvarez-alvarez)
- ✨ Add support for session tracking in Vertx (#8167 - @manuel-alvarez-alvarez)
- ✨ Create span tag: _dd.appsec.rasp.timeout (#8269 - @Mariovido)
Build & Tooling
Configuration at Runtime
Continuous Integration Visibility
- 🧹 Generalize TestRetryPolicy to TestExecutionPolicy (#8302 - @nikita-tkachenko-datadog)
- 🧹 Parallelize CI Visibility settings requests (#8299 - @nikita-tkachenko-datadog)
- 🧹 Generalize test retry logic (#8289 - @nikita-tkachenko-datadog)
- 🧹 Generalize tests skipping logic (#8288 - @nikita-tkachenko-datadog)
- 🧹 Remove skip and shouldBeSkipped methods from TestEventsHandler in favor of isSkippable (#8286 - @nikita-tkachenko-datadog)
- ✨⚡ Optimize Git repository information computation (#8270 - @dougqh)
- ✨ Always request known tests from the backend (#8268 - @nikita-tkachenko-datadog)
- ✨ Fix NPE when trying to get retry analyzer in Test NG (#8253 - @nikita-tkachenko-datadog)
- 🐛 Set test framework and test framework version tags atomically (#8252 - @nikita-tkachenko-datadog)
- ✨ Add debug logging to Android Gradle module layout logic (#8251 - @nikita-tkachenko-datadog)
- 🐛 Fix source and destination folders computation for Android Gradle projects (#8190 - @nikita-tkachenko-datadog)
- ✨ Add basic Scala Weaver sbt support (#8189 - @daniel-mohedano)
- ✨ Implement impacted tests detection (#8188 - @nikita-tkachenko-datadog)
Data Streams Monitoring
- ✨ Change hash computation for protobuf to better represent impacting changes + save proto number in schema (#8201 - @vandonr)
Database Monitoring
- Add peer service tag in dbm sql commenter (#7913 - @jordan-wong)
Dynamic Instrumentation
- ✨ Add support for SymDB to scan directories (#8306 - @jpbempel)
- ✨ Add SymDB report for any jar scanning failures (#8300 - @jpbempel)
- ✨ Use two budgets depending on type (#8283 - @evanchooly)
- ✨ Institute a 10 snapshot per probe per trace budget (#8277 - @evanchooly)
- 🐛 Avoid double snapshots for Exception Replay (#8273 - @jpbempel)
- ✨ Simplify code origins. Separate out snapshot generation. (#8263 - @evanchooly)
- ✨ Add Exception probe custom instrumentation (#8230 - @jpbempel)
- ✨ Enhance log probes to honor debug session tags (#8215 - @evanchooly)
- 🐛 Don't redact env tokens from debugger probe snapshots (#8211 - @watson)
- ✨⚡ Move Trace/SpanId capture at commit time (#8184 - @jpbempel)
- 🐛 Capture values at entry for method probe (#8169 - @jpbempel)
JMX fetch
OpenTracing
Profiling
- 🐛 Avoid unsupported API call for creating folders on windows (#8304 - @jbachorik)
- ✨ Tag profiles for serverless (#8279 - @jbachorik)
- ✨ add queue type and length to queue events (#8242 - @richardstartin)
- 🐛 TempLocationManager Fixes and Improvements (#8191 - @jbachorik)
- ✨ Bump ddprof to 1.18.0 (#8173 - @jbachorik)
- ✨ Report profiler initialization and configuration errors to telemetry (#8171 - @jbachorik)
Telemetry
Testing
- ✨ Test http server requests in parallel (#8222 - @amarziali)
Trace context propagation
- ✨ Add non default propagator registration (#8310 - @PerfectSlayer)
Tracer core
- ✨ Probe for existence of IBMSASL or ACCP security providers (#8276 - @mcculls)
- ✨⚡ Overhead improvement to agent feedback based sampling (#8265 - @dougqh)
- 🧹 Move async propagation API from scope to tracer (#8231 - @PerfectSlayer)
- ✨ Introduce context propagation API (#8161 - @PerfectSlayer)
- ✨🧪 Use env-entry to add tags per webapp deployment (#8138 - @amarziali)
- ✨ Introduce context helpers API (#8134 - @PerfectSlayer)
- ✨ Support IPv6 values for
DD_AGENT_HOST
andDD_TRACE_AGENT_URL
(#7984 - @mhlidd)
Instrumentations
Apache HttpComponents
- 🐛 Properly finish spans and support latest apache httpclient5 (#8272 - @amarziali)
AWS Lambda instrumentation
- 🐛 Properly capture lambda payloads for all handler types. (#8264 - @purple4reina)
AWS S3 instrumentation
AWS SDK instrumentation
Cassandra
- ✨ Allow extracting keyspace from statement result (#8239 - @amarziali)
Core Java language instrumentation
- ✨ Propagation of translateEscapes of String class (#8186 - @sezen-datadog)
Eclipse Vert.x instrumentation
- 🐛 Fix vertx worker propagation and error handling (#8237 - @amarziali)
- ✨ Support vertx 5 (#8220 - @amarziali)
- ✨ Add support for session tracking in Vertx (#8167 - @manuel-alvarez-alvarez)
Kafka instrumentation
Mule instrumentation
- 🐛 Fix crash using Mule with JPMS (#8187 - @amarziali)
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)
All other instrumentations
- Valkey instrumentation support (#8228 - @AhmadMasry - thanks for the contribution!)