Skip to content

Commit fcab9df

Browse files
committed
Merge branch 'develop' into feat/spotlight-environment-variable-support
2 parents 9ef14ff + d4301fd commit fcab9df

File tree

164 files changed

+1773
-397
lines changed

Some content is hidden

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

164 files changed

+1773
-397
lines changed

.craft.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ preReleaseCommand: bash scripts/craft-pre-release.sh
44
targets:
55
# NPM Targets
66
## 1. Base Packages, node or browser SDKs depend on
7-
## 1.1 Types
8-
- name: npm
9-
id: '@sentry/types'
10-
includeNames: /^sentry-types-\d.*\.tgz$/
11-
## 1.2 Core SDKs
7+
## 1.1 Core SDKs
128
- name: npm
139
id: '@sentry/core'
1410
includeNames: /^sentry-core-\d.*\.tgz$/
11+
## 1.2 Types
12+
- name: npm
13+
id: '@sentry/types'
14+
includeNames: /^sentry-types-\d.*\.tgz$/
1515
- name: npm
1616
id: '@sentry/node-core'
1717
includeNames: /^sentry-node-core-\d.*\.tgz$/

.cursor/BUGBOT.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,16 @@ Do not flag the issues below if they appear in tests.
4545
convention as the `SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN` value.
4646
- When calling `startSpan`, check if error cases are handled. If flag that it might make sense to try/catch and call `captureException`.
4747
- When calling `generateInstrumentationOnce`, the passed in name MUST match the name of the integration that uses it. If there are more than one instrumentations, they need to follow the pattern `${INSTRUMENTATION_NAME}.some-suffix`.
48+
49+
## Testing Conventions
50+
51+
- When reviewing a `feat` PR, check if the PR includes at least one integration or E2E test.
52+
If neither of the two are present, add a comment, recommending to add one.
53+
- When reviewing a `fix` PR, check if the PR includes at least one unit, integration or e2e test that tests the regression this PR fixes.
54+
Usually this means the test failed prior to the fix and passes with the fix.
55+
If no tests are present, add a comment recommending to add one.
56+
- Check that tests actually test the newly added behaviour.
57+
For instance, when checking on sent payloads by the SDK, ensure that the newly added data is asserted thoroughly.
58+
- Flag usage of `expect.objectContaining` and other relaxed assertions, when a test expects something NOT to be included in a payload but there's no respective assertion.
59+
- Flag usage of conditionals in one test and recommend splitting up the test for the different paths.
60+
- Flag usage of loops testing multiple scenarios in one test and recommend using `(it)|(test).each` instead.

.github/workflows/build.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -995,6 +995,8 @@ jobs:
995995
working-directory: ${{ runner.temp }}/test-application
996996
timeout-minutes: 7
997997
run: ${{ matrix.build-command || 'pnpm test:build' }}
998+
env:
999+
SENTRY_E2E_WORKSPACE_ROOT: ${{ github.workspace }}
9981000

9991001
- name: Install Playwright
10001002
uses: ./.github/actions/install-playwright
@@ -1006,6 +1008,8 @@ jobs:
10061008
working-directory: ${{ runner.temp }}/test-application
10071009
timeout-minutes: 10
10081010
run: ${{ matrix.assert-command || 'pnpm test:assert' }}
1011+
env:
1012+
SENTRY_E2E_WORKSPACE_ROOT: ${{ github.workspace }}
10091013

10101014
- name: Upload Playwright Traces
10111015
uses: actions/upload-artifact@v5

.github/workflows/create-issue-for-unreferenced-prs.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,14 @@ jobs:
4141
return;
4242
}
4343
44+
// Bail if this edit was made by the GitHub Actions bot (this workflow)
45+
// This prevents infinite loops when we update the PR body with the new issue reference
46+
// We check login specifically to not skip edits from other legitimate bots
47+
if (context.payload.sender && context.payload.sender.login === 'github-actions[bot]') {
48+
console.log(`PR #${pr.number} was edited by github-actions[bot] (this workflow), skipping.`);
49+
return;
50+
}
51+
4452
// Check if the PR is already approved
4553
const reviewsResponse = await github.rest.pulls.listReviews({
4654
owner: context.repo.owner,
@@ -109,7 +117,7 @@ jobs:
109117
console.log(`Created issue #${issueID}.`);
110118
111119
// Update the PR body to reference the new issue
112-
const updatedPrBody = `${prBody}\n\nCloses #${issueID}`;
120+
const updatedPrBody = `${prBody}\n\nCloses #${issueID} (added automatically)`;
113121
114122
await github.rest.pulls.update({
115123
owner: context.repo.owner,

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,30 @@
55
- feat(browser): Add environment variable support for Spotlight configuration ([#18198](https://github.com/getsentry/sentry-javascript/pull/18198))
66
- `SENTRY_SPOTLIGHT`, `PUBLIC_SENTRY_SPOTLIGHT`, `NEXT_PUBLIC_SENTRY_SPOTLIGHT`, `VITE_SENTRY_SPOTLIGHT`, `NUXT_PUBLIC_SENTRY_SPOTLIGHT`, `REACT_APP_SENTRY_SPOTLIGHT`, `VUE_APP_SENTRY_SPOTLIGHT`, and `GATSBY_SENTRY_SPOTLIGHT`
77

8+
Work in this release was contributed by @sebws. Thank you for your contribution!
9+
10+
## 10.30.0
11+
12+
- feat(nextjs): Deprecate Webpack top-level options ([#18343](https://github.com/getsentry/sentry-javascript/pull/18343))
13+
- feat(node): Capture scope when event loop blocked ([#18040](https://github.com/getsentry/sentry-javascript/pull/18040))
14+
- fix(aws-serverless): Remove hyphens from AWS-lambda origins ([#18353](https://github.com/getsentry/sentry-javascript/pull/18353))
15+
- fix(core): Parse method from Request object in fetch ([#18453](https://github.com/getsentry/sentry-javascript/pull/18453))
16+
- fix(react): Add transaction name guards for rapid lazy-route navigations ([#18346](https://github.com/getsentry/sentry-javascript/pull/18346))
17+
18+
<details>
19+
<summary> <strong>Internal Changes</strong> </summary>
20+
21+
- chore(ci): Fix double issue creation for unreferenced PRs ([#18442](https://github.com/getsentry/sentry-javascript/pull/18442))
22+
- chore(deps): bump next from 15.5.4 to 15.5.7 in /dev-packages/e2e-tests/test-applications/nextjs-15 ([#18411](https://github.com/getsentry/sentry-javascript/pull/18411))
23+
- chore(deps): bump next from 15.5.4 to 15.5.7 in /dev-packages/e2e-tests/test-applications/nextjs-15-intl ([#18400](https://github.com/getsentry/sentry-javascript/pull/18400))
24+
- chore(deps): bump next from 16.0.0 to 16.0.7 in /dev-packages/e2e-tests/test-applications/nextjs-16 ([#18399](https://github.com/getsentry/sentry-javascript/pull/18399))
25+
- chore(deps): bump next from 16.0.0 to 16.0.7 in /dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents ([#18427](https://github.com/getsentry/sentry-javascript/pull/18427))
26+
- chore(deps): bump next from 16.0.0 to 16.0.7 in /dev-packages/e2e-tests/test-applications/nextjs-16-tunnel ([#18439](https://github.com/getsentry/sentry-javascript/pull/18439))
27+
- chore(publish): Fix publish order for `@sentry/types` ([#18429](https://github.com/getsentry/sentry-javascript/pull/18429))
28+
- ci(deps): bump actions/create-github-app-token from 2.1.4 to 2.2.0 ([#18362](https://github.com/getsentry/sentry-javascript/pull/18362))
29+
30+
</details>
31+
832
## 10.29.0
933

1034
### Important Changes

dev-packages/browser-integration-tests/loader-suites/loader/noOnLoad/sdkLoadedInMeanwhile/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ sentryTest('it does not download the SDK if the SDK was loaded in the meanwhile'
1717
let cdnLoadedCount = 0;
1818
let sentryEventCount = 0;
1919

20-
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
20+
await page.route(/^https:\/\/dsn\.ingest\.sentry\.io\//, route => {
2121
sentryEventCount++;
2222

2323
return route.fulfill({

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.29.0",
3+
"version": "10.30.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.56.0",
4545
"@sentry-internal/rrweb": "2.34.0",
46-
"@sentry/browser": "10.29.0",
46+
"@sentry/browser": "10.30.0",
4747
"@supabase/supabase-js": "2.49.3",
4848
"axios": "^1.12.2",
4949
"babel-loader": "^8.2.2",

dev-packages/browser-integration-tests/suites/integrations/featureFlags/featureFlags/onError/basic/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ sentryTest('Basic test with eviction, update, and no async tasks', async ({ getL
1212
sentryTest.skip();
1313
}
1414

15-
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
15+
await page.route(/^https:\/\/dsn\.ingest\.sentry\.io\//, route => {
1616
return route.fulfill({
1717
status: 200,
1818
contentType: 'application/json',

dev-packages/browser-integration-tests/suites/integrations/featureFlags/featureFlags/onError/withScope/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ sentryTest('Flag evaluations in forked scopes are stored separately.', async ({
1212
sentryTest.skip();
1313
}
1414

15-
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
15+
await page.route(/^https:\/\/dsn\.ingest\.sentry\.io\//, route => {
1616
return route.fulfill({
1717
status: 200,
1818
contentType: 'application/json',

dev-packages/browser-integration-tests/suites/integrations/featureFlags/featureFlags/onSpan/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ sentryTest("Feature flags are added to active span's attributes on span end.", a
1414
sentryTest.skip();
1515
}
1616

17-
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
17+
await page.route(/^https:\/\/dsn\.ingest\.sentry\.io\//, route => {
1818
return route.fulfill({
1919
status: 200,
2020
contentType: 'application/json',

0 commit comments

Comments
 (0)