Skip to content

chore(deps): update JavaScript SDK to v9.35.0 #4615

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Mar 4, 2025

Bumps scripts/update-javascript.sh from 8.54.0 to 9.35.0.

Auto-generated by a dependency updater.

Changelog

9.35.0

  • feat(browser): Add ElementTiming instrumentation and spans (#16589)
  • feat(browser): Export Context and Contexts types (#16763)
  • feat(cloudflare): Add user agent to cloudflare spans (#16793)
  • feat(node): Add eventLoopBlockIntegration (#16709)
  • feat(node): Export server-side feature flag integration shims (#16735)
  • feat(node): Update vercel ai integration attributes (#16721)
  • fix(astro): Handle errors in middlewares better (#16693)
  • fix(browser): Ensure explicit parentSpan is considered (#16776)
  • fix(node): Avoid using dynamic require for fastify integration (#16789)
  • fix(nuxt): Add sentry/cloudflare as optional peerDependency (#16782)
  • fix(nuxt): Ensure order of plugins is consistent (#16798)
  • fix(nestjs): Fix exception handling in Cron decorated tasks (#16792)

Work in this release was contributed by 0xbad0c0d3 and alSergey. Thank you for your contributions!

9.34.0

Important Changes

  • feat(nuxt): Add Cloudflare Nitro plugin (#15597)

    A Nitro plugin for sentry/nuxt which initializes Sentry when deployed to Cloudflare (cloudflare-pages preset).

    1. Remove the previous server config file: sentry.server.config.ts

    2. Add a plugin in server/plugins (e.g. server/plugins/sentry-cloudflare-setup.ts)

    3. Add this code in your plugin file

      // server/plugins/sentry-cloudflare-setup.ts (filename does not matter)
      import { sentryCloudflareNitroPlugin } from 'sentry/nuxt/module/plugins';
      
      export default defineNitroPlugin(
        sentryCloudflareNitroPlugin({
          dsn: 'https://dsn',
          tracesSampleRate: 1.0,
        }),
      );

      or with access to nitroApp:

      // server/plugins/sentry-cloudflare-setup.ts (filename does not matter)
      import { sentryCloudflareNitroPlugin } from 'sentry/nuxt/module/plugins';
      
      export default defineNitroPlugin(sentryCloudflareNitroPlugin((nitroApp: NitroApp) => {
        // You can access nitroApp here if needed
        return  ({
          dsn: 'https://dsn',
          tracesSampleRate: 1.0,
        })
      }))

Other Changes

  • feat(browser): Record standalone LCP spans (#16591)
  • fix(nuxt): Only add OTel alias in dev mode (#16756)

9.33.0

Important Changes

  • feat: Add opt-in vercelAiIntegration to cloudflare & vercel-edge (#16732)

The vercelAiIntegration is now available as opt-in for the Cloudflare and the Next.js SDK for Vercel Edge.
To use it, add the integration in Sentry.init

Sentry.init({
  tracesSampleRate: 1.0,
  integrations: [Sentry.vercelAIIntegration()],
});

And enable telemetry for Vercel AI calls

const result = await generateText({
  model: openai('gpt-4o'),
  experimental_telemetry: {
    isEnabled: true,
  },
});
  • feat(node): Add postgresjs instrumentation (#16665)

The Node.js SDK now includes instrumentation for Postgres.js.

  • feat(node): Use diagnostics channel for Fastify v5 error handling (#16715)

If you're on Fastify v5, you no longer need to call setupFastifyErrorHandler. It is done automatically by the node SDK. Older versions still rely on calling setupFastifyErrorHandler.

Other Changes

  • feat(cloudflare): Allow interop with OpenTelemetry emitted spans (#16714)
  • feat(cloudflare): Flush after waitUntil (#16681)
  • fix(nextjs): Remove ai from default server external packages (#16736)

Work in this release was contributed by 0xbad0c0d3. Thank you for your contribution!

9.32.0

Important Changes

  • feat(browser): Add CLS sources to span attributes (#16710)

Enhances CLS (Cumulative Layout Shift) spans by adding attributes detailing the elements that caused layout shifts.

  • feat(cloudflare): Add instrumentWorkflowWithSentry to instrument workflows (#16672)

We've added support for Cloudflare Workflows, enabling comprehensive tracing for your workflow runs. This integration uses the workflow's instanceId as the Sentry trace_id and for sampling, linking all steps together. You'll now be able to see full traces, including retries with exponential backoff.

  • feat(pino-transport): Add functionality to send logs to sentry (#16667)

Adds the ability to send logs to Sentry via a pino transport.

Other Changes

  • feat(nextjs): Expose top level buildTime errorHandler option (#16718)
  • feat(node): update pipeline spans to use agent naming (#16712)
  • feat(deps): bump prisma/instrumentation from 6.9.0 to 6.10.1 (#16698)
  • fix(sveltekit): Export logger from sveltekit worker (#16716)
  • fix(google-cloud-serverless): Make CloudEventsContext compatible with CloudEvent (#16705)
  • fix(nextjs): Stop injecting release value when create release options is set to false (#16695)
  • fix(node): account for Object. syntax with local variables matching (#16702)
  • fix(nuxt): Add alias for opentelemetry/resources (#16727)

Work in this release was contributed by flaeppe. Thank you for your contribution!

9.31.0

Important Changes

  • feat(nextjs): Add option for auto-generated random tunnel route (#16626)

Adds an option to automatically generate a random tunnel route for the Next.js SDK. This helps prevent ad blockers and other tools from blocking Sentry requests by using a randomized path instead of the predictable /monitoring endpoint.

  • feat(core): Allow to pass scope & client to getTraceData (#16633)

Adds the ability to pass custom scope and client parameters to the getTraceData function, providing more flexibility when generating trace data for distributed tracing.

Other Changes

  • feat(core): Add support for x-forwarded-host and x-forwarded-proto headers (#16687)
  • deps: Remove unused sentry/opentelemetry dependency (#16677)
  • deps: Update all bundler plugin instances to latest & allow caret ranges (#16641)
  • feat(deps): Bump prisma/instrumentation from 6.8.2 to 6.9.0 (#16608)
  • feat(flags): add node support for generic featureFlagsIntegration and move utils to core (#16585)
  • feat(flags): capture feature flag evaluations on spans (#16485)
  • feat(pino): Add initial package for sentry/pino-transport (#16652)
  • fix: Wait for the correct clientWidth/clientHeight when showing Feedback Screenshot previews (#16648)
  • fix(browser): Remove usage of Array.at() method (#16647)
  • fix(core): Improve safeJoin usage in console logging integration (#16658)
  • fix(google-cloud-serverless): Make CloudEvent type compatible (#16661)
  • fix(nextjs): Fix lookup of instrumentation-client.js file (#16637)
  • fix(node): Ensure graphql errors result in errored spans (#16678)

9.30.0

  • feat(nextjs): Add URL to tags of server components and generation functions issues (#16500)
  • feat(nextjs): Ensure all packages we auto-instrument are externalized (#16552)
  • feat(node): Automatically enable vercelAiIntegration when ai module is detected (#16565)
  • feat(node): Ensure modulesIntegration works in more environments (#16566)
  • feat(core): Don't gate user on logs with sendDefaultPii (#16527)
  • feat(browser): Add detail to measure spans and add regression tests (#16557)
  • feat(node): Update Vercel AI span attributes (#16580)
  • fix(opentelemetry): Ensure only orphaned spans of sent spans are sent (#16590)

9.29.0

Important Changes

  • feat(browser): Update web-vitals to 5.0.2 (#16492)

This release upgrades the web-vitals library to version 5.0.2. This upgrade could slightly change the collected web vital values and potentially also influence alerts and performance scores in the Sentry UI.

Other Changes

  • feat(deps): Bump sentry/rollup-plugin from 3.4.0 to 3.5.0 (#16524)
  • feat(ember): Stop warning for onError usage (#16547)
  • feat(node): Allow to force activate vercelAiIntegration (#16551)
  • feat(node): Introduce ignoreLayersType option to koa integration (#16553)
  • fix(browser): Ensure suppressTracing does not leak when async (#16545)
  • fix(vue): Ensure root component render span always ends (#16488)

9.28.1

  • feat(deps): Bump sentry/cli from 2.45.0 to 2.46.0 (#16516)
  • fix(nextjs): Avoid tracing calls to symbolication server on dev (#16533)
  • fix(sveltekit): Add import attribute for node exports (#16528)

Work in this release was contributed by eltigerchino. Thank you for your contribution!

9.28.0

Important Changes

  • feat(nestjs): Stop creating spans for TracingInterceptor (#16501)

With this change we stop creating spans for TracingInterceptor as this interceptor only serves as an internal helper and adds noise for the user.

  • feat(node): Update vercel ai spans as per new conventions (#16497)

This feature ships updates to the span names and ops to better match OpenTelemetry. This should make them more easily accessible to the new agents module view we are building.

Other Changes

  • fix(sveltekit): Export vercelAIIntegration from sentry/node (#16496)

Work in this release was contributed by agrattan0820. Thank you for your contribution!

9.27.0

  • feat(node): Expand how vercel ai input/outputs can be set (#16455)
  • feat(node): Switch to new semantic conventions for Vercel AI (#16476)
  • feat(react-router): Add component annotation plugin (#16472)
  • feat(react-router): Export wrappers for server loaders and actions (#16481)
  • fix(browser): Ignore unrealistically long INP values (#16484)
  • fix(react-router): Conditionally add ReactRouterServer integration (#16470)

9.26.0

  • feat(react-router): Re-export functions from sentry/react (#16465)
  • fix(nextjs): Skip re instrumentating on generate phase of experimental build mode (#16410)
  • fix(node): Ensure adding sentry-trace and baggage headers via SentryHttpInstrumentation doesn't crash (#16473)

9.25.1

  • fix(otel): Don't ignore child spans after the root is sent (#16416)

9.25.0

Important Changes

  • feat(browser): Add option to ignore mark and measure spans (#16443)

This release adds an option to browserTracingIntegration that lets you ignore
mark and measure spans created from the performance.mark(...) and performance.measure(...) browser APIs:

Sentry.init({
  integrations: [
    Sentry.browserTracingIntegration({
      ignorePerformanceApiSpans: ['measure-to-ignore', /mark-to-ignore/],
    }),
  ],
});

Other Changes

  • feat(browser): Export getTraceData from the browser sdks (#16433)
  • feat(node): Add includeServerName option (#16442)
  • fix(nuxt): Remove setting sentry/nuxt external (#16444)

9.24.0

Important Changes

  • feat(angular): Bump sentry/angular peer dependencies to add Angular 20 support (#16414)

This release adds support for Angular 20 to the Sentry Angular SDK sentry/angular.

Other Changes

  • feat(browser): Add unregisterOriginalCallbacks option to browserApiErrorsIntegration (#16412)
  • feat(core): Add user to logs (#16399)
  • feat(core): Make sure Supabase db query insights are populated (#16169)

9.23.0

Important changes

  • feat(browser): option to ignore certain resource types (#16389)

Adds an option to opt out of certain resource.* spans via ignoreResourceSpans.

For example, to opt out of resource.script spans:

Sentry.browserTracingIntegration({
  ignoreResourceSpans: ['resource.script'],
}),

Other changes

  • feat: Export isEnabled from all SDKs (#16405)
  • feat(browser): Disable client when browser extension is detected in init() (#16354)
  • feat(core): Allow re-use of captureLog (#16352)
  • feat(core): Export _INTERNAL_captureSerializedLog (#16387)
  • feat(deps): bump opentelemetry/semantic-conventions from 1.32.0 to 1.34.0 (#16393)
  • feat(deps): bump prisma/instrumentation from 6.7.0 to 6.8.2 (#16392)
  • feat(deps): bump sentry/cli from 2.43.0 to 2.45.0 (#16395)
  • feat(deps): bump sentry/webpack-plugin from 3.3.1 to 3.5.0 (#16394)
  • feat(nextjs): Include static/chunks/main-* files for widenClientFileUpload (#16406)
  • feat(node): Do not add HTTP & fetch span instrumentation if tracing is disabled (#15730)
  • feat(nuxt): Added support for nuxt layers (#16372)
  • fix(browser): Ensure logs are flushed when sendClientReports=false (#16351)
  • fix(browser): Move browserTracingIntegration code to setup hook (#16386)
  • fix(cloudflare): Capture exceptions thrown in hono (#16355)
  • fix(node): Don't warn about Spotlight on empty NODE_ENV (#16381)
  • fix(node): Suppress Spotlight calls (#16380)
  • fix(nuxt): Add sentry/nuxt as external in Rollup (#16407)
  • fix(opentelemetry): Ensure withScope keeps span active & _getTraceInfoFromScope works (#16385)

Work in this release was contributed by Xenossolitarius. Thank you for your contribution!

9.22.0

Important changes

  • Revert "feat(browser): Track measure detail as span attributes" (#16348)

This is a revert of a feature introduced in 9.20.0 with #16240. This feature was causing crashes in firefox, so we are reverting it. We will re-enable this functionality in the future after fixing the crash.

Other changes

  • feat(deps): bump sentry/rollup-plugin from 3.1.2 to 3.2.1 (#15511)
  • fix(remix): Use generic types for ServerBuild argument and return (#16336)

9.21.0

  • docs: Fix v7 migration link (#14629)
  • feat(node): Vendor in fastify/otel (#16328)
  • fix(nestjs): Handle multiple OnEvent decorators (#16306)
  • fix(node): Avoid creating breadcrumbs for suppressed requests (#16285)
  • fix(remix): Add missing client exports to server and cloudflare entries (#16341)

Work in this release was contributed by phthhieu. Thank you for your contribution!

9.20.0

Important changes

  • feat(browser): Track measure detail as span attributes (#16240)

The SDK now automatically collects details passed to performance.measure options.

Other changes

  • feat(node): Add maxIncomingRequestBodySize (#16225)
  • feat(react-router): Add server action instrumentation (#16292)
  • feat(react-router): Filter manifest requests (#16294)
  • feat(replay): Extend default list for masking with aria-label (#16192)
  • fix(browser): Ensure pageload & navigation spans have correct data (#16279)
  • fix(cloudflare): Account for static fields in wrapper type (#16303)
  • fix(nextjs): Preserve next.route attribute on root spans (#16297)
  • feat(node): Fork isolation scope in tRPC middleware (#16296)
  • feat(core): Add orgId option to init and DSC (sentry-org_id in baggage) (#16305)

9.19.0

  • feat(react-router): Add otel instrumentation for server requests (#16147)
  • feat(remix): Vendor in opentelemetry-instrumentation-remix (#16145)
  • fix(browser): Ensure spans auto-ended for navigations have cancelled reason (#16277)
  • fix(node): Pin fastify/otel fork to direct url to allow installing without git (#16287)
  • fix(react): Handle nested parameterized routes in reactrouterv3 transaction normalization (#16274)

Work in this release was contributed by sidx1024. Thank you for your contribution!

9.18.0

Important changes

  • feat: Support Node 24 (#16236)

We now also publish profiling binaries for Node 24.

Other changes

  • deps(node): Bump import-in-the-middle to 1.13.1 (#16260)
  • feat: Export consoleLoggingIntegration from vercel edge sdk (#16228)
  • feat(cloudflare): Add support for email, queue, and tail handler (#16233)
  • feat(cloudflare): Improve http span data (#16232)
  • feat(nextjs): Add more attributes for generation functions (#16214)
  • feat(opentelemetry): Widen peer dependencies to support Otel v2 (#16246)
  • fix(core): Gracefully handle invalid baggage entries (#16257)
  • fix(node): Ensure traces are propagated without spans in Node 22+ (#16221)
  • fix(node): Use sentry forked fastify/otel dependency with pinned Otel v1 deps (#16256)
  • fix(remix): Remove vendored types (#16218)

9.17.0

  • feat(node): Migrate to fastify/otel (#15542)

9.16.1

  • fix(core): Make sure logs get flushed in server-runtime-client (#16222)
  • ref(node): Remove vercel flushing code that does nothing (#16217)

9.16.0

Important changes

  • feat: Create a Vite plugin that injects sentryConfig into the global config (#16197)

Add a new plugin makeConfigInjectorPlugin within our existing vite plugin that updates the global vite config with sentry options

  • feat(browser): Add option to sample linked traces consistently (#16037)

This PR implements consistent sampling across traces as outlined in (#15754)

  • feat(cloudflare): Add support for durable objects (#16180)

This PR introduces a new instrumentDurableObjectWithSentry method to the SDK, which instruments durable objects. We capture both traces and errors automatically.

  • feat(node): Add Prisma integration by default (#16073)

Prisma integration is enabled by default, it should work for both ESM and CJS.

  • feat(react-router): Add client-side router instrumentation (#16185)

Adds client-side instrumentation for react router's HydratedRouter. To enable it, simply replace browserTracingIntegration() with reactRouterTracingIntegration() in your client-side init call.

  • fix(node): Avoid double-wrapping http module (#16177)

When running your application in ESM mode, there have been scenarios that resulted in the http/https emitting duplicate spans for incoming requests. This was apparently caused by us double-wrapping the modules for incoming request isolation.

In order to solve this problem, the modules are no longer monkey patched by us for request isolation. Instead, we register diagnosticschannel hooks to handle request isolation now.
While this is generally not expected to break anything, there is one tiny change that _may
affect you if you have been relying on very specific functionality:

The ignoreOutgoingRequests option of httpIntegration receives the RequestOptions as second argument. This type is not changed, however due to how the wrapping now works, we no longer pass through the full RequestOptions, but re-construct this partially based on the generated request. For the vast majority of cases, this should be fine, but for the sake of completeness, these are the only fields that may be available there going forward - other fields that may have existed before may no longer be set:

ignoreOutgoingRequests(url: string, {
  method: string;
  protocol: string;
  host: string;
  hostname: string; // same as host
  path: string;
  headers: OutgoingHttpHeaders;
})

Other changes

  • feat(cloudflare): Add logs exports (#16165)
  • feat(vercel-edge): Add logs export (#16166)
  • feat(cloudflare): Read SENTRY_RELEASE from env (#16201)
  • feat(node): Drop http.server spans with 404 status by default (#16205)
  • fix(browser): Respect manually set sentry tracing headers in XHR requests (#16184)
  • fix(core): Respect manually set sentry tracing headers in fetch calls (#16183)
  • fix(feedback): Prevent removeFromDom() from throwing (#16030)
  • fix(node): Use class constructor in docstring for winston transport (#16167)
  • fix(node): Fix vercel flushing logic & add test for it (#16208)
  • fix(node): Fix 404 route handling in express 5 (#16211)
  • fix(logs): Ensure logs can be flushed correctly (#16216)
  • ref(core): Switch to standardized log envelope (#16133)

9.15.0

Important Changes

  • feat: Export wrapMcpServerWithSentry from server packages (#16127)

Exports the wrapMcpServerWithSentry which is our MCP server instrumentation from all the server packages.

  • feat(core): Associate resource/tool/prompt invocations with request span instead of response span (#16126)

Adds a best effort mechanism to associate handler spans for resource, tool and prompt with the incoming message requests instead of the outgoing SSE response.

Other Changes

  • fix: Vercel ai ESM patching (#16152)
  • fix(node): Update version range for module.register (#16125)
  • fix(react-router): Spread unstable_sentryVitePluginOptions correctly (#16156)
  • fix(react): Fix Redux integration failing with reducer injection (#16106)
  • fix(remix): Add ESM-compatible exports (#16124)
  • fix(remix): Avoid rewrapping root loader. (#16136)

Work in this release was contributed by AntoineDuComptoirDesPharmacies. Thank you for your contribution!

9.14.0

Important Changes

  • feat: Add Supabase Integration (#15719)

This PR adds Supabase integration to sentry/core, allowing automatic instrumentation of Supabase client operations (database queries and authentication) for performance monitoring and error tracking.

  • feat(nestjs): Gracefully handle RPC scenarios in SentryGlobalFilter (#16066)

This PR adds better RPC exception handling to sentry/nestjs, preventing application crashes while still capturing errors and warning users when a dedicated filter is needed. The implementation gracefully handles the 'rpc' context type in SentryGlobalFilter to improve reliability in hybrid applications.

  • feat(react-router): Trace propagation (#16070)

This PR adds trace propagation to sentry/react-router by providing utilities to inject trace meta tags into HTML headers and offering a pre-built Sentry-instrumented request handler, improving distributed tracing capabilities across page loads.

Other Changes

  • feat(deps): Bump prisma/instrumentation from 6.5.0 to 6.6.0 (#16102)
  • feat(nextjs): Improve server component data (#15996)
  • feat(nuxt): Log when adding HTML trace meta tags (#16044)
  • fix(node): Make body capturing more robust (#16105)
  • ref(node): Log when incoming request bodies are being captured (#16104)

9.13.0

Important Changes

  • feat(node): Add support for winston logger (#15983)

    Sentry is adding support for structured logging. In this release we've added support for sending logs to Sentry via the winston logger to the Sentry Node SDK (and SDKs that use the Node SDK under the hood like sentry/nestjs). The Logging APIs in the Sentry SDK are still experimental and subject to change.

    const winston = require('winston');
    const Transport = require('winston-transport');
    
    const transport = Sentry.createSentryWinstonTransport(Transport);
    
    const logger = winston.createLogger({
      transports: [transport],
    });
  • feat(core): Add wrapMcpServerWithSentry to instrument MCP servers from modelcontextprotocol/sdk (#16032)

    The Sentry SDK now supports instrumenting MCP servers from the modelcontextprotocol/sdk package. Compatible with versions ^1.9.0 of the modelcontextprotocol/sdk package.

    import { McpServer } from 'modelcontextprotocol/sdk/server/mcp.js';
    
    // Create an MCP server
    const server = new McpServer({
      name: 'Demo',
      version: '1.0.0',
    });
    
    // Use the instrumented server in your application
    const instrumentedServer = Sentry.wrapMcpServerWithSentry(server);
  • feat(core): Move console integration into core and add to cloudflare/vercel-edge (#16024)

    Console instrumentation has been added to sentry/cloudflare and sentry/nextjs Edge Runtime and is enabled by default. Now calls to the console object will be captured as breadcrumbs for those SDKs.

  • feat(bun): Support new Bun.serve APIs (#16035)

    Bun 1.2.6 and above have a new Bun.serve API, which the Bun SDK now supports. The SDK instruments the new routes object that can be used to define routes for the server.

    Thanks to Jarred-Sumner for helping us get this supported!

Other Changes

  • feat(browser): Warn on duplicate browserTracingIntegration (#16042)
  • feat(core): Allow delayed sending with offline transport (#15937)
  • feat(deps): Bump sentry/webpack-plugin from 3.2.4 to 3.3.1 (#16057)
  • feat(vue): Apply stateTransformer to attachments in Pinia Plugin (#16034)
  • fix(core): Run beforeSendLog after we process log (#16019)
  • fix(nextjs): Don't show turbopack warning for newer Next.js canaries (#16065)
  • fix(nextjs): Include patch version 0 for min supported 15.3.0 (#16026)
  • fix(node): Ensure late init works with all integrations (#16016)
  • fix(react-router): Pass unstable_sentryVitePluginOptions to cli instance (#16033)
  • fix(serverless-aws): Overwrite root span name with GraphQL if set (#16010)

9.12.0

Important Changes

  • feat(feedback): Implement highlighting and hiding controls for screenshots (#15951)

    The Sentry SDK now supports highlighting and hiding controls for screenshots in user feedback reports. This functionality is enabled by default.

  • feat(node): Add ignoreIncomingRequestBody callback to httpIntegration (#15959)

    The httpIntegration now supports an optional ignoreIncomingRequestBody callback that can be used to skip capturing the body of incoming requests.

    Sentry.init({
      integrations: [
        Sentry.httpIntegration({
          ignoreIncomingRequestBody: (url, request) => {
            return request.method === 'GET' && url.includes('/api/large-payload');
          },
        }),
      ],
    });

    The ignoreIncomingRequestBody callback receives the URL of the request and should return true if the body should be ignored.

  • Logging Improvements

    Sentry is adding support for structured logging. In this release we've made a variety of improvements to logging functionality in the Sentry SDKs.

    • feat(node): Add server.address to nodejs logs (#16006)
    • feat(core): Add sdk name and version to logs (#16005)
    • feat(core): Add sentry origin attribute to console logs integration (#15998)
    • fix(core): Do not abbreviate message parameter attribute (#15987)
    • fix(core): Prefix release and environment correctly (#15999)
    • fix(node): Make log flushing logic more robust (#15991)

Other Changes

  • build(aws-serverless): Include debug logs in lambda layer SDK bundle (#15974)
  • feat(astro): Add tracking of errors during HTML streaming (#15995)
  • feat(browser): Add onRequestSpanStart hook to browser tracing integration (#15979)
  • feat(deps): Bump sentry/cli from 2.42.3 to 2.43.0 (#16001)
  • feat(nextjs): Add captureRouterTransitionStart hook for capturing navigations (#15981)
  • feat(nextjs): Mark clientside prefetch request spans with http.request.prefetch: true attribute (#15980)
  • feat(nextjs): Un experimentify clientInstrumentationHook (#15992)
  • feat(nextjs): Warn when client was initialized more than once (#15971)
  • feat(node): Add support for SENTRY_DEBUG env variable (#15972)
  • fix(tss-react): Change authToken type to string (#15985)

Work in this release was contributed by Page- and Fryuni. Thank you for your contributions!

9.11.0

  • feat(browser): Add http.redirect_count attribute to browser.redirect span (#15943)
  • feat(core): Add consoleLoggingIntegration for logs (#15955)
  • feat(core): Don't truncate error messages (#15818)
  • feat(core): Emit debug log when transport execution fails (#16009)
  • feat(nextjs): Add release injection in Turbopack (#15958)
  • feat(nextjs): Record turbopack as tag (#15928)
  • feat(nuxt): Base decision on source maps upload only on Nuxt source map settings (#15859)
  • feat(react-router): Add sentryHandleRequest (#15787)
  • fix(node): Use module instead of require for CJS check (#15927)
  • fix(remix): Remove mentions of deprecated ErrorBoundary wrapper (#15930)
  • ref(browser): Temporarily add sentry.previous_trace span attribute (#15957)
  • ref(browser/core): Move all log flushing logic into clients (#15831)
  • ref(core): Improve URL parsing utilities (#15882)

9.10.1

  • fix: Correct sentry-internal/feedback docs to match the code (#15874)
  • deps: Bump bundler plugins to version 3.2.4 (#15909)

9.10.0

Important Changes

  • feat: Add support for logs

    • feat(node): Add logging public APIs to Node SDKs (#15764)
    • feat(core): Add support for beforeSendLog (#15814)
    • feat(core): Add support for parameterizing logs (#15812)
    • fix: Remove critical log severity level (#15824)

    All JavaScript SDKs other than sentry/cloudflare and sentry/deno now support sending logs via dedicated methods as part of Sentry's upcoming logging product.

    Logging is gated by an experimental option, _experiments.enableLogs.

    Sentry.init({
      dsn: 'PUBLIC_DSN',
      // `enableLogs` must be set to true to use the logging features
      _experiments: { enableLogs: true },
    });
    
    const { trace, debug, info, warn, error, fatal, fmt } = Sentry.logger;
    
    trace('Starting database connection', { database: 'users' });
    debug('Cache miss for user', { userId: 123 });
    error('Failed to process payment', { orderId: 'order_123', amount: 99.99 });
    fatal('Database connection pool exhausted', { database: 'users', activeConnections: 100 });
    
    // Structured logging via the `fmt` helper function. When you use `fmt`, the string template and parameters are sent separately so they can be queried independently in Sentry.
    
    info(fmt(`Updated profile for user ${userId}`));
    warn(fmt(`Rate limit approaching for endpoint ${endpoint}. Requests: ${requests}, Limit: ${limit}`));

    With server-side SDKs like sentry/node, sentry/bun or server-side of sentry/nextjs or sentry/sveltekit, you can do structured logging without needing the fmt helper function.

    const { info, warn } = Sentry.logger;
    
    info('User %s logged in successfully', [123]);
    warn('Failed to load user %s data', [123], { errorCode: 404 });

    To filter logs, or update them before they are sent to Sentry, you can use the _experiments.beforeSendLog option.

  • feat(browser): Add diagnoseSdkConnectivity() function to programmatically detect possible connectivity issues (#15821)

    The diagnoseSdkConnectivity() function can be used to programmatically detect possible connectivity issues with the Sentry SDK.

    const result = await Sentry.diagnoseSdkConnectivity();

    The result will be an object with the following properties:

    • "no-client-active": There was no active client when the function was called. This possibly means that the SDK was not initialized yet.
    • "sentry-unreachable": The Sentry SaaS servers were not reachable. This likely means that there is an ad blocker active on the page or that there are other connection issues.
    • undefined: The SDK is working as expected.
  • SDK Tracing Performance Improvements for Node SDKs

    • feat: Stop using dropUndefinedKeys (#15796)
    • feat(node): Only add span listeners for instrumentation when used (#15802)
    • ref: Avoid dropUndefinedKeys for spanToJSON calls (#15792)
    • ref: Avoid using SentryError for PromiseBuffer control flow (#15822)
    • ref: Stop using dropUndefinedKeys in SpanExporter (#15794)
    • ref(core): Avoid using SentryError for event processing control flow (#15823)
    • ref(node): Avoid dropUndefinedKeys in Node SDK init (#15797)
    • ref(opentelemetry): Avoid sampling work for non-root spans (#15820)

    We've been hard at work making performance improvements to the Sentry Node SDKs (sentry/node, sentry/aws-serverless, sentry/nestjs, etc.). We've seen that upgrading from 9.7.0 to 9.10.0 leads to 30-40% improvement in request latency for HTTP web-server applications that use tracing with high sample rates. Non web-server applications and non-tracing applications will see smaller improvements.

Other Changes

  • chore(deps): Bump rrweb to 2.35.0 (#15825)
  • deps: Bump bundler plugins to 3.2.3 (#15829)
  • feat: Always truncate stored breadcrumb messages to 2kb (#15819)
  • feat(nextjs): Disable server webpack-handling for static builds (#15751)
  • fix(nuxt): Don't override Nuxt options if undefined (#15795)

9.9.0

Important Changes

  • feat(nextjs): Support instrumentation-client.ts (#15705)

    Next.js recently added a feature to support client-side (browser) instrumentation via a instrumentation-client.ts file.

    To be forwards compatible, the Sentry Next.js SDK will now pick up instrumentation-client.ts files even on older Next.js versions and add them to your client bundles.
    It is suggested that you either rename your sentry.client.config.ts file to instrumentation-client.ts, or if you already happen to have a instrumentation-client.ts file move the contents of sentry.client.config.ts to instrumentation-client.ts.

  • feat(browser): Add previous_trace span links (#15569)

    The sentry/browser SDK and SDKs based on sentry/browser now emits a link from the first root span of a newly started trace to the root span of a previously started trace. You can control this feature via an option in browserTracingIntegration():

    Sentry.init({
      dsn: 'your-dsn-here'
      integrations: [
        Sentry.browserTracingIntegration({
          // Available settings:
          // - 'in-memory' (default): Stores previous trace information in memory
          // - 'session-storage': Stores previous trace information in the browser's `sessionStorage`
          // - 'off': Disable storing and sending previous trace information
          linkPreviousTrace: 'in-memory',
        }),
      ],
    });
  • feat(browser): Add logger.X methods to browser SDK (#15763)

    For Sentry's upcoming logging product, the SDK now supports sending logs via dedicated methods.

    Sentry.init({
      dsn: 'your-dsn-here',
      _experiments: {
        enableLogs: true, // This is required to use the logging features
      },
    });
    
    Sentry.logger.info('This is a trace message', { userId: 123 });
    // See PR for better documentation

    Please note that the logs product is still in early access. See the link above for more information.

Other Changes

  • feat(browser): Attach host as part of error message to "Failed to fetch" errors (#15729)
  • feat(core): Add parseStringToURL method (#15768)
  • feat(core): Optimize dropUndefinedKeys (#15760)
  • feat(node): Add fastify shouldHandleError (#15771)
  • fix(nuxt): Delete no longer needed Nitro 'close' hook (#15790)
  • perf(nestjs): Remove usage of addNonEnumerableProperty (#15766)
  • ref: Avoid some usage of dropUndefinedKeys() (#15757)
  • ref: Remove some usages of dropUndefinedKeys() (#15781)
  • ref(nextjs): Fix Next.js vercel-edge runtime package information (#15789)

9.8.0

  • feat(node): Implement new continuous profiling API spec (#15635)
  • feat(profiling): Add platform to chunk envelope (#15758)
  • feat(react): Export captureReactException method (#15746)
  • fix(node): Check for res.end before passing to Proxy (#15776)
  • perf(core): Add short-circuits to eventFilters integration (#15752)
  • perf(node): Short circuit flushing on Vercel only for Vercel (#15734)

9.7.0

  • feat(core): Add captureLog method (#15717)
  • feat(remix/cloudflare): Export sentryHandleError (#15726)
  • fix(node): Always flush on Vercel before Lambda freeze (#15602)
  • fix(node): Ensure incoming traces are propagated without HttpInstrumentation (#15732)
  • fix(node): Use fatal level for unhandled rejections in strict mode (#15720)
  • fix(nuxt): Delete Nuxt server template injection (#15749)

9.6.1

  • feat(deps): bump prisma/instrumentation from 6.4.1 to 6.5.0 (#15714)
  • feat(deps): bump sentry/cli from 2.42.2 to 2.42.3 (#15711)
  • fix(nextjs): Re-patch router if it is overridden by Next.js (#15721)
  • fix(nuxt): Add Nitro Rollup plugin to inject Sentry server config (#15710)
  • chore(deps): Bump rollup to 4.35.0 (#15651)

9.6.0

Important Changes

  • feat(tanstackstart): Add sentry/tanstackstart-react package and make sentry/tanstackstart package a utility package (#15629)

    Since TanStack Start is supposed to be a generic framework that supports libraries like React and Solid, the sentry/tanstackstart SDK package was renamed to sentry/tanstackstart-react to reflect that the SDK is specifically intended to be used for React TanStack Start applications.
    Note that the TanStack Start SDK is still in alpha status and may be subject to breaking changes in non-major package updates.

Other Changes

  • feat(astro): Accept all vite-plugin options (#15638)
  • feat(deps): bump sentry/webpack-plugin from 3.2.1 to 3.2.2 (#15627)
  • feat(tanstackstart): Refine initial API (#15574)
  • fix(core): Ensure fill only patches functions (#15632)
  • fix(nextjs): Consider pageExtensions when looking for instrumentation file (#15701)
  • fix(remix): Null-check options (#15610)
  • fix(sveltekit): Correctly parse angle bracket type assertions for auto instrumentation (#15578)
  • fix(sveltekit): Guard process variable (#15605)

Work in this release was contributed by angelikatyborska and nwalters512. Thank you for your contributions!

9.5.0

Important Changes

⚠️ Changelog content truncated by 37222 characters because it was over the limit (60000) and wouldn't fit into PR description.

@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch from 030274a to 1345289 Compare March 4, 2025 03:13
@github-actions github-actions bot added the dependencies Pull requests that update a dependency file label Mar 4, 2025
@github-actions github-actions bot requested a review from antonis as a code owner March 4, 2025 03:13
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 7 times, most recently from cfd5581 to 03257a4 Compare March 5, 2025 14:46
@github-actions github-actions bot changed the title chore(deps): update JavaScript SDK to v9.3.0 chore(deps): update JavaScript SDK to v9.4.0 Mar 5, 2025
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch from 03257a4 to 90749e3 Compare March 5, 2025 18:24
@github-actions github-actions bot changed the title chore(deps): update JavaScript SDK to v9.4.0 chore(deps): update JavaScript SDK to v9.5.0 Mar 7, 2025
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 10 times, most recently from 833bcf6 to ed685c1 Compare March 13, 2025 17:20
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 3 times, most recently from f337332 to dfdeff3 Compare March 14, 2025 13:44
@github-actions github-actions bot changed the title chore(deps): update JavaScript SDK to v9.5.0 chore(deps): update JavaScript SDK to v9.6.0 Mar 18, 2025
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch from dfdeff3 to ed9b7cd Compare March 18, 2025 03:16
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 2 times, most recently from 0ceddbc to 08f9c56 Compare June 18, 2025 03:27
@github-actions github-actions bot changed the title chore(deps): update JavaScript SDK to v9.29.0 chore(deps): update JavaScript SDK to v9.30.0 Jun 18, 2025
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 4 times, most recently from 9fb99ee to 0e20349 Compare June 23, 2025 13:17
@github-actions github-actions bot changed the title chore(deps): update JavaScript SDK to v9.30.0 chore(deps): update JavaScript SDK to v9.31.0 Jun 24, 2025
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 3 times, most recently from 4e70f8f to 1b101f5 Compare June 24, 2025 16:15
@github-actions github-actions bot changed the title chore(deps): update JavaScript SDK to v9.31.0 chore(deps): update JavaScript SDK to v9.32.0 Jun 26, 2025
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 4 times, most recently from 1a2b905 to 0c1fe8c Compare June 26, 2025 10:05
@github-actions github-actions bot changed the title chore(deps): update JavaScript SDK to v9.32.0 chore(deps): update JavaScript SDK to v9.33.0 Jun 28, 2025
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 3 times, most recently from 35b7dd1 to 730d21e Compare July 1, 2025 09:54
@github-actions github-actions bot changed the title chore(deps): update JavaScript SDK to v9.33.0 chore(deps): update JavaScript SDK to v9.34.0 Jul 1, 2025
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 5 times, most recently from e978d63 to 16e1784 Compare July 4, 2025 12:03
@github-actions github-actions bot changed the title chore(deps): update JavaScript SDK to v9.34.0 chore(deps): update JavaScript SDK to v9.35.0 Jul 4, 2025
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch from 16e1784 to 2183915 Compare July 4, 2025 12:09
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch from 2183915 to 353118a Compare July 4, 2025 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants