Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

meta(changelog): Update changelog for 7.78.0 #9471

Merged
merged 29 commits into from
Nov 8, 2023
Merged

Conversation

mydea
Copy link
Member

@mydea mydea commented Nov 7, 2023

Update readme for 7.78.0

github-actions bot and others added 22 commits October 31, 2023 10:33
[Gitflow] Merge master into develop
- feat: Export getCanvasManager & allow passing it to record()
[#122](getsentry/rrweb#122)
- feat: Remove hooks related code, which is not used
[#126](getsentry/rrweb#126)
- feat: Remove plugins related code, which is not used
[#123](getsentry/rrweb#123)
- feat: Refactor module scope vars & export mirror & `takeFullSnapshot`
directly [#113](getsentry/rrweb#113)
- fix(rrweb): Fix rule.style being undefined
[#121](getsentry/rrweb#121)
- ref: Avoid unnecessary cloning of objects or arrays
[#125](getsentry/rrweb#125)
- ref: Avoid cloning events to add timestamp
[#124](getsentry/rrweb#124)


Note: With this update, canvas is _always_ excluded, unless we opt in by
passing a `getCanvasManager` function to `record()`. We'll provide a way
to do this once we have a fully formed canvas story. For now, this will
reduce bundle size considerably for all SDK users.
Temp until product docs + dedicated Feedback Alerts UI
chore(feedback): Add alerting instructions to readme.md
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
)

* Adds themeable options for submit/cancel/input
* Make css vars + theme vars consistent
* Fix incorrect defaults
We changed this
[here](#7018), but
apparently it is possible to have responses with a 200 status code but
rate limit headers.

This PR updates our handling to stop either for a non-200 status code,
_or_ for a rate limit header.

I also streamlined the tests for this a bit, we were testing a bunch of
unrelated things, IMHO it's enough to test we stopped/didn't stop.

Resolves: getsentry/sentry#49498
This refactors the slow/rage click detection to use rrweb events instead
of adding our own event listeners.

* We look for incremental snapshot events, and update the
`_lastMutation` and `_lastScroll` properties based on them.
* If a full snapshot happens, we interpret it as a mutation. this is not
necessarily correct, but we don't know any different. also this
shouldn't matter much because a full snapshot only happens in error
mode, in which case things that happened before the full checkout should
be discarded anyhow, so 🤷

Integration tests for this are still passing, so it seems to me to be a
good change. Hopefully this:

1. Decreases perf overhead by only using a single instrumentation
instead of multiple overlapping ones
2. Increases consistency by ensuring that whatever we see changing in
the replay will also be considered the same way for slow/rage click
detection.
According to their own benchmarks
(https://www.npmjs.com/package/fflate), this should be faster, and have
a smaller bundle size.

We still use pako in integration tests, to verify this is stable (for
now) - we can eventually also move this to fflate.
We also have E2E tests that should also verify that this still works as
expected.
This adds experimental support to auto instrument hapi performance.
Implements the new user feedback widget. Please view README for instructions and configuration options.
Add a Sentry middleware handler for Astro
[middleware](https://docs.astro.build/en/guides/middleware/). This
handler

* Creates a new span/transaction via `startSpan`
* To create a parameterized transaction name, we interpolate the route
name from the raw URL and the `params` object.
* Continues a trace from tracing headers
* Captures an error with Astro SDK-specific `handled` data
* Optionally allows:
  * setting the client IP from the client request (only in SSR mode)
  * attaching request headers to `event.metadata.request`
broccoli-terser-sourcemap fixed a bug in
[v4.1.1](https://github.com/ember-cli/broccoli-terser-sourcemap/releases/tag/v4.1.1)
that affected building our SDK.

This adds a test to ensure this continues to work.

Closes #9168
This is potentially performance intensive, so we should just do this in
the UI instead.

Part of #9426

This was implemented in Sentry in getsentry/sentry#59266
@mydea mydea requested review from lforst and Lms24 November 7, 2023 13:07
@mydea mydea self-assigned this Nov 7, 2023
Copy link
Contributor

github-actions bot commented Nov 7, 2023

size-limit report 📦

Path Size
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) 65.24 KB (+0.07% 🔺)
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) 55.48 KB (+0.08% 🔺)
@sentry/browser (incl. Tracing) - Webpack (gzipped) 30.97 KB (0%)
@sentry/browser - Webpack (gzipped) 21.29 KB (0%)
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) 61.82 KB (+0.07% 🔺)
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) 29.09 KB (0%)
@sentry/browser - ES6 CDN Bundle (gzipped) 21.23 KB (0%)
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) 194.87 KB (+0.07% 🔺)
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) 88.28 KB (0%)
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) 63.28 KB (0%)
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) 31.8 KB (0%)
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) 65.61 KB (+0.07% 🔺)
@sentry/react - Webpack (gzipped) 21.34 KB (0%)
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) 82.34 KB (+0.05% 🔺)
@sentry/nextjs Client - Webpack (gzipped) 48.12 KB (0%)
@sentry-internal/feedback - Webpack (gzipped) 15.81 KB (0%)

* **BREAKING** `inputBorderFocus` is now `inputOutlineFocus` (I wanted
to make this directly tied to the css property being used to avoid
confusion)
* added `submitOutlineFocus`, `submitForegroundHover` (as well as the
`cancel` versions)
* change to use `:focus-visible` pseudo class (instead of `:focus`)
* do not show `buttonLabel` if empty

Closes #9439
…nterface (#9464)

* Adds `openDialog` and `closeDialog` public methods on the Feedback
integration class
* Rename `hideDialog` -> `closeDialog` (for Widget)
* Rename type `Widget` -> `FeedbackWidget`
* Refactor internal logic when creating widgets
billyvg and others added 4 commits November 7, 2023 16:42
This adds a new option to `new Replay()` which allows to ignore certain
errors for error-based sampling:

```js
new Replay({
  beforeErrorSampling: (event) => !event.message.includes('ignore me')
});
```

When returning `false` from this callback, the event will not trigger an
error-based sampling.

Note that returning `true` there does not mean this will 100% be
sampled, but just that it will check the `replaysOnErrorSampleRate`. The
purpose of this callback is to be able to ignore certain groups of
errors from triggering an error-based replay at all.

Closes #9413

Related to #8462
(not 100% but partially)
@mydea mydea force-pushed the prepare-release/7.78.0 branch from 2876838 to beeb4e7 Compare November 8, 2023 08:15
@mydea mydea merged commit 7796451 into master Nov 8, 2023
85 checks passed
@mydea mydea deleted the prepare-release/7.78.0 branch November 8, 2023 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants