Uh oh!
There was an error while loading. Please reload this page.
feat(sveltekit): Support browser tracing with SvelteKit 3 - #22264
Conversation
SvelteKit 3.0.0-next.8 promoted native tracing config out of `experimental` (`kit.experimental.tracing` -> `kit.tracing`) and dropped the `experimental.instrumentation` flag, which broke the app build. Migrate the Vite config to the new API. Client-side capture is also broken on next.8 because the SDK's browser integration imports `$app/stores`, which now throws at runtime (removed in favour of `$app/state`), so the app never hydrates. Skip the client-side tests until SvelteKit 3 browser support lands (#22264); server-side tests pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
df225dd to
1ca9e2eCompare…nfig SvelteKit 3.0.0-next.8 promoted the native server-tracing config out of `experimental` (`kit.experimental.tracing.server` -> `kit.tracing.server`). Read both locations when detecting native tracing so the SDK works across the supported peer range (SvelteKit 2.31+ and early Kit 3 prereleases keep it under `experimental`). Applies to detection from both the Vite plugin `api.options` and `svelte.config.js`, and covers both shapes in the unit tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Select the compatible tracing state API at runtime so existing setups continue to work across SvelteKit 2 and 3. Add preview coverage for pageload and navigation tracing without the removed $app/stores module. Fixes#22263 Co-Authored-By: Cursor <cursoragent@cursor.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Uh oh!
There was an error while loading. Please reload this page.
1ca9e2e to
8b95affCompare…lte 4/5 SvelteKit 3 replaced the store-based `$app/stores` with rune-based `$app/state`, but a single module can't statically import both (`$app/stores` throws on Kit 3, `$app/state` is absent on old Kit 2). Instead of a runtime version check with a dynamic import — which loads a separate chunk and starts instrumentation a microtask late — the `sentrySvelteKit()` Vite plugin now resolves a `sentry-sveltekit-tracing` specifier to the Svelte 4 or Svelte 5 variant at build time. Only the matching variant (and its `$app/*` import) is bundled, instrumentation runs eagerly, and both Svelte versions stay supported from one published version with no user migration. Version detection reads the installed `@sveltejs/kit` version via the bundler and falls back to a `svelte.config` presence heuristic, warning (never throwing) if it can't be determined. A dev-only `optimizeDeps` exclude keeps `vite dev` working, where esbuild pre-bundles before `resolveId` runs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…e-limit The size-limit check bundles the SDK with webpack (no SvelteKit/Vite), so the `sentry-sveltekit-tracing` virtual specifier — resolved by the `sentrySvelteKit()` plugin at build time — is unresolvable there. Mark it external for measurement, like `$app/stores`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
size-limit report 📦
|
chargome
commented
Jul 16, 2026
bugbot run |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
…ariant detection When the installed `@sveltejs/kit` version can't be read, the browser-tracing resolver previously assumed SvelteKit 2 if a `svelte.config` file existed. But that file is loaded by `@sveltejs/vite-plugin-svelte` on every version, so Kit 3 projects that keep one would get the `$app/stores` variant, which throws on Kit 3 and breaks client tracing. Fall back to the installed Svelte major instead: Svelte < 5 can't be Kit 3 (use `$app/stores`); on Svelte 5 use `$app/state`, which works on both Kit 2.12+ and Kit 3, erring toward the safe variant. Still warns rather than throwing. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…oleSandbox Wrap the browser-tracing variant fallback warning in `consoleSandbox` so Sentry's console instrumentation doesn't capture the SDK's own warning, matching the project convention. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chargome
commented
Jul 16, 2026
bugbot run |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
chargome
commented
Jul 17, 2026
bugbot run |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit acb730e. Configure here.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
chargome
commented
Jul 17, 2026
@Lms24 would appreciate a review, although it is your pr lol |
Lms24
left a comment
There was a problem hiding this comment.
✅ Really nice idea with the build time swapping!
| * Kit 3 — the safe direction, since `$app/stores` hard-breaks on Kit 3. | ||
| */ | ||
| async function isSvelteKit3(resolve: (id: string) => Promise<{ id: string } | null>): Promise<boolean> { | ||
| const kitMajor = await readPackageMajor(resolve, '@sveltejs/kit/package.json'); |
There was a problem hiding this comment.
that's a nice way to get the package json!
| }, | ||
| "peerDependencies": { | ||
| "@sveltejs/kit": "2.x", | ||
| "@sveltejs/kit": "2.x || ^3.0.0-0", |
There was a problem hiding this comment.
TIL about -0 matching on previews and stable versions
Uh oh!
There was an error while loading. Please reload this page.
`@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>
`@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> * 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>


Adds browser tracing (pageload + navigation) for SvelteKit 3 / Svelte 5, while keeping SvelteKit 2 / Svelte 4 working from a single published version with no user setup changes. Peer range widened to
2.x || ^3.0.0-0.Svelte 5 replaced store-based
$app/storeswith rune-based$app/state, and they're mutually exclusive at build time ($app/storesthrows on Kit 3;$app/stateis absent on Kit 2). So thesentrySvelteKit()Vite plugin resolves a package subpath (@sentry/sveltekit/browser-tracing-variant) to the matching variant at build time — only the right one is bundled, and instrumentation runs eagerly (no dynamic import delay, lean bundle size).@sveltejs/kitvia the bundler; if unavailable, falls back to the Svelte major and warns (never throws).__data.jsonrequest synchronously at navigation start — before an async rune$effectruns — so the variant wraps fetch to read navigating synchronously and start the nav span first, keeping the client/server trace connected.Fixes#22263