Skip to content
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

meta: Add Changelog entry for 8.6.0 #12272

Merged
merged 15 commits into from
May 29, 2024
Merged

meta: Add Changelog entry for 8.6.0 #12272

merged 15 commits into from
May 29, 2024

Conversation

Lms24
Copy link
Member

@Lms24 Lms24 commented May 29, 2024

No description provided.

github-actions bot and others added 14 commits May 27, 2024 18:11
[Gitflow] Merge master into develop
This PR introduces `Sentry.reactErrorHandler`, which looks like so:

```js
import * as Sentry from '@sentry/react';
import { hydrateRoot } from "react-dom/client";

ReactDOM.hydrateRoot(
  document.getElementById("root"),
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  {
    onUncaughtError: Sentry.reactErrorHandler(),
    onCaughtError: Sentry.reactErrorHandler((error, errorInfo) => {
      // optional callback if users want custom config.
    }),
  }
);
```

To validate this change, we add a react 19 e2e test.
To avoid too large payloads, we should only send up to 1000 spans.

We actually had two different problems here in browser and node:

1. In browser, we _did_ limit to 1000, but we did so in an unfortunate
way, which is to reset the set after 1000 spans. So if a span had 1010
children, only the last 10 would be send.
2. In node, we just sent all spans.

I rewrote this to now consistently send the first 1000 spans of a
transaction.

I decided to keep all spans (no matter the limit) on the internal
parent-child map. Due to this this may grow a lot, but we can avoid
inconsistent state (e.g. what happens if a span has a parent in the map,
but the parent does not have the span as children, ...)
All of these should be garbage collected together ideally, so this
should be fine hopefully.
This does two main things:

1. Updates node E2E tests to use `fetch` instead of axios
2. Update node E2E tests to avoid sending to Sentry.

Instead, we check everywhere via the proxy that the data sent is OK.


Part of #11910
Fixes #12217

Make sure `failure_issue_threshold` and `recovery_threshold` get passed
in correctly.
This PR adds request data to server-side Sentry events by extracting the
request object in our `sentryHandle` request handler. This is in line
with our other SDKs and was simply missing from the SvelteKit SDK so
far.
This introduces a new method, `metrics.timing()`, which can be used in
two ways:

1. With a numeric value, to simplify creating a distribution metric.
This will default to `second` as unit:

```js
Sentry.metrics.timing('myMetric', 100);
```

2. With a callback, which will wrap the duration of the callback. This
can accept a sync or async callback. It will create an inactive span
around the callback and at the end emit a metric with the duration of
the span in seconds:

```js
const returnValue = Sentry.metrics.timing('myMetric', measureThisFunction);
```

Closes #12215
This PR implements a versioned Sentry carrier as described in #12188.
The idea is that SDKs can from now on access their global Sentry
instance and thereby no longer overwrite or interfere with potentially
other SDKs (e.g. 3rd party libraries, scripts, etc).

Internally, SDKs can access their carrier via the
`window.__SENTRY__[SDK_VERSION]`. Externally (spotlight, loader script)
via `window.__SENTRY__[window.__SENTRY__.version]`.

---------

Co-authored-by: Francesco Novy <francesco.novy@sentry.io>
Noticed this while looking into
#12244, console
should be instrumented just fine in the CDN bundle.
@Lms24 Lms24 requested review from a team, mydea, andreiborza and lforst and removed request for a team May 29, 2024 08:19
CHANGELOG.md Outdated Show resolved Hide resolved
Update CHANGELOG.md

Co-authored-by: Francesco Novy <francesco.novy@sentry.io>
@Lms24 Lms24 changed the base branch from develop to master May 29, 2024 12:04
@Lms24 Lms24 requested a review from a team as a code owner May 29, 2024 12:04
@Lms24 Lms24 merged commit 264675d into master May 29, 2024
28 checks passed
@Lms24 Lms24 deleted the prepare-release/8.6.00 branch May 29, 2024 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants