Changelog for appstore-billing-compatibility-4.2.0?

Hi, is there a detailed changelog for the appstore-billing-compatibility-4.2.0 update released last month?

I found App Porting Release Notes | App Porting and I also found that the new Google Billing 7 API for com.amazon.device.iap.billingclient.api.PendingPurchasesParam has now been implemented which is great as it removes another commented out variation in my shared Android code.

However, I’m particularly wondering if the incompatibility I mentioned here has been corrected?

https://community.amazondeveloper.com/t/billing-compatibility-sdk-onproductdetailsresponse-returning-null-productdetails/4082/11

I would test this myself, but I never found a way to do that without releasing it publicly and then it crashes which is rather tedious for customers :wink: .

Right now I have to have two sets of code for this change, in two places, specifically:

Google:

override fun onQueryPurchasesResponse(
    billingResult: BillingResult, 
    purchaseList: MutableList<Purchase>) {

override fun onProductDetailsResponse(
    billingResult: BillingResult, 
    productDetailsList: MutableList<ProductDetails>) {

Amazon:

override fun onQueryPurchasesResponse(
    billingResult: BillingResult, 
    purchaseList: MutableList<Purchase>?) {

override fun onProductDetailsResponse(
    billingResult: BillingResult, 
    productDetailsList: MutableList<ProductDetails>?) {
        productDetailsList ?: return

The alternative versions add the optional “?” to the last parameter in each case so that I can test for a null in my Kotlin code, instead of just handling an empty array as the Google API guarantees. Google will not allow compilation with the “?” as that does not match the declaration (presumably their underlying implementation is Kotlin and Amazon’s is Java??).

Any information on this would be much appreciated! The Billing Compatibility API is an excellent library, but removing these little nits would be super helpful!

Thanks, Michael

Hello,

Thanks for your question and feedback. We have reached out to the appropriate team for further investigation and will update you once we receive a response.

Hi,

Our engineering team has confirmed that this change has already been implemented and released. We now pass an empty array instead of null in the QueryProductDetails API in case of an error scenario.