# Changelog for appstore-billing-compatibility-4.2.0?

**URL:** <https://community.amazondeveloper.com/t/changelog-for-appstore-billing-compatibility-4-2-0/9264>\
**Category:** Q&A\
**Tags:** appstore-iap\
**Created:** [March 16, 2025, 7:40pm UTC](https://community.amazondeveloper.com/t/changelog-for-appstore-billing-compatibility-4-2-0/9264 "2025-03-16T19:40:05Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![eggheadgames](https://avatars.discourse-cdn.com/v4/letter/e/49beb7/32.png) [@eggheadgames](https://community.amazondeveloper.com/u/eggheadgames)\
**Post date:** [March 16, 2025, 7:40pm UTC](https://community.amazondeveloper.com/t/changelog-for-appstore-billing-compatibility-4-2-0/9264/1 "2025-03-16T19:40:05Z")

</div>

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](https://developer.amazon.com/docs/app-porting/release-notes.html) 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](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 😉 .

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

Google:

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

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

```

Amazon:

```auto
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

---

<div class="post-metadata">

**Author:** ![Emma](https://dhm3gbtzu79o6.cloudfront.net/user_avatar/community.amazondeveloper.com/emma/32/880_2.png) [@Emma](https://community.amazondeveloper.com/u/Emma)\
**Post date:** [March 18, 2025, 7:30am UTC](https://community.amazondeveloper.com/t/changelog-for-appstore-billing-compatibility-4-2-0/9264/3 "2025-03-18T07:30:55Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Emma](https://dhm3gbtzu79o6.cloudfront.net/user_avatar/community.amazondeveloper.com/emma/32/880_2.png) [@Emma](https://community.amazondeveloper.com/u/Emma)\
**Post date:** [March 21, 2025, 1:43am UTC](https://community.amazondeveloper.com/t/changelog-for-appstore-billing-compatibility-4-2-0/9264/4 "2025-03-21T01:43:16Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![eggheadgames](https://avatars.discourse-cdn.com/v4/letter/e/49beb7/32.png) [@eggheadgames](https://community.amazondeveloper.com/u/eggheadgames)\
**Post date:** [June 14, 2025, 9:05pm UTC](https://community.amazondeveloper.com/t/changelog-for-appstore-billing-compatibility-4-2-0/9264/5 "2025-06-14T21:05:46Z")

</div>

Which version of the SDK has this been implemented?

I just tried it with version 4.2.0 (from Maven) and in testing immediately got the following crash (just like it used to):

`java.lang.NullPointerException: Parameter specified as non-null is null: method com.eggheadgames.appcore.AtriumActivity$b.onQueryPurchasesResponse, parameter purchaseList`

Thanks for any clarification!

---

<div class="post-metadata">

**Author:** ![system](https://dhm3gbtzu79o6.cloudfront.net/user_avatar/community.amazondeveloper.com/system/32/5065_2.png) [@system](https://community.amazondeveloper.com/u/system)\
**Post date:** [October 11, 2025, 4:10pm UTC](https://community.amazondeveloper.com/t/changelog-for-appstore-billing-compatibility-4-2-0/9264/6 "2025-10-11T16:10:08Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
