Skip to content

fix(deps): update dependency io.sentry:sentry to v8.39.1#877

Open
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/io.sentry-sentry-8.x
Open

fix(deps): update dependency io.sentry:sentry to v8.39.1#877
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/io.sentry-sentry-8.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Aug 28, 2025

This PR contains the following updates:

Package Change Age Confidence
io.sentry:sentry 8.19.18.39.1 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.39.1

Compare Source

Fixes
  • Fix JsonObjectReader and MapObjectReader hanging indefinitely when deserialization errors leave the reader in an inconsistent state (#​5293)
    • Failed collection values are now skipped so parsing can continue
    • Skipped collection values emit WARNING logs
    • Unknown-key failures and unrecoverable recovery failures emit ERROR logs

v8.39.0

Compare Source

Fixes
  • Fix ANR caused by GestureDetectorCompat Handler/MessageQueue lock contention in SentryWindowCallback (#​5138)
Internal
  • Bump AGP version from v8.6.0 to v8.13.1 (#​5063)
Dependencies

v8.38.0

Compare Source

Features
  • Prevent cross-organization trace continuation (#​5136)
    • By default, the SDK now extracts the organization ID from the DSN (e.g. o123.ingest.sentry.io) and compares it with the sentry-org_id value in incoming baggage headers. When the two differ, the SDK starts a fresh trace instead of continuing the foreign one. This guards against accidentally linking traces across organizations.
    • New option enableStrictTraceContinuation (default false): when enabled, both the SDK's org ID and the incoming baggage org ID must be present and match for a trace to be continued. Traces with a missing org ID on either side are rejected. Configurable via code (setStrictTraceContinuation(true)), sentry.properties (enable-strict-trace-continuation=true), Android manifest (io.sentry.strict-trace-continuation.enabled), or Spring Boot (sentry.strict-trace-continuation=true).
    • New option orgId: allows explicitly setting the organization ID for self-hosted and Relay setups where it cannot be extracted from the DSN. Configurable via code (setOrgId("123")), sentry.properties (org-id=123), Android manifest (io.sentry.org-id), or Spring Boot (sentry.org-id=123).
  • Android: Attachments on the scope will now be synced to native (#​5211)
  • Add THIRD_PARTY_NOTICES.md for vendored third-party code, bundled as SENTRY_THIRD_PARTY_NOTICES.md in the sentry JAR under META-INF (#​5186)
Improvements
  • Do not retrieve ActivityManager if API < 35 on SDK init (#​5275)

v8.37.1

Compare Source

Fixes
  • Fix deadlock in SentryContextStorage.root() with virtual threads and OpenTelemetry agent (#​5234)

v8.37.0

Compare Source

Fixes
  • Session Replay: Fix Compose text masking mismatch with weighted text (#​5218)
Features
  • Add cache tracing instrumentation for Spring Boot 2, 3, and 4 (#​5165)
    • Wraps Spring CacheManager and Cache beans to produce cache spans
    • Set sentry.enable-cache-tracing to true to enable this feature
  • Add JCache (JSR-107) cache tracing via new sentry-jcache module (#​5165)
    • Wraps JCache Cache with SentryJCacheWrapper to produce cache spans
    • Set the enableCacheTracing option to true to enable this feature
  • Add configurable IScopesStorageFactory to SentryOptions for providing a custom IScopesStorage, e.g. when the default ThreadLocal-backed storage is incompatible with non-pinning thread models (#​5199)
  • Android: Add beforeErrorSampling callback to Session Replay (#​5214)
    • Allows filtering which errors trigger replay capture before the onErrorSampleRate is checked
    • Returning false skips replay capture entirely for that error; returning true proceeds with the normal sample rate check
    • Example usage:
      SentryAndroid.init(context) { options ->
          options.sessionReplay.beforeErrorSampling =
              SentryReplayOptions.BeforeErrorSamplingCallback { event, hint ->
                  // Only capture replay for crashes (excluding e.g. handled exceptions)
                  event.isCrashed
              }
      }
Dependencies
  • Bump Native SDK from v0.13.2 to v0.13.3 (#​5215)
  • Bump OpenTelemetry (#​5225)
    • opentelemetry to 1.60.1 (was 1.57.0)
    • opentelemetry-instrumentation to 2.26.0 (was 2.23.0)
    • opentelemetry-instrumentation-alpha to 2.26.0-alpha (was 2.23.0-alpha)
    • opentelemetry-semconv to 1.40.0 (was 1.37.0)
    • opentelemetry-semconv-alpha to 1.40.0-alpha (was 1.37.0-alpha)

v8.36.0

Compare Source

Features
  • Show feedback form on device shake (#​5150)
    • Enable via options.getFeedbackOptions().setUseShakeGesture(true) or manifest meta-data io.sentry.feedback.use-shake-gesture
    • Uses the device's accelerometer — no special permissions required
Fixes
  • Support masking/unmasking and click/scroll detection for Jetpack Compose 1.10+ (#​5189)
Dependencies
  • Bump Native SDK from v0.13.1 to v0.13.2 (#​5181)
  • Bump com.abovevacant:epitaph to 0.1.1 to avoid old D8/R8 dexing crashes in downstream Android builds on old AGP versions such as 7.4.x. (#​5200)

v8.35.0

Compare Source

Fixes
  • Android: Remove the dependency on protobuf-lite for tombstones (#​5157)
Features
  • Add new experimental option to capture profiles for ANRs (#​4899)
    • This feature will capture a stack profile of the main thread when it gets unresponsive
    • The profile gets attached to the ANR event on the next app start, providing a flamegraph of the ANR issue on the sentry issue details page
    • Enable via options.setAnrProfilingSampleRate(<sample-rate>) or AndroidManifest.xml: <meta-data android:name="io.sentry.anr.profiling.sample-rate" android:value="[0.0-1.0]" />
    • The sample rate controls the probability of collecting a profile for each detected foreground ANR (0.0 to 1.0, null to disable)
Behavioral Changes
  • Add enableAnrFingerprinting option which assigns static fingerprints to ANR events with system-only stacktraces
    • When enabled, ANRs whose stacktraces contain only system frames (e.g. java.lang or android.os) are grouped into a single issue instead of creating many separate issues
    • This will help to reduce overall ANR issue noise in the Sentry dashboard
    • IMPORTANT: This option is enabled by default.
    • Disable via options.setEnableAnrFingerprinting(false) or AndroidManifest.xml: <meta-data android:name="io.sentry.anr.enable-fingerprinting" android:value="false" />

v8.34.1

Compare Source

Fixes
  • Common: Finalize previous session even when auto session tracking is disabled (#​5154)
  • Android: Add filterTouchesWhenObscured to prevent Tapjacking on user feedback dialog (#​5155)
  • Android: Add proguard rules to prevent error about missing Replay classes (#​5153)

v8.34.0

Compare Source

Features
  • Allow configuring shutdown and session flush timeouts externally (#​4641)
    • sentry.properties: shutdown-timeout-millis, session-flush-timeout-millis
    • Environment variables: SENTRY_SHUTDOWN_TIMEOUT_MILLIS, SENTRY_SESSION_FLUSH_TIMEOUT_MILLIS
    • Spring Boot application.properties: sentry.shutdownTimeoutMillis, sentry.sessionFlushTimeoutMillis
  • Add scope-level attributes API (#​5118) via (#​5148)
    • Automatically include scope attributes in logs and metrics (#​5120)
    • New APIs are Sentry.setAttribute, Sentry.setAttributes, Sentry.removeAttribute
  • Support collections and arrays in attribute type inference (#​5124)
  • Add support for SENTRY_SAMPLE_RATE environment variable / sample-rate property (#​5112)
  • Create sentry-opentelemetry-otlp and sentry-opentelemetry-otlp-spring modules for combining OpenTelemetry SDK OTLP export with Sentry SDK (#​5100)
    • OpenTelemetry is configured to send spans to Sentry directly using an OTLP endpoint.
    • Sentry only uses trace and span ID from OpenTelemetry (via OpenTelemetryOtlpEventProcessor) but will not send spans through OpenTelemetry nor use OpenTelemetry Context for Scopes propagation.
    • See the OTLP setup docs for Java and Spring Boot for installation and configuration instructions.
  • Add screenshot masking support using view hierarchy (#​5077)
    • Masks sensitive content (text, images) in error screenshots using the same view hierarchy approach as Session Replay
    • Requires the sentry-android-replay module to be present at runtime for masking to work
    • Enable via code:
      SentryAndroid.init(context) { options ->
          options.isAttachScreenshot = true
          options.screenshot.setMaskAllText(true)
          options.screenshot.setMaskAllImages(true)
          // Or mask specific view classes
          options.screenshot.addMaskViewClass("com.example.MyCustomView")
      }
    • Or via AndroidManifest.xml:
      <meta-data android:name="io.sentry.attach-screenshot" android:value="true" />
      <meta-data android:name="io.sentry.screenshot.mask-all-text" android:value="true" />
      <meta-data android:name="io.sentry.screenshot.mask-all-images" android:value="true" />
  • The ManifestMetaDataReader now read the DIST (#​5107)
Fixes
  • Fix attribute type detection for Long, Short, Byte, BigInteger, AtomicInteger, and AtomicLong being incorrectly inferred as double instead of integer (#​5122)
  • Remove AndroidRuntimeManager StrictMode relaxation to prevent ANRs during SDK init (#​5127)
    • IMPORTANT: StrictMode violations may appear again in debug builds. This is intentional to prevent ANRs in production releases.
  • Fix crash when unregistering SystemEventsBroadcastReceiver with try-catch block. (#​5106)
  • Use peekDecorView instead of getDecorView in SentryGestureListener to avoid forcing view hierarchy construction (#​5134)
  • Log an actionable error message when Relay returns HTTP 413 (Content Too Large) (#​5115)
    • Also switch the client report discard reason for all HTTP 4xx/5xx errors (except 429) from network_error to send_error
  • Trim DSN string before parsing to avoid URISyntaxException caused by trailing whitespace (#​5113)
  • Reduce allocations and bytecode instructions during Sentry.init (#​5135)
Dependencies

v8.33.0

Compare Source

Features
  • Add installGroupsOverride parameter to Build Distribution SDK for programmatic filtering, with support for configuration via properties file using io.sentry.distribution.install-groups-override (#​5066)
Fixes
  • When merging tombstones with Native SDK, use the tombstone message if the Native SDK didn't explicitly provide one. (#​5095)
  • Fix thread leak caused by eager creation of SentryExecutorService in SentryOptions (#​5093)
    • There were cases where we created options that ended up unused but we failed to clean those up.
  • Attach user attributes to logs and metrics regardless of sendDefaultPii (#​5099)
  • No longer log a warning if a logging integration cannot initialize Sentry due to missing DSN (#​5075)
    • While this may have been useful to some, it caused lots of confusion.
  • Session Replay: Add androidx.camera.view.PreviewView to default maskedViewClasses to mask camera previews by default. (#​5097)
Dependencies
Internal
  • Add integration to track session replay custom masking (#​5070)

v8.32.0

Compare Source

Features
  • Add installGroups property to Build Distribution SDK (#​5062)
  • Update Android targetSdk to API 36 (Android 16) (#​5016)
  • Add AndroidManifest support for Spotlight configuration via io.sentry.spotlight.enable and io.sentry.spotlight.url (#​5064)
  • Collect database transaction spans (BEGIN, COMMIT, ROLLBACK) (#​5072)
    • To enable creation of these spans, set options.enableDatabaseTransactionTracing to true
    • enable-database-transaction-tracing=true when using sentry.properties
    • For Spring Boot, use sentry.enable-database-transaction-tracing=true in application.properties or in application.yml:
      sentry:
        enable-database-transaction-tracing: true
  • Add support for collecting native crashes using Tombstones (#​4933, #​5037)
    • Added Tombstone integration that detects native crashes using ApplicationExitInfo.REASON_CRASH_NATIVE on Android 12+
    • Crashes enriched with Tombstones contain more crash details and detailed thread info
    • Tombstone and NDK integrations are now automatically merged into a single crash event, eliminating duplicate reports
    • To enable it, add the integration in your Sentry initialization:
      SentryAndroid.init(context, options -> {
          options.isTombstoneEnabled = true
      })
      or in the AndroidManifest.xml using:
      <meta-data android:name="io.sentry.tombstone.enable" android:value="true" />
Fixes
  • Extract SpotlightIntegration to separate sentry-spotlight module to prevent insecure HTTP URLs from appearing in release APKs (#​5064)
    • Breaking: Users who enable Spotlight must now add the io.sentry:sentry-spotlight dependency:
      dependencies {
          debugImplementation("io.sentry:sentry-spotlight:<version>")
      }
  • Fix scroll target detection for Jetpack Compose (#​5017)
  • No longer fork Sentry Scopes for reactor-kafka consumer poll Runnable (#​5080)
    • This was causing a memory leak because reactor-kafka's poll event reschedules itself infinitely, and each invocation of SentryScheduleHook created forked scopes with a parent reference, building an unbounded chain that couldn't be garbage collected.
  • Fix cold/warm app start type detection for Android devices running API level 34+ (#​4999)
Internal
  • Establish new native exception mechanisms to differentiate events generated by sentry-native from ApplicationExitInfo. (#​5052)
  • Set write permission for statuses in the changelog preview GHA workflow. (#​5053)
Dependencies

v8.31.0

Compare Source

Features
  • Added io.sentry.ndk.sdk-name Android manifest option to configure the native SDK's name (#​5027)
  • Replace sentry.trace.parent_span_id attribute with spanId property on SentryLogEvent (#​5040)
Fixes
  • Only attach user attributes to logs if sendDefaultPii is enabled (#​5036)
  • Reject new logs if LoggerBatchProcessor is shutting down (#​5041)
  • Downgrade protobuf-javalite dependency from 4.33.1 to 3.25.8 (#​5044)
Dependencies

v8.30.0

Compare Source

Fixes
  • Fix ANRs when collecting device context (#​4970)
    • IMPORTANT: This disables collecting external storage size (total/free) by default, to enable it back
      use options.isCollectExternalStorageContext = true or <meta-data android:name="io.sentry.external-storage-context" android:value="true" />
  • Fix NullPointerException when reading ANR marker (#​4979)
  • Report discarded log in batch processor as log_byte (#​4971)
Improvements
  • Expose MAX_EVENT_SIZE_BYTES constant in SentryOptions (#​4962)
  • Discard envelopes on 4xx and 5xx response (#​4950)
    • This aims to not overwhelm Sentry after an outage or load shedding (including HTTP 429) where too many events are sent at once
Features
  • Add a Tombstone integration that detects native crashes without relying on the NDK integration, but instead using ApplicationExitInfo.REASON_CRASH_NATIVE on Android 12+. (#​4933)
    • Currently exposed via options as an internal API only.
    • If enabled alongside the NDK integration, crashes will be reported as two separate events. Users should enable only one; deduplication between both integrations will be added in a future release.
  • Add Sentry Metrics to Java SDK (#​5026)
    • Metrics are enabled by default
    • APIs are namespaced under Sentry.metrics()
    • We offer the following APIs:
      • count: A metric that increments counts
      • gauge: A metric that tracks a value that can go up or down
      • distribution: A metric that tracks the statistical distribution of values
    • For more details, see the Metrics documentation: https://docs.sentry.io/product/explore/metrics/getting-started/

v8.29.0

Compare Source

Fixes
  • Support serialization of primitive arrays (boolean[], byte[], short[], char[], int[], long[], float[], double[]) (#​4968)
  • Session Replay: Improve network body parsing and truncation handling (#​4958)
Internal
  • Support metric envelope item type (#​4956)

v8.28.0

Compare Source

Features
  • Android: Flush logs when app enters background (#​4951)
  • Add option to capture additional OkHttp network request/response details in session replays (#​4919)
    • Depends on SentryOkHttpInterceptor to intercept the request and extract request/response bodies
    • To enable, add url regexes via the io.sentry.session-replay.network-detail-allow-urls metadata tag in AndroidManifest (code sample) - Or you can manually specify SentryReplayOptions via SentryAndroid#init:
      (Make sure you disable the auto init via manifest meta-data: io.sentry.auto-init=false)
Kotlin
SentryAndroid.init(
    this,
    options -> {
      // options.dsn = "https://examplePublicKey@o0.ingest.sentry.io/0"
      // options.sessionReplay.sessionSampleRate = 1.0
      // options.sessionReplay.onErrorSampleRate = 1.0
      // ..

      options.sessionReplay.networkDetailAllowUrls = listOf(".*")
      options.sessionReplay.networkDetailDenyUrls = listOf(".*deny.*")
      options.sessionReplay.networkRequestHeaders = listOf("Authorization", "X-Custom-Header", "X-Test-Request")
      options.sessionReplay.networkResponseHeaders = listOf("X-Response-Time", "X-Cache-Status", "X-Test-Response")
    });
Java
SentryAndroid.init(
    this,
    options -> {
        options.getSessionReplay().setNetworkDetailAllowUrls(Arrays.asList(".*"));
        options.getSessionReplay().setNetworkDetailDenyUrls(Arrays.asList(".*deny.*"));
        options.getSessionReplay().setNetworkRequestHeaders(
            Arrays.asList("Authorization", "X-Custom-Header", "X-Test-Request"));
        options.getSessionReplay().setNetworkResponseHeaders(
            Arrays.asList("X-Response-Time", "X-Cache-Status", "X-Test-Response"));
    });
Improvements
  • Avoid forking rootScopes for Reactor if current thread has NoOpScopes (#​4793)
    • This reduces the SDKs overhead by avoiding unnecessary scope forks
Fixes
  • Fix missing thread stacks for ANRv1 events (#​4918)
  • Fix handling of unparseable mime-type on request filter (#​4939)
Internal
  • Support span envelope item type (#​4935)
Dependencies

v8.27.1

Compare Source

Fixes
  • Do not log if sentry.properties in rundir has not been found (#​4929)

v8.27.0

Compare Source

Features
  • Implement OpenFeature Integration that tracks Feature Flag evaluations (#​4910)
    • To make use of it, add the sentry-openfeature dependency and register the the hook using: openFeatureApiInstance.addHooks(new SentryOpenFeatureHook());
  • Implement LaunchDarkly Integrations that track Feature Flag evaluations (#​4917)
    • For Android, please add sentry-launchdarkly-android as a dependency and register the SentryLaunchDarklyAndroidHook
    • For Server / JVM, please add sentry-launchdarkly-server as a dependency and register the SentryLaunchDarklyServerHook
  • Detect oversized events and reduce their size (#​4903)
    • You can opt into this new behaviour by setting enableEventSizeLimiting to true (sentry.enable-event-size-limiting=true for Spring Boot application.properties)
    • You may optionally register an onOversizedEvent callback to implement custom logic that is executed in case an oversized event is detected
      • This is executed first and if event size was reduced sufficiently, no further truncation is performed
    • In case we detect an oversized event, we first drop breadcrumbs and if that isn't sufficient we also drop stack frames in order to get an events size down
Improvements
  • Do not send manual log origin (#​4897)
Dependencies

v8.26.0

Compare Source

Features
  • Add feature flags API (#​4812) and (#​4831)
    • You may now keep track of your feature flag evaluations and have them show up in Sentry.
    • Top level API (Sentry.addFeatureFlag("my-feature-flag", true);) writes to scopes and the current span (if there is one)
    • It is also possible to use API on IScope, IScopes, ISpan and ITransaction directly
    • Feature flag evaluations tracked on scope(s) will be added to any errors reported to Sentry.
      • The SDK keeps the latest 100 evaluations from scope(s), replacing old entries as new evaluations are added.
    • For feature flag evaluations tracked on spans:
      • Only 10 evaluations are tracked per span, existing flags are updated but new ones exceeding the limit are ignored
      • Spans do not inherit evaluations from their parent
  • Drop log events once buffer hits hard limit (#​4889)
    • If we have 1000 log events queued up, we drop any new logs coming in to prevent OOM
  • Remove vendored code and upgrade to async profiler 4.2 (#​4856)
    • This adds support for JDK 23+
Fixes
  • Removed SentryExecutorService limit for delayed scheduled tasks (#​4846)
  • Fix visual artifacts for the Canvas strategy on some devices (#​4861)
  • [Config] Trim whitespace on properties path (#​4880)
  • Only set DefaultReplayBreadcrumbConverter if replay is available (#​4888)
  • Session Replay: Cache connection status instead of using blocking calls (#​4891)
  • Fix log count in client reports (#​4869)
  • Fix profilerId propagation (#​4833)
  • Fix profiling init for Spring and Spring Boot w Agent auto-init (#​4815)
  • Copy active span on scope clone (#​4878)
Improvements
  • Fallback to distinct-id as user.id logging attribute when user is not set (#​4847)
  • Report Timber.tag() as timber.tag log attribute (#​4845)
  • Session Replay: Add screenshot strategy serialization to RRWeb events (#​4851)
  • Report discarded log bytes (#​4871)
  • Log why a properties file was not loaded (#​4879)
Dependencies

v8.25.0

Compare Source

Fixes
  • [ANR] Removed AndroidTransactionProfiler lock (#​4817)
  • Avoid ExecutorService for DefaultCompositePerformanceCollector timeout (#​4841)
    • This avoids infinite data collection for never stopped transactions, leading to OOMs
  • Fix wrong .super() call in SentryTimberTree (#​4844)
Improvements
  • [ANR] Defer some class availability checks (#​4825)
  • Collect PerformanceCollectionData only for sampled transactions (#​4834)
    • Breaking change: Transactions with a deferred sampling decision (sampled == null) won't be collecting any performance data anymore (CPU, RAM, slow/frozen frames).
Dependencies

v8.24.0

Compare Source

Features
  • Attach MDC properties to logs as attributes (#​4786)
    • MDC properties set using supported logging frameworks (Logback, Log4j2, java.util.Logging) are now attached to structured logs as attributes.
    • The attribute reflected on the log is mdc.<key>, where <key> is the original key in the MDC.
    • This means that you will be able to filter/aggregate logs in the product based on these properties.
    • Only properties with keys matching the configured contextTags are sent as log attributes.
      • You can configure which properties are sent using options.setContextTags if initalizing manually, or by specifying a comma-separated list of keys with a context-tags entry in sentry.properties or sentry.context-tags in application.properties.
      • Note that keys containing spaces are not supported.
  • Add experimental Sentry Android Distribution module for integrating with Sentry Build Distribution to check for and install updates (#​4804)
  • Allow passing a different Handler to SystemEventsBreadcrumbsIntegration and AndroidConnectionStatusProvider so their callbacks are deliver to that handler (#​4808)
  • Session Replay: Add new experimental Canvas Capture Strategy (#​4777)
    • A new screenshot capture strategy that uses Android's Canvas API for more accurate and reliable text and image masking
    • Any .drawText() or .drawBitmap() calls are replaced by rectangles, ensuring no text or images are present in the resulting output
    • Note: If this strategy is used, all text and images will be masked, regardless of any masking configuration
    • To enable this feature, set the screenshotStrategy, either via code:
      SentryAndroid.init(context) { options ->
        options.sessionReplay.screenshotStrategy = ScreenshotStrategyType.CANVAS
      }
      or AndroidManifest.xml:
      <application>
        <meta-data android:name="io.sentry.session-replay.screenshot-strategy" android:value="canvas" />
      </application>
Fixes
  • Avoid StrictMode warnings (#​4724)
  • Use logger from options for JVM profiler (#​4771)
  • Session Replay: Avoid deadlock when pausing replay if no connection (#​4788)
  • Session Replay: Fix capturing roots with no windows (#​4805)
  • Session Replay: Fix java.lang.IllegalArgumentException: width and height must be > 0 (#​4805)
  • Handle NoOpScopes in Context when starting a span through OpenTelemetry (#​4823)
    • This fixes "java.lang.IllegalArgumentException: The DSN is required" when combining WebFlux and OpenTelemetry
  • Session Replay: Do not use recycled screenshots for masking (#​4790)
    • This fixes native crashes seen in Canvas.<init>/ScreenshotRecorder.capture
  • Session Replay: Ensure bitmaps are recycled properly (#​4820)
Miscellaneous
  • Mark SentryClient(SentryOptions) constructor as not internal (#​4787)
Dependencies

v8.23.0

Compare Source

Features
  • Add session replay id to Sentry Logs (#​4740)
  • Add support for continuous profiling of JVM applications on macOS and Linux (#​4556)
    • Sentry continuous profiling on the JVM is using async-profiler under the hood.
    • By default this feature is disabled. Set a profile sample rate and chose a lifecycle (see below) to enable it.
    • Add the sentry-async-profiler dependency to your project
    • Set a sample rate for profiles, e.g. 1.0 to send all of them. You may use options.setProfileSessionSampleRate(1.0) in code or profile-session-sample-rate=1.0 in sentry.properties
    • Set a profile lifecycle via options.setProfileLifecycle(ProfileLifecycle.TRACE) in code or profile-lifecycle=TRACE in sentry.properties
      • By default the lifecycle is set to MANUAL, meaning you have to explicitly call Sentry.startProfiler() and Sentry.stopProfiler()
      • You may change it to TRACE which will create a profile for each transaction
    • To automatically upload Profiles for each transaction in a Spring Boot application
      • set sentry.profile-session-sample-rate=1.0 and sentry.profile-lifecycle=TRACE in application.properties
      • or set sentry.profile-session-sample-rate: 1.0 and sentry.profile-lifecycle: TRACE in application.yml
    • Profiling can also be combined with our OpenTelemetry integration
Fixes
  • Start performance collection on AppStart continuous profiling (#​4752)
  • Preserve modifiers in SentryTraced (#​4757)
Improvements
  • Handle RejectedExecutionException everywhere (#​4747)
  • Mark SentryEnvelope as not internal (#​4748)

v8.22.0

Compare Source

Features
Improvements
  • Remove internal API status from get/setDistinctId (#​4708)
  • Remove ApiStatus.Experimental annotation from check-in API (#​4721)
Fixes
  • Session Replay: Fix NoSuchElementException in BufferCaptureStrategy (#​4717)
  • Session Replay: Fix continue recording in Session mode after Buffer is triggered (#​4719)
Dependencies

v8.21.1

Compare Source

Fixes
  • Use Kotlin stdlib 1.9.24 dependency instead of 2.2.0 for all Android modules (#​4707)
    • This fixes compile time issues if your app is using Kotlin < 2.x

v8.21.0

Compare Source

Fixes
  • Only set log template for logging integrations if formatted message differs from template (#​4682)
Features
  • Add support for Spring Boot 4 and Spring 7 (#​4601)
    • NOTE: Our sentry-opentelemetry-agentless-spring is not working yet for Spring Boot 4. Please use sentry-opentelemetry-agent until OpenTelemetry has support for Spring Boot 4.
  • Replace UUIDGenerator implementation with Apache licensed code (#​4662)
  • Replace Random implementation with MIT licensed code (#​4664)
  • Add support for vars attribute in SentryStackFrame (#​4686)
    • Breaking change: The type of the vars attribute has been changed from Map<String, String> to Map<String, Object>.

v8.20.0

Compare Source

Fixes
  • Do not use named capturing groups for regular expressions (#​4652)
    • This fixes a crash on Android versions below 8.0 (API level 26)
Features
  • Add onDiscard to enable users to track the type and amount of data discarded before reaching Sentry (#​4612)
    • Stub for setting the callback on Sentry.init:
      Sentry.init(options -> {
        ...
        options.setOnDiscard(
         (reason, category, number) -> {
           // Your logic to process discarded data
         });
      });

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 changed the title fix(deps): update dependency io.sentry:sentry to v8.20.0 fix(deps): update dependency io.sentry:sentry to v8.21.0 Sep 8, 2025
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 8742897 to e4e5a94 Compare September 8, 2025 14:32
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.21.0 fix(deps): update dependency io.sentry:sentry to v8.21.1 Sep 9, 2025
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from e4e5a94 to 886d46c Compare September 9, 2025 16:34
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 886d46c to 1350f03 Compare September 22, 2025 14:10
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.21.1 fix(deps): update dependency io.sentry:sentry to v8.22.0 Sep 22, 2025
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 1350f03 to 20e4324 Compare October 1, 2025 21:03
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.22.0 fix(deps): update dependency io.sentry:sentry to v8.23.0 Oct 1, 2025
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 20e4324 to 1351086 Compare October 22, 2025 14:10
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.23.0 fix(deps): update dependency io.sentry:sentry to v8.24.0 Oct 22, 2025
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 1351086 to e1a9e9c Compare October 29, 2025 16:45
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.24.0 fix(deps): update dependency io.sentry:sentry to v8.25.0 Oct 29, 2025
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from e1a9e9c to 7336560 Compare November 12, 2025 13:46
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.25.0 fix(deps): update dependency io.sentry:sentry to v8.26.0 Nov 12, 2025
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 7336560 to 7b19008 Compare November 21, 2025 14:57
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.26.0 fix(deps): update dependency io.sentry:sentry to v8.27.0 Nov 21, 2025
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 7b19008 to 6b2d26b Compare November 24, 2025 18:01
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.27.0 fix(deps): update dependency io.sentry:sentry to v8.27.1 Nov 24, 2025
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.27.1 fix(deps): update dependency io.sentry:sentry to v8.28.0 Dec 4, 2025
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 6b2d26b to c63999a Compare December 4, 2025 15:36
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from c63999a to c41a617 Compare December 16, 2025 10:31
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.28.0 fix(deps): update dependency io.sentry:sentry to v8.29.0 Dec 16, 2025
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from c41a617 to af82269 Compare January 15, 2026 12:56
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.29.0 fix(deps): update dependency io.sentry:sentry to v8.30.0 Jan 15, 2026
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.30.0 fix(deps): update dependency io.sentry:sentry to v8.31.0 Jan 21, 2026
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from af82269 to 17e1da9 Compare January 21, 2026 14:03
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 17e1da9 to fe9c6d5 Compare February 9, 2026 11:01
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.31.0 fix(deps): update dependency io.sentry:sentry to v8.32.0 Feb 9, 2026
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.32.0 fix(deps): update dependency io.sentry:sentry to v8.33.0 Feb 18, 2026
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from fe9c6d5 to a6aa20d Compare February 27, 2026 15:03
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from a6aa20d to 1baef82 Compare March 4, 2026 13:21
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.33.0 fix(deps): update dependency io.sentry:sentry to v8.34.0 Mar 4, 2026
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.34.0 fix(deps): update dependency io.sentry:sentry to v8.34.1 Mar 5, 2026
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 1baef82 to 8c0cefa Compare March 5, 2026 18:13
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.34.1 fix(deps): update dependency io.sentry:sentry to v8.35.0 Mar 12, 2026
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 8c0cefa to 2b6ed28 Compare March 12, 2026 14:16
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.35.0 fix(deps): update dependency io.sentry:sentry to v8.36.0 Mar 17, 2026
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 2b6ed28 to 97a5cb6 Compare March 17, 2026 20:35
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 97a5cb6 to 8fdb8bf Compare March 25, 2026 14:34
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.36.0 fix(deps): update dependency io.sentry:sentry to v8.37.0 Mar 25, 2026
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 8fdb8bf to 45c50b1 Compare March 26, 2026 13:59
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.37.0 fix(deps): update dependency io.sentry:sentry to v8.37.1 Mar 26, 2026
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 45c50b1 to 86df54b Compare April 1, 2026 18:55
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 1, 2026

📝 Walkthrough

Walkthrough

The Sentry dependency in build.gradle is updated from version 8.19.1 to 8.38.0. This is a straightforward library version bump with no changes to dependency coordinates, configuration, or other build settings.

Changes

Cohort / File(s) Summary
Dependency Version Update
build.gradle
Sentry library version incremented from 8.19.1 to 8.38.0.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 A Sentry update, version new and grand,
From eight-nineteen to thirty-eight so planned,
One tiny change in gradle's trusty file,
Security improved with developer's smile! 🎉

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The PR title claims to update Sentry to v8.39.1, but the raw summary shows the actual update is to v8.38.0, and the PR objectives mention v8.37.1. Update the PR title to accurately reflect the actual target version. The title should be 'fix(deps): update dependency io.sentry:sentry to v8.38.0' or the version that matches the actual changeset.
✅ Passed checks (2 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch renovate/io.sentry-sentry-8.x

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 86df54b to 0a2a8aa Compare April 8, 2026 18:08
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.37.1 fix(deps): update dependency io.sentry:sentry to v8.38.0 Apr 8, 2026
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@build.gradle`:
- Line 44: Update the Sentry dependency version from 8.38.0 to 8.37.1 in the
implementation declaration (the line containing "io.sentry:sentry") so Gradle
can resolve the published SDK; also verify any other Sentry artifacts (e.g.,
sentry-android, sentry-okhttp) use 8.37.1 to avoid binary mismatches and, if
your code references SpotlightIntegration, add the separate "sentry-spotlight"
module at 8.37.1.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d0a04570-c9f1-4e87-ba89-a049f6c2a255

📥 Commits

Reviewing files that changed from the base of the PR and between e3c7bdb and 0a2a8aa.

📒 Files selected for processing (1)
  • build.gradle

Comment thread build.gradle Outdated
implementation 'com.squareup.okhttp3:okhttp'
implementation 'com.squareup.okhttp3:okhttp-brotli'
implementation 'io.sentry:sentry:8.19.1'
implementation 'io.sentry:sentry:8.38.0'
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

io.sentry:sentry 8.38.0 release notes Java SDK breaking changes compatibility with 8.19.1

💡 Result:

As of April 8, 2026, there is no io.sentry:sentry (Sentry Java SDK) release 8.38.0. The Sentry Java SDK GitHub releases show 8.37.1 (released Mar 26, 2026) as the newest 8.x release at that time. [1]

What this means for “8.38.0 vs 8.19.1” compatibility

  • If you try to upgrade from 8.19.18.38.0, it likely won’t resolve because 8.38.0 isn’t a Java SDK version (it’s commonly seen in other Sentry SDKs, e.g., JavaScript).
  • If your real target is 8.37.1 (or another existing 8.x), then it’s a same-major (8.x → 8.x) upgrade, but there are noteworthy breaking/behavior changes across that range.

Notable breaking/behavior changes between 8.19.1 and newer 8.x

  • 8.32.0 breaking change (Spotlight): SpotlightIntegration was extracted into a separate module; if you use Spotlight you must add io.sentry:sentry-spotlight explicitly. [2]
  • 8.35.0 behavioral change (ANR grouping): enableAnrFingerprinting was introduced and is enabled by default, changing how some ANRs get grouped. [3]
  • 8.34.0 API addition (attributes): new scope-level attribute APIs: Sentry.setAttribute, Sentry.setAttributes, Sentry.removeAttribute. (Not breaking, but may affect integrations/custom wrappers.) [4]

Important note about dependency alignment (common “incompatibility” cause)

If you use multiple Sentry artifacts (e.g., sentry, sentry-android, sentry-okhttp, etc.), they must all be on the same version; mismatches can cause runtime NoSuchMethodError / binary incompatibilities. [5]

Extra: 8.19.1 has a specific Android warning

The 8.19.1 release itself notes it’s incompatible with Android API levels below 26 and recommends upgrading (e.g., 8.20.0+). [6]

If you tell me which Sentry artifacts you use (plain JVM vs Android vs Spring Boot, plus your Gradle/Maven dependency list), I can point out the specific upgrade hazards from 8.19.1 to your intended target version.

References:
[1] https://github.com/getsentry/sentry-java/releases/tag/8.37.1
[2] https://github.com/getsentry/sentry-java/releases/tag/8.32.0
[3] https://github.com/getsentry/sentry-java/releases/tag/8.35.0
[4] https://github.com/getsentry/sentry-java/releases/tag/8.34.0
[5] https://sentry.zendesk.com/hc/en-us/articles/33646017632027--Android-Application-crashes-with-error-No-static-method-addIntegrationToSdkVersion
[6] https://github.com/getsentry/sentry-java/releases/tag/8.19.1


🌐 Web query:

Sentry Java SDK 8.38.0 API docs Sentry.init captureException startTransaction setExtra

💡 Result:

Sentry Java SDK “8.38.0” docs?

For the Java artifact io.sentry:sentry, 8.38.0 isn’t published on javadoc.io; the current line there goes up to 8.37.1. (javadoc.io) (The 8.38.0 number you’re seeing is commonly a JavaScript SDK version.)

Java SDK Javadocs (pick the version you actually use):

https://javadoc.io/doc/io.sentry/sentry
https://javadoc.io/doc/io.sentry/sentry/8.37.1

(javadoc.io)


API references (Java) for the methods you listed

Sentry.init(...)

Javadoc (example version 8.8.0):

https://javadoc.io/static/io.sentry/sentry/8.8.0/io/sentry/Sentry.html

Overloads include:

  • Sentry.init() / Sentry.init(String dsn)
  • Sentry.init(Sentry.OptionsConfiguration<SentryOptions> optionsConfiguration)
    (javadoc.io)

Sentry docs page showing the typical Sentry.init(options -> { ... }) pattern:
(docs.sentry.dev)

Sentry.captureException(...)

Javadoc (8.8.0) shows overloads like:

  • Sentry.captureException(Throwable throwable)
  • Sentry.captureException(Throwable throwable, Hint hint)
    (javadoc.io)

Sentry.startTransaction(...)

Javadoc (8.8.0) shows overloads like:

  • Sentry.startTransaction(String name, String operation)
  • Sentry.startTransaction(TransactionContext transactionContext, TransactionOptions transactionOptions)
    (javadoc.io)

Sentry.setExtra(...)

Javadoc (8.8.0):

  • Sentry.setExtra(String key, String value)
    (javadoc.io)

Citations:


Change version 8.38.0 to 8.37.18.38.0 does not exist for the Sentry Java SDK.

The Sentry Java SDK has no published version 8.38.0; the latest 8.x release is 8.37.1 (Mar 26, 2026). Gradle will fail to resolve or silently pick an incorrect version. Align with the PR objective and update to 8.37.1.

When upgrading from 8.19.1 to 8.37.1, note these breaking/behavior changes:

  • 8.32.0: SpotlightIntegration moved to separate sentry-spotlight module; add explicitly if used.
  • 8.35.0: enableAnrFingerprinting enabled by default, affecting ANR grouping.
  • Ensure all other Sentry artifacts (sentry-android, sentry-okhttp, etc., if used) are also updated to 8.37.1 to avoid binary incompatibilities.

The methods you use (Sentry.init, captureException, setExtra, startTransaction) remain compatible in 8.37.1.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@build.gradle` at line 44, Update the Sentry dependency version from 8.38.0 to
8.37.1 in the implementation declaration (the line containing
"io.sentry:sentry") so Gradle can resolve the published SDK; also verify any
other Sentry artifacts (e.g., sentry-android, sentry-okhttp) use 8.37.1 to avoid
binary mismatches and, if your code references SpotlightIntegration, add the
separate "sentry-spotlight" module at 8.37.1.

@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 0a2a8aa to 683f2cd Compare April 16, 2026 14:45
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.38.0 fix(deps): update dependency io.sentry:sentry to v8.39.0 Apr 16, 2026
@renovate renovate bot force-pushed the renovate/io.sentry-sentry-8.x branch from 683f2cd to ad12de0 Compare April 17, 2026 10:33
@renovate renovate bot changed the title fix(deps): update dependency io.sentry:sentry to v8.39.0 fix(deps): update dependency io.sentry:sentry to v8.39.1 Apr 17, 2026
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.

0 participants