- Bumped purchases-android to 4.3.1 Changelog here, which fixes canMakePayments not returning (see related issue: RevenueCat/purchases-unity#61)
- Bumped purchases-ios to 3.12.3 Changelog here
- Bumped purchases-hybrid-common to 1.9.1 Changelog here
- Extracted readableErrorCode to userInfo (RevenueCat#268)
In this version, we’ve redesigned the way that user identification works. Detailed docs about the new system are available here.
- Introduces
logIn
, a new way of identifying users, which also returns whether a new user has been registered in the system.logIn
uses a new backend endpoint. - Introduces
logOut
, a replacement forreset
.
- deprecates
createAlias
in favor oflogIn
. - deprecates
identify
in favor oflogIn
. - deprecates
reset
in favor oflogOut
. - deprecates
setAllowSharingStoreAccount
in favor of dashboard-side configuration. RevenueCat#229
- Updated BillingClient to version 4.0.0. https://github.com/RevenueCat/purchases-android/commit/f6554bbf7376c3fd492f0bc67183a9f35889ae78
- Fixed build issues MagicWeather example for Xcode 12.5 RevenueCat#267
- Dependency security updates RevenueCat#271 RevenueCat#273
- Bumped purchases-ios to 3.12.2 Changelog here
- Bumped purchases-android to 4.3.0 Changelog here
- Add canMakePayments method (RevenueCat#244)
- Add PR template (RevenueCat#263)
- Bumped purchases-hybrid-common to 1.7.1 in Android Changelog here
- Bumped purchases-hybrid-common to 1.7.1 Changelog here
- Bumped purchases-android to 4.2.1 Changelog here
- Fix wrong types specified in TypeScript RevenueCat#231
- Cleaned up directory structure RevenueCat#235 RevenueCat#237 RevenueCat#232
- Updated example apps dependencies RevenueCat#240 RevenueCat#239 RevenueCat#233 RevenueCat#227 RevenueCat#226 RevenueCat#234
- Bumped purchases-hybrid-common to 1.6.3 Changelog here
- Bumped purchases-ios to 3.11.1 Changelog here RevenueCat#243
- Updated example app to the latest React-Native version RevenueCat#222
- Updated
y18n
version RevenueCat#227 RevenueCat#226 - Bumped purchases-hybrid-common to 1.6.2 Changelog here
- Bumped purchases-ios to 3.10.7 Changelog here
- Bumped purchases-android to 4.0.5 Changelog here RevenueCat#225
- Added a new sample project available at
/Examples/WeatherApp
RevenueCat#212 - iOS:
- Added a new method
setSimulatesAskToBuyInSandbox
, that allows developers to test deferred purchases easily.
- Added a new method
- Bumped purchases-hybrid-common to 1.6.1 Changelog here
- Bumped purchases-ios to 3.10.6 Changelog here
- Bumped purchases-android to 4.0.4 Changelog here RevenueCat#216
- Fixed issues with CI builds in Android RevenueCat#214 RevenueCat#217
- Update npm description for better discoverability RevenueCat#207
- removes deprecated
makePurchase
, replaced bypurchaseProduct
- iOS:
- added new method,
syncPurchases
, that enables syncing the purchases in the local receipt with the backend without risking a password prompt. The method was already available on Android. - added a new method,
presentCodeRedemptionSheet
, for offer codes redemption. - Updated
React
dependency toReact-Core
and setDEFINES_MODULE
to fix issues when building in Xcode 12
- added new method,
- Bumped
purchases-hybrid-common
to 1.5.0 Changelog here - Bumped
purchases-ios
to 3.9.2 Changelog here - Bumped
purchases-android
to 4.0.1 Changelog here
- Bumped common files to 1.4.5 Changelog here
- Bumped iOS SDK to 3.7.5 Changelog here
- Bumped common files to 1.4.4 Changelog here
- Should include the following Android changes: https://github.com/RevenueCat/purchases-android/releases/tag/3.5.2 https://github.com/RevenueCat/purchases-android/releases/tag/3.5.1
- Bumped common files to 1.4.3 Changelog here
- Bumped iOS to 3.7.2 Changelog here
- Removes usage of BuildConfig #171
- Bumped common files to 1.4.2 Changelog here
- Bumped iOS to 3.7.1 Changelog here
- Bumped Android to 3.5.0 Changelog here
- Added a new property
nonSubscriptionTransactions
inPurchaserInfo
to better manage non-subscriptions - Attribution V2:
- Deprecated addAttribution in favor of setAdjustId, setAppsflyerId, setFbAnonymousId, setMparticleId.
- Added support for OneSignal via setOnesignalId
- Added setMediaSource, setCampaign, setAdGroup, setAd, setKeyword, setCreative, and collectDeviceIdentifiers
- Removes usage of BuildConfig #171
- Bumped common files to 1.3.1 Changelog here
- Bumped iOS to 3.5.1 Changelog here
- Bumped Android to 3.3.0 Changelog here
- Fixes purchaseDiscountedPackage and purchaseDiscountedProduct #167
- Renames setProxyURLString with setProxyURL #148
- Adds instructions to include the PurchasesHybridCommon framework #150
- Bumped iOS to 3.4.0 Changelog here
- Bumped Android to 3.2.0 Changelog here
- Added managementURL to PurchaserInfo
- Added setProxyURLString
- Added originalPurchaseDate to PurchaserInfo
- Update invalidatePurchaserInfoCache docs #137
- Changes the way the common dependency is managed #144 #145
- Adds new headers for platformFlavor and platformFlavorVersion
- Adds userDefaultsSuiteName as an option when setting up the SDK
- Adds Subscriber Attributes, which allow developers to store additional, structured information for a user in RevenueCat. More info: https://docs.revenuecat.com/docs/user-attributes.
- Properly scope Android package #114
⚠️ IMPORTANT⚠️ : You might need to relink the plugin since the Android package name has changed. All references tocom.reactlibrary.RNPurchasesPackage
in the code should be replace withcom.revenuecat.purchases.react.RNPurchasesPackage
.
- Apply correct array notation: [type] to type[] #117
- Adds subscription offers support for iOS https://docs.revenuecat.com/docs/ios-subscription-offers
- Introductory Price is now an object inside the PurchasesProduct object
- Exports enums
- Exports interfaces and types
- Renames introEligibilityStatus to status in IntroEligibility
- Adds
Purchases.checkTrialOrIntroductoryPriceEligibility
. Note that Android always returns INTRO_ELIGIBILITY_STATUS_UNKNOWN. - Updates iOS to 3.0.1 and Android to 3.0.4
- Adds
Purchases.addShouldPurchasePromoProduct
to be able to handle purchases started from the Apple App Store.
- Updates Android SDK to 3.0.3 which should fix issues with restores and syncs.
- Support for new Offerings system.
- Deprecates
makePurchase
methods. Replaces withpurchasePackage
- Deprecates
getEntitlements
method. Replaces withgetOfferings
- See our migration guide for more info: https://docs.revenuecat.com/v3.0/docs/offerings-migration
- Updates to BillingClient 2.0.3. If finishTransactions is set to false (or observerMode is true when configuring the SDK), this SDK won't acknowledge any purchase and you have to do it yourself.
- Adds proration mode support on upgrades/downgrades
- Adds more PurchaserInfo missing properties.
activeEntitlements
,expirationsForActiveEntitlements
andpurchaseDatesForActiveEntitlements
have been removed from PurchaserInfo intro_price
,intro_price_period_number_of_units
andintro_price_cycles
are a number now or null instead of empty strings,intro_price_period_unit
can also be null.- Added Typescript types (#72)
- New identity changes:
- The .createAlias() method is no longer required, use .identify() instead
- .identify() will create an alias if being called from an anonymous ID generated by RevenueCat
- Added an isAnonymous property to Purchases.sharedInstance
- Improved offline use
- Fixes expirationDate in the EntitlementInfo object in iOS
- Deprecates activeEntitlements in PurchaserInfo and adds entitlements object to RCPurchaserInfo. For more info check out https://docs.revenuecat.com/docs/purchaserinfo
- Fixes trial info being lost in Android. Access intro_price in the product information to get information around the trial period.
- Fixes exception when trying to purchase a product that doesn't exist.
- Fixes permissions of install scripts
- Upgrades Android SDK to https://github.com/RevenueCat/purchases-android/releases/tag/2.3.1
- Fixes a bug when normalizing intro_price_period.
- BREAKING_CHANGE All
intro_price
related fields in the product are strings, or empty strings if inexistent, in both iOS and Android. There were some discrepancies between platforms released in https://github.com/RevenueCat/react-native-purchases/releases/tag/2.3.0.
- Upgrades iOS SDK to https://github.com/RevenueCat/purchases-ios/releases/tag/2.5.0
- Upgrades SDKs to iOS https://github.com/RevenueCat/purchases-ios/releases/tag/2.4.0 and Android to https://github.com/RevenueCat/purchases-android/releases/tag/2.3.0.
- Adds Facebook as supported attribution network.
- Adds automatic Apple Search Ads attribution collection. Disabled by default.
- Adds introductory pricing to the iOS product.
- Removes wrong import referring to support library instead of androidx.
- Removes console.log statement
- Updates iOS SDK to 2.3.0. Check out the changelog for a full list of changes https://github.com/RevenueCat/purchases-ios/releases/tag/2.3.0
- Updates Android SDK to 2.2.2. Check out the changelog for a full list of changes https://github.com/RevenueCat/purchases-android/releases/tag/2.2.2
- ** BREAKING CHANGE ** makePurchase parameter oldSKUs is not an array anymore, it only accepts a string now. This is due to changes in the BillingClient.
- AddAttributionData can be called before the SDK has been setup. A network user identifier can be send to the addAttribution function, replacing the previous rc_appsflyer_id parameter.
- Adds an optional configuration boolean observerMode. This will set the value of finishTransactions at configuration time.
- addAttribution will automatically add the rc_gps_adid parameter.
- ** ANDROID BREAKING CHANGE ** Call syncTransactions to send purchases information to RevenueCat after any restore or purchase if you are using the SDK in observerMode. See our guide on Migrating Subscriptions for more information on syncTransactions: https://docs.revenuecat.com/docs/migrating-existing-subscriptions
- addAttribution will automatically add the rc_idfa and rc_idfv parameters if the AdSupport and UIKit frameworks are included, respectively.
- Apple Search Ad attribution can be automatically collected by setting the automaticAttributionCollection boolean to true before the SDK is configured.
- Updates iOS SDK to 2.1.1
- If using an app ejected from Expo, the Android project wouldn't build since it couldn't find the react-native dependency. This release should fix it.
- Updates SDK versions to 2.1.0 to include new error handling
- BREAKING CHANGE errors now contain a
userInfo
object with the message, an underlying error and a readable error code. The error codes have completely changed too and updated to the SDK 2.1.0. - Updates RN and React versions.
- Fixes Windows installation
- Updates native SDKs to versions iOS 2.0.0 and Android 2.0.1
- Checks that the user ID sent to setup, identify or create alias is actually a string #28
- BREAKING CHANGE restoreTransactions returns a promise, the RestoreTransactionsListener has been removed
- BREAKING CHANGE makePurchase returns a promise, the PurchaseListener has been removed
- BREAKING CHANGE PurchaserInfoListener has been replaced with PurchaserInfoUpdateListener and it now only sends a purchaser info object. This listener is used to listen to changes in the purchaser info.
- Added support for Tenjin
- BREAKING CHANGE When failure making a purchase, the productIdentifier of the failed purchase is not sent to the rejected promise. Before, the PurchaseListener received both productIdentifier and error objects.
- Added setDebugLogsEnabled to display debug logs.
- Added getPurchaserInfo function to get the latest purchaser info known by the SDK
- Removes unnecessary debugger statement RevenueCat#47
- Runs Linter and prettifier
- Adds missing setup call in the example
- Fix android setup on a null appuserid
- Adds listener removal methods
- Changes setIsUsingAnonymousID to allowSharingStoreAccount
- Fixes compilation in iOS
- Adds create alias, identify and reset
- Fixes download script issue
- Fixes build issue on the Android bridge
- Adds requestDate to the purchaser info to avoid edge cases