Skip to content

Commit 818505c

Browse files
committed
Merge branch 'develop' into feat/local-variables-async-inspector
2 parents ea2dc60 + 66ea1e6 commit 818505c

File tree

96 files changed

+1504
-1130
lines changed

Some content is hidden

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

96 files changed

+1504
-1130
lines changed

.size-limit.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ module.exports = [
6060
name: '@sentry/browser (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped)',
6161
path: 'packages/browser/build/bundles/bundle.tracing.replay.feedback.min.js',
6262
gzip: true,
63-
limit: '75 KB',
63+
limit: '90 KB',
6464
},
6565
{
6666
name: '@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped)',
@@ -101,7 +101,7 @@ module.exports = [
101101
path: 'packages/browser/build/bundles/bundle.min.js',
102102
gzip: false,
103103
brotli: false,
104-
limit: '70 KB',
104+
limit: '80 KB',
105105
},
106106

107107
// Browser CDN bundles (ES5)
@@ -110,7 +110,7 @@ module.exports = [
110110
name: '@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped)',
111111
path: 'packages/browser/build/bundles/bundle.tracing.es5.min.js',
112112
gzip: true,
113-
limit: '35 KB',
113+
limit: '40 KB',
114114
},
115115

116116
// React

.vscode/extensions.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// See http://go.microsoft.com/fwlink/?LinkId=827846
33
// for the documentation about the extensions.json format
44
"recommendations": [
5+
"esbenp.prettier-vscode",
56
"biomejs.biome",
67
"dbaeumer.vscode-eslint",
78
"augustocdias.tasks-shell-input",

.vscode/settings.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@
2020
"editor.formatOnPaste": false,
2121
"editor.formatOnSave": false
2222
},
23+
"[markdown]": {
24+
"editor.defaultFormatter": "esbenp.prettier-vscode"
25+
},
26+
"[css]": {
27+
"editor.defaultFormatter": "esbenp.prettier-vscode"
28+
},
2329
"yaml.schemas": {
2430
"https://json.schemastore.org/github-workflow.json": ".github/workflows/**.yml"
2531
},

CHANGELOG.md

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

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

7+
## 7.91.0
8+
9+
### Important Changes
10+
11+
- **feat: Add server runtime metrics aggregator (#9894)**
12+
13+
The release adds alpha support for [Sentry developer metrics](https://github.com/getsentry/sentry/discussions/58584) in the server runtime SDKs (`@sentry/node`, `@sentry/deno`, `@sentry/nextjs` server-side, etc.). Via the newly introduced APIs, you can now flush metrics directly to Sentry.
14+
15+
To enable capturing metrics, you first need to add the `metricsAggregator` experiment to your `Sentry.init` call.
16+
17+
```js
18+
Sentry.init({
19+
dsn: '__DSN__',
20+
_experiments: {
21+
metricsAggregator: true,
22+
},
23+
});
24+
```
25+
26+
Then you'll be able to add `counters`, `sets`, `distributions`, and `gauges` under the `Sentry.metrics` namespace.
27+
28+
```js
29+
// Add 4 to a counter named `hits`
30+
Sentry.metrics.increment('hits', 4);
31+
32+
// Add 2 to gauge named `parallel_requests`, tagged with `type: "a"`
33+
Sentry.metrics.gauge('parallel_requests', 2, { tags: { type: 'a' } });
34+
35+
// Add 4.6 to a distribution named `response_time` with unit seconds
36+
Sentry.metrics.distribution('response_time', 4.6, { unit: 'seconds' });
37+
38+
// Add 2 to a set named `valuable.ids`
39+
Sentry.metrics.set('valuable.ids', 2);
40+
```
41+
42+
- **feat(node): Rework ANR to use worker script via an integration (#9945)**
43+
44+
The [ANR tracking integration for Node](https://docs.sentry.io/platforms/node/configuration/application-not-responding/) has been reworked to use an integration. ANR tracking now requires a minimum Node version of 16 or higher. Previously you had to call `Sentry.enableANRDetection` before running your application, now you can simply add the `Anr` integration to your `Sentry.init` call.
45+
46+
```js
47+
import * as Sentry from '@sentry/node';
48+
49+
Sentry.init({
50+
dsn: 'https://[email protected]/1337',
51+
integrations: [new Sentry.Integrations.Anr({ captureStackTrace: true, anrThreshold: 200 })],
52+
});
53+
```
54+
55+
### Other Changes
56+
57+
- feat(breadcrumbs): Send component names on UI breadcrumbs (#9946)
58+
- feat(core): Add `getGlobalScope()` method (#9920)
59+
- feat(core): Add `getIsolationScope()` method (#9957)
60+
- feat(core): Add `span.end()` to replace `span.finish()` (#9954)
61+
- feat(core): Ensure `startSpan` & `startSpanManual` fork scope (#9955)
62+
- feat(react): Send component name on spans (#9949)
63+
- feat(replay): Send component names in replay breadcrumbs (#9947)
64+
- feat(sveltekit): Add options to configure fetch instrumentation script for CSP (#9969)
65+
- feat(tracing): Send component name on interaction spans (#9948)
66+
- feat(utils): Add function to extract relevant component name (#9921)
67+
- fix(core): Rethrow caught promise rejections in `startSpan`, `startSpanManual`, `trace` (#9958)
68+
769
## 7.90.0
870

971
- feat(replay): Change to use preset quality values (#9903)

docs/event-sending.md

Lines changed: 80 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -4,95 +4,95 @@ This document gives an outline for how event sending works, and which which plac
44

55
## Errors
66

7-
* `hub.captureException()`
8-
* `client.captureException()` (see baseclient)
9-
* `checkOrSetAlreadyCaught()`
10-
* `baseclient._process()`
11-
* `baseclient.eventFromException()`
12-
* `baseclient._captureEvent()`
13-
* `baseclient._processEvent()`
14-
* `baseclient._prepareEvent()`
15-
* `baseclient._applyClientOptions()`
16-
* `baseclient._applyIntegrationsMetadata()`
17-
* `scope.applyToEvent()`
18-
* `baseclient._normalizeEvent()`
19-
* `baseclient._updateSessionFromEvent()`
20-
* `baseclient.sendEvent()`
21-
* `createEventEnvelope()`
22-
* `getSdkMetadataForEnvelopeHeader()`
23-
* `enhanceEventWithSdkInfo()`
24-
* `createEventEnvelopeHeaders()`
25-
* `createEnvelope()`
26-
* `addItemToEnvelope()`
27-
* `createAttachmentEnvelopeItem()`
28-
* `baseclient._sendEnvelope()`
29-
* `transport.send()`
7+
- `hub.captureException()`
8+
- `client.captureException()` (see baseclient)
9+
- `checkOrSetAlreadyCaught()`
10+
- `baseclient._process()`
11+
- `baseclient.eventFromException()`
12+
- `baseclient._captureEvent()`
13+
- `baseclient._processEvent()`
14+
- `baseclient._prepareEvent()`
15+
- `baseclient._applyClientOptions()`
16+
- `baseclient._applyIntegrationsMetadata()`
17+
- `scope.applyToEvent()`
18+
- `baseclient._normalizeEvent()`
19+
- `baseclient._updateSessionFromEvent()`
20+
- `baseclient.sendEvent()`
21+
- `createEventEnvelope()`
22+
- `getSdkMetadataForEnvelopeHeader()`
23+
- `enhanceEventWithSdkInfo()`
24+
- `createEventEnvelopeHeaders()`
25+
- `createEnvelope()`
26+
- `addItemToEnvelope()`
27+
- `createAttachmentEnvelopeItem()`
28+
- `baseclient._sendEnvelope()`
29+
- `transport.send()`
3030

3131
## Transactions
3232

33-
* `transaction.finish()`
34-
* `transaction.getTraceContext()`
35-
* `transaction.getDynamicSamplingContext()`
36-
* `hub.captureEvent()`
37-
* `client.captureEvent()` (see baseclient)
38-
* `checkOrSetAlreadyCaught()`
39-
* `baseclient._process()`
40-
* `baseclient.eventFromException()`
41-
* `baseclient._captureEvent()`
42-
* `baseclient._processEvent()`
43-
* `baseclient._prepareEvent()`
44-
* `baseclient._applyClientOptions()`
45-
* `baseclient._applyIntegrationsMetadata()`
46-
* `scope.applyToEvent()`
47-
* `baseclient._normalizeEvent()`
48-
* `baseclient._updateSessionFromEvent()`
49-
* `baseclient.sendEvent()`
50-
* `createEventEnvelope()`
51-
* `getSdkMetadataForEnvelopeHeader()`
52-
* `enhanceEventWithSdkInfo()`
53-
* `createEventEnvelopeHeaders()`
54-
* `createEnvelope()`
55-
* `addItemToEnvelope()`
56-
* `createAttachmentEnvelopeItem()`
57-
* `baseclient._sendEnvelope()`
58-
* `transport.send()`
33+
- `transaction.finish()`
34+
- `transaction.getTraceContext()`
35+
- `transaction.getDynamicSamplingContext()`
36+
- `hub.captureEvent()`
37+
- `client.captureEvent()` (see baseclient)
38+
- `checkOrSetAlreadyCaught()`
39+
- `baseclient._process()`
40+
- `baseclient.eventFromException()`
41+
- `baseclient._captureEvent()`
42+
- `baseclient._processEvent()`
43+
- `baseclient._prepareEvent()`
44+
- `baseclient._applyClientOptions()`
45+
- `baseclient._applyIntegrationsMetadata()`
46+
- `scope.applyToEvent()`
47+
- `baseclient._normalizeEvent()`
48+
- `baseclient._updateSessionFromEvent()`
49+
- `baseclient.sendEvent()`
50+
- `createEventEnvelope()`
51+
- `getSdkMetadataForEnvelopeHeader()`
52+
- `enhanceEventWithSdkInfo()`
53+
- `createEventEnvelopeHeaders()`
54+
- `createEnvelope()`
55+
- `addItemToEnvelope()`
56+
- `createAttachmentEnvelopeItem()`
57+
- `baseclient._sendEnvelope()`
58+
- `transport.send()`
5959

6060
## Sessions
6161

62-
* `hub.captureSession()`
63-
* `hub.endSession()`
64-
* `closeSession()`
65-
* `hub._sendSessionUpdate()`
66-
* `scope.setSession()`
67-
* `hub._sendSessionUpdate()`
68-
* `client.captureSession()` (see baseclient)
69-
* `baseclient.sendSession()`
70-
* `createSessionEnvelope()`
71-
* `getSdkMetadataForEnvelopeHeader()`
72-
* `createEnvelope()`
73-
* `baseclient._sendEnvelope()`
74-
* `transport.send()`
75-
* `updateSession()`
62+
- `hub.captureSession()`
63+
- `hub.endSession()`
64+
- `closeSession()`
65+
- `hub._sendSessionUpdate()`
66+
- `scope.setSession()`
67+
- `hub._sendSessionUpdate()`
68+
- `client.captureSession()` (see baseclient)
69+
- `baseclient.sendSession()`
70+
- `createSessionEnvelope()`
71+
- `getSdkMetadataForEnvelopeHeader()`
72+
- `createEnvelope()`
73+
- `baseclient._sendEnvelope()`
74+
- `transport.send()`
75+
- `updateSession()`
7676

7777
## Replay (WIP)
7878

79-
* `replay.sendReplayRequest()`
80-
* `createRecordingData()`
81-
* `prepareReplayEvent()`
82-
* `client._prepareEvent()` (see baseclient)
83-
* `baseclient._applyClientOptions()`
84-
* `baseclient._applyIntegrationsMetadata()`
85-
* `scope.applyToEvent()`
86-
* `baseclient._normalizeEvent()`
87-
* `createReplayEnvelope()`
88-
* `createEnvelope()`
89-
* `transport.send()`
79+
- `replay.sendReplayRequest()`
80+
- `createRecordingData()`
81+
- `prepareReplayEvent()`
82+
- `client._prepareEvent()` (see baseclient)
83+
- `baseclient._applyClientOptions()`
84+
- `baseclient._applyIntegrationsMetadata()`
85+
- `scope.applyToEvent()`
86+
- `baseclient._normalizeEvent()`
87+
- `createReplayEnvelope()`
88+
- `createEnvelope()`
89+
- `transport.send()`
9090

9191
## Client Reports
9292

93-
* `browser.client.constructor()`
94-
* `browser.client._flushOutcomes()`
95-
* `getEnvelopeEndpointWithUrlEncodedAuth()`
96-
* `createClientReportEnvelope()`
97-
* `baseclient._sendEnvelope()`
98-
* `transport.send()`
93+
- `browser.client.constructor()`
94+
- `browser.client._flushOutcomes()`
95+
- `getEnvelopeEndpointWithUrlEncodedAuth()`
96+
- `createClientReportEnvelope()`
97+
- `baseclient._sendEnvelope()`
98+
- `transport.send()`

docs/gitflow.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ We use [Gitflow](https://docs.github.com/en/get-started/quickstart/github-flow)
44

55
## Summary
66

7-
* Ongoing work happens on the `develop` branch
8-
* Any PRs (features, ...) are implemented as PRs against `develop`
9-
* When we are ready to release, we merge develop into master, create a release there, then merge master back into develop
10-
* Whatever is currently on `master` can be considered the last released state of the SDK
11-
* Never merge directly into `master` (unless we want e.g. an emergency bugfix release)
7+
- Ongoing work happens on the `develop` branch
8+
- Any PRs (features, ...) are implemented as PRs against `develop`
9+
- When we are ready to release, we merge develop into master, create a release there, then merge master back into
10+
develop
11+
- Whatever is currently on `master` can be considered the last released state of the SDK
12+
- Never merge directly into `master` (unless we want e.g. an emergency bugfix release)
1213

1314
![gitflow-chart](./assets/gitflow-chart.png)

0 commit comments

Comments
 (0)