Skip to content

Releases: getsentry/sentry-java

7.0.0-beta.1

29 Sep 07:31

Choose a tag to compare

7.0.0-beta.1 Pre-release
Pre-release

Features

Breaking changes:

  • Capture failed HTTP requests by default (#2794)
  • Reduce flush timeout to 4s on Android to avoid ANRs (#2858)
  • Set ip_address to {{auto}} by default, even if sendDefaultPII is disabled (#2860)
    • Instead use the "Prevent Storing of IP Addresses" option in the "Security & Privacy" project settings on sentry.io
  • Reduce timeout of AsyncHttpTransport to avoid ANR (#2879)
  • Add deadline timeout for automatic transactions (#2865)
    • This affects all automatically generated transactions on Android (UI, clicks), the default timeout is 30s
  • Apollo v2 BeforeSpanCallback now allows returning null (#2890)
  • Automatic user interaction tracking: every click now starts a new automatic transaction (#2891)
    • Previously performing a click on the same UI widget twice would keep the existing transaction running, the new behavior now better aligns with other SDKs
  • Android only: If global hub mode is enabled, Sentry.getSpan() returns the root span instead of the latest span (#2855)
  • Observe network state to upload any unsent envelopes (#2910)
  • Do not try to send and drop cached envelopes when rate-limiting is active (#2937)

Fixes

  • Measure AppStart time till First Draw instead of onResume (#2851)
  • Do not overwrite UI transaction status if set by the user (#2852)
  • Capture unfinished transaction on Scope with status aborted in case a crash happens (#2938)
    • This will fix the link between transactions and corresponding crashes, you'll be able to see them in a single trace

Breaking changes:

  • Move enableNdk from SentryOptions to SentryAndroidOptions (#2793)
  • Fix Coroutine Context Propagation using CopyableThreadContextElement, requires kotlinx-coroutines-core version 1.6.1 or higher (#2838)
  • Bump min API to 19 (#2883)
  • Fix don't overwrite the span status of unfinished spans (#2859)
    • If you're using a self hosted version of sentry, sentry self hosted >= 22.12.0 is required
  • Migrate from default interface methods to proper implementations in each interface implementor (#2847)
    • This prevents issues when using the SDK on older AGP versions (< 4.x.x)
    • Make sure to align Sentry dependencies to the same version when bumping the SDK to 7.+, otherwise it will crash at runtime due to binary incompatibility.
      (E.g. if you're using -timber, -okhttp or other packages)

6.30.0

28 Sep 08:10

Choose a tag to compare

Features

  • Add sendModules option for disable sending modules (#2926)
  • Send db.system and db.name in span data for androidx.sqlite spans (#2928)
  • Check-ins (CRONS) support (#2952)
    • Add API for sending check-ins (CRONS) manually (#2935)
    • Support check-ins (CRONS) for Quartz (#2940)
    • @SentryCheckIn annotation and advice config for Spring (#2946)
    • Add option for ignoring certain monitor slugs (#2943)

Fixes

  • Always send memory stats for transactions (#2936)
    • This makes it possible to query transactions by the device.class tag on Sentry
  • Add sentry.enable-aot-compatibility property to SpringBoot Jakarta SentryAutoConfiguration to enable building for GraalVM (#2915)

Dependencies

6.29.0

06 Sep 07:38

Choose a tag to compare

Features

  • Send db.system and db.name in span data (#2894)
  • Send http.request.method in span data (#2896)
  • Add enablePrettySerializationOutput option for opting out of pretty print (#2871)

6.28.0

04 Aug 12:50

Choose a tag to compare

Features

  • Add HTTP response code to Spring WebFlux transactions (#2870)
  • Add sampled to Dynamic Sampling Context (#2869)
  • Improve server side GraphQL support for spring-graphql and Nextflix DGS (#2856)
    • If you have already been using SentryDataFetcherExceptionHandler that still works but has been deprecated. Please use SentryGenericDataFetcherExceptionHandler combined with SentryInstrumentation instead for better error reporting.
    • More exceptions and errors caught and reported to Sentry by also looking at the ExecutionResult (more specifically its errors)
    • More details for Sentry events: query, variables and response (where possible)
    • Breadcrumbs for operation (query, mutation, subscription), data fetchers and data loaders (Spring only)
    • Better hub propagation by using GraphQLContext
  • Add autoconfigure modules for Spring Boot called sentry-spring-boot and sentry-spring-boot-jakarta (#2880)
    • The autoconfigure modules sentry-spring-boot and sentry-spring-boot-jakarta have a compileOnly dependency on spring-boot-starter which is needed for our auto installation in sentry-android-gradle-plugin
    • The starter modules sentry-spring-boot-starter and sentry-spring-boot-starter-jakarta now bring spring-boot-starter as a dependency
  • You can now disable Sentry by setting the enabled option to false (#2840)

Fixes

  • Propagate OkHttp status to parent spans (#2872)

6.27.0

26 Jul 07:43

Choose a tag to compare

Features

  • Add TraceOrigin to Transactions and Spans (#2803)

Fixes

  • Deduplicate events happening in multiple threads simultaneously (e.g. OutOfMemoryError) (#2845)
    • This will improve Crash-Free Session Rate as we no longer will send multiple Session updates with Crashed status, but only the one that is relevant
  • Ensure no Java 8 method reference sugar is used for Android (#2857)
  • Do not send session updates for terminated sessions (#2849)

6.26.0

19 Jul 07:41

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

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

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

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

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