Repository navigation
Comparing changes
Open a pull request
base repository: flutter/packages
base: 10a178cb16d4
head repository: flutter/packages
compare: 618afba31419
- 11 commits
- 74 files changed
- 7 contributors
Commits on Oct 19, 2026
-
[webview_flutter_wkwebview] Require iOS 15 / macOS 12 and drop deprec…
…ated SecTrustGetCertificateAtIndex code path (#13294) 1. Pick up the iOS 15 minimum from the previously-updated Flutter 3.47. Remove old availability checks. This removes usage of `SecTrustGetCertificateAtIndex` which was deprecated in iOS 15. 2. Also hitting deprecation `'webView(forIdentifier:withPluginRegistry:)' is deprecated: Use webView(forIdentifier:withPluginRegistrar:) instead.` in `FWFWebViewFlutterWKWebViewExternalAPITests`. Mark the two tests as `@available(*, deprecated)` to suppress, and so the tests are still run since the deprecated API is public. This wasn't showing up in CI due to flutter/flutter#194517. Fixes flutter/flutter#194585 ## Pre-Review Checklist **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's review for guidance on which automated comments should be addressed. [^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.
Configuration menu - View commit details
-
Copy full SHA for 1c44dbf - Browse repository at this point
Copy the full SHA 1c44dbfView commit details -
[in_app_purchase_android] Update to Play Billing Library 9.1.0 (#12781)
Updates `com.android.billingclient:billing` from 8.0.0 to 9.1.0 in `in_app_purchase_android`. **Why the minSdk change is required.** Play Billing Library 9 declares `minSdkVersion 23` in its own AAR manifest (8.0.0 declared 21). With the plugin still on `minSdk = 21`, the manifest merger fails in any consuming app: ``` Manifest merger failed : uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library [com.android.billingclient:billing:9.1.0] ``` The library module itself still builds at 21, so this only surfaces in the app that consumes the plugin. Raising the plugin's `minSdk` to 23 makes the constraint explicit. Flutter's own `flutter.minSdkVersion` is already 24, so there is no practical impact on clients. The same floor is imposed a second time transitively, via `play-services-basement` 18.9.0. **No removed APIs are used.** Diffing the public API of `billing-8.0.0.aar` against `billing-9.1.0.aar` shows v9 removes exactly seven classes — `SkuDetails`, `SkuDetailsParams(.Builder)`, `SkuDetailsResponseListener`, `BillingClient.SkuType`, `QueryPurchaseHistoryParams(.Builder)` — plus `BillingFlowParams.Builder.setSkuDetailsList`. None appear anywhere under `android/src`. `PurchaseHistoryRecord`, which `Translator.kt` still imports, survives into 9.1.0. **Deprecation.** `SubscriptionUpdateParams.Builder.setSubscriptionReplacementMode` is deprecated as of 8.1.0 but remains functional in 9.x. Because the example builds the plugin with `-Xlint:all -Werror`, this breaks the build, so it is suppressed with an explanatory comment rather than migrated. Migrating to `SubscriptionProductReplacementParams` is not a drop-in change: it renumbered the replacement mode constants, which would alter the values carried by the Dart `ReplacementMode` enum. That belongs in its own breaking change. **Behaviour change reaching clients.** Under v9, a Play Store blocked by the system (for example OEM-customized kids mode) reports `BILLING_UNAVAILABLE` instead of `ERROR`. The plugin maps response codes 1:1 and branches on neither value, so no plugin code changes; but apps that branch on the code, or match on the stringified code in `IAPError.message`, are affected. This is called out in the CHANGELOG. Also corrects the documentation for `BillingResponse.billingUnavailable` (described the legacy "billing API version not supported" meaning) and `BillingResponse.serviceUnavailable` (described a network outage, which is what `networkError` means). This supersedes #12414, the Dependabot version-only bump, which does not include the required `minSdk` change and therefore does not build. ## Testing Automated: all existing Dart and native unit tests pass against 9.1.0, and the example app builds. Manual, against a real Play Console app running this branch with billing 9.1.0: - product queries (`queryProductDetails`) return the expected products, prices and offers - restoring past purchases works Not exercised manually: the subscription replacement path (`setSubscriptionReplacementMode`), which is the deprecated call suppressed in this PR, and consumable purchase/consumption. Flagging that explicitly since it is the least-covered part of this change — note also that the plugin's unit tests mock `BillingClient` entirely, so none of them exercise the real library at runtime. Fixes flutter/flutter#189974 ## Pre-Review Checklist **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's review for guidance on which automated comments should be addressed. **Test exemption:** this is a manual dependency roll, which Tree Hygiene lists as *not* automatically exempt, so I am requesting one explicitly. The plugin's behaviour is unchanged: response codes are passed through 1:1 (`Translator.kt` -> pigeon -> `pigeon_converters.dart`), and no branch in the plugin keys on `error` or `billingUnavailable`. The one user-visible change originates in Google's library, not in plugin code, and so cannot be exercised by a plugin test. Happy to add tests if a reviewer sees a seam I have missed. **On the deprecation suppression:** if the team would rather take the breaking `SubscriptionProductReplacementParams` migration now instead of suppressing, I am glad to do that here or in a follow-up — say which you prefer. [^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.
Configuration menu - View commit details
-
Copy full SHA for 8b1b579 - Browse repository at this point
Copy the full SHA 8b1b579View commit details -
[material_ui] Unskip web tests that pass on CanvasKit and Skwasm: col…
…or_scheme_test, elevated_button_test, filled_button_test, icon_button_test (#13327) Removes the `skip: isBrowser` from the text-contrast accessibility guideline tests in `color_scheme_test.dart`, `elevated_button_test.dart`, `filled_button_test.dart`, and `icon_button_test.dart`. These tests were skipped on the web because `meetsGuideline(textContrastGuideline)` used to throw there, but they now pass on Chrome under both CI web renderers (CanvasKit via dart2js and Skwasm via `--wasm`). Keeping them skipped hides web regressions. The rest of the diff is the formatter re-wrapping the `testWidgets` calls now that the `skip:` argument is gone. Part of flutter/flutter#44115 This is a test-only change, so no version or CHANGELOG update is needed. ## Pre-Review Checklist **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's review for guidance on which automated comments should be addressed. [^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.
Configuration menu - View commit details
-
Copy full SHA for e516d3a - Browse repository at this point
Copy the full SHA e516d3aView commit details -
[camera_avfoundation] Fix Swift analyzer issue _captureSessionQueue (#…
…13332) This wasn't showing up in CI due to flutter/flutter#194517. Fixes flutter/flutter#194766 ## Pre-Review Checklist **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's review for guidance on which automated comments should be addressed. [^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.
Configuration menu - View commit details
-
Copy full SHA for 6fcf4b7 - Browse repository at this point
Copy the full SHA 6fcf4b7View commit details -
[in_app_purchase_storekit] Suppress StoreKit 1 deprecation warnings (#…
…13301) StoreKit 1 is intentionally used as the fallback on iOS < 15 and macOS < 12. With `SWIFT_TREAT_WARNINGS_AS_ERRORS` enabled, the in_app_purchase_storekit_objc module is built with -Werror, so the iOS 18 deprecations of StoreKit1 in the public headers fail the build. Wrap the StoreKit 1 ObjC sources in -Wdeprecated-declarations suppression. Also wrap deprecated `Locale.currencyCode` in availability. This wasn't showing up in CI due to flutter/flutter#194517. Fixes flutter/flutter#170442 ## Pre-Review Checklist **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's review for guidance on which automated comments should be addressed. [^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.
Configuration menu - View commit details
-
Copy full SHA for dbb784d - Browse repository at this point
Copy the full SHA dbb784dView commit details -
[shared_preferences_android] Update androidx.datastore:datastore to 1…
….2.1 (#13334) Update androidx.datastore deps for 16kb page size Fixes: flutter/flutter#194699 ## Pre-Review Checklist
Configuration menu - View commit details
-
Copy full SHA for b7efc36 - Browse repository at this point
Copy the full SHA b7efc36View commit details -
[file_selector_macos] Drop deprecated allowedFileTypes code path (#13302
) Update to Flutter 3.47 which also picks up the macOS 12 minimum. Remove old availability checks. Delete the `forceLegacyTypes` codepath. This wasn't showing up in CI due to flutter/flutter#194517. Fixes flutter/flutter#194573 ## Pre-Review Checklist **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's review for guidance on which automated comments should be addressed. [^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.
Configuration menu - View commit details
-
Copy full SHA for f2c6798 - Browse repository at this point
Copy the full SHA f2c6798View commit details -
[vector_graphics] Don't report a handled loading error as unhandled (#…
…13315) `_VectorGraphicWidgetState._loadPicture` registers `result.whenComplete(...)` to clear `_pendingPictures`, and drops the future that `whenComplete` returns. That future completes with `result`'s error and nothing listens to it, so every asynchronous loading failure — an asset whose fetch fails on web when the network drops, for instance — is reported to the zone as unhandled, even though `_loadAssetBytes` catches the same error and `errorBuilder` shows it. Crash reporters record these as fatal. The dropped future is now `.ignore()`d. `result` itself is unchanged, so `_loadAssetBytes` still sees the error and shows `errorBuilder` as before. The existing `can handle errors from bytes loader` test didn't catch this because its loader throws synchronously, before `whenComplete` is reached. The new test uses a loader whose `loadBytes` is `async`; it fails without the fix with the `UnimplementedError` reported by the test framework. Fixes flutter/flutter#194705. ## Pre-Review Checklist [^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.
Configuration menu - View commit details
-
Copy full SHA for efedf51 - Browse repository at this point
Copy the full SHA efedf51View commit details -
[pigeon] fix instance manager test flake (#13303)
hopefully this solves the problem with this test.
Configuration menu - View commit details
-
Copy full SHA for 5d26c9b - Browse repository at this point
Copy the full SHA 5d26c9bView commit details -
[go_router_builder] Adopt shared analyzer helpers from source_helper:…
… ^1.4.0 (#13337) Fixes flutter/flutter#194817 Adopts shared analyzer helpers published in [`package:source_helper` `1.4.0`](google/source_helper.dart#78) to replace local copies in `go_router_builder`: - Bumps `source_helper` constraint to `^1.4.0` and `go_router_builder` to `4.5.2`. - Replaces local `ExecutableElement.qualifiedName`, `withoutNullability` / `_isNullableType`, and `isEnumConstant` filtering across `type_helpers.dart`, `route_config.dart`, and `go_router_generator.dart` with `ExecutableElement.qualifiedName`, `DartType.toStringNonNullable()`, and `DartType.enumConstants` from `package:source_helper/source_helper.dart`. Pure internal deduplication; generated code is unchanged (`tool/run_tests.dart` and `example/test/ensure_build_test.dart` pass with zero diffs). ## Pre-Review Checklist [^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.
Configuration menu - View commit details
-
Copy full SHA for ef6ad7b - Browse repository at this point
Copy the full SHA ef6ad7bView commit details
Commits on Oct 20, 2026
-
[pigeon] add version checking for objective_c and jni dependencies (#…
…13283) To avoid surprising build errors
Configuration menu - View commit details
-
Copy full SHA for 618afba - Browse repository at this point
Copy the full SHA 618afbaView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 10a178cb16d4...618afba31419