-
-
Notifications
You must be signed in to change notification settings - Fork 476
Comparing changes
Open a pull request
base repository: getsentry/sentry-java
base: f4269fd
head repository: getsentry/sentry-java
compare: f8e292e
- 14 commits
- 63 files changed
- 10 contributors
Commits on Jun 19, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 6219b79 - Browse repository at this point
Copy the full SHA 6219b79View commit details -
refactor(android-sqlite): Rename classes instrumenting SQLite spans f…
…or consistency (#5555)
Configuration menu - View commit details
-
Copy full SHA for 69943b8 - Browse repository at this point
Copy the full SHA 69943b8View commit details -
chore(samples-android): Adapt SQLite demo screen to SAGP build mode (#…
…5568) Exposes a `BuildConfig.USE_SAGP` property from the recently introduced -PuseSagp flag ([#5538](#5538)). Lets us update the SQLite screen in the Android sample app so that it swizzles between auto-instrumenting vs manually wrapping `SQLiteDriver`, depending on the whether SAGP was applied to the build.
Configuration menu - View commit details
-
Copy full SHA for 05aa61d - Browse repository at this point
Copy the full SHA 05aa61dView commit details
Commits on Jun 22, 2026
-
feat(android): Report app start reason as
app.vitals.start.reasono……n standalone app start transaction (#5552) * feat(android): Report app start reason on standalone app start transaction Read ApplicationStartInfo.getReason() (API 35+) and attach it as app.start.reason trace data on the standalone app.start transaction in both the foreground and headless paths. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> * feat(android): Register StandaloneAppStart SDK integration marker Advertise that standalone app start tracing is active by adding a StandaloneAppStart marker to the SDK metadata integrations when the feature is enabled. Internal SDK metadata only. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> * docs(changelog): Note app.start.reason is searchable in Trace Explorer Address review feedback to mention that customers can search and group by the app.vitals.start.reason attribute. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> --------- Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0c118e9 - Browse repository at this point
Copy the full SHA 0c118e9View commit details -
fix(replay): Release MediaMuxer when no frames are encoded (#5583)
* fix(replay): Release MediaMuxer when no frames are encoded The MediaMuxer is created when the video encoder is constructed, but its release() was reachable only on the happy path. Two cases leaked it: - createVideoOf returned early when frameCount was 0 without releasing the encoder. - SimpleMp4FrameMuxer.release() called muxer.stop() before muxer.release(). stop() throws if the muxer was never started (no frame ever muxed), so release() was skipped. This surfaced as a CloseGuard "resource was acquired but never released" warning. Guard stop() behind the started flag so release() is always reached, and release the encoder on the no-frames return path. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> * changelog --------- Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f037273 - Browse repository at this point
Copy the full SHA f037273View commit details -
docs(replay): Add THIRD_PARTY_NOTICES entry for SimpleMp4FrameMuxer (#…
…5586) * docs(replay): Add THIRD_PARTY_NOTICES entry for SimpleMp4FrameMuxer SimpleMp4FrameMuxer is adapted from the flutter_screen_recorder library and carries a complete attribution header, but the corresponding entry in THIRD_PARTY_NOTICES.md was never added. Warden's check-code-attribution flags the missing entry as independently required regardless of header completeness. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> * docs(replay): Cover all adapted flutter_screen_recorder and Curtains files SimpleFrameMuxer and SimpleVideoEncoder are adapted from the same flutter_screen_recorder library as SimpleMp4FrameMuxer; fold all three into one notice entry. Also extend the existing Square Curtains scope to list io.sentry.android.replay.Windows, which is adapted from Curtains but was not mentioned. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> * fix(replay): Correct adapted-from URL in SimpleVideoEncoder header The attribution header pointed at the upstream SimpleFrameMuxer.kt instead of SimpleVideoEncoder.kt. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> --------- Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 57d359a - Browse repository at this point
Copy the full SHA 57d359aView commit details
Commits on Jun 23, 2026
-
build(samples): Remove outputs.upToDateWhen { false } from systemTest…
… tasks (#5522) * build(samples): Remove outputs.upToDateWhen { false } from systemTest tasks The systemTest tasks in the sample modules forced Gradle to always treat their outputs as out of date, disabling up-to-date checks and build cache reuse. Removing this lets Gradle rely on its normal input/output tracking for the Test tasks. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> * build(samples): Track systemTest app archive via convention plugin The system tests launch the packaged sample (war/shadowJar/bootJar) from build/libs as a separate process, so the archive is a real input to the systemTest task even though it is not on the test classpath. Without it, removing outputs.upToDateWhen { false } would let Gradle mark systemTest up-to-date while a separate jar build refreshed the artifact, skipping verification against the rebuilt sample. Move that wiring into a single io.sentry.systemtest convention plugin in build-logic instead of repeating it in every sample build file. The plugin auto-detects the packaging task (war, else shadowJar, else bootJar), mirroring the selection in test/system-test-runner.py, and declares its archive as an input and dependency. Each sample just applies the plugin. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> * build(samples): Track OpenTelemetry agent jar as systemTest input The agent-based OpenTelemetry samples are launched by the runner with -javaagent:<sentry-opentelemetry-agent>, started outside the test JVM. That jar is not on the test classpath nor one of the app archives, so without tracking it systemTest could stay up-to-date and be skipped while the runner launches a newer agent. Add a usesOpenTelemetryAgent opt-in to the io.sentry.systemtest plugin; the three agent samples enable it and the agent jar is then tracked as a content input. The runner already builds and launches the agent before invoking the task, so it is tracked by path without a cross-project task dependency, which keeps it configuration-on-demand and configuration cache compatible. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> --------- Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f982bad - Browse repository at this point
Copy the full SHA f982badView commit details -
fix(android): Fix crash when getHistoricalProcessStartReasons is call…
…ed from a wrong process (#5597) * fix(android): Fix crash when getHistoricalProcessStartReasons is called from a wrong process * test(android): Add test and changelog for getHistoricalProcessStartReasons crash fix Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> * SecurityException -> RuntimeException --------- Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ec5e3a5 - Browse repository at this point
Copy the full SHA ec5e3a5View commit details
Commits on Jun 24, 2026
-
fix(replay): Fix flaky ComposeMaskingOptionsTest (#5613)
The `when sentry-unmask modifier is set unmasks the node` test intermittently failed because Robolectric can report zero bounds for some nodes when running the full test class, making them invisible (shouldMask = isVisible && ...). Restructure the test to: - Explicitly find the "Make Request" node and assert it IS visible and unmasked - Assert other visible nodes remain masked, with a guard against empty iteration - Tolerate intermittent zero-bounds on non-identifiable nodes (Robolectric artifact) Validated with the repro from getsentry/repro#51: 20/20 passes (vs ~10% flake rate before the fix). Fixes #5585 Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8183500 - Browse repository at this point
Copy the full SHA 8183500View commit details -
ci(replay): Skip snapshot upload on PRs from forks (#5621)
Fork PRs don't have access to the SENTRY_AUTH_TOKEN secret, so the sentry-cli snapshot upload would fail anyway. Guard the step to run only on pushes and same-repo PRs. Co-authored-by: Claude Opus 4.8 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3c89fa4 - Browse repository at this point
Copy the full SHA 3c89fa4View commit details -
ci(build): Skip snapshot upload on PRs from forks (#5622)
Fork PRs don't have access to SENTRY_AUTH_TOKEN, so the upload step would attempt to run without credentials. Guard it the same way the replay snapshot upload is guarded so fork PRs cleanly skip it.
Configuration menu - View commit details
-
Copy full SHA for 477b848 - Browse repository at this point
Copy the full SHA 477b848View commit details -
fix: use System.nanoTime() for cron check-in duration measurement (#5611
) * fix: use System.nanoTime() for cron check-in duration measurement System.currentTimeMillis() is a wall-clock value and is subject to NTP adjustments and DST transitions. For long-running cron jobs this can produce incorrect or even negative durations in the check-in payload. Switch the start/end capture in CheckInUtils.withCheckIn() and the three SentryCheckInAdvice implementations (sentry-spring, sentry-spring-jakarta, sentry-spring-7) to System.nanoTime(), which is guaranteed monotonic. Use DateUtils.nanosToSeconds() (already present) to convert the delta. Fixes #5579 * changelog --------- Co-authored-by: Roman Zavarnitsyn <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 693fc15 - Browse repository at this point
Copy the full SHA 693fc15View commit details -
chore: update scripts/update-sentry-native-ndk.sh to 0.15.2 (#5610)
Co-authored-by: GitHub <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0499903 - Browse repository at this point
Copy the full SHA 0499903View commit details -
Configuration menu - View commit details
-
Copy full SHA for f8e292e - Browse repository at this point
Copy the full SHA f8e292eView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff f4269fd...f8e292e