Releases: RevenueCat/purchases-capacitor
9.0.4
RevenueCat SDK
📦 Dependency Updates
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.5.0 (#336) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.223.1 to 2.224.0 (#334) via dependabot[bot] (@dependabot[bot])
- Bump fastlane from 2.222.0 to 2.223.1 (#330) via dependabot[bot] (@dependabot[bot])
9.0.3
9.0.2
RevenueCat SDK
📦 Dependency Updates
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.2.1 (#323) via RevenueCat Git Bot (@RCGitBot)
- Bump danger from 9.3.1 to 9.5.0 (#318) via dependabot[bot] (@dependabot[bot])
- Bump fastlane from 2.214.0 to 2.222.0 (#317) via dependabot[bot] (@dependabot[bot])
- Bump cocoapods from 1.13.0 to 1.15.2 (#319) via dependabot[bot] (@dependabot[bot])
🔄 Other Changes
9.0.1
Bugfixes
- Rename podspec to lowercase
RevenuecatPurchasesCapacitor.podspec
(#292) via Toni Rico (@tonidero) - [EXTERNAL] Update definitions.ts to reflect true native expectation of the removeCustomerInfoUpdateListener (#280) by @jarvisluong (#306) via Toni Rico (@tonidero)
- [EXTERNAL] Make syncPurchases function to actually returning a promise (#305) by @jarvisluong (#307) via Toni Rico (@tonidero)
Dependency Updates
- Bump rexml from 3.3.3 to 3.3.6 (#311) via dependabot[bot] (@dependabot[bot])
- Bump rexml from 3.2.9 to 3.3.3 (#303) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.0.1 (#301) via RevenueCat Git Bot (@RCGitBot)
Other Changes
9.0.0
Caution
When upgrading to v9, you must configure your In-App Purchase Key in the RevenueCat dashboard. Purchases on iOS will fail if the key is not configured.
This latest release updates the Android SDK dependency from v7 to v8 to use BillingClient 7 and updates the iOS SDK dependency from v4 to v5 to use StoreKit 2 by default in the SDK.
Migration Guides
- See Android Native - V8 API Migration Guide for a more thorough explanation of the Android changes.
- See iOS Native - V5 Migration Guide for a more thorough explanation of the iOS changes. Notably, this version uses StoreKit 2 to process purchases by default.
New Minimum OS Versions
This release raises the minumum required OS versions to the following:
- iOS 13.0
- tvOS 13.0
- watchOS 6.2
- macOS 10.15
- Android: SDK 21 (Android 5.0)
In-App Purchase Key Required for StoreKit 2
In order to use StoreKit 2, you must configure your In-App Purchase Key in the RevenueCat dashboard. You can find instructions describing how to do this here.
usesStoreKit2IfAvailable
is now storeKitVersion
When configuring the SDK, the usesStoreKit2IfAvailable
parameter has been replaced by an optional storeKitVersion: STOREKIT_VERSION
parameter. It defaults to letting the iOS SDK determine the most appropriate version of StoreKit at runtime. If you'd like to use a specific version of StoreKit, you may provide a value for storeKitVersion
like so:
Purchases.configure({
apiKey,
STOREKIT_VERSION.STOREKIT_1,
});
Observer Mode is now PurchasesAreCompletedBy
Version 9.0 of the SDK deprecates the term "Observer Mode" (and the APIs where this term was used), and replaces it with PurchasesAreCompletedBy
(either RevenueCat or your app). When specifying that your app will complete purchases, you must provide the StoreKit version that your app is using to make purchases on iOS. If your app is only available on Android, you may provide any value since the native Android SDK ignores this value.
You can enable it when configuring the SDK:
Purchases.configure({
apiKey: apiKey,
appUserID: appUserID,
purchasesAreCompletedBy: {
type: PURCHASES_ARE_COMPLETED_BY_TYPE.MY_APP,
storeKitVersion: STOREKIT_VERSION.STOREKIT_2,
},
});
⚠️ Observing Purchases Completed by Your App on macOS
By default, when purchases are completed by your app using StoreKit 2 on macOS, the SDK does not detect a user's purchase until after the user foregrounds the app after the purchase has been made. If you'd like RevenueCat to immediately detect the user's purchase, call Purchases.recordPurchase(productID)
for any new purchases, like so:
await Purchases.recordPurchase(productID);
Observing Purchases Completed by Your App with StoreKit 1
If purchases are completed by your app using StoreKit 1, you will need to explicitly configure the SDK to use StoreKit 1:
await Purchases.configure({
apiKey: REVENUECAT_API_KEY,
purchasesAreCompletedBy: {
type: PURCHASES_ARE_COMPLETED_BY_TYPE.MY_APP,
storeKitVersion: STOREKIT_VERSION.STOREKIT_2,
}
});
Full migration guide to V9: Capacitor - V9 API Migration Guide
8.0.0
7.7.1
7.7.0
7.6.1
Dependency Updates
- Bump rexml from 3.2.6 to 3.2.9 (#276) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.9.0 (#275) via RevenueCat Git Bot (@RCGitBot)
8.0.0-beta.4
Breaking Changes
This release adds support for Capacitor V6, which bumped the android target/compile sdk versions to 34
If you update to this release, you need to update your Capacitor version to V6 as well. Follow the official guide in: https://capacitorjs.com/docs/updating/6-0
Changes from latest beta
- Include changes from latest stable channel