Skip to content

Commit

Permalink
Merge pull request #11301 from getsentry/prepare-release/8.0.0-alpha.6
Browse files Browse the repository at this point in the history
meta(changelog): Add changelog for v8.0.0-alpha.8
  • Loading branch information
mydea authored Mar 27, 2024
2 parents a46345c + 6d56156 commit 7115492
Show file tree
Hide file tree
Showing 407 changed files with 2,609 additions and 2,276 deletions.
8 changes: 4 additions & 4 deletions .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ targets:
- name: npm
id: '@sentry-internal/tracing'
includeNames: /^sentry-internal-tracing-\d.*\.tgz$/
## 1.5 Replay package (browser only)
## 1.5 Replay Internal package (browser only)
- name: npm
id: '@sentry/replay'
includeNames: /^sentry-replay-\d.*\.tgz$/
## 1.6. OpenTelemetry package
id: '@sentry-internal/replay'
includeNames: /^sentry-internal-replay-\d.*\.tgz$/
## 1.6 OpenTelemetry package
- name: npm
id: '@sentry/opentelemetry'
includeNames: /^sentry-opentelemetry-\d.*\.tgz$/
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,9 @@ jobs:
${{needs.job_get_metadata.outputs.is_develop == 'false' && env.NX_CACHE_RESTORE_KEYS || 'nx-never-restore'}}

- name: Build packages
# Set the CODECOV_TOKEN for Bundle Analysis
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: yarn build
outputs:
# this needs to be passed on, because the `needs` context only looks at direct ancestors (so steps which depend on
Expand Down Expand Up @@ -1048,7 +1051,8 @@ jobs:
# TODO(v8): Re-enable hapi tests
# 'node-hapi-app',
'node-exports-test-app',
'vue-3'
'vue-3',
'webpack-5'
]
build-command:
- false
Expand Down
70 changes: 70 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,51 @@

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

## 8.0.0-alpha.6

This is the sixth alpha release of Sentry JavaScript SDK v8, which includes a variety of breaking changes.

Read the [in-depth migration guide](./MIGRATION.md) to find out how to address any breaking changes in your code.

### Important Changes

- **feat(nextjs): Use OpenTelemetry for performance monitoring and tracing (#11016)**

We now use OpenTelemetry under the hood to power performance monitoring and tracing in the Next.js SDK.

### Removal/Refactoring of deprecated functionality

- feat(v8): Remove addGlobalEventProcessor (#11255)
- feat(v8): Remove deprecated span id fields (#11180)
- feat(v8): Remove makeMain export (#11278)
- feat(v8/core): Remove deprecated span.sampled (#11274)
- feat(v8/core): Remove getActiveTransaction (#11280)
- feat(v8/core): Remove spanMetadata field (#11271)
- feat(v8/ember): Remove deprecated StartTransactionFunction (#11270)
- feat(v8/replay): Remove deprecated replay options (#11268)
- feat(v8/svelte): Remove deprecated componentTrackingPreprocessor export (#11277)
- ref: Remove more usages of getCurrentHub in the codebase (#11281)
- ref(core): Remove `scope.setSpan()` and `scope.getSpan()` methods (#11051)
- ref(profiling-node): Remove usage of getCurrentHub (#11275)
- ref(v8): change integration.setupOnce signature (#11238)

### Other Changes

- feat(feedback): Make "required" text for input elements configurable (#11152) (#11153)
- feat(feedback): Update user feedback screenshot and cropping to align with designs (#11227)
- feat(nextjs): Remove `runtime` and `vercel` tags (#11291)
- feat(node): Add scope to ANR events (#11256)
- feat(node): Do not include `prismaIntegration` by default (#11265)
- feat(node): Ensure `tracePropagationTargets` are respected (#11285)
- feat(node): Simplify `SentrySpanProcessor` (#11273)
- feat(profiling): Use OTEL powered node package (#11239)
- feat(utils): Allow text encoder/decoder polyfill from global **SENTRY** (#11283)
- fix(nextjs): Show misconfiguration warning (no `instrumentation.ts`) (#11266)
- fix(node): Add logs when node-fetch cannot be instrumented (#11289)
- fix(node): Skip capturing Hapi Boom error responses. (#11151)
- fix(node): Use `suppressTracing` to avoid capturing otel spans (#11288)
- fix(opentelemetry): Do not stomp span status when `startSpan` callback throws (#11170)

## 8.0.0-alpha.5

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

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

- **feat(v8/angular): Merge angular and angular-ivy packages and start Angular support at v14 (#11091)**

The `@sentry/angular-ivy` package has been removed. The `@sentry/angular` package now supports Ivy by default and
requires at least Angular 14. See the [Migration Guide](./MIGRATION.md#removal-of-sentryangular-ivy-package) for more
details.

### Removal/Refactoring of deprecated functionality

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

## 7.108.0

This release fixes issues with Time to First Byte (TTFB) calculation in the SDK that was introduced with `7.95.0`. It
also fixes some bugs with Interaction to First Paint (INP) instrumentation. This may impact your Sentry Performance
Score calculation.

- feat(serverless): Add Node.js 20 to compatible runtimes (#11104)
- feat(core): Backport `ResizeObserver` and `googletag` default filters (#11210)
- feat(webvitals): Adds event entry names for INP handler. Also guard against empty metric value
- fix(metrics): use correct statsd data category (#11187)
- fix(node): Record local variables with falsy values (v7) (#11190)
- fix(node): Use unique variable for ANR context transfer (v7) (#11162)
- fix(node): Time zone handling for `cron` (#11225)
- fix(tracing): use web-vitals ttfb calculation (#11231)
- fix(types): Fix incorrect `sampled` type on `Transaction` (#11146)
- fix(webvitals): Fix mapping not being maintained properly and sometimes not sending INP spans (#11183)

Work in this release contributed by @quisido and @joshkel. Thank you for your contributions!

## 7.107.0

This release fixes issues with INP instrumentation with the Next.js SDK and adds support for the `enableInp` option in
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2022 Functional Software, Inc. dba Sentry
Copyright (c) 2024 Functional Software, Inc. dba Sentry

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
Expand Down
105 changes: 93 additions & 12 deletions MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,18 @@ stable release of `8.x` comes out).
to `@sentry/node` and all of our node-based server-side sdks (`@sentry/nextjs`, `@sentry/serverless`, etc.). We no
longer test against Node 8, 10, or 12 and cannot guarantee that the SDK will work as expected on these versions.

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

New minimum supported browsers:

- Chrome 58
- Edge 15
- Safari/iOS Safari 11
- Firefox 54
- Opera 45
- Samsung Internet 7.2
- Chrome 63
- Edge 79
- Safari/iOS Safari 12
- Firefox 58
- Opera 50
- Samsung Internet 8.2

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

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

#### @sentry/hub

Expand Down Expand Up @@ -217,6 +218,20 @@ Sentry.init({
});
```

#### @sentry/replay

`@sentry/replay` has been removed and will no longer be published. You can import replay functionality and the replay
integration directly from the Browser SDK or browser framework-specific packages like `@sentry/react`.

```js
// v7
import { Replay } from '@sentry/replay';
```

```js
import { replayIntegration } from '@sentry/browser';
```

## 3. Performance Monitoring Changes

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

### General

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

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

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

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

Expand Down Expand Up @@ -540,7 +557,7 @@ addGlobalEventProcessor(event => {

```js
// v8
addEventProcessor(event => {
Sentry.getGlobalScope().addEventProcessor(event => {
delete event.extra;
return event;
});
Expand Down Expand Up @@ -569,6 +586,26 @@ interface Transport {
}
```

#### Remove `addGlobalEventProcessor` in favor of `addEventProcessor`

In v8, we are removing the `addGlobalEventProcessor` function in favor of `addEventProcessor`.

```js
// v7
addGlobalEventProcessor(event => {
delete event.extra;
return event;
});
```

```js
// v8
addEventProcessor(event => {
delete event.extra;
return event;
});
```

### Browser SDK (Browser, React, Vue, Angular, Ember, etc.)

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

#### Removal of the `BrowserTracing` integration

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

#### Removal of `@sentry/replay` package

You can import from `@sentry/browser` (or from a respective SDK package like `@sentry/react` or `@sentry/vue`).

### Server-side SDKs (Node, Deno, Bun, etc.)

Removed top-level exports: `enableAnrDetection`, `Anr`, `deepReadDirSync`
Expand Down Expand Up @@ -891,7 +934,7 @@ replacement API.
### Ember SDK
Removed top-level exports: `InitSentryForEmber`
Removed top-level exports: `InitSentryForEmber`, `StartTransactionFunction`
- [Removal of `InitSentryForEmber` export](./MIGRATION.md#removal-of-initsentryforember-export)
Expand All @@ -900,13 +943,51 @@ Removed top-level exports: `InitSentryForEmber`
The `InitSentryForEmber` export has been removed. Instead, you should use the `Sentry.init` method to initialize the
SDK.
### Svelte SDK
Removed top-level exports: `componentTrackingPreprocessor`
#### Removal of `componentTrackingPreprocessor` export
The `componentTrackingPreprocessor` export has been removed. You should instead use `withSentryConfig` to configure
component tracking.
```js
// v7 - svelte.config.js
import { componentTrackingPreprocessor } from '@sentry/svelte';

const config = {
preprocess: [
componentTrackingPreprocessor(),
// ...
],
// ...
};

export default config;
```
```js
// v8 - svelte.config.js
import { withSentryConfig } from "@sentry/svelte";

const config = {
// Your svelte config
compilerOptions: {...},
};

export default withSentryConfig(config);
```
## 5. Behaviour Changes
- [Updated behaviour of `tracePropagationTargets` in the browser](./MIGRATION.md#updated-behaviour-of-tracepropagationtargets-in-the-browser-http-tracing-headers--cors)
- [Updated behaviour of `extraErrorDataIntegration`](./MIGRATION.md#extraerrordataintegration-changes)
- [Updated behaviour of `transactionContext` passed to `tracesSampler`](./MIGRATION.md#transactioncontext-no-longer-passed-to-tracessampler)
- [Updated behaviour of `getClient()`](./MIGRATION.md#getclient-always-returns-a-client)
- [Removal of Client-Side health check transaction filters](./MIGRATION.md#removal-of-client-side-health-check-transaction-filters)
- [Change of Replay default options (`unblock` and `unmask`)](./MIGRATION.md#change-of-replay-default-options-unblock-and-unmask)
- [Angular Tracing Decorator renaming](./MIGRATION.md#angular-tracing-decorator-renaming)
#### Updated behaviour of `tracePropagationTargets` in the browser (HTTP tracing headers & CORS)
Expand Down Expand Up @@ -1593,7 +1674,7 @@ Sentry.init({
## Replay options changed (since 7.35.0) - #6645
Some options for replay have been deprecated in favor of new APIs. See
[Replay Migration docs](./packages/replay/MIGRATION.md#upgrading-replay-from-7340-to-7350) for details.
[Replay Migration docs](./docs/migration/replay.md#upgrading-replay-from-7340-to-7350---6645) for details.
## Renaming of Next.js wrapper methods (since 7.31.0) - #6790
Expand Down Expand Up @@ -1631,4 +1712,4 @@ This release deprecates `@sentry/hub` and all of it's exports. All of the `@sent
# Upgrading Sentry Replay (beta, 7.24.0)
For details on upgrading Replay in its beta phase, please view the
[dedicated Replay MIGRATION docs](./packages/replay/MIGRATION.md).
[dedicated Replay MIGRATION docs](./docs/migration/replay.md).
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@ Besides the high-level SDKs, this repository contains shared packages, helpers a
development. If you're thinking about contributing to or creating a JavaScript-based SDK, have a look at the resources
below:

- [`@sentry/replay`](https://github.com/getsentry/sentry-javascript/tree/master/packages/replay): Provides the
integration for Session Replay.
- [`@sentry-internal/replay`](https://github.com/getsentry/sentry-javascript/tree/master/packages/replay-internal):
Provides the integration for Session Replay.
- [`@sentry/core`](https://github.com/getsentry/sentry-javascript/tree/master/packages/core): The base for all
JavaScript SDKs with interfaces, type definitions and base classes.
- [`@sentry/utils`](https://github.com/getsentry/sentry-javascript/tree/master/packages/utils): A set of helpers and
Expand Down
2 changes: 1 addition & 1 deletion dev-packages/browser-integration-tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
},
"devDependencies": {
"@types/glob": "8.0.0",
"@types/node": "^14.6.4",
"@types/node": "^14.18.0",
"@types/pako": "^2.0.0",
"glob": "8.0.3"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import type { replayIntegration as actualReplayIntegration } from '@sentry/replay';
import type { ReplayContainer } from '@sentry/replay/build/npm/types/types';
import type { replayIntegration as actualReplayIntegration } from '@sentry-internal/replay';
import type { ReplayContainer } from '@sentry-internal/replay/build/npm/types/types';

import { sentryTest } from '../../../utils/fixtures';
import { envelopeRequestParser, waitForErrorRequest } from '../../../utils/helpers';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { replayIntegration } from '@sentry-internal/replay';
import * as Sentry from '@sentry/browser';
import { replayIntegration } from '@sentry/replay';

window.Sentry = Sentry;
window.Replay = replayIntegration({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { SDK_VERSION } from '@sentry/browser';
import { sentryTest } from '../../../utils/fixtures';
import { getReplayEvent, shouldSkipReplayTest, waitForReplayRequest } from '../../../utils/replayHelpers';

sentryTest('should capture replays (@sentry/replay export)', async ({ getLocalTestPath, page }) => {
sentryTest('should capture replays (@sentry-internal/replay export)', async ({ getLocalTestPath, page }) => {
if (shouldSkipReplayTest()) {
sentryTest.skip();
}
Expand Down
Loading

0 comments on commit 7115492

Please sign in to comment.