fix(deps): update dependency @sentry/node to v7.110.1 #30

Open
Fascinated wants to merge 1 commits from renovate/sentry-javascript-monorepo into master
Owner

This PR contains the following updates:

Package Type Update Change
@sentry/node (source) dependencies minor 7.83.0 -> 7.110.1

Release Notes

getsentry/sentry-javascript (@​sentry/node)

v7.110.1

Compare Source

  • fix(nextjs): Fix tunnelRoute matching logic for hybrid cloud (#​11577)

Bundle size 📦

Path Size
@​sentry/browser (incl. Tracing, Replay, Feedback) - Webpack (gzipped) 80.58 KB
@​sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) 71.55 KB
@​sentry/browser (incl. Tracing, Replay with Canvas) - Webpack (gzipped) 75.57 KB
@​sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) 65.18 KB
@​sentry/browser (incl. Tracing) - Webpack (gzipped) 35.49 KB
@​sentry/browser (incl. browserTracingIntegration) - Webpack (gzipped) 35.37 KB
@​sentry/browser (incl. Feedback) - Webpack (gzipped) 31.57 KB
@​sentry/browser (incl. sendFeedback) - Webpack (gzipped) 31.58 KB
@​sentry/browser - Webpack (gzipped) 22.78 KB
@​sentry/browser (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) 78.76 KB
@​sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) 70.12 KB
@​sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) 35.9 KB
@​sentry/browser - ES6 CDN Bundle (gzipped) 25.27 KB
@​sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) 220.72 KB
@​sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) 108.53 KB
@​sentry/browser - ES6 CDN Bundle (minified & uncompressed) 75.79 KB
@​sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) 39.17 KB
@​sentry/react (incl. Tracing, Replay) - Webpack (gzipped) 72.03 KB
@​sentry/react - Webpack (gzipped) 22.81 KB
@​sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) 89.87 KB
@​sentry/nextjs Client - Webpack (gzipped) 54.01 KB
@​sentry-internal/feedback - Webpack (gzipped) 17.32 KB

v7.110.0

Compare Source

Important Changes
  • feat(tracing): Add interactions sample rate to browser tracing integrations (#​11382)

You can now use a interactionsSampleRate to control the sample rate of INP spans. interactionsSampleRate is applied
on top of the global tracesSampleRate. Therefore if interactionsSampleRate is 0.5 and tracesSampleRate is 0.1,
then the actual sample rate for interactions is 0.05.

Sentry.init({
  tracesSampleRate: 0.1,
  integrations: [
    Sentry.browserTracingIntegration({
      interactionsSampleRate: 0.5,
    }),
  ],
});
  • Deprecations

This release deprecates the Hub class, as well as the addRequestDataToTransaction method. The trpcMiddleware
method is no longer on the Handlers export, but instead is a standalone export.

Please see the detailed Migration docs on how to migrate to the new APIs.

  • feat: Deprecate and relocate trpcMiddleware (#​11389)
  • feat(core): Deprecate Hub class (#​11528)
  • feat(types): Deprecate Hub interface (#​11530)
  • ref: Deprecate addRequestDataToTransaction (#​11368)
Other Changes
  • feat(core): Update metric normalization (#​11519)
  • feat(feedback): Customize feedback placeholder text color (#​11521)
  • feat(remix): Skip span creation for OPTIONS and HEAD request. (#​11485)
  • feat(utils): Add metric buckets rate limit (#​11506)
  • fix(core): unref timer to not block node exit (#​11483)
  • fix(metrics): Map statsd to metric_bucket (#​11505)
  • fix(spans): Allow zero exclusive time for INP spans (#​11408)
  • ref(feedback): Configure feedback fonts (#​11520)

Bundle size 📦

Path Size
@​sentry/browser (incl. Tracing, Replay, Feedback) - Webpack (gzipped) 80.58 KB
@​sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) 71.55 KB
@​sentry/browser (incl. Tracing, Replay with Canvas) - Webpack (gzipped) 75.57 KB
@​sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) 65.18 KB
@​sentry/browser (incl. Tracing) - Webpack (gzipped) 35.49 KB
@​sentry/browser (incl. browserTracingIntegration) - Webpack (gzipped) 35.37 KB
@​sentry/browser (incl. Feedback) - Webpack (gzipped) 31.57 KB
@​sentry/browser (incl. sendFeedback) - Webpack (gzipped) 31.58 KB
@​sentry/browser - Webpack (gzipped) 22.78 KB
@​sentry/browser (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) 78.76 KB
@​sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) 70.12 KB
@​sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) 35.9 KB
@​sentry/browser - ES6 CDN Bundle (gzipped) 25.27 KB
@​sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) 220.72 KB
@​sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) 108.53 KB
@​sentry/browser - ES6 CDN Bundle (minified & uncompressed) 75.79 KB
@​sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) 39.17 KB
@​sentry/react (incl. Tracing, Replay) - Webpack (gzipped) 72.03 KB
@​sentry/react - Webpack (gzipped) 22.81 KB
@​sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) 89.87 KB
@​sentry/nextjs Client - Webpack (gzipped) 54.01 KB
@​sentry-internal/feedback - Webpack (gzipped) 17.32 KB

v7.109.0

Compare Source

This release deprecates some exports from the @sentry/replay package. These exports have been moved to the browser SDK
(or related framework SDKs like @sentry/react).

  • feat(feedback): Make "required" text for input elements configurable (#​11287)
  • feat(node): Add scope to ANR events (#​11267)
  • feat(replay): Bump rrweb to 2.12.0 (#​11317)
  • fix(node): Local variables skipped after Promise (#​11248)
  • fix(node): Skip capturing Hapi Boom error responses (#​11324)
  • fix(web-vitals): Check for undefined navigation entry (#​11312)
  • ref(replay): Deprecate @sentry/replay exports (#​11242)

Work in this release contributed by @​soerface. Thank you for your contribution!

Bundle size 📦

Path Size
@​sentry/browser (incl. Tracing, Replay, Feedback) - Webpack (gzipped) 80.48 KB
@​sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) 71.47 KB
@​sentry/browser (incl. Tracing, Replay with Canvas) - Webpack (gzipped) 75.49 KB
@​sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) 65.11 KB
@​sentry/browser (incl. Tracing) - Webpack (gzipped) 35.41 KB
@​sentry/browser (incl. browserTracingIntegration) - Webpack (gzipped) 35.29 KB
@​sentry/browser (incl. Feedback) - Webpack (gzipped) 31.52 KB
@​sentry/browser (incl. sendFeedback) - Webpack (gzipped) 31.53 KB
@​sentry/browser - Webpack (gzipped) 22.74 KB
@​sentry/browser (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) 78.59 KB
@​sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) 69.97 KB
@​sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) 35.77 KB
@​sentry/browser - ES6 CDN Bundle (gzipped) 25.17 KB
@​sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) 220.31 KB
@​sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) 108.12 KB
@​sentry/browser - ES6 CDN Bundle (minified & uncompressed) 75.48 KB
@​sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) 39 KB
@​sentry/react (incl. Tracing, Replay) - Webpack (gzipped) 71.97 KB
@​sentry/react - Webpack (gzipped) 22.77 KB
@​sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) 89.81 KB
@​sentry/nextjs Client - Webpack (gzipped) 53.95 KB
@​sentry-internal/feedback - Webpack (gzipped) 17.3 KB

v7.108.0

Compare Source

This release fixes issues with Time to First Byte (TTFB) calculation in the SDK that was introduced with 7.95.0. It
also fixes some bugs with Interaction to First Paint (INP) instrumentation. This may impact your Sentry Performance
Score calculation.

  • feat(serverless): Add Node.js 20 to compatible runtimes (#​11104)
  • feat(core): Backport ResizeObserver and googletag default filters (#​11210)
  • feat(webvitals): Adds event entry names for INP handler. Also guard against empty metric value
  • fix(metrics): use correct statsd data category (#​11187)
  • fix(node): Record local variables with falsy values (v7) (#​11190)
  • fix(node): Use unique variable for ANR context transfer (v7) (#​11162)
  • fix(node): Time zone handling for cron (#​11225)
  • fix(tracing): use web-vitals ttfb calculation (#​11231)
  • fix(types): Fix incorrect sampled type on Transaction (#​11146)
  • fix(webvitals): Fix mapping not being maintained properly and sometimes not sending INP spans (#​11183)

Work in this release contributed by @​quisido and @​joshkel. Thank you for your contributions!

v7.107.0

Compare Source

This release fixes issues with INP instrumentation with the Next.js SDK and adds support for the enableInp option in
the deprecated BrowserTracing integration for backwards compatibility.

  • feat(performance): Port INP span instrumentation to old browser tracing (#​11085)
  • fix(ember): Ensure browser tracing is correctly lazy loaded (#​11027)
  • fix(node): Do not assert in vendored proxy code (v7 backport) (#​11009)
  • fix(react): Set handled value in ErrorBoundary depending on fallback [v7] (#​11037)

v7.106.1

Compare Source

  • fix(nextjs/v7): Use passthrough createReduxEnhancer on server (#​11010)

v7.106.0

Compare Source

  • feat(nextjs): Support Hybrid Cloud DSNs with tunnelRoute option (#​10958)
  • feat(remix): Add Vite dev-mode support to Express instrumentation (#​10811)
  • fix(core): Undeprecate setTransactionName
  • fix(browser): Don't use chrome variable name (#​10874)
  • fix(nextjs): Client code should not use Node global (#​10925)
  • fix(node): support undici headers as strings or arrays (#​10938)
  • fix(types): Add AttachmentType and use for envelope attachment_type property (#​10946)
  • ref(ember): Avoid namespace import to hopefully resolve minification issue (#​10885)
  • chore(sveltekit): Fix punctuation in a console.log (#​10895)

Work in this release contributed by @​jessezhang91 and @​bfontaine. Thank you for your contributions!

v7.105.0

Compare Source

Important Changes
  • feat: Ensure withActiveSpan is exported everywhere (#​10877)

You can use the withActiveSpan method to ensure a certain span is the active span in a given callback. This can be
used to create a span as a child of a specific span with the startSpan API methods:

const parentSpan = Sentry.startInactiveSpan({ name: 'parent' });
if (parentSpan) {
  withActiveSpan(parentSpan, () => {
    // This will be a direct child of parentSpan
    const childSpan = Sentry.startInactiveSpan({ name: 'child' });
  });
}

v7.104.0

Compare Source

Important Changes
  • feat(performance): create Interaction standalone spans on inp events (#​10709)

This release adds support for the INP web vital. This is currently only supported for Saas Sentry, and product support
is released with the upcoming 24.3.0 release of self-hosted.

To opt-in to this feature, you can use the enableInp option in the browserTracingIntegration:

Sentry.init({
  integrations: [
    Sentry.browserTracingIntegration({
      enableInp: true,
    });
  ]
})
Other Changes
  • feat(feedback): Flush replays when feedback form opens (#​10567)
  • feat(profiling-node): Expose nodeProfilingIntegration (#​10864)
  • fix(profiling-node): Fix dependencies to point to current versions (#​10861)
  • fix(replay): Add errorHandler for replayCanvas integration (#​10796)

v7.103.0

Compare Source

Important Changes
  • feat(core): Allow to pass forceTransaction to startSpan() APIs (#​10819)

You can now pass forceTransaction: true to startSpan(), startSpanManual() and startInactiveSpan(). This allows
you to start a span that you want to be a transaction, if possible. Under the hood, the SDK will connect this span to
the running active span (if there is one), but still send the new span as a transaction to the Sentry backend, if
possible, ensuring it shows up as a transaction throughout the system.

Please note that setting this to true does not guarantee that this will be sent as a transaction, but that the SDK
will try to do so. You can enable this flag if this span is important to you and you want to ensure that you can see it
in the Sentry UI.

Other Changes
  • fix: Make breadcrumbs option optional in WinterCGFetch integration (#​10792)

v7.102.1

Compare Source

  • fix(performance): Fixes latest route name and source for interactions not updating properly on navigation (#​10702)
  • fix(tracing): Guard against missing window.location (#​10659)
  • ref: Make span types more robust (#​10660)
  • ref(remix): Make @remix-run/router a dependency (v7) (#​10779)

v7.102.0

Compare Source

  • fix: Export session API (#​10712)
  • fix(core): Fix scope capturing via captureContext function (#​10737)

v7.101.1

Compare Source

In version 7.101.0 the @sentry/hub package was missing due to a publishing issue. This release contains the package
again.

  • fix(nextjs): Remove webpack:// prefix more broadly from source map sources field (#​10641)

v7.101.0

Compare Source

  • feat: Export semantic attribute keys from SDK packages (#​10637)
  • feat(core): Add metric summaries to spans (#​10554)
  • feat(core): Deprecate the Hub constructor (#​10584)
  • feat(core): Make custom tracing methods return spans & set default op (#​10633)
  • feat(replay): Add getReplay utility function (#​10510)
  • fix(angular-ivy): Add exports field to package.json (#​10569)
  • fix(sveltekit): Avoid capturing Http 4xx errors on the client (#​10571)
  • fix(sveltekit): Properly await sourcemaps flattening (#​10602)

v7.100.1

Compare Source

This release contains build fixes for profiling-node.

  • build(profiling-node): make sure debug build plugin is used #​10534
  • build: Only run profiling e2e test if bindings have changed #​10542
  • fix(feedback): Replay breadcrumb for feedback events was incorrect #​10536

v7.100.0

Compare Source

Important Changes
Deprecations

This release includes some deprecations. For more details please look at our
migration guide.

The deprecation most likely to affect you is the one of BrowserTracing. Instead of new BrowserTracing(), you should
now use browserTracingIntegration(), which will also handle framework-specific instrumentation out of the box for
you - no need to pass a custom routingInstrumentation anymore. For @sentry/react, we expose dedicated integrations
for the different react-router versions:

  • reactRouterV6BrowserTracingIntegration()
  • reactRouterV5BrowserTracingIntegration()
  • reactRouterV4BrowserTracingIntegration()
  • reactRouterV3BrowserTracingIntegration()

See the
migration guide
for details.

  • feat(angular): Export custom browserTracingIntegration() (#​10353)
  • feat(browser): Deprecate BrowserTracing integration (#​10493)
  • feat(browser): Export browserProfilingIntegration (#​10438)
  • feat(bun): Export bunServerIntegration() (#​10439)
  • feat(nextjs): Add browserTracingIntegration (#​10397)
  • feat(react): Add reactRouterV3BrowserTracingIntegration for react router v3 (#​10489)
  • feat(react): Add reactRouterV4/V5BrowserTracingIntegration for react router v4 & v5 (#​10488)
  • feat(react): Add reactRouterV6BrowserTracingIntegration for react router v6 & v6.4 (#​10491)
  • feat(remix): Add custom browserTracingIntegration (#​10442)
  • feat(node): Expose functional integrations to replace classes (#​10356)
  • feat(vercel-edge): Replace WinterCGFetch with winterCGFetchIntegration (#​10436)
  • feat: Deprecate non-callback based continueTrace (#​10301)
  • feat(vue): Deprecate new VueIntegration() (#​10440)
  • feat(vue): Implement vue browserTracingIntegration() (#​10477)
  • feat(sveltekit): Add custom browserTracingIntegration() (#​10450)
Profiling Node

@sentry/profiling-node has been ported into the monorepo. Future development for it will happen here!

  • pkg(profiling-node): port profiling-node repo to monorepo (#​10151)
Other Changes
  • feat: Export setHttpStatus from all packages (#​10475)
  • feat(bundles): Add pluggable integrations on CDN to Sentry namespace (#​10452)
  • feat(core): Pass name & attributes to tracesSampler (#​10426)
  • feat(feedback): Add system-ui to start of font family (#​10464)
  • feat(node-experimental): Add koa integration (#​10451)
  • feat(node-experimental): Update opentelemetry packages (#​10456)
  • feat(node-experimental): Update tracing integrations to functional style (#​10443)
  • feat(replay): Bump rrweb to 2.10.0 (#​10445)
  • feat(replay): Enforce masking of credit card fields (#​10472)
  • feat(utils): Add propagationContextFromHeaders (#​10313)
  • fix: Make startSpan, startSpanManual and startInactiveSpan pick up the scopes at time of creation instead of
    termination (#​10492)
  • fix(feedback): Fix logo color when colorScheme is "system" (#​10465)
  • fix(nextjs): Do not report redirects and notFound calls as errors in server actions (#​10474)
  • fix(nextjs): Fix navigation tracing on app router (#​10502)
  • fix(nextjs): Apply server action data to correct isolation scope (#​10514)
  • fix(node): Use normal require call to import Undici (#​10388)
  • ref(nextjs): Remove internally used deprecated APIs (#​10453)
  • ref(vue): use startInactiveSpan in tracing mixin (#​10406)

v7.99.0

Compare Source

Important Changes
Deprecations

This release includes some deprecations for span related methods and integrations in our Deno SDK, @sentry/deno. For
more details please look at our
migration guide.

  • feat(core): Deprecate Span.setHttpStatus in favor of setHttpStatus (#​10268)
  • feat(core): Deprecate spanStatusfromHttpCode in favour of getSpanStatusFromHttpCode (#​10361)
  • feat(core): Deprecate StartSpanOptions.origin in favour of passing attribute (#​10274)
  • feat(deno): Expose functional integrations to replace classes (#​10355)
Other Changes
  • feat(bun): Add missing @sentry/node re-exports (#​10396)
  • feat(core): Add afterAllSetup hook for integrations (#​10345)
  • feat(core): Ensure startSpan() can handle spans that require parent (#​10386)
  • feat(core): Read propagation context off scopes in startSpan APIs (#​10300)
  • feat(remix): Export missing @sentry/node functions (#​10385, #​10391)
  • feat(serverless): Add missing @sentry/node re-exports (#​10390)
  • feat(sveltekit): Add more missing @sentry/node re-exports (#​10392)
  • feat(tracing): Export proper type for browser tracing (#​10411)
  • feat(tracing): Expose new browserTracingIntegration (#​10351)
  • fix: Ensure afterAllSetup is called when using addIntegration() (#​10372)
  • fix(core): Export spanToTraceContext function from span utils (#​10364)
  • fix(core): Make FunctionToString integration use SETUP_CLIENTS weakmap (#​10358)
  • fix(deno): Call function if client is not setup (#​10354)
  • fix(react): Fix attachReduxState option (#​10381)
  • fix(spotlight): Use unpatched http.request (#​10369)
  • fix(tracing): Only create request span if there is active span (#​10375)
  • ref: Read propagation context off of scope and isolation scope when propagating and applying trace context (#​10297)

Work in this release contributed by @​AleshaOleg. Thank you for your contribution!

v7.98.0

Compare Source

This release primarily fixes some type declaration errors:

  • feat(core): Export IntegrationIndex type (#​10337)
  • fix(nextjs): Fix Http integration type declaration (#​10338)
  • fix(node): Fix type definitions (#​10339)

v7.97.0

Compare Source

Note: The 7.96.0 release was incomplete. This release is partially encompassing changes from 7.96.0.

  • feat(react): Add stripBasename option for React Router 6 (#​10314)

v7.96.0

Compare Source

Note: This release was incomplete. Not all Sentry SDK packages were released for this version. Please upgrade to 7.98.0
directly.

Important Changes
Deprecations

This release includes some deprecations for integrations in @sentry/browser and frontend framework SDKs
(@sentry/react, @sentry/vue, etc.). Please take a look at our
migration guide for more details.

  • feat(browser): Export functional integrations & deprecate classes (#​10267)
Web Vitals Fix for LCP and CLS

This release fixes an issue with the Web Vitals integration where LCP and CLS were not being captured correctly,
increasing capture rate by 10-30% for some apps. LCP and CLS capturing issues were introduced with version 7.75.0.

  • fix(tracing): Ensure web vitals are correctly stopped/captured (#​10323)
Other Changes
  • fix(node): Fix node-cron types and add test (#​10315)
  • fix(node): Fix downleveled types entry point (#​10321)
  • fix(node): LocalVariables integration should use setupOnce (#​10307)
  • fix(replay): Fix type for options of replayIntegration (#​10325)

Work in this release contributed by @​Shubhdeep12. Thank you for your contribution!

v7.95.0

Compare Source

Important Changes
Deprecations

This release includes some deprecations in preparation for v8.

Most notably, it deprecates the Replay & Feedback classes in favor of a functional replacement:

import * as Sentry from '@​sentry/browser';

Sentry.init({
  integrations: [
    // Instead of
    new Sentry.Replay(),
    new Sentry.Feedback(),
    // Use the functional replacement:
    Sentry.replayIntegration(),
    Sentry.feedbackIntegration(),
  ],
});
  • feat(core): Deprecate Span.origin in favor of sentry.origin attribute (#​10260)
  • feat(core): Deprecate Span.parentSpanId (#​10244)
  • feat(core): Expose isInitialized() to replace checking via getClient (#​10296)
  • feat(replay): Deprecate Replay, ReplayCanvas, Feedback classes (#​10270)
  • feat(wasm): Deprecate Wasm integration class (#​10230)
Other Changes
  • feat: Make parameterize function available through browser and node API (#​10085)
  • feat(feedback): Configure feedback border radius (#​10289)
  • feat(sveltekit): Update default integration handling & deprecate addOrUpdateIntegration (#​10263)
  • fix(replay-canvas): Add missing dependency on @​sentry/utils (#​10279)
  • fix(tracing): Don't send negative ttfb (#​10286)

Work in this release contributed by @​AleshaOleg. Thank you for your contribution!

v7.94.1

Compare Source

This release fixes a publishing issue.

v7.93.0

Compare Source

Important Changes
Deprecations

As we're moving closer to the next major version of the SDK, more public APIs were deprecated.

To get a head start on migrating to the replacement APIs, please take a look at our
migration guide.

  • feat(core): Deprecate getActiveTransaction() & scope.getTransaction() (#​10098)
  • feat(core): Deprecate Hub.shouldSendDefaultPii (#​10062)
  • feat(core): Deprecate new Transaction() (#​10125)
  • feat(core): Deprecate scope.getSpan() & scope.setSpan() (#​10114)
  • feat(core): Deprecate scope.setTransactionName() (#​10113)
  • feat(core): Deprecate span.startChild() (#​10091)
  • feat(core): Deprecate startTransaction() (#​10073)
  • feat(core): Deprecate Transaction.getDynamicSamplingContext in favor of getDynamicSamplingContextFromSpan (#​10094)
  • feat(core): Deprecate arguments for startSpan() (#​10101)
  • feat(core): Deprecate hub capture APIs and add them to Scope (#​10039)
  • feat(core): Deprecate session APIs on hub and add global replacements (#​10054)
  • feat(core): Deprecate span name and description (#​10056)
  • feat(core): Deprecate span tags, data, context & setters (#​10053)
  • feat(core): Deprecate transaction metadata in favor of attributes (#​10097)
  • feat(core): Deprecate span.sampled in favor of span.isRecording() (#​10034)
  • ref(node-experimental): Deprecate lastEventId on scope (#​10093)
Cron Monitoring Support for node-schedule library

This release adds auto instrumented check-ins for the node-schedule library.

import * as Sentry from '@​sentry/node';
import * as schedule from 'node-schedule';

const scheduleWithCheckIn = Sentry.cron.instrumentNodeSchedule(schedule);

const job = scheduleWithCheckIn.scheduleJob('my-cron-job', '* * * * *', () => {
  console.log('You will see this message every minute');
});
  • feat(node): Instrumentation for node-schedule library (#​10086)
Other Changes
  • feat(core): Add span.spanContext() (#​10037)
  • feat(core): Add spanToJSON() method to get span properties (#​10074)
  • feat(core): Allow to pass scope to startSpan APIs (#​10076)
  • feat(core): Allow to pass start/end timestamp for spans flexibly (#​10060)
  • feat(node): Make getModuleFromFilename compatible with ESM (#​10061)
  • feat(replay): Update rrweb to 2.7.3 (#​10072)
  • feat(utils): Add parameterize function (#​9145)
  • fix(astro): Use correct package name for CF (#​10099)
  • fix(core): Do not run setup for integration on client multiple times (#​10116)
  • fix(core): Ensure we copy passed in span data/tags/attributes (#​10105)
  • fix(cron): Make name required for instrumentNodeCron option (#​10070)
  • fix(nextjs): Don't capture not-found and redirect errors in generation functions (#​10057)
  • fix(node): LocalVariables integration should have correct name (#​10084)
  • fix(node): Anr events should have an event_id (#​10068)
  • fix(node): Revert to only use sync debugger for LocalVariables (#​10077)
  • fix(node): Update ANR min node version to v16.17.0 (#​10107)

v7.92.0

Compare Source

Important Changes
Deprecations
  • feat(core): Add span.updateName() and deprecate span.setName() (#​10018)
  • feat(core): Deprecate span.getTraceContext() (#​10032)
  • feat(core): Deprecate span.toTraceparent() in favor of spanToTraceHeader() util (#​10031)
  • feat(core): Deprecate trace in favor of startSpan (#​10012)
  • feat(core): Deprecate span toContext() and updateWithContext() (#​10030)
  • ref: Deprecate deepReadDirSync (#​10016)
  • ref: Deprecate lastEventId() (#​10043)

Please take a look at the Migration docs for more details. These methods will be removed in the
upcoming v8 major release.

Cron Monitoring Support for cron and node-cron libraries
  • feat(node): Instrumentation for cron library (#​9999)
  • feat(node): Instrumentation for node-cron library (#​9904)

This release adds instrumentation for the cron and node-cron libraries. This allows you to monitor your cron jobs
with Sentry cron monitors.

For cron:

import * as Sentry from '@​sentry/node';
import { CronJob } from 'cron';

const CronJobWithCheckIn = Sentry.cron.instrumentCron(CronJob, 'my-cron-job');

// use the constructor
const job = new CronJobWithCheckIn('* * * * *', () => {
  console.log('You will see this message every minute');
});

// or from
const job = CronJobWithCheckIn.from({
  cronTime: '* * * * *',
  onTick: () => {
    console.log('You will see this message every minute');
  },
});

For node-cron:

import * as Sentry from '@​sentry/node';
import cron from 'node-cron';

const cronWithCheckIn = Sentry.cron.instrumentNodeCron(cron);

cronWithCheckIn.schedule(
  '* * * * *',
  () => {
    console.log('running a task every minute');
  },
  { name: 'my-cron-job' },
);
Other Changes
  • feat(astro): Add enabled option to Astro integration options (#​10007)
  • feat(core): Add attributes to Span (#​10008)
  • feat(core): Add setClient() and getClient() to Scope (#​10055)
  • feat(integrations): Capture error cause with captureErrorCause in ExtraErrorData integration (#​9914)
  • feat(node-experimental): Allow to pass base span options to trace methods (#​10006)
  • feat(node): Local variables via async inspector in node 19+ (#​9962)
  • fix(astro): handle commonjs related issues (#​10042)
  • fix(astro): Handle non-utf8 encoded streams in middleware (#​9989)
  • fix(astro): prevent sentry from externalized (#​9994)
  • fix(core): Ensure withScope sets current scope correctly with async callbacks (#​9974)
  • fix(node): ANR fixes and additions (#​9998)
  • fix(node): Anr should not block exit (#​10035)
  • fix(node): Correctly resolve module name (#​10001)
  • fix(node): Handle inspector already open (#​10025)
  • fix(node): Make NODE_VERSION properties required (#​9964)
  • fix(node): Anr doesn't block exit (#​10064)
  • fix(utils): use correct typeof URL validation (#​10028)
  • perf(astro): reduce unnecessary path resolutions (#​10021)
  • ref(astro): Use astro logger instead of console (#​9995)
  • ref(remix): Isolate Express instrumentation from server auto-instrumentation. (#​9966)

Work in this release contributed by @​joshkel. Thank you for your contribution!

v7.91.0

Compare Source

Important Changes
  • feat: Add server runtime metrics aggregator (#​9894)

The release adds alpha support for Sentry developer metrics in
the server runtime SDKs (@sentry/node, @sentry/deno, @sentry/nextjs server-side, etc.). Via the newly introduced
APIs, you can now flush metrics directly to Sentry.

To enable capturing metrics, you first need to add the metricsAggregator experiment to your Sentry.init call.

Sentry.init({
  dsn: '__DSN__',
  _experiments: {
    metricsAggregator: true,
  },
});

Then you'll be able to add counters, sets, distributions, and gauges under the Sentry.metrics namespace.

// Add 4 to a counter named `hits`
Sentry.metrics.increment('hits', 4);

// Add 2 to gauge named `parallel_requests`, tagged with `type: "a"`
Sentry.metrics.gauge('parallel_requests', 2, { tags: { type: 'a' } });

// Add 4.6 to a distribution named `response_time` with unit seconds
Sentry.metrics.distribution('response_time', 4.6, { unit: 'seconds' });

// Add 2 to a set named `valuable.ids`
Sentry.metrics.set('valuable.ids', 2);
  • feat(node): Rework ANR to use worker script via an integration (#​9945)

The ANR tracking integration for Node
has been reworked to use an integration. ANR tracking now requires a minimum Node version of 16 or higher. Previously
you had to call Sentry.enableANRDetection before running your application, now you can simply add the Anr
integration to your Sentry.init call.

import * as Sentry from '@​sentry/node';

Sentry.init({
  dsn: 'https://public@dsn.ingest.sentry.io/1337',
  integrations: [new Sentry.Integrations.Anr({ captureStackTrace: true, anrThreshold: 200 })],
});
Other Changes
  • feat(breadcrumbs): Send component names on UI breadcrumbs (#​9946)
  • feat(core): Add getGlobalScope() method (#​9920)
  • feat(core): Add getIsolationScope() method (#​9957)
  • feat(core): Add span.end() to replace span.finish() (#​9954)
  • feat(core): Ensure startSpan & startSpanManual fork scope (#​9955)
  • feat(react): Send component name on spans (#​9949)
  • feat(replay): Send component names in replay breadcrumbs (#​9947)
  • feat(sveltekit): Add options to configure fetch instrumentation script for CSP (#​9969)
  • feat(tracing): Send component name on interaction spans (#​9948)
  • feat(utils): Add function to extract relevant component name (#​9921)
  • fix(core): Rethrow caught promise rejections in startSpan, startSpanManual, trace (#​9958)

v7.90.0

Compare Source

  • feat(replay): Change to use preset quality values (#​9903)
  • fix(replay): Adjust development hydration error messages (#​9922)
  • fix(sveltekit): Add types field to package.json exports (#​9926)

v7.89.0

Compare Source

Important Changes
Deprecations
  • feat(core): Deprecate configureScope (#​9887)
  • feat(core): Deprecate pushScope & popScope (#​9890)

This release deprecates configureScope, pushScope, and popScope, which will be removed in the upcoming v8 major
release.

Hapi Integration
  • feat(node): Add Hapi Integration (#​9539)

This release adds an integration for Hapi. It can be used as follows:

const Sentry = require('@​sentry/node');
const Hapi = require('@​hapi/hapi');

const init = async () => {
  const server = Hapi.server({
    // your server configuration ...
  });

  Sentry.init({
    dsn: '__DSN__',
    tracesSampleRate: 1.0,
    integrations: [new Sentry.Integrations.Hapi({ server })],
  });

  server.route({
    // your route configuration ...
  });

  await server.start();
};
SvelteKit 2.0
  • chore(sveltekit): Add SvelteKit 2.0 to peer dependencies (#​9861)

This release adds support for SvelteKit 2.0 in the @sentry/sveltekit package. If you're upgrading from SvelteKit 1.x
to 2.x and already use the Sentry SvelteKit SDK, no changes apart from upgrading to this (or a newer) version are
necessary.

Other Changes
  • feat(core): Add type & utility for function-based integrations (#​9818)
  • feat(core): Update withScope to return callback return value (#​9866)
  • feat(deno): Support Deno.CronSchedule for cron jobs (#​9880)
  • feat(nextjs): Auto instrument generation functions (#​9781)
  • feat(nextjs): Connect server component transactions if there is no incoming trace (#​9845)
  • feat(node-experimental): Update to new Scope APIs (#​9799)
  • feat(replay): Add canvas.type setting (#​9877)
  • fix(nextjs): Export createReduxEnhancer (#​9854)
  • fix(remix): Do not capture thrown redirect responses. (#​9909)
  • fix(sveltekit): Add conditional exports (#​9872)
  • fix(sveltekit): Avoid capturing 404 errors on client side (#​9902)
  • fix(utils): Do not use Event type in worldwide (#​9864)
  • fix(utils): Support crypto.getRandomValues in old Chromium versions (#​9251)
  • fix(utils): Update eventFromUnknownInput to avoid scope pollution & getCurrentHub (#​9868)
  • ref: Use addBreadcrumb directly & allow to pass hint (#​9867)

Work in this release contributed by @​adam187, and @​jghinestrosa. Thank you for your contributions!

v7.88.0

Compare Source

Important Changes
  • feat(browser): Add browser metrics sdk (#​9794)

The release adds alpha support for Sentry developer metrics in
the Browser SDKs (@sentry/browser and related framework SDKs). Via the newly introduced APIs, you can now flush
metrics directly to Sentry.

To enable capturing metrics, you first need to add the MetricsAggregator integration.

Sentry.init({
  dsn: '__DSN__',
  integrations: [new Sentry.metrics.MetricsAggregator()],
});

Then you'll be able to add counters, sets, distributions, and gauges under the Sentry.metrics namespace.

// Add 4 to a counter named `hits`
Sentry.metrics.increment('hits', 4);

// Add 2 to gauge named `parallel_requests`, tagged with `happy: "no"`
Sentry.metrics.gauge('parallel_requests', 2, { tags: { happy: 'no' } });

// Add 4.6 to a distribution named `response_time` with unit seconds
Sentry.metrics.distribution('response_time', 4.6, { unit: 'seconds' });

// Add 2 to a set named `valuable.ids`
Sentry.metrics.set('valuable.ids', 2);

In a future release we'll add support for server runtimes (Node, Deno, Bun, Vercel Edge, etc.)

  • feat(deno): Optionally instrument Deno.cron (#​9808)

This releases add support for instrumenting Deno cron's with
Sentry cron monitors. This requires v1.38 of Deno run with the --unstable
flag and the usage of the DenoCron Sentry integration.

// Import from the Deno registry
import * as Sentry from 'https://deno.land/x/sentry/index.mjs';

Sentry.init({
  dsn: '__DSN__',
  integrations: [new Sentry.DenoCron()],
});
Other Changes
  • feat(replay): Bump rrweb to 2.6.0 (#​9847)
  • fix(nextjs): Guard against injecting multiple times (#​9807)
  • ref(remix): Bump Sentry CLI to ^2.23.0 (#​9773)

v7.87.0

Compare Source

  • feat: Add top level getCurrentScope() method (#​9800)
  • feat(replay): Bump rrweb to 2.5.0 (#​9803)
  • feat(replay): Capture hydration error breadcrumb (#​9759)
  • feat(types): Add profile envelope types (#​9798)
  • fix(astro): Avoid RegExp creation during route interpolation (#​9815)
  • fix(browser): Avoid importing from ./exports (#​9775)
  • fix(nextjs): Catch rejecting flushes (#​9811)
  • fix(nextjs): Fix devserver CORS blockage when assetPrefix is defined (#​9766)
  • fix(node): Capture errors in tRPC middleware (#​9782)

v7.86.0

Compare Source

  • feat(core): Use SDK_VERSION for hub API version (#​9732)
  • feat(nextjs): Emit warning if your app directory doesn't have a global-error.js file (#​9753)
  • feat(node): Add cloudflare pages commit sha (#​9751)
  • feat(remix): Bump @​sentry/cli to 2.22.3 (#​9741)
  • fix(nextjs): Don't accidentally trigger static generation bailout (#​9749)
  • fix(node): Guard process.env.NODE_ENV access in Spotlight integration (#​9748)
  • fix(utils): Fix XHR instrumentation early return (#​9770)
  • ref(remix): Rework Error Handling (#​9725)

v7.85.0

Compare Source

  • feat(core): Add addEventProcessor method (#​9554)
  • feat(crons): Add interface for heartbeat checkin (#​9706)
  • feat(feedback): Include Feedback package in browser SDK (#​9586)
  • fix(astro): Isolate request instrumentation in middleware (#​9709)
  • fix(replay): Capture JSON XHR response bodies (#​9623)
  • ref(feedback): Change form box-shadow to use CSS var (#​9630)

v7.84.0

Compare Source

Important Changes
  • ref(nextjs): Set automaticVercelMonitors to be false by default (#​9697)

From this version onwards the default for the automaticVercelMonitors option in the Next.js SDK is set to false.
Previously, if you made use of Vercel Crons the SDK automatically instrumented the relevant routes to create Sentry
monitors. Because this feature will soon be generally available, we are now flipping the default to avoid situations
where quota is used unexpectedly.

If you want to continue using this feature, make sure to set the automaticVercelMonitors flag to true in your
next.config.js Sentry settings.

Other Changes
  • chore(astro): Add 4.0.0 preview versions to astro peer dependency range (#​9696)
  • feat(metrics): Add interfaces for metrics (#​9698)
  • feat(web-vitals): Vendor in INP from web-vitals library (#​9690)
  • fix(astro): Avoid adding the Sentry Vite plugin in dev mode (#​9688)
  • fix(nextjs): Don't match files called middleware in node_modules (#​9686)
  • fix(remix): Don't capture error responses that are not 5xx on Remix v2. (#​9655)
  • fix(tracing): Don't attach resource size if null (#​9669)
  • fix(utils): Regex match port to stop accidental replace (#​9676)
  • fix(utils): Try catch new URL when extracting query params (#​9675)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@sentry/node](https://github.com/getsentry/sentry-javascript/tree/master/packages/node) ([source](https://github.com/getsentry/sentry-javascript)) | dependencies | minor | [`7.83.0` -> `7.110.1`](https://renovatebot.com/diffs/npm/@sentry%2fnode/7.83.0/7.110.1) | --- ### Release Notes <details> <summary>getsentry/sentry-javascript (@&#8203;sentry/node)</summary> ### [`v7.110.1`](https://github.com/getsentry/sentry-javascript/releases/tag/7.110.1) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.110.0...7.110.1) - fix(nextjs): Fix `tunnelRoute` matching logic for hybrid cloud ([#&#8203;11577](https://github.com/getsentry/sentry-javascript/issues/11577)) #### Bundle size 📦 | Path | Size | | ---------------------------------------------------------------------------------- | ----------------- | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay, Feedback) - Webpack (gzipped) | 80.58 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - Webpack (gzipped) | 71.55 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay with Canvas) - Webpack (gzipped) | 75.57 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) | 65.18 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing) - Webpack (gzipped) | 35.49 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. browserTracingIntegration) - Webpack (gzipped) | 35.37 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Feedback) - Webpack (gzipped) | 31.57 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. sendFeedback) - Webpack (gzipped) | 31.58 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) - Webpack (gzipped) | 22.78 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) | 78.76 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 70.12 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing) - ES6 CDN Bundle (gzipped) | 35.9 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) - ES6 CDN Bundle (gzipped) | 25.27 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 220.72 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 108.53 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) - ES6 CDN Bundle (minified & uncompressed) | 75.79 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing) - ES5 CDN Bundle (gzipped) | 39.17 KB | | [@&#8203;sentry/react](https://github.com/sentry/react) (incl. Tracing, Replay) - Webpack (gzipped) | 72.03 KB | | [@&#8203;sentry/react](https://github.com/sentry/react) - Webpack (gzipped) | 22.81 KB | | [@&#8203;sentry/nextjs](https://github.com/sentry/nextjs) Client (incl. Tracing, Replay) - Webpack (gzipped) | 89.87 KB | | [@&#8203;sentry/nextjs](https://github.com/sentry/nextjs) Client - Webpack (gzipped) | 54.01 KB | | [@&#8203;sentry-internal/feedback](https://github.com/sentry-internal/feedback) - Webpack (gzipped) | 17.32 KB | ### [`v7.110.0`](https://github.com/getsentry/sentry-javascript/releases/tag/7.110.0) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.109.0...7.110.0) ##### Important Changes - **feat(tracing): Add interactions sample rate to browser tracing integrations ([#&#8203;11382](https://github.com/getsentry/sentry-javascript/issues/11382))** You can now use a `interactionsSampleRate` to control the sample rate of INP spans. `interactionsSampleRate` is applied on top of the global `tracesSampleRate`. Therefore if `interactionsSampleRate` is `0.5` and `tracesSampleRate` is `0.1`, then the actual sample rate for interactions is `0.05`. ```js Sentry.init({ tracesSampleRate: 0.1, integrations: [ Sentry.browserTracingIntegration({ interactionsSampleRate: 0.5, }), ], }); ``` - **Deprecations** This release deprecates the `Hub` class, as well as the `addRequestDataToTransaction` method. The `trpcMiddleware` method is no longer on the `Handlers` export, but instead is a standalone export. Please see the detailed [Migration docs](./MIGRATION.md#deprecations-in-7x) on how to migrate to the new APIs. - feat: Deprecate and relocate `trpcMiddleware` ([#&#8203;11389](https://github.com/getsentry/sentry-javascript/issues/11389)) - feat(core): Deprecate `Hub` class ([#&#8203;11528](https://github.com/getsentry/sentry-javascript/issues/11528)) - feat(types): Deprecate `Hub` interface ([#&#8203;11530](https://github.com/getsentry/sentry-javascript/issues/11530)) - ref: Deprecate `addRequestDataToTransaction` ([#&#8203;11368](https://github.com/getsentry/sentry-javascript/issues/11368)) ##### Other Changes - feat(core): Update metric normalization ([#&#8203;11519](https://github.com/getsentry/sentry-javascript/issues/11519)) - feat(feedback): Customize feedback placeholder text color ([#&#8203;11521](https://github.com/getsentry/sentry-javascript/issues/11521)) - feat(remix): Skip span creation for `OPTIONS` and `HEAD` request. ([#&#8203;11485](https://github.com/getsentry/sentry-javascript/issues/11485)) - feat(utils): Add metric buckets rate limit ([#&#8203;11506](https://github.com/getsentry/sentry-javascript/issues/11506)) - fix(core): unref timer to not block node exit ([#&#8203;11483](https://github.com/getsentry/sentry-javascript/issues/11483)) - fix(metrics): Map `statsd` to `metric_bucket` ([#&#8203;11505](https://github.com/getsentry/sentry-javascript/issues/11505)) - fix(spans): Allow zero exclusive time for INP spans ([#&#8203;11408](https://github.com/getsentry/sentry-javascript/issues/11408)) - ref(feedback): Configure feedback fonts ([#&#8203;11520](https://github.com/getsentry/sentry-javascript/issues/11520)) #### Bundle size 📦 | Path | Size | | ---------------------------------------------------------------------------------- | ----------------- | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay, Feedback) - Webpack (gzipped) | 80.58 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - Webpack (gzipped) | 71.55 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay with Canvas) - Webpack (gzipped) | 75.57 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) | 65.18 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing) - Webpack (gzipped) | 35.49 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. browserTracingIntegration) - Webpack (gzipped) | 35.37 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Feedback) - Webpack (gzipped) | 31.57 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. sendFeedback) - Webpack (gzipped) | 31.58 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) - Webpack (gzipped) | 22.78 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) | 78.76 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 70.12 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing) - ES6 CDN Bundle (gzipped) | 35.9 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) - ES6 CDN Bundle (gzipped) | 25.27 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 220.72 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 108.53 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) - ES6 CDN Bundle (minified & uncompressed) | 75.79 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing) - ES5 CDN Bundle (gzipped) | 39.17 KB | | [@&#8203;sentry/react](https://github.com/sentry/react) (incl. Tracing, Replay) - Webpack (gzipped) | 72.03 KB | | [@&#8203;sentry/react](https://github.com/sentry/react) - Webpack (gzipped) | 22.81 KB | | [@&#8203;sentry/nextjs](https://github.com/sentry/nextjs) Client (incl. Tracing, Replay) - Webpack (gzipped) | 89.87 KB | | [@&#8203;sentry/nextjs](https://github.com/sentry/nextjs) Client - Webpack (gzipped) | 54.01 KB | | [@&#8203;sentry-internal/feedback](https://github.com/sentry-internal/feedback) - Webpack (gzipped) | 17.32 KB | ### [`v7.109.0`](https://github.com/getsentry/sentry-javascript/releases/tag/7.109.0) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.108.0...7.109.0) This release deprecates some exports from the `@sentry/replay` package. These exports have been moved to the browser SDK (or related framework SDKs like `@sentry/react`). - feat(feedback): Make "required" text for input elements configurable ([#&#8203;11287](https://github.com/getsentry/sentry-javascript/issues/11287)) - feat(node): Add scope to ANR events ([#&#8203;11267](https://github.com/getsentry/sentry-javascript/issues/11267)) - feat(replay): Bump `rrweb` to 2.12.0 ([#&#8203;11317](https://github.com/getsentry/sentry-javascript/issues/11317)) - fix(node): Local variables skipped after Promise ([#&#8203;11248](https://github.com/getsentry/sentry-javascript/issues/11248)) - fix(node): Skip capturing Hapi Boom error responses ([#&#8203;11324](https://github.com/getsentry/sentry-javascript/issues/11324)) - fix(web-vitals): Check for undefined navigation entry ([#&#8203;11312](https://github.com/getsentry/sentry-javascript/issues/11312)) - ref(replay): Deprecate `@sentry/replay` exports ([#&#8203;11242](https://github.com/getsentry/sentry-javascript/issues/11242)) Work in this release contributed by [@&#8203;soerface](https://github.com/soerface). Thank you for your contribution! #### Bundle size 📦 | Path | Size | | ---------------------------------------------------------------------------------- | ----------------- | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay, Feedback) - Webpack (gzipped) | 80.48 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - Webpack (gzipped) | 71.47 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay with Canvas) - Webpack (gzipped) | 75.49 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) | 65.11 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing) - Webpack (gzipped) | 35.41 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. browserTracingIntegration) - Webpack (gzipped) | 35.29 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Feedback) - Webpack (gzipped) | 31.52 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. sendFeedback) - Webpack (gzipped) | 31.53 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) - Webpack (gzipped) | 22.74 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) | 78.59 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 69.97 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing) - ES6 CDN Bundle (gzipped) | 35.77 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) - ES6 CDN Bundle (gzipped) | 25.17 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 220.31 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 108.12 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) - ES6 CDN Bundle (minified & uncompressed) | 75.48 KB | | [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing) - ES5 CDN Bundle (gzipped) | 39 KB | | [@&#8203;sentry/react](https://github.com/sentry/react) (incl. Tracing, Replay) - Webpack (gzipped) | 71.97 KB | | [@&#8203;sentry/react](https://github.com/sentry/react) - Webpack (gzipped) | 22.77 KB | | [@&#8203;sentry/nextjs](https://github.com/sentry/nextjs) Client (incl. Tracing, Replay) - Webpack (gzipped) | 89.81 KB | | [@&#8203;sentry/nextjs](https://github.com/sentry/nextjs) Client - Webpack (gzipped) | 53.95 KB | | [@&#8203;sentry-internal/feedback](https://github.com/sentry-internal/feedback) - Webpack (gzipped) | 17.3 KB | ### [`v7.108.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#71080) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.107.0...7.108.0) This release fixes issues with Time to First Byte (TTFB) calculation in the SDK that was introduced with `7.95.0`. It also fixes some bugs with Interaction to First Paint (INP) instrumentation. This may impact your Sentry Performance Score calculation. - feat(serverless): Add Node.js 20 to compatible runtimes ([#&#8203;11104](https://github.com/getsentry/sentry-javascript/issues/11104)) - feat(core): Backport `ResizeObserver` and `googletag` default filters ([#&#8203;11210](https://github.com/getsentry/sentry-javascript/issues/11210)) - feat(webvitals): Adds event entry names for INP handler. Also guard against empty metric value - fix(metrics): use correct statsd data category ([#&#8203;11187](https://github.com/getsentry/sentry-javascript/issues/11187)) - fix(node): Record local variables with falsy values (v7) ([#&#8203;11190](https://github.com/getsentry/sentry-javascript/issues/11190)) - fix(node): Use unique variable for ANR context transfer (v7) ([#&#8203;11162](https://github.com/getsentry/sentry-javascript/issues/11162)) - fix(node): Time zone handling for `cron` ([#&#8203;11225](https://github.com/getsentry/sentry-javascript/issues/11225)) - fix(tracing): use web-vitals ttfb calculation ([#&#8203;11231](https://github.com/getsentry/sentry-javascript/issues/11231)) - fix(types): Fix incorrect `sampled` type on `Transaction` ([#&#8203;11146](https://github.com/getsentry/sentry-javascript/issues/11146)) - fix(webvitals): Fix mapping not being maintained properly and sometimes not sending INP spans ([#&#8203;11183](https://github.com/getsentry/sentry-javascript/issues/11183)) Work in this release contributed by [@&#8203;quisido](https://github.com/quisido) and [@&#8203;joshkel](https://github.com/joshkel). Thank you for your contributions! ### [`v7.107.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#71070) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.106.1...7.107.0) This release fixes issues with INP instrumentation with the Next.js SDK and adds support for the `enableInp` option in the deprecated `BrowserTracing` integration for backwards compatibility. - feat(performance): Port INP span instrumentation to old browser tracing ([#&#8203;11085](https://github.com/getsentry/sentry-javascript/issues/11085)) - fix(ember): Ensure browser tracing is correctly lazy loaded ([#&#8203;11027](https://github.com/getsentry/sentry-javascript/issues/11027)) - fix(node): Do not assert in vendored proxy code (v7 backport) ([#&#8203;11009](https://github.com/getsentry/sentry-javascript/issues/11009)) - fix(react): Set `handled` value in ErrorBoundary depending on fallback \[v7] ([#&#8203;11037](https://github.com/getsentry/sentry-javascript/issues/11037)) ### [`v7.106.1`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#71061) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.106.0...7.106.1) - fix(nextjs/v7): Use passthrough `createReduxEnhancer` on server ([#&#8203;11010](https://github.com/getsentry/sentry-javascript/issues/11010)) ### [`v7.106.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#71060) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.105.0...7.106.0) - feat(nextjs): Support Hybrid Cloud DSNs with `tunnelRoute` option ([#&#8203;10958](https://github.com/getsentry/sentry-javascript/issues/10958)) - feat(remix): Add Vite dev-mode support to Express instrumentation ([#&#8203;10811](https://github.com/getsentry/sentry-javascript/issues/10811)) - fix(core): Undeprecate `setTransactionName` - fix(browser): Don't use chrome variable name ([#&#8203;10874](https://github.com/getsentry/sentry-javascript/issues/10874)) - fix(nextjs): Client code should not use Node `global` ([#&#8203;10925](https://github.com/getsentry/sentry-javascript/issues/10925)) - fix(node): support undici headers as strings or arrays ([#&#8203;10938](https://github.com/getsentry/sentry-javascript/issues/10938)) - fix(types): Add `AttachmentType` and use for envelope `attachment_type` property ([#&#8203;10946](https://github.com/getsentry/sentry-javascript/issues/10946)) - ref(ember): Avoid namespace import to hopefully resolve minification issue ([#&#8203;10885](https://github.com/getsentry/sentry-javascript/issues/10885)) - chore(sveltekit): Fix punctuation in a console.log ([#&#8203;10895](https://github.com/getsentry/sentry-javascript/issues/10895)) Work in this release contributed by [@&#8203;jessezhang91](https://github.com/jessezhang91) and [@&#8203;bfontaine](https://github.com/bfontaine). Thank you for your contributions! ### [`v7.105.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#71050) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.104.0...7.105.0) ##### Important Changes - **feat: Ensure `withActiveSpan` is exported everywhere ([#&#8203;10877](https://github.com/getsentry/sentry-javascript/issues/10877))** You can use the `withActiveSpan` method to ensure a certain span is the active span in a given callback. This can be used to create a span as a child of a specific span with the `startSpan` API methods: ```js const parentSpan = Sentry.startInactiveSpan({ name: 'parent' }); if (parentSpan) { withActiveSpan(parentSpan, () => { // This will be a direct child of parentSpan const childSpan = Sentry.startInactiveSpan({ name: 'child' }); }); } ``` ### [`v7.104.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#71040) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.103.0...7.104.0) ##### Important Changes - **feat(performance): create Interaction standalone spans on inp events ([#&#8203;10709](https://github.com/getsentry/sentry-javascript/issues/10709))** This release adds support for the INP web vital. This is currently only supported for Saas Sentry, and product support is released with the upcoming `24.3.0` release of self-hosted. To opt-in to this feature, you can use the `enableInp` option in the `browserTracingIntegration`: ```js Sentry.init({ integrations: [ Sentry.browserTracingIntegration({ enableInp: true, }); ] }) ``` ##### Other Changes - feat(feedback): Flush replays when feedback form opens ([#&#8203;10567](https://github.com/getsentry/sentry-javascript/issues/10567)) - feat(profiling-node): Expose `nodeProfilingIntegration` ([#&#8203;10864](https://github.com/getsentry/sentry-javascript/issues/10864)) - fix(profiling-node): Fix dependencies to point to current versions ([#&#8203;10861](https://github.com/getsentry/sentry-javascript/issues/10861)) - fix(replay): Add `errorHandler` for replayCanvas integration ([#&#8203;10796](https://github.com/getsentry/sentry-javascript/issues/10796)) ### [`v7.103.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#71030) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.102.1...7.103.0) ##### Important Changes - **feat(core): Allow to pass `forceTransaction` to `startSpan()` APIs ([#&#8203;10819](https://github.com/getsentry/sentry-javascript/issues/10819))** You can now pass `forceTransaction: true` to `startSpan()`, `startSpanManual()` and `startInactiveSpan()`. This allows you to start a span that you want to be a transaction, if possible. Under the hood, the SDK will connect this span to the running active span (if there is one), but still send the new span as a transaction to the Sentry backend, if possible, ensuring it shows up as a transaction throughout the system. Please note that setting this to `true` does not *guarantee* that this will be sent as a transaction, but that the SDK will try to do so. You can enable this flag if this span is important to you and you want to ensure that you can see it in the Sentry UI. ##### Other Changes - fix: Make breadcrumbs option optional in WinterCGFetch integration ([#&#8203;10792](https://github.com/getsentry/sentry-javascript/issues/10792)) ### [`v7.102.1`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#71021) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.102.0...7.102.1) - fix(performance): Fixes latest route name and source for interactions not updating properly on navigation ([#&#8203;10702](https://github.com/getsentry/sentry-javascript/issues/10702)) - fix(tracing): Guard against missing `window.location` ([#&#8203;10659](https://github.com/getsentry/sentry-javascript/issues/10659)) - ref: Make span types more robust ([#&#8203;10660](https://github.com/getsentry/sentry-javascript/issues/10660)) - ref(remix): Make `@remix-run/router` a dependency (v7) ([#&#8203;10779](https://github.com/getsentry/sentry-javascript/issues/10779)) ### [`v7.102.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#71020) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.101.1...7.102.0) - fix: Export session API ([#&#8203;10712](https://github.com/getsentry/sentry-javascript/issues/10712)) - fix(core): Fix scope capturing via `captureContext` function ([#&#8203;10737](https://github.com/getsentry/sentry-javascript/issues/10737)) ### [`v7.101.1`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#71011) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.101.0...7.101.1) In version 7.101.0 the `@sentry/hub` package was missing due to a publishing issue. This release contains the package again. - fix(nextjs): Remove `webpack://` prefix more broadly from source map `sources` field ([#&#8203;10641](https://github.com/getsentry/sentry-javascript/issues/10641)) ### [`v7.101.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#71010) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.100.1...7.101.0) - feat: Export semantic attribute keys from SDK packages ([#&#8203;10637](https://github.com/getsentry/sentry-javascript/issues/10637)) - feat(core): Add metric summaries to spans ([#&#8203;10554](https://github.com/getsentry/sentry-javascript/issues/10554)) - feat(core): Deprecate the `Hub` constructor ([#&#8203;10584](https://github.com/getsentry/sentry-javascript/issues/10584)) - feat(core): Make custom tracing methods return spans & set default op ([#&#8203;10633](https://github.com/getsentry/sentry-javascript/issues/10633)) - feat(replay): Add `getReplay` utility function ([#&#8203;10510](https://github.com/getsentry/sentry-javascript/issues/10510)) - fix(angular-ivy): Add `exports` field to `package.json` ([#&#8203;10569](https://github.com/getsentry/sentry-javascript/issues/10569)) - fix(sveltekit): Avoid capturing Http 4xx errors on the client ([#&#8203;10571](https://github.com/getsentry/sentry-javascript/issues/10571)) - fix(sveltekit): Properly await sourcemaps flattening ([#&#8203;10602](https://github.com/getsentry/sentry-javascript/issues/10602)) ### [`v7.100.1`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#71001) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.100.0...7.100.1) This release contains build fixes for profiling-node. - build(profiling-node): make sure debug build plugin is used [#&#8203;10534](https://github.com/getsentry/sentry-javascript/issues/10534) - build: Only run profiling e2e test if bindings have changed [#&#8203;10542](https://github.com/getsentry/sentry-javascript/issues/10542) - fix(feedback): Replay breadcrumb for feedback events was incorrect [#&#8203;10536](https://github.com/getsentry/sentry-javascript/issues/10536) ### [`v7.100.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#71000) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.99.0...7.100.0) ##### Important Changes ##### Deprecations This release includes some deprecations. For more details please look at our [migration guide](https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md). The deprecation most likely to affect you is the one of `BrowserTracing`. Instead of `new BrowserTracing()`, you should now use `browserTracingIntegration()`, which will also handle framework-specific instrumentation out of the box for you - no need to pass a custom `routingInstrumentation` anymore. For `@sentry/react`, we expose dedicated integrations for the different react-router versions: - `reactRouterV6BrowserTracingIntegration()` - `reactRouterV5BrowserTracingIntegration()` - `reactRouterV4BrowserTracingIntegration()` - `reactRouterV3BrowserTracingIntegration()` See the [migration guide](https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md#depreacted-browsertracing-integration) for details. - feat(angular): Export custom `browserTracingIntegration()` ([#&#8203;10353](https://github.com/getsentry/sentry-javascript/issues/10353)) - feat(browser): Deprecate `BrowserTracing` integration ([#&#8203;10493](https://github.com/getsentry/sentry-javascript/issues/10493)) - feat(browser): Export `browserProfilingIntegration` ([#&#8203;10438](https://github.com/getsentry/sentry-javascript/issues/10438)) - feat(bun): Export `bunServerIntegration()` ([#&#8203;10439](https://github.com/getsentry/sentry-javascript/issues/10439)) - feat(nextjs): Add `browserTracingIntegration` ([#&#8203;10397](https://github.com/getsentry/sentry-javascript/issues/10397)) - feat(react): Add `reactRouterV3BrowserTracingIntegration` for react router v3 ([#&#8203;10489](https://github.com/getsentry/sentry-javascript/issues/10489)) - feat(react): Add `reactRouterV4/V5BrowserTracingIntegration` for react router v4 & v5 ([#&#8203;10488](https://github.com/getsentry/sentry-javascript/issues/10488)) - feat(react): Add `reactRouterV6BrowserTracingIntegration` for react router v6 & v6.4 ([#&#8203;10491](https://github.com/getsentry/sentry-javascript/issues/10491)) - feat(remix): Add custom `browserTracingIntegration` ([#&#8203;10442](https://github.com/getsentry/sentry-javascript/issues/10442)) - feat(node): Expose functional integrations to replace classes ([#&#8203;10356](https://github.com/getsentry/sentry-javascript/issues/10356)) - feat(vercel-edge): Replace `WinterCGFetch` with `winterCGFetchIntegration` ([#&#8203;10436](https://github.com/getsentry/sentry-javascript/issues/10436)) - feat: Deprecate non-callback based `continueTrace` ([#&#8203;10301](https://github.com/getsentry/sentry-javascript/issues/10301)) - feat(vue): Deprecate `new VueIntegration()` ([#&#8203;10440](https://github.com/getsentry/sentry-javascript/issues/10440)) - feat(vue): Implement vue `browserTracingIntegration()` ([#&#8203;10477](https://github.com/getsentry/sentry-javascript/issues/10477)) - feat(sveltekit): Add custom `browserTracingIntegration()` ([#&#8203;10450](https://github.com/getsentry/sentry-javascript/issues/10450)) ##### Profiling Node `@sentry/profiling-node` has been ported into the monorepo. Future development for it will happen here! - pkg(profiling-node): port profiling-node repo to monorepo ([#&#8203;10151](https://github.com/getsentry/sentry-javascript/issues/10151)) ##### Other Changes - feat: Export `setHttpStatus` from all packages ([#&#8203;10475](https://github.com/getsentry/sentry-javascript/issues/10475)) - feat(bundles): Add pluggable integrations on CDN to `Sentry` namespace ([#&#8203;10452](https://github.com/getsentry/sentry-javascript/issues/10452)) - feat(core): Pass `name` & `attributes` to `tracesSampler` ([#&#8203;10426](https://github.com/getsentry/sentry-javascript/issues/10426)) - feat(feedback): Add `system-ui` to start of font family ([#&#8203;10464](https://github.com/getsentry/sentry-javascript/issues/10464)) - feat(node-experimental): Add koa integration ([#&#8203;10451](https://github.com/getsentry/sentry-javascript/issues/10451)) - feat(node-experimental): Update opentelemetry packages ([#&#8203;10456](https://github.com/getsentry/sentry-javascript/issues/10456)) - feat(node-experimental): Update tracing integrations to functional style ([#&#8203;10443](https://github.com/getsentry/sentry-javascript/issues/10443)) - feat(replay): Bump `rrweb` to 2.10.0 ([#&#8203;10445](https://github.com/getsentry/sentry-javascript/issues/10445)) - feat(replay): Enforce masking of credit card fields ([#&#8203;10472](https://github.com/getsentry/sentry-javascript/issues/10472)) - feat(utils): Add `propagationContextFromHeaders` ([#&#8203;10313](https://github.com/getsentry/sentry-javascript/issues/10313)) - fix: Make `startSpan`, `startSpanManual` and `startInactiveSpan` pick up the scopes at time of creation instead of termination ([#&#8203;10492](https://github.com/getsentry/sentry-javascript/issues/10492)) - fix(feedback): Fix logo color when colorScheme is "system" ([#&#8203;10465](https://github.com/getsentry/sentry-javascript/issues/10465)) - fix(nextjs): Do not report redirects and notFound calls as errors in server actions ([#&#8203;10474](https://github.com/getsentry/sentry-javascript/issues/10474)) - fix(nextjs): Fix navigation tracing on app router ([#&#8203;10502](https://github.com/getsentry/sentry-javascript/issues/10502)) - fix(nextjs): Apply server action data to correct isolation scope ([#&#8203;10514](https://github.com/getsentry/sentry-javascript/issues/10514)) - fix(node): Use normal `require` call to import Undici ([#&#8203;10388](https://github.com/getsentry/sentry-javascript/issues/10388)) - ref(nextjs): Remove internally used deprecated APIs ([#&#8203;10453](https://github.com/getsentry/sentry-javascript/issues/10453)) - ref(vue): use startInactiveSpan in tracing mixin ([#&#8203;10406](https://github.com/getsentry/sentry-javascript/issues/10406)) ### [`v7.99.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7990) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.98.0...7.99.0) ##### Important Changes ##### Deprecations This release includes some deprecations for span related methods and integrations in our Deno SDK, `@sentry/deno`. For more details please look at our [migration guide](https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md). - feat(core): Deprecate `Span.setHttpStatus` in favor of `setHttpStatus` ([#&#8203;10268](https://github.com/getsentry/sentry-javascript/issues/10268)) - feat(core): Deprecate `spanStatusfromHttpCode` in favour of `getSpanStatusFromHttpCode` ([#&#8203;10361](https://github.com/getsentry/sentry-javascript/issues/10361)) - feat(core): Deprecate `StartSpanOptions.origin` in favour of passing attribute ([#&#8203;10274](https://github.com/getsentry/sentry-javascript/issues/10274)) - feat(deno): Expose functional integrations to replace classes ([#&#8203;10355](https://github.com/getsentry/sentry-javascript/issues/10355)) ##### Other Changes - feat(bun): Add missing `@sentry/node` re-exports ([#&#8203;10396](https://github.com/getsentry/sentry-javascript/issues/10396)) - feat(core): Add `afterAllSetup` hook for integrations ([#&#8203;10345](https://github.com/getsentry/sentry-javascript/issues/10345)) - feat(core): Ensure `startSpan()` can handle spans that require parent ([#&#8203;10386](https://github.com/getsentry/sentry-javascript/issues/10386)) - feat(core): Read propagation context off scopes in `startSpan` APIs ([#&#8203;10300](https://github.com/getsentry/sentry-javascript/issues/10300)) - feat(remix): Export missing `@sentry/node` functions ([#&#8203;10385](https://github.com/getsentry/sentry-javascript/issues/10385), [#&#8203;10391](https://github.com/getsentry/sentry-javascript/issues/10391)) - feat(serverless): Add missing `@sentry/node` re-exports ([#&#8203;10390](https://github.com/getsentry/sentry-javascript/issues/10390)) - feat(sveltekit): Add more missing `@sentry/node` re-exports ([#&#8203;10392](https://github.com/getsentry/sentry-javascript/issues/10392)) - feat(tracing): Export proper type for browser tracing ([#&#8203;10411](https://github.com/getsentry/sentry-javascript/issues/10411)) - feat(tracing): Expose new `browserTracingIntegration` ([#&#8203;10351](https://github.com/getsentry/sentry-javascript/issues/10351)) - fix: Ensure `afterAllSetup` is called when using `addIntegration()` ([#&#8203;10372](https://github.com/getsentry/sentry-javascript/issues/10372)) - fix(core): Export `spanToTraceContext` function from span utils ([#&#8203;10364](https://github.com/getsentry/sentry-javascript/issues/10364)) - fix(core): Make `FunctionToString` integration use SETUP_CLIENTS weakmap ([#&#8203;10358](https://github.com/getsentry/sentry-javascript/issues/10358)) - fix(deno): Call function if client is not setup ([#&#8203;10354](https://github.com/getsentry/sentry-javascript/issues/10354)) - fix(react): Fix attachReduxState option ([#&#8203;10381](https://github.com/getsentry/sentry-javascript/issues/10381)) - fix(spotlight): Use unpatched http.request ([#&#8203;10369](https://github.com/getsentry/sentry-javascript/issues/10369)) - fix(tracing): Only create request span if there is active span ([#&#8203;10375](https://github.com/getsentry/sentry-javascript/issues/10375)) - ref: Read propagation context off of scope and isolation scope when propagating and applying trace context ([#&#8203;10297](https://github.com/getsentry/sentry-javascript/issues/10297)) Work in this release contributed by [@&#8203;AleshaOleg](https://github.com/AleshaOleg). Thank you for your contribution! ### [`v7.98.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7980) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.97.0...7.98.0) This release primarily fixes some type declaration errors: - feat(core): Export `IntegrationIndex` type ([#&#8203;10337](https://github.com/getsentry/sentry-javascript/issues/10337)) - fix(nextjs): Fix Http integration type declaration ([#&#8203;10338](https://github.com/getsentry/sentry-javascript/issues/10338)) - fix(node): Fix type definitions ([#&#8203;10339](https://github.com/getsentry/sentry-javascript/issues/10339)) ### [`v7.97.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7970) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.96.0...7.97.0) Note: The 7.96.0 release was incomplete. This release is partially encompassing changes from `7.96.0`. - feat(react): Add `stripBasename` option for React Router 6 ([#&#8203;10314](https://github.com/getsentry/sentry-javascript/issues/10314)) ### [`v7.96.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7960) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.95.0...7.96.0) Note: This release was incomplete. Not all Sentry SDK packages were released for this version. Please upgrade to 7.98.0 directly. ##### Important Changes ##### Deprecations This release includes some deprecations for integrations in `@sentry/browser` and frontend framework SDKs (`@sentry/react`, `@sentry/vue`, etc.). Please take a look at our [migration guide](https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md) for more details. - feat(browser): Export functional integrations & deprecate classes ([#&#8203;10267](https://github.com/getsentry/sentry-javascript/issues/10267)) ##### Web Vitals Fix for LCP and CLS This release fixes an issue with the Web Vitals integration where LCP and CLS were not being captured correctly, increasing capture rate by 10-30% for some apps. LCP and CLS capturing issues were introduced with version `7.75.0`. - fix(tracing): Ensure web vitals are correctly stopped/captured ([#&#8203;10323](https://github.com/getsentry/sentry-javascript/issues/10323)) ##### Other Changes - fix(node): Fix `node-cron` types and add test ([#&#8203;10315](https://github.com/getsentry/sentry-javascript/issues/10315)) - fix(node): Fix downleveled types entry point ([#&#8203;10321](https://github.com/getsentry/sentry-javascript/issues/10321)) - fix(node): LocalVariables integration should use setupOnce ([#&#8203;10307](https://github.com/getsentry/sentry-javascript/issues/10307)) - fix(replay): Fix type for options of replayIntegration ([#&#8203;10325](https://github.com/getsentry/sentry-javascript/issues/10325)) Work in this release contributed by [@&#8203;Shubhdeep12](https://github.com/Shubhdeep12). Thank you for your contribution! ### [`v7.95.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7950) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.94.1...7.95.0) ##### Important Changes ##### Deprecations This release includes some deprecations in preparation for v8. Most notably, it deprecates the `Replay` & `Feedback` classes in favor of a functional replacement: ```js import * as Sentry from '@&#8203;sentry/browser'; Sentry.init({ integrations: [ // Instead of new Sentry.Replay(), new Sentry.Feedback(), // Use the functional replacement: Sentry.replayIntegration(), Sentry.feedbackIntegration(), ], }); ``` - feat(core): Deprecate `Span.origin` in favor of `sentry.origin` attribute ([#&#8203;10260](https://github.com/getsentry/sentry-javascript/issues/10260)) - feat(core): Deprecate `Span.parentSpanId` ([#&#8203;10244](https://github.com/getsentry/sentry-javascript/issues/10244)) - feat(core): Expose `isInitialized()` to replace checking via `getClient` ([#&#8203;10296](https://github.com/getsentry/sentry-javascript/issues/10296)) - feat(replay): Deprecate `Replay`, `ReplayCanvas`, `Feedback` classes ([#&#8203;10270](https://github.com/getsentry/sentry-javascript/issues/10270)) - feat(wasm): Deprecate `Wasm` integration class ([#&#8203;10230](https://github.com/getsentry/sentry-javascript/issues/10230)) ##### Other Changes - feat: Make `parameterize` function available through browser and node API ([#&#8203;10085](https://github.com/getsentry/sentry-javascript/issues/10085)) - feat(feedback): Configure feedback border radius ([#&#8203;10289](https://github.com/getsentry/sentry-javascript/issues/10289)) - feat(sveltekit): Update default integration handling & deprecate `addOrUpdateIntegration` ([#&#8203;10263](https://github.com/getsentry/sentry-javascript/issues/10263)) - fix(replay-canvas): Add missing dependency on [@&#8203;sentry/utils](https://github.com/sentry/utils) ([#&#8203;10279](https://github.com/getsentry/sentry-javascript/issues/10279)) - fix(tracing): Don't send negative ttfb ([#&#8203;10286](https://github.com/getsentry/sentry-javascript/issues/10286)) Work in this release contributed by [@&#8203;AleshaOleg](https://github.com/AleshaOleg). Thank you for your contribution! ### [`v7.94.1`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7941) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.93.0...7.94.1) This release fixes a publishing issue. ### [`v7.93.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7930) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.92.0...7.93.0) ##### Important Changes ##### Deprecations As we're moving closer to the next major version of the SDK, more public APIs were deprecated. To get a head start on migrating to the replacement APIs, please take a look at our [migration guide](https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md). - feat(core): Deprecate `getActiveTransaction()` & `scope.getTransaction()` ([#&#8203;10098](https://github.com/getsentry/sentry-javascript/issues/10098)) - feat(core): Deprecate `Hub.shouldSendDefaultPii` ([#&#8203;10062](https://github.com/getsentry/sentry-javascript/issues/10062)) - feat(core): Deprecate `new Transaction()` ([#&#8203;10125](https://github.com/getsentry/sentry-javascript/issues/10125)) - feat(core): Deprecate `scope.getSpan()` & `scope.setSpan()` ([#&#8203;10114](https://github.com/getsentry/sentry-javascript/issues/10114)) - feat(core): Deprecate `scope.setTransactionName()` ([#&#8203;10113](https://github.com/getsentry/sentry-javascript/issues/10113)) - feat(core): Deprecate `span.startChild()` ([#&#8203;10091](https://github.com/getsentry/sentry-javascript/issues/10091)) - feat(core): Deprecate `startTransaction()` ([#&#8203;10073](https://github.com/getsentry/sentry-javascript/issues/10073)) - feat(core): Deprecate `Transaction.getDynamicSamplingContext` in favor of `getDynamicSamplingContextFromSpan` ([#&#8203;10094](https://github.com/getsentry/sentry-javascript/issues/10094)) - feat(core): Deprecate arguments for `startSpan()` ([#&#8203;10101](https://github.com/getsentry/sentry-javascript/issues/10101)) - feat(core): Deprecate hub capture APIs and add them to `Scope` ([#&#8203;10039](https://github.com/getsentry/sentry-javascript/issues/10039)) - feat(core): Deprecate session APIs on hub and add global replacements ([#&#8203;10054](https://github.com/getsentry/sentry-javascript/issues/10054)) - feat(core): Deprecate span `name` and `description` ([#&#8203;10056](https://github.com/getsentry/sentry-javascript/issues/10056)) - feat(core): Deprecate span `tags`, `data`, `context` & setters ([#&#8203;10053](https://github.com/getsentry/sentry-javascript/issues/10053)) - feat(core): Deprecate transaction metadata in favor of attributes ([#&#8203;10097](https://github.com/getsentry/sentry-javascript/issues/10097)) - feat(core): Deprecate `span.sampled` in favor of `span.isRecording()` ([#&#8203;10034](https://github.com/getsentry/sentry-javascript/issues/10034)) - ref(node-experimental): Deprecate `lastEventId` on scope ([#&#8203;10093](https://github.com/getsentry/sentry-javascript/issues/10093)) ##### Cron Monitoring Support for `node-schedule` library This release adds auto instrumented check-ins for the `node-schedule` library. ```ts import * as Sentry from '@&#8203;sentry/node'; import * as schedule from 'node-schedule'; const scheduleWithCheckIn = Sentry.cron.instrumentNodeSchedule(schedule); const job = scheduleWithCheckIn.scheduleJob('my-cron-job', '* * * * *', () => { console.log('You will see this message every minute'); }); ``` - feat(node): Instrumentation for `node-schedule` library ([#&#8203;10086](https://github.com/getsentry/sentry-javascript/issues/10086)) ##### Other Changes - feat(core): Add `span.spanContext()` ([#&#8203;10037](https://github.com/getsentry/sentry-javascript/issues/10037)) - feat(core): Add `spanToJSON()` method to get span properties ([#&#8203;10074](https://github.com/getsentry/sentry-javascript/issues/10074)) - feat(core): Allow to pass `scope` to `startSpan` APIs ([#&#8203;10076](https://github.com/getsentry/sentry-javascript/issues/10076)) - feat(core): Allow to pass start/end timestamp for spans flexibly ([#&#8203;10060](https://github.com/getsentry/sentry-javascript/issues/10060)) - feat(node): Make `getModuleFromFilename` compatible with ESM ([#&#8203;10061](https://github.com/getsentry/sentry-javascript/issues/10061)) - feat(replay): Update rrweb to 2.7.3 ([#&#8203;10072](https://github.com/getsentry/sentry-javascript/issues/10072)) - feat(utils): Add `parameterize` function ([#&#8203;9145](https://github.com/getsentry/sentry-javascript/issues/9145)) - fix(astro): Use correct package name for CF ([#&#8203;10099](https://github.com/getsentry/sentry-javascript/issues/10099)) - fix(core): Do not run `setup` for integration on client multiple times ([#&#8203;10116](https://github.com/getsentry/sentry-javascript/issues/10116)) - fix(core): Ensure we copy passed in span data/tags/attributes ([#&#8203;10105](https://github.com/getsentry/sentry-javascript/issues/10105)) - fix(cron): Make name required for instrumentNodeCron option ([#&#8203;10070](https://github.com/getsentry/sentry-javascript/issues/10070)) - fix(nextjs): Don't capture not-found and redirect errors in generation functions ([#&#8203;10057](https://github.com/getsentry/sentry-javascript/issues/10057)) - fix(node): `LocalVariables` integration should have correct name ([#&#8203;10084](https://github.com/getsentry/sentry-javascript/issues/10084)) - fix(node): Anr events should have an `event_id` ([#&#8203;10068](https://github.com/getsentry/sentry-javascript/issues/10068)) - fix(node): Revert to only use sync debugger for `LocalVariables` ([#&#8203;10077](https://github.com/getsentry/sentry-javascript/issues/10077)) - fix(node): Update ANR min node version to v16.17.0 ([#&#8203;10107](https://github.com/getsentry/sentry-javascript/issues/10107)) ### [`v7.92.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7920) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.91.0...7.92.0) ##### Important Changes ##### Deprecations - feat(core): Add `span.updateName()` and deprecate `span.setName()` ([#&#8203;10018](https://github.com/getsentry/sentry-javascript/issues/10018)) - feat(core): Deprecate `span.getTraceContext()` ([#&#8203;10032](https://github.com/getsentry/sentry-javascript/issues/10032)) - feat(core): Deprecate `span.toTraceparent()` in favor of `spanToTraceHeader()` util ([#&#8203;10031](https://github.com/getsentry/sentry-javascript/issues/10031)) - feat(core): Deprecate `trace` in favor of `startSpan` ([#&#8203;10012](https://github.com/getsentry/sentry-javascript/issues/10012)) - feat(core): Deprecate span `toContext()` and `updateWithContext()` ([#&#8203;10030](https://github.com/getsentry/sentry-javascript/issues/10030)) - ref: Deprecate `deepReadDirSync` ([#&#8203;10016](https://github.com/getsentry/sentry-javascript/issues/10016)) - ref: Deprecate `lastEventId()` ([#&#8203;10043](https://github.com/getsentry/sentry-javascript/issues/10043)) Please take a look at the [Migration docs](./MIGRATION.md) for more details. These methods will be removed in the upcoming [v8 major release](https://github.com/getsentry/sentry-javascript/discussions/9802). ##### Cron Monitoring Support for `cron` and `node-cron` libraries - feat(node): Instrumentation for `cron` library ([#&#8203;9999](https://github.com/getsentry/sentry-javascript/issues/9999)) - feat(node): Instrumentation for `node-cron` library ([#&#8203;9904](https://github.com/getsentry/sentry-javascript/issues/9904)) This release adds instrumentation for the `cron` and `node-cron` libraries. This allows you to monitor your cron jobs with [Sentry cron monitors](https://docs.sentry.io/product/crons/). For [`cron`](https://www.npmjs.com/package/cron): ```js import * as Sentry from '@&#8203;sentry/node'; import { CronJob } from 'cron'; const CronJobWithCheckIn = Sentry.cron.instrumentCron(CronJob, 'my-cron-job'); // use the constructor const job = new CronJobWithCheckIn('* * * * *', () => { console.log('You will see this message every minute'); }); // or from const job = CronJobWithCheckIn.from({ cronTime: '* * * * *', onTick: () => { console.log('You will see this message every minute'); }, }); ``` For [`node-cron`](https://www.npmjs.com/package/node-cron): ```js import * as Sentry from '@&#8203;sentry/node'; import cron from 'node-cron'; const cronWithCheckIn = Sentry.cron.instrumentNodeCron(cron); cronWithCheckIn.schedule( '* * * * *', () => { console.log('running a task every minute'); }, { name: 'my-cron-job' }, ); ``` ##### Other Changes - feat(astro): Add `enabled` option to Astro integration options ([#&#8203;10007](https://github.com/getsentry/sentry-javascript/issues/10007)) - feat(core): Add `attributes` to `Span` ([#&#8203;10008](https://github.com/getsentry/sentry-javascript/issues/10008)) - feat(core): Add `setClient()` and `getClient()` to `Scope` ([#&#8203;10055](https://github.com/getsentry/sentry-javascript/issues/10055)) - feat(integrations): Capture error cause with `captureErrorCause` in `ExtraErrorData` integration ([#&#8203;9914](https://github.com/getsentry/sentry-javascript/issues/9914)) - feat(node-experimental): Allow to pass base span options to trace methods ([#&#8203;10006](https://github.com/getsentry/sentry-javascript/issues/10006)) - feat(node): Local variables via async inspector in node 19+ ([#&#8203;9962](https://github.com/getsentry/sentry-javascript/issues/9962)) - fix(astro): handle commonjs related issues ([#&#8203;10042](https://github.com/getsentry/sentry-javascript/issues/10042)) - fix(astro): Handle non-utf8 encoded streams in middleware ([#&#8203;9989](https://github.com/getsentry/sentry-javascript/issues/9989)) - fix(astro): prevent sentry from externalized ([#&#8203;9994](https://github.com/getsentry/sentry-javascript/issues/9994)) - fix(core): Ensure `withScope` sets current scope correctly with async callbacks ([#&#8203;9974](https://github.com/getsentry/sentry-javascript/issues/9974)) - fix(node): ANR fixes and additions ([#&#8203;9998](https://github.com/getsentry/sentry-javascript/issues/9998)) - fix(node): Anr should not block exit ([#&#8203;10035](https://github.com/getsentry/sentry-javascript/issues/10035)) - fix(node): Correctly resolve module name ([#&#8203;10001](https://github.com/getsentry/sentry-javascript/issues/10001)) - fix(node): Handle inspector already open ([#&#8203;10025](https://github.com/getsentry/sentry-javascript/issues/10025)) - fix(node): Make `NODE_VERSION` properties required ([#&#8203;9964](https://github.com/getsentry/sentry-javascript/issues/9964)) - fix(node): Anr doesn't block exit ([#&#8203;10064](https://github.com/getsentry/sentry-javascript/issues/10064)) - fix(utils): use correct typeof URL validation ([#&#8203;10028](https://github.com/getsentry/sentry-javascript/issues/10028)) - perf(astro): reduce unnecessary path resolutions ([#&#8203;10021](https://github.com/getsentry/sentry-javascript/issues/10021)) - ref(astro): Use astro logger instead of console ([#&#8203;9995](https://github.com/getsentry/sentry-javascript/issues/9995)) - ref(remix): Isolate Express instrumentation from server auto-instrumentation. ([#&#8203;9966](https://github.com/getsentry/sentry-javascript/issues/9966)) Work in this release contributed by [@&#8203;joshkel](https://github.com/joshkel). Thank you for your contribution! ### [`v7.91.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7910) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.90.0...7.91.0) ##### Important Changes - **feat: Add server runtime metrics aggregator ([#&#8203;9894](https://github.com/getsentry/sentry-javascript/issues/9894))** The release adds alpha support for [Sentry developer metrics](https://github.com/getsentry/sentry/discussions/58584) in the server runtime SDKs (`@sentry/node`, `@sentry/deno`, `@sentry/nextjs` server-side, etc.). Via the newly introduced APIs, you can now flush metrics directly to Sentry. To enable capturing metrics, you first need to add the `metricsAggregator` experiment to your `Sentry.init` call. ```js Sentry.init({ dsn: '__DSN__', _experiments: { metricsAggregator: true, }, }); ``` Then you'll be able to add `counters`, `sets`, `distributions`, and `gauges` under the `Sentry.metrics` namespace. ```js // Add 4 to a counter named `hits` Sentry.metrics.increment('hits', 4); // Add 2 to gauge named `parallel_requests`, tagged with `type: "a"` Sentry.metrics.gauge('parallel_requests', 2, { tags: { type: 'a' } }); // Add 4.6 to a distribution named `response_time` with unit seconds Sentry.metrics.distribution('response_time', 4.6, { unit: 'seconds' }); // Add 2 to a set named `valuable.ids` Sentry.metrics.set('valuable.ids', 2); ``` - **feat(node): Rework ANR to use worker script via an integration ([#&#8203;9945](https://github.com/getsentry/sentry-javascript/issues/9945))** The [ANR tracking integration for Node](https://docs.sentry.io/platforms/node/configuration/application-not-responding/) has been reworked to use an integration. ANR tracking now requires a minimum Node version of 16 or higher. Previously you had to call `Sentry.enableANRDetection` before running your application, now you can simply add the `Anr` integration to your `Sentry.init` call. ```js import * as Sentry from '@&#8203;sentry/node'; Sentry.init({ dsn: 'https://public@dsn.ingest.sentry.io/1337', integrations: [new Sentry.Integrations.Anr({ captureStackTrace: true, anrThreshold: 200 })], }); ``` ##### Other Changes - feat(breadcrumbs): Send component names on UI breadcrumbs ([#&#8203;9946](https://github.com/getsentry/sentry-javascript/issues/9946)) - feat(core): Add `getGlobalScope()` method ([#&#8203;9920](https://github.com/getsentry/sentry-javascript/issues/9920)) - feat(core): Add `getIsolationScope()` method ([#&#8203;9957](https://github.com/getsentry/sentry-javascript/issues/9957)) - feat(core): Add `span.end()` to replace `span.finish()` ([#&#8203;9954](https://github.com/getsentry/sentry-javascript/issues/9954)) - feat(core): Ensure `startSpan` & `startSpanManual` fork scope ([#&#8203;9955](https://github.com/getsentry/sentry-javascript/issues/9955)) - feat(react): Send component name on spans ([#&#8203;9949](https://github.com/getsentry/sentry-javascript/issues/9949)) - feat(replay): Send component names in replay breadcrumbs ([#&#8203;9947](https://github.com/getsentry/sentry-javascript/issues/9947)) - feat(sveltekit): Add options to configure fetch instrumentation script for CSP ([#&#8203;9969](https://github.com/getsentry/sentry-javascript/issues/9969)) - feat(tracing): Send component name on interaction spans ([#&#8203;9948](https://github.com/getsentry/sentry-javascript/issues/9948)) - feat(utils): Add function to extract relevant component name ([#&#8203;9921](https://github.com/getsentry/sentry-javascript/issues/9921)) - fix(core): Rethrow caught promise rejections in `startSpan`, `startSpanManual`, `trace` ([#&#8203;9958](https://github.com/getsentry/sentry-javascript/issues/9958)) ### [`v7.90.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7900) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.89.0...7.90.0) - feat(replay): Change to use preset quality values ([#&#8203;9903](https://github.com/getsentry/sentry-javascript/issues/9903)) - fix(replay): Adjust development hydration error messages ([#&#8203;9922](https://github.com/getsentry/sentry-javascript/issues/9922)) - fix(sveltekit): Add `types` field to package.json `exports` ([#&#8203;9926](https://github.com/getsentry/sentry-javascript/issues/9926)) ### [`v7.89.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7890) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.88.0...7.89.0) ##### Important Changes ##### Deprecations - **feat(core): Deprecate `configureScope` ([#&#8203;9887](https://github.com/getsentry/sentry-javascript/issues/9887))** - **feat(core): Deprecate `pushScope` & `popScope` ([#&#8203;9890](https://github.com/getsentry/sentry-javascript/issues/9890))** This release deprecates `configureScope`, `pushScope`, and `popScope`, which will be removed in the upcoming v8 major release. ##### Hapi Integration - **feat(node): Add Hapi Integration ([#&#8203;9539](https://github.com/getsentry/sentry-javascript/issues/9539))** This release adds an integration for Hapi. It can be used as follows: ```ts const Sentry = require('@&#8203;sentry/node'); const Hapi = require('@&#8203;hapi/hapi'); const init = async () => { const server = Hapi.server({ // your server configuration ... }); Sentry.init({ dsn: '__DSN__', tracesSampleRate: 1.0, integrations: [new Sentry.Integrations.Hapi({ server })], }); server.route({ // your route configuration ... }); await server.start(); }; ``` ##### SvelteKit 2.0 - **chore(sveltekit): Add SvelteKit 2.0 to peer dependencies ([#&#8203;9861](https://github.com/getsentry/sentry-javascript/issues/9861))** This release adds support for SvelteKit 2.0 in the `@sentry/sveltekit` package. If you're upgrading from SvelteKit 1.x to 2.x and already use the Sentry SvelteKit SDK, no changes apart from upgrading to this (or a newer) version are necessary. ##### Other Changes - feat(core): Add type & utility for function-based integrations ([#&#8203;9818](https://github.com/getsentry/sentry-javascript/issues/9818)) - feat(core): Update `withScope` to return callback return value ([#&#8203;9866](https://github.com/getsentry/sentry-javascript/issues/9866)) - feat(deno): Support `Deno.CronSchedule` for cron jobs ([#&#8203;9880](https://github.com/getsentry/sentry-javascript/issues/9880)) - feat(nextjs): Auto instrument generation functions ([#&#8203;9781](https://github.com/getsentry/sentry-javascript/issues/9781)) - feat(nextjs): Connect server component transactions if there is no incoming trace ([#&#8203;9845](https://github.com/getsentry/sentry-javascript/issues/9845)) - feat(node-experimental): Update to new Scope APIs ([#&#8203;9799](https://github.com/getsentry/sentry-javascript/issues/9799)) - feat(replay): Add `canvas.type` setting ([#&#8203;9877](https://github.com/getsentry/sentry-javascript/issues/9877)) - fix(nextjs): Export `createReduxEnhancer` ([#&#8203;9854](https://github.com/getsentry/sentry-javascript/issues/9854)) - fix(remix): Do not capture thrown redirect responses. ([#&#8203;9909](https://github.com/getsentry/sentry-javascript/issues/9909)) - fix(sveltekit): Add conditional exports ([#&#8203;9872](https://github.com/getsentry/sentry-javascript/issues/9872)) - fix(sveltekit): Avoid capturing 404 errors on client side ([#&#8203;9902](https://github.com/getsentry/sentry-javascript/issues/9902)) - fix(utils): Do not use `Event` type in worldwide ([#&#8203;9864](https://github.com/getsentry/sentry-javascript/issues/9864)) - fix(utils): Support crypto.getRandomValues in old Chromium versions ([#&#8203;9251](https://github.com/getsentry/sentry-javascript/issues/9251)) - fix(utils): Update `eventFromUnknownInput` to avoid scope pollution & `getCurrentHub` ([#&#8203;9868](https://github.com/getsentry/sentry-javascript/issues/9868)) - ref: Use `addBreadcrumb` directly & allow to pass hint ([#&#8203;9867](https://github.com/getsentry/sentry-javascript/issues/9867)) Work in this release contributed by [@&#8203;adam187](https://github.com/adam187), and [@&#8203;jghinestrosa](https://github.com/jghinestrosa). Thank you for your contributions! ### [`v7.88.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7880) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.87.0...7.88.0) ##### Important Changes - **feat(browser): Add browser metrics sdk ([#&#8203;9794](https://github.com/getsentry/sentry-javascript/issues/9794))** The release adds alpha support for [Sentry developer metrics](https://github.com/getsentry/sentry/discussions/58584) in the Browser SDKs (`@sentry/browser` and related framework SDKs). Via the newly introduced APIs, you can now flush metrics directly to Sentry. To enable capturing metrics, you first need to add the `MetricsAggregator` integration. ```js Sentry.init({ dsn: '__DSN__', integrations: [new Sentry.metrics.MetricsAggregator()], }); ``` Then you'll be able to add `counters`, `sets`, `distributions`, and `gauges` under the `Sentry.metrics` namespace. ```js // Add 4 to a counter named `hits` Sentry.metrics.increment('hits', 4); // Add 2 to gauge named `parallel_requests`, tagged with `happy: "no"` Sentry.metrics.gauge('parallel_requests', 2, { tags: { happy: 'no' } }); // Add 4.6 to a distribution named `response_time` with unit seconds Sentry.metrics.distribution('response_time', 4.6, { unit: 'seconds' }); // Add 2 to a set named `valuable.ids` Sentry.metrics.set('valuable.ids', 2); ``` In a future release we'll add support for server runtimes (Node, Deno, Bun, Vercel Edge, etc.) - **feat(deno): Optionally instrument `Deno.cron` ([#&#8203;9808](https://github.com/getsentry/sentry-javascript/issues/9808))** This releases add support for instrumenting [Deno cron's](https://deno.com/blog/cron) with [Sentry cron monitors](https://docs.sentry.io/product/crons/). This requires v1.38 of Deno run with the `--unstable` flag and the usage of the `DenoCron` Sentry integration. ```ts // Import from the Deno registry import * as Sentry from 'https://deno.land/x/sentry/index.mjs'; Sentry.init({ dsn: '__DSN__', integrations: [new Sentry.DenoCron()], }); ``` ##### Other Changes - feat(replay): Bump `rrweb` to 2.6.0 ([#&#8203;9847](https://github.com/getsentry/sentry-javascript/issues/9847)) - fix(nextjs): Guard against injecting multiple times ([#&#8203;9807](https://github.com/getsentry/sentry-javascript/issues/9807)) - ref(remix): Bump Sentry CLI to ^2.23.0 ([#&#8203;9773](https://github.com/getsentry/sentry-javascript/issues/9773)) ### [`v7.87.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7870) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.86.0...7.87.0) - feat: Add top level `getCurrentScope()` method ([#&#8203;9800](https://github.com/getsentry/sentry-javascript/issues/9800)) - feat(replay): Bump `rrweb` to 2.5.0 ([#&#8203;9803](https://github.com/getsentry/sentry-javascript/issues/9803)) - feat(replay): Capture hydration error breadcrumb ([#&#8203;9759](https://github.com/getsentry/sentry-javascript/issues/9759)) - feat(types): Add profile envelope types ([#&#8203;9798](https://github.com/getsentry/sentry-javascript/issues/9798)) - fix(astro): Avoid RegExp creation during route interpolation ([#&#8203;9815](https://github.com/getsentry/sentry-javascript/issues/9815)) - fix(browser): Avoid importing from `./exports` ([#&#8203;9775](https://github.com/getsentry/sentry-javascript/issues/9775)) - fix(nextjs): Catch rejecting flushes ([#&#8203;9811](https://github.com/getsentry/sentry-javascript/issues/9811)) - fix(nextjs): Fix devserver CORS blockage when `assetPrefix` is defined ([#&#8203;9766](https://github.com/getsentry/sentry-javascript/issues/9766)) - fix(node): Capture errors in tRPC middleware ([#&#8203;9782](https://github.com/getsentry/sentry-javascript/issues/9782)) ### [`v7.86.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7860) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.85.0...7.86.0) - feat(core): Use SDK_VERSION for hub API version ([#&#8203;9732](https://github.com/getsentry/sentry-javascript/issues/9732)) - feat(nextjs): Emit warning if your app directory doesn't have a global-error.js file ([#&#8203;9753](https://github.com/getsentry/sentry-javascript/issues/9753)) - feat(node): Add cloudflare pages commit sha ([#&#8203;9751](https://github.com/getsentry/sentry-javascript/issues/9751)) - feat(remix): Bump [@&#8203;sentry/cli](https://github.com/sentry/cli) to 2.22.3 ([#&#8203;9741](https://github.com/getsentry/sentry-javascript/issues/9741)) - fix(nextjs): Don't accidentally trigger static generation bailout ([#&#8203;9749](https://github.com/getsentry/sentry-javascript/issues/9749)) - fix(node): Guard `process.env.NODE_ENV` access in Spotlight integration ([#&#8203;9748](https://github.com/getsentry/sentry-javascript/issues/9748)) - fix(utils): Fix XHR instrumentation early return ([#&#8203;9770](https://github.com/getsentry/sentry-javascript/issues/9770)) - ref(remix): Rework Error Handling ([#&#8203;9725](https://github.com/getsentry/sentry-javascript/issues/9725)) ### [`v7.85.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7850) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.84.0...7.85.0) - feat(core): Add `addEventProcessor` method ([#&#8203;9554](https://github.com/getsentry/sentry-javascript/issues/9554)) - feat(crons): Add interface for heartbeat checkin ([#&#8203;9706](https://github.com/getsentry/sentry-javascript/issues/9706)) - feat(feedback): Include Feedback package in browser SDK ([#&#8203;9586](https://github.com/getsentry/sentry-javascript/issues/9586)) - fix(astro): Isolate request instrumentation in middleware ([#&#8203;9709](https://github.com/getsentry/sentry-javascript/issues/9709)) - fix(replay): Capture JSON XHR response bodies ([#&#8203;9623](https://github.com/getsentry/sentry-javascript/issues/9623)) - ref(feedback): Change form `box-shadow` to use CSS var ([#&#8203;9630](https://github.com/getsentry/sentry-javascript/issues/9630)) ### [`v7.84.0`](https://github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#7840) [Compare Source](https://github.com/getsentry/sentry-javascript/compare/7.83.0...7.84.0) ##### Important Changes - **ref(nextjs): Set `automaticVercelMonitors` to be `false` by default ([#&#8203;9697](https://github.com/getsentry/sentry-javascript/issues/9697))** From this version onwards the default for the `automaticVercelMonitors` option in the Next.js SDK is set to false. Previously, if you made use of Vercel Crons the SDK automatically instrumented the relevant routes to create Sentry monitors. Because this feature will soon be generally available, we are now flipping the default to avoid situations where quota is used unexpectedly. If you want to continue using this feature, make sure to set the `automaticVercelMonitors` flag to `true` in your `next.config.js` Sentry settings. ##### Other Changes - chore(astro): Add 4.0.0 preview versions to `astro` peer dependency range ([#&#8203;9696](https://github.com/getsentry/sentry-javascript/issues/9696)) - feat(metrics): Add interfaces for metrics ([#&#8203;9698](https://github.com/getsentry/sentry-javascript/issues/9698)) - feat(web-vitals): Vendor in INP from web-vitals library ([#&#8203;9690](https://github.com/getsentry/sentry-javascript/issues/9690)) - fix(astro): Avoid adding the Sentry Vite plugin in dev mode ([#&#8203;9688](https://github.com/getsentry/sentry-javascript/issues/9688)) - fix(nextjs): Don't match files called `middleware` in node_modules ([#&#8203;9686](https://github.com/getsentry/sentry-javascript/issues/9686)) - fix(remix): Don't capture error responses that are not 5xx on Remix v2. ([#&#8203;9655](https://github.com/getsentry/sentry-javascript/issues/9655)) - fix(tracing): Don't attach resource size if null ([#&#8203;9669](https://github.com/getsentry/sentry-javascript/issues/9669)) - fix(utils): Regex match port to stop accidental replace ([#&#8203;9676](https://github.com/getsentry/sentry-javascript/issues/9676)) - fix(utils): Try catch new URL when extracting query params ([#&#8203;9675](https://github.com/getsentry/sentry-javascript/issues/9675)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy43NC4zIiwidXBkYXRlZEluVmVyIjoiMzcuMjc5LjQiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIifQ==-->
Fascinated force-pushed renovate/sentry-javascript-monorepo from 24c55e974b to 0c87667d4f 2023-12-04 21:00:39 +00:00 Compare
Fascinated changed title from fix(deps): update dependency @sentry/node to v7.84.0 to fix(deps): update dependency @sentry/node to v7.85.0 2023-12-04 21:00:46 +00:00
Fascinated force-pushed renovate/sentry-javascript-monorepo from 0c87667d4f to 0f8735379e 2023-12-30 23:12:12 +00:00 Compare
Fascinated changed title from fix(deps): update dependency @sentry/node to v7.85.0 to fix(deps): update dependency @sentry/node to v7.91.0 2023-12-30 23:12:19 +00:00
Fascinated force-pushed renovate/sentry-javascript-monorepo from 0f8735379e to 25e04e4220 2024-01-04 19:01:25 +00:00 Compare
Fascinated changed title from fix(deps): update dependency @sentry/node to v7.91.0 to fix(deps): update dependency @sentry/node to v7.92.0 2024-01-04 19:01:27 +00:00
Fascinated force-pushed renovate/sentry-javascript-monorepo from 25e04e4220 to 950c21e415 2024-01-10 14:01:03 +00:00 Compare
Fascinated changed title from fix(deps): update dependency @sentry/node to v7.92.0 to fix(deps): update dependency @sentry/node to v7.93.0 2024-01-10 14:01:05 +00:00
Fascinated force-pushed renovate/sentry-javascript-monorepo from 950c21e415 to 551a9078e8 2024-01-16 16:01:04 +00:00 Compare
Fascinated force-pushed renovate/sentry-javascript-monorepo from 551a9078e8 to 4646e291cb 2024-01-19 13:01:08 +00:00 Compare
Fascinated changed title from fix(deps): update dependency @sentry/node to v7.93.0 to fix(deps): update dependency @sentry/node to v7.94.1 2024-01-19 13:01:08 +00:00
Fascinated force-pushed renovate/sentry-javascript-monorepo from 4646e291cb to 8d782661e4 2024-02-01 02:01:58 +00:00 Compare
Fascinated changed title from fix(deps): update dependency @sentry/node to v7.94.1 to fix(deps): update dependency @sentry/node to v7.99.0 2024-02-01 02:02:02 +00:00
Fascinated force-pushed renovate/sentry-javascript-monorepo from 8d782661e4 to 3009bd1110 2024-02-08 01:09:09 +00:00 Compare
Fascinated changed title from fix(deps): update dependency @sentry/node to v7.99.0 to fix(deps): update dependency @sentry/node to v7.100.1 2024-02-08 01:09:10 +00:00
Fascinated force-pushed renovate/sentry-javascript-monorepo from 3009bd1110 to 4e660fb0c7 2024-02-14 07:21:56 +00:00 Compare
Fascinated changed title from fix(deps): update dependency @sentry/node to v7.100.1 to fix(deps): update dependency @sentry/node to v7.101.0 2024-02-14 07:21:58 +00:00
Fascinated force-pushed renovate/sentry-javascript-monorepo from 4e660fb0c7 to c71af96df3 2024-02-16 08:25:37 +00:00 Compare
Fascinated changed title from fix(deps): update dependency @sentry/node to v7.101.0 to fix(deps): update dependency @sentry/node to v7.101.1 2024-02-16 08:25:38 +00:00
Fascinated force-pushed renovate/sentry-javascript-monorepo from c71af96df3 to cf7c114732 2024-03-06 00:11:21 +00:00 Compare
Fascinated changed title from fix(deps): update dependency @sentry/node to v7.101.1 to fix(deps): update dependency @sentry/node to v7.105.0 2024-03-06 00:11:28 +00:00
Fascinated force-pushed renovate/sentry-javascript-monorepo from cf7c114732 to 85efb05316 2024-03-06 00:18:06 +00:00 Compare
Fascinated force-pushed renovate/sentry-javascript-monorepo from 85efb05316 to f90466e517 2024-03-23 20:49:35 +00:00 Compare
Fascinated changed title from fix(deps): update dependency @sentry/node to v7.105.0 to fix(deps): update dependency @sentry/node to v7.108.0 2024-03-23 20:49:40 +00:00
Fascinated force-pushed renovate/sentry-javascript-monorepo from f90466e517 to 35a8e27cc0 2024-04-05 23:46:22 +00:00 Compare
Fascinated changed title from fix(deps): update dependency @sentry/node to v7.108.0 to fix(deps): update dependency @sentry/node to v7.109.0 2024-04-05 23:46:24 +00:00
Fascinated force-pushed renovate/sentry-javascript-monorepo from 35a8e27cc0 to 0d8fbe146c 2024-04-17 00:47:50 +00:00 Compare
Fascinated changed title from fix(deps): update dependency @sentry/node to v7.109.0 to fix(deps): update dependency @sentry/node to v7.110.1 2024-04-17 00:47:56 +00:00
Fascinated force-pushed renovate/sentry-javascript-monorepo from 0d8fbe146c to b9801ff046 2024-04-17 12:04:57 +00:00 Compare
Fascinated force-pushed renovate/sentry-javascript-monorepo from b9801ff046 to 62b03c7f6c 2024-04-17 13:01:16 +00:00 Compare
Fascinated force-pushed renovate/sentry-javascript-monorepo from 62b03c7f6c to 4d72211956 2024-04-17 14:05:00 +00:00 Compare
Fascinated force-pushed renovate/sentry-javascript-monorepo from 4d72211956 to c7b6daa78d 2024-04-17 15:01:18 +00:00 Compare
This pull request can be merged automatically.
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/sentry-javascript-monorepo:renovate/sentry-javascript-monorepo
git checkout renovate/sentry-javascript-monorepo
Sign in to join this conversation.
No Reviewers
No Label
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Fascinated/beatsaber-metrics-tracker#30
No description provided.