Skip to content

Latest commit

 

History

History
1150 lines (922 loc) · 61.7 KB

CHANGELOG.md

File metadata and controls

1150 lines (922 loc) · 61.7 KB

6.1.2

RevenueCat SDK

📦 Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.9.0 (#606) via RevenueCat Git Bot (@RCGitBot)

6.1.1

RevenueCat SDK

📦 Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.8.0 (#604) via RevenueCat Git Bot (@RCGitBot)
  • Bump xcodeproj from 1.25.1 to 1.27.0 (#603) via dependabot[bot] (@dependabot[bot])

6.1.0

RevenueCat SDK

📦 Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.7.0 (#601) via RevenueCat Git Bot (@RCGitBot)
  • Bump fastlane from 2.224.0 to 2.225.0 (#596) via dependabot[bot] (@dependabot[bot])
  • Bump danger from 9.5.0 to 9.5.1 (#597) via dependabot[bot] (@dependabot[bot])
  • Bump fastlane from 2.223.1 to 2.224.0 (#591) via dependabot[bot] (@dependabot[bot])
  • Bump xcodeproj from 1.25.0 to 1.25.1 (#590) via dependabot[bot] (@dependabot[bot])
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.5.0 (#592) via RevenueCat Git Bot (@RCGitBot)
  • Bump fastlane from 2.222.0 to 2.223.1 (#587) via dependabot[bot] (@dependabot[bot])

Win-back Offers

✨ New Features

  • Support displaying deferred win-back StoreKit messages (#600) via Will Taylor (@fire-at-will)

6.0.2

RevenueCat SDK

📦 Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.3.0 (#584) via RevenueCat Git Bot (@RCGitBot)

6.0.1

RevenueCat SDK

📦 Dependency Updates

🔄 Other Changes

  • Bump fastlane-plugin-revenuecat_internal from 5140dbc to 55a0455 (#582) via Cesar de la Vega (@vegaro)
  • Update fastlane-plugin-revenuecat_internal (#579) via Cesar de la Vega (@vegaro)
  • Update SDK expiration date (#572) via Toni Rico (@tonidero)

6.0.0

This 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

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.configureWith({
    apiKey,
    storeKitVersion: STOREKIT_VERSION.STOREKIT_1,
});

Observer Mode is now PurchasesAreCompletedBy

Version 6.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,
    purchasesAreCompletedBy: {a
	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:

Purchases.recordPurchase(productID, (transaction: PurchasesStoreTransaction) => {}, (error: PurchasesError) => {});

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:

Purchases.configure({
    apiKey,
    purchasesAreCompletedBy: {a
        type: PURCHASES_ARE_COMPLETED_BY_TYPE.MY_APP,
        storeKitVersion: STOREKIT_VERSION.STOREKIT_1,
    },
});

Dependency Updates

  • Bump xcodeproj from 1.24.0 to 1.25.0 (#566) via dependabot[bot] (@dependabot[bot])
  • Bump danger from 9.4.3 to 9.5.0 (#563) via dependabot[bot] (@dependabot[bot])
  • Bump fastlane from 2.221.1 to 2.222.0 (#558) via dependabot[bot] (@dependabot[bot])
  • Bump fastlane from 2.221.0 to 2.221.1 (#548) via dependabot[bot] (@dependabot[bot])
  • Bump fastlane from 2.220.0 to 2.221.0 (#546) via dependabot[bot] (@dependabot[bot])

Other Changes

  • Fix ios integration tests (#570) via Toni Rico (@tonidero)
  • Add deprecation note in README (#564) via Toni Rico (@tonidero)
  • Update android executor (#549) via Toni Rico (@tonidero)

Full migration guide to V6: Cordova Plugin purchases - V6 API Migration Guide

5.7.8

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.9.0 (#543) via RevenueCat Git Bot (@RCGitBot)

Other Changes

  • Update RELEASING.md (#511) via Cesar de la Vega (@vegaro)
  • Fix cordova ios integration tests (#542) via Toni Rico (@tonidero)

5.7.7

Dependency Updates

Other Changes

  • Update fastlane plugin (#535) via Toni Rico (@tonidero)
  • Only update docs index on latest stable releases (#525) via Toni Rico (@tonidero)

5.7.6

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.4.1 (#524) via RevenueCat Git Bot (@RCGitBot)

5.7.5

Dependency Updates

  • Bump fastlane from 2.219.0 to 2.220.0 (#521) via dependabot[bot] (@dependabot[bot])
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.4.0 (#522) via RevenueCat Git Bot (@RCGitBot)

5.7.4

Dependency Updates

Other Changes

  • Add 4.9.1 to changelog (#510) via Cesar de la Vega (@vegaro)

5.7.3

Dependency Updates

5.7.2

Dependency Updates

5.7.1

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.6.0 (#497) via RevenueCat Git Bot (@RCGitBot)
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.5.0 (#496) via RevenueCat Git Bot (@RCGitBot)
  • Bump danger from 9.4.2 to 9.4.3 (#494) via dependabot[bot] (@dependabot[bot])

5.7.0

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.3.0 (#490) via RevenueCat Git Bot (@RCGitBot)
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.2.1 (#489) via RevenueCat Git Bot (@RCGitBot)
  • Bump xcodeproj from 1.23.0 to 1.24.0 (#488) via dependabot[bot] (@dependabot[bot])
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.2.0 (#487) via RevenueCat Git Bot (@RCGitBot)
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.1.0 (#486) via RevenueCat Git Bot (@RCGitBot)
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.0.1 (#485) via RevenueCat Git Bot (@RCGitBot)
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.0.0 (#484) via RevenueCat Git Bot (@RCGitBot)
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.12.0 (#483) via RevenueCat Git Bot (@RCGitBot)

Other Changes

  • Update fastlane-plugin-revenuecat_internal (#491) via NachoSoto (@NachoSoto)

5.6.1

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.2.2 (#480) via RevenueCat Git Bot (@RCGitBot)
  • Bump fastlane from 2.218.0 to 2.219.0 (#478) via dependabot[bot] (@dependabot[bot])
  • Bump fastlane from 2.217.0 to 2.218.0 (#476) via dependabot[bot] (@dependabot[bot])

5.6.0

Dependency Updates

5.5.1

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.1.1 (#465) via RevenueCat Git Bot (@RCGitBot)

5.5.0

Dependency Updates

5.4.1

Other Changes

  • Fix some docs (#460) via Cesar de la Vega (@vegaro)

5.4.0

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.0.0 (#456) via RevenueCat Git Bot (@RCGitBot)
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.4.0 (#455) via RevenueCat Git Bot (@RCGitBot)

Other Changes

  • CI: disable prepare-next-version (#454) via NachoSoto (@NachoSoto)

5.3.1

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.3.3 (#449) via RevenueCat Git Bot (@RCGitBot)
  • Bump fastlane from 2.216.0 to 2.217.0 (#451) via dependabot[bot] (@dependabot[bot])
  • Bump danger from 9.3.2 to 9.4.0 (#450) via dependabot[bot] (@dependabot[bot])
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.3.2 (#448) via RevenueCat Git Bot (@RCGitBot)
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.3.1 (#443) via RevenueCat Git Bot (@RCGitBot)

Other Changes

  • Add 2.4.3 to VERSIONS (#447) via NachoSoto (@NachoSoto)

5.3.0

Dependency Updates

5.2.0

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.2.0 (#438) via RevenueCat Git Bot (@RCGitBot)
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.1.1 (#437) via RevenueCat Git Bot (@RCGitBot)
  • Bump xcodeproj from 1.22.0 to 1.23.0 (#424) via dependabot[bot] (@dependabot[bot])

5.1.0

Dependency Updates

5.0.0

RevenueCat Cordova SDK v5 is here!! 😻

This latest release updates the SDK to use BillingClient 6 in Android. This version of BillingClient brings little change compared with BillingClient 5 which brought an entire new subscription model which resulted in large changes across the entire SDK.

The only modification at the API level involves replacing "ProrationMode" with "ReplacementMode". The specific replacement modes remain unchanged.

If your app doesn't currently use DEFERRED replacement modes, then you should be safe to upgrade to this version without changes in behavior.

If your app supports product changes using DEFERRED replacement mode, then you can either stick with the previous major version until support for DEFERRED is re-introduced in this major version, or you can remove DEFERRED replacement options from your app.

If you are using the SDK in observer mode, you should only use v5 in Android if you're using BillingClient 6.

See the Android Native - 6.x to 7.x Migration for more details.

If you come from an older version of the RevenueCat SDK, see Android Native - 5.x to 6.x Migration for a more thorough explanation of the new Google subscription model announced with BillingClient 5 and how to take advantage of it.

Bumped minimum Android SDK version

RevenueCat SDK v5 bumps minimum Android SDK version from Android 4.0 (API level 16) to Android 4.4 (API level 19).

Support for InApp Messages

We've added new APIs to support InApp messages both in Android and iOS. You can read more about:

  • Google Play InApp Messages which will show users a snackbar message during grace period and account hold once per day and provide them an opportunity to fix their payment without leaving the app.
  • App Store InApp messages which will show a modal during grace period once per subscription.

InApp Messages are shown by default in both platforms. If you want to disable this behaviour during configuration of the RevenueCat SDK, setup the shouldShowInAppMessagesAutomatically property during configuration to false:

  Purchases.configureWith({
    apiKey,
    appUserID,
    observerMode,
    userDefaultsSuiteName,
    useAmazon,
    shouldShowInAppMessagesAutomatically
  });

Dependency Updates

4.9.1

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 6.3.2 (#933) via RevenueCat Git Bot (@RCGitBot)

4.9.0

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 6.3.0 (#426) via RevenueCat Git Bot (@RCGitBot)

4.8.0

Dependency Updates

4.7.1

Dependency Updates

4.7.0

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 6.1.0 (#410) via RevenueCat Git Bot (@RCGitBot)
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 6.0.0 (#408) via RevenueCat Git Bot (@RCGitBot)
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.4 (#407) via RevenueCat Git Bot (@RCGitBot)

4.6.1

Dependency Updates

4.6.0

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.0 (#398) via RevenueCat Git Bot (@RCGitBot)

Other Changes

  • Update offering metadata documentation with a usage example (#397) via Toni Rico (@tonidero)

4.5.0

Bugfixes

  • Use correct type for offering metadata (#394) via Toni Rico (@tonidero)

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.5.0 (#393) via RevenueCat Git Bot (@RCGitBot)

4.4.1

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.4.1 (#389) via RevenueCat Git Bot (@RCGitBot)

4.4.0

Dependency Updates

4.3.0

Bugfixes

  • presentCodeRedemptionSheet: disabled on Catalyst (#381) via NachoSoto (@NachoSoto)

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.3.0 (#383) via RevenueCat Git Bot (@RCGitBot)

4.2.3

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.2.4 (#378) via RevenueCat Git Bot (@RCGitBot)

4.2.2

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.2.3 (#375) via RevenueCat Git Bot (@RCGitBot)

4.2.1

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.2.2 (#372) via RevenueCat Git Bot (@RCGitBot)

4.2.0

Dependency Updates

4.1.0

Bugfixes

  • Remove api key (#363) via Mark Villacampa (@MarkVillacampa)

Dependency Updates

4.0.0

RevenueCat Purchases Cordova v4 is here!! 😻

This latest release updates the Android SDK dependency from v5 to v6 to use BillingClient 5. This version of BillingClient brings an entire new subscription model which has resulted in large changes across the entire SDK.

Migration Guides

  • See Android Native - 5.x to 6.x Migration for a more thorough explanation of the new Google subscription model announced with BillingClient 5 and how to take advantage of it in V6. This guide includes tips on product setup with the new model.

New SubscriptionOption concept

Purchasing

In v3, a Google Play Android Package or StoreProduct represented a single purchaseable entity, and free trials or intro offers would automatically be applied to the purchase if the user was eligible.

Now, in Cordova v4, an Google Play Android Package or StoreProduct represents a duration of a subscription and contains all the ways to purchase that duration -- any offers and its base plan. Each of these purchase options are SubscriptionOptions. When passing a Package to purchasePackage() or StoreProduct to purchaseStoreProduct(), the SDK will use the following logic to choose which SubscriptionOption to purchase:

  • Filters out offers with "rc-ignore-offer" tag
  • Uses SubscriptionOption with the longest free trial or cheapest first phase
    • Only offers the user is eligible will be applied
  • Falls back to base plan

For more control, purchase subscription options with the new purchaseSubscriptionOption() method.

Models

StoreProduct now has a few new properties use for Google Play Android:

  • defaultOption
    • A subscription option that will automatically be applied when purchasing a Package or StoreProduct
  • subscriptionOptions
    • A list of subscription options (could be null)

Observer Mode

Observer mode is still supported in v4. Other than updating the SDK version, there are no changes required.

Offline Entitlements

✨ With this new feature, even if our main and backup servers are down, the SDK can continue to process purchases. This is enabled transparently to the user, and when the servers come back online, the SDK automatically syncs the information so it can be visible in the dashboard.

Offering Metadata

✨ Metadata allows attaching arbitrary information as key/value pairs to your Offering to control how to display your products inside your app. The metadata you configure in an Offering is available from the RevenueCat SDK. For example, you could use it to remotely configure strings on your paywall, or even URLs of images shown on the paywall.

See the metadata documentation for more info!

3.15.0

Dependency Updates

3.14.0

Dependency Updates

  • Bump fastlane from 2.212.2 to 2.213.0 (#343) via dependabot[bot] (@dependabot[bot])
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.16.0 (#341) via RevenueCat Git Bot (@RCGitBot)

Other Changes

  • Fix iOS integration tests (#344) via Cesar de la Vega (@vegaro)

3.13.0

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.15.0 (#334) via RevenueCat Git Bot (@RCGitBot)
  • Bump danger from 9.2.0 to 9.3.0 (#331) via dependabot[bot] (@dependabot[bot])

Other Changes

  • Update fastlane-plugin-revenuecat version (#333) via Cesar de la Vega (@vegaro)

3.12.3

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.3 (#328) via RevenueCat Git Bot (@RCGitBot)
  • Bump fastlane from 2.212.1 to 2.212.2 (#326) via dependabot[bot] (@dependabot[bot])

3.12.2

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.2 (#321) via RevenueCat Git Bot (@RCGitBot)

3.12.1

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.1 (#314) via RevenueCat Git Bot (@RCGitBot)

3.12.0

New Features

  • add immediateAndChargeFullPrice proration mode (#310) via Andy Boedo (@aboedo)

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.0 (#311) via RevenueCat Git Bot (@RCGitBot)

Other Changes

  • Deprecate usesStoreKit2IfAvailable configuration parameter (#306) via Andy Boedo (@aboedo)

3.11.1

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.5 (#305) via RevenueCat Git Bot (@RCGitBot)

3.11.0

New Features

  • Adds beginRefund functions (#299) via Cesar de la Vega (@vegaro)

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.4 (#301) via RevenueCat Git Bot (@RCGitBot)
  • Bump fastlane from 2.212.0 to 2.212.1 (#300) via dependabot[bot] (@dependabot[bot])

Other Changes

  • Fix canMakePayments jsdoc (#298) via Cesar de la Vega (@vegaro)

3.10.0

New Features

  • Add syncObserverModeAmazonPurchase (#288) via Cesar de la Vega (@vegaro)

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.2 (#294) via RevenueCat Git Bot (@RCGitBot)
  • Bump fastlane from 2.211.0 to 2.212.0 (#293) via dependabot[bot] (@dependabot[bot])

Other Changes

  • Formats files correctly (#289) via Cesar de la Vega (@vegaro)

3.9.1

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.1 (#290) via RevenueCat Git Bot (@RCGitBot)

3.9.0

New Features

  • setLogHandler support (#275) via Cesar de la Vega (@vegaro)

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.0 (#285) via RevenueCat Git Bot (@RCGitBot)
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.12.1 (#281) via RevenueCat Git Bot (@RCGitBot)

Other Changes

  • Fix Android integration tests (#284) via Cesar de la Vega (@vegaro)
  • Remove req of macOS to avoid confusion (#279) via HaleyRevcat (@HaleyRevcat)

3.8.0

New Features

  • Added Purchases.setLogLevel (#270) via NachoSoto (@NachoSoto)

Dependency Updates

  • Update gems (#276) via Cesar de la Vega (@vegaro)
  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.12.0 (#274) via RevenueCat Git Bot (@RCGitBot)

Other Changes

  • Configures dependabot (#277) via Cesar de la Vega (@vegaro)

3.7.0

New Features

  • Add usesStoreKit2IfAvailable to PurchasesConfiguration (#265) via Cesar de la Vega (@vegaro)
  • Adds PurchasesStoreProduct.subscriptionPeriod (#264) via Cesar de la Vega (@vegaro)

Dependency Updates

Other Changes

  • Ignores www folder and build on prepare (#269) via Cesar de la Vega (@vegaro)
  • Update fastlane-plugin-revenuecat_internal (#268) via NachoSoto (@NachoSoto)

3.6.0

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.8.0 (#259) via RevenueCat Git Bot (@RCGitBot)

Other Changes

  • Update Gemfile.lock (#260) via Cesar de la Vega (@vegaro)

3.5.0

Dependency Updates

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.7.0 (#253) via RevenueCat Git Bot (@RCGitBot)

Other Changes

  • Adds missing params for better changelogs when bumping (#256) via Cesar de la Vega (@vegaro)
  • Update Gemfile.lock (#255) via Cesar de la Vega (@vegaro)
  • remove stalebot in favor of SLAs in Zendesk (#252) via Andy Boedo (@aboedo)
  • Update fastlane-plugin-revenuecat_internal to latest version (#250) via Cesar de la Vega (@vegaro)
  • Fix changelog and VERSIONS.md for 3.4.3 (#249) via Cesar de la Vega (@vegaro)

3.4.4

Other Changes

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.4 (#246) via RevenueCat Git Bot (@RCGitBot)

3.4.3

Due to a deployment issue, no changes were released in this version

3.4.2

Other Changes

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.2 (#240) via RevenueCat Git Bot (@RCGitBot)

3.4.1

Other Changes

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.1 (#237) via RevenueCat Git Bot (@RCGitBot)

3.4.0

Other Changes

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.0 (#234) via RevenueCat Git Bot (@RCGitBot)

3.3.3

Other Changes

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.4.4 (#231) via RevenueCat Git Bot (@RCGitBot)

3.3.2

Bugfixes

  • Fix CDVPlugin class CDVPurchasesPlugin (pluginName: purchasesplugin) does not exist bug (#226) via Cesar de la Vega (@vegaro)

Other Changes

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.4.3 (#227) via RevenueCat Git Bot (@RCGitBot)
  • Setting type of module to commonjs (#221) via Toni Rico (@tonidero)

3.3.1

Other Changes

  • [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.4.1 (#222) via RevenueCat Git Bot (@RCGitBot)
  • Update Fastlane plugin (#218) via Cesar de la Vega (@vegaro)

3.3.0

Bugfixes

  • Untangle configure and delegate (#188) via Andy Boedo (@aboedo)

Other Changes

  • [AUTOMATIC] Updates purchases-hybrid-common to 4.4.0 (#217) via RevenueCat Git Bot (@RCGitBot)
  • Makes hold job depend on integration tests (#215) via Cesar de la Vega (@vegaro)
  • Adds missing parameter to bump_version_update_changelog_create_pr (#214) via Cesar de la Vega (@vegaro)

3.2.1

Other Changes

  • Update fastlane-plugin-revenuecat_internal (#212) via Cesar de la Vega (@vegaro)
  • [AUTOMATIC] Updates purchases-hybrid-common to 4.3.6 (#211) via RevenueCat Git Bot (@RCGitBot)

3.2.0

Other Changes

  • [AUTOMATIC] Updates purchases-hybrid-common to 4.3.2 (#207) via RevenueCat Git Bot (@RCGitBot)
  • Update releasing docs (#205) via Cesar de la Vega (@vegaro)
  • Configures release train (#204) via Cesar de la Vega (@vegaro)

3.1.0

Purchases.configure has been deprecated in favor of Purchases.configureWith, which accepts a PurchasesConfiguration object.

Purchases.configure("api_key", "user_id", true, "user.defaults.suite.name")

has been replaced with:

Purchases.configureWith({
    apiKey: "api_key",
    appUserID: "user_id",
    observerMode: true,
    userDefaultsSuiteName: "user.defaults.suite.name",
});

This allows for more flexibility since some configuration parameters arguments can now be omitted so the defaults are used. For example:

Purchases.configureWith({
    apiKey: "api_key",
    appUserID: "user_id",
    userDefaultsSuiteName: "user.defaults.suite.name",
});

Or:

Purchases.configureWith({
    apiKey: "api_key",
    observerMode: true,
});

Amazon Appstore Support

We have introduced support for using the Amazon Appstore. We have extensively tested this, and there are some apps using our pre-release Amazon versions in production.

However, we have found some inconsistencies in the way Amazon Appstore prices are reported. We are actively working on patching these inconsistencies.

Please help us help you by reporting any issues you find. New RevenueCat Issue.

You can enable Amazon Appstore support by configuring the SDK using the new configureWith function:

Purchases.configureWith({
    apiKey: "amazon_specific_api_key",
    useAmazon: true,
});

For more information around configuration please take a look at the Amazon Appstore section in our docs. The official Amazon In-App Purchasing docs also contains very valuable information, especially around testing and best practices.

Other Changes

  • Update orb to fix deploys (#200) via Cesar de la Vega (@vegaro)
  • Update fastlane plugin (#199) via Cesar de la Vega (@vegaro)
  • configure has been deprecated in favor of configureWith, which accepts a PurchasesConfiguration object (#110) via Cesar de la Vega (@vegaro)

3.0.0

RevenueCat for Cordova v3 is here!!

Dancing cats

Full Changelog

Updating plugin for the most recent RevenueCat frameworks released!

StoreKit 2 support

This version of the SDK automatically uses StoreKit 2 APIs under the hood only for APIs that the RevenueCat team has determined work better than StoreKit 1.

New types and cleaned up naming

New types that wrap native types from Apple, Google and Amazon, and we cleaned up the naming of other types and methods for a more consistent experience.

Removed APIs

  • identify and createAlias have been removed in favor of logIn.
  • reset has been removed in favor of logOut.
  • getEntitlements has been removed in favor of getOfferings.
  • attributionKey and Purchases.addAttributionData have been removed in favor of set<NetworkID> methods.
  • setAllowSharingStoreAccount has been removed. Configure behavior through the RevenueCat dashboard instead.

Renamed APIs

2.x 3.0.0
PurchaserInfo CustomerInfo
Purchases.getPurchaserInfo Purchases.getCustomerInfo
Purchases.invalidatePurchaserInfoCache Purchases.invalidateCustomerInfoCache
PurchasesTransaction PurchasesStoreTransaction
PurchasesTransaction.revenueCatId PurchasesStoreTransaction.transactionIdentifier
PurchasesTransaction.productId PurchasesStoreTransaction.productIdentifier
PurchasesProduct PurchasesStoreProduct
PurchasesProduct.intro_price (number) PurchasesStoreProduct.introPrice (PurchasesIntroPrice)
PurchasesProduct.price_string PurchasesStoreProduct.priceString
PurchasesProduct.currency_code PurchasesStoreProduct.currencyCode
Purchases.restoreTransactions Purchases.restorePurchases
Purchases.updatedPurchaserInfoListener Purchases.updatedCustomerInfoListener
Purchases.setup Purchases.configure

Bugfixes

  • Configure should be called in the current thread and not in a UI thread (#193) via Cesar de la Vega (@vegaro)

New Features

  • Add support for Firebase, Mixpanel, and CleverTap integrations (#177) via Joshua Liebowitz (@taquitos)
  • Apple AdServices support (#167)

Other Changes

  • Improve purchase tester (#186) via Andy Boedo (@aboedo)
  • cordova-plugin-purchases requires Xcode 13.0+ and minimum targets iOS 11.0+ and macOS 10.13+ (#160) via NachoSoto (@NachoSoto)
  • Lots of other under-the-hood improvements. For a full overview of the changes take a look at the full Changelog

2.4.2

  • Setting type of module to commonjs #192

2.4.1

2.4.0

2.3.2

2.3.1

2.3.0

Identity V3:

In this version, we’ve redesigned the way that user identification works. Detailed docs about the new system are available here.

New methods

  • 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 for reset.

Deprecations

  • deprecates createAlias in favor of logIn.
  • deprecates identify in favor of logIn.
  • deprecates reset in favor of logOut.
  • deprecates setAllowSharingStoreAccount in favor of dashboard-side configuration. #80

Other

2.2.0

  • Add canMakePayments method (#96)
  • Update type for availablePackages (#94)
  • Cleaned up return types for sync methods (#82)
  • Bumped purchases-hybrid-common to 1.7.1 Changelog here
  • Bumped purchases-ios to 3.11.1 Changelog here
  • Bumped purchases-android to 4.2.1 Changelog here

2.1.1

2.1.0

  • iOS:
    • Added a new method setSimulatesAskToBuyInSandbox, that allows developers to test deferred purchases easily.
  • 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 #76

2.0.0

  • removes deprecated makePurchase, replaced by purchaseProduct
  • 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.
  • 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

1.3.2

1.3.1

1.3.0

  • 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 RevenueCat/purchases-android#184
  • Bumped purchases-hybrid-common to 1.4.3 Changelog here
  • Bumped purchases-ios to 3.7.2 Changelog here
  • Bumped purchases-android to 3.5.0 Changelog here
  • Added PurchasesPlugin.swift to prevent compiling issues on objective-c projects
  • removed use-frameworks setting in the sample app to fix linking issues

1.2.2

  • Adds missing import.

1.2.1

  • Removed lambda from Android code (#51)

1.2.0

  • Bumped iOS to 3.4.0 Changelog here
  • Bumped Android to 3.2.0 Changelog here
  • Added managementURL to PurchaserInfo
  • Added setProxyURL
  • Added originalPurchaseDate to PurchaserInfo
  • Adds new headers for platformFlavor and platformFlavorVersion
  • Adds userDefaultsSuiteName as an option when setting up the SDK
  • Linked TS Types (#42)
  • Moved iOS common files to use pod dependencies (#39)
  • Moved Android common files to use gradle maven dependency (#39)

1.1.0

  • Adds an example project that shows how to set up an app with RevenueCat #29
  • 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.
  • Adds new method to invalidate the purchaser info cache, useful when promotional purchases are granted from outside the app. #32

1.0.5

  • Adds shouldPurchasePromoProduct, which allows the app to decide how and when to handle promotional purchases made by users directly through the App Store (#25).
  • Fixes some JSDocs and export types #26.

1.0.4

  • Adds missing types

1.0.3

  • Renames introEligibilityStatus to status in IntroEligibility

1.0.2

  • Adds checkTrialOrIntroductoryPriceEligibility. Note that Android always returns INTRO_ELIGIBILITY_STATUS_UNKNOWN.
  • Updates iOS to 3.0.1 and Android to 3.0.4

1.0.1

  • Updates Android to 3.0.3

1.0.0

  • Support for new Offerings system.
  • Deprecates makePurchase methods. Replaces with purchasePackage
  • Deprecates getEntitlements method. Replaces with getOfferings
  • 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 and purchaseDatesForActiveEntitlements have been removed from PurchaserInfo
  • intro_price, intro_price_period_number_of_units and intro_price_cycles are a number now or null instead of empty strings, intro_price_period_unit can also be null.
  • Added Typescript types
  • 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

0.3.2

  • Fixes EntitlementInfo's expirationDate in iOS.

0.3.1

  • Fixes crash when there's a trial period and not an introductory price on Android.

0.3.0

  • 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.

0.2.1

0.2.0

0.1.2

  • Compile javascript down to ES5 for better support

0.1.1

  • Fixes Android makePurchase errors
  • Fixes readable_error_code in iOS

0.1.0

  • 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.

Android only:

  • 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

iOS only

  • 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.
  • Other bugfixes

0.0.8

  • Updates iOS SDK to 2.1.1

0.0.7

  • Fixes exception on iOS when sending an error

0.0.6

  • Fixes errors in Android not being sent as int
  • Fixes crash when underlyingErrorMessage is missing

0.0.5

  • Updates versions to 2.1.0 with the new error handling.
  • Breaking change, the errors have changed and now return an underlyingErrorMessage instead of the domain.
  • Removes the preinstall hook that was causing errors in Windows. 0.0.4 version was broken for some. The iOS framework will be included in the repo from now on.
  • Breaking the error callback of makePurchase now returns an error and a boolean indicating if the user cancelled.

0.0.4

  • Fixes windows by skipping installation of iOS download script if not building for iOS.

0.0.3

  • Removes onDestroy Android's Activity lifecycle hook since it was closing the instance.