Skip to content

meta(changelog): Update Changelog for 8.9.0 #12451

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 32 commits into from
Jun 11, 2024
Merged

Conversation

andreiborza
Copy link
Member

No description provided.

dependabot bot and others added 29 commits June 6, 2024 17:23
This PR introduce a new continuous profiling mode. This mode is
exclusive from the current mode which considers starting and stopping
profiles on a per span basis.

I've picked the interval duration of 5s as somewhat arbitrarily. The
idea is that we dont want profiles to grow too large, because that might
become a performance issue in the event that we have a lot of deep stack
samples to process.

Since profiling mode is exclusive, we will require users to add a
profilerMode (subject to change) as the SDK option (this is subject to
change as we align the APIs cross sdks). In terms of convenience, we are
likely also going to add a Sentry.profiler.start/stop methods so that
users can have access as to when they can start and stop the profiler
(not implemented as we havent standardized on the approach yet) -
currently this relies on
getIntegrationByName("ProfilingIntegration").profiler.stop

Since the UI does not support this mode yet, I will hide the
profilerMode hidden and only allow the current automated instrumentation
Instead of #12358,
this is a simpler change which ensures we pick the transaction from the
scope instead.

I also added tests for the various different scenarios, to ensure we see
how they behave:

1. INP is emitted _during_ pageload (span is active)
2. INP is emitted _after_ pageload

a. Pageload is parametrized (route)
b. Pageload is unparametrized (URL)

When the pageload is unparametrized (default browser SDK), the
transaction is not added to the DSC envelope header (which is correct
and also what we do in other places). it is _always_ added to the span
attributes now, though. If no span is active, it will use
transactionName from the last active pageload/navigation span.

There may be edge cases where this is not 100% correct (e.g. if the INP
span is only emitted once the pageload is done but another navigation
already started) but IMHO these are more edge cases and this change is
probably fine for now..?

(While at it, I also added an origin to the INP spans)
[Gitflow] Merge master into develop
…lambda-auto` (#12392)

Guards the `tryPatcHandler` call by checking for the availability of
`require` (which is undefined in ESM). In ESM mode, this call fails because
`require` is not available. So let's not call it in this case.
add a test to our ESM Express e2e test app to test that http instrumentation
is working correctly by ensuring a `http.client` span is captured.

---------

Co-authored-by: Francesco Novy <[email protected]>
## Description
As stated
[here](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-7.html#packagejson-exports-imports-and-self-referencing)
in the typescript docs, `types` exports should always come first, so
that they are resolved correctly. This also applies to the nested
`types` within and `exports` condition.

This corrects an issue where `eslint-import-resolver-typescript` was not
correctly resolving the full types for Sentry.
Remove some unneeded deps, and align playwright version everywhere.
…12398)

Fix an issue where the correct transactionName could not be obtained
when using nested routes in VueRouter.
Adds CLS, FID, and INP breadcrumbs. Updates all web vital breadcrumbs to
include rating

Closes #11639

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Luca Forstner <[email protected]>
Co-authored-by: Andrei <[email protected]>
Co-authored-by: Francesco Novy <[email protected]>
Co-authored-by: Lukas Stracke <[email protected]>
Co-authored-by: Yamagishi Kazutoshi <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Forgot to shoutout @dohooo, @mohd-akram and @ykzts for their help fixing
bugs with the SDK this release - will also update the main release
notes!
…#12403)

Part of #11910

This removes the tests in nextjs-app-dir where we still polled Sentry.
We don't actually use these, so no need to install them.
This updates contributing docs to mention that we use volta, + also to
set up PNPM support.
…idn't wrap handler (#12407)

Fix span collision by checking if the AWS lambda handler was already
wrapped by Otel instrumentation and only if not starting our own root
span. The rest of our handler is still being used (i.e. the flushing
logic, error capturing, etc) regardless of otel wrapping.

Also Adjusted E2E tests to:
- more closely resemble the AWS environment
- enable auto patching of the handler with the Sentry SDK handler
- better check for Otel and manual spans

Ref #12409
…span (#12430)

Add the `sentry.op` attribute/`op` property to the created root
span/transaction of a lambda function.
To automatically capture exceptions from inside a component tree and
render a fallback component, wrap the native Solid
JS `ErrorBoundary` component with `Sentry.withSentryErrorBoundary`.

```js
import * as Sentry from '@sentry/solidjs';
import { ErrorBoundary } from 'solid-js';

Sentry.init({
  dsn: '__PUBLIC_DSN__',
  tracesSampleRate: 1.0, //  Capture 100% of the transactions
});

const SentryErrorBoundary = Sentry.withSentryErrorBoundary(ErrorBoundary);

render(
  () => (
    <SentryErrorBoundary fallback={err => <div>Error: {err.message}</div>}>
      <ProblematicComponent />
    </SentryErrorBoundary>
  ),
  document.getElementById('root'),
);
```

**Note**: When using an `ErrorBoundary` in conjunction with Solid
Router, the fallback component renders twice, see
[here](solidjs/solid-router#440).
Waiting with merging this until the package is ready.

---------

Co-authored-by: Lukas Stracke <[email protected]>
Fixes #11759,
hopefully.

One more example for why we should enable noUncheckedIndexedAccess...
See #12440
Follow-up as cache logic for `ioredis` was already added.
@andreiborza andreiborza requested a review from mydea June 11, 2024 08:06
@andreiborza andreiborza requested review from lforst, Lms24 and s1gr1d June 11, 2024 08:06
@andreiborza andreiborza requested a review from a team as a code owner June 11, 2024 08:06
@andreiborza andreiborza changed the title Prepare release/8.9.0 meta(changelog): Update Changelog for 8.9.0 Jun 11, 2024
CHANGELOG.md Outdated

### Important changes

- **feat(solid): Add solid sdk**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

totally optional:

Suggested change
- **feat(solid): Add solid sdk**
- **feat(solid): Add solid SDK**

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated, thanks :)

@andreiborza andreiborza force-pushed the prepare-release/8.9.0 branch from 9b22918 to 1c36f9b Compare June 11, 2024 08:10
CHANGELOG.md Outdated
- **feat(solid): Add Solid SDK**

This release adds a dedicated SDK for [Solid JS](https://www.solidjs.com/) in alpha state with instrumentation for
[Solid Router](https://docs.solidjs.com/solid-router) and custom `ErrorBoundary`. See the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[Solid Router](https://docs.solidjs.com/solid-router) and custom `ErrorBoundary`. See the
[Solid Router](https://docs.solidjs.com/solid-router) and a custom `ErrorBoundary`. See the

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated :)

CHANGELOG.md Outdated

### Other changes

- build: Cleanup dependencies (#12405)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- build: Cleanup dependencies (#12405)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed :)

@andreiborza andreiborza force-pushed the prepare-release/8.9.0 branch from 1c36f9b to 7d29a99 Compare June 11, 2024 08:13
Copy link
Contributor

github-actions bot commented Jun 11, 2024

size-limit report 📦

Path Size
@sentry/browser 22.04 KB (added)
@sentry/browser (incl. Tracing) 33.23 KB (added)
@sentry/browser (incl. Tracing, Replay) 68.95 KB (added)
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 62.27 KB (added)
@sentry/browser (incl. Tracing, Replay with Canvas) 73.02 KB (added)
@sentry/browser (incl. Tracing, Replay, Feedback) 85.14 KB (added)
@sentry/browser (incl. Tracing, Replay, Feedback, metrics) 86.98 KB (added)
@sentry/browser (incl. metrics) 26.23 KB (added)
@sentry/browser (incl. Feedback) 38.21 KB (added)
@sentry/browser (incl. sendFeedback) 26.63 KB (added)
@sentry/browser (incl. FeedbackAsync) 31.18 KB (added)
@sentry/react 24.81 KB (added)
@sentry/react (incl. Tracing) 36.27 KB (added)
@sentry/vue 26.05 KB (added)
@sentry/vue (incl. Tracing) 35.07 KB (added)
@sentry/svelte 22.17 KB (added)
CDN Bundle 23.39 KB (added)
CDN Bundle (incl. Tracing) 34.91 KB (added)
CDN Bundle (incl. Tracing, Replay) 69.02 KB (added)
CDN Bundle (incl. Tracing, Replay, Feedback) 74.15 KB (added)
CDN Bundle - uncompressed 68.71 KB (added)
CDN Bundle (incl. Tracing) - uncompressed 103.3 KB (added)
CDN Bundle (incl. Tracing, Replay) - uncompressed 213.75 KB (added)
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 226.21 KB (added)
@sentry/nextjs (client) 35.63 KB (added)
@sentry/sveltekit (client) 33.86 KB (added)
@sentry/node 111.93 KB (added)
@sentry/node - without tracing 89.4 KB (added)
@sentry/aws-serverless 98.46 KB (added)

@andreiborza andreiborza marked this pull request as draft June 11, 2024 09:08
@andreiborza
Copy link
Member Author

Drafted, waiting for #12453 to make it in.

Lms24 and others added 2 commits June 11, 2024 09:23
Fix a server-side re-export problem of `@sentry/node` exports
in the Astro SDK. It seems that the `export * from '@sentry/node'` "overruled" the
explicit exports. So this patch changes our export statements to:
- only export explicit, named exports in the JS server side entry point
- continue exporting all types via the `*` export in the types entry
point

fixes #12410
@Lms24 Lms24 force-pushed the prepare-release/8.9.0 branch from 7d29a99 to 332a7ab Compare June 11, 2024 10:58
@andreiborza andreiborza marked this pull request as ready for review June 11, 2024 10:59
@andreiborza andreiborza merged commit 070e1f9 into master Jun 11, 2024
135 checks passed
@andreiborza andreiborza deleted the prepare-release/8.9.0 branch June 11, 2024 11:29
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.

10 participants