Skip to content

Releases: getsentry/sentry-java

7.15.0 (Stable)

09 Oct 17:10
Compare
Choose a tag to compare

Features

  • Add support for feedback envelope header item type (#3687)
  • Add breadcrumb.origin field (#3727)
  • Session Replay: Add options to selectively mask/unmask views captured in replay. The following options are available: (#3689)
    • android:tag="sentry-mask|sentry-unmask" in XML or view.setTag("sentry-mask|sentry-unmask") in code tags
      • if you already have a tag set for a view, you can set a tag by id: <tag android:id="@id/sentry_privacy" android:value="mask|unmask"/> in XML or view.setTag(io.sentry.android.replay.R.id.sentry_privacy, "mask|unmask") in code
    • view.sentryReplayMask() or view.sentryReplayUnmask() extension functions
    • mask/unmask Views of a certain type by adding fully-qualified classname to one of the lists options.experimental.sessionReplay.addMaskViewClass() or options.experimental.sessionReplay.addUnmaskViewClass(). Note, that all of the view subclasses/subtypes will be masked/unmasked as well
      • For example, (this is already a default behavior) to mask all TextViews and their subclasses (RadioButton, EditText, etc.): options.experimental.sessionReplay.addMaskViewClass("android.widget.TextView")
      • If you're using code obfuscation, adjust your proguard-rules accordingly, so your custom view class name is not minified
  • Session Replay: Support Jetpack Compose masking (#3739)
    • To selectively mask/unmask Composables, use Modifier.sentryReplayMask() and Modifier.sentryReplayUnmask() modifiers
  • Session Replay: Mask WebView, VideoView and androidx.media3.ui.PlayerView by default (#3775)

Fixes

  • Avoid stopping appStartProfiler after application creation (#3630)
  • Session Replay: Correctly detect dominant color for TextViews with Spans (#3682)
  • Fix ensure Application Context is used even when SDK is initialized via Activity Context (#3669)
  • Fix potential ANRs due to Calendar.getInstance usage in Breadcrumbs constructor (#3736)
  • Fix potential ANRs due to default integrations (#3778)
  • Lazily initialize heavy SentryOptions members to avoid ANRs on app start (#3749)

Breaking changes:

  • options.experimental.sessionReplay.errorSampleRate was renamed to options.experimental.sessionReplay.onErrorSampleRate (#3637)
  • Manifest option io.sentry.session-replay.error-sample-rate was renamed to io.sentry.session-replay.on-error-sample-rate (#3637)
  • Change redactAllText and redactAllImages to maskAllText and maskAllImages (#3741)

7.15.0-alpha.1

30 Aug 10:55
Compare
Choose a tag to compare
7.15.0-alpha.1 Pre-release
Pre-release

Features

  • Add support for setting sentry-native handler_strategy (#3671)

Dependencies

7.14.0 (Stable)

13 Aug 08:46
Compare
Choose a tag to compare

Features

  • Session Replay: Gesture/touch support for Flutter (#3623)

Fixes

  • Fix app start spans missing from Pixel devices (#3634)
  • Avoid ArrayIndexOutOfBoundsException on Android cpu data collection (#3598)
  • Fix lazy select queries instrumentation (#3604)
  • Session Replay: buffer mode improvements (#3622)
    • Align next segment timestamp with the end of the buffered segment when converting from buffer mode to session mode
    • Persist buffer replay type for the entire replay when converting from buffer mode to session mode
    • Properly store screen names for buffer mode
  • Session Replay: fix various crashes and issues (#3628)
    • Fix video not being encoded on Pixel devices
    • Fix SIGABRT native crashes on Xiaomi devices when encoding a video
    • Fix RejectedExecutionException when redacting a screenshot
    • Fix FileNotFoundException when persisting segment values

Chores

  • Introduce ReplayShadowMediaCodec and refactor tests using custom encoder (#3612)

7.13.0

31 Jul 09:05
Compare
Choose a tag to compare

Features

  • Session Replay: (#3565) (#3609)
    • Capture remaining replay segment for ANRs on next app launch
    • Capture remaining replay segment for unhandled crashes on next app launch

Fixes

  • Session Replay: (#3565) (#3609)
    • Fix stopping replay in session mode at 1 hour deadline
    • Never encode full frames for a video segment, only do partial updates. This further reduces size of the replay segment
    • Use propagation context when no active transaction for ANRs

Dependencies

  • Bump Spring Boot to 3.3.2 (#3541)

7.12.1

25 Jul 12:01
Compare
Choose a tag to compare

Fixes

  • Check app start spans time and ignore background app starts (#3550)
    • This should eliminate long-lasting App Start transactions

7.12.0

15 Jul 17:30
Compare
Choose a tag to compare

Features

  • Session Replay Public Beta (#3339)

    To enable Replay use the sessionReplay.sessionSampleRate or sessionReplay.errorSampleRate experimental options.

    import io.sentry.SentryReplayOptions
    import io.sentry.android.core.SentryAndroid
    
    SentryAndroid.init(context) { options ->
     
      // Currently under experimental options:
      options.experimental.sessionReplay.sessionSampleRate = 1.0 // We suggest 0.1 in production (10% sessions sampled)
      options.experimental.sessionReplay.errorSampleRate = 1.0
    
      // To change default redaction behavior (defaults to true)
      options.experimental.sessionReplay.redactAllImages = true
      options.experimental.sessionReplay.redactAllText = true
    
      // To change quality of the recording (defaults to MEDIUM)
      options.experimental.sessionReplay.quality = SentryReplayOptions.SentryReplayQuality.MEDIUM // (LOW|MEDIUM|HIGH)
    }

    To learn more visit Sentry's Mobile Session Replay documentation page.

7.12.0-alpha.4

09 Jul 14:50
Compare
Choose a tag to compare
7.12.0-alpha.4 Pre-release
Pre-release
  • Session Replay for Android (#3339)

We released our fifth Alpha version of the SDK with support. To get access, it requires adding your Sentry org to our feature flag. Please let us know on the waitlist if you're interested

8.0.0-alpha.4

08 Jul 07:00
Compare
Choose a tag to compare
8.0.0-alpha.4 Pre-release
Pre-release

Fixes

  • Removed user segment (#3512)
  • Use span id of remote parent (#3548)
    • Traces were broken because on an incoming request, OtelSentrySpanProcessor did not set the parentSpanId on the span correctly. Traces were not referencing the actual parent span but some other (random) span ID which the server doesn't know.
  • Attach active span to scope when using OpenTelemetry (#3549)
    • Errors weren't linked to traces correctly due to parts of the SDK not knowing the current span
  • Record dropped spans in client report when sampling out OpenTelemetry spans (#3552)
  • Retrieve the correct current span from Scope/Scopes when using OpenTelemetry (#3554)

8.0.0-alpha.3

03 Jul 13:57
Compare
Choose a tag to compare
8.0.0-alpha.3 Pre-release
Pre-release

Breaking Changes

  • sentry-android-okhttp has been removed in favor of sentry-okhttp, removing android dependency from the module (#3510)

Fixes

  • Support spans that are split into multiple batches (#3539)
    • When spans belonging to a single transaction were split into multiple batches for SpanExporter, we did not add all spans because the isSpanTooOld check wasn't inverted.
  • Parse and use send-default-pii and max-request-body-size from sentry.properties (#3534)
  • span.startChild now uses .makeCurrent() by default (#3544)
    • This caused an issue where the span tree wasn't correct because some spans were not added to their direct parent
  • Partially fix bootstrap class loading (#3543)
    • There was a problem with two separate Sentry Scopes being active inside each OpenTelemetry Context due to using context keys from more than one class loader.

7.12.0-alpha.3

03 Jul 18:04
Compare
Choose a tag to compare
7.12.0-alpha.3 Pre-release
Pre-release
  • Session Replay for Android (#3339)

We released our fourth Alpha version of the SDK with support. To get access, it requires adding your Sentry org to our feature flag. Please let us know on the waitlist if you're interested