Skip to content

meta(changelog): Update Changelog for 7.50.0 #7966

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 29 commits into from
Apr 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
8f5a036
Merge pull request #7922 from getsentry/master
mydea Apr 20, 2023
c74eff8
fix(core): Avoid crash when Function.prototype is frozen (#7899)
Jack-Works Apr 20, 2023
856953b
ci: Improve last commenter action (#7911)
mydea Apr 20, 2023
1d5430e
ci: Finally fix auto-merge for gitflow (#7924)
mydea Apr 20, 2023
390faf3
fix(replay): Ensure we still truncate large bodies if they are failed…
mydea Apr 21, 2023
2bcbf3e
fix(nextjs): Fix inject logic for Next.js 13.3.1 canary (#7921)
Apr 21, 2023
13cbb1d
doc(sveltekit): Promote the SDK to beta state (#7874)
Lms24 Apr 21, 2023
15d9102
feat(nextjs): Add `disableLogger` option that automatically tree shak…
Apr 21, 2023
24a235d
fix(replay): Ensure console breadcrumb args are truncated (#7917)
mydea Apr 24, 2023
5a3c29d
fix(replay): Ensure we do not set replayId on dsc if replay is disabl…
mydea Apr 24, 2023
bbbea86
test(e2e): Use pnpm for e2e tests (#7930)
Apr 24, 2023
0161cdd
feat(replay): Change `flush()` API to record current event buffer (#7…
billyvg Apr 25, 2023
c0e5504
feat(tracing): Add `db.system` span data to DB spans (#7952)
AbhiPrasad Apr 25, 2023
8b97f80
feat(core): Add multiplexed transport (#7926)
timfish Apr 25, 2023
7d10c44
feat(replay): Allow to configure URLs to capture network bodies/heade…
mydea Apr 26, 2023
300b220
feat(replay): Change `stop()` to flush and remove current session (#7…
billyvg Apr 26, 2023
7d75fac
build(deps-dev): Bump yaml from 2.1.1 to 2.2.2
dependabot[bot] Apr 25, 2023
6de02c0
ci: Fix issue state check (#7962)
mydea Apr 26, 2023
82cebd3
ref: Fix comment for normalize (#7954)
mydea Apr 26, 2023
f649b24
fix(utils): `normalize()` to a max. of 100 levels deep by default (#7…
mydea Apr 26, 2023
bce8c36
feat(replay): Extend session idle time until expire to 15min (#7955)
mydea Apr 26, 2023
d1b09c6
ref(core): Update multiplexed transport to default to errors only (#7…
mydea Apr 26, 2023
1683caf
feat(node): Make Undici a default integration. (#7967)
AbhiPrasad Apr 26, 2023
a5b9284
feat(replay): Change the behavior of error-based sampling (#7768)
billyvg Apr 26, 2023
619c4b0
Revert "doc(sveltekit): Promote the SDK to beta state (#7874)" (#7974)
Lms24 Apr 26, 2023
5f9b9ce
feat(sveltekit): Convert `sentryHandle` to a factory function (#7975)
Lms24 Apr 26, 2023
ec1a441
test: Fix flaky replay DSC test (#7973)
mydea Apr 26, 2023
54d588e
doc(sveltekit): Promote the SDK to beta state (#7976)
Lms24 Apr 26, 2023
da799e9
meta(changelog): Update Changelog for 7.50.0
mydea Apr 26, 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
5 changes: 4 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -511,7 +511,7 @@ jobs:
needs: [job_get_metadata, job_build]
if: needs.job_get_metadata.outputs.changed_browser_integration == 'true' || github.event_name != 'pull_request'
runs-on: ubuntu-20.04
timeout-minutes: 15
timeout-minutes: 18
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -768,6 +768,9 @@ jobs:
uses: actions/checkout@v3
with:
ref: ${{ env.HEAD_COMMIT }}
- uses: pnpm/action-setup@v2
with:
version: 7
- name: Set up Node
uses: actions/setup-node@v3
with:
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/canary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ jobs:
uses: actions/checkout@v3
with:
ref: ${{ env.HEAD_COMMIT }}
- uses: pnpm/action-setup@v2
with:
version: 7
- name: Set up Node
uses: actions/setup-node@v3
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gitflow-sync-develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@ jobs:
github_token: ${{ secrets.REPO_SCOPED_TOKEN }}

- name: Enable automerge for PR
run: gh pr merge --merge --auto "1"
if: steps.open-pr.outputs.pr_number != ''
run: gh pr merge --merge --auto "${{ steps.open-pr.outputs.pr_number }}"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# https://github.com/marketplace/actions/auto-approve
- name: Auto approve PR
# Always skip this for now, until we got a proper bot setup
if: steps.open-pr.outputs.pr_number != ''
uses: hmarr/auto-approve-action@v3
with:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/label-last-commenter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ on:
types: [created]

jobs:
deploy:
toggle_labels:
name: Toggle Labels
runs-on: ubuntu-latest
if: ${{ !github.event.issue.pull_request }}
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Add label if commenter is not member
# Note: We only add the label if the issue is still open
if: |
github.event.comment.author_association != 'COLLABORATOR'
&& github.event.comment.author_association != 'MEMBER'
&& github.event.comment.author_association != 'OWNER'
&& github.event.issue.state == 'open'
uses: actions-ecosystem/action-add-labels@v1
with:
labels: 'Waiting for: Team'
Expand Down
100 changes: 100 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,106 @@

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

## 7.50.0

### Important Changes

- **doc(sveltekit): Promote the SDK to beta state (#7976)**
- feat(sveltekit): Convert `sentryHandle` to a factory function (#7975)

With this release, the Sveltekit SDK ([@sentry/sveltekit](./packages/sveltekit/README.md)) is promoted to Beta.
This means that we do not expect any more breaking changes.

The final breaking change is that `sentryHandle` is now a function.
So in order to update to 7.50.0, you have to update your `hooks.server.js` file:

```js
// hooks.server.js

// Old:
export const handle = sentryHandle;
// New:
export const handle = sentryHandle();
```

- **feat(replay): Allow to configure URLs to capture network bodies/headers (#7953)**

You can now capture request/response bodies & headers of network requests in Replay.
You have to define an allowlist of URLs you want to capture additional information for:

```js
new Replay({
networkDetailAllowUrls: ['https://sentry.io/api'],
});
```

By default, we will capture request/response bodies, as well as the request/response headers `content-type`, `content-length` and `accept`.
You can configure this with some additional configuration:

```js
new Replay({
networkDetailAllowUrls: ['https://sentry.io/api'],
// opt-out of capturing bodies
networkCaptureBodies: false,
// These headers are captured _in addition to_ the default headers
networkRequestHeaders: ['X-Custom-Header'],
networkResponseHeaders: ['X-Custom-Header', 'X-Custom-Header-2']
});
```

Note that bodies will be truncated to a max length of ~150k characters.

**- feat(replay): Changes of sampling behavior & public API**
- feat(replay): Change the behavior of error-based sampling (#7768)
- feat(replay): Change `flush()` API to record current event buffer (#7743)
- feat(replay): Change `stop()` to flush and remove current session (#7741)

We have changed the behavior of error-based sampling, as well as adding & adjusting APIs a bit to be more aligned with expectations.
See [Sampling](./packages/replay/README.md#sampling) for details.

We've also revamped some public APIs in order to be better aligned with expectations. See [Stoping & Starting Replays manually](./packages/replay/README.md#stopping--starting-replays-manually) for details.

- **feat(core): Add multiplexed transport (#7926)**

We added a new transport to support multiplexing.
With this, you can configure Sentry to send events to different DSNs, depending on a logic of your choosing:

```js
import { makeMultiplexedTransport } from '@sentry/core';
import { init, captureException, makeFetchTransport } from '@sentry/browser';

function dsnFromFeature({ getEvent }) {
const event = getEvent();
switch(event?.tags?.feature) {
case 'cart':
return ['__CART_DSN__'];
case 'gallery':
return ['__GALLERY_DSN__'];
}
return []
}

init({
dsn: '__FALLBACK_DSN__',
transport: makeMultiplexedTransport(makeFetchTransport, dsnFromFeature)
});
```

### Additional Features and Fixes

- feat(nextjs): Add `disableLogger` option that automatically tree shakes logger statements (#7908)
- feat(node): Make Undici a default integration. (#7967)
- feat(replay): Extend session idle time until expire to 15min (#7955)
- feat(tracing): Add `db.system` span data to DB spans (#7952)
- fix(core): Avoid crash when Function.prototype is frozen (#7899)
- fix(nextjs): Fix inject logic for Next.js 13.3.1 canary (#7921)
- fix(replay): Ensure console breadcrumb args are truncated (#7917)
- fix(replay): Ensure we do not set replayId on dsc if replay is disabled (#7939)
- fix(replay): Ensure we still truncate large bodies if they are failed JSON (#7923)
- fix(utils): default normalize() to a max. of 100 levels deep instead of Inifnity (#7957)

Work in this release contributed by @Jack-Works. Thank you for your contribution!

## 7.49.0

### Important Changes
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import * as Sentry from '@sentry/browser';

window.Sentry = Sentry;
window.Replay = new Sentry.Replay({
flushMinDelay: 1000,
flushMaxDelay: 1000,
});

Sentry.init({
dsn: 'https://[email protected]/1337',
sampleRate: 1,
replaysSessionSampleRate: 0.0,
replaysOnErrorSampleRate: 0.0,

integrations: [window.Replay],
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
document.getElementById('go-background').addEventListener('click', () => {
Object.defineProperty(document, 'hidden', { value: true, writable: true });
const ev = document.createEvent('Event');
ev.initEvent('visibilitychange');
document.dispatchEvent(ev);
});

document.getElementById('error').addEventListener('click', () => {
throw new Error('Ooops');
});

document.getElementById('error2').addEventListener('click', () => {
throw new Error('Another error');
});

document.getElementById('log').addEventListener('click', () => {
console.log('Some message');
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<button id="go-background">Go to background</button>
<button id="error">Throw Error</button>
<button id="error2">Another Error</button>
<button id="log">Log stuff to the console</button>
</body>
</html>
Loading