Skip to content

meta: Update CHANGELOG for 7.48.0 #7837

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 49 commits into from
Apr 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
f5cbb04
test(node): Fix conditional test in `LocaVariables` tests (#7759)
lforst Apr 5, 2023
3a758e3
Merge pull request #7761 from getsentry/master
Lms24 Apr 5, 2023
170ffc8
feat(core): Add async context abstraction (#7753)
timfish Apr 5, 2023
56790be
chore(browser): Update browser example (#7764)
krystofwoldrich Apr 6, 2023
ff71b78
build: Use setup node instead of volta action (#7763)
AbhiPrasad Apr 6, 2023
1ab3477
test(replay): Streamline replay test imports (#7774)
mydea Apr 6, 2023
4395d74
fix(browser): Adjust `BrowserTransportOptions` to support offline tra…
Lms24 Apr 6, 2023
3f084ac
test(loader): Use new min. loader (#7772)
mydea Apr 6, 2023
e741dd1
feat(node): Adds `domain` implementation of `AsyncContextStrategy` (#…
timfish Apr 6, 2023
f0f9b8a
ref(tracing): Convert prisma integration to use trace func (#7776)
AbhiPrasad Apr 6, 2023
715876b
feat(core): Extend `AsyncContextStrategy` to allow reuse of existing …
timfish Apr 6, 2023
f4e92ca
fix(node): `reuseExisting` does not need to call bind on domain (#7780)
timfish Apr 7, 2023
ad8ce23
ref(replay): Always send `replay_start_timestamp` (#7773)
mydea Apr 7, 2023
a2cda4d
feat(node): Add checkin envelope types (#7777)
AbhiPrasad Apr 7, 2023
c3a42f3
fix(integrations): Ensure httpclient integration works with Request (…
mydea Apr 7, 2023
d23214d
feat(sveltekit): Add `sentrySvelteKitPlugin` (#7788)
Lms24 Apr 7, 2023
d099af8
feat(sveltekit): Remove `withSentryViteConfig` (#7789)
Lms24 Apr 7, 2023
87b33e2
feat(sveltekit): Remove SDK initialization via dedicated files (#7791)
Lms24 Apr 7, 2023
781c3a9
doc(sveltekit): Adjust README Vite setup section (#7792)
Lms24 Apr 7, 2023
a9621fc
fix(core): Log warning when tracing extensions are missing (#7601)
timfish Apr 11, 2023
7987221
build(deps-dev): Bump @sveltejs/kit from 1.15.1 to 1.15.2
dependabot[bot] Apr 7, 2023
5062ce1
feat(node): Migrate to domains used through `AsyncContextStrategy` (#…
timfish Apr 11, 2023
73c2be4
fix(node): Make `trpcMiddleware` factory synchronous (#7802)
lforst Apr 11, 2023
1ad518f
test(loader): Add tests for new loader integration handling (#7790)
mydea Apr 11, 2023
27db660
fix(node): Fix domain scope inheritance (#7799)
timfish Apr 11, 2023
53ae9ae
feat(node): Add `AsyncLocalStorage` implementation of `AsyncContextSt…
timfish Apr 11, 2023
4856685
feat(node): Auto-select best `AsyncContextStrategy` for Node.js versi…
timfish Apr 11, 2023
5d58d52
test(node): Add some async tests to async strategies (#7808)
timfish Apr 11, 2023
84d007e
fix(e2e): Fix various issues with concurrent E2E and Canary tests (#7…
lforst Apr 11, 2023
0e20bb5
feat(sveltekit): Add Sentry Vite Plugin to upload source maps (#7811)
Lms24 Apr 12, 2023
a5c0430
feat(core): Make `runWithAsyncContext` public API (#7817)
AbhiPrasad Apr 12, 2023
3efb556
feat(browser): Export request instrumentation options (#7818)
AbhiPrasad Apr 12, 2023
943df92
feat(core): Add DSC to all outgoing envelopes (#7820)
AbhiPrasad Apr 12, 2023
4ff4066
fix(core): Only call `applyDebugMetadata` for error events (#7824)
lforst Apr 12, 2023
c1055f5
chore(node): Rename webpack-domain test (#7823)
AbhiPrasad Apr 12, 2023
14849db
fix(browser): DOMException SecurityError stacktrace parsing bug (#7821)
timfish Apr 12, 2023
dced9b2
build(deps): Bump minimatch
dependabot[bot] Apr 12, 2023
371f80d
feat(replay): Add `getReplayId()` method (#7822)
mydea Apr 12, 2023
7f54143
chore: Upgrade prettier to 2.8.7 (#7832)
AbhiPrasad Apr 13, 2023
39bcfff
test(loader): Update loader & test for `window.onerror` (#7838)
mydea Apr 13, 2023
3503b91
test(loader): Update loader script (#7840)
mydea Apr 13, 2023
7b50bfa
fix(sveltekit): Rewrite server-side stack frames to match source maps…
Lms24 Apr 13, 2023
95f721f
fix(utils): Make xhr instrumentation independent of parallel running …
lforst Apr 13, 2023
d324516
fix(serverless): Account when transaction undefined (#7829)
AbhiPrasad Apr 13, 2023
b61ac96
fix(sveltekit): Improve server-side grouping by removing the stack fr…
Lms24 Apr 13, 2023
21a975e
test(loader): Update loader script (#7841)
mydea Apr 13, 2023
398ca0f
docs(sveltekit): Add more source maps upload documentation (#7844)
Lms24 Apr 13, 2023
ed37186
fix(sveltekit): Don't crash build when CLI credentials are missing (#…
Lms24 Apr 13, 2023
a4bb082
meta: Update CHANGELOG for 7.48.0
Lms24 Apr 13, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 44 additions & 14 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,9 @@ jobs:
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: volta-cli/action@v4
uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
# we use a hash of yarn.lock as our cache key, because if it hasn't changed, our dependencies haven't changed,
# so no need to reinstall them
- name: Compute dependency cache key
Expand Down Expand Up @@ -207,8 +209,9 @@ jobs:
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: volta-cli/action@v4

uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Check dependency cache
uses: actions/cache/restore@v3
with:
Expand Down Expand Up @@ -262,7 +265,9 @@ jobs:
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: volta-cli/action@v4
uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Restore caches
uses: ./.github/actions/restore-cache
env:
Expand Down Expand Up @@ -331,7 +336,9 @@ jobs:
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: volta-cli/action@v4
uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Restore caches
uses: ./.github/actions/restore-cache
env:
Expand All @@ -352,7 +359,9 @@ jobs:
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: volta-cli/action@v4
uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Restore caches
uses: ./.github/actions/restore-cache
env:
Expand All @@ -372,7 +381,9 @@ jobs:
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: volta-cli/action@v4
uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Restore caches
uses: ./.github/actions/restore-cache
env:
Expand Down Expand Up @@ -526,7 +537,9 @@ jobs:
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: volta-cli/action@v4
uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Restore caches
uses: ./.github/actions/restore-cache
env:
Expand Down Expand Up @@ -570,6 +583,7 @@ jobs:
bundle:
- loader_base
- loader_eager
- loader_debug
- loader_tracing
- loader_replay
- loader_tracing_replay
Expand All @@ -580,7 +594,9 @@ jobs:
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: volta-cli/action@v4
uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Restore caches
uses: ./.github/actions/restore-cache
env:
Expand Down Expand Up @@ -631,7 +647,9 @@ jobs:
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: volta-cli/action@v4
uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Restore caches
uses: ./.github/actions/restore-cache
env:
Expand All @@ -655,7 +673,9 @@ jobs:
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: volta-cli/action@v4
uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Restore caches
uses: ./.github/actions/restore-cache
env:
Expand Down Expand Up @@ -730,7 +750,7 @@ jobs:
yarn test:integration:ci

job_e2e_tests:
name: E2E Tests
name: E2E Tests (Shard ${{ matrix.shard }})
# We only run E2E tests for non-fork PRs because the E2E tests require secrets to work and they can't be accessed from forks
# Dependabot PRs sadly also don't have access to secrets, so we skip them as well
if:
Expand All @@ -739,13 +759,19 @@ jobs:
needs: [job_get_metadata, job_build]
runs-on: ubuntu-20.04
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
shard: [1, 2, 3]
steps:
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
uses: actions/checkout@v3
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: volta-cli/action@v4
uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Restore caches
uses: ./.github/actions/restore-cache
env:
Expand All @@ -761,6 +787,8 @@ jobs:
E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
E2E_TEST_SENTRY_ORG_SLUG: 'sentry-javascript-sdks'
E2E_TEST_SENTRY_TEST_PROJECT: 'sentry-javascript-e2e-tests'
E2E_TEST_SHARD: ${{ matrix.shard }}
E2E_TEST_SHARD_AMOUNT: 3
run: |
cd packages/e2e-tests
yarn test:e2e
Expand Down Expand Up @@ -803,7 +831,9 @@ jobs:
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: volta-cli/action@v4
uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Restore caches
uses: ./.github/actions/restore-cache
env:
Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/canary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,16 @@ jobs:
job_canary_test:
name: Canary Tests
runs-on: ubuntu-20.04
timeout-minutes: 30
timeout-minutes: 60
steps:
- name: 'Check out current commit'
uses: actions/checkout@v3
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: volta-cli/action@v4
uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Install dependencies
run: yarn install --ignore-engines --frozen-lockfile
- name: Build packages
Expand Down Expand Up @@ -70,8 +72,9 @@ jobs:
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: volta-cli/action@v4

uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Install dependencies
run: yarn install --ignore-engines --frozen-lockfile

Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/flaky-test-detector.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,9 @@ jobs:
- name: Check out current branch
uses: actions/checkout@v3
- name: Set up Node
uses: volta-cli/action@v4

uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Install dependencies
run: yarn install --ignore-engines --frozen-lockfile

Expand Down
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
*.md
.nxcache
packages/browser-integration-tests/fixtures
91 changes: 91 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,97 @@

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

## 7.48.0

### Important Changes


- **feat(node): Add `AsyncLocalStorage` implementation of `AsyncContextStrategy` (#7800)**
- feat(core): Extend `AsyncContextStrategy` to allow reuse of existing context (#7778)
- feat(core): Make `runWithAsyncContext` public API (#7817)
- feat(core): Add async context abstraction (#7753)
- feat(node): Adds `domain` implementation of `AsyncContextStrategy` (#7767)
- feat(node): Auto-select best `AsyncContextStrategy` for Node.js version (#7804)
- feat(node): Migrate to domains used through `AsyncContextStrategy` (#7779)

This release switches the SDK to use [`AsyncLocalStorage`](https://nodejs.org/api/async_context.html#class-asynclocalstorage) as the async context isolation mechanism in the SDK for Node 14+. For Node 10 - 13, we continue to use the Node [`domain`](https://nodejs.org/api/domain.html) standard library, since `AsyncLocalStorage` is not supported there. **Preliminary testing showed [a 30% improvement in latency and rps](https://github.com/getsentry/sentry-javascript/issues/7691#issuecomment-1504009089) when making the switch from domains to `AsyncLocalStorage` on Node 16.**

If you want to manually add async context isolation to your application, you can use the new `runWithAsyncContext` API.

```js
const requestHandler = (ctx, next) => {
return new Promise((resolve, reject) => {
Sentry.runWithAsyncContext(
async hub => {
hub.configureScope(scope =>
scope.addEventProcessor(event =>
Sentry.addRequestDataToEvent(event, ctx.request, {
include: {
user: false,
},
})
)
);

await next();
resolve();
},
{ emitters: [ctx] }
);
});
};
```

If you're manually using domains to isolate Sentry data, we strongly recommend switching to this API!

In addition to exporting `runWithAsyncContext` publicly, the SDK also uses it internally where we previously used domains.

- **feat(sveltekit): Remove `withSentryViteConfig` (#7789)**
- feat(sveltekit): Remove SDK initialization via dedicated files (#7791)

This release removes our `withSentryViteConfig` wrapper we previously instructed you to add to your `vite.config.js` file. It is replaced Vite plugins which you simply add to your Vite config, just like the `sveltekit()` Vite plugins. We believe this is a more transparent and Vite/SvelteKit-native way of applying build time modifications. Here's how to use the plugins:

```js
// vite.config.js
import { sveltekit } from '@sveltejs/kit/vite';
import { sentrySvelteKit } from '@sentry/sveltekit';

export default {
plugins: [sentrySvelteKit(), sveltekit()],
// ... rest of your Vite config
};
```

Take a look at the [`README`](https://github.com/getsentry/sentry-javascript/blob/develop/packages/sveltekit/README.md) for updated instructions!

Furthermore, with this transition, we removed the possibility to intialize the SDK in dedicated `sentry.(client|server).config.js` files. Please use SvelteKit's [hooks files](https://github.com/getsentry/sentry-javascript/blob/develop/packages/sveltekit/README.md#2-client-side-setup) to initialize the SDK.

Please note that these are **breaking changes**! We're sorry for the inconvenience but the SvelteKit SDK is still in alpha stage and we want to establish a clean and SvelteKit-friendly API before making the SDK stable. You have been [warned](https://github.com/getsentry/sentry-javascript/blob/eb921275f9c572e72c2348a91cb39fcbb8275b8d/packages/sveltekit/README.md#L20-L24) ;)

- **feat(sveltekit): Add Sentry Vite Plugin to upload source maps (#7811)**

This release adds automatic upload of source maps to the SvelteKit SDK. No need to configure anything other than adding our Vite plugins to your SDK. The example above shows you how to do this.

Please make sure to follow the [`README`](https://github.com/getsentry/sentry-javascript/blob/develop/packages/sveltekit/README.md#uploading-source-maps) to specify your Sentry auth token, as well as org and project slugs.

### Additional Features and Fixes

- feat(browser): Export request instrumentation options (#7818)
- feat(core): Add async context abstraction (#7753)
- feat(core): Add DSC to all outgoing envelopes (#7820)
- feat(node): Add checkin envelope types (#7777)
- feat(replay): Add `getReplayId()` method (#7822)
- fix(browser): Adjust `BrowserTransportOptions` to support offline transport options (#7775)
- fix(browser): DOMException SecurityError stacktrace parsing bug (#7821)
- fix(core): Log warning when tracing extensions are missing (#7601)
- fix(core): Only call `applyDebugMetadata` for error events (#7824)
- fix(integrations): Ensure httpclient integration works with Request (#7786)
- fix(node): `reuseExisting` does not need to call bind on domain (#7780)
- fix(node): Fix domain scope inheritance (#7799)
- fix(node): Make `trpcMiddleware` factory synchronous (#7802)
- fix(serverless): Account when transaction undefined (#7829)
- fix(utils): Make xhr instrumentation independent of parallel running SDK versions (#7836)

## 7.47.0

### Important Changes
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
"mocha": "^6.1.4",
"nodemon": "^2.0.16",
"npm-run-all": "^4.1.5",
"prettier": "2.7.1",
"prettier": "2.8.7",
"recast": "^0.20.5",
"replace-in-file": "^4.0.0",
"rimraf": "^3.0.2",
Expand Down
1 change: 1 addition & 0 deletions packages/browser-integration-tests/.eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ module.exports = {
'loader-suites/**/dist/*',
'loader-suites/**/subject.js',
'scripts/**',
'fixtures/**',
],
parserOptions: {
sourceType: 'module',
Expand Down
Loading