Skip to content

Releases: getsentry/sentry-java

6.26.0

19 Jul 07:41
Compare
Choose a tag to compare

Features

  • (Internal) Extend APIs for hybrid SDKs (#2814, #2846)

Fixes

  • Fix ANRv2 thread dump parsing for native-only threads (#2839)
  • Derive TracingContext values from event for ANRv2 events (#2839)

6.25.2

14 Jul 08:47
Compare
Choose a tag to compare

Fixes

  • Change Spring Boot, Apollo, Apollo 3, JUL, Logback, Log4j2, OpenFeign, GraphQL and Kotlin coroutines core dependencies to compileOnly (#2837)

6.25.1

12 Jul 09:46
Compare
Choose a tag to compare

Fixes

  • Allow removing integrations in SentryAndroid.init (#2826)
  • Fix concurrent access to frameMetrics listener (#2823)

Dependencies

6.25.0

04 Jul 13:25
Compare
Choose a tag to compare

Features

  • Add manifest AutoInit to integrations list (#2795)
  • Tracing headers (sentry-trace and baggage) are now attached and passed through even if performance is disabled (#2788)

Fixes

  • Set environment from SentryOptions if none persisted in ANRv2 (#2809)
  • Remove code that set tracesSampleRate to 0.0 for Spring Boot if not set (#2800)
    • This used to enable performance but not send any transactions by default.
    • Performance is now disabled by default.
  • Fix slow/frozen frames were not reported with transactions (#2811)

Dependencies

6.24.0

22 Jun 14:49
Compare
Choose a tag to compare

Features

  • Add debouncing mechanism and before-capture callbacks for screenshots and view hierarchies (#2773)
  • Improve ANRv2 implementation (#2792)
    • Add a proguard rule to keep ApplicationNotResponding class from obfuscation
    • Add a new option setReportHistoricalAnrs; when enabled, it will report all of the ANRs from the getHistoricalExitReasons list.
      By default, the SDK only reports and enriches the latest ANR and only this one counts towards ANR rate.
      Worth noting that this option is mainly useful when updating the SDK to the version where ANRv2 has been introduced, to report all ANRs happened prior to the SDK update. After that, the SDK will always pick up the latest ANR from the historical exit reasons list on next app restart, so there should be no historical ANRs to report.
      These ANRs are reported with the HistoricalAppExitInfo mechanism.
    • Add a new option setAttachAnrThreadDump to send ANR thread dump from the system as an attachment.
      This is only useful as additional information, because the SDK attempts to parse the thread dump into proper threads with stacktraces by default.
    • If ApplicationExitInfo#getTraceInputStream returns null, the SDK no longer reports an ANR event, as these events are not very useful without it.
    • Enhance regex patterns for native stackframes

6.23.0

15 Jun 11:46
Compare
Choose a tag to compare

Features

  • Add profile rate limiting (#2782)
  • Support for automatically capturing Failed GraphQL (Apollo 3) Client errors (#2781)
import com.apollographql.apollo3.ApolloClient
import io.sentry.apollo3.sentryTracing

val apolloClient = ApolloClient.Builder()
    .serverUrl("https://example.com/graphql")
    .sentryTracing(captureFailedRequests = true)    
    .build()

Dependencies

6.22.0

07 Jun 11:24
Compare
Choose a tag to compare

Features

  • Add lock attribute to the SentryStackFrame protocol to better highlight offending frames in the UI (#2761)
  • Enrich database spans with blocked main thread info (#2760)
  • Add api_target to Request and data to Response Protocols (#2775)

Fixes

  • No longer use String.join in Baggage as it requires API level 26 (#2778)

6.21.0

31 May 08:11
Compare
Choose a tag to compare

Features

  • Introduce new sentry-android-sqlite integration (#2722)
    • This integration replaces the old androidx.sqlite database instrumentation in the Sentry Android Gradle plugin
    • A new capability to manually instrument your androidx.sqlite databases.
      • You can wrap your custom SupportSQLiteOpenHelper instance into SentrySupportSQLiteOpenHelper(myHelper) if you're not using the Sentry Android Gradle plugin and still benefit from performance auto-instrumentation.
  • Add SentryWrapper for Callable and Supplier Interface (#2720)
  • Load sentry-debug-meta.properties (#2734)
    • This enables source context for Java
    • For more information on how to enable source context, please refer to #633

Fixes

  • Finish WebFlux transaction before popping scope (#2724)
  • Use daemon threads for SentryExecutorService (#2747)
    • We started using SentryExecutorService in 6.19.0 which caused the application to hang on shutdown unless Sentry.close() was called. By using daemon threads we no longer block shutdown.
  • Use Base64.NO_WRAP to avoid unexpected char errors in Apollo (#2745)
  • Don't warn R8 on missing ComposeViewHierarchyExporter class (#2743)

6.20.0

26 May 11:57
Compare
Choose a tag to compare

Features

  • Add support for Sentry Kotlin Compiler Plugin (#2695)
    • In conjunction with our sentry-kotlin-compiler-plugin we improved Jetpack Compose support for
  • More granular http requests instrumentation with a new SentryOkHttpEventListener (#2659)
    • Create spans for time spent on:
      • Proxy selection
      • DNS resolution
      • HTTPS setup
      • Connection
      • Requesting headers
      • Receiving response
    • You can attach the event listener to your OkHttpClient through client.eventListener(new SentryOkHttpEventListener()).addInterceptor(new SentryOkHttpInterceptor()).build();
    • In case you already have an event listener you can use the SentryOkHttpEventListener as well through client.eventListener(new SentryOkHttpEventListener(myListener)).addInterceptor(new SentryOkHttpInterceptor()).build();
  • Add a new option to disable RootChecker (#2735)

Fixes

  • Base64 encode internal Apollo3 Headers (#2707)
  • Fix SentryTracer crash when scheduling auto-finish of a transaction, but the timer has already been cancelled (#2731)
  • Fix AndroidTransactionProfiler crash when finishing a profile that happened due to race condition (#2731)

6.19.1

19 May 10:18
Compare
Choose a tag to compare

Fixes

  • Ensure screenshots and view hierarchies are captured on the main thread (#2712)