Skip to content

meta: Update CHANGELOG for 8.40.0 #14408

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 18 commits into from
Nov 21, 2024
Merged

meta: Update CHANGELOG for 8.40.0 #14408

merged 18 commits into from
Nov 21, 2024

Conversation

Lms24
Copy link
Member

@Lms24 Lms24 commented Nov 21, 2024

No description provided.

lforst and others added 16 commits November 19, 2024 14:28
#14331)

Using a proper URL-based setup in browser integration tests instead of
serving from a file makes the tests more realistic, as chrome behavior
can differ slightly in those scenarios.

I refactored any tests that required actual changes in a previous PR, so
this PR does:

1. Search-replace all usages of `getLocalTestPath` with
`getLocalTestUrl`
2. Remove the `getLocalTestPath` test fixture
…merged (#14315)

We keep `normalizedRequest` with data like headers, urls etc. on the
`sdkProcessingMetadata` on the scope.

While this generally works, there are some _potential_ pitfalls/footguns
there:

One, if you put some (e.g. partial) `normalizedRequest` on the _current_
scope, it will just overwrite the full `normalizedRequest` from the
_isolation_ scope, where generally we'll try to put the request data
automatically (e.g. in the http instrumentation). Think this example:

```js
Sentry.withScope(scope => {
  scope.setSdkProcessingMetadata({ normalizedRequest: { headers: moreSpecificHeaders } });
});
```

the resulting event inside of this `withScope` callback would _only_
have the headers, but would miss e.g. url etc. data set.

This PR changes this so that the `normalizedRequest` is merged between
the types of scopes, so only set fields on e.g. the current scope will
overwrite the same fields on the isolation scope, instead of just
overwriting the whole normalizedRequest that results.

Note that bundle size for browser is sadly anyhow affected (no matter if
we go with a/b/c), as the code to merge it between scopes is always
shared :(
…es (#14356)

This fixes an issue with sucrase build output where it adds `__self` and
`__source` attributes to DOM nodes.

This seems to [only affect
JSX](https://github.com/alangpierce/sucrase#jsx-options), which AFAIK
only the feedback package uses.
[Gitflow] Merge master into develop
…14305)

The request data integration prefers this over `request`, we want to get
rid of `request` in v9.

Updates the following:

- [x] astro/src/server/middleware.ts
- [x] bun/src/integrations/bunserver.ts
- [x] cloudflare/src/scope-utils.ts
- [ ] google-cloud-serverless/src/gcpfunction/http.ts
- [x] nextjs/src/common/captureRequestError.ts
- [x] nextjs/src/common/withServerActionInstrumentation.ts
- [x] nextjs/src/common/wrapGenerationFunctionWithSentry.ts
- [ ] nextjs/src/common/wrapMiddlewareWithSentry.ts
- [x] nextjs/src/common/wrapRouteHandlerWithSentry.ts
- [x] nextjs/src/common/wrapServerComponentWithSentry.ts
- [ ] nextjs/src/common/pages-router-instrumentation/_error.ts
- [ ]
nextjs/src/common/pages-router-instrumentation/wrapApiHandlerWithSentry.ts
- [ ] nextjs/src/common/utils/wrapperUtils.ts
- [x] nextjs/src/edge/wrapApiHandlerWithSentry.ts
- [ ] remix/src/utils/errors.ts
- [ ] remix/src/utils/instrumentServer.ts
- [x] sveltekit/src/server/handle.ts

Part of #14298
…`SentryGlobalGenericFilter`, `SentryGlobalGraphQLFilter` (#14371)
When running tests for the monorepo locally, replay tests can hang/may
not resolve because we run them in watch mode by default. You can still
use `yarn test:watch` if you want watch mode anyhow. We use `vitest run`
everywhere else we have vitest already.
This PR adds a guard to avoid us throwing if we try to fill a readonly
property on an object.

Generally speaking this should not work, but it does not hurt us to be
defensive here and try-catch this to avoid breaking users apps.

Fixes #14368
…4401)

This includes exporting `httpRequestToRequestEventData` from
`@sentry/node`, which we can reuse in a few places.

This also allows us to remove a bunch of stuff from remix, because
actually we can just use `winterCGRequestToRequestData` instead of the
custom implementation we have there. at least type wise, this should all
work, let's see if any test complains...

Closes #14298
Add support for the new major version by bumping peer dependencies
and adding an Angular 19 e2e test app.
@Lms24 Lms24 requested review from lforst and s1gr1d November 21, 2024 15:02
};
```

- **feat(core): Deprecate `debugIntegration` and `sessionTimingIntegration` ([#14363](https://github.com/getsentry/sentry-javascript/pull/14363))**
Copy link
Member

Choose a reason for hiding this comment

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

I realize we should have identified these earlier, but we should add these as entries to MIGRATION.md. We can do it as a follow-up.

Copy link
Member Author

Choose a reason for hiding this comment

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

Looks like they are mentioned in the v9 migration guide draft:

## `@sentry/core`
- Deprecated `transactionNamingScheme` option in `requestDataIntegration`.
- Deprecated `debugIntegration`. To log outgoing events, use [Hook Options](https://docs.sentry.io/platforms/javascript/configuration/options/#hooks) (`beforeSend`, `beforeSendTransaction`, ...).
- Deprecated `sessionTimingIntegration`. To capture session durations alongside events, use [Context](https://docs.sentry.io/platforms/javascript/enriching-events/context/) (`Sentry.setContext()`).

Should we just add these entries to MIGRATION.md? Might also be fair to wait a bit longer and do it when everything is scoped out for v9.

Copy link
Member

Choose a reason for hiding this comment

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

Considering they can be changed with the release now, IMO we should reference them in the main migration guide.

Adds `loadTime` and `renderTime` attributes from the [LCP
performance entry](https://developer.mozilla.org/en-US/docs/Web/API/LargestContentfulPaint#instance_properties)
to the `pageload` span. Besides being valuable information for users,
this also helps us detect if LCP is potentially unreliable: If the LCP element was from a 3rd party origin and the
`Timing-Allow-Origin` header was not sent in the resource response, the
`renderTime` will be `0`.
@Lms24 Lms24 force-pushed the prepare-release/8.40.0 branch from 8520d16 to fb7a363 Compare November 21, 2024 15:31
@Lms24 Lms24 self-assigned this Nov 21, 2024
@Lms24 Lms24 changed the base branch from develop to master November 21, 2024 15:48
@Lms24 Lms24 requested review from a team as code owners November 21, 2024 15:48
@Lms24 Lms24 merged commit c1ccdf3 into master Nov 21, 2024
31 checks passed
@Lms24 Lms24 deleted the prepare-release/8.40.0 branch November 21, 2024 15:48
robinvw1 added a commit to robinvw1/sentry-javascript that referenced this pull request Nov 22, 2024
…ease/8.40.0"

This reverts commit c1ccdf3, reversing
changes made to 5ab2877.
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.

7 participants