|
2 | 2 |
|
3 | 3 | ## Unreleased |
4 | 4 |
|
5 | | -- **feat(nitro): Add `@sentry/nitro` SDK** |
| 5 | +- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott |
| 6 | + |
| 7 | +## 10.51.0 |
| 8 | + |
| 9 | +### Important Changes |
| 10 | + |
| 11 | +- **feat(cloudflare): Add trace propagation for RPC method calls ([#20343](https://github.com/getsentry/sentry-javascript/pull/20343))** |
| 12 | + |
| 13 | + Trace context is now propagated across Cloudflare Workers RPC calls, connecting traces between Workers and Durable Objects. |
| 14 | + This feature is opt-in and requires setting `enableRpcTracePropagation: true` in your SDK configuration: |
| 15 | + |
| 16 | + ```ts |
| 17 | + // Worker |
| 18 | + export default Sentry.withSentry( |
| 19 | + env => ({ |
| 20 | + dsn: env.SENTRY_DSN, |
| 21 | + enableRpcTracePropagation: true, |
| 22 | + }), |
| 23 | + handler, |
| 24 | + ); |
| 25 | + |
| 26 | + // Durable Object |
| 27 | + export const MyDurableObject = Sentry.instrumentDurableObjectWithSentry( |
| 28 | + env => ({ |
| 29 | + dsn: env.SENTRY_DSN, |
| 30 | + enableRpcTracePropagation: true, |
| 31 | + }), |
| 32 | + MyDurableObjectBase, |
| 33 | + ); |
| 34 | + ``` |
| 35 | + |
| 36 | +- **feat(hono)!: Change setup for `@sentry/hono/node` (`init` in external file) ([#20497](https://github.com/getsentry/sentry-javascript/pull/20497))** |
| 37 | + |
| 38 | + To improve Node.js instrumentation, the `sentry()` middleware exported from `@sentry/hono/node` no longer accepts configuration options. |
| 39 | + Instead, you must configure the SDK by calling `Sentry.init()` in a dedicated instrumentation file that runs before your application code (read more in the [Hono SDK readme](https://github.com/getsentry/sentry-javascript/blob/develop/packages/hono/README.md): |
| 40 | + |
| 41 | + ```ts |
| 42 | + // instrument.mjs (or instrument.ts) |
| 43 | + import * as Sentry from '@sentry/hono/node'; |
| 44 | + |
| 45 | + Sentry.init({ |
| 46 | + dsn: '__DSN__', |
| 47 | + tracesSampleRate: 1.0, |
| 48 | + }); |
| 49 | + ``` |
| 50 | + |
| 51 | +- **feat(nitro): Add `@sentry/nitro` SDK ([#19224](https://github.com/getsentry/sentry-javascript/pull/19224))** |
6 | 52 |
|
7 | 53 | A new `@sentry/nitro` package provides first-class Sentry support for [Nitro](https://nitro.build/) applications, with HTTP handler and error instrumentation, middleware tracing, request isolation, and build-time source map uploading via `withSentryConfig`. |
8 | 54 | Read more in the [Nitro SDK docs](https://docs.sentry.io/platforms/javascript/guides/nitro/) and the [Nitro SDK readme](https://github.com/getsentry/sentry-javascript/blob/develop/packages/nitro/README.md). |
9 | 55 |
|
| 56 | +### Other Changes |
| 57 | + |
| 58 | +- deps(minimatch): Upgrade patch version to use new `brace-expansion` peer-dep ([#20198](https://github.com/getsentry/sentry-javascript/pull/20198)) |
| 59 | +- docs: Add deprecation notices to `bin` scripts ([#20570](https://github.com/getsentry/sentry-javascript/pull/20570)) |
| 60 | +- feat(astro): Drop prerendered http.server filter via `ignoreSpans` ([#20513](https://github.com/getsentry/sentry-javascript/pull/20513)) |
| 61 | +- feat(aws-serverless): Validate extension tunnel DSN against `SENTRY_DSN` ([#20528](https://github.com/getsentry/sentry-javascript/pull/20528)) |
| 62 | +- feat(browser): Add `ingest_settings` to span v2 envelope payload ([#20411](https://github.com/getsentry/sentry-javascript/pull/20411)) |
| 63 | +- feat(browser): Add support for streamed spans in `httpContextIntegration` ([#20464](https://github.com/getsentry/sentry-javascript/pull/20464)) |
| 64 | +- feat(core): Backfill otel attributes on streamed spans ([#20439](https://github.com/getsentry/sentry-javascript/pull/20439)) |
| 65 | +- feat(core): clear up integrations on dispose ([#20407](https://github.com/getsentry/sentry-javascript/pull/20407)) |
| 66 | +- feat(core): Instrument langgraph createReactAgent ([#20344](https://github.com/getsentry/sentry-javascript/pull/20344)) |
| 67 | +- feat(core): Support attribute matching in `ignoreSpans` ([#20512](https://github.com/getsentry/sentry-javascript/pull/20512)) |
| 68 | +- feat(feedback): allow error messages to be customized ([#20474](https://github.com/getsentry/sentry-javascript/pull/20474)) |
| 69 | +- feat(hono): Support middleware spans defined in app groups ([#20465](https://github.com/getsentry/sentry-javascript/pull/20465)) |
| 70 | +- feat(nextjs): Filter unwanted segments when span streaming is enabled ([#20384](https://github.com/getsentry/sentry-javascript/pull/20384)) |
| 71 | +- feat(nextjs): Migrate edge event processors to span-first APIs ([#20551](https://github.com/getsentry/sentry-javascript/pull/20551)) |
| 72 | +- feat(nextjs): Migrate server event processors to span-first APIs ([#20527](https://github.com/getsentry/sentry-javascript/pull/20527)) |
| 73 | +- feat(nextjs): Set global attribute for turbopack usage ([#20558](https://github.com/getsentry/sentry-javascript/pull/20558)) |
| 74 | +- feat(nitro): Nitro SDK ([#19224](https://github.com/getsentry/sentry-javascript/pull/19224)) |
| 75 | +- feat(react-router): Clean up bogus `*` http.route attribute on segment spans ([#20471](https://github.com/getsentry/sentry-javascript/pull/20471)) |
| 76 | +- feat(react-router): Drop low-quality transactions via `ignoreSpans` ([#20514](https://github.com/getsentry/sentry-javascript/pull/20514)) |
| 77 | +- feat(sveltekit): Support span streaming in `svelteKitSpansEnhancement` integration ([#20496](https://github.com/getsentry/sentry-javascript/pull/20496)) |
| 78 | +- feat(tanstackstart-react): Add dynamic tunnel route helper and generator ([#20264](https://github.com/getsentry/sentry-javascript/pull/20264)) |
| 79 | +- fix: update prisma v7 spans descriptions ([#20456](https://github.com/getsentry/sentry-javascript/pull/20456)) |
| 80 | +- fix(core): Avoid parse-time SyntaxError on Safari <16.4 in postgresjs ([#20498](https://github.com/getsentry/sentry-javascript/pull/20498)) |
| 81 | +- fix(core): Ensure `isSentryRequest` handles subdomains properly ([#20530](https://github.com/getsentry/sentry-javascript/pull/20530)) |
| 82 | +- fix(core): Ensure ip address headers are stripped when lower case ([#20484](https://github.com/getsentry/sentry-javascript/pull/20484)) |
| 83 | +- fix(core): Filter more cookie names for PII ([#20485](https://github.com/getsentry/sentry-javascript/pull/20485)) |
| 84 | +- fix(core): Use symbol for normalization checks ([#20486](https://github.com/getsentry/sentry-javascript/pull/20486)) |
| 85 | +- fix(hono): Distinguish `.use()` middleware in sub-apps from `.all()` handlers ([#20554](https://github.com/getsentry/sentry-javascript/pull/20554)) |
| 86 | +- fix(nextjs): Ensure we do not match tunnel endpoints too broadly ([#20488](https://github.com/getsentry/sentry-javascript/pull/20488)) |
| 87 | +- fix(opentelemetry): Add conditional browser export to avoid node deps ([#20556](https://github.com/getsentry/sentry-javascript/pull/20556)) |
| 88 | +- fix(replay): Avoid main-thread blocking in WorkerHandler under event bursts ([#20548](https://github.com/getsentry/sentry-javascript/pull/20548)) |
| 89 | +- fix(replay): Ensure `maskAttributes` works with `maskAllText=false` ([#20491](https://github.com/getsentry/sentry-javascript/pull/20491)) |
| 90 | +- fix(supabase): Consider `sendDefaultPii` for supabase integration ([#20490](https://github.com/getsentry/sentry-javascript/pull/20490)) |
| 91 | + |
| 92 | +<details> |
| 93 | + <summary><strong>Internal Changes</strong></summary> |
| 94 | + |
| 95 | +- chore: Add size limit reports on PRs for Cloudflare ([#20055](https://github.com/getsentry/sentry-javascript/pull/20055)) |
| 96 | +- chore: Update CODEOWNERS ([#20559](https://github.com/getsentry/sentry-javascript/pull/20559)) |
| 97 | +- chore(build): Opt-out of nx analytics ([#20487](https://github.com/getsentry/sentry-javascript/pull/20487)) |
| 98 | +- chore(ci): Automatically bump size limit every week ([#20531](https://github.com/getsentry/sentry-javascript/pull/20531)) |
| 99 | +- chore(ci): Bump pnpm/action-setup to v5 and pin to commit SHA ([#20462](https://github.com/getsentry/sentry-javascript/pull/20462)) |
| 100 | +- chore(ci): Do not report flaky test issues if we cannot find a test name ([#20589](https://github.com/getsentry/sentry-javascript/pull/20589)) |
| 101 | +- chore(ci): Streamline CI setup to split bundle, layer, tarball generation ([#20396](https://github.com/getsentry/sentry-javascript/pull/20396)) |
| 102 | +- chore(ci): Vendor nx-affected-list action, drop dkhunt27 dependency ([#20463](https://github.com/getsentry/sentry-javascript/pull/20463)) |
| 103 | +- chore(e2e): Add vue and vue-router to nuxt-4 canary build step to fix rollup resolution ([#20519](https://github.com/getsentry/sentry-javascript/pull/20519)) |
| 104 | +- chore(e2e): Remove @tanstack/start-plugin-core override ([#20518](https://github.com/getsentry/sentry-javascript/pull/20518)) |
| 105 | +- chore(size-limit): weekly auto-bump ([#20572](https://github.com/getsentry/sentry-javascript/pull/20572)) |
| 106 | +- chore(skill): Add skill for writing unit and E2E tests ([#20561](https://github.com/getsentry/sentry-javascript/pull/20561)) |
| 107 | +- chore(test): Reduce unneeded `idleTimeout` test config ([#20467](https://github.com/getsentry/sentry-javascript/pull/20467)) |
| 108 | +- ci(size-bump): Fix path in size-limit auto-bump workflow ([#20566](https://github.com/getsentry/sentry-javascript/pull/20566)) |
| 109 | +- fix(e2e/tanstackstart-react): pin @tanstack/start-plugin-core to unblock CI ([#20482](https://github.com/getsentry/sentry-javascript/pull/20482)) |
| 110 | +- fix(tests): Remove nitro canary test job ([#20473](https://github.com/getsentry/sentry-javascript/pull/20473)) |
| 111 | +- ref(browser): Use `safeSetSpanJSONAttributes` in cultureContext integration ([#20481](https://github.com/getsentry/sentry-javascript/pull/20481)) |
| 112 | +- test(browser): Unflake some more tests ([#20591](https://github.com/getsentry/sentry-javascript/pull/20591)) |
| 113 | +- test(nextjs): Pin `eslint-config-next` package to major ([#20552](https://github.com/getsentry/sentry-javascript/pull/20552)) |
| 114 | +- test(node): Fix flaky ANR test ([#20592](https://github.com/getsentry/sentry-javascript/pull/20592)) |
| 115 | +- test(node): Fix flaky worker thread integration test ([#20588](https://github.com/getsentry/sentry-javascript/pull/20588)) |
| 116 | +- test(node): Unflake postgres tests ([#20593](https://github.com/getsentry/sentry-javascript/pull/20593)) |
| 117 | +- test(node): Update timeout for cron integration tests ([#20586](https://github.com/getsentry/sentry-javascript/pull/20586)) |
| 118 | +- test(supabase): Stop supabase before initializing ([#20563](https://github.com/getsentry/sentry-javascript/pull/20563)) |
| 119 | +- test(tanstack): Prefix test labels ([#20569](https://github.com/getsentry/sentry-javascript/pull/20569)) |
| 120 | + |
| 121 | +</details> |
| 122 | + |
10 | 123 | ## 10.50.0 |
11 | 124 |
|
12 | 125 | ### Important Changes |
|
0 commit comments