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 v8.0.0-beta.5 #11849

Merged
merged 31 commits into from
Apr 30, 2024

Conversation

mydea
Copy link
Member

@mydea mydea commented Apr 30, 2024

This is possibly (hopefully?) the last beta release of the v8 cycle 🤞

github-actions bot and others added 30 commits April 24, 2024 15:18
[Gitflow] Merge master into develop
Updates feedback actor button with new designs. The button doesn't show
the label on small viewports now.
Window over 600px:
<img width="167" alt="image"
src="https://github.com/getsentry/sentry-javascript/assets/55311782/1e6cef63-288b-42d1-af07-edbcf32718d6">
Window under 600px:
<img width="167" alt="image"
src="https://github.com/getsentry/sentry-javascript/assets/55311782/c79520a4-f30e-4012-ac5a-b923ab19da0b">

Fixes #11541 and
getsentry/team-replay#413
This patch calls `showReportDialog` outside of the Angular context to
prevent unnecessary view updates when asynchronous tasks are set up within the
`showReportDialog` function.

Also updates the documentation around `runOutsideAngular`
…ation` (#11513)

Co-authored-by: Luca Forstner <luca.forstner@sentry.io>
…t*Span` APIs (#11696)

Add an experimental option to our `StartSpanOptions` API to
allow sending a span as a standalone (segment) span via our `start*Span`
APIs:

- `experimantal.standalone`: if `true`, the span will be sent as a span
envelope instead of a transaction event envelope
adds a `trace` envelope header to our standalone span envelope
creation function.
`client.captureException/captureMessage/captureEvent` do not include
current scope in events by default. This is in contrast to
`captureException/captureMessage/captureEvent` exported from every SDK
which include the current scope by default.

This PR changes the parameter names (`scope` > `currentScope`) and adds
jsdocs to make this more clear. It also changes the parameters to use
the scope interface instead of the scope class.
…ve parent span (#11783)

Enable sending standalone `http.client` spans for outgoing
`fetch` and XHR requests if there's no active parent span. These spans
will belong to the same trace id as a potentially previously started
pageload or navigation span.

Adjusted integration tests to test the newly sent spans and their trace
lifetime.
…1788)

Refactors how we create INP spans. Previously we'd directly
initialize a `SentrySpan` instance with the necessary properties and
manually sample the span. Ironically, we heavily discourage directly
initializing a `Span` class.

With this change we leverage the `standalone: true` flag
introduced in #11696. This way, we can also use the built-in sampling
functionality and ensure that we only have one logic for creating
standalone span envelopes. Also bundle size should decrease slightly 🤞

Adjusted the integration tests to more thoroughly test the INP span
envelopes
I'm seeing a lot of breadcrumbs for `console.assert`s even though they
are passing. This issue was previously fixed in #2239 but I guess there
was a regression at some point. There was already an existing test case
for this, but it was missing an assertion.

---------

Co-authored-by: Francesco Novy <francesconovy@gmail.com>
Noticed this while bumping sentry itself - the types are wrong today,
because we return it as `IntegrationFn` which is just a generic
integration with no custom methods.

---------

Co-authored-by: Lukas Stracke <lukas.stracke@sentry.io>
…eption()`, `captureMessage()`, and `captureEvent()` (#11805)
…11809)

Small refactor; The previous guard also worked but using `onlyIfParent`
instead of checking for `getActiveSpan` saves us a couple of bytes
…11797)

Multiple cron jobs can run at the same time and they may run on a server
where other work is being performed.

Wrapping the `withMonitor` callback in `withIsolationScope` ensures that
scope and breadcrumbs for the cron tasks remain isolated.
Update our Svelte and SvelteKit SDKs to support Svelte 5

Concrete changes and adjustments:

- Removed `current_component` import from Svelte SDK `trackComponent`
function, due to the export no longer being available in Svelte 5
- Added a dummy/no-op `trackComponent` utility to the Server-side of the
SvelteKit SDK. Component tracking doesn't make much sense in SSR but
only in client-side hydration and subsequent navigations. With this
change, users can now manually call `trackComponent` within their
pages/components.
- Adjusted peer dependencies in the Svelte SDK to permit `svelte@5.x`
whenever it's released. I don't think we should add the preview versions
here but happy to change/remove for now if reviewers prefer.
- Added SvelteKit 2 + Svelte 5 E2E test app with latest preview release
with all the tests from the older SvelteKit E2E test apps. Also added a
test for manual component tracking and backported it to the other
Sveltekit E2E tests
quick PR to sync changelogs so I don't have to keep going back and
forth.
- Exports a new wrapper `Sentry.wrapHandleErrorWithSentry` for custom
`handleError` implementations.
- This runs the original `handleError` implementation, then runs the
Sentry's capture logic.
- This PR also renames `wrapRemixHandleError` to `sentryHandleError`, to
avoid confusion. We're still exporting `wrapRemixHandleError` as alias.

---------

Co-authored-by: Abhijeet Prasad <aprasad@sentry.io>
In #11807 I added a SvelteKit+Svelte 5 E2E test. Let's also add a small
Svelte 5 standalone/SPA app ensure we cover such apps as well.
Resolves: #11678
Related: #11666 

This PR updates `runScriptInSandbox` utility, which was implemented
(probably for a similar reason) but not used.
Ports relevant tests to this pattern.
Resolves: #10238 

Clones the `request` in `action` to read `formData` and sets each entry
as an attribute to the `action` span.

Also adds a new e2e test application using latest Remix with Express,
which both tests server and client-side.

There seem to be a few limitations regarding the availability of
complete data (multiple file uploads from a single input for example),
but I think we can consider this as the best effort.

This will only work when `sendDefaultPii` is set to `true`, but we can
also add another option to control this.

---------

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

As reporting in the above issue, it is not typesafe to type the error
thrown by react components as `Error`, it can actually be any JS
object/primitive that was thrown. This means we have to type everything
as `unknown`.

This change only will happen for `8.x` because it's a breaking change.

Related: 
- https://react.dev/reference/react/Component#componentdidcatch
- DefinitelyTyped/DefinitelyTyped#69434

---------

Co-authored-by: Francesco Novy <francesco.novy@sentry.io>
This simplifies stuff for our users as well.
… Form in the feedback public api (#11838)

Prior to this PR it was only possible to get the floating feedback
button if you configured `autoInject: true`.

In our uses on sentry.io we want to be able to show that button on some
pages, but not others. This make it possible, the (react hooks) code to
do that is:
```
useEffect(() => {
  const widget = feedback.createWidget(options);
  return async () => {
    widget.removeFromDom();
  };
}, []);
```

---------

Co-authored-by: Francesco Novy <francesco.novy@sentry.io>
Extracted out from
#11827.

I added tests for loading & error states as well, to ensure this does
not regress.
@mydea mydea requested a review from s1gr1d April 30, 2024 08:16
@mydea mydea self-assigned this Apr 30, 2024
@mydea mydea changed the base branch from develop to master April 30, 2024 08:26
@mydea mydea merged commit 17d98d8 into master Apr 30, 2024
28 checks passed
@mydea mydea deleted the prepare-release/8.0.0-beta.5 branch April 30, 2024 08:26
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