Skip to content

Commit 4dc7006

Browse files
Merge pull request #15876 from getsentry/master
[Gitflow] Merge master into develop
2 parents 791d9e3 + dbde86c commit 4dc7006

File tree

50 files changed

+222
-141
lines changed

Some content is hidden

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

50 files changed

+222
-141
lines changed

CHANGELOG.md

+82-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,87 @@
1010

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

13+
## 9.10.0
14+
15+
### Important Changes
16+
17+
- **feat: Add support for logs**
18+
19+
- feat(node): Add logging public APIs to Node SDKs ([#15764](https://github.com/getsentry/sentry-javascript/pull/15764))
20+
- feat(core): Add support for `beforeSendLog` ([#15814](https://github.com/getsentry/sentry-javascript/pull/15814))
21+
- feat(core): Add support for parameterizing logs ([#15812](https://github.com/getsentry/sentry-javascript/pull/15812))
22+
- fix: Remove critical log severity level ([#15824](https://github.com/getsentry/sentry-javascript/pull/15824))
23+
24+
All JavaScript SDKs other than `@sentry/cloudflare` and `@sentry/deno` now support sending logs via dedicated methods as part of Sentry's [upcoming logging product](https://github.com/getsentry/sentry/discussions/86804).
25+
26+
Logging is gated by an experimental option, `_experiments.enableLogs`.
27+
28+
```js
29+
Sentry.init({
30+
dsn: 'PUBLIC_DSN',
31+
// `enableLogs` must be set to true to use the logging features
32+
_experiments: { enableLogs: true },
33+
});
34+
35+
const { trace, debug, info, warn, error, fatal, fmt } = Sentry.logger;
36+
37+
trace('Starting database connection', { database: 'users' });
38+
debug('Cache miss for user', { userId: 123 });
39+
error('Failed to process payment', { orderId: 'order_123', amount: 99.99 });
40+
fatal('Database connection pool exhausted', { database: 'users', activeConnections: 100 });
41+
42+
// Structured logging via the `fmt` helper function. When you use `fmt`, the string template and parameters are sent separately so they can be queried independently in Sentry.
43+
44+
info(fmt(`Updated profile for user ${userId}`));
45+
warn(fmt(`Rate limit approaching for endpoint ${endpoint}. Requests: ${requests}, Limit: ${limit}`));
46+
```
47+
48+
With server-side SDKs like `@sentry/node`, `@sentry/bun` or server-side of `@sentry/nextjs` or `@sentry/sveltekit`, you can do structured logging without needing the `fmt` helper function.
49+
50+
```js
51+
const { info, warn } = Sentry.logger;
52+
53+
info('User %s logged in successfully', [123]);
54+
warn('Failed to load user %s data', [123], { errorCode: 404 });
55+
```
56+
57+
To filter logs, or update them before they are sent to Sentry, you can use the `_experiments.beforeSendLog` option.
58+
59+
- **feat(browser): Add `diagnoseSdkConnectivity()` function to programmatically detect possible connectivity issues ([#15821](https://github.com/getsentry/sentry-javascript/pull/15821))**
60+
61+
The `diagnoseSdkConnectivity()` function can be used to programmatically detect possible connectivity issues with the Sentry SDK.
62+
63+
```js
64+
const result = await Sentry.diagnoseSdkConnectivity();
65+
```
66+
67+
The result will be an object with the following properties:
68+
69+
- `"no-client-active"`: There was no active client when the function was called. This possibly means that the SDK was not initialized yet.
70+
- `"sentry-unreachable"`: The Sentry SaaS servers were not reachable. This likely means that there is an ad blocker active on the page or that there are other connection issues.
71+
- `undefined`: The SDK is working as expected.
72+
73+
- **SDK Tracing Performance Improvements for Node SDKs**
74+
75+
- feat: Stop using `dropUndefinedKeys` ([#15796](https://github.com/getsentry/sentry-javascript/pull/15796))
76+
- feat(node): Only add span listeners for instrumentation when used ([#15802](https://github.com/getsentry/sentry-javascript/pull/15802))
77+
- ref: Avoid `dropUndefinedKeys` for `spanToJSON` calls ([#15792](https://github.com/getsentry/sentry-javascript/pull/15792))
78+
- ref: Avoid using `SentryError` for PromiseBuffer control flow ([#15822](https://github.com/getsentry/sentry-javascript/pull/15822))
79+
- ref: Stop using `dropUndefinedKeys` in SpanExporter ([#15794](https://github.com/getsentry/sentry-javascript/pull/15794))
80+
- ref(core): Avoid using `SentryError` for event processing control flow ([#15823](https://github.com/getsentry/sentry-javascript/pull/15823))
81+
- ref(node): Avoid `dropUndefinedKeys` in Node SDK init ([#15797](https://github.com/getsentry/sentry-javascript/pull/15797))
82+
- ref(opentelemetry): Avoid sampling work for non-root spans ([#15820](https://github.com/getsentry/sentry-javascript/pull/15820))
83+
84+
We've been hard at work making performance improvements to the Sentry Node SDKs (`@sentry/node`, `@sentry/aws-serverless`, `@sentry/nestjs`, etc.). We've seen that upgrading from `9.7.0` to `9.10.0` leads to 30-40% improvement in request latency for HTTP web-server applications that use tracing with high sample rates. Non web-server applications and non-tracing applications will see smaller improvements.
85+
86+
### Other Changes
87+
88+
- chore(deps): Bump `rrweb` to `2.35.0` ([#15825](https://github.com/getsentry/sentry-javascript/pull/15825))
89+
- deps: Bump bundler plugins to `3.2.3` ([#15829](https://github.com/getsentry/sentry-javascript/pull/15829))
90+
- feat: Always truncate stored breadcrumb messages to 2kb ([#15819](https://github.com/getsentry/sentry-javascript/pull/15819))
91+
- feat(nextjs): Disable server webpack-handling for static builds ([#15751](https://github.com/getsentry/sentry-javascript/pull/15751))
92+
- fix(nuxt): Don't override Nuxt options if undefined ([#15795](https://github.com/getsentry/sentry-javascript/pull/15795))
93+
1394
## 9.9.0
1495

1596
### Important Changes
@@ -42,7 +123,7 @@
42123

43124
- **feat(browser): Add `logger.X` methods to browser SDK ([#15763](https://github.com/getsentry/sentry-javascript/pull/15763))**
44125

45-
For Sentry's [upcoming logging product](https://github.com/getsentry/sentry/discussions/86804), the SDK now supports sending logs via dedicated
126+
For Sentry's [upcoming logging product](https://github.com/getsentry/sentry/discussions/86804), the SDK now supports sending logs via dedicated methods.
46127

47128
```js
48129
Sentry.init({

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.9.0",
3+
"version": "9.10.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.9.0",
45+
"@sentry/browser": "9.10.0",
4646
"axios": "1.8.2",
4747
"babel-loader": "^8.2.2",
4848
"fflate": "0.8.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.9.0",
3+
"version": "9.10.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.9.0",
4+
"version": "9.10.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.9.0",
3+
"version": "9.10.0",
44
"license": "MIT",
55
"private": true,
66
"scripts": {

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.9.0",
4+
"version": "9.10.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.9.0",
3+
"version": "9.10.0",
44
"license": "MIT",
55
"engines": {
66
"node": ">=18"
@@ -30,9 +30,9 @@
3030
"@nestjs/common": "10.4.6",
3131
"@nestjs/core": "10.4.6",
3232
"@nestjs/platform-express": "10.4.6",
33-
"@sentry/aws-serverless": "9.9.0",
34-
"@sentry/core": "9.9.0",
35-
"@sentry/node": "9.9.0",
33+
"@sentry/aws-serverless": "9.10.0",
34+
"@sentry/core": "9.10.0",
35+
"@sentry/node": "9.10.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.9.0",
3+
"version": "9.10.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.9.0",
4+
"version": "9.10.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.9.0",
3+
"version": "9.10.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.9.0"
48+
"@sentry/core": "9.10.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.9.0",
3+
"version": "9.10.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.9.0",
3+
"version": "9.10.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.9.0",
25-
"@sentry/core": "9.9.0",
24+
"@sentry/browser": "9.10.0",
25+
"@sentry/core": "9.10.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.9.0",
3+
"version": "9.10.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.9.0",
60-
"@sentry/core": "9.9.0",
61-
"@sentry/node": "9.9.0",
59+
"@sentry/browser": "9.10.0",
60+
"@sentry/core": "9.10.0",
61+
"@sentry/node": "9.10.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.9.0",
3+
"version": "9.10.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.9.0",
72-
"@sentry/node": "9.9.0",
71+
"@sentry/core": "9.10.0",
72+
"@sentry/node": "9.10.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.9.0",
3+
"version": "9.10.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.9.0"
42+
"@sentry/core": "9.10.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.9.0",
3+
"version": "9.10.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.9.0",
43-
"@sentry-internal/feedback": "9.9.0",
44-
"@sentry-internal/replay": "9.9.0",
45-
"@sentry-internal/replay-canvas": "9.9.0",
46-
"@sentry/core": "9.9.0"
42+
"@sentry-internal/browser-utils": "9.10.0",
43+
"@sentry-internal/feedback": "9.10.0",
44+
"@sentry-internal/replay": "9.10.0",
45+
"@sentry-internal/replay-canvas": "9.10.0",
46+
"@sentry/core": "9.10.0"
4747
},
4848
"devDependencies": {
49-
"@sentry-internal/integration-shims": "9.9.0",
49+
"@sentry-internal/integration-shims": "9.10.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.9.0",
3+
"version": "9.10.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.9.0",
43-
"@sentry/node": "9.9.0",
44-
"@sentry/opentelemetry": "9.9.0"
42+
"@sentry/core": "9.10.0",
43+
"@sentry/node": "9.10.0",
44+
"@sentry/opentelemetry": "9.10.0"
4545
},
4646
"devDependencies": {
4747
"bun-types": "latest"

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.9.0",
3+
"version": "9.10.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.9.0"
52+
"@sentry/core": "9.10.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.9.0",
3+
"version": "9.10.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/deno/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/deno",
3-
"version": "9.9.0",
3+
"version": "9.10.0",
44
"description": "Official Sentry SDK for Deno",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/deno",
@@ -24,7 +24,7 @@
2424
"/build"
2525
],
2626
"dependencies": {
27-
"@sentry/core": "9.9.0"
27+
"@sentry/core": "9.10.0"
2828
},
2929
"scripts": {
3030
"deno-types": "node ./scripts/download-deno-types.mjs",

packages/ember/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/ember",
3-
"version": "9.9.0",
3+
"version": "9.10.0",
44
"description": "Official Sentry SDK for Ember.js",
55
"repository": "git://github.com/getsentry/sentry-javascript.git",
66
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/ember",
@@ -32,8 +32,8 @@
3232
"dependencies": {
3333
"@babel/core": "^7.24.4",
3434
"@embroider/macros": "^1.16.0",
35-
"@sentry/browser": "9.9.0",
36-
"@sentry/core": "9.9.0",
35+
"@sentry/browser": "9.10.0",
36+
"@sentry/core": "9.10.0",
3737
"ember-auto-import": "^2.7.2",
3838
"ember-cli-babel": "^8.2.0",
3939
"ember-cli-htmlbars": "^6.1.1",

0 commit comments

Comments
 (0)