github getsentry/sentry-java 8.28.0

2 hours ago

Features

  • Android: Flush logs when app enters background (#4951)
  • Add option to capture additional OkHttp network request/response details in session replays (#4919)
    • Depends on SentryOkHttpInterceptor to intercept the request and extract request/response bodies
    • To enable, add url regexes via the io.sentry.session-replay.network-detail-allow-urls metadata tag in AndroidManifest (code sample)
      • Or you can manually specify SentryReplayOptions via SentryAndroid#init:
        (Make sure you disable the auto init via manifest meta-data: io.sentry.auto-init=false)
Kotlin
SentryAndroid.init(
    this,
    options -> {
      // options.dsn = "https://examplePublicKey@o0.ingest.sentry.io/0"
      // options.sessionReplay.sessionSampleRate = 1.0
      // options.sessionReplay.onErrorSampleRate = 1.0
      // ..

      options.sessionReplay.networkDetailAllowUrls = listOf(".*")
      options.sessionReplay.networkDetailDenyUrls = listOf(".*deny.*")
      options.sessionReplay.networkRequestHeaders = listOf("Authorization", "X-Custom-Header", "X-Test-Request")
      options.sessionReplay.networkResponseHeaders = listOf("X-Response-Time", "X-Cache-Status", "X-Test-Response")
    });
Java
SentryAndroid.init(
    this,
    options -> {
        options.getSessionReplay().setNetworkDetailAllowUrls(Arrays.asList(".*"));
        options.getSessionReplay().setNetworkDetailDenyUrls(Arrays.asList(".*deny.*"));
        options.getSessionReplay().setNetworkRequestHeaders(
            Arrays.asList("Authorization", "X-Custom-Header", "X-Test-Request"));
        options.getSessionReplay().setNetworkResponseHeaders(
            Arrays.asList("X-Response-Time", "X-Cache-Status", "X-Test-Response"));
    });

Improvements

  • Avoid forking rootScopes for Reactor if current thread has NoOpScopes (#4793)
    • This reduces the SDKs overhead by avoiding unnecessary scope forks

Fixes

  • Fix missing thread stacks for ANRv1 events (#4918)
  • Fix handling of unparseable mime-type on request filter (#4939)

Internal

  • Support span envelope item type (#4935)

Dependencies

Don't miss a new sentry-java release

NewReleases is sending notifications on new releases.