chore(deps): update sentry-javascript monorepo to v7 (major)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| @sentry/browser | ^6.19.7 -> ^7.10.0 |
||||
| @sentry/integrations | ^6.19.7 -> ^7.10.0 |
||||
| @sentry/node | ^6.19.7 -> ^7.10.0 |
Release Notes
getsentry/sentry-javascript
v7.10.0
This release introduces the first alpha version of @sentry/svelte, our newest JavaScript SDK! For details on how to use it, please see the README and the tracking GitHub issue.
- feat(react): Track duration of React component updates (#5531)
- feat(svelte): Add Error and Performance Instrumentation from Browser SDK (#5543)
- feat(svelte): Add Svelte SDK Package Boilerplate (#5535)
- fix(integration): Don't mangle localforage internals (#5534)
- fix(react): Set redux state context properly (#5550)
- fix(remix): Support merging
jsonresponses from root loader functions. (#5548) - fix(remix): Return response if detected in root loader (#5558)
- ref(nextjs): Move
autoWrapDataFetchersoption intoexperimentsobject (#5540) - ref(nextjs): Wrap server-side data-fetching methods during build (#5503)
Work in this release contributed by @augustuswm. Thank you for your contribution!
v7.9.0
This release adds the tracePropagationTargets option to the Sentry Node SDK.
- feat(node): Add
tracePropagationTargetsoption (#5521) - fix(browser): Parse Chrome stack frames without full paths (#5519)
- fix(browser): Set
:as a part of gecko protocol regex group. (#4153) - fix(browser): Strip webpack wrapping from stack frames (#5522)
- fix(nextjs): Pull
transpileClientSDKoption from correct location (#5516) - fix(node): Handle colons in stack trace paths (#5517)
- fix(react): Fix React Router v6 paramaterization (#5515)
- fix(remix): Paramaterize server side transactions (#5491)
- fix(remix): Provide
sentry-traceandbaggagevia root loader. (#5509) - ref(nextjs): Prework for wrapping data-fetching functions (#5508)
- ref(nextjs): Simplify
NextConfigObjecttype (#5514)
v7.8.1
- fix(nextjs): Add default
distDirvalue back intoindex.server.ts(#5479) - fix(node): Add conditions to TracingHandler.startTransaction (#5485)
- fix(node): Adjust Express URL parameterization for array routes (#5495)
- fix(node): Adjust Express URL parameterization for RegEx routes (#5483)
- fix(node): Check if router exists before it is instrumented (#5502)
- fix(node): Correctly handle Windows paths when resolving module name (#5476)
- fix(node): Ensure that self._handler exists before calling it in LinkedErrors (#5497)
- ref(tracing): Simplify sample_rate serialization for DSC (#5475)
v7.8.0
This release adds the transpileClientSDK flag to the Next.JS SDK Webpack config. This option makes WebPack transpile the SDK code to the same transpilation level as the user code. By specifying this option, the Next.JS SDK works in older browsers that do not support ES6 or ES6+ (e.g. object spread) features.
- feat(react): Use state context for Redux integration (#5471)
- feat(remix): Set sentry-trace and baggage tags on server-side (#5440)
- feat(tracing): Allow storing span metadata (#5464)
- feat(tracing): Log start and end of span (#5446)
- fix(nextjs): Add transpileClientSDK option (#5472)
- fix(nextjs): Move userNextConfig.sentry to closure (#5473)
- fix(nextjs): Remove index signaure in
captureUnderscoreErrorExceptionargument type (#5463) - fix(nextjs): Stop using
evalwhen checking forsentry-clibinary (#5447) - fix(remix): Clone erroneous responses not to consume their body streams. (#5429)
- fix(remix): Do not capture 4xx codes from thrown responses. (#5441)
- ref(angular): Set ErrorHandler Exception Mechanism to be unhandled by default(#3844)
- ref(nextjs): Extract
isBuildinto an exported function (#5444) - ref(nextjs): Remove compensation for workaround in
_error.js(#5378) - ref(nextjs): Use loader to set
RewriteFrameshelper value (#5445) - ref(node): Improve Express URL Parameterization (#5450)
- ref(utils): Improve uuid generation (#5426)
Work in this release contributed by @mitchheddles. Thank you for your contribution!
v7.7.0
- feat(angular): Add URL parameterization of transaction names (#5416)
- fix(core): Add
sentry_clientto auth headers (#5413) - fix(remix): Add
documentRequestfunction name. (#5404) - fix(remix): Skip capturing
okresponses as errors. (#5405) - ref(remix): Add transaction source (#5398)
v7.6.0
This release adds the source field to all outgoing transactions.
See the tracking GH issue for more details.
This release also re-enables lambda layer releases for the Node Serverless SDK.
- ref(angular): Add transaction source for Angular Router (#5382)
- ref(build): Reenable lambda layer release in craft (#5207)
- feat(nextjs): Record transaction name source when creating transactions (#5391)
- ref(react): Add source to react-router-v3 (#5377)
- ref(react): Add transaction source for react router v4/v5 (#5384)
- ref(react): Add transaction source for react router v6 (#5385)
- feat(remix): Wrap root with ErrorBoundary (#5365)
- fix(remix): Move hook checks inside the wrapper component (#5371)
- fix(remix): Strip query params from transaction names (#5368)
- fix(remix): Make peer deps less restrictive (#5369)
- fix(remix): Wrap handleDocumentRequest functions (#5387)
- ref(serverless): Add transaction source (#5394)
- feat(tracing): Add transaction source field (#5367)
- feat(tracing): Record transaction name source when name set directly (#5396)
- ref(tracing): Add transaction source to default router (#5386)
- ref(tracing): Include transaction in DSC if transaction source is not an unparameterized URL (#5392)
- feat(vue): Add transaction source to VueRouter instrumentation (#5381)
Work in this release contributed by @moishinetzer. Thank you for your contribution!
v7.5.1
This release removes the user_id and the transaction field from the dynamic sampling context data that is attached to outgoing requests as well as sent to Relay.
- ref(tracing): Remove transaction name and user_id from DSC (#5363)
v7.5.0
This release adds the sendDefaultPii flag to the Sentry.init options.
When using performance monitoring capabilities of the SDK, it controls whether user IDs (set via Sentry.setUser) are propagated in the baggage header of outgoing HTTP requests.
This flag is set to false per default, and acts as an opt-in mechanism for sending potentially sensitive data.
If you want to attach user IDs to Sentry transactions and traces, set this flag to true but keep in mind that this is potentially sensitive information.
- feat(sdk): Add sendDefaultPii option to the JS SDKs (#5341)
- fix(remix): Sourcemaps upload script is missing in the tarball (#5356)
- fix(remix): Use cjs for main entry point (#5352)
- ref(tracing): Only add
user_idto DSC ifsendDefaultPiiistrue(#5344)
Work in this release contributed by @jkcorrea and @nfelger. Thank you for your contributions!
v7.4.1
This release includes the first published version of @sentry/remix.
- build(remix): Make remix package public (#5349)
v7.4.0
This release contains the alpha version of @sentry/remix, our newest JavaScript SDK! For details on how to use
it, please see the README and the tracking GitHub issue.
Attention: Due to an oversight, the @sentry/remix package is only published as part of the 7.4.1 release.
- feat(remix): Enable Remix SDK (#5327)
- feat(remix): Add release / sourcemap upload script. (#5312)
- feat(remix): Add Remix server SDK (#5269)
- feat(remix): Add Remix client SDK (#5264)
- feat(remix): Add Remix SDK package boilerplate (#5256)
- fix(utils): Handle toJSON methods that return circular references (#5323)
Work in this release contributed by @MichaelDeBoey. Thank you for your contribution!
Special thank you to @jacob-ebey for pointing us in the right direction while we were working on the Remix SDK: https://github.com/jacob-ebey/remix-sentry.
v7.3.1
- feat(react): expose FallbackRender as top-level type (#5307)
- fix(core): Remove optional chaining usage (#5304)
- fix(ember): Restore ember package contents (#5318)
- fix(ember): Update README docs to match sentry-docs (#5315)
- ref(hub): Reduce hub bundle size (#5306)
- ref(tracing): Ignore third party baggage entries from incoming requests (#5319)
- ref(types): Add type for measurement unit (#5313)
Work in this release contributed by @MasterOdin. Thank you for your contribution!
v7.3.0
- feat(nextjs): Add exception handler for
_error.js(#5259) - feat(tracing): Add additional Dynamic Sampling Context items to baggage and envelope headers (#5292)
- fix(node): Allow
ParseRequestOptionsto be passed to request handler (#5287) - fix(tracing): Baggage parsing fails when input is not of type string (#5276)
- fix(tracing): Report the right units for CLS and TTFB (#5303)
- fix(vue): Property access on undefined in errorHandler (#5279)
- ref(node): Move stack parser to utils so it can be used from Electron (#5286)
- ref(tracing): Move getBaggage() from Span to Transaction class (#5299)
- ref(tracing): Unify DSC key names in envelope and baggage headers (#5302)
Work in this release contributed by @Arinono. Thank you for your contribution!
v7.2.0
- feat(angular): Add Angular 14 support (#5253)
- feat(tracing): GraphQL and Apollo Integrations (#3953)
- fix(docs): Adjust hash-link to propagation-of-baggage-header (#5235)
- fix(docs): Update MIGRATION for SeverityLevel (#5225)
- fix(nextjs): Export
showReportDialogfrom NextJS SDK (#5242) - fix(vue): Accounts for undefined options when formatting component name (#5254)
- ref(node): Move request-data-extraction functions to
@sentry/utils(#5257) - ref(tracing): Check and set mutability of baggage (#5205)
- ref(tracing): Sync baggage data in Http and envelope headers (#5218)
- chore(angular): Add Angular version to event contexts (#5260)
- chore(core): Remove circular JSON debugging hacks (#5267)
- chore(integrations): Add trace to CONSOLE_LEVELS (#5249)
Work in this release contributed by @Arinono and @slaesh. Thank you for your contributions!
v7.1.1
- Revert "ref(node): Move non-handler code out of handlers module" (#5223)
- fix(types): Vendor in TextEncoderCommon type (#5221)
v7.1.0
- feat(tracing): Propagate environment and release values in baggage Http headers (#5193)
- feat(node): Compression support for
httptransport (#5209) - fix(serverless): Do not change DSN in Serverless integration (#5212)
- fix(core): Normalize trace context (#5171)
- fix(utils): Fix faulty references in
dropUndefinedKeys(#5201) - fix(build): Add missing debug logger plugin in
debug.minbundle variant config (#5192) - fix(tracing): Fix missing page load metrics in Electron renderer (#5187)
- ref(node): Move non-handler code out of
handlersmodule (#5190) - ref: Switch to magic string for logger statements (#5155)
- chore(build): Only upload lambda layer when releasing (#5208)
v7.0.0
Version 7 of the Sentry JavaScript SDK brings a variety of features and fixes including bundle size and performance improvements, brand new integrations, support for the attachments API, and key bug fixes.
This release does not change or remove any top level public API methods (captureException, captureMessage), and only requires changes to certain configuration options or custom clients/integrations/transports.
Note: The v7 version of the JavaScript SDK requires a self-hosted version of Sentry 20.6.0 or higher. If you are using a version of self-hosted Sentry (aka onpremise) older than 20.6.0 then you will need to upgrade.
For detailed overview of all the changes, please see our v7 migration guide.
Breaking Changes
If you are a regular consumer of the Sentry JavaScript SDK you only need to focus on the general items. The internal breaking changes are aimed at libraries that build on top of and extend the JavaScript SDK (like @sentry/electron or @sentry/react-native).
General
- Updated CommonJS distributions to use ES6 by default. If you need to support Internet Explorer 11 or old Node.js versions, we recommend using a preprocessing tool like Babel to convert Sentry packages to ES5. (#5005)
- Default
bundle.min.jsto ES6 instead of ES5. ES5 bundles are still available atbundle.es5.min.js. (#4958) - Updated build system to use TypeScript 3.8.3 (#4895)
- Deprecated
Severityenum for bundle size reasons. Please use string literals instead. (#4926) - Removed
criticalSeverity level. (#5032) -
whitelistUrlsandblacklistUrlshave been renamed toallowUrlsanddenyUrlsin theSentry.init()options. (#4850) -
BaseClientand it's child classes now requiretransport,stackParser, andintegrationsto be explicitly passed in. This was done to improve tree-shakability. (#4927) - Updated package distribution structure and stopped distributing CDN bundles through
@sentry/*npm packages. See details in our migration docs.. (#4900) (#4901) -
Simplified
TransportAPI. This means custom transports will have to be adjusted accordingly.. - Updated how Node Transport Options are passed down.
- Start propogating
baggageHTTP header alongsidesentry-traceheader to propogate additional tracing related information.. (#5133) - Renamed
registerRequestInstrumentationexport toinstrumentOutgoingRequestsin@sentry/tracing. (#4859) - Renamed
UserAgentintegration toHttpContext. (#5027) - Replaced
BrowserTracingintegration'smaxTransactionDurationoption withfinalTimeoutoption in the@sentry/tracingpackage and resetidleTimeoutbased on activities count. This should improve accuracy of web-vitals like LCP by 20-30%. (#5044) -
Updated
@sentry/angularto be compiled by the angular compiler. (#4641) - Made tracing package treeshakable (#5166)
- Removed support for Node v6. (#4851)
- Removed
@sentry/minimalpackage in favour of using@sentry/hub. (#4971) - Removed support for Opera browser pre v15 (#4923)
- Removed
ignoreSentryErrorsoption from AWS lambda SDK. Errors originating from the SDK will now always be caught internally. (#4994) - Removed
Integrations.BrowserTracingexport from@sentry/nextjs. Please importBrowserTracingfrom@sentry/nextjsdirectly. - Removed static
idproperty fromBrowserTracingintegration. - Removed
SDK_NAMEexport from@sentry/browser,@sentry/node,@sentry/tracingand@sentry/vuepackages. (#5040) - Removed
Angular,Ember, andVueintegrations from@sentry/integrationsin favour of the explicit framework packages:@sentry/angular,@sentry/ember, and@sentry/vue. (#4893) - Removed enums
Status,RequestSessionStatus, andSessionStatus.. Deprecated enumsSpanStatusandSeverity. This was done to save on bundle size. (#4891) (#4889) (#4890) - Removed support for deprecated
@sentry/apmpackage. (#4845) - Removed deprecated
userfield from DSN interface.publicKeyshould be used instead. (#4864) - Removed deprecated
getActiveDomainmethod andDomainAsCarriertype from@sentry/hub. (#4858) - Removed
eventStatusFromHttpCodeto save on bundle size. - Removed usage of deprecated
event.stacktracefield. (#4885) - Removed raven-node backward-compat code (#4942)
- Removed
showReportDialogmethod onBrowserClient(#4973) - Removed deprecated
startSpanandchildmethods (#4849) - Removed deprecated
frameContextLinesoptions (#4884) - Removed
Sentryfrom window in the Gatsby SDK (#4857)
Internal
- Removed support for the store endpoint (#4969)
- Made hint callback argument non-optional (#5141)
- Switched to using new transports internally (#4943)
-
Removed
APIclass from@sentry/core.. (#4848) -
Refactored
Sessionclass to use a more functional approach.. (#5054) - Removed
Backendclass in favour of moving functionality into theClientclass (for more details, see #4911 and #4919). - Removed forget async utility function (#4941)
- Removed tslint from
@sentry-internal/typescript(#4940) - Removed
_invokeClientfunction from@sentry/hub(#4972) - Removed top level eventbuilder exports (#4887)
- Added baggage API helpers in
@sentry/utils(#5066)
Other Changes
Features
- feat(tracing): Add Prisma ORM integration. (#4931)
- feat(react): Add react-router-v6 integration (#5042)
- feat: Add attachments API (#5004)
- feat: Add
namefield toEventProcessor(#4932) - feat: Expose configurable stack parser (#4902)
- feat(tracing): Make
setMeasurementpublic API (#4933) - feat(tracing): Add GB unit to device memory tag value (#4935)
- feat: Export browser integrations individually (#5028)
- feat(core): Send Baggage in Envelope Header (#5104)
Fixes
- fix(browser): Fix memory leak in
addEventListenerinstrumentation (#5147) - fix(build): Fix express import in
gcpfunction(#5097) - fix(ember): Export sha hashes of injected scripts (#5089)
- fix(hub): Add missing parameter to captureException docstring (#5001)
- fix(integrations): Mark ExtraErrorData as already normalized (#5053)
- fix(serverless): Adjust v6 Lambda layer hotfix for v7 (#5006)
- fix(tracing): Adjust sideEffects package.json entry for v7 (#4987)
- fix(tracing): Remove isInstanceOf check in Hub constructor (#5046)
- fix(tracing): Don't use
querySelectorwhen not available (#5160) - fix(nextjs): Update webpack-plugin and change how cli binary is detected. This should reduce bundle size of NextJS applications. (#4988)
- fix(utils): Fix infinite recursion in
dropUndefinedKeys(#5163)
Misc
- feat(build): Vendor polyfills injected during build (#5051)
- ref(build): Use rollup to build AWS lambda layer (#5146)
- ref(core): Make event processing log warnings instead of errors (#5010)
- ref(node): Allow node stack parser to work in browser context (#5135)
- ref(serverless): Point DSN to relay in lambda extension (#5126)
- ref(serverless): Do not throw on flush error (#5090)
- ref(utils): Clean up dangerous type casts in object helper file (#5047)
- ref(utils): Add logic to enable skipping of normalization (#5052)
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, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.