Repository navigation
1.13
Changes
- Adopt StoreKitWrapper 1.4 and derive premium status from verified purchased product identifiers independently of product metadata. A failed catalog request no longer makes a verified subscription appear inactive.
- Adopt GoogleMobileAdsWrapper 1.4 and Google Mobile Ads SDK 13.9.0, including native ad layout and loading lifecycle fixes.
- Use the wrapper's typed ad-size API inside MHAppRuntimeAds while preserving the public MHNativeAdSize cases.
- Add a local StoreKit subscription catalog and complete the official test-ad configuration in the example app. Remove empty ad spacing when ads are disabled.
- Expand regression coverage for purchase updates, premium ad suppression, and native ad adapter configuration.
Integration notes
- MHAppRuntime.StartStore and its purchased-product-identifier callback are MainActor-isolated. Custom startup bridges must preserve this isolation. Invoke a stored bridge from the main actor or await it from another actor.
- The minimum deployment targets remain iOS 18, macOS 15, and watchOS 11. The package requires a Swift 6.2-capable toolchain.
Full Changelog: 1.12...1.13