Skip to content

Commit d6ff4c2

Browse files
authored
Merge branch 'develop' into onur/postgres-js-esm-support
2 parents e687a79 + e9b2df9 commit d6ff4c2

File tree

480 files changed

+5512
-2340
lines changed

Some content is hidden

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

480 files changed

+5512
-2340
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/auto-release.yml

Lines changed: 1 addition & 1 deletion
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@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
18+
uses: actions/create-github-app-token@7e473efe3cb98aa54f8d4bac15400b15fad77d94 # v2.2.0
1919
with:
2020
app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
2121
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}

.github/workflows/build.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -992,6 +992,8 @@ jobs:
992992
working-directory: ${{ runner.temp }}/test-application
993993
timeout-minutes: 7
994994
run: ${{ matrix.build-command || 'pnpm test:build' }}
995+
env:
996+
SENTRY_E2E_WORKSPACE_ROOT: ${{ github.workspace }}
995997

996998
- name: Install Playwright
997999
uses: ./.github/actions/install-playwright
@@ -1003,6 +1005,8 @@ jobs:
10031005
working-directory: ${{ runner.temp }}/test-application
10041006
timeout-minutes: 10
10051007
run: ${{ matrix.assert-command || 'pnpm test:assert' }}
1008+
env:
1009+
SENTRY_E2E_WORKSPACE_ROOT: ${{ github.workspace }}
10061010

10071011
- name: Upload Playwright Traces
10081012
uses: actions/upload-artifact@v5

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

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ concurrency:
1919
jobs:
2020
check_for_issue_reference:
2121
runs-on: ubuntu-latest
22+
if: |
23+
!contains(github.event.pull_request.labels.*.name, 'Dev: Gitflow')
24+
&& !startsWith(github.event.pull_request.head.ref, 'external-contributor/')
25+
&& !startsWith(github.event.pull_request.head.ref, 'prepare-release/')
26+
&& !startsWith(github.event.pull_request.head.ref, 'dependabot/')
2227
steps:
2328
- name: Check PR Body and Title for Issue Reference
2429
uses: actions/github-script@v8
@@ -36,6 +41,14 @@ jobs:
3641
return;
3742
}
3843
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+
3952
// Check if the PR is already approved
4053
const reviewsResponse = await github.rest.pulls.listReviews({
4154
owner: context.repo.owner,
@@ -104,7 +117,7 @@ jobs:
104117
console.log(`Created issue #${issueID}.`);
105118
106119
// Update the PR body to reference the new issue
107-
const updatedPrBody = `${prBody}\n\nCloses #${issueID}`;
120+
const updatedPrBody = `${prBody}\n\nCloses #${issueID} (added automatically)`;
108121
109122
await github.rest.pulls.update({
110123
owner: context.repo.owner,

.github/workflows/gitflow-merge-conflict.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ jobs:
1919
uses: actions/github-script@v8
2020
with:
2121
script: |
22+
const initialDelay = 60_000; // Wait 1 minute before first check to let CI start
2223
const retryInterval = 30_000;
2324
const maxRetries = 10; // (30 seconds * 10 retries) = 5 minutes
2425
@@ -39,6 +40,10 @@ jobs:
3940
let attempt = 0;
4041
let mergeable = null;
4142
43+
// Wait before first check to give CI time to start
44+
console.log(`Waiting ${initialDelay/1000} seconds before first check to let CI start...`);
45+
await sleep(initialDelay);
46+
4247
while (attempt < maxRetries) {
4348
attempt++;
4449
console.log(`Attempt ${attempt}/${maxRetries}: Checking if PR is mergeable...`);

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
steps:
2020
- name: Get auth token
2121
id: token
22-
uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
22+
uses: actions/create-github-app-token@7e473efe3cb98aa54f8d4bac15400b15fad77d94 # v2.2.0
2323
with:
2424
app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
2525
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}

CHANGELOG.md

Lines changed: 85 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,59 @@
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 @sebws. Thank you for your contribution!
8+
9+
## 10.30.0
10+
11+
- feat(nextjs): Deprecate Webpack top-level options ([#18343](https://github.com/getsentry/sentry-javascript/pull/18343))
12+
- feat(node): Capture scope when event loop blocked ([#18040](https://github.com/getsentry/sentry-javascript/pull/18040))
13+
- fix(aws-serverless): Remove hyphens from AWS-lambda origins ([#18353](https://github.com/getsentry/sentry-javascript/pull/18353))
14+
- fix(core): Parse method from Request object in fetch ([#18453](https://github.com/getsentry/sentry-javascript/pull/18453))
15+
- fix(react): Add transaction name guards for rapid lazy-route navigations ([#18346](https://github.com/getsentry/sentry-javascript/pull/18346))
16+
17+
<details>
18+
<summary> <strong>Internal Changes</strong> </summary>
19+
20+
- chore(ci): Fix double issue creation for unreferenced PRs ([#18442](https://github.com/getsentry/sentry-javascript/pull/18442))
21+
- 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))
22+
- 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))
23+
- 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))
24+
- 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))
25+
- 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))
26+
- chore(publish): Fix publish order for `@sentry/types` ([#18429](https://github.com/getsentry/sentry-javascript/pull/18429))
27+
- 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))
28+
29+
</details>
30+
31+
## 10.29.0
32+
33+
### Important Changes
34+
35+
- **feat(solid|solidstart): Bump accepted @solidjs/router range ([#18395](https://github.com/getsentry/sentry-javascript/pull/18395))**
36+
37+
We expanded the supported version range for `@solidjs/router` to include `0.14.x` and `0.15.x` versions.
38+
39+
### Other Changes
40+
41+
- fix(logs): Add support for `msg` in pino integration ([#18389](https://github.com/getsentry/sentry-javascript/pull/18389))
42+
- fix(node): Include system message in anthropic-ai messages span ([#18332](https://github.com/getsentry/sentry-javascript/pull/18332))
43+
- fix(tracing): Add missing attributes in vercel-ai spans ([#18333](https://github.com/getsentry/sentry-javascript/pull/18333))
44+
45+
<details>
46+
<summary> <strong>Internal Changes</strong> </summary>
47+
48+
- chore(tanstackstart-react): clean up re-exported types ([#18393](https://github.com/getsentry/sentry-javascript/pull/18393))
49+
- ref(core): Avoid looking up openai integration options ([#17695](https://github.com/getsentry/sentry-javascript/pull/17695))
50+
- test(nuxt): Relax captured unhandled error assertion ([#18397](https://github.com/getsentry/sentry-javascript/pull/18397))
51+
- test(tanstackstart-react): Set up E2E test application ([#18358](https://github.com/getsentry/sentry-javascript/pull/18358))
52+
53+
</details>
54+
55+
## 10.28.0
56+
757
### Important Changes
858

9-
- **feat(core): Make `matcher` parameter optional in `makeMultiplexedTransport` ([#10798](https://github.com/getsentry/sentry-javascript/pull/10798))** .
59+
- **feat(core): Make `matcher` parameter optional in `makeMultiplexedTransport` ([#10798](https://github.com/getsentry/sentry-javascript/pull/10798))**
1060

1161
The `matcher` parameter in `makeMultiplexedTransport` is now optional with a sensible default. This makes it much easier to use the multiplexed transport for sending events to multiple DSNs based on runtime configuration.
1262

@@ -69,6 +119,40 @@ The default matcher looks for routing information in `event.extra[MULTIPLEXED_TR
69119
70120
This release adds support for `cacheComponents` on turbopack builds. We are working on adding support for this feature in webpack builds as well.
71121
122+
### Other Changes
123+
124+
- feat: Publish AWS Lambda Layer for Node 24 ([#18327](https://github.com/getsentry/sentry-javascript/pull/18327))
125+
- feat(browser): Expose langchain instrumentation ([#18342](https://github.com/getsentry/sentry-javascript/pull/18342))
126+
- feat(browser): Expose langgraph instrumentation ([#18345](https://github.com/getsentry/sentry-javascript/pull/18345))
127+
- feat(cloudflare): Allow specifying a custom fetch in Cloudflare transport options ([#18335](https://github.com/getsentry/sentry-javascript/pull/18335))
128+
- feat(core): Add `isolateTrace` option to `Sentry.withMonitor()` ([#18079](https://github.com/getsentry/sentry-javascript/pull/18079))
129+
- feat(deps): bump @sentry/webpack-plugin from 4.3.0 to 4.6.1 ([#18272](https://github.com/getsentry/sentry-javascript/pull/18272))
130+
- feat(nextjs): Add cloudflare `waitUntil` detection ([#18336](https://github.com/getsentry/sentry-javascript/pull/18336))
131+
- feat(node): Add LangChain v1 support ([#18306](https://github.com/getsentry/sentry-javascript/pull/18306))
132+
- feat(remix): Add parameterized transaction naming for routes ([#17951](https://github.com/getsentry/sentry-javascript/pull/17951))
133+
- fix(cloudflare): Keep http root span alive until streaming responses are consumed ([#18087](https://github.com/getsentry/sentry-javascript/pull/18087))
134+
- fix(cloudflare): Wait for async events to finish ([#18334](https://github.com/getsentry/sentry-javascript/pull/18334))
135+
- fix(core): `continueTrace` doesn't propagate given trace ID if active span exists ([#18328](https://github.com/getsentry/sentry-javascript/pull/18328))
136+
- fix(node-core): Handle custom scope in log messages without parameters ([#18322](https://github.com/getsentry/sentry-javascript/pull/18322))
137+
- fix(opentelemetry): Ensure Sentry spans don't leak when tracing is disabled ([#18337](https://github.com/getsentry/sentry-javascript/pull/18337))
138+
- fix(react-router): Use underscores in trace origin values ([#18351](https://github.com/getsentry/sentry-javascript/pull/18351))
139+
- chore(tanstackstart-react): Export custom inits from tanstackstart-react ([#18369](https://github.com/getsentry/sentry-javascript/pull/18369))
140+
- chore(tanstackstart-react)!: Remove empty placeholder implementations ([#18338](https://github.com/getsentry/sentry-javascript/pull/18338))
141+
142+
<details>
143+
<summary><strong>Internal Changes</strong></summary>
144+
145+
- chore: Allow URLs as issue ([#18372](https://github.com/getsentry/sentry-javascript/pull/18372))
146+
- chore(changelog): Add entry for [#18304](https://github.com/getsentry/sentry-javascript/pull/18304) ([#18329](https://github.com/getsentry/sentry-javascript/pull/18329))
147+
- chore(ci): Add action to track all PRs as issues ([#18363](https://github.com/getsentry/sentry-javascript/pull/18363))
148+
- chore(github): Adjust `BUGBOT.md` rules to flag invalid op and origin values during review ([#18352](https://github.com/getsentry/sentry-javascript/pull/18352))
149+
- ci: Add action to create issue on gitflow merge conflicts ([#18319](https://github.com/getsentry/sentry-javascript/pull/18319))
150+
- ci(deps): bump actions/checkout from 5 to 6 ([#18268](https://github.com/getsentry/sentry-javascript/pull/18268))
151+
- ci(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 ([#18361](https://github.com/getsentry/sentry-javascript/pull/18361))
152+
- test(cloudflare): Add typechecks for cloudflare-worker e2e test ([#18321](https://github.com/getsentry/sentry-javascript/pull/18321))
153+
154+
</details>
155+
72156
## 10.27.0
73157
74158
### 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: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@sentry-internal/browser-integration-tests",
3-
"version": "10.27.0",
3+
"version": "10.30.0",
44
"main": "index.js",
55
"license": "MIT",
66
"engines": {
@@ -41,9 +41,9 @@
4141
"dependencies": {
4242
"@babel/core": "^7.27.7",
4343
"@babel/preset-typescript": "^7.16.7",
44-
"@playwright/test": "~1.53.2",
44+
"@playwright/test": "~1.56.0",
4545
"@sentry-internal/rrweb": "2.34.0",
46-
"@sentry/browser": "10.27.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",

0 commit comments

Comments
 (0)