Skip to content

Commit 0405ab0

Browse files
committed
Merge branch 'develop' into ab/bump-otel
# Conflicts: # dev-packages/node-core-integration-tests/package.json # packages/aws-serverless/package.json # packages/nestjs/package.json # packages/node-core/package.json # packages/node/package.json # packages/react-router/package.json # packages/tanstackstart-react/package.json # packages/vercel-edge/package.json Agent transcript: https://claudescope.sentry.dev/share/TCryj2s1bu6Aw7QWt9CGGKdBk-VdfS-1PmBfYchAt4A
2 parents b182a85 + 5c04c6c commit 0405ab0

File tree

231 files changed

+3821
-878
lines changed

Some content is hidden

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

231 files changed

+3821
-878
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ jobs:
308308
with:
309309
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
310310
- name: Lint source files
311-
run: yarn lint:oxlint
311+
run: yarn lint
312312
- name: Lint for ES compatibility
313313
run: yarn lint:es-compatibility
314314

.github/workflows/canary.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ jobs:
6969
fail-fast: false
7070
matrix:
7171
include:
72-
- test-application: 'angular-20'
72+
- test-application: 'angular-21'
7373
build-command: 'test:build-canary'
74-
label: 'angular-20 (next)'
74+
label: 'angular-21 (next)'
7575
- test-application: 'create-react-app'
7676
build-command: 'test:build-canary'
7777
label: 'create-react-app (canary)'
@@ -130,7 +130,6 @@ jobs:
130130
with:
131131
version: 9.15.9
132132
- name: Set up Node
133-
if: matrix.test-application != 'angular-20'
134133
uses: actions/setup-node@v6
135134
with:
136135
node-version-file: 'dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}/package.json'

.oxlintrc.json

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "./node_modules/oxlint/configuration_schema.json",
3-
"plugins": ["typescript", "import", "jsdoc", "jest", "vitest"],
3+
"plugins": ["typescript", "import", "jsdoc", "vitest"],
44
"jsPlugins": [
55
{
66
"name": "sdk",
@@ -9,6 +9,11 @@
99
],
1010
"categories": {},
1111
"rules": {
12+
"no-unused-vars": [
13+
"warn",
14+
{ "argsIgnorePattern": "^_", "varsIgnorePattern": "^_", "caughtErrorsIgnorePattern": "^_" }
15+
],
16+
1217
// === Base rules from eslint-config-sdk/base.js ===
1318
"no-console": "error",
1419
"no-alert": "error",
@@ -27,28 +32,18 @@
2732
"import/namespace": "off",
2833
"import/no-unresolved": "off",
2934

30-
// === Jest/Vitest rules ===
31-
"jest/no-focused-tests": "error",
32-
"jest/no-disabled-tests": "error",
33-
3435
// === Rules turned off (not enforced in ESLint or causing false positives) ===
3536
"no-control-regex": "off",
3637
"jsdoc/check-tag-names": "off",
3738
"jsdoc/require-yields": "off",
3839
"no-useless-rename": "off",
3940
"no-constant-binary-expression": "off",
40-
"jest/no-conditional-expect": "off",
41-
"jest/expect-expect": "off",
42-
"jest/no-standalone-expect": "off",
43-
"jest/require-to-throw-message": "off",
44-
"jest/valid-title": "off",
45-
"jest/no-export": "off",
46-
"jest/valid-describe-callback": "off",
4741
"vitest/hoisted-apis-on-top": "off",
4842
"vitest/no-conditional-tests": "off",
4943
"no-unsafe-optional-chaining": "off",
5044
"no-eval": "off",
5145
"no-import-assign": "off",
46+
"typescript/no-duplicate-type-constituents": "off",
5247

5348
// === Custom SDK rules (via JS plugin) ===
5449
"sdk/no-eq-empty": "error"
@@ -61,17 +56,17 @@
6156
"typescript/consistent-type-imports": "error",
6257
"typescript/no-unnecessary-type-assertion": "error",
6358
"typescript/prefer-for-of": "error",
64-
// "typescript/no-floating-promises": ["error", { "ignoreVoid": false }],
59+
"typescript/no-floating-promises": ["error", { "ignoreVoid": true }],
6560
"typescript/no-dynamic-delete": "error",
66-
// "typescript/no-unsafe-member-access": "error",
61+
"typescript/no-unsafe-member-access": "error",
6762
"typescript/unbound-method": "error",
6863
"typescript/no-explicit-any": "error",
6964
"typescript/no-empty-function": "off",
70-
71-
// === FIXME: Rules to turn back as error ===
72-
"typescript/prefer-optional-chain": "warn",
73-
"typescript/no-floating-promises": "warn",
74-
"typescript/no-unsafe-member-access": "warn"
65+
"typescript/prefer-optional-chain": ["error"],
66+
"typescript/no-redundant-type-constituents": "off",
67+
"typescript/restrict-template-expressions": "off",
68+
"typescript/await-thenable": "warn",
69+
"typescript/no-base-to-string": "warn"
7570
}
7671
},
7772
{
@@ -111,7 +106,12 @@
111106
"typescript/no-floating-promises": "off",
112107
"typescript/unbound-method": "off",
113108
"max-lines": "off",
114-
"complexity": "off"
109+
"complexity": "off",
110+
"typescript/prefer-optional-chain": "off",
111+
"typescript/no-misused-spread": "off",
112+
"typescript/require-array-sort-compare": "off",
113+
"typescript/no-base-to-string": "off",
114+
"typescript/await-thenable": "off"
115115
}
116116
},
117117
{

.size-limit.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ module.exports = [
8282
path: 'packages/browser/build/npm/esm/prod/index.js',
8383
import: createImport('init', 'browserTracingIntegration', 'replayIntegration', 'replayCanvasIntegration'),
8484
gzip: true,
85-
limit: '86 KB',
85+
limit: '87 KB',
8686
},
8787
{
8888
name: '@sentry/browser (incl. Tracing, Replay, Feedback)',
@@ -124,7 +124,7 @@ module.exports = [
124124
path: 'packages/browser/build/npm/esm/prod/index.js',
125125
import: createImport('init', 'logger'),
126126
gzip: true,
127-
limit: '27 KB',
127+
limit: '28 KB',
128128
},
129129
{
130130
name: '@sentry/browser (incl. Metrics & Logs)',
@@ -255,21 +255,21 @@ module.exports = [
255255
path: createCDNPath('bundle.tracing.logs.metrics.min.js'),
256256
gzip: false,
257257
brotli: false,
258-
limit: '131 KB',
258+
limit: '132 KB',
259259
},
260260
{
261261
name: 'CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed',
262262
path: createCDNPath('bundle.replay.logs.metrics.min.js'),
263263
gzip: false,
264264
brotli: false,
265-
limit: '209 KB',
265+
limit: '210 KB',
266266
},
267267
{
268268
name: 'CDN Bundle (incl. Tracing, Replay) - uncompressed',
269269
path: createCDNPath('bundle.tracing.replay.min.js'),
270270
gzip: false,
271271
brotli: false,
272-
limit: '245 KB',
272+
limit: '246 KB',
273273
},
274274
{
275275
name: 'CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed',
@@ -308,7 +308,7 @@ module.exports = [
308308
import: createImport('init'),
309309
ignore: ['$app/stores'],
310310
gzip: true,
311-
limit: '43 KB',
311+
limit: '44 KB',
312312
},
313313
// Node-Core SDK (ESM)
314314
{
@@ -326,7 +326,7 @@ module.exports = [
326326
import: createImport('init'),
327327
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
328328
gzip: true,
329-
limit: '175 KB',
329+
limit: '176 KB',
330330
},
331331
{
332332
name: '@sentry/node - without tracing',

.version.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"_comment": "Auto-generated by scripts/bump-version.js. Used by the gitflow sync workflow to detect version bumps. Do not edit manually.",
3-
"version": "10.42.0"
3+
"version": "10.43.0"
44
}

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,6 @@
2828
"editor.defaultFormatter": "oxc.oxc-vscode",
2929
"[typescript]": {
3030
"editor.defaultFormatter": "oxc.oxc-vscode"
31-
}
31+
},
32+
"oxc.suppressProgramErrors": true
3233
}

AGENTS.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,12 @@ Use **yarn**: `yarn install`, `yarn build:dev`, `yarn test`, `yarn lint`
2020
| `yarn build:dev:filter @sentry/<pkg>` | Build one package + deps |
2121
| `yarn build:bundle` | Browser bundles only |
2222
| `yarn test` | All unit tests |
23-
| `yarn lint` | Oxlint + Oxfmt |
24-
| `yarn fix` | Auto-fix lint + format |
25-
| `yarn format` | Auto-fix formatting (Oxfmt) |
23+
| `yarn verify` | Lint + format check |
24+
| `yarn fix` | Format + lint fix |
25+
| `yarn lint` | Lint (Oxlint) |
26+
| `yarn lint:fix` | Lint + auto-fix (Oxlint) |
27+
| `yarn format` | Format files (Oxfmt) |
28+
| `yarn format:check` | Check formatting (Oxfmt) |
2629

2730
Single package: `cd packages/<name> && yarn test`
2831

CHANGELOG.md

Lines changed: 61 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,28 @@
22

33
## Unreleased
44

5+
- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott
6+
7+
- **feat(nestjs): Instrument `@nestjs/schedule` decorators ([#19735](https://github.com/getsentry/sentry-javascript/pull/19735))**
8+
9+
Automatically capture exceptions thrown in `@Cron`, `@Interval`, and `@Timeout` decorated methods.
10+
11+
Previously, exceptions in `@Cron` methods were only captured if you used the `SentryCron` decorator. Now they are
12+
captured automatically. The exception mechanism type changed from `auto.cron.nestjs.async` to
13+
`auto.function.nestjs.cron`. If you have Sentry queries or alerts that filter on the old mechanism type, update them
14+
accordingly.
15+
16+
- **feat(astro): Add Astro 6 support ([#19745](https://github.com/getsentry/sentry-javascript/pull/19745))**
17+
18+
This release enables full support for Astro v6 by adjusting our Astro SDK's middleware to some Astro-internal
19+
changes. We cannot yet guarantee full support for server-islands, due to a [bug in Astro v6](https://github.com/withastro/astro/issues/15753)
20+
but we'll follow up on this once the bug is fixed.
21+
22+
## 10.43.0
23+
524
### Important Changes
625

7-
- **feat(nextjs): Add Turbopack support for React component name annotation ([#19XXX](https://github.com/getsentry/sentry-javascript/pull/19XXX))**
26+
- **feat(nextjs): Add Turbopack support for React component name annotation ([#19604](https://github.com/getsentry/sentry-javascript/pull/19604))**
827

928
We added experimental support for React component name annotation in Turbopack builds. When enabled, JSX elements
1029
are annotated with `data-sentry-component`, `data-sentry-element`, and `data-sentry-source-file` attributes at build
@@ -27,9 +46,49 @@
2746
});
2847
```
2948

49+
- **feat(hono): Instrument middlewares `app.use()` ([#19611](https://github.com/getsentry/sentry-javascript/pull/19611))**
50+
51+
Hono middleware registered via `app.use()` is now automatically instrumented, creating spans for each middleware invocation.
52+
3053
### Other Changes
3154

32-
- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott
55+
- feat(node-core,node): Add `tracePropagation` option to http and fetch integrations ([#19712](https://github.com/getsentry/sentry-javascript/pull/19712))
56+
- feat(hono): Use parametrized names for errors ([#19577](https://github.com/getsentry/sentry-javascript/pull/19577))
57+
- fix(browser): Fix missing traces for user feedback ([#19660](https://github.com/getsentry/sentry-javascript/pull/19660))
58+
- fix(cloudflare): Use correct Proxy receiver in `instrumentDurableObjectStorage` ([#19662](https://github.com/getsentry/sentry-javascript/pull/19662))
59+
- fix(core): Standardize Vercel AI span descriptions to align with GenAI semantic conventions ([#19624](https://github.com/getsentry/sentry-javascript/pull/19624))
60+
- fix(deps): Bump hono to 4.12.5 to fix multiple vulnerabilities ([#19653](https://github.com/getsentry/sentry-javascript/pull/19653))
61+
- fix(deps): Bump svgo to 4.0.1 to fix DoS via entity expansion ([#19651](https://github.com/getsentry/sentry-javascript/pull/19651))
62+
- fix(deps): Bump tar to 7.5.10 to fix hardlink path traversal ([#19650](https://github.com/getsentry/sentry-javascript/pull/19650))
63+
- fix(nextjs): Align Turbopack module metadata injection with webpack behavior ([#19645](https://github.com/getsentry/sentry-javascript/pull/19645))
64+
- fix(node): Prevent duplicate LangChain spans from double module patching ([#19684](https://github.com/getsentry/sentry-javascript/pull/19684))
65+
- fix(node-core,vercel-edge): Use HEROKU_BUILD_COMMIT env var for default release ([#19617](https://github.com/getsentry/sentry-javascript/pull/19617))
66+
- fix(sveltekit): Fix file system race condition in source map cleaning ([#19714](https://github.com/getsentry/sentry-javascript/pull/19714))
67+
- fix(tanstackstart-react): Add workerd and worker export conditions ([#19461](https://github.com/getsentry/sentry-javascript/pull/19461))
68+
- fix(vercel-ai): Prevent tool call span map memory leak ([#19328](https://github.com/getsentry/sentry-javascript/pull/19328))
69+
- feat(deps): Bump @sentry/rollup-plugin from 5.1.0 to 5.1.1 ([#19658](https://github.com/getsentry/sentry-javascript/pull/19658))
70+
71+
<details>
72+
<summary> <strong>Internal Changes</strong> </summary>
73+
74+
- chore: Migrate to oxlint ([#19134](https://github.com/getsentry/sentry-javascript/pull/19134))
75+
- chore(aws-serverless): Don't build layer in `build:dev` command ([#19586](https://github.com/getsentry/sentry-javascript/pull/19586))
76+
- chore(ci): Allow triage action to run on issues from external users ([#19701](https://github.com/getsentry/sentry-javascript/pull/19701))
77+
- chore(deps): Bump immutable from 4.0.0 to 4.3.8 ([#19637](https://github.com/getsentry/sentry-javascript/pull/19637))
78+
- chore(e2e): Expand microservices E2E application with auto-tracing tests ([#19652](https://github.com/getsentry/sentry-javascript/pull/19652))
79+
- chore(hono): Prepare readme and add craft entry ([#19583](https://github.com/getsentry/sentry-javascript/pull/19583))
80+
- chore(sourcemaps): Make sourcemaps e2e test more generic ([#19678](https://github.com/getsentry/sentry-javascript/pull/19678))
81+
- chore(tanstackstart-react): Add link to docs in README ([#19697](https://github.com/getsentry/sentry-javascript/pull/19697))
82+
- feat(deps): Bump @hono/node-server from 1.19.4 to 1.19.10 ([#19634](https://github.com/getsentry/sentry-javascript/pull/19634))
83+
- feat(deps): Bump underscore from 1.12.1 to 1.13.8 ([#19616](https://github.com/getsentry/sentry-javascript/pull/19616))
84+
- test(angular): Fix failing canary test ([#19639](https://github.com/getsentry/sentry-javascript/pull/19639))
85+
- test(nextjs): Add sourcemaps test for nextjs turbopack ([#19647](https://github.com/getsentry/sentry-javascript/pull/19647))
86+
- tests(e2e): Add microservices e2e for nestjs ([#19642](https://github.com/getsentry/sentry-javascript/pull/19642))
87+
- tests(e2e): Add websockets e2e for nestjs ([#19630](https://github.com/getsentry/sentry-javascript/pull/19630))
88+
89+
</details>
90+
91+
Work in this release was contributed by @dmmulroy, @lithdew, and @smorimoto. Thank you for your contributions!
3392

3493
## 10.42.0
3594

dev-packages/.oxlintrc.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
"rules": {
55
"typescript/no-explicit-any": "off",
66
"max-lines": "off",
7-
"no-unused-expressions": "off"
7+
"no-unused-expressions": "off",
8+
"typescript/require-array-sort-compare": "off",
9+
"typescript/no-misused-spread": "off",
10+
"typescript/no-base-to-string": "off",
11+
"typescript/await-thenable": "off"
812
}
913
}

dev-packages/browser-integration-tests/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/browser-integration-tests",
3-
"version": "10.42.0",
3+
"version": "10.43.0",
44
"main": "index.js",
55
"license": "MIT",
66
"engines": {
@@ -10,8 +10,8 @@
1010
"scripts": {
1111
"clean": "rimraf -g suites/**/dist loader-suites/**/dist tmp",
1212
"install-browsers": "[[ -z \"$SKIP_PLAYWRIGHT_BROWSER_INSTALL\" ]] && npx playwright install --with-deps || echo 'Skipping browser installation'",
13-
"lint": "oxlint .",
14-
"fix": "oxlint . --fix",
13+
"lint": "OXLINT_TSGOLINT_DANGEROUSLY_SUPPRESS_PROGRAM_DIAGNOSTICS=true oxlint . --type-aware",
14+
"lint:fix": "OXLINT_TSGOLINT_DANGEROUSLY_SUPPRESS_PROGRAM_DIAGNOSTICS=true oxlint . --fix --type-aware",
1515
"type-check": "tsc",
1616
"postinstall": "yarn install-browsers",
1717
"pretest": "yarn clean && yarn type-check",
@@ -60,7 +60,7 @@
6060
"@babel/preset-typescript": "^7.16.7",
6161
"@playwright/test": "~1.56.0",
6262
"@sentry-internal/rrweb": "2.34.0",
63-
"@sentry/browser": "10.42.0",
63+
"@sentry/browser": "10.43.0",
6464
"@supabase/supabase-js": "2.49.3",
6565
"axios": "^1.12.2",
6666
"babel-loader": "^10.0.0",

0 commit comments

Comments
 (0)