Releases: getsentry/sentry-javascript
10.32.1
- fix(cloudflare): Add hono transaction name when error is thrown (#18529)
- fix(ember): Make
implementationfield optional (hashroutes) (#18564) - fix(vercelai): Fix input token count (#18574)
Internal Changes
- chore(lint): prefer 'unknown' to 'any', fix lint warnings
- chore(test): Remove
cloudflare-astroe2e test (#18567)
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.24 KB |
| @sentry/browser - with treeshaking flags | 22.77 KB |
| @sentry/browser (incl. Tracing) | 40.62 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.12 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.3 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.28 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 82.88 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 94.83 KB |
| @sentry/browser (incl. Feedback) | 40.57 KB |
| @sentry/browser (incl. sendFeedback) | 28.82 KB |
| @sentry/browser (incl. FeedbackAsync) | 33.7 KB |
| @sentry/react | 25.92 KB |
| @sentry/react (incl. Tracing) | 42.77 KB |
| @sentry/vue | 28.6 KB |
| @sentry/vue (incl. Tracing) | 42.39 KB |
| @sentry/svelte | 24.25 KB |
| CDN Bundle | 26.62 KB |
| CDN Bundle (incl. Tracing) | 41.25 KB |
| CDN Bundle (incl. Tracing, Replay) | 77.1 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 82.44 KB |
| CDN Bundle - uncompressed | 78.18 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 122.47 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 236.27 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 248.74 KB |
| @sentry/nextjs (client) | 44.94 KB |
| @sentry/sveltekit (client) | 40.98 KB |
| @sentry/node-core | 50.4 KB |
| @sentry/node | 157.73 KB |
| @sentry/node - without tracing | 90.87 KB |
| @sentry/aws-serverless | 106.02 KB |
10.32.0
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.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.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 added Sentry.logger.warn('stale website version, reloading page');
-
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:Sentry.init({ integrations: [ Sentry.replayIntegration({ attachRawBodyFromRequest: true, }), ], });
-
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.// src/server.ts import { wrapFetchWithSentry } from '@sentry/tanstackstart-react'; import handler, { createServerEntry } from '@tanstack/react-start/server-entry'; export default createServerEntry( wrapFetchWithSentry({ fetch(request: Request) { return handler.fetch(request); }, }), );
-
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:import { createApp } from 'vue'; import { createRouter } from '@tanstack/vue-router'; import * as Sentry from '@sentry/vue'; import { tanstackRouterBrowserTracingIntegration } from '@sentry/vue/tanstackrouter'; const router = 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)
- test(cloudflare-mcp): Unpin mcp sdk (#18528)
- test(nextjs): Add e2e tests for server component spans in next 16 (#18544)
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.24 KB |
| @sentry/browser - with treeshaking flags | 22.77 KB |
| @sentry/browser (incl. Tracing) | 40.62 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.12 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.3 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.28 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 82.88 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 94.82 KB |
| @sentry/browser (incl. Feedback) | 40.56 KB |
| @sentry/browser (incl. sendFeedback) | 28.82 KB |
| @sentry/browser (incl. FeedbackAsync) | 33.7 KB |
| @sentry/react | 25.92 KB |
| @sentry/react (incl. Tracing) | 42.77 KB |
| @sentry/vue | 28.6 KB |
| @sentry/vue (incl. Tracing) | 42.39 KB |
| @sentry/svelte | 24.25 KB |
| CDN Bundle | 26.62 KB |
| CDN Bundle (incl. Tracing) | 41.25 KB |
| CDN Bundle (incl. Tracing, Replay) | 77.1 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 82.44 KB |
| CDN Bundle - uncompressed | 78.18 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 122.47 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 236.27 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 248.74 KB |
| @sentry/nextjs (client) | 44.93 KB |
| @sentry/sveltekit (client) | 40.98 KB |
| @sentry/node-core | 50.4 KB |
| @sentry/node | 157.71 KB |
| @sentry/node - without tracing | 90.87 KB |
| @sentry/aws-serverless | 106.02 KB |
10.32.0-alpha.0
This preview release includes updates to our Span Streaming PoC implementation. Use at your own risk.
- Attributes extracted from request and known contexts on scopes are applied to the segment span
- Scope attributes are applied to every span
- Added a simple interval, limit and
Sentry.flush-based span buffer for backend SDKs - Span-first can now also be tested in any of our server SDKs, including
@sentry/node,@sentry/cloudflare,@sentry/deno,@sentry/bunand@sentry/vercel-edge
Known issues:
- Missing data from various integrations and framework SDKs
ignoreSpansis not yet applied
Untested:
- Meta frameworks or framework SDKs building on top of
@sentry/browseror@sentry/node. Likely,
data is missing, noisy spans are not filtered, etc.
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 25.21 KB |
| @sentry/browser - with treeshaking flags | 23.74 KB |
| @sentry/browser (incl. Tracing) | 41.8 KB |
| @sentry/browser (incl. Tracing, Profiling) | 46.29 KB |
| @sentry/browser (incl. Tracing, Replay) | 79.57 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 69.36 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 84.13 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 96 KB |
| @sentry/browser (incl. Feedback) | 41.52 KB |
| @sentry/browser (incl. sendFeedback) | 29.77 KB |
| @sentry/browser (incl. FeedbackAsync) | 34.65 KB |
| @sentry/react | 26.89 KB |
| @sentry/react (incl. Tracing) | 43.98 KB |
| @sentry/vue | 29.73 KB |
| @sentry/vue (incl. Tracing) | 43.56 KB |
| @sentry/svelte | 25.23 KB |
| CDN Bundle | 27.49 KB |
| CDN Bundle (incl. Tracing) | 42.39 KB |
| CDN Bundle (incl. Tracing, Replay) | 78.21 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 83.57 KB |
| CDN Bundle - uncompressed | 80.62 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 125.72 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 239.52 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 251.99 KB |
| @sentry/nextjs (client) | 46.12 KB |
| @sentry/sveltekit (client) | 42.21 KB |
| @sentry/node-core | 51.31 KB |
| @sentry/node | 160.53 KB |
| @sentry/node - without tracing | 93.78 KB |
| @sentry/aws-serverless | 108.68 KB |
10.31.0
Important Changes
- 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 querygraphql.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
propagateTraceparentoption (#18476) - feat(bun): Expose spotlight option in TypeScript (#18436)
- feat(core): Add additional exports for
captureExceptionandcaptureMessageparameter types (#18521) - feat(core): Export
captureExceptionandcaptureMessageparameter types (#18509) - feat(core): Parse individual cookies from cookie header (#18325)
- feat(node): Add instrument OpenAI export to node (#18461)
- feat(nuxt): Bump
@sentry/vite-pluginand@sentry/rollup-pluginto 4.6.1 (#18349) - feat(profiling): Add support for Node v24 in the prune script (#18447)
- feat(tracing): strip inline media from messages (#18413)
- feat(node): Add ESM support for postgres.js instrumentation (#17961)
- fix(browser): Stringify span context in linked traces log statement (#18376)
- fix(google-cloud-serverless): Move @types/express to optional peerDeps (#18452)
- fix(node-core): passthrough node-cron context (#17835)
- fix(tanstack-router): Check for
fromLocationexistence before reporting pageload (#18463) - fix(tracing): add system prompt, model to google genai (#18424)
- fix(tracing): Set span operations for AI spans with model ID only (#18471)
- ref(browser): Improve profiling debug statement (#18507)
Internal Changes
- chore: Add external contributor to CHANGELOG.md (#18473)
- chore: upgrade Playwright to ~1.56.0 for WSL2 compatibility (#18468)
- chore(bugbot): Add testing conventions code review rules (#18433)
- chore(deps): bump next from 14.2.25 to 14.2.35 in /dev-packages/e2e-tests/test-applications/create-next-app (#18494)
- chore(deps): bump next from 14.2.32 to 14.2.35 in /dev-packages/e2e-tests/test-applications/nextjs-orpc (#18520)
- chore(deps): bump next from 14.2.32 to 14.2.35 in /dev-packages/e2e-tests/test-applications/nextjs-pages-dir (#18496)
- chore(deps): bump next from 15.5.7 to 15.5.9 in /dev-packages/e2e-tests/test-applications/nextjs-15 (#18482)
- chore(deps): bump next from 15.5.7 to 15.5.9 in /dev-packages/e2e-tests/test-applications/nextjs-15-intl (#18483)
- chore(deps): bump next from 16.0.7 to 16.0.9 in /dev-packages/e2e-tests/test-applications/nextjs-16 (#18480)
- chore(deps): bump next from 16.0.7 to 16.0.9 in /dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents (#18479)
- chore(deps): bump next from 16.0.7 to 16.0.9 in /dev-packages/e2e-tests/test-applications/nextjs-16-tunnel (#18481)
- chore(deps): bump next from 16.0.9 to 16.0.10 in /dev-packages/e2e-tests/test-applications/nextjs-16 (#18514)
- chore(deps): bump next from 16.0.9 to 16.0.10 in /dev-packages/e2e-tests/test-applications/nextjs-16-tunnel (#18487)
- chore(tests): Added test variant flag (#18458)
- test(cloudflare-mcp): Pin mcp sdk to 1.24.0 (#18524)
Work in this release was contributed by @sebws and @TBeeren. Thank you for your contributions!
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.23 KB |
| @sentry/browser - with treeshaking flags | 22.76 KB |
| @sentry/browser (incl. Tracing) | 40.58 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.08 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.1 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.07 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 82.67 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 94.62 KB |
| @sentry/browser (incl. Feedback) | 40.54 KB |
| @sentry/browser (incl. sendFeedback) | 28.8 KB |
| @sentry/browser (incl. FeedbackAsync) | 33.68 KB |
| @sentry/react | 25.9 KB |
| @sentry/react (incl. Tracing) | 42.73 KB |
| @sentry/vue | 28.58 KB |
| @sentry/vue (incl. Tracing) | 42.35 KB |
| @sentry/svelte | 24.24 KB |
| CDN Bundle | 26.59 KB |
| CDN Bundle (incl. Tracing) | 41.23 KB |
| CDN Bundle (incl. Tracing, Replay) | 76.9 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 82.23 KB |
| CDN Bundle - uncompressed | 78.15 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 122.44 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 235.75 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 248.21 KB |
| @sentry/nextjs (client) | 44.9 KB |
| @sentry/sveltekit (client) | 40.94 KB |
| @sentry/node-core | 50.39 KB |
| @sentry/node | 157.7 KB |
| @sentry/node - without tracing | 90.85 KB |
| @sentry/aws-serverless | 106 KB |
10.30.0
- feat(nextjs): Deprecate Webpack top-level options (#18343)
- feat(node): Capture scope when event loop blocked (#18040)
- fix(aws-serverless): Remove hyphens from AWS-lambda origins (#18353)
- fix(core): Parse method from Request object in fetch (#18453)
- fix(react): Add transaction name guards for rapid lazy-route navigations (#18346)
Internal Changes
- chore(ci): Fix double issue creation for unreferenced PRs (#18442)
- chore(deps): bump next from 15.5.4 to 15.5.7 in /dev-packages/e2e-tests/test-applications/nextjs-15 (#18411)
- chore(deps): bump next from 15.5.4 to 15.5.7 in /dev-packages/e2e-tests/test-applications/nextjs-15-intl (#18400)
- chore(deps): bump next from 16.0.0 to 16.0.7 in /dev-packages/e2e-tests/test-applications/nextjs-16 (#18399)
- chore(deps): bump next from 16.0.0 to 16.0.7 in /dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents (#18427)
- chore(deps): bump next from 16.0.0 to 16.0.7 in /dev-packages/e2e-tests/test-applications/nextjs-16-tunnel (#18439)
- chore(publish): Fix publish order for
@sentry/types(#18429) - ci(deps): bump actions/create-github-app-token from 2.1.4 to 2.2.0 (#18362)
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.23 KB |
| @sentry/browser - with treeshaking flags | 22.76 KB |
| @sentry/browser (incl. Tracing) | 40.57 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.06 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.09 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.07 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 82.66 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 94.61 KB |
| @sentry/browser (incl. Feedback) | 40.54 KB |
| @sentry/browser (incl. sendFeedback) | 28.8 KB |
| @sentry/browser (incl. FeedbackAsync) | 33.68 KB |
| @sentry/react | 25.9 KB |
| @sentry/react (incl. Tracing) | 42.73 KB |
| @sentry/vue | 28.58 KB |
| @sentry/vue (incl. Tracing) | 42.34 KB |
| @sentry/svelte | 24.24 KB |
| CDN Bundle | 26.6 KB |
| CDN Bundle (incl. Tracing) | 41.24 KB |
| CDN Bundle (incl. Tracing, Replay) | 76.91 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 82.23 KB |
| CDN Bundle - uncompressed | 78.16 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 122.45 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 235.76 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 248.23 KB |
| @sentry/nextjs (client) | 44.89 KB |
| @sentry/sveltekit (client) | 40.94 KB |
| @sentry/node-core | 50.06 KB |
| @sentry/node | 155.85 KB |
| @sentry/node - without tracing | 90.74 KB |
| @sentry/aws-serverless | 105.67 KB |
10.29.0
Important Changes
- feat(solid|solidstart): Bump accepted @solidjs/router range (#18395)
We expanded the supported version range for @solidjs/router to include 0.14.x and 0.15.x versions.
Other Changes
- fix(logs): Add support for
msgin pino integration (#18389) - fix(node): Include system message in anthropic-ai messages span (#18332)
- fix(tracing): Add missing attributes in vercel-ai spans (#18333)
Internal Changes
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.22 KB |
| @sentry/browser - with treeshaking flags | 22.76 KB |
| @sentry/browser (incl. Tracing) | 40.57 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.05 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.08 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.05 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 82.65 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 94.61 KB |
| @sentry/browser (incl. Feedback) | 40.51 KB |
| @sentry/browser (incl. sendFeedback) | 28.8 KB |
| @sentry/browser (incl. FeedbackAsync) | 33.66 KB |
| @sentry/react | 25.9 KB |
| @sentry/react (incl. Tracing) | 42.72 KB |
| @sentry/vue | 28.56 KB |
| @sentry/vue (incl. Tracing) | 42.32 KB |
| @sentry/svelte | 24.24 KB |
| CDN Bundle | 26.57 KB |
| CDN Bundle (incl. Tracing) | 41.22 KB |
| CDN Bundle (incl. Tracing, Replay) | 76.9 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 82.23 KB |
| CDN Bundle - uncompressed | 78.09 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 122.4 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 235.71 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 248.17 KB |
| @sentry/nextjs (client) | 44.88 KB |
| @sentry/sveltekit (client) | 40.92 KB |
| @sentry/node-core | 50.07 KB |
| @sentry/node | 155.79 KB |
| @sentry/node - without tracing | 90.68 KB |
| @sentry/aws-serverless | 105.61 KB |
10.28.0
Important Changes
- feat(core): Make
matcherparameter optional inmakeMultiplexedTransport(#10798)
The matcher parameter in makeMultiplexedTransport is now optional with a sensible default. This makes it much easier to use the multiplexed transport for sending events to multiple DSNs based on runtime configuration.
Before:
import { makeFetchTransport, makeMultiplexedTransport } from '@sentry/browser';
const EXTRA_KEY = 'ROUTE_TO';
const transport = makeMultiplexedTransport(makeFetchTransport, args => {
const event = args.getEvent();
if (event?.extra?.[EXTRA_KEY] && Array.isArray(event.extra[EXTRA_KEY])) {
return event.extra[EXTRA_KEY];
}
return [];
});
Sentry.init({
transport,
// ... other options
});
// Capture events with routing info
Sentry.captureException(error, {
extra: {
[EXTRA_KEY]: [
{ dsn: 'https://[email protected]/project1', release: 'v1.0.0' },
{ dsn: 'https://[email protected]/project2' },
],
},
});After:
import { makeFetchTransport, makeMultiplexedTransport, MULTIPLEXED_TRANSPORT_EXTRA_KEY } from '@sentry/browser';
// Just pass the transport generator - the default matcher handles the rest!
Sentry.init({
transport: makeMultiplexedTransport(makeFetchTransport),
// ... other options
});
// Capture events with routing info using the exported constant
Sentry.captureException(error, {
extra: {
[MULTIPLEXED_TRANSPORT_EXTRA_KEY]: [
{ dsn: 'https://[email protected]/project1', release: 'v1.0.0' },
{ dsn: 'https://[email protected]/project2' },
],
},
});The default matcher looks for routing information in event.extra[MULTIPLEXED_TRANSPORT_EXTRA_KEY]. You can still provide a custom matcher function for advanced use cases.
- feat(nextjs): Support cacheComponents on turbopack (#18304)
This release adds support for cacheComponents on turbopack builds. We are working on adding support for this feature in webpack builds as well.
Other Changes
- feat: Publish AWS Lambda Layer for Node 24 (#18327)
- feat(browser): Expose langchain instrumentation (#18342)
- feat(browser): Expose langgraph instrumentation (#18345)
- feat(cloudflare): Allow specifying a custom fetch in Cloudflare transport options (#18335)
- feat(core): Add
isolateTraceoption toSentry.withMonitor()(#18079) - feat(deps): bump @sentry/webpack-plugin from 4.3.0 to 4.6.1 (#18272)
- feat(nextjs): Add cloudflare
waitUntildetection (#18336) - feat(node): Add LangChain v1 support (#18306)
- feat(remix): Add parameterized transaction naming for routes (#17951)
- fix(cloudflare): Keep http root span alive until streaming responses are consumed (#18087)
- fix(cloudflare): Wait for async events to finish (#18334)
- fix(core):
continueTracedoesn't propagate given trace ID if active span exists (#18328) - fix(node-core): Handle custom scope in log messages without parameters (#18322)
- fix(opentelemetry): Ensure Sentry spans don't leak when tracing is disabled (#18337)
- fix(react-router): Use underscores in trace origin values (#18351)
- chore(tanstackstart-react): Export custom inits from tanstackstart-react (#18369)
- chore(tanstackstart-react)!: Remove empty placeholder implementations (#18338)
Internal Changes
- chore: Allow URLs as issue (#18372)
- chore(changelog): Add entry for #18304 (#18329)
- chore(ci): Add action to track all PRs as issues (#18363)
- chore(github): Adjust
BUGBOT.mdrules to flag invalid op and origin values during review (#18352) - ci: Add action to create issue on gitflow merge conflicts (#18319)
- ci(deps): bump actions/checkout from 5 to 6 (#18268)
- ci(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 (#18361)
- test(cloudflare): Add typechecks for cloudflare-worker e2e test (#18321)
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.22 KB |
| @sentry/browser - with treeshaking flags | 22.76 KB |
| @sentry/browser (incl. Tracing) | 40.57 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.05 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.08 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.05 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 82.65 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 94.61 KB |
| @sentry/browser (incl. Feedback) | 40.51 KB |
| @sentry/browser (incl. sendFeedback) | 28.8 KB |
| @sentry/browser (incl. FeedbackAsync) | 33.66 KB |
| @sentry/react | 25.9 KB |
| @sentry/react (incl. Tracing) | 42.72 KB |
| @sentry/vue | 28.56 KB |
| @sentry/vue (incl. Tracing) | 42.32 KB |
| @sentry/svelte | 24.24 KB |
| CDN Bundle | 26.57 KB |
| CDN Bundle (incl. Tracing) | 41.22 KB |
| CDN Bundle (incl. Tracing, Replay) | 76.9 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 82.23 KB |
| CDN Bundle - uncompressed | 78.09 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 122.4 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 235.71 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 248.17 KB |
| @sentry/nextjs (client) | 44.88 KB |
| @sentry/sveltekit (client) | 40.92 KB |
| @sentry/node-core | 50.06 KB |
| @sentry/node | 155.7 KB |
| @sentry/node - without tracing | 90.67 KB |
| @sentry/aws-serverless | 105.61 KB |
10.28.0-alpha.0
This release is a preview release for sending spans in browser via spanV2 instead of transaction event envelopes. All of this is experimental and subject to change. Use at your own risk. More Details.
Changes from 10.24-alpha.1:
- add
sentry.segment.idcommon span attribute - rename attribute
user.usernametouser.name - remove
is_remote, addis_segmentspan attributes - remove
span.kindfield
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.33 KB |
| @sentry/browser - with treeshaking flags | 22.85 KB |
| @sentry/browser (incl. Tracing) | 40.97 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.45 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.51 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.45 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 83.09 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 95.02 KB |
| @sentry/browser (incl. Feedback) | 40.65 KB |
| @sentry/browser (incl. sendFeedback) | 28.91 KB |
| @sentry/browser (incl. FeedbackAsync) | 33.73 KB |
| @sentry/react | 26 KB |
| @sentry/react (incl. Tracing) | 43.13 KB |
| @sentry/vue | 28.97 KB |
| @sentry/vue (incl. Tracing) | 42.73 KB |
| @sentry/svelte | 24.34 KB |
| CDN Bundle | 26.65 KB |
| CDN Bundle (incl. Tracing) | 41.48 KB |
| CDN Bundle (incl. Tracing, Replay) | 77.16 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 82.48 KB |
| CDN Bundle - uncompressed | 78.21 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 123.49 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 236.8 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 249.27 KB |
| @sentry/nextjs (client) | 45.3 KB |
| @sentry/sveltekit (client) | 41.33 KB |
| @sentry/node-core | 50.12 KB |
| @sentry/node | 155.97 KB |
| @sentry/node - without tracing | 90.8 KB |
| @sentry/aws-serverless | 105.68 KB |
10.27.0
Important Changes
-
feat(deps): Bump OpenTelemetry (#18239)
- Bump @opentelemetry/context-async-hooks from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/core from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/resources from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/sdk-trace-base from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/sdk-trace-node from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/instrumentation from 0.204.0 to 0.208.0
- Bump @opentelemetry/instrumentation-amqplib from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-aws-sdk from 0.59.0 to 0.64.0
- Bump @opentelemetry/instrumentation-connect from 0.48.0 to 0.52.0
- Bump @opentelemetry/instrumentation-dataloader from 0.22.0 to 0.26.0
- Bump @opentelemetry/instrumentation-express from 0.53.0 to 0.57.0
- Bump @opentelemetry/instrumentation-fs from 0.24.0 to 0.28.0
- Bump @opentelemetry/instrumentation-generic-pool from 0.48.0 to 0.52.0
- Bump @opentelemetry/instrumentation-graphql from 0.52.0 to 0.56.0
- Bump @opentelemetry/instrumentation-hapi from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-http from 0.204.0 to 0.208.0
- Bump @opentelemetry/instrumentation-ioredis from 0.52.0 to 0.56.0
- Bump @opentelemetry/instrumentation-kafkajs from 0.14.0 to 0.18.0
- Bump @opentelemetry/instrumentation-knex from 0.49.0 to 0.53.0
- Bump @opentelemetry/instrumentation-koa from 0.52.0 to 0.57.0
- Bump @opentelemetry/instrumentation-lru-memoizer from 0.49.0 to 0.53.0
- Bump @opentelemetry/instrumentation-mongodb from 0.57.0 to 0.61.0
- Bump @opentelemetry/instrumentation-mongoose from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-mysql from 0.50.0 to 0.54.0
- Bump @opentelemetry/instrumentation-mysql2 from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-nestjs-core from 0.50.0 to 0.55.0
- Bump @opentelemetry/instrumentation-pg from 0.57.0 to 0.61.0
- Bump @opentelemetry/instrumentation-redis from 0.53.0 to 0.57.0
- Bump @opentelemetry/instrumentation-tedious from 0.23.0 to 0.27.0
- Bump @opentelemetry/instrumentation-undici from 0.15.0 to 0.19.0
- Bump @prisma/instrumentation from 6.15.0 to 6.19.0
-
feat(browserprofiling): Add
manualmode and deprecate old profiling (#18189)Adds the
manuallifecycle mode for UI profiling (the default mode), allowing profiles to be captured manually withSentry.uiProfiler.startProfiler()andSentry.uiProfiler.stopProfiler().
The previous transaction-based profiling is withprofilesSampleRateis now deprecated in favor of the new UI Profiling withprofileSessionSampleRate.
Other Changes
- feat(core): Add
gibibyteandpebibytetoInformationUnittype (#18241) - feat(core): Add scope attribute APIs (#18165)
- feat(core): Re-add
_experiments.enableLogsoption (#18299) - feat(core): Use
maxValueLengthon error messages (#18301) - feat(deps): bump @sentry/bundler-plugin-core from 4.3.0 to 4.6.1 (#18273)
- feat(deps): bump @sentry/cli from 2.56.0 to 2.58.2 (#18271)
- feat(node): Add tracing support for AzureOpenAI (#18281)
- feat(node): Fix local variables capturing for out-of-app frames (#18245)
- fix(core): Add a PromiseBuffer for incoming events on the client (#18120)
- fix(core): Always redact content of sensitive headers regardless of
sendDefaultPii(#18311) - fix(metrics): Update return type of
beforeSendMetric(#18261) - fix(nextjs): universal random tunnel path support (#18257)
- ref(react): Add more guarding against wildcards in lazy route transactions (#18155)
- chore(deps): bump glob from 11.0.1 to 11.1.0 in /packages/react-router (#18243)
Internal Changes
- build(deps): bump hono from 4.9.7 to 4.10.3 in /dev-packages/e2e-tests/test-applications/cloudflare-hono ([#18038](https://github.com//pull/18038)) - chore: Add `bump_otel_instrumentations` cursor command ([#18253](https://github.com//pull/18253)) - chore: Add external contributor to CHANGELOG.md ([#18297](https://github.com//pull/18297)) - chore: Add external contributor to CHANGELOG.md ([#18300](https://github.com//pull/18300)) - chore: Do not update opentelemetry ([#18254](https://github.com//pull/18254)) - chore(angular): Add Angular 21 Support ([#18274](https://github.com//pull/18274)) - chore(deps): bump astro from 4.16.18 to 5.15.9 in /dev-packages/e2e-tests/test-applications/cloudflare-astro ([#18259](https://github.com//pull/18259)) - chore(dev-deps): Update some dev dependencies ([#17816](https://github.com//pull/17816)) - ci(deps): Bump actions/create-github-app-token from 2.1.1 to 2.1.4 ([#17825](https://github.com//pull/17825)) - ci(deps): bump actions/setup-node from 4 to 6 ([#18077](https://github.com//pull/18077)) - ci(deps): bump actions/upload-artifact from 4 to 5 ([#18075](https://github.com//pull/18075)) - ci(deps): bump github/codeql-action from 3 to 4 ([#18076](https://github.com//pull/18076)) - doc(sveltekit): Update documentation link for SvelteKit guide ([#18298](https://github.com//pull/18298)) - test(e2e): Fix astro config in test app ([#18282](https://github.com//pull/18282)) - test(nextjs): Remove debug logs from e2e test ([#18250](https://github.com//pull/18250))Work in this release was contributed by @bignoncedric and @adam-kov. Thank you for your contributions!
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.22 KB |
| @sentry/browser - with treeshaking flags | 22.76 KB |
| @sentry/browser (incl. Tracing) | 40.57 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.05 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.08 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.05 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 82.65 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 94.61 KB |
| @sentry/browser (incl. Feedback) | 40.51 KB |
| @sentry/browser (incl. sendFeedback) | 28.8 KB |
| @sentry/browser (incl. FeedbackAsync) | 33.62 KB |
| @sentry/react | 25.9 KB |
| @sentry/react (incl. Tracing) | 42.71 KB |
| @sentry/vue | 28.56 KB |
| @sentry/vue (incl. Tracing) | 42.32 KB |
| @sentry/svelte | 24.24 KB |
| CDN Bundle | 26.53 KB |
| CDN Bundle (incl. Tracing) | 41.18 KB |
| CDN Bundle (incl. Tracing, Replay) | 76.85 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 82.18 KB |
| CDN Bundle - uncompressed | 77.97 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 122.28 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 235.6 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 248.06 KB |
| @sentry/nextjs (client) | 44.88 KB |
| @sentry/sveltekit (client) | 40.92 KB |
| @sentry/node-core | 49.99 KB |
| @sentry/node | 155.51 KB |
| @sentry/node - without tracing | 90.65 KB |
| @sentry/aws-serverless | 105.54 KB |
10.26.0
Important Changes
- feat(core): Instrument LangGraph Agent (#18114)
Adds support for instrumenting LangGraph StateGraph operations in Node. The LangGraph integration can be configured as follows:
Sentry.init({
dsn: '__DSN__',
sendDefaultPii: false, // Even with PII disabled globally
integrations: [
Sentry.langGraphIntegration({
recordInputs: true, // Force recording input messages
recordOutputs: true, // Force recording response text
}),
],
});- feat(cloudflare/vercel-edge): Add manual instrumentation for LangGraph (#18112)
Instrumentation for LangGraph in Cloudflare Workers and Vercel Edge environments is supported by manually calling instrumentLangGraph:
import * as Sentry from '@sentry/cloudflare'; // or '@sentry/vercel-edge'
import { StateGraph, START, END, MessagesAnnotation } from '@langchain/langgraph';
// Create and instrument the graph
const graph = new StateGraph(MessagesAnnotation)
.addNode('agent', agentFn)
.addEdge(START, 'agent')
.addEdge('agent', END);
Sentry.instrumentLangGraph(graph, {
recordInputs: true,
recordOutputs: true,
});
const compiled = graph.compile({ name: 'weather_assistant' });
await compiled.invoke({
messages: [{ role: 'user', content: 'What is the weather in SF?' }],
});- feat(node): Add OpenAI SDK v6 support (#18244)
Other Changes
- feat(core): Support OpenAI embeddings API (#18224)
- feat(browser-utils): bump web-vitals to 5.1.0 (#18091)
- feat(core): Support truncation for LangChain integration request messages (#18157)
- feat(metrics): Add default
server.addressattribute on server runtimes (#18242) - feat(nextjs): Add URL to server-side transaction events (#18230)
- feat(node-core): Add mechanism to prevent wrapping ai providers multiple times(#17972)
- feat(replay): Bump limit for minReplayDuration (#18190)
- fix(browser): Add
okstatus to successfulidleSpans (#18139) - fix(core): Check
fetchsupport with data URL (#18225) - fix(core): Decrease number of Sentry stack frames for messages from
captureConsoleIntegration(#18096) - fix(core): Emit processed metric (#18222)
- fix(core): Ensure logs past
MAX_LOG_BUFFER_SIZEare not swallowed (#18207) - fix(core): Ensure metrics past
MAX_METRIC_BUFFER_SIZEare not swallowed (#18212) - fix(core): Fix logs and metrics flush timeout starvation with continuous logging (#18211)
- fix(core): Flatten gen_ai.request.available_tools in google-genai (#18194)
- fix(core): Stringify available tools sent from vercelai (#18197)
- fix(core/vue): Detect and skip normalizing Vue
VNodeobjects with highnormalizeDepth(#18206) - fix(nextjs): Avoid wrapping middleware files when in standalone mode (#18172)
- fix(nextjs): Drop meta trace tags if rendered page is ISR (#18192)
- fix(nextjs): Respect PORT variable for dev error symbolication (#18227)
- fix(nextjs): use LRU map instead of map for ISR route cache (#18234)
- fix(node):
tracingChannelexport missing in older node versions (#18191) - fix(node): Fix Spotlight configuration precedence to match specification (#18195)
- fix(react): Prevent navigation span leaks for consecutive navigations (#18098)
- ref(react-router): Deprecate ErrorBoundary exports (#18208)
Internal Changes
- chore: Fix missing changelog quote we use for attribution placement (#18237)
- chore: move tip about prioritizing issues (#18071)
- chore(e2e): Pin
@embroider/addon-shimto 1.10.0 for the e2e ember-embroider (#18173) - chore(react-router): Fix casing on deprecation notices (#18221)
- chore(test): Use correct
testTimeoutfield in bundler-tests vitest config - chore(e2e): Bump zod in e2e tests (#18251)
- test(browser-integration): Fix incorrect tag value assertions (#18162)
- test(profiling): Add test utils to validate Profile Chunk envelope (#18170)
- ref(e2e-ember): Remove
@embroider/addon-shimoverride (#18180) - ref(browser): Move trace lifecycle listeners to class function (#18231)
- ref(browserprofiling): Move and rename profiler class to UIProfiler (#18187)
- ref(core): Move ai integrations from utils to tracing (#18185)
- ref(core): Optimize
Scope.setTagbundle size and adjust test (#18182)
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.04 KB |
| @sentry/browser - with treeshaking flags | 22.59 KB |
| @sentry/browser (incl. Tracing) | 40.4 KB |
| @sentry/browser (incl. Tracing, Profiling) | 44.62 KB |
| @sentry/browser (incl. Tracing, Replay) | 77.95 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 67.89 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 82.52 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 94.46 KB |
| @sentry/browser (incl. Feedback) | 40.32 KB |
| @sentry/browser (incl. sendFeedback) | 28.61 KB |
| @sentry/browser (incl. FeedbackAsync) | 33.41 KB |
| @sentry/react | 25.7 KB |
| @sentry/react (incl. Tracing) | 42.3 KB |
| @sentry/vue | 28.43 KB |
| @sentry/vue (incl. Tracing) | 42.16 KB |
| @sentry/svelte | 24.07 KB |
| CDN Bundle | 26.32 KB |
| CDN Bundle (incl. Tracing) | 40.96 KB |
| CDN Bundle (incl. Tracing, Replay) | 76.66 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 81.99 KB |
| CDN Bundle - uncompressed | 77.1 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 121.42 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 234.73 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 247.19 KB |
| @sentry/nextjs (client) | 44.66 KB |
| @sentry/sveltekit (client) | 40.78 KB |
| @sentry/node-core | 49.76 KB |
| @sentry/node | 155.53 KB |
| @sentry/node - without tracing | 90.65 KB |
| @sentry/aws-serverless | 104.08 KB |