Skip to content

Releases: getsentry/sentry-java

6.32.0

18 Oct 16:11
Compare
Choose a tag to compare

Features

  • Make DebugImagesLoader public (#2993)

Fixes

  • Make SystemEventsBroadcastReceiver exported on API 33+ (#2990)
    • This will fix the SystemEventsBreadcrumbsIntegration crashes that you might have encountered on Play Console

6.31.0

12 Oct 17:14
Compare
Choose a tag to compare

Features

  • Improve default debouncing mechanism (#2945)
  • Add CheckInUtils.withCheckIn which abstracts away some of the manual check-ins complexity (#2959)
  • Add @SentryCaptureExceptionParameter annotation which captures exceptions passed into an annotated method (#2764)
    • This can be used to replace Sentry.captureException calls in @ExceptionHandler of a @ControllerAdvice
  • Add ServerWebExchange to Hint for WebFlux as WEBFLUX_EXCEPTION_HANDLER_EXCHANGE (#2977)
  • Allow filtering GraphQL errors (#2967)
    • This list can be set directly when calling the constructor of SentryInstrumentation
    • For Spring Boot it can also be set in application.properties as sentry.graphql.ignored-error-types=SOME_ERROR,ANOTHER_ERROR

Fixes

  • Add OkHttp span auto-close when response body is not read (#2923)
  • Fix json parsing of nullable/empty fields for Hybrid SDKs (#2968)
    • (Internal) Rename nextList to nextListOrNull to actually match what the method does
    • (Hybrid) Check if there's any object in a collection before trying to parse it (which prevents the "Failed to deserilize object in list" log message)
    • (Hybrid) If a date can't be parsed as an ISO timestamp, attempts to parse it as millis silently, without printing a log message
    • (Hybrid) If op is not defined as part of SpanContext, fallback to an empty string, because the filed is optional in the spec
  • Always attach OkHttp errors and Http Client Errors only to call root span (#2961)
  • Fixed crash accessing Choreographer instance (#2970)

Dependencies

7.0.0-beta.1

29 Sep 07:31
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
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