---
name: Sentry JavaScript
slug: sentry-javascript
type: github
source_url: https://github.com/getsentry/sentry-javascript
changelog_url: https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md
organization: Sentry
organization_slug: sentry
total_releases: 195
latest_version: 10.49.0
latest_date: 2026-04-16
last_updated: 2026-04-19
tracking_since: 2024-06-19
canonical: https://releases.sh/sentry/sentry-javascript
organization_url: https://releases.sh/sentry
---

<Summary type="rolling" window-days="90" release-count="18">
The JavaScript SDK expanded support for emerging frameworks and runtimes while deepening observability into application layers. New SDKs shipped for Elysia and Effect.ts, each bringing framework-specific instrumentation; `@sentry/effect` exposed Effect layers for composable error handling and tracing, while `@sentry/elysia` added automatic lifecycle span capture across request phases and parameterized route names. Existing frameworks gained smarter instrumentation—Remix now propagates traces via Server-Timing headers, Next.js added Turbopack support for React component annotations, and TanStack Start's Vite plugin began auto-instrumenting middleware and request handlers without manual wrapping. For backend environments, the Lambda extension moved into the npm package for container images, postgres.js queries gained automatic span wrapping, and a lightweight `node-core/light` variant emerged for teams managing their own OpenTelemetry setup. Browser-side error debugging improved with a View Hierarchy integration that captures DOM snapshots on error, while conversation tracking arrived via `setConversationId()` to link multi-turn AI API calls within a single trace.
</Summary>

<Summary type="monthly" period="March 2026" release-count="8">
The SDK expanded framework coverage and OpenTelemetry support throughout March. New SDKs shipped for Elysia (with automatic error capturing and lifecycle tracing across request phases) and Effect.ts (via composable layers), while the Node.js core gained an OTLP integration for users managing their own OpenTelemetry setup. Existing frameworks saw targeted improvements: Next.js added experimental Turbopack support for React component annotation, Remix enabled trace propagation via Server-Timing headers, and postgres.js instrumentation rolled out across Cloudflare and Deno SDKs.
</Summary>

<Summary type="monthly" period="February 2026" release-count="4">
Span streaming infrastructure drove the month forward. The team shipped automatic middleware instrumentation for TanStack Start that captures performance data without manual wrapping, added global exception middlewares to catch unhandled errors in API routes and server functions, and launched experimental Vercel Cron monitoring for Next.js. Browser SDKs now buffer and periodically flush spans while attaching replay and profiler IDs to trace context.
</Summary>

<Release version="10.49.0" date="April 16, 2026" published="2026-04-16T15:01:19.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.49.0">
### Important Changes

- **feat(browser): Add View Hierarchy integration ([#14981](https://github.com/getsentry/sentry-javascript/pull/14981))**

  A new `viewHierarchyIntegration` captures the DOM structure when an error occurs, providing a snapshot of the page state for debugging. Enable it in your Sentry configuration:

  ```javascript
  import * as Sentry from '@sentry/browser';

  Sentry.init({
    dsn: '__DSN__',
    integrations: [Sentry.viewHierarchyIntegration()],
  });
  ```

- **feat(cloudflare): Split alarms into multiple traces and link them ([#19373](https://github.com/getsentry/sentry-javascript/pull/19373))**

  Durable Object alarms now create separate traces for each alarm invocation, with proper linking between related alarms for better observability.

- **feat(cloudflare): Enable RPC trace propagation with `enableRpcTracePropagation` ([#19991](https://github.com/getsentry/sentry-javascript/pull/19991), [#20345](https://github.com/getsentry/sentry-javascript/pull/20345))**

  A new `enableRpcTracePropagation` option enables automatic trace propagation for Cloudflare RPC calls via `.fetch()`, ensuring distributed traces flow correctly across service bindings.

- **feat(core): Add `enableTruncation` option to AI integrations ([#20167](https://github.com/getsentry/sentry-javascript/pull/20167), [#20181](https://github.com/getsentry/sentry-javascript/pull/20181), [#20182](https://github.com/getsentry/sentry-javascript/pull/20182), [#20183](https://github.com/getsentry/sentry-javascript/pull/20183), [#20184](https://github.com/getsentry/sentry-javascript/pull/20184))**

  All AI integrations (OpenAI, Anthropic, Google GenAI, LangChain, LangGraph) now support an `enableTruncation` option to control whether large AI inputs/outputs are truncated.

- **feat(opentelemetry): Vendor `AsyncLocalStorageContextManager` ([#20243](https://github.com/getsentry/sentry-javascript/pull/20243))**

  The OpenTelemetry context manager is now vendored internally, reducing external dependencies and ensuring consistent behavior across environments.

### Other Changes

- feat(core): Export a reusable function to add tracing headers ([#20076](https://github.com/getsentry/sentry-javascript/pull/20076))
- feat(core): Expose `rewriteSources` top level option ([#20142](https://github.com/getsentry/sentry-javascript/pull/20142))
- feat(deps): bump defu from 6.1.4 to 6.1.6 ([#20104](https://github.com/getsentry/sentry-javascript/pull/20104))
- feat(node-native): Add support for V8 v14 (Node v25+) ([#20125](https://github.com/getsentry/sentry-javascript/pull/20125))
- feat(node): Include global scope for `eventLoopBlockIntegration` ([#20108](https://github.com/getsentry/sentry-javascript/pull/20108))
- fix(core, node): Support loading Express options lazily ([#20211](https://github.com/getsentry/sentry-javascript/pull/20211))
- fix(core): Set `conversation_id` only on `gen_ai` spans ([#20274](https://github.com/getsentry/sentry-javascript/pull/20274))
- fix(core): Use `ai.operationId` for Vercel AI V6 operation name mapping ([#20285](https://github.com/getsentry/sentry-javascript/pull/20285))
- fix(deno): Avoid inferring invalid span op from Deno tracer ([#20128](https://github.com/getsentry/sentry-javascript/pull/20128))
- fix(deno): Handle `reader.closed` rejection from `releaseLock()` in streaming ([#20187](https://github.com/getsentry/sentry-javascript/pull/20187))
- fix(nextjs): Preserve directive prologues in turbopack loaders ([#20103](https://github.com/getsentry/sentry-javascript/pull/20103))
- fix(nextjs): Skip custom browser tracing setup for bot user agents ([#20263](https://github.com/getsentry/sentry-javascript/pull/20263))
- fix(opentelemetry): Use WeakRef for context stored on scope to prevent memory leak ([#20328](https://github.com/getsentry/sentry-javascript/pull/20328))
- fix(replay): Use live click attributes in breadcrumbs ([#20262](https://github.com/getsentry/sentry-javascript/pull/20262))

<details>
  <summary> <strong>Internal Changes</strong> </summary>

- chore: Add PR review reminder workflow ([#20175](https://github.com/getsentry/sentry-javascript/pull/20175))
- chore: Fix lint warnings ([#20250](https://github.com/getsentry/sentry-javascript/pull/20250))
- chore(bugbot): Add rules to flag test-flake-provoking patterns ([#20192](https://github.com/getsentry/sentry-javascript/pull/20192))
- chore(ci): Bump actions/cache to v5 and actions/download-artifact to v7 ([#20249](https://github.com/getsentry/sentry-javascript/pull/20249))
- chore(ci): Bump dorny/paths-filter from v3.0.1 to v4.0.1 ([#20251](https://github.com/getsentry/sentry-javascript/pull/20251))
- chore(ci): Remove codecov steps from jobs that produce no coverage/JUnit data ([#20244](https://github.com/getsentry/sentry-javascript/pull/20244))
- chore(ci): Remove craft changelog preview ([#20271](https://github.com/getsentry/sentry-javascript/pull/20271))
- chore(ci): Remove node-overhead GitHub Action ([#20246](https://github.com/getsentry/sentry-javascript/pull/20246))
- chore(ci): Replace pr-labels-action with native GitHub expressions ([#20252](https://github.com/getsentry/sentry-javascript/pull/20252))
- chore(ci): Skip flaky issue creation for optional tests ([#20288](https://github.com/getsentry/sentry-javascript/pull/20288))
- chore(deps-dev): Bump @sveltejs/kit from 2.53.3 to 2.57.1 ([#20216](https://github.com/getsentry/sentry-javascript/pull/20216))
- chore(deps-dev): Bump vite from 7.2.0 to 7.3.2 in /dev-packages/e2e-tests/test-applications/tanstackstart-react ([#20107](https://github.com/getsentry/sentry-javascript/pull/20107))
- chore(deps): Bump axios from 1.13.5 to 1.15.0 ([#20180](https://github.com/getsentry/sentry-javascript/pull/20180))
- chore(deps): Bump axios from 1.13.5 to 1.15.0 in /dev-packages/e2e-tests/test-applications/nestjs-basic ([#20179](https://github.com/getsentry/sentry-javascript/pull/20179))
- chore(deps): Bump hono from 4.12.7 to 4.12.12 ([#20118](https://github.com/getsentry/sentry-javascript/pull/20118))
- chore(deps): Bump hono from 4.12.7 to 4.12.12 in /dev-packages/e2e-tests/test-applications/cloudflare-hono ([#20119](https://github.com/getsentry/sentry-javascript/pull/20119))
- chore(deps): Bump next from 16.1.7 to 16.2.3 in nextjs-16-cf-workers ([#20289](https://github.com/getsentry/sentry-javascript/pull/20289))
- chore(size-limit): Bump failing size limit scenario ([#20186](https://github.com/getsentry/sentry-javascript/pull/20186))
- ci: Add automatic flaky test detector ([#18684](https://github.com/getsentry/sentry-javascript/pull/18684))
- ci: Extract test names for flaky test issues ([#20298](https://github.com/getsentry/sentry-javascript/pull/20298))
- ci: Remove Docker container for Verdaccio package publishing ([#20329](https://github.com/getsentry/sentry-javascript/pull/20329))
- fix(ci): Prevent command injection in ci-metadata workflow ([#19899](https://github.com/getsentry/sentry-javascript/pull/19899))
- fix(e2e-tests): Remove flaky navigation breadcrumb assertions from parameterized-routes tests ([#20202](https://github.com/getsentry/sentry-javascript/pull/20202))
- fix(e2e): Add op check to waitForTransaction in React Router e2e tests ([#20193](https://github.com/getsentry/sentry-javascript/pull/20193))
- fix(node-integration-tests): Fix flaky kafkajs test race condition ([#20189](https://github.com/getsentry/sentry-javascript/pull/20189))
- ref(core): Add registry in Vercel ai integration ([#20098](https://github.com/getsentry/sentry-javascript/pull/20098))
- ref(core): Automatically disable truncation when span streaming is enabled in Anthropic AI integration ([#20228](https://github.com/getsentry/sentry-javascript/pull/20228))
- ref(core): Automatically disable truncation when span streaming is enabled in Google GenAI integration ([#20229](https://github.com/getsentry/sentry-javascript/pull/20229))
- ref(core): Automatically disable truncation when span streaming is enabled in LangChain integration ([#20230](https://github.com/getsentry/sentry-javascript/pull/20230))
- ref(core): Automatically disable truncation when span streaming is enabled in LangGraph integration ([#20231](https://github.com/getsentry/sentry-javascript/pull/20231))
- ref(core): Automatically disable truncation when span streaming is enabled in OpenAI integration ([#20227](https://github.com/getsentry/sentry-javascript/pull/20227))
- ref(core): Automatically disable truncation when span streaming is enabled in Vercel AI integration ([#20232](https://github.com/getsentry/sentry-javascript/pull/20232))
- ref(core): Merge embeddings operations constants ([#20095](https://github.com/getsentry/sentry-javascript/pull/20095))
- ref(core): Remove unused constants from vercel-ai-attributes.ts ([#20096](https://github.com/getsentry/sentry-javascript/pull/20096))
- ref(nextjs): Refactor `findInjectionIndexAfterDirectives` for better readability ([#20310](https://github.com/getsentry/sentry-javascript/pull/20310))
- ref(opentelemetry): Replace `@opentelemetry/resources` with inline `getSentryResource()` ([#20327](https://github.com/getsentry/sentry-javascript/pull/20327))
- test: Fix flaky ANR test by increasing blocking duration ([#20239](https://github.com/getsentry/sentry-javascript/pull/20239))
- test(bun): Add bun integration test folder ([#20286](https://github.com/getsentry/sentry-javascript/pull/20286))
- test(cloudflare): Skip flaky durableobject-spans test ([#20282](https://github.com/getsentry/sentry-javascript/pull/20282))
- test(openai): Use multi-message scenario in no-truncation test ([#20194](https://github.com/getsentry/sentry-javascript/pull/20194))
- test(react): Remove duplicated test mock ([#20200](https://github.com/getsentry/sentry-javascript/pull/20200))
- tests(ai): Fix streaming+truncation integration tests across AI integrations ([#20326](https://github.com/getsentry/sentry-javascript/pull/20326))

</details>

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 25.18 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.71 KB  |
| @sentry/browser (incl. Tracing)                                            | 42.59 KB  |
| @sentry/browser (incl. Tracing + Span Streaming)                           | 44.26 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 47.37 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 80.8 KB   |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 70.55 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 85.38 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 97.34 KB  |
| @sentry/browser (incl. Feedback)                                           | 41.59 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.74 KB  |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.62 KB  |
| @sentry/browser (incl. Metrics)                                            | 26.44 KB  |
| @sentry/browser (incl. Logs)                                               | 26.57 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 27.24 KB  |
| @sentry/react                                                              | 26.89 KB  |
| @sentry/react (incl. Tracing)                                              | 44.81 KB  |
| @sentry/vue                                                                | 29.89 KB  |
| @sentry/vue (incl. Tracing)                                                | 44.38 KB  |
| @sentry/svelte                                                             | 25.2 KB   |
| CDN Bundle                                                                 | 27.79 KB  |
| CDN Bundle (incl. Tracing)                                                 | 43.64 KB  |
| CDN Bundle (incl. Logs, Metrics)                                           | 29.13 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 44.7 KB   |
| CDN Bundle (incl. Replay, Logs, Metrics)                                   | 67.12 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 79.74 KB  |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics)                          | 80.79 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 85.13 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 86.17 KB  |
| CDN Bundle - uncompressed                                                  | 81.17 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 130.51 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed                            | 85.22 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 133.84 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed                    | 205.7 KB  |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 244.99 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed           | 248.31 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 257.6 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 260.91 KB |
| @sentry/nextjs (client)                                                    | 47.28 KB  |
| @sentry/sveltekit (client)                                                 | 43.02 KB  |
| @sentry/node-core                                                          | 56.58 KB  |
| @sentry/node                                                               | 170.68 KB |
| @sentry/node - without tracing                                             | 95.57 KB  |
| @sentry/aws-serverless                                                     | 112.42 KB |
</Release>

<Release version="10.48.0" date="April 9, 2026" published="2026-04-09T16:39:16.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.48.0">
### Important Changes

- **feat(aws-serverless): Ship Lambda extension in npm package for container image Lambdas ([#20133](https://github.com/getsentry/sentry-javascript/pull/20133))**

  The Sentry Lambda extension is now included in the npm package, enabling container image-based Lambda functions to use it. Copy the extension files into your Docker image and set the `tunnel` option:

  ```dockerfile
  RUN mkdir -p /opt/sentry-extension
  COPY node_modules/@sentry/aws-serverless/build/lambda-extension/sentry-extension /opt/extensions/sentry-extension
  COPY node_modules/@sentry/aws-serverless/build/lambda-extension/index.mjs /opt/sentry-extension/index.mjs
  RUN chmod +x /opt/extensions/sentry-extension /opt/sentry-extension/index.mjs
  ```

  ```js
  Sentry.init({
    dsn: '__DSN__',
    tunnel: 'http://localhost:9000/envelope',
  });
  ```

  This works with any Sentry SDK (`@sentry/aws-serverless`, `@sentry/sveltekit`, `@sentry/node`, etc.).

- **feat(cloudflare): Support basic WorkerEntrypoint ([#19884](https://github.com/getsentry/sentry-javascript/pull/19884))**

  `withSentry` now supports instrumenting classes extending Cloudflare's `WorkerEntrypoint`. This instruments `fetch`, `scheduled`, `queue`, and `tail` handlers.

  ```ts
  import * as Sentry from '@sentry/cloudflare';
  import { WorkerEntrypoint } from 'cloudflare:workers';

  class MyWorker extends WorkerEntrypoint {
    async fetch(request: Request): Promise<Response> {
      return new Response('Hello World!');
    }
  }

  export default Sentry.withSentry(env => ({ dsn: env.SENTRY_DSN, tracesSampleRate: 1.0 }), MyWorker);
  ```

- **ref(core): Unify .do\* span ops to `gen_ai.generate_content` ([#20074](https://github.com/getsentry/sentry-javascript/pull/20074))**

  All Vercel AI `do*` spans (`ai.generateText.doGenerate`, `ai.streamText.doStream`, `ai.generateObject.doGenerate`, `ai.streamObject.doStream`) now use a single unified span op `gen_ai.generate_content` instead of separate ops like `gen_ai.generate_text`, `gen_ai.stream_text`, `gen_ai.generate_object`, and `gen_ai.stream_object`.

- **ref(core): Remove provider-specific AI span attributes in favor of `gen_ai` attributes in sentry conventions ([#20011](https://github.com/getsentry/sentry-javascript/pull/20011))**

  The following provider-specific span attributes have been removed from the OpenAI and Anthropic AI integrations. Use the standardized `gen_ai.*` equivalents instead:

  | Removed attribute                | Replacement                  |
  | -------------------------------- | ---------------------------- |
  | `openai.response.id`             | `gen_ai.response.id`         |
  | `openai.response.model`          | `gen_ai.response.model`      |
  | `openai.usage.prompt_tokens`     | `gen_ai.usage.input_tokens`  |
  | `openai.usage.completion_tokens` | `gen_ai.usage.output_tokens` |
  | `openai.response.timestamp`      | _(removed, no replacement)_  |
  | `anthropic.response.timestamp`   | _(removed, no replacement)_  |

  If you reference these attributes in hooks (e.g. `beforeSendTransaction`), update them to the `gen_ai.*` equivalents.

- **feat(core): Support embeddings in LangChain ([#20017](https://github.com/getsentry/sentry-javascript/pull/20017))**

  Adds instrumentation for LangChain embeddings (`embedQuery`, `embedDocuments`), creating `gen_ai.embeddings` spans. In Node.js, embedding classes from `@langchain/openai`, `@langchain/google-genai`, `@langchain/mistralai`, and `@langchain/google-vertexai` are auto-instrumented. For other runtimes, use the new `instrumentLangChainEmbeddings` API:

  ```javascript
  import * as Sentry from '@sentry/cloudflare';
  import { OpenAIEmbeddings } from '@langchain/openai';

  const embeddings = Sentry.instrumentLangChainEmbeddings(new OpenAIEmbeddings({ model: 'text-embedding-3-small' }));

  await embeddings.embedQuery('Hello world');
  ```

### Other Changes

- feat(core): Support registerTool/registerResource/registerPrompt in MCP integration ([#20071](https://github.com/getsentry/sentry-javascript/pull/20071))
- feat(core, node): Portable Express integration ([#19928](https://github.com/getsentry/sentry-javascript/pull/19928))
- feat(deno): Add `denoRuntimeMetricsIntegration` ([#20023](https://github.com/getsentry/sentry-javascript/pull/20023))
- feat(deps): Bump bundler plugins to `5.2.0` ([#20122](https://github.com/getsentry/sentry-javascript/pull/20122))
- feat(deps): bump @hapi/content from 6.0.0 to 6.0.1 ([#20102](https://github.com/getsentry/sentry-javascript/pull/20102))
- feat(node, bun): Enforce minimum collection interval in runtime metrics integrations ([#20068](https://github.com/getsentry/sentry-javascript/pull/20068))
- feat(nuxt): Exclude tracing meta tags on cached pages in Nuxt 5 ([#20168](https://github.com/getsentry/sentry-javascript/pull/20168))
- feat(react-router): Export `sentryOnError` ([#20120](https://github.com/getsentry/sentry-javascript/pull/20120))
- fix(aws-serverless): Add timeout to \_endSpan forceFlush to prevent Lambda hanging ([#20064](https://github.com/getsentry/sentry-javascript/pull/20064))
- fix(cloudflare): Ensure every request instruments functions ([#20044](https://github.com/getsentry/sentry-javascript/pull/20044))
- fix(core): Only attach `flags` context to error events ([#20116](https://github.com/getsentry/sentry-javascript/pull/20116))
- fix(core): Replace regex with string check in stack parser to prevent main thread blocking ([#20089](https://github.com/getsentry/sentry-javascript/pull/20089))
- fix(core): set span.status to error when MCP tool returns JSON-RPC error response ([#20082](https://github.com/getsentry/sentry-javascript/pull/20082))
- fix(gatsby): Fix errorHandler signature to match bundler-plugin-core API ([#20048](https://github.com/getsentry/sentry-javascript/pull/20048))
- ref(core): Do not emit spans for chats.create in google-genai ([#19990](https://github.com/getsentry/sentry-javascript/pull/19990))

<details>
  <summary> <strong>Internal Changes</strong> </summary>

- chore: Remove unused `tsconfig-template` folder ([#20067](https://github.com/getsentry/sentry-javascript/pull/20067))
- chore: Update validate-pr workflow ([#20072](https://github.com/getsentry/sentry-javascript/pull/20072))
- chore(deps-dev): Bump effect from 3.20.0 to 3.21.0 ([#19999](https://github.com/getsentry/sentry-javascript/pull/19999))
- chore(deps): Bump @xmldom/xmldom from 0.8.3 to 0.8.12 ([#20066](https://github.com/getsentry/sentry-javascript/pull/20066))
- chore(deps): Bump lodash.template from 4.5.0 to 4.18.1 ([#20085](https://github.com/getsentry/sentry-javascript/pull/20085))
- chore(oxlint): Add typeawareness into oxlintrc ([#20075](https://github.com/getsentry/sentry-javascript/pull/20075))
- ci(deps): Bump getsentry/craft/.github/workflows/changelog-preview.yml from 2.24.1 to 2.25.2 ([#20081](https://github.com/getsentry/sentry-javascript/pull/20081))
- ci(deps): Bump `mshick/add-pr-comment` ([#20078](https://github.com/getsentry/sentry-javascript/pull/20078))
- ref(core): Extract shared endStreamSpan for AI integrations ([#20021](https://github.com/getsentry/sentry-javascript/pull/20021))
- ref(core): Simplify addResponseAttributes in openai integration ([#20013](https://github.com/getsentry/sentry-javascript/pull/20013))
- test(angular): Bump TypeScript to ~6.0.0 in angular-21 E2E test app ([#20134](https://github.com/getsentry/sentry-javascript/pull/20134))
- test(nuxt): Make Nuxt 5 (nightly) E2E optional ([#20113](https://github.com/getsentry/sentry-javascript/pull/20113))
- tests(node): Add node integration tests for Vercel `ToolLoopAgent` ([#20087](https://github.com/getsentry/sentry-javascript/pull/20087))

</details>

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 25.12 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.65 KB  |
| @sentry/browser (incl. Tracing)                                            | 41.7 KB   |
| @sentry/browser (incl. Tracing, Profiling)                                 | 46.21 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 79.6 KB   |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 69.42 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 84.2 KB   |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 96.12 KB  |
| @sentry/browser (incl. Feedback)                                           | 41.51 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.67 KB  |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.55 KB  |
| @sentry/browser (incl. Metrics)                                            | 26.4 KB   |
| @sentry/browser (incl. Logs)                                               | 26.55 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 27.2 KB   |
| @sentry/react                                                              | 26.84 KB  |
| @sentry/react (incl. Tracing)                                              | 43.96 KB  |
| @sentry/vue                                                                | 29.84 KB  |
| @sentry/vue (incl. Tracing)                                                | 43.51 KB  |
| @sentry/svelte                                                             | 25.14 KB  |
| CDN Bundle                                                                 | 27.74 KB  |
| CDN Bundle (incl. Tracing)                                                 | 42.69 KB  |
| CDN Bundle (incl. Logs, Metrics)                                           | 29.09 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 43.75 KB  |
| CDN Bundle (incl. Replay, Logs, Metrics)                                   | 66.99 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 78.71 KB  |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics)                          | 79.71 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 84.12 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 85.13 KB  |
| CDN Bundle - uncompressed                                                  | 81.05 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 126.6 KB  |
| CDN Bundle (incl. Logs, Metrics) - uncompressed                            | 85.1 KB   |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 129.93 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed                    | 205.2 KB  |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 240.74 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed           | 244.06 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 253.35 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 256.66 KB |
| @sentry/nextjs (client)                                                    | 46.33 KB  |
| @sentry/sveltekit (client)                                                 | 42.15 KB  |
| @sentry/node-core                                                          | 56.5 KB   |
| @sentry/node                                                               | 170.69 KB |
| @sentry/node - without tracing                                             | 95.65 KB  |
| @sentry/aws-serverless                                                     | 112.5 KB  |
</Release>

<Release version="10.47.0" date="March 31, 2026" published="2026-03-31T11:50:03.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.47.0">
### Important Changes

- **feat(node-core): Add OTLP integration for node-core/light ([#19729](https://github.com/getsentry/sentry-javascript/pull/19729))**

  Added `otlpIntegration` at `@sentry/node-core/light/otlp` for users who manage
  their own OpenTelemetry setup and want to send trace data to Sentry without
  adopting the full `@sentry/node` SDK.

  ```js
  import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
  import * as Sentry from '@sentry/node-core/light';
  import { otlpIntegration } from '@sentry/node-core/light/otlp';

  const provider = new NodeTracerProvider();
  provider.register();

  Sentry.init({
    dsn: '__DSN__',
    integrations: [
      otlpIntegration({
        // Export OTel spans to Sentry via OTLP (default: true)
        setupOtlpTracesExporter: true,
      }),
    ],
  });
  ```

  The integration links Sentry errors to OTel traces and exports spans to Sentry via OTLP.

- **feat(node, bun): Add runtime metrics integrations for Node.js and Bun ([#19923](https://github.com/getsentry/sentry-javascript/pull/19923), [#19979](https://github.com/getsentry/sentry-javascript/pull/19979))**

  New `nodeRuntimeMetricsIntegration` and `bunRuntimeMetricsIntegration` automatically collect runtime health metrics and send them to Sentry on a configurable interval (default: 30s). Collected metrics include memory (RSS, heap used/total), CPU utilization, event loop utilization, and process uptime. Node additionally collects event loop delay percentiles (p50, p99). Extra metrics like CPU time and external memory are available as opt-in.

  ```ts
  // Node.js
  import * as Sentry from '@sentry/node';

  Sentry.init({
    dsn: '...',
    integrations: [Sentry.nodeRuntimeMetricsIntegration()],
  });

  // Bun
  import * as Sentry from '@sentry/bun';

  Sentry.init({
    dsn: '...',
    integrations: [Sentry.bunRuntimeMetricsIntegration()],
  });
  ```

- **feat(core): Support embedding APIs in google-genai ([#19797](https://github.com/getsentry/sentry-javascript/pull/19797))**

  Adds instrumentation for the Google GenAI [`embedContent`](https://ai.google.dev/gemini-api/docs/embeddings) API, creating `gen_ai.embeddings` spans.

- **feat(browser): Add `elementTimingIntegration` for tracking element render and load times ([#19869](https://github.com/getsentry/sentry-javascript/pull/19869))**

  The new `elementTimingIntegration` captures Element Timing API data as Sentry metrics. It emits `element_timing.render_time` and `element_timing.load_time` distribution metrics for elements annotated with the `elementtiming` HTML attribute.

  ```ts
  import * as Sentry from '@sentry/browser';

  Sentry.init({
    dsn: '__DSN__',
    integrations: [Sentry.browserTracingIntegration(), Sentry.elementTimingIntegration()],
  });
  ```

  ```html
  <img src="hero.jpg" elementtiming="hero-image" />
  ```

### Other Changes

- feat(nuxt): Add middleware instrumentation compatibility for Nuxt 5 ([#19968](https://github.com/getsentry/sentry-javascript/pull/19968))
- feat(nuxt): Support parametrized SSR routes in Nuxt 5 ([#19977](https://github.com/getsentry/sentry-javascript/pull/19977))
- feat(solid): Add route parametrization for Solid Router ([#20031](https://github.com/getsentry/sentry-javascript/pull/20031))
- fix(core): Guard nullish response in supabase PostgREST handler ([#20033](https://github.com/getsentry/sentry-javascript/pull/20033))
- fix(node): Deduplicate `sentry-trace` and `baggage` headers on outgoing requests ([#19960](https://github.com/getsentry/sentry-javascript/pull/19960))
- fix(node): Ensure startNewTrace propagates traceId in OTel environments ([#19963](https://github.com/getsentry/sentry-javascript/pull/19963))
- fix(nuxt): Use virtual module for Nuxt pages data (SSR route parametrization) ([#20020](https://github.com/getsentry/sentry-javascript/pull/20020))
- fix(opentelemetry): Convert seconds timestamps in span.end() to milliseconds ([#19958](https://github.com/getsentry/sentry-javascript/pull/19958))
- fix(profiling): Disable profiling in worker threads ([#20040](https://github.com/getsentry/sentry-javascript/pull/20040))
- fix(react-router): Disable debug ID injection in Vite plugin to prevent double injection ([#19890](https://github.com/getsentry/sentry-javascript/pull/19890))
- refactor(browser): Reduce browser package bundle size ([#19856](https://github.com/getsentry/sentry-javascript/pull/19856))
- feat(deps): Bump OpenTelemetry dependencies ([#20046](https://github.com/getsentry/sentry-javascript/pull/20046))

<details>
  <summary> <strong>Internal Changes</strong> </summary>

- chore: Add shared validate-pr composite action ([#20025](https://github.com/getsentry/sentry-javascript/pull/20025))
- chore: Update validate-pr action to latest version ([#20027](https://github.com/getsentry/sentry-javascript/pull/20027))
- chore(deps): Bump @apollo/server from 5.4.0 to 5.5.0 ([#20007](https://github.com/getsentry/sentry-javascript/pull/20007))
- chore(deps): Bump amqplib from 0.10.7 to 0.10.9 ([#20000](https://github.com/getsentry/sentry-javascript/pull/20000))
- chore(deps): Bump srvx from 0.11.12 to 0.11.13 ([#20001](https://github.com/getsentry/sentry-javascript/pull/20001))
- chore(deps-dev): Bump node-forge from 1.3.2 to 1.4.0 ([#20012](https://github.com/getsentry/sentry-javascript/pull/20012))
- chore(deps-dev): Bump yaml from 2.8.2 to 2.8.3 ([#19985](https://github.com/getsentry/sentry-javascript/pull/19985))
- ci(deps): Bump actions/upload-artifact from 6 to 7 ([#19569](https://github.com/getsentry/sentry-javascript/pull/19569))
- docs(release): Update publishing-a-release.md ([#19982](https://github.com/getsentry/sentry-javascript/pull/19982))
- feat(deps): Bump babel-loader from 10.0.0 to 10.1.1 ([#19997](https://github.com/getsentry/sentry-javascript/pull/19997))
- feat(deps): Bump handlebars from 4.7.7 to 4.7.9 ([#20008](https://github.com/getsentry/sentry-javascript/pull/20008))
- fix(browser-tests): Pin axios to 1.13.5 to avoid compromised 1.14.1 ([#20047](https://github.com/getsentry/sentry-javascript/pull/20047))
- fix(ci): Update validate-pr action to remove draft enforcement ([#20035](https://github.com/getsentry/sentry-javascript/pull/20035))
- fix(ci): Update validate-pr action to remove draft enforcement ([#20037](https://github.com/getsentry/sentry-javascript/pull/20037))
- fix(e2e): Pin @opentelemetry/api to 1.9.0 in ts3.8 test app ([#19992](https://github.com/getsentry/sentry-javascript/pull/19992))
- ref(browser-tests): Add waitForMetricRequest helper ([#20002](https://github.com/getsentry/sentry-javascript/pull/20002))
- ref(core): Consolidate getOperationName into one shared utility ([#19971](https://github.com/getsentry/sentry-javascript/pull/19971))
- ref(core): Introduce instrumented method registry for AI integrations ([#19981](https://github.com/getsentry/sentry-javascript/pull/19981))
- test(deno): Expand Deno E2E test coverage ([#19957](https://github.com/getsentry/sentry-javascript/pull/19957))
- test(e2e): Add e2e tests for `nodeRuntimeMetricsIntegration` ([#19989](https://github.com/getsentry/sentry-javascript/pull/19989))

</details>

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 25.04 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.57 KB  |
| @sentry/browser (incl. Tracing)                                            | 41.16 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 45.67 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 79.04 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 68.91 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 83.64 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 95.62 KB  |
| @sentry/browser (incl. Feedback)                                           | 41.42 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.59 KB  |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.46 KB  |
| @sentry/browser (incl. Metrics)                                            | 26.32 KB  |
| @sentry/browser (incl. Logs)                                               | 26.46 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 27.12 KB  |
| @sentry/react                                                              | 26.76 KB  |
| @sentry/react (incl. Tracing)                                              | 43.44 KB  |
| @sentry/vue                                                                | 29.37 KB  |
| @sentry/vue (incl. Tracing)                                                | 43.02 KB  |
| @sentry/svelte                                                             | 25.06 KB  |
| CDN Bundle                                                                 | 27.65 KB  |
| CDN Bundle (incl. Tracing)                                                 | 42.09 KB  |
| CDN Bundle (incl. Logs, Metrics)                                           | 28.99 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 43.12 KB  |
| CDN Bundle (incl. Replay, Logs, Metrics)                                   | 66.87 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 78.13 KB  |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics)                          | 79.14 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 83.54 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 84.55 KB  |
| CDN Bundle - uncompressed                                                  | 80.72 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 124.81 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed                            | 84.77 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 128.14 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed                    | 204.87 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 238.95 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed           | 242.26 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 251.56 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 254.86 KB |
| @sentry/nextjs (client)                                                    | 45.79 KB  |
| @sentry/sveltekit (client)                                                 | 41.62 KB  |
| @sentry/node-core                                                          | 54.45 KB  |
| @sentry/node                                                               | 168.93 KB |
| @sentry/node - without tracing                                             | 93.76 KB  |
| @sentry/aws-serverless                                                     | 110.13 KB |
</Release>

<Release version="10.46.0" date="March 25, 2026" published="2026-03-25T15:31:37.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.46.0">
### Important Changes

- **feat(elysia): `@sentry/elysia` - Alpha Release ([#19509](https://github.com/getsentry/sentry-javascript/pull/19509))**

  New Sentry SDK for the [Elysia](https://elysiajs.com/) web framework, supporting both Bun and Node.js runtimes.

  > **Note:** This is an alpha release. Please report any issues or feedback on [GitHub](https://github.com/getsentry/sentry-javascript/issues).

  **Features**
  - **Automatic error capturing** — 5xx errors captured via global `onError` hook; 3xx/4xx ignored by default. Customizable with `shouldHandleError`.
  - **Automatic tracing** — Lifecycle spans for every Elysia phase (Request, Parse, Transform, BeforeHandle, Handle, AfterHandle, MapResponse, AfterResponse, Error) with parameterized route names (e.g. `GET /users/:id`).
  - **Distributed tracing** — `sentry-trace` and `baggage` headers propagated automatically on incoming/outgoing requests.

  **Usage**

  ```javascript
  import * as Sentry from '@sentry/elysia';
  import { Elysia } from 'elysia';

  Sentry.init({ dsn: '__DSN__', tracesSampleRate: 1.0 });

  const app = Sentry.withElysia(new Elysia());
  app.get('/', () => 'Hello World');
  app.listen(3000);
  ```

### Other Changes

- feat(nuxt): Conditionally use plugins based on Nitro version (v2/v3) ([#19955](https://github.com/getsentry/sentry-javascript/pull/19955))
- fix(cloudflare): Forward `ctx` argument to `Workflow.do` user callback ([#19891](https://github.com/getsentry/sentry-javascript/pull/19891))
- fix(cloudflare): Send correct events in local development ([#19900](https://github.com/getsentry/sentry-javascript/pull/19900))
- fix(core): Do not overwrite user provided conversation id in Vercel ([#19903](https://github.com/getsentry/sentry-javascript/pull/19903))
- fix(core): Preserve `.withResponse()` on Anthropic instrumentation ([#19935](https://github.com/getsentry/sentry-javascript/pull/19935))
- fix(core): Send `internal_error` as span status for Vercel error spans ([#19921](https://github.com/getsentry/sentry-javascript/pull/19921))
- fix(core): Truncate content array format in Vercel ([#19911](https://github.com/getsentry/sentry-javascript/pull/19911))
- fix(deps): bump fast-xml-parser to 5.5.8 in @azure/core-xml chain ([#19918](https://github.com/getsentry/sentry-javascript/pull/19918))
- fix(deps): bump socket.io-parser to 4.2.6 to fix CVE-2026-33151 ([#19880](https://github.com/getsentry/sentry-javascript/pull/19880))
- fix(nestjs): Add `node` to nest metadata ([#19875](https://github.com/getsentry/sentry-javascript/pull/19875))
- fix(serverless): Add node to metadata ([#19878](https://github.com/getsentry/sentry-javascript/pull/19878))

<details>
  <summary> <strong>Internal Changes</strong> </summary>

- chore(ci): Fix "Gatbsy" typo in issue package label workflow ([#19905](https://github.com/getsentry/sentry-javascript/pull/19905))
- chore(claude): Enable Claude Code Intelligence (LSP) ([#19930](https://github.com/getsentry/sentry-javascript/pull/19930))
- chore(deps): bump mongodb-memory-server-global from 10.1.4 to 11.0.1 ([#19888](https://github.com/getsentry/sentry-javascript/pull/19888))
- chore(deps-dev): bump @react-router/node from 7.13.0 to 7.13.1 ([#19544](https://github.com/getsentry/sentry-javascript/pull/19544))
- chore(deps-dev): bump effect from 3.19.19 to 3.20.0 ([#19926](https://github.com/getsentry/sentry-javascript/pull/19926))
- chore(deps-dev): bump qunit-dom from 3.2.1 to 3.5.0 ([#19546](https://github.com/getsentry/sentry-javascript/pull/19546))
- chore(node-integration-tests): Remove unnecessary `file-type` dependency ([#19824](https://github.com/getsentry/sentry-javascript/pull/19824))
- chore(remix): Replace glob with native recursive fs walk ([#19531](https://github.com/getsentry/sentry-javascript/pull/19531))
- feat(deps): bump stacktrace-parser from 0.1.10 to 0.1.11 ([#19887](https://github.com/getsentry/sentry-javascript/pull/19887))
- fix(craft): Add missing mainDocsUrl for @sentry/effect SDK ([#19860](https://github.com/getsentry/sentry-javascript/pull/19860))
- fix(deps): bump next to 15.5.14 in nextjs-15 and nextjs-15-intl E2E test apps ([#19917](https://github.com/getsentry/sentry-javascript/pull/19917))
- fix(deps): update lockfile to resolve h3@1.15.10 ([#19933](https://github.com/getsentry/sentry-javascript/pull/19933))
- ref(core): Remove duplicate `buildMethodPath` utility from openai ([#19969](https://github.com/getsentry/sentry-javascript/pull/19969))
- ref(elysia): Drop `@elysiajs/opentelemetry` dependency ([#19947](https://github.com/getsentry/sentry-javascript/pull/19947))
- ref(nuxt): Extract core logic for storage/database to prepare for Nuxt v5 ([#19920](https://github.com/getsentry/sentry-javascript/pull/19920))
- ref(nuxt): Extract handler patching to extra plugin for Nitro v2/v3 ([#19915](https://github.com/getsentry/sentry-javascript/pull/19915))
- ref(sveltekit): Replace recast + @babel/parser with acorn ([#19533](https://github.com/getsentry/sentry-javascript/pull/19533))
- test(astro): Re-enable server island tracing e2e test in Astro 6 ([#19872](https://github.com/getsentry/sentry-javascript/pull/19872))
- test(cloudflare): Enable multi-worker tests for CF integration tests ([#19938](https://github.com/getsentry/sentry-javascript/pull/19938))

</details>

Work in this release was contributed by @roli-lpci. Thank you for your contributions!

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 25.08 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.6 KB   |
| @sentry/browser (incl. Tracing)                                            | 41.67 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 46.22 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 79.57 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 69.4 KB   |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 84.15 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 96.1 KB   |
| @sentry/browser (incl. Feedback)                                           | 41.48 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.64 KB  |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.57 KB  |
| @sentry/browser (incl. Metrics)                                            | 26.33 KB  |
| @sentry/browser (incl. Logs)                                               | 26.46 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 27.13 KB  |
| @sentry/react                                                              | 26.8 KB   |
| @sentry/react (incl. Tracing)                                              | 43.96 KB  |
| @sentry/vue                                                                | 29.42 KB  |
| @sentry/vue (incl. Tracing)                                                | 43.48 KB  |
| @sentry/svelte                                                             | 25.1 KB   |
| CDN Bundle                                                                 | 27.69 KB  |
| CDN Bundle (incl. Tracing)                                                 | 42.55 KB  |
| CDN Bundle (incl. Logs, Metrics)                                           | 28.54 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 43.39 KB  |
| CDN Bundle (incl. Replay, Logs, Metrics)                                   | 66.69 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 78.52 KB  |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics)                          | 79.4 KB   |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 83.96 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 84.82 KB  |
| CDN Bundle - uncompressed                                                  | 80.76 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 125.61 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed                            | 83.56 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 128.41 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed                    | 204.32 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 239.75 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed           | 242.53 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 252.36 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 255.13 KB |
| @sentry/nextjs (client)                                                    | 46.29 KB  |
| @sentry/sveltekit (client)                                                 | 42.11 KB  |
| @sentry/node-core                                                          | 55.08 KB  |
| @sentry/node                                                               | 169.44 KB |
| @sentry/node - without tracing                                             | 94.16 KB  |
| @sentry/aws-serverless                                                     | 110.78 KB |
</Release>

<Release version="8.55.1" date="March 25, 2026" published="2026-03-25T11:55:27.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/8.55.1">
- fix(v8/browser): Ensure that performance.measure spans have a positive duration ([#19959](https://github.com/getsentry/sentry-javascript/pull/19959))
- fix(v8/core): Filter `gmo` error and Facebook mobile error ([#15447](https://github.com/getsentry/sentry-javascript/pull/15447))
</Release>

<Release version="10.45.0" date="March 19, 2026" published="2026-03-19T13:36:20.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.45.0">
### Important Changes

- **feat(remix): Server Timing Headers Trace Propagation ([#18653](https://github.com/getsentry/sentry-javascript/pull/18653))**

  The Remix SDK now supports automatic trace propagation via `Server-Timing` response headers to continue pageload traces on the client side.
  This means, you no longer have to define a custom `meta` function to add Sentry `<meta>` tags to your page as previously.
  We'll update out Remix tracing docs after this release.

### Other Changes

- fix(cloudflare): Use correct env types for `withSentry` ([#19836](https://github.com/getsentry/sentry-javascript/pull/19836))
- fix(core): Align error span status message with core `SpanStatusType` for langchain/google-genai ([#19863](https://github.com/getsentry/sentry-javascript/pull/19863))
- fix(deno): Clear pre-existing OTel global before registering TracerProvider ([#19723](https://github.com/getsentry/sentry-javascript/pull/19723))
- fix(nextjs): Skip tracing for tunnel requests ([#19861](https://github.com/getsentry/sentry-javascript/pull/19861))
- fix(node-core): Recycle propagationContext for each request ([#19835](https://github.com/getsentry/sentry-javascript/pull/19835))
- ref(core): Simplify core utility functions for smaller bundle ([#19854](https://github.com/getsentry/sentry-javascript/pull/19854))

<details>
  <summary> <strong>Internal Changes</strong> </summary>

- chore(deps): bump next from 16.1.5 to 16.1.7 in /dev-packages/e2e-tests/test-applications/nextjs-16 ([#19851](https://github.com/getsentry/sentry-javascript/pull/19851))
- ci(release): Switch from action-prepare-release to Craft ([#18763](https://github.com/getsentry/sentry-javascript/pull/18763))
- fix(deps): bump devalue 5.6.3 to 5.6.4 to fix CVE-2026-30226 ([#19849](https://github.com/getsentry/sentry-javascript/pull/19849))
- fix(deps): bump file-type to 21.3.2 and @nestjs/common to 11.1.17 ([#19847](https://github.com/getsentry/sentry-javascript/pull/19847))
- fix(deps): bump flatted 3.3.1 to 3.4.2 to fix CVE-2026-32141 ([#19842](https://github.com/getsentry/sentry-javascript/pull/19842))
- fix(deps): bump hono 4.12.5 to 4.12.7 in cloudflare-hono E2E test app ([#19850](https://github.com/getsentry/sentry-javascript/pull/19850))
- fix(deps): bump next to 15.5.13/16.1.7 to fix CVE-2026-1525, CVE-202-33036 and related ([#19870](https://github.com/getsentry/sentry-javascript/pull/19870))
- fix(deps): bump tar 7.5.10 to 7.5.11 to fix CVE-2026-31802 ([#19846](https://github.com/getsentry/sentry-javascript/pull/19846))
- fix(deps): bump undici 6.23.0 to 6.24.1 to fix multiple CVEs ([#19841](https://github.com/getsentry/sentry-javascript/pull/19841))
- fix(deps): bump unhead 2.1.4 to 2.1.12 to fix CVE-2026-31860 and CVE-2026-31873 ([#19848](https://github.com/getsentry/sentry-javascript/pull/19848))
- test(nextjs): Skip broken ISR tests ([#19871](https://github.com/getsentry/sentry-javascript/pull/19871))
- test(react): Add gql tests for react router ([#19844](https://github.com/getsentry/sentry-javascript/pull/19844))

</details>

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 24.93 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.47 KB  |
| @sentry/browser (incl. Tracing)                                            | 41.51 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 46.07 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 79.41 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 69.22 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 84 KB     |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 95.97 KB  |
| @sentry/browser (incl. Feedback)                                           | 41.35 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.49 KB  |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.43 KB  |
| @sentry/browser (incl. Metrics)                                            | 26.18 KB  |
| @sentry/browser (incl. Logs)                                               | 26.32 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 26.99 KB  |
| @sentry/react                                                              | 26.66 KB  |
| @sentry/react (incl. Tracing)                                              | 43.81 KB  |
| @sentry/vue                                                                | 29.29 KB  |
| @sentry/vue (incl. Tracing)                                                | 43.34 KB  |
| @sentry/svelte                                                             | 24.95 KB  |
| CDN Bundle                                                                 | 27.54 KB  |
| CDN Bundle (incl. Tracing)                                                 | 42.37 KB  |
| CDN Bundle (incl. Logs, Metrics)                                           | 28.39 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 43.22 KB  |
| CDN Bundle (incl. Replay, Logs, Metrics)                                   | 66.52 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 78.35 KB  |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics)                          | 79.24 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 83.77 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 84.64 KB  |
| CDN Bundle - uncompressed                                                  | 80.39 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 125.24 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed                            | 83.19 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 128.04 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed                    | 203.92 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 239.35 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed           | 242.14 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 251.96 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 254.74 KB |
| @sentry/nextjs (client)                                                    | 46.17 KB  |
| @sentry/sveltekit (client)                                                 | 41.95 KB  |
| @sentry/node-core                                                          | 54.96 KB  |
| @sentry/node                                                               | 169.14 KB |
| @sentry/node - without tracing                                             | 94 KB     |
| @sentry/aws-serverless                                                     | 110.61 KB |
</Release>

<Release version="10.44.0" date="March 17, 2026" published="2026-03-17T16:44:00.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.44.0">
### Important Changes

- **feat(effect): Add `@sentry/effect` SDK (Alpha) ([#19644](https://github.com/getsentry/sentry-javascript/pull/19644))**

  This release introduces `@sentry/effect`, a new SDK for [Effect.ts](https://effect.website/) applications. The SDK provides Sentry integration via composable Effect layers for both Node.js and browser environments.

  Compose the `effectLayer` with optional tracing, logging, and metrics layers to instrument your Effect application:

  ```typescript
  import * as Sentry from '@sentry/effect';
  import * as Layer from 'effect/Layer';
  import * as Logger from 'effect/Logger';

  const SentryLive = Layer.mergeAll(
    Sentry.effectLayer({ dsn: '__DSN__', tracesSampleRate: 1.0, enableLogs: true }),
    Layer.setTracer(Sentry.SentryEffectTracer),
    Logger.replace(Logger.defaultLogger, Sentry.SentryEffectLogger),
    Sentry.SentryEffectMetricsLayer,
  );
  ```

  Alpha features are still in progress, may have bugs and might include breaking changes. Please reach out on GitHub if you have any feedback or concerns.

- **feat(astro): Add Astro 6 support ([#19745](https://github.com/getsentry/sentry-javascript/pull/19745))**

  This release enables full support for Astro v6 by adjusting our Astro SDK's middleware to some Astro-internal
  changes. We cannot yet guarantee full support for server-islands, due to a [bug in Astro v6](https://github.com/withastro/astro/issues/15753)
  but we'll follow up on this once the bug is fixed.

- **feat(hono): Add basic instrumentation for Node runtime ([#19817](https://github.com/getsentry/sentry-javascript/pull/19817))**

  Adds a new package `@sentry/hono/node` (alpha) with basic instrumentation for Hono applications running in Node.js.
  The Hono middleware for Cloudflare (`@sentry/hono/cloudflare` - alpha) comes with fixes, and it's now possible to access the Cloudflare Worker Bindings (`env`) from the options' callback.

  Start using the new Hono middlewares by installing `@sentry/hono` and importing the respective middleware for your runtime.
  More instructions can be found in the [Hono readme](https://github.com/getsentry/sentry-javascript/blob/develop/packages/hono/README.md).

  Alpha features are still in progress, may have bugs and might include breaking changes. Please reach out on GitHub if you have any feedback or concerns.

- **feat(nestjs): Instrument `@nestjs/bullmq` `@Processor` decorator ([#19759](https://github.com/getsentry/sentry-javascript/pull/19759))**

  Automatically capture exceptions and create transactions for BullMQ queue processors in NestJS applications.

  When using the `@Processor` decorator from `@nestjs/bullmq`, the SDK now automatically wraps the `process()` method
  to create `queue.process` transactions with proper isolation scopes, preventing breadcrumb and scope leakage between
  jobs and HTTP requests. Errors thrown in processors are captured with the `auto.queue.nestjs.bullmq` mechanism type.

  Requires `@nestjs/bullmq` v10.0.0 or later.

- **feat(nestjs): Instrument `@nestjs/schedule` decorators ([#19735](https://github.com/getsentry/sentry-javascript/pull/19735))**

  Automatically capture exceptions thrown in `@Cron`, `@Interval`, and `@Timeout` decorated methods.

  Previously, exceptions in `@Cron` methods were only captured if you used the `SentryCron` decorator. Now they are
  captured automatically. The exception mechanism type changed from `auto.cron.nestjs.async` to
  `auto.function.nestjs.cron`. If you have Sentry queries or alerts that filter on the old mechanism type, update them
  accordingly.

- **feat(node): Expose `headersToSpanAttributes` option on `nativeNodeFetchIntegration()` ([#19770](https://github.com/getsentry/sentry-javascript/pull/19770))**

  Response headers like `http.response.header.content-length` were previously captured automatically on outgoing
  fetch spans but are now opt-in since `@opentelemetry/instrumentation-undici@0.22.0`. You can now configure which
  headers to capture via the `headersToSpanAttributes` option.

  ```js
  Sentry.init({
    integrations: [
      Sentry.nativeNodeFetchIntegration({
        headersToSpanAttributes: {
          requestHeaders: ['x-custom-header'],
          responseHeaders: ['content-length', 'content-type'],
        },
      }),
    ],
  });
  ```

### Other Changes

- feat(browser/cloudflare): Export conversation id from browser and cloudflare runtimes ([#19820](https://github.com/getsentry/sentry-javascript/pull/19820))
- feat(bun): Set http response header attributes instead of response context headers ([#19821](https://github.com/getsentry/sentry-javascript/pull/19821))
- feat(core): Add `sentry.timestamp.sequence` attribute for timestamp tie-breaking ([#19421](https://github.com/getsentry/sentry-javascript/pull/19421))
- feat(deno): Set http response header attributes instead of response context headers ([#19822](https://github.com/getsentry/sentry-javascript/pull/19822))
- feat(deps): Bump OpenTelemetry dependencies ([#19682](https://github.com/getsentry/sentry-javascript/pull/19682))
- feat(nestjs): Use more specific span origins for NestJS guards, pipes, interceptors, and exception filters ([#19751](https://github.com/getsentry/sentry-javascript/pull/19751))
- feat(nextjs): Vercel queue instrumentation ([#19799](https://github.com/getsentry/sentry-javascript/pull/19799))
- feat(node): Avoid OTEL instrumentation for outgoing requests on Node 22+ ([#17355](https://github.com/getsentry/sentry-javascript/pull/17355))
- feat(deps): bump hono from 4.12.5 to 4.12.7 ([#19747](https://github.com/getsentry/sentry-javascript/pull/19747))
- feat(deps): bump mysql2 from 3.14.4 to 3.19.1 ([#19787](https://github.com/getsentry/sentry-javascript/pull/19787))
- feat(deps): bump simple-git from 3.30.0 to 3.33.0 ([#19744](https://github.com/getsentry/sentry-javascript/pull/19744))
- feat(deps): bump yauzl from 3.2.0 to 3.2.1 ([#19809](https://github.com/getsentry/sentry-javascript/pull/19809))
- fix(browser): Skip browserTracingIntegration setup for bot user agents ([#19708](https://github.com/getsentry/sentry-javascript/pull/19708))
- fix(cloudflare): Recreate client when previous one was disposed ([#19727](https://github.com/getsentry/sentry-javascript/pull/19727))
- fix(core): Align Vercel embedding spans with semantic conventions ([#19795](https://github.com/getsentry/sentry-javascript/pull/19795))
- fix(core): Fallback to `sendDefaultPii` setting in langchain and langgraph in non-node environments ([#19813](https://github.com/getsentry/sentry-javascript/pull/19813))
- fix(core): Improve Vercel AI SDK instrumentation attributes ([#19717](https://github.com/getsentry/sentry-javascript/pull/19717))
- fix(hono): Align error mechanism ([#19831](https://github.com/getsentry/sentry-javascript/pull/19831))
- fix(hono): Allow passing env and fix type issues ([#19825](https://github.com/getsentry/sentry-javascript/pull/19825))
- fix(nestjs): Fork isolation scope in `@nestjs/event-emitter` instrumentation ([#19725](https://github.com/getsentry/sentry-javascript/pull/19725))
- fix(nextjs): Log correct `lastEventId` when error is thrown in component render ([#19764](https://github.com/getsentry/sentry-javascript/pull/19764))
- fix(nextjs): Strip sourceMappingURL comments after deleting source maps in turbopack builds ([#19814](https://github.com/getsentry/sentry-javascript/pull/19814))
- fix(nuxt): Upload client source maps ([#19805](https://github.com/getsentry/sentry-javascript/pull/19805))
- fix(profiling-node): Fix NODE_VERSION rendered as [object Object] in warning ([#19788](https://github.com/getsentry/sentry-javascript/pull/19788))

<details>
  <summary> <strong>Internal Changes</strong> </summary>

- chore: Add oxlint migration commits to blame ignore ([#19784](https://github.com/getsentry/sentry-javascript/pull/19784))
- chore: add oxlint typescript program suppression to workspace settings ([#19692](https://github.com/getsentry/sentry-javascript/pull/19692))
- chore: Bump oxlint and oxfmt ([#19771](https://github.com/getsentry/sentry-javascript/pull/19771))
- chore: Clean up lint and format script names ([#19719](https://github.com/getsentry/sentry-javascript/pull/19719))
- chore(agents): Be more explicit on linting and formatting ([#19803](https://github.com/getsentry/sentry-javascript/pull/19803))
- chore(ci): Extract metadata workflow ([#19680](https://github.com/getsentry/sentry-javascript/pull/19680))
- chore(deps): bump tedious from 18.6.1 to 19.2.1 ([#19786](https://github.com/getsentry/sentry-javascript/pull/19786))
- chore(deps-dev): bump file-type from 20.5.0 to 21.3.1 ([#19748](https://github.com/getsentry/sentry-javascript/pull/19748))
- chore(effect): Add Effect to craft, README and issue templates ([#19837](https://github.com/getsentry/sentry-javascript/pull/19837))
- chore(lint): Rule adjustments and fix warnings ([#19612](https://github.com/getsentry/sentry-javascript/pull/19612))
- chore(skills): Add `skill-creator` and update managed agent skills ([#19713](https://github.com/getsentry/sentry-javascript/pull/19713))
- docs(changelog): Add entry for `@sentry/hono` alpha release ([#19828](https://github.com/getsentry/sentry-javascript/pull/19828))
- docs(hono): Document usage without `"*"` ([#19756](https://github.com/getsentry/sentry-javascript/pull/19756))
- docs(new-release): Document `sdkName` for craft ([#19736](https://github.com/getsentry/sentry-javascript/pull/19736))
- docs(new-release): Update docs based on new Craft flow ([#19731](https://github.com/getsentry/sentry-javascript/pull/19731))
- ref(cloudflare): Prepare for WorkerEntrypoint ([#19742](https://github.com/getsentry/sentry-javascript/pull/19742))
- ref(nestjs): Move event instrumentation unit tests to separate file ([#19738](https://github.com/getsentry/sentry-javascript/pull/19738))
- style: Auto changes made from "yarn fix" ([#19710](https://github.com/getsentry/sentry-javascript/pull/19710))
- test(astro,cloudflare): Add an E2E test for Astro 6 on Cloudflare ([#19781](https://github.com/getsentry/sentry-javascript/pull/19781))
- test(browser): Add simulated mfe integration test ([#19768](https://github.com/getsentry/sentry-javascript/pull/19768))
- test(e2e): Add MFE e2e test using `vite-plugin-federation` ([#19778](https://github.com/getsentry/sentry-javascript/pull/19778))
- test(nextjs): Add vercel queue tests to next-16 ([#19798](https://github.com/getsentry/sentry-javascript/pull/19798))
- tests(core): Fix flaky metric sequence number test ([#19754](https://github.com/getsentry/sentry-javascript/pull/19754))

</details>

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 25.04 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.57 KB  |
| @sentry/browser (incl. Tracing)                                            | 41.62 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 46.17 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 79.51 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 69.33 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 84.11 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 96.07 KB  |
| @sentry/browser (incl. Feedback)                                           | 41.45 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.6 KB   |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.53 KB  |
| @sentry/browser (incl. Metrics)                                            | 26.29 KB  |
| @sentry/browser (incl. Logs)                                               | 26.43 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 27.09 KB  |
| @sentry/react                                                              | 26.75 KB  |
| @sentry/react (incl. Tracing)                                              | 43.9 KB   |
| @sentry/vue                                                                | 29.38 KB  |
| @sentry/vue (incl. Tracing)                                                | 43.44 KB  |
| @sentry/svelte                                                             | 25.06 KB  |
| CDN Bundle                                                                 | 27.62 KB  |
| CDN Bundle (incl. Tracing)                                                 | 42.49 KB  |
| CDN Bundle (incl. Logs, Metrics)                                           | 28.46 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 43.32 KB  |
| CDN Bundle (incl. Replay, Logs, Metrics)                                   | 66.61 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 78.45 KB  |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics)                          | 79.33 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 83.86 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 84.74 KB  |
| CDN Bundle - uncompressed                                                  | 80.69 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 125.55 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed                            | 83.49 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 128.35 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed                    | 204.22 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 239.66 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed           | 242.45 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 252.27 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 255.05 KB |
| @sentry/nextjs (client)                                                    | 46.26 KB  |
| @sentry/sveltekit (client)                                                 | 42.06 KB  |
| @sentry/node-core                                                          | 55.03 KB  |
| @sentry/node                                                               | 169.1 KB  |
| @sentry/node - without tracing                                             | 94.09 KB  |
| @sentry/aws-serverless                                                     | 110.68 KB |
</Release>

<Release version="10.43.0" date="March 10, 2026" published="2026-03-10T09:37:09.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.43.0">
### Important Changes

- **feat(nextjs): Add Turbopack support for React component name annotation ([#19604](https://github.com/getsentry/sentry-javascript/pull/19604))**

  We added experimental support for React component name annotation in Turbopack builds. When enabled, JSX elements
  are annotated with `data-sentry-component`, `data-sentry-element`, and `data-sentry-source-file` attributes at build
  time. This enables searching Replays by component name, seeing component names in breadcrumbs, and performance
  monitoring — previously only available with webpack builds.

  This feature requires Next.js 16+ and is currently behind an experimental flag:

  ```js
  // next.config.ts
  import { withSentryConfig } from '@sentry/nextjs';

  export default withSentryConfig(nextConfig, {
    _experimental: {
      turbopackReactComponentAnnotation: {
        enabled: true,
        ignoredComponents: ['Header', 'Footer'], // optional
      },
    },
  });
  ```

- **feat(hono): Instrument middlewares `app.use()` ([#19611](https://github.com/getsentry/sentry-javascript/pull/19611))**

  Hono middleware registered via `app.use()` is now automatically instrumented, creating spans for each middleware invocation.

### Other Changes

- feat(node-core,node): Add `tracePropagation` option to http and fetch integrations ([#19712](https://github.com/getsentry/sentry-javascript/pull/19712))
- feat(hono): Use parametrized names for errors ([#19577](https://github.com/getsentry/sentry-javascript/pull/19577))
- fix(browser): Fix missing traces for user feedback ([#19660](https://github.com/getsentry/sentry-javascript/pull/19660))
- fix(cloudflare): Use correct Proxy receiver in `instrumentDurableObjectStorage` ([#19662](https://github.com/getsentry/sentry-javascript/pull/19662))
- fix(core): Standardize Vercel AI span descriptions to align with GenAI semantic conventions ([#19624](https://github.com/getsentry/sentry-javascript/pull/19624))
- fix(deps): Bump hono to 4.12.5 to fix multiple vulnerabilities ([#19653](https://github.com/getsentry/sentry-javascript/pull/19653))
- fix(deps): Bump svgo to 4.0.1 to fix DoS via entity expansion ([#19651](https://github.com/getsentry/sentry-javascript/pull/19651))
- fix(deps): Bump tar to 7.5.10 to fix hardlink path traversal ([#19650](https://github.com/getsentry/sentry-javascript/pull/19650))
- fix(nextjs): Align Turbopack module metadata injection with webpack behavior ([#19645](https://github.com/getsentry/sentry-javascript/pull/19645))
- fix(node): Prevent duplicate LangChain spans from double module patching ([#19684](https://github.com/getsentry/sentry-javascript/pull/19684))
- fix(node-core,vercel-edge): Use HEROKU_BUILD_COMMIT env var for default release ([#19617](https://github.com/getsentry/sentry-javascript/pull/19617))
- fix(sveltekit): Fix file system race condition in source map cleaning ([#19714](https://github.com/getsentry/sentry-javascript/pull/19714))
- fix(tanstackstart-react): Add workerd and worker export conditions ([#19461](https://github.com/getsentry/sentry-javascript/pull/19461))
- fix(vercel-ai): Prevent tool call span map memory leak ([#19328](https://github.com/getsentry/sentry-javascript/pull/19328))
- feat(deps): Bump @sentry/rollup-plugin from 5.1.0 to 5.1.1 ([#19658](https://github.com/getsentry/sentry-javascript/pull/19658))

<details>
  <summary> <strong>Internal Changes</strong> </summary>

- chore: Migrate to oxlint ([#19134](https://github.com/getsentry/sentry-javascript/pull/19134))
- chore(aws-serverless): Don't build layer in `build:dev` command ([#19586](https://github.com/getsentry/sentry-javascript/pull/19586))
- chore(ci): Allow triage action to run on issues from external users ([#19701](https://github.com/getsentry/sentry-javascript/pull/19701))
- chore(deps): Bump immutable from 4.0.0 to 4.3.8 ([#19637](https://github.com/getsentry/sentry-javascript/pull/19637))
- chore(e2e): Expand microservices E2E application with auto-tracing tests ([#19652](https://github.com/getsentry/sentry-javascript/pull/19652))
- chore(hono): Prepare readme and add craft entry ([#19583](https://github.com/getsentry/sentry-javascript/pull/19583))
- chore(sourcemaps): Make sourcemaps e2e test more generic ([#19678](https://github.com/getsentry/sentry-javascript/pull/19678))
- chore(tanstackstart-react): Add link to docs in README ([#19697](https://github.com/getsentry/sentry-javascript/pull/19697))
- feat(deps): Bump @hono/node-server from 1.19.4 to 1.19.10 ([#19634](https://github.com/getsentry/sentry-javascript/pull/19634))
- feat(deps): Bump underscore from 1.12.1 to 1.13.8 ([#19616](https://github.com/getsentry/sentry-javascript/pull/19616))
- test(angular): Fix failing canary test ([#19639](https://github.com/getsentry/sentry-javascript/pull/19639))
- test(nextjs): Add sourcemaps test for nextjs turbopack ([#19647](https://github.com/getsentry/sentry-javascript/pull/19647))
- tests(e2e): Add microservices e2e for nestjs ([#19642](https://github.com/getsentry/sentry-javascript/pull/19642))
- tests(e2e): Add websockets e2e for nestjs ([#19630](https://github.com/getsentry/sentry-javascript/pull/19630))

</details>

Work in this release was contributed by @dmmulroy, @lithdew, and @smorimoto. Thank you for your contributions!

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 25.04 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.57 KB  |
| @sentry/browser (incl. Tracing)                                            | 41.45 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 46 KB     |
| @sentry/browser (incl. Tracing, Replay)                                    | 79.35 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 69.22 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 83.94 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 95.91 KB  |
| @sentry/browser (incl. Feedback)                                           | 41.45 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.6 KB   |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.53 KB  |
| @sentry/browser (incl. Metrics)                                            | 26.18 KB  |
| @sentry/browser (incl. Logs)                                               | 26.31 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 26.97 KB  |
| @sentry/react                                                              | 26.75 KB  |
| @sentry/react (incl. Tracing)                                              | 43.73 KB  |
| @sentry/vue                                                                | 29.38 KB  |
| @sentry/vue (incl. Tracing)                                                | 43.27 KB  |
| @sentry/svelte                                                             | 25.06 KB  |
| CDN Bundle                                                                 | 27.52 KB  |
| CDN Bundle (incl. Tracing)                                                 | 42.26 KB  |
| CDN Bundle (incl. Logs, Metrics)                                           | 28.34 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 43.08 KB  |
| CDN Bundle (incl. Replay, Logs, Metrics)                                   | 66.5 KB   |
| CDN Bundle (incl. Tracing, Replay)                                         | 78.27 KB  |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics)                          | 79.11 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 83.66 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 84.51 KB  |
| CDN Bundle - uncompressed                                                  | 80.45 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 125.09 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed                            | 83.22 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 127.86 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed                    | 203.98 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 239.24 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed           | 241.99 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 251.85 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 254.59 KB |
| @sentry/nextjs (client)                                                    | 46.09 KB  |
| @sentry/sveltekit (client)                                                 | 41.9 KB   |
| @sentry/node-core                                                          | 51.04 KB  |
| @sentry/node                                                               | 170.67 KB |
| @sentry/node - without tracing                                             | 95.14 KB  |
| @sentry/aws-serverless                                                     | 110.58 KB |
</Release>

<Release version="10.42.0" date="March 3, 2026" published="2026-03-03T13:20:52.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.42.0">
- feat(consola): Enhance Consola integration to extract first-param object as searchable attributes ([#19534](https://github.com/getsentry/sentry-javascript/pull/19534))
- fix(astro): Do not inject withSentry into Cloudflare Pages ([#19558](https://github.com/getsentry/sentry-javascript/pull/19558))
- fix(core): Do not remove promiseBuffer entirely ([#19592](https://github.com/getsentry/sentry-javascript/pull/19592))
- fix(deps): Bump fast-xml-parser to 4.5.4 for CVE-2026-25896 ([#19588](https://github.com/getsentry/sentry-javascript/pull/19588))
- fix(react-router): Set correct transaction name when navigating with object argument ([#19590](https://github.com/getsentry/sentry-javascript/pull/19590))
- ref(nuxt): Use `addVitePlugin` instead of deprecated `vite:extendConfig` ([#19464](https://github.com/getsentry/sentry-javascript/pull/19464))

<details>
  <summary> <strong>Internal Changes</strong> </summary>

- chore(deps-dev): bump @sveltejs/kit from 2.52.2 to 2.53.3 ([#19571](https://github.com/getsentry/sentry-javascript/pull/19571))
- chore(deps): Bump @sveltejs/kit to 2.53.3 in sveltekit-2-svelte-5 E2E test ([#19594](https://github.com/getsentry/sentry-javascript/pull/19594))
- ci(deps): bump actions/checkout from 4 to 6 ([#19570](https://github.com/getsentry/sentry-javascript/pull/19570))

</details>

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 25.02 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.57 KB  |
| @sentry/browser (incl. Tracing)                                            | 41.44 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 45.99 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 79.35 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 69.21 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 83.93 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 95.91 KB  |
| @sentry/browser (incl. Feedback)                                           | 41.44 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.58 KB  |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.52 KB  |
| @sentry/browser (incl. Metrics)                                            | 26.17 KB  |
| @sentry/browser (incl. Logs)                                               | 26.31 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 26.96 KB  |
| @sentry/react                                                              | 26.74 KB  |
| @sentry/react (incl. Tracing)                                              | 43.72 KB  |
| @sentry/vue                                                                | 29.37 KB  |
| @sentry/vue (incl. Tracing)                                                | 43.26 KB  |
| @sentry/svelte                                                             | 25.05 KB  |
| CDN Bundle                                                                 | 27.51 KB  |
| CDN Bundle (incl. Tracing)                                                 | 42.25 KB  |
| CDN Bundle (incl. Logs, Metrics)                                           | 28.33 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 43.07 KB  |
| CDN Bundle (incl. Replay, Logs, Metrics)                                   | 66.49 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 78.26 KB  |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics)                          | 79.1 KB   |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 83.65 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 84.5 KB   |
| CDN Bundle - uncompressed                                                  | 80.42 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 125.07 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed                            | 83.19 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 127.83 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed                    | 203.96 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 239.21 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed           | 241.96 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 251.82 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 254.56 KB |
| @sentry/nextjs (client)                                                    | 46.08 KB  |
| @sentry/sveltekit (client)                                                 | 41.89 KB  |
| @sentry/node-core                                                          | 51.01 KB  |
| @sentry/node                                                               | 170.6 KB  |
| @sentry/node - without tracing                                             | 95.09 KB  |
| @sentry/aws-serverless                                                     | 110.53 KB |
</Release>

<Release version="10.41.0" date="March 2, 2026" published="2026-03-02T12:06:29.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.41.0">
### Important Changes

- **feat(core,cloudflare,deno): Add `instrumentPostgresJsSql` instrumentation ([#19566](https://github.com/getsentry/sentry-javascript/pull/19566))**

  Added a new instrumentation helper for the [`postgres`](https://github.com/porsager/postgres) (postgres.js) library, designed for
  SDKs that are not based on OpenTelemetry (e.g. Cloudflare, Deno). This wraps a postgres.js `sql` tagged template instance so that
  all queries automatically create Sentry spans.

  ```javascript
  import postgres from 'postgres';
  import * as Sentry from '@sentry/cloudflare'; // or '@sentry/deno'

  export default Sentry.withSentry(env => ({ dsn: '__DSN__' }), {
    async fetch(request, env, ctx) {
      const sql = Sentry.instrumentPostgresJsSql(postgres(env.DATABASE_URL));

      // All queries now create Sentry spans
      const users = await sql`SELECT * FROM users WHERE id = ${userId}`;
      return Response.json(users);
    },
  });
  ```

  The instrumentation is available in `@sentry/core`, `@sentry/cloudflare`, and `@sentry/deno`.

- **feat(nextjs): Add Turbopack support for `thirdPartyErrorFilterIntegration` ([#19542](https://github.com/getsentry/sentry-javascript/pull/19542))**

  We added experimental support for the `thirdPartyErrorFilterIntegration` with Turbopack builds.

  This feature requires Next.js 16+ and is currently behind an experimental flag:

  ```js
  // next.config.ts
  import { withSentryConfig } from '@sentry/nextjs';

  export default withSentryConfig(nextConfig, {
    _experimental: {
      turbopackApplicationKey: 'my-app-key',
    },
  });
  ```

  Then configure the integration in your client instrumentation file with a matching key:

  ```js
  // instrumentation-client.ts
  import * as Sentry from '@sentry/nextjs';

  Sentry.init({
    integrations: [
      Sentry.thirdPartyErrorFilterIntegration({
        filterKeys: ['my-app-key'],
        behaviour: 'apply-tag-if-exclusively-contains-third-party-frames',
      }),
    ],
  });
  ```

### Other Changes

- feat(core,cloudflare): Add dispose to the client for proper cleanup ([#19506](https://github.com/getsentry/sentry-javascript/pull/19506))
- feat(deps): Bump rxjs from 7.8.1 to 7.8.2 ([#19545](https://github.com/getsentry/sentry-javascript/pull/19545))
- feat(nextjs): Use `not: foreign` condition in turbopack loaders ([#19502](https://github.com/getsentry/sentry-javascript/pull/19502))
- feat(react-router): Include middleware function names and indices ([#19109](https://github.com/getsentry/sentry-javascript/pull/19109))
- fix(consola): Normalize extra keys from consola ([#19511](https://github.com/getsentry/sentry-javascript/pull/19511))
- fix(core): Improve message truncation for multimodal content and normalize streaming span names ([#19500](https://github.com/getsentry/sentry-javascript/pull/19500))
- fix(core): Strip inline media from multimodal content before stringification ([#19540](https://github.com/getsentry/sentry-javascript/pull/19540))
- fix(deps): Bump transitive rollup deps to patch CVE-2026-27606 ([#19565](https://github.com/getsentry/sentry-javascript/pull/19565))
- fix(langchain): Use runName argument in handleChainStart to fix unknown_chain spans ([#19554](https://github.com/getsentry/sentry-javascript/pull/19554))
- fix(nestjs): Improve control flow exception filtering ([#19524](https://github.com/getsentry/sentry-javascript/pull/19524))
- fix(tanstackstart-react): Flush events in server entry point for serverless environments ([#19513](https://github.com/getsentry/sentry-javascript/pull/19513))
- fix(vue): Avoid triggering deprecated next callback from router instrumentation ([#19476](https://github.com/getsentry/sentry-javascript/pull/19476))

<details>
  <summary> <strong>Internal Changes</strong> </summary>

- chore: Updating minimatch ([#19434](https://github.com/getsentry/sentry-javascript/pull/19434))
- chore(agents): Add `dotagents` ([#19526](https://github.com/getsentry/sentry-javascript/pull/19526))
- chore(agents): Add nested `AGENTS.md` for browser ([#19551](https://github.com/getsentry/sentry-javascript/pull/19551))
- chore(agents): Add nested `AGENTS.md` for nextjs ([#19556](https://github.com/getsentry/sentry-javascript/pull/19556))
- chore(agents): Consolidate SDK dev rules into `AGENTS.md` ([#19521](https://github.com/getsentry/sentry-javascript/pull/19521))
- chore(agents): Migrate repo-wide cursor rules to skills ([#19549](https://github.com/getsentry/sentry-javascript/pull/19549))
- chore(agents): Remove stale cursor commands ([#19560](https://github.com/getsentry/sentry-javascript/pull/19560))
- chore(ci): Validate alert id ([#19499](https://github.com/getsentry/sentry-javascript/pull/19499))
- chore(deps): Bump rollup to 4.59.0 to fix path traversal vulnerability ([#19538](https://github.com/getsentry/sentry-javascript/pull/19538))
- chore(lint): Remove junit report file ([#19491](https://github.com/getsentry/sentry-javascript/pull/19491))
- chore(svelte,sveltekit): Use version range for magic-string ([#19520](https://github.com/getsentry/sentry-javascript/pull/19520))
- chore(tanstackstart): Fix leftover formatting issue ([#19536](https://github.com/getsentry/sentry-javascript/pull/19536))
- test(consola): Restructure tests ([#19517](https://github.com/getsentry/sentry-javascript/pull/19517))
- test(node): Test runName parameter in handleChainStart for langchain ([#19562](https://github.com/getsentry/sentry-javascript/pull/19562))

</details>

Work in this release was contributed by @YevheniiKotyrlo. Thank you for your contribution!

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 25.02 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.57 KB  |
| @sentry/browser (incl. Tracing)                                            | 41.44 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 45.99 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 79.35 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 69.21 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 83.93 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 95.91 KB  |
| @sentry/browser (incl. Feedback)                                           | 41.44 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.58 KB  |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.52 KB  |
| @sentry/browser (incl. Metrics)                                            | 26.17 KB  |
| @sentry/browser (incl. Logs)                                               | 26.31 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 26.96 KB  |
| @sentry/react                                                              | 26.74 KB  |
| @sentry/react (incl. Tracing)                                              | 43.72 KB  |
| @sentry/vue                                                                | 29.37 KB  |
| @sentry/vue (incl. Tracing)                                                | 43.26 KB  |
| @sentry/svelte                                                             | 25.05 KB  |
| CDN Bundle                                                                 | 27.51 KB  |
| CDN Bundle (incl. Tracing)                                                 | 42.25 KB  |
| CDN Bundle (incl. Logs, Metrics)                                           | 28.33 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 43.07 KB  |
| CDN Bundle (incl. Replay, Logs, Metrics)                                   | 66.49 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 78.26 KB  |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics)                          | 79.1 KB   |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 83.65 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 84.5 KB   |
| CDN Bundle - uncompressed                                                  | 80.42 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 125.07 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed                            | 83.19 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 127.83 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed                    | 203.96 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 239.21 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed           | 241.96 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 251.82 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 254.56 KB |
| @sentry/nextjs (client)                                                    | 46.08 KB  |
| @sentry/sveltekit (client)                                                 | 41.89 KB  |
| @sentry/node-core                                                          | 51.01 KB  |
| @sentry/node                                                               | 170.59 KB |
| @sentry/node - without tracing                                             | 95.1 KB   |
| @sentry/aws-serverless                                                     | 110.53 KB |
</Release>

<Release version="10.41.0-beta.0" date="February 26, 2026" published="2026-02-26T15:46:02.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.41.0-beta.0">
This is an internal beta release to test adding traces by timestamp to replay events for EAP trace association: https://github.com/getsentry/sentry-javascript/pull/18048.

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 25.02 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.56 KB  |
| @sentry/browser (incl. Tracing)                                            | 41.44 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 45.99 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 79.43 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 69.27 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 84 KB     |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 95.98 KB  |
| @sentry/browser (incl. Feedback)                                           | 41.44 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.58 KB  |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.52 KB  |
| @sentry/browser (incl. Metrics)                                            | 26.17 KB  |
| @sentry/browser (incl. Logs)                                               | 26.3 KB   |
| @sentry/browser (incl. Metrics & Logs)                                     | 26.96 KB  |
| @sentry/react                                                              | 26.74 KB  |
| @sentry/react (incl. Tracing)                                              | 43.72 KB  |
| @sentry/vue                                                                | 29.37 KB  |
| @sentry/vue (incl. Tracing)                                                | 43.23 KB  |
| @sentry/svelte                                                             | 25.05 KB  |
| CDN Bundle                                                                 | 27.51 KB  |
| CDN Bundle (incl. Tracing)                                                 | 42.24 KB  |
| CDN Bundle (incl. Logs, Metrics)                                           | 28.33 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 43.07 KB  |
| CDN Bundle (incl. Replay, Logs, Metrics)                                   | 66.57 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 78.33 KB  |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics)                          | 79.16 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 83.71 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 84.56 KB  |
| CDN Bundle - uncompressed                                                  | 80.42 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 125.06 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed                            | 83.19 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 127.83 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed                    | 204.23 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 239.49 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed           | 242.24 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 252.1 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 254.84 KB |
| @sentry/nextjs (client)                                                    | 46.07 KB  |
| @sentry/sveltekit (client)                                                 | 41.89 KB  |
| @sentry/node-core                                                          | 50.97 KB  |
| @sentry/node                                                               | 170.4 KB  |
| @sentry/node - without tracing                                             | 95.06 KB  |
| @sentry/aws-serverless                                                     | 110.49 KB |
</Release>

<Release version="10.40.0" date="February 24, 2026" published="2026-02-24T15:57:02.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.40.0">
### Important Changes

- **feat(tanstackstart-react): Add global sentry exception middlewares ([#19330](https://github.com/getsentry/sentry-javascript/pull/19330))**

  The `sentryGlobalRequestMiddleware` and `sentryGlobalFunctionMiddleware` global middlewares capture unhandled exceptions thrown in TanStack Start API routes and server functions. Add them as the first entries in the `requestMiddleware` and `functionMiddleware` arrays of `createStart()`:

  ```ts
  import { createStart } from '@tanstack/react-start/server';
  import { sentryGlobalRequestMiddleware, sentryGlobalFunctionMiddleware } from '@sentry/tanstackstart-react';

  export default createStart({
    requestMiddleware: [sentryGlobalRequestMiddleware, myRequestMiddleware],
    functionMiddleware: [sentryGlobalFunctionMiddleware, myFunctionMiddleware],
  });
  ```

- **feat(tanstackstart-react)!: Export Vite plugin from `@sentry/tanstackstart-react/vite` subpath ([#19182](https://github.com/getsentry/sentry-javascript/pull/19182))**

  The `sentryTanstackStart` Vite plugin is now exported from a dedicated subpath. Update your import:

  ```diff
  - import { sentryTanstackStart } from '@sentry/tanstackstart-react';
  + import { sentryTanstackStart } from '@sentry/tanstackstart-react/vite';
  ```

- **fix(node-core): Reduce bundle size by removing apm-js-collab and requiring pino >= 9.10 ([#18631](https://github.com/getsentry/sentry-javascript/pull/18631))**

  In order to keep receiving pino logs, you need to update your pino version to >= 9.10, the reason for the support bump is to reduce the bundle size of the node-core SDK in frameworks that cannot tree-shake the apm-js-collab dependency.

- **fix(browser): Ensure user id is consistently added to sessions ([#19341](https://github.com/getsentry/sentry-javascript/pull/19341))**

  Previously, the SDK inconsistently set the user id on sessions, meaning sessions were often lacking proper coupling to the user set for example via `Sentry.setUser()`.
  Additionally, the SDK incorrectly skipped starting a new session for the first soft navigation after the pageload.
  This patch fixes these issues. As a result, metrics around sessions, like "Crash Free Sessions" or "Crash Free Users" might change.
  This could also trigger alerts, depending on your set thresholds and conditions.
  We apologize for any inconvenience caused!

  While we're at it, if you're using Sentry in a Single Page App or meta framework, you might want to give the new `'page'` session lifecycle a try!
  This new mode no longer creates a session per soft navigation but continues the initial session until the next hard page refresh.
  Check out the [docs](https://docs.sentry.io/platforms/javascript/guides/nextjs/configuration/integrations/browsersession/) to learn more!

- **ref!(gatsby): Drop Gatsby v2 support ([#19467](https://github.com/getsentry/sentry-javascript/pull/19467))**

  We drop support for Gatsby v2 (which still relies on webpack 4) for a critical security update in https://github.com/getsentry/sentry-javascript-bundler-plugins/releases/tag/5.0.0

### Other Changes

- feat(astro): Add support for Astro on CF Workers ([#19265](https://github.com/getsentry/sentry-javascript/pull/19265))
- feat(cloudflare): Instrument async KV API ([#19404](https://github.com/getsentry/sentry-javascript/pull/19404))
- feat(core): Add framework-agnostic tunnel handler ([#18892](https://github.com/getsentry/sentry-javascript/pull/18892))
- feat(deno): Export logs API from Deno SDK ([#19313](https://github.com/getsentry/sentry-javascript/pull/19313))
- feat(deno): Export metrics API from Deno SDK ([#19305](https://github.com/getsentry/sentry-javascript/pull/19305))
- feat(deno): instrument Deno.serve with async context support ([#19230](https://github.com/getsentry/sentry-javascript/pull/19230))
- feat(deps): bump babel-loader from 8.2.5 to 10.0.0 ([#19303](https://github.com/getsentry/sentry-javascript/pull/19303))
- feat(deps): bump body-parser from 1.20.4 to 2.2.2 ([#19191](https://github.com/getsentry/sentry-javascript/pull/19191))
- feat(deps): Bump hono from 4.11.7 to 4.11.10 ([#19440](https://github.com/getsentry/sentry-javascript/pull/19440))
- feat(deps): bump qs from 6.14.1 to 6.14.2 ([#19310](https://github.com/getsentry/sentry-javascript/pull/19310))
- feat(deps): bump the opentelemetry group with 4 updates ([#19425](https://github.com/getsentry/sentry-javascript/pull/19425))
- feat(feedback): Add `setTheme()` to dynamically update feedback widget color scheme ([#19430](https://github.com/getsentry/sentry-javascript/pull/19430))
- feat(nextjs): Add `sourcemaps.filesToDeleteAfterUpload` as a top-level option ([#19280](https://github.com/getsentry/sentry-javascript/pull/19280))
- feat(node): Add `ignoreConnectSpans` option to `postgresIntegration` ([#19291](https://github.com/getsentry/sentry-javascript/pull/19291))
- feat(node): Bump to latest @fastify/otel ([#19452](https://github.com/getsentry/sentry-javascript/pull/19452))
- fix: Bump bundler plugins to v5 ([#19468](https://github.com/getsentry/sentry-javascript/pull/19468))
- fix: updated the codecov config ([#19350](https://github.com/getsentry/sentry-javascript/pull/19350))
- fix(aws-serverless): Prevent crash in` isPromiseAllSettledResult` with null/undefined array elements ([#19346](https://github.com/getsentry/sentry-javascript/pull/19346))
- fix(bun) Export pinoIntegration from @sentry/node ([#17990](https://github.com/getsentry/sentry-javascript/pull/17990))
- fix(core,browser): Delete SentryNonRecordingSpan from fetch/xhr map ([#19336](https://github.com/getsentry/sentry-javascript/pull/19336))
- fix(core): Explicitly flush log buffer in `client.close()` ([#19371](https://github.com/getsentry/sentry-javascript/pull/19371))
- fix(core): Langgraph state graph invoke accepts null to resume ([#19374](https://github.com/getsentry/sentry-javascript/pull/19374))
- fix(core): Wrap decodeURI in node stack trace parser to handle malformed URIs ([#19400](https://github.com/getsentry/sentry-javascript/pull/19400))
- fix(deps): Bump nuxt devDependency to fix CVE-2026-24001 ([#19249](https://github.com/getsentry/sentry-javascript/pull/19249))
- fix(deps): Bump to latest version of each minimatch major ([#19486](https://github.com/getsentry/sentry-javascript/pull/19486))
- fix(nextjs): Apply environment from `options` if set ([#19274](https://github.com/getsentry/sentry-javascript/pull/19274))
- fix(nextjs): Don't set `sentry.drop_transaction` attribute on spans when `skipOpenTelemetrySetup` is enabled ([#19333](https://github.com/getsentry/sentry-javascript/pull/19333))
- fix(nextjs): Normalize trailing slashes in App Router route parameterization ([#19365](https://github.com/getsentry/sentry-javascript/pull/19365))
- fix(nextjs): Return correct lastEventId for SSR pages ([#19240](https://github.com/getsentry/sentry-javascript/pull/19240))
- fix(nextjs): Set parameterized transaction name for non-transaction events ([#19316](https://github.com/getsentry/sentry-javascript/pull/19316))
- fix(node-core): Align pino mechanism type with spec conventions ([#19363](https://github.com/getsentry/sentry-javascript/pull/19363))
- fix(nuxt): Use `options.rootDir` instead of `options.srcDir` ([#19343](https://github.com/getsentry/sentry-javascript/pull/19343))

<details>
  <summary><strong>Internal Changes</strong></summary>
- test(nextjs): Add bun e2e test app ([#19318](https://github.com/getsentry/sentry-javascript/pull/19318))
- test(nextjs): Deactivate canary test for cf-workers ([#19483](https://github.com/getsentry/sentry-javascript/pull/19483))
- tests(langchain): Fix langchain v1 internal error tests ([#19409](https://github.com/getsentry/sentry-javascript/pull/19409))
- ref(nuxt): Remove `defineNitroPlugin` wrapper ([#19334](https://github.com/getsentry/sentry-javascript/pull/19334))
- ref(cloudflare): Move internal files and functions around ([#19369](https://github.com/getsentry/sentry-javascript/pull/19369))
- chore: Add external contributor to CHANGELOG.md ([#19395](https://github.com/getsentry/sentry-javascript/pull/19395))
- chore: Add github action to notify stale PRs ([#19361](https://github.com/getsentry/sentry-javascript/pull/19361))
- chore: add oxfmt changes to blame ignore rev list ([#19366](https://github.com/getsentry/sentry-javascript/pull/19366))
- chore: Enhance AI integration guidelines with runtime-specific placem… ([#19296](https://github.com/getsentry/sentry-javascript/pull/19296))
- chore: Ignore `lerna.json` for prettier ([#19288](https://github.com/getsentry/sentry-javascript/pull/19288))
- chore: migrate to oxfmt ([#19200](https://github.com/getsentry/sentry-javascript/pull/19200))
- chore: Revert to lerna v8 ([#19294](https://github.com/getsentry/sentry-javascript/pull/19294))
- chore: Unignore HTML files and reformat with oxfmt ([#19311](https://github.com/getsentry/sentry-javascript/pull/19311))
- chore(ci): Adapt max turns of triage issue agent ([#19473](https://github.com/getsentry/sentry-javascript/pull/19473))
- chore(ci): Add `environment` to triage action ([#19375](https://github.com/getsentry/sentry-javascript/pull/19375))
- chore(ci): Add `id-token: write` permission to triage workflow ([#19381](https://github.com/getsentry/sentry-javascript/pull/19381))
- chore(ci): Move monorepo to nx ([#19325](https://github.com/getsentry/sentry-javascript/pull/19325))
- chore(cursor): Add rules for fetching develop docs ([#19377](https://github.com/getsentry/sentry-javascript/pull/19377))
- chore(deps-dev): Bump @sveltejs/kit from 2.49.5 to 2.52.2 in /dev-packages/e2e-tests/test-applications/sveltekit-2 ([#19441](https://github.com/getsentry/sentry-javascript/pull/19441))
- chore(deps-dev): Bump @sveltejs/kit from 2.49.5 to 2.52.2 in /dev-packages/e2e-tests/test-applications/sveltekit-2-kit-tracing ([#19446](https://github.com/getsentry/sentry-javascript/pull/19446))
- chore(deps-dev): Bump @sveltejs/kit from 2.49.5 to 2.52.2 in /dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages ([#19462](https://github.com/getsentry/sentry-javascript/pull/19462))
- chore(deps-dev): Bump @sveltejs/kit from 2.50.1 to 2.52.2 ([#19442](https://github.com/getsentry/sentry-javascript/pull/19442))
- chore(deps-dev): bump @testing-library/react from 13.0.0 to 15.0.5 ([#19194](https://github.com/getsentry/sentry-javascript/pull/19194))
- chore(deps-dev): bump @types/ember__debug from 3.16.5 to 4.0.8 ([#19429](https://github.com/getsentry/sentry-javascript/pull/19429))
- chore(deps-dev): bump ember-resolver from 13.0.2 to 13.1.1 ([#19301](https://github.com/getsentry/sentry-javascript/pull/19301))
- chore(deps): Bump @actions/glob from 0.4.0 to 0.6.1 ([#19427](https://github.com/getsentry/sentry-javascript/pull/19427))
- chore(deps): bump agents from 0.2.32 to 0.3.10 in /dev-packages/e2e-tests/test-applications/cloudflare-mcp ([#19326](https://github.com/getsentry/sentry-javascript/pull/19326))
- chore(deps): Bump hono from 4.11.7 to 4.11.10 in /dev-packages/e2e-tests/test-applications/cloudflare-hono ([#19438](https://github.com/getsentry/sentry-javascript/pull/19438))
- chore(deps): Bump Sentry CLI to latest v2 ([#19477](https://github.com/getsentry/sentry-javascript/pull/19477))
- chore(deps): Bump transitive dep `fast-xml-parser` ([#19433](https://github.com/getsentry/sentry-javascript/pull/19433))
- chore(deps): upgrade tar to 7.5.9 to fix CVE-2026-26960 ([#19445](https://github.com/getsentry/sentry-javascript/pull/19445))
- chore(github): Add `allowedTools` to Claude GitHub action ([#19386](https://github.com/getsentry/sentry-javascript/pull/19386))
- chore(github): Add workflow to trigger `triage-issue` skill ([#19358](https://github.com/getsentry/sentry-javascript/pull/19358))
- chore(github): Add write tool for markdown report ([#19387](https://github.com/getsentry/sentry-javascript/pull/19387))
- chore(github): Change tool permission path ([#19389](https://github.com/getsentry/sentry-javascript/pull/19389))
- chore(llm): Add `triage-issue` skill ([#19356](https://github.com/getsentry/sentry-javascript/pull/19356))
- chore(llm): Better defense against prompt injection in triage skill ([#19410](https://github.com/getsentry/sentry-javascript/pull/19410))
- chore(llm): Make cross-repo search optional and remove file cleanup ([#19401](https://github.com/getsentry/sentry-javascript/pull/19401))
- chore(node-core): Make @sentry/opentelemetry not a peer dep in node… ([#19308](https://github.com/getsentry/sentry-javascript/pull/19308))
- chore(repo): Allow WebFetch for Sentry docs in Claude settings ([#18890](https://github.com/getsentry/sentry-javascript/pull/18890))
- chore(repo): Increase number of concurrently running nx tasks ([#19443](https://github.com/getsentry/sentry-javascript/pull/19443))
- chore(skills): Add security notes for injection defense ([#19379](https://github.com/getsentry/sentry-javascript/pull/19379))
- chore(triage-action): Fix JSON parsing ([#19471](https://github.com/getsentry/sentry-javascript/pull/19471))
- chore(triage-issue): Improve triage prompt for accuracy ([#19454](https://github.com/getsentry/sentry-javascript/pull/19454))
- chore(triage-skill): Add GitHub parsing python util script ([#19405](https://github.com/getsentry/sentry-javascript/pull/19405))
- chore(triage-skill): Increase `num_turns` and add script to post summary ([#19456](https://github.com/getsentry/sentry-javascript/pull/19456))
- ci(fix-security-vulnerability): Add id token write permission ([#19412](https://github.com/getsentry/sentry-javascript/pull/19412))
- ci(fix-security-vulnerability): Be specific about how to fetch the alert page ([#19414](https://github.com/getsentry/sentry-javascript/pull/19414))
- ci(fix-security-vulnerability): Run fetch alert first before executing skill ([#19418](https://github.com/getsentry/sentry-javascript/pull/19418))
- ci(fix-security-vulnerability): Use opus 4.6 ([#19416](https://github.com/getsentry/sentry-javascript/pull/19416))
- ci(github): Add tilde to file path to not exact-match ([#19392](https://github.com/getsentry/sentry-javascript/pull/19392))
- ci(triage-skill): Allow `Write` and remove `rm` permission ([#19397](https://github.com/getsentry/sentry-javascript/pull/19397))
- ci(triage-skill): Run on opened issues ([#19423](https://github.com/getsentry/sentry-javascript/pull/19423))
- docs(nuxt): Remove duplicated setup instructions ([#19422](https://github.com/getsentry/sentry-javascript/pull/19422))
- feat(ci): Add security vulnerability skill action ([#19355](https://github.com/getsentry/sentry-javascript/pull/19355))
</details>

Work in this release was contributed by @LudvigHz and @jadengis. Thank you for your contributions!

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 25.02 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.56 KB  |
| @sentry/browser (incl. Tracing)                                            | 41.43 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 45.98 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 79.34 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 69.2 KB   |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 83.92 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 95.9 KB   |
| @sentry/browser (incl. Feedback)                                           | 41.43 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.58 KB  |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.51 KB  |
| @sentry/browser (incl. Metrics)                                            | 26.16 KB  |
| @sentry/browser (incl. Logs)                                               | 26.3 KB   |
| @sentry/browser (incl. Metrics & Logs)                                     | 26.96 KB  |
| @sentry/react                                                              | 26.73 KB  |
| @sentry/react (incl. Tracing)                                              | 43.71 KB  |
| @sentry/vue                                                                | 29.36 KB  |
| @sentry/vue (incl. Tracing)                                                | 43.23 KB  |
| @sentry/svelte                                                             | 25.04 KB  |
| CDN Bundle                                                                 | 27.5 KB   |
| CDN Bundle (incl. Tracing)                                                 | 42.24 KB  |
| CDN Bundle (incl. Logs, Metrics)                                           | 28.32 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 43.06 KB  |
| CDN Bundle (incl. Replay, Logs, Metrics)                                   | 66.49 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 78.25 KB  |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics)                          | 79.1 KB   |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 83.64 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 84.5 KB   |
| CDN Bundle - uncompressed                                                  | 80.41 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 125.06 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed                            | 83.18 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 127.82 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed                    | 203.94 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 239.2 KB  |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed           | 241.95 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 251.81 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 254.55 KB |
| @sentry/nextjs (client)                                                    | 46.07 KB  |
| @sentry/sveltekit (client)                                                 | 41.88 KB  |
| @sentry/node-core                                                          | 50.95 KB  |
| @sentry/node                                                               | 169.38 KB |
| @sentry/node - without tracing                                             | 95.04 KB  |
| @sentry/aws-serverless                                                     | 110.47 KB |
</Release>

<Release version="10.39.0" date="February 16, 2026" published="2026-02-16T08:57:24.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.39.0">
### Important Changes

- **feat(tanstackstart-react): Auto-instrument server function middleware ([#19001](https://github.com/getsentry/sentry-javascript/pull/19001))**

  The `sentryTanstackStart` Vite plugin now automatically instruments middleware in `createServerFn().middleware([...])` calls. This captures performance data without requiring manual wrapping with `wrapMiddlewaresWithSentry()`.

- **feat(nextjs): New experimental automatic vercel cron monitoring ([#19192](https://github.com/getsentry/sentry-javascript/pull/19192))**

  Setting `_experimental.vercelCronMonitoring` to `true` in your Sentry configuration will automatically create Sentry cron monitors for your Vercel Cron Jobs.

  Please note that this is an experimental unstable feature and subject to change.

  ```ts
  // next.config.ts
  export default withSentryConfig(nextConfig, {
    _experimental: {
      vercelCronMonitoring: true,
    },
  });
  ```

- **feat(node-core): Add node-core/light ([#18502](https://github.com/getsentry/sentry-javascript/pull/18502))**

  This release adds a new light-weight `@sentry/node-core/light` export to `@sentry/node-core`. The export acts as a light-weight SDK that does not depend on OpenTelemetry and emits no spans.

  Use this SDK when:
  - You only need error tracking, logs or metrics without tracing data (no spans)
  - You want to minimize bundle size and runtime overhead
  - You don't need spans emitted by OpenTelemetry instrumentation

  It supports error tracking and reporting, logs, metrics, automatic request isolation (requires Node.js 22+) and basic tracing via our `Sentry.startSpan*` APIs.

  Install the SDK by running

  ```bash
  npm install @sentry/node-core
  ```

  and add Sentry at the top of your application's entry file:

  ```js
  import * as Sentry from '@sentry/node-core/light';

  Sentry.init({
    dsn: '__DSN__',
  });
  ```

### Other Changes

- feat(browser): Add mode option for the browser session integration ([#18997](https://github.com/getsentry/sentry-javascript/pull/18997))
- feat(browser): Include culture context with events ([#19148](https://github.com/getsentry/sentry-javascript/pull/19148))
- feat(browser): Trace continuation from server-timing headers ([#18673](https://github.com/getsentry/sentry-javascript/pull/18673))
- feat(core,cloudflare): Enable certain fields with env variables ([#19245](https://github.com/getsentry/sentry-javascript/pull/19245))
- feat(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 ([#19149](https://github.com/getsentry/sentry-javascript/pull/19149))
- feat(deps): bump @sentry/bundler-plugin-core from 4.8.0 to 4.9.0 ([#19190](https://github.com/getsentry/sentry-javascript/pull/19190))
- feat(deps): Bump `glob` in `@sentry/react-router` ([#19162](https://github.com/getsentry/sentry-javascript/pull/19162))
- feat(deps): bump hono from 4.11.1 to 4.11.7 ([#19068](https://github.com/getsentry/sentry-javascript/pull/19068))
- feat(hono): Add base for Sentry Hono middleware (Cloudflare) ([#18787](https://github.com/getsentry/sentry-javascript/pull/18787))
- feat(nextjs): Set cloudflare runtime ([#19084](https://github.com/getsentry/sentry-javascript/pull/19084))
- feat(node-core): Add outgoing fetch trace propagation to light mode ([#19262](https://github.com/getsentry/sentry-javascript/pull/19262))
- feat(react): Add `lazyRouteManifest` option to resolve lazy-route names ([#19086](https://github.com/getsentry/sentry-javascript/pull/19086))
- feat(vercel-ai): Add rerank support and fix token attribute mapping ([#19144](https://github.com/getsentry/sentry-javascript/pull/19144))
- fix(core): Avoid blocking the process for weightBasedFlushing ([#19174](https://github.com/getsentry/sentry-javascript/pull/19174))
- fix(core): Avoid blocking the process when calling `flush` on empty buffer ([#19062](https://github.com/getsentry/sentry-javascript/pull/19062))
- fix(core): Ensure partially set SDK metadata options are preserved ([#19102](https://github.com/getsentry/sentry-javascript/pull/19102))
- fix(core): Fix truncation to only keep last message in vercel ([#19080](https://github.com/getsentry/sentry-javascript/pull/19080))
- fix(core): Intercept .withResponse() to preserve OpenAI stream instrumentation ([#19122](https://github.com/getsentry/sentry-javascript/pull/19122))
- fix(core): Prevent infinite recursion when event processor throws ([#19110](https://github.com/getsentry/sentry-javascript/pull/19110))
- fix(core): Record client report with reason for HTTP 413 responses ([#19093](https://github.com/getsentry/sentry-javascript/pull/19093))
- fix(core): Remove outdated `_experiments.enableMetrics` references from metrics JSDoc ([#19252](https://github.com/getsentry/sentry-javascript/pull/19252))
- fix(core): Respect event.event_id in scope.captureEvent return value ([#19113](https://github.com/getsentry/sentry-javascript/pull/19113))
- fix(core): use sessionId for MCP transport correlation ([#19172](https://github.com/getsentry/sentry-javascript/pull/19172))
- fix(deps): Bump `@nestjs/platform-express` to `11.1.13` ([#19206](https://github.com/getsentry/sentry-javascript/pull/19206))
- fix(deps): Bump diff to 5.2.2 ([#19228](https://github.com/getsentry/sentry-javascript/pull/19228))
- fix(deps): Bump js-yaml to 3.14.2 and 4.1.1 ([#19216](https://github.com/getsentry/sentry-javascript/pull/19216))
- fix(deps): Bump lodash to 4.17.23 ([#19211](https://github.com/getsentry/sentry-javascript/pull/19211))
- fix(deps): Bump mdast-util-to-hast to 13.2.1 ([#19205](https://github.com/getsentry/sentry-javascript/pull/19205))
- fix(deps): Bump node-forge to 1.3.2 ([#19183](https://github.com/getsentry/sentry-javascript/pull/19183))
- fix(deps): Bump react-router to 6.30.3 ([#19212](https://github.com/getsentry/sentry-javascript/pull/19212))
- fix(deps): Bump sinon to `21.0.1` in `@sentry/ember` ([#19246](https://github.com/getsentry/sentry-javascript/pull/19246))
- fix(deps): Bump vite to 5.4.21 ([#19214](https://github.com/getsentry/sentry-javascript/pull/19214))
- fix(nextjs): Expose an event id when `captureUnderscoreErrorException` captures an exception ([#19185](https://github.com/getsentry/sentry-javascript/pull/19185))
- fix(nextjs): Populate **SENTRY_SERVER_MODULES** in Turbopack ([#19231](https://github.com/getsentry/sentry-javascript/pull/19231))
- fix(node): Use snake_case for Fastify's `request-handler` op. ([#18729](https://github.com/getsentry/sentry-javascript/pull/18729))
- fix(nuxt): Avoid logging database skip warning when `debug` is disabled ([#19095](https://github.com/getsentry/sentry-javascript/pull/19095))
- fix(nuxt): Respect configured environment settings ([#19243](https://github.com/getsentry/sentry-javascript/pull/19243))
- fix(profiling-node): 137 ABI should not be pruned for node 24 ([#19236](https://github.com/getsentry/sentry-javascript/pull/19236))
- fix(replay): Improve error messages when compression worker fails to load ([#19008](https://github.com/getsentry/sentry-javascript/pull/19008))
- fix(svelte): Bump svelte dev dependency to `3.59.2` ([#19208](https://github.com/getsentry/sentry-javascript/pull/19208))
- fix(sveltekit): Detect used adapter via `svelte.config.js` ([#19270](https://github.com/getsentry/sentry-javascript/pull/19270))
- fix(tanstackstart-react): Use `auto.middleware.tanstackstart` as middleware trace origin ([#19137](https://github.com/getsentry/sentry-javascript/pull/19137))
- ref(core): Move `shouldPropagateTraceForUrl` from opentelemetry to core ([#19254](https://github.com/getsentry/sentry-javascript/pull/19254))
- ref(core): Move shouldPropagateTraceForUrl from opentelemetry to core ([#19258](https://github.com/getsentry/sentry-javascript/pull/19258))
- ref(sveltekit): Use `untrack` to read route id without invalidation ([#19272](https://github.com/getsentry/sentry-javascript/pull/19272))

<details>
  <summary><strong>Internal Changes</strong></summary>

- chore: Add cursor rules for AI integrations contributions ([#19167](https://github.com/getsentry/sentry-javascript/pull/19167))
- chore: Add Makefiles for dev-packages to make it convenient to run tests ([#19203](https://github.com/getsentry/sentry-javascript/pull/19203))
- chore: bump prettier to 3.8 ([#19198](https://github.com/getsentry/sentry-javascript/pull/19198))
- chore(bugbot): Add rule to flag not-unref'd timers ([#19082](https://github.com/getsentry/sentry-javascript/pull/19082))
- chore(deps-dev): bump @sveltejs/kit from 2.49.5 to 2.50.1 ([#19089](https://github.com/getsentry/sentry-javascript/pull/19089))
- chore(deps-dev): bump ts-node from 10.9.1 to 10.9.2 ([#19189](https://github.com/getsentry/sentry-javascript/pull/19189))
- chore(deps-dev): bump vite from 3.2.11 to 5.4.21 ([#19227](https://github.com/getsentry/sentry-javascript/pull/19227))
- chore(deps-dev): bump webpack from 5.95.0 to 5.104.1 ([#19199](https://github.com/getsentry/sentry-javascript/pull/19199))
- chore(deps-dev): bump yaml from 2.2.2 to 2.8.2 ([#19087](https://github.com/getsentry/sentry-javascript/pull/19087))
- chore(deps): Bump Apollo Server from v3 to v5 in integration tests ([#19202](https://github.com/getsentry/sentry-javascript/pull/19202))
- chore(deps): Bump express in test utils + e2e apps ([#19159](https://github.com/getsentry/sentry-javascript/pull/19159))
- chore(deps): Bump Lerna to v9 ([#19244](https://github.com/getsentry/sentry-javascript/pull/19244))
- chore(deps): Bump mongoose in integration tests ([#19175](https://github.com/getsentry/sentry-javascript/pull/19175))
- chore(deps): Bump solidjs to 1.9.11 to fix `seroval` alerts ([#19150](https://github.com/getsentry/sentry-javascript/pull/19150))
- chore(deps): Bump webpack from 5.97.0 to 5.104.0 in ember-classic e2e test ([#19239](https://github.com/getsentry/sentry-javascript/pull/19239))
- chore(deps): Bump webpack from 5.104.0 to 5.104.1 in ember-classic e2e test ([#19247](https://github.com/getsentry/sentry-javascript/pull/19247))
- chore(e2e): Add banner to readme ([#19138](https://github.com/getsentry/sentry-javascript/pull/19138))
- chore(llm): Add skill for fixing security vulnerabilities ([#19178](https://github.com/getsentry/sentry-javascript/pull/19178))
- chore(node-core): Fix node-core integration test assertions ([#19219](https://github.com/getsentry/sentry-javascript/pull/19219))
- ci: Ignore ticket creation for base branches other than develop/master ([#19103](https://github.com/getsentry/sentry-javascript/pull/19103))
- ci(e2e): Remove `nextjs-turbo` canary tests ([#19118](https://github.com/getsentry/sentry-javascript/pull/19118))
- ref: Removes unused eslint rule (via yarn fix) ([#19266](https://github.com/getsentry/sentry-javascript/pull/19266))
- test(e2e): Bump `nextjs-t3` to next 15 ([#19130](https://github.com/getsentry/sentry-javascript/pull/19130))
- test(e2e): Migrate test app `nextjs-turbo` into `nextjs-15` ([#19107](https://github.com/getsentry/sentry-javascript/pull/19107))

</details>

Work in this release was contributed by @limbonaut and @rfoel. Thank you for your contributions!

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 24.96 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.51 KB  |
| @sentry/browser (incl. Tracing)                                            | 41.37 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 45.93 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 79.28 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 69.14 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 83.85 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 95.73 KB  |
| @sentry/browser (incl. Feedback)                                           | 41.3 KB   |
| @sentry/browser (incl. sendFeedback)                                       | 29.53 KB  |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.4 KB   |
| @sentry/browser (incl. Metrics)                                            | 26.11 KB  |
| @sentry/browser (incl. Logs)                                               | 26.25 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 26.91 KB  |
| @sentry/react                                                              | 26.69 KB  |
| @sentry/react (incl. Tracing)                                              | 43.67 KB  |
| @sentry/vue                                                                | 29.31 KB  |
| @sentry/vue (incl. Tracing)                                                | 43.18 KB  |
| @sentry/svelte                                                             | 24.98 KB  |
| CDN Bundle                                                                 | 27.45 KB  |
| CDN Bundle (incl. Tracing)                                                 | 42.19 KB  |
| CDN Bundle (incl. Logs, Metrics)                                           | 28.27 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 43 KB     |
| CDN Bundle (incl. Replay, Logs, Metrics)                                   | 66.43 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 78.2 KB   |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics)                          | 79.05 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 83.5 KB   |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 84.37 KB  |
| CDN Bundle - uncompressed                                                  | 80.29 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 124.93 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed                            | 83.06 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 127.7 KB  |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed                    | 203.82 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 239.07 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed           | 241.83 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 251.57 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 254.32 KB |
| @sentry/nextjs (client)                                                    | 45.94 KB  |
| @sentry/sveltekit (client)                                                 | 41.81 KB  |
| @sentry/node-core                                                          | 50.93 KB  |
| @sentry/node                                                               | 162.61 KB |
| @sentry/node - without tracing                                             | 91.75 KB  |
| @sentry/aws-serverless                                                     | 106.89 KB |
</Release>

<Release version="10.39.0-alpha.0" date="February 13, 2026" published="2026-02-13T15:13:27.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.39.0-alpha.0">
This preview release includes updates to our Span Streaming PoC implementation. Use at your own risk.

New:

- Browser: SDKs now also use a span buffer, flushing periodically, on span amount limit and on segment span end
- Browser: It's now enough to only register `spanStreamingIntegration` in `Sentry.init.()` to opt into span streaming
- Browser: `sentry.replay_id` attribute is attached to spans started during an active replay
- Browser: `sentry.profiler_id` attribute is attached to spans started while the continuous profiler is running
- Browser: Web vital spans are sent as v2 spans
- Browser: `spanStreamingIntegration` is now exported from CDN bundles supporting tracing

Known issues:

- Missing data from various integrations and framework SDKs
- `ignoreSpans` is not yet applied

Untested:

- Meta frameworks or framework SDKs building on top of @sentry/browser or @sentry/node. Likely, data is missing, noisy spans are not filtered, etc.


### Usage (At your own risk)

Browser

```js
Sentry.init({
  dsn: '...',
  integrations: [
    Sentry.browserTracingIntegration(),
    Sentry.spanStreamingIntegration(),
  ]
})
```

Server (Node)

```js
Sentry.init({
  dsn: '...',
  traceLifecycle: 'stream',
})
```

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 25.93 KB  |
| @sentry/browser - with treeshaking flags                                   | 24.43 KB  |
| @sentry/browser (incl. Tracing)                                            | 42.78 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 47.43 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 80.71 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 70.51 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 85.27 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 97.17 KB  |
| @sentry/browser (incl. Feedback)                                           | 42.23 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 30.48 KB  |
| @sentry/browser (incl. FeedbackAsync)                                      | 35.33 KB  |
| @sentry/browser (incl. Metrics)                                            | 26.87 KB  |
| @sentry/browser (incl. Logs)                                               | 27.02 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 27.66 KB  |
| @sentry/react                                                              | 27.62 KB  |
| @sentry/react (incl. Tracing)                                              | 45.03 KB  |
| @sentry/vue                                                                | 30.51 KB  |
| @sentry/vue (incl. Tracing)                                                | 44.58 KB  |
| @sentry/svelte                                                             | 25.95 KB  |
| CDN Bundle                                                                 | 28.18 KB  |
| CDN Bundle (incl. Tracing)                                                 | 44.63 KB  |
| CDN Bundle (incl. Logs, Metrics)                                           | 29.01 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 45.44 KB  |
| CDN Bundle (incl. Replay, Logs, Metrics)                                   | 67.21 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 80.67 KB  |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics)                          | 81.53 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 86 KB     |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 86.84 KB  |
| CDN Bundle - uncompressed                                                  | 82.31 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 132.71 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 135.48 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed                    | 205.92 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 247.08 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed           | 249.84 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 259.58 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 262.33 KB |
| @sentry/nextjs (client)                                                    | 47.4 KB   |
| @sentry/sveltekit (client)                                                 | 43.23 KB  |
| @sentry/node-core                                                          | 51.8 KB   |
| @sentry/node                                                               | 165.43 KB |
| @sentry/node - without tracing                                             | 94.67 KB  |
| @sentry/aws-serverless                                                     | 109.55 KB |
</Release>

<Release version="10.38.0" date="January 29, 2026" published="2026-01-29T16:24:26.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.38.0">
### Important Changes

- **feat(tanstackstart-react): Auto-instrument request middleware ([#18989](https://github.com/getsentry/sentry-javascript/pull/18989))**

The `sentryTanstackStart` Vite plugin now automatically instruments `middleware` arrays in `createFileRoute()`. This captures performance data without requiring manual wrapping with `wrapMiddlewaresWithSentry()`.

### Other Changes

- feat: Use v4.8.0 bundler plugins ([#18993](https://github.com/getsentry/sentry-javascript/pull/18993))
- feat(browser): Add `logs.metrics` bundle ([#19020](https://github.com/getsentry/sentry-javascript/pull/19020))
- feat(browser): Add `replay.logs.metrics` bundle ([#19021](https://github.com/getsentry/sentry-javascript/pull/19021))
- feat(browser): Add `tracing.replay.logs.metrics` bundle ([#19039](https://github.com/getsentry/sentry-javascript/pull/19039))
- feat(deps): bump import-in-the-middle from 2.0.1 to 2.0.6 ([#19042](https://github.com/getsentry/sentry-javascript/pull/19042))
- feat(node): Add AI manual instrumentation exports to Node ([#19063](https://github.com/getsentry/sentry-javascript/pull/19063))
- feat(wasm): initialised sentryWasmImages for webworkers ([#18812](https://github.com/getsentry/sentry-javascript/pull/18812))
- fix(core): Classify custom `AggregateError`s as exception groups ([#19053](https://github.com/getsentry/sentry-javascript/pull/19053))
- fix(nextjs): Turn off debugID injection if sourcemaps are explicitly disabled ([#19010](https://github.com/getsentry/sentry-javascript/pull/19010))
- fix(react): Avoid `String(key)` to fix Symbol conversion error ([#18982](https://github.com/getsentry/sentry-javascript/pull/18982))
- fix(react): Prevent lazy route handlers from updating wrong navigation span ([#18898](https://github.com/getsentry/sentry-javascript/pull/18898))

<details>
  <summary><strong>Internal Changes</strong></summary>
- feat(deps-dev): bump @types/rsvp from 4.0.4 to 4.0.9 ([#19038](https://github.com/getsentry/sentry-javascript/pull/19038))
- ci(build): Run full test suite on new bundle with logs+metrics ([#19065](https://github.com/getsentry/sentry-javascript/pull/19065))
- ci(deps): bump actions/create-github-app-token from 1 to 2 ([#19028](https://github.com/getsentry/sentry-javascript/pull/19028))
- ci(deps): bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 ([#19029](https://github.com/getsentry/sentry-javascript/pull/19029))
- chore: Add external contributor to CHANGELOG.md ([#19005](https://github.com/getsentry/sentry-javascript/pull/19005))
- chore(aws-serverless): Fix local cache issues ([#19081](https://github.com/getsentry/sentry-javascript/pull/19081))
- chore(dependabot): Allow all packages to update ([#19024](https://github.com/getsentry/sentry-javascript/pull/19024))
- chore(dependabot): Update ignore patterns and add more groups ([#19037](https://github.com/getsentry/sentry-javascript/pull/19037))
- chore(dependabot): Update ignore patterns and add more groups ([#19043](https://github.com/getsentry/sentry-javascript/pull/19043))
- chore(deps-dev): bump @edge-runtime/types from 3.0.1 to 4.0.0 ([#19032](https://github.com/getsentry/sentry-javascript/pull/19032))
- chore(deps-dev): bump @vercel/nft from 0.29.4 to 1.3.0 ([#19030](https://github.com/getsentry/sentry-javascript/pull/19030))
- chore(deps): bump @actions/artifact from 2.1.11 to 5.0.3 ([#19031](https://github.com/getsentry/sentry-javascript/pull/19031))
- chore(deps): bump hono from 4.11.4 to 4.11.7 in /dev-packages/e2e-tests/test-applications/cloudflare-hono ([#19009](https://github.com/getsentry/sentry-javascript/pull/19009))
- chore(deps): bump next from 16.0.9 to 16.1.5 in /dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents ([#19012](https://github.com/getsentry/sentry-javascript/pull/19012))
- chore(deps): Bump trpc v11 dependency in e2e test ([#19061](https://github.com/getsentry/sentry-javascript/pull/19061))
- chore(deps): Bump wrangler to 4.61.0 ([#19023](https://github.com/getsentry/sentry-javascript/pull/19023))
- chore(deps): Upgrade @remix-run deps to 2.17.4 ([#19040](https://github.com/getsentry/sentry-javascript/pull/19040))
- chore(deps): Upgrade `next` versions 15 and 16 ([#19057](https://github.com/getsentry/sentry-javascript/pull/19057))
- chore(deps): Upgrade Lerna to v8 ([#19050](https://github.com/getsentry/sentry-javascript/pull/19050))
- chore(deps): Upgrade next to 14.2.35 ([#19055](https://github.com/getsentry/sentry-javascript/pull/19055))
- chore(deps): Upgrade react-router, @react-router/node, @react-router/serve, @react-router/dev to 7.13.0 ([#19026](https://github.com/getsentry/sentry-javascript/pull/19026))
- chore(llm): Add claude skill + cursor command for adding new cdn bundles ([#19048](https://github.com/getsentry/sentry-javascript/pull/19048))
- chore(llm): Ignore local Claude settings ([#18893](https://github.com/getsentry/sentry-javascript/pull/18893))
- chore(react): Update react-router-5 dev dependency to another than 5.0.0 ([#19047](https://github.com/getsentry/sentry-javascript/pull/19047))
- chore(release): Add generate-changelog script ([#18999](https://github.com/getsentry/sentry-javascript/pull/18999))
- chore(remix): Upgrade @remix-run/router to ^1.23.2 ([#19045](https://github.com/getsentry/sentry-javascript/pull/19045))
- chore(solidstart): Bump peer dependencies of @solidjs/start ([#19051](https://github.com/getsentry/sentry-javascript/pull/19051))
- chore(solidstart): Upgrade Vinxi to update h3 peer dependency ([#19018](https://github.com/getsentry/sentry-javascript/pull/19018))
- chore(tests): Reject messages from unknown origins in integration tests ([#19016](https://github.com/getsentry/sentry-javascript/pull/19016))

</details>

Work in this release was contributed by @harshit078. Thank you for your contribution!

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 24.73 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.27 KB  |
| @sentry/browser (incl. Tracing)                                            | 41.16 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 45.69 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 78.87 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 68.76 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 83.46 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 95.37 KB  |
| @sentry/browser (incl. Feedback)                                           | 41.06 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.31 KB  |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.19 KB  |
| @sentry/browser (incl. Metrics)                                            | 25.81 KB  |
| @sentry/browser (incl. Logs)                                               | 25.96 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 26.61 KB  |
| @sentry/react                                                              | 26.42 KB  |
| @sentry/react (incl. Tracing)                                              | 43.34 KB  |
| @sentry/vue                                                                | 29.07 KB  |
| @sentry/vue (incl. Tracing)                                                | 42.91 KB  |
| @sentry/svelte                                                             | 24.75 KB  |
| CDN Bundle                                                                 | 27.25 KB  |
| CDN Bundle (incl. Tracing)                                                 | 41.93 KB  |
| CDN Bundle (incl. Logs, Metrics)                                           | 28.07 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 42.73 KB  |
| CDN Bundle (incl. Replay, Logs, Metrics)                                   | 66.09 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 77.8 KB   |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics)                          | 78.65 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 83.13 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 84.03 KB  |
| CDN Bundle - uncompressed                                                  | 79.7 KB   |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 124.17 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed                            | 82.47 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 126.94 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed                    | 202.96 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 238.04 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed           | 240.8 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 250.54 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 253.29 KB |
| @sentry/nextjs (client)                                                    | 45.63 KB  |
| @sentry/sveltekit (client)                                                 | 41.52 KB  |
| @sentry/node-core                                                          | 50.85 KB  |
| @sentry/node                                                               | 162.19 KB |
| @sentry/node - without tracing                                             | 91.64 KB  |
| @sentry/aws-serverless                                                     | 106.79 KB |
</Release>

<Release version="10.37.0" date="January 27, 2026" published="2026-01-27T11:01:27.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.37.0">
### Important Changes

- **feat(core): Introduces a new `Sentry.setConversationId()` API to track multi turn AI conversations across API calls. ([#18909](https://github.com/getsentry/sentry-javascript/pull/18909))**

  You can now set a conversation ID that will be automatically applied to spans within that scope. This allows you to link traces from the same conversation together.

  ```javascript
  import * as Sentry from '@sentry/node';

  // Set conversation ID for all subsequent spans
  Sentry.setConversationId('conv_abc123');

  // All AI spans will now include the gen_ai.conversation.id attribute
  await openai.chat.completions.create({...});
  ```

  This is particularly useful for tracking multiple AI API calls that are part of the same conversation, allowing you to analyze entire conversation flows in Sentry.
  The conversation ID is stored on the isolation scope and automatically applied to spans via the new `conversationIdIntegration`.

- **feat(tanstackstart-react): Auto-instrument global middleware in `sentryTanstackStart` Vite plugin ([#18844](https://github.com/getsentry/sentry-javascript/pull/18844))**

  The `sentryTanstackStart` Vite plugin now automatically instruments `requestMiddleware` and `functionMiddleware` arrays in `createStart()`. This captures performance data without requiring manual wrapping.

  Auto-instrumentation is enabled by default. To disable it:

  ```ts
  // vite.config.ts
  sentryTanstackStart({
    authToken: process.env.SENTRY_AUTH_TOKEN,
    org: 'your-org',
    project: 'your-project',
    autoInstrumentMiddleware: false,
  });
  ```

### Other Changes

- feat(core): simplify truncation logic to only keep the newest message ([#18906](https://github.com/getsentry/sentry-javascript/pull/18906))
- feat(core): Support new client discard reason `invalid` ([#18901](https://github.com/getsentry/sentry-javascript/pull/18901))
- feat(deps): Bump OpenTelemetry instrumentations ([#18934](https://github.com/getsentry/sentry-javascript/pull/18934))
- feat(nextjs): Update default ignore list for sourcemaps ([#18938](https://github.com/getsentry/sentry-javascript/pull/18938))
- feat(node): pass prisma instrumentation options through ([#18900](https://github.com/getsentry/sentry-javascript/pull/18900))
- feat(nuxt): Don't run source maps related code on Nuxt "prepare" ([#18936](https://github.com/getsentry/sentry-javascript/pull/18936))
- feat(replay): Update client report discard reason for invalid sessions ([#18796](https://github.com/getsentry/sentry-javascript/pull/18796))
- feat(winston): Add customLevelMap for winston transport ([#18922](https://github.com/getsentry/sentry-javascript/pull/18922))
- feat(react-router): Add support for React Router instrumentation API ([#18580](https://github.com/getsentry/sentry-javascript/pull/18580))
- fix(astro): Do not show warnings for valid options ([#18947](https://github.com/getsentry/sentry-javascript/pull/18947))
- fix(core): Report well known values in gen_ai.operation.name attribute ([#18925](https://github.com/getsentry/sentry-javascript/pull/18925))
- fix(node-core): ignore vercel `AbortError` by default on unhandled rejection ([#18973](https://github.com/getsentry/sentry-javascript/pull/18973))
- fix(nuxt): include sentry.config.server.ts in nuxt app types ([#18971](https://github.com/getsentry/sentry-javascript/pull/18971))
- fix(profiling): Add `platform` to envelope item header ([#18954](https://github.com/getsentry/sentry-javascript/pull/18954))
- fix(react): Defer React Router span finalization until lazy routes load ([#18881](https://github.com/getsentry/sentry-javascript/pull/18881))
- ref(core): rename `gen_ai.input.messages.original_length` to `sentry.sdk_meta.gen_ai.input.messages.original_length` ([#18970](https://github.com/getsentry/sentry-javascript/pull/18970))
- ref(core): rename `gen_ai.request.messages` to `gen_ai.input.messages` ([#18944](https://github.com/getsentry/sentry-javascript/pull/18944))
- ref(core): Set system message as separate attribute ([#18978](https://github.com/getsentry/sentry-javascript/pull/18978))
- deps: Bump version of sentry-bundler-plugins ([#18972](https://github.com/getsentry/sentry-javascript/pull/18972))

<details>
  <summary><strong>Internal Changes</strong></summary>

- chore(e2e): Add e2e claude skill ([#18957](https://github.com/getsentry/sentry-javascript/pull/18957))
- chore(e2e): Add Makefile to make running specific e2e test apps easier ([#18953](https://github.com/getsentry/sentry-javascript/pull/18953))
- chore(e2e): Modify e2e skill to also account for untracked files ([#18959](https://github.com/getsentry/sentry-javascript/pull/18959))
- ref(tests): use constants in ai integration tests and add missing ones ([#18945](https://github.com/getsentry/sentry-javascript/pull/18945))
- test(nextjs): Added nextjs CF workers test app ([#18928](https://github.com/getsentry/sentry-javascript/pull/18928))
- test(prisma): Move to yarn prisma ([#18975](https://github.com/getsentry/sentry-javascript/pull/18975))

</details>

Work in this release was contributed by @sebws, @harshit078, and @fedetorre. Thank you for your contributions!

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 24.73 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.27 KB  |
| @sentry/browser (incl. Tracing)                                            | 41.15 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 45.68 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 78.86 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 68.75 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 83.46 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 95.36 KB  |
| @sentry/browser (incl. Feedback)                                           | 41.06 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.31 KB  |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.19 KB  |
| @sentry/browser (incl. Metrics)                                            | 25.81 KB  |
| @sentry/browser (incl. Logs)                                               | 25.95 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 26.6 KB   |
| @sentry/react                                                              | 26.42 KB  |
| @sentry/react (incl. Tracing)                                              | 43.33 KB  |
| @sentry/vue                                                                | 29.07 KB  |
| @sentry/vue (incl. Tracing)                                                | 42.9 KB   |
| @sentry/svelte                                                             | 24.74 KB  |
| CDN Bundle                                                                 | 27.24 KB  |
| CDN Bundle (incl. Tracing)                                                 | 41.93 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 42.73 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 77.82 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 83.12 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 84.01 KB  |
| CDN Bundle - uncompressed                                                  | 79.69 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 124.16 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 126.93 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 238.03 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 250.53 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 253.28 KB |
| @sentry/nextjs (client)                                                    | 45.63 KB  |
| @sentry/sveltekit (client)                                                 | 41.51 KB  |
| @sentry/node-core                                                          | 50.8 KB   |
| @sentry/node                                                               | 162.16 KB |
| @sentry/node - without tracing                                             | 91.59 KB  |
| @sentry/aws-serverless                                                     | 106.74 KB |
</Release>

<Release version="10.36.0" date="January 21, 2026" published="2026-01-21T14:59:08.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.36.0">
- feat(node): Add Prisma v7 support ([#18908](https://github.com/getsentry/sentry-javascript/pull/18908))
- feat(opentelemetry): Support `db.system.name` attribute for database spans ([#18902](https://github.com/getsentry/sentry-javascript/pull/18902))
- feat(deps): Bump OpenTelemetry dependencies ([#18878](https://github.com/getsentry/sentry-javascript/pull/18878))
- fix(core): Sanitize data URLs in `http.client` spans ([#18896](https://github.com/getsentry/sentry-javascript/pull/18896))
- fix(nextjs): Add ALS runner fallbacks for serverless environments ([#18889](https://github.com/getsentry/sentry-javascript/pull/18889))
- fix(node): Profiling debug ID matching ([#18817](https://github.com/getsentry/sentry-javascript/pull/18817))

<details>
  <summary><strong>Internal Changes</strong></summary>

- chore(deps-dev): bump @remix-run/server-runtime from 2.15.2 to 2.17.3 in /packages/remix ([#18750](https://github.com/getsentry/sentry-javascript/pull/18750))

</details>

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 24.61 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.15 KB  |
| @sentry/browser (incl. Tracing)                                            | 41.04 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 45.56 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 78.74 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 68.63 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 83.32 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 95.24 KB  |
| @sentry/browser (incl. Feedback)                                           | 40.94 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.19 KB  |
| @sentry/browser (incl. FeedbackAsync)                                      | 34.07 KB  |
| @sentry/browser (incl. Metrics)                                            | 25.69 KB  |
| @sentry/browser (incl. Logs)                                               | 25.84 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 26.48 KB  |
| @sentry/react                                                              | 26.3 KB   |
| @sentry/react (incl. Tracing)                                              | 43.22 KB  |
| @sentry/vue                                                                | 28.95 KB  |
| @sentry/vue (incl. Tracing)                                                | 42.79 KB  |
| @sentry/svelte                                                             | 24.63 KB  |
| CDN Bundle                                                                 | 27.13 KB  |
| CDN Bundle (incl. Tracing)                                                 | 41.83 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 42.63 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 77.67 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 82.98 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 83.87 KB  |
| CDN Bundle - uncompressed                                                  | 79.36 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 123.84 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 126.61 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 237.64 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 250.14 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 252.89 KB |
| @sentry/nextjs (client)                                                    | 45.53 KB  |
| @sentry/sveltekit (client)                                                 | 41.4 KB   |
| @sentry/node-core                                                          | 50.68 KB  |
| @sentry/node                                                               | 161.54 KB |
| @sentry/node - without tracing                                             | 91.46 KB  |
| @sentry/aws-serverless                                                     | 106.6 KB  |
</Release>

<Release version="10.35.0" date="January 19, 2026" published="2026-01-19T14:11:19.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.35.0">
### Important Changes

- **feat(tanstackstart-react): Add `sentryTanstackStart` vite plugin to manage automatic source map uploads ([#18712](https://github.com/getsentry/sentry-javascript/pull/18712))**

  You can now configure source maps upload for TanStack Start using the `sentryTanstackStart` Vite plugin:

  ```ts
  // vite.config.ts
  import { defineConfig } from 'vite';
  import { sentryTanstackStart } from '@sentry/tanstackstart-react';
  import { tanstackStart } from '@tanstack/react-start/plugin/vite';

  export default defineConfig({
    plugins: [
      sentryTanstackStart({
        authToken: process.env.SENTRY_AUTH_TOKEN,
        org: 'your-org',
        project: 'your-project',
      }),
      tanstackStart(),
    ],
  });
  ```

### Other Changes

- feat(browser): Add CDN bundle for `tracing.replay.feedback.logs.metrics` ([#18785](https://github.com/getsentry/sentry-javascript/pull/18785))
- feat(browser): Add shim package for logs ([#18831](https://github.com/getsentry/sentry-javascript/pull/18831))
- feat(cloudflare): Automatically set the release id when CF_VERSION_METADATA is enabled ([#18855](https://github.com/getsentry/sentry-javascript/pull/18855))
- feat(core): Add `ignored` client report event drop reason ([#18815](https://github.com/getsentry/sentry-javascript/pull/18815))
- feat(logs): Add `Log` exports to browser and node packages ([#18857](https://github.com/getsentry/sentry-javascript/pull/18857))
- feat(node-core,bun): Export processSessionIntegration from node-core and add it to bun ([#18852](https://github.com/getsentry/sentry-javascript/pull/18852))
- fix(core): Find the correct IP address regardless their case ([#18880](https://github.com/getsentry/sentry-javascript/pull/18880))
- fix(core): Check for AI operation id to detect a vercelai span ([#18823](https://github.com/getsentry/sentry-javascript/pull/18823))
- fix(ember): Use ES5 syntax in inline vendor scripts ([#18858](https://github.com/getsentry/sentry-javascript/pull/18858))
- fix(fetch): Shallow-clone fetch options to prevent mutation ([#18867](https://github.com/getsentry/sentry-javascript/pull/18867))

<details>
  <summary><strong>Internal Changes</strong></summary>

- chore(ci): Use javascript-sdk-gitflow app instead of personal token ([#18829](https://github.com/getsentry/sentry-javascript/pull/18829))
- chore(deps): Bump `@sveltejs/kit` devDependency to `2.49.5` ([#18848](https://github.com/getsentry/sentry-javascript/pull/18848))
- chore(deps): Bump bundler plugins to ^4.6.2 ([#18822](https://github.com/getsentry/sentry-javascript/pull/18822))
- chore(deps): bump hono from 4.10.3 to 4.11.4 in /dev-packages/e2e-tests/test-applications/cloudflare-hono ([#18806](https://github.com/getsentry/sentry-javascript/pull/18806))
- chore(test): Bump svelte dependencies ([#18850](https://github.com/getsentry/sentry-javascript/pull/18850))
- chore(core): Comment out Error tests in langchain ([#18837](https://github.com/getsentry/sentry-javascript/pull/18837))
- meta(changelog): Fix entry for tanstack start vite plugin ([#18883](https://github.com/getsentry/sentry-javascript/pull/18883))
- test(e2e): Add testing app for User Feedback ([#18877](https://github.com/getsentry/sentry-javascript/pull/18877))
- test(fastify): Verify if upstream error is fixed and won't regress ([#18838](https://github.com/getsentry/sentry-javascript/pull/18838))

</details>

Work in this release was contributed by @rreckonerr. Thank you for your contribution!

## Bundle size 📦 

| Path                                                                       | Size              |
| -------------------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                            | 24.52 KB  |
| @sentry/browser - with treeshaking flags                                   | 23.06 KB  |
| @sentry/browser (incl. Tracing)                                            | 40.88 KB  |
| @sentry/browser (incl. Tracing, Profiling)                                 | 45.36 KB  |
| @sentry/browser (incl. Tracing, Replay)                                    | 78.58 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags           | 68.51 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)                        | 83.18 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                          | 95.09 KB  |
| @sentry/browser (incl. Feedback)                                           | 40.85 KB  |
| @sentry/browser (incl. sendFeedback)                                       | 29.1 KB   |
| @sentry/browser (incl. FeedbackAsync)                                      | 33.97 KB  |
| @sentry/browser (incl. Metrics)                                            | 25.6 KB   |
| @sentry/browser (incl. Logs)                                               | 25.75 KB  |
| @sentry/browser (incl. Metrics & Logs)                                     | 26.39 KB  |
| @sentry/react                                                              | 26.21 KB  |
| @sentry/react (incl. Tracing)                                              | 43.05 KB  |
| @sentry/vue                                                                | 28.87 KB  |
| @sentry/vue (incl. Tracing)                                                | 42.65 KB  |
| @sentry/svelte                                                             | 24.53 KB  |
| CDN Bundle                                                                 | 27.02 KB  |
| CDN Bundle (incl. Tracing)                                                 | 41.67 KB  |
| CDN Bundle (incl. Tracing, Logs, Metrics)                                  | 42.48 KB  |
| CDN Bundle (incl. Tracing, Replay)                                         | 77.51 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                               | 82.82 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)                | 83.71 KB  |
| CDN Bundle - uncompressed                                                  | 79.18 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                                  | 123.53 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed                   | 126.3 KB  |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                          | 237.33 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed                | 249.83 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 252.58 KB |
| @sentry/nextjs (client)                                                    | 45.35 KB  |
| @sentry/sveltekit (client)                                                 | 41.26 KB  |
| @sentry/node-core                                                          | 50.72 KB  |
| @sentry/node                                                               | 158.39 KB |
| @sentry/node - without tracing                                             | 91.16 KB  |
| @sentry/aws-serverless                                                     | 106.3 KB  |
</Release>

<Release version="10.34.0" date="January 14, 2026" published="2026-01-14T16:40:07.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.34.0">
### Important Changes

- **feat(core): Add option to enhance the fetch error message ([#18466](https://github.com/getsentry/sentry-javascript/pull/18466))**

  You can now enable enhanced fetch error messages by setting the `enhancedFetchErrorMessage` option. When enabled, the SDK will include additional context in fetch error messages to help with debugging.

- **feat(nextjs): Add routeManifestInjection option to exclude routes from client bundle ([#18798](https://github.com/getsentry/sentry-javascript/pull/18798))**

  A new `routeManifestInjection` option allows you to exclude sensitive routes from being injected into the client bundle.

- **feat(tanstackstart-react): Add `wrapMiddlewaresWithSentry` for manual middleware instrumentation ([#18680](https://github.com/getsentry/sentry-javascript/pull/18680))**

  You can now wrap your middlewares using `wrapMiddlewaresWithSentry`, allowing you to trace middleware execution in your TanStack Start application.

  ```ts
  import { createMiddleware } from '@tanstack/react-start';
  import { wrapMiddlewaresWithSentry } from '@sentry/tanstackstart-react';

  const loggingMiddleware = createMiddleware({ type: 'function' }).server(async ({ next }) => {
    console.log('Request started');
    return next();
  });

  export const [wrappedLoggingMiddleware] = wrapMiddlewaresWithSentry({ loggingMiddleware });
  ```

### Other Changes

- feat(browser): Add CDN bundle for `tracing.logs.metrics` ([#18784](https://github.com/getsentry/sentry-javascript/pull/18784))
- feat(core,node-core): Consolidate bun and node types with ServerRuntimeOptions ([#18734](https://github.com/getsentry/sentry-javascript/pull/18734))
- feat(nextjs): Remove tracing from generation function template ([#18733](https://github.com/getsentry/sentry-javascript/pull/18733))
- fix(core): Don't record outcomes for failed client reports ([#18808](https://github.com/getsentry/sentry-javascript/pull/18808))
- fix(deno,cloudflare): Prioritize name from params over name from options ([#18800](https://github.com/getsentry/sentry-javascript/pull/18800))
- fix(web-vitals): Add error handling for invalid object keys in `WeakMap` ([#18809](https://github.com/getsentry/sentry-javascript/pull/18809))

<details>
  <summary><strong>Internal Changes</strong></summary>

- ref(nextjs): Split `withSentryConfig` ([#18777](https://github.com/getsentry/sentry-javascript/pull/18777))
- test(e2e): Pin @shopify/remix-oxygen to unblock ci ([#18811](https://github.com/getsentry/sentry-javascript/pull/18811))

</details>

## Bundle size 📦 

| Path                                                             | Size              |
| ---------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                  | 24.52 KB  |
| @sentry/browser - with treeshaking flags                         | 23.06 KB  |
| @sentry/browser (incl. Tracing)                                  | 40.88 KB  |
| @sentry/browser (incl. Tracing, Profiling)                       | 45.36 KB  |
| @sentry/browser (incl. Tracing, Replay)                          | 78.58 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.51 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)              | 83.17 KB  |
| @sentry/browser (incl. Tracing, Replay, Feedback)                | 95.08 KB  |
| @sentry/browser (incl. Feedback)                                 | 40.85 KB  |
| @sentry/browser (incl. sendFeedback)                             | 29.1 KB   |
| @sentry/browser (incl. FeedbackAsync)                            | 33.97 KB  |
| @sentry/browser (incl. Metrics)                                  | 25.6 KB   |
| @sentry/browser (incl. Logs)                                     | 25.75 KB  |
| @sentry/browser (incl. Metrics & Logs)                           | 26.39 KB  |
| @sentry/react                                                    | 26.21 KB  |
| @sentry/react (incl. Tracing)                                    | 43.05 KB  |
| @sentry/vue                                                      | 28.87 KB  |
| @sentry/vue (incl. Tracing)                                      | 42.64 KB  |
| @sentry/svelte                                                   | 24.53 KB  |
| CDN Bundle                                                       | 26.96 KB  |
| CDN Bundle (incl. Tracing)                                       | 41.6 KB   |
| CDN Bundle (incl. Tracing, Logs, Metrics)                        | 42.48 KB  |
| CDN Bundle (incl. Tracing, Replay)                               | 77.43 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                     | 82.72 KB  |
| CDN Bundle - uncompressed                                        | 78.99 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                        | 123.34 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed         | 126.29 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                | 237.15 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed      | 249.64 KB |
| @sentry/nextjs (client)                                          | 45.34 KB  |
| @sentry/sveltekit (client)                                       | 41.25 KB  |
| @sentry/node-core                                                | 50.69 KB  |
| @sentry/node                                                     | 158.35 KB |
| @sentry/node - without tracing                                   | 91.14 KB  |
| @sentry/aws-serverless                                           | 106.28 KB |
</Release>

<Release version="10.33.0" date="January 12, 2026" published="2026-01-12T12:51:47.000Z" url="https://github.com/getsentry/sentry-javascript/releases/tag/10.33.0">
### Important Changes

- **feat(core): Apply scope attributes to metrics ([#18738](https://github.com/getsentry/sentry-javascript/pull/18738))**

  You can now set attributes on the SDK's scopes which will be applied to all metrics as long as the respective scopes are active. For the time being, only `string`, `number` and `boolean` attribute values are supported.

  ```ts
  Sentry.getGlobalScope().setAttributes({ is_admin: true, auth_provider: 'google' });

  Sentry.withScope(scope => {
    scope.setAttribute('step', 'authentication');

    // scope attributes `is_admin`, `auth_provider` and `step` are added
    Sentry.metrics.count('clicks', 1, { attributes: { activeSince: 100 } });
    Sentry.metrics.gauge('timeSinceRefresh', 4, { unit: 'hour' });
  });

  // scope attributes `is_admin` and `auth_provider` are added
  Sentry.metrics.count('response_time', 283.33, { unit: 'millisecond' });
  ```

- **feat(tracing): Add Vercel AI SDK v6 support ([#18741](https://github.com/getsentry/sentry-javascript/pull/18741))**

  The Sentry SDK now supports the Vercel AI SDK v6. Tracing and error monitoring will work automatically with the new version.

- **feat(wasm): Add applicationKey option for third-party error filtering ([#18762](https://github.com/getsentry/sentry-javascript/pull/18762))**

  Adds support for applying an application key to WASM stack frames that can be then used in the `thirdPartyErrorFilterIntegration` for detection of first-party code.

  Usage:

  ```js
  Sentry.init({
    integrations: [
      // Integration order matters: wasmIntegration needs to be before thirdPartyErrorFilterIntegration
      wasmIntegration({ applicationKey: 'your-custom-application-key' }), ←───┐
      thirdPartyErrorFilterIntegration({                                      │
        behaviour: 'drop-error-if-exclusively-contains-third-party-frames',   ├─ matching keys
        filterKeys: ['your-custom-application-key'] ←─────────────────────────┘
      }),
    ],
  });
  ```

### Other Changes

- feat(cloudflare): Support `propagateTraceparent` ([#18569](https://github.com/getsentry/sentry-javascript/pull/18569))
- feat(core): Add `ignoreSentryInternalFrames` option to `thirdPartyErrorFilterIntegration` ([#18632](https://github.com/getsentry/sentry-javascript/pull/18632))
- feat(core): Add gen_ai.conversation.id attribute to OpenAI and LangGr… ([#18703](https://github.com/getsentry/sentry-javascript/pull/18703))
- feat(core): Add recordInputs/recordOutputs options to MCP server wrapper ([#18600](https://github.com/getsentry/sentry-javascript/pull/18600))
- feat(core): Support IPv6 hosts in the DSN ([#2996](https://github.com/getsentry/sentry-javascript/pull/2996)) (#17708)
- feat(deps): Bump bundler plugins to ^4.6.1 ([#17980](https://github.com/getsentry/sentry-javascript/pull/17980))
- feat(nextjs): Emit warning for conflicting treeshaking / debug settings ([#18638](https://github.com/getsentry/sentry-javascript/pull/18638))
- feat(nextjs): Print Turbopack note for deprecated webpack options ([#18769](https://github.com/getsentry/sentry-javascript/pull/18769))
- feat(node-core): Add `isolateTrace` option to `node-cron` instrumentation ([#18416](https://github.com/getsentry/sentry-javascript/pull/18416))
- feat(node): Use `process.on('SIGTERM')` for flushing in Vercel functions ([#17583](https://github.com/getsentry/sentry-javascript/pull/17583))
- feat(nuxt): Detect development environment and add dev E2E test ([#18671](https://github.com/getsentry/sentry-javascript/pull/18671))
- fix(browser): Forward worker metadata for third-party error filtering ([#18756](https://github.com/getsentry/sentry-javascript/pull/18756))
- fix(browser): Reduce number of `visibilitystate` and `pagehide` listeners ([#18581](https://github.com/getsentry/sentry-javascript/pull/18581))
- fix(browser): Respect `tunnel` in `diagnoseSdkConnectivity` ([#18616](https://github.com/getsentry/sentry-javascript/pull/18616))
- fix(cloudflare): Consume body of fetch in the Cloudflare transport ([#18545](https://github.com/getsentry/sentry-javascript/pull/18545))
- fix(core): Set op on ended Vercel AI spans ([#18601](https://github.com/getsentry/sentry-javascript/pull/18601))
- fix(core): Subtract `performance.now()` from `browserPerformanceTimeOrigin` fallback ([#18715](https://github.com/getsentry/sentry-javascript/pull/18715))
- fix(core): Update client options to allow explicit `undefined` ([#18024](https://github.com/getsentry/sentry-javascript/pull/18024))
- fix(feedback): Fix cases where the outline of inputs were wrong ([#18647](https://github.com/getsentry/sentry-javascript/pull/18647))
- fix(next): Ensure inline sourcemaps are generated for wrapped modules in Dev ([#18640](https://github.com/getsentry/sentry-javascript/pull/18640))
- fix(next): Wrap all Random APIs with a safe runner ([#18700](https://github.com/getsentry/sentry-javascript/pull/18700))
- fix(nextjs): Avoid Edge build warning from OpenTelemetry `process.argv0` ([#18759](https://github.com/getsentry/sentry-javascript/pull/18759))
- fix(nextjs): Remove polynomial regular expression ([#18725](https://github.com/getsentry/sentry-javascript/pull/18725))
- fix(node-core): Ignore worker threads in OnUncaughtException ([#18689](https://github.com/getsentry/sentry-javascript/pull/18689))
- fix(node): relax Fastify's `setupFastifyErrorHandler` argument type ([#18620](https://github.com/getsentry/sentry-javascript/pull/18620))
- fix(nuxt): Allow overwriting server-side `defaultIntegrations` ([#18717](https://github.com/getsentry/sentry-javascript/pull/18717))
- fix(pino): Allow custom namespaces for `msg` and `err` ([#18597](https://github.com/getsentry/sentry-javascript/pull/18597))
- fix(react,solid,vue): Fix parametrization behavior for non-matched routes ([#18735](https://github.com/getsentry/sentry-javascript/pull/18735))
- fix(replay): Ensure replays contain canvas rendering when resumed after inactivity ([#18714](https://github.com/getsentry/sentry-javascript/pull/18714))
- fix(tracing): add gen_ai.request.messages.original_length attributes ([#18608](https://github.com/getsentry/sentry-javascript/pull/18608))
- ref(nextjs): Drop `resolve` dependency ([#18618](https://github.com/getsentry/sentry-javascript/pull/18618))
- ref(react-router): Use snake_case for span op names ([#18617](https://github.com/getsentry/sentry-javascript/pull/18617))

<details>
  <summary> <strong>Internal Changes</strong> </summary>

- chore(bun): Fix `install-bun.js` version check and improve upgrade feedback ([#18492](https://github.com/getsentry/sentry-javascript/pull/18492))
- chore(changelog): Fix typo ([#18648](https://github.com/getsentry/sentry-javascript/pull/18648))
- chore(craft): Use version templating for aws layer ([#18675](https://github.com/getsentry/sentry-javascript/pull/18675))
- chore(deps): Bump IITM to ^2.0.1 ([#18599](https://github.com/getsentry/sentry-javascript/pull/18599))
- chore(e2e-tests): Upgrade `@trpc/server` and `@trpc/client` ([#18722](https://github.com/getsentry/sentry-javascript/pull/18722))
- chore(e2e): Unpin react-router-7-framework-spa to ^7.11.0 ([#18551](https://github.com/getsentry/sentry-javascript/pull/18551))
- chore(nextjs): Bump next version in dev deps ([#18661](https://github.com/getsentry/sentry-javascript/pull/18661))
- chore(node-tests): Upgrade `@langchain/core` ([#18720](https://github.com/getsentry/sentry-javascript/pull/18720))
- chore(react): Inline `hoist-non-react-statics` package ([#18102](https://github.com/getsentry/sentry-javascript/pull/18102))
- chore(size-limit): Add size checks for metrics and logs ([#18573](https://github.com/getsentry/sentry-javascript/pull/18573))
- chore(tests): Add unordered mode to cloudflare test runner ([#18596](https://github.com/getsentry/sentry-javascript/pull/18596))
- ci(deps): bump actions/cache from 4 to 5 ([#18654](https://github.com/getsentry/sentry-javascript/pull/18654))
- ci(deps): Bump actions/create-github-app-token from 2.2.0 to 2.2.1 ([#18656](https://github.com/getsentry/sentry-javascript/pull/18656))
- ci(deps): bump actions/upload-artifact from 5 to 6 ([#18655](https://github.com/getsentry/sentry-javascript/pull/18655))
- ci(deps): bump peter-evans/create-pull-request from 7.0.9 to 8.0.0 ([#18657](https://github.com/getsentry/sentry-javascript/pull/18657))
- doc: E2E testing documentation updates ([#18649](https://github.com/getsentry/sentry-javascript/pull/18649))
- ref(core): Extract and reuse `getCombinedScopeData` helper ([#18585](https://github.com/getsentry/sentry-javascript/pull/18585))
- ref(core): Remove dependence between `performance.timeOrigin` and `performance.timing.navigationStart` ([#18710](https://github.com/getsentry/sentry-javascript/pull/18710))
- ref(core): Streamline and test `browserPerformanceTimeOrigin` ([#18708](https://github.com/getsentry/sentry-javascript/pull/18708))
- ref(core): Strengthen `browserPerformanceTimeOrigin` reliability check ([#18719](https://github.com/getsentry/sentry-javascript/pull/18719))
- ref(core): Use `serializeAttributes` for metric attribute serialization ([#18582](https://github.com/getsentry/sentry-javascript/pull/18582))
- ref(node): Remove duplicate function `isCjs` ([#18662](https://github.com/getsentry/sentry-javascript/pull/18662))
- test(core): Improve unit test performance for offline transport tests ([#18628](https://github.com/getsentry/sentry-javascript/pull/18628))
- test(core): Use fake timers in promisebuffer tests to ensure deterministic behavior ([#18659](https://github.com/getsentry/sentry-javascript/pull/18659))
- test(e2e): Add e2e metrics tests in Next.js 16 ([#18643](https://github.com/getsentry/sentry-javascript/pull/18643))
- test(e2e): Pin agents package in cloudflare-mcp test ([#18609](https://github.com/getsentry/sentry-javascript/pull/18609))
- test(e2e): Pin solid/vue tanstack router to 1.41.8 ([#18610](https://github.com/getsentry/sentry-javascript/pull/18610))
- test(nestjs): Add canary test for latest ([#18685](https://github.com/getsentry/sentry-javascript/pull/18685))
- test(node-native): Increase worker block timeout ([#18683](https://github.com/getsentry/sentry-javascript/pull/18683))
- test(nuxt): Fix nuxt-4 dev E2E test ([#18737](https://github.com/getsentry/sentry-javascript/pull/18737))
- test(tanstackstart-react): Add canary test for latest ([#18686](https://github.com/getsentry/sentry-javascript/pull/18686))
- test(vue): Added canary and latest test variants to Vue tests ([#18681](https://github.com/getsentry/sentry-javascript/pull/18681))

</details>

Work in this release was contributed by @G-Rath, @gianpaj, @maximepvrt, @Mohataseem89, @sebws, and @xgedev. Thank you for your contributions!

## Bundle size 📦 

| Path                                                             | Size              |
| ---------------------------------------------------------------- | ----------------- |
| @sentry/browser                                                  | 24.37 KB  |
| @sentry/browser - with treeshaking flags                         | 22.92 KB  |
| @sentry/browser (incl. Tracing)                                  | 40.71 KB  |
| @sentry/browser (incl. Tracing, Profiling)                       | 45.19 KB  |
| @sentry/browser (incl. Tracing, Replay)                          | 78.43 KB  |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.37 KB  |
| @sentry/browser (incl. Tracing, Replay with Canvas)              | 83 KB     |
| @sentry/browser (incl. Tracing, Replay, Feedback)                | 94.93 KB  |
| @sentry/browser (incl. Feedback)                                 | 40.7 KB   |
| @sentry/browser (incl. sendFeedback)                             | 28.95 KB  |
| @sentry/browser (incl. FeedbackAsync)                            | 33.82 KB  |
| @sentry/browser (incl. Metrics)                                  | 25.44 KB  |
| @sentry/browser (incl. Logs)                                     | 25.59 KB  |
| @sentry/browser (incl. Metrics & Logs)                           | 26.22 KB  |
| @sentry/react                                                    | 26.05 KB  |
| @sentry/react (incl. Tracing)                                    | 42.9 KB   |
| @sentry/vue                                                      | 28.72 KB  |
| @sentry/vue (incl. Tracing)                                      | 42.5 KB   |
| @sentry/svelte                                                   | 24.39 KB  |
| CDN Bundle                                                       | 26.83 KB  |
| CDN Bundle (incl. Tracing)                                       | 41.46 KB  |
| CDN Bundle (incl. Tracing, Replay)                               | 77.31 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                     | 82.6 KB   |
| CDN Bundle - uncompressed                                        | 78.62 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                        | 122.94 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                | 236.75 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed      | 249.24 KB |
| @sentry/nextjs (client)                                          | 45.2 KB   |
| @sentry/sveltekit (client)                                       | 41.08 KB  |
| @sentry/node-core                                                | 50.59 KB  |
| @sentry/node                                                     | 158.26 KB |
| @sentry/node - without tracing                                   | 91.06 KB  |
| @sentry/aws-serverless                                           | 106.2 KB  |
</Release>

<Pagination page="1" total-pages="10" total-items="195" next="https://releases.sh/sentry/sentry-javascript.md?page=2" />
