Skip to content

Commit c7477bb

Browse files
authored
Merge pull request #20050 from getsentry/prepare-release/10.47.0
meta(changelog): Update changelog for 10.47.0
2 parents 1092af7 + 3d4e38d commit c7477bb

File tree

191 files changed

+6589
-1874
lines changed

Some content is hidden

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

191 files changed

+6589
-1874
lines changed

.github/workflows/build.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ jobs:
130130
run: yarn build
131131

132132
- name: Upload build artifacts
133-
uses: actions/upload-artifact@v6
133+
uses: actions/upload-artifact@v7
134134
with:
135135
name: build-output
136136
path: ${{ env.CACHED_BUILD_PATHS }}
@@ -351,7 +351,7 @@ jobs:
351351
run: yarn build:tarball
352352

353353
- name: Archive artifacts
354-
uses: actions/upload-artifact@v6
354+
uses: actions/upload-artifact@v7
355355
with:
356356
name: ${{ github.sha }}
357357
retention-days: 90
@@ -588,7 +588,7 @@ jobs:
588588
format(' --shard={0}/{1}', matrix.shard, matrix.shards) || '' }}
589589

590590
- name: Upload Playwright Traces
591-
uses: actions/upload-artifact@v6
591+
uses: actions/upload-artifact@v7
592592
if: failure()
593593
with:
594594
name:
@@ -654,7 +654,7 @@ jobs:
654654
yarn test:loader
655655
656656
- name: Upload Playwright Traces
657-
uses: actions/upload-artifact@v6
657+
uses: actions/upload-artifact@v7
658658
if: failure()
659659
with:
660660
name: playwright-traces-job_browser_loader_tests-${{ matrix.bundle}}
@@ -1030,7 +1030,7 @@ jobs:
10301030
SENTRY_E2E_WORKSPACE_ROOT: ${{ github.workspace }}
10311031

10321032
- name: Upload Playwright Traces
1033-
uses: actions/upload-artifact@v6
1033+
uses: actions/upload-artifact@v7
10341034
if: failure()
10351035
with:
10361036
name: playwright-traces-job_e2e_playwright_tests-${{ matrix.test-application}}
@@ -1044,7 +1044,7 @@ jobs:
10441044
node ./scripts/normalize-e2e-test-dump-transaction-events.js
10451045
10461046
- name: Upload E2E Test Event Dumps
1047-
uses: actions/upload-artifact@v6
1047+
uses: actions/upload-artifact@v7
10481048
if: failure()
10491049
with:
10501050
name: E2E Test Dump (${{ matrix.label || matrix.test-application }})
@@ -1157,7 +1157,7 @@ jobs:
11571157
node ./scripts/normalize-e2e-test-dump-transaction-events.js
11581158
11591159
- name: Upload E2E Test Event Dumps
1160-
uses: actions/upload-artifact@v6
1160+
uses: actions/upload-artifact@v7
11611161
if: failure()
11621162
with:
11631163
name: E2E Test Dump (${{ matrix.label || matrix.test-application }})

.github/workflows/create-issue-for-unreferenced-prs.yml

Lines changed: 0 additions & 130 deletions
This file was deleted.

.github/workflows/flaky-test-detector.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ jobs:
7171
TEST_RUN_COUNT: 'AUTO'
7272

7373
- name: Upload Playwright Traces
74-
uses: actions/upload-artifact@v6
74+
uses: actions/upload-artifact@v7
7575
if: failure() && steps.test.outcome == 'failure'
7676
with:
7777
name: playwright-test-results

.github/workflows/validate-pr.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Validate PR
2+
3+
on:
4+
pull_request_target:
5+
types: [opened, reopened]
6+
7+
jobs:
8+
validate-pr:
9+
runs-on: ubuntu-24.04
10+
permissions:
11+
pull-requests: write
12+
steps:
13+
- uses: getsentry/github-workflows/validate-pr@0b52fc6a867b744dcbdf5d25c18bc8d1c95710e1
14+
with:
15+
app-id: ${{ vars.SDK_MAINTAINER_BOT_APP_ID }}
16+
private-key: ${{ secrets.SDK_MAINTAINER_BOT_PRIVATE_KEY }}

.size-limit.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ module.exports = [
248248
path: createCDNPath('bundle.logs.metrics.min.js'),
249249
gzip: false,
250250
brotli: false,
251-
limit: '86 KB',
251+
limit: '88 KB',
252252
},
253253
{
254254
name: 'CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed',
@@ -262,7 +262,7 @@ module.exports = [
262262
path: createCDNPath('bundle.replay.logs.metrics.min.js'),
263263
gzip: false,
264264
brotli: false,
265-
limit: '210 KB',
265+
limit: '211 KB',
266266
},
267267
{
268268
name: 'CDN Bundle (incl. Tracing, Replay) - uncompressed',

CHANGELOG.md

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

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

7+
## 10.47.0
8+
9+
### Important Changes
10+
11+
- **feat(node-core): Add OTLP integration for node-core/light ([#19729](https://github.com/getsentry/sentry-javascript/pull/19729))**
12+
13+
Added `otlpIntegration` at `@sentry/node-core/light/otlp` for users who manage
14+
their own OpenTelemetry setup and want to send trace data to Sentry without
15+
adopting the full `@sentry/node` SDK.
16+
17+
```js
18+
import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
19+
import * as Sentry from '@sentry/node-core/light';
20+
import { otlpIntegration } from '@sentry/node-core/light/otlp';
21+
22+
const provider = new NodeTracerProvider();
23+
provider.register();
24+
25+
Sentry.init({
26+
dsn: '__DSN__',
27+
integrations: [
28+
otlpIntegration({
29+
// Export OTel spans to Sentry via OTLP (default: true)
30+
setupOtlpTracesExporter: true,
31+
}),
32+
],
33+
});
34+
```
35+
36+
The integration links Sentry errors to OTel traces and exports spans to Sentry via OTLP.
37+
38+
- **feat(node, bun): Add runtime metrics integrations for Node.js and Bun ([#19923](https://github.com/getsentry/sentry-javascript/pull/19923), [#19979](https://github.com/getsentry/sentry-javascript/pull/19979))**
39+
40+
New `nodeRuntimeMetricsIntegration` and `bunRuntimeMetricsIntegration` automatically collect runtime health metrics and send them to Sentry on a configurable interval (default: 30s). Collected metrics include memory (RSS, heap used/total), CPU utilization, event loop utilization, and process uptime. Node additionally collects event loop delay percentiles (p50, p99). Extra metrics like CPU time and external memory are available as opt-in.
41+
42+
```ts
43+
// Node.js
44+
import * as Sentry from '@sentry/node';
45+
46+
Sentry.init({
47+
dsn: '...',
48+
integrations: [Sentry.nodeRuntimeMetricsIntegration()],
49+
});
50+
51+
// Bun
52+
import * as Sentry from '@sentry/bun';
53+
54+
Sentry.init({
55+
dsn: '...',
56+
integrations: [Sentry.bunRuntimeMetricsIntegration()],
57+
});
58+
```
59+
60+
- **feat(core): Support embedding APIs in google-genai ([#19797](https://github.com/getsentry/sentry-javascript/pull/19797))**
61+
62+
Adds instrumentation for the Google GenAI [`embedContent`](https://ai.google.dev/gemini-api/docs/embeddings) API, creating `gen_ai.embeddings` spans.
63+
64+
- **feat(browser): Add `elementTimingIntegration` for tracking element render and load times ([#19869](https://github.com/getsentry/sentry-javascript/pull/19869))**
65+
66+
The new `elementTimingIntegration` captures Element Timing API data as Sentry metrics. It emits `element_timing.render_time` and `element_timing.load_time` distribution metrics for elements annotated with the `elementtiming` HTML attribute.
67+
68+
```ts
69+
import * as Sentry from '@sentry/browser';
70+
71+
Sentry.init({
72+
dsn: '__DSN__',
73+
integrations: [Sentry.browserTracingIntegration(), Sentry.elementTimingIntegration()],
74+
});
75+
```
76+
77+
```html
78+
<img src="hero.jpg" elementtiming="hero-image" />
79+
```
80+
81+
### Other Changes
82+
83+
- feat(nuxt): Add middleware instrumentation compatibility for Nuxt 5 ([#19968](https://github.com/getsentry/sentry-javascript/pull/19968))
84+
- feat(nuxt): Support parametrized SSR routes in Nuxt 5 ([#19977](https://github.com/getsentry/sentry-javascript/pull/19977))
85+
- feat(solid): Add route parametrization for Solid Router ([#20031](https://github.com/getsentry/sentry-javascript/pull/20031))
86+
- fix(core): Guard nullish response in supabase PostgREST handler ([#20033](https://github.com/getsentry/sentry-javascript/pull/20033))
87+
- fix(node): Deduplicate `sentry-trace` and `baggage` headers on outgoing requests ([#19960](https://github.com/getsentry/sentry-javascript/pull/19960))
88+
- fix(node): Ensure startNewTrace propagates traceId in OTel environments ([#19963](https://github.com/getsentry/sentry-javascript/pull/19963))
89+
- fix(nuxt): Use virtual module for Nuxt pages data (SSR route parametrization) ([#20020](https://github.com/getsentry/sentry-javascript/pull/20020))
90+
- fix(opentelemetry): Convert seconds timestamps in span.end() to milliseconds ([#19958](https://github.com/getsentry/sentry-javascript/pull/19958))
91+
- fix(profiling): Disable profiling in worker threads ([#20040](https://github.com/getsentry/sentry-javascript/pull/20040))
92+
- fix(react-router): Disable debug ID injection in Vite plugin to prevent double injection ([#19890](https://github.com/getsentry/sentry-javascript/pull/19890))
93+
- refactor(browser): Reduce browser package bundle size ([#19856](https://github.com/getsentry/sentry-javascript/pull/19856))
94+
- feat(deps): Bump OpenTelemetry dependencies ([#20046](https://github.com/getsentry/sentry-javascript/pull/20046))
95+
96+
<details>
97+
<summary> <strong>Internal Changes</strong> </summary>
98+
99+
- chore: Add shared validate-pr composite action ([#20025](https://github.com/getsentry/sentry-javascript/pull/20025))
100+
- chore: Update validate-pr action to latest version ([#20027](https://github.com/getsentry/sentry-javascript/pull/20027))
101+
- chore(deps): Bump @apollo/server from 5.4.0 to 5.5.0 ([#20007](https://github.com/getsentry/sentry-javascript/pull/20007))
102+
- chore(deps): Bump amqplib from 0.10.7 to 0.10.9 ([#20000](https://github.com/getsentry/sentry-javascript/pull/20000))
103+
- chore(deps): Bump srvx from 0.11.12 to 0.11.13 ([#20001](https://github.com/getsentry/sentry-javascript/pull/20001))
104+
- chore(deps-dev): Bump node-forge from 1.3.2 to 1.4.0 ([#20012](https://github.com/getsentry/sentry-javascript/pull/20012))
105+
- chore(deps-dev): Bump yaml from 2.8.2 to 2.8.3 ([#19985](https://github.com/getsentry/sentry-javascript/pull/19985))
106+
- ci(deps): Bump actions/upload-artifact from 6 to 7 ([#19569](https://github.com/getsentry/sentry-javascript/pull/19569))
107+
- docs(release): Update publishing-a-release.md ([#19982](https://github.com/getsentry/sentry-javascript/pull/19982))
108+
- feat(deps): Bump babel-loader from 10.0.0 to 10.1.1 ([#19997](https://github.com/getsentry/sentry-javascript/pull/19997))
109+
- feat(deps): Bump handlebars from 4.7.7 to 4.7.9 ([#20008](https://github.com/getsentry/sentry-javascript/pull/20008))
110+
- fix(browser-tests): Pin axios to 1.13.5 to avoid compromised 1.14.1 ([#20047](https://github.com/getsentry/sentry-javascript/pull/20047))
111+
- fix(ci): Update validate-pr action to remove draft enforcement ([#20035](https://github.com/getsentry/sentry-javascript/pull/20035))
112+
- fix(ci): Update validate-pr action to remove draft enforcement ([#20037](https://github.com/getsentry/sentry-javascript/pull/20037))
113+
- fix(e2e): Pin @opentelemetry/api to 1.9.0 in ts3.8 test app ([#19992](https://github.com/getsentry/sentry-javascript/pull/19992))
114+
- ref(browser-tests): Add waitForMetricRequest helper ([#20002](https://github.com/getsentry/sentry-javascript/pull/20002))
115+
- ref(core): Consolidate getOperationName into one shared utility ([#19971](https://github.com/getsentry/sentry-javascript/pull/19971))
116+
- ref(core): Introduce instrumented method registry for AI integrations ([#19981](https://github.com/getsentry/sentry-javascript/pull/19981))
117+
- test(deno): Expand Deno E2E test coverage ([#19957](https://github.com/getsentry/sentry-javascript/pull/19957))
118+
- test(e2e): Add e2e tests for `nodeRuntimeMetricsIntegration` ([#19989](https://github.com/getsentry/sentry-javascript/pull/19989))
119+
120+
</details>
121+
7122
## 10.46.0
8123

9124
### Important Changes
@@ -73,6 +188,21 @@
73188

74189
Work in this release was contributed by @roli-lpci. Thank you for your contributions!
75190

191+
### Important Changes
192+
193+
- **feat(node): Add `nodeRuntimeMetricsIntegration` for automatic Node.js runtime metrics ([#19923](https://github.com/getsentry/sentry-javascript/pull/19923))**
194+
195+
The new `nodeRuntimeMetricsIntegration` automatically collects Node.js runtime health metrics and sends them to Sentry. Eight metrics are emitted by default every 30 seconds: memory (RSS, heap used/total), CPU utilization, event loop delay (p50, p99), event loop utilization, and process uptime. Additional metrics are available as opt-in.
196+
197+
```ts
198+
import * as Sentry from '@sentry/node';
199+
200+
Sentry.init({
201+
dsn: '...',
202+
integrations: [Sentry.nodeRuntimeMetricsIntegration()],
203+
});
204+
```
205+
76206
## 10.45.0
77207

78208
### Important Changes

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@
6262
"@sentry-internal/rrweb": "2.34.0",
6363
"@sentry/browser": "10.46.0",
6464
"@supabase/supabase-js": "2.49.3",
65-
"axios": "^1.12.2",
66-
"babel-loader": "^10.0.0",
65+
"axios": "1.13.5",
66+
"babel-loader": "^10.1.1",
6767
"fflate": "0.8.2",
6868
"html-webpack-plugin": "^5.5.0",
6969
"webpack": "^5.95.0"

0 commit comments

Comments
 (0)