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.75.0 #9343

Merged
merged 39 commits into from
Oct 24, 2023
Merged

Conversation

mydea
Copy link
Member

@mydea mydea commented Oct 24, 2023

Also fixes a typo in the opentelemetry readme I noticed...

lforst and others added 30 commits October 17, 2023 12:18
[Gitflow] Merge master into develop
…eable (#9287)

Fix a Sentry.init code generation bug that always added
`BrowserTracing` and `Replay` to the client init code, even if sample
rates were specifically set to 0. This prohibited tree shaking of these
integrations if users disabled them by setting the respective sample
rates.
This extracts the code from `node-experimental` in a more reusable
`@sentry/opentelemetry` package.

This package has no direct (otel) dependencies, but only peer
dependencies. This means it can be used by anybody with an existing OTEL
setup without messing with their dependencies etc.

In turn, `node-experimental` uses this package to implement a concrete
and opinionated implementation of this for node.

This new package should also be usable for non-node OTEL
implementations, and concisously does not include any node specific
stuff.
This depends on getsentry/rrweb#114 to be merged
first, but allows to configure build time flags to shake out certain
rrweb features that may not be used.

It also adds a size limit entry that shows the total bundle size with
everything that can be shaken out removed, incl. debug stuff. Bundle
size is about ~11kb gzipped less in this scenario, which is not bad.
This updates the loader based on this PR:
getsentry/sentry#58070
and also actually fixes/improves the loader tests by avoiding importing
`@sentry/browser`. This is not needed and actually obfuscates the
"real"/"normal" behavior (just look at the generated `dist` folder for a
test.

Instead, I added an eslint rule to allow `Sentry` as a global for these
cases, and just access them directly. This also uncovered an incorrect
test, which I adjusted so it works. I also added a new test to ensure
custom config works.
Adds `--sig` option to `yalc:publish` tasks to include a hash of file
contents as part of package version. This allows us to cache bust and
allows dev servers to hot reload in watch mode.
We need this in the new feedback integration.
Installing this on Node <18 produces install time errors, as the package
is not compatible, e.g.:

```
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'opentelemetry-instrumentation-fetch-node@1.1.0',
npm WARN EBADENGINE   required: { node: '>18.0.0' },
npm WARN EBADENGINE   current: { node: 'v16.18.0', npm: '8.19.2' }
npm WARN EBADENGINE }
```

We already try-catch the `setupInstrumentation` hook anyhow, so no need
to check again here - if this fails we'll just skip running this
integration.
…9330)

Locally E2E tests keep hanging due to this, for whatever reason.
Probably some DSN issues, but no idea why... Changing this to
`127.0.0.1` fixes the problem :O
LubomirIgonda1 and others added 7 commits October 23, 2023 12:33
…slash (#9328)

fix use case when original req url ends with trailing slash and contains query params.
Example: `api/v1/users/123/posts/?param=1`
Update the Astro readme with up-to-date installation
instructions and links to our docs.
This was not covered well by our tests 😬 oops...

Fixes #9332
Convert init file import paths to POSIX paths to ensure Vite can resolve the path to the file correctly when the import statement to inject the file into the client and browser bundles is added.
Adds the @sentry/astro package's default export (i.e. the
`sentryAstro` integration) to the types entry poin
We've been using the wrong `startTimestamp` for the core xhr
instrumentation. Outside of replay, this wasn't noticed because we are
not actually using the anywhere 😬 But in replay, it lead to all xhr
breadrcumbs showing an incorrect duration of `0`.

Note that this is _maybe_ not 100% correct, as in theory you could call
`xhr.send()` later, which is probably the _most correct_ start
timestamp. But this would require us to keep the start time somewhere on
the xhr object, which is a bit trickier than this solution. So I think
it is fine to do this based on `xhr.open()` (and _definitely_ more
correct than it was before).

fixes getsentry/sentry#52790
This streamlines web-vital & performance observer handling, by exposing
a new `addPerformanceInstrumentationHandler` method from
`@sentry-internal/tracing`.

This works similar to the instrumentation in utils, where the first time
you add instrumentation for a given type, it will add a performance
observer. And any further calls will just add more callbacks. This way,
we avoid having multiple of the same performance observers.

Furthermore, this also aligns the handling of LCP capturing for replay.
We used to do this separately, now we use the same data as for
performance.

Finally, while doing this I noticed that a whole bunch of performance
observer stuff we used to capture in Replay, was actually discarded 😬 so
no need to capture these anymore at all. (We can always add it back
later, if needed)

Some integration tests needed slight adjustments for this, probably due
to minor timing semantics. But I think all the changes are
good/"correct".

I _also_ got rid of the event deduplication in replay.

Closes #9246
@mydea mydea requested review from lforst and Lms24 October 24, 2023 09:44
@mydea mydea self-assigned this Oct 24, 2023
@mydea mydea changed the base branch from develop to master October 24, 2023 09:54
@mydea mydea marked this pull request as ready for review October 24, 2023 09:54
@mydea mydea merged commit 00d2996 into master Oct 24, 2023
24 checks passed
@mydea mydea deleted the prepare-release/7.75.0 branch October 24, 2023 09:57
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

9 participants