Skip to content

meta: Update CHANGELOG for 7.44.0 #7523

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 55 commits into from
Mar 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
f8ca00d
Merge pull request #7440 from getsentry/master
github-actions[bot] Mar 13, 2023
a70376e
feat(replay): Reduce time limit before pausing a recording (#7356)
billyvg Mar 13, 2023
ba99e7c
test(sveltekit): Switch to vitest (#7438)
AbhiPrasad Mar 13, 2023
4bff5a9
feat(bundles): Ensure CDN bundles always have a `Replay` export (#7414)
mydea Mar 14, 2023
8343eb0
feat(tracing): Bring back `finishReason` for interaction transactions…
0Calories Mar 14, 2023
45f5c21
fix(nextjs): Fix broken server component wrapping because of interrup…
lforst Mar 14, 2023
d6561b8
test(integration): Fix backgroundtab-pageload flaky test (#7442)
AbhiPrasad Mar 14, 2023
80b6939
feat(tracing): Add `@sentry-internal/tracing` package (#7445)
timfish Mar 14, 2023
851037f
fix(profiling): catch sendProfile rejection (#7446)
JonasBa Mar 14, 2023
fb3d046
chore(tracing): Fix tarball generation path (#7460)
AbhiPrasad Mar 14, 2023
2f886f6
feat(tracing): Move tracing code to internal package (#7451)
timfish Mar 14, 2023
2f3c93c
chore(deps-dev): bump webpack in /scenarios/browser
dependabot[bot] Mar 14, 2023
a34dab6
ref(utils): use test instead of indexof in stacktrace (#7417)
JonasBa Mar 14, 2023
42e542e
feat(core): emit `beforeEnvelope` hook (#7448)
JonasBa Mar 14, 2023
b1ef00d
feat(sveltekit): Add wrapper for server load function (#7416)
AbhiPrasad Mar 14, 2023
defcb52
feat(sveltekit): Add wrapper for client load function (#7447)
AbhiPrasad Mar 14, 2023
ef6b3c7
chore: Rename `integration-tests` -> `browser-integration-tests` (#7455)
AbhiPrasad Mar 14, 2023
09f326a
chore: Add test rename to git blame ignore (#7467)
AbhiPrasad Mar 15, 2023
d27c347
fix(core): Permanent idle timeout cancel finishes the transaction wit…
krystofwoldrich Mar 15, 2023
3269a06
feat(tracing): Move Integrations from `tracing-internal` to `@sentry/…
timfish Mar 15, 2023
3715ae7
feat(replay): Add additional properties for UI clicks (#7395)
billyvg Mar 16, 2023
dd40b46
build(sveltekit): Remove `vite` types from build output (#7480)
Lms24 Mar 16, 2023
b278429
fix(serverless): Explicitly export node package exports (#7457)
AbhiPrasad Mar 16, 2023
c25dece
test(browser-integration): Skip "browsertracing/backgroundtab-pageloa…
billyvg Mar 16, 2023
7399b99
chore(repo): Fix `yarn clean(:all)` scripts (#7478)
Lms24 Mar 16, 2023
3161576
fix(sveltekit): Remove package.json exports (#7481)
AbhiPrasad Mar 16, 2023
59e0a87
feat(serverless): Publish lambda layer for Node 16/18 (#7483)
AbhiPrasad Mar 16, 2023
7aa20d0
feat(replay): Use new afterSend hook to improve error linking (#7390)
mydea Mar 16, 2023
20b46a8
feat(replay): Add `request_body_size` & `response_body_size` to fetch…
mydea Mar 16, 2023
ad32f94
test(tracing): Check if `beforeNavigate` does not change source (#7473)
AbhiPrasad Mar 16, 2023
be56361
fix(sveltekit): Make `handleErrorWithSentry` parameter optional in fu…
Lms24 Mar 16, 2023
af0224a
ref(utils): Limit max stack lines we parse (#7410)
JonasBa Mar 16, 2023
873d9bb
ref: Use `Date.now()` instead of `new Date().getTime()` (#7492)
mydea Mar 17, 2023
5f6e5b5
chore(sveltekit): Update `README` with setup instructions (#7490)
Lms24 Mar 17, 2023
90bd190
fix(nextjs): Fix runtime error for static pages (#7476)
baked-dev Mar 17, 2023
3045390
feat(browser): Export `BrowserTracing` from `@sentry/browser` (#7472)
timfish Mar 17, 2023
128f7bc
feat(tracing): Move `registerErrorInstrumentation` to `@sentry/core` …
timfish Mar 17, 2023
c271767
feat(browser): Re-export `addTracingExtensions` from `@sentry/core` (…
timfish Mar 17, 2023
901acb9
test(replay): Skip flaky test in firefox (#7496)
mydea Mar 17, 2023
6a2fdac
test(node): fix cookie test description typo (#7501)
woochanleee Mar 17, 2023
4a6256e
fix(replay): Ensure network breadcrumbs have all data (#7491)
mydea Mar 17, 2023
30bba1f
chore(repo): Add `yarn yalc:publish` scripts (#7502)
Lms24 Mar 17, 2023
86cd7fd
fix(replay): Never capture file input changes (#7485)
mydea Mar 20, 2023
1cff697
feat(replay): Upgrade `rrweb` and `rrweb-player` (#7508)
billyvg Mar 20, 2023
c1e1db7
fix(vue): Do not depend on `window.location` for SSR environments (#7…
mydea Mar 20, 2023
8f847ea
fix(next): Guard against missing serverSideProps (#7517)
mydea Mar 20, 2023
e1a9c66
ci: Add workflow to detect flaky tests (#7497)
mydea Mar 20, 2023
b6f03bf
ref(utils): reorder regexpa and add tests (#7505)
JonasBa Mar 20, 2023
45692f4
fix(integrations): Handle lower-case prefix windows paths in `Rewrite…
Lms24 Mar 20, 2023
79d2903
chore(repo): Adjust Craft config to publish SvelteKit SDK to NPM (#7507)
Lms24 Mar 20, 2023
8e136c6
ref(node): Use native path module to infer path (#7415)
JonasBa Mar 20, 2023
e62ad1a
chore(node): Fix typo in LocalVariables integration (#7519)
AbhiPrasad Mar 20, 2023
572e4f5
chore(sveltekit): Use dummy DSN var in README instructions (#7521)
AbhiPrasad Mar 20, 2023
f8b74f0
feat(tracing): Expose `BrowserTracing` in non-tracing bundles (#7479)
mydea Mar 20, 2023
b0a6c83
meta: Update CHANGELOG for 7.44.0
Lms24 Mar 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ targets:
- nodejs10.x
- nodejs12.x
- nodejs14.x
- nodejs16.x
- nodejs18.x
license: MIT
- name: gcs
includeNames: /.*\.js.*$/
Expand All @@ -22,7 +24,6 @@ targets:
- name: github
includeNames: /^sentry-.*$/
- name: npm
excludeNames: /^sentry-sveltekit-.*$/
- name: registry
sdks:
'npm:@sentry/browser':
Expand Down
3 changes: 3 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@

# build: Add `@typescript-eslint/consistent-type-imports` rule (#6662)
2aa4e94b036675245290596884959e06dcced044

# chore: Rename `integration-tests` -> `browser-integration-tests` (#7455)
ef6b3c7877d5fc8031c08bb28b0ffafaeb01f501
11 changes: 7 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ jobs:
browser_integration:
- *shared
- *browser
- 'packages/integration-tests/**'
- 'packages/browser-integration-tests/**'
ember:
- *shared
- *browser
Expand Down Expand Up @@ -144,7 +144,8 @@ jobs:
has_gitflow_label:
${{ github.event_name == 'pull_request' && contains(steps.pr-labels.outputs.labels, ' Gitflow ') }}
force_skip_cache:
${{ github.event_name == 'schedule' || (github.event_name == 'pull_request' && contains(steps.pr-labels.outputs.labels, ' ci-skip-cache ')) }}
${{ github.event_name == 'schedule' || (github.event_name == 'pull_request' &&
contains(steps.pr-labels.outputs.labels, ' ci-skip-cache ')) }}

job_install_deps:
name: Install Dependencies
Expand Down Expand Up @@ -274,7 +275,9 @@ jobs:
needs: [job_get_metadata, job_build]
timeout-minutes: 15
runs-on: ubuntu-20.04
if: github.event_name == 'pull_request' || needs.job_get_metadata.outputs.is_develop == 'true' || needs.job_get_metadata.outputs.is_release == 'true'
if:
github.event_name == 'pull_request' || needs.job_get_metadata.outputs.is_develop == 'true' ||
needs.job_get_metadata.outputs.is_release == 'true'
steps:
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
uses: actions/checkout@v3
Expand Down Expand Up @@ -540,7 +543,7 @@ jobs:
PW_BUNDLE: ${{ matrix.bundle }}
PW_TRACING_ONLY: ${{ matrix.tracing_only }}
run: |
cd packages/integration-tests
cd packages/browser-integration-tests
yarn test:ci

job_browser_integration_tests:
Expand Down
81 changes: 81 additions & 0 deletions .github/workflows/flaky-test-detector.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: 'Detect flaky tests'
on:
workflow_dispatch:
pull_request:
paths:
- 'packages/browser-integration-tests/suites/**'

env:
HEAD_COMMIT: ${{ github.event.inputs.commit || github.sha }}

NX_CACHE_RESTORE_KEYS: |
nx-Linux-${{ github.ref }}-${{ github.event.inputs.commit || github.sha }}
nx-Linux-${{ github.ref }}
nx-Linux

# Cancel in progress workflows on pull_requests.
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
flaky-detector:
runs-on: ubuntu-20.04
timeout-minutes: 60
name: 'Check tests for flakiness'
steps:
- name: Check out current branch
uses: actions/checkout@v3
- name: Set up Node
uses: volta-cli/action@v4

- name: Install dependencies
run: yarn install --ignore-engines --frozen-lockfile

- name: NX cache
uses: actions/cache/restore@v3
with:
path: .nxcache
key: nx-Linux-${{ github.ref }}-${{ env.HEAD_COMMIT }}
restore-keys: ${{ env.NX_CACHE_RESTORE_KEYS }}

- name: Build packages
run: yarn build

- name: Get npm cache directory
id: npm-cache-dir
run: echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT
- name: Get Playwright version
id: playwright-version
run: echo "version=$(node -p "require('@playwright/test/package.json').version")" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
name: Check if Playwright browser is cached
id: playwright-cache
with:
path: ${{ steps.npm-cache-dir.outputs.dir }}
key: ${{ runner.os }}-Playwright-${{steps.playwright-version.outputs.version}}
- name: Install Playwright browser if not cached
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: npx playwright install --with-deps
env:
PLAYWRIGHT_BROWSERS_PATH: ${{steps.npm-cache-dir.outputs.dir}}
- name: Install OS dependencies of Playwright if cache hit
if: steps.playwright-cache.outputs.cache-hit == 'true'
run: npx playwright install-deps

- name: Determine changed tests
uses: getsentry/[email protected]
id: changed
with:
list-files: json
filters: |
browser_integration: packages/browser-integration-tests/suites/**

- name: Detect flaky tests
run: yarn test:detect-flaky
working-directory: packages/browser-integration-tests
env:
CHANGED_TEST_PATHS: ${{ steps.changed.outputs.browser_integration_files }}
# Run 100 times when detecting changed test(s), else run all tests 5x
TEST_RUN_COUNT: ${{ steps.changed.outputs.browser_integration == 'true' && 100 || 5 }}
37 changes: 37 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,43 @@

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

## 7.44.0

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.

- feat(replay): Add `request_body_size` & `response_body_size` to fetch/xhr (#7407)
- feat(replay): Add additional properties for UI clicks (#7395)
- feat(replay): Reduce time limit before pausing a recording (#7356)
- feat(replay): Upgrade `rrweb` and `rrweb-player` (#7508)
- feat(replay): Use new afterSend hook to improve error linking (#7390)
- feat(serverless): Publish lambda layer for Node 16/18 (#7483)
- feat(sveltekit): Add wrapper for client load function (#7447)
- feat(sveltekit): Add wrapper for server load function (#7416)
- feat(sveltekit): Add server-side `handleError` wrapper (#7411)
- feat(sveltekit): Introduce client-side `handleError` wrapper (#7406)
- feat(sveltekit): Add SvelteKit client and server `init` functions (#7408)
- feat(sveltekit): Inject `Sentry.init` calls into server and client bundles (#7391)
- feat(tracing): Expose `BrowserTracing` in non-tracing bundles (#7479)
- fix(core): Permanent idle timeout cancel finishes the transaction with the last finished child
- fix(integrations): Handle lower-case prefix windows paths in `RewriteFrames` (#7506)
- fix(next): Guard against missing serverSideProps (#7517)
- fix(nextjs): Fix broken server component wrapping because of interrupted promise chain (#7456)
- fix(nextjs): Fix runtime error for static pages (#7476)
- fix(profiling): Catch sendProfile rejection (#7446)
- fix(replay): Never capture file input changes (#7485)
- fix(serverless): Explicitly export node package exports (#7457)
- fix(vue): Do not depend on `window.location` for SSR environments (#7518)


**Replay `rrweb` changes:**

`@sentry-internal/rrweb` was updated from 1.105.0 to 1.106.0:

- feat: Ensure password inputs are always masked ([#78](https://github.com/getsentry/rrweb/pull/78))
- fix: Ensure text masking for updated attributes works ([#83](https://github.com/getsentry/rrweb/pull/83))
- fix: Ensure unmaskTextSelector is used for masked attributes ([#81](https://github.com/getsentry/rrweb/pull/81))
- fix: Mask <option> values for selects & radio/checkbox value ([#75](https://github.com/getsentry/rrweb/pull/75))

## 7.43.0

- feat(nextjs): Run source map upload in Vercel develop and preview environments (#7436)
Expand Down
9 changes: 9 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,15 @@ Since we are using [`TypeScript`](https://www.typescriptlang.org/), you need to
- `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`))
- `yarn build:dev:watch`, which runs `yarn build:dev` in watch mode (recommended)


## Testing SDK Packages Locally

To test local versions of SDK packages, for instance in test projects, you have a couple of options:

* Use [`yarn link`](https://classic.yarnpkg.com/lang/en/docs/cli/link/) to symlink your package to the test project.
* Use [`yalc` to install SDK packages](./docs/using-yalc.md) as if they were already published.
* Run `build:tarball` in the repo and `yarn add ./path/to/tarball.tgz` in the project.

## Adding Tests

**Any nontrivial fixes/features should include tests.** You'll find a `test` folder in each package.
Expand Down
51 changes: 51 additions & 0 deletions docs/using-yalc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Using `yalc` for Local SDK Testing

[Yalc](https://github.com/wclr/yalc) is a simple local dependency repository which we can use to work with local versions of our SDKs.
This is a good alternative to `npm|yarn link` for packages where linking is problematic (e.g. SvelteKit or Angular).

Here's how to set up and use yalc:

## Installing `yalc`

Either install yalc globally,

```sh
npm install -g yalc

yarn global add yalc
```

or add it to your desired test projects (same command without the `-g|global` flags)

## Registering/Updating packages

Whenever you want to make your local changes available to your test projects (e.g. after a local code change), run:

```sh
yarn yalc:publish
```

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.

## Using yalc packages

In your test project, run

```sh
yalc add @sentry/browser #or any other SDK package
```

to add the local SDK package to your project.

**Important:** You need to `yalc add` the dependencies of the SDK package as well (e.g. core, utils, types, etc.).

## Troubleshooting:

### My changes are not applied to the test project

Did you run `yarn build && yarn publish:yalc` after making your changes?

### My test project uses Vite and I still don't see changes

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`.

17 changes: 11 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@
"build:types:watch": "ts-node scripts/build-types-watch.ts",
"build:tarball": "lerna run build:tarball",
"circularDepCheck": "lerna run circularDepCheck",
"clean": "run-p clean:build clean:caches",
"clean": "run-s clean:build clean:caches",
"clean:build": "lerna run clean",
"clean:caches": "yarn rimraf eslintcache .nxcache && yarn jest --clearCache",
"clean:deps": "lerna clean --yes && rm -rf node_modules && yarn",
"clean:all": "run-p clean:build clean:caches clean:deps",
"clean:all": "run-s clean:build clean:caches clean:deps",
"codecov": "codecov",
"fix": "lerna run fix",
"changelog": "ts-node ./scripts/get-commit-list.ts",
Expand All @@ -28,7 +28,8 @@
"test:unit": "lerna run --ignore @sentry-internal/* test:unit",
"test-ci-browser": "lerna run test --ignore \"@sentry/{node,opentelemetry-node,serverless,nextjs,remix,gatsby}\" --ignore @sentry-internal/*",
"test-ci-node": "ts-node ./scripts/node-unit-tests.ts",
"test:update-snapshots": "lerna run test:update-snapshots"
"test:update-snapshots": "lerna run test:update-snapshots",
"yalc:publish": "lerna run yalc:publish"
},
"volta": {
"node": "16.19.0",
Expand All @@ -38,15 +39,16 @@
"packages/angular",
"packages/angular-ivy",
"packages/browser",
"packages/browser-integration-tests",
"packages/core",
"packages/e2e-tests",
"packages/ember",
"packages/eslint-config-sdk",
"packages/eslint-plugin-sdk",
"packages/gatsby",
"packages/hub",
"packages/integration-tests",
"packages/integrations",
"packages/integration-shims",
"packages/overhead-metrics",
"packages/nextjs",
"packages/node",
Expand All @@ -60,6 +62,7 @@
"packages/svelte",
"packages/sveltekit",
"packages/tracing",
"packages/tracing-internal",
"packages/types",
"packages/typescript",
"packages/utils",
Expand All @@ -81,6 +84,7 @@
"@types/node": "~10.17.0",
"@types/rimraf": "^3.0.2",
"@types/sinon": "^7.0.11",
"@vitest/coverage-c8": "^0.29.2",
"acorn": "^8.7.0",
"chai": "^4.1.2",
"codecov": "^3.6.5",
Expand All @@ -93,7 +97,6 @@
"karma-firefox-launcher": "^1.1.0",
"lerna": "6.5.0-alpha.2",
"madge": "4.0.2",
"magic-string": "^0.27.0",
"mocha": "^6.1.4",
"nodemon": "^2.0.16",
"npm-run-all": "^4.1.5",
Expand All @@ -112,7 +115,9 @@
"ts-node": "10.9.1",
"tslib": "^2.3.1",
"typedoc": "^0.18.0",
"typescript": "3.8.3"
"typescript": "3.8.3",
"vitest": "^0.29.2",
"yalc": "^1.0.0-pre.53"
},
"resolutions": {
"**/agent-base": "5"
Expand Down
3 changes: 2 additions & 1 deletion packages/angular-ivy/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@
"fix:prettier": "prettier --write \"{src,test,scripts}/**/**.ts\"",
"lint": "run-s lint:prettier lint:eslint",
"lint:eslint": "eslint . --format stylish",
"lint:prettier": "prettier --check \"{src,test,scripts}/**/**.ts\""
"lint:prettier": "prettier --check \"{src,test,scripts}/**/**.ts\"",
"yalc:publish": "ts-node ../../scripts/prepack.ts && yalc publish build --push"
},
"volta": {
"extends": "../../package.json"
Expand Down
3 changes: 2 additions & 1 deletion packages/angular/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,8 @@
"lint:prettier": "prettier --check \"{src,test,scripts}/**/**.ts\"",
"test": "yarn test:unit",
"test:unit": "jest",
"test:unit:watch": "jest --watch"
"test:unit:watch": "jest --watch",
"yalc:publish": "ts-node ../../scripts/prepack.ts && yalc publish build --push"
},
"volta": {
"extends": "../../package.json"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ module.exports = {
node: true,
},
extends: ['../../.eslintrc.js'],
ignorePatterns: ['suites/**/subject.js', 'suites/**/dist/*'],
ignorePatterns: ['suites/**/subject.js', 'suites/**/dist/*', 'scripts/**'],
parserOptions: {
sourceType: 'module',
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@
"test:cjs": "PW_BUNDLE=cjs yarn test",
"test:esm": "PW_BUNDLE=esm yarn test",
"test:ci": "playwright test ./suites --browser='all' --reporter='line'",
"test:update-snapshots": "yarn test --update-snapshots --browser='all' && yarn test --update-snapshots"
"test:update-snapshots": "yarn test --update-snapshots --browser='all' && yarn test --update-snapshots",
"test:detect-flaky": "ts-node scripts/detectFlakyTests.ts"
},
"dependencies": {
"@babel/preset-typescript": "^7.16.7",
Expand All @@ -40,6 +41,10 @@
"typescript": "^4.5.2",
"webpack": "^5.52.0"
},
"devDependencies": {
"glob": "8.0.3",
"@types/glob": "8.0.0"
},
"volta": {
"extends": "../../package.json"
}
Expand Down
Loading