fix(deps): update dependency io.sentry:sentry to v8.47.0#877
fix(deps): update dependency io.sentry:sentry to v8.47.0#877renovate[bot] wants to merge 1 commit into
Conversation
8742897 to
e4e5a94
Compare
e4e5a94 to
886d46c
Compare
886d46c to
1350f03
Compare
1350f03 to
20e4324
Compare
20e4324 to
1351086
Compare
1351086 to
e1a9e9c
Compare
e1a9e9c to
7336560
Compare
7336560 to
7b19008
Compare
7b19008 to
6b2d26b
Compare
6b2d26b to
c63999a
Compare
c63999a to
c41a617
Compare
c41a617 to
af82269
Compare
af82269 to
17e1da9
Compare
17e1da9 to
fe9c6d5
Compare
fe9c6d5 to
a6aa20d
Compare
86df54b to
0a2a8aa
Compare
There was a problem hiding this comment.
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
| 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' |
There was a problem hiding this comment.
🧩 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.1→8.38.0, it likely won’t resolve because8.38.0isn’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):
SpotlightIntegrationwas extracted into a separate module; if you use Spotlight you must addio.sentry:sentry-spotlightexplicitly. [2] - 8.35.0 behavioral change (ANR grouping):
enableAnrFingerprintingwas 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
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:
- 1: https://javadoc.io/doc/io.sentry/sentry/latest/allclasses-index.html
- 2: https://javadoc.io/doc/io.sentry/sentry/latest/allclasses-index.html
- 3: https://javadoc.io/static/io.sentry/sentry/8.8.0/io/sentry/Sentry.html
- 4: https://docs.sentry.dev/platforms/java/guides/spring/configuration/options/?utm_source=openai
- 5: https://javadoc.io/static/io.sentry/sentry/8.8.0/io/sentry/Sentry.html
- 6: https://javadoc.io/static/io.sentry/sentry/8.8.0/io/sentry/Sentry.html
- 7: https://javadoc.io/static/io.sentry/sentry/8.8.0/io/sentry/Sentry.html
Change version 8.38.0 to 8.37.1—8.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:
SpotlightIntegrationmoved to separatesentry-spotlightmodule; add explicitly if used. - 8.35.0:
enableAnrFingerprintingenabled by default, affecting ANR grouping. - Ensure all other Sentry artifacts (
sentry-android,sentry-okhttp, etc., if used) are also updated to8.37.1to 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.
0a2a8aa to
683f2cd
Compare
683f2cd to
ad12de0
Compare
ad12de0 to
692e31c
Compare
692e31c to
0af0259
Compare
0af0259 to
e086b4d
Compare
e086b4d to
ead6039
Compare
ead6039 to
27e6a7c
Compare
27e6a7c to
5420053
Compare
5420053 to
1497d71
Compare
1497d71 to
3c533f5
Compare
3c533f5 to
946be40
Compare
946be40 to
0ab1190
Compare
|
For this specific issue — “fix(deps): update dependency io.sentry:sentry to v8.46.0” — I would not start from Unity's final generic error line. I would look for the first real Gradle/Android error above Unity's final generic failure line. I would check this first:
I also put together a focused Unity Android build-error checklist here: Disclosure: this is my own checklist/resource. Posting it because it matches this kind of Unity Android build failure. |
0ab1190 to
d225105
Compare
This PR contains the following updates:
8.19.1→8.47.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
getsentry/sentry-java (io.sentry:sentry)
v8.47.0Compare Source
Behavioral Changes
SentryOkHttpInterceptor::interceptnow throwsIOException. This is a source-only and Java-only breaking change (#5654)Fixes
SentryGestureListeneralways 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.Scope.endSession()(#5657)ReplayIntegrationdue to persisting executor not being shut down (#5627)Modifier.sentryTag()or the Sentry Kotlin compiler plugin (#5672)Performance
getLocationOnScreenper view (#5595)SentryIdandSpanIdallocation overhead by replacing their per-instanceLazyEvaluator(and its lock) with a lightweight lazily-generatedString. (#5645)ReentrantLockbackingAutoClosableReentrantLockto avoid eager lock allocations for SDK objects that never contend duringSentryAndroid.init(#5643)v8.46.0Compare Source
Fixes
Behavioral Changes
getBreadcrumbs,getTags,getAttachments) are shared state and should not be mutated. (#5541)CombinedScopeView, we were returning a copy where mutations didn't show up in the underlying scopes.Dateobjects returned by SDK data model getters are shared state and should not be mutated. (#5603)Performance
Datecopies in SDK data model getters. (#5603)Breadcrumbdata map only when data is added. (#5598)JsonWriternesting stack size while preserving on-demand growth. (#5591)Calendarusage inDateUtilswith directDatecreation. (#5589)v8.45.0Compare Source
Features
app.starttransaction now reports why the OS started the process viaapp.vitals.start.reasontrace data (e.g.launcher,broadcast,service,content_provider), derived fromApplicationStartInfo.getReason(). You can search and group by this attribute in the Trace Explorer. (#5552)Fixes
System.nanoTime()for cron check-in duration measurement to avoid incorrect durations from wall-clock adjustments (#5611)getHistoricalProcessStartReasonsis called from an isolated or wrong-userId process (#5597)MediaMuxerwhen a replay segment has no encodable frames to avoid a resource leak (#5583)Dependencies
v8.44.1Compare Source
Fixes
FirstDrawDoneListenerleaking anOnGlobalLayoutListenerper registration (#5567)Features
SentrySQLiteDrivertosentry-android-sqlitefor instrumentingandroidx.sqlite.SQLiteDriver(#5563)SQLiteDrivertoSentrySQLiteDriver.create(...)androidx.sqlite:sqlite(2.5.0+) on runtime classpath (typically provided by Room or SQLDelight)Dependencies
v8.44.0Compare Source
Features
enableStandaloneAppStartTracingoption to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (#5342)options.isEnableStandaloneAppStartTracing = trueor manifest meta-dataio.sentry.standalone-app-start-tracing.enableApp Startwith opapp.start, carrying the existing app start measurements and phase spans (process.load,contentprovider.load,application.load, activity lifecycle spans) as direct children of the roottraceIdas the firstui.loadactivity transaction so they remain linked in the trace viewImprovements
Datewith a unix timestamp inSentryNanotimeDateto improve performance (#5550)SentryNanotimeDateis now marked@ApiStatus.Internal. A new(long unixDateMillis, long nanos)constructor was added, whereunixDateMillisis milliseconds since the epoch. The existing(Date, long)constructor is retained but deprecated.Dependencies
Fixes
v8.43.3Compare Source
Fixes
getHistoricalProcessStartReasonsis called from an isolated or wrong-userId process (#5597)v8.43.2Compare Source
Improvements
java.net.URIwith custom string parsing for DSN (#5448)Fixes
VerifyErrorin Compose masking under DexGuard/R8 obfuscation (#5507)v8.43.1Compare Source
Fixes
trace_idsin replay events to enable searching replays by trace ID (#5473)v8.43.0Compare Source
Features
Session Replay: Add
ReplayFrameObserverfor observing captured replay frames (#5386)Parse ART memory and garbage collector info from ANR tombstones into ART context (#5428)
v8.42.0Compare Source
Features
options.isAttachRawTombstone = trueor manifest:<meta-data android:name="io.sentry.tombstone.attach-raw" android:value="true" />AndroidManifest.xmlusing theio.sentry.anr.report-historicalattribute (#5387)Dependencies
v8.41.0Compare Source
Features
SurfaceViewcontent (e.g. Unity, video players, maps) (#5333)options.sessionReplay.isCaptureSurfaceViews = true<meta-data android:name="io.sentry.session-replay.capture-surface-views" android:value="true" />Sentry.feedback()API forshow()andcapture()(#5349)Sentry.showUserFeedbackDialog()is deprecated in favor ofSentry.feedback().show()Sentry.captureFeedback()is deprecated in favor ofSentry.feedback().capture()Sentry.captureUserFeedback()andUserFeedbackare deprecated in favor ofSentry.feedback().capture()with the newFeedbacktypeSentryUserFeedbackDialogis deprecated in favor ofSentryUserFeedbackFormSentryUserFeedbackButton(View-based and Compose-based) (#5350)SentryUserFeedbackForm(#5353)sentry-kafkadependency and opt-in via the new option.options.setEnableQueueTracing(true)onSentry.initsentry.enable-queue-tracing=trueinapplication.propertieskafka-clientsdirectlyKafkaProducerviaSentryKafkaProducer.wrap(kafkaProducer)to getqueue.publishspansSentryKafkaConsumerTracing.withTracinghelper to instrument the consumer side manually.Fixes
Dependencies
v8.40.0Compare Source
Fixes
NoSuchMethodErrorforLayoutCoordinates.localBoundingBoxOf$defaulton Compose touch dispatch with AGP 8.13 andminSdk < 24(#5302)CacheControl.FORCE_CACHEcache misses (#5299)SentryGestureDetectorthread-safe and recycleVelocityTrackerper gesture (#5301)ui.clickbreadcrumbs when anotherWindow.CallbackwrapsSentryWindowCallback(#5300)Dependencies
v8.39.1Compare Source
Fixes
JsonObjectReaderandMapObjectReaderhanging indefinitely when deserialization errors leave the reader in an inconsistent state (#5293)WARNINGlogsERRORlogsv8.39.0Compare Source
Fixes
GestureDetectorCompatHandler/MessageQueue lock contention inSentryWindowCallback(#5138)Internal
Dependencies
v8.38.0Compare Source
Features
o123.ingest.sentry.io) and compares it with thesentry-org_idvalue 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.enableStrictTraceContinuation(defaultfalse): 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).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).Improvements
ActivityManagerif API < 35 on SDK init (#5275)v8.37.1Compare Source
Fixes
SentryContextStorage.root()with virtual threads and OpenTelemetry agent (#5234)v8.37.0Compare Source
Fixes
Features
CacheManagerandCachebeans to produce cache spanssentry.enable-cache-tracingtotrueto enable this featuresentry-jcachemodule (#5165)CachewithSentryJCacheWrapperto produce cache spansenableCacheTracingoption totrueto enable this featureIScopesStorageFactorytoSentryOptionsfor providing a customIScopesStorage, e.g. when the defaultThreadLocal-backed storage is incompatible with non-pinning thread models (#5199)beforeErrorSamplingcallback to Session Replay (#5214)onErrorSampleRateis checkedfalseskips replay capture entirely for that error; returningtrueproceeds with the normal sample rate checkDependencies
opentelemetryto1.60.1(was1.57.0)opentelemetry-instrumentationto2.26.0(was2.23.0)opentelemetry-instrumentation-alphato2.26.0-alpha(was2.23.0-alpha)opentelemetry-semconvto1.40.0(was1.37.0)opentelemetry-semconv-alphato1.40.0-alpha(was1.37.0-alpha)v8.36.0Compare Source
Features
options.getFeedbackOptions().setUseShakeGesture(true)or manifest meta-dataio.sentry.feedback.use-shake-gestureFixes
Dependencies
com.abovevacant:epitaphto0.1.1to avoid old D8/R8 dexing crashes in downstream Android builds on old AGP versions such as 7.4.x. (#5200)v8.35.0Compare Source
Fixes
Features
options.setAnrProfilingSampleRate(<sample-rate>)or AndroidManifest.xml:<meta-data android:name="io.sentry.anr.profiling.sample-rate" android:value="[0.0-1.0]" />Behavioral Changes
enableAnrFingerprintingoption which assigns static fingerprints to ANR events with system-only stacktracesjava.langorandroid.os) are grouped into a single issue instead of creating many separate issuesoptions.setEnableAnrFingerprinting(false)or AndroidManifest.xml:<meta-data android:name="io.sentry.anr.enable-fingerprinting" android:value="false" />v8.34.1Compare Source
Fixes
filterTouchesWhenObscuredto prevent Tapjacking on user feedback dialog (#5155)v8.34.0Compare Source
Features
sentry.properties:shutdown-timeout-millis,session-flush-timeout-millisSENTRY_SHUTDOWN_TIMEOUT_MILLIS,SENTRY_SESSION_FLUSH_TIMEOUT_MILLISapplication.properties:sentry.shutdownTimeoutMillis,sentry.sessionFlushTimeoutMillisSentry.setAttribute,Sentry.setAttributes,Sentry.removeAttributeSENTRY_SAMPLE_RATEenvironment variable /sample-rateproperty (#5112)sentry-opentelemetry-otlpandsentry-opentelemetry-otlp-springmodules for combining OpenTelemetry SDK OTLP export with Sentry SDK (#5100)OpenTelemetryOtlpEventProcessor) but will not send spans through OpenTelemetry nor use OpenTelemetryContextforScopespropagation.sentry-android-replaymodule to be present at runtime for masking to workAndroidManifest.xml:ManifestMetaDataReadernow read theDIST(#5107)Fixes
Long,Short,Byte,BigInteger,AtomicInteger, andAtomicLongbeing incorrectly inferred asdoubleinstead ofinteger(#5122)AndroidRuntimeManagerStrictMode relaxation to prevent ANRs during SDK init (#5127)SystemEventsBroadcastReceiverwith try-catch block. (#5106)peekDecorViewinstead ofgetDecorViewinSentryGestureListenerto avoid forcing view hierarchy construction (#5134)network_errortosend_errorURISyntaxExceptioncaused by trailing whitespace (#5113)Sentry.init(#5135)Dependencies
v8.33.0Compare Source
Features
installGroupsOverrideparameter to Build Distribution SDK for programmatic filtering, with support for configuration via properties file usingio.sentry.distribution.install-groups-override(#5066)Fixes
SentryExecutorServiceinSentryOptions(#5093)sendDefaultPii(#5099)androidx.camera.view.PreviewViewto defaultmaskedViewClassesto mask camera previews by default. (#5097)Dependencies
Internal
v8.32.0Compare Source
Features
installGroupsproperty to Build Distribution SDK (#5062)io.sentry.spotlight.enableandio.sentry.spotlight.url(#5064)BEGIN,COMMIT,ROLLBACK) (#5072)options.enableDatabaseTransactionTracingtotrueenable-database-transaction-tracing=truewhen usingsentry.propertiessentry.enable-database-transaction-tracing=trueinapplication.propertiesor inapplication.yml:ApplicationExitInfo.REASON_CRASH_NATIVEon Android 12+AndroidManifest.xmlusing:Fixes
SpotlightIntegrationto separatesentry-spotlightmodule to prevent insecure HTTP URLs from appearing in release APKs (#5064)io.sentry:sentry-spotlightdependency:dependencies { debugImplementation("io.sentry:sentry-spotlight:<version>") }Scopesforreactor-kafkaconsumer pollRunnable(#5080)reactor-kafka's poll event reschedules itself infinitely, and each invocation ofSentryScheduleHookcreated forked scopes with a parent reference, building an unbounded chain that couldn't be garbage collected.Internal
sentry-nativefromApplicationExitInfo. (#5052)writepermission forstatusesin the changelog preview GHA workflow. (#5053)Dependencies
v8.31.0Compare Source
Features
io.sentry.ndk.sdk-nameAndroid manifest option to configure the native SDK's name (#5027)sentry.trace.parent_span_idattribute withspanIdproperty onSentryLogEvent(#5040)Fixes
sendDefaultPiiis enabled (#5036)LoggerBatchProcessoris shutting down (#5041)Dependencies
v8.30.0Compare Source
Fixes
use
options.isCollectExternalStorageContext = trueor<meta-data android:name="io.sentry.external-storage-context" android:value="true" />NullPointerExceptionwhen reading ANR marker (#4979)log_byte(#4971)Improvements
MAX_EVENT_SIZE_BYTESconstant in SentryOptions (#4962)4xxand5xxresponse (#4950)Features
ApplicationExitInfo.REASON_CRASH_NATIVEon Android 12+. (#4933)Sentry.metrics()count: A metric that increments countsgauge: A metric that tracks a value that can go up or downdistribution: A metric that tracks the statistical distribution of valuesv8.29.0Compare Source
Fixes
Internal
metricenvelope item type (#4956)v8.28.0Compare Source
Features
SentryOkHttpInterceptorto intercept the request and extract request/response bodiesio.sentry.session-replay.network-detail-allow-urlsmetadata tag in AndroidManifest (code sample) - Or you can manually specify SentryReplayOptions viaSentryAndroid#init:(Make sure you disable the auto init via manifest meta-data: io.sentry.auto-init=false)
Kotlin
Java
Improvements
rootScopesfor Reactor if current thread hasNoOpScopes(#4793)Fixes
Internal
spanenvelope item type (#4935)Dependencies
v8.27.1Compare Source
Fixes
sentry.propertiesin rundir has not been found (#4929)v8.27.0Compare Source
Features
sentry-openfeaturedependency and register the the hook using:openFeatureApiInstance.addHooks(new SentryOpenFeatureHook());sentry-launchdarkly-androidas a dependency and register theSentryLaunchDarklyAndroidHooksentry-launchdarkly-serveras a dependency and register theSentryLaunchDarklyServerHookenableEventSizeLimitingtotrue(sentry.enable-event-size-limiting=truefor Spring Bootapplication.properties)onOversizedEventcallback to implement custom logic that is executed in case an oversized event is detectedImprovements
Dependencies
v8.26.0Compare Source
Features
Sentry.addFeatureFlag("my-feature-flag", true);) writes to scopes and the current span (if there is one)IScope,IScopes,ISpanandITransactiondirectlyFixes
DefaultReplayBreadcrumbConverterif replay is available (#4888)Improvements
timber.taglog attribute (#4845)Dependencies
Configuration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.