Skip to content

Commit a65f1ef

Browse files
committed
Merge branch 'develop' into onur/more-guarding-against-wildcard-transactions
Resolved conflicts in instrumentation.tsx by preserving wildcard transaction handling improvements while integrating develop's router state improvements. Key resolutions: - Kept trackLazyRouteLoad() and lazy route timeout functionality - Integrated shouldHandleNavigation() for router state awareness - Preserved activeNavigationSpans and placeholder race condition handling - Maintained wildcard-to-parameterized route name upgrade logic 3 cross-usage tests will need updates in follow-up to match new behavior.
2 parents 15f8719 + 93faf61 commit a65f1ef

File tree

175 files changed

+5061
-1042
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

+5061
-1042
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Bump OpenTelemetry instrumentations
2+
3+
1. Ensure you're on the `develop` branch with the latest changes:
4+
- If you have unsaved changes, stash them with `git stash -u`.
5+
- If you're on a different branch than `develop`, check out the develop branch using `git checkout develop`.
6+
- Pull the latest updates from the remote repository by running `git pull origin develop`.
7+
8+
2. Create a new branch `bump-otel-{yyyy-mm-dd}`, e.g. `bump-otel-2025-03-03`
9+
10+
3. Create a new empty commit with the commit message `feat(deps): Bump OpenTelemetry instrumentations`
11+
12+
4. Push the branch and create a draft PR, note down the PR number as {PR_NUMBER}
13+
14+
5. Create a changelog entry in `CHANGELOG.md` under
15+
`- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott` with the following format:
16+
`- feat(deps): Bump OpenTelemetry instrumentations ([#{PR_NUMBER}](https://github.com/getsentry/sentry-javascript/pull/{PR_NUMBER}))`
17+
18+
6. Find the "Upgrade OpenTelemetry instrumentations" rule in `.cursor/rules/upgrade_opentelemetry_instrumentations` and
19+
follow those complete instructions step by step.
20+
- Create one commit per package in `packages/**` with the commit message
21+
`Bump OpenTelemetry instrumentations for {SDK}`, e.g. `Bump OpenTelemetry instrumentation for @sentry/node`
22+
23+
- For each OpenTelemetry dependency bump, record an entry in the changelog with the format indented under the main
24+
entry created in step 5: `- Bump @opentelemetry/{instrumentation} from {previous_version} to {new_version}`, e.g.
25+
`- Bump @opentelemetry/instrumentation from 0.204.0 to 0.207.0` **CRITICAL**: Avoid duplicated entries, e.g. if we
26+
bump @opentelemetry/instrumentation in two packages, keep a single changelog entry.
27+
28+
7. Regenerate the yarn lockfile and run `yarn yarn-deduplicate`
29+
30+
8. Run `yarn fix` to fix all formatting issues
31+
32+
9. Finally update the PR description to list all dependency bumps
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
description: Use this rule if you are looking to grade OpenTelemetry instrumentations for the Sentry JavaScript SDKs
3+
globs: *
4+
alwaysApply: false
5+
---
6+
7+
# Upgrading OpenTelemetry instrumentations
8+
9+
1. For every package in packages/\*\*:
10+
- When upgrading dependencies for OpenTelemetry instrumentations we need to first upgrade `@opentelemetry/instrumentation` to the latest version.
11+
**CRITICAL**: `@opentelemetry/instrumentation` MUST NOT include any breaking changes.
12+
Read through the changelog of `@opentelemetry/instrumentation` to figure out if breaking changes are included and fail with the reason if it does include breaking changes.
13+
You can find the changelog at `https://github.com/open-telemetry/opentelemetry-js/blob/main/experimental/CHANGELOG.md`
14+
15+
- After successfully upgrading `@opentelemetry/instrumentation` upgrade all `@opentelemetry/instrumentation-{instrumentation}` packages, e.g. `@opentelemetry/instrumentation-pg`
16+
**CRITICAL**: `@opentelemetry/instrumentation-{instrumentation}` MUST NOT include any breaking changes.
17+
Read through the changelog of `@opentelemetry/instrumentation-{instrumentation}` to figure out if breaking changes are included and fail with the reason if it does including breaking changes.
18+
You can find the changelogs at `https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/packages/instrumentation-{instrumentation}/CHANGELOG.md`.
19+
20+
- Finally, upgrade third party instrumentations to their latest versions, these are currently:
21+
- @prisma/instrumentation
22+
23+
**CRITICAL**: Upgrades to third party instrumentations MUST NOT include breaking changes.
24+
Read through the changelog of each third party instrumentation to figure out if breaking changes are included and fail with the reason if it does include breaking changes.
25+
26+
2. For packages and apps in dev-packages/\*\*:
27+
- If an app depends on `@opentelemetry/instrumentation` >= 0.200.x upgrade it to the latest version.
28+
**CRITICAL**: `@opentelemetry/instrumentation` MUST NOT include any breaking changes.
29+
30+
- If an app depends on `@opentelemetry/instrumentation-http` >= 0.200.x upgrade it to the latest version.
31+
**CRITICAL**: `@opentelemetry/instrumentation-http` MUST NOT include any breaking changes.
32+
33+
3. Generate a new yarn lock file.

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -136,13 +136,14 @@ body:
136136
id: additional
137137
attributes:
138138
label: Additional Context
139-
description:
140-
Add any other context here. Please keep the pre-filled text, which helps us manage issue prioritization.
141-
value: |-
142-
<sub>Tip: React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding `+1` or `me too`, to help us triage it.</sub>
139+
description: Add any other context here.
143140
validations:
144141
required: false
145-
- type: markdown
142+
- type: dropdown
146143
attributes:
147-
value: |-
148-
## Thanks 🙏
144+
label: 'Priority'
145+
description: Please keep the pre-filled option, which helps us manage issue prioritization.
146+
default: 0
147+
options:
148+
- <sub>React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding `+1`
149+
or `me too`, to help us triage it.</sub>

.github/ISSUE_TEMPLATE/feature.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ body:
2727
id: additional
2828
attributes:
2929
label: Additional Context
30-
description:
31-
Add any other context here. Please keep the pre-filled text, which helps us manage feature prioritization.
32-
value: |-
33-
<sub>Tip: React with 👍 to help prioritize this improvement. Please use comments to provide useful context, avoiding `+1` or `me too`, to help us triage it.</sub>
30+
description: Add any other context here.
3431
validations:
3532
required: false
36-
- type: markdown
33+
- type: dropdown
3734
attributes:
38-
value: |-
39-
## Thanks 🙏
40-
Check our [triage docs](https://open.sentry.io/triage/) for what to expect next.
35+
label: 'Priority'
36+
description: Please keep the pre-filled option, which helps us manage issue prioritization.
37+
default: 0
38+
options:
39+
- <sub>React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding `+1`
40+
or `me too`, to help us triage it.</sub>

.github/dependency-review-config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@ allow-ghsas:
99
- GHSA-v784-fjjh-f8r4
1010
# Next.js Cache poisoning - We require a vulnerable version for E2E testing
1111
- GHSA-gp8f-8m3g-qvj9
12+
# devalue vulnerability - this is just used by nuxt & astro as transitive dependency
13+
- GHSA-vj54-72f3-p5jv

.github/workflows/auto-release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
steps:
1616
- name: Get auth token
1717
id: token
18-
uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1
18+
uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
1919
with:
2020
app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
2121
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}
@@ -42,7 +42,7 @@ jobs:
4242
echo "version=$version" >> $GITHUB_OUTPUT
4343
4444
- name: Set up Node
45-
uses: actions/setup-node@v4
45+
uses: actions/setup-node@v6
4646
with:
4747
node-version-file: 'package.json'
4848

.github/workflows/build.yml

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ jobs:
142142
ref: ${{ env.HEAD_COMMIT }}
143143

144144
- name: Set up Node
145-
uses: actions/setup-node@v4
145+
uses: actions/setup-node@v6
146146
with:
147147
node-version-file: 'package.json'
148148

@@ -181,7 +181,7 @@ jobs:
181181
run: yarn build
182182

183183
- name: Upload build artifacts
184-
uses: actions/upload-artifact@v4
184+
uses: actions/upload-artifact@v5
185185
with:
186186
name: build-output
187187
path: ${{ env.CACHED_BUILD_PATHS }}
@@ -242,7 +242,7 @@ jobs:
242242
with:
243243
ref: ${{ env.HEAD_COMMIT }}
244244
- name: Set up Node
245-
uses: actions/setup-node@v4
245+
uses: actions/setup-node@v6
246246
with:
247247
node-version-file: 'package.json'
248248
- name: Restore caches
@@ -271,7 +271,7 @@ jobs:
271271
with:
272272
ref: ${{ env.HEAD_COMMIT }}
273273
- name: Set up Node
274-
uses: actions/setup-node@v4
274+
uses: actions/setup-node@v6
275275
with:
276276
node-version-file: 'package.json'
277277
- name: Restore caches
@@ -300,7 +300,7 @@ jobs:
300300
with:
301301
ref: ${{ env.HEAD_COMMIT }}
302302
- name: Set up Node
303-
uses: actions/setup-node@v4
303+
uses: actions/setup-node@v6
304304
with:
305305
node-version-file: 'package.json'
306306
- name: Restore caches
@@ -330,7 +330,7 @@ jobs:
330330
ref: ${{ env.HEAD_COMMIT }}
331331

332332
- name: Set up Node
333-
uses: actions/setup-node@v4
333+
uses: actions/setup-node@v6
334334
with:
335335
node-version-file: 'package.json'
336336

@@ -352,7 +352,7 @@ jobs:
352352
with:
353353
ref: ${{ env.HEAD_COMMIT }}
354354
- name: Set up Node
355-
uses: actions/setup-node@v4
355+
uses: actions/setup-node@v6
356356
with:
357357
node-version-file: 'package.json'
358358
- name: Restore caches
@@ -374,7 +374,7 @@ jobs:
374374
with:
375375
ref: ${{ env.HEAD_COMMIT }}
376376
- name: Set up Node
377-
uses: actions/setup-node@v4
377+
uses: actions/setup-node@v6
378378
with:
379379
node-version-file: 'package.json'
380380
- name: Restore caches
@@ -386,7 +386,7 @@ jobs:
386386
run: yarn build:tarball
387387

388388
- name: Archive artifacts
389-
uses: actions/upload-artifact@v4
389+
uses: actions/upload-artifact@v5
390390
with:
391391
name: ${{ github.sha }}
392392
retention-days: 90
@@ -415,7 +415,7 @@ jobs:
415415
with:
416416
ref: ${{ env.HEAD_COMMIT }}
417417
- name: Set up Node
418-
uses: actions/setup-node@v4
418+
uses: actions/setup-node@v6
419419
with:
420420
node-version-file: 'package.json'
421421
- name: Restore caches
@@ -456,7 +456,7 @@ jobs:
456456
with:
457457
ref: ${{ env.HEAD_COMMIT }}
458458
- name: Set up Node
459-
uses: actions/setup-node@v4
459+
uses: actions/setup-node@v6
460460
with:
461461
node-version-file: 'package.json'
462462
- name: Set up Bun
@@ -481,7 +481,7 @@ jobs:
481481
with:
482482
ref: ${{ env.HEAD_COMMIT }}
483483
- name: Set up Node
484-
uses: actions/setup-node@v4
484+
uses: actions/setup-node@v6
485485
with:
486486
node-version-file: 'package.json'
487487
- name: Set up Deno
@@ -518,7 +518,7 @@ jobs:
518518
with:
519519
ref: ${{ env.HEAD_COMMIT }}
520520
- name: Set up Node
521-
uses: actions/setup-node@v4
521+
uses: actions/setup-node@v6
522522
with:
523523
node-version: ${{ matrix.node }}
524524
- name: Restore caches
@@ -607,7 +607,7 @@ jobs:
607607
with:
608608
ref: ${{ env.HEAD_COMMIT }}
609609
- name: Set up Node
610-
uses: actions/setup-node@v4
610+
uses: actions/setup-node@v6
611611
with:
612612
node-version-file: 'package.json'
613613
- name: Restore caches
@@ -629,7 +629,7 @@ jobs:
629629
format(' --shard={0}/{1}', matrix.shard, matrix.shards) || '' }}
630630

631631
- name: Upload Playwright Traces
632-
uses: actions/upload-artifact@v4
632+
uses: actions/upload-artifact@v5
633633
if: failure()
634634
with:
635635
name:
@@ -671,7 +671,7 @@ jobs:
671671
with:
672672
ref: ${{ env.HEAD_COMMIT }}
673673
- name: Set up Node
674-
uses: actions/setup-node@v4
674+
uses: actions/setup-node@v6
675675
with:
676676
node-version-file: 'package.json'
677677
- name: Restore caches
@@ -692,7 +692,7 @@ jobs:
692692
yarn test:loader
693693
694694
- name: Upload Playwright Traces
695-
uses: actions/upload-artifact@v4
695+
uses: actions/upload-artifact@v5
696696
if: failure()
697697
with:
698698
name: playwright-traces-job_browser_loader_tests-${{ matrix.bundle}}
@@ -719,7 +719,7 @@ jobs:
719719
with:
720720
ref: ${{ env.HEAD_COMMIT }}
721721
- name: Set up Node
722-
uses: actions/setup-node@v4
722+
uses: actions/setup-node@v6
723723
with:
724724
node-version-file: 'package.json'
725725
- name: Restore caches
@@ -757,7 +757,7 @@ jobs:
757757
with:
758758
ref: ${{ env.HEAD_COMMIT }}
759759
- name: Set up Node
760-
uses: actions/setup-node@v4
760+
uses: actions/setup-node@v6
761761
with:
762762
node-version: ${{ matrix.node }}
763763
- name: Restore caches
@@ -793,7 +793,7 @@ jobs:
793793
with:
794794
ref: ${{ env.HEAD_COMMIT }}
795795
- name: Set up Node
796-
uses: actions/setup-node@v4
796+
uses: actions/setup-node@v6
797797
with:
798798
node-version-file: 'package.json'
799799
- name: Restore caches
@@ -821,7 +821,7 @@ jobs:
821821
with:
822822
ref: ${{ env.HEAD_COMMIT }}
823823
- name: Set up Node
824-
uses: actions/setup-node@v4
824+
uses: actions/setup-node@v6
825825
with:
826826
node-version: ${{ matrix.node }}
827827
- name: Restore caches
@@ -873,7 +873,7 @@ jobs:
873873
with:
874874
ref: ${{ env.HEAD_COMMIT }}
875875
- name: Set up Node
876-
uses: actions/setup-node@v4
876+
uses: actions/setup-node@v6
877877
with:
878878
node-version-file: 'package.json'
879879
- name: Restore caches
@@ -941,7 +941,7 @@ jobs:
941941
with:
942942
version: 9.15.9
943943
- name: Set up Node
944-
uses: actions/setup-node@v4
944+
uses: actions/setup-node@v6
945945
with:
946946
node-version-file: 'dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}/package.json'
947947
- name: Set up Bun
@@ -1005,7 +1005,7 @@ jobs:
10051005
run: ${{ matrix.assert-command || 'pnpm test:assert' }}
10061006

10071007
- name: Upload Playwright Traces
1008-
uses: actions/upload-artifact@v4
1008+
uses: actions/upload-artifact@v5
10091009
if: failure()
10101010
with:
10111011
name: playwright-traces-job_e2e_playwright_tests-${{ matrix.test-application}}
@@ -1019,7 +1019,7 @@ jobs:
10191019
node ./scripts/normalize-e2e-test-dump-transaction-events.js
10201020
10211021
- name: Upload E2E Test Event Dumps
1022-
uses: actions/upload-artifact@v4
1022+
uses: actions/upload-artifact@v5
10231023
if: failure()
10241024
with:
10251025
name: E2E Test Dump (${{ matrix.label || matrix.test-application }})
@@ -1071,7 +1071,7 @@ jobs:
10711071
with:
10721072
version: 9.15.9
10731073
- name: Set up Node
1074-
uses: actions/setup-node@v4
1074+
uses: actions/setup-node@v6
10751075
with:
10761076
node-version-file: 'dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}/package.json'
10771077
- name: Restore caches
@@ -1131,7 +1131,7 @@ jobs:
11311131
node ./scripts/normalize-e2e-test-dump-transaction-events.js
11321132
11331133
- name: Upload E2E Test Event Dumps
1134-
uses: actions/upload-artifact@v4
1134+
uses: actions/upload-artifact@v5
11351135
if: failure()
11361136
with:
11371137
name: E2E Test Dump (${{ matrix.label || matrix.test-application }})

.github/workflows/canary.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
with:
3636
ref: ${{ env.HEAD_COMMIT }}
3737
- name: Set up Node
38-
uses: actions/setup-node@v4
38+
uses: actions/setup-node@v6
3939
with:
4040
node-version-file: 'package.json'
4141
- name: Check canary cache
@@ -125,7 +125,7 @@ jobs:
125125
version: 9.15.9
126126
- name: Set up Node
127127
if: matrix.test-application != 'angular-20'
128-
uses: actions/setup-node@v4
128+
uses: actions/setup-node@v6
129129
with:
130130
node-version-file: 'dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}/package.json'
131131

0 commit comments

Comments
 (0)