Skip to content

Commit cc7dea4

Browse files
authored
Merge pull request #21703 from getsentry/prepare-release/10.60.0
meta(changelog): Update changelog for 10.60.0
2 parents fa3e188 + bcef5d9 commit cc7dea4

694 files changed

Lines changed: 27614 additions & 1579 deletions

File tree

Some content is hidden

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

.craft.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,9 @@ targets:
148148

149149
## 7. Other Packages
150150
## 7.1
151+
- name: npm
152+
id: '@sentry/bundler-plugins'
153+
includeNames: /^sentry-bundler-plugins-\d.*\.tgz$/
151154
- name: npm
152155
id: '@sentry/typescript'
153156
includeNames: /^sentry-typescript-\d.*\.tgz$/

.github/dependency-review-config.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,12 @@ allow-ghsas:
1111
- GHSA-gp8f-8m3g-qvj9
1212
# devalue vulnerability - this is just used by nuxt & astro as transitive dependency
1313
- GHSA-vj54-72f3-p5jv
14+
# vite 4, used in browser bundler plugin E2E tests
15+
- GHSA-c27g-q93r-2cwf
16+
- GHSA-fx2h-pf6j-xcff
17+
# vite 6 7 and 8, used in browser bundler plugin E2E tests
18+
- GHSA-p9ff-h696-f583
19+
# vite 7 and 8, used in browser bundler plugin E2E tests
20+
- GHSA-v2wj-q39q-566r
21+
# esbuil, used in browser bundler plugin E2E tests
22+
- GHSA-gv7w-rqvm-qjhr

.github/workflows/build.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -812,6 +812,28 @@ jobs:
812812
working-directory: dev-packages/node-integration-tests
813813
run: yarn test
814814

815+
job_node_v18_compat:
816+
name: Node v18.0.0 Compatibility Check
817+
needs: [job_get_metadata, job_build]
818+
if: needs.job_build.outputs.changed_node == 'true' || github.event_name != 'pull_request'
819+
runs-on: ubuntu-24.04
820+
timeout-minutes: 5
821+
steps:
822+
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
823+
uses: actions/checkout@v6
824+
with:
825+
ref: ${{ env.HEAD_COMMIT }}
826+
- name: Set up Node
827+
uses: actions/setup-node@v6
828+
with:
829+
node-version: '18.0.0'
830+
- name: Restore caches
831+
uses: ./.github/actions/restore-cache
832+
with:
833+
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
834+
- name: Check Node v18.0.0 compatibility
835+
run: node scripts/node-v18-compat-check.js
836+
815837
job_node_core_integration_tests:
816838
name:
817839
Node (${{ matrix.node }})${{ (matrix.typescript && format(' (TS {0})', matrix.typescript)) || '' }} Node-Core
@@ -876,6 +898,33 @@ jobs:
876898
working-directory: dev-packages/cloudflare-integration-tests
877899
run: yarn test
878900

901+
job_bundler_plugin_integration_tests:
902+
name: Bundler Plugin Integration Tests
903+
needs: [job_get_metadata, job_build]
904+
runs-on: ubuntu-24.04
905+
timeout-minutes: 15
906+
steps:
907+
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
908+
uses: actions/checkout@v6
909+
with:
910+
ref: ${{ env.HEAD_COMMIT }}
911+
# The fixtures install the locally-packed `@sentry/bundler-plugins` tarball with pnpm.
912+
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
913+
with:
914+
version: 9.15.9
915+
- name: Set up Node
916+
uses: actions/setup-node@v6
917+
with:
918+
node-version-file: 'package.json'
919+
- name: Restore caches
920+
uses: ./.github/actions/restore-cache
921+
with:
922+
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
923+
924+
- name: Run integration tests
925+
working-directory: dev-packages/bundler-plugin-integration-tests
926+
run: yarn test
927+
879928
job_bun_integration_tests:
880929
name: Bun Integration Tests
881930
needs: [job_get_metadata, job_build]
@@ -1198,8 +1247,10 @@ jobs:
11981247
job_deno_unit_tests,
11991248
job_node_unit_tests,
12001249
job_node_integration_tests,
1250+
job_node_v18_compat,
12011251
job_node_core_integration_tests,
12021252
job_cloudflare_integration_tests,
1253+
job_bundler_plugin_integration_tests,
12031254
job_bun_integration_tests,
12041255
job_browser_playwright_tests,
12051256
job_browser_loader_tests,

.oxfmtrc.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
"ignorePatterns": [
1010
"packages/browser/test/loader.js",
1111
"packages/replay-worker/examples/worker.min.js",
12-
"dev-packages/browser-integration-tests/fixtures",
12+
"dev-packages/browser-integration-tests/fixtures/**",
13+
"dev-packages/bundler-plugin-integration-tests/fixtures/**",
14+
"packages/bundler-plugins/test/core/fixtures/**",
1315
"**/test.ts-snapshots/**",
1416
"/.nx/cache",
1517
"/.nx/workspace-data"

.oxlintrc.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
"test/manual/**",
3939
"types/**",
4040
"scripts/*.js",
41-
"node_modules/**"
41+
"node_modules/**",
42+
"packages/bundler-plugins/test/core/fixtures/**"
4243
]
4344
}

.size-limit.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ module.exports = [
4848
path: 'packages/browser/build/npm/esm/prod/index.js',
4949
import: createImport('init', 'browserTracingIntegration', 'spanStreamingIntegration'),
5050
gzip: true,
51-
limit: '53 KB',
51+
limit: '54 KB',
5252
disablePlugins: ['@size-limit/esbuild'],
5353
},
5454
{
@@ -64,7 +64,7 @@ module.exports = [
6464
path: 'packages/browser/build/npm/esm/prod/index.js',
6565
import: createImport('init', 'browserTracingIntegration', 'replayIntegration'),
6666
gzip: true,
67-
limit: '90 KB',
67+
limit: '91 KB',
6868
disablePlugins: ['@size-limit/esbuild'],
6969
},
7070
{
@@ -171,7 +171,7 @@ module.exports = [
171171
import: createImport('init', 'ErrorBoundary', 'reactRouterV6BrowserTracingIntegration'),
172172
ignore: ['react/jsx-runtime'],
173173
gzip: true,
174-
limit: '53 KB',
174+
limit: '54 KB',
175175
disablePlugins: ['@size-limit/esbuild'],
176176
},
177177
// Vue SDK (ESM)
@@ -278,7 +278,7 @@ module.exports = [
278278
path: createCDNPath('bundle.tracing.min.js'),
279279
gzip: false,
280280
brotli: false,
281-
limit: '151 KB',
281+
limit: '152 KB',
282282
disablePlugins: ['@size-limit/esbuild'],
283283
},
284284
{
@@ -294,15 +294,15 @@ module.exports = [
294294
path: createCDNPath('bundle.tracing.logs.metrics.min.js'),
295295
gzip: false,
296296
brotli: false,
297-
limit: '155 KB',
297+
limit: '156 KB',
298298
disablePlugins: ['@size-limit/esbuild'],
299299
},
300300
{
301301
name: 'CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed',
302302
path: createCDNPath('bundle.replay.logs.metrics.min.js'),
303303
gzip: false,
304304
brotli: false,
305-
limit: '223 KB',
305+
limit: '224 KB',
306306
disablePlugins: ['@size-limit/esbuild'],
307307
},
308308
{
@@ -391,15 +391,15 @@ module.exports = [
391391
import: createImport('init'),
392392
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
393393
gzip: true,
394-
limit: '136 KB',
394+
limit: '130 KB',
395395
disablePlugins: ['@size-limit/esbuild'],
396396
},
397397
{
398398
name: '@sentry/node/import (ESM hook with diagnostics-channel injection)',
399399
path: ['node_modules/@apm-js-collab/tracing-hooks/hook.mjs', 'packages/node/build/import-hook.mjs'],
400400
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
401401
gzip: true,
402-
limit: '100 KB',
402+
limit: '76 KB',
403403
disablePlugins: ['@size-limit/esbuild'],
404404
},
405405
{
@@ -408,7 +408,7 @@ module.exports = [
408408
import: createImport('init'),
409409
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
410410
gzip: true,
411-
limit: '100 KB',
411+
limit: '56 KB',
412412
disablePlugins: ['@size-limit/esbuild'],
413413
},
414414
{
@@ -440,7 +440,7 @@ module.exports = [
440440
import: createImport('init'),
441441
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
442442
gzip: true,
443-
limit: '92 KB',
443+
limit: '91 KB',
444444
disablePlugins: ['@size-limit/esbuild'],
445445
},
446446
// Cloudflare SDK (ESM) - compressed, minified to match `wrangler deploy --dry-run --minify` output
@@ -451,7 +451,7 @@ module.exports = [
451451
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
452452
gzip: false,
453453
brotli: false,
454-
limit: '175 KiB',
454+
limit: '180 KiB',
455455
disablePlugins: ['@size-limit/webpack'],
456456
webpack: false,
457457
modifyEsbuildConfig: function (config) {
@@ -471,7 +471,7 @@ module.exports = [
471471
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
472472
gzip: false,
473473
brotli: false,
474-
limit: '429 KiB',
474+
limit: '450 KiB',
475475
disablePlugins: ['@size-limit/webpack'],
476476
webpack: false,
477477
modifyEsbuildConfig: function (config) {

CHANGELOG.md

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

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

7+
## 10.60.0
8+
9+
### Other Changes
10+
11+
- feat(cloudflare): Add R2 bucket auto-instrumentation ([#21327](https://github.com/getsentry/sentry-javascript/pull/21327))
12+
- feat(core): Add `bindScopeToEmitter` to bind a scope to an event emitter ([#21594](https://github.com/getsentry/sentry-javascript/pull/21594))
13+
- feat(deps): Bump @hapi/wreck from 18.1.0 to 18.1.2 ([#21178](https://github.com/getsentry/sentry-javascript/pull/21178))
14+
- fix(browser): Ensure `url.full` and `http.url` attributes have the same values on `http.client` spans ([#21660](https://github.com/getsentry/sentry-javascript/pull/21660))
15+
- fix(server-utils): Avoid directly importing `tracingChannel` for Node v18 compatibility ([#21662](https://github.com/getsentry/sentry-javascript/pull/21662))
16+
- fix(server-utils): Remove optional `vite` peer dependency ([#21677](https://github.com/getsentry/sentry-javascript/pull/21677))
17+
18+
<details>
19+
<summary><strong>Internal Changes</strong></summary>
20+
21+
- chore: Add bundler-plugins to craft ([#21701](https://github.com/getsentry/sentry-javascript/pull/21701))
22+
- chore: Cleanup unused imports of `@opentelemetry/core` ([#21679](https://github.com/getsentry/sentry-javascript/pull/21679))
23+
- fix(bundler-plugins): Integration with monorepo build ([#21479](https://github.com/getsentry/sentry-javascript/pull/21479))
24+
- ref(core): Gate updateName() custom source on an OTel inference brand ([#21649](https://github.com/getsentry/sentry-javascript/pull/21649))
25+
- ref(core/opentelemetry): Move OTel span data inference from `captureSpan` to `SentrySpanProcessor` ([#21648](https://github.com/getsentry/sentry-javascript/pull/21648))
26+
- ref(node): Remove unused sql-common helper and `@opentelemetry/core` dep ([#21688](https://github.com/getsentry/sentry-javascript/pull/21688))
27+
- ref(node): Streamline kafkajs instrumentation ([#21647](https://github.com/getsentry/sentry-javascript/pull/21647))
28+
- ref(node): Streamline undici (node-fetch) instrumentation ([#21650](https://github.com/getsentry/sentry-javascript/pull/21650))
29+
- ref(vercel-edge): Drop unused `@opentelemetry/semantic-conventions` dependency ([#21691](https://github.com/getsentry/sentry-javascript/pull/21691))
30+
- ref(vercel-edge): Remove `@opentelemetry/resources` dependency ([#21690](https://github.com/getsentry/sentry-javascript/pull/21690))
31+
32+
</details>
33+
734
## 10.59.0
835

936
### Important Changes

dev-packages/.oxlintrc.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@
99
"typescript/no-misused-spread": "off",
1010
"typescript/no-base-to-string": "off",
1111
"typescript/await-thenable": "off"
12-
}
12+
},
13+
"ignorePatterns": ["bundler-plugin-integration-tests/fixtures/**"]
1314
}

dev-packages/browser-integration-tests/suites/integrations/graphqlClient/fetch/test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ sentryTest('should update spans for GraphQL fetch requests', async ({ getLocalTe
5050
type: 'fetch',
5151
'http.method': 'POST',
5252
'http.url': 'http://sentry-test.io/foo',
53+
'url.full': 'http://sentry-test.io/foo',
5354
url: 'http://sentry-test.io/foo',
5455
'server.address': 'sentry-test.io',
5556
'sentry.op': 'http.client',

dev-packages/browser-integration-tests/suites/integrations/graphqlClient/persistedQuery-fetch/test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ sentryTest('should update spans for GraphQL persisted query fetch requests', asy
4444
type: 'fetch',
4545
'http.method': 'POST',
4646
'http.url': 'http://sentry-test.io/graphql',
47+
'url.full': 'http://sentry-test.io/graphql',
4748
url: 'http://sentry-test.io/graphql',
4849
'server.address': 'sentry-test.io',
4950
'sentry.op': 'http.client',

0 commit comments

Comments
 (0)