Skip to content

8.52.0

Latest

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 05 Aug 15:03

Fixes

  • Restore the interrupt flag when cached envelope processing is interrupted between files (#5884)
  • Reduce false-positive SDK crash attribution for host app SQLite cursor crashes (#5883)
  • Prevent inflated cold app start when the OS spawns the process in the background (e.g. FCM push) on API 35+ (#5841, #5880)
  • Preserve single-sample ANR profile chunks so profiles remain available on ANR events (#5872)
  • Avoid a CPU busy-loop when recording discarded log or metric envelopes under rate limiting (#5835)
    • ClientReportRecorder now reads the item count from the envelope item header instead of deserializing the payload, which under sustained rate limiting could pin CPU cores while repeatedly throwing exceptions
  • Report tasks handed to a no-op ISentryExecutorService as cancelled (#5874)
    • NoOpSentryExecutorService previously returned a Future that was never run and never cancelled, so callers could not tell a dropped task from a queued one and get() would block until its timeout

Performance

  • Defer use of reflection by SentryFrameMetricsCollector during Sentry.init (#5886)
  • Avoid waiting up to shutdownTimeoutMillis when closing the SDK with a pending transaction timeout or session-end task (#5851)
  • Use RGB_565 instead of ARGB_8888 for screenshot and replay capture bitmaps, halving per-frame memory usage (#5821)
  • Remove an unused lock from SentryPerformanceProvider, which was allocated on every cold start in ContentProvider.onCreate without ever being acquired (#5871)
  • Reduce main-thread allocations when parsing the app start profiling config (#5867)
  • Batch and coalesce scope-persistence disk writes to reduce startup cost (#5791)
    • Scope mutations are now coalesced (latest value per field) and breadcrumbs are appended in batches behind a single fsync, instead of one synchronous disk write per mutation.
  • Reduce the number of SDK threads: the HostnameCache worker thread now times out while idle instead of staying alive for the whole process lifetime (#5817)

Dependencies