Skip to content
This repository has been archived by the owner on Jul 4, 2023. It is now read-only.

Update sentry-javascript monorepo to ^7.57.0 #371

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Feb 14, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@sentry/browser (source) ^7.37.1 -> ^7.57.0 age adoption passing confidence
@sentry/tracing (source) ^7.37.1 -> ^7.57.0 age adoption passing confidence

Release Notes

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

v7.57.0

Compare Source

Important Changes
  • build: Update typescript from 3.8.3 to 4.9.5 (#​8255)

This release version bumps the internally used typescript version from 3.8.x to 4.9.x.
We use ds-downlevel to generate two versions of our types, one for >=3.8, one for >=4.9.
This means that this change should be fully backwards compatible and not have any noticable user impact,
but if you still encounter issues please let us know.

  • feat(types): Add tracePropagationTargets to top level options (#​8395)

Instead of passing tracePropagationTargets to the BrowserTracing integration, you can now define them on the top level:

Sentry.init({
  tracePropagationTargets: ['api.site.com'],
});
  • fix(angular): Filter out TryCatch integration by default (#​8367)

The Angular and Angular-ivy SDKs will not install the TryCatch integration anymore by default.
This integration conflicted with the SentryErrorHander, sometimes leading to duplicated errors and/or missing data on events.

  • feat(browser): Better event name handling for non-Error objects (#​8374)

When capturing non-errors via Sentry.captureException(), e.g. Sentry.captureException({ prop: "custom object" }),
we now generate a more helpful value for the synthetic exception. Instead of e.g. Non-Error exception captured with keys: currentTarget, isTrusted, target, type, you'll now get messages like:

Object captured as exception with keys: prop1, prop2
Event `MouseEvent` (type=click) captured as exception
Event `ErrorEvent` captured as exception with message `Script error.`
Other Changes
  • feat(browser): Send profiles in same envelope as transactions (#​8375)
  • feat(profiling): Collect timings on profiler stop calls (#​8409)
  • feat(replay): Do not capture replays < 5 seconds (GA) (#​8277)
  • feat(tracing): Add experiment to capture http timings (#​8371)
  • feat(tracing): Add http.response.status_code to span.data (#​8366)
  • fix(angular): Stop routing spans on navigation cancel and error events (#​8369)
  • fix(core): Only start spans in trace if tracing is enabled (#​8357)
  • fix(nextjs): Inject init calls via loader instead of via entrypoints (#​8368)
  • fix(replay): Mark ui.slowClickDetected clickCount as optional (#​8376)
  • fix(serverless): Export autoDiscoverNodePerformanceMonitoringIntegrations from SDK (#​8382)
  • fix(sveltekit): Check for cached requests in client-side fetch instrumentation (#​8391)
  • fix(sveltekit): Only instrument SvelteKit fetch if the SDK client is valid (#​8381)
  • fix(tracing): Instrument Prisma client in constructor of integration (#​8383)
  • ref(replay): More graceful sessionStorage check (#​8394)
  • ref(replay): Remove circular dep in replay eventBuffer (#​8389)

v7.56.0

Compare Source

  • feat(replay): Rework slow click & multi click detection (#​8322)
  • feat(replay): Stop replay when event buffer exceeds max. size (#​8315)
  • feat(replay): Consider window.open for slow clicks (#​8308)
  • fix(core): Temporarily store debug IDs in stack frame and only put them into debug_meta before sending (#​8347)
  • fix(remix): Extract deferred responses correctly in root loaders. (#​8305)
  • fix(vue): Don't call next in Vue router 4 instrumentation (#​8351)

v7.55.2

Compare Source

  • fix(replay): Stop exporting EventType from @sentry-internal/rrweb (#​8334)
  • fix(serverless): Export captureCheckIn (#​8333)

v7.55.1

Compare Source

  • fix(replay): Do not export types from @sentry-internal/rrweb (#​8329)

v7.55.0

Compare Source

  • feat(replay): Capture slow clicks (GA) (#​8298)
  • feat(replay): Improve types for replay recording events (#​8224)
  • fix(nextjs): Strip query params from transaction names of navigations to unknown routes (#​8278)
  • fix(replay): Ignore max session life for buffered sessions (#​8258)
  • fix(sveltekit): Export captureCheckIn (#​8313)
  • ref(svelte): Add Svelte 4 as a peer dependency (#​8280)

v7.54.0

Compare Source

Important Changes
  • feat(core): Add default entries to ignoreTransactions for Healthchecks #​8191

    All SDKs now filter out health check transactions by default.
    These are transactions where the transaction name matches typical API health check calls, such as /^.*healthy.*$/ or /^. *heartbeat.*$/. Take a look at this list to learn which regexes we currently use to match transaction names.
    We believe that these transactions do not provide value in most cases and we want to save you some of your quota by filtering them out by default.
    These filters are implemented as default values for the top level ignoreTransactions option.

    You can disable this filtering by manually specifiying the InboundFilters integration and setting the disableTransactionDefaults option:

    Sentry.init({
      //...
      integrations: [new InboundFilters({ disableTransactionDefaults: true })],
    })
  • feat(replay): Add mutationBreadcrumbLimit and mutationLimit to Replay Options (#​8228)

    The previously experimental options mutationBreadcumbLimit and mutationLimit have been promoted to regular Replay integration options.

    A high number of DOM mutations (in a single event loop) can cause performance regressions in end-users' browsers.
    Use mutationBreadcrumbLimit to send a breadcrumb along with your recording if the mutation limit was reached.
    Use mutationLimit to stop recording if the mutation limit was reached.

  • feat(sveltekit): Add source maps support for Vercel (lambda) (#​8256)

    • feat(sveltekit): Auto-detect SvelteKit adapters (#​8193)

    The SvelteKit SDK can now be used if you deploy your SvelteKit app to Vercel.
    By default, the SDK's Vite plugin will detect the used adapter and adjust the source map uploading config as necessary.
    If you want to override the default adapter detection, you can specify the adapter option in the sentrySvelteKit options:

    // vite.config.js
    export default defineConfig({
      plugins: [
        sentrySvelteKit({
          adapter: 'vercel',
        }),
        sveltekit(),
      ],
    });

    Currently, the Vite plugin will configure itself correctly for @sveltejs/adapter-auto, @sveltejs/adapter-vercel and @sveltejs/adapter-node.

    Important: The SvelteKit SDK is not yet compatible with Vercel's edge runtime.
    It will only work for lambda functions.

Other Changes
  • feat(replay): Throttle breadcrumbs to max 300/5s (#​8086)
  • feat(sveltekit): Add option to control handling of unknown server routes (#​8201)
  • fix(node): Strip query and fragment from request URLs without route parameters (#​8213)
  • fix(remix): Don't log missing parameters warning on server-side. (#​8269)
  • fix(remix): Pass loadContext through wrapped document request function (#​8268)
  • fix(replay): Guard against missing key (#​8246)
  • fix(sveltekit): Avoid capturing redirects and 4xx Http errors in request Handlers (#​8215)
  • fix(sveltekit): Bump magicast to support satisfied keyword (#​8254)
  • fix(wasm): Avoid throwing an error when WASM modules are loaded from blobs (#​8263)

v7.53.1

Compare Source

  • chore(deps): bump socket.io-parser from 4.2.1 to 4.2.3 (#​8196)
  • chore(svelte): Bump magic-string to 0.30.0 (#​8197)
  • fix(core): Fix racecondition that modifies in-flight sessions (#​8203)
  • fix(node): Catch os.uptime() throwing because of EPERM (#​8206)
  • fix(replay): Fix buffered replays creating replay w/o error occuring (#​8168)

v7.53.0

Compare Source

  • feat(replay): Add beforeAddRecordingEvent Replay option (#​8124)
  • feat(replay): Do not capture replays < 5 seconds (#​7949)
  • fix(nextjs): Guard for non-absolute paths when injecting sentry config (#​8151)
  • fix(nextjs): Import path issue on Windows (#​8142)
  • fix(nextjs): Make withSentryConfig isomorphic (#​8166)
  • fix(node): Add debug logging for node checkin (#​8131)
  • fix(node): Add LRU map for tracePropagationTargets calculation (#​8130)
  • fix(node): Remove new URL usage in Undici integration (#​8147)
  • fix(replay): Show the correct Replay config option name maskFn
  • fix(sveltekit): Avoid double-wrapping load functions (#​8094)
  • fix(tracing): Change where content-length gets added (#​8139)
  • fix(tracing): Use integer for content length (#​8152)
  • fix(utils): Fail silently if the provided Dsn is invalid (#​8121)
  • ref(node): Cache undici trace propagation decisions (#​8136)
  • ref(serverless): Remove relay extension from AWS Layer (#​8080)

v7.52.1

Compare Source

  • feat(replay): Capture slow clicks (experimental) (#​8052)

v7.52.0

Compare Source

Important Next.js SDK changes:

This release adds support Vercel Cron Jobs in the Next.js SDK.
The SDK will automatically create Sentry Cron Monitors for your Vercel Cron Jobs configured via vercel.json when deployed on Vercel.

You can opt out of this functionality by setting the automaticVercelMonitors option to false:

// next.config.js
const nextConfig = {
  sentry: {
    automaticVercelMonitors: false,
  },
};

(Note: Sentry Cron Monitoring is currently in beta and subject to change. Help us make it better by letting us know what you think. Respond on GitHub or write to us at [email protected])

  • feat(nextjs): Add API method to wrap API routes with crons instrumentation (#​8084)
  • feat(nextjs): Add automatic monitors for Vercel Cron Jobs (#​8088)
Other changes
  • feat(replay): Capture keyboard presses for special characters (#​8051)
  • fix(build): Don't mangle away global debug ID map (#​8096)
  • fix(core): Return checkin id from client (#​8116)
  • fix(core): Use last error for ignoreErrors check (#​8089)
  • fix(docs): Change to addTracingExtensions was not documented in MIGRATION.md (#​8101)
  • fix(replay): Check relative URLs correctly (#​8024)
  • fix(tracing-internal): Avoid classifying protocol-relative URLs as same-origin urls (#​8114)
  • ref: Hoist createCheckinEnvelope to core package (#​8082)

v7.51.2

Compare Source

  • fix(nextjs): Continue traces in data fetchers when there is an already active transaction on the hub (#​8073)
  • fix(sveltekit): Avoid creating the Sentry Vite plugin in dev mode (#​8065)

v7.51.1

Compare Source

  • feat(replay): Add event to capture options on checkouts (#​8011)
  • feat(replay): Improve click target detection (#​8026)
  • fix(node): Make sure we use same ID for checkIns (#​8050)
  • fix(replay: Keep session active on key press (#​8037)
  • fix(replay): Move error sampling to before send (#​8057)
  • fix(sveltekit): Wrap load when typed explicitly (#​8049)

Replay rrweb changes:

@sentry-internal/rrweb was updated from 1.106.0 to 1.108.0:

  • fix: Fix some input masking (esp for radio buttons) (#​85)
  • fix: Unescaped : in CSS rule from Safari (#​86)
  • feat: Define custom elements (web components) (#​87)

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

v7.51.0

Compare Source

Important Changes
  • feat(sveltekit): Auto-wrap load functions with proxy module (#​7994)

@sentry/sveltekit now auto-wraps load functions in

  • +(page|layout).(ts|js) files (universal loads)
  • +(page|layout).server.(ts|js) files (server-only loads)

This means that you don't have to manually add the wrapLoadWithSentry and wrapServerLoadWithSentry functions around your load functions. The SDK will not interfere with already wrapped load functions.

For more details, take a look at the Readme

  • chore(angular): Upgrade peerDependencies to Angular 16 (#​8035)

We now officially support Angular 16 in @sentry/angular-ivy.
Note that @sentry/angular does not support Angular 16.

  • feat(node): Add ability to send cron monitor check ins (#​8039)

Note: This release contains a bug with generating cron monitors. We recommend you upgrade the JS SDK to 7.51.1 or above to use cron monitoring functionality

This release adds Sentry cron monitoring support to the Node SDK.

Check-in monitoring allows you to track a job's progress by completing two check-ins: one at the start of your job and another at the end of your job. This two-step process allows Sentry to notify you if your job didn't start when expected (missed) or if it exceeded its maximum runtime (failed).

const Sentry = require('@&#8203;sentry/node');

// 🟡 Notify Sentry your job is running:
const checkInId = Sentry.captureCheckIn({
  monitorSlug: '<monitor-slug>',
  status: 'in_progress',
});

// Execute your scheduled task here...

// 🟢 Notify Sentry your job has completed successfully:
Sentry.captureCheckIn({
  // make sure you pass in the checkInId generated by the first call to captureCheckIn
  checkInId,
  monitorSlug: '<monitor-slug>',
  status: 'ok',
});

If your job execution fails, you can notify Sentry about the failure:

// 🔴 Notify Sentry your job has failed:
Sentry.captureCheckIn({
  checkInId,
  monitorSlug: '<monitor-slug>',
  status: 'error',
});
Additional Features and Fixes
  • feat(browser): Export makeMultiplexedTransport from browser SDK (#​8012)
  • feat(node): Add http.method to node http spans (#​7991)
  • feat(tracing): add body size for fetch requests (#​7935)
  • feat(tracing): Use http.method for span data (#​7990)
  • fix(integrations): Handle windows paths with no prefix or backslash prefix in RewriteFrames (#​7995)
  • fix(node): Mark stack frames with url protocol as in-app frames (#​8008)
  • fix(remix): Export Integration type declaration as union type (#​8016)
  • fix(replay): Do not add replay_id to DSC while buffering (#​8020)
  • fix(tracing): Don't set method multiple times (#​8014)
  • fix(utils): Normalize undefined to undefined instead of "[undefined]" (#​8017)

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

v7.50.0

Compare Source

Important Changes
  • doc(sveltekit): Promote the SDK to beta state (#​7976)
    • feat(sveltekit): Convert sentryHandle to a factory function (#​7975)

With this release, the Sveltekit SDK (@​sentry/sveltekit) is promoted to Beta.
This means that we do not expect any more breaking changes.

The final breaking change is that sentryHandle is now a function.
So in order to update to 7.50.0, you have to update your hooks.server.js file:

// hooks.server.js

// Old:
export const handle = sentryHandle;
// New:
export const handle = sentryHandle();
  • feat(replay): Allow to configure URLs to capture network bodies/headers (#​7953)

You can now capture request/response bodies & headers of network requests in Replay.
You have to define an allowlist of URLs you want to capture additional information for:

new Replay({
  networkDetailAllowUrls: ['https://sentry.io/api'],
});

By default, we will capture request/response bodies, as well as the request/response headers content-type, content-length and accept.
You can configure this with some additional configuration:

new Replay({
  networkDetailAllowUrls: ['https://sentry.io/api'],
  // opt-out of capturing bodies
  networkCaptureBodies: false,
  // These headers are captured _in addition to_ the default headers
  networkRequestHeaders: ['X-Custom-Header'],
  networkResponseHeaders: ['X-Custom-Header', 'X-Custom-Header-2']
});

Note that bodies will be truncated to a max length of ~150k characters.

- feat(replay): Changes of sampling behavior & public API

  • feat(replay): Change the behavior of error-based sampling (#​7768)
  • feat(replay): Change flush() API to record current event buffer (#​7743)
  • feat(replay): Change stop() to flush and remove current session (#​7741)

We have changed the behavior of error-based sampling, as well as adding & adjusting APIs a bit to be more aligned with expectations.
See Sampling for details.

We've also revamped some public APIs in order to be better aligned with expectations. See Stoping & Starting Replays manually for details.

  • feat(core): Add multiplexed transport (#​7926)

We added a new transport to support multiplexing.
With this, you can configure Sentry to send events to different DSNs, depending on a logic of your choosing:

import { makeMultiplexedTransport } from '@&#8203;sentry/core';
import { init, captureException, makeFetchTransport } from '@&#8203;sentry/browser';

function dsnFromFeature({ getEvent }) {
  const event = getEvent();
  switch(event?.tags?.feature) {
    case 'cart':
      return ['__CART_DSN__'];
    case 'gallery':
      return ['__GALLERY_DSN__'];
  }
  return []
}

init({
  dsn: '__FALLBACK_DSN__',
  transport: makeMultiplexedTransport(makeFetchTransport, dsnFromFeature)
});
Additional Features and Fixes
  • feat(nextjs): Add disableLogger option that automatically tree shakes logger statements (#​7908)
  • feat(node): Make Undici a default integration. (#​7967)
  • feat(replay): Extend session idle time until expire to 15min (#​7955)
  • feat(tracing): Add db.system span data to DB spans (#​7952)
  • fix(core): Avoid crash when Function.prototype is frozen (#​7899)
  • fix(nextjs): Fix inject logic for Next.js 13.3.1 canary (#​7921)
  • fix(replay): Ensure console breadcrumb args are truncated (#​7917)
  • fix(replay): Ensure we do not set replayId on dsc if replay is disabled (#​7939)
  • fix(replay): Ensure we still truncate large bodies if they are failed JSON (#​7923)
  • fix(utils): default normalize() to a max. of 100 levels deep instead of Inifnity (#​7957)

Work in this release contributed by @​Jack-Works. Thank you for your contribution!

v7.49.0

Compare Source

Important Changes
  • feat(sveltekit): Read adapter output directory from svelte.config.js (#​7863)

Our source maps upload plugin is now able to read svelte.config.js. This is necessary to automatically find the output directory that users can specify when setting up the Node adapter.

  • fix(replay): Ensure we normalize scope breadcrumbs to max. depth to avoid circular ref (#​7915)

This release fixes a potential problem with how Replay captures console logs.
Any objects logged will now be cut off after a maximum depth of 10, as well as cutting off any properties after the 1000th.
This should ensure we do not accidentally capture massive console logs, where a stringified object could reach 100MB or more.

  • fix(utils): Normalize HTML elements as string (#​7916)

We used to normalize references to HTML elements as POJOs.
This is both not very easily understandable, as well as potentially large, as HTML elements may have properties attached to them.
With this change, we now normalize them to e.g. [HTMLElement: HTMLInputElement].

Additional Features and Fixes
  • feat(browser): Simplify stack parsers (#​7897)
  • feat(node): Add monitor upsert types (#​7914)
  • feat(replay): Truncate network bodies to max size (#​7875)
  • fix(gatsby): Don't crash build when auth token is missing (#​7858)
  • fix(gatsby): Use import for gatsby-browser.js instead of require (#​7889)
  • fix(nextjs): Handle braces in stack frame URLs (#​7900)
  • fix(nextjs): Mark value injection loader result as uncacheable (#​7870)
  • fix(node): Correct typo in trpc integration transaciton name (#​7871)
  • fix(node): reduce deepReadDirSync runtime complexity (#​7910)
  • fix(sveltekit): Avoid capturing "Not Found" errors in server handleError wrapper (#​7898)
  • fix(sveltekit): Detect sentry release before creating the Vite plugins (#​7902)
  • fix(sveltekit): Use sentry.properties file when uploading source maps (#​7890)
  • fix(tracing): Ensure we use s instead of ms for startTimestamp (#​7877)
  • ref(deprecate): Deprecate timestampWithMs (#​7878)
  • ref(nextjs): Don't use Sentry Webpack Plugin in dev mode (#​7901)

v7.48.0

Compare Source

Important Changes
  • feat(node): Add AsyncLocalStorage implementation of AsyncContextStrategy (#​7800)
    • feat(core): Extend AsyncContextStrategy to allow reuse of existing context (#​7778)
    • feat(core): Make runWithAsyncContext public API (#​7817)
    • feat(core): Add async context abstraction (#​7753)
    • feat(node): Adds domain implementation of AsyncContextStrategy (#​7767)
    • feat(node): Auto-select best AsyncContextStrategy for Node.js version (#​7804)
    • feat(node): Migrate to domains used through AsyncContextStrategy (#​7779)

This release switches the SDK to use AsyncLocalStorage as the async context isolation mechanism in the SDK for Node 14+. For Node 10 - 13, we continue to use the Node domain standard library, since AsyncLocalStorage is not supported there. Preliminary testing showed a 30% improvement in latency and rps when making the switch from domains to AsyncLocalStorage on Node 16.

If you want to manually add async context isolation to your application, you can use the new runWithAsyncContext API.

import * as Sentry from '@&#8203;sentry/node';

const requestHandler = (ctx, next) => {
  return new Promise((resolve, reject) => {
    Sentry.runWithAsyncContext(async () => {
      const hub = Sentry.getCurrentHub();

      hub.configureScope(scope =>
        scope.addEventProcessor(event =>
          Sentry.addRequestDataToEvent(event, ctx.request, {
            include: {
              user: false,
            },
          })
        )
      );

      try {
        await next();
      } catch (err) {
        reject(err);
      }
      resolve();
    });
  });
};

If you're manually using domains to isolate Sentry data, we strongly recommend switching to this API!

In addition to exporting runWithAsyncContext publicly, the SDK also uses it internally where we previously used domains.

  • feat(sveltekit): Remove withSentryViteConfig (#​7789)
    • feat(sveltekit): Remove SDK initialization via dedicated files (#​7791)

This release removes our withSentryViteConfig wrapper we previously instructed you to add to your vite.config.js file. It is replaced Vite plugins which you simply add to your Vite config, just like the sveltekit() Vite plugins. We believe this is a more transparent and Vite/SvelteKit-native way of applying build time modifications. Here's how to use the plugins:

// vite.config.js
import { sveltekit } from '@&#8203;sveltejs/kit/vite';
import { sentrySvelteKit } from '@&#8203;sentry/sveltekit';

export default {
  plugins: [sentrySvelteKit(), sveltekit()],
  // ... rest of your Vite config
};

Take a look at the README for updated instructions!

Furthermore, with this transition, we removed the possibility to intialize the SDK in dedicated sentry.(client|server).config.js files. Please use SvelteKit's hooks files to initialize the SDK.

Please note that these are breaking changes! We're sorry for the inconvenience but the SvelteKit SDK is still in alpha stage and we want to establish a clean and SvelteKit-friendly API before making the SDK stable. You have been warned ;)

  • feat(sveltekit): Add Sentry Vite Plugin to upload source maps (#​7811)

This release adds automatic upload of source maps to the SvelteKit SDK. No need to configure anything other than adding our Vite plugins to your SDK. The example above shows you how to do this.

Please make sure to follow the README to specify your Sentry auth token, as well as org and project slugs.

- feat(replay): Capture request & response headers (#​7816)

Replay now captures the content-length, content-type, and accept headers from requests and responses automatically.

Additional Features and Fixes
  • feat(browser): Export request instrumentation options (#​7818)
  • feat(core): Add async context abstraction (#​7753)
  • feat(core): Add DSC to all outgoing envelopes (#​7820)
  • feat(core): Cache processed stacks for debug IDs (#​7825)
  • feat(node): Add checkin envelope types (#​7777)
  • feat(replay): Add getReplayId() method (#​7822)
  • fix(browser): Adjust BrowserTransportOptions to support offline transport options (#​7775)
  • fix(browser): DOMException SecurityError stacktrace parsing bug (#​7821)
  • fix(core): Log warning when tracing extensions are missing (#​7601)
  • fix(core): Only call applyDebugMetadata for error events (#​7824)
  • fix(integrations): Ensure httpclient integration works with Request (#​7786)
  • fix(node): reuseExisting does not need to call bind on domain (#​7780)
  • fix(node): Fix domain scope inheritance (#​7799)
  • fix(node): Make trpcMiddleware factory synchronous (#​7802)
  • fix(serverless): Account when transaction undefined (#​7829)
  • fix(utils): Make xhr instrumentation independent of parallel running SDK versions (#​7836)

v7.47.0

Compare Source

Important Changes
  • feat(browser): Add captureUserFeedback (#​7729)

This release adds a new API, Sentry.captureUserFeedback, to browser-side SDKs that allows you to send user feedback to Sentry without loading and opening Sentry's user feedback dialog. This allows you to obtain user feedback however and whenever you want to and simply send it to Sentry using the SDK.

For instance, you can collect feedback, whenever convenient as shown in this example:

const eventId = Sentry.captureMessage('User Feedback');
const user = Sentry.getCurrentHub().getScope().getUser();
const userFeedback = {
  event_id: eventId;
  email: user.email
  name: user.username
  comments: 'I really like your App, thanks!'
}
Sentry.captureUserFeedback(userFeedback);

Note that feedback needs to be coupled to an event but as in the example above, you can just use Sentry.captureMessage to generate one.

You could also collect feedback in a custom way if an error happens and use the SDK to send it along:

Sentry.init({
  dsn: '__DSN__',
  beforeSend: event => {
    const userFeedback = collectYourUserFeedback();
    const feedback = {
      ...userFeedback,
      event_id: event.event_id.
    }
    Sentry.captureUserFeedback(feedback);
    return event;
  }
})
  • feat(tracing): Deprecate @sentry/tracing exports (#​7611)

With this release, we officially deprecate all exports from the @sentry/tracing package, in favour of using them directly from the main SDK package. The @sentry/tracing package will be removed in a future major release.

Please take a look at the Migration docs for more details.

Additional Features and Fixes
  • feat(sveltekit): Add partial instrumentation for client-side fetch (#​7626)
  • fix(angular): Handle routes with empty path (#​7686)
  • fix(angular): Only open report dialog if error was sent (#​7750)
  • fix(core): Determine debug ID paths from the top of the stack (#​7722)
  • fix(ember): Ensure only one client is created & Replay works (#​7712)
  • fix(integrations): Ensure HttpClient integration works with Axios (#​7714)
  • fix(loader): Ensure JS loader works with tracing & add tests (#​7662)
  • fix(nextjs): Restore tree shaking capabilities (#​7710)
  • fix(node): Disable LocalVariables integration on Node < v18 (#​7748)
  • fix(node): Redact URL authority only in breadcrumbs and spans (#​7740)
  • fix(react): Only show report dialog if event was sent to Sentry (#​7754)
  • fix(remix): Remove unnecessary dependencies (#​7708)
  • fix(replay): Ensure circular references are handled (#​7752)
  • fix(sveltekit): Don't capture thrown Redirects as exceptions (#​7731)
  • fix(sveltekit): Log error to console by default in handleErrorWithSentry (#​7674)
  • fix(tracing): Make sure idle transaction does not override other transactions (#​7725)

Work in this release contributed by @​de-don and @​TrySound. Thank you for your contributions!

v7.46.0

Compare Source

Important Changes
  • feat(sveltekit): Add Performance Monitoring for SvelteKit
    • feat(sveltekit): Add meta tag for backend -> frontend (#​7574)
    • fix(sveltekit): Explicitly export Node SDK exports (#​7644)
    • fix(sveltekit): Handle nested server calls in sentryHandle (#​7598)
    • ref(sveltekit): Split up universal and server load wrappers (#​7652)

This release adds support for Performance Monitoring in our SvelteKit SDK for the client/server. We've also changed how you should initialize your SDK. Please read our updated SvelteKit README instructions for more details.

  • feat(core): Add ignoreTransactions option (#​7594)

You can now easily filter out certain transactions from being sent to Sentry based on their name.

Sentry.init({
  ignoreTransactions: ['/api/healthcheck', '/ping'],
})
  • feat(node): Undici integration (#​7582)
    • feat(nextjs): Add Undici integration automatically (#​7648)
    • feat(sveltekit): Add Undici integration by default (#​7650)

We've added an integration that automatically instruments Undici and Node server side fetch. This supports Undici v4.7.0 or higher and requires Node v16.7.0 or higher. After adding the integration outgoing requests made by Undici will have associated spans and breadcrumbs in Sentry.

Sentry.init({
  integrations: [new Sentry.Integrations.Undici()],
})

In our Next.js and SvelteKit SDKs, this integration is automatically added.

  • feat(node): Add Sentry tRPC middleware (#​7511)

We've added a new middleware for trpc that automatically adds TRPC information to Sentry transactions. This middleware is meant to be used in combination with a Sentry server integration (Next.js, Express, etc).

import { initTRPC } from '@&#8203;trpc/server';
import * as Sentry from '@&#8203;sentry/node';

const t = initTRPC.context().create();
const sentryMiddleware = t.middleware(
  Sentry.Handlers.trpcMiddleware({
    attachRpcInput: true,
  }),
);

const sentrifiedProcedure = t.procedure.use(sentryMiddleware);
  • feat(tracing): Remove requirement for @sentry/tracing package

With 7.46.0 you no longer require the @sentry/tracing package to use tracing and performance monitoring with the Sentry JavaScript SDKs. The @sentry/tracing package will be removed in a future major release, but can still be used with no changes.

Please see the Migration docs for more details.

  • fix(node): Convert debugging code to callbacks to fix memory leak in LocalVariables integration (#​7637)

This fixes a memory leak in the opt-in LocalVariables integration, which adds local variables to the stacktraces sent to Sentry. The minimum recommended version to use the LocalVariables is now 7.46.0.

Additional Features and Fixes
  • feat(node): Auto discovery only returns integrations where dependency loads (#​7603)
  • feat(node): Sanitize URLs in Span descriptions and breadcrumbs (PII) (#​7667)
  • feat(replay): Add responseStatus, decodedBodySize to perf entries (#​7613)
  • feat(replay): Add experiment to capture request/response bodies (#​7589)
  • feat(replay): Capture replay mutation breadcrumbs & add experiment (#​7568)
  • feat(tracing): Ensure pageload transaction starts at timeOrigin (#​7632)
  • fix(core): Remove abs_path from stack trace (reverting #​7167) (#​7623)
  • fix(nextjs): Add loading component type to server component wrapping (#​7639)
  • fix(nextjs): Don't report NEXT_NOT_FOUND and NEXT_REDIRECT errors (#​7642)
  • fix(nextjs): Rewrite abs_path frames (#​7619)
  • fix(nextjs): Show errors and warnings only once during build (#​7651)
  • fix(nextjs): Use Next.js internal AsyncStorage (#​7630)
  • fix(nextjs): Gracefully handle undefined beforeFiles in rewrites (#​7649)

Work in this release contributed by @​aldenquimby and @​bertho-zero. Thank you for your contributions!

v7.45.0

Compare Source

  • build(cdn): Ensure ES5 bundles do not use non-ES5 code (#​7550)
  • feat(core): Add trace function (#​7556)
  • feat(hub): Make scope always defined on the hub (#​7551)
  • feat(replay): Add replay_id to transaction DSC (#​7571)
  • feat(replay): Capture fetch body size for replay events (#​7524)
  • feat(sveltekit): Add performance monitoring for client load (#​7537)
  • feat(sveltekit): Add performance monitoring for server load (#​7536)
  • feat(sveltekit): Add performance monitoring to Sveltekit server handle (#​7532)
  • feat(sveltekit): Add SvelteKit routing instrumentation (#​7565)
  • fix(browser): Ensure keepalive flag is correctly set for parallel requests (#​7553)
  • fix(core): Ensure ignoreErrors only applies to error events (#​7573)
  • fix(node): Consider tracing error handler for process exit (#​7558)
  • fix(otel): Make sure we use correct hub on finish (#​7577)
  • fix(react): Handle case where error.cause already defined (#​7557)

v7.44.2

Compare Source

  • fix(cdn): Fix ES5 CDN bundles (#​7544)

v7.44.1

Compare Source

  • ref(core): Move beforeEnvelope to client (#​7527)

v7.44.0

Compare Source

This release introduces the first alpha version of @sentry/sveltekit, our newest JavaScript SDK for Sveltekit. Check out the README for usage instructions and what to expect from this alpha release.

  • feat(replay): Add request_body_size & response_body_size to fetch/xhr (#​7407)
  • feat(replay): Add additional properties for UI clicks (#​7395)
  • feat(replay): Reduce time limit before pausing a recording (#​7356)
  • feat(replay): Upgrade rrweb and rrweb-player (#​7508)
  • feat(replay): Use new afterSend hook to improve error linking (#​7390)
  • feat(serverless): Publish lambda layer for Node 16/18 (#​7483)
  • feat(sveltekit): Add wrapper for client load function (#​7447)
  • feat(sveltekit): Add wrapper for server load function (#​7416)
  • feat(sveltekit): Add server-side handleError wrapper (#​7411)
  • feat(sveltekit): Introduce client-side handleError wrapper (#​7406)
  • feat(sveltekit): Add SvelteKit client and server init functions (#​7408)
  • feat(sveltekit): Inject Sentry.init calls into server and client bundles (#​7391)
  • feat(tracing): Expose BrowserTracing in non-tracing bundles (#​7479)
  • fix(core): Permanent idle timeout cancel finishes the transaction with the last finished child
  • fix(integrations): Handle lower-case prefix windows paths in RewriteFrames (#​7506)
  • fix(next): Guard against missing serverSideProps (#​7517)
  • fix(nextjs): Fix broken server component wrapping because of interrupted promise chain (#​7456)
  • fix(nextjs): Fix runtime error for static pages (#​7476)
  • fix(profiling): Catch sendProfile rejection (#​7446)
  • fix(replay): Never capture file input changes ([#​7485](https://togithub.com/getsentry/sentry-java

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 these updates again.


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

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.37.2 Update sentry-javascript monorepo to ^7.38.0 Feb 17, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 0348634 to a1de6bc Compare February 17, 2023 19:21
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from a1de6bc to 2551767 Compare February 27, 2023 18:15
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.38.0 Update sentry-javascript monorepo to ^7.39.0 Feb 27, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 2551767 to ee60ef6 Compare March 1, 2023 20:34
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.39.0 Update sentry-javascript monorepo to ^7.40.0 Mar 1, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from ee60ef6 to 8fe29d1 Compare March 6, 2023 15:14
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.40.0 Update sentry-javascript monorepo to ^7.41.0 Mar 6, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 8fe29d1 to c668556 Compare March 9, 2023 14:58
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.41.0 Update sentry-javascript monorepo to ^7.42.0 Mar 9, 2023
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.42.0 Update sentry-javascript monorepo to ^7.43.0 Mar 13, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from c668556 to 36600b6 Compare March 13, 2023 21:46
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.43.0 Update sentry-javascript monorepo Mar 20, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 36600b6 to 4579292 Compare March 20, 2023 14:13
@renovate renovate bot changed the title Update sentry-javascript monorepo Update sentry-javascript monorepo to ^7.44.1 Mar 20, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 4579292 to 5cb9d13 Compare March 20, 2023 19:21
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.44.1 Update sentry-javascript monorepo to ^7.44.2 Mar 21, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 5cb9d13 to c4a3c58 Compare March 21, 2023 12:53
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.44.2 Update sentry-javascript monorepo to ^7.45.0 Mar 24, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from c4a3c58 to 8f663cc Compare March 24, 2023 11:06
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.45.0 Update sentry-javascript monorepo to ^7.46.0 Mar 30, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 8f663cc to b33391e Compare March 30, 2023 15:22
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.46.0 Update sentry-javascript monorepo to ^7.47.0 Apr 5, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from b33391e to e82260c Compare April 5, 2023 15:11
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from e82260c to 0fbd4a5 Compare April 14, 2023 13:45
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.47.0 Update sentry-javascript monorepo to ^7.48.0 Apr 14, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 0fbd4a5 to cf5c773 Compare April 20, 2023 18:39
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.48.0 Update sentry-javascript monorepo to ^7.49.0 Apr 20, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from cf5c773 to 985e09d Compare April 27, 2023 16:52
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.49.0 Update sentry-javascript monorepo to ^7.50.0 Apr 27, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 985e09d to da264f8 Compare May 4, 2023 17:43
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.50.0 Update sentry-javascript monorepo to ^7.51.0 May 4, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from da264f8 to 858605b Compare May 8, 2023 13:57
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.51.0 Update sentry-javascript monorepo to ^7.51.1 May 8, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 858605b to 9b12c6b Compare May 8, 2023 22:03
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.51.1 Update sentry-javascript monorepo to ^7.51.2 May 8, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 9b12c6b to 7cae361 Compare May 15, 2023 15:48
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.51.2 Update sentry-javascript monorepo to ^7.52.0 May 15, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 7cae361 to e59b58d Compare May 15, 2023 18:36
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.52.0 Update sentry-javascript monorepo to ^7.52.1 May 15, 2023
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.52.1 Update sentry-javascript monorepo to ^7.53.0 May 23, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch 2 times, most recently from b427f70 to 92334d6 Compare May 24, 2023 17:19
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.53.0 Update sentry-javascript monorepo to ^7.53.1 May 24, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 92334d6 to e2c11dd Compare June 2, 2023 17:38
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.53.1 Update sentry-javascript monorepo to ^7.54.0 Jun 2, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from e2c11dd to 900c200 Compare June 13, 2023 15:07
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.54.0 Update sentry-javascript monorepo to ^7.55.0 Jun 13, 2023
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.55.0 Update sentry-javascript monorepo to ^7.55.2 Jun 14, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 900c200 to 91e70f7 Compare June 14, 2023 15:20
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.55.2 Update sentry-javascript monorepo to ^7.56.0 Jun 19, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from 91e70f7 to c82810a Compare June 19, 2023 17:52
@renovate renovate bot changed the title Update sentry-javascript monorepo to ^7.56.0 Update sentry-javascript monorepo to ^7.57.0 Jun 28, 2023
@renovate renovate bot force-pushed the renovate/sentry-javascript-monorepo branch from c82810a to 11c411b Compare June 28, 2023 16:39
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants