Releases: getsentry/sentry-javascript
8.28.0
Important Changes
- Beta release of official NestJS SDK
This release contains the beta version of @sentry/nestjs
! For details on how to use it, check out the
README. Any feedback/bug reports
are greatly appreciated, please reach out on GitHub.
- fix(browser): Remove faulty LCP, FCP and FP normalization logic (#13502)
This release fixes a bug in the @sentry/browser
package and all SDKs depending on this package (e.g. @sentry/react
or @sentry/nextjs
) that caused the SDK to send incorrect web vital values for the LCP, FCP and FP vitals. The SDK
previously incorrectly processed the original values as they were reported from the browser. When updating your SDK to
this version, you might experience an increase in LCP, FCP and FP values, which potentially leads to a decrease in your
performance score in the Web Vitals Insights module in Sentry. This is because the previously reported values were
smaller than the actually measured values. We apologize for the inconvenience!
Other Changes
- feat(nestjs): Add
SentryGlobalGraphQLFilter
(#13545) - feat(nestjs): Automatic instrumentation of nestjs interceptors after route execution (#13264)
- feat(nextjs): Add
bundleSizeOptimizations
to build options (#13323) - feat(nextjs): Stabilize
captureRequestError
(#13550) - feat(nuxt): Wrap config in nuxt context (#13457)
- feat(profiling): Expose profiler as top level primitive (#13512)
- feat(replay): Add layout shift to CLS replay data (#13386)
- feat(replay): Upgrade rrweb packages to 2.26.0 (#13483)
- fix(cdn): Do not mangle _metadata (#13426)
- fix(cdn): Fix SDK source for CDN bundles (#13475)
- fix(nestjs): Check arguments before instrumenting with
@Injectable
(#13544) - fix(nestjs): Ensure exception and host are correctly passed on when using @WithSentry (#13564)
- fix(node): Suppress tracing for transport request execution rather than transport creation (#13491)
- fix(replay): Consider more things as DOM mutations for dead clicks (#13518)
- fix(vue): Correctly obtain component name (#13484)
Work in this release was contributed by @leopoldkristjansson, @mhuggins and @filips123. Thank you for your
contributions!
8.27.0
Important Changes
-
fix(nestjs): Exception filters in main app module are not being executed (#13278)
With this release nestjs error monitoring is no longer automatically set up after adding the
SentryModule
to your
application, which led to issues in certain scenarios. You will now have to either add theSentryGlobalFilter
to
your main module providers or decorate thecatch()
method in your existing global exception filters with the newly
released@WithSentry()
decorator. See the docs for
more details.
Other Changes
- feat: Add options for passing nonces to feedback integration (#13347)
- feat: Add support for SENTRY_SPOTLIGHT env var in Node (#13325)
- feat(deps): bump @prisma/instrumentation from 5.17.0 to 5.18.0 (#13327)
- feat(feedback): Improve error message for 403 errors (#13441)
- fix(deno): Don't rely on
Deno.permissions.querySync
(#13378) - fix(replay): Ensure we publish replay CDN bundles (#13437)
Work in this release was contributed by @charpeni. Thank you for your contribution!
7.119.0
- backport(tracing): Report dropped spans for transactions (#13343)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay, Feedback) - Webpack (gzipped) | 80.96 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 71.89 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) - Webpack (gzipped) | 76.14 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) | 65.52 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 35.77 KB |
@sentry/browser (incl. browserTracingIntegration) - Webpack (gzipped) | 35.66 KB |
@sentry/browser (incl. Feedback) - Webpack (gzipped) | 31.71 KB |
@sentry/browser (incl. sendFeedback) - Webpack (gzipped) | 31.72 KB |
@sentry/browser - Webpack (gzipped) | 22.91 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) | 79.17 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 70.49 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 36.17 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 25.41 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 221.92 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 109.52 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 76.24 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 39.45 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 72.4 KB |
@sentry/react - Webpack (gzipped) | 22.94 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 90.16 KB |
@sentry/nextjs Client - Webpack (gzipped) | 54.27 KB |
@sentry-internal/feedback - Webpack (gzipped) | 17.34 KB |
8.26.0
Important Changes
-
feat(node): Add
fsInstrumentation
(#13291)This release adds
fsIntegration
, an integration that instruments thefs
API to the Sentry Node SDK. The
integration creates spans with naming patterns offs.readFile
,fs.unlink
, and so on.This integration is not enabled by default and needs to be registered in your
Sentry.init
call. You can configure
via options whether to include path arguments or error messages as span attributes when an fs call fails:Sentry.init({ integrations: [ Sentry.fsIntegration({ recordFilePaths: true, recordErrorMessagesAsSpanAttributes: true, }), ], });
WARNING: This integration may add significant overhead to your application. Especially in scenarios with a lot of
file I/O, like for example when running a framework dev server, including this integration can massively slow down
your application.
Other Changes
-
feat(browser): Add spotlightBrowser integration (#13263)
-
feat(browser): Allow sentry in safari extension background page (#13209)
-
feat(browser): Send CLS as standalone span (experimental) (#13056)
-
feat(core): Add OpenTelemetry-specific
getTraceData
implementation (#13281) -
feat(nextjs): Always add
browserTracingIntegration
(#13324) -
feat(nextjs): Always transmit trace data to the client (#13337)
-
feat(nextjs): export SentryBuildOptions (#13296)
-
feat(nextjs): Update
experimental_captureRequestError
to reflectRequestInfo.path
change in Next.js canary
(#13344) -
feat(nuxt): Always add tracing meta tags (#13273)
-
feat(nuxt): Set transaction name for server error (#13292)
-
feat(replay): Add a replay-specific logger (#13256)
-
feat(sveltekit): Add bundle size optimizations to plugin options (#13318)
-
feat(sveltekit): Always add browserTracingIntegration (#13322)
-
feat(tracing): Make long animation frames opt-out (#13255)
-
fix(astro): Correctly extract request data (#13315)
-
fix(astro): Only track access request headers in dynamic page requests (#13306)
-
fix(nuxt): Add import line for disabled
autoImport
(#13342) -
fix(nuxt): Add vue to excludeEsmLoaderHooks array (#13346)
-
fix(opentelemetry): Do not overwrite http span name if kind is internal (#13282)
-
fix(remix): Ensure
origin
is correctly set for remix server spans (#13305)
Work in this release was contributed by @MonstraG, @undead-voron and @Zen-cronic. Thank you for your contributions!
8.25.0
Important Changes
- Alpha release of Official Solid Start SDK
This release contains the alpha version of @sentry/solidstart
, our SDK for Solid Start!
For details on how to use it, please see the README. Any feedback/bug reports are
greatly appreciated, please reach out on GitHub.
Other Changes
- feat(astro): Add
bundleSizeOptimizations
vite options to integration (#13250) - feat(astro): Always add BrowserTracing (#13244)
- feat(core): Add
getTraceMetaTags
function (#13201) - feat(nestjs): Automatic instrumentation of nestjs exception filters (#13230)
- feat(node): Add
useOperationNameForRootSpan
tographqlIntegration
(#13248) - feat(sveltekit): Add
wrapServerRouteWithSentry
wrapper (#13247) - fix(aws-serverless): Extract sentry trace data from handler
context
overevent
(#13266) - fix(browser): Initialize default integration if
defaultIntegrations: undefined
(#13261) - fix(utils): Streamline IP capturing on incoming requests (#13272)
8.24.0
8.23.0
Important Changes
- feat(cloudflare): Add Cloudflare D1 instrumentation (#13142)
This release includes support for Cloudflare D1, Cloudflare's serverless SQL database. To instrument your Cloudflare D1
database, use the instrumentD1WithSentry
method as follows:
// env.DB is the D1 DB binding configured in your `wrangler.toml`
const db = instrumentD1WithSentry(env.DB);
// Now you can use the database as usual
await db.prepare('SELECT * FROM table WHERE id = ?').bind(1).run();
Other Changes
- feat(cloudflare): Allow users to pass handler to sentryPagesPlugin (#13192)
- feat(cloudflare): Instrument scheduled handler (#13114)
- feat(core): Add
getTraceData
function (#13134) - feat(nestjs): Automatic instrumentation of nestjs interceptors before route execution (#13153)
- feat(nestjs): Automatic instrumentation of nestjs pipes (#13137)
- feat(nuxt): Filter out Nuxt build assets (#13148)
- feat(profiling): Attach sdk info to chunks (#13145)
- feat(solidstart): Add sentry
onBeforeResponse
middleware to enable distributed tracing (#13221) - feat(solidstart): Filter out low quality transactions for build assets (#13222)
- fix(browser): Avoid showing browser extension error message in non-
window
global scopes (#13156) - fix(feedback): Call dialog.close() in dialog close callbacks in
\_loadAndRenderDialog
(#13203) - fix(nestjs): Inline Observable type to resolve missing 'rxjs' dependency (#13166)
- fix(nuxt): Detect pageload by adding flag in Vue router (#13171)
- fix(utils): Handle when requests get aborted in fetch instrumentation (#13202)
- ref(browser): Improve browserMetrics collection (#13062)
Work in this release was contributed by @horochx. Thank you for your contribution!
8.22.0
Important Changes
- feat(cloudflare): Add plugin for cloudflare pages (#13123)
This release adds support for Cloudflare Pages to @sentry/cloudflare
, our SDK for the
Cloudflare Workers JavaScript Runtime! For details on how to use it,
please see the README. Any feedback/bug reports are greatly appreciated, please
reach out on GitHub.
// functions/_middleware.js
import * as Sentry from '@sentry/cloudflare';
export const onRequest = Sentry.sentryPagesPlugin({
dsn: __PUBLIC_DSN__,
// Set tracesSampleRate to 1.0 to capture 100% of spans for tracing.
tracesSampleRate: 1.0,
});
Other Changes
- feat(meta-sdks): Remove runtime tags (#13105)
- feat(nestjs): Automatic instrumentation of nestjs guards (#13129)
- feat(nestjs): Filter all HttpExceptions (#13120)
- feat(replay): Capture exception when
internal_sdk_error
client report happens (#13072) - fix: Use
globalThis
for code injection (#13132)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 22.45 KB |
@sentry/browser (incl. Tracing) | 34.22 KB |
@sentry/browser (incl. Tracing, Replay) | 70.28 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 63.62 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 74.68 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 87.26 KB |
@sentry/browser (incl. Tracing, Replay, Feedback, metrics) | 89.11 KB |
@sentry/browser (incl. metrics) | 26.75 KB |
@sentry/browser (incl. Feedback) | 39.37 KB |
@sentry/browser (incl. sendFeedback) | 27.06 KB |
@sentry/browser (incl. FeedbackAsync) | 31.7 KB |
@sentry/react | 25.22 KB |
@sentry/react (incl. Tracing) | 37.22 KB |
@sentry/vue | 26.6 KB |
@sentry/vue (incl. Tracing) | 36.06 KB |
@sentry/svelte | 22.58 KB |
CDN Bundle | 23.64 KB |
CDN Bundle (incl. Tracing) | 35.88 KB |
CDN Bundle (incl. Tracing, Replay) | 70.31 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 75.57 KB |
CDN Bundle - uncompressed | 69.37 KB |
CDN Bundle (incl. Tracing) - uncompressed | 106.31 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 218.16 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 230.99 KB |
@sentry/nextjs (client) | 37.07 KB |
@sentry/sveltekit (client) | 34.79 KB |
@sentry/node | 114.65 KB |
@sentry/node - without tracing | 89.33 KB |
@sentry/aws-serverless | 98.5 KB |
8.21.0
Important Changes
- Alpha release of Official Cloudflare SDK
This release contains the alpha version of @sentry/cloudflare
, our SDK for the
Cloudflare Workers JavaScript Runtime! For details on how to use it,
please see the README. Any feedback/bug reports are greatly appreciated, please
reach out on GitHub.
Please note that only Cloudflare Workers are tested and supported - official Cloudflare Pages support will come in an
upcoming release.
Other Changes
- feat(feedback): Make cropped screenshot area draggable (#13071)
- feat(core): Adapt spans for client-side fetch to streaming responses (#12723)
- feat(core): Capture # of dropped spans through
beforeSendTransaction
(#13022) - feat(deps): bump
@opentelemetry/instrumentation-aws-sdk
from 0.43.0 to 0.43.1 (#13089) - feat(deps): bump
@opentelemetry/instrumentation-express
from 0.41.0 to 0.41.1 (#13090) - feat(nestjs): Automatic instrumentation of nestjs middleware (#13065)
- feat(node): Upgrade
import-in-the-middle
to 1.11.0 (#13107) - feat(nuxt): Add connected tracing meta tags (#13098)
- feat(nuxt): Add vue-router instrumentation (#13054)
- feat(solidstart): Add server action instrumentation helper (#13035)
- fix(feedback): Ensure pluggable feedback CDN bundle is correctly built (#13081)
- fix(nextjs): Only delete clientside bundle source maps with
sourcemaps.deleteFilesAfterUpload
(#13102) - fix(node): Improve OTEL validation logic (#13079)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 22.45 KB |
@sentry/browser (incl. Tracing) | 34.22 KB |
@sentry/browser (incl. Tracing, Replay) | 70.26 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 63.59 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 74.66 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 87.24 KB |
@sentry/browser (incl. Tracing, Replay, Feedback, metrics) | 89.08 KB |
@sentry/browser (incl. metrics) | 26.75 KB |
@sentry/browser (incl. Feedback) | 39.37 KB |
@sentry/browser (incl. sendFeedback) | 27.06 KB |
@sentry/browser (incl. FeedbackAsync) | 31.7 KB |
@sentry/react | 25.22 KB |
@sentry/react (incl. Tracing) | 37.22 KB |
@sentry/vue | 26.6 KB |
@sentry/vue (incl. Tracing) | 36.06 KB |
@sentry/svelte | 22.58 KB |
CDN Bundle | 23.64 KB |
CDN Bundle (incl. Tracing) | 35.88 KB |
CDN Bundle (incl. Tracing, Replay) | 70.27 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 75.53 KB |
CDN Bundle - uncompressed | 69.37 KB |
CDN Bundle (incl. Tracing) - uncompressed | 106.31 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 217.95 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 230.78 KB |
@sentry/nextjs (client) | 37.08 KB |
@sentry/sveltekit (client) | 34.81 KB |
@sentry/node | 114.55 KB |
@sentry/node - without tracing | 89.33 KB |
@sentry/aws-serverless | 98.5 KB |
8.20.0
Important Changes
- feat(node): Allow to pass
registerEsmLoaderHooks
to preload (#12998)
You can write your own custom preload script and configure this in the preload options. registerEsmLoaderHooks
can be
passed as an option to preloadOpenTelemetry
, which allows to exclude/include packages in the preload.
- fix(node): Do not emit fetch spans when tracing is disabled (#13003)
Sentry will not emit "fetch" spans if tracing is disabled. This is relevant for user who use their own sampler.
Other Changes
- feat(feedback): Trigger button aria label configuration (#13008)
- feat(nestjs): Change nest sdk setup (#12920)
- feat(node): Extend ESM hooks options for iitm v1.10.0 (#13016)
- feat(node): Send client reports (#12951)
- feat(nuxt): Automatically add BrowserTracing (#13005)
- feat(nuxt): Setup source maps with vite config (#13018)
- feat(replay): Improve public Replay APIs (#13000)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 22.31 KB |
@sentry/browser (incl. Tracing) | 33.72 KB |
@sentry/browser (incl. Tracing, Replay) | 69.82 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 63.16 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 74.21 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 86.58 KB |
@sentry/browser (incl. Tracing, Replay, Feedback, metrics) | 88.45 KB |
@sentry/browser (incl. metrics) | 26.62 KB |
@sentry/browser (incl. Feedback) | 39.02 KB |
@sentry/browser (incl. sendFeedback) | 26.93 KB |
@sentry/browser (incl. FeedbackAsync) | 31.57 KB |
@sentry/react | 25.08 KB |
@sentry/react (incl. Tracing) | 36.8 KB |
@sentry/vue | 26.45 KB |
@sentry/vue (incl. Tracing) | 35.61 KB |
@sentry/svelte | 22.44 KB |
CDN Bundle | 23.52 KB |
CDN Bundle (incl. Tracing) | 35.5 KB |
CDN Bundle (incl. Tracing, Replay) | 69.86 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 75.15 KB |
CDN Bundle - uncompressed | 69 KB |
CDN Bundle (incl. Tracing) - uncompressed | 105.1 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 216.74 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 229.57 KB |
@sentry/nextjs (client) | 36.66 KB |
@sentry/sveltekit (client) | 34.39 KB |
@sentry/node | 111.76 KB |
@sentry/node - without tracing | 89.21 KB |
@sentry/aws-serverless | 98.34 KB |