diff --git a/.github/pr-previews/pr-consolidated-framework-patches.mp4 b/.github/pr-previews/pr-consolidated-framework-patches.mp4 new file mode 100644 index 000000000..e9a9dda62 Binary files /dev/null and b/.github/pr-previews/pr-consolidated-framework-patches.mp4 differ diff --git a/packages/docs/src/pages/docs/updates/releases.tsx b/packages/docs/src/pages/docs/updates/releases.tsx index 78c5fd7ef..eef68db81 100644 --- a/packages/docs/src/pages/docs/updates/releases.tsx +++ b/packages/docs/src/pages/docs/updates/releases.tsx @@ -23,13 +23,15 @@ interface Note { element: React.ReactNode; } -const appStoreToolchainPatchReleases = [ +const frameworkIosPatchReleases = [ + ['react-native-iap 16.0.1', 'react-native-iap-16.0.1'], ['godot-iap 3.0.1', 'godot-iap-3.0.1'], ['OpenIap.Maui 2.0.1', 'maui-iap-2.0.1'], ] as const; -const reactNativeListenerLifecycleReleases = [ - ['react-native-iap 16.0.1', 'react-native-iap-16.0.1'], +const frameworkIosPatchAliases = [ + 'react-native-iap-ios-listener-lifecycle-2026-08-01', + 'app-store-toolchain-compatibility-2026-08-02', ] as const; const androidOfferCodeReleases = [ @@ -143,20 +145,24 @@ function Releases() { useScrollToHash(); const allNotes: Note[] = [ - // August 2, 2026 - App Store toolchain compatibility patch + // August 2, 2026 - Apple framework compatibility patches { - id: 'app-store-toolchain-compatibility-2026-08-02', + id: 'apple-framework-compatibility-patches-2026-08-02', + aliases: frameworkIosPatchAliases, date: new Date('2026-08-02'), element: (
- Publishes stable-toolchain rebuilds for the framework packages that
- distribute precompiled Apple binaries. This fixes the App Store
- validation failure reported in{' '}
+ Publishes coordinated framework patches for iOS listener stability
+ and App Store-compatible precompiled Apple binaries.{' '}
+ react-native-iap 16.0.1 includes the listener
+ cleanup fix from{' '}
+
+ PR #262
+
+ , while OpenIap.Maui 2.0.1 and{' '}
+ godot-iap 3.0.1 ship the stable-toolchain rebuilds
+ from{' '}
+
+ PR #265
+ {' '}
+ for the App Store validation failure reported in{' '}
issue #264
- {', where '}
- OpenIap.Maui 2.0.0 embedded an Xcode 27 beta
- XCFramework whose LC_BUILD_VERSION recorded SDK 27.0,
- above the App Store maximum of 26.5.
+ .
onPurchaseSuccess after its asynchronous refresh
+ completes, preserving the documented{' '}
+ finishTransaction path. Internal hook state updates
+ remain mount-guarded.
OpenIap.Maui 2.0.1 and rebuild the archive before
- resubmitting it.
+ OpenIap.Maui 2.0.1 rebuilds the Apple XCFramework
+ packed into NuGet with Xcode 26.6 and iPhoneOS SDK 26.5. Device,
+ simulator, and Mac Catalyst slices now carry the App
+ Store-accepted SDK metadata.
- Publishes react-native-iap 16.0.1 with the iOS - listener cleanup fix from{' '} - - PR #262 - - . Dismissing a plans or paywall screen while StoreKit and Nitro - listener work is still in flight no longer tears down the final - native listener during the transition, avoiding the release-build - abort reported by consumer apps. -
- -onPurchaseSuccess after its asynchronous refresh
- completes, preserving the documented{' '}
- finishTransaction path. Internal hook state updates
- remain mount-guarded.
+ godot-iap 3.0.1 rebuilds its precompiled iOS
+ GDExtension frameworks with the same App Store-accepted Xcode 26.6
+ / SDK 26.5 toolchain and rejects unaccepted toolchain provenance
+ during CI and release packaging.
finishTransaction.
OpenIap.Maui 2.0.1, rebuild the
+ archive, and resubmit it.
+