|
4 | 4 |
|
5 | 5 | - "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott
|
6 | 6 |
|
| 7 | +## 8.0.0-beta.0 |
| 8 | + |
| 9 | +This is the first beta release of Sentry JavaScript SDK v8. With this release, there are no more planned breaking |
| 10 | +changes for the v8 cycle. |
| 11 | + |
| 12 | +Read the [in-depth migration guide](./MIGRATION.md) to find out how to address any breaking changes in your code. All |
| 13 | +deprecations from the v7 cycle, with the exception of `getCurrentHub()`, have been removed and can no longer be used in |
| 14 | +v8. |
| 15 | + |
| 16 | +### Version Support |
| 17 | + |
| 18 | +The Sentry JavaScript SDK v8 now supports Node.js 14.8.0 or higher. This applies to `@sentry/node` and all of our |
| 19 | +node-based server-side sdks (`@sentry/nextjs`, `@sentry/remix`, etc.). |
| 20 | + |
| 21 | +The browser SDKs now require |
| 22 | +[ES2018+](https://caniuse.com/?feats=mdn-javascript_builtins_regexp_dotall,js-regexp-lookbehind,mdn-javascript_builtins_regexp_named_capture_groups,mdn-javascript_builtins_regexp_property_escapes,mdn-javascript_builtins_symbol_asynciterator,mdn-javascript_functions_method_definitions_async_generator_methods,mdn-javascript_grammar_template_literals_template_literal_revision,mdn-javascript_operators_destructuring_rest_in_objects,mdn-javascript_operators_destructuring_rest_in_arrays,promise-finally) |
| 23 | +compatible browsers. New minimum browser versions: |
| 24 | + |
| 25 | +- Chrome 63 |
| 26 | +- Edge 79 |
| 27 | +- Safari/iOS Safari 12 |
| 28 | +- Firefox 58 |
| 29 | +- Opera 50 |
| 30 | +- Samsung Internet 8.2 |
| 31 | + |
| 32 | +For more details, please see the [version support section in migration guide](./MIGRATION.md#1-version-support-changes). |
| 33 | + |
| 34 | +### Package removal |
| 35 | + |
| 36 | +The following packages will no longer be published |
| 37 | + |
| 38 | +- [@sentry/hub](./MIGRATION.md#sentryhub) |
| 39 | +- [@sentry/tracing](./MIGRATION.md#sentrytracing) |
| 40 | +- [@sentry/integrations](./MIGRATION.md#sentryintegrations) |
| 41 | +- [@sentry/serverless](./MIGRATION.md#sentryserverless) |
| 42 | +- [@sentry/replay](./MIGRATION.md#sentryreplay) |
| 43 | + |
| 44 | +### Initializing Server-side SDKs (Node, Bun, Next.js, SvelteKit, Astro, Remix): |
| 45 | + |
| 46 | +Initializing the SDKs on the server-side has been simplified. See more details in our migration docs about |
| 47 | +[initializing the SDK in v8](./MIGRATION.md/#initializing-the-node-sdk). |
| 48 | + |
| 49 | +### Performance Monitoring Changes |
| 50 | + |
| 51 | +The API around performance monitoring and tracing has been vastly improved, and we've added support for more |
| 52 | +integrations out of the box. |
| 53 | + |
| 54 | +- [Performance Monitoring API](./MIGRATION.md#performance-monitoring-api) |
| 55 | +- [Performance Monitoring Integrations](./MIGRATION.md#performance-monitoring-integrations) |
| 56 | + |
| 57 | +### Important Changes since v8.0.0-alpha.9 |
| 58 | + |
| 59 | +- **feat(browser): Create spans as children of root span by default (#10986)** |
| 60 | + |
| 61 | +Because execution context isolation in browser environments does not work reliably, we deciced to keep a flat span |
| 62 | +hierarchy by default in v8. |
| 63 | + |
| 64 | +- **feat(core): Deprecate `addTracingExtensions` (#11579)** |
| 65 | + |
| 66 | +Instead of calling `Sentry.addTracingExtensions()` if you want to use performance in a browser SDK without using |
| 67 | +`browserTracingIntegration()`, you should now call `Sentry.registerSpanErrorInstrumentation()`. |
| 68 | + |
| 69 | +- **feat(core): Implement `suppressTracing` (#11468)** |
| 70 | + |
| 71 | +You can use the new `suppressTracing` API to ensure a given callback will not generate any spans: |
| 72 | + |
| 73 | +```js |
| 74 | +return Sentry.suppressTracing(() => { |
| 75 | + // Ensure this fetch call does not generate a span |
| 76 | + return fetch('/my-url'); |
| 77 | +}); |
| 78 | +``` |
| 79 | + |
| 80 | +- **feat: Rename ESM loader hooks to `import` and `loader` (#11498)** |
| 81 | + |
| 82 | +We renamed the loader hooks for better clarity: |
| 83 | + |
| 84 | +```sh |
| 85 | +# For Node.js <= 18.18.2 |
| 86 | +node --loader=@sentry/node/loader app.js |
| 87 | + |
| 88 | +# For Node.js >= 18.19.0 |
| 89 | +node --import=@sentry/node/import app.js |
| 90 | +``` |
| 91 | + |
| 92 | +- **feat(node): Do not exit process by default when other `onUncaughtException` handlers are registered in |
| 93 | + `onUncaughtExceptionIntegration` (#11532)** |
| 94 | + |
| 95 | +In v8, we will no longer exit the node process by default if other uncaught exception handlers have been registered by |
| 96 | +the user. |
| 97 | + |
| 98 | +- **Better handling of transaction name for errors** |
| 99 | + |
| 100 | +We improved the way we keep the transaction name for error events, even when spans are not sampled or performance is |
| 101 | +disabled. |
| 102 | + |
| 103 | +- feat(fastify): Update scope `transactionName` when handling request (#11447) |
| 104 | +- feat(hapi): Update scope `transactionName` when handling request (#11448) |
| 105 | +- feat(koa): Update scope `transactionName` when creating router span (#11476) |
| 106 | +- feat(sveltekit): Update scope transactionName when handling server-side request (#11511) |
| 107 | +- feat(nestjs): Update scope transaction name with parameterized route (#11510) |
| 108 | + |
| 109 | +### Removal/Refactoring of deprecated functionality |
| 110 | + |
| 111 | +- feat(core): Remove `getCurrentHub` from `AsyncContextStrategy` (#11581) |
| 112 | +- feat(core): Remove `getGlobalHub` export (#11565) |
| 113 | +- feat(core): Remove `Hub` class export (#11560) |
| 114 | +- feat(core): Remove most Hub class exports (#11536) |
| 115 | +- feat(nextjs): Remove webpack 4 support (#11605) |
| 116 | +- feat(vercel-edge): Stop using hub (#11539) |
| 117 | + |
| 118 | +### Other Changes |
| 119 | + |
| 120 | +- feat: Hoist `getCurrentHub` shim to core as `getCurrentHubShim` (#11537) |
| 121 | +- feat(core): Add default behaviour for `rewriteFramesIntegration` in browser (#11535) |
| 122 | +- feat(core): Ensure replay envelopes are sent in order when offline (#11413) |
| 123 | +- feat(core): Extract errors from props in unkown inputs (#11526) |
| 124 | +- feat(core): Update metric normalization (#11518) |
| 125 | +- feat(feedback): Customize feedback placeholder text color (#11417) |
| 126 | +- feat(feedback): Maintain v7 compat in the @sentry-internal/feedback package (#11461) |
| 127 | +- feat(next): Handle existing root spans for isolation scope (#11479) |
| 128 | +- feat(node): Ensure tracing without performance (TWP) works (#11564) |
| 129 | +- feat(opentelemetry): Export `getRequestSpanData` (#11508) |
| 130 | +- feat(opentelemetry): Remove otel.attributes in context (#11604) |
| 131 | +- feat(ratelimit): Add metrics rate limit (#11538) |
| 132 | +- feat(remix): Skip span creation for `OPTIONS` and `HEAD` requests. (#11149) |
| 133 | +- feat(replay): Merge packages together & ensure bundles are built (#11552) |
| 134 | +- feat(tracing): Adds span envelope and datacategory (#11534) |
| 135 | +- fix(browser): Ensure pageload trace remains active after pageload span finished (#11600) |
| 136 | +- fix(browser): Ensure tracing without performance (TWP) works (#11561) |
| 137 | +- fix(nextjs): Fix `tunnelRoute` matching logic for hybrid cloud (#11576) |
| 138 | +- fix(nextjs): Remove Http integration from Next.js (#11304) |
| 139 | +- fix(node): Ensure isolation scope is correctly cloned for non-recording spans (#11503) |
| 140 | +- fix(node): Make fastify types more broad (#11544) |
| 141 | +- fix(node): Send ANR events without scope if event loop blocked indefinitely (#11578) |
| 142 | +- fix(tracing): Fixes latest route name and source not updating correctly (#11533) |
| 143 | +- ref(browser): Move browserTracing into browser pkg (#11484) |
| 144 | +- ref(feedback): Configure font size (#11437) |
| 145 | +- ref(feedback): Refactor Feedback types into @sentry/types and reduce the exported surface area (#11355) |
| 146 | + |
7 | 147 | ## 8.0.0-alpha.9
|
8 | 148 |
|
9 | 149 | This is the eighth alpha release of Sentry JavaScript SDK v8, which includes a variety of breaking changes.
|
|
0 commit comments