Repository navigation
Releases: DataDog/dd-trace-java
Releases · DataDog/dd-trace-java
Release list
1.67.1
Announcement
Important
Fixes a security vulnerability, as described in GHSA-9x8v-5f43-c55r.
Components
Tracer core
- âĻ Update default query string obfuscation pattern (#12784 - @jandro996)
Instrumentations
Core Java language instrumentation
- ð Fix startup deadlock with virtual threads (#12788 - @amarziali)
1.67.0
Warning
This version contains a regression that can cause application hangs when virtual threads are used heavily at startup, on JDK versions from 21+ up to January 2025.
Components
AI Guard
- âĻ Apply sensitive data redaction from evaluate responses (#12394 - @manuel-alvarez-alvarez)
Application Security Management (WAF)
- ð Finish HTTP client spans and close scopes when AppSec blocks requests (#12611 - @amarziali)
- ð Complete AWS Lambda AppSec telemetry integration (#12587 - @claponcet)
- ð Restore the no-arg constructors the Moshi reflective adapters require (#12566 - @claponcet)
- ð Fix concurrent access to AppSec derivatives during tracing (#12523 - @claponcet)
- âĻ Add block_failure telemetry to jersey, resteasy, commons-fileupload and okhttp (#12519 - @jandro996)
- âĻ Infer status 200 for implicit-success Lambda responses (#12494 - @claponcet)
- ð Consult AppSec trace rate limiter only when the WAF requests trace retention (#12482 - @claponcet)
- ð Report v1 SDK custom events as sdk_version:v1 in telemetry (#12438 - @claponcet)
- âĻ Parse Lambda AppSec request bodies according to their content type (#12363 - @claponcet)
- âĻ Add block-outcome telemetry for Netty blocking enforcement failures (#12316 - @jandro996)
- ð Fix AppSec instrumentation hooks lost after Remote Config reload (#12271 - @jandro996)
- ð Fix multipart body-map cap bypass and charset handling in RESTEasy (#12085 - @jandro996)
Build & Tooling
- âĻ Provide a way to claim classes from other sources as helpers (#12694 - @mcculls)
- âĻ Add JUnit support for
@Flakyconditions (#12620 - @sarahchen6) - âĻ Allow instrumentations to retransform already-loaded classes (#12610 - @mcculls)
- âĻ Reconfigure Muzzle to use advice scanner (#12551 - @sarahchen6)
- âĻ Discover instrumentation helper classes using advice scanner (#12549 - @sarahchen6)
- âĻ Improve Byte Buddy advice transformation diagnostics (#12439 - @amarziali)
- âĻ Add team freeze guard workflow (#12437 - @cbeauchesne)
- âĻ Implement generic advice scanner (#12370 - @sarahchen6)
Configuration
- ð Remove OTel resource attribute tag limit (#12617 - @MilanGarnier)
Continuous Integration Visibility
- ð Forward JUnit 5 report entries to the original listener (#12697 - @daniel-mohedano)
- ð Report Gradle test tasks with no executed tests as skipped (#12656 - @juan-fernandez)
- ð Report explicitly skipped Maven test runs as skipped (#12640 - @juan-fernandez)
- ð Fix ATR eligibility with fail-fast test ordering (#12508 - @juan-fernandez)
- ð Support latest Robolectric 4.17 (#12478 - @AlexeyKuznetsov-DD)
- âĻ Implement dynamic auto test retries (#12467 - @gnufede)
- ð Fix TIA missing line coverage response field (#12384 - @daniel-mohedano)
- ð Fix crash when class bytecode is unavailable for test coverage (#12380 - @dougqh)
Crash Tracking
- ð Fix crash-tracking script/directory permission lockdown (#12330 - @jbachorik)
Database Monitoring
- âĻ⥠Reduce DBM comment buffer allocation (#12582 - @amarziali)
- ð Fix NPE in JDBC instrumentation when connection has no database type (#12371 - @dougqh)
- âĻ Propagate Oracle dynamic service hash without SQL comments (#12234 - @joelmarcotte)
Dynamic Instrumentation
- ð Reinitialize to the initial config when APM_TRACING is absent (#12660 - @jpbempel)
- ð Fix LinkageError for CodeOrigin (#12545 - @jpbempel)
- ð Fix race in ConfigurationUpdater (#12496 - @jpbempel)
- âĻ Add coordinated sampling for snapshot probes (#12452 - @jpbempel)
- ð Fix NullPointerException in Exception Replay (#12429 - @jpbempel)
- ð Avoid Throwable::toString in ExceptionReplay (#12424 - @jpbempel)
GraalVM native-image
- ð Fix stale _dd.base_service on GraalVM/Mandrel native-image builds (#12571 - @Yeison2020)
ML Observability (LLMObs)
- ð Carry the agent manifest inside metadata so it reaches the backend (#12512 - @ncybul)
- âĻ Emit gen_ai.* attributes on APM spans (#12450 - @mz1119)
- âĻ Propagate LLM Observability context across service boundaries (#12416 - @ncybul)
OpenFeature
- âĻ Send the split serial id on feature flag exposure events (#12432 - @danyal002)
- âĻ Publish dd-openfeature in PR snapshots (#12400 - @leoromanovsky)
- ð Constrain direct EVP intake origin to prevent API key leakage (#12299 - @leoromanovsky)
Profiling
- âĻ Bump ddprof to 1.51.0 (#12648 - @zhengyu123)
- âĻ Avoid Netty queue-timing metadata reads before JFR is ready (#12558 - @amarziali)
- âĻ Avoid queue-timing metadata reads before JFR is ready (#12550 - @amarziali)
- âĻ Expose OTel thread/process context without requiring profiling to be enabled (#12546 - @jandro996)
- ð Create profiler snapshot and JFR CLI temp files under configured tempdir (#12484 - @anandreshmi46)
Telemetry
Trace context propagation
- ð Honour request header tags mapped onto headers (#12695 - @ValentinZakharov)
- ð Fix baggage header escaping of non-ASCII values (#12564 - @RoseannaM)
- ð Prevent OkHttp connection pools from retaining request contexts (#12492 - @amarziali)
- ð Prevent OkHttp TaskRunner from retaining request contexts (#12468 - @amarziali)
- ð§đ Parse OpenTelemetry tracestate member (#12405 - @MilanGarnier)
- âĻ Support OpenTelemetry consistent tracestate sampling (#12397 - @MilanGarnier)
Tracer core
- ð Fix application service names beneath inferred proxy spans (#12553 - @mhlidd)
- ð Fix agent sampling rates being ignored when sampling rules are configured (#12490 - @mhlidd)
- âĻ⥠Use ObjectStore to track context bound to arbitrary objects (#12463 - @mcculls)
- ð§đ Improve concurrent hash table insertion performance (#12462 - @dougqh)
- ð Fix null trace config returned from extracted spans (#12413 - @mcculls)
- ð Keep JDK Unix socket timeouts from stopping trace delivery (#12322 - @bric3)
Instrumentations
Akka and Pekko instrumentation
- ð Release Akka message continuations when discarded to dead letters (#12616 - @amarziali)
- ð Prevent Akka HTTP timeout cleanup from retaining request context (#12615 - @amarziali)
- ð Use context swap for Akka and Pekko HTTP flows (#12507 - @amarziali)
- ð Prevent Pekko callbacks from retaining request contexts (#12675 - @amarziali)
- ð Prevent Pekko stream lifecycle context retention (#12470 - @amarziali)
Apache Spark instrumentation
- âĻ Add Spark physical plan only to completed spans (#12645 - @aboitreaud)
- ð Preserve Spark application failures after Spark stops on YARN (#12596 - @aboitreaud)
AWS Lambda instrumentation
- ð Complete AWS Lambda AppSec telemetry integration (#12587 - @claponcet)
AWS SDK instrumentation
- ð Tag http.status_code on AWS SDK spans for non-2xx service errors (#12749 - @Yeison2020)
- âĻ⥠Reduce SQS body propagation parsing overhead (#12568 - @amarziali)
- âĻ⥠Reduce SQS propagation attribute formatting overhead (#12562 - @amarziali)
Core Java language instrumentation
- âĻ Preserve trace context in delayed ForkJoinPool tasks (#12600 - @amarziali)
- ð Fix Java HTTP async continuation lifecycle (#12498 - @amarziali)
- ð Fix continuation cleanup when TimerTask is cancelled (#12464 - @amarziali)
- âĻ Reduce virtual-thread context-propagation overhead on park/unpark (#11893 - @amarziali)
Couchbase instrumentation
- ð Prevent Couchbase Netty initialization from capturing context (#12520 - @amarziali)
Eclipse Vert.x instrumentation
Guidewire instrumentation
- âĻ Enable Guidewire instrumentation by default (#12594 - @ValentinZakharov)
JAX-RS instrumentation
- ð Fix multipart body-map cap bypass and charset handling in RESTEasy (#12085 - @jandro996)
- âĻ Add block_failure telemetry to jersey, resteasy, commons-fileupload and okhttp (#12519 - @jandro996)
JDBC instrumentation
- âĻ Propagate Oracle dynamic service hash without SQL comments (#12234 - @joelmarcotte)
Jetty instrumentation
- ð Preserve Jetty 12 request task invocation types (#12586 - @amarziali)
Kotlin instrumentation
- ð Prevent duplicate Kotlin coroutine continuation release (#12466 - @amarziali)
Lettuce instrumentation
MongoDB instrumentation
- âĻ⥠Avoid copying redacted MongoDB binary values (#12581 - @amarziali)
Netty instrumentation
- âĻ⥠Reuse Netty request-context attributes between requests (#12584 - @amarziali)
- ð§đ Fix context propagation for delayed Netty scheduled task (#12541 - @amarziali)
- ð Prevent Netty idle timers from retaining request context (#12503 - @amarziali)
- ð Prevent Netty periodic purge tasks from inheriting context (#12499 - @amarziali)
- âĻ Add block-outcome telemetry for Netty blocking enforcement failures (#12316 - @jandro996)
Spring instrumentation
- âĻ Share the WebFlux parsed-route cache across requests (#12561 - @amarziali)
- âĻ⥠Avoid repeated controller attribute-key allocation in Spring MVC (#12547 - @amarziali)
Square OkHttp instrumentation
- âĻ⥠Reduce OkHttp AppSec header conversion overhead (#12567 - @amarziali)
- âĻ Add block_failure...
1.66.0
Components
Application Security Management (IAST)
- âĻ Add IAST code injection detection for BeanShell (#12113 - @claponcet)
Application Security Management (WAF)
- âĻ Add API Security schema extraction and missing-route metrics (#12300 - @jandro996)
- ð Bound unresolved-artifact retry loop in ScaReachabilityTransformer (#12245 - @jandro996)
- âĻ Add HTTP span tags to the AWS Lambda invocation span (#12226 - @claponcet)
- âĻ Bump libsqreen (libddwaf-java) to 17.5.0 for libddwaf 2.0.1 (#12118 - @jandro996)
Configuration
Continuous Integration Visibility
- ð Avoid empty headless test sessions (#12146 - @daniel-mohedano)
Crash Tracking
- ð Add
is_crashtag to crash report (#12156 - @gyuheon0h)
Data Streams Monitoring
- âĻ Capture Kafka consumer group membership on join (#11989 - @piochelepiotr)
Dynamic Instrumentation
- ð Disable Exception Replay for JDK < 11 (#12411 - @jpbempel)
- âĻð§đ Add telemetry metrics for dropped/skipped events (#12319 - @jpbempel)
- ð§đ Add additional collection classes as unsafe (#12280 - @jpbempel)
- ð Make snapshot list for ThrowableState concurrent (#12270 - @jpbempel)
- ð Fix redaction marker for log template (#12269 - @jpbempel)
- ð Fix memory leak with FastThrow optimization (#12254 - @jpbempel)
- ð Add null checks for calls to getAllLoadedClasses (#12236 - @jpbempel)
- ð Fix error spam from filtered out log probes (#12207 - @tylfin)
- ð Close jar entry streams during Symbol Database scan (#12143 - @tylfin)
ML Observability (LLMObs)
- ð Fix OpenAI Java 4.54 compatibility (#12340 - @AlexeyKuznetsov-DD)
- âĻ Add annotateAgentManifest manual API to LLMObs SDK (#12318 - @yahya-mouman)
- âĻ Add agent_version tag with subtree propagation to LLM Observability spans (#12291 - @ncybul)
- âĻ Add head-based sampling for LLM Observability traces (#12277 - @ncybul)
- âĻ Add in LLM Observability Prompt Tracking API (#12161 - @sabrenner)
- âĻ Add Support for Annotating Embedding and Retrieval Documents (#12149 - @sabrenner)
- ð Aggregate span.finished telemetry counts per interval (#12136 - @Yun-Kim)
- âĻ Add LLMObs.submitFeedback for end-user feedback submission (#12129 - @ddog-thibault-nadin)
- âĻ Add in LLM Observability Span Processor API (#12112 - @sabrenner)
Metrics
- ð Fix OTLP trace-metrics attribute compliance gaps (#12144 - @mabdinur)
- âĻ Report stats span collapses over telemetry (client-side stats) (#12070 - @dougqh)
OpenFeature
- ðâĻ Support arbitrary semver parts (#12286 - @greghuels)
- ð Fix span enrichment singleton initialization (#12273 - @sameerank)
- âĻ Add direct flagevaluation fallback (#12204 - @leoromanovsky)
- âĻ Send agentless Feature Flags exposures directly to EVP (#12195 - @leoromanovsky)
- âĻ Add semantic version operators for feature flag evaluation (#12182 - @greghuels)
- âĻ Emit server-side EVP flagevaluation (#11639 - @leoromanovsky)
- ð Handle gracefully malformed flag evaluations; migrate Date->Instant (#11535 - @leoromanovsky)
Profiling
- ð Bump ddprof to 1.50.0 (#12337 - @jbachorik)
- ð§đ Revert carrier-scoped ddprof context storage export (#11826) (#12302 - @rkennke)
- âĻ Add support for native_socket ddprof config (#12175 - @kaahos)
- ð Bump java-profiler (ddprof) to 1.49.0 (#12168 - @jbachorik)
Telemetry
- âĻ Add API Security schema extraction and missing-route metrics (#12300 - @jandro996)
- ð Aggregate span.finished telemetry counts per interval (#12136 - @Yun-Kim)
- ð Guard core-metric telemetry drain against queue-full delta loss (#12081 - @dougqh)
- âĻ Redact OTLP header and Datadog key configs in telemetry (#11583 - @bm1549)
Trace context propagation
- ð Fix sfn x-datadog-tags input (#12320 - @ojproductions)
- ð Adding baggage limits for OT Baggage (#12303 - @mhlidd)
Tracer core
- ð Preserve deterministic sampler rates (#12382 - @MilanGarnier)
- âĻ Support using GlobalObjectStore for non-field-injected contexts (#12381 - @mcculls)
- ð Fix span link span ID hex padding (#12279 - @itsamenathan - thanks for the contribution!)
- ð Only warn about trace buffer overflow when a kept trace is lost (#12348 - @dougqh)
- âĻ Update dd-instrument-java to v0.0.5 (#12344 - @mcculls)
- âĻ Update byte-buddy dependency to 1.18.12 (#12325 - @sarahchen6)
- ðĄ Allow tracer clock to be resynced after an AWS Lambda SnapStart restore (#11882 - @sheldon-nadarajah-sft - thanks for the contribution!)
- âĻ Add agent attribution to Java SDK (#12238 - @yahya-mouman)
- ð Fix uncaught StackOverflowError in StackTraces.getStackTrace (#12233 - @dougqh)
- ð Fix trailing element separator rejecting valid dd tracestate (#12229 - @mcculls)
- âĄð§đ Recalibrate the UTF8 caches every N spans instead of per span (#11945 - @dougqh)
- ð§đ Wire mergedTracerTags as a read-through parent at span build (level-split) (phase 1a) (#11932 - @dougqh)
Tracer internal logging
Instrumentations
Apache Spark instrumentation
- ð Route OpenLineage over the Agent's Unix Domain Socket URL (#12408 - @pawel-big-lebowski)
AWS SDK instrumentation
- ð Fix sfn x-datadog-tags input (#12320 - @ojproductions)
- ð Fix SQS queue name tags from QueueUrl (#12159 - @ygree)
Core Java language instrumentation
- ð Prevent NPE in HttpClientDecorator.isAgentRequest for a null request (#12376 - @dougqh)
- ð Fix NullPointerException in OSGi BundleWiringHelper when bundle reference is stale (#12241 - @dougqh)
Guidewire instrumentation
- ðĄ Propagate trace context across Guidewire WSI SOAP worker threads (#12125 - @ValentinZakharov)
Kafka instrumentation
- âĻ Capture Kafka consumer group membership on join (#11989 - @piochelepiotr)
Netty instrumentation
OpenTelemetry instrumentation
1.65.1
Components
OpenFeature
- ð Handle gracefully malformed flag evaluations; migrate Date->Instant (#12176 - @leoromanovsky)
Profiling
-
ð Update java-profiler (ddprof) to 1.49.0 (#12173 - @kaahos)
Most significant changes/fixes in ddprof 1.49.0:
- Missing
libgcc_s.so.1on the host no longer causes a crash â DataDog/java-profiler#689, DataDog/java-profiler#720 (Alpine/musl) - Avoid retaining invalid VM method pointers â DataDog/java-profiler#699
- Guard
Profiler::recordSample()stack walk against faults â DataDog/java-profiler#687 - Guard
Recording::writeElementagainst SIGSEGV on a corrupted metadata tree â DataDog/java-profiler#692 - Fix memory leak in
JfrMetadata::reset()â DataDog/java-profiler#694 - Remove legacy DirectByteBuffer-based OTEP context storage (Phase 3) â DataDog/java-profiler#696
- Never patch the profiler's own import table â DataDog/java-profiler#721
- Missing
1.65.0
Components
AI Guard
- âĻ Support
DD_APM_TRACING_ENABLED=falsefor AI Guard traces (#11885 - @claponcet)
Application Security Management (WAF)
- âĻ Update default AppSec ruleset to release 1.18.2 (#12099 - @jandro996)
- ð Stamp
_dd.apm.enabledon every exported chunk when APM tracing is disabled (#12028 - @claponcet) - ð Fix WafContext TOCTOU race resurrecting orphaned native contexts (#12024 - @jandro996)
- ð Fix Metaspace leak in SCA Reachability retransform and opcode injection (#12013 - @jandro996)
- âĻ Report agentic onboarding marker in configuration telemetry (RFC-1113) (#11983 - @christophe-papazian)
- ð Bound multipart text/plain field materialization in Jersey AppSec (#11944 - @jandro996)
- ð Update
libddwaf-javato 17.4.0 (#11943 - @jandro996) - âĻ AppSec Lambda: Analyze HTTP response (#11750 - @claponcet)
- âĻ Add
server.request.body.files_contentAppSec address for Undertow and Play (#11726 - @jandro996) - âĻ Add
server.request.body.files_contentAppSec address for Akka HTTP (#11725 - @jandro996) - âĻ Add
server.request.body.files_contentAppSec address for Vert.x 3/4/5 (#11724 - @jandro996) - âĻ Add
server.request.body.files_contentAppSec address for Jetty (#11706 - @jandro996)
Build & Tooling
- âĻ Update JMXFetch to 0.52.1 (#12121 - @sarahchen6)
Continuous Integration Visibility
- ð Restore JUnit4 test ordering on Gradle 9.3+ (#12098 - @daniel-mohedano)
- âĻ Add
ci.pipeline.display_nametag for Buildkite pipelines (#12079 - @gbrandrea) - âĻ Allow Gradle verification of Test Optimization dependencies (#12077 - @daniel-mohedano)
- âĻ Improve codeowners lookup performance (#12058 - @daniel-mohedano)
- ð Fix GitLab codeowners exclusion handling (#12021 - @daniel-mohedano)
- ð Stop retrying aborted Karate scenarios (#12015 - @daniel-mohedano)
- ð Finish Karate tests after scenario post-processing (#12014 - @daniel-mohedano)
- ð Avoid retrying untracked Karate scenarios (#12012 - @daniel-mohedano)
- âĻ Improve GitLab codeowners parsing (#11999 - @daniel-mohedano)
- âĻ Add code coverage report flags (#11981 - @juan-fernandez)
- âĻ Memoize per-test class analysis in a module-wide cache (#11969 - @daniel-mohedano)
- âĻ Add test reporting for Karate v2 (#11923 - @daniel-mohedano)
- âĻ Avoid error logging when parsing optional sections in codeowners file (#11881 - @daniel-mohedano)
- âĻ Add AGP usage visibility for Gradle projects (#11869 - @daniel-mohedano)
- âĻ Add Android/Robolectric visibility to Test Optimization spans (#11852 - @daniel-mohedano)
- âĻ Avoid final field modifications in Cucumber and Spock instrumentations (#11851 - @daniel-mohedano)
- ð Fix Cucumber test retries running under Suite (#11850 - @daniel-mohedano)
- âĻ Avoid final field modification in JUnit5 instrumentation (#11752 - @daniel-mohedano)
Data Streams Monitoring
- ð§đ Remove full schema collection from Kafka, Avro, and Protobuf instrumentation (#12038 - @piochelepiotr)
- ð Tag consumer spans with the pathway hash on every data streams checkpoint (#11808 - @ericfirth)
Dynamic Instrumentation
- ð Avoid calling synchronized wrappers when capturing (#12106 - @tylfin)
- ð Fix initialization of samplers for probe file (#12067 - @jpbempel)
- ð Update record detection for fixed JDK (#12031 - @jpbempel)
- ð Update MethodParameters detection for fixed JDK (#12025 - @jpbempel)
- ð Fix NullPointerException in Exception Replay (#11976 - @jpbempel)
- ð Avoid false warning when no stacktrace (#11971 - @jpbempel)
- âĻ Hoist local vars for exception probes (#11964 - @jpbempel)
- ð Fix instrumenting metric probes for Kotlin (#11890 - @jpbempel)
ML Observability (LLMObs)
- âĻ Add LLMObs Tool Definitions API (#12072 - @sabrenner)
Metrics
- âĻ Emit additional metric tags on the OTLP stats export path (client-side stats) (#12069 - @dougqh)
- âĻ Add span-derived primary tags (CSS v1.3.0) (#11402 - @dougqh)
OpenFeature
- âĻ Add agentless Feature Flagging configuration source (#11892 - @leoromanovsky)
- âĻ Add experimental, gated feature-flag span enrichment (#11658 - @leoromanovsky)
Platform
- âĻ Improve JSON component (#12086 - @PerfectSlayer)
Profiling
- ð Update java-profiler (ddprof) to 1.48.1 (#12133 - @kaahos)
- Gracefully disable the profiler instead of crashing when
libgcc_s.so.1is unavailable by @zhengyu123 in DataDog/java-profiler#689 - Avoid retaining invalid HotSpot VM method pointers during stack walking and JFR serialization by @jbachorik in DataDog/java-profiler#699
- Gracefully disable the profiler instead of crashing when
- ð Update java-profiler (ddprof) to 1.48.0 (#12076 - @kaahos)
- Add native malloc/socket stack capture with profiler-hook frame skipping by @jbachorik in DataDog/java-profiler#648
- Add categorized native-memory accounting by @rkennke in DataDog/java-profiler#669
- Set up signal handlers before initializing VMStructs and protect
VMFlag::name()calls by @zhengyu123 in DataDog/java-profiler#674 - Make CodeCache
memoryUsage()accurate and live by @rkennke in DataDog/java-profiler#677 - Report the actual runtime-stubs cache size by @rkennke in DataDog/java-profiler#681
- Use
sigsetjmp/siglongjmpinstead ofsetjmp/longjmpby @zhengyu123 in DataDog/java-profiler#686
- ð Update java-profiler (ddprof) to 1.47.0 (#12076 - @rkennke)
- Add all-native OTEL context write API â Phase 1 (PROF-15271) by @rkennke in DataDog/java-profiler#631
- Guard line-number-table copy against stale jmethodID by @jbachorik in DataDog/java-profiler#647
- Prevent duplicate trace_id after CallTraceHashTable expansion by @jbachorik in DataDog/java-profiler#659
- Fix native OOM from unbounded CallTraceHashTable expansion by @jbachorik in DataDog/java-profiler#670
- ð Address CVE-2026-59949 by upgrading LZ4 to v1.11.1 (#12091 - @vandonr)
- ð Migrate context bridge to the all-native DDProf API (Phase 2) (#11899 - @rkennke)
Testing
- âĻ Add APM test agent trace decoding (#12089 - @PerfectSlayer)
- âĻ Add decoded span assert rules (#12088 - @PerfectSlayer)
- âĻ Avoid null collection on decoded spans (#12087 - @PerfectSlayer)
- âĻ Add test agent session token support (#12050 - @PerfectSlayer)
Trace context propagation
Tracer core
- âĻ Fix propagation tag serialization for trace chunks (#12096 - @sarahchen6)
- âĻ Report OTLP export status in tracer startup log (#12062 - @bm1549)
- ð Fix lookup-then-read race in GenerationalUtf8Cache.getUtf8 (#11917 - @dougqh)
- âĻ Wire per-component cardinality limits from Config (#11732 - @dougqh)
Tracer internal logging
- ðĄ Enable secure random ID generation for AWS Lambda MicroVM environments (#11622 - @litianningdatadog)
Instrumentations
Apache Spark instrumentation
- âĻ Add Spark 4.0.0 test suite on JDK 17 to spark_2.13 (#12049 - @aboitreaud)
- âĻ Mix Databricks repair attempt into Spark parent trace id (#12022 - @aboitreaud)
Core Java language instrumentation
Kafka instrumentation
- ð§đ Remove full schema collection from Kafka, Avro, and Protobuf instrumentation (#12038 - @piochelepiotr)
- ð Fix NoSuchElementException from unchecked
Optional.get()in Kafka consumer instrumentation (#12007 - @piochelepiotr)
Netty instrumentation
- ð Keep Netty 4.1 server spans open until streaming responses complete (#11941 - @ygree)
- ð Fix Netty 4.1 tracing for pipelined HTTP/1.1 responses (#11937 - @ygree)
OpenTelemetry instrumentation
- âĻ Telemetry for OTLP traces/metrics/logs (#12057 - @mcculls)
- âĻ⥠Limit growth of OTLP trace buffer (#12052 - @mcculls)
- âĻ Support OTLP export over "http/json" for traces, metrics, and logs (#12018 - @mcculls)
Protocol Buffer instrumentation
- ð§đ Remove full schema collection from Kafka, Avro, and Protobuf instrumentation (#12038 - @piochelepiotr)
RabbitMQ instrumentation
- ð Use routing key as DSM topic for RabbitMQ default-exchange publishes (#11805 - @ericfirth)
Reactor instrumentation
- âĻ Support W3C baggage propagation across reactor-netty connect hand-off (#12027 - @mcculls)
- ð Fix multicast context propagation race in reactor/reactive-streams (#11825 - @amarziali)
Spring instrumentation
- ð Tag
@Asyncand@Scheduledspring-scheduling spans as errored on exception (#12071 - @ValentinZakharov)
All other instrumentations
1.64.2
Components
Application Security Management (WAF)
- ð Fix Metaspace leak in SCA Reachability retransform and opcode injection (#12075 - @claponcet)
- ð Stamp _dd.apm.enabled on every exported chunk when APM tracing is disabled (#12068 - @claponcet)
Profiling
- âĻ Bump java-profiler (ddprof) to 1.47.0 (#12065 - @jbachorik)
Realtime User Monitoring
- ð Fix RUM injection for offset response writes (#12064 - @PerfectSlayer)
Instrumentations
Kafka instrumentation
- ð Fix NoSuchElementException from unchecked Optional.get() in Kafka consumer instrumentation (#12066 - @PerfectSlayer)
1.64.1
Components
Tracer core
- ð Guard InternalTagAdder against null prebuilt tagmap entry (#11962 - @amarziali)
1.64.0
Note
When the sampling.priority tag has a positive value we now translate that to forceKeep to ensure the trace segment is kept regardless of any previous sampling decision
Components
Application Security Management (IAST)
- ðð Fix AppSec/IAST context dropped when trace.propagation.behavior.extract=ignore/restart (#11666 - @dougqh)
- âĻ⥠Improve performance of regexps in IAST and query obfuscator (#11649 - @manuel-alvarez-alvarez)
- ð Fix IAST JDBC instrumentation when getMetadata throws non-SQLException (#11420 - @smola)
Application Security Management (WAF)
- ð Fix unbounded multipart form-field buffering in Jetty 8 PartHelper (#11876 - @jandro996)
- âĻ Add request_excluded tag to appsec.waf.requests metric (#11744 - @jandro996)
- ð Fix rasp.rule.match metric always reporting block:N/A (#11723 - @jandro996)
- ðð Fix AppSec/IAST context dropped when trace.propagation.behavior.extract=ignore/restart (#11666 - @dougqh)
- âĻ Fix waf.updates metric success:N/A tag from sequential counter metric values (#11604 - @jandro996)
- âĻ Implement SCA Reachability runtime detection: report vulnerable classes and callsites via telemetry (#11352 - @jandro996)
- âĻ Add server.request.body.filenames AppSec address for Vert.x 3.4, 4.0 and 5.0 (#11268 - @jandro996)
- âĻ Add server.request.body.filenames support for Jetty (#10988 - @jandro996)
Build & Tooling
- âĻð Forbid
OkHostnameVerifierto prevent accidental use, CVE-2021-0341 (#11694 - @bric3)
Configuration at Runtime
- âĻ Avoid logging stack trace during expected remote-config exception (#11328 - @sarahchen6)
Configuration
- âĻ Add OTLP Trace Metrics Configs (#11653 - @mhlidd)
- âĻ⥠Optimize collection creation and memory allocation of supported config (#11616 - @PerfectSlayer)
Continuous Integration Visibility
- âĻ Avoid final field modifications in Karate instrumentation (#11753 - @daniel-mohedano)
- âĻ Avoid final field modification in Weaver instrumentation (#11728 - @daniel-mohedano)
- ð Disable invokedynamic bytecode for legacy Gradle instrumentation (#11618 - @daniel-mohedano)
- âĻ Support Maven generateTestClasspath lookup on 3.6.0+ (#11577 - @daniel-mohedano)
- âĻ Truncate CI Visibility meta tag values (#11485 - @juan-fernandez)
Crash Tracking
- ðĄ Include JVM distribution details in crash report (#11715 - @gyuheon0h)
- âĻ Improve crash report message when signal is absent (#11681 - @amarziali)
- ð Avoid crashtracking temp-script path hijack (#11613 - @jbachorik)
Data Streams Monitoring
- âĻ Update EventBridge DSM topic naming (#11603 - @jeastham1993)
Dynamic Instrumentation
- ð Fix Kotlin Debug source mapping (#11803 - @jpbempel)
- âĻ Add evaluation timeout for expressions (#11741 - @jpbempel)
- ð Fix Spring MethodParameters detection (#11647 - @jpbempel)
- ð Fix sampling log probe with capture expressions (#11571 - @jpbempel)
Metrics
- âĻð§đ Update
AggregateEntryto Split OK/Error Latencies (#11719 - @mhlidd) - âĻ⥠Lazy-allocate error latency histogram on AggregateEntry (#11478 - @dougqh)
- âĻ⥠Introduce per-component / tag cardinality limits in client-side stats (#11387 - @dougqh)
OpenFeature
- ð Use agent OTel metrics for OpenFeature evaluations (#11745 - @sameerank)
- ð Skip malformed FFE flags during config parsing (#11534 - @leoromanovsky)
- ð§đ Use canonical FFE fixtures (#11355 - @leoromanovsky)
Profiling
- ð Bump ddprof to 1.46.0 (#11858 - @jbachorik)
- Add alternative TLS implementation to fix a crash on musl/aarch64 by @zhengyu123 in DataDog/java-profiler#600
- Don't preload jmethodIDs when cstack=vm with hotspot JVM by @zhengyu123 in DataDog/java-profiler#549
- Scope OTEL ThreadContext storage to the carrier thread (PROF-15271) by @rkennke in DataDog/java-profiler#625
- Close two TOCTOU races between SIGPROF handler and JFR lifecycle by @r1viollet in DataDog/java-profiler#614
- ð Request carrier-scoped ddprof context storage on JDK 21+ (#11826 - @rkennke)
- ð Restore app context attributes wiped by ddprof setContext on span activation (#11646 - @jbachorik)
- ð Publish thread context attribute keys at process start (#11558 - @ivoanjo)
- âĻ Add force jmethodID experimental feature support (#11549 - @zhengyu123)
Telemetry
- âĻ Migrate SCA Reachability to method-level symbol database (sca-reachability-symbols) (#11614 - @jandro996)
- âĻ Fix waf.updates metric success:N/A tag from sequential counter metric values (#11604 - @jandro996)
- âĻ Implement SCA Reachability runtime detection: report vulnerable classes and callsites via telemetry (#11352 - @jandro996)
Trace context propagation
- ðð Fix AppSec/IAST context dropped when trace.propagation.behavior.extract=ignore/restart (#11666 - @dougqh)
- âĻ Implement an Org Propagation Guard mechanism (#11289 - @amarziali)
Tracer core
- âĻ Introduce api-management inferred proxy spans to Azure (#11804 - @TophrC-dd)
- ð§đ Migrate simple try-with-resources use of
AgentScopetoContextScope(#11763 - @mcculls) - âĄð§đ Overhaul set benchmarks: split Immutable / SingleThreaded, add Set.copyOf (#11721 - @dougqh)
- âĻ Wire -Pjmh.includes and -PtestJvm into internal-api JMH config (#11703 - @dougqh)
- ðð Fix AppSec/IAST context dropped when trace.propagation.behavior.extract=ignore/restart (#11666 - @dougqh)
- âĻ Update jnr-unixsocket dependency to 0.38.25 (#11615 - @mcculls)
- âĻ Update dd-instrument-java dependency to v0.0.4 (#11567 - @mcculls)
- âĻ Update byte-buddy dependency to 1.18.10 (#11565 - @mcculls)
- âĻ⥠Pre-construct TagMap.Entry objects in InternalTagsAdder (#11555 - @dougqh)
- ð Fix JDBC URL parsing crash when no port specified (#11550 - @ValentinZakharov)
- ð Build DatadogClassLoader resource URL from agent jar URL, not OS path (#11480 - @dougqh)
- âĻ Include advice class name in instrumentation exception handler log (#11457 - @amarziali)
- âĻ⥠Use
TagMap.setinCoreTracer(#11106 - @dougqh) - ð⥠List iteration benchmark (#10888 - @dougqh)
- ð⥠Atomics benchmark (#10862 - @dougqh)
- âĻ⥠Adding lighter String processing methods to Strings (#10640 - @dougqh)
Tracer public API
- ðĄ
â ïļ Translate asampling.prioritytag set to a positive value toforceKeep(#11621 - @mcculls) - ð Fix DDTraceId/DD64bTraceId class-initialization deadlock (#11509 - @bm1549)
Instrumentations
Apache HttpComponents
Apache Spark instrumentation
Armeria Instrumentation
- ð Fix Ameria 1.40 instrumentation compatibility (#11827 - @vandonr)
- âĻ Ignore capturing connection continuation for armeria (#11657 - @amarziali)
AWS Lambda instrumentation
- ð Don't add empty headers on lambda completion (#11551 - @amarziali)
AWS SDK instrumentation
Azure Functions instrumentation
- âĻ Introduces the api-management inferred proxy spans to Azure (#11804 - @TophrC-dd)
Core Java language instrumentation
- âĻ Avoid leaking continuations on jdk-http-client (#11557 - @amarziali)
Eclipse Vert.x instrumentation
JAX-RS instrumentation
- âĻ Avoid leaking continuations on internal rxjava schedulers (#11540 - @amarziali)
JDBC instrumentation
- ðð Fix password leak from JDBC URL (#11568 - @ValentinZakharov)
- ð Fix JDBC URL parsing crash when no port specified (#11550 - @ValentinZakharov)
- ð Fix IAST JDBC instrumentation when getMetadata throws non-SQLException (#11420 - @smola)
Kafka instrumentation
- ð Add safe extraction for malformed base64 kafka headers (#11472 - @amarziali)
Lettuce instrumentation
- ð Fix Redis command span decoration to resolve node connection for master-replica providers in Lettuce 5+ (#11819 - @ygree)
- ð Fine tune async propagation for lettuce 5 (#11607 - @amarziali)
Netty instrumentation
- âĻ Do not capture continuation on netty GlobalEventExecutor static init (#11654 - @amarziali)
- ð Fix continuation leakage on netty http2 client pipeline (#11595 - @amarziali)
Reactor instrumentation
- ð§đ Make reactor-core / reactive-streams context propagation Context-first (#11578 - @amarziali)
Servlet instrumentation
- ð Fix StackOverflowError in caused by missing re-entrancy guard (#11838 - @ValentinZakharov)
- ð Tolerate servlet 2.x wrappers used on servlet-3 classpath for isAsyncStarted calls (#11542 - @amarziali)
Spring instrumentation
- âĻ Drop the duplicate handler resolution in Spring Web 6 instrumentation (#11533 - @amarziali)
- ð Build DatadogClassLoader resource URL from agent jar URL, not OS path (#11480 - @dougqh)
All other instrumentations
- âĻ Add RxJava 3 instrumentation (#11849 - @ValentinZakharov)
- âĻ Support proper async propagation for GAX retrying futures (#11629 - @amarziali)
1.63.2
Note
This release contains the same changes as in release 1.63.1. Release 1.63.1 is not flawed in any way.
Components
Application Security Management (IAST)
- âĻ⥠Improve performance of regexps in IAST and query obfuscator (#11710 - @manuel-alvarez-alvarez)
Continuous Integration Visibility
- âĻ Support Maven generateTestClasspath lookup on 3.6.0+ (#11634 - @daniel-mohedano)
Dynamic Instrumentation
OpenFeature
- ð Skip malformed FFE flags during config parsing (#11648 - @PerfectSlayer)
1.63.1
Note
This release is missing in Docker registries.
Components
Application Security Management (IAST)
- âĻ⥠Improve performance of regexps in IAST and query obfuscator (#11710 - @manuel-alvarez-alvarez)
Continuous Integration Visibility
- âĻ Support Maven generateTestClasspath lookup on 3.6.0+ (#11634 - @daniel-mohedano)
Dynamic Instrumentation
OpenFeature
- ð Skip malformed FFE flags during config parsing (#11648 - @PerfectSlayer)