v5.86.0 proposal#7477
Merged
juan-fernandez merged 29 commits intov5.xfrom Feb 12, 2026
Merged
Conversation
* fix childOf not being able to be set to null * Add integrationName into ts declaration file
* Add data_streams_enabled to startup log output Go, Java, and .NET tracers already include data_streams_enabled in the DATADOG TRACER CONFIGURATION startup log. This adds parity for the Node.js tracer, making it easier to debug DSM configuration issues in customer environments. * Add test coverage for data_streams_enabled in startup log Tests the three key scenarios: 1. env var true, config unset → true (env var applies) 2. env var unset, config true → true (code option applies) 3. env var true, config false → false (code option takes precedence) * Add dsmEnabled to TracerOptions interface Exposes dsmEnabled as a documented, first-class option in dd.init(). The config system already supports this internally — this change just makes it visible in the public TypeScript types. When not provided, the value of DD_DATA_STREAMS_ENABLED env var is used. When explicitly set, the code option takes precedence over the env var (consistent with all other config options).
…pdates (#7461) Bumps the test-versions group with 2 updates in the /integration-tests/esbuild directory: [@apollo/server](https://github.com/apollographql/apollo-server/tree/HEAD/packages/server) and [openai](https://github.com/openai/openai-node). Updates `@apollo/server` from 5.3.0 to 5.4.0 - [Release notes](https://github.com/apollographql/apollo-server/releases) - [Changelog](https://github.com/apollographql/apollo-server/blob/main/packages/server/CHANGELOG.md) - [Commits](https://github.com/apollographql/apollo-server/commits/@apollo/server@5.4.0/packages/server) Updates `openai` from 6.17.0 to 6.18.0 - [Release notes](https://github.com/openai/openai-node/releases) - [Changelog](https://github.com/openai/openai-node/blob/master/CHANGELOG.md) - [Commits](openai/openai-node@v6.17.0...v6.18.0) --- updated-dependencies: - dependency-name: "@apollo/server" dependency-version: 5.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: test-versions - dependency-name: openai dependency-version: 6.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: test-versions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…d ATR is enabled (#7451)
The broker needs some time after creating a new topic to settle in. The old commented error test case could not work due to expecting to catch a user error (which we should not). It is therefore removed.
* fix: reduce ACF overhead in storage and noop contexts Replace manual enterWith/restore patterns with run() across all noop context wrappers (log writer, exporters, git utils). This halves AsyncContextFrame transitions on Node.js 22+: run() restores via AsyncContextFrame.set() (no extra frame), while enterWith/restore created a second frame that triggered the profiler's setContext() again. In DatadogStorage, feature-detect whether ALS.run() delegates to enterWith() (ACF behavior) and only fall back to the manual approach on older runtimes without AsyncContextFrame. * doc: remove todo by explaining the behavior * fix: exclude node:internals ALS from path line detection (#7475)
* fix(startup-log): emit immediately after init and send to stderr Startup logs now emit immediately after tracer initialization instead of being delayed until the first payload is sent to the agent. They are also sent to stderr (via console.error) instead of stdout, following Unix conventions and aligning with other Datadog language tracers. Changes: - Added startupLog() call in proxy.js after initialization completes - Changed output from info() to error() to use stderr - Removed duplicate late call in writer.js that was firing on first payload - Updated tests to expect console.error instead of console.info Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * fix(tests): update data_streams_enabled tests to use console.error After merging master, the new data_streams_enabled tests were still using console.info instead of console.error. Updated all three tests in that describe block to use console.error to match the stderr output change. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * fix(startup-log): separate initialization and agent diagnostic logs Previously, the startup log and agent connection diagnostic were coupled together in a single call. This meant that if the startup log was emitted immediately (as intended), we would lose the agent connection diagnostic that happens on the first write attempt. Changes: - Split startupLog() into two separate functions: - startupLog(): Logs tracer configuration immediately after init - logAgentError(): Logs agent connection diagnostic on first write error - Each function maintains its own "already ran" flag to log only once - Updated writer.js to call logAgentError() when agent responds with error - Updated tests to verify both logs are emitted correctly and separately This ensures users get both the immediate startup configuration log AND the agent connection diagnostic if there's an issue reaching the agent. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * fix(startup-log): use warn for both startup log and agent diagnostic Changed startup log to use warn() instead of error() for consistency. Both the startup configuration log and agent diagnostic now use warn(), which outputs to stderr via console.warn(). Changes: - startup-log.js: Changed startupLog() to use warn() instead of error() - Removed unused error import from log/writer - Updated all tests to expect console.warn instead of console.error This is more semantically appropriate since both logs are diagnostic information rather than actual errors. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
* fix(lambda): handle missing context for Lambda Authorizers Lambda Authorizers and some other Lambda handler types do not receive a context object - they only receive an event parameter. Previously, the extractContext() function would throw "Could not extract context" when it couldn't find a context object with getRemainingTimeInMillis. This change makes extractContext() return undefined instead of throwing, and updates the datadog() wrapper to skip timeout checking when context is not available. This allows Lambda Authorizers to be instrumented without crashing. Fixes: DataDog/datadog-lambda-js#721 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Undefined cleanup. * Add getRemainingTimeInMillis check back. * Update packages/dd-trace/src/lambda/handler.js Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de> * Move extractContext to separate file and add more tesets. * Linting. --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: Rey Abolofia <rey.abolofia@datadoghq.com> Co-authored-by: Rey Abolofia <purple4reina@gmail.com> Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>
Closed
Contributor
Overall package sizeSelf size: 4.6 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | import-in-the-middle | 2.0.6 | 81.92 kB | 813.08 kB | | dc-polyfill | 0.1.10 | 26.73 kB | 26.73 kB |🤖 This report was automatically generated by heaviest-objects-in-the-universe |
This comment has been minimized.
This comment has been minimized.
…with 3 updates (#7487) Bumps the gh-actions-packages group with 3 updates in the / directory: [wechuli/allcheckspassed](https://github.com/wechuli/allcheckspassed), [github/codeql-action](https://github.com/github/codeql-action) and [raven-actions/actionlint](https://github.com/raven-actions/actionlint). Bumps the gh-actions-packages group with 3 updates in the /.github/workflows directory: [wechuli/allcheckspassed](https://github.com/wechuli/allcheckspassed), [github/codeql-action](https://github.com/github/codeql-action) and [raven-actions/actionlint](https://github.com/raven-actions/actionlint). Updates `wechuli/allcheckspassed` from 2.2.0 to 2.3.0 - [Release notes](https://github.com/wechuli/allcheckspassed/releases) - [Commits](wechuli/allcheckspassed@b0eaef5...1d00cf0) Updates `github/codeql-action` from 4.31.10 to 4.32.2 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@cdefb33...45cbd0c) Updates `raven-actions/actionlint` from 2.1.0 to 2.1.1 - [Release notes](https://github.com/raven-actions/actionlint/releases) - [Commits](raven-actions/actionlint@963d477...e01d1ea) Updates `wechuli/allcheckspassed` from 2.2.0 to 2.3.0 - [Release notes](https://github.com/wechuli/allcheckspassed/releases) - [Commits](wechuli/allcheckspassed@b0eaef5...1d00cf0) Updates `github/codeql-action` from 4.31.10 to 4.32.2 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@cdefb33...45cbd0c) Updates `raven-actions/actionlint` from 2.1.0 to 2.1.1 - [Release notes](https://github.com/raven-actions/actionlint/releases) - [Commits](raven-actions/actionlint@963d477...e01d1ea) --- updated-dependencies: - dependency-name: wechuli/allcheckspassed dependency-version: 2.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gh-actions-packages - dependency-name: github/codeql-action dependency-version: 4.32.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gh-actions-packages - dependency-name: raven-actions/actionlint dependency-version: 2.1.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: gh-actions-packages - dependency-name: wechuli/allcheckspassed dependency-version: 2.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gh-actions-packages - dependency-name: github/codeql-action dependency-version: 4.32.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gh-actions-packages - dependency-name: raven-actions/actionlint dependency-version: 2.1.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: gh-actions-packages ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3d8f05c to
d2a0d53
Compare
Co-authored-by: campaigner-prod[bot] <87874424+campaigner-prod[bot]@users.noreply.github.com>
Add url.parse() and punycode to global deprecation warning exceptions in test setup so tests pass on Node.js 24.13.1+. Add a request-scoped exception in the express-session spec for when express-session@1.5.0 calls url.parse(). Replace url.parse() with the WHATWG URL API in the microgateway-core test proxy and in both Next test server helpers.
Move prefer-object-spread ESLint rule from restricted section
to main rules to apply it across all files. Update codebase to
use object spread syntax ({ ...obj }) instead of Object.assign()
calls.
- Use "narrative" for commit and PR body outputs - commit-message: break long instruction into lines, correct fix-type description (test, not build script) - pr-body: instruct to remove all comments instead of first line with <ins>
Drop erroneous trailing double quote on the concurrency group value so the YAML parses correctly.
Run ws socket setup in a store scope without the connection span so internal ws handlers don't capture and keep it alive.
fix(prisma): resolve db config from adapters Prisma v7 can surface db info via datasource names or adapters. Resolve the runtime datasource name and prefer adapter config, then client overrides, then runtime/env fallback so tags stay correct across pg/mariadb/mssql. Parse sqlserver:// strings with semicolon keys to recover db/user/host/port reliably. perf(prisma): use parent child relation for resolving nested spans Engine spans now build a parent->children map and start at roots so nested spans are emitted without rescanning. Short-circuit tracing when there are no subscribers and ignore empty span lists to avoid unnecessary work. test(prisma): cover v7 adapters and variants Add pg field config plus mariadb/mssql adapter fixtures so adapter parsing paths are exercised across providers. Servers toggle between connection string and field configs via env flags to hit both code paths with minimal scripts. Integration harness now selects a single import variant per config and asserts the adapter-specific db span name. Update prisma schemas to use a named datasource and the test env var to validate runtime datasource resolution. Register adapter deps in plugin externals and versions, and let varySandbox accept a binding name plus package override. test(prisma): stabilize mongodb integration Run mongo as a replica set and wait for primary readiness so Prisma's connector can attach consistently. Reset the database with the driver before each run to prevent state leakage across sandboxes. Skip migrate reset for mongo and generate unique emails to avoid duplicate key errors. test(mongo): make waitForMongo replset-aware When the configured URL requests a replica set, initialize it and wait until a primary is elected before proceeding. Keep mongodb-core for the lightweight connectivity check and use the driver only for replset setup. chore: make externals.json a js file to allow commenting Next to allowing for comments a forced entry was added which means that library will be installed as dependency. In addition, the install script now does not rewrite the package.json per dependency anymore. Instead, it gathers the entries up front and writes it once. chore(prisma): add types to the prisma instrumentation
Bumps the test-versions group with 1 update in the /integration-tests/esbuild directory: [axios](https://github.com/axios/axios). Updates `axios` from 1.13.4 to 1.13.5 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.13.4...v1.13.5) --- updated-dependencies: - dependency-name: axios dependency-version: 1.13.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: test-versions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d2a0d53 to
9a3a6cf
Compare
9a3a6cf to
dce486a
Compare
juan-fernandez
approved these changes
Feb 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
d0e5d6ee05] - (SEMVER-PATCH) [test optimization] Fix telemetry issues and allow telemetry from jest workers (Juan Antonio Fernández de Alba) #749098ce21e8ae] - (SEMVER-PATCH) [test optimization] Fix quarantine + EFD (Juan Antonio Fernández de Alba) #74915de82d74a1] - (SEMVER-PATCH) chore(deps): bump axios (dependabot[bot]) #7499c7599822c6] - (SEMVER-MINOR) fix(prisma): resolve db config from adapters (Pablo Erhard) #74955107dac6ea] - (SEMVER-MINOR) feat: only add host tag to profiles when DD_TRACE_REPORT_HOSTNAME is set (Attila Szegedi) #749424c71b6641] - (SEMVER-PATCH) fix(ws): avoid retaining connection span (Ruben Bridgewater) #7469bc78996008] - (SEMVER-PATCH) fix(ci): remove stray quote from concurrency group (Thomas Watson) #7493e6d1aea9a0] - (SEMVER-PATCH) chore: clarify commit and PR command instructions (Thomas Watson) #7492562177ce32] - (SEMVER-PATCH) refactor: enable prefer-object-spread rule for all files (Thomas Watson) #7488dee0dd49ed] - test: allow Node 24 url.parse/punycode deprecations and refactor (Thomas Watson)3d1e60e0ee] - (SEMVER-PATCH) chore(ci) update one-pipeline (campaigner-prod[bot]) #7476c985421bd2] - (SEMVER-PATCH) Revert "fix(startup-log): emit immediately after init and send to stderr" (Roch Devost) #7478e80f0f8990] - (SEMVER-PATCH) chore(deps): bump the gh-actions-packages group across 2 directories with 3 updates (dependabot[bot]) #748748c7ce42be] - (SEMVER-PATCH) fix(lambda): handle missing context for some lambda functions (Joey Zhao) #74456bef1684d4] - (SEMVER-MINOR) fix(startup-log): emit immediately after init and send to stderr (Brian Marks) #7470a3dff51fab] - (SEMVER-MINOR) fix: reduce ACF overhead in storage and noop contexts (Ruben Bridgewater) #74759726641488] - (SEMVER-MINOR) feat: addpubsub.subscriptionto GCP pubsub pull subsciptions (Nina Rei) #74465889aba44e] - (SEMVER-PATCH) test: use more lenient time window for runtime metric time window (Ruben Bridgewater) #74678e7b6acf81] - (SEMVER-PATCH) fix: limit memory leak to AppSec being enabled (Ruben Bridgewater) #7276619c7c2cdc] - (SEMVER-PATCH) [test optimization] Add missing telemetry events and tags (Juan Antonio Fernández de Alba) #7463510563d09e] - (SEMVER-PATCH) test: fix flaky confluenctinc kafka error (Ruben Bridgewater) #7460c4ee4849e4] - (SEMVER-PATCH) chore(appsec): add retry onyarncommand (simon-id) #74665fd961c5bd] - (SEMVER-PATCH) test(langchain): update langchain tests to test correct peer dependency versions (Sam Brenner) #7464c58e59c258] - (SEMVER-PATCH) [test optimization] Fix errors not being reported in jest when EFD and ATR is enabled (Juan Antonio Fernández de Alba) #74510fa5dc2038] - (SEMVER-PATCH) chore(deps): bump the test-versions group across 1 directory with 2 updates (dependabot[bot]) #7461e3344ae04f] - (SEMVER-PATCH) Add APM-Serverless team as codeowners. (Rey Abolofia) #745552c89d2c32] - (SEMVER-PATCH) fix: add data_streams_enabled to startup log output (Johann) #7454c57a18c5ac] - (SEMVER-PATCH) fix(ts): childOf not being able to be set to null (Pablo Erhard) #7452