npm @sentry/react 10.32.0

23 hours ago

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, 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 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 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:

    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/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 * 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

Don't miss a new react release

NewReleases is sending notifications on new releases.