Skip to content

AI & TechnologyPlay Billing Library 7 Deprecated: Update to 8 by November 1

Simon Dziak
Simon Dziak
Founder & developer, App369
LinkedIn
October 18, 20267 min

Key takeaways

  • Every Google Play Billing Library version has a two-year deprecation cycle. For version 7, Google says the deadline for new apps and updates was August 31, 2026, and the extension deadline is November 1, 2026.
  • Version 8.0.0 (June 30, 2025) removed queryPurchaseHistory(), querySkuDetailsAsync(), the no-argument enablePendingPurchases() and the queryPurchasesAsync() overload that takes a SKU type, and changed the queryProductDetailsAsync() result.
  • Flutter's in_app_purchase_android moved to Billing Library 8.0.0 in version 0.5.0 (May 27, 2026). The app-facing in_app_purchase package uses it from 3.3.0, which needs Flutter 3.38 or later.
  • RevenueCat's purchases_flutter moved to Billing Library 8 in 9.0.0 (July 18, 2025). Its notes warn that one-time products wrongly set up as consumables can no longer be restored.
  • Google says existing apps keep working. The deadline applies to new apps and updates. My reading: an app on version 7 can't ship an update until it moves, once any extension runs out.

Pricing an app? Try the free app cost calculator or get a range for your project in the instant quote.

If Play Console warns that your app uses an unsupported version of the Google Play Billing Library, version 7 is the likely cause: its deadline for new apps and updates was August 31, 2026, and Google says the extension it offers runs until November 1, 2026. Google says existing apps keep working, and new apps and updates must use a supported version. In my reading, an app still on version 7 can't ship an update once the extension runs out. For a Flutter app, that usually means a newer in_app_purchase or RevenueCat package, and possibly a newer Flutter.

The deadlines below come from Google's Billing Library deprecation page and release notes, and the package versions from pub.dev and RevenueCat's changelog, as listed in the sources. I checked each one on October 18, 2026.

Disclosure: App369 is my studio. I build and fix apps, including in-app purchases and subscriptions in Flutter, and the last section mentions what I sell. Google and RevenueCat don't pay me for anything on this page.

The deadlines

Google gives every Billing Library version a two-year deprecation cycle. Its table:

VersionNew apps and updates must move byExtension deadline
5August 31, 2024November 1, 2024
6August 31, 2025November 1, 2025
7August 31, 2026November 1, 2026
8August 31, 2027November 1, 2027
9August 31, 2028November 1, 2028

Source: Google Play Billing Library version deprecation, last updated September 9, 2026.

Google's FAQ also says:

  • Existing apps still work. Unmaintained APKs don't need updates. The rule applies to new apps and updates.
  • The dependency check applies to APKs that use billing. Google says these dependencies only appear in APKs that require the com.android.vending.BILLING permission.
  • The extension form is in Play Console. An app on an unsupported version gets a warning. Open its details on the Policy status page to find the form.

What changed in version 8

Version 8.0.0 was released on June 30, 2025. Per Google's release notes, the changes most likely to break an older integration are:

Change in 8.0.0What to use instead
queryPurchaseHistory() removedGoogle lists queryPurchasesAsync() for acknowledged and pending purchases, says to track consumed purchases on your own servers, and points to the voided-purchases API for canceled ones
querySkuDetailsAsync() removedqueryProductDetailsAsync()
enablePendingPurchases() with no arguments removedenablePendingPurchases(PendingPurchasesParams). The old call equals PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()
queryPurchasesAsync(String skuType, ...) removedqueryPurchasesAsync(QueryPurchasesParams, ...)
onProductDetailsResponse() signature changedHandle the new result, which also lists products that couldn't be fetched

Version 8 also added optional automatic service reconnection (enableAutoServiceReconnection()) and sub-response codes on launchBillingFlow(), such as PAYMENT_DECLINED_DUE_TO_INSUFFICIENT_FUNDS. In-app items are now called one-time products.

Flutter apps: which package versions include version 8

PackageFirst version on Billing Library 8Notes, per its changelog or pubspec
in_app_purchase_android0.5.0 (May 27, 2026)Updates from 7.1.1 to 8.0.0. Breaking: removes queryPurchaseHistory, use queryPurchases
in_app_purchase3.3.0 (June 3, 2026)Depends on in_app_purchase_android ^0.5.0. Requires Flutter 3.38 or later and Dart 3.10
purchases_flutter (RevenueCat)9.0.0 (July 18, 2025)Billing Library 8. Version 10.0.0 moved to 8.3.0 and raised the Android minimum to API 23

Two things to watch:

  • in_app_purchase needs a recent Flutter. Version 3.2.3, the last one on the old Android package, depended on in_app_purchase_android ^0.4.0, which used Billing Library 7.1.1. To get version 8 through Flutter's own plugin, the app has to run on Flutter 3.38 or later. Flutter's release archive dates 3.38.0 November 12, 2025. Every in_app_purchase_android release after 0.5.0 requires Flutter 3.44 or later, so on Flutter 3.38 to 3.43 pub can only use 0.5.0. My advice: if the app is on an older Flutter, plan the Flutter upgrade and the billing update as one job, because the upgrade can surface other build errors.
  • RevenueCat warns about consumables. Its 9.0.0 notes say Billing Library 8 can no longer query expired subscriptions or consumed one-time products. If a lifetime purchase is set up as a consumable in the RevenueCat dashboard, RevenueCat will consume it, and users can't restore it. RevenueCat says to set those products up as non-consumables.

What to do now

This section is my advice, not Google's.

  1. Find the version you ship. In a native app, check com.android.billingclient:billing in build.gradle. In Flutter, check in_app_purchase_android or purchases_flutter in pubspec.lock, and compare with the table above.
  2. Request the extension if you need time. If you can't ship version 8 before your next update, use the form from the Play Console warning. Google's extension for version 7 ends on November 1, 2026, so as of October 18, 2026 it buys two weeks at most.
  3. Upgrade the package, then fix what broke. Look for the removed calls in the version 8 table. In Flutter, replace queryPurchaseHistory with queryPurchases.
  4. Test purchases and restores before you ship. Use Play Console license testers to buy, cancel and restore each product type, especially one-time products and anything users expect to restore after reinstalling.
  5. Check the manifest if the warning stays. Google says the merged AndroidManifest.xml must contain com.google.android.play.billingclient.version. If it doesn't, check whether manifest merging removes it.

Need a hand?

If an app can't ship an update because of the Billing Library deadline, or purchases broke after the upgrade, the App Fix Ticket covers it in two fixed-price steps. A $450 Diagnosis gives you the root cause with evidence and a fixed repair quote within 3 business days, credited toward the fix. If you go ahead, the $1,200 Fix takes 5 business days and comes as a pull request. Or send me a short description.

Frequently asked questions

When is Play Billing Library 7 deprecated?
Google's deprecation table sets August 31, 2026 as the deadline for new apps and updates on version 7, and November 1, 2026 as the extension deadline. Google's banner on the same page says that by August 31, 2026, new apps and updates must use version 8 or later.
What happens if I don't update the Billing Library?
Google says existing apps still work and unmaintained APKs don't need updates, but new apps and updates must use a supported version. My reading: once your deadline passes, you can't publish an update to an app that uses version 7 or older.
How do I get an extension to November 1, 2026?
Google says an app on an unsupported version gets a warning in Play Console. Open the warning's details on the Policy status page and use the extension form there. Google says the extension for version 7 runs until November 1, 2026.
Which Flutter in_app_purchase version uses Billing Library 8?
in_app_purchase_android 0.5.0, published May 27, 2026, updated the Billing Library from 7.1.1 to 8.0.0. The in_app_purchase package depends on it from version 3.3.0, which requires Flutter 3.38 or later and Dart 3.10.
I already updated. Why does Play Console still show the warning?
Google's FAQ says to check that your AndroidManifest.xml contains com.google.android.play.billingclient.version, and if it is missing, whether manifest merging removes it.
Do I need to move to version 9?
Not for this deadline. Version 8 is supported until August 31, 2027, with an extension to November 1, 2027, per Google's table. Version 9 was released on May 19, 2026 and is supported a year longer.

Sources

  1. Android Developers, Google Play Billing Library version deprecation (last updated September 9, 2026)
  2. Android Developers, Google Play Billing Library release notes
  3. pub.dev, in_app_purchase_android changelog
  4. pub.dev, in_app_purchase versions
  5. RevenueCat purchases-flutter changelog on GitHub
  6. Flutter release archive (macOS)
Tags
#play billing library 7 deprecated #play billing library 8 migration #unsupported version of google play billing library #play console billing library warning #billing library extension november 1 2026 #in_app_purchase_android billing 8 #purchases_flutter billing library 8 #querypurchasehistory removed #flutter in app purchase android update
Share:

Related Resources

Related guides