Releases: getsentry/sentry-javascript
7.5.1
7.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_id
to DSC ifsendDefaultPii
istrue
(#5344)
Work in this release contributed by @jkcorrea and @nfelger. Thank you for your contributions!
7.4.1
7.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 on npm 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.
7.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!
7.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
ParseRequestOptions
to 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!
7.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
showReportDialog
from 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!
7.1.1
7.1.0
- feat(tracing): Propagate environment and release values in baggage Http headers (#5193)
- feat(node): Compression support for
http
transport (#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.min
bundle variant config (#5192) - fix(tracing): Fix missing page load metrics in Electron renderer (#5187)
- ref(node): Move non-handler code out of
handlers
module (#5190) - ref: Switch to magic string for logger statements (#5155)
- chore(build): Only upload lambda layer when releasing (#5208)
7.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.js
to 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
Severity
enum for bundle size reasons. Please use string literals instead. (#4926) - Removed
critical
Severity level. (#5032) whitelistUrls
andblacklistUrls
have been renamed toallowUrls
anddenyUrls
in theSentry.init()
options. (#4850)BaseClient
and it's child classes now requiretransport
,stackParser
, andintegrations
to 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
Transport
API. This means custom transports will have to be adjusted accordingly. - Updated how Node Transport Options are passed down.
- Start propogating
baggage
HTTP header alongsidesentry-trace
header to propogate additional tracing related information. (#5133) - Renamed
registerRequestInstrumentation
export toinstrumentOutgoingRequests
in@sentry/tracing
. (#4859) - Renamed
UserAgent
integration toHttpContext
. (#5027) - Replaced
BrowserTracing
integration'smaxTransactionDuration
option withfinalTimeout
option in the@sentry/tracing
package and resetidleTimeout
based on activities count. This should improve accuracy of web-vitals like LCP by 20-30%. (#5044) - Updated
@sentry/angular
to be compiled by the angular compiler. (#4641) - Made tracing package treeshakable (#5166)
- Removed support for Node v6. (#4851)
- Removed
@sentry/minimal
package in favour of using@sentry/hub
. (#4971) - Removed support for Opera browser pre v15 (#4923)
- Removed
ignoreSentryErrors
option from AWS lambda SDK. Errors originating from the SDK will now always be caught internally. (#4994) - Removed
Integrations.BrowserTracing
export from@sentry/nextjs
. Please importBrowserTracing
from@sentry/nextjs
directly. - Removed static
id
property fromBrowserTracing
integration. - Removed
SDK_NAME
export from@sentry/browser
,@sentry/node
,@sentry/tracing
and@sentry/vue
packages. (#5040) - Removed
Angular
,Ember
, andVue
integrations from@sentry/integrations
in favour of the explicit framework packages:@sentry/angular
,@sentry/ember
, and@sentry/vue
. (#4893) - Removed enums
Status
,RequestSessionStatus
, andSessionStatus
. Deprecated enumsSpanStatus
andSeverity
. This was done to save on bundle size. (#4891) (#4889) (#4890) - Removed support for deprecated
@sentry/apm
package. (#4845) - Removed deprecated
user
field from DSN interface.publicKey
should be used instead. (#4864) - Removed deprecated
getActiveDomain
method andDomainAsCarrier
type from@sentry/hub
. (#4858) - Removed
eventStatusFromHttpCode
to save on bundle size. - Removed usage of deprecated
event.stacktrace
field. (#4885) - Removed raven-node backward-compat code (#4942)
- Removed
showReportDialog
method onBrowserClient
(#4973) - Removed deprecated
startSpan
andchild
methods (#4849) - Removed deprecated
frameContextLines
options (#4884) - Removed
Sentry
from 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
API
class from@sentry/core
. (#4848) - Refactored
Session
class to use a more functional approach. (#5054) - Removed
Backend
class in favour of moving functionality into theClient
class (for more details, see #4911 and #4919). - Removed forget async utility function (#4941)
- Removed tslint from
@sentry-internal/typescript
(#4940) - Removed
_invokeClient
function 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
name
field toEventProcessor
(#4932) - feat: Expose configurable stack parser (#4902)
- feat(tracing): Make
setMeasurement
public 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
addEventListener
instrumentation (#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
querySelector
when 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)