getsentry / sentry-javascript

Official Sentry SDKs for JavaScript
https://sentry.io
MIT License
7.64k stars 1.49k forks source link

v8 Release Plan #9508

Open mydea opened 6 months ago

mydea commented 6 months ago

This issue collects concrete things we know we want to include/do in v8 for sure. We have a lot of things captured already in various places, but not all of these things will necessarily happen in v8. The goal of this issue is to have a proper overview.

For feedback please reach out via GH discussions.

Main user facing changes

The biggest changes, from an SDK user perspective, are the changes to performance APIs:

All Changes

### Version support
- [ ] https://github.com/getsentry/sentry-javascript/issues/9827
- [ ] https://github.com/getsentry/sentry-javascript/issues/9828
- [ ] https://github.com/getsentry/sentry-javascript/issues/9829
- [ ] https://github.com/getsentry/sentry-javascript/issues/9831
- [ ] https://github.com/getsentry/sentry-javascript/issues/9830
- [ ] https://github.com/getsentry/sentry-javascript/issues/9835
- [ ] https://github.com/getsentry/sentry-javascript/issues/9836
- [ ] https://github.com/getsentry/sentry-javascript/issues/9838
- [ ] https://github.com/getsentry/sentry-javascript/issues/9837
### Update meta SDKs to use OpenTelemetry
- [ ] https://github.com/getsentry/sentry-javascript/issues/11042
- [ ] https://github.com/getsentry/sentry-javascript/issues/11039
- [ ] https://github.com/getsentry/sentry-javascript/issues/11040
- [ ] https://github.com/getsentry/sentry-javascript/issues/11041
- [ ] Ensure serverless packages use OpenTelemetry
### Package changes
- [ ] https://github.com/getsentry/sentry-javascript/issues/5665
- [ ] https://github.com/getsentry/sentry-javascript/issues/8796
- [ ] https://github.com/getsentry/sentry-javascript/issues/9833
- [ ] https://github.com/getsentry/sentry-javascript/issues/9885
- [ ] https://github.com/getsentry/sentry-javascript/issues/9832
- [ ] https://github.com/getsentry/sentry-javascript/issues/9834
- [ ] https://github.com/getsentry/sentry-javascript/issues/9843
- [ ] https://github.com/getsentry/sentry-javascript/issues/9886
- [ ] [v8] Move `@sentry/wasm` into `@sentry/browser`
### Integrations
- [ ] https://github.com/getsentry/sentry-javascript/issues/4790
- [ ] https://github.com/getsentry/sentry-javascript/issues/8844
- [ ] https://github.com/getsentry/sentry-javascript/issues/8838
- [ ] https://github.com/getsentry/sentry-javascript/issues/6423
- [ ] https://github.com/getsentry/sentry-javascript/pull/9456
- [ ] https://github.com/getsentry/sentry-javascript/pull/11294
- [ ] https://github.com/getsentry/sentry-javascript/issues/10387
- [ ] https://github.com/getsentry/sentry-javascript/pull/11343
### General changes
- [ ] https://github.com/getsentry/sentry-javascript/issues/9841
- [ ] https://github.com/getsentry/sentry-javascript/issues/9842
- [ ] https://github.com/getsentry/sentry-javascript/issues/9925
- [ ] https://github.com/getsentry/sentry-javascript/issues/9956
- [ ] https://github.com/getsentry/sentry-javascript/issues/10046
- [ ] https://github.com/getsentry/sentry-javascript/issues/10945
- [ ] https://github.com/getsentry/sentry-javascript/issues/10976
- [ ] https://github.com/getsentry/sentry-javascript/issues/11320
- [ ] https://github.com/getsentry/sentry-javascript/issues/11482
### Remove deprecated code
- [ ] https://github.com/getsentry/sentry-javascript/issues/6230
- [ ] https://github.com/getsentry/sentry-javascript/issues/8897
- [ ] https://github.com/getsentry/sentry-javascript/issues/8887
- [ ] https://github.com/getsentry/sentry-javascript/issues/6958
- [ ] https://github.com/getsentry/sentry-javascript/issues/5842
- [ ] https://github.com/getsentry/sentry-javascript/issues/10100
- [ ] https://github.com/getsentry/sentry-wizard/issues/519
### Docs
- [ ] https://github.com/getsentry/sentry-javascript/issues/11064
### Other / open for discussion
- [x] Remove `withSentry` in favor of `withSentryAPI`
- [ ] https://github.com/getsentry/sentry-javascript/issues/6958
- [ ] https://github.com/getsentry/sentry-javascript/issues/5927
- [ ] https://github.com/getsentry/sentry-javascript/issues/5523
- [x] Remove Gatsby Plugin configuration in favour of only using `sentry.config.ts`/`sentry.config.js`
- [ ] https://github.com/getsentry/sentry-javascript/issues/9254
- [ ] https://github.com/getsentry/sentry-javascript/issues/5745
- [ ] https://github.com/getsentry/sentry-javascript/issues/1661
- [ ] https://github.com/getsentry/sentry-javascript/issues/10772
- [ ] https://github.com/getsentry/sentry-javascript/issues/11070
- [ ] https://github.com/getsentry/sentry-migr8/issues/1
- [ ] https://github.com/getsentry/sentry-javascript/issues/8843
- [ ] Avoid the loader from using v8

Testing

### Check all SDKs for feature regression
- [ ] Browser JavaScript
- [ ] Angular
- [ ] Astro
- [ ] Bun
- [ ] Capacitor
- [ ] Cordova
- [ ] Deno
- [ ] Electron
- [ ] Ember
- [ ] Gatsby
- [ ] Next.js
- [ ] React
- [ ] Remix
- [ ] Solid
- [ ] Svelte
- [ ] SvelteKit
- [ ] Vue
- [ ] Wasm
- [ ] Node.js
- [ ] AWS Lambda
- [ ] Azure Functions
- [ ] Connect
- [ ] Express
- [ ] Google Cloud Functions
- [ ] Koa
- [ ] Hapi (v8 only)
- [ ] Fastify (v8 only)
- [ ] Nest.js (v8 only)

ref https://github.com/getsentry/sentry-javascript/issues/5194 ref https://github.com/getsentry/sentry-javascript/discussions/9802

m1heng commented 5 months ago

Will the team try to reduce the bundle size in v8?

Lms24 commented 5 months ago

@m1heng by removing deprecated parts of the SDK, we'll be able to reduce some size. Maybe also by the proposed hub/scope changes. However, at this time, we haven't planned a big bundle size reduction intiative as in v7. We recently reduced Session Replay bundle size by a lot. Also, you might want to look into advanced tree shaking configuration for saving a few extra bytes.

lforst commented 4 months ago

Task list to remove internal usage of deprecated APIs: https://github.com/getsentry/sentry-javascript/issues/10100

mahnunchik commented 1 month ago

Could you please pay more attention to updating documentation: https://github.com/getsentry/sentry-docs/issues/8953

AbhiPrasad commented 1 month ago

Docs issues tracked with: https://github.com/getsentry/sentry-javascript/issues/11064

AbhiPrasad commented 1 month ago

I removed Remove SyncPromise from the list.

Tried it in v7, no dice. I guess v8 isn't it yet either 😢.

One day!!

AbhiPrasad commented 3 weeks ago

First beta version is out! https://github.com/getsentry/sentry-javascript/releases/tag/8.0.0-beta.1

r34son commented 2 weeks ago

@AbhiPrasad Hi! Excited about v8 beta! Could you please take a look at pr for updating @sentry/nextjs to v8-beta in my project. Faced few issues while updating. I left questions about them in pr.

https://github.com/r34son/profile/pull/422

AbhiPrasad commented 1 week ago

We've released our 4th beta, https://github.com/getsentry/sentry-javascript/releases/tag/8.0.0-beta.4, and with it we now have detailed migration guides for every SDK!

Browser

JS frameworks

Node

Alternate JS Runtimes

Serverless

mwskwong commented 5 days ago

Is there an ETA for v8 integration in Sentry.io (whether it is beta or not)? I'm thinking of using Sentry, but I'm still deciding whether I should wait for v8, or adopt for v7 now

mydea commented 5 days ago

Is there an ETA for v8 integration in Sentry.io (whether it is beta or not)? I'm thinking of using Sentry, but I'm still deciding whether I should wait for v8, or adopt for v7 now

v8 is almost ready, unless any issues pop up in the beta (which we don't forsee right now) we expect to do a stable release next week!