Skip to content

Releases: DataDog/dd-trace-js

6.4.0

Choose a tag to compare

@dd-octo-sts dd-octo-sts released this 16 Jul 14:04

Features

  • electron: Ship dd-trace-electron package with reduced dependencies #8948
  • General: Trace core-API HTTP/2 servers #9138
  • graphql: Trace Apollo Federation entity resolvers and skip the health-check #9134
  • Test Optimization: Add EFD retry count override #9344
  • Test Optimization: Diagnose and fix Jest suite skipping #9339

Fixes

  • aws-sdk: Record kinesis DSM checkpoint only when context ships #9183
  • graphql: Skip Apollo health checks in Mercurius #9363
  • LLM Observability: Replace Object.create(span) with delegating wrapper to preserve OTel span private-field access #9152
  • proxy: Retain feature modules across tracing reconfiguration #9331
  • Test Optimization: Isolate retry status by spec #9340
  • Test Optimization: Preserve zero EFD retry budgets #9341
  • Test Optimization: Prevent negative test durations #9380
  • Test Optimization: Resolve disabled git upload immediately #9338
  • Test Optimization: Support cucumber 13.1 results #9370
  • Test Optimization: Wait for all worker writers #9349

Performance

  • graphql: Reuse filtered variables across resolve spans #9225

Internal (CI, Testing, Benchmarking)

  • AppSec: Select mongodb version by Node.js runtime in plugin tests #9322
  • ci: Set 16 retries for dd-sts-action #9374
  • Dependencies: Bump bullmq #9350
  • Dependencies: Bump pnpm #9365
  • Dependencies: Bump protobufjs from 8.6.5 to 8.7.0 in /vendor in the vendor-minor-and-patch-dependencies group across 1 directory #9325
  • express: Exercise loopback public entry #9291
  • express: Trace middleware via layer prototype dispatch #9067
  • General: Make no-traces timeout test deterministic #9372
  • General: Prepare lint and Vitest for TypeScript 7 #9345
  • General: Preserve coverage from custom plugin jobs #9386
  • General: Reject when no matching trace arrives before the timeout #9177
  • General: Select latest unversioned dependency range #9352
  • LLM Observability: Centralize session_id injection in handleLLMObsInjection #9353
  • LLM Observability: Cover compatible SDK provider version matrix #9332
  • Test Optimization: Assert complete run payloads #9358
  • Test Optimization: Make STS API key fetch non-fatal #9320
  • undici: Force proxy tunnel in CONNECT regression test #9271

5.115.0

Choose a tag to compare

@dd-octo-sts dd-octo-sts released this 16 Jul 14:02

Features

  • electron: Ship dd-trace-electron package with reduced dependencies #8948
  • General: Trace core-API HTTP/2 servers #9138
  • graphql: Trace Apollo Federation entity resolvers and skip the health-check #9134
  • Test Optimization: Add EFD retry count override #9344
  • Test Optimization: Diagnose and fix Jest suite skipping #9339

Fixes

  • aws-sdk: Record kinesis DSM checkpoint only when context ships #9183
  • graphql: Skip Apollo health checks in Mercurius #9363
  • LLM Observability: Replace Object.create(span) with delegating wrapper to preserve OTel span private-field access #9152
  • proxy: Retain feature modules across tracing reconfiguration #9331
  • Test Optimization: Isolate retry status by spec #9340
  • Test Optimization: Preserve zero EFD retry budgets #9341
  • Test Optimization: Prevent negative test durations #9380
  • Test Optimization: Resolve disabled git upload immediately #9338
  • Test Optimization: Support cucumber 13.1 results #9370
  • Test Optimization: Wait for all worker writers #9349

Performance

  • graphql: Reuse filtered variables across resolve spans #9225

Internal (CI, Testing, Benchmarking)

  • AppSec: Select mongodb version by Node.js runtime in plugin tests #9322
  • ci: Set 16 retries for dd-sts-action #9374
  • Dependencies: Bump bullmq #9350
  • Dependencies: Bump pnpm #9365
  • Dependencies: Bump protobufjs from 8.6.5 to 8.7.0 in /vendor in the vendor-minor-and-patch-dependencies group across 1 directory #9325
  • express: Exercise loopback public entry #9291
  • express: Trace middleware via layer prototype dispatch #9067
  • General: Make no-traces timeout test deterministic #9372
  • General: Prepare lint and Vitest for TypeScript 7 #9345
  • General: Preserve coverage from custom plugin jobs #9386
  • General: Reject when no matching trace arrives before the timeout #9177
  • General: Select latest unversioned dependency range #9352
  • LLM Observability: Centralize session_id injection in handleLLMObsInjection #9353
  • LLM Observability: Cover compatible SDK provider version matrix #9332
  • Test Optimization: Assert complete run payloads #9358
  • Test Optimization: Make STS API key fetch non-fatal #9320
  • undici: Force proxy tunnel in CONNECT regression test #9271

6.3.0

Choose a tag to compare

@dd-octo-sts dd-octo-sts released this 14 Jul 14:34

Features

  • @modelcontextprotocol/sdk: Add tracing for MCP server requests and client operations #8916
  • General: Sample event loop delay per iteration on Node 26.5+ #9273
  • LLM Observability: Propagate session_id to following spans and across services MLOB-7756 #9279

Fixes

  • AppSec: Instrument cookie parseCookie for cookie >=1.1 #9272
  • AppSec: Log the error when the native WAF binding fails to load #9288
  • AppSec: Suppress informational responses after blocking requests #9290
  • azure: Enable Web Crypto on Node 18 #9311
  • azure-functions: Fix span links and missing telemetry for non-HTTP triggers #9278
  • General: Handle invalid programmatic option values #9312
  • graphql: Honor errorExtensions on the mercurius request span #9284
  • OpenTelemetry: Wire span processors passed to the provider constructor #9285
  • Test Optimization: Do not mark unchanged tests as impacted #9314
  • Test Optimization: Handle disabled tests in serial retries #9313
  • Test Optimization: Omit empty FTR capture containers #9304

Internal (CI, Testing, Benchmarking)

  • AppSec: Deflake api-security telemetry metrics integration tests #9303
  • General: Select version targets by Node.js runtime #9306
  • lint: Revert editorconfig checker from npm to docker #9315
  • OpenTelemetry: Deflake OTLP metrics HTTP export test with fake timers #9287
  • readme: Update eol column for v5 #9267

5.114.0

Choose a tag to compare

@dd-octo-sts dd-octo-sts released this 14 Jul 14:32

Features

  • @modelcontextprotocol/sdk: Add tracing for MCP server requests and client operations #8916
  • General: Sample event loop delay per iteration on Node 26.5+ #9273
  • LLM Observability: Propagate session_id to following spans and across services MLOB-7756 #9279

Fixes

  • AppSec: Instrument cookie parseCookie for cookie >=1.1 #9272
  • AppSec: Log the error when the native WAF binding fails to load #9288
  • AppSec: Suppress informational responses after blocking requests #9290
  • azure: Enable Web Crypto on Node 18 #9311
  • azure-functions: Fix span links and missing telemetry for non-HTTP triggers #9278
  • General: Handle invalid programmatic option values #9312
  • graphql: Honor errorExtensions on the mercurius request span #9284
  • OpenTelemetry: Wire span processors passed to the provider constructor #9285
  • Test Optimization: Do not mark unchanged tests as impacted #9314
  • Test Optimization: Handle disabled tests in serial retries #9313
  • Test Optimization: Omit empty FTR capture containers #9304

Internal (CI, Testing, Benchmarking)

  • AppSec: Deflake api-security telemetry metrics integration tests #9303
  • General: Select version targets by Node.js runtime #9306
  • lint: Revert editorconfig checker from npm to docker #9315
  • OpenTelemetry: Deflake OTLP metrics HTTP export test with fake timers #9287
  • readme: Update eol column for v5 #9267

6.2.0

Choose a tag to compare

@dd-octo-sts dd-octo-sts released this 10 Jul 13:54

Features

  • graphql: Add mercurius support with a top-level graphql.request span #9142

Fixes

  • AppSec: Report request headers on Lambda spans when AppSec is enabled #9257
  • General: Avoid rewriter source map marker in source #9212
  • General: Skip loader hook registration when instrumentation bails out #9242
  • guardrails: Forward abort telemetry synchronously to avoid a hung exit #9268
  • instrumentations: Preserve asyncEnd wait with code-transformer 0.16 #9256
  • msgpack: Cap MsgpackChunk growth at the agent intake limit #8672
  • OpenTelemetry: Wrap sdk-trace TracerProvider for sdk-node 0.220+ #9255
  • ssi: Run ssi in current proposal branch #9223
  • Test Optimization: Stop propagating metadata to workers #9261

Documentation

  • Serverless: Add serverless integrations skill #9188

Internal (CI, Testing, Benchmarking)

  • benchmarks: Support BP_EXTERNAL_S3_URL override #9155
  • guardrails: Skip node 24 initialize runtime checks #9283
  • init: Skip node 22 loader guardrails #9277
  • Test Optimization: Cover msw preload regression #9262
  • Test Optimization: Stabilize atf final status assertion #9253
  • Test Optimization: Stabilize request error tag reporting #9254

5.113.0

Choose a tag to compare

@dd-octo-sts dd-octo-sts released this 10 Jul 13:50

Features

  • graphql: Add mercurius support with a top-level graphql.request span #9142

Fixes

  • AppSec: Report request headers on Lambda spans when AppSec is enabled #9257
  • General: Avoid rewriter source map marker in source #9212
  • General: Skip loader hook registration when instrumentation bails out #9242
  • guardrails: Forward abort telemetry synchronously to avoid a hung exit #9268
  • instrumentations: Preserve asyncEnd wait with code-transformer 0.16 #9256
  • msgpack: Cap MsgpackChunk growth at the agent intake limit #8672
  • OpenTelemetry: Wrap sdk-trace TracerProvider for sdk-node 0.220+ #9255
  • ssi: Run ssi in current proposal branch #9223
  • Test Optimization: Stop propagating metadata to workers #9261

Documentation

  • Serverless: Add serverless integrations skill #9188

Internal (CI, Testing, Benchmarking)

  • benchmarks: Support BP_EXTERNAL_S3_URL override #9155
  • guardrails: Skip node 24 initialize runtime checks #9283
  • init: Skip node 22 loader guardrails #9277
  • Test Optimization: Cover msw preload regression #9262
  • Test Optimization: Stabilize atf final status assertion #9253
  • Test Optimization: Stabilize request error tag reporting #9254

6.1.0

Choose a tag to compare

@dd-octo-sts dd-octo-sts released this 08 Jul 09:02

Features

  • claude-agent-sdk: Add support for @anthropic-ai/claude-agent-sdk #9202
  • graphql: Support collapse, depth, variables, and error extensions via env #9111
  • LLM Observability: Support vercel ai sdk v7 #8949
  • mongodb: Open a parent span for Collection#bulkWrite #9109
  • Test Optimization: Tag failure screenshot upload result #9232
  • Test Optimization: Upload failure screenshots to the v2 media endpoint #8981

Fixes

  • AppSec: Support apollo v5 blocking #9007
  • aws-durable-execution-sdk-js: SVLS-8588 set span type to serverless #9162
  • child_process: Stabilize promisified exec spans #9180
  • Crash Tracking: Resolve frames out-of-process on Linux #9237
  • fastify: Bound avvio's boot re-drive and stop swallowing async hook rejections #9118
  • graphql: Make the resolve span the active scope inside resolvers #8208
  • OpenTelemetry: Apply global/resource tags to OTel-bridged spans #9229
  • Profiling: Abort profile upload on socket timeout #9217
  • Test Optimization: Changed DD_MAJOR guards to greater than or equal #9199
  • Test Optimization: Ignore intermediate retry failures in aggregate status #9231
  • Test Optimization: Instrument build index module loads #9211
  • Test Optimization: Propagate no-worker request error tags #9189
  • Test Optimization: Report tests from custom environments #9194
  • Test Optimization: Stabilize failed test replay waits #9193
  • Test Optimization: Support concurrent Vitest tests #8412
  • Test Optimization: Support test.concurrent #9209

Internal (CI, Testing, Benchmarking)

  • AI Guard: Rework aiguard integrations #9185
  • AppSec: Remove dead code and fix stale comments in nosql mongodb analyzer #9168
  • coverage: Collect integration coverage with native V8 instead of istanbul #9091
  • Dependencies: Bump import-in-the-middle to 3.3.1 #9235
  • Dependencies: Bump npm #9205
  • General: Reject non-string version ranges in withVersions #9187
  • plugin-env: Read apm-integrations.yml after workflow rename #9224
  • Test Optimization: Stabilize Playwright retry tagging flake #9216

5.112.0

Choose a tag to compare

@dd-octo-sts dd-octo-sts released this 08 Jul 09:01

Features

  • claude-agent-sdk: Add support for @anthropic-ai/claude-agent-sdk #9202
  • graphql: Support collapse, depth, variables, and error extensions via env #9111
  • LLM Observability: Support vercel ai sdk v7 #8949
  • mongodb: Open a parent span for Collection#bulkWrite #9109
  • Test Optimization: Tag failure screenshot upload result #9232
  • Test Optimization: Upload failure screenshots to the v2 media endpoint #8981

Fixes

  • AppSec: Support apollo v5 blocking #9007
  • aws-durable-execution-sdk-js: SVLS-8588 set span type to serverless #9162
  • child_process: Stabilize promisified exec spans #9180
  • Crash Tracking: Resolve frames out-of-process on Linux #9237
  • fastify: Bound avvio's boot re-drive and stop swallowing async hook rejections #9118
  • graphql: Make the resolve span the active scope inside resolvers #8208
  • OpenTelemetry: Apply global/resource tags to OTel-bridged spans #9229
  • Profiling: Abort profile upload on socket timeout #9217
  • Test Optimization: Changed DD_MAJOR guards to greater than or equal #9199
  • Test Optimization: Ignore intermediate retry failures in aggregate status #9231
  • Test Optimization: Instrument build index module loads #9211
  • Test Optimization: Propagate no-worker request error tags #9189
  • Test Optimization: Report tests from custom environments #9194
  • Test Optimization: Stabilize failed test replay waits #9193
  • Test Optimization: Support concurrent Vitest tests #8412
  • Test Optimization: Support test.concurrent #9209

Internal (CI, Testing, Benchmarking)

  • AI Guard: Rework aiguard integrations #9185
  • AppSec: Remove dead code and fix stale comments in nosql mongodb analyzer #9168
  • coverage: Collect integration coverage with native V8 instead of istanbul #9091
  • Dependencies: Bump import-in-the-middle to 3.3.1 #9235
  • Dependencies: Bump npm #9205
  • General: Reject non-string version ranges in withVersions #9187
  • plugin-env: Read apm-integrations.yml after workflow rename #9224
  • Test Optimization: Stabilize Playwright retry tagging flake #9216

6.0.0

Choose a tag to compare

@dd-octo-sts dd-octo-sts released this 02 Jul 19:12

Breaking Changes

  • AppSec: Drop deprecated securityControls type #8315
  • General: Drop support for Node.js 18 and 20 in v6 #9104
  • General: Drop deprecated whitelist/blacklist plugin types from v6 surface #8321
  • General: Gate addLink(spanContext, attributes) legacy overload off in v6 #8319
  • graphql: Decouple resolver depth from path collapsing #8774
  • LLM Observability: Change span resource names to be consistent between openai v3 and v4 #5638
  • loader-hook: Add include configuration for import-in-the-middle #6455
  • v6.0.0-pre #3919
  • Test Optimization: Change default test session name #5409
  • Test Optimization: Default Nx and Lage names #8268
  • Test Optimization: Raise Cypress minimum version to 10.2.0 #5397
  • Test Optimization: Raise Cypress minimum version to 12.0.0 #8247
  • Test Optimization: Raise Jest minimum version to 28.0.0 #8246
  • Test Optimization: Raise Mocha minimum version to 8.0.0 #8245
  • Test Optimization: Raise Playwright minimum version to 1.38.0 #5596

Features

  • AppSec: In App WAF support for lambda #7783
  • General: SVLS-9168 add aws.durable.operation_attempt tag to durable operation spans #8595
  • OpenTelemetry: OTLP trace metrics support #8206
  • release: Add breaking changes to release proposal #9196
  • Test Optimization: Add vitest no-worker init mode #9173

Fixes

  • AppSec: Scope the mongodb nosql-analysis marker per query #9076
  • aws-durable-execution-sdk-js: Treat FAILED checkpoints as replays #9160
  • datastreams: Flush on write when flushInterval is 0 #9120
  • General: Wrap lazily defined fs.opendir on Node 20 #9094
  • Test Optimization: Handle missing beforeEach task result #9129
  • Test Optimization: Report typecheck tests #9176
  • Test Optimization: Route thread workers through main process #9169

Performance

  • General: Load the GCP pubsub push plugin lazily #9178
  • loader: Match instrumented modules with a shouldInclude predicate #9026

Documentation

  • agents: Clarify internal import ordering rule #9172
  • v6: Updated documentation for v6 #9159

Internal (CI, Testing, Benchmarking)

  • child_process: Fix Bluebird flake that cascades to every later spec #9078
  • child_process: Load the mock agent once per suite #9113
  • coverage: Merge per-integration coverage in All Green before upload #9086
  • Dependencies: Bump bullmq #9164
  • Dependencies: Bump openai #9122
  • Dependencies: Bump the vendor-minor-and-patch-dependencies group across 1 directory with 2 updates #9163
  • Dynamic Instrumentation: Cover breakpoint error paths #8996
  • engines: Widen engines.node to >=18 in CI to keep Node 18/20 jobs running #9145
  • General: Derive supported config paths from canonical names #9112
  • General: Drop dead profile assert helper and fix telemetry typo #7686
  • General: Introduce namespace field and start pruning internalPropertyName #8943
  • General: Key plugin version folders by single-digit major #9052
  • General: Widen GC pause p95 bound to deflake #9121
  • graphql: Migrate shimmer to orchestrion instrumentation #7757
  • kafkajs: Drop retries:0 from header-disable producer tests #9106
  • kafkajs: Stop pinning the produce offset in the sendBatch test #9074
  • LLM Observability: Bump tested langchain versions with new cassette #9135
  • LLM Observability: Use DD_LLMOBS_ENABLED in tagger sampling fixtures #9107
  • oracledb: Bound connect and query timeouts in the ESM integration fixture #9105
  • Add runtime family tag on appsec lambda span #9153
  • feat(test optimization) Add Test Optimization HTTP cache reader #8860
  • release: Add v6 into release workflows #9103
  • release: Fix branch-diff Infinity crash on scientific notation SHAs #9101
  • release: Fix publish by dropping dist-tag add #9100
  • scripts: Disable V8 Maglev for Windows test children #9131
  • Test Optimization: Handle 5xx retry in getKnownTests error test #9110
  • Test Optimization: Prepare test metadata in main #9171
  • Test Optimization: Split main and worker instrumentation #9170

Contributors

@BridgeAR @juan-fernandez @khanayan123 @Mariovido @pabloerhard @rochdev @sabrenner

5.111.0

Choose a tag to compare

@dd-octo-sts dd-octo-sts released this 02 Jul 19:17

Features

  • AppSec: In App WAF support for lambda #7783
  • General: SVLS-9168 add aws.durable.operation_attempt tag to durable operation spans #8595
  • OpenTelemetry: OTLP trace metrics support #8206
  • release: Add breaking changes to release proposal #9196
  • Test Optimization: Add vitest no-worker init mode #9173

Fixes

  • AppSec: Scope the mongodb nosql-analysis marker per query #9076
  • aws-durable-execution-sdk-js: Treat FAILED checkpoints as replays #9160
  • datastreams: Flush on write when flushInterval is 0 #9120
  • General: Wrap lazily defined fs.opendir on Node 20 #9094
  • Test Optimization: Handle missing beforeEach task result #9129
  • Test Optimization: Report typecheck tests #9176
  • Test Optimization: Route thread workers through main process #9169

Performance

  • General: Load the GCP pubsub push plugin lazily #9178
  • loader: Match instrumented modules with a shouldInclude predicate #9026

Documentation

  • agents: Clarify internal import ordering rule #9172
  • v6: Updated documentation for v6 #9159

Internal (CI, Testing, Benchmarking)

  • child_process: Fix Bluebird flake that cascades to every later spec #9078
  • child_process: Load the mock agent once per suite #9113
  • coverage: Merge per-integration coverage in All Green before upload #9086
  • Dependencies: Bump bullmq #9164
  • Dependencies: Bump openai #9122
  • Dependencies: Bump the vendor-minor-and-patch-dependencies group across 1 directory with 2 updates #9163
  • Dynamic Instrumentation: Cover breakpoint error paths #8996
  • engines: Widen engines.node to >=18 in CI to keep Node 18/20 jobs running #9145
  • General: Derive supported config paths from canonical names #9112
  • General: Drop dead profile assert helper and fix telemetry typo #7686
  • General: Introduce namespace field and start pruning internalPropertyName #8943
  • General: Key plugin version folders by single-digit major #9052
  • General: Widen GC pause p95 bound to deflake #9121
  • graphql: Migrate shimmer to orchestrion instrumentation #7757
  • kafkajs: Drop retries:0 from header-disable producer tests #9106
  • kafkajs: Stop pinning the produce offset in the sendBatch test #9074
  • LLM Observability: Bump tested langchain versions with new cassette #9135
  • LLM Observability: Use DD_LLMOBS_ENABLED in tagger sampling fixtures #9107
  • oracledb: Bound connect and query timeouts in the ESM integration fixture #9105
  • Add runtime family tag on appsec lambda span #9153
  • feat(test optimization) Add Test Optimization HTTP cache reader #8860
  • release: Add v6 into release workflows #9103
  • release: Fix branch-diff Infinity crash on scientific notation SHAs #9101
  • release: Fix publish by dropping dist-tag add #9100
  • scripts: Disable V8 Maglev for Windows test children #9131
  • Test Optimization: Handle 5xx retry in getKnownTests error test #9110
  • Test Optimization: Prepare test metadata in main #9171
  • Test Optimization: Split main and worker instrumentation #9170