Skip to content

Commit 3f65954

Browse files
authored
Merge branch 'develop' into nh/no-chats-create-span
2 parents 720cdb7 + d0bbc1a commit 3f65954

File tree

230 files changed

+8242
-2443
lines changed

Some content is hidden

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

230 files changed

+8242
-2443
lines changed

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

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

.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@71588ddf95134f804e82c5970a8098588e2eaecd
14+
with:
15+
app-id: ${{ vars.SDK_MAINTAINER_BOT_APP_ID }}
16+
private-key: ${{ secrets.SDK_MAINTAINER_BOT_PRIVATE_KEY }}

.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.46.0"
3+
"version": "10.47.0"
44
}

CHANGELOG.md

Lines changed: 128 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,137 @@
33
## Unreleased
44

55
- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott
6-
- feat(core): Support embedding APIs in google-genai ([#19797](https://github.com/getsentry/sentry-javascript/pull/19797))
6+
7+
- **ref(core): Remove provider-specific AI span attributes in favor of `gen_ai` attributes in sentry conventions ([#20011](https://github.com/getsentry/sentry-javascript/pull/20011))**
8+
9+
The following provider-specific span attributes have been removed from the OpenAI and Anthropic AI integrations. Use the standardized `gen_ai.*` equivalents instead:
10+
11+
| Removed attribute | Replacement |
12+
| -------------------------------- | ---------------------------- |
13+
| `openai.response.id` | `gen_ai.response.id` |
14+
| `openai.response.model` | `gen_ai.response.model` |
15+
| `openai.usage.prompt_tokens` | `gen_ai.usage.input_tokens` |
16+
| `openai.usage.completion_tokens` | `gen_ai.usage.output_tokens` |
17+
| `openai.response.timestamp` | _(removed, no replacement)_ |
18+
| `anthropic.response.timestamp` | _(removed, no replacement)_ |
19+
20+
If you reference these attributes in hooks (e.g. `beforeSendTransaction`), update them to the `gen_ai.*` equivalents.
21+
22+
## 10.47.0
23+
24+
### Important Changes
25+
26+
- **feat(node-core): Add OTLP integration for node-core/light ([#19729](https://github.com/getsentry/sentry-javascript/pull/19729))**
27+
28+
Added `otlpIntegration` at `@sentry/node-core/light/otlp` for users who manage
29+
their own OpenTelemetry setup and want to send trace data to Sentry without
30+
adopting the full `@sentry/node` SDK.
31+
32+
```js
33+
import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
34+
import * as Sentry from '@sentry/node-core/light';
35+
import { otlpIntegration } from '@sentry/node-core/light/otlp';
36+
37+
const provider = new NodeTracerProvider();
38+
provider.register();
39+
40+
Sentry.init({
41+
dsn: '__DSN__',
42+
integrations: [
43+
otlpIntegration({
44+
// Export OTel spans to Sentry via OTLP (default: true)
45+
setupOtlpTracesExporter: true,
46+
}),
47+
],
48+
});
49+
```
50+
51+
The integration links Sentry errors to OTel traces and exports spans to Sentry via OTLP.
52+
53+
- **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))**
54+
55+
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.
56+
57+
```ts
58+
// Node.js
59+
import * as Sentry from '@sentry/node';
60+
61+
Sentry.init({
62+
dsn: '...',
63+
integrations: [Sentry.nodeRuntimeMetricsIntegration()],
64+
});
65+
66+
// Bun
67+
import * as Sentry from '@sentry/bun';
68+
69+
Sentry.init({
70+
dsn: '...',
71+
integrations: [Sentry.bunRuntimeMetricsIntegration()],
72+
});
73+
```
74+
75+
- **feat(core): Support embedding APIs in google-genai ([#19797](https://github.com/getsentry/sentry-javascript/pull/19797))**
776

877
Adds instrumentation for the Google GenAI [`embedContent`](https://ai.google.dev/gemini-api/docs/embeddings) API, creating `gen_ai.embeddings` spans.
978

79+
- **feat(browser): Add `elementTimingIntegration` for tracking element render and load times ([#19869](https://github.com/getsentry/sentry-javascript/pull/19869))**
80+
81+
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.
82+
83+
```ts
84+
import * as Sentry from '@sentry/browser';
85+
86+
Sentry.init({
87+
dsn: '__DSN__',
88+
integrations: [Sentry.browserTracingIntegration(), Sentry.elementTimingIntegration()],
89+
});
90+
```
91+
92+
```html
93+
<img src="hero.jpg" elementtiming="hero-image" />
94+
```
95+
96+
### Other Changes
97+
98+
- feat(nuxt): Add middleware instrumentation compatibility for Nuxt 5 ([#19968](https://github.com/getsentry/sentry-javascript/pull/19968))
99+
- feat(nuxt): Support parametrized SSR routes in Nuxt 5 ([#19977](https://github.com/getsentry/sentry-javascript/pull/19977))
100+
- feat(solid): Add route parametrization for Solid Router ([#20031](https://github.com/getsentry/sentry-javascript/pull/20031))
101+
- fix(core): Guard nullish response in supabase PostgREST handler ([#20033](https://github.com/getsentry/sentry-javascript/pull/20033))
102+
- fix(node): Deduplicate `sentry-trace` and `baggage` headers on outgoing requests ([#19960](https://github.com/getsentry/sentry-javascript/pull/19960))
103+
- fix(node): Ensure startNewTrace propagates traceId in OTel environments ([#19963](https://github.com/getsentry/sentry-javascript/pull/19963))
104+
- fix(nuxt): Use virtual module for Nuxt pages data (SSR route parametrization) ([#20020](https://github.com/getsentry/sentry-javascript/pull/20020))
105+
- fix(opentelemetry): Convert seconds timestamps in span.end() to milliseconds ([#19958](https://github.com/getsentry/sentry-javascript/pull/19958))
106+
- fix(profiling): Disable profiling in worker threads ([#20040](https://github.com/getsentry/sentry-javascript/pull/20040))
107+
- fix(react-router): Disable debug ID injection in Vite plugin to prevent double injection ([#19890](https://github.com/getsentry/sentry-javascript/pull/19890))
108+
- refactor(browser): Reduce browser package bundle size ([#19856](https://github.com/getsentry/sentry-javascript/pull/19856))
109+
- feat(deps): Bump OpenTelemetry dependencies ([#20046](https://github.com/getsentry/sentry-javascript/pull/20046))
110+
111+
<details>
112+
<summary> <strong>Internal Changes</strong> </summary>
113+
114+
- chore: Add shared validate-pr composite action ([#20025](https://github.com/getsentry/sentry-javascript/pull/20025))
115+
- chore: Update validate-pr action to latest version ([#20027](https://github.com/getsentry/sentry-javascript/pull/20027))
116+
- chore(deps): Bump @apollo/server from 5.4.0 to 5.5.0 ([#20007](https://github.com/getsentry/sentry-javascript/pull/20007))
117+
- chore(deps): Bump amqplib from 0.10.7 to 0.10.9 ([#20000](https://github.com/getsentry/sentry-javascript/pull/20000))
118+
- chore(deps): Bump srvx from 0.11.12 to 0.11.13 ([#20001](https://github.com/getsentry/sentry-javascript/pull/20001))
119+
- chore(deps-dev): Bump node-forge from 1.3.2 to 1.4.0 ([#20012](https://github.com/getsentry/sentry-javascript/pull/20012))
120+
- chore(deps-dev): Bump yaml from 2.8.2 to 2.8.3 ([#19985](https://github.com/getsentry/sentry-javascript/pull/19985))
121+
- ci(deps): Bump actions/upload-artifact from 6 to 7 ([#19569](https://github.com/getsentry/sentry-javascript/pull/19569))
122+
- docs(release): Update publishing-a-release.md ([#19982](https://github.com/getsentry/sentry-javascript/pull/19982))
123+
- feat(deps): Bump babel-loader from 10.0.0 to 10.1.1 ([#19997](https://github.com/getsentry/sentry-javascript/pull/19997))
124+
- feat(deps): Bump handlebars from 4.7.7 to 4.7.9 ([#20008](https://github.com/getsentry/sentry-javascript/pull/20008))
125+
- fix(browser-tests): Pin axios to 1.13.5 to avoid compromised 1.14.1 ([#20047](https://github.com/getsentry/sentry-javascript/pull/20047))
126+
- fix(ci): Update validate-pr action to remove draft enforcement ([#20035](https://github.com/getsentry/sentry-javascript/pull/20035))
127+
- fix(ci): Update validate-pr action to remove draft enforcement ([#20037](https://github.com/getsentry/sentry-javascript/pull/20037))
128+
- fix(e2e): Pin @opentelemetry/api to 1.9.0 in ts3.8 test app ([#19992](https://github.com/getsentry/sentry-javascript/pull/19992))
129+
- ref(browser-tests): Add waitForMetricRequest helper ([#20002](https://github.com/getsentry/sentry-javascript/pull/20002))
130+
- ref(core): Consolidate getOperationName into one shared utility ([#19971](https://github.com/getsentry/sentry-javascript/pull/19971))
131+
- ref(core): Introduce instrumented method registry for AI integrations ([#19981](https://github.com/getsentry/sentry-javascript/pull/19981))
132+
- test(deno): Expand Deno E2E test coverage ([#19957](https://github.com/getsentry/sentry-javascript/pull/19957))
133+
- test(e2e): Add e2e tests for `nodeRuntimeMetricsIntegration` ([#19989](https://github.com/getsentry/sentry-javascript/pull/19989))
134+
135+
</details>
136+
10137
## 10.46.0
11138

12139
### Important Changes

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/browser-integration-tests",
3-
"version": "10.46.0",
3+
"version": "10.47.0",
44
"main": "index.js",
55
"license": "MIT",
66
"engines": {
@@ -60,9 +60,9 @@
6060
"@babel/preset-typescript": "^7.16.7",
6161
"@playwright/test": "~1.56.0",
6262
"@sentry-internal/rrweb": "2.34.0",
63-
"@sentry/browser": "10.46.0",
63+
"@sentry/browser": "10.47.0",
6464
"@supabase/supabase-js": "2.49.3",
65-
"axios": "^1.12.2",
65+
"axios": "1.13.5",
6666
"babel-loader": "^10.1.1",
6767
"fflate": "0.8.2",
6868
"html-webpack-plugin": "^5.5.0",

0 commit comments

Comments
 (0)