Skip to content

Update dependency io.sentry:sentry to v8.51.0 - #1285

Merged
prof18 merged 1 commit into
mainfrom
renovate/sentry
Aug 2, 2026
Merged

Update dependency io.sentry:sentry to v8.51.0#1285
prof18 merged 1 commit into
mainfrom
renovate/sentry

Conversation

@renovate

@renovate renovate Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
io.sentry:sentry 8.47.08.51.0 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

getsentry/sentry-java (io.sentry:sentry)

v8.51.0

Compare Source

Features
  • Use Android's ProfilingManager (Perfetto) for continuous profiling on API 35+ devices (#​5251)
    • On API 35+ devices, continuous profiling now automatically uses Android's system ProfilingManager with Perfetto-based stack sampling, providing lower-overhead and more accurate profiles. No configuration change is required.
    • Devices below API 35 keep using the legacy Debug-based profiler.
    • Added an enableLegacyProfiling option (default true) to disable the legacy Debug-based profiler. Setting it to false disables continuous profiling on API < 35 devices as well as transaction-based profiling (profilesSampleRate/profilesSampler) on all devices, since transaction-based profiling is not supported by Perfetto.
    • It can also be configured via the io.sentry.profiling.enable-legacy-profiling manifest flag.
    • See the Android profiling docs for details.
Behavioral Changes
  • The outbox and cache directories are no longer created by Sentry.init (#​5792)
    • They are now created lazily by whichever component first writes into them, off the init thread. As a result, the directories at SentryOptions.getOutboxPath() and SentryOptions.getCacheDirPath() are not guaranteed to exist once Sentry.init returns.
    • If you write envelopes into the outbox path yourself instead of going through the SDK — as hybrid SDKs do for captureEnvelope — create the directory first, e.g. new File(outboxPath).mkdirs().
Improvements
  • Skip building Android manifest metadata debug log messages when debug logging is disabled, reducing allocations during SDK init (#​5790)
Fixes
  • Use the original app build's ProGuard UUID for ANR profile chunks (#​5852)
  • Fix potential ANR/deadlock in Session Replay when checkCanRecord runs on the replay executor thread (#​5837)
  • Prevent concurrent PixelCopy access during Session Replay masking and bitmap cleanup (#​5808)
  • Release MediaMuxer when the replay video encoder fails to start to avoid a resource leak (#​5607)
  • Set the correct platform (android instead of java) on ANR profile chunks so they are billed as UI Profile Hours rather than Continuous Profile Hours (#​5836)
  • Skip encoding and capturing buffered session replay segments while rate-limited, so we don't waste resources on envelopes the transport will drop (#​5813)
    • These skipped replays are now reported as ratelimit_backoff discarded events in client reports, so they no longer disappear from drop statistics. One event is recorded per buffer flush rather than per segment.
    • Buffer mode is also kept while rate-limited instead of switching to session mode, so the rolling buffer stays warm and the next error after the rate limit expires can send a complete replay.
Performance
  • Create the outbox and cache directories lazily in their consumers instead of during SDK init, moving the mkdirs() calls off the init (main) thread (#​5792)
  • Reduce the number of SDK threads: LifecycleWatcher now schedules the session-end task on the shared timer executor instead of creating a dedicated java.util.Timer thread (#​5819)
  • Reduce the number of SDK threads: RateLimiter now schedules its rate-limit-lifted notifications on the shared timer executor instead of creating a dedicated java.util.Timer thread (#​5814)
  • Speed up deserialization of arbitrary JSON objects by typing numbers without throwing exceptions (#​5783)
Dependencies

v8.50.1

Compare Source

Fixes
  • Pin the published Sentry Android SDK's AAR metadata minCompileSdk to our minSdk (21) instead of AGP 9's new default of the SDK's own compileSdk (37), so apps that depend on the SDK aren't forced to raise their compileSdk (#​5823)

v8.50.0

Compare Source

Android 17 support
  • We've put Android 17 through a set of rigorous tests. We're now officially giving it the Sentry stamp of compatibility .(#​5796)
Fixes
  • Reduce main-thread work during Sentry.init by resolving the shake-detector accelerometer off the main thread (~1.75ms on a Pixel 10) (#​5784)
  • Backfill release, environment, distribution, tags, and app version/build—and use the matching replay-on-error sample rate—for ApplicationExitInfo ANR and native crash events captured before SDK initialization, without reusing options cached by a later app update (#​5762)
  • SentryTagModifierNode.isImportantForBounds now matches the default behavior and returns true (#​5789)
  • Prevent a StackOverflowError when a beforeSend, beforeBreadcrumb, beforeSendLog, or beforeEnvelope callback triggers another capture (directly or through a logging integration such as Timber) (#​5737)
    • Captures made from within a user callback (event, transaction, breadcrumb, log, envelope, or check-in) are now dropped while that callback runs, instead of recursing. Captures made by event processors are unaffected.
  • Replace deprecated ThrowableProxy with LogEvent#getThrown() in sentry-log4j2 (#​5751)
Dependencies

v8.49.0

Compare Source

Features
  • Session Replay: Record segment names (transaction names) (#​5763)

  • Add io.sentry:sentry-opentelemetry-bom to align Sentry OpenTelemetry modules with tested OpenTelemetry dependencies (#​5629)

    • Spring Boot Gradle plugin: add the Sentry BOM to dependencyManagement; explicit imports are applied after Spring Boot's implicit BOM
      dependencyManagement {
        imports {
          mavenBom("io.sentry:sentry-opentelemetry-bom:<sentry-version>")
        }
      }
    • Gradle: import it as a platform and omit versions from Sentry OpenTelemetry and OpenTelemetry dependencies
      implementation(platform("io.sentry:sentry-opentelemetry-bom:<sentry-version>"))
    • Maven: import it before Spring Boot's BOM in the same <dependencyManagement> block, or in the child POM when using spring-boot-starter-parent
      <dependency>
        <groupId>io.sentry</groupId>
        <artifactId>sentry-opentelemetry-bom</artifactId>
        <version>${sentry.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
Fixes
  • Session Replay: Fix first recording segment missing for replays in buffer mode (#​5753)
  • Session Replay: Fix error-to-replay linkage in buffer mode (#​5754)
  • Prevent logs and metrics from remaining queued after a flush scheduling race (#​5756)
  • Fix main thread identification for tombstone (native crash) events (#​5742)
  • Prevent malformed JDBC URLs, which may contain credentials, from being printed to stdout (#​5656)
  • Restrict JVM-global proxy authentication credentials to challenges from the configured proxy host (#​5656)
  • Sanitize Spring 7 and Spring Jakarta WebClient span descriptions to prevent embedded URL credentials from being sent to Sentry (#​5656)
  • Respect tracePropagationTargets when injecting Sentry tracing headers through the OpenTelemetry OTLP propagator (#​5656)
Performance
  • Schedule transaction idle/deadline timeouts on a shared, dedicated executor instead of spawning a Timer thread per transaction (#​5670)
Dependencies
  • Bump OpenTelemetry to support Spring Boot 4.1 (#​5573)
    • If this causes issues for you because you are also using Spring Boot Dependency Management Plugin (io.spring.dependency-management),
      which may downgrade the OpenTelemetry SDK, please have a look at the changelog entry above that explains how to use sentry-opentelemetry-bom.
    • OpenTelemetry to 1.63.0 (was 1.60.1)
    • OpenTelemetry Instrumentation to 2.29.0 (was 2.26.0)
    • OpenTelemetry Instrumentation Alpha to 2.29.0-alpha (was 2.26.0-alpha)
    • OpenTelemetry Semantic Conventions to 1.42.0 (was 1.40.0)
    • OpenTelemetry Semantic Conventions Alpha to 1.42.0-alpha (was 1.40.0-alpha)
  • Bump Native SDK from v0.15.2 to v0.15.3 (#​5728)

v8.48.0

Compare Source

Features
  • Add Sentry.extendAppStart(), Sentry.finishExtendedAppStart(), and Sentry.getExtendedAppStartSpan() to extend the app start measurement past the first frame for extra launch-time work on Android (#​5604)

    • Requires standalone app start tracing (options.isEnableStandaloneAppStartTracing). Call extendAppStart() in Application.onCreate after SDK init and finishExtendedAppStart() when done:
    Sentry.extendAppStart()
    
    // Optionally, retrieve the extended app start span to attach your own child spans
    val child = Sentry.getExtendedAppStartSpan()?.startChild("preload", "Preload resources")
    // ... extra launch-time work ...
    child?.finish()
    
    Sentry.finishExtendedAppStart()
  • Add trace_metric_byte data category and record byte-level client reports when trace metrics are discarded (#​5626)

  • Expose sentry-native's heartbeat-based app-hang detection through SentryAndroidOptions (#​5623)

    • Enable via setEnableNdkAppHangTracking(true) (disabled by default) and tune the timeout with setNdkAppHangTimeoutIntervalMillis(...) (default 5000 ms), or the io.sentry.ndk.app-hang.enable / io.sentry.ndk.app-hang.timeout-interval-millis manifest entries
    • Intended for hybrid SDKs: emit the heartbeat by calling the native sentry_app_hang_heartbeat() from the thread you want monitored. Independent of the JVM-based ANR detection (setAnrEnabled)
  • Support the io.sentry.tombstone.report-historical manifest option to enable historical tombstone reporting via AndroidManifest.xml <meta-data> (#​5683)

Fixes
  • Fix NoSuchMethodError from using Math.floorDiv/Math.floorMod overloads that are unavailable on Java 8 (#​5743)
  • Fix main thread identification parsing for ApplicationExitInfo ANRs (#​5733)
  • Do not send threads without stacktraces for ApplicationExitInfo ANRs (#​5733)
  • Record byte-level client reports when event processors discard logs or trace metrics (#​5718)
  • Name the device-info caching thread SentryDeviceInfoCache so all threads spawned by the SDK are identifiable (#​5684)
  • Apply byte-category rate limits to log and trace metric envelope items (#​5716)
Performance
  • Skip Hint allocation in Scope.addBreadcrumb when no beforeBreadcrumb callback is set (#​5689)
  • Speed up scope persistence by detecting the Sentry executor thread via a marker instead of a Thread.getName() name scan on every scope mutation (#​5691)
  • Remove executor prewarm during SDK init (#​5681)
    • The single-threaded SentryExecutorService queued the prewarm work ahead of the first useful task, so it could only delay init work, never speed it up; the thread and class loading it warmed are paid identically by the first real task submitted right after.
Dependencies

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/sentry branch from f7c6c36 to f14fb37 Compare July 16, 2026 10:36
@renovate renovate Bot changed the title Update dependency io.sentry:sentry to v8.48.0 Update dependency io.sentry:sentry to v8.49.0 Jul 16, 2026
@renovate
renovate Bot force-pushed the renovate/sentry branch 3 times, most recently from a6b3bc9 to 3a3ce9f Compare July 22, 2026 15:37
@renovate renovate Bot changed the title Update dependency io.sentry:sentry to v8.49.0 Update dependency io.sentry:sentry to v8.50.0 Jul 22, 2026
@renovate
renovate Bot force-pushed the renovate/sentry branch from 3a3ce9f to 6308cc1 Compare July 24, 2026 08:14
@renovate renovate Bot changed the title Update dependency io.sentry:sentry to v8.50.0 Update dependency io.sentry:sentry to v8.50.1 Jul 24, 2026
@renovate
renovate Bot force-pushed the renovate/sentry branch from 6308cc1 to dc4d62a Compare July 29, 2026 19:06
@renovate renovate Bot changed the title Update dependency io.sentry:sentry to v8.50.1 Update dependency io.sentry:sentry to v8.51.0 Jul 29, 2026
@renovate
renovate Bot force-pushed the renovate/sentry branch from dc4d62a to 162484a Compare August 2, 2026 10:19
@prof18
prof18 merged commit 53c92a0 into main Aug 2, 2026
4 checks passed
@prof18
prof18 deleted the renovate/sentry branch August 2, 2026 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant