Skip to content

Bump Sentry Gradle plugin 6.22.0, SDK 8.57.0, native-ndk 0.16.6 - #272

Open
romtsn wants to merge 2 commits into
mainfrom
sentry-bump/6.22.0
Open

romtsn wants to merge 2 commits into
mainfrom
sentry-bump/6.22.0

Conversation

@romtsn

@romtsn romtsn commented Sep 14, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Bumps Sentry dependencies to latest stable versions:

Dependency Old New
Sentry Android Gradle Plugin 6.17.0 6.22.0
Sentry Android SDK (auto-installed) 8.51.0 8.57.0
sentry-native-ndk 0.16.0 0.16.6

Changelogs

Gradle Plugin 6.17.0 → 6.22.0

  • 6.18.0 — Fix ProGuard mapping with AGP optimization.enable DSL; eliminate reflection for SDK class-availability checks (~1% init time reduction)
  • 6.19.0 — Fix AGP optimization.enable detection when variant is wrapped by AGP analytics
  • 6.20.0 — Per-variant overrides for tracing instrumentation and runtime optimizations via reverse DSL; resolve Sentry manifest metadata at build time to reduce SDK initialization overhead
  • 6.21.0 — Fix snapshot task wiring for multi-flavor modules; verify Kotlin compiler plugin build dependencies with PGP signatures
  • 6.22.0 — Verify plugin build dependencies with PGP signatures; bump SDK from 8.55.0 to 8.56.0

SDK 8.51.0 → 8.57.0

  • 8.52.0 — Fixes and performance: halve screenshot/replay memory via RGB_565, batch scope-persistence disk writes, reduce SDK thread count, prevent cold app start inflation on API 35+
  • 8.53.0 — Features: explicit start timestamps for child spans via SpanOptions; runtime shake-to-report toggle via Sentry.feedback().enableOnShake()/disableOnShake()
  • 8.54.0 — Features: manual Session Replay controls via Sentry.replay() (start(), stop(), pause(), resume(), flush()); screenshot attachment for user feedback widget; app vitals on standalone app.start children
  • 8.55.0 — Features: Session.State.Unhandled for unhandled errors that don't terminate the process; single ui.compose span per SentryTraced on initial composition; ANR profiling moved out of experimental
  • 8.56.0 — Bug fixes: honor ignored span origins in SentryTraced, prevent dangling spans on recomposition failure, fix Android connection status caching; bumps sentry-native to 0.16.6
  • 8.57.0 — Features: MemoryLimiter app exit reporting via ApplicationExitInfo (automatic); monotonic clock for HTTP rate-limit backoff; breadcrumb timestamp ordering fix

sentry-native 0.16.0 → 0.16.6

  • 0.16.1–0.16.4 — C API additions (sentry_app_hang_pause, scope/transport/callback APIs), forward enable_logs through NdkOptions, various fixes
  • 0.16.5 — sentry_crash for deliberate crash testing, thread stackwalk mode, 68 perf-monitoring functions promoted to stable
  • 0.16.6 — sentry_is_enabled API; security fixes for buffer overflows, out-of-bounds reads, and path traversal vulnerabilities

New features implemented

  1. SpanOptions with explicit start timestamps (SDK 8.53.0) — In MainFragment.checkout(), a SentryDate is captured via SentryNanotimeDate right after the checkout transaction starts (before scope configuration and dialog setup). A SpanOptions object passes this timestamp as the explicit start time for the process_cart_data child span, so the span timing accurately reflects the full checkout setup duration. Demonstrates SpanOptions.setStartTimestamp() and ISpan.startChild(operation, description, SpanOptions).

  2. Feedback shake runtime toggle (SDK 8.53.0) — In MainFragment.checkout(), Sentry.feedback().disableOnShake() is called at the start of checkout to suppress accidental feedback during the checkout flow. After checkout completes (both success and failure paths), Sentry.feedback().enableOnShake() re-enables shake-to-report. Demonstrates the runtime toggle API with a natural use case: preventing feedback interruptions during critical user flows.

  3. User feedback screenshot attachment (SDK 8.54.0) — Added io.sentry.feedback.enable-attach-screenshot = true in AndroidManifest.xml. Enables the screenshot attachment button in the feedback widget so users can attach a screenshot when submitting feedback.

  4. Manual Session Replay flush (SDK 8.54.0) — In MainFragment.processDeliveryItem(), Sentry.replay().flush() is called after the checkout failure exception is captured. This ensures the replay segment around the checkout error is sent immediately rather than waiting for the buffer to fill.

Features skipped (with technical blockers)

  • sentry-native C APIs (sentry_app_hang_pause, sentry_scope_remove_fingerprint, sentry_options_set_before_send_feedback, sentry_scope_set_span, sentry_crash, sentry_is_enabled, sentry_options_set_thread_stackwalk_mode, sentry_value_foreach_*) — C-level APIs not exposed through the Java/Kotlin Android SDK; only accessible via JNI which the demo does not use directly
  • Forward enable_logs through NdkOptions (sentry-native 0.16.3) — Automatic; options.getLogs().setEnabled(true) is already set in MyApplication, so the NDK option is forwarded without code changes
  • App vitals on standalone spans (SDK 8.54.0) — Automatic; io.sentry.standalone-app-start-tracing.enable is already true in the manifest, so app.vitals.start.screen and app.vitals.start.type are set automatically
  • Session.State.Unhandled (SDK 8.55.0) — Internal SDK behavior for session state tracking; automatically categorizes sessions with unhandled errors that don't crash. No app-level code changes needed
  • Single ui.compose span per SentryTraced (SDK 8.55.0) — Behavioral improvement to existing SentryTraced composables; automatic, no code changes needed
  • ANR profiling out of experimental (SDK 8.55.0) — io.sentry.anr.profiling.sample-rate is already set to 1.0 in the manifest; promotion from experimental requires no changes
  • MemoryLimiter app exit reporting (SDK 8.57.0) — Automatic; the SDK now reports MemoryLimiter exits recovered from ApplicationExitInfo without any code changes
  • Per-variant tracing overrides (plugin 6.20.0) — The variants {} DSL enables per-variant configuration; the app applies config uniformly to all variants, so no per-variant override is needed
  • Runtime optimizations (plugin 6.18.0) — Enabled by default; no code change needed
  • Build-time manifest metadata resolution (plugin 6.20.0) — Automatic optimization; no code change needed
  • PGP signature verification (plugin 6.21.0, 6.22.0) — Automatic build security improvement; no code change needed

Build verification

Build could not be fully verified — ./gradlew assembleDebug fails with HTTP 403 from dl.google.com due to network restrictions in the remote execution environment. This is an infrastructure issue, not a code issue. The Gradle plugin version, SDK version, and native-ndk version bumps are straightforward dependency updates, and the new API calls (SpanOptions, SentryNanotimeDate, ISpan.startChild with SpanOptions, Sentry.feedback().disableOnShake()/enableOnShake(), Sentry.replay().flush()) were verified against the sentry-java 8.57.0 release notes and match the published API surface.

🤖 Generated with Claude Code

https://claude.ai/code/session_01THGBKqe7or32K51BA17CSj

Update Sentry dependencies to latest stable versions:
- Gradle plugin: 6.17.0 → 6.22.0
- Android SDK: 8.51.0 → 8.56.0
- sentry-native-ndk: 0.16.0 → 0.16.6

Adopt new SDK features:
- SpanOptions with explicit start timestamps (8.53.0)
- Feedback shake runtime toggle (8.53.0)
- User feedback screenshot attachment (8.54.0)
- Manual Session Replay flush (8.54.0)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019b6H1VxjAPa7mtL1facDEc
@romtsn
romtsn requested a review from sdzhong as a code owner September 14, 2026 17:17
@sentry

sentry Bot commented Sep 14, 2026 •

Copy link
Copy Markdown

📲 Install Builds

Android

🔗 App Name App ID Version Configuration
Android com.example.vu.android 24.12.26 (241226) release
Android com.example.vu.android 24.12.26 (241226) debug
Android com.example.vu.android 24.12.26 (241226) release

⚙️ android Build Distribution Settings

@codecov

codecov Bot commented Sep 14, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 9 lines in your changes missing coverage. Please review.
✅ Project coverage is 0.00%. Comparing base (21c77a4) to head (c0b6634).

Files with missing lines Patch % Lines
.../example/vu/android/empowerplant/MainFragment.java 0.00% 9 Missing ⚠️
Additional details and impacted files
@@          Coverage Diff          @@
##            main    #272   +/-   ##
=====================================
  Coverage   0.00%   0.00%           
=====================================
  Files         16      16           
  Lines        883     891    +8     
  Branches      67      67           
=====================================
- Misses       883     891    +8     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Update sentryVersion to 8.57.0 which adds:
- MemoryLimiter app exit reporting via ApplicationExitInfo (automatic)
- Monotonic clock for HTTP rate-limit backoff (automatic)
- Breadcrumb timestamp ordering fix

No code changes needed — all 8.57.0 features are automatic.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01THGBKqe7or32K51BA17CSj
@romtsn romtsn changed the title Bump Sentry Gradle plugin 6.22.0, SDK 8.56.0, native-ndk 0.16.6 Bump Sentry Gradle plugin 6.22.0, SDK 8.57.0, native-ndk 0.16.6 Sep 21, 2026
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.

1 participant