Skip to content

Commit 7115492

Browse files
authored
Merge pull request #11301 from getsentry/prepare-release/8.0.0-alpha.6
meta(changelog): Add changelog for v8.0.0-alpha.8
2 parents a46345c + 6d56156 commit 7115492

File tree

407 files changed

+2609
-2276
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

407 files changed

+2609
-2276
lines changed

.craft.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ targets:
2020
- name: npm
2121
id: '@sentry-internal/tracing'
2222
includeNames: /^sentry-internal-tracing-\d.*\.tgz$/
23-
## 1.5 Replay package (browser only)
23+
## 1.5 Replay Internal package (browser only)
2424
- name: npm
25-
id: '@sentry/replay'
26-
includeNames: /^sentry-replay-\d.*\.tgz$/
27-
## 1.6. OpenTelemetry package
25+
id: '@sentry-internal/replay'
26+
includeNames: /^sentry-internal-replay-\d.*\.tgz$/
27+
## 1.6 OpenTelemetry package
2828
- name: npm
2929
id: '@sentry/opentelemetry'
3030
includeNames: /^sentry-opentelemetry-\d.*\.tgz$/

.github/workflows/build.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,9 @@ jobs:
271271
${{needs.job_get_metadata.outputs.is_develop == 'false' && env.NX_CACHE_RESTORE_KEYS || 'nx-never-restore'}}
272272

273273
- name: Build packages
274+
# Set the CODECOV_TOKEN for Bundle Analysis
275+
env:
276+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
274277
run: yarn build
275278
outputs:
276279
# this needs to be passed on, because the `needs` context only looks at direct ancestors (so steps which depend on
@@ -1048,7 +1051,8 @@ jobs:
10481051
# TODO(v8): Re-enable hapi tests
10491052
# 'node-hapi-app',
10501053
'node-exports-test-app',
1051-
'vue-3'
1054+
'vue-3',
1055+
'webpack-5'
10521056
]
10531057
build-command:
10541058
- false

CHANGELOG.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,51 @@
44

55
- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott
66

7+
## 8.0.0-alpha.6
8+
9+
This is the sixth alpha release of Sentry JavaScript SDK v8, which includes a variety of breaking changes.
10+
11+
Read the [in-depth migration guide](./MIGRATION.md) to find out how to address any breaking changes in your code.
12+
13+
### Important Changes
14+
15+
- **feat(nextjs): Use OpenTelemetry for performance monitoring and tracing (#11016)**
16+
17+
We now use OpenTelemetry under the hood to power performance monitoring and tracing in the Next.js SDK.
18+
19+
### Removal/Refactoring of deprecated functionality
20+
21+
- feat(v8): Remove addGlobalEventProcessor (#11255)
22+
- feat(v8): Remove deprecated span id fields (#11180)
23+
- feat(v8): Remove makeMain export (#11278)
24+
- feat(v8/core): Remove deprecated span.sampled (#11274)
25+
- feat(v8/core): Remove getActiveTransaction (#11280)
26+
- feat(v8/core): Remove spanMetadata field (#11271)
27+
- feat(v8/ember): Remove deprecated StartTransactionFunction (#11270)
28+
- feat(v8/replay): Remove deprecated replay options (#11268)
29+
- feat(v8/svelte): Remove deprecated componentTrackingPreprocessor export (#11277)
30+
- ref: Remove more usages of getCurrentHub in the codebase (#11281)
31+
- ref(core): Remove `scope.setSpan()` and `scope.getSpan()` methods (#11051)
32+
- ref(profiling-node): Remove usage of getCurrentHub (#11275)
33+
- ref(v8): change integration.setupOnce signature (#11238)
34+
35+
### Other Changes
36+
37+
- feat(feedback): Make "required" text for input elements configurable (#11152) (#11153)
38+
- feat(feedback): Update user feedback screenshot and cropping to align with designs (#11227)
39+
- feat(nextjs): Remove `runtime` and `vercel` tags (#11291)
40+
- feat(node): Add scope to ANR events (#11256)
41+
- feat(node): Do not include `prismaIntegration` by default (#11265)
42+
- feat(node): Ensure `tracePropagationTargets` are respected (#11285)
43+
- feat(node): Simplify `SentrySpanProcessor` (#11273)
44+
- feat(profiling): Use OTEL powered node package (#11239)
45+
- feat(utils): Allow text encoder/decoder polyfill from global **SENTRY** (#11283)
46+
- fix(nextjs): Show misconfiguration warning (no `instrumentation.ts`) (#11266)
47+
- fix(node): Add logs when node-fetch cannot be instrumented (#11289)
48+
- fix(node): Skip capturing Hapi Boom error responses. (#11151)
49+
- fix(node): Use `suppressTracing` to avoid capturing otel spans (#11288)
50+
- fix(opentelemetry): Do not stomp span status when `startSpan` callback throws (#11170)
51+
752
## 8.0.0-alpha.5
853

954
This is the fifth alpha release of Sentry JavaScript SDK v8, which includes a variety of breaking changes.
@@ -23,6 +68,12 @@ files. Instead, please initialize the Sentry Next.js SDK for the serverside in a
2368

2469
In addition, the Next.js SDK now requires a minimum Next.js version of `13.2.0`.
2570

71+
- **feat(v8/angular): Merge angular and angular-ivy packages and start Angular support at v14 (#11091)**
72+
73+
The `@sentry/angular-ivy` package has been removed. The `@sentry/angular` package now supports Ivy by default and
74+
requires at least Angular 14. See the [Migration Guide](./MIGRATION.md#removal-of-sentryangular-ivy-package) for more
75+
details.
76+
2677
### Removal/Refactoring of deprecated functionality
2778

2879
- feat(aws-serverless): Remove deprecated `rethrowAfterCapture` option (#11126)
@@ -455,6 +506,25 @@ We have also removed or updated a variety of deprecated APIs.
455506
- ref: Remove usage of span tags (#10808)
456507
- ref: Remove user segment (#10575)
457508

509+
## 7.108.0
510+
511+
This release fixes issues with Time to First Byte (TTFB) calculation in the SDK that was introduced with `7.95.0`. It
512+
also fixes some bugs with Interaction to First Paint (INP) instrumentation. This may impact your Sentry Performance
513+
Score calculation.
514+
515+
- feat(serverless): Add Node.js 20 to compatible runtimes (#11104)
516+
- feat(core): Backport `ResizeObserver` and `googletag` default filters (#11210)
517+
- feat(webvitals): Adds event entry names for INP handler. Also guard against empty metric value
518+
- fix(metrics): use correct statsd data category (#11187)
519+
- fix(node): Record local variables with falsy values (v7) (#11190)
520+
- fix(node): Use unique variable for ANR context transfer (v7) (#11162)
521+
- fix(node): Time zone handling for `cron` (#11225)
522+
- fix(tracing): use web-vitals ttfb calculation (#11231)
523+
- fix(types): Fix incorrect `sampled` type on `Transaction` (#11146)
524+
- fix(webvitals): Fix mapping not being maintained properly and sometimes not sending INP spans (#11183)
525+
526+
Work in this release contributed by @quisido and @joshkel. Thank you for your contributions!
527+
458528
## 7.107.0
459529

460530
This release fixes issues with INP instrumentation with the Next.js SDK and adds support for the `enableInp` option in

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2022 Functional Software, Inc. dba Sentry
3+
Copyright (c) 2024 Functional Software, Inc. dba Sentry
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy of
66
this software and associated documentation files (the "Software"), to deal in

MIGRATION.md

Lines changed: 93 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,18 @@ stable release of `8.x` comes out).
2424
to `@sentry/node` and all of our node-based server-side sdks (`@sentry/nextjs`, `@sentry/serverless`, etc.). We no
2525
longer test against Node 8, 10, or 12 and cannot guarantee that the SDK will work as expected on these versions.
2626

27-
**Browser**: Our browser SDKs (`@sentry/browser`, `@sentry/react`, `@sentry/vue`, etc.) now require ES2017+ compatible
27+
**Browser**: Our browser SDKs (`@sentry/browser`, `@sentry/react`, `@sentry/vue`, etc.) now require ES2018+ compatible
2828
browsers. This means that we no longer support IE11 (end of an era). This also means that the Browser SDK requires the
2929
fetch API to be available in the environment.
3030

3131
New minimum supported browsers:
3232

33-
- Chrome 58
34-
- Edge 15
35-
- Safari/iOS Safari 11
36-
- Firefox 54
37-
- Opera 45
38-
- Samsung Internet 7.2
33+
- Chrome 63
34+
- Edge 79
35+
- Safari/iOS Safari 12
36+
- Firefox 58
37+
- Opera 50
38+
- Samsung Internet 8.2
3939

4040
For IE11 support please transpile your code to ES5 using babel or similar and add required polyfills.
4141

@@ -49,6 +49,7 @@ We've removed the following packages:
4949
- [@sentry/tracing](./MIGRATION.md#sentrytracing)
5050
- [@sentry/integrations](./MIGRATION.md#sentryintegrations)
5151
- [@sentry/serverless](./MIGRATION.md#sentryserverless)
52+
- [@sentry/replay](./MIGRATION.md#sentryreplay)
5253

5354
#### @sentry/hub
5455

@@ -217,6 +218,20 @@ Sentry.init({
217218
});
218219
```
219220

221+
#### @sentry/replay
222+
223+
`@sentry/replay` has been removed and will no longer be published. You can import replay functionality and the replay
224+
integration directly from the Browser SDK or browser framework-specific packages like `@sentry/react`.
225+
226+
```js
227+
// v7
228+
import { Replay } from '@sentry/replay';
229+
```
230+
231+
```js
232+
import { replayIntegration } from '@sentry/browser';
233+
```
234+
220235
## 3. Performance Monitoring Changes
221236

222237
- [Initializing the SDK in v8](./MIGRATION.md/#initializing-the-node-sdk)
@@ -350,12 +365,13 @@ To make sure these integrations work properly you'll have to change how you
350365
- [Astro SDK](./MIGRATION.md#astro-sdk)
351366
- [AWS Serverless SDK](./MIGRATION.md#aws-serverless-sdk)
352367
- [Ember SDK](./MIGRATION.md#ember-sdk)
368+
- [Svelte SDK](./MIGRATION.md#svelte-sdk)
353369

354370
### General
355371

356372
Removed top-level exports: `tracingOrigins`, `MetricsAggregator`, `metricsAggregatorIntegration`, `Severity`,
357373
`Sentry.configureScope`, `Span`, `spanStatusfromHttpCode`, `makeMain`, `lastEventId`, `pushScope`, `popScope`,
358-
`addGlobalEventProcessor`, `timestampWithMs`, `addExtensionMethods`
374+
`addGlobalEventProcessor`, `timestampWithMs`, `addExtensionMethods`, `addGlobalEventProcessor`, `getActiveTransaction`
359375

360376
Removed `@sentry/utils` exports: `timestampWithMs`, `addOrUpdateIntegration`, `tracingContextFromHeaders`, `walk`
361377

@@ -370,6 +386,7 @@ Removed `@sentry/utils` exports: `timestampWithMs`, `addOrUpdateIntegration`, `t
370386
- [Removal of `addGlobalEventProcessor` in favour of `addEventProcessor`](./MIGRATION.md#removal-of-addglobaleventprocessor-in-favour-of-addeventprocessor)
371387
- [Removal of `lastEventId()` method](./MIGRATION.md#deprecate-lasteventid)
372388
- [Remove `void` from transport return types](./MIGRATION.md#remove-void-from-transport-return-types)
389+
- [Remove `addGlobalEventProcessor` in favor of `addEventProcessor`](./MIGRATION.md#remove-addglobaleventprocessor-in-favor-of-addeventprocessor)
373390

374391
#### Deprecation of `Hub` and `getCurrentHub()`
375392

@@ -540,7 +557,7 @@ addGlobalEventProcessor(event => {
540557

541558
```js
542559
// v8
543-
addEventProcessor(event => {
560+
Sentry.getGlobalScope().addEventProcessor(event => {
544561
delete event.extra;
545562
return event;
546563
});
@@ -569,6 +586,26 @@ interface Transport {
569586
}
570587
```
571588

589+
#### Remove `addGlobalEventProcessor` in favor of `addEventProcessor`
590+
591+
In v8, we are removing the `addGlobalEventProcessor` function in favor of `addEventProcessor`.
592+
593+
```js
594+
// v7
595+
addGlobalEventProcessor(event => {
596+
delete event.extra;
597+
return event;
598+
});
599+
```
600+
601+
```js
602+
// v8
603+
addEventProcessor(event => {
604+
delete event.extra;
605+
return event;
606+
});
607+
```
608+
572609
### Browser SDK (Browser, React, Vue, Angular, Ember, etc.)
573610

574611
Removed top-level exports: `Offline`, `makeXHRTransport`, `BrowserTracing`, `wrap`
@@ -577,6 +614,8 @@ Removed top-level exports: `Offline`, `makeXHRTransport`, `BrowserTracing`, `wra
577614
- [Removal of Offline integration](./MIGRATION.md#removal-of-the-offline-integration)
578615
- [Removal of `makeXHRTransport` transport](./MIGRATION.md#removal-of-makexhrtransport-transport)
579616
- [Removal of `wrap` method](./MIGRATION.md#removal-of-wrap-method)
617+
- [Removal of `@sentry/angular-ivy` package](./MIGRATION.md#removal-of-sentryangular-ivy-package)
618+
- [Removal of `@sentry/replay` package](./MIGRATION.md#removal-of-sentryreplay-package)
580619

581620
#### Removal of the `BrowserTracing` integration
582621

@@ -605,6 +644,10 @@ requires at least Angular 14. If you are using Angular 13 or lower, we suggest u
605644
migrating to v8. If you can't upgrade your Angular version to at least Angular 14, you can also continue using the
606645
`@sentry/angular-ivy@7` SDK. However, v7 of the SDKs will no longer be fully supported going forward.
607646

647+
#### Removal of `@sentry/replay` package
648+
649+
You can import from `@sentry/browser` (or from a respective SDK package like `@sentry/react` or `@sentry/vue`).
650+
608651
### Server-side SDKs (Node, Deno, Bun, etc.)
609652

610653
Removed top-level exports: `enableAnrDetection`, `Anr`, `deepReadDirSync`
@@ -891,7 +934,7 @@ replacement API.
891934

892935
### Ember SDK
893936

894-
Removed top-level exports: `InitSentryForEmber`
937+
Removed top-level exports: `InitSentryForEmber`, `StartTransactionFunction`
895938

896939
- [Removal of `InitSentryForEmber` export](./MIGRATION.md#removal-of-initsentryforember-export)
897940

@@ -900,13 +943,51 @@ Removed top-level exports: `InitSentryForEmber`
900943
The `InitSentryForEmber` export has been removed. Instead, you should use the `Sentry.init` method to initialize the
901944
SDK.
902945

946+
### Svelte SDK
947+
948+
Removed top-level exports: `componentTrackingPreprocessor`
949+
950+
#### Removal of `componentTrackingPreprocessor` export
951+
952+
The `componentTrackingPreprocessor` export has been removed. You should instead use `withSentryConfig` to configure
953+
component tracking.
954+
955+
```js
956+
// v7 - svelte.config.js
957+
import { componentTrackingPreprocessor } from '@sentry/svelte';
958+
959+
const config = {
960+
preprocess: [
961+
componentTrackingPreprocessor(),
962+
// ...
963+
],
964+
// ...
965+
};
966+
967+
export default config;
968+
```
969+
970+
```js
971+
// v8 - svelte.config.js
972+
import { withSentryConfig } from "@sentry/svelte";
973+
974+
const config = {
975+
// Your svelte config
976+
compilerOptions: {...},
977+
};
978+
979+
export default withSentryConfig(config);
980+
```
981+
903982
## 5. Behaviour Changes
904983

905984
- [Updated behaviour of `tracePropagationTargets` in the browser](./MIGRATION.md#updated-behaviour-of-tracepropagationtargets-in-the-browser-http-tracing-headers--cors)
906985
- [Updated behaviour of `extraErrorDataIntegration`](./MIGRATION.md#extraerrordataintegration-changes)
907986
- [Updated behaviour of `transactionContext` passed to `tracesSampler`](./MIGRATION.md#transactioncontext-no-longer-passed-to-tracessampler)
908987
- [Updated behaviour of `getClient()`](./MIGRATION.md#getclient-always-returns-a-client)
909988
- [Removal of Client-Side health check transaction filters](./MIGRATION.md#removal-of-client-side-health-check-transaction-filters)
989+
- [Change of Replay default options (`unblock` and `unmask`)](./MIGRATION.md#change-of-replay-default-options-unblock-and-unmask)
990+
- [Angular Tracing Decorator renaming](./MIGRATION.md#angular-tracing-decorator-renaming)
910991

911992
#### Updated behaviour of `tracePropagationTargets` in the browser (HTTP tracing headers & CORS)
912993

@@ -1593,7 +1674,7 @@ Sentry.init({
15931674
## Replay options changed (since 7.35.0) - #6645
15941675

15951676
Some options for replay have been deprecated in favor of new APIs. See
1596-
[Replay Migration docs](./packages/replay/MIGRATION.md#upgrading-replay-from-7340-to-7350) for details.
1677+
[Replay Migration docs](./docs/migration/replay.md#upgrading-replay-from-7340-to-7350---6645) for details.
15971678

15981679
## Renaming of Next.js wrapper methods (since 7.31.0) - #6790
15991680

@@ -1631,4 +1712,4 @@ This release deprecates `@sentry/hub` and all of it's exports. All of the `@sent
16311712
# Upgrading Sentry Replay (beta, 7.24.0)
16321713

16331714
For details on upgrading Replay in its beta phase, please view the
1634-
[dedicated Replay MIGRATION docs](./packages/replay/MIGRATION.md).
1715+
[dedicated Replay MIGRATION docs](./docs/migration/replay.md).

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ Besides the high-level SDKs, this repository contains shared packages, helpers a
9393
development. If you're thinking about contributing to or creating a JavaScript-based SDK, have a look at the resources
9494
below:
9595

96-
- [`@sentry/replay`](https://github.com/getsentry/sentry-javascript/tree/master/packages/replay): Provides the
97-
integration for Session Replay.
96+
- [`@sentry-internal/replay`](https://github.com/getsentry/sentry-javascript/tree/master/packages/replay-internal):
97+
Provides the integration for Session Replay.
9898
- [`@sentry/core`](https://github.com/getsentry/sentry-javascript/tree/master/packages/core): The base for all
9999
JavaScript SDKs with interfaces, type definitions and base classes.
100100
- [`@sentry/utils`](https://github.com/getsentry/sentry-javascript/tree/master/packages/utils): A set of helpers and

dev-packages/browser-integration-tests/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
},
5050
"devDependencies": {
5151
"@types/glob": "8.0.0",
52-
"@types/node": "^14.6.4",
52+
"@types/node": "^14.18.0",
5353
"@types/pako": "^2.0.0",
5454
"glob": "8.0.3"
5555
},

dev-packages/browser-integration-tests/suites/replay/bufferMode/test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { expect } from '@playwright/test';
2-
import type { replayIntegration as actualReplayIntegration } from '@sentry/replay';
3-
import type { ReplayContainer } from '@sentry/replay/build/npm/types/types';
2+
import type { replayIntegration as actualReplayIntegration } from '@sentry-internal/replay';
3+
import type { ReplayContainer } from '@sentry-internal/replay/build/npm/types/types';
44

55
import { sentryTest } from '../../../utils/fixtures';
66
import { envelopeRequestParser, waitForErrorRequest } from '../../../utils/helpers';

dev-packages/browser-integration-tests/suites/replay/captureReplayFromReplayPackage/init.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import { replayIntegration } from '@sentry-internal/replay';
12
import * as Sentry from '@sentry/browser';
2-
import { replayIntegration } from '@sentry/replay';
33

44
window.Sentry = Sentry;
55
window.Replay = replayIntegration({

dev-packages/browser-integration-tests/suites/replay/captureReplayFromReplayPackage/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { SDK_VERSION } from '@sentry/browser';
44
import { sentryTest } from '../../../utils/fixtures';
55
import { getReplayEvent, shouldSkipReplayTest, waitForReplayRequest } from '../../../utils/replayHelpers';
66

7-
sentryTest('should capture replays (@sentry/replay export)', async ({ getLocalTestPath, page }) => {
7+
sentryTest('should capture replays (@sentry-internal/replay export)', async ({ getLocalTestPath, page }) => {
88
if (shouldSkipReplayTest()) {
99
sentryTest.skip();
1010
}

0 commit comments

Comments
 (0)