Skip to content

Commit c6ebbce

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into feat/node-use-ServerRuntimeClient
2 parents 5ff28a6 + 5a42bd9 commit c6ebbce

File tree

285 files changed

+3121
-2742
lines changed

Some content is hidden

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

285 files changed

+3121
-2742
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -818,7 +818,7 @@ jobs:
818818
- name: Set up Node
819819
uses: actions/setup-node@v3
820820
with:
821-
node-version-file: 'package.json'
821+
node-version-file: 'packages/e2e-tests/package.json'
822822
- name: Restore caches
823823
uses: ./.github/actions/restore-cache
824824
env:
@@ -833,7 +833,7 @@ jobs:
833833
- name: Get node version
834834
id: versions
835835
run: |
836-
echo "echo node=$(jq -r '.volta.node' package.json)" >> $GITHUB_OUTPUT
836+
echo "echo node=$(jq -r '.volta.node' packages/e2e-tests/package.json)" >> $GITHUB_OUTPUT
837837
838838
- name: Validate Verdaccio
839839
run: yarn test:validate

.npmignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@
66
!/cjs/**/*
77
!/esm/**/*
88
!/types/**/*
9+
!/types-ts3.8/**/*

CHANGELOG.md

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

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

7+
## 7.68.0
8+
9+
- feat(browser): Add `BroadcastChannel` and `SharedWorker` to TryCatch EventTargets (#8943)
10+
- feat(core): Add `name` to `Span` (#8949)
11+
- feat(core): Add `ServerRuntimeClient` (#8930)
12+
- fix(node-experimental): Ensure `span.finish()` works as expected (#8947)
13+
- fix(remix): Add new sourcemap-upload script files to prepack assets. (#8948)
14+
- fix(publish): Publish downleveled TS3.8 types and fix types path (#8954)
15+
16+
## 7.67.0
17+
18+
### Important Changes
19+
20+
- **feat: Mark errors caught by the SDK as unhandled**
21+
- feat(browser): Mark errors caught from `TryCatch` integration as unhandled (#8890)
22+
- feat(integrations): Mark errors caught from `HttpClient` and `CaptureConsole` integrations as unhandled (#8891)
23+
- feat(nextjs): Mark errors caught from NextJS wrappers as unhandled (#8893)
24+
- feat(react): Mark errors captured from ErrorBoundary as unhandled (#8914)
25+
- feat(remix): Add debugid injection and map deletion to sourcemaps script (#8814)
26+
- feat(remix): Mark errors caught from Remix instrumentation as unhandled (#8894)
27+
- feat(serverless): Mark errors caught in Serverless handlers as unhandled (#8907)
28+
- feat(vue): Mark errors caught by Vue wrappers as unhandled (#8905)
29+
30+
This release fixes inconsistent behaviour of when our SDKs classify captured errors as unhandled.
31+
Previously, some of our instrumentations correctly set unhandled, while others set handled.
32+
Going forward, all errors caught automatically from our SDKs will be marked as unhandled.
33+
If you manually capture errors (e.g. by calling `Sentry.captureException`), your errors will continue to be reported as handled.
34+
35+
This change might lead to a decrease in reported crash-free sessions and consequently in your release health score.
36+
If you have concerns about this, feel free to open an issue.
37+
38+
### Other Changes
39+
40+
- feat(node-experimental): Implement new performance APIs (#8911)
41+
- feat(node-experimental): Sync OTEL context with Sentry AsyncContext (#8797)
42+
- feat(replay): Allow to configure `maxReplayDuration` (#8769)
43+
- fix(browser): Add replay and profiling options to `BrowserClientOptions` (#8921)
44+
- fix(browser): Check for existence of instrumentation targets (#8939)
45+
- fix(nextjs): Don't re-export default in route handlers (#8924)
46+
- fix(node): Improve mysql integration (#8923)
47+
- fix(remix): Guard against missing default export for server instrument (#8909)
48+
- ref(browser): Deprecate top-level `wrap` function (#8927)
49+
- ref(node-otel): Avoid exporting internals & refactor attribute adding (#8920)
50+
51+
Work in this release contributed by @SorsOps. Thank you for your contribution!
52+
753
## 7.66.0
854

955
- fix: Defer tracing decision to downstream SDKs when using SDK without performance (#8839)

MIGRATION.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Deprecations in 7.x
22

3+
You can use the **Experimental** [@sentry/migr8](https://www.npmjs.com/package/@sentry/migr8) to automatically update your SDK usage and fix most deprecations. This requires Node 18+.
4+
5+
```bash
6+
npx @sentry/migr8@latest
7+
```
8+
9+
This will let you select which updates to run, and automatically update your code. Make sure to still review all code changes!
10+
311
## Deprecate `timestampWithMs` export - #7878
412

513
The `timestampWithMs` util is deprecated in favor of using `timestampInSeconds`.

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
3-
"version": "7.66.0",
3+
"version": "7.68.0",
44
"npmClient": "yarn"
55
}

packages/angular-ivy/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/angular-ivy",
3-
"version": "7.66.0",
3+
"version": "7.68.0",
44
"description": "Official Sentry SDK for Angular with full Ivy Support",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/angular-ivy",
@@ -21,9 +21,9 @@
2121
"rxjs": "^6.5.5 || ^7.x"
2222
},
2323
"dependencies": {
24-
"@sentry/browser": "7.66.0",
25-
"@sentry/types": "7.66.0",
26-
"@sentry/utils": "7.66.0",
24+
"@sentry/browser": "7.68.0",
25+
"@sentry/types": "7.68.0",
26+
"@sentry/utils": "7.68.0",
2727
"tslib": "^2.4.1"
2828
},
2929
"devDependencies": {

packages/angular/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/angular",
3-
"version": "7.66.0",
3+
"version": "7.68.0",
44
"description": "Official Sentry SDK for Angular",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/angular",
@@ -21,9 +21,9 @@
2121
"rxjs": "^6.5.5 || ^7.x"
2222
},
2323
"dependencies": {
24-
"@sentry/browser": "7.66.0",
25-
"@sentry/types": "7.66.0",
26-
"@sentry/utils": "7.66.0",
24+
"@sentry/browser": "7.68.0",
25+
"@sentry/types": "7.68.0",
26+
"@sentry/utils": "7.68.0",
2727
"tslib": "^2.4.1"
2828
},
2929
"devDependencies": {

packages/angular/test/errorhandler.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,7 @@ describe('SentryErrorHandler', () => {
532532
}),
533533
};
534534

535-
// @ts-ignore this is a minmal hub, we're missing a few props but that's ok
535+
// @ts-expect-error this is a minmal hub, we're missing a few props but that's ok
536536
jest.spyOn(SentryBrowser, 'getCurrentHub').mockImplementationOnce(() => {
537537
return { getClient: () => client };
538538
});

packages/browser-integration-tests/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/browser-integration-tests",
3-
"version": "7.66.0",
3+
"version": "7.68.0",
44
"main": "index.js",
55
"license": "MIT",
66
"engines": {

packages/browser-integration-tests/suites/integrations/httpclient/axios/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ sentryTest(
3838
value: 'HTTP Client Error with status code: 500',
3939
mechanism: {
4040
type: 'http.client',
41-
handled: true,
41+
handled: false,
4242
},
4343
},
4444
],

packages/browser-integration-tests/suites/integrations/httpclient/fetch/simple/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ sentryTest(
3838
value: 'HTTP Client Error with status code: 500',
3939
mechanism: {
4040
type: 'http.client',
41-
handled: true,
41+
handled: false,
4242
},
4343
},
4444
],

packages/browser-integration-tests/suites/integrations/httpclient/fetch/withRequest/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ sentryTest('works with a Request passed in', async ({ getLocalTestPath, page })
3636
value: 'HTTP Client Error with status code: 500',
3737
mechanism: {
3838
type: 'http.client',
39-
handled: true,
39+
handled: false,
4040
},
4141
},
4242
],

packages/browser-integration-tests/suites/integrations/httpclient/fetch/withRequestAndBodyAndOptions/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ sentryTest(
3838
value: 'HTTP Client Error with status code: 500',
3939
mechanism: {
4040
type: 'http.client',
41-
handled: true,
41+
handled: false,
4242
},
4343
},
4444
],

packages/browser-integration-tests/suites/integrations/httpclient/fetch/withRequestAndOptions/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ sentryTest('works with a Request (without body) & options passed in', async ({ g
3636
value: 'HTTP Client Error with status code: 500',
3737
mechanism: {
3838
type: 'http.client',
39-
handled: true,
39+
handled: false,
4040
},
4141
},
4242
],

packages/browser-integration-tests/suites/integrations/httpclient/xhr/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ sentryTest(
3838
value: 'HTTP Client Error with status code: 500',
3939
mechanism: {
4040
type: 'http.client',
41-
handled: true,
41+
handled: false,
4242
},
4343
},
4444
],

packages/browser-integration-tests/suites/public-api/instrumentation/eventListener/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ sentryTest(
1717
value: 'event_listener_error',
1818
mechanism: {
1919
type: 'instrument',
20-
handled: true,
20+
handled: false,
2121
},
2222
stacktrace: {
2323
frames: expect.any(Array),

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ sentryTest(
6868
expect(
6969
await page.evaluate(() => {
7070
const replayIntegration = (window as unknown as Window & { Replay: InstanceType<typeof Replay> }).Replay;
71-
// @ts-ignore private
71+
// @ts-expect-error private
7272
const replay = replayIntegration._replay;
7373
replayIntegration.startBuffering();
7474
return replay.isEnabled();
@@ -210,7 +210,7 @@ sentryTest(
210210
expect(
211211
await page.evaluate(() => {
212212
const replayIntegration = (window as unknown as Window & { Replay: InstanceType<typeof Replay> }).Replay;
213-
// @ts-ignore private
213+
// @ts-expect-error private
214214
const replay = replayIntegration._replay;
215215
replayIntegration.startBuffering();
216216
return replay.isEnabled();

packages/browser-integration-tests/suites/replay/extendNetworkBreadcrumbs/fetch/captureRequestBody/test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ sentryTest('captures text request body', async ({ getLocalTestPath, page, browse
4141
method: 'POST',
4242
body: 'input body',
4343
}).then(() => {
44-
// @ts-ignore Sentry is a global
44+
// @ts-expect-error Sentry is a global
4545
Sentry.captureException('test error');
4646
});
4747
/* eslint-enable */
@@ -120,7 +120,7 @@ sentryTest('captures JSON request body', async ({ getLocalTestPath, page, browse
120120
method: 'POST',
121121
body: '{"foo":"bar"}',
122122
}).then(() => {
123-
// @ts-ignore Sentry is a global
123+
// @ts-expect-error Sentry is a global
124124
Sentry.captureException('test error');
125125
});
126126
/* eslint-enable */
@@ -203,7 +203,7 @@ sentryTest('captures non-text request body', async ({ getLocalTestPath, page, br
203203
method: 'POST',
204204
body: body,
205205
}).then(() => {
206-
// @ts-ignore Sentry is a global
206+
// @ts-expect-error Sentry is a global
207207
Sentry.captureException('test error');
208208
});
209209
/* eslint-enable */
@@ -282,7 +282,7 @@ sentryTest('captures text request body when matching relative URL', async ({ get
282282
method: 'POST',
283283
body: 'input body',
284284
}).then(() => {
285-
// @ts-ignore Sentry is a global
285+
// @ts-expect-error Sentry is a global
286286
Sentry.captureException('test error');
287287
});
288288
/* eslint-enable */
@@ -359,7 +359,7 @@ sentryTest('does not capture request body when URL does not match', async ({ get
359359
method: 'POST',
360360
body: 'input body',
361361
}).then(() => {
362-
// @ts-ignore Sentry is a global
362+
// @ts-expect-error Sentry is a global
363363
Sentry.captureException('test error');
364364
});
365365
/* eslint-enable */

packages/browser-integration-tests/suites/replay/extendNetworkBreadcrumbs/fetch/captureRequestHeaders/test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ sentryTest('handles empty/missing request headers', async ({ getLocalTestPath, p
3838
fetch('http://localhost:7654/foo', {
3939
method: 'POST',
4040
}).then(() => {
41-
// @ts-ignore Sentry is a global
41+
// @ts-expect-error Sentry is a global
4242
Sentry.captureException('test error');
4343
});
4444
/* eslint-enable */
@@ -117,7 +117,7 @@ sentryTest('captures request headers as POJO', async ({ getLocalTestPath, page,
117117
'X-Test-Header': 'test-value',
118118
},
119119
}).then(() => {
120-
// @ts-ignore Sentry is a global
120+
// @ts-expect-error Sentry is a global
121121
Sentry.captureException('test error');
122122
});
123123
/* eslint-enable */
@@ -201,7 +201,7 @@ sentryTest('captures request headers on Request', async ({ getLocalTestPath, pag
201201
});
202202
/* eslint-disable */
203203
fetch(request).then(() => {
204-
// @ts-ignore Sentry is a global
204+
// @ts-expect-error Sentry is a global
205205
Sentry.captureException('test error');
206206
});
207207
/* eslint-enable */
@@ -284,7 +284,7 @@ sentryTest('captures request headers as Headers instance', async ({ getLocalTest
284284
method: 'POST',
285285
headers,
286286
}).then(() => {
287-
// @ts-ignore Sentry is a global
287+
// @ts-expect-error Sentry is a global
288288
Sentry.captureException('test error');
289289
});
290290
/* eslint-enable */
@@ -367,7 +367,7 @@ sentryTest('does not captures request headers if URL does not match', async ({ g
367367
'X-Test-Header': 'test-value',
368368
},
369369
}).then(() => {
370-
// @ts-ignore Sentry is a global
370+
// @ts-expect-error Sentry is a global
371371
Sentry.captureException('test error');
372372
});
373373
/* eslint-enable */

packages/browser-integration-tests/suites/replay/extendNetworkBreadcrumbs/fetch/captureRequestSize/test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ sentryTest('captures request body size when body is sent', async ({ getLocalTest
3939
method: 'POST',
4040
body: '{"foo":"bar"}',
4141
}).then(() => {
42-
// @ts-ignore Sentry is a global
42+
// @ts-expect-error Sentry is a global
4343
Sentry.captureException('test error');
4444
});
4545
/* eslint-enable */
@@ -125,7 +125,7 @@ sentryTest('captures request size from non-text request body', async ({ getLocal
125125
method: 'POST',
126126
body: blob,
127127
}).then(() => {
128-
// @ts-ignore Sentry is a global
128+
// @ts-expect-error Sentry is a global
129129
Sentry.captureException('test error');
130130
});
131131
/* eslint-enable */

packages/browser-integration-tests/suites/replay/extendNetworkBreadcrumbs/fetch/captureResponseBody/test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ sentryTest('captures text response body', async ({ getLocalTestPath, page, brows
4141
fetch('http://localhost:7654/foo', {
4242
method: 'POST',
4343
}).then(() => {
44-
// @ts-ignore Sentry is a global
44+
// @ts-expect-error Sentry is a global
4545
Sentry.captureException('test error');
4646
});
4747
/* eslint-enable */
@@ -122,7 +122,7 @@ sentryTest('captures JSON response body', async ({ getLocalTestPath, page, brows
122122
fetch('http://localhost:7654/foo', {
123123
method: 'POST',
124124
}).then(() => {
125-
// @ts-ignore Sentry is a global
125+
// @ts-expect-error Sentry is a global
126126
Sentry.captureException('test error');
127127
});
128128
/* eslint-enable */
@@ -203,7 +203,7 @@ sentryTest('captures non-text response body', async ({ getLocalTestPath, page, b
203203
fetch('http://localhost:7654/foo', {
204204
method: 'POST',
205205
}).then(() => {
206-
// @ts-ignore Sentry is a global
206+
// @ts-expect-error Sentry is a global
207207
Sentry.captureException('test error');
208208
});
209209
/* eslint-enable */
@@ -282,7 +282,7 @@ sentryTest('does not capture response body when URL does not match', async ({ ge
282282
fetch('http://localhost:7654/bar', {
283283
method: 'POST',
284284
}).then(() => {
285-
// @ts-ignore Sentry is a global
285+
// @ts-expect-error Sentry is a global
286286
Sentry.captureException('test error');
287287
});
288288
/* eslint-enable */

0 commit comments

Comments
 (0)