Update dependency sentrybrowser to v7.98.0
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| sentrybrowser (source) | dependencies | minor | 7.88.0 -> 7.98.0 |
MR created with the help of gitlab-org/frontend/renovate-gitlab-bot
Release Notes
getsentry/sentry-javascript
v7.98.0
This release primarily fixes some type declaration errors:
- feat(core): Export
IntegrationIndextype (#10337) - fix(nextjs): Fix Http integration type declaration (#10338)
- fix(node): Fix type definitions (#10339)
v7.97.0
Note: The 7.96.0 release was incomplete. This release is partially encompassing changes from 7.96.0.
- feat(react): Add
stripBasenameoption for React Router 6 (#10314)
v7.96.0
Note: This release was incomplete. Not all Sentry SDK packages were released for this version. Please upgrade to 7.97.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-crontypes 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
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.originin favor ofsentry.originattribute (#10260) - feat(core): Deprecate
Span.parentSpanId(#10244) - feat(core): Expose
isInitialized()to replace checking viagetClient(#10296) - feat(replay): Deprecate
Replay,ReplayCanvas,Feedbackclasses (#10270) - feat(wasm): Deprecate
Wasmintegration class (#10230)
Other Changes
- feat: Make
parameterizefunction 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
This release fixes a publishing issue.
v7.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.
- 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.getDynamicSamplingContextin favor ofgetDynamicSamplingContextFromSpan(#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
nameanddescription(#10056) - feat(core): Deprecate span
tags,data,context& setters (#10053) - feat(core): Deprecate transaction metadata in favor of attributes (#10097)
- feat(core): Deprecate
span.sampledin favor ofspan.isRecording()(#10034) - ref(node-experimental): Deprecate
lastEventIdon 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-schedulelibrary (#10086)
Other Changes
- feat(core): Add
span.spanContext()(#10037) - feat(core): Add
spanToJSON()method to get span properties (#10074) - feat(core): Allow to pass
scopetostartSpanAPIs (#10076) - feat(core): Allow to pass start/end timestamp for spans flexibly (#10060)
- feat(node): Make
getModuleFromFilenamecompatible with ESM (#10061) - feat(replay): Update rrweb to 2.7.3 (#10072)
- feat(utils): Add
parameterizefunction (#9145) - fix(astro): Use correct package name for CF (#10099)
- fix(core): Do not run
setupfor 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):
LocalVariablesintegration 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
Important Changes
Deprecations
- feat(core): Add
span.updateName()and deprecatespan.setName()(#10018) - feat(core): Deprecate
span.getTraceContext()(#10032) - feat(core): Deprecate
span.toTraceparent()in favor ofspanToTraceHeader()util (#10031) - feat(core): Deprecate
tracein favor ofstartSpan(#10012) - feat(core): Deprecate span
toContext()andupdateWithContext()(#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
cronlibrary (#9999) - feat(node): Instrumentation for
node-cronlibrary (#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
enabledoption to Astro integration options (#10007) - feat(core): Add
attributestoSpan(#10008) - feat(core): Add
setClient()andgetClient()toScope(#10055) - feat(integrations): Capture error cause with
captureErrorCauseinExtraErrorDataintegration (#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
withScopesets 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_VERSIONproperties 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
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 replacespan.finish()(#9954) - feat(core): Ensure
startSpan&startSpanManualfork 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
- feat(replay): Change to use preset quality values (#9903)
- fix(replay): Adjust development hydration error messages (#9922)
- fix(sveltekit): Add
typesfield to package.jsonexports(#9926)
v7.89.0
Important Changes
Deprecations
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
withScopeto return callback return value (#9866) - feat(deno): Support
Deno.CronSchedulefor 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.typesetting (#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
Eventtype in worldwide (#9864) - fix(utils): Support crypto.getRandomValues in old Chromium versions (#9251)
- fix(utils): Update
eventFromUnknownInputto avoid scope pollution &getCurrentHub(#9868) - ref: Use
addBreadcrumbdirectly & allow to pass hint (#9867)
Work in this release contributed by @adam187, and @jghinestrosa. Thank you for your contributions!
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.