Skip to content

Commit 3945e93

Browse files
authored
Merge pull request #7523 from getsentry/prepare-release/7.44.0
meta: Update CHANGELOG for 7.44.0
2 parents d044224 + b0a6c83 commit 3945e93

File tree

579 files changed

+5974
-1510
lines changed

Some content is hidden

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

579 files changed

+5974
-1510
lines changed

.craft.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ targets:
1111
- nodejs10.x
1212
- nodejs12.x
1313
- nodejs14.x
14+
- nodejs16.x
15+
- nodejs18.x
1416
license: MIT
1517
- name: gcs
1618
includeNames: /.*\.js.*$/
@@ -22,7 +24,6 @@ targets:
2224
- name: github
2325
includeNames: /^sentry-.*$/
2426
- name: npm
25-
excludeNames: /^sentry-sveltekit-.*$/
2627
- name: registry
2728
sdks:
2829
'npm:@sentry/browser':

.git-blame-ignore-revs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,6 @@
66

77
# build: Add `@typescript-eslint/consistent-type-imports` rule (#6662)
88
2aa4e94b036675245290596884959e06dcced044
9+
10+
# chore: Rename `integration-tests` -> `browser-integration-tests` (#7455)
11+
ef6b3c7877d5fc8031c08bb28b0ffafaeb01f501

.github/workflows/build.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ jobs:
9999
browser_integration:
100100
- *shared
101101
- *browser
102-
- 'packages/integration-tests/**'
102+
- 'packages/browser-integration-tests/**'
103103
ember:
104104
- *shared
105105
- *browser
@@ -144,7 +144,8 @@ jobs:
144144
has_gitflow_label:
145145
${{ github.event_name == 'pull_request' && contains(steps.pr-labels.outputs.labels, ' Gitflow ') }}
146146
force_skip_cache:
147-
${{ github.event_name == 'schedule' || (github.event_name == 'pull_request' && contains(steps.pr-labels.outputs.labels, ' ci-skip-cache ')) }}
147+
${{ github.event_name == 'schedule' || (github.event_name == 'pull_request' &&
148+
contains(steps.pr-labels.outputs.labels, ' ci-skip-cache ')) }}
148149

149150
job_install_deps:
150151
name: Install Dependencies
@@ -274,7 +275,9 @@ jobs:
274275
needs: [job_get_metadata, job_build]
275276
timeout-minutes: 15
276277
runs-on: ubuntu-20.04
277-
if: github.event_name == 'pull_request' || needs.job_get_metadata.outputs.is_develop == 'true' || needs.job_get_metadata.outputs.is_release == 'true'
278+
if:
279+
github.event_name == 'pull_request' || needs.job_get_metadata.outputs.is_develop == 'true' ||
280+
needs.job_get_metadata.outputs.is_release == 'true'
278281
steps:
279282
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
280283
uses: actions/checkout@v3
@@ -540,7 +543,7 @@ jobs:
540543
PW_BUNDLE: ${{ matrix.bundle }}
541544
PW_TRACING_ONLY: ${{ matrix.tracing_only }}
542545
run: |
543-
cd packages/integration-tests
546+
cd packages/browser-integration-tests
544547
yarn test:ci
545548
546549
job_browser_integration_tests:
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: 'Detect flaky tests'
2+
on:
3+
workflow_dispatch:
4+
pull_request:
5+
paths:
6+
- 'packages/browser-integration-tests/suites/**'
7+
8+
env:
9+
HEAD_COMMIT: ${{ github.event.inputs.commit || github.sha }}
10+
11+
NX_CACHE_RESTORE_KEYS: |
12+
nx-Linux-${{ github.ref }}-${{ github.event.inputs.commit || github.sha }}
13+
nx-Linux-${{ github.ref }}
14+
nx-Linux
15+
16+
# Cancel in progress workflows on pull_requests.
17+
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
18+
concurrency:
19+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
20+
cancel-in-progress: true
21+
22+
jobs:
23+
flaky-detector:
24+
runs-on: ubuntu-20.04
25+
timeout-minutes: 60
26+
name: 'Check tests for flakiness'
27+
steps:
28+
- name: Check out current branch
29+
uses: actions/checkout@v3
30+
- name: Set up Node
31+
uses: volta-cli/action@v4
32+
33+
- name: Install dependencies
34+
run: yarn install --ignore-engines --frozen-lockfile
35+
36+
- name: NX cache
37+
uses: actions/cache/restore@v3
38+
with:
39+
path: .nxcache
40+
key: nx-Linux-${{ github.ref }}-${{ env.HEAD_COMMIT }}
41+
restore-keys: ${{ env.NX_CACHE_RESTORE_KEYS }}
42+
43+
- name: Build packages
44+
run: yarn build
45+
46+
- name: Get npm cache directory
47+
id: npm-cache-dir
48+
run: echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT
49+
- name: Get Playwright version
50+
id: playwright-version
51+
run: echo "version=$(node -p "require('@playwright/test/package.json').version")" >> $GITHUB_OUTPUT
52+
- uses: actions/cache@v3
53+
name: Check if Playwright browser is cached
54+
id: playwright-cache
55+
with:
56+
path: ${{ steps.npm-cache-dir.outputs.dir }}
57+
key: ${{ runner.os }}-Playwright-${{steps.playwright-version.outputs.version}}
58+
- name: Install Playwright browser if not cached
59+
if: steps.playwright-cache.outputs.cache-hit != 'true'
60+
run: npx playwright install --with-deps
61+
env:
62+
PLAYWRIGHT_BROWSERS_PATH: ${{steps.npm-cache-dir.outputs.dir}}
63+
- name: Install OS dependencies of Playwright if cache hit
64+
if: steps.playwright-cache.outputs.cache-hit == 'true'
65+
run: npx playwright install-deps
66+
67+
- name: Determine changed tests
68+
uses: getsentry/[email protected]
69+
id: changed
70+
with:
71+
list-files: json
72+
filters: |
73+
browser_integration: packages/browser-integration-tests/suites/**
74+
75+
- name: Detect flaky tests
76+
run: yarn test:detect-flaky
77+
working-directory: packages/browser-integration-tests
78+
env:
79+
CHANGED_TEST_PATHS: ${{ steps.changed.outputs.browser_integration_files }}
80+
# Run 100 times when detecting changed test(s), else run all tests 5x
81+
TEST_RUN_COUNT: ${{ steps.changed.outputs.browser_integration == 'true' && 100 || 5 }}

CHANGELOG.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,43 @@
44

55
- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott
66

7+
## 7.44.0
8+
9+
This release introduces the first alpha version of `@sentry/sveltekit`, our newest JavaScript SDK for Sveltekit. Check out the [README](./packages/sveltekit/README.md) for usage instructions and what to expect from this alpha release.
10+
11+
- feat(replay): Add `request_body_size` & `response_body_size` to fetch/xhr (#7407)
12+
- feat(replay): Add additional properties for UI clicks (#7395)
13+
- feat(replay): Reduce time limit before pausing a recording (#7356)
14+
- feat(replay): Upgrade `rrweb` and `rrweb-player` (#7508)
15+
- feat(replay): Use new afterSend hook to improve error linking (#7390)
16+
- feat(serverless): Publish lambda layer for Node 16/18 (#7483)
17+
- feat(sveltekit): Add wrapper for client load function (#7447)
18+
- feat(sveltekit): Add wrapper for server load function (#7416)
19+
- feat(sveltekit): Add server-side `handleError` wrapper (#7411)
20+
- feat(sveltekit): Introduce client-side `handleError` wrapper (#7406)
21+
- feat(sveltekit): Add SvelteKit client and server `init` functions (#7408)
22+
- feat(sveltekit): Inject `Sentry.init` calls into server and client bundles (#7391)
23+
- feat(tracing): Expose `BrowserTracing` in non-tracing bundles (#7479)
24+
- fix(core): Permanent idle timeout cancel finishes the transaction with the last finished child
25+
- fix(integrations): Handle lower-case prefix windows paths in `RewriteFrames` (#7506)
26+
- fix(next): Guard against missing serverSideProps (#7517)
27+
- fix(nextjs): Fix broken server component wrapping because of interrupted promise chain (#7456)
28+
- fix(nextjs): Fix runtime error for static pages (#7476)
29+
- fix(profiling): Catch sendProfile rejection (#7446)
30+
- fix(replay): Never capture file input changes (#7485)
31+
- fix(serverless): Explicitly export node package exports (#7457)
32+
- fix(vue): Do not depend on `window.location` for SSR environments (#7518)
33+
34+
35+
**Replay `rrweb` changes:**
36+
37+
`@sentry-internal/rrweb` was updated from 1.105.0 to 1.106.0:
38+
39+
- feat: Ensure password inputs are always masked ([#78](https://github.com/getsentry/rrweb/pull/78))
40+
- fix: Ensure text masking for updated attributes works ([#83](https://github.com/getsentry/rrweb/pull/83))
41+
- fix: Ensure unmaskTextSelector is used for masked attributes ([#81](https://github.com/getsentry/rrweb/pull/81))
42+
- fix: Mask <option> values for selects & radio/checkbox value ([#75](https://github.com/getsentry/rrweb/pull/75))
43+
744
## 7.43.0
845

946
- feat(nextjs): Run source map upload in Vercel develop and preview environments (#7436)

CONTRIBUTING.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@ Since we are using [`TypeScript`](https://www.typescriptlang.org/), you need to
3333
- `yarn build:dev:filter <name of npm package>`, which runs `yarn build:dev` only in projects relevant to the given package (so, for example, running `yarn build:dev:filter @sentry/react` will build the `react` package, all of its dependencies (`utils`, `core`, `browser`, etc), and all packages which depend on it (currently `gatsby` and `nextjs`))
3434
- `yarn build:dev:watch`, which runs `yarn build:dev` in watch mode (recommended)
3535

36+
37+
## Testing SDK Packages Locally
38+
39+
To test local versions of SDK packages, for instance in test projects, you have a couple of options:
40+
41+
* Use [`yarn link`](https://classic.yarnpkg.com/lang/en/docs/cli/link/) to symlink your package to the test project.
42+
* Use [`yalc` to install SDK packages](./docs/using-yalc.md) as if they were already published.
43+
* Run `build:tarball` in the repo and `yarn add ./path/to/tarball.tgz` in the project.
44+
3645
## Adding Tests
3746

3847
**Any nontrivial fixes/features should include tests.** You'll find a `test` folder in each package.

docs/using-yalc.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Using `yalc` for Local SDK Testing
2+
3+
[Yalc](https://github.com/wclr/yalc) is a simple local dependency repository which we can use to work with local versions of our SDKs.
4+
This is a good alternative to `npm|yarn link` for packages where linking is problematic (e.g. SvelteKit or Angular).
5+
6+
Here's how to set up and use yalc:
7+
8+
## Installing `yalc`
9+
10+
Either install yalc globally,
11+
12+
```sh
13+
npm install -g yalc
14+
15+
yarn global add yalc
16+
```
17+
18+
or add it to your desired test projects (same command without the `-g|global` flags)
19+
20+
## Registering/Updating packages
21+
22+
Whenever you want to make your local changes available to your test projects (e.g. after a local code change), run:
23+
24+
```sh
25+
yarn yalc:publish
26+
```
27+
28+
If you run this command in the root of the repo, this will publish all SDK packages to the local yalc repo. If you run it in a specific SDK package, it will just publish this package. You **don't need to** call `yalc update` in your test project. Already linked test projects will be update automatically.
29+
30+
## Using yalc packages
31+
32+
In your test project, run
33+
34+
```sh
35+
yalc add @sentry/browser #or any other SDK package
36+
```
37+
38+
to add the local SDK package to your project.
39+
40+
**Important:** You need to `yalc add` the dependencies of the SDK package as well (e.g. core, utils, types, etc.).
41+
42+
## Troubleshooting:
43+
44+
### My changes are not applied to the test project
45+
46+
Did you run `yarn build && yarn publish:yalc` after making your changes?
47+
48+
### My test project uses Vite and I still don't see changes
49+
50+
Vite pre-bundles and caches dependencies for dev builds. It [doesn't recognize changes in yalc packages though](https://github.com/wclr/yalc/issues/189) :( To make these changes show up anyway, run `vite dev --force`.
51+

package.json

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
"build:types:watch": "ts-node scripts/build-types-watch.ts",
1313
"build:tarball": "lerna run build:tarball",
1414
"circularDepCheck": "lerna run circularDepCheck",
15-
"clean": "run-p clean:build clean:caches",
15+
"clean": "run-s clean:build clean:caches",
1616
"clean:build": "lerna run clean",
1717
"clean:caches": "yarn rimraf eslintcache .nxcache && yarn jest --clearCache",
1818
"clean:deps": "lerna clean --yes && rm -rf node_modules && yarn",
19-
"clean:all": "run-p clean:build clean:caches clean:deps",
19+
"clean:all": "run-s clean:build clean:caches clean:deps",
2020
"codecov": "codecov",
2121
"fix": "lerna run fix",
2222
"changelog": "ts-node ./scripts/get-commit-list.ts",
@@ -28,7 +28,8 @@
2828
"test:unit": "lerna run --ignore @sentry-internal/* test:unit",
2929
"test-ci-browser": "lerna run test --ignore \"@sentry/{node,opentelemetry-node,serverless,nextjs,remix,gatsby}\" --ignore @sentry-internal/*",
3030
"test-ci-node": "ts-node ./scripts/node-unit-tests.ts",
31-
"test:update-snapshots": "lerna run test:update-snapshots"
31+
"test:update-snapshots": "lerna run test:update-snapshots",
32+
"yalc:publish": "lerna run yalc:publish"
3233
},
3334
"volta": {
3435
"node": "16.19.0",
@@ -38,15 +39,16 @@
3839
"packages/angular",
3940
"packages/angular-ivy",
4041
"packages/browser",
42+
"packages/browser-integration-tests",
4143
"packages/core",
4244
"packages/e2e-tests",
4345
"packages/ember",
4446
"packages/eslint-config-sdk",
4547
"packages/eslint-plugin-sdk",
4648
"packages/gatsby",
4749
"packages/hub",
48-
"packages/integration-tests",
4950
"packages/integrations",
51+
"packages/integration-shims",
5052
"packages/overhead-metrics",
5153
"packages/nextjs",
5254
"packages/node",
@@ -60,6 +62,7 @@
6062
"packages/svelte",
6163
"packages/sveltekit",
6264
"packages/tracing",
65+
"packages/tracing-internal",
6366
"packages/types",
6467
"packages/typescript",
6568
"packages/utils",
@@ -81,6 +84,7 @@
8184
"@types/node": "~10.17.0",
8285
"@types/rimraf": "^3.0.2",
8386
"@types/sinon": "^7.0.11",
87+
"@vitest/coverage-c8": "^0.29.2",
8488
"acorn": "^8.7.0",
8589
"chai": "^4.1.2",
8690
"codecov": "^3.6.5",
@@ -93,7 +97,6 @@
9397
"karma-firefox-launcher": "^1.1.0",
9498
"lerna": "6.5.0-alpha.2",
9599
"madge": "4.0.2",
96-
"magic-string": "^0.27.0",
97100
"mocha": "^6.1.4",
98101
"nodemon": "^2.0.16",
99102
"npm-run-all": "^4.1.5",
@@ -112,7 +115,9 @@
112115
"ts-node": "10.9.1",
113116
"tslib": "^2.3.1",
114117
"typedoc": "^0.18.0",
115-
"typescript": "3.8.3"
118+
"typescript": "3.8.3",
119+
"vitest": "^0.29.2",
120+
"yalc": "^1.0.0-pre.53"
116121
},
117122
"resolutions": {
118123
"**/agent-base": "5"

packages/angular-ivy/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@
5656
"fix:prettier": "prettier --write \"{src,test,scripts}/**/**.ts\"",
5757
"lint": "run-s lint:prettier lint:eslint",
5858
"lint:eslint": "eslint . --format stylish",
59-
"lint:prettier": "prettier --check \"{src,test,scripts}/**/**.ts\""
59+
"lint:prettier": "prettier --check \"{src,test,scripts}/**/**.ts\"",
60+
"yalc:publish": "ts-node ../../scripts/prepack.ts && yalc publish build --push"
6061
},
6162
"volta": {
6263
"extends": "../../package.json"

packages/angular/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@
5959
"lint:prettier": "prettier --check \"{src,test,scripts}/**/**.ts\"",
6060
"test": "yarn test:unit",
6161
"test:unit": "jest",
62-
"test:unit:watch": "jest --watch"
62+
"test:unit:watch": "jest --watch",
63+
"yalc:publish": "ts-node ../../scripts/prepack.ts && yalc publish build --push"
6364
},
6465
"volta": {
6566
"extends": "../../package.json"

0 commit comments

Comments
 (0)