Skip to content

Commit 1647c75

Browse files
committed
docs: Add documentation regarding HybridSDK target removal
1 parent 3acb318 commit 1647c75

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

develop-docs/DECISIONS.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -569,3 +569,24 @@ This is a wild idea, but we have to double check if using `canImport(SwiftLog)`
569569
Needs a POC to confirm this is possible
570570

571571
</details>
572+
573+
## Remove HybridSDK target
574+
575+
Date: December 10, 2025
576+
Contributors: @itaybre, @philprime, @philipphofmann
577+
578+
Until v9.1.0, we maintained a separate variant of the SDK with additional public headers and APIs intended for downstream SDKs (React Native, Flutter, .NET, and our SwiftUI variant). This meant any change that affected our distribution system required maintaining at least one extra variant of the SDK, which increased the team's workload significantly.
579+
580+
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.
581+
582+
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:
583+
584+
- Exposing required APIs in a documented manner
585+
- Avoiding breaking changes to these APIs in minor versions
586+
- Using naming conventions or namespaces (TBD) to clearly distinguish internal APIs from user-facing ones, discouraging direct usage by end users
587+
588+
Steps:
589+
590+
1. Consolidate Headers into the main target and remove `HybridSDK` subspec
591+
2. Update downstream SDKs
592+
3. Align on an API naming convention (ask other maintainers for input regarding what they need)

0 commit comments

Comments
 (0)