meta(changelog): Update changelog for 9.0.0-alpha.0 - #15131

Merged
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0
Jan 22, 2025
Merged

meta(changelog): Update changelog for 9.0.0-alpha.0#15131
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0

Conversation

@lforst

Copy link
Copy Markdown
Contributor

No description provided.

antonisand others added 30 commits December 13, 2024 09:34
[Gitflow] Merge master into develop
Noticed that biome fix was failing on some stuff in the `.nuxt` folder
in E2E tests, so figured to add this as well (and while at it, also
ensure it is cleaned).
The v9 branch should not push to the v8 layer.
nitrojs/nitro#2703 fixed
---------
Co-authored-by: Sigrid Huemer <32902192+s1gr1d@users.noreply.github.com>
…w versions (#14707)
temporarily disables publishing a lambda layer while `develop`
is the branch where we cut v9 pre releases from. We shouldn't publish
prerelease layer versions since we can't mark these layers as
pre-release. They'd appear simply as stable new layer versions (with
incremented ARN number)
In order for us to have size-limit comparison etc, we need to ensure CI
runs on v8 & v9 branches too.
With this PR, the default value for the `spans` option in the
`httpIntegration` is changed to `false`, if `skipOpenTelemetrySetup:
true` is configured. This is what you'd expect as a user, you do not
want Sentry to register any OTEL instrumentation and emit any spans in
this scenario.
Closes#14675
…4711)
We should normalise all paths in ANR events if an appRoot path is
supplied. This is important for the Electron SDK where we normalise
around the app path to keep usernames out of reported events.
Adds a `maxAnrEvents` option to the ANR integration which allows you to
capture more than one event.
This change adds release name detection for Railway
Based on #12529
Related:
getsentry/sentry-javascript-bundler-plugins#639
I was playing around with finally enabling the
[no-unnecessary-condition](https://typescript-eslint.io/rules/no-unnecessary-condition/)
eslint rule, and figured to start fixing some of the stuff it found.
These should mostly be straightforward things, or in some cases I
adjusted tests to ensure we "correctly" check for stuff.
We had some elaborate check in there for `window.history` which is based
on very old (~2016) issues, which should not be an issue anymore in
versions we support today. So we can streamline this quite a bit!
Additionally, I also rewrote code that used `window.onpushstate` to
instead of `window.addEventListener('pushstate')`, plus also added code
to ensure we do not emit history changes multiple times, which may be
possible (?).
Previously `spanToJSON` would return `Partial<SpanJSON>`. This meant
that you always had to guard all the stuff you picked from it - even
though in reality, we know that certain stuff will always be there.
To alleviate this, this PR changes this so that `spanToJSON` actually
returns `SpanJSON`. This means that in the fallback case, we return
`data: {}`, as well as a random (current) timestamp. Since we know that
in reality we will only have the two scenarios that we properly handle,
this is fine IMHO and makes usage of this everywhere else a little bit
less painful.
In a follow up, we can get rid of a bunch of `const data =
spanToJSON(span).data || {}` type code.
While at it, I also updated the type of `data` to `SpanAttributes`,
which is correct (it was `Record<string, any>` before). Since we only
allow span attributes to be set on this anyhow now, we can type this
better. This also uncovered a few places with slightly "incorrect" type
checks, I updated those too.
This change is on the v9 branch - I think it should not really be
breaking to a user in any way, as we simply return more data from
`spanToJSON`, and type what `data` is on there more tightly, so no
existing code relying on this should break. But to be safe, I figured we
may as well do that on v9 only.
I do not really think this is breaking or has any impact on any user
code, but to be on the safe side, we can remove this in v9.
The one actual breaking thing is to also move the `encodePolyfill` /
`decodePolyfill` code to the versioned carrier - this was before still
on the global, making this a bit harder than necessary. In v9, this will
have to be set on the versioned carrier the same as other things - cc
@krystofwoldrich
Extracted out from
#14721
Today, we inline all the types into `deno/build/index.d.ts`. This used
to work "OK" previously, where all the types came from `@sentry/types`
and where thus all "simple types".
If we want to replace some of this with actual classes, e.g. `Scope` or
`Client` classes, this starts to fail, because now we have separate
definitions that do not match.
So to fix this, we now stop inlining all the types, but instead
re-export them from `@sentry/core`. While at this, I also updated the
test setup to ignore utils/types and just use core for everything.
With this change, `deno/build/index.d.ts` looks something like this:
```ts
import * as _sentry_core from '@sentry/core';
import { BaseTransportOptions, Options, TracePropagationTargets, ClientOptions, ServerRuntimeClient, Integration, Client } from '@sentry/core';
export { ... } from '@sentry/core';
// additional types from deno go here...
```
I do not _think_ this should be breaking, but 🤷 hard to say for sure
with these things.
Add `Sentry.updateSpanName()` to reliably update span
names in OpenTelemetry environments; prevents overwrites from both
OpenTelemetry HTTP instrumentation and Sentry's span inference logic;
preserves custom names by marking them with 'custom' source and storing
in temp field which takes precedence over the actual name and gets
deleted at the end
Because this config was added to the `includes`, the types were moved to
a subdirectory.
fixes#14732
tjhigginsand others added 18 commits January 21, 2025 09:30
The previous code was using fastify `request.routeOptions.method` which
is all methods the current route supports - not the current request
method.
Ex. `@All()` nestjs decorator `request.routeOptions.method = ['GET',
'POST', 'HEAD', ...]`
- Added a test for `@All()`
- Updated instances of fastify request to use `request.method` which
matches express
---------
Co-authored-by: Charly Gomez <charly.gomez@sentry.io>
This PR adds the external contributor to the CHANGELOG.md file, so that
they are credited for their contribution. See #15066
---------
Co-authored-by: chargome <20254395+chargome@users.noreply.github.com>
Co-authored-by: Francesco Gringl-Novy <francesco.novy@sentry.io>
Updates the `childProcessIntegration` to capture `worker_threads` errors
(including their stack traces) rather than capturing a breadcrumb.
This features is enabled by default and can be disabled by setting the
`captureWorkerErrors` option to `false`:
```ts
Sentry.init({
dsn: 'https://public@dsn.ingest.sentry.io/1337',
integrations: [Sentry.childProcessIntegration({ captureWorkerErrors: false })],
});
```
When `captureWorkerErrors: false`, a breadcrumb will be captured
instead.
This PR also adds more integration tests for the
`childProcessIntegration`.
…5062)
- Updates some cropping variable names to make it more clear that it's
only meant for cropping
- The pen tool button is improved in
#15102, which needs
to be merged first
- The drawing tool button needs to be "on" to annotate, but cropping can
happen at any time
- Once the button is "on", drawing happens on mouse down and mouse move,
and on mouse up, the drawing gets "squashed" onto the image. The
"squashing" can be moved to happen at a different time in a future PR if
we want to incorporate undo, selection, or erasing
- The experimental flag must be on to use annotations: `_experiments:
{annotations: true}`
https://github.com/user-attachments/assets/2fac5e56-5caf-454b-b8b3-afabbd2c31b9Closes#15064
---------
Co-authored-by: Ryan Albrecht <ryan.albrecht@sentry.io>
…ns (#15108)
Extracted this out of
#14955
Instead of registering a general hook & filtering there, we can just use
the `beforeSpanEnd` hook that we already have/use to do this instead.
Removes the `fetchProxyScriptNonce` and in turn simplifies our
`transformPageChunk` callback a bit.
@lforst
lforst requested review from a team as code ownersJanuary 22, 2025 13:36
@lforst

Copy link
Copy Markdown
ContributorAuthor

smol boi

@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.02 KBaddedadded
@sentry/browser - with treeshaking flags22.91 KBaddedadded
@sentry/browser (incl. Tracing)35.75 KBaddedadded
@sentry/browser (incl. Tracing, Replay)72.54 KBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags66.09 KBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)76.79 KBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)89.28 KBaddedadded
@sentry/browser (incl. Feedback)39.71 KBaddedadded
@sentry/browser (incl. sendFeedback)27.65 KBaddedadded
@sentry/browser (incl. FeedbackAsync)32.43 KBaddedadded
@sentry/react25.7 KBaddedadded
@sentry/react (incl. Tracing)38.52 KBaddedadded
@sentry/vue27.12 KBaddedadded
@sentry/vue (incl. Tracing)37.47 KBaddedadded
@sentry/svelte23.14 KBaddedadded
CDN Bundle24.24 KBaddedadded
CDN Bundle (incl. Tracing)35.88 KBaddedadded
CDN Bundle (incl. Tracing, Replay)70.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)75.64 KBaddedadded
CDN Bundle - uncompressed70.87 KBaddedadded
CDN Bundle (incl. Tracing) - uncompressed106.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed217.35 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed229.92 KBaddedadded
@sentry/nextjs (client)38.63 KBaddedadded
@sentry/sveltekit (client)36.26 KBaddedadded
@sentry/node156.35 KBaddedadded
@sentry/node - without tracing97.43 KBaddedadded
@sentry/aws-serverless106.9 KBaddedadded

Comment threadCHANGELOG.md

- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott

Work in this release was contributed by @tjhiggins, @GrizliK1988, @davidturissini, @nwalters512, @aloisklink, @arturovt, @benjick, @maximepvrt, @mstrokin, and @kunal-511. Thank you for your contributions!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

should we move this into the 9.0.0-alpha.0 section? Or wait till the full release?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I would wait for the full release!

@lforst
lforst merged commit 11277ed into masterJan 22, 2025
@lforst
lforst deleted the prepare-release/9.0.0-alpha.0 branch January 22, 2025 14:39
Sign up for freeto 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.

20 participants

@lforst@AbhiPrasad@antonis@mydea@andreiborza@maximepvrt@Lms24@HazAT@timfish@conor-ob@s1gr1d@aloisklink@arturovt@benjick@chargome@mjq@onurtemizkan@JonasBa@HHK1@nwalters512
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

meta(changelog): Update changelog for 9.0.0-alpha.0 - #15131

Merged
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0
Jan 22, 2025
Merged

meta(changelog): Update changelog for 9.0.0-alpha.0#15131
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0

Conversation

@lforst

Copy link
Copy Markdown
Contributor

No description provided.

antonisand others added 30 commits December 13, 2024 09:34
[Gitflow] Merge master into develop
Noticed that biome fix was failing on some stuff in the `.nuxt` folder
in E2E tests, so figured to add this as well (and while at it, also
ensure it is cleaned).
The v9 branch should not push to the v8 layer.
nitrojs/nitro#2703 fixed
---------
Co-authored-by: Sigrid Huemer <32902192+s1gr1d@users.noreply.github.com>
…w versions (#14707)
temporarily disables publishing a lambda layer while `develop`
is the branch where we cut v9 pre releases from. We shouldn't publish
prerelease layer versions since we can't mark these layers as
pre-release. They'd appear simply as stable new layer versions (with
incremented ARN number)
In order for us to have size-limit comparison etc, we need to ensure CI
runs on v8 & v9 branches too.
With this PR, the default value for the `spans` option in the
`httpIntegration` is changed to `false`, if `skipOpenTelemetrySetup:
true` is configured. This is what you'd expect as a user, you do not
want Sentry to register any OTEL instrumentation and emit any spans in
this scenario.
Closes#14675
…4711)
We should normalise all paths in ANR events if an appRoot path is
supplied. This is important for the Electron SDK where we normalise
around the app path to keep usernames out of reported events.
Adds a `maxAnrEvents` option to the ANR integration which allows you to
capture more than one event.
This change adds release name detection for Railway
Based on #12529
Related:
getsentry/sentry-javascript-bundler-plugins#639
I was playing around with finally enabling the
[no-unnecessary-condition](https://typescript-eslint.io/rules/no-unnecessary-condition/)
eslint rule, and figured to start fixing some of the stuff it found.
These should mostly be straightforward things, or in some cases I
adjusted tests to ensure we "correctly" check for stuff.
We had some elaborate check in there for `window.history` which is based
on very old (~2016) issues, which should not be an issue anymore in
versions we support today. So we can streamline this quite a bit!
Additionally, I also rewrote code that used `window.onpushstate` to
instead of `window.addEventListener('pushstate')`, plus also added code
to ensure we do not emit history changes multiple times, which may be
possible (?).
Previously `spanToJSON` would return `Partial<SpanJSON>`. This meant
that you always had to guard all the stuff you picked from it - even
though in reality, we know that certain stuff will always be there.
To alleviate this, this PR changes this so that `spanToJSON` actually
returns `SpanJSON`. This means that in the fallback case, we return
`data: {}`, as well as a random (current) timestamp. Since we know that
in reality we will only have the two scenarios that we properly handle,
this is fine IMHO and makes usage of this everywhere else a little bit
less painful.
In a follow up, we can get rid of a bunch of `const data =
spanToJSON(span).data || {}` type code.
While at it, I also updated the type of `data` to `SpanAttributes`,
which is correct (it was `Record<string, any>` before). Since we only
allow span attributes to be set on this anyhow now, we can type this
better. This also uncovered a few places with slightly "incorrect" type
checks, I updated those too.
This change is on the v9 branch - I think it should not really be
breaking to a user in any way, as we simply return more data from
`spanToJSON`, and type what `data` is on there more tightly, so no
existing code relying on this should break. But to be safe, I figured we
may as well do that on v9 only.
I do not really think this is breaking or has any impact on any user
code, but to be on the safe side, we can remove this in v9.
The one actual breaking thing is to also move the `encodePolyfill` /
`decodePolyfill` code to the versioned carrier - this was before still
on the global, making this a bit harder than necessary. In v9, this will
have to be set on the versioned carrier the same as other things - cc
@krystofwoldrich
Extracted out from
#14721
Today, we inline all the types into `deno/build/index.d.ts`. This used
to work "OK" previously, where all the types came from `@sentry/types`
and where thus all "simple types".
If we want to replace some of this with actual classes, e.g. `Scope` or
`Client` classes, this starts to fail, because now we have separate
definitions that do not match.
So to fix this, we now stop inlining all the types, but instead
re-export them from `@sentry/core`. While at this, I also updated the
test setup to ignore utils/types and just use core for everything.
With this change, `deno/build/index.d.ts` looks something like this:
```ts
import * as _sentry_core from '@sentry/core';
import { BaseTransportOptions, Options, TracePropagationTargets, ClientOptions, ServerRuntimeClient, Integration, Client } from '@sentry/core';
export { ... } from '@sentry/core';
// additional types from deno go here...
```
I do not _think_ this should be breaking, but 🤷 hard to say for sure
with these things.
Add `Sentry.updateSpanName()` to reliably update span
names in OpenTelemetry environments; prevents overwrites from both
OpenTelemetry HTTP instrumentation and Sentry's span inference logic;
preserves custom names by marking them with 'custom' source and storing
in temp field which takes precedence over the actual name and gets
deleted at the end
Because this config was added to the `includes`, the types were moved to
a subdirectory.
fixes#14732
tjhigginsand others added 18 commits January 21, 2025 09:30
The previous code was using fastify `request.routeOptions.method` which
is all methods the current route supports - not the current request
method.
Ex. `@All()` nestjs decorator `request.routeOptions.method = ['GET',
'POST', 'HEAD', ...]`
- Added a test for `@All()`
- Updated instances of fastify request to use `request.method` which
matches express
---------
Co-authored-by: Charly Gomez <charly.gomez@sentry.io>
This PR adds the external contributor to the CHANGELOG.md file, so that
they are credited for their contribution. See #15066
---------
Co-authored-by: chargome <20254395+chargome@users.noreply.github.com>
Co-authored-by: Francesco Gringl-Novy <francesco.novy@sentry.io>
Updates the `childProcessIntegration` to capture `worker_threads` errors
(including their stack traces) rather than capturing a breadcrumb.
This features is enabled by default and can be disabled by setting the
`captureWorkerErrors` option to `false`:
```ts
Sentry.init({
dsn: 'https://public@dsn.ingest.sentry.io/1337',
integrations: [Sentry.childProcessIntegration({ captureWorkerErrors: false })],
});
```
When `captureWorkerErrors: false`, a breadcrumb will be captured
instead.
This PR also adds more integration tests for the
`childProcessIntegration`.
…5062)
- Updates some cropping variable names to make it more clear that it's
only meant for cropping
- The pen tool button is improved in
#15102, which needs
to be merged first
- The drawing tool button needs to be "on" to annotate, but cropping can
happen at any time
- Once the button is "on", drawing happens on mouse down and mouse move,
and on mouse up, the drawing gets "squashed" onto the image. The
"squashing" can be moved to happen at a different time in a future PR if
we want to incorporate undo, selection, or erasing
- The experimental flag must be on to use annotations: `_experiments:
{annotations: true}`
https://github.com/user-attachments/assets/2fac5e56-5caf-454b-b8b3-afabbd2c31b9Closes#15064
---------
Co-authored-by: Ryan Albrecht <ryan.albrecht@sentry.io>
…ns (#15108)
Extracted this out of
#14955
Instead of registering a general hook & filtering there, we can just use
the `beforeSpanEnd` hook that we already have/use to do this instead.
Removes the `fetchProxyScriptNonce` and in turn simplifies our
`transformPageChunk` callback a bit.
@lforst
lforst requested review from a team as code ownersJanuary 22, 2025 13:36
@lforst

Copy link
Copy Markdown
ContributorAuthor

smol boi

@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.02 KBaddedadded
@sentry/browser - with treeshaking flags22.91 KBaddedadded
@sentry/browser (incl. Tracing)35.75 KBaddedadded
@sentry/browser (incl. Tracing, Replay)72.54 KBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags66.09 KBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)76.79 KBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)89.28 KBaddedadded
@sentry/browser (incl. Feedback)39.71 KBaddedadded
@sentry/browser (incl. sendFeedback)27.65 KBaddedadded
@sentry/browser (incl. FeedbackAsync)32.43 KBaddedadded
@sentry/react25.7 KBaddedadded
@sentry/react (incl. Tracing)38.52 KBaddedadded
@sentry/vue27.12 KBaddedadded
@sentry/vue (incl. Tracing)37.47 KBaddedadded
@sentry/svelte23.14 KBaddedadded
CDN Bundle24.24 KBaddedadded
CDN Bundle (incl. Tracing)35.88 KBaddedadded
CDN Bundle (incl. Tracing, Replay)70.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)75.64 KBaddedadded
CDN Bundle - uncompressed70.87 KBaddedadded
CDN Bundle (incl. Tracing) - uncompressed106.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed217.35 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed229.92 KBaddedadded
@sentry/nextjs (client)38.63 KBaddedadded
@sentry/sveltekit (client)36.26 KBaddedadded
@sentry/node156.35 KBaddedadded
@sentry/node - without tracing97.43 KBaddedadded
@sentry/aws-serverless106.9 KBaddedadded

Comment threadCHANGELOG.md

- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott

Work in this release was contributed by @tjhiggins, @GrizliK1988, @davidturissini, @nwalters512, @aloisklink, @arturovt, @benjick, @maximepvrt, @mstrokin, and @kunal-511. Thank you for your contributions!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

should we move this into the 9.0.0-alpha.0 section? Or wait till the full release?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I would wait for the full release!

@lforst
lforst merged commit 11277ed into masterJan 22, 2025
@lforst
lforst deleted the prepare-release/9.0.0-alpha.0 branch January 22, 2025 14:39
Sign up for freeto 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.

20 participants

@lforst@AbhiPrasad@antonis@mydea@andreiborza@maximepvrt@Lms24@HazAT@timfish@conor-ob@s1gr1d@aloisklink@arturovt@benjick@chargome@mjq@onurtemizkan@JonasBa@HHK1@nwalters512
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

meta(changelog): Update changelog for 9.0.0-alpha.0 - #15131

Merged
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0
Jan 22, 2025
Merged

meta(changelog): Update changelog for 9.0.0-alpha.0#15131
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0

Conversation

@lforst

Copy link
Copy Markdown
Contributor

No description provided.

antonisand others added 30 commits December 13, 2024 09:34
[Gitflow] Merge master into develop
Noticed that biome fix was failing on some stuff in the `.nuxt` folder
in E2E tests, so figured to add this as well (and while at it, also
ensure it is cleaned).
The v9 branch should not push to the v8 layer.
nitrojs/nitro#2703 fixed
---------
Co-authored-by: Sigrid Huemer <32902192+s1gr1d@users.noreply.github.com>
…w versions (#14707)
temporarily disables publishing a lambda layer while `develop`
is the branch where we cut v9 pre releases from. We shouldn't publish
prerelease layer versions since we can't mark these layers as
pre-release. They'd appear simply as stable new layer versions (with
incremented ARN number)
In order for us to have size-limit comparison etc, we need to ensure CI
runs on v8 & v9 branches too.
With this PR, the default value for the `spans` option in the
`httpIntegration` is changed to `false`, if `skipOpenTelemetrySetup:
true` is configured. This is what you'd expect as a user, you do not
want Sentry to register any OTEL instrumentation and emit any spans in
this scenario.
Closes#14675
…4711)
We should normalise all paths in ANR events if an appRoot path is
supplied. This is important for the Electron SDK where we normalise
around the app path to keep usernames out of reported events.
Adds a `maxAnrEvents` option to the ANR integration which allows you to
capture more than one event.
This change adds release name detection for Railway
Based on #12529
Related:
getsentry/sentry-javascript-bundler-plugins#639
I was playing around with finally enabling the
[no-unnecessary-condition](https://typescript-eslint.io/rules/no-unnecessary-condition/)
eslint rule, and figured to start fixing some of the stuff it found.
These should mostly be straightforward things, or in some cases I
adjusted tests to ensure we "correctly" check for stuff.
We had some elaborate check in there for `window.history` which is based
on very old (~2016) issues, which should not be an issue anymore in
versions we support today. So we can streamline this quite a bit!
Additionally, I also rewrote code that used `window.onpushstate` to
instead of `window.addEventListener('pushstate')`, plus also added code
to ensure we do not emit history changes multiple times, which may be
possible (?).
Previously `spanToJSON` would return `Partial<SpanJSON>`. This meant
that you always had to guard all the stuff you picked from it - even
though in reality, we know that certain stuff will always be there.
To alleviate this, this PR changes this so that `spanToJSON` actually
returns `SpanJSON`. This means that in the fallback case, we return
`data: {}`, as well as a random (current) timestamp. Since we know that
in reality we will only have the two scenarios that we properly handle,
this is fine IMHO and makes usage of this everywhere else a little bit
less painful.
In a follow up, we can get rid of a bunch of `const data =
spanToJSON(span).data || {}` type code.
While at it, I also updated the type of `data` to `SpanAttributes`,
which is correct (it was `Record<string, any>` before). Since we only
allow span attributes to be set on this anyhow now, we can type this
better. This also uncovered a few places with slightly "incorrect" type
checks, I updated those too.
This change is on the v9 branch - I think it should not really be
breaking to a user in any way, as we simply return more data from
`spanToJSON`, and type what `data` is on there more tightly, so no
existing code relying on this should break. But to be safe, I figured we
may as well do that on v9 only.
I do not really think this is breaking or has any impact on any user
code, but to be on the safe side, we can remove this in v9.
The one actual breaking thing is to also move the `encodePolyfill` /
`decodePolyfill` code to the versioned carrier - this was before still
on the global, making this a bit harder than necessary. In v9, this will
have to be set on the versioned carrier the same as other things - cc
@krystofwoldrich
Extracted out from
#14721
Today, we inline all the types into `deno/build/index.d.ts`. This used
to work "OK" previously, where all the types came from `@sentry/types`
and where thus all "simple types".
If we want to replace some of this with actual classes, e.g. `Scope` or
`Client` classes, this starts to fail, because now we have separate
definitions that do not match.
So to fix this, we now stop inlining all the types, but instead
re-export them from `@sentry/core`. While at this, I also updated the
test setup to ignore utils/types and just use core for everything.
With this change, `deno/build/index.d.ts` looks something like this:
```ts
import * as _sentry_core from '@sentry/core';
import { BaseTransportOptions, Options, TracePropagationTargets, ClientOptions, ServerRuntimeClient, Integration, Client } from '@sentry/core';
export { ... } from '@sentry/core';
// additional types from deno go here...
```
I do not _think_ this should be breaking, but 🤷 hard to say for sure
with these things.
Add `Sentry.updateSpanName()` to reliably update span
names in OpenTelemetry environments; prevents overwrites from both
OpenTelemetry HTTP instrumentation and Sentry's span inference logic;
preserves custom names by marking them with 'custom' source and storing
in temp field which takes precedence over the actual name and gets
deleted at the end
Because this config was added to the `includes`, the types were moved to
a subdirectory.
fixes#14732
tjhigginsand others added 18 commits January 21, 2025 09:30
The previous code was using fastify `request.routeOptions.method` which
is all methods the current route supports - not the current request
method.
Ex. `@All()` nestjs decorator `request.routeOptions.method = ['GET',
'POST', 'HEAD', ...]`
- Added a test for `@All()`
- Updated instances of fastify request to use `request.method` which
matches express
---------
Co-authored-by: Charly Gomez <charly.gomez@sentry.io>
This PR adds the external contributor to the CHANGELOG.md file, so that
they are credited for their contribution. See #15066
---------
Co-authored-by: chargome <20254395+chargome@users.noreply.github.com>
Co-authored-by: Francesco Gringl-Novy <francesco.novy@sentry.io>
Updates the `childProcessIntegration` to capture `worker_threads` errors
(including their stack traces) rather than capturing a breadcrumb.
This features is enabled by default and can be disabled by setting the
`captureWorkerErrors` option to `false`:
```ts
Sentry.init({
dsn: 'https://public@dsn.ingest.sentry.io/1337',
integrations: [Sentry.childProcessIntegration({ captureWorkerErrors: false })],
});
```
When `captureWorkerErrors: false`, a breadcrumb will be captured
instead.
This PR also adds more integration tests for the
`childProcessIntegration`.
…5062)
- Updates some cropping variable names to make it more clear that it's
only meant for cropping
- The pen tool button is improved in
#15102, which needs
to be merged first
- The drawing tool button needs to be "on" to annotate, but cropping can
happen at any time
- Once the button is "on", drawing happens on mouse down and mouse move,
and on mouse up, the drawing gets "squashed" onto the image. The
"squashing" can be moved to happen at a different time in a future PR if
we want to incorporate undo, selection, or erasing
- The experimental flag must be on to use annotations: `_experiments:
{annotations: true}`
https://github.com/user-attachments/assets/2fac5e56-5caf-454b-b8b3-afabbd2c31b9Closes#15064
---------
Co-authored-by: Ryan Albrecht <ryan.albrecht@sentry.io>
…ns (#15108)
Extracted this out of
#14955
Instead of registering a general hook & filtering there, we can just use
the `beforeSpanEnd` hook that we already have/use to do this instead.
Removes the `fetchProxyScriptNonce` and in turn simplifies our
`transformPageChunk` callback a bit.
@lforst
lforst requested review from a team as code ownersJanuary 22, 2025 13:36
@lforst

Copy link
Copy Markdown
ContributorAuthor

smol boi

@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.02 KBaddedadded
@sentry/browser - with treeshaking flags22.91 KBaddedadded
@sentry/browser (incl. Tracing)35.75 KBaddedadded
@sentry/browser (incl. Tracing, Replay)72.54 KBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags66.09 KBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)76.79 KBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)89.28 KBaddedadded
@sentry/browser (incl. Feedback)39.71 KBaddedadded
@sentry/browser (incl. sendFeedback)27.65 KBaddedadded
@sentry/browser (incl. FeedbackAsync)32.43 KBaddedadded
@sentry/react25.7 KBaddedadded
@sentry/react (incl. Tracing)38.52 KBaddedadded
@sentry/vue27.12 KBaddedadded
@sentry/vue (incl. Tracing)37.47 KBaddedadded
@sentry/svelte23.14 KBaddedadded
CDN Bundle24.24 KBaddedadded
CDN Bundle (incl. Tracing)35.88 KBaddedadded
CDN Bundle (incl. Tracing, Replay)70.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)75.64 KBaddedadded
CDN Bundle - uncompressed70.87 KBaddedadded
CDN Bundle (incl. Tracing) - uncompressed106.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed217.35 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed229.92 KBaddedadded
@sentry/nextjs (client)38.63 KBaddedadded
@sentry/sveltekit (client)36.26 KBaddedadded
@sentry/node156.35 KBaddedadded
@sentry/node - without tracing97.43 KBaddedadded
@sentry/aws-serverless106.9 KBaddedadded

Comment threadCHANGELOG.md

- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott

Work in this release was contributed by @tjhiggins, @GrizliK1988, @davidturissini, @nwalters512, @aloisklink, @arturovt, @benjick, @maximepvrt, @mstrokin, and @kunal-511. Thank you for your contributions!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

should we move this into the 9.0.0-alpha.0 section? Or wait till the full release?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I would wait for the full release!

@lforst
lforst merged commit 11277ed into masterJan 22, 2025
@lforst
lforst deleted the prepare-release/9.0.0-alpha.0 branch January 22, 2025 14:39
Sign up for freeto 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.

20 participants

@lforst@AbhiPrasad@antonis@mydea@andreiborza@maximepvrt@Lms24@HazAT@timfish@conor-ob@s1gr1d@aloisklink@arturovt@benjick@chargome@mjq@onurtemizkan@JonasBa@HHK1@nwalters512
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

meta(changelog): Update changelog for 9.0.0-alpha.0 - #15131

Merged
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0
Jan 22, 2025
Merged

meta(changelog): Update changelog for 9.0.0-alpha.0#15131
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0

Conversation

@lforst

Copy link
Copy Markdown
Contributor

No description provided.

antonisand others added 30 commits December 13, 2024 09:34
[Gitflow] Merge master into develop
Noticed that biome fix was failing on some stuff in the `.nuxt` folder
in E2E tests, so figured to add this as well (and while at it, also
ensure it is cleaned).
The v9 branch should not push to the v8 layer.
nitrojs/nitro#2703 fixed
---------
Co-authored-by: Sigrid Huemer <32902192+s1gr1d@users.noreply.github.com>
…w versions (#14707)
temporarily disables publishing a lambda layer while `develop`
is the branch where we cut v9 pre releases from. We shouldn't publish
prerelease layer versions since we can't mark these layers as
pre-release. They'd appear simply as stable new layer versions (with
incremented ARN number)
In order for us to have size-limit comparison etc, we need to ensure CI
runs on v8 & v9 branches too.
With this PR, the default value for the `spans` option in the
`httpIntegration` is changed to `false`, if `skipOpenTelemetrySetup:
true` is configured. This is what you'd expect as a user, you do not
want Sentry to register any OTEL instrumentation and emit any spans in
this scenario.
Closes#14675
…4711)
We should normalise all paths in ANR events if an appRoot path is
supplied. This is important for the Electron SDK where we normalise
around the app path to keep usernames out of reported events.
Adds a `maxAnrEvents` option to the ANR integration which allows you to
capture more than one event.
This change adds release name detection for Railway
Based on #12529
Related:
getsentry/sentry-javascript-bundler-plugins#639
I was playing around with finally enabling the
[no-unnecessary-condition](https://typescript-eslint.io/rules/no-unnecessary-condition/)
eslint rule, and figured to start fixing some of the stuff it found.
These should mostly be straightforward things, or in some cases I
adjusted tests to ensure we "correctly" check for stuff.
We had some elaborate check in there for `window.history` which is based
on very old (~2016) issues, which should not be an issue anymore in
versions we support today. So we can streamline this quite a bit!
Additionally, I also rewrote code that used `window.onpushstate` to
instead of `window.addEventListener('pushstate')`, plus also added code
to ensure we do not emit history changes multiple times, which may be
possible (?).
Previously `spanToJSON` would return `Partial<SpanJSON>`. This meant
that you always had to guard all the stuff you picked from it - even
though in reality, we know that certain stuff will always be there.
To alleviate this, this PR changes this so that `spanToJSON` actually
returns `SpanJSON`. This means that in the fallback case, we return
`data: {}`, as well as a random (current) timestamp. Since we know that
in reality we will only have the two scenarios that we properly handle,
this is fine IMHO and makes usage of this everywhere else a little bit
less painful.
In a follow up, we can get rid of a bunch of `const data =
spanToJSON(span).data || {}` type code.
While at it, I also updated the type of `data` to `SpanAttributes`,
which is correct (it was `Record<string, any>` before). Since we only
allow span attributes to be set on this anyhow now, we can type this
better. This also uncovered a few places with slightly "incorrect" type
checks, I updated those too.
This change is on the v9 branch - I think it should not really be
breaking to a user in any way, as we simply return more data from
`spanToJSON`, and type what `data` is on there more tightly, so no
existing code relying on this should break. But to be safe, I figured we
may as well do that on v9 only.
I do not really think this is breaking or has any impact on any user
code, but to be on the safe side, we can remove this in v9.
The one actual breaking thing is to also move the `encodePolyfill` /
`decodePolyfill` code to the versioned carrier - this was before still
on the global, making this a bit harder than necessary. In v9, this will
have to be set on the versioned carrier the same as other things - cc
@krystofwoldrich
Extracted out from
#14721
Today, we inline all the types into `deno/build/index.d.ts`. This used
to work "OK" previously, where all the types came from `@sentry/types`
and where thus all "simple types".
If we want to replace some of this with actual classes, e.g. `Scope` or
`Client` classes, this starts to fail, because now we have separate
definitions that do not match.
So to fix this, we now stop inlining all the types, but instead
re-export them from `@sentry/core`. While at this, I also updated the
test setup to ignore utils/types and just use core for everything.
With this change, `deno/build/index.d.ts` looks something like this:
```ts
import * as _sentry_core from '@sentry/core';
import { BaseTransportOptions, Options, TracePropagationTargets, ClientOptions, ServerRuntimeClient, Integration, Client } from '@sentry/core';
export { ... } from '@sentry/core';
// additional types from deno go here...
```
I do not _think_ this should be breaking, but 🤷 hard to say for sure
with these things.
Add `Sentry.updateSpanName()` to reliably update span
names in OpenTelemetry environments; prevents overwrites from both
OpenTelemetry HTTP instrumentation and Sentry's span inference logic;
preserves custom names by marking them with 'custom' source and storing
in temp field which takes precedence over the actual name and gets
deleted at the end
Because this config was added to the `includes`, the types were moved to
a subdirectory.
fixes#14732
tjhigginsand others added 18 commits January 21, 2025 09:30
The previous code was using fastify `request.routeOptions.method` which
is all methods the current route supports - not the current request
method.
Ex. `@All()` nestjs decorator `request.routeOptions.method = ['GET',
'POST', 'HEAD', ...]`
- Added a test for `@All()`
- Updated instances of fastify request to use `request.method` which
matches express
---------
Co-authored-by: Charly Gomez <charly.gomez@sentry.io>
This PR adds the external contributor to the CHANGELOG.md file, so that
they are credited for their contribution. See #15066
---------
Co-authored-by: chargome <20254395+chargome@users.noreply.github.com>
Co-authored-by: Francesco Gringl-Novy <francesco.novy@sentry.io>
Updates the `childProcessIntegration` to capture `worker_threads` errors
(including their stack traces) rather than capturing a breadcrumb.
This features is enabled by default and can be disabled by setting the
`captureWorkerErrors` option to `false`:
```ts
Sentry.init({
dsn: 'https://public@dsn.ingest.sentry.io/1337',
integrations: [Sentry.childProcessIntegration({ captureWorkerErrors: false })],
});
```
When `captureWorkerErrors: false`, a breadcrumb will be captured
instead.
This PR also adds more integration tests for the
`childProcessIntegration`.
…5062)
- Updates some cropping variable names to make it more clear that it's
only meant for cropping
- The pen tool button is improved in
#15102, which needs
to be merged first
- The drawing tool button needs to be "on" to annotate, but cropping can
happen at any time
- Once the button is "on", drawing happens on mouse down and mouse move,
and on mouse up, the drawing gets "squashed" onto the image. The
"squashing" can be moved to happen at a different time in a future PR if
we want to incorporate undo, selection, or erasing
- The experimental flag must be on to use annotations: `_experiments:
{annotations: true}`
https://github.com/user-attachments/assets/2fac5e56-5caf-454b-b8b3-afabbd2c31b9Closes#15064
---------
Co-authored-by: Ryan Albrecht <ryan.albrecht@sentry.io>
…ns (#15108)
Extracted this out of
#14955
Instead of registering a general hook & filtering there, we can just use
the `beforeSpanEnd` hook that we already have/use to do this instead.
Removes the `fetchProxyScriptNonce` and in turn simplifies our
`transformPageChunk` callback a bit.
@lforst
lforst requested review from a team as code ownersJanuary 22, 2025 13:36
@lforst

Copy link
Copy Markdown
ContributorAuthor

smol boi

@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.02 KBaddedadded
@sentry/browser - with treeshaking flags22.91 KBaddedadded
@sentry/browser (incl. Tracing)35.75 KBaddedadded
@sentry/browser (incl. Tracing, Replay)72.54 KBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags66.09 KBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)76.79 KBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)89.28 KBaddedadded
@sentry/browser (incl. Feedback)39.71 KBaddedadded
@sentry/browser (incl. sendFeedback)27.65 KBaddedadded
@sentry/browser (incl. FeedbackAsync)32.43 KBaddedadded
@sentry/react25.7 KBaddedadded
@sentry/react (incl. Tracing)38.52 KBaddedadded
@sentry/vue27.12 KBaddedadded
@sentry/vue (incl. Tracing)37.47 KBaddedadded
@sentry/svelte23.14 KBaddedadded
CDN Bundle24.24 KBaddedadded
CDN Bundle (incl. Tracing)35.88 KBaddedadded
CDN Bundle (incl. Tracing, Replay)70.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)75.64 KBaddedadded
CDN Bundle - uncompressed70.87 KBaddedadded
CDN Bundle (incl. Tracing) - uncompressed106.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed217.35 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed229.92 KBaddedadded
@sentry/nextjs (client)38.63 KBaddedadded
@sentry/sveltekit (client)36.26 KBaddedadded
@sentry/node156.35 KBaddedadded
@sentry/node - without tracing97.43 KBaddedadded
@sentry/aws-serverless106.9 KBaddedadded

Comment threadCHANGELOG.md

- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott

Work in this release was contributed by @tjhiggins, @GrizliK1988, @davidturissini, @nwalters512, @aloisklink, @arturovt, @benjick, @maximepvrt, @mstrokin, and @kunal-511. Thank you for your contributions!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

should we move this into the 9.0.0-alpha.0 section? Or wait till the full release?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I would wait for the full release!

@lforst
lforst merged commit 11277ed into masterJan 22, 2025
@lforst
lforst deleted the prepare-release/9.0.0-alpha.0 branch January 22, 2025 14:39
Sign up for freeto 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.

20 participants

@lforst@AbhiPrasad@antonis@mydea@andreiborza@maximepvrt@Lms24@HazAT@timfish@conor-ob@s1gr1d@aloisklink@arturovt@benjick@chargome@mjq@onurtemizkan@JonasBa@HHK1@nwalters512
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

meta(changelog): Update changelog for 9.0.0-alpha.0 - #15131

Merged
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0
Jan 22, 2025
Merged

meta(changelog): Update changelog for 9.0.0-alpha.0#15131
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0

Conversation

@lforst

Copy link
Copy Markdown
Contributor

No description provided.

antonisand others added 30 commits December 13, 2024 09:34
[Gitflow] Merge master into develop
Noticed that biome fix was failing on some stuff in the `.nuxt` folder
in E2E tests, so figured to add this as well (and while at it, also
ensure it is cleaned).
The v9 branch should not push to the v8 layer.
nitrojs/nitro#2703 fixed
---------
Co-authored-by: Sigrid Huemer <32902192+s1gr1d@users.noreply.github.com>
…w versions (#14707)
temporarily disables publishing a lambda layer while `develop`
is the branch where we cut v9 pre releases from. We shouldn't publish
prerelease layer versions since we can't mark these layers as
pre-release. They'd appear simply as stable new layer versions (with
incremented ARN number)
In order for us to have size-limit comparison etc, we need to ensure CI
runs on v8 & v9 branches too.
With this PR, the default value for the `spans` option in the
`httpIntegration` is changed to `false`, if `skipOpenTelemetrySetup:
true` is configured. This is what you'd expect as a user, you do not
want Sentry to register any OTEL instrumentation and emit any spans in
this scenario.
Closes#14675
…4711)
We should normalise all paths in ANR events if an appRoot path is
supplied. This is important for the Electron SDK where we normalise
around the app path to keep usernames out of reported events.
Adds a `maxAnrEvents` option to the ANR integration which allows you to
capture more than one event.
This change adds release name detection for Railway
Based on #12529
Related:
getsentry/sentry-javascript-bundler-plugins#639
I was playing around with finally enabling the
[no-unnecessary-condition](https://typescript-eslint.io/rules/no-unnecessary-condition/)
eslint rule, and figured to start fixing some of the stuff it found.
These should mostly be straightforward things, or in some cases I
adjusted tests to ensure we "correctly" check for stuff.
We had some elaborate check in there for `window.history` which is based
on very old (~2016) issues, which should not be an issue anymore in
versions we support today. So we can streamline this quite a bit!
Additionally, I also rewrote code that used `window.onpushstate` to
instead of `window.addEventListener('pushstate')`, plus also added code
to ensure we do not emit history changes multiple times, which may be
possible (?).
Previously `spanToJSON` would return `Partial<SpanJSON>`. This meant
that you always had to guard all the stuff you picked from it - even
though in reality, we know that certain stuff will always be there.
To alleviate this, this PR changes this so that `spanToJSON` actually
returns `SpanJSON`. This means that in the fallback case, we return
`data: {}`, as well as a random (current) timestamp. Since we know that
in reality we will only have the two scenarios that we properly handle,
this is fine IMHO and makes usage of this everywhere else a little bit
less painful.
In a follow up, we can get rid of a bunch of `const data =
spanToJSON(span).data || {}` type code.
While at it, I also updated the type of `data` to `SpanAttributes`,
which is correct (it was `Record<string, any>` before). Since we only
allow span attributes to be set on this anyhow now, we can type this
better. This also uncovered a few places with slightly "incorrect" type
checks, I updated those too.
This change is on the v9 branch - I think it should not really be
breaking to a user in any way, as we simply return more data from
`spanToJSON`, and type what `data` is on there more tightly, so no
existing code relying on this should break. But to be safe, I figured we
may as well do that on v9 only.
I do not really think this is breaking or has any impact on any user
code, but to be on the safe side, we can remove this in v9.
The one actual breaking thing is to also move the `encodePolyfill` /
`decodePolyfill` code to the versioned carrier - this was before still
on the global, making this a bit harder than necessary. In v9, this will
have to be set on the versioned carrier the same as other things - cc
@krystofwoldrich
Extracted out from
#14721
Today, we inline all the types into `deno/build/index.d.ts`. This used
to work "OK" previously, where all the types came from `@sentry/types`
and where thus all "simple types".
If we want to replace some of this with actual classes, e.g. `Scope` or
`Client` classes, this starts to fail, because now we have separate
definitions that do not match.
So to fix this, we now stop inlining all the types, but instead
re-export them from `@sentry/core`. While at this, I also updated the
test setup to ignore utils/types and just use core for everything.
With this change, `deno/build/index.d.ts` looks something like this:
```ts
import * as _sentry_core from '@sentry/core';
import { BaseTransportOptions, Options, TracePropagationTargets, ClientOptions, ServerRuntimeClient, Integration, Client } from '@sentry/core';
export { ... } from '@sentry/core';
// additional types from deno go here...
```
I do not _think_ this should be breaking, but 🤷 hard to say for sure
with these things.
Add `Sentry.updateSpanName()` to reliably update span
names in OpenTelemetry environments; prevents overwrites from both
OpenTelemetry HTTP instrumentation and Sentry's span inference logic;
preserves custom names by marking them with 'custom' source and storing
in temp field which takes precedence over the actual name and gets
deleted at the end
Because this config was added to the `includes`, the types were moved to
a subdirectory.
fixes#14732
tjhigginsand others added 18 commits January 21, 2025 09:30
The previous code was using fastify `request.routeOptions.method` which
is all methods the current route supports - not the current request
method.
Ex. `@All()` nestjs decorator `request.routeOptions.method = ['GET',
'POST', 'HEAD', ...]`
- Added a test for `@All()`
- Updated instances of fastify request to use `request.method` which
matches express
---------
Co-authored-by: Charly Gomez <charly.gomez@sentry.io>
This PR adds the external contributor to the CHANGELOG.md file, so that
they are credited for their contribution. See #15066
---------
Co-authored-by: chargome <20254395+chargome@users.noreply.github.com>
Co-authored-by: Francesco Gringl-Novy <francesco.novy@sentry.io>
Updates the `childProcessIntegration` to capture `worker_threads` errors
(including their stack traces) rather than capturing a breadcrumb.
This features is enabled by default and can be disabled by setting the
`captureWorkerErrors` option to `false`:
```ts
Sentry.init({
dsn: 'https://public@dsn.ingest.sentry.io/1337',
integrations: [Sentry.childProcessIntegration({ captureWorkerErrors: false })],
});
```
When `captureWorkerErrors: false`, a breadcrumb will be captured
instead.
This PR also adds more integration tests for the
`childProcessIntegration`.
…5062)
- Updates some cropping variable names to make it more clear that it's
only meant for cropping
- The pen tool button is improved in
#15102, which needs
to be merged first
- The drawing tool button needs to be "on" to annotate, but cropping can
happen at any time
- Once the button is "on", drawing happens on mouse down and mouse move,
and on mouse up, the drawing gets "squashed" onto the image. The
"squashing" can be moved to happen at a different time in a future PR if
we want to incorporate undo, selection, or erasing
- The experimental flag must be on to use annotations: `_experiments:
{annotations: true}`
https://github.com/user-attachments/assets/2fac5e56-5caf-454b-b8b3-afabbd2c31b9Closes#15064
---------
Co-authored-by: Ryan Albrecht <ryan.albrecht@sentry.io>
…ns (#15108)
Extracted this out of
#14955
Instead of registering a general hook & filtering there, we can just use
the `beforeSpanEnd` hook that we already have/use to do this instead.
Removes the `fetchProxyScriptNonce` and in turn simplifies our
`transformPageChunk` callback a bit.
@lforst
lforst requested review from a team as code ownersJanuary 22, 2025 13:36
@lforst

Copy link
Copy Markdown
ContributorAuthor

smol boi

@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.02 KBaddedadded
@sentry/browser - with treeshaking flags22.91 KBaddedadded
@sentry/browser (incl. Tracing)35.75 KBaddedadded
@sentry/browser (incl. Tracing, Replay)72.54 KBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags66.09 KBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)76.79 KBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)89.28 KBaddedadded
@sentry/browser (incl. Feedback)39.71 KBaddedadded
@sentry/browser (incl. sendFeedback)27.65 KBaddedadded
@sentry/browser (incl. FeedbackAsync)32.43 KBaddedadded
@sentry/react25.7 KBaddedadded
@sentry/react (incl. Tracing)38.52 KBaddedadded
@sentry/vue27.12 KBaddedadded
@sentry/vue (incl. Tracing)37.47 KBaddedadded
@sentry/svelte23.14 KBaddedadded
CDN Bundle24.24 KBaddedadded
CDN Bundle (incl. Tracing)35.88 KBaddedadded
CDN Bundle (incl. Tracing, Replay)70.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)75.64 KBaddedadded
CDN Bundle - uncompressed70.87 KBaddedadded
CDN Bundle (incl. Tracing) - uncompressed106.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed217.35 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed229.92 KBaddedadded
@sentry/nextjs (client)38.63 KBaddedadded
@sentry/sveltekit (client)36.26 KBaddedadded
@sentry/node156.35 KBaddedadded
@sentry/node - without tracing97.43 KBaddedadded
@sentry/aws-serverless106.9 KBaddedadded

Comment threadCHANGELOG.md

- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott

Work in this release was contributed by @tjhiggins, @GrizliK1988, @davidturissini, @nwalters512, @aloisklink, @arturovt, @benjick, @maximepvrt, @mstrokin, and @kunal-511. Thank you for your contributions!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

should we move this into the 9.0.0-alpha.0 section? Or wait till the full release?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I would wait for the full release!

@lforst
lforst merged commit 11277ed into masterJan 22, 2025
@lforst
lforst deleted the prepare-release/9.0.0-alpha.0 branch January 22, 2025 14:39
Sign up for freeto 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.

20 participants

@lforst@AbhiPrasad@antonis@mydea@andreiborza@maximepvrt@Lms24@HazAT@timfish@conor-ob@s1gr1d@aloisklink@arturovt@benjick@chargome@mjq@onurtemizkan@JonasBa@HHK1@nwalters512
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

meta(changelog): Update changelog for 9.0.0-alpha.0 - #15131

Merged
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0
Jan 22, 2025
Merged

meta(changelog): Update changelog for 9.0.0-alpha.0#15131
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0

Conversation

@lforst

Copy link
Copy Markdown
Contributor

No description provided.

antonisand others added 30 commits December 13, 2024 09:34
[Gitflow] Merge master into develop
Noticed that biome fix was failing on some stuff in the `.nuxt` folder
in E2E tests, so figured to add this as well (and while at it, also
ensure it is cleaned).
The v9 branch should not push to the v8 layer.
nitrojs/nitro#2703 fixed
---------
Co-authored-by: Sigrid Huemer <32902192+s1gr1d@users.noreply.github.com>
…w versions (#14707)
temporarily disables publishing a lambda layer while `develop`
is the branch where we cut v9 pre releases from. We shouldn't publish
prerelease layer versions since we can't mark these layers as
pre-release. They'd appear simply as stable new layer versions (with
incremented ARN number)
In order for us to have size-limit comparison etc, we need to ensure CI
runs on v8 & v9 branches too.
With this PR, the default value for the `spans` option in the
`httpIntegration` is changed to `false`, if `skipOpenTelemetrySetup:
true` is configured. This is what you'd expect as a user, you do not
want Sentry to register any OTEL instrumentation and emit any spans in
this scenario.
Closes#14675
…4711)
We should normalise all paths in ANR events if an appRoot path is
supplied. This is important for the Electron SDK where we normalise
around the app path to keep usernames out of reported events.
Adds a `maxAnrEvents` option to the ANR integration which allows you to
capture more than one event.
This change adds release name detection for Railway
Based on #12529
Related:
getsentry/sentry-javascript-bundler-plugins#639
I was playing around with finally enabling the
[no-unnecessary-condition](https://typescript-eslint.io/rules/no-unnecessary-condition/)
eslint rule, and figured to start fixing some of the stuff it found.
These should mostly be straightforward things, or in some cases I
adjusted tests to ensure we "correctly" check for stuff.
We had some elaborate check in there for `window.history` which is based
on very old (~2016) issues, which should not be an issue anymore in
versions we support today. So we can streamline this quite a bit!
Additionally, I also rewrote code that used `window.onpushstate` to
instead of `window.addEventListener('pushstate')`, plus also added code
to ensure we do not emit history changes multiple times, which may be
possible (?).
Previously `spanToJSON` would return `Partial<SpanJSON>`. This meant
that you always had to guard all the stuff you picked from it - even
though in reality, we know that certain stuff will always be there.
To alleviate this, this PR changes this so that `spanToJSON` actually
returns `SpanJSON`. This means that in the fallback case, we return
`data: {}`, as well as a random (current) timestamp. Since we know that
in reality we will only have the two scenarios that we properly handle,
this is fine IMHO and makes usage of this everywhere else a little bit
less painful.
In a follow up, we can get rid of a bunch of `const data =
spanToJSON(span).data || {}` type code.
While at it, I also updated the type of `data` to `SpanAttributes`,
which is correct (it was `Record<string, any>` before). Since we only
allow span attributes to be set on this anyhow now, we can type this
better. This also uncovered a few places with slightly "incorrect" type
checks, I updated those too.
This change is on the v9 branch - I think it should not really be
breaking to a user in any way, as we simply return more data from
`spanToJSON`, and type what `data` is on there more tightly, so no
existing code relying on this should break. But to be safe, I figured we
may as well do that on v9 only.
I do not really think this is breaking or has any impact on any user
code, but to be on the safe side, we can remove this in v9.
The one actual breaking thing is to also move the `encodePolyfill` /
`decodePolyfill` code to the versioned carrier - this was before still
on the global, making this a bit harder than necessary. In v9, this will
have to be set on the versioned carrier the same as other things - cc
@krystofwoldrich
Extracted out from
#14721
Today, we inline all the types into `deno/build/index.d.ts`. This used
to work "OK" previously, where all the types came from `@sentry/types`
and where thus all "simple types".
If we want to replace some of this with actual classes, e.g. `Scope` or
`Client` classes, this starts to fail, because now we have separate
definitions that do not match.
So to fix this, we now stop inlining all the types, but instead
re-export them from `@sentry/core`. While at this, I also updated the
test setup to ignore utils/types and just use core for everything.
With this change, `deno/build/index.d.ts` looks something like this:
```ts
import * as _sentry_core from '@sentry/core';
import { BaseTransportOptions, Options, TracePropagationTargets, ClientOptions, ServerRuntimeClient, Integration, Client } from '@sentry/core';
export { ... } from '@sentry/core';
// additional types from deno go here...
```
I do not _think_ this should be breaking, but 🤷 hard to say for sure
with these things.
Add `Sentry.updateSpanName()` to reliably update span
names in OpenTelemetry environments; prevents overwrites from both
OpenTelemetry HTTP instrumentation and Sentry's span inference logic;
preserves custom names by marking them with 'custom' source and storing
in temp field which takes precedence over the actual name and gets
deleted at the end
Because this config was added to the `includes`, the types were moved to
a subdirectory.
fixes#14732
tjhigginsand others added 18 commits January 21, 2025 09:30
The previous code was using fastify `request.routeOptions.method` which
is all methods the current route supports - not the current request
method.
Ex. `@All()` nestjs decorator `request.routeOptions.method = ['GET',
'POST', 'HEAD', ...]`
- Added a test for `@All()`
- Updated instances of fastify request to use `request.method` which
matches express
---------
Co-authored-by: Charly Gomez <charly.gomez@sentry.io>
This PR adds the external contributor to the CHANGELOG.md file, so that
they are credited for their contribution. See #15066
---------
Co-authored-by: chargome <20254395+chargome@users.noreply.github.com>
Co-authored-by: Francesco Gringl-Novy <francesco.novy@sentry.io>
Updates the `childProcessIntegration` to capture `worker_threads` errors
(including their stack traces) rather than capturing a breadcrumb.
This features is enabled by default and can be disabled by setting the
`captureWorkerErrors` option to `false`:
```ts
Sentry.init({
dsn: 'https://public@dsn.ingest.sentry.io/1337',
integrations: [Sentry.childProcessIntegration({ captureWorkerErrors: false })],
});
```
When `captureWorkerErrors: false`, a breadcrumb will be captured
instead.
This PR also adds more integration tests for the
`childProcessIntegration`.
…5062)
- Updates some cropping variable names to make it more clear that it's
only meant for cropping
- The pen tool button is improved in
#15102, which needs
to be merged first
- The drawing tool button needs to be "on" to annotate, but cropping can
happen at any time
- Once the button is "on", drawing happens on mouse down and mouse move,
and on mouse up, the drawing gets "squashed" onto the image. The
"squashing" can be moved to happen at a different time in a future PR if
we want to incorporate undo, selection, or erasing
- The experimental flag must be on to use annotations: `_experiments:
{annotations: true}`
https://github.com/user-attachments/assets/2fac5e56-5caf-454b-b8b3-afabbd2c31b9Closes#15064
---------
Co-authored-by: Ryan Albrecht <ryan.albrecht@sentry.io>
…ns (#15108)
Extracted this out of
#14955
Instead of registering a general hook & filtering there, we can just use
the `beforeSpanEnd` hook that we already have/use to do this instead.
Removes the `fetchProxyScriptNonce` and in turn simplifies our
`transformPageChunk` callback a bit.
@lforst
lforst requested review from a team as code ownersJanuary 22, 2025 13:36
@lforst

Copy link
Copy Markdown
ContributorAuthor

smol boi

@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.02 KBaddedadded
@sentry/browser - with treeshaking flags22.91 KBaddedadded
@sentry/browser (incl. Tracing)35.75 KBaddedadded
@sentry/browser (incl. Tracing, Replay)72.54 KBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags66.09 KBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)76.79 KBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)89.28 KBaddedadded
@sentry/browser (incl. Feedback)39.71 KBaddedadded
@sentry/browser (incl. sendFeedback)27.65 KBaddedadded
@sentry/browser (incl. FeedbackAsync)32.43 KBaddedadded
@sentry/react25.7 KBaddedadded
@sentry/react (incl. Tracing)38.52 KBaddedadded
@sentry/vue27.12 KBaddedadded
@sentry/vue (incl. Tracing)37.47 KBaddedadded
@sentry/svelte23.14 KBaddedadded
CDN Bundle24.24 KBaddedadded
CDN Bundle (incl. Tracing)35.88 KBaddedadded
CDN Bundle (incl. Tracing, Replay)70.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)75.64 KBaddedadded
CDN Bundle - uncompressed70.87 KBaddedadded
CDN Bundle (incl. Tracing) - uncompressed106.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed217.35 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed229.92 KBaddedadded
@sentry/nextjs (client)38.63 KBaddedadded
@sentry/sveltekit (client)36.26 KBaddedadded
@sentry/node156.35 KBaddedadded
@sentry/node - without tracing97.43 KBaddedadded
@sentry/aws-serverless106.9 KBaddedadded

Comment threadCHANGELOG.md

- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott

Work in this release was contributed by @tjhiggins, @GrizliK1988, @davidturissini, @nwalters512, @aloisklink, @arturovt, @benjick, @maximepvrt, @mstrokin, and @kunal-511. Thank you for your contributions!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

should we move this into the 9.0.0-alpha.0 section? Or wait till the full release?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I would wait for the full release!

@lforst
lforst merged commit 11277ed into masterJan 22, 2025
@lforst
lforst deleted the prepare-release/9.0.0-alpha.0 branch January 22, 2025 14:39
Sign up for freeto 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.

20 participants

@lforst@AbhiPrasad@antonis@mydea@andreiborza@maximepvrt@Lms24@HazAT@timfish@conor-ob@s1gr1d@aloisklink@arturovt@benjick@chargome@mjq@onurtemizkan@JonasBa@HHK1@nwalters512
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

meta(changelog): Update changelog for 9.0.0-alpha.0 - #15131

Merged
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0
Jan 22, 2025
Merged

meta(changelog): Update changelog for 9.0.0-alpha.0#15131
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0

Conversation

@lforst

Copy link
Copy Markdown
Contributor

No description provided.

antonisand others added 30 commits December 13, 2024 09:34
[Gitflow] Merge master into develop
Noticed that biome fix was failing on some stuff in the `.nuxt` folder
in E2E tests, so figured to add this as well (and while at it, also
ensure it is cleaned).
The v9 branch should not push to the v8 layer.
nitrojs/nitro#2703 fixed
---------
Co-authored-by: Sigrid Huemer <32902192+s1gr1d@users.noreply.github.com>
…w versions (#14707)
temporarily disables publishing a lambda layer while `develop`
is the branch where we cut v9 pre releases from. We shouldn't publish
prerelease layer versions since we can't mark these layers as
pre-release. They'd appear simply as stable new layer versions (with
incremented ARN number)
In order for us to have size-limit comparison etc, we need to ensure CI
runs on v8 & v9 branches too.
With this PR, the default value for the `spans` option in the
`httpIntegration` is changed to `false`, if `skipOpenTelemetrySetup:
true` is configured. This is what you'd expect as a user, you do not
want Sentry to register any OTEL instrumentation and emit any spans in
this scenario.
Closes#14675
…4711)
We should normalise all paths in ANR events if an appRoot path is
supplied. This is important for the Electron SDK where we normalise
around the app path to keep usernames out of reported events.
Adds a `maxAnrEvents` option to the ANR integration which allows you to
capture more than one event.
This change adds release name detection for Railway
Based on #12529
Related:
getsentry/sentry-javascript-bundler-plugins#639
I was playing around with finally enabling the
[no-unnecessary-condition](https://typescript-eslint.io/rules/no-unnecessary-condition/)
eslint rule, and figured to start fixing some of the stuff it found.
These should mostly be straightforward things, or in some cases I
adjusted tests to ensure we "correctly" check for stuff.
We had some elaborate check in there for `window.history` which is based
on very old (~2016) issues, which should not be an issue anymore in
versions we support today. So we can streamline this quite a bit!
Additionally, I also rewrote code that used `window.onpushstate` to
instead of `window.addEventListener('pushstate')`, plus also added code
to ensure we do not emit history changes multiple times, which may be
possible (?).
Previously `spanToJSON` would return `Partial<SpanJSON>`. This meant
that you always had to guard all the stuff you picked from it - even
though in reality, we know that certain stuff will always be there.
To alleviate this, this PR changes this so that `spanToJSON` actually
returns `SpanJSON`. This means that in the fallback case, we return
`data: {}`, as well as a random (current) timestamp. Since we know that
in reality we will only have the two scenarios that we properly handle,
this is fine IMHO and makes usage of this everywhere else a little bit
less painful.
In a follow up, we can get rid of a bunch of `const data =
spanToJSON(span).data || {}` type code.
While at it, I also updated the type of `data` to `SpanAttributes`,
which is correct (it was `Record<string, any>` before). Since we only
allow span attributes to be set on this anyhow now, we can type this
better. This also uncovered a few places with slightly "incorrect" type
checks, I updated those too.
This change is on the v9 branch - I think it should not really be
breaking to a user in any way, as we simply return more data from
`spanToJSON`, and type what `data` is on there more tightly, so no
existing code relying on this should break. But to be safe, I figured we
may as well do that on v9 only.
I do not really think this is breaking or has any impact on any user
code, but to be on the safe side, we can remove this in v9.
The one actual breaking thing is to also move the `encodePolyfill` /
`decodePolyfill` code to the versioned carrier - this was before still
on the global, making this a bit harder than necessary. In v9, this will
have to be set on the versioned carrier the same as other things - cc
@krystofwoldrich
Extracted out from
#14721
Today, we inline all the types into `deno/build/index.d.ts`. This used
to work "OK" previously, where all the types came from `@sentry/types`
and where thus all "simple types".
If we want to replace some of this with actual classes, e.g. `Scope` or
`Client` classes, this starts to fail, because now we have separate
definitions that do not match.
So to fix this, we now stop inlining all the types, but instead
re-export them from `@sentry/core`. While at this, I also updated the
test setup to ignore utils/types and just use core for everything.
With this change, `deno/build/index.d.ts` looks something like this:
```ts
import * as _sentry_core from '@sentry/core';
import { BaseTransportOptions, Options, TracePropagationTargets, ClientOptions, ServerRuntimeClient, Integration, Client } from '@sentry/core';
export { ... } from '@sentry/core';
// additional types from deno go here...
```
I do not _think_ this should be breaking, but 🤷 hard to say for sure
with these things.
Add `Sentry.updateSpanName()` to reliably update span
names in OpenTelemetry environments; prevents overwrites from both
OpenTelemetry HTTP instrumentation and Sentry's span inference logic;
preserves custom names by marking them with 'custom' source and storing
in temp field which takes precedence over the actual name and gets
deleted at the end
Because this config was added to the `includes`, the types were moved to
a subdirectory.
fixes#14732
tjhigginsand others added 18 commits January 21, 2025 09:30
The previous code was using fastify `request.routeOptions.method` which
is all methods the current route supports - not the current request
method.
Ex. `@All()` nestjs decorator `request.routeOptions.method = ['GET',
'POST', 'HEAD', ...]`
- Added a test for `@All()`
- Updated instances of fastify request to use `request.method` which
matches express
---------
Co-authored-by: Charly Gomez <charly.gomez@sentry.io>
This PR adds the external contributor to the CHANGELOG.md file, so that
they are credited for their contribution. See #15066
---------
Co-authored-by: chargome <20254395+chargome@users.noreply.github.com>
Co-authored-by: Francesco Gringl-Novy <francesco.novy@sentry.io>
Updates the `childProcessIntegration` to capture `worker_threads` errors
(including their stack traces) rather than capturing a breadcrumb.
This features is enabled by default and can be disabled by setting the
`captureWorkerErrors` option to `false`:
```ts
Sentry.init({
dsn: 'https://public@dsn.ingest.sentry.io/1337',
integrations: [Sentry.childProcessIntegration({ captureWorkerErrors: false })],
});
```
When `captureWorkerErrors: false`, a breadcrumb will be captured
instead.
This PR also adds more integration tests for the
`childProcessIntegration`.
…5062)
- Updates some cropping variable names to make it more clear that it's
only meant for cropping
- The pen tool button is improved in
#15102, which needs
to be merged first
- The drawing tool button needs to be "on" to annotate, but cropping can
happen at any time
- Once the button is "on", drawing happens on mouse down and mouse move,
and on mouse up, the drawing gets "squashed" onto the image. The
"squashing" can be moved to happen at a different time in a future PR if
we want to incorporate undo, selection, or erasing
- The experimental flag must be on to use annotations: `_experiments:
{annotations: true}`
https://github.com/user-attachments/assets/2fac5e56-5caf-454b-b8b3-afabbd2c31b9Closes#15064
---------
Co-authored-by: Ryan Albrecht <ryan.albrecht@sentry.io>
…ns (#15108)
Extracted this out of
#14955
Instead of registering a general hook & filtering there, we can just use
the `beforeSpanEnd` hook that we already have/use to do this instead.
Removes the `fetchProxyScriptNonce` and in turn simplifies our
`transformPageChunk` callback a bit.
@lforst
lforst requested review from a team as code ownersJanuary 22, 2025 13:36
@lforst

Copy link
Copy Markdown
ContributorAuthor

smol boi

@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.02 KBaddedadded
@sentry/browser - with treeshaking flags22.91 KBaddedadded
@sentry/browser (incl. Tracing)35.75 KBaddedadded
@sentry/browser (incl. Tracing, Replay)72.54 KBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags66.09 KBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)76.79 KBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)89.28 KBaddedadded
@sentry/browser (incl. Feedback)39.71 KBaddedadded
@sentry/browser (incl. sendFeedback)27.65 KBaddedadded
@sentry/browser (incl. FeedbackAsync)32.43 KBaddedadded
@sentry/react25.7 KBaddedadded
@sentry/react (incl. Tracing)38.52 KBaddedadded
@sentry/vue27.12 KBaddedadded
@sentry/vue (incl. Tracing)37.47 KBaddedadded
@sentry/svelte23.14 KBaddedadded
CDN Bundle24.24 KBaddedadded
CDN Bundle (incl. Tracing)35.88 KBaddedadded
CDN Bundle (incl. Tracing, Replay)70.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)75.64 KBaddedadded
CDN Bundle - uncompressed70.87 KBaddedadded
CDN Bundle (incl. Tracing) - uncompressed106.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed217.35 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed229.92 KBaddedadded
@sentry/nextjs (client)38.63 KBaddedadded
@sentry/sveltekit (client)36.26 KBaddedadded
@sentry/node156.35 KBaddedadded
@sentry/node - without tracing97.43 KBaddedadded
@sentry/aws-serverless106.9 KBaddedadded

Comment threadCHANGELOG.md

- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott

Work in this release was contributed by @tjhiggins, @GrizliK1988, @davidturissini, @nwalters512, @aloisklink, @arturovt, @benjick, @maximepvrt, @mstrokin, and @kunal-511. Thank you for your contributions!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

should we move this into the 9.0.0-alpha.0 section? Or wait till the full release?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I would wait for the full release!

@lforst
lforst merged commit 11277ed into masterJan 22, 2025
@lforst
lforst deleted the prepare-release/9.0.0-alpha.0 branch January 22, 2025 14:39
Sign up for freeto 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.

20 participants

@lforst@AbhiPrasad@antonis@mydea@andreiborza@maximepvrt@Lms24@HazAT@timfish@conor-ob@s1gr1d@aloisklink@arturovt@benjick@chargome@mjq@onurtemizkan@JonasBa@HHK1@nwalters512
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

meta(changelog): Update changelog for 9.0.0-alpha.0 - #15131

Merged
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0
Jan 22, 2025
Merged

meta(changelog): Update changelog for 9.0.0-alpha.0#15131
lforst merged 213 commits into
masterfrom
prepare-release/9.0.0-alpha.0

Conversation

@lforst

Copy link
Copy Markdown
Contributor

No description provided.

antonisand others added 30 commits December 13, 2024 09:34
[Gitflow] Merge master into develop
Noticed that biome fix was failing on some stuff in the `.nuxt` folder
in E2E tests, so figured to add this as well (and while at it, also
ensure it is cleaned).
The v9 branch should not push to the v8 layer.
nitrojs/nitro#2703 fixed
---------
Co-authored-by: Sigrid Huemer <32902192+s1gr1d@users.noreply.github.com>
…w versions (#14707)
temporarily disables publishing a lambda layer while `develop`
is the branch where we cut v9 pre releases from. We shouldn't publish
prerelease layer versions since we can't mark these layers as
pre-release. They'd appear simply as stable new layer versions (with
incremented ARN number)
In order for us to have size-limit comparison etc, we need to ensure CI
runs on v8 & v9 branches too.
With this PR, the default value for the `spans` option in the
`httpIntegration` is changed to `false`, if `skipOpenTelemetrySetup:
true` is configured. This is what you'd expect as a user, you do not
want Sentry to register any OTEL instrumentation and emit any spans in
this scenario.
Closes#14675
…4711)
We should normalise all paths in ANR events if an appRoot path is
supplied. This is important for the Electron SDK where we normalise
around the app path to keep usernames out of reported events.
Adds a `maxAnrEvents` option to the ANR integration which allows you to
capture more than one event.
This change adds release name detection for Railway
Based on #12529
Related:
getsentry/sentry-javascript-bundler-plugins#639
I was playing around with finally enabling the
[no-unnecessary-condition](https://typescript-eslint.io/rules/no-unnecessary-condition/)
eslint rule, and figured to start fixing some of the stuff it found.
These should mostly be straightforward things, or in some cases I
adjusted tests to ensure we "correctly" check for stuff.
We had some elaborate check in there for `window.history` which is based
on very old (~2016) issues, which should not be an issue anymore in
versions we support today. So we can streamline this quite a bit!
Additionally, I also rewrote code that used `window.onpushstate` to
instead of `window.addEventListener('pushstate')`, plus also added code
to ensure we do not emit history changes multiple times, which may be
possible (?).
Previously `spanToJSON` would return `Partial<SpanJSON>`. This meant
that you always had to guard all the stuff you picked from it - even
though in reality, we know that certain stuff will always be there.
To alleviate this, this PR changes this so that `spanToJSON` actually
returns `SpanJSON`. This means that in the fallback case, we return
`data: {}`, as well as a random (current) timestamp. Since we know that
in reality we will only have the two scenarios that we properly handle,
this is fine IMHO and makes usage of this everywhere else a little bit
less painful.
In a follow up, we can get rid of a bunch of `const data =
spanToJSON(span).data || {}` type code.
While at it, I also updated the type of `data` to `SpanAttributes`,
which is correct (it was `Record<string, any>` before). Since we only
allow span attributes to be set on this anyhow now, we can type this
better. This also uncovered a few places with slightly "incorrect" type
checks, I updated those too.
This change is on the v9 branch - I think it should not really be
breaking to a user in any way, as we simply return more data from
`spanToJSON`, and type what `data` is on there more tightly, so no
existing code relying on this should break. But to be safe, I figured we
may as well do that on v9 only.
I do not really think this is breaking or has any impact on any user
code, but to be on the safe side, we can remove this in v9.
The one actual breaking thing is to also move the `encodePolyfill` /
`decodePolyfill` code to the versioned carrier - this was before still
on the global, making this a bit harder than necessary. In v9, this will
have to be set on the versioned carrier the same as other things - cc
@krystofwoldrich
Extracted out from
#14721
Today, we inline all the types into `deno/build/index.d.ts`. This used
to work "OK" previously, where all the types came from `@sentry/types`
and where thus all "simple types".
If we want to replace some of this with actual classes, e.g. `Scope` or
`Client` classes, this starts to fail, because now we have separate
definitions that do not match.
So to fix this, we now stop inlining all the types, but instead
re-export them from `@sentry/core`. While at this, I also updated the
test setup to ignore utils/types and just use core for everything.
With this change, `deno/build/index.d.ts` looks something like this:
```ts
import * as _sentry_core from '@sentry/core';
import { BaseTransportOptions, Options, TracePropagationTargets, ClientOptions, ServerRuntimeClient, Integration, Client } from '@sentry/core';
export { ... } from '@sentry/core';
// additional types from deno go here...
```
I do not _think_ this should be breaking, but 🤷 hard to say for sure
with these things.
Add `Sentry.updateSpanName()` to reliably update span
names in OpenTelemetry environments; prevents overwrites from both
OpenTelemetry HTTP instrumentation and Sentry's span inference logic;
preserves custom names by marking them with 'custom' source and storing
in temp field which takes precedence over the actual name and gets
deleted at the end
Because this config was added to the `includes`, the types were moved to
a subdirectory.
fixes#14732
tjhigginsand others added 18 commits January 21, 2025 09:30
The previous code was using fastify `request.routeOptions.method` which
is all methods the current route supports - not the current request
method.
Ex. `@All()` nestjs decorator `request.routeOptions.method = ['GET',
'POST', 'HEAD', ...]`
- Added a test for `@All()`
- Updated instances of fastify request to use `request.method` which
matches express
---------
Co-authored-by: Charly Gomez <charly.gomez@sentry.io>
This PR adds the external contributor to the CHANGELOG.md file, so that
they are credited for their contribution. See #15066
---------
Co-authored-by: chargome <20254395+chargome@users.noreply.github.com>
Co-authored-by: Francesco Gringl-Novy <francesco.novy@sentry.io>
Updates the `childProcessIntegration` to capture `worker_threads` errors
(including their stack traces) rather than capturing a breadcrumb.
This features is enabled by default and can be disabled by setting the
`captureWorkerErrors` option to `false`:
```ts
Sentry.init({
dsn: 'https://public@dsn.ingest.sentry.io/1337',
integrations: [Sentry.childProcessIntegration({ captureWorkerErrors: false })],
});
```
When `captureWorkerErrors: false`, a breadcrumb will be captured
instead.
This PR also adds more integration tests for the
`childProcessIntegration`.
…5062)
- Updates some cropping variable names to make it more clear that it's
only meant for cropping
- The pen tool button is improved in
#15102, which needs
to be merged first
- The drawing tool button needs to be "on" to annotate, but cropping can
happen at any time
- Once the button is "on", drawing happens on mouse down and mouse move,
and on mouse up, the drawing gets "squashed" onto the image. The
"squashing" can be moved to happen at a different time in a future PR if
we want to incorporate undo, selection, or erasing
- The experimental flag must be on to use annotations: `_experiments:
{annotations: true}`
https://github.com/user-attachments/assets/2fac5e56-5caf-454b-b8b3-afabbd2c31b9Closes#15064
---------
Co-authored-by: Ryan Albrecht <ryan.albrecht@sentry.io>
…ns (#15108)
Extracted this out of
#14955
Instead of registering a general hook & filtering there, we can just use
the `beforeSpanEnd` hook that we already have/use to do this instead.
Removes the `fetchProxyScriptNonce` and in turn simplifies our
`transformPageChunk` callback a bit.
@lforst
lforst requested review from a team as code ownersJanuary 22, 2025 13:36
@lforst

Copy link
Copy Markdown
ContributorAuthor

smol boi

@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.02 KBaddedadded
@sentry/browser - with treeshaking flags22.91 KBaddedadded
@sentry/browser (incl. Tracing)35.75 KBaddedadded
@sentry/browser (incl. Tracing, Replay)72.54 KBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags66.09 KBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)76.79 KBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)89.28 KBaddedadded
@sentry/browser (incl. Feedback)39.71 KBaddedadded
@sentry/browser (incl. sendFeedback)27.65 KBaddedadded
@sentry/browser (incl. FeedbackAsync)32.43 KBaddedadded
@sentry/react25.7 KBaddedadded
@sentry/react (incl. Tracing)38.52 KBaddedadded
@sentry/vue27.12 KBaddedadded
@sentry/vue (incl. Tracing)37.47 KBaddedadded
@sentry/svelte23.14 KBaddedadded
CDN Bundle24.24 KBaddedadded
CDN Bundle (incl. Tracing)35.88 KBaddedadded
CDN Bundle (incl. Tracing, Replay)70.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)75.64 KBaddedadded
CDN Bundle - uncompressed70.87 KBaddedadded
CDN Bundle (incl. Tracing) - uncompressed106.5 KBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed217.35 KBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed229.92 KBaddedadded
@sentry/nextjs (client)38.63 KBaddedadded
@sentry/sveltekit (client)36.26 KBaddedadded
@sentry/node156.35 KBaddedadded
@sentry/node - without tracing97.43 KBaddedadded
@sentry/aws-serverless106.9 KBaddedadded

Comment threadCHANGELOG.md

- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott

Work in this release was contributed by @tjhiggins, @GrizliK1988, @davidturissini, @nwalters512, @aloisklink, @arturovt, @benjick, @maximepvrt, @mstrokin, and @kunal-511. Thank you for your contributions!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

should we move this into the 9.0.0-alpha.0 section? Or wait till the full release?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I would wait for the full release!

@lforst
lforst merged commit 11277ed into masterJan 22, 2025
@lforst
lforst deleted the prepare-release/9.0.0-alpha.0 branch January 22, 2025 14:39
Sign up for freeto 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.

20 participants

@lforst@AbhiPrasad@antonis@mydea@andreiborza@maximepvrt@Lms24@HazAT@timfish@conor-ob@s1gr1d@aloisklink@arturovt@benjick@chargome@mjq@onurtemizkan@JonasBa@HHK1@nwalters512