docs/changelog/v5.md
Sentry SDK v5 is no longer supported. We recommend migrating to the latest version of the SDK. There was no breaking
changes introduced in v6 of the SDK, so you can start by migrating from v5 of the SDK to v7 by following the
migration guide.
Primitive type (#3108)sentry-trace header to outgoing http(s) requests in node (#3053)@sentry/browser (#3077)optional parameter to AWSServices integration (#3030)getSession exists before calling it (#3017)DOMException.code as tag if it exists (#3018)removeEventListener twice only when necessary (#3016)processing flag in BaseClient (#2983)req.cookies if available instead of parsing (#2985)prepareEvent rejections (#2973)prepareEvent pipeline (#2987)Google Cloud Functions (#2945)AWSLambda (#2945)AWSResources integration (#2945)X-Sentry-Rate-Limits handling for transports (#2962)@angular/common a peerDependency instead of dependency (#2961)@embroider/macros instead of runInDebug (#2873)startTransaction in CDN bundle (#2938)getTransaction() (#2952)normalizeTransactionName take a callback function in router-v3 (#2946)event.context and allow for context removal (#2910)@sentry/serverless with AWSLambda support (#2886)shouldCreateSpanForRequest (#2867)Capacitor scheme as Gecko (#2836)string exception as a message for syntheticException (#2837)build dir in npm package (#2846)addPerformanceEntries method name (#2847)@sentry/apm package (#2844)AngularJS integration (#2842)@sentry/tracing mandatory + add tests (#2841)globalThis for getGlobalObject util (#2851)TypeScript to 3.7.5 (#2848)Prettier to 1.19.0 (#2850)sentry-javascript to ESLint (#2786)@sentry-internal/eslint-config-sdk (#2807)@sentry/ember (#2739)@sentry/angular (#2787)React Router v4/v5 (#2780)process.env.SENTRY_RELEASE (#2776)addExtensionMethods for SDKs to use (#2805)express typing (#2803)Retry-After header in node should be lower-case (#2779)@sentry/browser more treeshakeable (#2747)LinkedErrors integration (#2742)@sentry/tracing (#2719)idleTimout if no activities occur in idle transaction (#2752)createReduxEnhancer to log redux actions as breadcrumbs, and attach state as an extra. (#2717)beforeCapture option to ErrorBoundary (#2753)hoist-non-react-statics (#2755)@sentry/apm optional in @sentry/gatsby package (#2752)DOMStringList typing (#2718)<meta/> tag (#2703)react and react-dom (#2694)whitelistUrls/blacklistUrls to allowUrls/denyUrls (#2671)makeMain (#2665)bindClient when creating new Hub to make integrations work automatically (#2665)getActivitySpan (#2677)performance.mark exists before calling it (#2680)scope.getTransaction to return a Transaction if it exists (#2668)scope.setTransaction in favor of scope.setTransactionName (#2668)beforeNavigate option (#2691)window.location.pathname instead of window.location.href
(#2691)fetchParameters (#2567)onreadystatechange breadcrumbs correctly (#2643)/store endpoint need the x-sentry-auth header in node (#2637)If you are a @sentry/apm and did manual instrumentation using hub.startSpan please be aware of the changes we did
to the API. The recommended entry point for manual instrumentation now is Sentry.startTransaction and creating child
Span by calling startChild on it. We have internal workarounds in place so the old code should still work but will be
removed in the future. If you are only using the Tracing integration there is no need for action.
RequestAnimationFrame with correct context (#2570)Sentry.startTransaction and Transaction.startChild (#2600)beforeSend (#2600)captureException/captureMessage (#2627)BreadcrumbHint and EventHint types exports (#2545)isMatchingPattern from failing on invalid input (#2543)perf_hooks only (#2524)tracesSampleRate (#2500)forceNoChild parameter from hub.startSpan (#2500)Span internal, only use hub.startSpan (#2500)op in node http.server transaction (#2496)performance browser API to provide better instrumentation (#2474)discardBackgroundSpans to discard background spans by default>= 6options.autoPopAfter parameter to pushActivity to prevent never-ending spans (#2459)sentry_timestamp header (#2458)timestampWithMs (#2442)ParseRequest typing (#2433)maxTransactionTimeout = 0 there is no timeout (#2410)maxTransactionTimeout is always enforced on transaction events (#2410)normalizeDepth option and sensible default for scope methods (#2404)EventHint type (#2407)Tracing maxTransactionTimeout determines the max length of a transaction (#2399)event_id from hint given by top-level hub callscontexts.trace to finished transaction (#2353)functionToString behavior for updated fill method (#2346)fill and wrap work nicely together to prevent double-triggering instrumentations (#2343)https-proxy-agent only when actually needed (#2334)span implementation (#2161)@sentry/apm packageTracing integration (#2161)instrument util to allow for custom handlerssupportsNativeFetch with a fast path that avoids DOM I/O (#2326)isInstanceOf util for safety reasonsmode option for OnUnhandledRejection integration that changes how we log errors and what we do
with the process itselftrue to call default implementations (error logging)domain key (#2305)PromiseLike (#2273)Promise as the interface, but SyncPromise as the implementation in all the places we need
thenable APIconsole.assert callsTraceKit and GlobalHandlers refactorObject.assign method usageNumber.isNaN method usageincludes method usageaddEventListener breadcrumbs wrapperextractUserData (#2247)contexts to handle ExtraErrorData (#2208)process.env.NODE_ENV from Vue integration (#2263)data needs to be an objectEvent instances somewhat serializeablewrap methodwrap methodflush call separately (#2143)window.SENTRY_RELEASE to set release by default (#2132)fn.handleEvent.bind if fn.handleEvent does not exist (#2138)handleEvent object (#2149)shouldHandleError option for node errorHandler (#2146)any from NodeOptions type (#2111)transportOptions correctly (#2151)Object.setPrototypeOf (#2127)SessionDuration integration (#2150)Span classIntegration<T> constructor to have argumentsfetch detection via iframes. Fix #1601Sentry.setTag, Sentry.setTags, Sentry.setExtra,
Sentry.setExtras, Sentry.setUser, Sentry.setContextuse_strict from @sentry/browsertruncatewrap function in @sentry/browseronLoad callback to showReportDialogScope.startSpan, Scope.setSpan, Hub.traceHeaders)setContextsetTransactionhint in beforeSendsetContext on the scopeflushTimeout to requestHandler to auto flush requestshtmlTreeAsString to @sentry/browserWindow typehint getGlobalObjectCaptureConsole integrationutils and expose esm buildstore and fs classes -> moved to @sentry/electron where this is usednull to setUser to reset itmodule in package.json now provides a es5 build instead of es2015browser field from package.jsonThis major bump brings a lot of internal improvements. Also, we extracted some integrations out of the SDKs and put them
in their own package called @sentry/integrations. For a detailed guide how to upgrade from 4.x to 5.x refer to our
migration guide.
If you were using the SDKs high level API, the way we describe it in the docs, you should be fine without any code changes. This is a breaking release since we removed some methods from the public API and removed some classes from the default export.
SentryError + PromiseBuffer to utilsSyncPromise internally, this reduces memory pressure by a lot.ExtendedError to a types packageBrowserBackend from default export.BrowserBackend from default export.close methodEvent to sendEvent instead of already stringified dataisSyntheticEvent utilisArray util in favor of Array.isArrayisNaN util in favor of Number.isNaNisFunction util in favor of typeof === 'function'isUndefined util in favor of === void 0assign util in favor of Object.assignincludes util in favor of native includesserializeKeysToEventMessage to keysToEventMessagelimitObjectDepthToSize to normalizeToSize and rewrite its internalssafeNormalize to normalize and rewrite its internalsserialize, deserialize, clone and serializeObject functionsnormalize and
normalizeToSize@sentry/integrations packageextraErrorData integration to @sentry/integrations packagemaxValueLength option to adjust max string length for values, default is 250.setExtras, setTags, clearBreadcrumbs.Mechanism to Exceptionsynthetic to Mechanism in exception.addExceptionTypeValue in helpersmodule in package.json as entry point for esm builds.es6 target instead of esnext for ESM builds_@sentry/opentracing providing functions to attach opentracing data to Sentry EventsDedupe Integration is now optional, it is no longer enabled by default.captureEvent was renamed to sendEvent__attachPropsinstall function on integration interfaceattachProps__next to not make it latestThis major bump brings a lot of internal improvements. This is a breaking release since we removed some methods from the public API and removed some classes from the default export.
SentryError + PromiseBuffer to utilsSyncPromise internally, this reduces memory pressure by a lot.BrowserBackend from default export.BrowserBackend from default export.close methodExtendedError to a types packageEvent to sendEvent instead of already stringified dataisSyntheticEvent utilisArray util in favor of Array.isArrayisNaN util in favor of Number.isNaNisFunction util in favor of typeof === 'function'isUndefined util in favor of === void 0assign util in favor of Object.assignincludes util in favor of native includesserializeKeysToEventMessage to keysToEventMessagelimitObjectDepthToSize to normalizeToSize and rewrite its internalssafeNormalize to normalize and rewrite its internalsserialize, deserialize, clone and serializeObject functionsnormalize and
normalizeToSize@sentry/integrations packageextraErrorData integration to @sentry/integrations packagemaxValueLength option to adjust max string length for values, default is 250.setExtras, setTags, clearBreadcrumbs.Mechanism to Exceptionsynthetic to Mechanism in exception.addExceptionTypeValue in helpersmodule in package.json as entry point for esm builds.es6 target instead of esnext for ESM builds_@sentry/opentracing providing functions to attach opentracing data to Sentry EventsDedupe Integration is now optional, it is no longer enabled by default.captureEvent was renamed to sendEvent