-
-
Notifications
You must be signed in to change notification settings - Fork 372
docs: Add documentation regarding HybridSDK target removal #7024
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
|
||
| 1. Consolidate Headers into the main target and remove `HybridSDK` subspec | ||
| 2. Update downstream SDKs | ||
| 3. Align on an API naming convention (ask other maintainers for input regarding what they need) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, I don't have a strong preference - as long as we can call it from hybrids I don't think it matters much to us. perhaps SentrySDK.internal.xyz?
I'd go for whatever the team feels more natural for cocoa
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would not even mention it in the SentrySDK, because then it surfaces to our users, and it could confuse them. I would put it into an extra API. InternalSentrySDK. could work, or we could just keep PrivateSentrySDKOnly. Then it's easier for Hybrid to switch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I would try to avoid using SentrySDK.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We've been using InternalSentrySdk for Android as well
might make sense to align here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed, seems like a good oportunity to align
philipphofmann
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks
|
|
||
| However, there was nothing stopping users from using these APIs. They could simply change their dependency to the HybridSDK variant and access any of the "internal" APIs, so the separation provided no real protection. | ||
|
|
||
| Given these drawbacks with no tangible benefits, we decided to remove the HybridSDK submodule and subspec, merging all APIs into the regular target. Moving forward, we will treat Hybrid SDKs as first-class citizens by: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
l: Is it really a submodule? You could confuse this with Git submodules.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is what I meant: https://github.com/getsentry/sentry-cocoa/blob/main/Sources/Resources/Sentry.modulemap#L7
It is a module inside Sentry's module
|
|
||
| 1. Consolidate Headers into the main target and remove `HybridSDK` subspec | ||
| 2. Update downstream SDKs | ||
| 3. Align on an API naming convention (ask other maintainers for input regarding what they need) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would not even mention it in the SentrySDK, because then it surfaces to our users, and it could confuse them. I would put it into an extra API. InternalSentrySDK. could work, or we could just keep PrivateSentrySDKOnly. Then it's easier for Hybrid to switch.
Co-authored-by: Philipp Hofmann <[email protected]>
This decision documents the removal of the
HybridSDKsubspec and module, consolidating all hybrid APIs into the main Sentry target.Background
Until v9.1.0, we maintained a separate SDK variant with additional public headers/APIs for downstream SDKs (React Native, Flutter, .NET, SwiftUI). This separation:
Decision
Remove the HybridSDK submodule and subspec, treating hybrid SDK consumers as first-class citizens by:
Next Steps
HybridSDKsubspec, done in chore: Removes HybridSDK subspec #7019