Skip to content

Commit b7fe9bf

Browse files
authored
Merge pull request #18770 from getsentry/prepare-release/10.33.0
meta(changelog): Update changelog for 10.33.0
2 parents 50f54e5 + 1630389 commit b7fe9bf

File tree

297 files changed

+7927
-1410
lines changed

Some content is hidden

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

297 files changed

+7927
-1410
lines changed

.craft.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ targets:
146146
# AWS Lambda Layer target
147147
- name: aws-lambda-layer
148148
includeNames: /^sentry-node-serverless-\d+.\d+.\d+(-(beta|alpha|rc)\.\d+)?\.zip$/
149-
layerName: SentryNodeServerlessSDKv10
149+
layerName: SentryNodeServerlessSDKv{{{major}}}
150150
compatibleRuntimes:
151151
- name: node
152152
versions:

.cursor/rules/sdk_development.mdc

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,54 @@ Each package typically contains:
121121
- Integration tests use Playwright extensively
122122
- Never change the volta, yarn, or package manager setup in general unless explicitly asked for
123123

124+
### E2E Testing
125+
126+
E2E tests are located in `dev-packages/e2e-tests/` and verify SDK behavior in real-world framework scenarios.
127+
128+
#### How Verdaccio Registry Works
129+
130+
E2E tests use [Verdaccio](https://verdaccio.org/), a lightweight npm registry running in Docker. Before tests run:
131+
132+
1. SDK packages are built and packed into tarballs (`yarn build && yarn build:tarball`)
133+
2. Tarballs are published to Verdaccio at `http://127.0.0.1:4873`
134+
3. Test applications install packages from Verdaccio instead of public npm
135+
136+
#### The `.npmrc` Requirement
137+
138+
Every E2E test application needs an `.npmrc` file with:
139+
140+
```
141+
@sentry:registry=http://127.0.0.1:4873
142+
@sentry-internal:registry=http://127.0.0.1:4873
143+
```
144+
145+
Without this file, pnpm installs from the public npm registry instead of Verdaccio, so your local changes won't be tested. This is a common cause of "tests pass in CI but fail locally" or vice versa.
146+
147+
#### Running a Single E2E Test
148+
149+
```bash
150+
# Build packages first
151+
yarn build && yarn build:tarball
152+
153+
# Run a specific test app
154+
cd dev-packages/e2e-tests
155+
yarn test:run <app-name>
156+
157+
# Run with a specific variant (e.g., Next.js 15)
158+
yarn test:run <app-name> --variant <variant-name>
159+
```
160+
161+
#### Common Pitfalls and Debugging
162+
163+
1. **Missing `.npmrc`**: Most common issue. Always verify the test app has the correct `.npmrc` file.
164+
165+
2. **Stale tarballs**: After SDK changes, must re-run `yarn build:tarball`.
166+
167+
3. **Debugging tips**:
168+
- Check browser console logs for SDK initialization errors
169+
- Use `debug: true` in Sentry config
170+
- Verify installed package version: check `node_modules/@sentry/*/package.json`
171+
124172
### Notes for Background Tasks
125173

126174
- Make sure to use [volta](https://volta.sh/) for development. Volta is used to manage the node, yarn and pnpm version used.

.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@7e473efe3cb98aa54f8d4bac15400b15fad77d94 # v2.2.0
18+
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
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: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ jobs:
159159
head: ${{ env.HEAD_COMMIT }}
160160

161161
- name: NX cache
162-
uses: actions/cache@v4
162+
uses: actions/cache@v5
163163
# Disable cache when:
164164
# - on release branches
165165
# - when PR has `ci-skip-cache` label or on nightly builds
@@ -181,7 +181,7 @@ jobs:
181181
run: yarn build
182182

183183
- name: Upload build artifacts
184-
uses: actions/upload-artifact@v5
184+
uses: actions/upload-artifact@v6
185185
with:
186186
name: build-output
187187
path: ${{ env.CACHED_BUILD_PATHS }}
@@ -386,7 +386,7 @@ jobs:
386386
run: yarn build:tarball
387387

388388
- name: Archive artifacts
389-
uses: actions/upload-artifact@v5
389+
uses: actions/upload-artifact@v6
390390
with:
391391
name: ${{ github.sha }}
392392
retention-days: 90
@@ -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@v5
632+
uses: actions/upload-artifact@v6
633633
if: failure()
634634
with:
635635
name:
@@ -692,7 +692,7 @@ jobs:
692692
yarn test:loader
693693
694694
- name: Upload Playwright Traces
695-
uses: actions/upload-artifact@v5
695+
uses: actions/upload-artifact@v6
696696
if: failure()
697697
with:
698698
name: playwright-traces-job_browser_loader_tests-${{ matrix.bundle}}
@@ -881,7 +881,7 @@ jobs:
881881
with:
882882
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
883883
- name: NX cache
884-
uses: actions/cache/restore@v4
884+
uses: actions/cache/restore@v5
885885
with:
886886
path: .nxcache
887887
key: nx-Linux-${{ github.ref }}-${{ env.HEAD_COMMIT }}
@@ -892,7 +892,7 @@ jobs:
892892
run: yarn build:tarball
893893

894894
- name: Stores tarballs in cache
895-
uses: actions/cache/save@v4
895+
uses: actions/cache/save@v5
896896
with:
897897
path: ${{ github.workspace }}/packages/*/*.tgz
898898
key: ${{ env.BUILD_CACHE_TARBALL_KEY }}
@@ -959,7 +959,7 @@ jobs:
959959
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
960960

961961
- name: Restore tarball cache
962-
uses: actions/cache/restore@v4
962+
uses: actions/cache/restore@v5
963963
id: restore-tarball-cache
964964
with:
965965
path: ${{ github.workspace }}/packages/*/*.tgz
@@ -1009,7 +1009,7 @@ jobs:
10091009
SENTRY_E2E_WORKSPACE_ROOT: ${{ github.workspace }}
10101010

10111011
- name: Upload Playwright Traces
1012-
uses: actions/upload-artifact@v5
1012+
uses: actions/upload-artifact@v6
10131013
if: failure()
10141014
with:
10151015
name: playwright-traces-job_e2e_playwright_tests-${{ matrix.test-application}}
@@ -1023,7 +1023,7 @@ jobs:
10231023
node ./scripts/normalize-e2e-test-dump-transaction-events.js
10241024
10251025
- name: Upload E2E Test Event Dumps
1026-
uses: actions/upload-artifact@v5
1026+
uses: actions/upload-artifact@v6
10271027
if: failure()
10281028
with:
10291029
name: E2E Test Dump (${{ matrix.label || matrix.test-application }})
@@ -1084,7 +1084,7 @@ jobs:
10841084
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
10851085

10861086
- name: Restore tarball cache
1087-
uses: actions/cache/restore@v4
1087+
uses: actions/cache/restore@v5
10881088
id: restore-tarball-cache
10891089
with:
10901090
path: ${{ github.workspace }}/packages/*/*.tgz
@@ -1135,7 +1135,7 @@ jobs:
11351135
node ./scripts/normalize-e2e-test-dump-transaction-events.js
11361136
11371137
- name: Upload E2E Test Event Dumps
1138-
uses: actions/upload-artifact@v5
1138+
uses: actions/upload-artifact@v6
11391139
if: failure()
11401140
with:
11411141
name: E2E Test Dump (${{ matrix.label || matrix.test-application }})

.github/workflows/canary.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
with:
4040
node-version-file: 'package.json'
4141
- name: Check canary cache
42-
uses: actions/cache@v4
42+
uses: actions/cache@v5
4343
with:
4444
path: ${{ env.CACHED_BUILD_PATHS }}
4545
key: canary-${{ env.HEAD_COMMIT }}
@@ -114,6 +114,12 @@ jobs:
114114
- test-application: 'nuxt-4'
115115
build-command: 'test:build-canary'
116116
label: 'nuxt-4 (canary)'
117+
- test-application: 'tanstackstart-react'
118+
build-command: 'test:build-latest'
119+
label: 'tanstackstart-react (latest)'
120+
- test-application: 'nestjs-11'
121+
build-command: 'test:build-latest'
122+
label: 'nestjs-11 (latest)'
117123

118124
steps:
119125
- name: Check out current commit
@@ -130,7 +136,7 @@ jobs:
130136
node-version-file: 'dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}/package.json'
131137

132138
- name: Restore canary cache
133-
uses: actions/cache/restore@v4
139+
uses: actions/cache/restore@v5
134140
with:
135141
path: ${{ env.CACHED_BUILD_PATHS }}
136142
key: canary-${{ env.HEAD_COMMIT }}

.github/workflows/external-contributors.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
author_association: ${{ github.event.pull_request.author_association }}
3737

3838
- name: Create PR with changes
39-
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412
39+
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
4040
with:
4141
# This token is scoped to Daniel Griesser
4242
# If we used the default GITHUB_TOKEN, the resulting PR would not trigger CI :(

.github/workflows/flaky-test-detector.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
run: yarn install --ignore-engines --frozen-lockfile
4141

4242
- name: NX cache
43-
uses: actions/cache/restore@v4
43+
uses: actions/cache/restore@v5
4444
with:
4545
path: .nxcache
4646
key: nx-Linux-${{ github.ref }}-${{ env.HEAD_COMMIT }}
@@ -71,7 +71,7 @@ jobs:
7171
TEST_RUN_COUNT: 'AUTO'
7272

7373
- name: Upload Playwright Traces
74-
uses: actions/upload-artifact@v5
74+
uses: actions/upload-artifact@v6
7575
if: failure() && steps.test.outcome == 'failure'
7676
with:
7777
name: playwright-test-results

.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@7e473efe3cb98aa54f8d4bac15400b15fad77d94 # v2.2.0
22+
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
2323
with:
2424
app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
2525
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}

.size-limit.js

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ module.exports = [
8282
path: 'packages/browser/build/npm/esm/prod/index.js',
8383
import: createImport('init', 'browserTracingIntegration', 'replayIntegration', 'replayCanvasIntegration'),
8484
gzip: true,
85-
limit: '85 KB',
85+
limit: '85.5 KB',
8686
},
8787
{
8888
name: '@sentry/browser (incl. Tracing, Replay, Feedback)',
@@ -112,6 +112,27 @@ module.exports = [
112112
gzip: true,
113113
limit: '35 KB',
114114
},
115+
{
116+
name: '@sentry/browser (incl. Metrics)',
117+
path: 'packages/browser/build/npm/esm/prod/index.js',
118+
import: createImport('init', 'metrics'),
119+
gzip: true,
120+
limit: '27 KB',
121+
},
122+
{
123+
name: '@sentry/browser (incl. Logs)',
124+
path: 'packages/browser/build/npm/esm/prod/index.js',
125+
import: createImport('init', 'logger'),
126+
gzip: true,
127+
limit: '27 KB',
128+
},
129+
{
130+
name: '@sentry/browser (incl. Metrics & Logs)',
131+
path: 'packages/browser/build/npm/esm/prod/index.js',
132+
import: createImport('init', 'metrics', 'logger'),
133+
gzip: true,
134+
limit: '28 KB',
135+
},
115136
// React SDK (ESM)
116137
{
117138
name: '@sentry/react',
@@ -222,7 +243,7 @@ module.exports = [
222243
import: createImport('init'),
223244
ignore: ['$app/stores'],
224245
gzip: true,
225-
limit: '42 KB',
246+
limit: '42.5 KB',
226247
},
227248
// Node-Core SDK (ESM)
228249
{
@@ -240,7 +261,7 @@ module.exports = [
240261
import: createImport('init'),
241262
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
242263
gzip: true,
243-
limit: '162 KB',
264+
limit: '162.5 KB',
244265
},
245266
{
246267
name: '@sentry/node - without tracing',

0 commit comments

Comments
 (0)