github getsentry/sentry-java 8.3.0

19 hours ago

Features

  • Add HTTP server request headers from OpenTelemetry span attributes to sentry request in payload (#4102)
    • You have to explicitly enable each header by adding it to the OpenTelemetry config
    • Please only enable headers you actually want to send to Sentry. Some may contain sensitive data like PII, cookies, tokens etc.
    • We are no longer adding request/response headers to contexts/otel/attributes of the event.
  • The ignoredErrors option is now configurable via the manifest property io.sentry.traces.ignored-errors (#4178)
  • A list of active Spring profiles is attached to payloads sent to Sentry (errors, traces, etc.) and displayed in the UI when using our Spring or Spring Boot integrations (#4147)
    • This consists of an empty list when only the default profile is active
  • Added enableTraceIdGeneration to the AndroidOptions. This allows Hybrid SDKs to "freeze" and control the trace and connect errors on different layers of the application (4188)
  • Move to a single NetworkCallback listener to reduce number of IPC calls on Android (#4164)
  • Add GraphQL Apollo Kotlin 4 integration (#4166)
  • Add support for async dispatch requests to Spring Boot 2 and 3 (#3983)
    • To enable it, please set sentry.keep-transactions-open-for-async-responses=true in application.properties or sentry.keepTransactionsOpenForAsyncResponses: true in application.yml
  • Add constructor to JUL SentryHandler for disabling external config (#4208)

Fixes

  • Filter strings that cannot be parsed as Regex no longer cause an SDK crash (#4213)
    • This was the case e.g. for ignoredErrors, ignoredTransactions and ignoredCheckIns
    • We now simply don't use such strings for Regex matching and only use them for String comparison
  • SentryOptions.setTracePropagationTargets is no longer marked internal (#4170)
  • Session Replay: Fix crash when a navigation breadcrumb does not have "to" destination (#4185)
  • Session Replay: Cap video segment duration to maximum 5 minutes to prevent endless video encoding in background (#4185)
  • Check tracePropagationTargets in OpenTelemetry propagator (#4191)
    • If a URL can be retrieved from OpenTelemetry span attributes, we check it against tracePropagationTargets before attaching sentry-trace and baggage headers to outgoing requests
    • If no URL can be retrieved we always attach the headers
  • Fix ignoredErrors, ignoredTransactions and ignoredCheckIns being unset by external options like sentry.properties or ENV vars (#4207)
    • Whenever parsing of external options was enabled (enableExternalConfiguration), which is the default for many integrations, the values set on SentryOptions passed to Sentry.init would be lost
    • Even if the value was not set in any external configuration it would still be set to an empty list

Behavioural Changes

  • The class io.sentry.spring.jakarta.webflux.ReactorUtils is now deprecated, please use io.sentry.reactor.SentryReactorUtils in the new sentry-reactor module instead (#4155)
    • The new module will be exposed as an api dependency when using sentry-spring-boot-jakarta (Spring Boot 3) or sentry-spring-jakarta (Spring 6).
      Therefore, if you're using one of those modules, changing your imports will suffice.

Don't miss a new sentry-java release

NewReleases is sending notifications on new releases.