Skip to content

Commit f964250

Browse files
authored
Merge branch 'develop' into msgs-drop-media
2 parents d828f59 + fe97d67 commit f964250

File tree

546 files changed

+20665
-2653
lines changed

Some content is hidden

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

546 files changed

+20665
-2653
lines changed

.cursor/rules/publishing_release.mdc

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,18 @@ Use these guidelines when publishing a new Sentry JavaScript SDK release.
1212

1313
The release process is outlined in [publishing-a-release.md](mdc:docs/publishing-a-release.md).
1414

15-
1. Make sure you are on the latest version of the `develop` branch. To confirm this, run `git pull origin develop` to get the latest changes from the repo.
15+
1. Ensure you're on the `develop` branch with the latest changes:
16+
- If you have unsaved changes, stash them with `git stash -u`.
17+
- If you're on a different branch than `develop`, check out the develop branch using `git checkout develop`.
18+
- Pull the latest updates from the remote repository by running `git pull origin develop`.
19+
1620
2. Run `yarn changelog` on the `develop` branch and copy the output. You can use `yarn changelog | pbcopy` to copy the output of `yarn changelog` into your clipboard.
17-
3. Decide on a version for the release based on [semver](mdc:https://semver.org). The version should be decided based on what is in included in the release. For example, if the release includes a new feature, we should increment the minor version. If it includes only bug fixes, we should increment the patch version.
21+
3. Decide on a version for the release based on [semver](mdc:https://semver.org). The version should be decided based on what is in included in the release. For example, if the release includes a new feature, we should increment the minor version. If it includes only bug fixes, we should increment the patch version. You can find the latest version in [CHANGELOG.md](mdc:CHANGELOG.md) at the very top.
1822
4. Create a branch `prepare-release/VERSION`, eg. `prepare-release/8.1.0`, off `develop`.
19-
5. Update [CHANGELOG.md](mdc:CHANGELOG.md) to add an entry for the next release number and a list of changes since the last release from the output of `yarn changelog`. See the `Updating the Changelog` section in [publishing-a-release.md](mdc:docs/publishing-a-release.md) for more details. If you remove changelog entries because they are not applicable, please let the user know.
23+
5. Update [CHANGELOG.md](mdc:CHANGELOG.md) to add an entry for the next release number and a list of changes since the last release from the output of `yarn changelog`. See the `Updating the Changelog` section in [publishing-a-release.md](mdc:docs/publishing-a-release.md) for more details. Do not remove any changelog entries.
2024
6. Commit the changes to [CHANGELOG.md](mdc:CHANGELOG.md) with `meta(changelog): Update changelog for VERSION` where `VERSION` is the version of the release, e.g. `meta(changelog): Update changelog for 8.1.0`
2125
7. Push the `prepare-release/VERSION` branch to origin and remind the user that the release PR needs to be opened from the `master` branch.
26+
8. In case you were working on a different branch, you can checkout back to the branch you were working on and continue your work by unstashing the changes you stashed earlier with the command `git stash pop` (only if you stashed changes).
2227

2328
## Key Commands
2429

.github/workflows/build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,6 +1168,7 @@ jobs:
11681168
job_lint,
11691169
job_check_format,
11701170
job_circular_dep_check,
1171+
job_size_check,
11711172
]
11721173
# Always run this, even if a dependent job failed
11731174
if: always()

.github/workflows/canary.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,8 @@ jobs:
7676
build-command: 'test:build-canary'
7777
label: 'create-react-app (canary)'
7878
- test-application: 'nextjs-app-dir'
79-
build-command: 'test:build-canary'
80-
label: 'nextjs-app-dir (canary)'
81-
- test-application: 'nextjs-app-dir'
82-
build-command: 'test:build-latest'
83-
label: 'nextjs-app-dir (latest)'
79+
build-command: 'test:build-15'
80+
label: 'nextjs-app-dir (next@15)'
8481
- test-application: 'nextjs-13'
8582
build-command: 'test:build-latest'
8683
label: 'nextjs-13 (latest)'
@@ -90,12 +87,15 @@ jobs:
9087
- test-application: 'nextjs-14'
9188
build-command: 'test:build-latest'
9289
label: 'nextjs-14 (latest)'
93-
- test-application: 'nextjs-15'
94-
build-command: 'test:build-canary'
95-
label: 'nextjs-15 (canary)'
9690
- test-application: 'nextjs-15'
9791
build-command: 'test:build-latest'
9892
label: 'nextjs-15 (latest)'
93+
- test-application: 'nextjs-16'
94+
build-command: 'test:build-canary'
95+
label: 'nextjs-16 (canary)'
96+
- test-application: 'nextjs-16'
97+
build-command: 'test:build-canary-webpack'
98+
label: 'nextjs-16 (canary-webpack)'
9999
- test-application: 'nextjs-turbo'
100100
build-command: 'test:build-canary'
101101
label: 'nextjs-turbo (canary)'

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,6 @@ packages/gatsby/gatsby-node.d.ts
6161
# intellij
6262
*.iml
6363
/**/.wrangler/*
64+
65+
#junit reports
66+
packages/**/*.junit.xml

.size-limit.js

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,14 @@ module.exports = [
3838
path: 'packages/browser/build/npm/esm/index.js',
3939
import: createImport('init', 'browserTracingIntegration'),
4040
gzip: true,
41-
limit: '40.7 KB',
41+
limit: '41 KB',
42+
},
43+
{
44+
name: '@sentry/browser (incl. Tracing, Profiling)',
45+
path: 'packages/browser/build/npm/esm/index.js',
46+
import: createImport('init', 'browserTracingIntegration', 'browserProfilingIntegration'),
47+
gzip: true,
48+
limit: '48 KB',
4249
},
4350
{
4451
name: '@sentry/browser (incl. Tracing, Replay)',
@@ -75,14 +82,14 @@ module.exports = [
7582
path: 'packages/browser/build/npm/esm/index.js',
7683
import: createImport('init', 'browserTracingIntegration', 'replayIntegration', 'replayCanvasIntegration'),
7784
gzip: true,
78-
limit: '84 KB',
85+
limit: '85 KB',
7986
},
8087
{
8188
name: '@sentry/browser (incl. Tracing, Replay, Feedback)',
8289
path: 'packages/browser/build/npm/esm/index.js',
8390
import: createImport('init', 'browserTracingIntegration', 'replayIntegration', 'feedbackIntegration'),
8491
gzip: true,
85-
limit: '96 KB',
92+
limit: '97 KB',
8693
},
8794
{
8895
name: '@sentry/browser (incl. Feedback)',
@@ -96,14 +103,14 @@ module.exports = [
96103
path: 'packages/browser/build/npm/esm/index.js',
97104
import: createImport('init', 'sendFeedback'),
98105
gzip: true,
99-
limit: '29 KB',
106+
limit: '30 KB',
100107
},
101108
{
102109
name: '@sentry/browser (incl. FeedbackAsync)',
103110
path: 'packages/browser/build/npm/esm/index.js',
104111
import: createImport('init', 'feedbackAsyncIntegration'),
105112
gzip: true,
106-
limit: '34 KB',
113+
limit: '35 KB',
107114
},
108115
// React SDK (ESM)
109116
{
@@ -128,7 +135,7 @@ module.exports = [
128135
path: 'packages/vue/build/esm/index.js',
129136
import: createImport('init'),
130137
gzip: true,
131-
limit: '29 KB',
138+
limit: '30 KB',
132139
},
133140
{
134141
name: '@sentry/vue (incl. Tracing)',
@@ -150,13 +157,13 @@ module.exports = [
150157
name: 'CDN Bundle',
151158
path: createCDNPath('bundle.min.js'),
152159
gzip: true,
153-
limit: '26 KB',
160+
limit: '27 KB',
154161
},
155162
{
156163
name: 'CDN Bundle (incl. Tracing)',
157164
path: createCDNPath('bundle.tracing.min.js'),
158165
gzip: true,
159-
limit: '41 KB',
166+
limit: '42 KB',
160167
},
161168
{
162169
name: 'CDN Bundle (incl. Tracing, Replay)',
@@ -183,7 +190,7 @@ module.exports = [
183190
path: createCDNPath('bundle.tracing.min.js'),
184191
gzip: false,
185192
brotli: false,
186-
limit: '120 KB',
193+
limit: '124 KB',
187194
},
188195
{
189196
name: 'CDN Bundle (incl. Tracing, Replay) - uncompressed',
@@ -206,7 +213,7 @@ module.exports = [
206213
import: createImport('init'),
207214
ignore: ['next/router', 'next/constants'],
208215
gzip: true,
209-
limit: '45 KB',
216+
limit: '46 KB',
210217
},
211218
// SvelteKit SDK (ESM)
212219
{
@@ -215,7 +222,7 @@ module.exports = [
215222
import: createImport('init'),
216223
ignore: ['$app/stores'],
217224
gzip: true,
218-
limit: '41 KB',
225+
limit: '42 KB',
219226
},
220227
// Node-Core SDK (ESM)
221228
{
@@ -233,7 +240,7 @@ module.exports = [
233240
import: createImport('init'),
234241
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
235242
gzip: true,
236-
limit: '156 KB',
243+
limit: '158 KB',
237244
},
238245
{
239246
name: '@sentry/node - without tracing',

CHANGELOG.md

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

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

7+
Work in this release was contributed by @hanseo0507. Thank you for your contribution!
8+
9+
## 10.22.0
10+
11+
### Important Changes
12+
13+
- **feat(node): Instrument cloud functions for firebase v2 ([#17952](https://github.com/getsentry/sentry-javascript/pull/17952))**
14+
15+
We added instrumentation for Cloud Functions for Firebase v2, enabling automatic performance tracking and error monitoring. This will be added automatically if you have enabled tracing.
16+
17+
- **feat(core): Instrument LangChain AI ([#17955](https://github.com/getsentry/sentry-javascript/pull/17955))**
18+
19+
Instrumentation was added for LangChain AI operations. You can configure what is recorded like this:
20+
21+
```ts
22+
Sentry.init({
23+
integrations: [
24+
Sentry.langChainIntegration({
25+
recordInputs: true, // Record prompts/messages
26+
recordOutputs: true, // Record responses
27+
}),
28+
],
29+
});
30+
```
31+
32+
### Other Changes
33+
34+
- feat(cloudflare,vercel-edge): Add support for LangChain instrumentation ([#17986](https://github.com/getsentry/sentry-javascript/pull/17986))
35+
- feat: Align sentry origin with documentation ([#17998](https://github.com/getsentry/sentry-javascript/pull/17998))
36+
- feat(core): Truncate request messages in AI integrations ([#17921](https://github.com/getsentry/sentry-javascript/pull/17921))
37+
- feat(nextjs): Support node runtime on proxy files ([#17995](https://github.com/getsentry/sentry-javascript/pull/17995))
38+
- feat(node): Pass requestHook and responseHook option to OTel ([#17996](https://github.com/getsentry/sentry-javascript/pull/17996))
39+
- fix(core): Fix wrong async types when instrumenting anthropic's stream api ([#18007](https://github.com/getsentry/sentry-javascript/pull/18007))
40+
- fix(nextjs): Remove usage of chalk to avoid runtime errors ([#18010](https://github.com/getsentry/sentry-javascript/pull/18010))
41+
- fix(node): Pino capture serialized `err` ([#17999](https://github.com/getsentry/sentry-javascript/pull/17999))
42+
- fix(node): Pino child loggers ([#17934](https://github.com/getsentry/sentry-javascript/pull/17934))
43+
- fix(react): Don't trim index route `/` when getting pathname ([#17985](https://github.com/getsentry/sentry-javascript/pull/17985))
44+
- fix(react): Patch `spanEnd` for potentially cancelled lazy-route transactions ([#17962](https://github.com/getsentry/sentry-javascript/pull/17962))
45+
46+
<details>
47+
<summary> <strong>Internal Changes</strong> </summary>
48+
49+
- chore: Add required size_check for GH Actions ([#18009](https://github.com/getsentry/sentry-javascript/pull/18009))
50+
- chore: Upgrade madge to v8 ([#17957](https://github.com/getsentry/sentry-javascript/pull/17957))
51+
- test(hono): Fix hono e2e tests ([#18000](https://github.com/getsentry/sentry-javascript/pull/18000))
52+
- test(react-router): Fix `getMetaTagTransformer` tests for Vitest compatibility ([#18013](https://github.com/getsentry/sentry-javascript/pull/18013))
53+
- test(react): Add parameterized route tests for `createHashRouter` ([#17789](https://github.com/getsentry/sentry-javascript/pull/17789))
54+
55+
</details>
56+
57+
## 10.21.0
58+
59+
### Important Changes
60+
61+
- **feat(browserProfiling): Add `trace` lifecycle mode for UI profiling ([#17619](https://github.com/getsentry/sentry-javascript/pull/17619))**
62+
63+
Adds a new `trace` lifecycle mode for UI profiling, allowing profiles to be captured for the duration of a trace. A `manual` mode will be added in a future release.
64+
65+
- **feat(nuxt): Instrument Database ([#17899](https://github.com/getsentry/sentry-javascript/pull/17899))**
66+
67+
Adds instrumentation for Nuxt database operations, enabling better performance tracking of database queries.
68+
69+
- **feat(nuxt): Instrument server cache API ([#17886](https://github.com/getsentry/sentry-javascript/pull/17886))**
70+
71+
Adds instrumentation for Nuxt's server cache API, providing visibility into cache operations.
72+
73+
- **feat(nuxt): Instrument storage API ([#17858](https://github.com/getsentry/sentry-javascript/pull/17858))**
74+
75+
Adds instrumentation for Nuxt's storage API, enabling tracking of storage operations.
76+
77+
### Other Changes
78+
79+
- feat(browser): Add `onRequestSpanEnd` hook to browser tracing integration ([#17884](https://github.com/getsentry/sentry-javascript/pull/17884))
80+
- feat(nextjs): Support Next.js proxy files ([#17926](https://github.com/getsentry/sentry-javascript/pull/17926))
81+
- feat(replay): Record outcome when event buffer size exceeded ([#17946](https://github.com/getsentry/sentry-javascript/pull/17946))
82+
- fix(cloudflare): copy execution context in durable objects and handlers ([#17786](https://github.com/getsentry/sentry-javascript/pull/17786))
83+
- fix(core): Fix and add missing cache attributes in Vercel AI ([#17982](https://github.com/getsentry/sentry-javascript/pull/17982))
84+
- fix(core): Improve uuid performance ([#17938](https://github.com/getsentry/sentry-javascript/pull/17938))
85+
- fix(ember): Use updated version for `clean-css` ([#17979](https://github.com/getsentry/sentry-javascript/pull/17979))
86+
- fix(nextjs): Don't set experimental instrumentation hook flag for next 16 ([#17978](https://github.com/getsentry/sentry-javascript/pull/17978))
87+
- fix(nextjs): Inconsistent transaction naming for i18n routing ([#17927](https://github.com/getsentry/sentry-javascript/pull/17927))
88+
- fix(nextjs): Update bundler detection ([#17976](https://github.com/getsentry/sentry-javascript/pull/17976))
89+
90+
<details>
91+
<summary> <strong>Internal Changes</strong> </summary>
92+
93+
- build: Update to typescript 5.8.0 ([#17710](https://github.com/getsentry/sentry-javascript/pull/17710))
94+
- chore: Add external contributor to CHANGELOG.md ([#17949](https://github.com/getsentry/sentry-javascript/pull/17949))
95+
- chore(build): Upgrade nodemon to 3.1.10 ([#17956](https://github.com/getsentry/sentry-javascript/pull/17956))
96+
- chore(ci): Fix external contributor action when multiple contributions existed ([#17950](https://github.com/getsentry/sentry-javascript/pull/17950))
97+
- chore(solid): Remove unnecessary import from README ([#17947](https://github.com/getsentry/sentry-javascript/pull/17947))
98+
- test(nextjs): Fix proxy/middleware test ([#17970](https://github.com/getsentry/sentry-javascript/pull/17970))
99+
100+
</details>
101+
102+
Work in this release was contributed by @0xbad0c0d3. Thank you for your contribution!
103+
104+
## 10.20.0
105+
106+
### Important Changes
107+
108+
- **feat(flags): Add Growthbook integration ([#17440](https://github.com/getsentry/sentry-javascript/pull/17440))**
109+
110+
Adds a new Growthbook integration for feature flag support.
111+
112+
- **feat(solid): Add support for TanStack Router Solid ([#17735](https://github.com/getsentry/sentry-javascript/pull/17735))**
113+
114+
Adds support for TanStack Router in the Solid SDK, enabling better routing instrumentation for Solid applications.
115+
116+
- **feat(nextjs): Support native debugIds in turbopack ([#17853](https://github.com/getsentry/sentry-javascript/pull/17853))**
117+
118+
Adds support for native Debug IDs in Turbopack, improving source map resolution and error tracking for Next.js applications using Turbopack. Native Debug ID generation will be enabled automatically for compatible versions.
119+
120+
### Other Changes
121+
122+
- feat(nextjs): Prepare for next 16 bundler default ([#17868](https://github.com/getsentry/sentry-javascript/pull/17868))
123+
- feat(node): Capture `pino` logger name ([#17930](https://github.com/getsentry/sentry-javascript/pull/17930))
124+
- fix(browser): Ignore React 19.2+ component render measure entries ([#17905](https://github.com/getsentry/sentry-javascript/pull/17905))
125+
- fix(nextjs): Fix createRouteManifest with basePath ([#17838](https://github.com/getsentry/sentry-javascript/pull/17838))
126+
- fix(react): Add `POP` guard for long-running `pageload` spans ([#17867](https://github.com/getsentry/sentry-javascript/pull/17867))
127+
- fix(tracemetrics): Send boolean for internal replay attribute ([#17908](https://github.com/getsentry/sentry-javascript/pull/17908))
128+
- ref(core): Add weight tracking logic to browser logs/metrics ([#17901](https://github.com/getsentry/sentry-javascript/pull/17901))
129+
130+
<details>
131+
<summary> <strong>Internal Changes</strong> </summary>
132+
- chore(nextjs): Add Next.js 16 peer dependency ([#17925](https://github.com/getsentry/sentry-javascript/pull/17925))
133+
- chore(ci): Update Next.js canary testing ([#17939](https://github.com/getsentry/sentry-javascript/pull/17939))
134+
- chore: Bump size limit ([#17941](https://github.com/getsentry/sentry-javascript/pull/17941))
135+
- test(nextjs): Add next@16 e2e test ([#17922](https://github.com/getsentry/sentry-javascript/pull/17922))
136+
- test(nextjs): Update next 15 tests ([#17919](https://github.com/getsentry/sentry-javascript/pull/17919))
137+
- chore: Add external contributor to CHANGELOG.md ([#17915](https://github.com/getsentry/sentry-javascript/pull/17915))
138+
- chore: Add external contributor to CHANGELOG.md ([#17928](https://github.com/getsentry/sentry-javascript/pull/17928))
139+
- chore: Add external contributor to CHANGELOG.md ([#17940](https://github.com/getsentry/sentry-javascript/pull/17940))
140+
</details>
141+
142+
Work in this release was contributed by @seoyeon9888, @madhuchavva and @thedanchez. Thank you for your contributions!
143+
144+
## 10.19.0
145+
146+
- feat(tracemetrics): Add trace metrics behind an experiments flag ([#17883](https://github.com/getsentry/sentry-javascript/pull/17883))
147+
148+
<details>
149+
<summary> <strong>Internal Changes</strong> </summary>
150+
151+
- chore: add info latest release for the cursor release command ([#17876](https://github.com/getsentry/sentry-javascript/pull/17876))
152+
153+
</details>
154+
155+
## 10.18.0
156+
157+
### Important Changes
158+
159+
- **feat(node): `pino` integration ([#17584](https://github.com/getsentry/sentry-javascript/pull/17584))**
160+
161+
This release adds a new `pino` integration for Node.js, enabling Sentry to capture logs from the Pino logging library.
162+
163+
- **feat: Remove @sentry/pino-transport package ([#17851](https://github.com/getsentry/sentry-javascript/pull/17851))**
164+
165+
The `@sentry/pino-transport` package has been removed. Please use the new `pino` integration in `@sentry/node` instead.
166+
167+
- **feat(node-core): Extend onnhandledrejection with ignore errors option ([#17736](https://github.com/getsentry/sentry-javascript/pull/17736))**
168+
169+
Added support for selectively suppressing specific errors with configurable logging control in onnhandledrejection integration.
170+
171+
### Other Changes
172+
173+
- feat(core): Rename vercelai.schema to gen_ai.request.schema ([#17850](https://github.com/getsentry/sentry-javascript/pull/17850))
174+
- feat(core): Support stream responses and tool calls for Google GenAI ([#17664](https://github.com/getsentry/sentry-javascript/pull/17664))
175+
- feat(nextjs): Attach headers using client hook ([#17831](https://github.com/getsentry/sentry-javascript/pull/17831))
176+
- fix(core): Keep all property values in baggage header ([#17847](https://github.com/getsentry/sentry-javascript/pull/17847))
177+
- fix(nestjs): Add support for Symbol as event name ([#17785](https://github.com/getsentry/sentry-javascript/pull/17785))
178+
- fix(nuxt): include `sentry.client.config.ts` in nuxt app types ([#17830](https://github.com/getsentry/sentry-javascript/pull/17830))
179+
- fix(react-router): Fix type for `OriginalHandleRequest` with middleware ([#17870](https://github.com/getsentry/sentry-javascript/pull/17870))
180+
181+
<details>
182+
<summary> <strong>Internal Changes</strong> </summary>
183+
184+
- chore: Add external contributor to CHANGELOG.md ([#17866](https://github.com/getsentry/sentry-javascript/pull/17866))
185+
- chore(deps): Bump @sentry/cli from 2.53.0 to 2.56.0 ([#17819](https://github.com/getsentry/sentry-javascript/pull/17819))
186+
- chore(deps): Bump axios in browser integration tests ([#17839](https://github.com/getsentry/sentry-javascript/pull/17839))
187+
- chore(deps): Bump nestjs in integration tests ([#17840](https://github.com/getsentry/sentry-javascript/pull/17840))
188+
189+
</details>
190+
7191
Work in this release was contributed by @stefanvanderwolf. Thank you for your contribution!
8192

9193
## 10.17.0

0 commit comments

Comments
 (0)