Skip to content

Bump Sentry Gradle plugin 6.20.0, SDK 8.54.0, native-ndk 0.16.4 - #266

Open
romtsn wants to merge 1 commit into
mainfrom
sentry-bump/6.20.0
Open

Bump Sentry Gradle plugin 6.20.0, SDK 8.54.0, native-ndk 0.16.4#266
romtsn wants to merge 1 commit into
mainfrom
sentry-bump/6.20.0

Conversation

@romtsn

@romtsn romtsn commented Aug 31, 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.20.0
Sentry Android SDK (auto-installed) 8.51.0 8.54.0
sentry-native-ndk 0.16.0 0.16.4

Changelogs

Gradle Plugin 6.17.0 → 6.20.0

  • 6.18.0 — Fix ProGuard mapping with AGP optimization.enable DSL; eliminate reflection for SDK class-availability checks (~1% init time reduction, enabled by default via runtimeOptimizations)
  • 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

SDK 8.51.0 → 8.54.0

  • 8.52.0 — Fixes and performance: clear contexts on Scope.clear(), 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.0Features: allow child spans to use explicit start timestamps via SpanOptions; make ISpan.startChild overloads with SpanOptions public
  • 8.54.0Features: manual Session Replay controls via Sentry.replay() (start(), stop(), pause(), resume(), flush()); screenshot attachment for user feedback widget (io.sentry.feedback.enable-attach-screenshot); app vitals on standalone app.start children

sentry-native 0.16.0 → 0.16.4

  • 0.16.1 — C API: sentry_app_hang_pause; fix crash reporter config checks
  • 0.16.2 — C API: sentry_scope_remove_fingerprint, sentry_options_set_before_send_feedback; fixes for FD leak, Crashpad init ordering
  • 0.16.3 — Forward enable_logs option through NdkOptions; C API: sentry_scope_set_span/sentry_scope_set_transaction_object
  • 0.16.4 — Custom HTTP transport interface; sentry_set_tags/sentry_get_last_event_id; on_crashed_last_run callback; dynamic libcurl loading

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. This demonstrates both newly public APIs: SpanOptions.setStartTimestamp() and ISpan.startChild(operation, description, SpanOptions).

  2. 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, demonstrating the new Sentry.replay() manual control API.

  3. User Feedback screenshot attachment (SDK 8.54.0) — Added io.sentry.feedback.enable-attach-screenshot = true in AndroidManifest.xml. This enables the new screenshot attachment capability in the feedback widget (enabled by default in 8.54.0, made explicit here for demo visibility).

Features skipped (with technical blockers)

  • sentry_app_hang_pause (sentry-native 0.16.1) — C API not exposed through the Java/Kotlin Android SDK
  • sentry_scope_remove_fingerprint / sentry_options_set_before_send_feedback (sentry-native 0.16.2) — C API not exposed through the Java/Kotlin Android SDK
  • sentry_scope_set_span / sentry_scope_set_transaction_object (sentry-native 0.16.3) — C API not exposed through the Java/Kotlin Android SDK
  • 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
  • Custom HTTP transport / bulk tags / crash inspection callback / event ID retrieval / dynamic libcurl (sentry-native 0.16.4) — C-level APIs not exposed through the Java/Kotlin Android SDK; Windows/Unix-specific features not relevant to Android
  • 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 with no code changes
  • Per-variant tracing overrides (plugin 6.20.0) — The variants {} DSL enables per-variant configuration of tracing instrumentation and runtime optimizations; the app's current global config already applies 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 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.replay().flush()) were verified against the sentry-java 8.54.0 release notes.


Generated by Claude Code

- Gradle plugin: 6.17.0 → 6.20.0
- Android SDK (auto-installed): 8.51.0 → 8.54.0
- sentry-native-ndk: 0.16.0 → 0.16.4

New features implemented:
- SpanOptions with explicit start timestamps (SDK 8.53.0)
- Manual Session Replay controls via Sentry.replay() (SDK 8.54.0)
- User Feedback screenshot attachment manifest flag (SDK 8.54.0)
@romtsn
romtsn requested a review from sdzhong as a code owner August 31, 2026 17:22
@sentry

sentry Bot commented Aug 31, 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 Aug 31, 2026

Copy link
Copy Markdown

Codecov Report

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

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

☔ 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.

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