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(changelog): Update changelog for 7.91.0 #9965

Merged
merged 27 commits into from
Dec 22, 2023
Merged

Conversation

AbhiPrasad
Copy link
Member

@AbhiPrasad AbhiPrasad commented Dec 21, 2023

want to cut a release to ship server metrics before we go on holiday next week.

0Calories and others added 23 commits December 19, 2023 15:57
[Gitflow] Merge master into develop
To ensure we have up-to-date TS support, e.g. `satisfies` cannot be
transpiled previously.

See https://github.com/alangpierce/sucrase/blob/main/CHANGELOG.md
feat(utils): Add function to extract relevant component name
Some small fixes to integrations & rewriting some "forgotten" ones to
functional syntax.
This scope lives in module scope and is applied to _all_ events.

Please review this carefully, as it is important that data is correctly
applied etc. There should be a decent amount of tests covering all of
this, but just to make sure. This was mostly ported/extracted from
node-experimental.
Refactors deno integrations to functional syntax.
To align with OTEL spans.

This also deprecates `span.finish()`, and also makes sure that `end()`
accepts both ms as well as s timestmaps (to align this with OTEL in the
future, which accepts ms only).

---------

Co-authored-by: Yagiz Nizipli <yagiz@nizipli.com>
Also ensure to actually export `getGlobalScope()` everywhere as well.

The isolation scope, currently, lies on the hub, and is applied to all
events.
@lforst noticed that currently `startSpan()` and `startSpanManual` do
not fork the scope, which is also a slightly different behavior than it
is in OTEL.

This adjusts this to better align, so that we always fork a scope. We
also always leave the span on the forked scope, even after it was
finished.

In a follow up, we can thus also get rid of the `finish` callback arg
for `startSpanManual`, as users can/should simply call `span.end()`
themselves then.
…e-on-spans

feat(react): Send component name on spans
One of the PRs scoped from
#9855

Sends component names on the databag of interaction spans
One of the PRs scoped from
#9855

Sends component names on Replay UI breadcrumbs so they can be ingested
and indexed. This will allow for searching for Replays by component name
in the future.

---------

Co-authored-by: Yagiz Nizipli <yagiz@nizipli.com>
One of the PRs scoped from
#9855

Sends component names on UI event breadcrumbs

---------

Co-authored-by: Abhijeet Prasad <aprasad@sentry.io>
## Implements

- [x] 10 Second Bucketing: SDKs are required to bucket into 10 second
intervals (rollup in seconds) which is the current lower bound of metric
accuracy.
- [x] Flush Shift: SDKs are required to shift the flush interval by
random() * rollup_in_seconds. That shift is determined once per startup
to create jittering.
- [ ] Force flush: an SDK is required to perform force flushing ahead of
scheduled time if the memory pressure is too high. There is no rule for
this other than that SDKs should be tracking abstract aggregation
complexity (eg: a counter only carries a single float, whereas a
distribution is a float per emission).

## Caveats 

- Force flush requires Node.js 14+ support (FinalizationRegistry). I
recommend leaving it after v8 release to make the implementation a lot
easier.

---------

Co-authored-by: Abhijeet Prasad <aprasad@sentry.io>
@AbhiPrasad AbhiPrasad requested review from anonrig, a team and ale-cota and removed request for a team December 21, 2023 22:10
@AbhiPrasad AbhiPrasad changed the title Prepare release/7.91.0 meta(changelog): Update changelog for 7.91.0 Dec 21, 2023
@AbhiPrasad AbhiPrasad requested review from mydea and removed request for ale-cota December 21, 2023 22:11
Copy link
Contributor

github-actions bot commented Dec 21, 2023

size-limit report 📦

Path Size
@sentry/browser (incl. Tracing, Replay, Feedback) - Webpack (gzipped) 75.89 KB (0%)
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) 67.25 KB (0%)
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) 60.87 KB (0%)
@sentry/browser (incl. Tracing) - Webpack (gzipped) 31.83 KB (0%)
@sentry/browser (incl. Feedback) - Webpack (gzipped) 30.39 KB (0%)
@sentry/browser - Webpack (gzipped) 22.09 KB (0%)
@sentry/browser (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) 73.3 KB (0%)
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) 64.97 KB (0%)
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) 31.12 KB (0%)
@sentry/browser - ES6 CDN Bundle (gzipped) 23.12 KB (0%)
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) 203.77 KB (0%)
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) 93.66 KB (0%)
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) 68.58 KB (0%)
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) 34.07 KB (0%)
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) 67.66 KB (0%)
@sentry/react - Webpack (gzipped) 22.12 KB (0%)
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) 84.31 KB (0%)
@sentry/nextjs Client - Webpack (gzipped) 48.95 KB (0%)
@sentry-internal/feedback - Webpack (gzipped) 16.6 KB (0%)

mydea and others added 4 commits December 22, 2023 08:47
I think this was just not updated... I aligned it with the webpack size
limit for the "full" bundle.
…t for CSP (#9969)

This PR adds options to the `sentryHandle` request handler that allows
control over CSP-relevant aspects for the `<script>` that the request
handler injects into the page. Previously, the injected script was
blocked by browsers if CSP was enabled, due to inline `<script>`s not
being allowed without a nonce or hash.

Now users can specify a nonce or disable the script injection
…anManual`, `trace` (#9958)

Our previous implementation of `startSpan` et.al. assumed
that because we were "cloning" the original promise, unhandled promise
rejections would still bubble up to the global `onunhandledrejection`
handler so that Sentry would catch the error.

However, we tried investigating this and found out that our "cloning"
mechanism didn't work correctly and because we already added a rejection
handler, the promise rejection would _not always_ make it to the global
handler.

After adding multiple integration tests, I further narrowed the buggy
behaviour down to a rather special case: The `startSpan` call is not `await`ed
which for some reason will lead to the SDK not catching the error.
Unless, we apply the fix in this PR.

This patch removes this cloning mechanism in favour of directly attaching a
rejection handler to the promise. In this handler, we rethrow the error
which should trigger the global handlers.
@Lms24 Lms24 enabled auto-merge December 22, 2023 10:48
@Lms24 Lms24 merged commit 17f490e into master Dec 22, 2023
93 checks passed
@Lms24 Lms24 deleted the prepare-release/7.91.0 branch December 22, 2023 10:56
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.

None yet

7 participants