feat(core): Require attributes on SerializedStreamedSpan - #22052
Merged
Conversation
attributes on SerializedStreamedSpan
mydea
approved these changes
Jul 8, 2026
Lms24
marked this pull request as ready for review
July 8, 2026 09:13
Make attributes a required field on the final serialized span type so tests can rely on it always being present. Production code already guarantees this via serializeAttributes returning an empty object. Co-Authored-By: Cursor <cursoragent@cursor.com>
mydea
force-pushed
the
feat/required-streamed-span-attributes
branch
from
July 8, 2026 11:34
509ce9d to
9f80421
Compare
mydea
added a commit
that referenced
this pull request
Jul 8, 2026
The `suites/**` test files in `node-integration-tests` were never type-checked, so type errors only ever surfaced in the editor — never in CI. This adds a CI gate that type-checks the suites and fixes the ~2000 latent errors it surfaced. ## Root cause - `yarn type-check` runs a bare `tsc`, whose `tsconfig.json` only includes `utils/**` and `src/**` — not `suites/**`. - `yarn test` (vitest) transpiles with esbuild, which strips types without checking them. With nothing exercising the suite types, errors accumulated silently. ## Changes - Add `type-check:src` / `type-check:test` scripts (both `--noEmit`, so a bare run can't scatter `.js` next to sources) and run `yarn type-check` for the package in the **Lint** CI job. - Relax `noUncheckedIndexedAccess` for test code — indexing into span attributes/arrays that are known to exist at that point shouldn't require `!` everywhere — and exclude the Prisma CLI config, whose runtime shape intentionally differs from `@prisma/config`'s exported types. - Give `createTestServer` an explicit return type so chained `.get()` calls infer their `headers` callback parameter (previously only the first `.get()` was typed). - Add a `getStringAttributeValue` helper to narrow union-typed span attribute values in the AI tracing assertions (`includes` / `startsWith` / `match` / `length`). - Fix the vitest reporter config to the valid nested-tuple form. All changes are type-level / test-scoped and runtime-transparent. --- Stacked on top of #22052, which makes `attributes` required on `SerializedStreamedSpan` — merge that one first. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
49 tasks
botre
added a commit
to formspark/documentation
that referenced
this pull request
Aug 16, 2026
`@sentry/vue` `^10.0.0` → `^10.70.0` (dependencies). This updates what `package.json` declares. The range may already have permitted the newer version, in which case only the declaration was stale. Lockfile resolved by `npm`, with no install and no lifecycle scripts. Produced by a script, not a model — a lockfile is not something to write by hand. <details><summary>Release notes</summary> ### 10.70.0 - feat(v10/core): Support stable MCP SDK v2 ([#22986](getsentry/sentry-javascript#22986)) - feat(v10/deps): Bump `@sentry/node-cpu-profiler` to 2.4.3 ([#22992](getsentry/sentry-javascript#22992)) - feat(v10/solid,solidstart): Support `@solidjs/router` v1 ([#23163](getsentry/sentry-javascript#23163)) - fix(v10/cloudflare): Fork the isolation scope for Durable Object methods ([#23189](getsentry/sentry-javascript#23189)) - fix(v10/cloudflare): Get original waituntil in workflows ([#23192](getsentry/sentry-javascript#23192)) - fix(v10/cloudflare): Instrument DO RPC methods on the prototype, not a Proxy ([#23190](getsentry/sentry-javascript#23190)) - fix(v10/cloudflare): Set agent conversation id on the `onRequest` path ([#22985](getsentry/sentry-javascript#22985)) - fix(v10/cloudflare): Set conversation id independent of session name ([#23193](getsentry/sentry-javascript#23193)) - fix(v10/cloudflare): Try/catch on non-configurable prototypes ([#23191](https://github.com/getsentry/sentry-javascript …truncated; see the release link above. ### 10.69.0 ### Important Changes - **feat(v10/cloudflare): Add `instrumentAgentWithSentry` for Cloudflare Agents ([#22786](getsentry/sentry-javascript#22786 The Cloudflare SDK adds a new `instrumentAgentWithSentry` API for [Cloudflare Agents](https://agents.cloudflare.com/). It works like `instrumentDurableObjectWithSentry` for `Agent` classes from the `agents` SDK and additionally creates spans for `@callable` RPC methods and automatically sets the `conversationId` based on the agent's name. When building with the Sentry Vite plugin, Agents are instrumented automatically ([#22788](getsentry/sentry-javascript#22788)). ### Other Changes - feat(v10/cloudflare): Add Spotlight integration for local dev event forwarding ([#22796](getsentry/sentry-javascript#22796)) - feat(v10/cloudflare): Add wranglerConfigPath to Vite options ([#22803](getsentry/sentry-javascript#22803)) - feat(v10/cloudflare): Filter framework-internal Durable Object storage spans ([#22770](getsentry/sentry-javascript#22770)) - feat(v10/cloudflare): Instrument Agents automatically ([#22788](https://gith …truncated; see the release link above. ### 10.68.0 - feat(cloudflare): Add @sentry/cloudflare/vite orchestrion plugin ([#21967](getsentry/sentry-javascript#21967)) - feat(nestjs): Support WebSocket errors in SentryGlobalFilter ([#22224](getsentry/sentry-javascript#22224)) - feat(node,server-utils): Set `cache.key` on dataloader spans and capture redis delete operations as `cache.remove` ([#22389](getsentry/sentry-javascript#22389)) - feat(server-utils): Allow integrations to be part of marker ([#22094](getsentry/sentry-javascript#22094)) - feat(server-utils): Migrate `FirebaseInstrumentation` to orchestrion ([#22141](getsentry/sentry-javascript#22141)) - feat(server-utils): Warn when bundler config has instrumented module in external ([#22379](getsentry/sentry-javascript#22379)) - feat(v10): Add `http.route` attribute to `http.server` spans with parameterized routes ([#22564](getsentry/sentry-javascript#22564)) - feat(v10): Add `url.full` and `url.path` to `http.server` spans ([#22533](getsentry/sentry-javascript#22533)) - feat(v10/cloudflare) …truncated; see the release link above. ### 10.67.0 ### Important Changes - **feat(sveltekit): Add support for SvelteKit 3 ([#22264](getsentry/sentry-javascript#22264 The SvelteKit SDK now supports the pre-release of SvelteKit 3, including client-side pageload and navigation tracing and server-side native tracing, alongside continued SvelteKit 2 support. No Sentry-specific setup changes are required. The SDK detects your SvelteKit version and picks the right implementation automatically. ### Other Changes - feat(aws-serverless): Use orchestrion aws-sdk integration under diagnostics-channel opt-in ([#22143](getsentry/sentry-javascript#22143)) - feat(cloudflare): Auto-instrument Workers AI binding via env instrumentation ([#22126](getsentry/sentry-javascript#22126)) - feat(cloudflare): Instrument Cloudflare rate limiter bindings ([#22035](getsentry/sentry-javascript#22035)) - feat(core): Instrument workers-ai-provider ([#22119](getsentry/sentry-javascript#22119)) - feat(core): Rename `queryParams` to `urlQueryParams` ([#22217](getsentry/sentry-javascript#22217)) - feat(mongodb): impl …truncated; see the release link above. ### 10.66.0 - chore(node-core): Deprecate `@sentry/node-core` package ([#22285](getsentry/sentry-javascript#22285)) - chore(tanstackstart): Deprecate `@sentry/tanstackstart` package ([#22284](getsentry/sentry-javascript#22284)) - deps(server-utils): bump @apm-js-collab/code-transformer and tracing-hooks ([#22172](getsentry/sentry-javascript#22172)) - feat(bun): Add `initWithoutDefaultIntegrations` and `getDefaultIntegrationsWithoutPerformance` ([#22036](getsentry/sentry-javascript#22036)) - feat(bundlers): Add orchestrion bundler plugins ([#22124](getsentry/sentry-javascript#22124)) - feat(cloudflare): Support Cloudflare types v5 & newer wrangler versions ([#22180](getsentry/sentry-javascript#22180)) - feat(core): Add and use `dataCollection.databaseQueryData` (for e.g. Supabase filter values and mutation bodies) ([#22219](getsentry/sentry-javascript#22219)) - feat(core): Add and use `dataCollection.graphQL` ([#22221](getsentry/sentry-javascript#22221)) - feat(core): Add stringify helper and make AI-traci …truncated; see the release link above. ### 10.65.0 - feat(angular): Set `url` attributes on pageload and navigation spans ([#21985](getsentry/sentry-javascript#21985)) - feat(astro): Set `url.template` on pageload spans ([#22011](getsentry/sentry-javascript#22011)) - feat(aws-serverless): Replace OTel Lambda instrumentation with handler redirection ([#22079](getsentry/sentry-javascript#22079)) - feat(browser): Set `url.path` and `url.full` on pageload and navigation spans ([#21952](getsentry/sentry-javascript#21952)) - feat(bun): warn when externalizing instrumented deps ([#21999](getsentry/sentry-javascript#21999)) - feat(core): Require `attributes` on `SerializedStreamedSpan` ([#22052](getsentry/sentry-javascript#22052)) - feat(ember): Set `url.template`, `url.path` and `url.full` on router spans ([#22095](getsentry/sentry-javascript#22095)) - feat(mysql2): Instrument mysql2 >= 3.20.0 via native tracing channels ([#21824](getsentry/sentry-javascript#21824)) - feat(nextjs): Set `url` attributes on pageload and navigation spans ([#22006](https …truncated; see the release link above. ### 10.64.0 ### Important Changes - **feat(cloudflare): Add `nodejs_compat` entrypoint ([#21881](getsentry/sentry-javascript#21881 The Cloudflare SDK now ships a dedicated `@sentry/cloudflare/nodejs_compat` entrypoint for Workers running with the `nodejs_compat` flag. This entrypoint unlocks Node SDK features on Cloudflare, including the `prismaIntegration` ([#21882](getsentry/sentry-javascript#21882)) and AI v7 support for the `vercelAiIntegration` ([#21917](getsentry/sentry-javascript#21917)). This entrypoint is a drop-in replacement, so you can switch your imports from `@sentry/cloudflare` directly to `@sentry/cloudflare/nodejs_compat`. To use it, your Worker must set the `nodejs_compat` compatibility flag in `wrangler.toml`/`wrangler.jsonc`. This will become the default entrypoint in v11. - **feat: Use Sentry's minimal OpenTelemetry tracer provider by default ([#21666](getsentry/sentry-javascript#21666), [#21680](getsentry/sentry-javascript#21680), [#21842](getsentry/sentry-javascript#21842 The Node SDK now registers Sentry's own …truncated; see the release link above. ### 10.63.0 - feat(browser): Add `url.full` attribute to resource spans ([#21846](getsentry/sentry-javascript#21846)) - feat(core): Add `extendIntegration` method ([#21759](getsentry/sentry-javascript#21759)) - feat(core): Add `isTracingSuppressed` to the async context strategy ([#21785](getsentry/sentry-javascript#21785)) - feat(core): Pass normalizedRequest to the sampling context for root spans ([#21833](getsentry/sentry-javascript#21833)) - feat(node): Add lru-memoizer diagnostics-channel integration to experimentalUseDiagnosticsChannelInjection ([#21786](getsentry/sentry-javascript#21786)) - feat(node): Expose channel-based, streamlined `fastifyIntegration` ([#21706](getsentry/sentry-javascript#21706)) - fix(browser): Defer sending session envelope until browser is idle ([#21844](getsentry/sentry-javascript#21844)) - fix(core): Improve waiting for tracing channel bindings ([#21815](getsentry/sentry-javascript#21815)) - fix(core): Serialize streamed span status message to `sentry.status.message` attri …truncated; see the release link above. _71 earlier release(s) in this range are not shown._ Releases: https://github.com/getsentry/sentry-javascript/releases </details>
botre
added a commit
to formspark/documentation
that referenced
this pull request
Aug 16, 2026
`@sentry/vue` `^10.0.0` → `^10.70.0` (dependencies). This updates what `package.json` declares. The range may already have permitted the newer version, in which case only the declaration was stale. Lockfile resolved by `npm`, with no install and no lifecycle scripts. Produced by a script, not a model — a lockfile is not something to write by hand. <details><summary>Release notes</summary> ### 10.70.0 - feat(v10/core): Support stable MCP SDK v2 ([#22986](getsentry/sentry-javascript#22986)) - feat(v10/deps): Bump `@sentry/node-cpu-profiler` to 2.4.3 ([#22992](getsentry/sentry-javascript#22992)) - feat(v10/solid,solidstart): Support `@solidjs/router` v1 ([#23163](getsentry/sentry-javascript#23163)) - fix(v10/cloudflare): Fork the isolation scope for Durable Object methods ([#23189](getsentry/sentry-javascript#23189)) - fix(v10/cloudflare): Get original waituntil in workflows ([#23192](getsentry/sentry-javascript#23192)) - fix(v10/cloudflare): Instrument DO RPC methods on the prototype, not a Proxy ([#23190](getsentry/sentry-javascript#23190)) - fix(v10/cloudflare): Set agent conversation id on the `onRequest` path ([#22985](getsentry/sentry-javascript#22985)) - fix(v10/cloudflare): Set conversation id independent of session name ([#23193](getsentry/sentry-javascript#23193)) - fix(v10/cloudflare): Try/catch on non-configurable prototypes ([#23191](https://github.com/getsentry/sentry-javascript …truncated; see the release link above. ### 10.69.0 ### Important Changes - **feat(v10/cloudflare): Add `instrumentAgentWithSentry` for Cloudflare Agents ([#22786](getsentry/sentry-javascript#22786 The Cloudflare SDK adds a new `instrumentAgentWithSentry` API for [Cloudflare Agents](https://agents.cloudflare.com/). It works like `instrumentDurableObjectWithSentry` for `Agent` classes from the `agents` SDK and additionally creates spans for `@callable` RPC methods and automatically sets the `conversationId` based on the agent's name. When building with the Sentry Vite plugin, Agents are instrumented automatically ([#22788](getsentry/sentry-javascript#22788)). ### Other Changes - feat(v10/cloudflare): Add Spotlight integration for local dev event forwarding ([#22796](getsentry/sentry-javascript#22796)) - feat(v10/cloudflare): Add wranglerConfigPath to Vite options ([#22803](getsentry/sentry-javascript#22803)) - feat(v10/cloudflare): Filter framework-internal Durable Object storage spans ([#22770](getsentry/sentry-javascript#22770)) - feat(v10/cloudflare): Instrument Agents automatically ([#22788](https://gith …truncated; see the release link above. ### 10.68.0 - feat(cloudflare): Add @sentry/cloudflare/vite orchestrion plugin ([#21967](getsentry/sentry-javascript#21967)) - feat(nestjs): Support WebSocket errors in SentryGlobalFilter ([#22224](getsentry/sentry-javascript#22224)) - feat(node,server-utils): Set `cache.key` on dataloader spans and capture redis delete operations as `cache.remove` ([#22389](getsentry/sentry-javascript#22389)) - feat(server-utils): Allow integrations to be part of marker ([#22094](getsentry/sentry-javascript#22094)) - feat(server-utils): Migrate `FirebaseInstrumentation` to orchestrion ([#22141](getsentry/sentry-javascript#22141)) - feat(server-utils): Warn when bundler config has instrumented module in external ([#22379](getsentry/sentry-javascript#22379)) - feat(v10): Add `http.route` attribute to `http.server` spans with parameterized routes ([#22564](getsentry/sentry-javascript#22564)) - feat(v10): Add `url.full` and `url.path` to `http.server` spans ([#22533](getsentry/sentry-javascript#22533)) - feat(v10/cloudflare) …truncated; see the release link above. ### 10.67.0 ### Important Changes - **feat(sveltekit): Add support for SvelteKit 3 ([#22264](getsentry/sentry-javascript#22264 The SvelteKit SDK now supports the pre-release of SvelteKit 3, including client-side pageload and navigation tracing and server-side native tracing, alongside continued SvelteKit 2 support. No Sentry-specific setup changes are required. The SDK detects your SvelteKit version and picks the right implementation automatically. ### Other Changes - feat(aws-serverless): Use orchestrion aws-sdk integration under diagnostics-channel opt-in ([#22143](getsentry/sentry-javascript#22143)) - feat(cloudflare): Auto-instrument Workers AI binding via env instrumentation ([#22126](getsentry/sentry-javascript#22126)) - feat(cloudflare): Instrument Cloudflare rate limiter bindings ([#22035](getsentry/sentry-javascript#22035)) - feat(core): Instrument workers-ai-provider ([#22119](getsentry/sentry-javascript#22119)) - feat(core): Rename `queryParams` to `urlQueryParams` ([#22217](getsentry/sentry-javascript#22217)) - feat(mongodb): impl …truncated; see the release link above. ### 10.66.0 - chore(node-core): Deprecate `@sentry/node-core` package ([#22285](getsentry/sentry-javascript#22285)) - chore(tanstackstart): Deprecate `@sentry/tanstackstart` package ([#22284](getsentry/sentry-javascript#22284)) - deps(server-utils): bump @apm-js-collab/code-transformer and tracing-hooks ([#22172](getsentry/sentry-javascript#22172)) - feat(bun): Add `initWithoutDefaultIntegrations` and `getDefaultIntegrationsWithoutPerformance` ([#22036](getsentry/sentry-javascript#22036)) - feat(bundlers): Add orchestrion bundler plugins ([#22124](getsentry/sentry-javascript#22124)) - feat(cloudflare): Support Cloudflare types v5 & newer wrangler versions ([#22180](getsentry/sentry-javascript#22180)) - feat(core): Add and use `dataCollection.databaseQueryData` (for e.g. Supabase filter values and mutation bodies) ([#22219](getsentry/sentry-javascript#22219)) - feat(core): Add and use `dataCollection.graphQL` ([#22221](getsentry/sentry-javascript#22221)) - feat(core): Add stringify helper and make AI-traci …truncated; see the release link above. ### 10.65.0 - feat(angular): Set `url` attributes on pageload and navigation spans ([#21985](getsentry/sentry-javascript#21985)) - feat(astro): Set `url.template` on pageload spans ([#22011](getsentry/sentry-javascript#22011)) - feat(aws-serverless): Replace OTel Lambda instrumentation with handler redirection ([#22079](getsentry/sentry-javascript#22079)) - feat(browser): Set `url.path` and `url.full` on pageload and navigation spans ([#21952](getsentry/sentry-javascript#21952)) - feat(bun): warn when externalizing instrumented deps ([#21999](getsentry/sentry-javascript#21999)) - feat(core): Require `attributes` on `SerializedStreamedSpan` ([#22052](getsentry/sentry-javascript#22052)) - feat(ember): Set `url.template`, `url.path` and `url.full` on router spans ([#22095](getsentry/sentry-javascript#22095)) - feat(mysql2): Instrument mysql2 >= 3.20.0 via native tracing channels ([#21824](getsentry/sentry-javascript#21824)) - feat(nextjs): Set `url` attributes on pageload and navigation spans ([#22006](https …truncated; see the release link above. ### 10.64.0 ### Important Changes - **feat(cloudflare): Add `nodejs_compat` entrypoint ([#21881](getsentry/sentry-javascript#21881 The Cloudflare SDK now ships a dedicated `@sentry/cloudflare/nodejs_compat` entrypoint for Workers running with the `nodejs_compat` flag. This entrypoint unlocks Node SDK features on Cloudflare, including the `prismaIntegration` ([#21882](getsentry/sentry-javascript#21882)) and AI v7 support for the `vercelAiIntegration` ([#21917](getsentry/sentry-javascript#21917)). This entrypoint is a drop-in replacement, so you can switch your imports from `@sentry/cloudflare` directly to `@sentry/cloudflare/nodejs_compat`. To use it, your Worker must set the `nodejs_compat` compatibility flag in `wrangler.toml`/`wrangler.jsonc`. This will become the default entrypoint in v11. - **feat: Use Sentry's minimal OpenTelemetry tracer provider by default ([#21666](getsentry/sentry-javascript#21666), [#21680](getsentry/sentry-javascript#21680), [#21842](getsentry/sentry-javascript#21842 The Node SDK now registers Sentry's own …truncated; see the release link above. ### 10.63.0 - feat(browser): Add `url.full` attribute to resource spans ([#21846](getsentry/sentry-javascript#21846)) - feat(core): Add `extendIntegration` method ([#21759](getsentry/sentry-javascript#21759)) - feat(core): Add `isTracingSuppressed` to the async context strategy ([#21785](getsentry/sentry-javascript#21785)) - feat(core): Pass normalizedRequest to the sampling context for root spans ([#21833](getsentry/sentry-javascript#21833)) - feat(node): Add lru-memoizer diagnostics-channel integration to experimentalUseDiagnosticsChannelInjection ([#21786](getsentry/sentry-javascript#21786)) - feat(node): Expose channel-based, streamlined `fastifyIntegration` ([#21706](getsentry/sentry-javascript#21706)) - fix(browser): Defer sending session envelope until browser is idle ([#21844](getsentry/sentry-javascript#21844)) - fix(core): Improve waiting for tracing channel bindings ([#21815](getsentry/sentry-javascript#21815)) - fix(core): Serialize streamed span status message to `sentry.status.message` attri …truncated; see the release link above. _71 earlier release(s) in this range are not shown._ Releases: https://github.com/getsentry/sentry-javascript/releases </details>
botre
added a commit
to formspark/documentation
that referenced
this pull request
Aug 16, 2026
* Bump @sentry/vue from 10.0.0 to 10.70.0 `@sentry/vue` `^10.0.0` → `^10.70.0` (dependencies). This updates what `package.json` declares. The range may already have permitted the newer version, in which case only the declaration was stale. Lockfile resolved by `npm`, with no install and no lifecycle scripts. Produced by a script, not a model — a lockfile is not something to write by hand. <details><summary>Release notes</summary> ### 10.70.0 - feat(v10/core): Support stable MCP SDK v2 ([#22986](getsentry/sentry-javascript#22986)) - feat(v10/deps): Bump `@sentry/node-cpu-profiler` to 2.4.3 ([#22992](getsentry/sentry-javascript#22992)) - feat(v10/solid,solidstart): Support `@solidjs/router` v1 ([#23163](getsentry/sentry-javascript#23163)) - fix(v10/cloudflare): Fork the isolation scope for Durable Object methods ([#23189](getsentry/sentry-javascript#23189)) - fix(v10/cloudflare): Get original waituntil in workflows ([#23192](getsentry/sentry-javascript#23192)) - fix(v10/cloudflare): Instrument DO RPC methods on the prototype, not a Proxy ([#23190](getsentry/sentry-javascript#23190)) - fix(v10/cloudflare): Set agent conversation id on the `onRequest` path ([#22985](getsentry/sentry-javascript#22985)) - fix(v10/cloudflare): Set conversation id independent of session name ([#23193](getsentry/sentry-javascript#23193)) - fix(v10/cloudflare): Try/catch on non-configurable prototypes ([#23191](https://github.com/getsentry/sentry-javascript …truncated; see the release link above. ### 10.69.0 ### Important Changes - **feat(v10/cloudflare): Add `instrumentAgentWithSentry` for Cloudflare Agents ([#22786](getsentry/sentry-javascript#22786 The Cloudflare SDK adds a new `instrumentAgentWithSentry` API for [Cloudflare Agents](https://agents.cloudflare.com/). It works like `instrumentDurableObjectWithSentry` for `Agent` classes from the `agents` SDK and additionally creates spans for `@callable` RPC methods and automatically sets the `conversationId` based on the agent's name. When building with the Sentry Vite plugin, Agents are instrumented automatically ([#22788](getsentry/sentry-javascript#22788)). ### Other Changes - feat(v10/cloudflare): Add Spotlight integration for local dev event forwarding ([#22796](getsentry/sentry-javascript#22796)) - feat(v10/cloudflare): Add wranglerConfigPath to Vite options ([#22803](getsentry/sentry-javascript#22803)) - feat(v10/cloudflare): Filter framework-internal Durable Object storage spans ([#22770](getsentry/sentry-javascript#22770)) - feat(v10/cloudflare): Instrument Agents automatically ([#22788](https://gith …truncated; see the release link above. ### 10.68.0 - feat(cloudflare): Add @sentry/cloudflare/vite orchestrion plugin ([#21967](getsentry/sentry-javascript#21967)) - feat(nestjs): Support WebSocket errors in SentryGlobalFilter ([#22224](getsentry/sentry-javascript#22224)) - feat(node,server-utils): Set `cache.key` on dataloader spans and capture redis delete operations as `cache.remove` ([#22389](getsentry/sentry-javascript#22389)) - feat(server-utils): Allow integrations to be part of marker ([#22094](getsentry/sentry-javascript#22094)) - feat(server-utils): Migrate `FirebaseInstrumentation` to orchestrion ([#22141](getsentry/sentry-javascript#22141)) - feat(server-utils): Warn when bundler config has instrumented module in external ([#22379](getsentry/sentry-javascript#22379)) - feat(v10): Add `http.route` attribute to `http.server` spans with parameterized routes ([#22564](getsentry/sentry-javascript#22564)) - feat(v10): Add `url.full` and `url.path` to `http.server` spans ([#22533](getsentry/sentry-javascript#22533)) - feat(v10/cloudflare) …truncated; see the release link above. ### 10.67.0 ### Important Changes - **feat(sveltekit): Add support for SvelteKit 3 ([#22264](getsentry/sentry-javascript#22264 The SvelteKit SDK now supports the pre-release of SvelteKit 3, including client-side pageload and navigation tracing and server-side native tracing, alongside continued SvelteKit 2 support. No Sentry-specific setup changes are required. The SDK detects your SvelteKit version and picks the right implementation automatically. ### Other Changes - feat(aws-serverless): Use orchestrion aws-sdk integration under diagnostics-channel opt-in ([#22143](getsentry/sentry-javascript#22143)) - feat(cloudflare): Auto-instrument Workers AI binding via env instrumentation ([#22126](getsentry/sentry-javascript#22126)) - feat(cloudflare): Instrument Cloudflare rate limiter bindings ([#22035](getsentry/sentry-javascript#22035)) - feat(core): Instrument workers-ai-provider ([#22119](getsentry/sentry-javascript#22119)) - feat(core): Rename `queryParams` to `urlQueryParams` ([#22217](getsentry/sentry-javascript#22217)) - feat(mongodb): impl …truncated; see the release link above. ### 10.66.0 - chore(node-core): Deprecate `@sentry/node-core` package ([#22285](getsentry/sentry-javascript#22285)) - chore(tanstackstart): Deprecate `@sentry/tanstackstart` package ([#22284](getsentry/sentry-javascript#22284)) - deps(server-utils): bump @apm-js-collab/code-transformer and tracing-hooks ([#22172](getsentry/sentry-javascript#22172)) - feat(bun): Add `initWithoutDefaultIntegrations` and `getDefaultIntegrationsWithoutPerformance` ([#22036](getsentry/sentry-javascript#22036)) - feat(bundlers): Add orchestrion bundler plugins ([#22124](getsentry/sentry-javascript#22124)) - feat(cloudflare): Support Cloudflare types v5 & newer wrangler versions ([#22180](getsentry/sentry-javascript#22180)) - feat(core): Add and use `dataCollection.databaseQueryData` (for e.g. Supabase filter values and mutation bodies) ([#22219](getsentry/sentry-javascript#22219)) - feat(core): Add and use `dataCollection.graphQL` ([#22221](getsentry/sentry-javascript#22221)) - feat(core): Add stringify helper and make AI-traci …truncated; see the release link above. ### 10.65.0 - feat(angular): Set `url` attributes on pageload and navigation spans ([#21985](getsentry/sentry-javascript#21985)) - feat(astro): Set `url.template` on pageload spans ([#22011](getsentry/sentry-javascript#22011)) - feat(aws-serverless): Replace OTel Lambda instrumentation with handler redirection ([#22079](getsentry/sentry-javascript#22079)) - feat(browser): Set `url.path` and `url.full` on pageload and navigation spans ([#21952](getsentry/sentry-javascript#21952)) - feat(bun): warn when externalizing instrumented deps ([#21999](getsentry/sentry-javascript#21999)) - feat(core): Require `attributes` on `SerializedStreamedSpan` ([#22052](getsentry/sentry-javascript#22052)) - feat(ember): Set `url.template`, `url.path` and `url.full` on router spans ([#22095](getsentry/sentry-javascript#22095)) - feat(mysql2): Instrument mysql2 >= 3.20.0 via native tracing channels ([#21824](getsentry/sentry-javascript#21824)) - feat(nextjs): Set `url` attributes on pageload and navigation spans ([#22006](https …truncated; see the release link above. ### 10.64.0 ### Important Changes - **feat(cloudflare): Add `nodejs_compat` entrypoint ([#21881](getsentry/sentry-javascript#21881 The Cloudflare SDK now ships a dedicated `@sentry/cloudflare/nodejs_compat` entrypoint for Workers running with the `nodejs_compat` flag. This entrypoint unlocks Node SDK features on Cloudflare, including the `prismaIntegration` ([#21882](getsentry/sentry-javascript#21882)) and AI v7 support for the `vercelAiIntegration` ([#21917](getsentry/sentry-javascript#21917)). This entrypoint is a drop-in replacement, so you can switch your imports from `@sentry/cloudflare` directly to `@sentry/cloudflare/nodejs_compat`. To use it, your Worker must set the `nodejs_compat` compatibility flag in `wrangler.toml`/`wrangler.jsonc`. This will become the default entrypoint in v11. - **feat: Use Sentry's minimal OpenTelemetry tracer provider by default ([#21666](getsentry/sentry-javascript#21666), [#21680](getsentry/sentry-javascript#21680), [#21842](getsentry/sentry-javascript#21842 The Node SDK now registers Sentry's own …truncated; see the release link above. ### 10.63.0 - feat(browser): Add `url.full` attribute to resource spans ([#21846](getsentry/sentry-javascript#21846)) - feat(core): Add `extendIntegration` method ([#21759](getsentry/sentry-javascript#21759)) - feat(core): Add `isTracingSuppressed` to the async context strategy ([#21785](getsentry/sentry-javascript#21785)) - feat(core): Pass normalizedRequest to the sampling context for root spans ([#21833](getsentry/sentry-javascript#21833)) - feat(node): Add lru-memoizer diagnostics-channel integration to experimentalUseDiagnosticsChannelInjection ([#21786](getsentry/sentry-javascript#21786)) - feat(node): Expose channel-based, streamlined `fastifyIntegration` ([#21706](getsentry/sentry-javascript#21706)) - fix(browser): Defer sending session envelope until browser is idle ([#21844](getsentry/sentry-javascript#21844)) - fix(core): Improve waiting for tracing channel bindings ([#21815](getsentry/sentry-javascript#21815)) - fix(core): Serialize streamed span status message to `sentry.status.message` attri …truncated; see the release link above. _71 earlier release(s) in this range are not shown._ Releases: https://github.com/getsentry/sentry-javascript/releases </details> * Bump @sentry/vue from 10.0.0 to 10.70.0 `@sentry/vue` `^10.0.0` → `^10.70.0` (dependencies). This updates what `package.json` declares. The range may already have permitted the newer version, in which case only the declaration was stale. Lockfile resolved by `npm`, with no install and no lifecycle scripts. Produced by a script, not a model — a lockfile is not something to write by hand. <details><summary>Release notes</summary> ### 10.70.0 - feat(v10/core): Support stable MCP SDK v2 ([#22986](getsentry/sentry-javascript#22986)) - feat(v10/deps): Bump `@sentry/node-cpu-profiler` to 2.4.3 ([#22992](getsentry/sentry-javascript#22992)) - feat(v10/solid,solidstart): Support `@solidjs/router` v1 ([#23163](getsentry/sentry-javascript#23163)) - fix(v10/cloudflare): Fork the isolation scope for Durable Object methods ([#23189](getsentry/sentry-javascript#23189)) - fix(v10/cloudflare): Get original waituntil in workflows ([#23192](getsentry/sentry-javascript#23192)) - fix(v10/cloudflare): Instrument DO RPC methods on the prototype, not a Proxy ([#23190](getsentry/sentry-javascript#23190)) - fix(v10/cloudflare): Set agent conversation id on the `onRequest` path ([#22985](getsentry/sentry-javascript#22985)) - fix(v10/cloudflare): Set conversation id independent of session name ([#23193](getsentry/sentry-javascript#23193)) - fix(v10/cloudflare): Try/catch on non-configurable prototypes ([#23191](https://github.com/getsentry/sentry-javascript …truncated; see the release link above. ### 10.69.0 ### Important Changes - **feat(v10/cloudflare): Add `instrumentAgentWithSentry` for Cloudflare Agents ([#22786](getsentry/sentry-javascript#22786 The Cloudflare SDK adds a new `instrumentAgentWithSentry` API for [Cloudflare Agents](https://agents.cloudflare.com/). It works like `instrumentDurableObjectWithSentry` for `Agent` classes from the `agents` SDK and additionally creates spans for `@callable` RPC methods and automatically sets the `conversationId` based on the agent's name. When building with the Sentry Vite plugin, Agents are instrumented automatically ([#22788](getsentry/sentry-javascript#22788)). ### Other Changes - feat(v10/cloudflare): Add Spotlight integration for local dev event forwarding ([#22796](getsentry/sentry-javascript#22796)) - feat(v10/cloudflare): Add wranglerConfigPath to Vite options ([#22803](getsentry/sentry-javascript#22803)) - feat(v10/cloudflare): Filter framework-internal Durable Object storage spans ([#22770](getsentry/sentry-javascript#22770)) - feat(v10/cloudflare): Instrument Agents automatically ([#22788](https://gith …truncated; see the release link above. ### 10.68.0 - feat(cloudflare): Add @sentry/cloudflare/vite orchestrion plugin ([#21967](getsentry/sentry-javascript#21967)) - feat(nestjs): Support WebSocket errors in SentryGlobalFilter ([#22224](getsentry/sentry-javascript#22224)) - feat(node,server-utils): Set `cache.key` on dataloader spans and capture redis delete operations as `cache.remove` ([#22389](getsentry/sentry-javascript#22389)) - feat(server-utils): Allow integrations to be part of marker ([#22094](getsentry/sentry-javascript#22094)) - feat(server-utils): Migrate `FirebaseInstrumentation` to orchestrion ([#22141](getsentry/sentry-javascript#22141)) - feat(server-utils): Warn when bundler config has instrumented module in external ([#22379](getsentry/sentry-javascript#22379)) - feat(v10): Add `http.route` attribute to `http.server` spans with parameterized routes ([#22564](getsentry/sentry-javascript#22564)) - feat(v10): Add `url.full` and `url.path` to `http.server` spans ([#22533](getsentry/sentry-javascript#22533)) - feat(v10/cloudflare) …truncated; see the release link above. ### 10.67.0 ### Important Changes - **feat(sveltekit): Add support for SvelteKit 3 ([#22264](getsentry/sentry-javascript#22264 The SvelteKit SDK now supports the pre-release of SvelteKit 3, including client-side pageload and navigation tracing and server-side native tracing, alongside continued SvelteKit 2 support. No Sentry-specific setup changes are required. The SDK detects your SvelteKit version and picks the right implementation automatically. ### Other Changes - feat(aws-serverless): Use orchestrion aws-sdk integration under diagnostics-channel opt-in ([#22143](getsentry/sentry-javascript#22143)) - feat(cloudflare): Auto-instrument Workers AI binding via env instrumentation ([#22126](getsentry/sentry-javascript#22126)) - feat(cloudflare): Instrument Cloudflare rate limiter bindings ([#22035](getsentry/sentry-javascript#22035)) - feat(core): Instrument workers-ai-provider ([#22119](getsentry/sentry-javascript#22119)) - feat(core): Rename `queryParams` to `urlQueryParams` ([#22217](getsentry/sentry-javascript#22217)) - feat(mongodb): impl …truncated; see the release link above. ### 10.66.0 - chore(node-core): Deprecate `@sentry/node-core` package ([#22285](getsentry/sentry-javascript#22285)) - chore(tanstackstart): Deprecate `@sentry/tanstackstart` package ([#22284](getsentry/sentry-javascript#22284)) - deps(server-utils): bump @apm-js-collab/code-transformer and tracing-hooks ([#22172](getsentry/sentry-javascript#22172)) - feat(bun): Add `initWithoutDefaultIntegrations` and `getDefaultIntegrationsWithoutPerformance` ([#22036](getsentry/sentry-javascript#22036)) - feat(bundlers): Add orchestrion bundler plugins ([#22124](getsentry/sentry-javascript#22124)) - feat(cloudflare): Support Cloudflare types v5 & newer wrangler versions ([#22180](getsentry/sentry-javascript#22180)) - feat(core): Add and use `dataCollection.databaseQueryData` (for e.g. Supabase filter values and mutation bodies) ([#22219](getsentry/sentry-javascript#22219)) - feat(core): Add and use `dataCollection.graphQL` ([#22221](getsentry/sentry-javascript#22221)) - feat(core): Add stringify helper and make AI-traci …truncated; see the release link above. ### 10.65.0 - feat(angular): Set `url` attributes on pageload and navigation spans ([#21985](getsentry/sentry-javascript#21985)) - feat(astro): Set `url.template` on pageload spans ([#22011](getsentry/sentry-javascript#22011)) - feat(aws-serverless): Replace OTel Lambda instrumentation with handler redirection ([#22079](getsentry/sentry-javascript#22079)) - feat(browser): Set `url.path` and `url.full` on pageload and navigation spans ([#21952](getsentry/sentry-javascript#21952)) - feat(bun): warn when externalizing instrumented deps ([#21999](getsentry/sentry-javascript#21999)) - feat(core): Require `attributes` on `SerializedStreamedSpan` ([#22052](getsentry/sentry-javascript#22052)) - feat(ember): Set `url.template`, `url.path` and `url.full` on router spans ([#22095](getsentry/sentry-javascript#22095)) - feat(mysql2): Instrument mysql2 >= 3.20.0 via native tracing channels ([#21824](getsentry/sentry-javascript#21824)) - feat(nextjs): Set `url` attributes on pageload and navigation spans ([#22006](https …truncated; see the release link above. ### 10.64.0 ### Important Changes - **feat(cloudflare): Add `nodejs_compat` entrypoint ([#21881](getsentry/sentry-javascript#21881 The Cloudflare SDK now ships a dedicated `@sentry/cloudflare/nodejs_compat` entrypoint for Workers running with the `nodejs_compat` flag. This entrypoint unlocks Node SDK features on Cloudflare, including the `prismaIntegration` ([#21882](getsentry/sentry-javascript#21882)) and AI v7 support for the `vercelAiIntegration` ([#21917](getsentry/sentry-javascript#21917)). This entrypoint is a drop-in replacement, so you can switch your imports from `@sentry/cloudflare` directly to `@sentry/cloudflare/nodejs_compat`. To use it, your Worker must set the `nodejs_compat` compatibility flag in `wrangler.toml`/`wrangler.jsonc`. This will become the default entrypoint in v11. - **feat: Use Sentry's minimal OpenTelemetry tracer provider by default ([#21666](getsentry/sentry-javascript#21666), [#21680](getsentry/sentry-javascript#21680), [#21842](getsentry/sentry-javascript#21842 The Node SDK now registers Sentry's own …truncated; see the release link above. ### 10.63.0 - feat(browser): Add `url.full` attribute to resource spans ([#21846](getsentry/sentry-javascript#21846)) - feat(core): Add `extendIntegration` method ([#21759](getsentry/sentry-javascript#21759)) - feat(core): Add `isTracingSuppressed` to the async context strategy ([#21785](getsentry/sentry-javascript#21785)) - feat(core): Pass normalizedRequest to the sampling context for root spans ([#21833](getsentry/sentry-javascript#21833)) - feat(node): Add lru-memoizer diagnostics-channel integration to experimentalUseDiagnosticsChannelInjection ([#21786](getsentry/sentry-javascript#21786)) - feat(node): Expose channel-based, streamlined `fastifyIntegration` ([#21706](getsentry/sentry-javascript#21706)) - fix(browser): Defer sending session envelope until browser is idle ([#21844](getsentry/sentry-javascript#21844)) - fix(core): Improve waiting for tracing channel bindings ([#21815](getsentry/sentry-javascript#21815)) - fix(core): Serialize streamed span status message to `sentry.status.message` attri …truncated; see the release link above. _71 earlier release(s) in this range are not shown._ Releases: https://github.com/getsentry/sentry-javascript/releases </details>
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.
Make
attributesa required field onSerializedStreamedSpanso tests and downstream code can rely on it always being present, without optional chaining.Production code already guarantees this:
streamedSpanJsonToSerializedSpanalways sets attributes viaserializeAttributes(), which returns{}when the intermediateStreamedSpanJSONhas no attributes. Only test mocks needed updating to includeattributes: {}.We likely can adjust the
StreamedSpanJsontype in a similar way to gain some production code benefits as well. Gonna look at this in a follow-up