Skip to content

Update sentry.version to v8#186

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/major-sentry.version
Open

Update sentry.version to v8#186
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/major-sentry.version

Conversation

@renovate

@renovate renovate Bot commented Jan 21, 2025

Copy link
Copy Markdown

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
io.sentry:sentry-logback 7.22.68.49.0 age confidence
io.sentry:sentry 7.22.68.49.0 age confidence

Release Notes

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

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

v8.47.0

Compare Source

Behavioral Changes
  • SentryOkHttpInterceptor::intercept now throws IOException. This is a source-only and Java-only breaking change (#​5654)
Fixes
  • Fix fragment tracing not working with detach/attach navigation (#​5660)
  • 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)

v8.46.0

Compare Source

Fixes
  • Session Replay: Fix network detail response body size being unknown for gzip-compressed responses (#​5592)
Behavioral Changes
  • Collections returned by scope (e.g. getBreadcrumbs, getTags, getAttachments) are shared state and should not be mutated. (#​5541)
    • Previously, when going through CombinedScopeView, we were returning a copy where mutations didn't show up in the underlying scopes.
    • This has now changed in order to reduce SDK overhead.
  • Date objects returned by SDK data model getters are shared state and should not be mutated. (#​5603)
    • Previously, these getters returned defensive copies for some date fields.
    • This has now changed in order to reduce SDK overhead.
Performance
  • Reduce writer buffer size from 8192 to 512 (#​5544)
  • Remove redundant event map copies (#​5536)
  • Optimize combined scope by adding an early return if only one scope has data (#​5541)
  • Reduce model access overhead by avoiding defensive Date copies in SDK data model getters. (#​5603)
  • Reduce timestamp parsing and formatting overhead with Sentry-specific ISO-8601 handling. (#​5602)
  • Reduce JSON serialization overhead by creating the reflection serializer only when unknown-object fallback serialization is needed. (#​5601)
  • Reduce JSON serialization overhead by allocating reflection cycle-tracking state only when reflection serialization is used. (#​5600)
  • Reduce context serialization overhead by sorting key snapshots with arrays instead of temporary lists. (#​5599)
  • Reduce breadcrumb allocation overhead by creating the Breadcrumb data map only when data is added. (#​5598)
  • Reduce JSON serialization overhead by lowering the initial JsonWriter nesting stack size while preserving on-demand growth. (#​5591)
  • Reduce timestamp helper overhead by replacing unnecessary Calendar usage in DateUtils with direct Date creation. (#​5589)
  • Reduce Android startup overhead by using the default timezone directly on older devices or when no timezone info is available in the locale. (#​5587)

v8.45.0

Compare Source

Features
  • On Android 15+ (API 35), the standalone app.start transaction now reports why the OS started the process via app.vitals.start.reason trace data (e.g. launcher, broadcast, service, content_provider), derived from ApplicationStartInfo.getReason(). You can search and group by this attribute in the Trace Explorer. (#​5552)
Fixes
  • Use System.nanoTime() for cron check-in duration measurement to avoid incorrect durations from wall-clock adjustments (#​5611)
  • Fix crash when getHistoricalProcessStartReasons is called from an isolated or wrong-userId process (#​5597)
  • Release MediaMuxer when a replay segment has no encodable frames to avoid a resource leak (#​5583)
Dependencies

v8.44.1

Compare Source

Fixes
  • Fix FirstDrawDoneListener leaking an OnGlobalLayoutListener per registration (#​5567)
Features
  • Add experimental SentrySQLiteDriver to sentry-android-sqlite for instrumenting androidx.sqlite.SQLiteDriver (#​5563)
    • To use it, pass SQLiteDriver to SentrySQLiteDriver.create(...)
    • Requires androidx.sqlite:sqlite (2.5.0+) on runtime classpath (typically provided by Room or SQLDelight)
Dependencies

v8.44.0

Compare Source

Features
  • Add enableStandaloneAppStartTracing option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (#​5342)
    • Disabled by default; opt in via options.isEnableStandaloneAppStartTracing = true or manifest meta-data io.sentry.standalone-app-start-tracing.enable
    • Emits a transaction named App Start with op app.start, carrying the existing app start measurements and phase spans (process.load, contentprovider.load, application.load, activity lifecycle spans) as direct children of the root
    • The standalone transaction shares the same traceId as the first ui.load activity transaction so they remain linked in the trace view
    • Also covers non-activity starts (broadcast receivers, services, content providers)
Improvements
  • Reduce boxing to improve performance (#​5523, #​5527, #​5551)
  • Replace Date with a unix timestamp in SentryNanotimeDate to improve performance (#​5550)
    • SentryNanotimeDate is now marked @ApiStatus.Internal. A new (long unixDateMillis, long nanos) constructor was added, where unixDateMillis is milliseconds since the epoch. The existing (Date, long) constructor is retained but deprecated.
Dependencies
Fixes
  • Fix attachments being duplicated on native events that carry scope attachments (#​5548)
  • Fix performance collector scheduling many tasks in a row (#​5524)

v8.43.3

Compare Source

Fixes
  • Fix crash when getHistoricalProcessStartReasons is called from an isolated or wrong-userId process (#​5597)

v8.43.2

Compare Source

Improvements
  • Improve SDK init performance by replacing java.net.URI with custom string parsing for DSN (#​5448)
  • Remove unnecessary boxing to improve performance (#​5520)
Fixes
  • Session Replay: Fix VerifyError in Compose masking under DexGuard/R8 obfuscation (#​5507)
  • Session Replay: Fix Compose view masking not working on obfuscated/minified builds (#​5503)

v8.43.1

Compare Source

Fixes
  • Session Replay: Fix replay recording freezing on screens with continuous animations (#​5489)
  • Session Replay: Populate trace_ids in replay events to enable searching replays by trace ID (#​5473)

v8.43.0

Compare Source

Features
  • Session Replay: Add ReplayFrameObserver for observing captured replay frames (#​5386)

    SentryAndroid.init(context) { options ->
      options.sessionReplay.frameObserver =
        SentryReplayOptions.ReplayFrameObserver { hint, frameTimestamp, screenName ->
          val bitmap = hint.getAs(TypeCheckHint.REPLAY_FRAME_BITMAP, Bitmap::class.java)
          if (bitmap != null) {
            try {
              // Process the masked replay frame
              myAnalyzer.processFrame(bitmap, frameTimestamp, screenName)
            } finally {
              bitmap.recycle()
            }
          }
        }
    }
  • Parse ART memory and garbage collector info from ANR tombstones into ART context (#​5428)

v8.42.0

Compare Source

Features
  • Add option to attach raw tombstone protobuf on native crash events (#​5446)
    • Enable via options.isAttachRawTombstone = true or manifest: <meta-data android:name="io.sentry.tombstone.attach-raw" android:value="true" />
  • Add API to clear feature flags from scopes (#​5426)
  • Add support to configure reporting historical ANRs via AndroidManifest.xml using the io.sentry.anr.report-historical attribute (#​5387)
Dependencies

v8.41.0

Compare Source

Features
  • Session Replay: experimental support for capturing SurfaceView content (e.g. Unity, video players, maps) (#​5333)
    • To enable, set options.sessionReplay.isCaptureSurfaceViews = true
    • Or via manifest: <meta-data android:name="io.sentry.session-replay.capture-surface-views" android:value="true" />
    • Warning: masking granularity is at the SurfaceView level only — the SDK cannot mask individual elements rendered inside the SurfaceView (e.g. native Unity UI, map labels, video frames). Only enable for SurfaceViews whose content is safe to record.
  • Add Sentry.feedback() API for show() and capture() (#​5349)
    • Sentry.showUserFeedbackDialog() is deprecated in favor of Sentry.feedback().show()
    • Sentry.captureFeedback() is deprecated in favor of Sentry.feedback().capture()
    • Sentry.captureUserFeedback() and UserFeedback are deprecated in favor of Sentry.feedback().capture() with the new Feedback type
    • SentryUserFeedbackDialog is deprecated in favor of SentryUserFeedbackForm
    • All deprecated APIs will be removed in the next major version
  • Deprecate SentryUserFeedbackButton (View-based and Compose-based) (#​5350)
    • It will be removed in the next major version
  • Add per-form shake-to-show support for SentryUserFeedbackForm (#​5353)
    • Useful for enabling shake-to-report on specific screens instead of globally
    SentryUserFeedbackForm.Builder(activity)
      .configurator { it.isUseShakeGesture = true }
      .create()
  • Add support for Kafka (#​5249)
    • You will need to add the sentry-kafka dependency and opt-in via the new option.
      • Set options.setEnableQueueTracing(true) on Sentry.init
      • Or set sentry.enable-queue-tracing=true in application.properties
    • For Spring Boot Kafka is auto instrumented and no further configuration is needed.
    • When using kafka-clients directly
Fixes
  • Fix soft input keyboard not being shown on the Feedback form (#​5359)
  • Fix shake-to-report not triggering on some devices due to high acceleration threshold (#​5366)
  • Fix feedback form retaining previous message when shown again via shake (#​5366)
  • Avoid stack overflow when deserializing large flat JSON objects (#​5361)
Dependencies

v8.40.0

Compare Source

Fixes
  • Fix NoSuchMethodError for LayoutCoordinates.localBoundingBoxOf$default on Compose touch dispatch with AGP 8.13 and minSdk < 24 (#​5302)
  • Fix reporting OkHttp's synthetic 504 "Unsatisfiable Request" responses as errors for CacheControl.FORCE_CACHE cache misses (#​5299)
  • Make SentryGestureDetector thread-safe and recycle VelocityTracker per gesture (#​5301)
  • Fix duplicate ui.click breadcrumbs when another Window.Callback wraps SentryWindowCallback (#​5300)
Dependencies

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 sessio

Note

PR body was truncated to here.


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 these updates 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/major-sentry.version branch 2 times, most recently from fa02aac to d76a301 Compare January 30, 2025 20:41
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 2 times, most recently from 5db1484 to 709439b Compare February 12, 2025 19:41
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch from 709439b to fdbc277 Compare February 26, 2025 16:03
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 4 times, most recently from 3388393 to 2a89390 Compare March 17, 2025 22:25
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 3 times, most recently from f436e80 to 8b05637 Compare March 24, 2025 23:40
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch from 8b05637 to fcbc0b4 Compare April 1, 2025 10:42
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 2 times, most recently from 0310cd6 to 428bf2b Compare April 14, 2025 18:56
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 3 times, most recently from 2eb5a63 to 0ca479f Compare April 29, 2025 14:50
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch from 0ca479f to 552a0f1 Compare April 30, 2025 19:31
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch from 552a0f1 to 3611c0d Compare May 13, 2025 20:02
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 3 times, most recently from 0caff04 to 40d2274 Compare May 27, 2025 13:45
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 2 times, most recently from 0cb9dcf to 33cf706 Compare June 17, 2025 19:02
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch from 33cf706 to e051ab9 Compare June 25, 2025 17:53
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 3 times, most recently from ddff822 to 164d5d2 Compare July 10, 2025 03:45
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch from 164d5d2 to 0a8abbc Compare July 30, 2025 20:10
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 2 times, most recently from 353593e to 0da939f Compare November 24, 2025 17:29
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch from 0da939f to 2f87129 Compare December 4, 2025 14:45
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch from 2f87129 to f11b282 Compare December 16, 2025 08:53
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 2 times, most recently from 6064ab4 to 8e15c12 Compare January 21, 2026 17:50
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 2 times, most recently from a947477 to 798f0fb Compare February 9, 2026 14:52
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch from 798f0fb to 33e0ce3 Compare February 18, 2026 13:58
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 2 times, most recently from 4b7cee6 to 43f59f9 Compare March 5, 2026 18:10
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 2 times, most recently from b294128 to 07ee9e2 Compare March 17, 2026 21:43
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 2 times, most recently from 721bce6 to 047bac5 Compare March 26, 2026 14:14
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch from 047bac5 to ba9758c Compare April 8, 2026 17:11
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 3 times, most recently from 2fef708 to c97066c Compare April 22, 2026 16:52
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch from c97066c to cde0c68 Compare May 7, 2026 02:03
@renovate renovate Bot changed the title Update sentry.version to v8 (major) Update sentry.version to v8 May 12, 2026
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch from cde0c68 to efbcffc Compare May 20, 2026 14:08
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 2 times, most recently from 430bdbc to b504660 Compare June 1, 2026 22:07
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch from b504660 to 1ec47ac Compare June 3, 2026 23:31
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 2 times, most recently from 2188eec to f51a4e9 Compare June 17, 2026 19:34
@renovate
renovate Bot force-pushed the renovate/major-sentry.version branch 2 times, most recently from af432f7 to c6f9341 Compare June 24, 2026 16:40
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