Important Changes
- feat(browser): Add
afterStartPageloadSpan
hook to improve spanId assignment on web vital spans (#16893)
This PR adds a new afterStartPageloadSpan lifecycle hook to more robustly assign the correct pageload span ID to web vital spans, replacing the previous unreliable "wait for a tick" approach with a direct callback that fires when the pageload span becomes available.
- feat(nextjs): Client-side parameterized routes (#16934)
This PR implements client-side parameterized routes for Next.js by leveraging an injected manifest within the existing app-router instrumentation to automatically parameterize all client-side transactions (e.g. users/123
and users/456
now become become users/:id
).
- feat(node): Drop 401-404 and 3xx status code spans by default (#16972)
This PR changes the default behavior in the Node SDK to drop HTTP spans with 401-404 and 3xx status codes by default to reduce noise in tracing data.
Other Changes
- feat(core): Prepend vercel ai attributes with
vercel.ai.X
(#16908) - feat(nextjs): Add
disableSentryWebpackConfig
flag (#17013) - feat(nextjs): Build app manifest (#16851)
- feat(nextjs): Inject manifest into client for turbopack builds (#16902)
- feat(nextjs): Inject manifest into client for webpack builds (#16857)
- feat(node-native): Add option to disable event loop blocked detection (#16919)
- feat(react-router): Ensure http.server route handling is consistent (#16986)
- fix(core): Avoid prolonging idle span when starting standalone span (#16928)
- fix(core): Remove side-effect from
tracing/errors.ts
(#16888) - fix(core): Wrap
beforeSendLog
inconsoleSandbox
(#16968) - fix(node-core): Apply correct SDK metadata (#17014)
- fix(react-router): Ensure that all browser spans have
source=route
(#16984)
Work in this release was contributed by @janpapenbrock. Thank you for your contribution!
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 23.32 KB |
@sentry/browser - with treeshaking flags | 21.83 KB |
@sentry/browser (incl. Tracing) | 38.82 KB |
@sentry/browser (incl. Tracing, Replay) | 76.05 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 66.03 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 80.65 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 92.46 KB |
@sentry/browser (incl. Feedback) | 39.63 KB |
@sentry/browser (incl. sendFeedback) | 27.89 KB |
@sentry/browser (incl. FeedbackAsync) | 32.67 KB |
@sentry/react | 25.01 KB |
@sentry/react (incl. Tracing) | 40.74 KB |
@sentry/vue | 27.65 KB |
@sentry/vue (incl. Tracing) | 40.56 KB |
@sentry/svelte | 23.34 KB |
CDN Bundle | 24.59 KB |
CDN Bundle (incl. Tracing) | 38.51 KB |
CDN Bundle (incl. Tracing, Replay) | 73.67 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 79.01 KB |
CDN Bundle - uncompressed | 71.82 KB |
CDN Bundle (incl. Tracing) - uncompressed | 114.25 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 225.76 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 238.27 KB |
@sentry/nextjs (client) | 42.72 KB |
@sentry/sveltekit (client) | 39.25 KB |
@sentry/node | 163.76 KB |
@sentry/node - without tracing | 97.98 KB |
@sentry/aws-serverless | 125.47 KB |