github getsentry/sentry-java 8.47.0

6 hours ago

Behavioral Changes

  • SentryOkHttpInterceptor::intercept now throws IOException. This is a source-only and Java-only breaking change (#5654)

Fixes

  • Don't start a redundant UI interaction transaction when a transaction is already bound to the Scope (#5491)
    • Previously, SentryGestureListener always started a UI transaction and only afterwards skipped binding it to the Scope when a manually-bound transaction already existed, leaving the new transaction to be dropped as an idle transaction without children.
  • Fix potential NPE within Scope.endSession() (#5657)
  • Fix memory leak in ReplayIntegration due to persisting executor not being shut down (#5627)
  • Fix AbstractMethodError when compose-ui 1.11+ is used in combination with Modifier.sentryTag() or the Sentry Kotlin compiler plugin (#5672)

Performance

  • Speed up touch gesture target detection on deeply nested view hierarchies by hit-testing in local coordinates instead of calling getLocationOnScreen per view (#5595)
  • Probe class availability without initializing the class during SDK init (#5635)
  • Avoid constructing an exception per view when resolving view ids during view-hierarchy and gesture capture (#5631)
  • Start the frame metrics thread lazily on first collection instead of during SDK init (#5641)
  • Reduce SentryId and SpanId allocation overhead by replacing their per-instance LazyEvaluator (and its lock) with a lightweight lazily-generated String. (#5645)
  • Lazily allocate the ReentrantLock backing AutoClosableReentrantLock to avoid eager lock allocations for SDK objects that never contend during SentryAndroid.init (#5643)

Don't miss a new sentry-java release

NewReleases is sending notifications on new releases.