Skip to content

Commit 436b892

Browse files
authored
Merge branch 'develop' into feat/redis-tests-span-streaming
2 parents 8061f44 + 84d6378 commit 436b892

502 files changed

Lines changed: 12753 additions & 6889 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.

‎.github/workflows/build.yml‎

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -337,12 +337,13 @@ jobs:
337337
uses: ./.github/actions/restore-cache
338338
with:
339339
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
340-
- name: Lint source files
341-
run: yarn lint
342-
- name: Lint for ES compatibility
343-
run: yarn lint:es-compatibility
344-
- name: Lint types
345-
run: yarn lint:types
340+
- parallel:
341+
- name: Lint source files
342+
run: yarn lint
343+
- name: Lint for ES compatibility
344+
run: yarn lint:es-compatibility
345+
- name: Lint types
346+
run: yarn lint:types
346347

347348
job_check_lockfile:
348349
name: Check lockfile

‎.size-limit.js‎

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ module.exports = [
465465
path: 'packages/node/build/esm/index.js',
466466
import: createImport('init'),
467467
gzip: true,
468-
limit: '129 KB',
468+
limit: '130 KB',
469469
disablePlugins: ['@size-limit/esbuild'],
470470
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
471471
modifyWebpackConfig: function (config) {
@@ -533,6 +533,27 @@ module.exports = [
533533
return config;
534534
},
535535
},
536+
// Next.js on Cloudflare Workers (ESM) - minified to match `wrangler deploy --dry-run --minify` output. An import of
537+
// `@sentry/node` in this entry more than doubles its size.
538+
{
539+
name: '@sentry/nextjs/cloudflare (withSentry) - minified',
540+
path: 'packages/nextjs/build/esm/cloudflare/index.js',
541+
import: createImport('withSentry'),
542+
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
543+
gzip: false,
544+
brotli: false,
545+
limit: '223 KiB',
546+
disablePlugins: ['@size-limit/webpack'],
547+
webpack: false,
548+
modifyEsbuildConfig: function (config) {
549+
config.keepNames = true;
550+
// Match wrangler's build settings
551+
config.conditions = ['workerd', 'worker', 'browser'];
552+
config.platform = 'browser';
553+
config.format = 'esm';
554+
return config;
555+
},
556+
},
536557
];
537558

538559
function createImport(...args) {

‎.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": "11.5.0"
3+
"version": "11.6.0"
44
}

‎AGENTS.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Uses **Git Flow** (see `docs/gitflow.md`).
5555
1. `yarn format`
5656
2. `yarn build:dev`
5757
3. `yarn lint`
58-
4. `yarn test`
58+
4. Run the unit and integration/E2E tests for the affected packages.
5959
5. NEVER push on `develop`
6060

6161
## Pull Requests

‎CHANGELOG.md‎

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

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

7+
## 11.6.0
8+
9+
### Important Changes
10+
11+
- **feat(nextjs): Add `@sentry/nextjs/cloudflare` ([#24998](https://github.com/getsentry/sentry-javascript/pull/24998))**
12+
13+
The new `@sentry/nextjs/cloudflare` entry point exports `withSentry` for the Worker entry of a Next.js app on Cloudflare Workers, for example `.open-next/worker.js` of OpenNext. It is `withSentry` of `@sentry/cloudflare` with the Next.js server handling added, so a Next.js app on Workers gets the same spans as on Node.js.
14+
15+
```ts
16+
import * as Sentry from '@sentry/nextjs/cloudflare';
17+
import handler from './.open-next/worker.js';
18+
19+
export default Sentry.withSentry(
20+
env => ({
21+
dsn: env.SENTRY_DSN,
22+
tracesSampleRate: 1.0,
23+
}),
24+
handler,
25+
);
26+
```
27+
28+
- **feat(server-utils): Add instrumentation for pi-durable ([#24993](https://github.com/getsentry/sentry-javascript/pull/24993))**
29+
30+
The new `piDurableIntegration` traces agents built with [pi-durable](https://github.com/earendil-works/pi/tree/main/packages/durable): each run, with its model requests and tool calls.
31+
32+
- **fix(core): Correct sleep clock drift on telemetry timestamps ([#23054](https://github.com/getsentry/sentry-javascript/pull/23054))**
33+
34+
When a device sleeps, the `performance.now()` clock of the browser stops. Before this change, timestamps of spans and other telemetry recorded after the sleep could be too early. The SDK now detects this drift and corrects its time origin, also for spans created from performance entries. Span end times are now computed from the `performance.now()` duration since the span start, like in OpenTelemetry ([#24903](https://github.com/getsentry/sentry-javascript/pull/24903)).
35+
36+
### Other Changes
37+
38+
- feat(cloudflare): Skip spans for the pi_ tables of PiHarness ([#25028](https://github.com/getsentry/sentry-javascript/pull/25028))
39+
- feat(remix): Propagate the server trace to Remix 3 page loads ([#25145](https://github.com/getsentry/sentry-javascript/pull/25145))
40+
- feat(server-utils): Map Mastra classifier evaluations to gen_ai.evaluate spans ([#25044](https://github.com/getsentry/sentry-javascript/pull/25044))
41+
- feat(server-utils): Record LangChain TypeSafeClassifier runs as gen_ai.evaluate spans ([#25120](https://github.com/getsentry/sentry-javascript/pull/25120))
42+
- fix(browser): Check for clock drift on page lifecycle events ([#25091](https://github.com/getsentry/sentry-javascript/pull/25091))
43+
- fix(core): Exclude attachments from internal exception events ([#25160](https://github.com/getsentry/sentry-javascript/pull/25160))
44+
- fix(effect): Convert Effect span times to the Sentry clock ([#24972](https://github.com/getsentry/sentry-javascript/pull/24972))
45+
- fix(effect): Detect HTTP spans named after the request method ([#25159](https://github.com/getsentry/sentry-javascript/pull/25159))
46+
- fix(node): Register Vercel keep-alive listeners once ([#25146](https://github.com/getsentry/sentry-javascript/pull/25146))
47+
- fix(replay): Place CLS and INP web vitals at the right time ([#24990](https://github.com/getsentry/sentry-javascript/pull/24990))
48+
- fix(server-utils): Record LangGraph span I/O for non-MessagesAnnotation state ([#23315](https://github.com/getsentry/sentry-javascript/pull/23315))
49+
- fix(sveltekit): Upload source maps with SvelteKit 3 ([#25139](https://github.com/getsentry/sentry-javascript/pull/25139))
50+
51+
<details>
52+
<summary> <strong>Internal Changes</strong> </summary>
53+
54+
- chore: Add external contributor to CHANGELOG.md ([#25136](https://github.com/getsentry/sentry-javascript/pull/25136))
55+
- chore(deps-dev): Bump next from 15.5.24 to 15.5.27 ([#25171](https://github.com/getsentry/sentry-javascript/pull/25171))
56+
- chore(nitro): Remove stale bundler-plugin-core rollup external ([#25149](https://github.com/getsentry/sentry-javascript/pull/25149))
57+
- feat(cloudflare): Wrap vinext Worker entries with `@sentry/nextjs/cloudflare` ([#25000](https://github.com/getsentry/sentry-javascript/pull/25000))
58+
- feat(deps): Bump next from 16.2.11 to 16.3.8 in /dev-packages/e2e-tests/test-applications/nextjs-sourcemaps ([#25170](https://github.com/getsentry/sentry-javascript/pull/25170))
59+
- fix(deps): Bump @graphql-tools/utils to 12.0.3 ([#25162](https://github.com/getsentry/sentry-javascript/pull/25162))
60+
- ref(eslint-plugin-sdk): Improve `no-unsafe-random-apis` rule ([#25123](https://github.com/getsentry/sentry-javascript/pull/25123))
61+
- test(cloudflare): Port the remaining static suites to span streaming ([#25112](https://github.com/getsentry/sentry-javascript/pull/25112))
62+
- test(cloudflare): Widen the wrangler readiness retry window in integration tests ([#24925](https://github.com/getsentry/sentry-javascript/pull/24925))
63+
- test(e2e): Add a cloudflare-pi-durable end-to-end application ([#25022](https://github.com/getsentry/sentry-javascript/pull/25022))
64+
- test(e2e): Add a node-pi-durable end-to-end application ([#24994](https://github.com/getsentry/sentry-javascript/pull/24994))
65+
- test(e2e): Add Mastra Jev classifier test to node-mastra ([#25115](https://github.com/getsentry/sentry-javascript/pull/25115))
66+
- test(e2e): Wait for the soft navigation entry before hiding the page ([#25127](https://github.com/getsentry/sentry-javascript/pull/25127))
67+
- test(nextjs): Run nextjs-16 on Bun, Deno and Cloudflare ([#24999](https://github.com/getsentry/sentry-javascript/pull/24999))
68+
- test(node): Add streamed span collection helpers ([#25131](https://github.com/getsentry/sentry-javascript/pull/25131))
69+
- test(node): Cover Jev calls inside createAgent and LangGraph ([#25132](https://github.com/getsentry/sentry-javascript/pull/25132))
70+
- test(node): Port AMQP integration tests to span streaming ([#25158](https://github.com/getsentry/sentry-javascript/pull/25158))
71+
- test(node): Port Anthropic integration tests to span streaming ([#25082](https://github.com/getsentry/sentry-javascript/pull/25082))
72+
- test(node): Port Bedrock tests to span streaming ([#25086](https://github.com/getsentry/sentry-javascript/pull/25086))
73+
- test(node): Port Google GenAI tests to span streaming ([#25083](https://github.com/getsentry/sentry-javascript/pull/25083))
74+
- test(node): Port Knex integration tests to span streaming ([#25154](https://github.com/getsentry/sentry-javascript/pull/25154))
75+
- test(node): Port LangChain tests to span streaming ([#25084](https://github.com/getsentry/sentry-javascript/pull/25084))
76+
- test(node): Port LangGraph tests to span streaming ([#25085](https://github.com/getsentry/sentry-javascript/pull/25085))
77+
- test(node): Port Mastra tests to span streaming ([#25087](https://github.com/getsentry/sentry-javascript/pull/25087))
78+
- test(node): Port MySQL integration tests to span streaming ([#25148](https://github.com/getsentry/sentry-javascript/pull/25148))
79+
- test(node): Port OpenAI integration tests to span streaming ([#25081](https://github.com/getsentry/sentry-javascript/pull/25081))
80+
- test(node): Port pool and DataLoader integration tests to span streaming ([#25156](https://github.com/getsentry/sentry-javascript/pull/25156))
81+
- test(node): Port Tedious integration tests to span streaming ([#25155](https://github.com/getsentry/sentry-javascript/pull/25155))
82+
- test(node): Port Vercel AI v5-v7 tests to span streaming ([#25090](https://github.com/getsentry/sentry-javascript/pull/25090))
83+
84+
</details>
85+
786
Work in this release was contributed by @zkasuran. Thank you for your contribution!
887

988
## 11.5.0

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/browser-integration-tests",
3-
"version": "11.5.0",
3+
"version": "11.6.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.63.0",
6262
"@sentry/rrweb": "2.44.1",
63-
"@sentry/browser": "11.5.0",
64-
"@sentry/replay": "11.5.0",
65-
"@sentry/opentelemetry": "11.5.0",
63+
"@sentry/browser": "11.6.0",
64+
"@sentry/replay": "11.6.0",
65+
"@sentry/opentelemetry": "11.6.0",
6666
"@sentry/conventions": "0.26.0",
6767
"@supabase/supabase-js": "2.109.0",
6868
"axios": "1.20.0",

‎dev-packages/bun-integration-tests/node-suites/excludes.ts‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ const NO_HTTP_SERVER_SPANS = [
2121
'suites/tracing/envelope-header/sampleRate-propagation/test.ts',
2222
'suites/tracing/httpIntegration-streamed/test.ts',
2323
'suites/tracing/httpIntegration/test.ts',
24-
'suites/tracing/httpServerSpans-streamed-unrouted/test.ts',
24+
'suites/tracing/httpServerSpans-unrouted/test.ts',
2525
'suites/tracing/ignoreSpans-streamed/**',
2626
'suites/tracing/meta-tags-twp-errors/test.ts',
2727
'suites/tracing/meta-tags/test.ts',
28-
'suites/tracing/requestData-streamed/test.ts',
28+
'suites/tracing/requestData/test.ts',
2929
'suites/tracing/sample-rand-propagation/test.ts',
3030
'suites/tracing/sample-rate-propagation/**',
3131
'suites/tracing/sampling-static/test.ts',
@@ -100,7 +100,7 @@ export const NO_AUTO_INSTRUMENTATION = [
100100
'suites/tracing/knex/**',
101101
'suites/tracing/koa/test.ts',
102102
'suites/tracing/langchain/**',
103-
'suites/tracing/langgraph/test.ts',
103+
'suites/tracing/langgraph/**',
104104
'suites/tracing/lru-memoizer/test.ts',
105105
'suites/tracing/mastra/test.ts',
106106
'suites/tracing/mcp-handler-exact-once/test.ts',
@@ -124,6 +124,7 @@ export const NO_AUTO_INSTRUMENTATION = [
124124
'suites/tracing/openai/v6/test.ts',
125125
'suites/tracing/openai/v7/test.ts',
126126
'suites/tracing/orchestrion-lazy-registration/test.ts',
127+
'suites/tracing/pi-durable/test.ts',
127128
'suites/tracing/postgres-streamed/test.ts',
128129
'suites/tracing/postgres/test.ts',
129130
'suites/tracing/postgresjs-streamed/test.ts',
@@ -244,6 +245,7 @@ const BUN_BUILD_NOT_TRIAGED = [
244245
'suites/tracing/google-genai-v2/test.ts',
245246
'suites/tracing/google-genai/test.ts',
246247
'suites/tracing/langchain/v1/test.ts',
248+
'suites/tracing/langgraph/v1/test.ts',
247249
'suites/tracing/mastra/test.ts',
248250
'suites/tracing/mcp-handler-exact-once/test.ts',
249251
'suites/tracing/mcp-server-streamed/test.ts',

‎dev-packages/bun-integration-tests/package.json‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/bun-integration-tests",
3-
"version": "11.5.0",
3+
"version": "11.6.0",
44
"license": "MIT",
55
"engines": {
66
"node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0"
@@ -14,15 +14,15 @@
1414
"test:watch": "yarn test --watch"
1515
},
1616
"dependencies": {
17-
"@sentry/bun": "11.5.0",
18-
"@sentry/hono": "11.5.0",
17+
"@sentry/bun": "11.6.0",
18+
"@sentry/hono": "11.6.0",
1919
"hono": "^4.13.7",
2020
"mysql": "^2.18.1",
2121
"pg": "8.16.0"
2222
},
2323
"devDependencies": {
24-
"@sentry-internal/node-integration-tests": "11.5.0",
25-
"@sentry-internal/test-utils": "11.5.0",
24+
"@sentry-internal/node-integration-tests": "11.6.0",
25+
"@sentry-internal/test-utils": "11.6.0",
2626
"bun-types": "^1.2.9",
2727
"vitest": "^4.1.11"
2828
},

‎dev-packages/bundler-plugin-integration-tests/fixtures/esbuild/package.json‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
"type": "module",
66
"dependencies": {
77
"esbuild": "0.28.0",
8-
"@sentry/bundler-plugins": "11.5.0"
8+
"@sentry/bundler-plugins": "11.6.0"
99
},
1010
"pnpm": {
1111
"overrides": {
12-
"@sentry/bundler-plugins": "file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.5.0.tgz",
13-
"@sentry/core": "file:../../../../packages/core/sentry-core-11.5.0.tgz",
12+
"@sentry/bundler-plugins": "file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.6.0.tgz",
13+
"@sentry/core": "file:../../../../packages/core/sentry-core-11.6.0.tgz",
1414
"sentry": "file:../sentry-stub"
1515
}
1616
}

‎dev-packages/bundler-plugin-integration-tests/fixtures/rolldown/package.json‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
"private": true,
55
"type": "module",
66
"dependencies": {
7-
"@sentry/bundler-plugins": "11.5.0",
7+
"@sentry/bundler-plugins": "11.6.0",
88
"react": "19.2.4",
99
"rolldown": "1.0.0"
1010
},
1111
"pnpm": {
1212
"overrides": {
13-
"@sentry/bundler-plugins": "file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.5.0.tgz",
14-
"@sentry/core": "file:../../../../packages/core/sentry-core-11.5.0.tgz",
13+
"@sentry/bundler-plugins": "file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.6.0.tgz",
14+
"@sentry/core": "file:../../../../packages/core/sentry-core-11.6.0.tgz",
1515
"sentry": "file:../sentry-stub"
1616
}
1717
}

0 commit comments

Comments
 (0)