Socket
Socket
Sign inDemoInstall

@sentry/core

Package Overview
Dependencies
3
Maintainers
12
Versions
467
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install
Previous1
46
47Next

7.93.0

Diff

Changelog

Source

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.

  • 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)
sentry-bot
published 7.92.0 •

Changelog

Source

7.92.0

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!

sentry-bot
published 7.91.0 •

Changelog

Source

7.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 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)
sentry-bot
published 7.90.0 •

Changelog

Source

7.90.0

  • 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)
sentry-bot
published 7.89.0 •

Changelog

Source

7.89.0

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!

sentry-bot
published 7.88.0 •

Changelog

Source

7.88.0

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)
sentry-bot
published 7.87.0 •

Changelog

Source

7.87.0

  • 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)
sentry-bot
published 7.86.0 •

Changelog

Source

7.86.0

  • 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)
sentry-bot
published 7.85.0 •

Changelog

Source

7.85.0

  • 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)
sentry-bot
published 7.84.0 •

Changelog

Source

7.84.0

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)
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc