|
2 | 2 |
|
3 | 3 | ## Unreleased |
4 | 4 |
|
| 5 | +- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott |
| 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 | + |
5 | 24 | ### Important Changes |
6 | 25 |
|
7 | 26 | - **feat(node-core): Add OTLP integration for node-core/light ([#19729](https://github.com/getsentry/sentry-javascript/pull/19729))** |
|
53 | 72 | }); |
54 | 73 | ``` |
55 | 74 |
|
56 | | -- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott |
57 | | -- feat(core): Support embedding APIs in google-genai ([#19797](https://github.com/getsentry/sentry-javascript/pull/19797)) |
| 75 | +- **feat(core): Support embedding APIs in google-genai ([#19797](https://github.com/getsentry/sentry-javascript/pull/19797))** |
58 | 76 |
|
59 | 77 | Adds instrumentation for the Google GenAI [`embedContent`](https://ai.google.dev/gemini-api/docs/embeddings) API, creating `gen_ai.embeddings` spans. |
60 | 78 |
|
61 | | -- **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))** |
| 79 | +- **feat(browser): Add `elementTimingIntegration` for tracking element render and load times ([#19869](https://github.com/getsentry/sentry-javascript/pull/19869))** |
62 | 80 |
|
63 | | - The following provider-specific span attributes have been removed from the OpenAI and Anthropic AI integrations. Use the standardized `gen_ai.*` equivalents instead: |
| 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. |
64 | 82 |
|
65 | | - | Removed attribute | Replacement | |
66 | | - | -------------------------------- | ---------------------------- | |
67 | | - | `openai.response.id` | `gen_ai.response.id` | |
68 | | - | `openai.response.model` | `gen_ai.response.model` | |
69 | | - | `openai.usage.prompt_tokens` | `gen_ai.usage.input_tokens` | |
70 | | - | `openai.usage.completion_tokens` | `gen_ai.usage.output_tokens` | |
71 | | - | `openai.response.timestamp` | _(removed, no replacement)_ | |
72 | | - | `anthropic.response.timestamp` | _(removed, no replacement)_ | |
| 83 | + ```ts |
| 84 | + import * as Sentry from '@sentry/browser'; |
73 | 85 |
|
74 | | - If you reference these attributes in hooks (e.g. `beforeSendTransaction`), update them to the `gen_ai.*` equivalents. |
| 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> |
75 | 136 |
|
76 | 137 | ## 10.46.0 |
77 | 138 |
|
|
0 commit comments