Skip to content

Conversation

@itaybre
Copy link
Contributor

@itaybre itaybre commented Jan 14, 2026

📜 Description

Renames the class SentrySpan to SentrySpanInternal, keeping SentrySpan only to the protocol.
Only the protocol is a public API, so no breaking changes were made

💡 Motivation and Context

We have 2 types with identical names, one a protocol and another a class.
While converting the SentryCrashIntegration to Swift, I ran into issues with them having the same name in ObjC.

💚 How did you test it?

📝 Checklist

You have to check all boxes before merging:

  • I added tests to verify the changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • Review from the native team if needed.
  • No breaking change or entry added to the changelog.
  • No breaking change for hybrid SDKs or communicated to hybrid SDKs.

Closes #7176

@github-actions
Copy link
Contributor

github-actions bot commented Jan 14, 2026

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

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


New Features ✨

Metrics

  • Add implementation for metrics envelope item by philprime in #6960
  • Add integration with installation by SDK by philprime in #6956

Other

  • Add isiOSAppOnVisionOS, isiOSAppOnMac, isMacCatalystApp to device context by philprime in #6939

Bug Fixes 🐛

  • (logs) Use sendDefaultPii and span_id for attributes by philprime in #7055
  • Fix incorrect variable assignment for 'sampled' key by xjshi in #7120
  • Mark dark theme deprecated by noahsmartin in #7114
  • Update raw_description in runtime context for Mac Catalyst App by philprime in #7082
  • Use correct parsing for stackframes by noahsmartin in #6908
  • Transport correctly handling 4xx and 5xx by dfed in #6618

Build / dependencies / internal 🔧

Deps

  • Bump ruby/setup-ruby from 1.279.0 to 1.281.0 by dependabot in #7160
  • Bump getsentry/craft from 2.18.1 to 2.18.3 by dependabot in #7161
  • Bump getsentry/craft/.github/workflows/changelog-preview.yml from 2.18.1 to 2.18.3 by dependabot in #7159
  • Bump ruby/setup-ruby from 1.276.0 to 1.279.0 by dependabot in #7117
  • Bump mikepenz/action-junit-report from 6.0.1 to 6.1.0 by dependabot in #7116
  • Update swiftlint version by github-actions in #7109
  • Bump ruby/setup-ruby from 1.275.0 to 1.276.0 by dependabot in #7103
  • Bump codecov/test-results-action from 1.1.1 to 1.2.1 by itaybre in #7087
  • Bump ruby/setup-ruby from 1.270.0 to 1.275.0 by itaybre in #7088
  • Bump peter-evans/create-pull-request from 7.0.11 to 8.0.0 by dependabot in #7084
  • Bump actions/download-artifact from 6 to 7 by dependabot in #7048
  • Bump aws-sdk-s3 from 1.205.0 to 1.208.0 by dependabot in #7074
  • Bump ruby/setup-ruby from 1.269.0 to 1.270.0 by dependabot in #7049
  • Update clang-format version by github-actions in #7056
  • Bump actions/cache from 4 to 5 by dependabot in #7052
  • Bump actions/upload-artifact from 5 to 6 by dependabot in #7050
  • Bump codecov/codecov-action from 5.5.1 to 5.5.2 by dependabot in #7051

Other

  • (dx) Add structured Makefile with usage description by philprime in #7129
  • (release) Switch from action-prepare-release to Craft (minimal) by BYK in #7153
  • Renames SentrySpan class to SentrySpanInternal by itaybre in #7172
  • Update iOS test destination OS version to 18.5 in fast-pr-checks workflow by itaybre in #7168
  • Fix typos in comments in multiple files v2 by philipphofmann in #7139
  • Run visionOS tests on Cirrus Runners + Boot simulator by itaybre in #7147
  • Skip jobs/steps that require secrets for non contributors by itaybre in #7124
  • Add attributable protocol for typed attribute values by philprime in #7077
  • Allow alpha releases on RNSentry.podspec for Cross Platform Test by itaybre in #7130
  • Remove swift5.9 checks by itaybre in #7098
  • Remove duplicate file in project by itaybre in #7093
  • Convert SentryMetricKitIntegration to Swift by noahsmartin in #7076
  • Removes HybridSDK subspec by itaybre in #7019
  • Move testRemoveImageFromTail to flaky plan by itaybre in #7041
  • Use at least xcode 16 for all jobs by itaybre in #7012
  • Cleanup file filter for required files modified by itaybre in #7031
  • Remove assembly workflow files from UI test filter by itaybre in #7030
  • Bumps macOS-14 runner to macOS-15 by itaybre in #7029
  • Ensure required simulators are loaded for all platforms by itaybre in #7022

Other

  • test: Add Options Documentation Sync Tests by philipphofmann in #7075

🤖 This preview updates automatically when you update the PR.

@codecov
Copy link

codecov bot commented Jan 14, 2026

Codecov Report

❌ Patch coverage is 96.96970% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 84.938%. Comparing base (bb418da) to head (1149ff6).
⚠️ Report is 11 commits behind head on main.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
Sources/Sentry/SentryTracer.m 90.909% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff              @@
##              main     #7172       +/-   ##
=============================================
+ Coverage   84.795%   84.938%   +0.143%     
=============================================
  Files          461       465        +4     
  Lines        27860     28039      +179     
  Branches     12324     12392       +68     
=============================================
+ Hits         23624     23816      +192     
+ Misses        4195      4178       -17     
- Partials        41        45        +4     
Files with missing lines Coverage Δ
Sources/Sentry/SentryBuildAppStartSpans.m 100.000% <100.000%> (ø)
Sources/Sentry/SentryCoreDataTracker.m 97.368% <100.000%> (+0.023%) ⬆️
Sources/Sentry/SentryCrashIntegration.m 100.000% <100.000%> (ø)
.../SentryDefaultUIViewControllerPerformanceTracker.m 97.777% <100.000%> (ø)
Sources/Sentry/SentryFileIOTrackerHelper.m 93.023% <100.000%> (ø)
Sources/Sentry/SentryPerformanceTracker.m 99.107% <ø> (ø)
Sources/Sentry/SentrySDKInternal.m 84.583% <ø> (ø)
Sources/Sentry/SentryScope.m 96.052% <100.000%> (ø)
Sources/Sentry/SentrySpanInternal.m 98.843% <ø> (ø)
Sources/Sentry/SentryTimeToDisplayTracker.m 98.947% <100.000%> (ø)
... and 2 more

... and 24 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bb418da...1149ff6. Read the comment docs.

@itaybre itaybre added the ready-to-merge Use this label to trigger all PR workflows label Jan 14, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Jan 14, 2026

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1220.61 ms 1257.71 ms 37.10 ms
Size 24.14 KiB 1.06 MiB 1.03 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
50e7b3e 1221.54 ms 1250.81 ms 29.27 ms
3bf0d3f 1202.12 ms 1237.23 ms 35.11 ms
2f28bda 1221.21 ms 1255.09 ms 33.88 ms
dbfeb41 1215.17 ms 1237.41 ms 22.23 ms
d29a425 1209.96 ms 1239.00 ms 29.04 ms
2f4ddaa 1227.26 ms 1260.04 ms 32.78 ms
1d0feed 1213.31 ms 1247.44 ms 34.14 ms
adeec82 1220.43 ms 1254.94 ms 34.51 ms
9f7ef2b 1213.53 ms 1250.23 ms 36.70 ms
2e5230b 1207.41 ms 1240.41 ms 33.00 ms

App size

Revision Plain With Sentry Diff
50e7b3e 24.14 KiB 1.04 MiB 1.02 MiB
3bf0d3f 24.14 KiB 1.04 MiB 1.02 MiB
2f28bda 24.14 KiB 1.05 MiB 1.03 MiB
dbfeb41 24.14 KiB 1.04 MiB 1.02 MiB
d29a425 24.14 KiB 1.04 MiB 1.02 MiB
2f4ddaa 24.14 KiB 1.04 MiB 1.02 MiB
1d0feed 24.14 KiB 1.05 MiB 1.03 MiB
adeec82 24.14 KiB 1.04 MiB 1.02 MiB
9f7ef2b 24.14 KiB 1.04 MiB 1.02 MiB
2e5230b 24.14 KiB 1.04 MiB 1.02 MiB

Previous results on branch: itay/rename_SentrySpan_class

Startup times

Revision Plain With Sentry Diff
2d15809 1229.12 ms 1255.39 ms 26.26 ms
1f2c207 1211.38 ms 1251.42 ms 40.04 ms

App size

Revision Plain With Sentry Diff
2d15809 24.14 KiB 1.04 MiB 1.02 MiB
1f2c207 24.14 KiB 1.04 MiB 1.02 MiB

@itaybre itaybre marked this pull request as ready for review January 14, 2026 16:35
Copy link
Member

@philprime philprime left a comment

Choose a reason for hiding this comment

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

LGTM, but might we worth to ask one of our coding agents to verify we caught all use cases of SentrySpan which need to be renamed

@itaybre
Copy link
Contributor Author

itaybre commented Jan 15, 2026

@sentry review

@itaybre
Copy link
Contributor Author

itaybre commented Jan 15, 2026

LGTM, but might we worth to ask one of our coding agents to verify we caught all use cases of SentrySpan which need to be renamed

Should be fine since if I missed any case, it shouldn't compile
But I triggered the review anyway

Copy link
Member

@philipphofmann philipphofmann left a comment

Choose a reason for hiding this comment

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

There are several replacements of id<SentrySpan> with SentrySpanInternal. I don't think these should be required.

@itaybre
Copy link
Contributor Author

itaybre commented Jan 15, 2026

There are several replacements of id<SentrySpan> with SentrySpanInternal. I don't think these should be required.

There is no reason to use id<SentrySpan> instead of SentrySpanInternal internally, the protocol is just the public interface

Copy link
Member

@philipphofmann philipphofmann left a comment

Choose a reason for hiding this comment

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

Thanks for fixing this @itaybre 💯

@itaybre itaybre merged commit e1e5f3b into main Jan 16, 2026
213 of 215 checks passed
@itaybre itaybre deleted the itay/rename_SentrySpan_class branch January 16, 2026 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Use this label to trigger all PR workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ref: Renames SentrySpan class to SentrySpanInternal

4 participants