Skip to content

Latest commit

 

History

History
425 lines (254 loc) · 13.6 KB

CHANGELOG.md

File metadata and controls

425 lines (254 loc) · 13.6 KB

5.6.0

  • refactor: android init connection
    Used Kotlin apply for cleaner initialization of billingClient.
    Introduced context ?: return for null-safety with context. 
    Merged repetitive code into the updateConnectionStatus method to avoid duplication.
    Improved the handling of the alreadyFinished flag to ensure it is only set once and at the appropriate time.
    Streamlined the error and success handling for clarity.
    
  • Migrate android billingClient to 6.0.1

5.5.0

  • Erroneous duplicate item (#441) - Remove extra introductoryPricePaymentModeIOS
  • Fixed consumable products reading on Android (#439)
  • chore(deps): migrate internal packages to recent
    http: ^1.1.0
    meta: ^1.10.0
    platform: ^3.1.3
    
  • chore: migrate example project to recent flutter version, 3.16.0-0.3.pre

5.4.2

What's Changed

  • Update actions/stale action to v8 by @renovate in hyochan#414
  • Fix - wrong casting by @BrunoFSimon in hyochan#427
  • Fixed consumable product purchase on Android by @33-Elephants in hyochan#420

New Contributors

  • @BrunoFSimon made their first contribution in hyochan#427
  • @33-Elephants made their first contribution in hyochan#420

Full Changelog: https://github.com/dooboolab-community/flutter_inapp_purchase/compare/5.4.1...5.4.2

5.4.1

  • Fixed concurrency issue on iOS. by @OctavianLfrd in hyochan#413

5.4.0

  • Fixed wrong casting in checkSubscribed method by @kleeb in hyochan#368
  • Upgrade to billing 5.1 (reverse compatible) by @SamBergeron in hyochan#392

5.3.0

What's Changed

  • Refactor java to kotlin, add showInAppMessageAndroid by @offline-first in hyochan#365

New Contributors

  • @offline-first made their first contribution in hyochan#365

Full Changelog: https://github.com/dooboolab/flutter_inapp_purchase/compare/5.2.0...5.3.0

5.2.0

Bugfix #356

5.1.1

Run on UiThread and few others (#328)

  • Related #272

  • The main difference is a new MethodResultWrapper class that wraps both the result and the channel. onMethodCall() now immediately saves this wrapped result-channel to a field and only uses that later to set both the result and to send back info on the channel. I did this in both Google and Amazon but I can't test the Amazon one.

  • Included the plugin registration differences.

  • Midified suggested in one of the issues that initConnection, endConnection and consumeAllItems shouldn't be accessors. This is very much so, property accessors are not supposed to do work and have side effects, just return a value. Now three new functions are suggested and marked the old ones deprecated.

Fourth, EnumUtil.getValueString() is not really necessary, we have describeEnum() in the Flutter engine just for this purpose.

5.1.0

Upgrade android billing client to 4.0.0 (#326)

Remove orderId in Purchase

  • This is duplicate of transactionId.

Support for Amazon devices with Google Play sideloaded (#313)

5.0.4

  • Add iOS promo codes (#325)
  • Use http client in validateReceiptIos (#322)
  • Amazon getPrice directly withoiut formatting (#316)

5.0.3

  • Fix plugin exception for requestProductWithQuantityIOS #306

5.0.2

  • Replaced obfuscatedAccountIdAndroid with obfuscatedAccountId in request purchase method #299

5.0.1

  • Add AndroidProrationMode values #273

5.0.0

  • Support null safety #275

4.0.2

  • The dart side requires "introductoryPriceCyclesAndroid" to be a int #268

4.0.1

  • platform dep version >=2.0.0 <4.0.0

4.0.0

  • Support flutter v2 #265

3.0.1

  • Migrate to flutter embedding v2 #240
  • Expose android purchase state as enum #243

3.0.0

  • Upgrade android billing client to 2.1.0 from 3.0.0.
  • Removed deveoperId and accountId when requesting purchase or subscription in android.
  • Added obfuscatedAccountIdAndroid and obfuscatedProfileIdAndroid when requesting purchase or subscription in android.
  • Removed developerPayload in android.
  • Added purchaseTokenAndroid as an optional parameter to requestPurchase and requestSubscription.

2.3.1

Republishing since sourcode seems not merged correctly.

2.3.0

  • Bugfix IAPItem deserialization #212
  • Add introductoryPriceNumberIOS #214
  • Fix iOS promotional offers #220

2.2.0

  • Implement endConnection method to declaratively finish observer in iOS.
  • Remove addTransactionObserver in IAPPromotionObserver.m for dup observer problems.
  • Automatically startPromotionObserver in initConnection for iOS.

2.1.5

  • Fix ios failed purchase handling problem in 11.4+ #176

2.1.4

  • Fix dart side expression warning #169.

2.1.3

  • Fix wrong introductory price number of periods #164.

2.1.2

  • Trigger purchaseUpdated callback when iap purchased #165.

2.1.1

  • Renamed finishTransactionIOS argument purchaseToken to transactionId.

2.1.0

  • finishTransaction parameter changes to purchasedItem from purchaseToken.
  • Update android billing client to 2.1.0 from 2.0.3.

2.0.5

  • [bugfix] Fix double call of result reply on connection init #126

2.0.4

  • [bugfix] Fix plugin throws exceptions with flutter v1.10.7 beta #117

2.0.3

  • [bugfix] Decode response code for connection updates stream #114
  • [bugfix] Fix typo in consumePurchase #115

2.0.2

  • use ConnectionResult as type for connection stream, fix controller creation #112

2.0.0+16

  • Resolve #106 by not sending result.error to the listener. Created use _conectionSubscription.

2.0.0+15

  • Fixed minor typo when generating string with toString. Resolve #110.

2.0.0+14

  • Pass android exception to flutter side.

2.0.0+13

  • Android receipt validation api upgrade to v3.

2.0.0+12

  • Resolve #102. Fluter seems to only sends strings between platforms.

2.0.0+9

2.0.0+8

2.0.0+7

2.0.0+6

  • Send purchase-error with purchases returns null.

2.0.0+5

  • Renamed invoked parameters non-platform specific.

2.0.0+4

  • Add deveoperId and accountId when requesting purchase or subscription in android. Find out more in requestPurchase and requestSubscription.

2.0.0+3

  • Correctly mock invoke method and return results #94

2.0.0+2

  • Seperate long example code to example readme.

2.0.0+1

  • Properly set return type PurchaseResult of when finishing transaction.

2.0.0 🎉

  • Removed deprecated note in the readme.
  • Make the previous tests work in travis.
  • Documentation on readme for breaking features.
  • Abstracts finishTransaction.
    • acknowledgePurchaseAndroid, consumePurchaseAndroid, finishTransactionIOS.

[Android]

  • Completely remove prepare.
  • Upgrade billingclient to 2.0.3 which is currently recent in Sep 15 2019.
  • Remove [IInAppBillingService] binding since billingClient has its own functionalities.
  • Add [DoobooUtils] and add getBillingResponseData that visualizes erorr codes better.
  • buyProduct no more return asyn result. It rather relies on the purchaseUpdatedListener.
  • Add feature method acknowledgePurchaseAndroid
    • Implement acknowledgePurchaseAndroid.
    • Renamed consumePurchase to consumePurchaseAndroid in dart side.
    • Update test codes.
  • Renamed methods
    • buyProduct to requestPurchase.
    • buySubscription to requestSubscription.

[iOS]

  • Implment features in new releases.
    • enforce to finishTransaction after purchases.
    • Work with purchaseUpdated and purchaseError listener as in android.
    • Feature set from react-native-iap v3.
    • Should call finish transaction in every purchase request.
    • Add IAPPromotionObserver cocoa touch file
    • Convert dic to json string before invoking purchase-updated
    • Add getPromotedProductIOS and requestPromotedProductIOS methods
    • Implement clearTransaction for ios
    • Include purchasePromoted stream that listens to iap-promoted-product.

1.0.0

0.9.+

  • Breaking change. Migrate from the deprecated original Android Support Library to AndroidX. This shouldn't result in any functional changes, but it requires any Android apps using this plugin to also migrate to Android X if they're using the original support library. Android's Migrating to Android X Guide.
  • Improved getPurchaseHistory's speed 44% faster #68.

0.8.+

  • Fixed receipt validation param for android.
  • Updated http package.
  • Implemented new method getAppStoreInitiatedProducts.
    • Handling of iOS method paymentQueue:shouldAddStorePayment:forProduct:
    • Has no effect on Android.
  • Fixed issue with method buyProductWithoutFinishTransaction for iOS, was not getting the productId.
  • Fixed issue with toString method of class IAPItem, was printing incorrect values.
  • Fixes for #44. Unsafe getting originalJson when restoring item and Android.
  • Use dictionaryWithObjectsAndKeys in NSDictionary to fetch product values. This will prevent from NSInvalidArgumentException in ios which rarely occurs.
  • Fixed wrong npe in android when getAvailablePurchases.
  • Only parse orderId when exists in Android to prevent crashing.
  • Add additional success purchase listener in iOS. Related #54

0.7.1

  • Implemented receiptValidation for both android and ios.
    • In Android, you need own backend to get your accessToken.

0.7.0

  • Addition of Amazon In-App Purchases.

0.6.9

  • Prevent nil element exception when getting products.

0.6.8

  • Prevent nil exception in ios when fetching products.

0.6.7

  • Fix broken images on pub.

0.6.6

  • Added missing introductory fields in ios.

0.6.5

  • convert dynamic objects to PurchasedItems.
  • Fix return type for getAvailablePurchases().
  • Fix ios null value if optional operator.

0.6.3

  • Update readme.

0.6.2

  • Fixed failing when there is no introductory price in ios.

0.6.1

  • Fixed checkSubscribed that can interrupt billing lifecycle.

0.6.0

  • Major code refactoring by lukepighetti. Unify PlatformException, cleanup new, DateTime instead of string.

0.5.9

  • Fix getSubscription json encoding problem in ios.

0.5.8

  • Avoid crashing on android caused by IllegalStateException.

0.5.7

  • Avoid possible memory leak in android by deleting static declaration of activity and context.

0.5.6

  • Few types fixed.

0.5.4

  • Fixed error parsing IAPItem.

0.5.3

  • Fixed error parsing purchaseHistory.

0.5.2

  • Fix crashing on error.

0.5.1

  • Give better error message on ios.

0.5.0

  • Code migration.
  • Support subscription period.
  • There was parameter renaming in 0.5.0 to identify different parameters sent from the device. Please check the readme.

0.4.3

  • Fixed subscription return types.

0.4.0

  • Well formatted code.

0.3.3

  • Code formatted
  • Updated missing data types

0.3.1

  • Upgraded readme for ease of usage.
  • Enabled strong mode.

0.3.0

  • Moved dynamic return type away and instead give PurchasedItem.

0.2.3

  • Quickly fixed purchase bug out there in issue. Need much more improvement currently.

0.2.2

  • Migrated packages from FlutterInApp to FlutterInAppPurchase because pub won't get it.

0.1.0