github getsentry/sentry-java 8.61.0

5 hours ago

Fixes

  • Session Replay: Backfill release, environment and SDK info for replays sent on the next launch after the app was killed or crashed (#6253)
  • Fix SDK callback error handling (#6140)
    • Drop telemetry when a beforeSend* callback throws and report it using DiscardReason.CALLBACK_ERROR.
    • Drop transactions when tracesSampler throws instead of inheriting the parent sampling decision or falling back to tracesSampleRate (#6163).
    • Drop spans when beforeSpan throws without disrupting requests, covering OkHttp, OpenFeign, GraphQL, Ktor, and Apollo—including Apollo 5 (#6167, #6238).
    • Drop telemetry and record callback_error when a customer event processor throws instead of continuing with a potentially partially processed item. SDK-owned processor failures are logged and processing continues.
    • Drop breadcrumbs when beforeBreadcrumb throws instead of storing exception details on the breadcrumb.
    • No longer fail Spring requests when a TransactionNameProvider throws, falling back to <unlabeled transaction> (#6241).
    • No longer fail Spring requests when a SentryUserProvider throws and overwrite the user with an empty user object (#6240).
    • Disable profiling when profilesSampler throws instead of falling back to profilesSampleRate or inheriting the parent profiling decision (#6164).
    • Report attached profiles dropped by transaction callback errors as callback_error in client reports and OnDiscardCallback (#6166).
    • Skip replay capture when beforeErrorSampling throws while retaining the error event (#6165).
    • Skip Android screenshots or view hierarchies when their capture callbacks throw while retaining the error event (#6167).
    • Keep the Android feedback form available when its options configurator throws (#6239).
    • Isolate nonfatal callback throwables while continuing to propagate fatal JVM errors (#6251).

Internal

  • Hold the hostname cache on SentryOptions instead of a static singleton (#6117)

Dependencies

Don't miss a new sentry-java release

NewReleases is sending notifications on new releases.