Releases: getsentry/sentry-javascript
10.33.0
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.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)
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:
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) - feat(core): Add
ignoreSentryInternalFramesoption tothirdPartyErrorFilterIntegration(#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
isolateTraceoption tonode-croninstrumentation (#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
visibilitystateandpagehidelisteners (#18581) - fix(browser): Respect
tunnelindiagnoseSdkConnectivity(#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()frombrowserPerformanceTimeOriginfallback (#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) - fix(nextjs): Remove polynomial regular expression (#18725)
- fix(node-core): Ignore worker threads in OnUncaughtException (#18689)
- fix(node): relax Fastify's
setupFastifyErrorHandlerargument type (#18620) - fix(nuxt): Allow overwriting server-side
defaultIntegrations(#18717) - fix(pino): Allow custom namespaces for
msganderr(#18597) - fix(react,solid,vue): Fix parametrization behavior for non-matched routes (#18735)
- fix(replay): Ensure replays contain canvas rendering when resumed after inactivity (#18714)
- fix(tracing): add gen_ai.request.messages.original_length attributes (#18608)
- ref(nextjs): Drop
resolvedependency (#18618) - ref(react-router): Use snake_case for span op names (#18617)
Internal Changes
- chore(bun): Fix
install-bun.jsversion check and improve upgrade feedback (#18492) - chore(changelog): Fix typo (#18648)
- chore(craft): Use version templating for aws layer (#18675)
- chore(deps): Bump IITM to ^2.0.1 (#18599)
- chore(e2e-tests): Upgrade
@trpc/serverand@trpc/client(#18722) - chore(e2e): Unpin react-router-7-framework-spa to ^7.11.0 (#18551)
- chore(nextjs): Bump next version in dev deps (#18661)
- chore(node-tests): Upgrade
@langchain/core(#18720) - chore(react): Inline
hoist-non-react-staticspackage (#18102) - chore(size-limit): Add size checks for metrics and logs (#18573)
- chore(tests): Add unordered mode to cloudflare test runner (#18596)
- ci(deps): bump actions/cache from 4 to 5 (#18654)
- ci(deps): Bump actions/create-github-app-token from 2.2.0 to 2.2.1 (#18656)
- ci(deps): bump actions/upload-artifact from 5 to 6 (#18655)
- ci(deps): bump peter-evans/create-pull-request from 7.0.9 to 8.0.0 (#18657)
- doc: E2E testing documentation updates (#18649)
- ref(core): Extract and reuse
getCombinedScopeDatahelper (#18585) - ref(core): Remove dependence between
performance.timeOriginandperformance.timing.navigationStart(#18710) - ref(core): Streamline and test
browserPerformanceTimeOrigin(#18708) - ref(core): Strengthen
browserPerformanceTimeOriginreliability check (#18719) - ref(core): Use
serializeAttributesfor metric attribute serialization (#18582) - ref(node): Remove duplicate function
isCjs(#18662) - test(core): Improve unit test performance for offline transport tests (#18628)
- test(core): Use fake timers in promisebuffer tests to ensure deterministic behavior (#18659)
- test(e2e): Add e2e metrics tests in Next.js 16 (#18643)
- test(e2e): Pin agents package in cloudflare-mcp test (#18609)
- test(e2e): Pin solid/vue tanstack router to 1.41.8 (#18610)
- test(nestjs): Add canary test for latest ([#1868...
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 |