You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The main goals for this next major release is web bundling optimizations and increased treeshaking support. Bundle size reduction will be a side effect of these changes, but not the explicit goal.
It's also important to note that we will not be breaking any top level public APIs in this major. Anything we touch will be related to internals or to integrations/transports. Therefore unless you are using custom integrations, custom clients or monkey patching our SDK, you will have to make no code changes when upgrading the SDK.
The following is a list of the major breaking changes that we might make in the next major release. We are not committing to including all of these changes in the next release, but any feedback/thoughts are appreciated!
Make eventParser an configurable option on the hub (that defaults to tracekit)
Add more fixtures for tracekit unit tests
Make tracekit smaller by removing intermediate types
Emit es6 by default
Introduce a es5 legacy bundle as alternate option for browser
react, vue, angular etc. packages will be es6 default
Dropping Support
Remove store endpoint support → only use envelopes
The envelope endpoint was added in Sentry 20.6.0, so if you are using a version of self-hosted Sentry (aka onpremise) older than that then you will need to upgrade.
Remove @sentry/integrations package
Remove old angular, vue, ember integrations (encourage people to use @sentry/*)
If we don't solve this with a backward/forwards compatible change, ember-auto-import 2 is the bridge to the new addon v2 format for Ember. Unfortunately that means the new version of our addon would need the user to have their application also on ember-auto-import 2.x, which could make this a breaking change.
Update 3: We have released 🚀
https://github.com/getsentry/sentry-javascript/releases/tag/7.0.0
https://www.npmjs.com/package/@sentry/browser/v/7.0.0
https://www.npmjs.com/package/@sentry/node/v/7.0.0
Update 2: There are now beta releases available to test with!
https://www.npmjs.com/package/@sentry/browser/v/next
Migration guide: https://github.com/getsentry/sentry-javascript/blob/7.x/MIGRATION.md
Update: We are now actively working towards the v7 major release. While working on it, we're "freezing" work on
master.Feel free to take a look at our v7 work here: master...7.x
Edit: This plan has now been turned into a proper Roadmap. Please see: #4240 (comment)
Overarching issue for: https://github.com/getsentry/sentry-javascript/milestone/11
Please see: master...7.x
The main goals for this next major release is web bundling optimizations and increased treeshaking support. Bundle size reduction will be a side effect of these changes, but not the explicit goal.
It's also important to note that we will not be breaking any top level public APIs in this major. Anything we touch will be related to internals or to integrations/transports. Therefore unless you are using custom integrations, custom clients or monkey patching our SDK, you will have to make no code changes when upgrading the SDK.
The following is a list of the major breaking changes that we might make in the next major release. We are not committing to including all of these changes in the next release, but any feedback/thoughts are appreciated!
Treeshaking / Bundle Size
Remove
BackendClassRemove
callOnHubandinvokeClientmethods@sentry/minimalExtract out integrations into their own modules
getCurrentHubgetIntegrationcheckdefaultIntegrationswill need to turn into a function (so it can be treeshaken away if needed)Extract out transports into their own modules
Refactor client inheritance chain so that minimal methods are overridden
BrowserClientandNodeClientshould be using as much as possible fromBaseClientabstractmethods inBaseClientv7-dev:sentry-javascript/packages/core/src/baseclient.ts
Line 30 in 6d719e1
sentry-javascript/packages/browser/src/client.ts
Line 37 in 6d719e1
BrowserClientis !!!)Refactor API class into functions
getEnvelopeEndpointWithUrlEncodedAuth) that can't get minifiedRefactor Logger class into functions
Refactor Stacktrace Parsing
tracekit)Emit es6 by default
Dropping Support
Remove store endpoint support → only use envelopes
Remove @sentry/integrations package
@sentry/*)Drop support for Node v6
Removing deprecations
Remove all references to @sentry/apm
sentry-javascript/packages/react/src/profiler.tsx
Line 32 in 4887f98
sentry-javascript/packages/integrations/src/vue.ts
Line 264 in 9c25928
Remove
whitelistUrlsandblacklistUrlsoptionssentry-javascript/packages/browser/src/backend.ts
Line 28 in 4887f98
sentry-javascript/packages/core/src/integrations/inboundfilters.ts
Line 17 in 4887f98
allowUrlsanddenyUrlsspecifically. See https://develop.sentry.dev/inclusion/ for more detailsRemove
getActiveDomainsentry-javascript/packages/hub/src/hub.ts
Line 564 in 4887f98
Remove tracing deprecations (
startSpanandchild)sentry-javascript/packages/types/src/span.ts
Line 135 in 4887f98
sentry-javascript/packages/types/src/hub.ts
Line 186 in 4887f98
Remove Gatsby SDK in
windowRemove
registerRequestInstrumentationnamesentry-javascript/packages/tracing/src/index.ts
Line 12 in 5f5e9ec
Dependency upgrades
Upgrade Typescript (lol)
sentry-javascript/scripts/verify-packages-versions.js
Line 7 in 4887f98
Upgrade to Ember 4.x / ember-auto-import 2.x
Other
Remove
SentryErrorIntroduce a
getActiveTransactionmethod and use it everywheregetActiveTransactionRemove SyncPromise API
Remove
@sentry/wasmin favour of just exporting an integration@sentry/integration-browser-wasmRemove
raven-nodebackward-compat code from node rejection handlerRemove
forgetutilRemove
SDK_NAMEconstants in favor of SDK metadata_metadatavs._internalAPIclass uses_metadataas an argument, so we can't change/remove the concept until we refactor theAPIclass.Inline
injectReportDialogintoshowReportDialogand unify themRemove
helpers.tsfrom@sentry/browserIntroduce
EventTypeconst enum (Low Risk - Low Reward)sentry-javascript/packages/types/src/event.ts
Lines 48 to 52 in 6d719e1
const enumtransactionerrorRemove
event.stacktracefieldImprove eventID propogation
sentry-python's behaviour of creating and passingevent_ids #4065Remove
tslintfrom@sentry-internal/typescriptrm -rfhttps://github.com/getsentry/sentry-javascript/blob/master/packages/typescript/tslint.jsonPrefix interfaces with
Iso they clearly differ from class implementations.IHubinstead ofHub