Skip to content

Commit de6f45d

Browse files
committed
meta(changelog): Update changelog vor v8.0.0-alpha.1
1 parent 60f483e commit de6f45d

File tree

2 files changed

+253
-0
lines changed

2 files changed

+253
-0
lines changed

CHANGELOG.md

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

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

7+
## 8.0.0-alpha.1
8+
9+
This is the first Alpha release of the v8 cycle, which includes a variety of breaking changes.
10+
11+
### Important Changes
12+
13+
**- feat(node): Make `@sentry/node` powered by OpenTelemetry (#10762)**
14+
15+
The biggest change is the switch to use OpenTelemetry under the hood in `@sentry/node`. This brings with it a variety of
16+
changes:
17+
18+
- There is now automated performance instrumentation for Express, Fastify, Nest.js and Koa. You can remove any
19+
performance and request isolation code you previously wrote manually for these frameworks.
20+
- All performance instrumenttion is enabled by default, and will only take effect if the instrumented package is used.
21+
You don't need to use `autoDiscoverNodePerformanceMonitoringIntegrations()` anymore.
22+
- You need to ensure to call `Sentry.init()` _before_ you import any other packages. Otherwise, the packages cannot be
23+
instrumented:
24+
25+
```js
26+
const Sentry = require('@sentry/node');
27+
Sentry.init({
28+
dsn: '...',
29+
// ... other config here
30+
});
31+
// now require other things below this!
32+
const http = require('http');
33+
const express = require('express');
34+
// ....
35+
```
36+
37+
- Currently, we only support CJS-based Node application out of the box. There is experimental ESM support, see
38+
[./packages/node-experimental/README.md#esm-support] for instructions.
39+
40+
Related changes:
41+
42+
- feat(node-experimental): Add missing re-exports (#10679)
43+
- feat(node-experimental): Move `defaultStackParser` & `getSentryRelease` (#10722)
44+
- feat(node-experimental): Move `errorHandler` (#10728)
45+
- feat(node-experimental): Move cron code over (#10742)
46+
- feat(node-experimental): Move integrations from node (#10743)
47+
- feat(node-experimental): Properly set request & session on http requests (#10676)
48+
- feat(opentelemetry): Support `forceTransaction` in OTEL (#10807)
49+
- feat(opentelemetry): Align span options with core span options (#10761)
50+
- feat(opentelemetry): Do not capture span events as breadcrumbs (#10612)
51+
- feat(opentelemetry): Ensure DSC & attributes are correctly set (#10806)
52+
- feat(opentelemetry): Fix & align isolation scope usage in node-experimental (#10570)
53+
- feat(opentelemetry): Merge node-experimental changes into opentelemetry (#10689)
54+
- ref(node-experimental): Cleanup re-exports (#10741)
55+
- ref(node-experimental): Cleanup tracing intergations (#10730)
56+
- ref(node-experimental): Copy transport & client to node-experimental (#10720)
57+
- ref(node-experimental): Remove custom `isInitialized` (#10607)
58+
- ref(node-experimental): Remove custom hub & scope (#10616)
59+
- ref(node-experimental): Remove deprecated class integrations (#10675)
60+
- ref(node-experimental): Rename `errorHandler` to `expressErrorHandler` (#10746)
61+
- ref(node-integration-tests): Migrate to new Http integration (#10765)
62+
- ref(node): Align semantic attribute handling (#10827)
63+
64+
**- feat: Remove `@sentry/integrations` package (#10799)**
65+
66+
This package is no longer published. You can instead import these pluggable integrations directly from your SDK package
67+
(e.g. `@sentry/browser` or `@sentry/react`).
68+
69+
**- feat: Remove `@sentry/hub` package (#10783)**
70+
71+
This package is no longer published. You can instead import directly from your SDK package (e.g. `@sentry/react` or
72+
`@sentry/node`).
73+
74+
**- feat(v8): Remove @sentry/tracing (#10625)**
75+
76+
This package is no longer published. You can instead import directly from your SDK package (e.g. `@sentry/react` or
77+
`@sentry/node`).
78+
79+
**- feat: Set required node version to >=14.8.0 for all packages (#10834)**
80+
81+
The minimum required node version is now 14.8+. If you need support for older node versions, you can stay on the v7
82+
branch.
83+
84+
**- Removed class-based integrations**
85+
86+
We have removed most of the deprecated class-based integrations. Instead, you can use the functional styles:
87+
88+
```js
89+
import * as Sentry from '@sentry/browser';
90+
// v7
91+
Sentry.init({
92+
integrations: [new Sentry.BrowserTracing()],
93+
});
94+
// v8
95+
Sentry.init({
96+
integrations: [new Sentry.browserTracingIntegration()],
97+
});
98+
```
99+
100+
- ref: Remove `BrowserTracing` (#10653)
101+
- feat(v8/node): Remove LocalVariables class integration (#10558)
102+
- feat(v8/react): Delete react router exports (#10532)
103+
- feat(v8/vue): Remove all deprecated exports from vue (#10533)
104+
- feat(v8/wasm): Remove deprecated exports (#10552)
105+
106+
**- feat(v8/browser): Remove XHR transport (#10703)**
107+
108+
We have removed the XHR transport, and are instead using the fetch-based transport now by default. This means that if
109+
you are using Sentry in a browser environment without fetch, you'll need to either provide a fetch polyfill, or provide
110+
a custom transport to Sentry.
111+
112+
**- feat(sveltekit): Update `@sentry/vite-plugin` to 2.x and adjust options API (#10813)**
113+
114+
We have updated `@sentry/sveltekit` to use the latest version of `@sentry/vite-plugin`, which lead to changes in
115+
configuration options.
116+
117+
### Other Changes
118+
119+
- feat: Allow passing `null` to `withActiveSpan` (#10717)
120+
- feat: Implement new Async Context Strategy (#10647)
121+
- feat: Remove `hub` from global, `hub.run` & hub utilities (#10718)
122+
- feat: Update default trace propagation targets logic in the browser (#10621)
123+
- feat(browser): Export `getIsolationScope` and `getGlobalScope` (#10658)
124+
- feat(core): Add metric summaries to spans (#10554)
125+
- feat(core): Decouple metrics aggregation from client (#10628)
126+
- feat(core): Lookup client on current scope, not hub (#10635)
127+
- feat(core): Make `setXXX` methods set on isolation scope (#10678)
128+
- feat(core): Make custom tracing methods return spans & set default op (#10633)
129+
- feat(core): Make global `addBreadcrumb` write to the isolation scope instead of current scope (#10586)
130+
- feat(core): Remove health check transaction filters (#10818)
131+
- feat(core): Streamline custom hub creation for node-experimental (#10555)
132+
- feat(core): Update `addEventProcessor` to add to isolation scope (#10606)
133+
- feat(core): Update `Sentry.addBreadcrumb` to skip hub (#10601)
134+
- feat(core): Use global `TextEncoder` and `TextDecoder` (#10701)
135+
- feat(deps): bump @sentry/cli from 2.26.0 to 2.28.0 (#10496)
136+
- feat(deps): bump @sentry/cli from 2.28.0 to 2.28.5 (#10620)
137+
- feat(deps): bump @sentry/cli from 2.28.5 to 2.28.6 (#10727)
138+
- feat(integrations): Capture error arguments as exception regardless of level in `captureConsoleIntegration` (#10744)
139+
- feat(metrics): Remove metrics method from `BaseClient` (#10789)
140+
- feat(react): Drop support for React 15 (#10115)
141+
- feat(remix): Add Vite dev-mode support to Express instrumentation. (#10784)
142+
- fix: Export session API (#10711)
143+
- fix(angular-ivy): Add `exports` field to `package.json` (#10569)
144+
- fix(angular): Ensure navigations always create a transaction (#10646)
145+
- fix(core): Add lost scope tests & fix update case (#10738)
146+
- fix(core): Fix scope capturing via `captureContext` function (#10735)
147+
- fix(feedback): Replay breadcrumb for feedback events was incorrect (#10536)
148+
- fix(nextjs): Remove `webpack://` prefix more broadly from source map `sources` field (#10642)
149+
- fix(node): import `worker_threads` and fix node v14 types (#10791)
150+
- fix(node): Record local variables with falsy values, `null` and `undefined` (#10821)
151+
- fix(stacktrace): Always use `?` for anonymous function name (#10732)
152+
- fix(sveltekit): Avoid capturing Http 4xx errors on the client (#10571)
153+
- fix(sveltekit): Ensure navigations and redirects always create a new transaction (#10656)
154+
- fix(sveltekit): Properly await sourcemaps flattening (#10602)
155+
- fix(types): Improve attachment type (#10832)
156+
- fx(node): Fix anr worker check (#10719)
157+
- ref: Cleanup browser profiling integration (#10766)
158+
- ref: Collect child spans references via non-enumerable on Span object (#10715)
159+
- ref: Make scope setters on hub only write to isolation scope (#10572)
160+
- ref: Store runtime on isolation scope (#10657)
161+
- ref(astro): Put request as SDK processing metadata instead of span data (#10840)
162+
- ref(core): Always use a (default) ACS (#10644)
163+
- ref(core): Make `on` and `emit` required on client (#10603)
164+
- ref(core): Make remaining client methods required (#10605)
165+
- ref(core): Rename `Span` class to `SentrySpan` (#10687)
166+
- ref(core): Restructure hub exports (#10639)
167+
- ref(core): Skip hub in top level `captureXXX` methods (#10688)
168+
- ref(remix): Make `@remix-run/router` a dependency. (#10479)
169+
- ref(replay): Use `beforeAddBreadcrumb` hook instead of scope listener (#10600)
170+
- ref(sveltekit): Hard-pin Vite plugin version (#10843)
171+
172+
### Other Deprecation Removals/Changes
173+
174+
We have also removed or updated a variety of deprecated APIs.
175+
176+
- feat(v8): Remove `extractTraceparentData` export (#10559)
177+
- feat(v8): Remove defaultIntegrations deprecated export (#10691)
178+
- feat(v8): Remove deprecated `span.isSuccess` method (#10699)
179+
- feat(v8): Remove deprecated `traceHeaders` method (#10776)
180+
- feat(v8): Remove deprecated addInstrumentationHandler (#10693)
181+
- feat(v8): Remove deprecated configureScope call (#10565)
182+
- feat(v8): Remove deprecated runWithAsyncContext API (#10780)
183+
- feat(v8): Remove deprecated spanStatusfromHttpCode export (#10563)
184+
- feat(v8): Remove deprecated trace and startActiveSpan methods (#10593)
185+
- feat(v8): Remove requestData deprecations (#10626)
186+
- feat(v8): Remove Severity enum (#10551)
187+
- feat(v8): Remove span.origin (#10753)
188+
- feat(v8): Remove span.toTraceparent method (#10698)
189+
- feat(v8): Remove usage of span.description and span.name (#10697)
190+
- feat(v8): Update eventFromUnknownInput to only use client (#10692)
191+
- feat(v8/astro): Remove deprecated exports from Astro SDK (#10611)
192+
- feat(v8/browser): Remove `_eventFromIncompleteOnError` usage (#10553)
193+
- feat(v8/browser): Remove XHR transport (#10703)
194+
- feat(v8/browser): Rename TryCatch integration to `browserApiErrorsIntegration` (#10755)
195+
- feat(v8/core): Remove deprecated setHttpStatus (#10774)
196+
- feat(v8/core): Remove deprecated updateWithContext method (#10800)
197+
- feat(v8/core): Remove getters for span.op (#10767)
198+
- feat(v8/core): Remove span.finish call (#10773)
199+
- feat(v8/core): Remove span.instrumenter and instrumenter option (#10769)
200+
- feat(v8/ember): Remove deprecated exports (#10535)
201+
- feat(v8/integrations): Remove deprecated exports (#10556)
202+
- feat(v8/node): Remove deepReadDirSync export (#10564)
203+
- feat(v8/node): Remove deprecated anr methods (#10562)
204+
- feat(v8/node): Remove getModuleFromFilename export (#10754)
205+
- ref: Make `setupOnce` optional in integrations (#10729)
206+
- ref: Migrate transaction source from metadata to attributes (#10674)
207+
- ref: Refactor remaining `makeMain` usage (#10713)
208+
- ref(astro): Remove deprecated Replay and BrowserTracing (#10768)
209+
- feat(core): Remove deprecated `scope.applyToEvent()` method (#10842)
210+
- ref(integrations): Remove offline integration (#9456)
211+
- ref(nextjs): Remove all deprecated API (#10549)
212+
- ref: Remove `lastEventId` (#10585)
213+
- ref: Remove `reuseExisting` option for ACS (#10645)
214+
- ref: Remove `tracingOrigins` options (#10614)
215+
- ref: Remove deprecated `showReportDialog` APIs (#10609)
216+
- ref: Remove usage of span tags (#10808)
217+
- ref: Remove user segment (#10575)
218+
219+
## 7.103.0
220+
221+
### Important Changes
222+
223+
- **feat(core): Allow to pass `forceTransaction` to `startSpan()` APIs (#10819)**
224+
225+
You can now pass `forceTransaction: true` to `startSpan()`, `startSpanManual()` and `startInactiveSpan()`. This allows
226+
you to start a span that you want to be a transaction, if possible. Under the hood, the SDK will connect this span to
227+
the running active span (if there is one), but still send the new span as a transaction to the Sentry backend, if
228+
possible, ensuring it shows up as a transaction throughout the system.
229+
230+
Please note that setting this to `true` does not _guarantee_ that this will be sent as a transaction, but that the SDK
231+
will try to do so. You can enable this flag if this span is important to you and you want to ensure that you can see it
232+
in the Sentry UI.
233+
234+
### Other Changes
235+
236+
- fix: Make breadcrumbs option optional in WinterCGFetch integration (#10792)
237+
238+
## 7.102.1
239+
240+
- fix(performance): Fixes latest route name and source for interactions not updating properly on navigation (#10702)
241+
- fix(tracing): Guard against missing `window.location` (#10659)
242+
- ref: Make span types more robust (#10660)
243+
- ref(remix): Make `@remix-run/router` a dependency (v7) (#10779)
244+
245+
## 7.102.0
246+
247+
- fix: Export session API (#10712)
248+
- fix(core): Fix scope capturing via `captureContext` function (#10737)
249+
250+
## 7.101.1
251+
252+
In version 7.101.0 the `@sentry/hub` package was missing due to a publishing issue. This release contains the package
253+
again.
254+
255+
- fix(nextjs): Remove `webpack://` prefix more broadly from source map `sources` field (#10641)
256+
7257
## 7.101.0
8258

9259
- feat: Export semantic attribute keys from SDK packages (#10637)

packages/node-experimental/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,12 @@ There is experimental support for running OpenTelemetry with ESM (`"type": "modu
109109
node --experimental-loader=@opentelemetry/instrumentation/hook.mjs ./app.js
110110
```
111111

112+
You'll need to install `@opentelemetry/instrumentation` in your app to ensure this works.
113+
112114
See [OpenTelemetry Instrumentation Docs](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation#instrumentation-for-es-modules-in-nodejs-experimental) for details on this -
113115
but note that this is a) experimental, and b) does not work with all integrations.
114116

117+
115118
## Available (Performance) Integrations
116119

117120
* Http

0 commit comments

Comments
 (0)