Use this page with AI
Copy this into your coding assistant and add your request.
Read https://openiap.dev/docs/updates/releases and https://openiap.dev/llms.txt. Follow the reading instructions, detailed reference, and linked guides relevant to my task before making changes.
Inspect my existing project and reuse its framework and conventions. Ask me for missing product decisions. Implement the requested behavior and run the applicable checks.
Show the working result, the commands and actual test results, and any remaining limitations. Keep your explanation brief.
My request: [describe what customers should be able to do]Releases
Release notes for OpenIAP packages and framework libraries.
September 11, 2026 - OpenIAP CLI and protocol packages#
Connect an app, paywall, commerce service, or data product to OpenIAP with an implementation brief for your coding assistant. Install the client and server contracts independently (PR #448).
Common changes
- @hyodotdev/openiap 0.1.0 - adds
initbriefs for app, experience, commerce, and data roles, plusdoctorchecks for local store, credential, and iOS scene configuration. - @hyodotdev/openiap-client-protocol 0.1.0 - defines the OpenIAP client API and provides generated types for TypeScript, Swift, Kotlin, Dart, GDScript, and C#.
- @hyodotdev/openiap-commerce-protocol 0.1.0 - provides server operations, REST and GraphQL bindings, signed event contracts, and a portable conformance runner.
Shared spec and native packages
- openiap-google 3.5.1 - identifies the linked Amazon or Horizon store when
initConnection()fails; framework SDKs preserve that diagnostic.
Framework libraries
- react-native-iap 16.6.0 / expo-iap 5.6.0 - export
getUserFriendlyErrorMessage()for known error codes while retaining developer diagnostics inerror.message; Expo also exportsisUserCancelledError(). - react-native-iap 16.6.0 - fixes
finishTransaction()for restored iOS purchases when the bridge cache is empty. - flutter_inapp_purchase 10.6.1 - constrains the
platformdependency to preserve its existing API and Dart 3.0 compatibility.
Integration notes
- Requires Node.js 20+; run
npx @hyodotdev/openiapto choose a role, then give the printed brief to your coding assistant. - Run
npx @hyodotdev/openiap doctor --jsonfor local diagnostics; commands only read files and cannot verify device or store-account state. - Client Protocol npm versions are independent of native SDK compatibility; Commerce Protocol 0.1.0 implements protocol 1.0.
September 7, 2026 - react-native-iap 16.5.1 / expo-iap 5.5.1: AGP 9 compatibility#
Android library builds now support AGP 9's built-in Kotlin while retaining the Kotlin Android plugin on AGP 8 and AGP 9 opt-out projects (PR #438).
Framework libraries
- react-native-iap 16.5.1 - fixes missing Nitro-generated Kotlin classes and native build and packaging errors with the AGP 9 DSL.
- expo-iap 5.5.1 - fixes compilation of the logging helper when Android BuildConfig generation is disabled by default.
Integration notes
- Upgrading a whole app to AGP 9 also requires compatible React Native, Expo, Nitro, and other Gradle plugins.
- Both packages now deprecate
kitApi.status()andkitApi.entitlements()compatibility reads; new account reads must authenticate the user on a developer backend and use the secret-only IAPKit/v2endpoints.
Package Releases
September 3, 2026 - Android IAP opt-out#
Flutter apps that ship in-app purchases only on Apple platforms can now drop every Android store SDK from the build.
Framework libraries
- flutter_inapp_purchase 10.6.0 - adds the
openiapPlatform=noneAndroid opt-out, which keeps the plugin registered with a no-op implementation while excluding OpenIAP Google, Play Billing, Horizon, and Amazon IAP dependencies and the billing manifest entries they supply (PR #422).
Integration notes
- Set
openiapPlatform=noneinandroid/gradle.propertiesand runflutter cleanbefore rebuilding. Omit the property to keep Google Play as the default. - On such a build
initConnection()returnsfalseand Android store operations reportErrorCode.IapNotAvailable. - The opt-out cannot be combined with
horizonEnabledorfireOsEnabled; disable both legacy store flags first, or the Android build fails.
Package Releases
August 31, 2026 - Purchase lifecycle and Horizon verification#
Purchase delivery now stays stable across initialization and reconnect cycles, and Meta Horizon purchases can be verified through IAPKit without being treated as Google Play receipts. Failed or invalid verification leaves the transaction unfinished for a safe retry.
Shared spec and native packages
- OpenIAP Spec 3.4.0, openiap-apple 3.4.0, and openiap-google 3.5.0 - add an explicit Horizon IAPKit payload across the shared contract; the Horizon Android module resolves the Meta user before verification (PR #412).
- openiap-google 3.5.0 - restores purchase and error listeners after both successful and failed reconnect attempts (PR #410).
Framework libraries
- react-native-iap 16.5.0 - stabilizes iOS on-demand and Android explicit connection, replays bounded startup events, refreshes current catalog data, and preserves store errors (PR #409), while forwarding the Horizon verification payload described above.
- expo-iap 5.5.0, flutter_inapp_purchase 10.5.0, godot-iap 3.5.0, kmp-iap 3.5.0, and OpenIap.Maui 2.5.0 - expose Horizon IAPKit payloads; Flutter and KMP finish only verified transactions, leaving failed or invalid results available for retry.
Integration notes
- Android root API callers must call
initConnection()before store operations. The React Native hook manages this lifecycle, while iOS connects on demand. - The React Native hook reports
fetchProductsfailures toonErrorand rethrows them.hasActiveSubscriptionsrejects query failures instead of returningfalse.
August 29, 2026 - StoreKit toolchain compatibility#
Xcode 26.4 builds no longer reference StoreKit symbols introduced in the Xcode 26.5 SDK. Purchase APIs and runtime behavior are unchanged (issue #386; PR #387).
Apple package
- openiap-apple 3.3.1 - gates billing-plan, commitment, pricing-term, and revocation symbols on Swift 6.3.2, the compiler bundled with Xcode 26.5. The Xcode 26.4-compatible JWS promotional-offer path remains available.
Framework libraries
- react-native-iap 16.4.1, expo-iap 5.4.1, flutter_inapp_purchase 10.4.1, godot-iap 3.4.1, kmp-iap 3.4.1, and OpenIap.Maui 2.4.1 - select or bundle openiap-apple 3.3.1 so each Apple integration receives the corrected compiler guards.
Upgrade notes
- Upgrade the affected framework package when building with Xcode 26.4. No application code changes are required.