Skip to content

Commit bc4727b

Browse files
authored
Merge branch 'develop' into sig/react-router-react-exports
2 parents 0aa25a4 + dcdf074 commit bc4727b

File tree

58 files changed

+369
-244
lines changed

Some content is hidden

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

58 files changed

+369
-244
lines changed

CHANGELOG.md

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,8 @@
11
# Changelog
22

3-
<!-- prettier-ignore-start -->
4-
> [!IMPORTANT]
5-
> If you are upgrading to the `9.x` versions of the SDK from `8.x` or below, make sure you follow our
6-
> [migration guide](https://docs.sentry.io/platforms/javascript/migration/) first.
7-
<!-- prettier-ignore-end -->
3+
## 9.25.1
84

9-
## Unreleased
10-
11-
- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott
5+
- fix(otel): Don't ignore child spans after the root is sent ([#16416](https://github.com/getsentry/sentry-javascript/pull/16416))
126

137
## 9.25.0
148

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.25.0",
3+
"version": "9.25.1",
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.25.0",
45+
"@sentry/browser": "9.25.1",
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

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.25.0",
3+
"version": "9.25.1",
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.25.0",
4+
"version": "9.25.1",
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.25.0",
3+
"version": "9.25.1",
44
"license": "MIT",
55
"private": true,
66
"scripts": {

dev-packages/e2e-tests/test-applications/nextjs-14/playwright.config.ts

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,9 @@ if (!testEnv) {
55
throw new Error('No test env defined');
66
}
77

8-
const config = getPlaywrightConfig(
9-
{
10-
startCommand: testEnv === 'development' ? 'pnpm next dev -p 3030' : 'pnpm next start -p 3030',
11-
port: 3030,
12-
},
13-
{
14-
// This comes with the risk of tests leaking into each other but the tests run quite slow so we should parallelize
15-
workers: '100%',
16-
},
17-
);
8+
const config = getPlaywrightConfig({
9+
startCommand: testEnv === 'development' ? 'pnpm next dev -p 3030' : 'pnpm next start -p 3030',
10+
port: 3030,
11+
});
1812

1913
export default config;

dev-packages/e2e-tests/test-applications/nextjs-app-dir/playwright.config.mjs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,9 @@ if (!testEnv) {
55
throw new Error('No test env defined');
66
}
77

8-
const config = getPlaywrightConfig(
9-
{
10-
startCommand: testEnv === 'development' ? 'pnpm next dev -p 3030' : 'pnpm next start -p 3030',
11-
port: 3030,
12-
},
13-
{
14-
// This comes with the risk of tests leaking into each other but the tests run quite slow so we should parallelize
15-
workers: '100%',
16-
},
17-
);
8+
const config = getPlaywrightConfig({
9+
startCommand: testEnv === 'development' ? 'pnpm next dev -p 3030' : 'pnpm next start -p 3030',
10+
port: 3030,
11+
});
1812

1913
export default config;

dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,8 @@
4141
},
4242
"volta": {
4343
"extends": "../../package.json"
44+
},
45+
"sentryTest": {
46+
"optional": true
4447
}
4548
}

dev-packages/e2e-tests/test-applications/nextjs-orpc/playwright.config.mjs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,9 @@ if (!testEnv) {
55
throw new Error('No test env defined');
66
}
77

8-
const config = getPlaywrightConfig(
9-
{
10-
startCommand: testEnv === 'development' ? 'pnpm next dev -p 3030' : 'pnpm next start -p 3030',
11-
port: 3030,
12-
},
13-
{
14-
// This comes with the risk of tests leaking into each other but the tests run quite slow so we should parallelize
15-
workers: '100%',
16-
},
17-
);
8+
const config = getPlaywrightConfig({
9+
startCommand: testEnv === 'development' ? 'pnpm next dev -p 3030' : 'pnpm next start -p 3030',
10+
port: 3030,
11+
});
1812

1913
export default config;

dev-packages/external-contributor-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/external-contributor-gh-action",
33
"description": "An internal Github Action to add external contributors to the CHANGELOG.md file.",
4-
"version": "9.25.0",
4+
"version": "9.25.1",
55
"license": "MIT",
66
"engines": {
77
"node": ">=18"

dev-packages/node-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/node-integration-tests",
3-
"version": "9.25.0",
3+
"version": "9.25.1",
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.25.0",
34-
"@sentry/core": "9.25.0",
35-
"@sentry/node": "9.25.0",
33+
"@sentry/aws-serverless": "9.25.1",
34+
"@sentry/core": "9.25.1",
35+
"@sentry/node": "9.25.1",
3636
"@types/mongodb": "^3.6.20",
3737
"@types/mysql": "^2.15.21",
3838
"@types/pg": "^8.6.5",

dev-packages/opentelemetry-v2-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/opentelemetry-v2-tests",
3-
"version": "9.25.0",
3+
"version": "9.25.1",
44
"private": true,
55
"description": "Tests for @sentry/opentelemetry with OpenTelemetry v2",
66
"engines": {

dev-packages/opentelemetry-v2-tests/test/integration/transactions.test.ts

Lines changed: 56 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import type { SpanContext } from '@opentelemetry/api';
22
import { context, ROOT_CONTEXT, trace, TraceFlags } from '@opentelemetry/api';
33
import { TraceState } from '@opentelemetry/core';
4-
import type { SpanProcessor } from '@opentelemetry/sdk-trace-base';
54
import type { Event, TransactionEvent } from '@sentry/core';
65
import {
76
addBreadcrumb,
@@ -15,7 +14,6 @@ import {
1514
} from '@sentry/core';
1615
import { afterEach, describe, expect, it, vi } from 'vitest';
1716
import { SENTRY_TRACE_STATE_DSC } from '../../../../packages/opentelemetry/src/constants';
18-
import { SentrySpanProcessor } from '../../../../packages/opentelemetry/src/spanProcessor';
1917
import { startInactiveSpan, startSpan } from '../../../../packages/opentelemetry/src/trace';
2018
import { makeTraceState } from '../../../../packages/opentelemetry/src/utils/makeTraceState';
2119
import { cleanupOtel, getProvider, getSpanProcessor, mockSdkInit } from '../helpers/mockSdkInit';
@@ -550,7 +548,60 @@ describe('Integration | Transactions', () => {
550548
expect(finishedSpans.length).toBe(0);
551549
});
552550

553-
it('discards child spans that are finished after their parent span', async () => {
551+
it('collects child spans that are finished within 5 minutes their parent span has been sent', async () => {
552+
const timeout = 5 * 60 * 1000;
553+
const now = Date.now();
554+
vi.useFakeTimers();
555+
vi.setSystemTime(now);
556+
557+
const logs: unknown[] = [];
558+
vi.spyOn(logger, 'log').mockImplementation(msg => logs.push(msg));
559+
560+
const transactions: Event[] = [];
561+
562+
mockSdkInit({
563+
tracesSampleRate: 1,
564+
beforeSendTransaction: event => {
565+
transactions.push(event);
566+
return null;
567+
},
568+
});
569+
570+
const provider = getProvider();
571+
const spanProcessor = getSpanProcessor();
572+
573+
const exporter = spanProcessor ? spanProcessor['_exporter'] : undefined;
574+
575+
if (!exporter) {
576+
throw new Error('No exporter found, aborting test...');
577+
}
578+
579+
startSpanManual({ name: 'test name' }, async span => {
580+
const subSpan = startInactiveSpan({ name: 'inner span 1' });
581+
subSpan.end();
582+
583+
const subSpan2 = startInactiveSpan({ name: 'inner span 2' });
584+
585+
span.end();
586+
587+
setTimeout(() => {
588+
subSpan2.end();
589+
}, timeout - 2);
590+
});
591+
592+
vi.advanceTimersByTime(timeout - 1);
593+
594+
expect(transactions).toHaveLength(2);
595+
expect(transactions[0]?.spans).toHaveLength(1);
596+
597+
const finishedSpans: any = exporter['_finishedSpanBuckets'].flatMap(bucket =>
598+
bucket ? Array.from(bucket.spans) : [],
599+
);
600+
expect(finishedSpans.length).toBe(0);
601+
});
602+
603+
it('discards child spans that are finished after 5 minutes their parent span has been sent', async () => {
604+
const timeout = 5 * 60 * 1000;
554605
const now = Date.now();
555606
vi.useFakeTimers();
556607
vi.setSystemTime(now);
@@ -587,10 +638,10 @@ describe('Integration | Transactions', () => {
587638

588639
setTimeout(() => {
589640
subSpan2.end();
590-
}, 1);
641+
}, timeout + 1);
591642
});
592643

593-
vi.advanceTimersByTime(2);
644+
vi.advanceTimersByTime(timeout + 2);
594645

595646
expect(transactions).toHaveLength(1);
596647
expect(transactions[0]?.spans).toHaveLength(1);

dev-packages/rollup-utils/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/rollup-utils",
3-
"version": "9.25.0",
3+
"version": "9.25.1",
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

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

dev-packages/test-utils/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"private": true,
3-
"version": "9.25.0",
3+
"version": "9.25.1",
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.25.0"
48+
"@sentry/core": "9.25.1"
4949
},
5050
"volta": {
5151
"extends": "../../package.json"

lerna.json

Lines changed: 1 addition & 1 deletion
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.25.0",
3+
"version": "9.25.1",
44
"npmClient": "yarn"
55
}

packages/angular/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/angular",
3-
"version": "9.25.0",
3+
"version": "9.25.1",
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.25.0",
25-
"@sentry/core": "9.25.0",
24+
"@sentry/browser": "9.25.1",
25+
"@sentry/core": "9.25.1",
2626
"tslib": "^2.4.1"
2727
},
2828
"devDependencies": {

packages/astro/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/astro",
3-
"version": "9.25.0",
3+
"version": "9.25.1",
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.25.0",
60-
"@sentry/core": "9.25.0",
61-
"@sentry/node": "9.25.0",
59+
"@sentry/browser": "9.25.1",
60+
"@sentry/core": "9.25.1",
61+
"@sentry/node": "9.25.1",
6262
"@sentry/vite-plugin": "^2.22.6"
6363
},
6464
"devDependencies": {

packages/aws-serverless/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry/aws-serverless",
3-
"version": "9.25.0",
3+
"version": "9.25.1",
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.25.0",
72-
"@sentry/node": "9.25.0",
71+
"@sentry/core": "9.25.1",
72+
"@sentry/node": "9.25.1",
7373
"@types/aws-lambda": "^8.10.62"
7474
},
7575
"devDependencies": {

packages/browser-utils/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-utils",
3-
"version": "9.25.0",
3+
"version": "9.25.1",
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.25.0"
42+
"@sentry/core": "9.25.1"
4343
},
4444
"scripts": {
4545
"build": "run-p build:transpile build:types",

0 commit comments

Comments
 (0)