Skip to content

Commit 0dd6ed2

Browse files
authored
Merge branch 'develop' into cg-nextjs-native-debug-ids
2 parents 5595348 + 7fc2858 commit 0dd6ed2

File tree

175 files changed

+4916
-1629
lines changed

Some content is hidden

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

175 files changed

+4916
-1629
lines changed

.cursor/rules/publishing_release.mdc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ The release process is outlined in [publishing-a-release.md](mdc:docs/publishing
1414

1515
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.
1616
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.
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. You can find the latest version in [CHANGELOG.md](mdc:CHANGELOG.md) at the very top.
1818
4. Create a branch `prepare-release/VERSION`, eg. `prepare-release/8.1.0`, off `develop`.
1919
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.
2020
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`

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ body:
5151
- '@sentry/nestjs'
5252
- '@sentry/nextjs'
5353
- '@sentry/nuxt'
54-
- '@sentry/pino-transport'
5554
- '@sentry/react'
5655
- '@sentry/react-router'
5756
- '@sentry/remix'

.size-limit.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ module.exports = [
9696
path: 'packages/browser/build/npm/esm/index.js',
9797
import: createImport('init', 'sendFeedback'),
9898
gzip: true,
99-
limit: '29 KB',
99+
limit: '30 KB',
100100
},
101101
{
102102
name: '@sentry/browser (incl. FeedbackAsync)',
@@ -150,13 +150,13 @@ module.exports = [
150150
name: 'CDN Bundle',
151151
path: createCDNPath('bundle.min.js'),
152152
gzip: true,
153-
limit: '26 KB',
153+
limit: '27 KB',
154154
},
155155
{
156156
name: 'CDN Bundle (incl. Tracing)',
157157
path: createCDNPath('bundle.tracing.min.js'),
158158
gzip: true,
159-
limit: '41 KB',
159+
limit: '42 KB',
160160
},
161161
{
162162
name: 'CDN Bundle (incl. Tracing, Replay)',
@@ -183,7 +183,7 @@ module.exports = [
183183
path: createCDNPath('bundle.tracing.min.js'),
184184
gzip: false,
185185
brotli: false,
186-
limit: '120 KB',
186+
limit: '123 KB',
187187
},
188188
{
189189
name: 'CDN Bundle (incl. Tracing, Replay) - uncompressed',

CHANGELOG.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,57 @@
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 @seoyeon9888. Thank you for your contribution!
8+
9+
## 10.19.0
10+
11+
- feat(tracemetrics): Add trace metrics behind an experiments flag ([#17883](https://github.com/getsentry/sentry-javascript/pull/17883))
12+
13+
<details>
14+
<summary> <strong>Internal Changes</strong> </summary>
15+
16+
- chore: add info latest release for the cursor release command ([#17876](https://github.com/getsentry/sentry-javascript/pull/17876))
17+
18+
</details>
19+
20+
## 10.18.0
21+
22+
### Important Changes
23+
24+
- **feat(node): `pino` integration ([#17584](https://github.com/getsentry/sentry-javascript/pull/17584))**
25+
26+
This release adds a new `pino` integration for Node.js, enabling Sentry to capture logs from the Pino logging library.
27+
28+
- **feat: Remove @sentry/pino-transport package ([#17851](https://github.com/getsentry/sentry-javascript/pull/17851))**
29+
30+
The `@sentry/pino-transport` package has been removed. Please use the new `pino` integration in `@sentry/node` instead.
31+
32+
- **feat(node-core): Extend onnhandledrejection with ignore errors option ([#17736](https://github.com/getsentry/sentry-javascript/pull/17736))**
33+
34+
Added support for selectively suppressing specific errors with configurable logging control in onnhandledrejection integration.
35+
36+
### Other Changes
37+
38+
- feat(core): Rename vercelai.schema to gen_ai.request.schema ([#17850](https://github.com/getsentry/sentry-javascript/pull/17850))
39+
- feat(core): Support stream responses and tool calls for Google GenAI ([#17664](https://github.com/getsentry/sentry-javascript/pull/17664))
40+
- feat(nextjs): Attach headers using client hook ([#17831](https://github.com/getsentry/sentry-javascript/pull/17831))
41+
- fix(core): Keep all property values in baggage header ([#17847](https://github.com/getsentry/sentry-javascript/pull/17847))
42+
- fix(nestjs): Add support for Symbol as event name ([#17785](https://github.com/getsentry/sentry-javascript/pull/17785))
43+
- fix(nuxt): include `sentry.client.config.ts` in nuxt app types ([#17830](https://github.com/getsentry/sentry-javascript/pull/17830))
44+
- fix(react-router): Fix type for `OriginalHandleRequest` with middleware ([#17870](https://github.com/getsentry/sentry-javascript/pull/17870))
45+
46+
<details>
47+
<summary> <strong>Internal Changes</strong> </summary>
48+
49+
- chore: Add external contributor to CHANGELOG.md ([#17866](https://github.com/getsentry/sentry-javascript/pull/17866))
50+
- chore(deps): Bump @sentry/cli from 2.53.0 to 2.56.0 ([#17819](https://github.com/getsentry/sentry-javascript/pull/17819))
51+
- chore(deps): Bump axios in browser integration tests ([#17839](https://github.com/getsentry/sentry-javascript/pull/17839))
52+
- chore(deps): Bump nestjs in integration tests ([#17840](https://github.com/getsentry/sentry-javascript/pull/17840))
53+
54+
</details>
55+
56+
Work in this release was contributed by @stefanvanderwolf. Thank you for your contribution!
57+
758
## 10.17.0
859

960
### Important Changes

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/browser-integration-tests",
3-
"version": "10.17.0",
3+
"version": "10.19.0",
44
"main": "index.js",
55
"license": "MIT",
66
"engines": {
@@ -43,7 +43,7 @@
4343
"@babel/preset-typescript": "^7.16.7",
4444
"@playwright/test": "~1.53.2",
4545
"@sentry-internal/rrweb": "2.34.0",
46-
"@sentry/browser": "10.17.0",
46+
"@sentry/browser": "10.19.0",
4747
"@supabase/supabase-js": "2.49.3",
4848
"axios": "^1.12.2",
4949
"babel-loader": "^8.2.2",
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import * as Sentry from '@sentry/browser';
2+
3+
window.Sentry = Sentry;
4+
5+
Sentry.init({
6+
dsn: 'https://[email protected]/1337',
7+
_experiments: {
8+
enableMetrics: true,
9+
},
10+
release: '1.0.0',
11+
environment: 'test',
12+
integrations: integrations => {
13+
return integrations.filter(integration => integration.name !== 'BrowserSession');
14+
},
15+
});
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Sentry.metrics.count('test.counter', 1, { attributes: { endpoint: '/api/test' } });
2+
Sentry.metrics.gauge('test.gauge', 42, { unit: 'millisecond', attributes: { server: 'test-1' } });
3+
Sentry.metrics.distribution('test.distribution', 200, { unit: 'second', attributes: { priority: 'high' } });
4+
5+
Sentry.startSpan({ name: 'test-span', op: 'test' }, () => {
6+
Sentry.metrics.count('test.span.counter', 1, { attributes: { operation: 'test' } });
7+
});
8+
9+
Sentry.setUser({ id: 'user-123', email: '[email protected]', username: 'testuser' });
10+
Sentry.metrics.count('test.user.counter', 1, { attributes: { action: 'click' } });
11+
12+
Sentry.flush();
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
import { expect } from '@playwright/test';
2+
import type { MetricEnvelope } from '@sentry/core';
3+
import { sentryTest } from '../../../../utils/fixtures';
4+
import { getFirstSentryEnvelopeRequest, properFullEnvelopeRequestParser } from '../../../../utils/helpers';
5+
6+
sentryTest('should capture all metric types', async ({ getLocalTestUrl, page }) => {
7+
const bundle = process.env.PW_BUNDLE || '';
8+
if (bundle.startsWith('bundle') || bundle.startsWith('loader')) {
9+
sentryTest.skip();
10+
}
11+
12+
const url = await getLocalTestUrl({ testDir: __dirname });
13+
14+
const event = await getFirstSentryEnvelopeRequest<MetricEnvelope>(page, url, properFullEnvelopeRequestParser);
15+
const envelopeItems = event[1];
16+
17+
expect(envelopeItems[0]).toEqual([
18+
{
19+
type: 'trace_metric',
20+
item_count: 5,
21+
content_type: 'application/vnd.sentry.items.trace-metric+json',
22+
},
23+
{
24+
items: [
25+
{
26+
timestamp: expect.any(Number),
27+
trace_id: expect.any(String),
28+
name: 'test.counter',
29+
type: 'counter',
30+
value: 1,
31+
attributes: {
32+
endpoint: { value: '/api/test', type: 'string' },
33+
'sentry.release': { value: '1.0.0', type: 'string' },
34+
'sentry.environment': { value: 'test', type: 'string' },
35+
'sentry.sdk.name': { value: 'sentry.javascript.browser', type: 'string' },
36+
'sentry.sdk.version': { value: expect.any(String), type: 'string' },
37+
},
38+
},
39+
{
40+
timestamp: expect.any(Number),
41+
trace_id: expect.any(String),
42+
name: 'test.gauge',
43+
type: 'gauge',
44+
unit: 'millisecond',
45+
value: 42,
46+
attributes: {
47+
server: { value: 'test-1', type: 'string' },
48+
'sentry.release': { value: '1.0.0', type: 'string' },
49+
'sentry.environment': { value: 'test', type: 'string' },
50+
'sentry.sdk.name': { value: 'sentry.javascript.browser', type: 'string' },
51+
'sentry.sdk.version': { value: expect.any(String), type: 'string' },
52+
},
53+
},
54+
{
55+
timestamp: expect.any(Number),
56+
trace_id: expect.any(String),
57+
name: 'test.distribution',
58+
type: 'distribution',
59+
unit: 'second',
60+
value: 200,
61+
attributes: {
62+
priority: { value: 'high', type: 'string' },
63+
'sentry.release': { value: '1.0.0', type: 'string' },
64+
'sentry.environment': { value: 'test', type: 'string' },
65+
'sentry.sdk.name': { value: 'sentry.javascript.browser', type: 'string' },
66+
'sentry.sdk.version': { value: expect.any(String), type: 'string' },
67+
},
68+
},
69+
{
70+
timestamp: expect.any(Number),
71+
trace_id: expect.any(String),
72+
span_id: expect.any(String),
73+
name: 'test.span.counter',
74+
type: 'counter',
75+
value: 1,
76+
attributes: {
77+
operation: { value: 'test', type: 'string' },
78+
'sentry.release': { value: '1.0.0', type: 'string' },
79+
'sentry.environment': { value: 'test', type: 'string' },
80+
'sentry.sdk.name': { value: 'sentry.javascript.browser', type: 'string' },
81+
'sentry.sdk.version': { value: expect.any(String), type: 'string' },
82+
},
83+
},
84+
{
85+
timestamp: expect.any(Number),
86+
trace_id: expect.any(String),
87+
name: 'test.user.counter',
88+
type: 'counter',
89+
value: 1,
90+
attributes: {
91+
action: { value: 'click', type: 'string' },
92+
'user.id': { value: 'user-123', type: 'string' },
93+
'user.email': { value: '[email protected]', type: 'string' },
94+
'user.name': { value: 'testuser', type: 'string' },
95+
'sentry.release': { value: '1.0.0', type: 'string' },
96+
'sentry.environment': { value: 'test', type: 'string' },
97+
'sentry.sdk.name': { value: 'sentry.javascript.browser', type: 'string' },
98+
'sentry.sdk.version': { value: expect.any(String), type: 'string' },
99+
},
100+
},
101+
],
102+
},
103+
]);
104+
});
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
fetchButton.addEventListener('click', () => {
2+
// W3C spec example: property values can contain = signs
3+
// See: https://www.w3.org/TR/baggage/#example
4+
fetch('http://sentry-test-site.example/fetch-test', {
5+
headers: {
6+
baggage: 'key1=value1;property1;property2,key2=value2,key3=value3; propertyKey=propertyValue',
7+
},
8+
});
9+
});
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<title>Fetch Baggage Property Values Test</title>
7+
</head>
8+
<body>
9+
<button id="fetchButton">Make Fetch Request</button>
10+
</body>
11+
</html>

0 commit comments

Comments
 (0)