chore(deps): update Java SDK to v8.51.0 - #2790
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
bruno-garcia
force-pushed
the
deps/modules/sentry-java/8.51.0
branch
from
July 30, 2026 03:58
55b9c9d to
aa4d255
Compare
| @@ -1 +1 @@ | |||
| Subproject commit 23f7e5f9fb6d80bf28a56c7c1bf7d2bb3d4be1b0 | |||
| Subproject commit b01b159cce519c2da9db6303c8e9b64cdefd7b51 | |||
There was a problem hiding this comment.
Bug: The Android integration for sentry-unity does not create the outbox directory, which is no longer handled by the Java SDK's Sentry.init and could cause failures.
Severity: MEDIUM
Suggested Fix
Before initializing the Java SDK, check if the outbox path is set in the options. If it is, create the directory using new File(options.getOutboxPath()).mkdirs() to ensure it exists, as required by the updated Java SDK.
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: modules/sentry-java#L1
Potential issue: The updated Java SDK v8.51.0 introduces a breaking change where it no
longer creates the outbox and cache directories during `Sentry.init`. The release notes
explicitly state that hybrid SDKs which write envelopes directly to the outbox path must
now create the directory first, for example by calling `new File(outboxPath).mkdirs()`.
The `sentry-unity` codebase does not contain any code to create these directories. While
current usage patterns may not write directly to the Java SDK's outbox, this omission
creates a potential failure point for any code path that does, or for future changes
that rely on this behavior.
Did we get this right? 👍 / 👎 to inform future reviews.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps modules/sentry-java from 8.51.0-1-g057ba3685 to 8.51.0.
Auto-generated by a dependency updater.
Changelog
8.51.0
Features
ProfilingManager(Perfetto) for continuous profiling on API 35+ devices (#5251)ProfilingManagerwith Perfetto-based stack sampling, providing lower-overhead and more accurate profiles. No configuration change is required.Debug-based profiler.enableLegacyProfilingoption (defaulttrue) to disable the legacyDebug-based profiler. Setting it tofalsedisables continuous profiling on API < 35 devices as well as transaction-based profiling (profilesSampleRate/profilesSampler) on all devices, since transaction-based profiling is not supported by Perfetto.io.sentry.profiling.enable-legacy-profilingmanifest flag.Behavioral Changes
Sentry.init(#5792)SentryOptions.getOutboxPath()andSentryOptions.getCacheDirPath()are not guaranteed to exist onceSentry.initreturns.captureEnvelope— create the directory first, e.g.new File(outboxPath).mkdirs().Improvements
Fixes
checkCanRecordruns on the replay executor thread (#5837)MediaMuxerwhen the replay video encoder fails to start to avoid a resource leak (#5607)androidinstead ofjava) on ANR profile chunks so they are billed as UI Profile Hours rather than Continuous Profile Hours (#5836)ratelimit_backoffdiscarded events in client reports, so they no longer disappear from drop statistics. One event is recorded per buffer flush rather than per segment.Performance
mkdirs()calls off the init (main) thread (#5792)LifecycleWatchernow schedules the session-end task on the shared timer executor instead of creating a dedicatedjava.util.Timerthread (#5819)RateLimiternow schedules its rate-limit-lifted notifications on the shared timer executor instead of creating a dedicatedjava.util.Timerthread (#5814)Dependencies