diff --git a/packages/docs/src/pages/docs/updates/releases.tsx b/packages/docs/src/pages/docs/updates/releases.tsx index 03e67510a..9307e5a3b 100644 --- a/packages/docs/src/pages/docs/updates/releases.tsx +++ b/packages/docs/src/pages/docs/updates/releases.tsx @@ -24,6 +24,12 @@ interface Note { element: React.ReactNode; } +interface ReleaseMetadata { + name: string; + version: string; + tag: string; +} + const storeApiModernizationReleases = [ ['OpenIAP Spec 3.1.0', 'docs-3.1.0'], ['openiap-apple 3.1.0', '3.1.0'], @@ -70,6 +76,35 @@ const storeVerificationIntegrityReleases = [ ['OpenIap.Maui 2.3.0', 'maui-iap-2.3.0'], ] as const; +const compatibilityConformanceReleases = { + spec: { name: 'OpenIAP Spec', version: '3.2.1', tag: 'docs-3.2.1' }, + apple: { name: 'openiap-apple', version: '3.2.1', tag: '3.2.1' }, + google: { + name: 'openiap-google', + version: '3.3.1', + tag: 'google-3.3.1', + }, + reactNative: { + name: 'react-native-iap', + version: '16.3.1', + tag: 'react-native-iap-16.3.1', + }, + expo: { name: 'expo-iap', version: '5.3.1', tag: 'expo-iap-5.3.1' }, + flutter: { + name: 'flutter_inapp_purchase', + version: '10.3.1', + tag: 'flutter-iap-10.3.1', + }, + godot: { name: 'godot-iap', version: '3.3.1', tag: 'godot-iap-3.3.1' }, + kmp: { name: 'kmp-iap', version: '3.3.1', tag: 'kmp-iap-3.3.1' }, + maui: { name: 'OpenIap.Maui', version: '2.3.1', tag: 'maui-iap-2.3.1' }, + conformance: { + name: 'openiap-conformance', + version: '1.0.1', + tag: 'openiap-conformance-1.0.1', + }, +} as const satisfies Record; + const dependencyModernizationReleases = [ ['openiap-google 3.1.0', 'google-3.1.0'], ['react-native-iap 16.1.0', 'react-native-iap-16.1.0'], @@ -213,7 +248,264 @@ const iapkitSecurityTrainAliases = [ function Releases() { useScrollToHash(); + function getReleaseLabel(release: ReleaseMetadata): string { + return `${release.name} ${release.version}`; + } + const allNotes: Note[] = [ + // August 14, 2026 - Compatibility, conformance, and purchase safety + { + id: 'compatibility-conformance-purchase-safety-2026-08-14', + date: new Date('2026-08-14'), + element: ( +
+ + August 14, 2026 - Compatibility, conformance, and purchase safety + + +

+ SDKs now tolerate future response metadata without accepting + malformed purchase requests. This train also publishes the first + versioned OpenIAP behavior suite and fixes Expo iOS lifecycle + cleanup. +

+ +
Common changes
+ + +
+ Shared spec and native packages +
+ + +
Framework libraries
+ + +
Integration notes
+ + +
+
Package Releases
+ +
+
+ ), + }, + // August 12, 2026 - Store verification integrity and Amazon provenance { id: 'store-verification-integrity-amazon-provenance-2026-08-12',