You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(tanstackstart-react): Auto-instrument server function middleware (#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)
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.
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
npm install @​sentry/node-core
and add Sentry at the top of your application's entry file:
The sentryTanstackStart Vite plugin now automatically instruments middleware arrays in createFileRoute(). This captures performance data without requiring manual wrapping with wrapMiddlewaresWithSentry().
feat(core): Introduces a new Sentry.setConversationId() API to track multi turn AI conversations across API calls. (#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.
import*asSentryfrom'@​sentry/node';// Set conversation ID for all subsequent spansSentry.setConversationId('conv_abc123');// All AI spans will now include the gen_ai.conversation.id attributeawaitopenai.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)
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:
feat(core): Apply scope attributes to metrics (#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.
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 addedSentry.metrics.count('clicks',1,{attributes: {activeSince: 100}});Sentry.metrics.gauge('timeSinceRefresh',4,{unit: 'hour'});});// scope attributes `is_admin` and `auth_provider` are addedSentry.metrics.count('response_time',283.33,{unit: 'millisecond'});
feat(tracing): Add Vercel AI SDK v6 support (#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)
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:
Sentry.init({integrations: [// Integration order matters: wasmIntegration needs to be before thirdPartyErrorFilterIntegrationwasmIntegration({applicationKey: 'your-custom-application-key'}),←───┐thirdPartyErrorFilterIntegration({│behaviour: 'drop-error-if-exclusively-contains-third-party-frames',├─matchingkeysfilterKeys: ['your-custom-application-key']←─────────────────────────┘}),],});
Other Changes
feat(cloudflare): Support propagateTraceparent (#18569)
feat(core): Add ignoreSentryInternalFrames option to thirdPartyErrorFilterIntegration (#18632)
feat(core): Add gen_ai.conversation.id attribute to OpenAI and LangGr… (#18703)
feat(core): Add recordInputs/recordOutputs options to MCP server wrapper (#18600)
feat(core): Support IPv6 hosts in the DSN (#2996) (#17708)
feat(deps): Bump bundler plugins to ^4.6.1 (#17980)
feat(nextjs): Emit warning for conflicting treeshaking / debug settings (#18638)
feat(nextjs): Print Turbopack note for deprecated webpack options (#18769)
feat(node-core): Add isolateTrace option to node-cron instrumentation (#18416)
feat(node): Use process.on('SIGTERM') for flushing in Vercel functions (#17583)
feat(nuxt): Detect development environment and add dev E2E test (#18671)
fix(browser): Forward worker metadata for third-party error filtering (#18756)
fix(browser): Reduce number of visibilitystate and pagehide listeners (#18581)
fix(browser): Respect tunnel in diagnoseSdkConnectivity (#18616)
fix(cloudflare): Consume body of fetch in the Cloudflare transport (#18545)
fix(core): Set op on ended Vercel AI spans (#18601)
fix(core): Subtract performance.now() from browserPerformanceTimeOrigin fallback (#18715)
fix(core): Update client options to allow explicit undefined (#18024)
fix(feedback): Fix cases where the outline of inputs were wrong (#18647)
fix(next): Ensure inline sourcemaps are generated for wrapped modules in Dev (#18640)
fix(next): Wrap all Random APIs with a safe runner (#18700)
fix(nextjs): Avoid Edge build warning from OpenTelemetry process.argv0 (#18759)
feat(core): Apply scope attributes to logs (#18184)
You can now set attributes on the SDK's scopes which will be applied to all logs as long as the respective scopes are active. For the time being, only string, number and boolean attribute values are supported.
Sentry.geGlobalScope().setAttributes({is_admin: true,auth_provider: 'google'});Sentry.withScope(scope=>{scope.setAttribute('step','authentication');// scope attributes `is_admin`, `auth_provider` and `step` are addedSentry.logger.info(`user ${user.id} logged in`,{activeSince: 100});Sentry.logger.info(`updated ${user.id} last activity`);});// scope attributes `is_admin` and `auth_provider` are addedSentry.logger.warn('stale website version, reloading page');
feat(replay): Add Request body with attachRawBodyFromRequest option (#18501)
To attach the raw request body (from Request objects passed as the first fetch argument) to replay events, you can now use the attachRawBodyFromRequest option in the Replay integration:
feat(tanstackstart-react): Trace server functions (#18500)
To enable tracing for server-side requests, you can now explicitly define a server entry point in your application and wrap your request handler with wrapFetchWithSentry.
The @sentry/vue package now includes support for TanStack Router. Use tanstackRouterBrowserTracingIntegration to automatically instrument pageload and navigation transactions with parameterized routes:
import{createApp}from'vue';import{createRouter}from'@​tanstack/vue-router';import*asSentryfrom'@​sentry/vue';import{tanstackRouterBrowserTracingIntegration}from'@​sentry/vue/tanstackrouter';constrouter=createRouter({// your router config});Sentry.init({
app,dsn: '__PUBLIC_DSN__',integrations: [tanstackRouterBrowserTracingIntegration(router)],tracesSampleRate: 1.0,});
Other Changes
feat(core): Capture initialize attributes on MCP servers (#18531)
feat(nextjs): Extract tracing logic from server component wrapper templates (#18408)
feat(nextjs): added webpack treeshaking flags as config (#18359)
fix(solid/tanstackrouter): Ensure web vitals are sent on pageload (#18542)
Internal Changes
chore(changelog): Add entry for scope attributes (#18555)
chore(changelog): Add entry for tanstack start wrapFetchWithSentry (#18558)
chore(deps): bump @trpc/server from 10.45.2 to 10.45.3 in /dev-packages/e2e-tests/test-applications/node-express-incorrect-instrumentation (#18530)
chore(deps): bump @trpc/server from 10.45.2 to 10.45.3 in /dev-packages/e2e-tests/test-applications/node-express-v5 (#18550)
chore(e2e): Pin to react-router 7.10.1 in spa e2e test (#18548)
chore(e2e): Remove check on http.response_content_length_uncompressed (#18536)
chore(github): Add "Closes" to PR template (#18538)
feat(browser): Add support for GraphQL persisted operations (#18505)
The graphqlClientIntegration now supports GraphQL persisted operations (queries). When a persisted query is detected, the integration will capture the operation hash and version as span attributes:
graphql.persisted_query.hash.sha256 - The SHA-256 hash of the persisted query
graphql.persisted_query.version - The version of the persisted query protocol
Additionally, the graphql.document attribute format has changed to align with OpenTelemetry semantic conventions. It now contains only the GraphQL query string instead of the full JSON request payload.
Before:
"graphql.document": "{\"query\":\"query Test { user { id } }\"}"
After:
"graphql.document": "query Test { user { id } }"
Other Changes
feat(node): Support propagateTraceparent option (#18476)
feat(bun): Expose spotlight option in TypeScript (#18436)
feat(core): Add additional exports for captureException and captureMessage parameter types (#18521)
📅 Schedule: Branch creation - At 12:00 AM through 04:59 AM and 10:00 PM through 11:59 PM, Monday through Friday ( * 0-4,22-23 * * 1-5 ), Only on Sunday and Saturday ( * * * * 0,6 ) in timezone Australia/Sydney, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
If you want to rebase/retry this PR, check this box
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
DeepSource reviewed changes in the commit range 1535517...4b95378 on this pull request. Below is the summary for the review, and you can see the individual issues we found as review comments.
Administrators can configure which issue categories are reported and cause analysis to be marked as failed when detected. This helps prevent bad and insecure code from being introduced in the codebase. If you're an administrator, you can modify this in the repository's settings.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^7.56.0→^10.0.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
getsentry/sentry-javascript (@sentry/node)
v10.39.0Compare Source
Important Changes
feat(tanstackstart-react): Auto-instrument server function middleware (#19001)
The
sentryTanstackStartVite plugin now automatically instruments middleware increateServerFn().middleware([...])calls. This captures performance data without requiring manual wrapping withwrapMiddlewaresWithSentry().feat(nextjs): New experimental automatic vercel cron monitoring (#19192)
Setting
_experimental.vercelCronMonitoringtotruein 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.
feat(node-core): Add node-core/light (#18502)
This release adds a new light-weight
@sentry/node-core/lightexport 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:
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
and add Sentry at the top of your application's entry file:
Other Changes
globin@sentry/react-router(#19162)lazyRouteManifestoption to resolve lazy-route names (#19086)flushon empty buffer (#19062)_experiments.enableMetricsreferences from metrics JSDoc (#19252)@nestjs/platform-expressto11.1.13(#19206)21.0.1in@sentry/ember(#19246)captureUnderscoreErrorExceptioncaptures an exception (#19185)request-handlerop. (#18729)debugis disabled (#19095)3.59.2(#19208)svelte.config.js(#19270)auto.middleware.tanstackstartas middleware trace origin (#19137)shouldPropagateTraceForUrlfrom opentelemetry to core (#19254)untrackto read route id without invalidation (#19272)Internal Changes
serovalalerts (#19150)nextjs-turbocanary tests (#19118)nextjs-t3to next 15 (#19130)nextjs-turbointonextjs-15(#19107)Work in this release was contributed by @limbonaut and @rfoel. Thank you for your contributions!
Bundle size 📦
v10.38.0Compare Source
Important Changes
feat(tanstackstart-react): Auto-instrument request middleware (#18989)
The
sentryTanstackStartVite plugin now automatically instrumentsmiddlewarearrays increateFileRoute(). This captures performance data without requiring manual wrapping withwrapMiddlewaresWithSentry().Other Changes
logs.metricsbundle (#19020)replay.logs.metricsbundle (#19021)tracing.replay.logs.metricsbundle (#19039)AggregateErrors as exception groups (#19053)String(key)to fix Symbol conversion error (#18982)Internal Changes
- feat(deps-dev): bump @types/rsvp from 4.0.4 to 4.0.9 ([#19038](https://redirect.github.com/getsentry/sentry-javascript/pull/19038)) - ci(build): Run full test suite on new bundle with logs+metrics ([#19065](https://redirect.github.com/getsentry/sentry-javascript/pull/19065)) - ci(deps): bump actions/create-github-app-token from 1 to 2 ([#19028](https://redirect.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://redirect.github.com/getsentry/sentry-javascript/pull/19029)) - chore: Add external contributor to CHANGELOG.md ([#19005](https://redirect.github.com/getsentry/sentry-javascript/pull/19005)) - chore(aws-serverless): Fix local cache issues ([#19081](https://redirect.github.com/getsentry/sentry-javascript/pull/19081)) - chore(dependabot): Allow all packages to update ([#19024](https://redirect.github.com/getsentry/sentry-javascript/pull/19024)) - chore(dependabot): Update ignore patterns and add more groups ([#19037](https://redirect.github.com/getsentry/sentry-javascript/pull/19037)) - chore(dependabot): Update ignore patterns and add more groups ([#19043](https://redirect.github.com/getsentry/sentry-javascript/pull/19043)) - chore(deps-dev): bump @edge-runtime/types from 3.0.1 to 4.0.0 ([#19032](https://redirect.github.com/getsentry/sentry-javascript/pull/19032)) - chore(deps-dev): bump @vercel/nft from 0.29.4 to 1.3.0 ([#19030](https://redirect.github.com/getsentry/sentry-javascript/pull/19030)) - chore(deps): bump @actions/artifact from 2.1.11 to 5.0.3 ([#19031](https://redirect.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://redirect.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://redirect.github.com/getsentry/sentry-javascript/pull/19012)) - chore(deps): Bump trpc v11 dependency in e2e test ([#19061](https://redirect.github.com/getsentry/sentry-javascript/pull/19061)) - chore(deps): Bump wrangler to 4.61.0 ([#19023](https://redirect.github.com/getsentry/sentry-javascript/pull/19023)) - chore(deps): Upgrade @remix-run deps to 2.17.4 ([#19040](https://redirect.github.com/getsentry/sentry-javascript/pull/19040)) - chore(deps): Upgrade `next` versions 15 and 16 ([#19057](https://redirect.github.com/getsentry/sentry-javascript/pull/19057)) - chore(deps): Upgrade Lerna to v8 ([#19050](https://redirect.github.com/getsentry/sentry-javascript/pull/19050)) - chore(deps): Upgrade next to 14.2.35 ([#19055](https://redirect.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://redirect.github.com/getsentry/sentry-javascript/pull/19026)) - chore(llm): Add claude skill + cursor command for adding new cdn bundles ([#19048](https://redirect.github.com/getsentry/sentry-javascript/pull/19048)) - chore(llm): Ignore local Claude settings ([#18893](https://redirect.github.com/getsentry/sentry-javascript/pull/18893)) - chore(react): Update react-router-5 dev dependency to another than 5.0.0 ([#19047](https://redirect.github.com/getsentry/sentry-javascript/pull/19047)) - chore(release): Add generate-changelog script ([#18999](https://redirect.github.com/getsentry/sentry-javascript/pull/18999)) - chore(remix): Upgrade @remix-run/router to ^1.23.2 ([#19045](https://redirect.github.com/getsentry/sentry-javascript/pull/19045)) - chore(solidstart): Bump peer dependencies of @solidjs/start ([#19051](https://redirect.github.com/getsentry/sentry-javascript/pull/19051)) - chore(solidstart): Upgrade Vinxi to update h3 peer dependency ([#19018](https://redirect.github.com/getsentry/sentry-javascript/pull/19018)) - chore(tests): Reject messages from unknown origins in integration tests ([#19016](https://redirect.github.com/getsentry/sentry-javascript/pull/19016))Work in this release was contributed by @harshit078. Thank you for your contribution!
v10.37.0Compare Source
Important Changes
feat(core): Introduces a new
Sentry.setConversationId()API to track multi turn AI conversations across API calls. (#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.
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
sentryTanstackStartVite plugin (#18844)The
sentryTanstackStartVite plugin now automatically instrumentsrequestMiddlewareandfunctionMiddlewarearrays increateStart(). This captures performance data without requiring manual wrapping.Auto-instrumentation is enabled by default. To disable it:
Other Changes
invalid(#18901)AbortErrorby default on unhandled rejection (#18973)platformto envelope item header (#18954)gen_ai.input.messages.original_lengthtosentry.sdk_meta.gen_ai.input.messages.original_length(#18970)gen_ai.request.messagestogen_ai.input.messages(#18944)Internal Changes
Work in this release was contributed by @sebws, @harshit078, and @fedetorre. Thank you for your contributions!
v10.36.0Compare Source
v10.35.0Compare Source
Important Changes
feat(tanstackstart-react): Add
sentryTanstackStartvite plugin to manage automatic source map uploads (#18712)You can now configure source maps upload for TanStack Start using the
sentryTanstackStartVite plugin:Other Changes
tracing.replay.feedback.logs.metrics(#18785)ignoredclient report event drop reason (#18815)Logexports to browser and node packages (#18857)Internal Changes
@sveltejs/kitdevDependency to2.49.5(#18848)Work in this release was contributed by @rreckonerr. Thank you for your contribution!
v10.34.0Compare Source
v10.33.0Compare Source
Important Changes
feat(core): Apply scope attributes to metrics (#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,numberandbooleanattribute values are supported.feat(tracing): Add Vercel AI SDK v6 support (#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)
Adds support for applying an application key to WASM stack frames that can be then used in the
thirdPartyErrorFilterIntegrationfor detection of first-party code.Usage:
Other Changes
propagateTraceparent(#18569)ignoreSentryInternalFramesoption tothirdPartyErrorFilterIntegration(#18632)isolateTraceoption tonode-croninstrumentation (#18416)process.on('SIGTERM')for flushing in Vercel functions (#17583)visibilitystateandpagehidelisteners (#18581)tunnelindiagnoseSdkConnectivity(#18616)performance.now()frombrowserPerformanceTimeOriginfallback (#18715)undefined(#18024)process.argv0(#18759)setupFastifyErrorHandlerargument type (#18620)defaultIntegrations(#18717)msganderr(#18597)resolvedependency (#18618)Internal Changes
install-bun.jsversion check and improve upgrade feedback (#18492)@trpc/serverand@trpc/client(#18722)@langchain/core(#18720)hoist-non-react-staticspackage (#18102)getCombinedScopeDatahelper (#18585)performance.timeOriginandperformance.timing.navigationStart(#18710)browserPerformanceTimeOrigin(#18708)browserPerformanceTimeOriginreliability check (#18719)serializeAttributesfor metric attribute serialization (#18582)isCjs(#18662)Work in this release was contributed by @G-Rath, @gianpaj, @maximepvrt, @Mohataseem89, @sebws, and @xgedev. Thank you for your contributions!
v10.32.1Compare Source
implementationfield optional (hashroutes) (#18564)Internal Changes
cloudflare-astroe2e test (#18567)v10.32.0Compare Source
Important Changes
feat(core): Apply scope attributes to logs (#18184)
You can now set attributes on the SDK's scopes which will be applied to all logs as long as the respective scopes are active. For the time being, only
string,numberandbooleanattribute values are supported.feat(replay): Add Request body with
attachRawBodyFromRequestoption (#18501)To attach the raw request body (from
Requestobjects passed as the firstfetchargument) to replay events, you can now use theattachRawBodyFromRequestoption in the Replay integration:feat(tanstackstart-react): Trace server functions (#18500)
To enable tracing for server-side requests, you can now explicitly define a server entry point in your application and wrap your request handler with
wrapFetchWithSentry.feat(vue): Add TanStack Router integration (#18547)
The
@sentry/vuepackage now includes support for TanStack Router. UsetanstackRouterBrowserTracingIntegrationto automatically instrument pageload and navigation transactions with parameterized routes:Other Changes
Internal Changes
http.response_content_length_uncompressed(#18536)v10.31.0Compare Source
Important Changes
The
graphqlClientIntegrationnow supports GraphQL persisted operations (queries). When a persisted query is detected, the integration will capture the operation hash and version as span attributes:graphql.persisted_query.hash.sha256- The SHA-256 hash of the persisted querygraphql.persisted_query.version- The version of the persisted query protocolAdditionally, the
graphql.documentattribute format has changed to align with OpenTelemetry semantic conventions. It now contains only the GraphQL query string instead of the full JSON request payload.Before:
After:
Other Changes
propagateTraceparentoption (#18476)captureExceptionandcaptureMessageparameter types (#18521)captureExceptionandcaptureMessageparameter types ([#18509](https://redirect.github.com/getsentry/sConfiguration
📅 Schedule: Branch creation - At 12:00 AM through 04:59 AM and 10:00 PM through 11:59 PM, Monday through Friday ( * 0-4,22-23 * * 1-5 ), Only on Sunday and Saturday ( * * * * 0,6 ) in timezone Australia/Sydney, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.