Skip to content

chore(deps): update Android SDK to v8.8.0#865

Merged
romtsn merged 1 commit intomainfrom
deps/scripts/update-android.sh/8.8.0
Apr 18, 2025
Merged

chore(deps): update Android SDK to v8.8.0#865
romtsn merged 1 commit intomainfrom
deps/scripts/update-android.sh/8.8.0

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

Bumps scripts/update-android.sh from 8.5.0 to 8.8.0.

Auto-generated by a dependency updater.

Changelog

8.8.0

Features

  • Add CoroutineExceptionHandler for reporting uncaught exceptions in coroutines to Sentry (#4259)
    • This is now part of sentry-kotlin-extensions and can be used together with SentryContext when launching a coroutine
    • Any exceptions thrown in a coroutine when using the handler will be captured (not rethrown!) and reported to Sentry
    • It's also possible to extend CoroutineExceptionHandler to implement custom behavior in addition to the one we provide by default

Fixes

  • Use thread context classloader when available (#4320)
    • This ensures correct resource loading in environments like Spring Boot where the thread context classloader is used for resource loading.
  • Improve low memory breadcrumb capturing (#4325)
  • Fix do not initialize SDK for Jetpack Compose Preview builds (#4324)
  • Fix Synchronize Baggage values (#4327)

Improvements

  • Make SystemEventsBreadcrumbsIntegration faster (#4330)

8.7.0

Features

  • UI Profiling GA

    Continuous Profiling is now GA, named UI Profiling. To enable it you can use one of the following options. More info can be found at https://docs.sentry.io/platforms/android/profiling/.
    Note: Both options.profilesSampler and options.profilesSampleRate must not be set to enable UI Profiling.
    To keep the same transaction-based behaviour, without the 30 seconds limitation, you can use the trace lifecycle mode.

    <application>
      <!-- Enable UI profiling, adjust in production env. This is evaluated only once per session -->
      <meta-data android:name="io.sentry.traces.profiling.session-sample-rate" android:value="1.0" />
      <!-- Set profiling lifecycle, can be `manual` (controlled through `Sentry.startProfiler()` and `Sentry.stopProfiler()`) or `trace` (automatically starts and stop a profile whenever a sampled trace starts and finishes) -->
      <meta-data android:name="io.sentry.traces.profiling.lifecycle" android:value="trace" />
      <!-- Enable profiling on app start. The app start profile will be stopped automatically when the app start root span finishes -->
      <meta-data android:name="io.sentry.traces.profiling.start-on-app-start" android:value="true" />
    </application>
    import io.sentry.ProfileLifecycle;
    import io.sentry.android.core.SentryAndroid;
    
    SentryAndroid.init(context, options -> {
        // Enable UI profiling, adjust in production env. This is evaluated only once per session
        options.setProfileSessionSampleRate(1.0);
        // Set profiling lifecycle, can be `manual` (controlled through `Sentry.startProfiler()` and `Sentry.stopProfiler()`) or `trace` (automatically starts and stop a profile whenever a sampled trace starts and finishes)
        options.setProfileLifecycle(ProfileLifecycle.TRACE);
        // Enable profiling on app start. The app start profile will be stopped automatically when the app start root span finishes
        options.setStartProfilerOnAppStart(true);
      });
    import io.sentry.ProfileLifecycle
    import io.sentry.android.core.SentryAndroid
    
    SentryAndroid.init(context, { options ->
      // Enable UI profiling, adjust in production env. This is evaluated only once per session
      options.profileSessionSampleRate = 1.0
      // Set profiling lifecycle, can be `manual` (controlled through `Sentry.startProfiler()` and `Sentry.stopProfiler()`) or `trace` (automatically starts and stop a profile whenever a sampled trace starts and finishes)
      options.profileLifecycle = ProfileLifecycle.TRACE
      // Enable profiling on app start. The app start profile will be stopped automatically when the app start root span finishes
      options.isStartProfilerOnAppStart = true
      })
    • Continuous Profiling - Stop when app goes in background (#4311)
    • Continuous Profiling - Add delayed stop (#4293)
    • Continuous Profiling - Out of Experimental (#4310)

Fixes

  • Compress Screenshots on a background thread (#4295)

8.6.0

Behavioral Changes

  • The Sentry SDK will now crash on startup if mixed versions have been detected (#4277)
    • On Sentry.init / SentryAndroid.init the SDK now checks if all Sentry Java / Android SDK dependencies have the same version.
    • While this may seem like a bad idea at first glance, mixing versions of dependencies has a very high chance of causing a crash later. We opted for a controlled crash that's hard to miss.
    • Note: This detection only works for new versions of the SDK, so please take this as a reminder to check your SDK version alignment manually when upgrading the SDK to this version and then you should be good.
    • The SDK will also print log messages if mixed versions have been detected at a later point. (#4270)
      • This takes care of cases missed by the startup check above due to older versions.

Features

  • Increase http timeouts from 5s to 30s to have a better chance of events being delivered without retry (#4276)
  • Add MANIFEST.MF to Sentry JARs (#4272)
  • Retain baggage sample rate/rand values as doubles (#4279)
  • Introduce fatal SDK logger (#4288)
    • We use this to print out messages when there is a problem that prevents the SDK from working correctly.
    • One example for this is when the SDK has been configured with mixed dependency versions where we print out details, which module and version are affected.

Fixes

  • Do not override user-defined SentryOptions (#4262)
  • Session Replay: Change bitmap config to ARGB_8888 for screenshots (#4282)
  • The MANIFEST.MF of sentry-opentelemetry-agent now has Implementation-Version set to the raw version (#4291)
    • An example value would be 8.6.0
    • The value of the Sentry-Version-Name attribute looks like sentry-8.5.0-otel-2.10.0
  • Fix tags missing for compose view hierarchies (#4275)
  • Do not leak SentryFileInputStream/SentryFileOutputStream descriptors and channels (#4296)
  • Remove "not yet implemented" from Sentry.flush comment (#4305)

Internal

  • Added platform to SentryEnvelopeItemHeader (#4287)
    • Set android platform to ProfileChunk envelope item header

Dependencies

@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-android.sh/8.8.0 branch from 60e8f88 to 9f9a02c Compare April 15, 2025 03:20
@romtsn romtsn merged commit a92bf41 into main Apr 18, 2025
19 checks passed
@romtsn romtsn deleted the deps/scripts/update-android.sh/8.8.0 branch April 18, 2025 11:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants