Skip to content

Commit a5ef715

Browse files
authored
Merge branch 'develop' into cg-rr-server-loaders
2 parents 56486f1 + efb86de commit a5ef715

File tree

65 files changed

+688
-194
lines changed

Some content is hidden

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

65 files changed

+688
-194
lines changed

.size-limit.js

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ module.exports = [
1818
limit: '24.1 KB',
1919
modifyWebpackConfig: function (config) {
2020
const webpack = require('webpack');
21-
const TerserPlugin = require('terser-webpack-plugin');
2221

2322
config.plugins.push(
2423
new webpack.DefinePlugin({
@@ -30,7 +29,6 @@ module.exports = [
3029
);
3130

3231
config.optimization.minimize = true;
33-
config.optimization.minimizer = [new TerserPlugin()];
3432

3533
return config;
3634
},
@@ -57,7 +55,6 @@ module.exports = [
5755
limit: '70.1 KB',
5856
modifyWebpackConfig: function (config) {
5957
const webpack = require('webpack');
60-
const TerserPlugin = require('terser-webpack-plugin');
6158

6259
config.plugins.push(
6360
new webpack.DefinePlugin({
@@ -69,7 +66,6 @@ module.exports = [
6966
);
7067

7168
config.optimization.minimize = true;
72-
config.optimization.minimizer = [new TerserPlugin()];
7369

7470
return config;
7571
},
@@ -139,7 +135,7 @@ module.exports = [
139135
path: 'packages/vue/build/esm/index.js',
140136
import: createImport('init', 'browserTracingIntegration'),
141137
gzip: true,
142-
limit: '40 KB',
138+
limit: '41 KB',
143139
},
144140
// Svelte SDK (ESM)
145141
{
@@ -239,7 +235,6 @@ module.exports = [
239235
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
240236
modifyWebpackConfig: function (config) {
241237
const webpack = require('webpack');
242-
const TerserPlugin = require('terser-webpack-plugin');
243238

244239
config.plugins.push(
245240
new webpack.DefinePlugin({
@@ -248,7 +243,6 @@ module.exports = [
248243
);
249244

250245
config.optimization.minimize = true;
251-
config.optimization.minimizer = [new TerserPlugin()];
252246

253247
return config;
254248
},

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,29 @@
1010

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

13+
Work in this release was contributed by @sidx1024. Thank you for your contribution!
14+
15+
## 9.18.0
16+
17+
### Important changes
18+
19+
- **feat: Support Node 24 ([#16236](https://github.com/getsentry/sentry-javascript/pull/16236))**
20+
21+
We now also publish profiling binaries for Node 24.
22+
23+
### Other changes
24+
25+
- deps(node): Bump `import-in-the-middle` to `1.13.1` ([#16260](https://github.com/getsentry/sentry-javascript/pull/16260))
26+
- feat: Export `consoleLoggingIntegration` from vercel edge sdk ([#16228](https://github.com/getsentry/sentry-javascript/pull/16228))
27+
- feat(cloudflare): Add support for email, queue, and tail handler ([#16233](https://github.com/getsentry/sentry-javascript/pull/16233))
28+
- feat(cloudflare): Improve http span data ([#16232](https://github.com/getsentry/sentry-javascript/pull/16232))
29+
- feat(nextjs): Add more attributes for generation functions ([#16214](https://github.com/getsentry/sentry-javascript/pull/16214))
30+
- feat(opentelemetry): Widen peer dependencies to support Otel v2 ([#16246](https://github.com/getsentry/sentry-javascript/pull/16246))
31+
- fix(core): Gracefully handle invalid baggage entries ([#16257](https://github.com/getsentry/sentry-javascript/pull/16257))
32+
- fix(node): Ensure traces are propagated without spans in Node 22+ ([#16221](https://github.com/getsentry/sentry-javascript/pull/16221))
33+
- fix(node): Use sentry forked `@fastify/otel` dependency with pinned Otel v1 deps ([#16256](https://github.com/getsentry/sentry-javascript/pull/16256))
34+
- fix(remix): Remove vendored types ([#16218](https://github.com/getsentry/sentry-javascript/pull/16218))
35+
1336
## 9.17.0
1437

1538
- feat(node): Migrate to `@fastify/otel` ([#15542](https://github.com/getsentry/sentry-javascript/pull/15542))

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": "9.17.0",
3+
"version": "9.18.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.17.0",
45+
"@sentry/browser": "9.18.0",
4646
"@supabase/supabase-js": "2.49.3",
4747
"axios": "1.8.2",
4848
"babel-loader": "^8.2.2",
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import * as Sentry from '@sentry/browser';
2+
3+
window.Sentry = Sentry;
4+
5+
Sentry.init({
6+
dsn: 'https://[email protected]/1337',
7+
integrations: [Sentry.browserTracingIntegration()],
8+
tracesSampleRate: 1,
9+
});
10+
11+
// Immediately navigate to a new page to abort the pageload
12+
window.location.href = '#foo';
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
import { expect } from '@playwright/test';
2+
import {
3+
SEMANTIC_ATTRIBUTE_SENTRY_OP,
4+
SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,
5+
SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE,
6+
SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,
7+
} from '@sentry/core';
8+
import { sentryTest } from '../../../../utils/fixtures';
9+
import { envelopeRequestParser, shouldSkipTracingTest, waitForTransactionRequest } from '../../../../utils/helpers';
10+
11+
sentryTest(
12+
'should create a navigation transaction that aborts an ongoing pageload',
13+
async ({ getLocalTestUrl, page }) => {
14+
if (shouldSkipTracingTest()) {
15+
sentryTest.skip();
16+
}
17+
18+
const url = await getLocalTestUrl({ testDir: __dirname });
19+
20+
const pageloadRequestPromise = waitForTransactionRequest(page, event => event.contexts?.trace?.op === 'pageload');
21+
const navigationRequestPromise = waitForTransactionRequest(
22+
page,
23+
event => event.contexts?.trace?.op === 'navigation',
24+
);
25+
26+
await page.goto(url);
27+
28+
const pageloadRequest = envelopeRequestParser(await pageloadRequestPromise);
29+
const navigationRequest = envelopeRequestParser(await navigationRequestPromise);
30+
31+
expect(pageloadRequest.contexts?.trace?.op).toBe('pageload');
32+
expect(navigationRequest.contexts?.trace?.op).toBe('navigation');
33+
34+
expect(navigationRequest.transaction_info?.source).toEqual('url');
35+
36+
const pageloadTraceId = pageloadRequest.contexts?.trace?.trace_id;
37+
const navigationTraceId = navigationRequest.contexts?.trace?.trace_id;
38+
39+
expect(pageloadTraceId).toBeDefined();
40+
expect(navigationTraceId).toBeDefined();
41+
expect(pageloadTraceId).not.toEqual(navigationTraceId);
42+
43+
expect(pageloadRequest.contexts?.trace?.data).toMatchObject({
44+
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.pageload.browser',
45+
[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE]: 1,
46+
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url',
47+
[SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'pageload',
48+
['sentry.idle_span_finish_reason']: 'cancelled',
49+
});
50+
expect(navigationRequest.contexts?.trace?.data).toMatchObject({
51+
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.navigation.browser',
52+
[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE]: 1,
53+
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url',
54+
[SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'navigation',
55+
['sentry.idle_span_finish_reason']: 'idleTimeout',
56+
});
57+
},
58+
);

dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/navigation/test.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
import { expect } from '@playwright/test';
22
import type { Event } from '@sentry/core';
3+
import {
4+
SEMANTIC_ATTRIBUTE_SENTRY_OP,
5+
SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,
6+
SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE,
7+
SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,
8+
} from '@sentry/core';
39
import { sentryTest } from '../../../../utils/fixtures';
410
import { getFirstSentryEnvelopeRequest, shouldSkipTracingTest } from '../../../../utils/helpers';
511

@@ -25,6 +31,21 @@ sentryTest('should create a navigation transaction on page navigation', async ({
2531
expect(navigationTraceId).toBeDefined();
2632
expect(pageloadTraceId).not.toEqual(navigationTraceId);
2733

34+
expect(pageloadRequest.contexts?.trace?.data).toMatchObject({
35+
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.pageload.browser',
36+
[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE]: 1,
37+
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url',
38+
[SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'pageload',
39+
['sentry.idle_span_finish_reason']: 'idleTimeout',
40+
});
41+
expect(navigationRequest.contexts?.trace?.data).toMatchObject({
42+
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.navigation.browser',
43+
[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE]: 1,
44+
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url',
45+
[SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'navigation',
46+
['sentry.idle_span_finish_reason']: 'idleTimeout',
47+
});
48+
2849
const pageloadSpans = pageloadRequest.spans;
2950
const navigationSpans = navigationRequest.spans;
3051

dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/pageload/test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ sentryTest('creates a pageload transaction with url as source', async ({ getLoca
3030
[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE]: 1,
3131
[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url',
3232
[SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'pageload',
33+
['sentry.idle_span_finish_reason']: 'idleTimeout',
3334
});
3435

3536
expect(eventData.contexts?.trace?.op).toBe('pageload');

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/bundle-analyzer-scenarios",
3-
"version": "9.17.0",
3+
"version": "9.18.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

Lines changed: 1 addition & 1 deletion
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.17.0",
4+
"version": "9.18.0",
55
"license": "MIT",
66
"engines": {
77
"node": ">=18"

dev-packages/e2e-tests/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/e2e-tests",
3-
"version": "9.17.0",
3+
"version": "9.18.0",
44
"license": "MIT",
55
"private": true,
66
"scripts": {

0 commit comments

Comments
 (0)