)]}'
{
  "commit": "10cbdc57b0ce1bc0dc654c7c332e90540b5a41a9",
  "tree": "f6e106d0c436302d07f242fb7069e88db02f97db",
  "parents": [
    "c23d051efaebc88b356baae8ae62fb509fa9551f"
  ],
  "author": {
    "name": "Jenn Magder",
    "email": "magder@google.com",
    "time": "Wed May 27 13:49:20 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed May 27 20:49:20 2026 +0000"
  },
  "message": "[in_app_purchase_android] Update Play Billing library to 8.0.0 (#10816)\n\nUpdates Play Billing Library to the latest version 8.0.0. Exposes new APIs as per [release notes](https://developer.android.com/google/play/billing/release-notes#8-0-0):\r\n*   Adds new `subResponseCode` to `BillingResultWrapper` and `PlatformBillingResult`.\r\n*   Adds `unfetchedProductList` to `ProductDetailsResponseWrapper` and `PlatformProductDetailsResponse` to expose products that could not be retrieved.\r\n*   Adds Dart representation of `UnfetchedProductWrapper`.\r\n*   Adds `oneTimePurchaseOfferDetailsList` to `ProductDetailsWrapper` to support multiple one-time purchase offers.\r\n*   Removes the deprecated `queryPurchaseHistory` method on `BillingClientWrapper` as it has been removed from the native library (breaking change). Users should use `restorePurchases` (which uses `queryPurchasesAsync` instead.\r\n\r\nThis PR introduces breaking changes in `in_app_purchase_android`, but does not introduce any breaking changes on the platform interface level.\r\n\r\nFixes https://github.com/flutter/flutter/issues/171523\r\n\r\n## Pre-Review Checklist\r\n\r\n**Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member\u0027s review for guidance on which automated comments should be addressed.\r\n\r\n[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3afbeb6051873d3fa791cfe246178809acd94561",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md",
      "new_id": "4724caf0e208ab5c984c70410ee02245e77ed5c9",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "be9f0f507259ed551a0e9039f42773bc223cb01e",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/README.md",
      "new_id": "45286f90b573240b4352da7b7699318b3be122e4",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/README.md"
    },
    {
      "type": "modify",
      "old_id": "e70dbf7df8cf4036c454279faacb1e22e829aa20",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/android/build.gradle.kts",
      "new_id": "94d243766b0666073aadf3ccc7edef0e3cf500fc",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/android/build.gradle.kts"
    },
    {
      "type": "modify",
      "old_id": "c934564366cb62a789f06ed61b1e4aa1f3084695",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/android/src/main/java/io/flutter/plugins/inapppurchase/MethodCallHandlerImpl.java",
      "new_id": "3e665871b45acc4e204cbd142625ad8b04d6e614",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/android/src/main/java/io/flutter/plugins/inapppurchase/MethodCallHandlerImpl.java"
    },
    {
      "type": "modify",
      "old_id": "d206d17d3d1956acfc784c07e9d95371c9a9fc72",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/android/src/main/kotlin/io/flutter/plugins/inapppurchase/Messages.kt",
      "new_id": "9454d588eb286eb9a962ffa436b8df4abaeaf533",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/android/src/main/kotlin/io/flutter/plugins/inapppurchase/Messages.kt"
    },
    {
      "type": "modify",
      "old_id": "ae9ab0498948a5fc6de12f25539d2dfc2dcbbda2",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/android/src/main/kotlin/io/flutter/plugins/inapppurchase/Translator.kt",
      "new_id": "c793dee0e3a80cd0a458521ee49e6dd88e11ba2f",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/android/src/main/kotlin/io/flutter/plugins/inapppurchase/Translator.kt"
    },
    {
      "type": "modify",
      "old_id": "80176aa78bcdd3ff580f50c33cc5cf41d847187b",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/android/src/test/java/io/flutter/plugins/inapppurchase/MethodCallHandlerTest.java",
      "new_id": "ce785007756b7e64c606e01270990087ff0d2673",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/android/src/test/java/io/flutter/plugins/inapppurchase/MethodCallHandlerTest.java"
    },
    {
      "type": "modify",
      "old_id": "7f82b958400b746f8ee7e65ece7647dbcfba02bf",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/android/src/test/java/io/flutter/plugins/inapppurchase/TranslatorTest.java",
      "new_id": "51dda74894acab3ab10205ff07a8754e7c8ef9b4",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/android/src/test/java/io/flutter/plugins/inapppurchase/TranslatorTest.java"
    },
    {
      "type": "modify",
      "old_id": "b06a166dce111cf31cc2cec69faf6797a1c1c42f",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/example/integration_test/in_app_purchase_test.dart",
      "new_id": "e6be023edddb92af3a8e070d26fbe41e6c6c08c7",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/example/integration_test/in_app_purchase_test.dart"
    },
    {
      "type": "modify",
      "old_id": "b3df0cf619b9a1aa7edc10a3f24501d4bf4b9a8e",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/billing_client_wrapper.dart",
      "new_id": "c49e67e9496ac61ea75d57493675cae157b050c2",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/billing_client_wrapper.dart"
    },
    {
      "type": "modify",
      "old_id": "8f971b2cb40573ce164904e239233138573ba19c",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/billing_response_wrapper.dart",
      "new_id": "22b83f37fe80a55bdb943fcae01248287e94abf8",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/billing_response_wrapper.dart"
    },
    {
      "type": "modify",
      "old_id": "cf700162b237ac9a5c256360d3adebbafc43b517",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/product_details_wrapper.dart",
      "new_id": "ce824111312164dd6895ad42883e79bba1ebc812",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/lib/src/billing_client_wrappers/product_details_wrapper.dart"
    },
    {
      "type": "modify",
      "old_id": "6e100a89f40d025f8e9e2641141fa94bd649f3e1",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/lib/src/messages.g.dart",
      "new_id": "21889b84ebb05003b678ac68d09eb58fe8eb8a28",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/lib/src/messages.g.dart"
    },
    {
      "type": "modify",
      "old_id": "c3586df9c6a7a3f44f3385f2390862d648a8430c",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/lib/src/pigeon_converters.dart",
      "new_id": "64aa8fac4102fdd4b30391782869191a84e071fe",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/lib/src/pigeon_converters.dart"
    },
    {
      "type": "modify",
      "old_id": "cb81042b31b596fd4a77581ee51753c9569563b6",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/migration_guide.md",
      "new_id": "38dda3f945385089b88780c137134f821d290a15",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/migration_guide.md"
    },
    {
      "type": "modify",
      "old_id": "7aa6c9e84ceb71516fe162482dab5ad1f08e1230",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/pigeons/messages.dart",
      "new_id": "4ca51b4a6130da875c8ecdb5359b83013c7949de",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/pigeons/messages.dart"
    },
    {
      "type": "modify",
      "old_id": "5fa10948028388ab7a7bb47b0e12de18dc42463f",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/pubspec.yaml",
      "new_id": "cc769821eaeafc5f43d29b966d533a591cc06319",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/pubspec.yaml"
    },
    {
      "type": "modify",
      "old_id": "2959ea7047129dfabab077317d840806c3b4036f",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_wrapper_test.dart",
      "new_id": "b9099a02179cb7b90e058700ec824b4c5252cd8a",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_wrapper_test.dart"
    },
    {
      "type": "modify",
      "old_id": "a2277eaff969d4ccb78f253bc4f9150b7cf0f003",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/product_details_wrapper_test.dart",
      "new_id": "8023514abb74226bd1562e67a5e3a1343ccb9d58",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/product_details_wrapper_test.dart"
    },
    {
      "type": "modify",
      "old_id": "c29edc9e861e381d8e63d76cecb2f4f086a577a9",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_test.dart",
      "new_id": "e3b87aa20e3ebcfe9ba04cb53b840fafd641df4d",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/test/in_app_purchase_android_platform_test.dart"
    },
    {
      "type": "modify",
      "old_id": "b80ab357458076b423089d856d33a9071d04f5ce",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/in_app_purchase_android/test/test_conversion_utils.dart",
      "new_id": "2493939abc1968ceddc86c7239bd09c5c5510d85",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/in_app_purchase_android/test/test_conversion_utils.dart"
    }
  ]
}
