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
Redirect
s 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!
Bundle size 📦
Path | Size |
---|---|
@sentry/browser - ES5 CDN Bundle (gzipped + minified) | 20.89 KB |
@sentry/browser - ES5 CDN Bundle (minified) | 65.29 KB |
@sentry/browser - ES6 CDN Bundle (gzipped + minified) | 19.44 KB |
@sentry/browser - ES6 CDN Bundle (minified) | 57.75 KB |
@sentry/browser - Webpack (gzipped + minified) | 21.06 KB |
@sentry/browser - Webpack (minified) | 68.73 KB |
@sentry/react - Webpack (gzipped + minified) | 21.09 KB |
@sentry/nextjs Client - Webpack (gzipped + minified) | 48.87 KB |
@sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) | 28.45 KB |
@sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) | 26.68 KB |
@sentry/replay ES6 CDN Bundle (gzipped + minified) | 44.88 KB |
@sentry/replay - Webpack (gzipped + minified) | 38.87 KB |
@sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 63.77 KB |
@sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 56.8 KB |