Skip to content

Latest commit

 

History

History
505 lines (364 loc) · 25.7 KB

CHANGELOG.md

File metadata and controls

505 lines (364 loc) · 25.7 KB

4.4.1

Other Changes

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

4.4.0

Bugfixes

  • fix compatibility issues with C# 7.3 (#162) via Andy Boedo (@aboedo)

Other Changes

  • [AUTOMATIC] Updates purchases-hybrid-common to 4.3.2 (#163) via RevenueCat Git Bot (@RCGitBot)
  • Release trains (#159) via Cesar de la Vega (@vegaro)

4.3.1

Bugfixes

  • Update receivedUpdatedCustomerInfo delegate (#158) via Cesar de la Vega (@vegaro)

Other Changes

  • Update fastlane plugin (#156) via Cesar de la Vega (@vegaro)
  • Add new SetUsesStoreKit2IfAvailable api to api tests (#154) via Toni Rico (@tonidero)

4.3.0

New Features

  • Support for usesStoreKit2IfAvailable config option (#151) via Toni Rico (@tonidero)

Bugfixes

  • Fix support for DangerousSettings in iOS (#152) via Toni Rico (@tonidero)

4.2.0

⚠️ Important: If you're using RevenueCat along with Unity IAP side-by-side ⚠️

Starting with this version you need to use Unity IAP 4.4.0+ if you are using Unity IAP together with RevenueCat in your project. You can update from Unity Package Manager. If you need to use an older version of Unity IAP, you can continue to use purchases-unity < 4.2.0.

API Changes

  • StoreTransaction: RevenueCatId and ProductId have been deprecated in favor of TransactionIdentifier and ProductIdentifier respectively. (#145) via Toni Rico (@tonidero)

Bugfixes

  • Fix example compatibility with Unity 2020 (#139) via Andy Boedo (@aboedo)

Other Changes

  • Subtester: Fix unity android export (#142) via Andy Boedo (@aboedo)
  • Update AMAZON-INSTRUCTIONS.md (#143) via Andy Boedo (@aboedo)

4.1.0

  • Introduced New AdServices Integration on iOS. Call EnableAdServicesAttributionTokenCollection() to enable this integration. More information in our docs and in the announcement blogpost.

4.0.0

RevenueCat Unity SDK v4 is here!!

Dancing cats

Full Changelog

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 RevenueCatAPIKeyAmazon field.

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 contain very valuable information, especially around testing and best practices.

⚠️ ⚠️ Important ⚠️ ⚠️ In order to use Unity IAP < 4.4.0 with RevenueCat in Observer mode, you need to use the Purchases-UnityIAP.unityPackage. For Unity IAP >= 4.4.0, you can use the Purchases.unitypackage package.

For Amazon installation instructions please follow take a look at the Amazon instructions document

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.
  • revenueCatAPIKey has been removed in favor of revenueCatAPIKeyApple, revenueCatAPIKeyGoogle and revenueCatAPIKeyAmazon.

Renamed APIs

3.x 4.0.0
PurchaserInfo CustomerInfo
Transaction StoreTransaction
Product StoreProduct
PaymentDiscount PromotionalOffer
Purchases.RestoreTransactions Purchases.RestorePurchases
Purchases.GetPaymentDiscount Purchases.GetPromotionalOffer
Purchases.UpdatedPurchaserInfoListener Purchases.UpdatedCustomerInfoListener
Discount.identifier Discount.Identifier
Discount.price Discount.Price
Discount.priceString Discount.PriceString
Discount.cycles Discount.Cycles
Discount.period Discount.Period
Discount.unit Discount.Unit
Discount.periodUnit Discount.PeriodUnit
Discount.periodNumberOfUnits Discount.PeriodNumberOfUnits
Error.message Error.Message
Error.code Error.Code
Error.underlyingErrorMessage Error.UnderlyingErrorMessage
Error.readableErrorCode Error.ReadableErrorCode

New APIs

  • Introduced the ability to configure the SDK programmatically through calling Configure RevenueCat#125

Other

4.0.0-rc.2

New changes since Release Candidate 1

  • Updated purchases-hybrid-common to 3.3.0 Changelog here
  • Updated purchases-android to 5.3.0, which fixes a null pointer exception when calling configure from a thread in Android. Changelog here
  • Updated instructions for observer mode, which don't require excluding the billing client anymore.

4.0.0-rc.1

⚠️ ⚠️ Important ⚠️ ⚠️ Observer mode for Amazon is not supported yet.

⚠️ ⚠️ Important ⚠️ ⚠️ In order to use Unity IAP in order with RevenueCat in Observer mode, you need to use the Purchases-UnityIAP.unityPackage.

For Amazon installation instructions please follow take a look at the Amazon instructions document

Features

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 RevenueCatAPIKeyAmazon field.

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 contain very valuable information, especially around testing and best practices.

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.
  • revenueCatAPIKey has been removed in favor of revenueCatAPIKeyApple, revenueCatAPIKeyGoogle and revenueCatAPIKeyAmazon.

Renamed APIs

3.x 4.0.0
PurchaserInfo CustomerInfo
Transaction StoreTransaction
Product StoreProduct
PaymentDiscount PromotionalOffer
Purchases.RestoreTransactions Purchases.RestorePurchases
Purchases.GetPaymentDiscount Purchases.GetPromotionalOffer
Purchases.UpdatedPurchaserInfoListener Purchases.UpdatedCustomerInfoListener
Discount.identifier Discount.Identifier
Discount.price Discount.Price
Discount.priceString Discount.PriceString
Discount.cycles Discount.Cycles
Discount.period Discount.Period
Discount.unit Discount.Unit
Discount.periodUnit Discount.PeriodUnit
Discount.periodNumberOfUnits Discount.PeriodNumberOfUnits
Error.message Error.Message
Error.code Error.Code
Error.underlyingErrorMessage Error.UnderlyingErrorMessage
Error.readableErrorCode Error.ReadableErrorCode

3.5.3

When installing this release, make sure to make a fresh installation by removing the RevenueCat folder before importing the package. That way obsolete files are deleted from your project.

3.5.2

3.5.1

  • Fixed issue where builds got rejected when uploading to App Store Connect because of the existence of a Frameworks folder in the archive RevenueCat#84
  • Added post-install script that automatically links the StoreKit framework to the main target RevenueCat#85
  • Bumppurchases-hybrid-common to 2.0.0 Changelog here
  • Bump purchases-ios to 3.14.0 (Changelog here)
  • Bump purchases-android to 4.6.0 (Changelog here)

3.5.0

3.4.2

3.4.1

3.4.0

3.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. RevenueCat#48

Other

3.2.0

3.1.1

3.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 RevenueCat#43

3.0.1

  • Fixed a crash in iOS when parsing dates in milliseconds, as well as a bug in Android that caused dates that were reported as milliseconds to actually have values in seconds. RevenueCat#39
  • Bumped purchases-hybrid-common to 1.5.1 Changelog here

3.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.
    • fixed a bug where values for dates in milliseconds were actually in seconds (RevenueCat/purchases-hybrid-common#62)
  • 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

2.3.1

2.3.0

  • Bumped common files to 1.4.4 Changelog here
  • Bumped iOS to 3.7.2 Changelog here
  • Bumped Android to 3.5.2 Changelog here
  • Added a new property NonSubscriptionTransactions in PurchaserInfo 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

2.2.1

  • Fixes duplicated files error in iOS.

2.2.0

  • Adds proxyURL property, useful for kids category apps, so that they can set up a proxy to send requests through. Do not use this unless you've talked to RevenueCat support about it.
  • Adds userDefaultsSuiteName. Set this to use a specific NSUserDefaults suite for RevenueCat. This might be handy if you are deleting all NSUserDefaults in your app and leaving RevenueCat in a bad state.
  • Update to ExternalDependencyManager 1.2.156
  • A lot of internal changes:
    • iOS now downloads the dependency from CocoaPods
    • Android downloads the common code from Maven
    • Removed a bunch of scripts
    • Removed the Android project and added the files to the plugin folder
    • Added platform version and name to the http headers
    • Added a script to create the unitypackage
    • Moved inner classes to their own files
    • Use SimpleJSON instead of JSONUtility

iOS Native SDK Update 3.4.0

Android Native SDK Update 3.2.0

2.1.0

  • 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.
  • Added new method to invalidate the purchaser info cache, useful when promotional purchases are granted from outside the app.

iOS Native SDK Update 3.2.2

Android Native SDK Update 3.1.0

2.0.9

  • Fixes updated PurchaserInfo listener in iOS

2.0.8

  • Fixes active entitlements in iOS and the format of the dates in the EntitlementInfo objects in iOS

2.0.7

  • Adds optional type parameter to GetProducts call

2.0.6

  • Adds CheckTrialOrIntroductoryPriceEligibility

2.0.5

  • Fixes Product class
  • Removes unnecessary iOS import
  • Adds missing iOS files

2.0.4

  • Updates Android library to 3.0.3

2.0.3

  • Makes Offerings.Current nullable

2.0.2

  • Rolls back Play services resolver to v1.2.132

2.0.1

  • Makes packages inside Offering nullable.

2.0.0

  • PurchaserInfo.LatestExpirationDate can be null now, it was equal to epoch before if there was no expiration date. Same for PurchaserInfo.AllExpirationDates, that can contain nullable values now.
  • Added Play Services Resolver (https://github.com/googlesamples/unity-jar-resolver) to help with the Android dependencies management. Make sure you import it when importing our package.
  • 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. For more info check out https://docs.revenuecat.com/docs/purchaserinfo
  • 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

1.2.2

  • Updates Android SDK to 3.4.1 to include multiple bugfixes.

1.2.1

  • Fixes introductory offer period normalization in iOS.

1.2.0

1.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.5. Check out the changelog for a full list of changes https://github.com/RevenueCat/purchases-android/releases/tag/2.2.5
  • ** 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 syncPurchases 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 syncPurchases: 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.

1.0.2

  • Updates iOS SDK to 2.1.1

1.0.1

  • Fixing crash on iOS when missing an underlying error

1.0.0

  • Updates SDKs to 2.1.0. This means there is new functions added:
  • Changes the SDK to use callback functions instead of delegates. There is a UpdatedPurchaserInfoListener that sends a purchaser info object. This listener is used to listen to changes in the purchaser info.
  • Added setDebugLogsEnabled to display debug logs.
  • Added getPurchaserInfo function to get the latest purchaser info known by the SDK.
  • Added getEntitlements
  • Added getAppUserId

0.6.1

  • Adds setFinishTransactions for iOS
  • Adds more attribution networks

0.6.0

  • Updates iOS SDK to 1.20 and Android SDK to 1.4.0.
  • Adds identify, create alias and reset call

0.5.4

  • Fixes onRestoreTransactions never being called.

0.5.3

  • Fixes onRestoreTransactions not being called if there are no tokens.

0.5.2

  • Fixes crash due to not able to find Kotlin dependency.

0.5.1

  • Adds requestDate to the purchaser info to avoid edge cases.

0.5.0

  • Enhance the PurchasesListener protocol to include methods for restore succeeded and failed.

0.4.2

  • Add Android support for Adjust

0.4.1

  • Add support for idfa data in Adjust