Skip to content

Commit fe51c92

Browse files
committed
Merge branch 'develop' into bo-firebase
2 parents f479c7a + fe639f4 commit fe51c92

File tree

274 files changed

+6399
-2138
lines changed

Some content is hidden

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

274 files changed

+6399
-2138
lines changed

.eslintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ module.exports = {
2121
'examples/**',
2222
'test/manual/**',
2323
'types/**',
24+
'scripts/*.js',
2425
],
2526
reportUnusedDisableDirectives: true,
2627
overrides: [
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
fail-on-severity: 'high'
2+
allow-ghsas:
3+
# dependency review does not allow specific file exclusions
4+
# we use an older version of NextJS in our tests and thus need to
5+
# exclude this
6+
# once our minimum supported version is over 14.1.1 this can be removed
7+
- GHSA-fr5h-rqp8-mj6g

.github/workflows/build.yml

Lines changed: 44 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -905,6 +905,7 @@ jobs:
905905
'nextjs-13',
906906
'nextjs-14',
907907
'nextjs-15',
908+
'nextjs-turbo',
908909
'nextjs-t3',
909910
'react-17',
910911
'react-19',
@@ -922,6 +923,7 @@ jobs:
922923
'tanstack-router',
923924
'generic-ts3.8',
924925
'node-fastify',
926+
'node-fastify-5',
925927
'node-hapi',
926928
'node-nestjs-basic',
927929
'node-nestjs-distributed-tracing',
@@ -1018,12 +1020,12 @@ jobs:
10181020

10191021
- name: Build E2E app
10201022
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
1021-
timeout-minutes: 5
1023+
timeout-minutes: 7
10221024
run: pnpm ${{ matrix.build-command || 'test:build' }}
10231025

10241026
- name: Run E2E test
10251027
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
1026-
timeout-minutes: 5
1028+
timeout-minutes: 10
10271029
run: pnpm test:assert
10281030

10291031
- name: Upload Playwright Traces
@@ -1035,6 +1037,21 @@ jobs:
10351037
overwrite: true
10361038
retention-days: 7
10371039

1040+
- name: Pre-process E2E Test Dumps
1041+
if: always()
1042+
run: |
1043+
node ./scripts/normalize-e2e-test-dump-transaction-events.js
1044+
1045+
- name: Upload E2E Test Event Dumps
1046+
uses: actions/upload-artifact@v4
1047+
if: always()
1048+
with:
1049+
name: E2E Test Dump (${{ matrix.label || matrix.test-application }})
1050+
path: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}/event-dumps
1051+
overwrite: true
1052+
retention-days: 7
1053+
if-no-files-found: ignore
1054+
10381055
- name: Upload test results to Codecov
10391056
if: cancelled() == false
10401057
continue-on-error: true
@@ -1074,10 +1091,6 @@ jobs:
10741091
'react-send-to-sentry',
10751092
'node-express-send-to-sentry',
10761093
'debug-id-sourcemaps',
1077-
'nextjs-app-dir',
1078-
'nextjs-13',
1079-
'nextjs-14',
1080-
'nextjs-15',
10811094
]
10821095
build-command:
10831096
- false
@@ -1116,6 +1129,12 @@ jobs:
11161129
- test-application: 'nextjs-15'
11171130
build-command: 'test:build-latest'
11181131
label: 'nextjs-15 (latest)'
1132+
- test-application: 'nextjs-turbo'
1133+
build-command: 'test:build-canary'
1134+
label: 'nextjs-turbo (canary)'
1135+
- test-application: 'nextjs-turbo'
1136+
build-command: 'test:build-latest'
1137+
label: 'nextjs-turbo (latest)'
11191138

11201139
steps:
11211140
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
@@ -1167,14 +1186,29 @@ jobs:
11671186

11681187
- name: Build E2E app
11691188
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
1170-
timeout-minutes: 5
1189+
timeout-minutes: 7
11711190
run: pnpm ${{ matrix.build-command || 'test:build' }}
11721191

11731192
- name: Run E2E test
11741193
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
1175-
timeout-minutes: 5
1194+
timeout-minutes: 10
11761195
run: pnpm ${{ matrix.assert-command || 'test:assert' }}
11771196

1197+
- name: Pre-process E2E Test Dumps
1198+
if: always()
1199+
run: |
1200+
node ./scripts/normalize-e2e-test-dump-transaction-events.js
1201+
1202+
- name: Upload E2E Test Event Dumps
1203+
uses: actions/upload-artifact@v4
1204+
if: always()
1205+
with:
1206+
name: E2E Test Dump (${{ matrix.label || matrix.test-application }})
1207+
path: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}/event-dumps
1208+
overwrite: true
1209+
retention-days: 7
1210+
if-no-files-found: ignore
1211+
11781212
- name: Deploy Astro to Cloudflare
11791213
uses: cloudflare/pages-action@v1
11801214
if: matrix.test-application == 'cloudflare-astro'
@@ -1273,12 +1307,12 @@ jobs:
12731307

12741308
- name: Build E2E app
12751309
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
1276-
timeout-minutes: 5
1310+
timeout-minutes: 7
12771311
run: yarn ${{ matrix.build-command || 'test:build' }}
12781312

12791313
- name: Run E2E test
12801314
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
1281-
timeout-minutes: 5
1315+
timeout-minutes: 10
12821316
run: yarn test:assert
12831317

12841318
job_required_jobs_passed:

.github/workflows/canary.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,12 @@ jobs:
9696
- test-application: 'nextjs-15'
9797
build-command: 'test:build-latest'
9898
label: 'nextjs-15 (latest)'
99+
- test-application: 'nextjs-turbo'
100+
build-command: 'test:build-canary'
101+
label: 'nextjs-turbo (canary)'
102+
- test-application: 'nextjs-turbo'
103+
build-command: 'test:build-latest'
104+
label: 'nextjs-turbo (latest)'
99105
- test-application: 'react-create-hash-router'
100106
build-command: 'test:build-canary'
101107
label: 'react-create-hash-router (canary)'
@@ -140,7 +146,7 @@ jobs:
140146

141147
- name: Build E2E app
142148
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
143-
timeout-minutes: 5
149+
timeout-minutes: 7
144150
run: yarn ${{ matrix.build-command }}
145151

146152
- name: Run E2E test

.github/workflows/external-contributors.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
&& github.event.pull_request.author_association != 'COLLABORATOR'
1919
&& github.event.pull_request.author_association != 'MEMBER'
2020
&& github.event.pull_request.author_association != 'OWNER'
21-
&& endsWith(github.actor, '[bot]') == false
21+
&& endsWith(github.event.pull_request.user.login, '[bot]') == false
2222
steps:
2323
- uses: actions/checkout@v4
2424
- name: Set up Node

.github/workflows/release-comment-issues.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,12 @@ jobs:
2020
run: echo "version=${{ github.event.inputs.version || github.event.release.tag_name }}" >> $GITHUB_OUTPUT
2121

2222
- name: Comment on linked issues that are mentioned in release
23-
if: steps.get_version.outputs.version != ''
23+
if: |
24+
steps.get_version.outputs.version != ''
25+
&& !contains(steps.get_version.outputs.version, '-beta.')
26+
&& !contains(steps.get_version.outputs.version, '-alpha.')
27+
&& !contains(steps.get_version.outputs.version, '-rc.')
28+
2429
uses: getsentry/release-comment-issues-gh-action@v1
2530
with:
2631
github_token: ${{ secrets.GITHUB_TOKEN }}

.size-limit.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,14 @@ module.exports = [
7979
path: 'packages/browser/build/npm/esm/index.js',
8080
import: createImport('init', 'browserTracingIntegration', 'replayIntegration', 'replayCanvasIntegration'),
8181
gzip: true,
82-
limit: '78 KB',
82+
limit: '78.1 KB',
8383
},
8484
{
8585
name: '@sentry/browser (incl. Tracing, Replay, Feedback)',
8686
path: 'packages/browser/build/npm/esm/index.js',
8787
import: createImport('init', 'browserTracingIntegration', 'replayIntegration', 'feedbackIntegration'),
8888
gzip: true,
89-
limit: '91 KB',
89+
limit: '95 KB',
9090
},
9191
{
9292
name: '@sentry/browser (incl. Tracing, Replay, Feedback, metrics)',
@@ -138,7 +138,7 @@ module.exports = [
138138
import: createImport('init', 'ErrorBoundary', 'reactRouterV6BrowserTracingIntegration'),
139139
ignore: ['react/jsx-runtime'],
140140
gzip: true,
141-
limit: '39 KB',
141+
limit: '39.05 KB',
142142
},
143143
// Vue SDK (ESM)
144144
{
@@ -224,7 +224,7 @@ module.exports = [
224224
import: createImport('init'),
225225
ignore: ['next/router', 'next/constants'],
226226
gzip: true,
227-
limit: '39 KB',
227+
limit: '39.1 KB',
228228
},
229229
// SvelteKit SDK (ESM)
230230
{

CHANGELOG.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,104 @@
1010

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

13+
## 8.35.0
14+
15+
### Beta release of the official Nuxt Sentry SDK
16+
17+
This release marks the beta release of the `@sentry/nuxt` Sentry SDK. For details on how to use it, check out the
18+
[Sentry Nuxt SDK README](https://github.com/getsentry/sentry-javascript/tree/develop/packages/nuxt). Please reach out on
19+
[GitHub](https://github.com/getsentry/sentry-javascript/issues/new/choose) if you have any feedback or concerns.
20+
21+
- **feat(nuxt): Make dynamic import() wrapping default
22+
([#13958](https://github.com/getsentry/sentry-javascript/pull/13958))** (BREAKING)
23+
- **feat(nuxt): Add Rollup plugin to wrap server entry with `import()`
24+
([#13945](https://github.com/getsentry/sentry-javascript/pull/13945))**
25+
26+
**It is no longer required to add a Node `--import` flag. Please update your start command to avoid initializing Sentry
27+
twice (BREAKING CHANGE).** The SDK will now apply modifications during the build of your application to allow for
28+
patching of libraries during runtime. If run into issues with this change, you can disable this behavior in your
29+
`nuxt.config.ts` and use the `--import` flag instead:
30+
31+
```js
32+
sentry: {
33+
dynamicImportForServerEntry: false;
34+
}
35+
```
36+
37+
- **feat(nuxt): Respect user-provided source map generation settings
38+
([#14020](https://github.com/getsentry/sentry-javascript/pull/14020))**
39+
40+
We now require you to explicitly enable sourcemaps for the clientside so that Sentry can un-minify your errors. We made
41+
this change so source maps aren't accidentally leaked to the public. Enable source maps on the client as follows:
42+
43+
```js
44+
export default defineNuxtConfig({
45+
sourcemap: {
46+
client: true,
47+
},
48+
});
49+
```
50+
51+
- feat(nuxt): Log server instrumentation might not work in dev
52+
([#14021](https://github.com/getsentry/sentry-javascript/pull/14021))
53+
- feat(nuxt): Add Http `responseHook` with `waitUntil`
54+
([#13986](https://github.com/getsentry/sentry-javascript/pull/13986))
55+
56+
### Important Changes
57+
58+
- **feat(vue): Add Pinia plugin ([#13841](https://github.com/getsentry/sentry-javascript/pull/13841))**
59+
60+
Support for [Pinia](https://pinia.vuejs.org/) is added in this release for `@sentry/vue`. To capture Pinia state data,
61+
add `createSentryPiniaPlugin()` to your Pinia store:
62+
63+
```javascript
64+
import { createPinia } from 'pinia';
65+
import { createSentryPiniaPlugin } from '@sentry/vue';
66+
67+
const pinia = createPinia();
68+
69+
pinia.use(createSentryPiniaPlugin());
70+
```
71+
72+
- **feat(node): Implement Sentry-specific http instrumentation
73+
([#13763](https://github.com/getsentry/sentry-javascript/pull/13763))**
74+
75+
This change introduces a new `SentryHttpInstrumentation` to handle non-span related HTTP instrumentation, allowing it to
76+
run side-by-side with OTel's `HttpInstrumentation`. This improves support for custom OTel setups and avoids conflicts
77+
with Sentry's instrumentation. Additionally, the `spans: false` option is reintroduced for `httpIntegration` to disable
78+
span emission while still allowing custom `HttpInstrumentation` instances (`httpIntegration({ spans: false })`).
79+
80+
- **feat(core): Make stream instrumentation opt-in
81+
([#13951](https://github.com/getsentry/sentry-javascript/pull/13951))**
82+
83+
This change adds a new option `trackFetchStreamPerformance` to the browser tracing integration. Only when set to `true`,
84+
Sentry will instrument streams via fetch.
85+
86+
### Other Changes
87+
88+
- feat(node): Expose `suppressTracing` API ([#13875](https://github.com/getsentry/sentry-javascript/pull/13875))
89+
- feat(replay): Do not log "timeout while trying to read resp body" as exception
90+
([#13965](https://github.com/getsentry/sentry-javascript/pull/13965))
91+
- chore(node): Bump `@opentelemetry/instrumentation-express` to `0.43.0`
92+
([#13948](https://github.com/getsentry/sentry-javascript/pull/13948))
93+
- chore(node): Bump `@opentelemetry/instrumentation-fastify` to `0.40.0`
94+
([#13983](https://github.com/getsentry/sentry-javascript/pull/13983))
95+
- fix: Ensure type for `init` is correct in meta frameworks
96+
([#13938](https://github.com/getsentry/sentry-javascript/pull/13938))
97+
- fix(core): `.set` the `sentry-trace` header instead of `.append`ing in fetch instrumentation
98+
([#13907](https://github.com/getsentry/sentry-javascript/pull/13907))
99+
- fix(module): keep version for node ESM package ([#13922](https://github.com/getsentry/sentry-javascript/pull/13922))
100+
- fix(node): Ensure `ignoreOutgoingRequests` of `httpIntegration` applies to breadcrumbs
101+
([#13970](https://github.com/getsentry/sentry-javascript/pull/13970))
102+
- fix(replay): Fix onError sampling when loading an expired buffered session
103+
([#13962](https://github.com/getsentry/sentry-javascript/pull/13962))
104+
- fix(replay): Ignore older performance entries when starting manually
105+
([#13969](https://github.com/getsentry/sentry-javascript/pull/13969))
106+
- perf(node): Truncate breadcrumb messages created by console integration
107+
([#14006](https://github.com/getsentry/sentry-javascript/pull/14006))
108+
109+
Work in this release was contributed by @ZakrepaShe and @zhiyan114. Thank you for your contributions!
110+
13111
## 8.34.0
14112

15113
### Important Changes

dev-packages/browser-integration-tests/fixtures/loader.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
// we define sentryOnLoad in template

0 commit comments

Comments
 (0)