Skip to content

Commit f7289c4

Browse files
committed
meta(changelog): Update changelog for 8.41.0
1 parent a4138e9 commit f7289c4

File tree

1 file changed

+93
-1
lines changed

1 file changed

+93
-1
lines changed

CHANGELOG.md

+93-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,99 @@
1010

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

13-
Work in this release was contributed by @NEKOYASAN. Thank you for your contribution!
13+
## 8.41.0
14+
15+
### Important Changes
16+
17+
- **meta(nuxt): Require minimum Nuxt v3.7.0 ([#14473](https://github.com/getsentry/sentry-javascript/pull/14473))**
18+
19+
We formalized that the Nuxt SDK is at minimum compatible with Nuxt version 3.7.0 and above.
20+
Additionally, the SDK requires the implicit `nitropack` dependency to satisfy version `^2.6.1` and `ofetch` to satisfy `^1.3.3`.
21+
It is recommended to check your lock-files and manually upgrade these dependencies if they don't match the version ranges.
22+
23+
### Deprecations
24+
25+
We are deprecating a few APIs which will be removed in the next major.
26+
27+
The following deprecations will _potentially_ affect you:
28+
29+
- **feat(core): Update & deprecate `undefined` option handling ([#14450](https://github.com/getsentry/sentry-javascript/pull/14450))**
30+
31+
In the next major version we will change how passing `undefined` to `tracesSampleRate` / `tracesSampler` / `enableTracing` will behave.
32+
33+
Currently, doing the following:
34+
35+
```ts
36+
Sentry.init({
37+
tracesSampleRate: undefined,
38+
});
39+
```
40+
41+
Will result in tracing being _enabled_ (although no spans will be generated) because the `tracesSampleRate` key is present in the options object.
42+
In the next major version, this behavior will be changed so that passing `undefined` (or rather having a `tracesSampleRate` key) will result in tracing being disabled, the same as not passing the option at all.
43+
If you are currently relying on `undefined` being passed, and and thus have tracing enabled, it is recommended to update your config to set e.g. `tracesSampleRate: 0` instead, which will also enable tracing in v9.
44+
45+
The same applies to `tracesSampler` and `enableTracing`.
46+
47+
- **feat(core): Log warnings when returning `null` in `beforeSendSpan` ([#14433](https://github.com/getsentry/sentry-javascript/pull/14433))**
48+
49+
Currently, the `beforeSendSpan` option in `Sentry.init()` allows you to drop individual spans from a trace by returning `null` from the hook.
50+
Since this API lends itself to creating "gaps" inside traces, we decided to change how this API will work in the next major version.
51+
52+
With the next major version the `beforeSendSpan` API can only be used to mutate spans, but no longer to drop them.
53+
With this release the SDK will warn you if you are using this API to drop spans.
54+
Instead, it is recommended to configure instrumentation (i.e. integrations) directly to control what spans are created.
55+
56+
Additionally, with the next major version, root spans will also be passed to `beforeSendSpan`.
57+
58+
- **feat(utils): Deprecate `@sentry/utils` ([#14431](https://github.com/getsentry/sentry-javascript/pull/14431))**
59+
60+
With the next major version the `@sentry/utils` package will be merged into the `@sentry/core` package.
61+
It is therefore no longer recommended to use the `@sentry/utils` package.
62+
63+
- **feat(vue): Deprecate configuring Vue tracing options anywhere else other than through the `vueIntegration`'s `tracingOptions` option ([#14385](https://github.com/getsentry/sentry-javascript/pull/14385))**
64+
65+
Currently it is possible to configure tracing options in various places in the Sentry Vue SDK:
66+
67+
- In `Sentry.init()`
68+
- Inside `tracingOptions` in `Sentry.init()`
69+
- In the `vueIntegration()` options
70+
- Inside `tracingOptions` in the `vueIntegration()` options
71+
72+
Because this is a bit messy and confusing to document, the only recommended way to configure tracing options going forward is through the `tracingOptions` in the `vueIntegration()`.
73+
The other means of configuration will be removed in the next major version of the SDK.
74+
75+
- **feat: Deprecate `registerEsmLoaderHooks.include` and `registerEsmLoaderHooks.exclude` ([#14486](https://github.com/getsentry/sentry-javascript/pull/14486))**
76+
77+
Currently it is possible to define `registerEsmLoaderHooks.include` and `registerEsmLoaderHooks.exclude` options in `Sentry.init()` to only apply ESM loader hooks to a subset of modules.
78+
This API served as an escape hatch in case certain modules are incompatible with ESM loader hooks.
79+
80+
Since this API was introduced, a way was found to only wrap modules that there exists instrumentation for (meaning a vetted list).
81+
To only wrap modules that have instrumentation, it is recommended to instead set `registerEsmLoaderHooks.onlyIncludeInstrumentedModules` to `true`.
82+
83+
Note that `onlyIncludeInstrumentedModules: true` will become the default behavior in the next major version and the `registerEsmLoaderHooks` will no longer accept fine-grained options.
84+
85+
The following deprecations will _most likely_ not affect you unless you are building an SDK yourself:
86+
87+
- feat(core): Deprecate `arrayify` ([#14405](https://github.com/getsentry/sentry-javascript/pull/14405))
88+
- feat(core): Deprecate `flatten` ([#14454](https://github.com/getsentry/sentry-javascript/pull/14454))
89+
- feat(core): Deprecate `urlEncode` ([#14406](https://github.com/getsentry/sentry-javascript/pull/14406))
90+
- feat(core): Deprecate `validSeverityLevels` ([#14407](https://github.com/getsentry/sentry-javascript/pull/14407))
91+
- feat(core/utils): Deprecate `getNumberOfUrlSegments` ([#14458](https://github.com/getsentry/sentry-javascript/pull/14458))
92+
- feat(utils): Deprecate `memoBuilder`, `BAGGAGE_HEADER_NAME`, and `makeFifoCache` ([#14434](https://github.com/getsentry/sentry-javascript/pull/14434))
93+
- feat(utils/core): Deprecate `addRequestDataToEvent` and `extractRequestData` ([#14430](https://github.com/getsentry/sentry-javascript/pull/14430))
94+
95+
### Other Changes
96+
97+
- feat: Streamline `sentry-trace`, `baggage` and DSC handling ([#14364](https://github.com/getsentry/sentry-javascript/pull/14364))
98+
- feat(core): Further optimize debug ID parsing ([#14365](https://github.com/getsentry/sentry-javascript/pull/14365))
99+
- feat(node): Add `openTelemetryInstrumentations` option ([#14484](https://github.com/getsentry/sentry-javascript/pull/14484))
100+
- feat(nuxt): Add filter for not found source maps (devtools) ([#14437](https://github.com/getsentry/sentry-javascript/pull/14437))
101+
- feat(nuxt): Only delete public source maps ([#14438](https://github.com/getsentry/sentry-javascript/pull/14438))
102+
- fix(nextjs): Don't report `NEXT_REDIRECT` from browser ([#14440](https://github.com/getsentry/sentry-javascript/pull/14440))
103+
- perf(opentelemetry): Bucket spans for cleanup ([#14154](https://github.com/getsentry/sentry-javascript/pull/14154))
104+
105+
Work in this release was contributed by @NEKOYASAN and @fmorett. Thank you for your contributions!
14106

15107
## 8.40.0
16108

0 commit comments

Comments
 (0)