Skip to content

feat(dart): Mark span streaming API as non-experimental#3756

Merged
buenaflor merged 1 commit into
mainfrom
ref/span-v2-stream-not-experimental
Jun 22, 2026
Merged

feat(dart): Mark span streaming API as non-experimental#3756
buenaflor merged 1 commit into
mainfrom
ref/span-v2-stream-not-experimental

Conversation

@buenaflor

Copy link
Copy Markdown
Contributor

Remove the @experimental annotation from the span-first streaming API now that it has stabilized. Users of Sentry.startSpan, Sentry.startSpanSync, and SentryOptions.traceLifecycle no longer get experimental-use analyzer warnings.

No behavior change — the API surface, signatures, and defaults (traceLifecycle still defaults to SentryTraceLifecycle.static) are untouched.

Scope

Only the streaming span API is affected. Other experimental APIs (database integrations, replay privacy options, screenshot masking) keep their @experimental markers, so the existing experimental_member_use ignores in downstream packages remain valid.

Remove the @experimental annotation from the span-first streaming API:
Sentry.startSpan, Sentry.startSpanSync, and SentryOptions.traceLifecycle.

The API has stabilized, so these members no longer need the experimental
marker. No behavior change.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
@github-actions

github-actions Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

🟡 Minor (new features)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


Features

  • (dart) Mark span streaming API as non-experimental by buenaflor in #3756

🤖 This preview updates automatically when you update the PR.

@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.98%. Comparing base (f3d7a42) to head (a62b8d2).
⚠️ Report is 4 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3756   +/-   ##
=======================================
  Coverage   86.98%   86.98%           
=======================================
  Files         336      336           
  Lines       12059    12059           
=======================================
  Hits        10489    10489           
  Misses       1570     1570           
Flag Coverage Δ
sentry 86.96% <ø> (ø)
sentry_dio 97.73% <ø> (ø)
sentry_drift 93.57% <ø> (ø)
sentry_file 65.29% <ø> (ø)
sentry_firebase_remote_config 100.00% <ø> (ø)
sentry_flutter 91.18% <ø> (ø)
sentry_hive 77.48% <ø> (ø)
sentry_isar 74.37% <ø> (ø)
sentry_link 21.50% <ø> (ø)
sentry_logging 97.01% <ø> (ø)
sentry_sqflite 88.81% <ø> (ø)
sentry_supabase 97.27% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

@github-actions

Copy link
Copy Markdown
Contributor

Android Performance metrics 🚀

  Plain With Sentry Diff
Startup time 357.50 ms 358.66 ms 1.16 ms
Size 14.55 MiB 15.87 MiB 1.31 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
c1e775e 482.36 ms 608.98 ms 126.62 ms
de377fd 572.35 ms 589.21 ms 16.87 ms
667e3c4 402.86 ms 394.04 ms -8.82 ms
cc4e375 426.15 ms 482.34 ms 56.19 ms
67de70c 375.88 ms 356.11 ms -19.77 ms
944b773 470.54 ms 480.18 ms 9.64 ms
584a4b7 367.74 ms 353.83 ms -13.91 ms
93b7728 475.28 ms 489.13 ms 13.86 ms
caa8620 384.46 ms 363.30 ms -21.16 ms
f872f8e 402.38 ms 416.20 ms 13.82 ms

App size

Revision Plain With Sentry Diff
c1e775e 6.54 MiB 7.70 MiB 1.17 MiB
de377fd 6.54 MiB 7.71 MiB 1.17 MiB
667e3c4 14.55 MiB 15.87 MiB 1.31 MiB
cc4e375 6.54 MiB 7.69 MiB 1.15 MiB
67de70c 14.31 MiB 15.49 MiB 1.19 MiB
944b773 13.93 MiB 15.00 MiB 1.06 MiB
584a4b7 14.09 MiB 15.28 MiB 1.19 MiB
93b7728 6.54 MiB 7.69 MiB 1.15 MiB
caa8620 14.31 MiB 15.49 MiB 1.19 MiB
f872f8e 13.93 MiB 15.18 MiB 1.25 MiB

@github-actions

Copy link
Copy Markdown
Contributor

iOS Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1253.95 ms 1257.58 ms 3.63 ms
Size 5.83 MiB 6.28 MiB 459.42 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
cdf371b 1246.24 ms 1251.10 ms 4.86 ms
737ef5d 1255.65 ms 1252.24 ms -3.41 ms
4481076 1256.48 ms 1266.64 ms 10.17 ms
a10aff4 1241.67 ms 1255.02 ms 13.35 ms
bfabaf2 1251.72 ms 1253.38 ms 1.67 ms
d789735 1240.58 ms 1246.41 ms 5.82 ms
4298701 1243.56 ms 1262.29 ms 18.72 ms
c58ce03 1245.18 ms 1247.00 ms 1.82 ms
93b7728 1247.23 ms 1264.87 ms 17.64 ms
c002f00 1252.47 ms 1258.78 ms 6.31 ms

App size

Revision Plain With Sentry Diff
cdf371b 5.53 MiB 6.02 MiB 501.23 KiB
737ef5d 5.73 MiB 6.18 MiB 466.16 KiB
4481076 7.86 MiB 9.44 MiB 1.58 MiB
a10aff4 5.53 MiB 6.00 MiB 486.71 KiB
bfabaf2 5.53 MiB 6.01 MiB 487.95 KiB
d789735 5.53 MiB 5.96 MiB 443.28 KiB
4298701 20.70 MiB 22.46 MiB 1.76 MiB
c58ce03 5.73 MiB 6.17 MiB 455.86 KiB
93b7728 7.86 MiB 9.44 MiB 1.58 MiB
c002f00 5.65 MiB 6.09 MiB 448.38 KiB

@buenaflor
buenaflor marked this pull request as ready for review June 15, 2026 18:24
@buenaflor
buenaflor requested a review from denrase as a code owner June 15, 2026 18:24
Copilot AI review requested due to automatic review settings June 15, 2026 18:24
@buenaflor buenaflor changed the title ref(dart): Mark span streaming API as non-experimental feat(dart): Mark span streaming API as non-experimental Jun 15, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR stabilizes the span-first streaming tracing API in the Dart SDK by removing @experimental annotations, preventing downstream users from seeing experimental-use analyzer warnings while keeping behavior and defaults unchanged.

Changes:

  • Removed @experimental from Sentry.startSpan and Sentry.startSpanSync.
  • Removed @experimental from SentryOptions.traceLifecycle (still defaults to SentryTraceLifecycle.static).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
packages/dart/lib/src/sentry.dart Removes experimental annotation from the async/sync span streaming entry points.
packages/dart/lib/src/sentry_options.dart Removes experimental annotation from the traceLifecycle option controlling streaming vs static tracing.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@buenaflor
buenaflor merged commit 9993fa9 into main Jun 22, 2026
157 checks passed
@buenaflor
buenaflor deleted the ref/span-v2-stream-not-experimental branch June 22, 2026 09:49
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.

3 participants