Repository navigation
chore(deps): update Java SDK to v8.61.0 - #583
Conversation
bc0d102 to
17cc957
Compare
| val kotlinStd = "org.jetbrains.kotlin:kotlin-stdlib" | ||
|
|
||
| val sentryJavaVersion = "8.58.0" | ||
| val sentryJavaVersion = "8.59.0" |
There was a problem hiding this comment.
Bug: Upgrading the Sentry Java SDK to 8.59.0 causes direct logger calls to bypass the logs.enabled = false setting, breaking the KMP logging contract.
Severity: HIGH
Suggested Fix
The JvmSentryLoggerAdapter in the KMP library should be updated to respect the logs.enabled flag before forwarding the log to the Java SDK. Add a check for options.logs.enabled within JvmSentryLoggerAdapter.sendLog() and return early if it's false. This will prevent the direct call to the Java SDK and align the behavior with the KMP contract.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: buildSrc/src/main/java/Config.kt#L38
Potential issue: The upgrade to Sentry Java SDK 8.59.0 introduces a breaking change
where direct calls to `Sentry.logger()` are captured regardless of the
`options.getLogs().isEnabled()` flag. The KMP `JvmSentryLoggerAdapter` makes such a
direct call to the Java SDK's `ILoggerApi`. Consequently, even when KMP's `logs.enabled`
is set to `false`, the Java SDK will still process the log and invoke the `beforeSend`
callback. This violates the KMP contract that `logs.enabled = false` disables all log
processing and will cause tests like `DisabledLoggerTest.kt` to fail.
Did we get this right? 👍 / 👎 to inform future reviews.
90a077f to
fa69d62
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit fa69d62. Configure here.
371563c to
b384f92
Compare
b384f92 to
095cea5
Compare

Bumps scripts/update-java.sh from 8.58.0 to 8.61.0.
Auto-generated by a dependency updater.
Changelog
8.61.0
Fixes
beforeSend*callback throws and report it usingDiscardReason.CALLBACK_ERROR.tracesSamplerthrows instead of inheriting the parent sampling decision or falling back totracesSampleRate(#6163).beforeSpanthrows without disrupting requests, covering OkHttp, OpenFeign, GraphQL, Ktor, and Apollo—including Apollo 5 (#6167, #6238).callback_errorwhen a customer event processor throws instead of continuing with a potentially partially processed item. SDK-owned processor failures are logged and processing continues.beforeBreadcrumbthrows instead of storing exception details on the breadcrumb.TransactionNameProviderthrows, falling back to<unlabeled transaction>(#6241).SentryUserProviderthrows and overwrite the user with an empty user object (#6240).profilesSamplerthrows instead of falling back toprofilesSampleRateor inheriting the parent profiling decision (#6164).callback_errorin client reports andOnDiscardCallback(#6166).beforeErrorSamplingthrows while retaining the error event (#6165).Internal
SentryOptionsinstead of a static singleton (#6117)Dependencies
8.60.0
sentry-android-navigation3library (#6233)SentryNavEffectto record navigation transactions, breadcrumbs, screen names, and additional context as your nav back stack changes.device.connection_effective_type, for example4gor5g(#6146)Dependencies
8.59.0
Breaking Changes
Sentry.logger()andSentry.metrics()calls regardless ofoptions.getLogs().isEnabled()andoptions.getMetrics().isEnabled()(#6184)options.getLogs().isEnabled()istrue.options.getMetrics().setEnabled(...)currently has no effect because there are no automatic Metrics integrations. Both enable options will be removed in the upcoming major release, and each logging integration will then have a separate opt-in flag.options.getLogs().setBeforeSend(...)andoptions.getMetrics().setBeforeSend(...)to filter manually emitted telemetry. Returnnullfrom either callback to drop it.Fixes
Features
sendDefaultPiiin favor ofdataCollectionahead of its removal in 9.0 (#6158)SentryAndroidOptions.setTombstoneMergeTimeThresholdMillisand theio.sentry.tombstone.merge-time-threshold-millismanifest option (#6154)sentry-apollo-5integration for Apollo Kotlin 5, providing HTTP tracing and failed GraphQL request reporting (#6074)Fixes
Improvements
MemoryLimiterapp exits recorded asApplicationExitInfo.REASON_MEMORY_LIMITER(#6174)Dependencies
8.58.0
Features
LocalSentrySpantosentry-composeso apps can provide a parentISpanto a composable subtree and have nestedSentryTracedspans attach to it ([#6112]feat(compose): Introduce LocalSentrySpan sentry-java#6112)dataCollection, a fine-grained replacement forsendDefaultPii, for controlling data collected automatically by SDK integrations. See the Data Collection documentation for Android, Java, and Spring Boot (#5759)Warning
sendDefaultPiiwill be removed in the next major SDK version. Migrate todataCollectionbefore upgrading.Full CHANGELOG.md diff