Skip to content

Commit e63915a

Browse files
authored
Merge branch 'develop' into onur/supabase-queues
2 parents cca8734 + 2e5f6b6 commit e63915a

File tree

75 files changed

+889
-427
lines changed

Some content is hidden

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

75 files changed

+889
-427
lines changed

CHANGELOG.md

+24
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,30 @@
1010

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

13+
## 9.14.0
14+
15+
### Important Changes
16+
17+
- **feat: Add Supabase Integration ([#15719](https://github.com/getsentry/sentry-javascript/pull/15719))**
18+
19+
This PR adds Supabase integration to `@sentry/core`, allowing automatic instrumentation of Supabase client operations (database queries and authentication) for performance monitoring and error tracking.
20+
21+
- **feat(nestjs): Gracefully handle RPC scenarios in `SentryGlobalFilter` ([#16066](https://github.com/getsentry/sentry-javascript/pull/16066))**
22+
23+
This PR adds better RPC exception handling to `@sentry/nestjs`, preventing application crashes while still capturing errors and warning users when a dedicated filter is needed. The implementation gracefully handles the 'rpc' context type in `SentryGlobalFilter` to improve reliability in hybrid applications.
24+
25+
- **feat(react-router): Trace propagation ([#16070](https://github.com/getsentry/sentry-javascript/pull/16070))**
26+
27+
This PR adds trace propagation to `@sentry/react-router` by providing utilities to inject trace meta tags into HTML headers and offering a pre-built Sentry-instrumented request handler, improving distributed tracing capabilities across page loads.
28+
29+
### Other Changes
30+
31+
- feat(deps): Bump @prisma/instrumentation from 6.5.0 to 6.6.0 ([#16102](https://github.com/getsentry/sentry-javascript/pull/16102))
32+
- feat(nextjs): Improve server component data ([#15996](https://github.com/getsentry/sentry-javascript/pull/15996))
33+
- feat(nuxt): Log when adding HTML trace meta tags ([#16044](https://github.com/getsentry/sentry-javascript/pull/16044))
34+
- fix(node): Make body capturing more robust ([#16105](https://github.com/getsentry/sentry-javascript/pull/16105))
35+
- ref(node): Log when incoming request bodies are being captured ([#16104](https://github.com/getsentry/sentry-javascript/pull/16104))
36+
1337
## 9.13.0
1438

1539
### Important Changes

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/browser-integration-tests",
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"main": "index.js",
55
"license": "MIT",
66
"engines": {
@@ -42,7 +42,7 @@
4242
"@babel/preset-typescript": "^7.16.7",
4343
"@playwright/test": "~1.50.0",
4444
"@sentry-internal/rrweb": "2.34.0",
45-
"@sentry/browser": "9.13.0",
45+
"@sentry/browser": "9.14.0",
4646
"@supabase/supabase-js": "2.49.3",
4747
"axios": "1.8.2",
4848
"babel-loader": "^8.2.2",

dev-packages/bundle-analyzer-scenarios/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/bundle-analyzer-scenarios",
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"description": "Scenarios to test bundle analysis with",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/dev-packages/bundle-analyzer-scenarios",

dev-packages/clear-cache-gh-action/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@sentry-internal/clear-cache-gh-action",
33
"description": "An internal Github Action to clear GitHub caches.",
4-
"version": "9.13.0",
4+
"version": "9.14.0",
55
"license": "MIT",
66
"engines": {
77
"node": ">=18"

dev-packages/e2e-tests/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/e2e-tests",
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"license": "MIT",
55
"private": true,
66
"scripts": {

dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/server-components.test.ts

+8
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@ test('Should set a "not_found" status on a server component span when notFound()
7979
description: 'Page Server Component (/server-component/not-found)',
8080
op: 'function.nextjs',
8181
status: 'not_found',
82+
data: expect.objectContaining({
83+
'sentry.nextjs.function.type': 'Page',
84+
'sentry.nextjs.function.route': '/server-component/not-found',
85+
}),
8286
}),
8387
);
8488
});
@@ -107,6 +111,10 @@ test('Should capture an error and transaction for a app router page', async ({ p
107111
description: 'Page Server Component (/server-component/faulty)',
108112
op: 'function.nextjs',
109113
status: 'internal_error',
114+
data: expect.objectContaining({
115+
'sentry.nextjs.function.type': 'Page',
116+
'sentry.nextjs.function.route': '/server-component/faulty',
117+
}),
110118
}),
111119
);
112120

dev-packages/e2e-tests/test-applications/node-fastify-5/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"@sentry/core": "latest || *",
1616
"@sentry/opentelemetry": "latest || *",
1717
"@types/node": "^18.19.1",
18-
"fastify": "5.0.0",
18+
"fastify": "5.3.2",
1919
"typescript": "5.6.3",
2020
"ts-node": "10.9.2"
2121
},

dev-packages/e2e-tests/test-applications/node-fastify/src/app.ts

+4
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,10 @@ app.get('/test-outgoing-http-external-disallowed', async function (req, res) {
119119
res.send(data);
120120
});
121121

122+
app.post('/test-post', function (req, res) {
123+
res.send({ status: 'ok', body: req.body });
124+
});
125+
122126
app.listen({ port: port });
123127

124128
// A second app so we can test header propagation between external URLs

dev-packages/e2e-tests/test-applications/node-fastify/tests/transactions.test.ts

+37
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,40 @@ test('Sends an API route transaction', async ({ baseURL }) => {
124124
origin: 'manual',
125125
});
126126
});
127+
128+
test('Captures request metadata', async ({ baseURL }) => {
129+
const transactionEventPromise = waitForTransaction('node-fastify', transactionEvent => {
130+
return (
131+
transactionEvent?.contexts?.trace?.op === 'http.server' && transactionEvent?.transaction === 'POST /test-post'
132+
);
133+
});
134+
135+
const res = await fetch(`${baseURL}/test-post`, {
136+
method: 'POST',
137+
body: JSON.stringify({ foo: 'bar', other: 1 }),
138+
headers: {
139+
'Content-Type': 'application/json',
140+
},
141+
});
142+
const resBody = await res.json();
143+
144+
expect(resBody).toEqual({ status: 'ok', body: { foo: 'bar', other: 1 } });
145+
146+
const transactionEvent = await transactionEventPromise;
147+
148+
expect(transactionEvent.request).toEqual({
149+
cookies: {},
150+
url: expect.stringMatching(/^http:\/\/localhost:(\d+)\/test-post$/),
151+
method: 'POST',
152+
headers: expect.objectContaining({
153+
'user-agent': expect.stringContaining(''),
154+
'content-type': 'application/json',
155+
}),
156+
data: JSON.stringify({
157+
foo: 'bar',
158+
other: 1,
159+
}),
160+
});
161+
162+
expect(transactionEvent.user).toEqual(undefined);
163+
});

dev-packages/external-contributor-gh-action/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@sentry-internal/external-contributor-gh-action",
33
"description": "An internal Github Action to add external contributors to the CHANGELOG.md file.",
4-
"version": "9.13.0",
4+
"version": "9.14.0",
55
"license": "MIT",
66
"engines": {
77
"node": ">=18"

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

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/node-integration-tests",
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"license": "MIT",
55
"engines": {
66
"node": ">=18"
@@ -30,9 +30,9 @@
3030
"@nestjs/common": "11.0.16",
3131
"@nestjs/core": "10.4.6",
3232
"@nestjs/platform-express": "10.4.6",
33-
"@sentry/aws-serverless": "9.13.0",
34-
"@sentry/core": "9.13.0",
35-
"@sentry/node": "9.13.0",
33+
"@sentry/aws-serverless": "9.14.0",
34+
"@sentry/core": "9.14.0",
35+
"@sentry/node": "9.14.0",
3636
"@types/mongodb": "^3.6.20",
3737
"@types/mysql": "^2.15.21",
3838
"@types/pg": "^8.6.5",

dev-packages/rollup-utils/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/rollup-utils",
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"description": "Rollup utilities used at Sentry for the Sentry JavaScript SDK",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/rollup-utils",

dev-packages/size-limit-gh-action/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@sentry-internal/size-limit-gh-action",
33
"description": "An internal Github Action to compare the current size of a PR against the one on develop.",
4-
"version": "9.13.0",
4+
"version": "9.14.0",
55
"license": "MIT",
66
"engines": {
77
"node": ">=18"

dev-packages/test-utils/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"private": true,
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"name": "@sentry-internal/test-utils",
55
"author": "Sentry",
66
"license": "MIT",
@@ -45,7 +45,7 @@
4545
},
4646
"devDependencies": {
4747
"@playwright/test": "~1.50.0",
48-
"@sentry/core": "9.13.0"
48+
"@sentry/core": "9.14.0"
4949
},
5050
"volta": {
5151
"extends": "../../package.json"

lerna.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"npmClient": "yarn"
55
}

packages/angular/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/angular",
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"description": "Official Sentry SDK for Angular",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/angular",
@@ -21,8 +21,8 @@
2121
"rxjs": "^6.5.5 || ^7.x"
2222
},
2323
"dependencies": {
24-
"@sentry/browser": "9.13.0",
25-
"@sentry/core": "9.13.0",
24+
"@sentry/browser": "9.14.0",
25+
"@sentry/core": "9.14.0",
2626
"tslib": "^2.4.1"
2727
},
2828
"devDependencies": {

packages/astro/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/astro",
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"description": "Official Sentry SDK for Astro",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/astro",
@@ -56,9 +56,9 @@
5656
"astro": ">=3.x || >=4.0.0-beta || >=5.x"
5757
},
5858
"dependencies": {
59-
"@sentry/browser": "9.13.0",
60-
"@sentry/core": "9.13.0",
61-
"@sentry/node": "9.13.0",
59+
"@sentry/browser": "9.14.0",
60+
"@sentry/core": "9.14.0",
61+
"@sentry/node": "9.14.0",
6262
"@sentry/vite-plugin": "^2.22.6"
6363
},
6464
"devDependencies": {

packages/aws-serverless/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/aws-serverless",
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"description": "Official Sentry SDK for AWS Lambda and AWS Serverless Environments",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/serverless",
@@ -68,8 +68,8 @@
6868
"@opentelemetry/instrumentation": "^0.57.2",
6969
"@opentelemetry/instrumentation-aws-lambda": "0.50.3",
7070
"@opentelemetry/instrumentation-aws-sdk": "0.49.1",
71-
"@sentry/core": "9.13.0",
72-
"@sentry/node": "9.13.0",
71+
"@sentry/core": "9.14.0",
72+
"@sentry/node": "9.14.0",
7373
"@types/aws-lambda": "^8.10.62"
7474
},
7575
"devDependencies": {

packages/browser-utils/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/browser-utils",
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"description": "Browser Utilities for all Sentry JavaScript SDKs",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/browser-utils",
@@ -39,7 +39,7 @@
3939
"access": "public"
4040
},
4141
"dependencies": {
42-
"@sentry/core": "9.13.0"
42+
"@sentry/core": "9.14.0"
4343
},
4444
"scripts": {
4545
"build": "run-p build:transpile build:types",

packages/browser/package.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/browser",
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"description": "Official Sentry SDK for browsers",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/browser",
@@ -39,14 +39,14 @@
3939
"access": "public"
4040
},
4141
"dependencies": {
42-
"@sentry-internal/browser-utils": "9.13.0",
43-
"@sentry-internal/feedback": "9.13.0",
44-
"@sentry-internal/replay": "9.13.0",
45-
"@sentry-internal/replay-canvas": "9.13.0",
46-
"@sentry/core": "9.13.0"
42+
"@sentry-internal/browser-utils": "9.14.0",
43+
"@sentry-internal/feedback": "9.14.0",
44+
"@sentry-internal/replay": "9.14.0",
45+
"@sentry-internal/replay-canvas": "9.14.0",
46+
"@sentry/core": "9.14.0"
4747
},
4848
"devDependencies": {
49-
"@sentry-internal/integration-shims": "9.13.0",
49+
"@sentry-internal/integration-shims": "9.14.0",
5050
"fake-indexeddb": "^4.0.1"
5151
},
5252
"scripts": {

packages/bun/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/bun",
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"description": "Official Sentry SDK for bun",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/bun",
@@ -39,9 +39,9 @@
3939
"access": "public"
4040
},
4141
"dependencies": {
42-
"@sentry/core": "9.13.0",
43-
"@sentry/node": "9.13.0",
44-
"@sentry/opentelemetry": "9.13.0"
42+
"@sentry/core": "9.14.0",
43+
"@sentry/node": "9.14.0",
44+
"@sentry/opentelemetry": "9.14.0"
4545
},
4646
"devDependencies": {
4747
"bun-types": "^1.2.9"

packages/cloudflare/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/cloudflare",
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"description": "Official Sentry SDK for Cloudflare Workers and Pages",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/cloudflare",
@@ -49,7 +49,7 @@
4949
"access": "public"
5050
},
5151
"dependencies": {
52-
"@sentry/core": "9.13.0"
52+
"@sentry/core": "9.14.0"
5353
},
5454
"peerDependencies": {
5555
"@cloudflare/workers-types": "^4.x"

packages/core/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/core",
3-
"version": "9.13.0",
3+
"version": "9.14.0",
44
"description": "Base implementation for all Sentry JavaScript SDKs",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/core",

packages/core/src/currentScopes.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { getGlobalSingleton, getMainCarrier } from './carrier';
33
import type { Client } from './client';
44
import { Scope } from './scope';
55
import type { TraceContext } from './types-hoist';
6-
import { generateSpanId } from './utils-hoist';
6+
import { generateSpanId } from './utils-hoist/propagationContext';
77

88
/**
99
* Get the currently active scope.

0 commit comments

Comments
 (0)