Skip to content

meta: Update CHANGELOG for 7.67.0 #8941

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 30 commits into from
Sep 5, 2023
Merged

meta: Update CHANGELOG for 7.67.0 #8941

merged 30 commits into from
Sep 5, 2023

Conversation

Lms24
Copy link
Member

@Lms24 Lms24 commented Sep 5, 2023

Draft for now, lmk if PRs should still be included in the release.

mydea and others added 26 commits August 29, 2023 16:50
This renames & restructures the type exports from `@sentry/replay`.

We want to deprecate the `@sentry/replay` package eventually - users
should import everything they need directly from e.g. `@sentry/browser`
or `@sentry/react`.

ref #8864
#8889)

Previously was attempting to take full snapshot when replay recording
was not active.

Fixes #8885
This tries to simplify the logger to avoid the global lookup.
If you have more than one utils, having multiple loggers would be the
least of your problems.
[Gitflow] Merge master into develop
#8909)

Fixes #8904

I don't know enough about remix to know if/when this can actually
happen, but doesn't hurt to guard anyhow!
…ipt (#8814)

Updated `sentry-upload-sourcemaps` script:

- Updated `sentry-cli` to: `2.20.4`
- Added a script to Inject debugids invoking `sentry-cli` (as this
feature is not available in JS SDK of `sentry-cli` yet)
- Added a script to delete sourcemaps after uploading them to Sentry.
(default is to delete, created a new flag to prevent deletion)
…ns` (#8921)

Add missing replay and profiling options to the
`BrowserClientOptions` interface. Previously, we only exposed these
types to `BrowserOptions`. This led to type errors for users who
directly create a client, without using `Sentry.init` (as reported in
#8857).

While one would think that `BrowserClientOptions` is basically a
superset of `BrowserOptions` (leaving aside `stackparser`,
`integrations` and `transport`) this is in fact not the case, which IMO
is the core problem here. `BrowserClientOptions` only inherits the base
`Options` (which are shared between browser and node), in addition to
transport options. However, changing this so that,
`BrowserClientOptions` inherits from `BrowserOptions` is a breaking
change, so I opted to just add the missing options to
`BrowserClientOptions`.
This defaults to 60min, and is capped at max. 60min (=you cannot specify
a longer max duration than 60min).

Closes #8758
Bumps [apollo-server-core](https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-core) from 3.11.1 to 3.12.1.
- [Release notes](https://github.com/apollographql/apollo-server/releases)
- [Commits](https://github.com/apollographql/apollo-server/commits/apollo-server-core@3.12.1/packages/apollo-server-core)

---
updated-dependencies:
- dependency-name: apollo-server-core
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
…#8920)

I noticed that we kind of extended the public API by exporting some
things from opentelemetry-node that we need in node-experimental. I am
deprecating these internals as I'm refactoring some things to be a bit
cleaner IMHO.

The one export we actually need outside I am exporting as
`_INTERNAL_getSentrySpan` to make it clear this is not meant to be used
otherwise. The main reason I am not just exporting this is that this
_may_ have to change if we change how we internally store/handle spans -
e.g. if we move away from the map this is just not possible to have
anymore, and I do not want to lock us into having to support this in the
future.
1. Make sure it works consistently when not calling
`connection.connect()` (which is optional) - it used to only register
the mysql config on the second call, as it calls `connect` under the
hood but only after we already tried to fetch it again.
2. Make sure it works without a callback.
This re-implements the new performance APIs:

* `startActiveSpan`
* `startSpan`
* `getActiveSpan`

In `@sentry/node-experimental`, where these delegate to OTEL under the
hood.
I tried to make sure to have _exactly_ the same APIs as we have for
these functions without this. There are some caveats with this:

* calling `span.finish()` may behave in unexpected ways - it is not
supported to manually finish a span.
* Calling `scope.getSpan()` will not work
* Calling `span.startSpan()` will not work

Basically, only the top level exported methods work, nothing else.
…8797)

This PR implements a strategy to sync the OpenTelemetry Context with our
own Hub forking for AsyncContext.

This works by fully relying on OpenTelemetry to handle async context
isolation/forking.

1. We implement a custom OTEL ContextManager that wraps the default
AsyncHooks manager, but makes sure to also fork the hub for each context
change & puts the hub on the OTEL context so we can retrieve it.
2. Then, we also have a custom Sentry AsyncContextStrategy which just
refers to OTEL context and picks the hub from there we put there in 1.

This means we do not need to do any context forking ourselves anymore,
so no need for e.g. `Sentry.Handlers.requestHandler()` and stuff like
this.

It _should_ also mean that Sentry & OTEL should be as in sync as
possible.

Some notes:
* Currently only works for AsyncHooks, which should be fine I guess.
Could also be exteded to work with other implementations as well.
Cleaning up a leftover from v6 when we still built Vue CDN bundles.
…ndled (#8890)

Change the mechanisms of errors caught from the `TryCatch` integration to report the error as unhandled.

Detailed write-up in #8890
Report exceptions caught by our Vue error handler and routing instrumentation as unhandled.

Detailed write up in #8890
Deprecate the `wrap` function exported from `@sentry/browser`. 

This function is documented nowhere, not part of the unified API and
afaict not used by any SDKs depending on `@sentry/browser`.
…led (#8907)

Mark errors caught in

* AWS Lambda handler
* GCP http, function, cloudEvent handlers

as unhandled

For more details see #8890
…8893)

Mark errors caught in

* `captureUnderscoreException` 
* `wrapApiHandlerWithSentry`
* `callDataFetcherTraced`
* `withErrorInstrumentation`
* `wrapServerComponentWithSentry`

as unhandled.

For more details, see #8890, #6073

Co-authored-by: Luca Forstner <luca.forstner@sentry.io>
…ed (#8894)

Mark errors caught from remix instrumentation as unhandled:
* `captureRemixErrorBoundaryError` 
* `captureRemixServerException`

For more details see #8890, #6073
…Console` integrations as unhandled (#8891)

Mark errors caught from optional integrations

* `HttpClient`
* `CaptureConsole`

as unhandled. 

For more details see #8890, #6073
@Lms24 Lms24 requested review from mydea, lforst and AbhiPrasad September 5, 2023 07:39
@Lms24 Lms24 force-pushed the prepare-release/7.67.0 branch from ee831d4 to 08a2f0f Compare September 5, 2023 07:41
lforst and others added 4 commits September 5, 2023 08:33
Co-authored-by: Lukas Stracke <lukas.stracke@sentry.io>
There are cases when global objects such as the window object are
shimmed that they define properties such as `document`, but the actual
value is undefined. This exact situation has been occurring and is
causing the instrumentDOM function to throw an error as `'document' in
WINDOW` is technically true though the value is falsey. We should rather
attempt an actual check of the value being truthy rather than if the
property is defined

Co-authored-by: Luca Forstner <luca.forstner@sentry.io>
@Lms24 Lms24 force-pushed the prepare-release/7.67.0 branch from 08a2f0f to 09f7f7e Compare September 5, 2023 09:41
@Lms24 Lms24 marked this pull request as ready for review September 5, 2023 09:42
@Lms24 Lms24 changed the base branch from develop to master September 5, 2023 09:43
@Lms24 Lms24 merged commit a74fe81 into master Sep 5, 2023
@Lms24 Lms24 deleted the prepare-release/7.67.0 branch September 5, 2023 09:44
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.

6 participants