Releases: getsentry/sentry-javascript
9.17.0
- feat(node): Migrate to
@fastify/otel
(#15542)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 23.35 KB |
@sentry/browser - with treeshaking flags | 23.19 KB |
@sentry/browser (incl. Tracing) | 37.25 KB |
@sentry/browser (incl. Tracing, Replay) | 74.47 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.34 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 79.12 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 90.93 KB |
@sentry/browser (incl. Feedback) | 39.75 KB |
@sentry/browser (incl. sendFeedback) | 27.98 KB |
@sentry/browser (incl. FeedbackAsync) | 32.74 KB |
@sentry/react | 25.16 KB |
@sentry/react (incl. Tracing) | 39.24 KB |
@sentry/vue | 27.63 KB |
@sentry/vue (incl. Tracing) | 39.01 KB |
@sentry/svelte | 23.38 KB |
CDN Bundle | 24.55 KB |
CDN Bundle (incl. Tracing) | 37.29 KB |
CDN Bundle (incl. Tracing, Replay) | 72.33 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 77.64 KB |
CDN Bundle - uncompressed | 71.62 KB |
CDN Bundle (incl. Tracing) - uncompressed | 110.34 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 221.63 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 234.15 KB |
@sentry/nextjs (client) | 40.84 KB |
@sentry/sveltekit (client) | 37.73 KB |
@sentry/node | 151.37 KB |
@sentry/node - without tracing | 95.77 KB |
@sentry/aws-serverless | 120.16 KB |
9.16.1
- fix(core): Make sure logs get flushed in server-runtime-client (#16222)
- ref(node): Remove vercel flushing code that does nothing (#16217)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 23.35 KB |
@sentry/browser - with treeshaking flags | 23.19 KB |
@sentry/browser (incl. Tracing) | 37.25 KB |
@sentry/browser (incl. Tracing, Replay) | 74.47 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.34 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 79.12 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 90.93 KB |
@sentry/browser (incl. Feedback) | 39.75 KB |
@sentry/browser (incl. sendFeedback) | 27.98 KB |
@sentry/browser (incl. FeedbackAsync) | 32.74 KB |
@sentry/react | 25.16 KB |
@sentry/react (incl. Tracing) | 39.24 KB |
@sentry/vue | 27.63 KB |
@sentry/vue (incl. Tracing) | 39.01 KB |
@sentry/svelte | 23.38 KB |
CDN Bundle | 24.55 KB |
CDN Bundle (incl. Tracing) | 37.29 KB |
CDN Bundle (incl. Tracing, Replay) | 72.33 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 77.64 KB |
CDN Bundle - uncompressed | 71.62 KB |
CDN Bundle (incl. Tracing) - uncompressed | 110.34 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 221.63 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 234.15 KB |
@sentry/nextjs (client) | 40.84 KB |
@sentry/sveltekit (client) | 37.73 KB |
@sentry/node | 143.93 KB |
@sentry/node - without tracing | 95.77 KB |
@sentry/aws-serverless | 120.16 KB |
9.16.0
Important changes
- feat: Create a Vite plugin that injects sentryConfig into the global config (#16197)
Add a new plugin makeConfigInjectorPlugin
within our existing vite plugin that updates the global vite config with sentry options
- feat(browser): Add option to sample linked traces consistently (#16037)
This PR implements consistent sampling across traces as outlined in (#15754)
- feat(cloudflare): Add support for durable objects (#16180)
This PR introduces a new instrumentDurableObjectWithSentry
method to the SDK, which instruments durable objects. We capture both traces and errors automatically.
- feat(node): Add Prisma integration by default (#16073)
Prisma integration is enabled by default, it should work for both ESM and CJS.
- feat(react-router): Add client-side router instrumentation (#16185)
Adds client-side instrumentation for react router's HydratedRouter
. To enable it, simply replace browserTracingIntegration()
with reactRouterTracingIntegration()
in your client-side init call.
- fix(node): Avoid double-wrapping http module (#16177)
When running your application in ESM mode, there have been scenarios that resulted in the http
/https
emitting duplicate spans for incoming requests. This was apparently caused by us double-wrapping the modules for incoming request isolation.
In order to solve this problem, the modules are no longer monkey patched by us for request isolation. Instead, we register diagnosticschannel hooks to handle request isolation now.
While this is generally not expected to break anything, there is one tiny change that _may affect you if you have been relying on very specific functionality:
The ignoreOutgoingRequests
option of httpIntegration
receives the RequestOptions
as second argument. This type is not changed, however due to how the wrapping now works, we no longer pass through the full RequestOptions, but re-construct this partially based on the generated request. For the vast majority of cases, this should be fine, but for the sake of completeness, these are the only fields that may be available there going forward - other fields that may have existed before may no longer be set:
ignoreOutgoingRequests(url: string, {
method: string;
protocol: string;
host: string;
hostname: string; // same as host
path: string;
headers: OutgoingHttpHeaders;
})
Other changes
- feat(cloudflare): Add logs exports (#16165)
- feat(vercel-edge): Add logs export (#16166)
- feat(cloudflare): Read
SENTRY_RELEASE
fromenv
(#16201) - feat(node): Drop
http.server
spans with 404 status by default (#16205) - fix(browser): Respect manually set sentry tracing headers in XHR requests (#16184)
- fix(core): Respect manually set sentry tracing headers in fetch calls (#16183)
- fix(feedback): Prevent
removeFromDom()
from throwing (#16030) - fix(node): Use class constructor in docstring for winston transport (#16167)
- fix(node): Fix vercel flushing logic & add test for it (#16208)
- fix(node): Fix 404 route handling in express 5 (#16211)
- fix(logs): Ensure logs can be flushed correctly (#16216)
- ref(core): Switch to standardized log envelope (#16133)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 23.35 KB |
@sentry/browser - with treeshaking flags | 23.19 KB |
@sentry/browser (incl. Tracing) | 37.25 KB |
@sentry/browser (incl. Tracing, Replay) | 74.47 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.34 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 79.12 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 90.93 KB |
@sentry/browser (incl. Feedback) | 39.75 KB |
@sentry/browser (incl. sendFeedback) | 27.98 KB |
@sentry/browser (incl. FeedbackAsync) | 32.74 KB |
@sentry/react | 25.16 KB |
@sentry/react (incl. Tracing) | 39.24 KB |
@sentry/vue | 27.63 KB |
@sentry/vue (incl. Tracing) | 39.01 KB |
@sentry/svelte | 23.38 KB |
CDN Bundle | 24.55 KB |
CDN Bundle (incl. Tracing) | 37.29 KB |
CDN Bundle (incl. Tracing, Replay) | 72.33 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 77.64 KB |
CDN Bundle - uncompressed | 71.62 KB |
CDN Bundle (incl. Tracing) - uncompressed | 110.34 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 221.63 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 234.15 KB |
@sentry/nextjs (client) | 40.84 KB |
@sentry/sveltekit (client) | 37.73 KB |
@sentry/node | 144.43 KB |
@sentry/node - without tracing | 96.3 KB |
@sentry/aws-serverless | 120.66 KB |
9.15.0
Important Changes
- feat: Export
wrapMcpServerWithSentry
from server packages (#16127)
Exports the wrapMcpServerWithSentry which is our MCP server instrumentation from all the server packages.
- feat(core): Associate resource/tool/prompt invocations with request span instead of response span (#16126)
Adds a best effort mechanism to associate handler spans for resource
, tool
and prompt
with the incoming message requests instead of the outgoing SSE response.
Other Changes
- fix: Vercel
ai
ESM patching (#16152) - fix(node): Update version range for
module.register
(#16125) - fix(react-router): Spread
unstable_sentryVitePluginOptions
correctly (#16156) - fix(react): Fix Redux integration failing with reducer injection (#16106)
- fix(remix): Add ESM-compatible exports (#16124)
- fix(remix): Avoid rewrapping root loader. (#16136)
Work in this release was contributed by @AntoineDuComptoirDesPharmacies. Thank you for your contribution!
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 23.28 KB |
@sentry/browser - with treeshaking flags | 23.1 KB |
@sentry/browser (incl. Tracing) | 36.93 KB |
@sentry/browser (incl. Tracing, Replay) | 74.1 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 67.47 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 78.76 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 90.58 KB |
@sentry/browser (incl. Feedback) | 39.68 KB |
@sentry/browser (incl. sendFeedback) | 27.9 KB |
@sentry/browser (incl. FeedbackAsync) | 32.67 KB |
@sentry/react | 25.09 KB |
@sentry/react (incl. Tracing) | 38.93 KB |
@sentry/vue | 27.5 KB |
@sentry/vue (incl. Tracing) | 38.69 KB |
@sentry/svelte | 23.31 KB |
CDN Bundle | 24.49 KB |
CDN Bundle (incl. Tracing) | 36.96 KB |
CDN Bundle (incl. Tracing, Replay) | 72 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 77.3 KB |
CDN Bundle - uncompressed | 71.5 KB |
CDN Bundle (incl. Tracing) - uncompressed | 109.33 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 220.62 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 233.15 KB |
@sentry/nextjs (client) | 40.51 KB |
@sentry/sveltekit (client) | 37.41 KB |
@sentry/node | 143.4 KB |
@sentry/node - without tracing | 96.49 KB |
@sentry/aws-serverless | 120.81 KB |
9.14.0
Important Changes
- feat: Add Supabase Integration (#15719)
This PR adds Supabase integration to @sentry/core
, allowing automatic instrumentation of Supabase client operations (database queries and authentication) for performance monitoring and error tracking.
- feat(nestjs): Gracefully handle RPC scenarios in
SentryGlobalFilter
(#16066)
This PR adds better RPC exception handling to @sentry/nestjs
, preventing application crashes while still capturing errors and warning users when a dedicated filter is needed. The implementation gracefully handles the 'rpc' context type in SentryGlobalFilter
to improve reliability in hybrid applications.
- feat(react-router): Trace propagation (#16070)
This PR adds trace propagation to @sentry/react-router
by providing utilities to inject trace meta tags into HTML headers and offering a pre-built Sentry-instrumented request handler, improving distributed tracing capabilities across page loads.
Other Changes
- feat(deps): Bump @prisma/instrumentation from 6.5.0 to 6.6.0 (#16102)
- feat(nextjs): Improve server component data (#15996)
- feat(nuxt): Log when adding HTML trace meta tags (#16044)
- fix(node): Make body capturing more robust (#16105)
- ref(node): Log when incoming request bodies are being captured (#16104)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 23.28 KB |
@sentry/browser - with treeshaking flags | 23.12 KB |
@sentry/browser (incl. Tracing) | 36.99 KB |
@sentry/browser (incl. Tracing, Replay) | 74.17 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 67.55 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 78.83 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 90.65 KB |
@sentry/browser (incl. Feedback) | 39.68 KB |
@sentry/browser (incl. sendFeedback) | 27.9 KB |
@sentry/browser (incl. FeedbackAsync) | 32.67 KB |
@sentry/react | 25.09 KB |
@sentry/react (incl. Tracing) | 38.91 KB |
@sentry/vue | 27.51 KB |
@sentry/vue (incl. Tracing) | 38.71 KB |
@sentry/svelte | 23.32 KB |
CDN Bundle | 24.5 KB |
CDN Bundle (incl. Tracing) | 36.98 KB |
CDN Bundle (incl. Tracing, Replay) | 72 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 77.16 KB |
CDN Bundle - uncompressed | 71.49 KB |
CDN Bundle (incl. Tracing) - uncompressed | 109.34 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 220.63 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 233.16 KB |
@sentry/nextjs (client) | 40.54 KB |
@sentry/sveltekit (client) | 37.44 KB |
@sentry/node | 143.37 KB |
@sentry/node - without tracing | 96.51 KB |
@sentry/aws-serverless | 120.83 KB |
9.13.0
Important Changes
-
feat(node): Add support for winston logger (#15983)
Sentry is adding support for structured logging. In this release we've added support for sending logs to Sentry via the winston logger to the Sentry Node SDK (and SDKs that use the Node SDK under the hood like
@sentry/nestjs
). The Logging APIs in the Sentry SDK are still experimental and subject to change.const winston = require('winston'); const Transport = require('winston-transport'); const transport = Sentry.createSentryWinstonTransport(Transport); const logger = winston.createLogger({ transports: [transport], });
-
feat(core): Add
wrapMcpServerWithSentry
to instrument MCP servers from@modelcontextprotocol/sdk
(#16032)The Sentry SDK now supports instrumenting MCP servers from the
@modelcontextprotocol/sdk
package. Compatible with versions^1.9.0
of the@modelcontextprotocol/sdk
package.import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; // Create an MCP server const server = new McpServer({ name: 'Demo', version: '1.0.0', }); // Use the instrumented server in your application const instrumentedServer = Sentry.wrapMcpServerWithSentry(server);
-
feat(core): Move console integration into core and add to cloudflare/vercel-edge (#16024)
Console instrumentation has been added to
@sentry/cloudflare
and@sentry/nextjs
Edge Runtime and is enabled by default. Now calls to the console object will be captured as breadcrumbs for those SDKs. -
feat(bun): Support new
Bun.serve
APIs (#16035)Bun
1.2.6
and above have a newBun.serve
API, which the Bun SDK now supports. The SDK instruments the new routes object that can be used to define routes for the server.Thanks to @Jarred-Sumner for helping us get this supported!
Other Changes
- feat(browser): Warn on duplicate
browserTracingIntegration
(#16042) - feat(core): Allow delayed sending with offline transport (#15937)
- feat(deps): Bump @sentry/webpack-plugin from 3.2.4 to 3.3.1 (#16057)
- feat(vue): Apply stateTransformer to attachments in Pinia Plugin (#16034)
- fix(core): Run
beforeSendLog
after we process log (#16019) - fix(nextjs): Don't show turbopack warning for newer Next.js canaries (#16065)
- fix(nextjs): Include patch version 0 for min supported 15.3.0 (#16026)
- fix(node): Ensure late init works with all integrations (#16016)
- fix(react-router): Pass
unstable_sentryVitePluginOptions
to cli instance (#16033) - fix(serverless-aws): Overwrite root span name with GraphQL if set (#16010)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 23.28 KB |
@sentry/browser - with treeshaking flags | 23.12 KB |
@sentry/browser (incl. Tracing) | 36.99 KB |
@sentry/browser (incl. Tracing, Replay) | 74.17 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 67.55 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 78.83 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 90.65 KB |
@sentry/browser (incl. Feedback) | 39.68 KB |
@sentry/browser (incl. sendFeedback) | 27.9 KB |
@sentry/browser (incl. FeedbackAsync) | 32.67 KB |
@sentry/react | 25.09 KB |
@sentry/react (incl. Tracing) | 38.91 KB |
@sentry/vue | 27.51 KB |
@sentry/vue (incl. Tracing) | 38.71 KB |
@sentry/svelte | 23.32 KB |
CDN Bundle | 24.51 KB |
CDN Bundle (incl. Tracing) | 36.98 KB |
CDN Bundle (incl. Tracing, Replay) | 72.03 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 77.18 KB |
CDN Bundle - uncompressed | 71.47 KB |
CDN Bundle (incl. Tracing) - uncompressed | 109.34 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 220.63 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 233.16 KB |
@sentry/nextjs (client) | 40.53 KB |
@sentry/sveltekit (client) | 37.44 KB |
@sentry/node | 143.33 KB |
@sentry/node - without tracing | 96.47 KB |
@sentry/aws-serverless | 120.77 KB |
9.12.0
Important Changes
-
feat(feedback): Implement highlighting and hiding controls for screenshots (#15951)
The Sentry SDK now supports highlighting and hiding controls for screenshots in user feedback reports. This functionality is enabled by default.
-
feat(node): Add
ignoreIncomingRequestBody
callback tohttpIntegration
(#15959)The
httpIntegration
now supports an optionalignoreIncomingRequestBody
callback that can be used to skip capturing the body of incoming requests.Sentry.init({ integrations: [ Sentry.httpIntegration({ ignoreIncomingRequestBody: (url, request) => { return request.method === 'GET' && url.includes('/api/large-payload'); }, }), ], });
The
ignoreIncomingRequestBody
callback receives the URL of the request and should returntrue
if the body should be ignored. -
Logging Improvements
Sentry is adding support for structured logging. In this release we've made a variety of improvements to logging functionality in the Sentry SDKs.
- feat(node): Add server.address to nodejs logs (#16006)
- feat(core): Add sdk name and version to logs (#16005)
- feat(core): Add sentry origin attribute to console logs integration (#15998)
- fix(core): Do not abbreviate message parameter attribute (#15987)
- fix(core): Prefix release and environment correctly (#15999)
- fix(node): Make log flushing logic more robust (#15991)
Other Changes
- build(aws-serverless): Include debug logs in lambda layer SDK bundle (#15974)
- feat(astro): Add tracking of errors during HTML streaming (#15995)
- feat(browser): Add
onRequestSpanStart
hook to browser tracing integration (#15979) - feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 (#16001)
- feat(nextjs): Add
captureRouterTransitionStart
hook for capturing navigations (#15981) - feat(nextjs): Mark clientside prefetch request spans with
http.request.prefetch: true
attribute (#15980) - feat(nextjs): Un experimentify
clientInstrumentationHook
(#15992) - feat(nextjs): Warn when client was initialized more than once (#15971)
- feat(node): Add support for
SENTRY_DEBUG
env variable (#15972) - fix(tss-react): Change
authToken
type tostring
(#15985)
Work in this release was contributed by @Page- and @Fryuni. Thank you for your contributions!
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 23.28 KB |
@sentry/browser - with treeshaking flags | 23.12 KB |
@sentry/browser (incl. Tracing) | 36.95 KB |
@sentry/browser (incl. Tracing, Replay) | 74.14 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 67.51 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 78.8 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 90.61 KB |
@sentry/browser (incl. Feedback) | 39.68 KB |
@sentry/browser (incl. sendFeedback) | 27.9 KB |
@sentry/browser (incl. FeedbackAsync) | 32.67 KB |
@sentry/react | 25.09 KB |
@sentry/react (incl. Tracing) | 38.87 KB |
@sentry/vue | 27.51 KB |
@sentry/vue (incl. Tracing) | 38.67 KB |
@sentry/svelte | 23.32 KB |
CDN Bundle | 24.51 KB |
CDN Bundle (incl. Tracing) | 36.95 KB |
CDN Bundle (incl. Tracing, Replay) | 71.99 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 77.16 KB |
CDN Bundle - uncompressed | 71.47 KB |
CDN Bundle (incl. Tracing) - uncompressed | 109.23 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 220.52 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 233.05 KB |
@sentry/nextjs (client) | 40.49 KB |
@sentry/sveltekit (client) | 37.39 KB |
@sentry/node | 143.03 KB |
@sentry/node - without tracing | 96.24 KB |
@sentry/aws-serverless | 120.58 KB |
9.11.0
- feat(browser): Add
http.redirect_count
attribute tobrowser.redirect
span (#15943) - feat(core): Add
consoleLoggingIntegration
for logs (#15955) - feat(core): Don't truncate error messages (#15818)
- feat(nextjs): Add release injection in Turbopack (#15958)
- feat(nextjs): Record
turbopack
as tag (#15928) - feat(nuxt): Base decision on source maps upload only on Nuxt source map settings (#15859)
- feat(react-router): Add
sentryHandleRequest
(#15787) - fix(node): Use
module
instead ofrequire
for CJS check (#15927) - fix(remix): Remove mentions of deprecated
ErrorBoundary
wrapper (#15930) - ref(browser): Temporarily add
sentry.previous_trace
span attribute (#15957) - ref(browser/core): Move all log flushing logic into clients (#15831)
- ref(core): Improve URL parsing utilities (#15882)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 23.2 KB |
@sentry/browser - with treeshaking flags | 23.02 KB |
@sentry/browser (incl. Tracing) | 36.83 KB |
@sentry/browser (incl. Tracing, Replay) | 73.99 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 67.39 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 78.66 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 91.22 KB |
@sentry/browser (incl. Feedback) | 40.33 KB |
@sentry/browser (incl. sendFeedback) | 27.83 KB |
@sentry/browser (incl. FeedbackAsync) | 32.63 KB |
@sentry/react | 25 KB |
@sentry/react (incl. Tracing) | 38.75 KB |
@sentry/vue | 27.41 KB |
@sentry/vue (incl. Tracing) | 38.55 KB |
@sentry/svelte | 23.23 KB |
CDN Bundle | 24.44 KB |
CDN Bundle (incl. Tracing) | 36.85 KB |
CDN Bundle (incl. Tracing, Replay) | 71.87 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 77.07 KB |
CDN Bundle - uncompressed | 71.24 KB |
CDN Bundle (incl. Tracing) - uncompressed | 108.94 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 220.23 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 232.8 KB |
@sentry/nextjs (client) | 40.06 KB |
@sentry/sveltekit (client) | 37.26 KB |
@sentry/node | 142.88 KB |
@sentry/node - without tracing | 96.08 KB |
@sentry/aws-serverless | 120.43 KB |
9.10.1
- fix: Correct @sentry-internal/feedback docs to match the code (#15874)
- deps: Bump bundler plugins to version
3.2.4
(#15909)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 23.08 KB |
@sentry/browser - with treeshaking flags | 22.88 KB |
@sentry/browser (incl. Tracing) | 36.49 KB |
@sentry/browser (incl. Tracing, Replay) | 73.65 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 67 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 78.3 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 90.87 KB |
@sentry/browser (incl. Feedback) | 40.21 KB |
@sentry/browser (incl. sendFeedback) | 27.71 KB |
@sentry/browser (incl. FeedbackAsync) | 32.5 KB |
@sentry/react | 24.86 KB |
@sentry/react (incl. Tracing) | 38.39 KB |
@sentry/vue | 27.3 KB |
@sentry/vue (incl. Tracing) | 38.18 KB |
@sentry/svelte | 23.12 KB |
CDN Bundle | 24.33 KB |
CDN Bundle (incl. Tracing) | 36.51 KB |
CDN Bundle (incl. Tracing, Replay) | 71.53 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 76.71 KB |
CDN Bundle - uncompressed | 70.93 KB |
CDN Bundle (incl. Tracing) - uncompressed | 108.11 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 219.4 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 231.97 KB |
@sentry/nextjs (client) | 39.68 KB |
@sentry/sveltekit (client) | 36.92 KB |
@sentry/node | 142.91 KB |
@sentry/node - without tracing | 96.12 KB |
@sentry/aws-serverless | 120.46 KB |
9.10.0
Important Changes
-
feat: Add support for logs
- feat(node): Add logging public APIs to Node SDKs (#15764)
- feat(core): Add support for
beforeSendLog
(#15814) - feat(core): Add support for parameterizing logs (#15812)
- fix: Remove critical log severity level (#15824)
All JavaScript SDKs other than
@sentry/cloudflare
and@sentry/deno
now support sending logs via dedicated methods as part of Sentry's upcoming logging product.Logging is gated by an experimental option,
_experiments.enableLogs
.Sentry.init({ dsn: 'PUBLIC_DSN', // `enableLogs` must be set to true to use the logging features _experiments: { enableLogs: true }, }); const { trace, debug, info, warn, error, fatal, fmt } = Sentry.logger; trace('Starting database connection', { database: 'users' }); debug('Cache miss for user', { userId: 123 }); error('Failed to process payment', { orderId: 'order_123', amount: 99.99 }); fatal('Database connection pool exhausted', { database: 'users', activeConnections: 100 }); // Structured logging via the `fmt` helper function. When you use `fmt`, the string template and parameters are sent separately so they can be queried independently in Sentry. info(fmt(`Updated profile for user ${userId}`)); warn(fmt(`Rate limit approaching for endpoint ${endpoint}. Requests: ${requests}, Limit: ${limit}`));
With server-side SDKs like
@sentry/node
,@sentry/bun
or server-side of@sentry/nextjs
or@sentry/sveltekit
, you can do structured logging without needing thefmt
helper function.const { info, warn } = Sentry.logger; info('User %s logged in successfully', [123]); warn('Failed to load user %s data', [123], { errorCode: 404 });
To filter logs, or update them before they are sent to Sentry, you can use the
_experiments.beforeSendLog
option. -
feat(browser): Add
diagnoseSdkConnectivity()
function to programmatically detect possible connectivity issues (#15821)The
diagnoseSdkConnectivity()
function can be used to programmatically detect possible connectivity issues with the Sentry SDK.const result = await Sentry.diagnoseSdkConnectivity();
The result will be an object with the following properties:
"no-client-active"
: There was no active client when the function was called. This possibly means that the SDK was not initialized yet."sentry-unreachable"
: The Sentry SaaS servers were not reachable. This likely means that there is an ad blocker active on the page or that there are other connection issues.undefined
: The SDK is working as expected.
-
SDK Tracing Performance Improvements for Node SDKs
- feat: Stop using
dropUndefinedKeys
(#15796) - feat(node): Only add span listeners for instrumentation when used (#15802)
- ref: Avoid
dropUndefinedKeys
forspanToJSON
calls (#15792) - ref: Avoid using
SentryError
for PromiseBuffer control flow (#15822) - ref: Stop using
dropUndefinedKeys
in SpanExporter (#15794) - ref(core): Avoid using
SentryError
for event processing control flow (#15823) - ref(node): Avoid
dropUndefinedKeys
in Node SDK init (#15797) - ref(opentelemetry): Avoid sampling work for non-root spans (#15820)
We've been hard at work making performance improvements to the Sentry Node SDKs (
@sentry/node
,@sentry/aws-serverless
,@sentry/nestjs
, etc.). We've seen that upgrading from9.7.0
to9.10.0
leads to 30-40% improvement in request latency for HTTP web-server applications that use tracing with high sample rates. Non web-server applications and non-tracing applications will see smaller improvements. - feat: Stop using
Other Changes
- chore(deps): Bump
rrweb
to2.35.0
(#15825) - deps: Bump bundler plugins to
3.2.3
(#15829) - feat: Always truncate stored breadcrumb messages to 2kb (#15819)
- feat(nextjs): Disable server webpack-handling for static builds (#15751)
- fix(nuxt): Don't override Nuxt options if undefined (#15795)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 23.08 KB |
@sentry/browser - with treeshaking flags | 22.88 KB |
@sentry/browser (incl. Tracing) | 36.49 KB |
@sentry/browser (incl. Tracing, Replay) | 73.65 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 67 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 78.3 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 90.87 KB |
@sentry/browser (incl. Feedback) | 40.21 KB |
@sentry/browser (incl. sendFeedback) | 27.71 KB |
@sentry/browser (incl. FeedbackAsync) | 32.5 KB |
@sentry/react | 24.86 KB |
@sentry/react (incl. Tracing) | 38.39 KB |
@sentry/vue | 27.3 KB |
@sentry/vue (incl. Tracing) | 38.18 KB |
@sentry/svelte | 23.12 KB |
CDN Bundle | 24.33 KB |
CDN Bundle (incl. Tracing) | 36.51 KB |
CDN Bundle (incl. Tracing, Replay) | 71.53 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 76.71 KB |
CDN Bundle - uncompressed | 70.93 KB |
CDN Bundle (incl. Tracing) - uncompressed | 108.11 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 219.4 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 231.97 KB |
@sentry/nextjs (client) | 39.68 KB |
@sentry/sveltekit (client) | 36.92 KB |
@sentry/node | 142.91 KB |
@sentry/node - without tracing | 96.12 KB |
@sentry/aws-serverless | 120.46 KB |