From 8aaf532090c9f4ad0a2478d082a168db32d2c929 Mon Sep 17 00:00:00 2001 From: Alexey Karimov Date: Wed, 4 Nov 2026 00:17:52 +0500 Subject: [PATCH] Adopt iOS SDK 7.0.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pin bugsee/spm and feedback-spm to 7.0.1 and update Package.resolved (revision 15553bd). No API changes needed. πŸ€– Generated with [Claude Code](https://claude.com/claude-code) --- docs/design/2026-09-15-sdk-design.md | 2 +- docs/design/plans/2026-09-16-implementation-plan.md | 2 +- native-versions.json | 2 +- packages/react-native-feedback/README.md | 2 +- packages/react-native-feedback/ios/Package.swift | 4 ++-- packages/react-native/ios/Support/Package.resolved | 4 ++-- packages/react-native/ios/Support/Package.swift | 2 +- scripts/__tests__/github-release.test.ts | 4 ++-- scripts/__tests__/native-versions.test.ts | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/design/2026-09-15-sdk-design.md b/docs/design/2026-09-15-sdk-design.md index a103c928..9a6fc931 100644 --- a/docs/design/2026-09-15-sdk-design.md +++ b/docs/design/2026-09-15-sdk-design.md @@ -14,7 +14,7 @@ The single most important finding behind this design: **iOS 7.x and Android 7.x ## 2. Goals -- Ship a 7.x-native React Native SDK for the two current native lines: Android **7.4.2** (7.3.0 first, pinned transitionally as `7.3.0-SNAPSHOT` while that release was pending β€” see the plan's Phase 3 rulings; 7.3.1 fixes bugsee-android #214–#221 found by the beta campaign; beta validation pinned `7.3.2-SNAPSHOT` (bugsee-android main plus PR #265), released as 7.4.0; 7.4.1 adds the touch-capture fix for bugsee-android #267; 7.4.2 adds the lifecycle and secure-rectangle work the beta campaign ran against) and iOS **7.0.0** (SPM only, iOS deployment target 15.0). +- Ship a 7.x-native React Native SDK for the two current native lines: Android **7.4.2** (7.3.0 first, pinned transitionally as `7.3.0-SNAPSHOT` while that release was pending β€” see the plan's Phase 3 rulings; 7.3.1 fixes bugsee-android #214–#221 found by the beta campaign; beta validation pinned `7.3.2-SNAPSHOT` (bugsee-android main plus PR #265), released as 7.4.0; 7.4.1 adds the touch-capture fix for bugsee-android #267; 7.4.2 adds the lifecycle and secure-rectangle work the beta campaign ran against) and iOS **7.0.1** (SPM only, iOS deployment target 15.0). - Expose the capabilities 7.x added and 6.x never had: breadcrumbs, notification relay, APM, user identity, hang/HTTP-error/frustration/anomaly detection, SDK status, report handlers. - Make the wrapper's option surface **provably** consistent with the native SDKs, enforced in CI rather than by review. - Work on bare React Native and on Expo, including Expo apps that regenerate native projects with `prebuild`. diff --git a/docs/design/plans/2026-09-16-implementation-plan.md b/docs/design/plans/2026-09-16-implementation-plan.md index 31895c0d..b3fecc99 100644 --- a/docs/design/plans/2026-09-16-implementation-plan.md +++ b/docs/design/plans/2026-09-16-implementation-plan.md @@ -18,7 +18,7 @@ Every phase's requirements implicitly include this section. - React Native floor **0.81.0**, New Architecture required. No `oldarch` source set, no legacy bridge fallback. 0.81 still allows opting out of the New Architecture; that is a documented requirement on the consumer, not a second code path. Hard technical floor is 0.80 (`codegenConfig.ios.modulesProvider`). - Android SDK **7.4.2** (7.3.0 first, pinned transitionally as `7.3.0-SNAPSHOT` while that release was pending β€” see Phase 3's rulings; 7.3.1 fixes bugsee-android #214–#221; beta validation pinned `7.3.2-SNAPSHOT`, bugsee-android main plus PR #265, released as 7.4.0; 7.4.1 adds the touch-capture fix for bugsee-android #267; 7.4.2 adds the lifecycle and secure-rectangle work the beta campaign ran against), Gradle plugin **4.0.8** (4.0.7 first; 4.0.8 uploads native symbols from the unstripped `merged_native_libs`, independent of `debugSymbolLevel`, with a bugsee-cli floor of 0.8.1), pinned exactly. Neither older pin carries what this wrapper needs: 7.2.0 has no wrapper channel, report-contract methods, `BugseeReportHandlerThread` or `com.bugsee.option.$$WRAPPER` consumer, and 4.0.6 strips every extension's provider (workbook 1.4). The plugin marker resolves from **Maven Central**, not the Gradle Plugin Portal. -- iOS SDK **7.0.0** from `https://github.com/bugsee/spm`, requirement `exact`. SwiftPM will not admit a prerelease into a range. iOS deployment target **15.0**. +- iOS SDK **7.0.1** from `https://github.com/bugsee/spm`, requirement `exact`. SwiftPM will not admit a prerelease into a range. iOS deployment target **15.0**. - Package `@bugsee/react-native`. `toSwiftName` maps it to `ReactNative`, which is **reserved**, so `react-native.config.js` pins `spm: { name: 'BugseeReactNative' }` and the SPM product name must match exactly. - All native versions live in **one** file, `native-versions.json`, consumed by the podspec, `Package.swift` and the Gradle module. The SPM pin and podspec URL must never disagree. - Every SDK entry point is called on the **main thread** on iOS. `launchWithToken:` off-main logs *"Incorrect bugsee launch…"* and misbehaves. diff --git a/native-versions.json b/native-versions.json index 30bb9e8a..452153d9 100644 --- a/native-versions.json +++ b/native-versions.json @@ -4,7 +4,7 @@ "gradlePlugin": "4.0.8" }, "ios": { - "sdk": "7.0.0", + "sdk": "7.0.1", "spmUrl": "https://github.com/bugsee/spm" } } diff --git a/packages/react-native-feedback/README.md b/packages/react-native-feedback/README.md index fcfcbc02..ff2f7c5c 100644 --- a/packages/react-native-feedback/README.md +++ b/packages/react-native-feedback/README.md @@ -25,7 +25,7 @@ yarn add @bugsee/react-native@beta @bugsee/react-native-feedback@beta No Expo config plugin. Autolinking adds `bugsee-android-feedback` on Android. On iOS the podspec vendors the `bugsee/feedback-spm` sources for the same -`7.0.0` pin as the core SDK, and React Native 0.87 resolves that +`7.0.1` pin as the core SDK, and React Native 0.87 resolves that package through Swift Package Manager. There is no `spm_dependency`: that helper does not embed the framework. diff --git a/packages/react-native-feedback/ios/Package.swift b/packages/react-native-feedback/ios/Package.swift index 7e5e674b..38288b84 100644 --- a/packages/react-native-feedback/ios/Package.swift +++ b/packages/react-native-feedback/ios/Package.swift @@ -22,8 +22,8 @@ let package = Package( dependencies: [ .package(name: "ReactNative", path: "../../../../xcframeworks"), .package(name: "React-GeneratedCode", path: "../../../ios"), - .package(url: "https://github.com/bugsee/spm", exact: "7.0.0"), - .package(url: "https://github.com/bugsee/feedback-spm", exact: "7.0.0"), + .package(url: "https://github.com/bugsee/spm", exact: "7.0.1"), + .package(url: "https://github.com/bugsee/feedback-spm", exact: "7.0.1"), ], targets: [ .target( diff --git a/packages/react-native/ios/Support/Package.resolved b/packages/react-native/ios/Support/Package.resolved index 7652b6d3..e1f332ea 100644 --- a/packages/react-native/ios/Support/Package.resolved +++ b/packages/react-native/ios/Support/Package.resolved @@ -5,8 +5,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/bugsee/spm", "state" : { - "revision" : "bbfdda2a9f1d7aadf73be6e94793b83d7a907aba", - "version" : "7.0.0" + "revision" : "15553bdd9c7980715515e54ff6160b8cae25e158", + "version" : "7.0.1" } } ], diff --git a/packages/react-native/ios/Support/Package.swift b/packages/react-native/ios/Support/Package.swift index c809cfcc..07534483 100644 --- a/packages/react-native/ios/Support/Package.swift +++ b/packages/react-native/ios/Support/Package.swift @@ -28,7 +28,7 @@ let package = Package( ], dependencies: [ // Exact, not a range: SwiftPM will not admit a prerelease into one. - .package(url: "https://github.com/bugsee/spm", exact: "7.0.0") + .package(url: "https://github.com/bugsee/spm", exact: "7.0.1") ], targets: [ .target( diff --git a/scripts/__tests__/github-release.test.ts b/scripts/__tests__/github-release.test.ts index 3aa6f34e..c002ac2b 100644 --- a/scripts/__tests__/github-release.test.ts +++ b/scripts/__tests__/github-release.test.ts @@ -47,7 +47,7 @@ function run(setup: Setup = {}) { }); writeFileSync( join(root, 'native-versions.json'), - JSON.stringify({ android: { sdk: '7.4.2', gradlePlugin: '4.0.8' }, ios: { sdk: '7.0.0' } }), + JSON.stringify({ android: { sdk: '7.4.2', gradlePlugin: '4.0.8' }, ios: { sdk: '7.0.1' } }), ); const tarballs = join(dir, 'tarballs'); mkdirSync(tarballs); @@ -148,7 +148,7 @@ describe('github-release.mjs', () => { expect(notes).toContain('@bugsee/react-native@7.0.0-beta3'); expect(notes).toContain('@bugsee/react-native-feedback@7.0.0-beta3'); expect(notes).toContain('`beta`, `latest`'); - expect(notes).toContain('Android SDK 7.4.2 (Gradle plugin 4.0.8), iOS SDK 7.0.0'); + expect(notes).toContain('Android SDK 7.4.2 (Gradle plugin 4.0.8), iOS SDK 7.0.1'); }); it('does not mark a stable version as a prerelease', () => { diff --git a/scripts/__tests__/native-versions.test.ts b/scripts/__tests__/native-versions.test.ts index de0c2a20..c3d604d9 100644 --- a/scripts/__tests__/native-versions.test.ts +++ b/scripts/__tests__/native-versions.test.ts @@ -15,7 +15,7 @@ describe('readNativeVersions', () => { expect(v.android.gradlePlugin).toBe('4.0.8'); // A released pin carries no snapshot provenance. expect(v.android).not.toHaveProperty('snapshotCommit'); - expect(v.ios.sdk).toBe('7.0.0'); + expect(v.ios.sdk).toBe('7.0.1'); expect(v.ios.spmUrl).toBe('https://github.com/bugsee/spm'); });