)]}'
{
  "log": [
    {
      "commit": "0346a5df836ef904c64fd50f1fe73695ec4d9e67",
      "tree": "06817b0c7de64f9c2ba88ac7131a2859fd02935b",
      "parents": [
        "f0a495f9fe1b163a457b6c83c910d1b2c83d3b90",
        "7ffe1f1bec020e285397345894872d4c8b4153bb"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Fri Jun 12 19:55:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 19:55:32 2026"
      },
      "message": "[cupertino_ui,material_ui] Import from flutter/flutter (#11888)\n\nA recreate of https://github.com/flutter/packages/pull/11669 by\nrecopying all flutter/flutter stuff from scratch, and cherry picking all\nof my subsequent commits.\n\nThis is a single super mega PR attempting to migrate all Material and\nCupertino code from flutter/flutter to material_ui and cupertino_ui.\n\n### How the PR was created\n\n```\ngit filter-repo --path packages/flutter/lib/src/material --path packages/flutter/test/material --path examples/api/lib/material --path examples/api/test/material --path packages/flutter/lib/src/cupertino --path packages/flutter/test/cupertino --path examples/api/lib/cupertino --path examples/api/test/cupertino --path packages/flutter/lib/fix_data/fix_material --path packages/flutter/test_fixes/material --path packages/flutter/lib/fix_data/fix_cupertino.yaml --path packages/flutter/test_fixes/cupertino \ncd ../packages\ngit remote add source-origin ../flutter\ngit fetch source-origin\ngit merge source-origin/master --allow-unrelated-histories\n```\n\nI then cherry picked everything I could from the previous PR\n(https://github.com/flutter/packages/pull/11669), skipping merge\ncommits.\n\n### What was included in the copy\n\n * The main source code (packages/flutter/lib/src/\u003cmaterial/cupertino\u003e).\n * The widget/unit tests (packages/flutter/test/\u003cmaterial/cupertino\u003e).\n * The examples (examples/api/lib/\u003cmaterial/cupertino\u003e).\n * The example tests (examples/api/test/\u003cmaterial/cupertino\u003e).\n * The dart fixes (packages/flutter/lib/fix_data).\n * The dart fix tests (packages/flutter/test_fixes).\n\n### TODOs\n\n * [x] Do exports for Material and Cupertino.\n* [x] Confirm the directory structure (current plan: lib/src/ for now,\nreorganize after 1.0.0).\n * [x] Try installing and using the packages locally.\n* [x] Try running the tests locally (works except for tests with cross\nimports).\n* [x] Try running the example tests locally (work after migrating\n`package:flutter_api_samples` import).\n * [x] Verify examples work.\n* [x] Verify that `git blame` appears the same in both repos on various\nfiles. (Yes, but the SHAs are different, as expected.)\n * [x] Add auxiliary files for dart fixes and tests.\n* [x] Port imports of material/cupertino in places like examples/test to\nuse the new packages.\n * [x] ~~Fix~~ Skip all test cross imports.\n* [x] Make sure the analyzer is working in the same exact way as it does\nin flutter/flutter. (https://github.com/flutter/packages/pull/11692)\n\n### Open questions\n\n * ~~Are we sure about the directory structure?~~\n   * Confirmed with @dkwingsmt and @QuncCccccc.\n* Anything else that should be ported along with this? If these commits\ntouch files that are not included in this PR, but that we later port in,\nthe commits will likely have different SHAs.\n* I\u0027m hoping we got it all at this point but if anyone notices anything\nlet me know.\n * ~~Do we like the examples setup?~~\n* Worked with @stuartmorgan-g and @chunhtai to get this to match the\nother packages in this repo.\n* Are we cool with skipping cross imports tests and fixing them later?\nThis approach should not fracture commits because the commits were made\nin flutter/flutter after the code was copied.\n   * Tests are in the temporarily_skipped_tests folder.\n\n### How to try using these packages\n\nAdd the local packages to your project:\n\n```\nflutter pub add cupertino_ui --path ../../packages/packages/cupertino_ui\nflutter pub add material_ui --path ../../packages/packages/material_ui  \n```\n\nThen import the packages instead of the libraries in the SDK:\n\n```diff\n- import \u0027package:flutter/material.dart\u0027;\n- import \u0027package:flutter/cupertino.dart\u0027;\n+ import \u0027package:material_ui/material_ui.dart\u0027;\n+ import \u0027package:cupertino_ui/cupertino_ui.dart\u0027;\n```\n\n### How to review this PR\n\n * Do read the PR description at the top, including Open Questions.\n* Don\u0027t read all 600k+ lines changed! Ignore the main source code and\ntest files. The only thing I changed in there is to change imports from\n`flutter/material.dart` to `material_ui/material_ui.dart` and the\nequivalent for Cupertino.\n* Do look closely at the file tree browser on the left side of the\n\"Files Changed\" tab, though. Check the directory structure of\nmaterial_ui and cupertino_ui and make sure it looks good to you.\n* Do take a look at the small config files like pubspecs,\nanalysis_options, etc.\n* See the examples and their tests now located in\nmaterial_ui/material_ui_examples and cupertino_ui/cupertino_ui_examples.\n* See the data driven fixes in lib/fix_data and their tests in\ntest_fixes.\n\nAnd let me know if there is any code that\u0027s not in this PR that you\nexpected to be. It will be best to get everything we can in this one PR\nrather than following up later in order to prevent fragmenting commits.\n\n### Resources\n\n * Closed PR where i tried to import everything but forgot dart fixes.\n    - https://github.com/flutter/packages/pull/11568\n* Closed PR where I tried and failed to import a single widget by\nindividually importing all of its transitive dependencies with `git\nfilter-repo` commands.\n   * https://github.com/flutter/packages/pull/11526\n* Closed PR where I tried to import just colors.dart (no dependencies),\nbut found that it would create different SHAs between it and this mega\nPR.\n   * https://github.com/flutter/packages/pull/11543\n* Closed PR where I tried to import all of Material, before realizing\nthat I would create different SHAs between that PR and a future\nCupertino PR.\n   * https://github.com/flutter/packages/pull/11549\n* Closed main big PR with most of the history:\nhttps://github.com/flutter/packages/pull/11669\n* Closed PR where I tried to cherry pick everything:\nhttps://github.com/flutter/packages/pull/11887"
    },
    {
      "commit": "f0a495f9fe1b163a457b6c83c910d1b2c83d3b90",
      "tree": "21889477fa7b5e5e31770bc15e89e76579a343ab",
      "parents": [
        "ce471953552edc525287e69409681e623562a265"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Fri Jun 12 18:09:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 18:09:51 2026"
      },
      "message": "Roll Flutter (stable) from 924134a44c18 to c9a6c484230f (8 revisions) (#11893)\n\nhttps://github.com/flutter/flutter/compare/924134a44c18...c9a6c484230f\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-stable-packages\nPlease CC louisehsu@google.com,stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Flutter (stable): https://github.com/flutter/flutter/issues/new/choose\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "ce471953552edc525287e69409681e623562a265",
      "tree": "64648f5003cb12b00ae20900c520325f0cf09f5a",
      "parents": [
        "a5de74028d5d28a72120642b23df530e263516ed"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Fri Jun 12 17:43:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 17:43:08 2026"
      },
      "message": "Roll Flutter from 8bdce07b84e1 to b7cb925419e6 (21 revisions) (#11892)\n\nhttps://github.com/flutter/flutter/compare/8bdce07b84e1...b7cb925419e6\n\n2026-06-12 engine-flutter-autoroll@skia.org Roll Skia from cadbde1ec4b7 to 8c89bf2b0ee3 (5 revisions) (flutter/flutter#187926)\n2026-06-12 engine-flutter-autoroll@skia.org Roll Packages from 1b56cdeeb733 to b78ad8357a8f (5 revisions) (flutter/flutter#187928)\n2026-06-12 engine-flutter-autoroll@skia.org Roll Dart SDK from f3441f2067ae to f6c31f4c3a63 (17 revisions) (flutter/flutter#187924)\n2026-06-12 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 2KosSR4ONUjIB7tP_... to A3eaUn9mQ_EkSNxVI... (flutter/flutter#187923)\n2026-06-12 engine-flutter-autoroll@skia.org Roll Skia from a2228b926c68 to cadbde1ec4b7 (9 revisions) (flutter/flutter#187921)\n2026-06-12 kustermann@google.com Remove dynamic module loading code in flutter web engine (flutter/flutter#187777)\n2026-06-12 matt.kosarek@canonical.com Remove EnableTransparentWindowBackground because it did nothing important and because Windows 10 does not support DWMWA_SYSTEMBACKDROP_TYPE (flutter/flutter#187848)\n2026-06-12 engine-flutter-autoroll@skia.org Roll Fuchsia Test Scripts from dQ4PjIJB5kZFU8Y32... to EmfiOMUge_nnNS33B... (flutter/flutter#187912)\n2026-06-12 mvincentong@gmail.com Clarify RichText selection docs (flutter/flutter#186844)\n2026-06-12 1063596+reidbaker@users.noreply.github.com Custom KGP task and migration to AGP api for geting kgp version (flutter/flutter#182788)\n2026-06-12 engine-flutter-autoroll@skia.org Roll Skia from f61acb31edf8 to a2228b926c68 (5 revisions) (flutter/flutter#187896)\n2026-06-12 bdero@google.com [Flutter GPU] Expose ASTC HDR texture formats (flutter/flutter#187715)\n2026-06-12 awolff@google.com Expand coverage of android_hardware_smoke_test. Add image, text, blend mode, and blur tests. (flutter/flutter#187600)\n2026-06-11 bdero@google.com [Flutter GPU] Add blit operations (flutter/flutter#187289)\n2026-06-11 bkonyi@google.com [flutter_tools] Fix version cache git fallback performance regression (flutter/flutter#187400)\n2026-06-11 nshahan@google.com Rewrite `-d web-server` hot reload/restart tests (flutter/flutter#187453)\n2026-06-11 bdero@google.com [Impeller] Allow sampling textures with manually-uploaded mip levels (flutter/flutter#187729)\n2026-06-11 154381524+flutteractionsbot@users.noreply.github.com Sync CHANGELOG.md from stable (flutter/flutter#187884)\n2026-06-11 47866232+chunhtai@users.noreply.github.com iOS a11y sets header trait based on heading level (flutter/flutter#186916)\n2026-06-11 engine-flutter-autoroll@skia.org Roll Skia from 9f02102df298 to f61acb31edf8 (19 revisions) (flutter/flutter#187869)\n2026-06-11 engine-flutter-autoroll@skia.org Roll ICU from ee5f27adc28b to d578f2e8b7bd (8 revisions) (flutter/flutter#187829)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC louisehsu@google.com,stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "7ffe1f1bec020e285397345894872d4c8b4153bb",
      "tree": "841b7eb490ee62298d3b2c791a9c13f3044678ae",
      "parents": [
        "7f7b8247d4cd6d834dda7a49b3b0d70249fd5f95"
      ],
      "author": {
        "name": "Justin McCandless",
        "email": "jmccandless@google.com",
        "time": "Thu May 07 18:24:45 2026"
      },
      "committer": {
        "name": "Justin McCandless",
        "email": "jmccandless@google.com",
        "time": "Fri Jun 12 17:37:27 2026"
      },
      "message": "[cupertino_ui,material_ui] Post-import adjustments for new package-based structure.\n\nA single squashed commit of all work after copying the Material and\nCupertino libraries, and related code, into material_ui and\ncupertino_ui. Puts the code in the right place and sets it all up\nproperly in the new repo so that it passes CI.\n\n * Copied code was moved to material_ui and cupertino_ui.\n * Imports of flutter/material.dart and flutter/cupertino.dart were\n   changed to material_ui/material_ui.dart and\n   cupertino_ui/cupertino_ui.dart, respectively.\n * Relative imports were updated to new paths or packages to work in\n   their new location.\n * The flutter_goldens package was referenced from\n   script/flutter_goldens instead of the flutter/flutter sdk version.\n * Dependencies referenced with `any` version were updated to the\n   caret version in flutter/flutter\u0027s lock file.\n * Examples were set up as their own packages in the `example` directory.\n * READMEs were updated to be consistent with the new setup.\n * Pubspecs were updated to work with the new setup. Set to Flutter\n   3.44.0, which is the stable version first containing the code freeze.\n * Dart data-driven fixes were set up in the fix_data directories along\n   with their tests in the test_fixes directories.\n * Doc imports were updated to work in the new setup.\n * One dart fix test was removed since it was already tested in\n   flutter/flutter\u0027s widgets library.\n * The drag_target dart fix was deleted and kept in flutter/flutter.\n * Other widgets-only dart fixes were deleted in cupertino_ui for the\n   same reason.\n * Tests with cross imports were skipped and moved to the\n   temporarily_skipped_tests directories, to be fixed before 1.0.0.\n * Formatting was adjusted to pass analysis here.\n * A usage of flutter_test\u0027s byTooltip finder was removed since it\n   contains a cross import of material.\n * License headers were updated to match this repository.\n * Batch release was disabled for now (until we\u0027re ready to release\n   1.0.0).\n * Exceptions were added for some pinned dependencies that came from\n   flutter/flutter.\n * Some fixes and skips were added to the example tests in order to be\n   able to run them on Chrome. It seems that these tests were never run\n   on web in flutter/flutter.\n"
    },
    {
      "commit": "a5de74028d5d28a72120642b23df530e263516ed",
      "tree": "3bfe94568c276f3bc587e997f33cc5a1f77a0c21",
      "parents": [
        "79d06effcfee29e7d78c87c0ea067722e68ca329"
      ],
      "author": {
        "name": "FingerArt",
        "email": "fingerart.me@gmail.com",
        "time": "Fri Jun 12 15:05:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 15:05:17 2026"
      },
      "message": "[in_app_purchase_android] Add showInAppMessages support (#107412) (#11214)\n\nAs mentioned in [#107412](https://github.com/flutter/flutter/issues/107412), a new native feature (showInAppMessages) has been added.\r\n\r\n```dart\r\nfinal androidPlatformAddition \u003d InAppPurchase.instance.getPlatformAddition\u003cInAppPurchaseAndroidPlatformAddition\u003e();\r\nfinal result \u003d await androidPlatformAddition.showInAppMessages();\r\n```\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."
    },
    {
      "commit": "79d06effcfee29e7d78c87c0ea067722e68ca329",
      "tree": "8c91358bac3d2a1a9d00e6960644ac5137d91617",
      "parents": [
        "b78ad8357a8f687bb8ec0c56887a51842753f5dc"
      ],
      "author": {
        "name": "Khaled",
        "email": "spkhalad@gmail.com",
        "time": "Fri Jun 12 14:59:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 14:59:23 2026"
      },
      "message": "[webview_flutter] Implement getCookies  (#10833)\n\nThis pr adds a way to retrive cookies from webview by using native platform api provided by `CookieManager` and `WKHTTPCookieStore`\r\n\r\nAddresses https://github.com/flutter/flutter/issues/27795\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."
    },
    {
      "commit": "b78ad8357a8f687bb8ec0c56887a51842753f5dc",
      "tree": "808493ab6b12590138d07089a2f97d83745888ab",
      "parents": [
        "2fb6a4764324834a8bc27f10cd9e368776bc120c"
      ],
      "author": {
        "name": "mackings",
        "email": "48776784+mackings@users.noreply.github.com",
        "time": "Fri Jun 12 14:36:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 14:36:56 2026"
      },
      "message": "[camera] Fix web facingMode capability handling (#11728)\n\n[camera_web] Fix facingMode capability handling\r\n\r\nFixes flutter/flutter#174985\r\n\r\nPrevents `availableCameras()` from throwing a TypeError when a browser returns an invalid `facingMode` capability. The plugin now treats invalid or missing facing mode capabilities as unavailable, allowing `availableCameras()` to continue and fall back to `CameraLensDirection.external`.\r\n\r\nTests:\r\n- `dart format packages/camera/camera_web/lib/src/camera_service.dart packages/camera/camera_web/example/integration_test/camera_service_test.dart`\r\n- `flutter analyze`\r\n- `flutter test`\r\n- `flutter drive --release --driver\u003dtest_driver/integration_test.dart --target\u003dintegration_test/camera_service_test.dart -d chrome`\r\n- `flutter drive --release --driver\u003dtest_driver/integration_test.dart --target\u003dintegration_test/camera_web_test.dart -d chrome`\r\n\r\n## Pre-Review Checklist"
    },
    {
      "commit": "2fb6a4764324834a8bc27f10cd9e368776bc120c",
      "tree": "1df91a7c7fb94a827af615dad1b438ea2687a52e",
      "parents": [
        "5401f8be7e3567d2596cfc0bd4cfa99dd1ef9d0a"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Thu Jun 11 19:22:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 19:22:21 2026"
      },
      "message": "Roll Flutter from c0a11291aa8c to 8bdce07b84e1 (13 revisions) (#11885)\n\nhttps://github.com/flutter/flutter/compare/c0a11291aa8c...8bdce07b84e1\n\n2026-06-11 bernaferrari2@gmail.com Make shape border lerp symmetric (flutter/flutter#187282)\n2026-06-11 matt.kosarek@canonical.com Sized to content for regular and dialog windows on win32 (flutter/flutter#186829)\n2026-06-11 jason-simmons@users.noreply.github.com Ensure that directory names are typed as strings in the CIPD package YAML file generated by merge_and_upload_debug_symbols.py (flutter/flutter#187813)\n2026-06-11 stuartmorgan@google.com Add core-packages to ecosystem triage (flutter/flutter#187796)\n2026-06-11 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 8azSyvz57mKcPqTwk... to 2KosSR4ONUjIB7tP_... (flutter/flutter#187842)\n2026-06-11 ishaquehassan@gmail.com Document moveStep direction on WidgetController.dragUntilVisible (flutter/flutter#186943)\n2026-06-11 ahmedsameha1@gmail.com Add more 0x0 size tests part 11 (flutter/flutter#186822)\n2026-06-10 kumarshivam72@gmail.com Fix ShapeDecoration.lerp crash when interpolating between gradient and color (flutter/flutter#187368)\n2026-06-10 codedoctor@linwood.dev Reland \"Add support for stylus buttons\" (flutter/flutter#187629)\n2026-06-10 tanyabouman@gmail.com Api docs: typo fix in Navigator (flutter/flutter#187572)\n2026-06-10 engine-flutter-autoroll@skia.org Roll Packages from bd297cf62338 to 1b56cdeeb733 (4 revisions) (flutter/flutter#187784)\n2026-06-10 116356835+AbdeMohlbi@users.noreply.github.com Improve docs on MediaQuery: highContrast, invertColors and disableAnimations (flutter/flutter#186614)\n2026-06-10 matt.boetger@gmail.com [Android] Test to verify AnnounceSemanticsEvent deprecation warning on API 36 (flutter/flutter#187754)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC louisehsu@google.com,stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "5401f8be7e3567d2596cfc0bd4cfa99dd1ef9d0a",
      "tree": "dc5bf866d8bc07424b3cb6b86ab7b001797b768e",
      "parents": [
        "cb70d4e1c3af17a34a52ad26bd7fe7099ad5a84c"
      ],
      "author": {
        "name": "Hannes",
        "email": "github.com@h-h.win",
        "time": "Thu Jun 11 19:18:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 19:18:01 2026"
      },
      "message": "[pigeon] make swift enum CaseIterable (#11702)\n\ninstead of generating\r\n```swift\r\nenum FooEnum: Int {\r\n  case foo \u003d 0\r\n  ...\r\n```\r\nwe will now generate\r\n```swift\r\nenum FooEnum: Int, CaseIterable {\r\n  case foo \u003d 0\r\n  ...\r\n```\r\nallowing consumers to use `FooEnum.allCases` to iterate over all possible enum values in swift platform code\r\n\r\nfixes https://github.com/flutter/flutter/issues/186447\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."
    },
    {
      "commit": "7f7b8247d4cd6d834dda7a49b3b0d70249fd5f95",
      "tree": "c568938254f79615ed1f1f113dfa7c7eed98beb4",
      "parents": [
        "cb70d4e1c3af17a34a52ad26bd7fe7099ad5a84c",
        "62f3d4d85cde1350efe3c15399c789edc1699037"
      ],
      "author": {
        "name": "Justin McCandless",
        "email": "jmccandless@google.com",
        "time": "Thu Jun 11 18:57:34 2026"
      },
      "committer": {
        "name": "Justin McCandless",
        "email": "jmccandless@google.com",
        "time": "Thu Jun 11 18:57:34 2026"
      },
      "message": "Merge remote-tracking branch \u0027source-origin/master\u0027 into decoupling-recopy\n\nCopy flutter/flutter material and cupertino code into flutter/packages\nwith history.\n"
    },
    {
      "commit": "cb70d4e1c3af17a34a52ad26bd7fe7099ad5a84c",
      "tree": "2cf05385ba14a288d4bffb69fdda810a68b24a1e",
      "parents": [
        "af3dde8c3fc3c99bc4955328732a4c3b2c0bdf0d"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Thu Jun 11 13:29:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 13:29:21 2026"
      },
      "message": "Roll Flutter from 66aaa9adb000 to c0a11291aa8c (17 revisions) (#11881)\n\nhttps://github.com/flutter/flutter/compare/66aaa9adb000...c0a11291aa8c\n\n2026-06-10 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#187740)\n2026-06-09 burak.karahan@mail.ru Remove Material import from view chrome style test (flutter/flutter#186994)\n2026-06-09 jason-simmons@users.noreply.github.com [Impeller] Remove unused DeviceHolderVK reference from CommandBufferVK (flutter/flutter#187705)\n2026-06-09 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from KNe93cf5wU4xG2d-m... to 8azSyvz57mKcPqTwk... (flutter/flutter#187745)\n2026-06-09 1063596+reidbaker@users.noreply.github.com Add android-agent agent.json and update reidbaker-agent skills (flutter/flutter#187746)\n2026-06-09 engine-flutter-autoroll@skia.org Roll Skia from aeed11c35004 to 9f02102df298 (9 revisions) (flutter/flutter#187744)\n2026-06-09 bdero@google.com [Impeller] Remove the texture coordinate system Y-flip workaround (flutter/flutter#187686)\n2026-06-09 41687333+rlueders@users.noreply.github.com [Impeller] Retry uncompressed when fixed-rate compression is exhausted (flutter/flutter#187586)\n2026-06-09 burak.karahan@mail.ru Remove Material import from implicit animation tests (flutter/flutter#186673)\n2026-06-09 engine-flutter-autoroll@skia.org Roll Packages from 13b49f41c464 to bd297cf62338 (4 revisions) (flutter/flutter#187739)\n2026-06-09 30870216+gaaclarke@users.noreply.github.com Updates dia_dll.py to support vs2026 (flutter/flutter#187714)\n2026-06-09 bdero@google.com [Flutter GPU] Allow attaching specific texture mip levels and slices for rendering (flutter/flutter#187685)\n2026-06-09 engine-flutter-autoroll@skia.org Roll Dart SDK from 39f1c44e294f to f3441f2067ae (1 revision) (flutter/flutter#187711)\n2026-06-09 bdero@google.com [flutter_tools] Hot reload Flutter GPU shader bundles (flutter/flutter#187654)\n2026-06-09 katelovett@google.com Update triage links (flutter/flutter#187709)\n2026-06-09 engine-flutter-autoroll@skia.org Roll Skia from 43f135735152 to aeed11c35004 (11 revisions) (flutter/flutter#187721)\n2026-06-09 jason-simmons@users.noreply.github.com Use workspace resolution for the meta package in dev/integration_tests/record_use_test_package (flutter/flutter#187733)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC louisehsu@google.com,stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "af3dde8c3fc3c99bc4955328732a4c3b2c0bdf0d",
      "tree": "b15f470d3bc44ff6f453237cfb3308334e67cd3e",
      "parents": [
        "1b56cdeeb733029126cd70c755187d6adf743421"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Wed Jun 10 22:26:24 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 22:26:24 2026"
      },
      "message": "[ci] Allow mustache_template deps (#11882)\n\n`mustache_template` was moved to flutter/core-packages, but I didn\u0027t realize that `google_fonts` uses it in its generator. Now that it\u0027s not in-repo, that requires an explicit allowance so that pubspec validation passes."
    },
    {
      "commit": "1b56cdeeb733029126cd70c755187d6adf743421",
      "tree": "8890f6273ffbe2eb0f4c48477f09773dc217282b",
      "parents": [
        "5571d4fbb5aa48388f6dbce3bd98f713a6f4e203"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Wed Jun 10 14:06:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 14:06:09 2026"
      },
      "message": "[shared_preferences] Switch to Kotlin Pigeon (#11661)\n\nReplaces the Java Pigeon generator with the Kotlin Pigeon generator, and updates API signatures and number handling for Kotlin/Java generator differences.\r\n\r\nPart of https://github.com/flutter/flutter/issues/158287\r\n\r\n## Pre-Review Checklist\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."
    },
    {
      "commit": "5571d4fbb5aa48388f6dbce3bd98f713a6f4e203",
      "tree": "9346e3381938f1cac0c9885afadbef0a06bafa75",
      "parents": [
        "522f0cae56bd8f394352fa13982bf01c954c0034"
      ],
      "author": {
        "name": "Tarrin Neal",
        "email": "tarrinneal@gmail.com",
        "time": "Wed Jun 10 13:56:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 13:56:16 2026"
      },
      "message": "[pigeon] updates toString and isNullish methods (#11625)\n\nprequel pr to https://github.com/flutter/packages/pull/11352 to land non NI changes to simplify pr."
    },
    {
      "commit": "522f0cae56bd8f394352fa13982bf01c954c0034",
      "tree": "17013c25fb0f6130edbedc0c90652f9ff4a577e1",
      "parents": [
        "5c26f625fc16b09d7d2256783ede8193ec25bdfd"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Wed Jun 10 12:44:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 12:44:00 2026"
      },
      "message": "[various] Remove moved packages (#11850)\n\nRemoves the following packages, and their repo-level metadata:\r\n- flutter_template_images\r\n- multicast_dns\r\n- mustache_template\r\n- standard_message_codec\r\n\r\nAll of these have been moved to flutter/core-packages in https://github.com/flutter/core-packages/pull/18\r\n\r\nFixes https://github.com/flutter/flutter/issues/185027"
    },
    {
      "commit": "5c26f625fc16b09d7d2256783ede8193ec25bdfd",
      "tree": "0fa84d14ef441909cf4df231f07153d9038c435e",
      "parents": [
        "bd297cf6233836099fe1413f9e954ad24ec6f5f0"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Wed Jun 10 11:46:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 11:46:32 2026"
      },
      "message": "Roll Flutter from 1bdf4af29076 to 66aaa9adb000 (30 revisions) (#11876)\n\nhttps://github.com/flutter/flutter/compare/1bdf4af29076...66aaa9adb000\n\n2026-06-08 katelovett@google.com Add docs on bumping Dart (flutter/flutter#187540)\n2026-06-08 rmacnak@google.com Rename Dart_LoadELF2 back to Dart_LoadELF. (flutter/flutter#187677)\n2026-06-08 1063596+reidbaker@users.noreply.github.com Add bare, reidbaker, and android agents (flutter/flutter#187588)\n2026-06-08 engine-flutter-autoroll@skia.org Roll Dart SDK from 73ec2745c49a to 39f1c44e294f (3 revisions) (flutter/flutter#187684)\n2026-06-08 bdero@google.com [Flutter GPU] Document the formats.dart enums (flutter/flutter#187628)\n2026-06-08 engine-flutter-autoroll@skia.org Roll Skia from 0ea3dae686e3 to 43f135735152 (3 revisions) (flutter/flutter#187683)\n2026-06-08 bdero@google.com [flutter_tools] Fix `flutter create` crash with SDK packages in bin/cache/pkg (flutter/flutter#187653)\n2026-06-08 engine-flutter-autoroll@skia.org Roll Packages from 61bdbb4ea03d to 13b49f41c464 (1 revision) (flutter/flutter#187678)\n2026-06-08 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from fAGotRbStYGA0idum... to KNe93cf5wU4xG2d-m... (flutter/flutter#187675)\n2026-06-08 engine-flutter-autoroll@skia.org Roll Skia from d17c51db4ede to 0ea3dae686e3 (1 revision) (flutter/flutter#187674)\n2026-06-08 engine-flutter-autoroll@skia.org Roll Skia from 9659a87f500f to d17c51db4ede (2 revisions) (flutter/flutter#187672)\n2026-06-08 engine-flutter-autoroll@skia.org Roll Skia from a56d5a4e1120 to 9659a87f500f (1 revision) (flutter/flutter#187667)\n2026-06-07 engine-flutter-autoroll@skia.org Roll Skia from 101faf7d9d1f to a56d5a4e1120 (1 revision) (flutter/flutter#187665)\n2026-06-07 burak.karahan@mail.ru Remove Material import from navigator replacement tests (flutter/flutter#186674)\n2026-06-07 burak.karahan@mail.ru Remove Material import from editable text cursor tests (flutter/flutter#186671)\n2026-06-07 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from eIU3QDrxaBPAMY9oi... to fAGotRbStYGA0idum... (flutter/flutter#187656)\n2026-06-07 engine-flutter-autoroll@skia.org Roll Skia from 294ac0cb2a7d to 101faf7d9d1f (1 revision) (flutter/flutter#187655)\n2026-06-06 engine-flutter-autoroll@skia.org Roll Skia from 91ee612cf552 to 294ac0cb2a7d (2 revisions) (flutter/flutter#187651)\n2026-06-06 engine-flutter-autoroll@skia.org Roll Skia from a47a9a2c8ae5 to 91ee612cf552 (4 revisions) (flutter/flutter#187642)\n2026-06-06 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from N_LiSaBSUsE2LDZgG... to eIU3QDrxaBPAMY9oi... (flutter/flutter#187641)\n2026-06-06 engine-flutter-autoroll@skia.org Roll Dart SDK from 05243f181c21 to 73ec2745c49a (2 revisions) (flutter/flutter#187640)\n2026-06-06 engine-flutter-autoroll@skia.org Roll Fuchsia GN SDK from oOAcFhkoE2_-Sy67z... to a87CbQSWEjkPUK1ZY... (flutter/flutter#187632)\n2026-06-06 engine-flutter-autoroll@skia.org Roll Dart SDK from 6a9a0efe66eb to 05243f181c21 (1 revision) (flutter/flutter#187634)\n2026-06-05 bdero@google.com [Flutter GPU] Add instanced draw support (flutter/flutter#187359)\n2026-06-05 30870216+gaaclarke@users.noreply.github.com clears out the android context after the frame on mediatek devices (flutter/flutter#187404)\n2026-06-05 kevmoo@users.noreply.github.com fix(tool): initialize asset isModified state on startup to prevent 2x hot restart slowdown (flutter/flutter#187488)\n2026-06-05 magder@google.com Remove reference to \u0027good first issue\u0027 in the docs (flutter/flutter#187615)\n2026-06-05 stuartmorgan@google.com Remove references to \u0027good first issue\u0027 (flutter/flutter#187617)\n2026-06-05 154381524+flutteractionsbot@users.noreply.github.com Revert \"Add support for stylus buttons\" (flutter/flutter#187581)\n2026-06-05 6655696+guidezpl@users.noreply.github.com Always run coverage upload step, even if a single test fails (flutter/flutter#187614)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC louisehsu@google.com,stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "bd297cf6233836099fe1413f9e954ad24ec6f5f0",
      "tree": "1d63f166da64298231cad565ed5222e8f7a6fa50",
      "parents": [
        "1ca9c97d3bb3ee768584031a79b949e0d7717037"
      ],
      "author": {
        "name": "jesswrd",
        "email": "jessiewong401@gmail.com",
        "time": "Tue Jun 09 16:56:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 16:56:44 2026"
      },
      "message": "[AGP 9] Migrate Remaining Plugin Example Apps to Built-in Kotlin (#11806)\n\nMigrate remaining example apps to built-in kotlin. Refactored validation checks for kotlin configs and added unit tests for example apps. Now both plugin modules and plugin example apps have checks for kotlin configs (includes built-in kotlin configs).\r\n\r\nFixes https://github.com/flutter/flutter/issues/187325\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."
    },
    {
      "commit": "1ca9c97d3bb3ee768584031a79b949e0d7717037",
      "tree": "ce84f6e706beeb3cc00d05a93306b7037381a43a",
      "parents": [
        "357bcdf0037e81e6687167b72771dcd5902703c7"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Tue Jun 09 12:46:06 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 12:46:06 2026"
      },
      "message": "[tool] Check for any Flutter SDK dependency (#11875)\n\nWhen determining whether a package requires `flutter`, look for any `sdk: flutter` dependency rather than just for the `flutter` dependency in particular. This will ensure that includes, for example, packages with a `flutter_test` dev dependency, but no `flutter` dependency."
    },
    {
      "commit": "357bcdf0037e81e6687167b72771dcd5902703c7",
      "tree": "b4540e834720e8a7a6f886db754618eb4e3eb6b6",
      "parents": [
        "b89a0d1fe8e7092306cbe58368cf8d96719dcab4"
      ],
      "author": {
        "name": "Hari07",
        "email": "22373191+Hari-07@users.noreply.github.com",
        "time": "Tue Jun 09 12:30:18 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 12:30:18 2026"
      },
      "message": "[google_maps_flutter_ios_sdk9] Fix title in google maps sdk9 readme (#11826)\n\nGoogle maps sdk9 readme had a typo where it said sdk10 instead in the title\r\n\r\n*List which issues are fixed by this PR. You must list at least one issue.*\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."
    },
    {
      "commit": "b89a0d1fe8e7092306cbe58368cf8d96719dcab4",
      "tree": "fb506c1653c3b3f3f90b0eeef63275da85b1f3f7",
      "parents": [
        "13b49f41c464998e81dd4f1fe817b1f99cd9ced0"
      ],
      "author": {
        "name": "Justin McCandless",
        "email": "jmccandless@google.com",
        "time": "Mon Jun 08 20:21:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 20:21:21 2026"
      },
      "message": "[Decoupling] Repo-wide changes (#11874)\n\nThis PR makes the repo-wide changes from https://github.com/flutter/packages/pull/11669 in a smaller PR."
    },
    {
      "commit": "13b49f41c464998e81dd4f1fe817b1f99cd9ced0",
      "tree": "e69ab2090b10afd21ee2c58efdcef39cbe2a5a1e",
      "parents": [
        "61bdbb4ea03da9381fadf640f1367a948244583a"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Fri Jun 05 18:59:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 18:59:11 2026"
      },
      "message": "Roll Flutter from 2ba5420a7049 to 1bdf4af29076 (43 revisions) (#11849)\n\nRoll Flutter from 2ba5420a7049 to 1bdf4af29076 (43 revisions)\n\nhttps://github.com/flutter/flutter/compare/2ba5420a7049...1bdf4af29076\n\n2026-06-05 engine-flutter-autoroll@skia.org Roll Packages from 03352b597da9 to 61bdbb4ea03d (5 revisions) (flutter/flutter#187612)\n2026-06-05 engine-flutter-autoroll@skia.org Roll Skia from 6e003d7f69c8 to a47a9a2c8ae5 (1 revision) (flutter/flutter#187610)\n2026-06-05 engine-flutter-autoroll@skia.org Roll Dart SDK from aad8be4ce307 to 6a9a0efe66eb (10 revisions) (flutter/flutter#187609)\n2026-06-05 engine-flutter-autoroll@skia.org Roll Skia from 494f1bf55f51 to 6e003d7f69c8 (2 revisions) (flutter/flutter#187607)\n2026-06-05 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from ZE1Jy9CtVVi-tjBAE... to N_LiSaBSUsE2LDZgG... (flutter/flutter#187597)\n2026-06-05 engine-flutter-autoroll@skia.org Roll Skia from 59556fdb8c33 to 494f1bf55f51 (2 revisions) (flutter/flutter#187596)\n2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from 8eb107046fd5 to 59556fdb8c33 (1 revision) (flutter/flutter#187590)\n2026-06-04 34871572+gmackall@users.noreply.github.com Remove `embedded_android_views_integration_test.dart` (flutter/flutter#187465)\n2026-06-04 burak.karahan@mail.ru Remove Material imports from rendering editable tests (flutter/flutter#186951)\n2026-06-04 jason-simmons@users.noreply.github.com [Impeller] Wait for the Vulkan device to become idle before destroying Vulkan objects in the AHBSwapchainImplVK destructor (flutter/flutter#187477)\n2026-06-04 chris@bracken.jp [iOS] Eliminate unnecessary redeclaration of FlutterDisplayLink (flutter/flutter#187557)\n2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from 928ded2a31af to 8eb107046fd5 (1 revision) (flutter/flutter#187583)\n2026-06-04 34871572+gmackall@users.noreply.github.com Log stdout in adb.dart (flutter/flutter#187531)\n2026-06-04 mvincentong@gmail.com Clarify RouterDelegate popRoute bubbling (flutter/flutter#186875)\n2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from 928ded2a31af to 8eb107046fd5 (1 revision) (flutter/flutter#187584)\n2026-06-04 1063596+reidbaker@users.noreply.github.com Add updating-android-sdk agent skill for rolling Android SDK in CIPD (flutter/flutter#187576)\n2026-06-04 Rusino@users.noreply.github.com Fixing alignment issue (flutter/flutter#187518)\n2026-06-04 brackenavaron@gmail.com [Material Cross Imports] Clean up Material Divider usages (flutter/flutter#187300)\n2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from cecc0e0da9ae to 928ded2a31af (6 revisions) (flutter/flutter#187574)\n2026-06-04 31859944+LongCatIsLooong@users.noreply.github.com Use swift demangle to verify internal Swift symbols (flutter/flutter#186835)\n2026-06-04 1063596+reidbaker@users.noreply.github.com Add android 37 platform and build tools to script for android cipd bundle creation (flutter/flutter#187571)\n2026-06-04 jason-simmons@users.noreply.github.com [Impeller] Increase the precision of the IPSampleWithTileModeOES coords parameter to match the input coordinates in the tiled_texture_fill_external shader (flutter/flutter#187545)\n2026-06-04 engine-flutter-autoroll@skia.org Roll Packages from b11504fd6d11 to 03352b597da9 (4 revisions) (flutter/flutter#187569)\n2026-06-04 iinozemtsev@google.com Roll Dart SDK to Dart 3.13 beta2 (flutter/flutter#187555)\n2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from 611e3f8ceb93 to cecc0e0da9ae (1 revision) (flutter/flutter#187562)\n2026-06-04 6655696+guidezpl@users.noreply.github.com Add step to bootstrap Flutter tool in coverage workflow (flutter/flutter#187199)\n2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from 4fdb859c8da7 to 611e3f8ceb93 (4 revisions) (flutter/flutter#187554)\n2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from 0020aae33f63 to 4fdb859c8da7 (2 revisions) (flutter/flutter#187552)\n2026-06-04 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from ap7MhLX4TdpWRrLS_... to ZE1Jy9CtVVi-tjBAE... (flutter/flutter#187550)\n2026-06-04 stuartmorgan@google.com Add vector_math to package issue template (flutter/flutter#187536)\n2026-06-04 jason-simmons@users.noreply.github.com Manual roll Dart SDK from d39850bf4a01 to 3b70b98fa7c0 (flutter/flutter#187519)\n2026-06-04 engine-flutter-autoroll@skia.org Roll Skia from d625048c853a to 0020aae33f63 (20 revisions) (flutter/flutter#187539)\n2026-06-04 smille2003@yandex.ru [Impeller][Windows] fix black screen on OpenGL fallback (flutter/flutter#187288)\n2026-06-04 97480502+b-luk@users.noreply.github.com Fix unintentionally joined path contours (flutter/flutter#187522)\n2026-06-03 matt.boetger@gmail.com fix: resolve issue #177379 by using lazy buildDirectory.dir() API in build.gradle template (flutter/flutter#187127)\n2026-06-03 34871572+gmackall@users.noreply.github.com Add a skill for flake analysis (flutter/flutter#187530)\n2026-06-03 30870216+gaaclarke@users.noreply.github.com adds linux impeller project flag (flutter/flutter#186982)\n2026-06-03 codedoctor@linwood.dev Add support for stylus buttons (flutter/flutter#183369)\n2026-06-03 46920873+gabrimatic@users.noreply.github.com Prevent Cubic transform from looping on out-of-range input (flutter/flutter#185875)\n2026-06-03 bdero@google.com [Impeller] Reland: Allow attaching specific texture mip levels and slices (flutter/flutter#187470)\n2026-06-03 kjlubick@users.noreply.github.com [skia] Update image deserial proc (flutter/flutter#185041)\n2026-06-03 112751483+shivanshu877@users.noreply.github.com docs: update Impeller advanced blend docs for framebuffer fetch (flutter/flutter#185457)\n2026-06-03 ahmedsameha1@gmail.com Handle#6537 fifth grouped tests (flutter/flutter#183720)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\n..."
    },
    {
      "commit": "61bdbb4ea03da9381fadf640f1367a948244583a",
      "tree": "21812b00457202a0bb05afeb6698c5ed8c16377f",
      "parents": [
        "c869a5d308e5958d46b60bda721c7e87fe52ed57"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Thu Jun 04 18:58:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 04 18:58:08 2026"
      },
      "message": "[tool] Use `flutter` for pub commands when examples use Flutter (#11830)\n\nhttps://github.com/flutter/packages/pull/11797 changed the repo tooling to use `dart` instead of `flutter` for more commands when the target package isn\u0027t a Flutter package, include `pub downgrade` and `pub get` in `analyze`. However, since `pub get` will resolve any example apps, if any of *them* use Flutter, `dart pub get` will fail unless `dart` is coming from the Flutter SDK. Normally this is fine since that\u0027s the expected setup, but for the head-head tests in dart-lang that run the repo analysis using the head version of Dart via the `--analysis-sdk` flag, using that version of Dart for pub commands breaks things.\r\n\r\nThis checks the example apps for Flutter dependencies to ensure that `dart pub` won\u0027t be used in cases where that can cause failures to resolve in the examples. This should be safe for core-packages, since core-packages should never use Flutter, even in examples."
    },
    {
      "commit": "c869a5d308e5958d46b60bda721c7e87fe52ed57",
      "tree": "6f98cff088438ac0da0ecd7b17c87d22be0e7fb2",
      "parents": [
        "2e006b29b1f08f9a5365a0e900041e7ee9398957"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Thu Jun 04 18:52:20 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 04 18:52:20 2026"
      },
      "message": "Sync analysis_options.yaml with flutter/flutter (#11823)\n\nPulls in changes from flutter/flutter\u0027s analysis_options.yaml since the last since at the end of 2023.\r\n- `invalid_runtime_check_with_js_interop_types` is disabled for now; see https://github.com/flutter/flutter/issues/187454\r\n- `dart fix --apply` has been run on all packages, which auto-fixed a lot of cases of `unnecessary_underscores`, and a handful of `avoid_final_parameters`"
    },
    {
      "commit": "2e006b29b1f08f9a5365a0e900041e7ee9398957",
      "tree": "48d8f6cc5582f4cee69f0dc171901d408b09187e",
      "parents": [
        "6a2d543d0ba36daefa517aefed0e667e1cba2409"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Thu Jun 04 17:41:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 04 17:41:08 2026"
      },
      "message": "[path_provider] Create temp dir in tests if needed (#11841)\n\nThe integration test step that validates that a file can be created in the returned directory assumes that the directory already exists, which isn\u0027t guaranteed to be true for getTemporaryDirectory, and this is now failing on macOS in CI. To avoid the failure, create the directory if necessary for the tests that run on macOS.\r\n\r\nHopefully fixes https://github.com/flutter/flutter/issues/187563\r\n\r\n## Pre-Review Checklist\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."
    },
    {
      "commit": "6a2d543d0ba36daefa517aefed0e667e1cba2409",
      "tree": "0dbea4a21072055449a9c3195bae58dffa1a3792",
      "parents": [
        "c584f3330185bab2115afddaabca27d658820ace"
      ],
      "author": {
        "name": "Jeff Ward",
        "email": "jeff.ward@datadoghq.com",
        "time": "Thu Jun 04 16:48:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 04 16:48:12 2026"
      },
      "message": "[webview] Add new method for cross plugin webview access (#11714)\n\nA new way of supporting cross plugin communication is coming in Flutter 3.44 which allows for access to plugin published values through the `FlutterPluginBinding` on Android and the `FlutterPluginRegistry` on iOS. Update native WebView access to support these new methods and deprecate the old methods.\r\n\r\nrefs: flutter/flutter#121527 flutter/flutter#182753\r\n\r\n## Pre-Review Checklist"
    },
    {
      "commit": "c584f3330185bab2115afddaabca27d658820ace",
      "tree": "b6f8db1ea508aeb19fcc77e8250dd0d14ae049ff",
      "parents": [
        "03352b597da93e92c851f02b8d3106890ed1bf2b"
      ],
      "author": {
        "name": "chunhtai",
        "email": "47866232+chunhtai@users.noreply.github.com",
        "time": "Thu Jun 04 16:40:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 04 16:40:51 2026"
      },
      "message": "[ci] Renames the override post-release label for batch release (#11835)\n\nThe repo check ci will be run when creating release pr against release branch. In that case, we want to ignore the check to guard changes to changelog.md and pubspec.\r\n\r\nThe solution will be reusing the `override: post-release-*` label. I decide to also rename the label to `override: skip-batch-release-repo-check-*` since the original name is not appropriate in this use case.\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."
    },
    {
      "commit": "03352b597da93e92c851f02b8d3106890ed1bf2b",
      "tree": "a7634432d0415ac082333a9db4aad7cec9894b50",
      "parents": [
        "8d4674ddb2879e1d47372f216104f9666cd76775"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Wed Jun 03 19:53:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 19:53:38 2026"
      },
      "message": "Manual roll Flutter from 701665b97818 to 2ba5420a7049 (22 revisions) (#11832)\n\nManual roll requested by tarrinneal@google.com\n\nhttps://github.com/flutter/flutter/compare/701665b97818...2ba5420a7049\n\n2026-06-03 engine-flutter-autoroll@skia.org Roll Packages from 818b310132fc to b11504fd6d11 (8 revisions) (flutter/flutter#187511)\n2026-06-03 mdebbar@google.com Add new file patterns for team-web labeler (flutter/flutter#187397)\n2026-06-03 engine-flutter-autoroll@skia.org Roll Skia from 279b17fe9fc1 to d625048c853a (12 revisions) (flutter/flutter#187483)\n2026-06-03 chris@bracken.jp [SwiftPM] Fix prefer_initializing_formals lint (flutter/flutter#187502)\n2026-06-03 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from q27k7_um1GvVrySZS... to ap7MhLX4TdpWRrLS_... (flutter/flutter#187478)\n2026-06-03 bkonyi@google.com [SwiftPM] Fix concurrent directory/file/symlink creation crashes (flutter/flutter#186953)\n2026-06-03 flar@google.com [Impeller] Fix positioning of text shadow masks (flutter/flutter#187460)\n2026-06-02 burak.karahan@mail.ru Remove Material imports from painting tests (flutter/flutter#186937)\n2026-06-02 awolff@google.com Add android_hardware_smoke_test integration tests (flutter/flutter#187130)\n2026-06-02 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#187471)\n2026-06-02 pq@users.noreply.github.com [flutter tool] propagate analytics env to sub-tools (flutter/flutter#186780)\n2026-06-02 30870216+gaaclarke@users.noreply.github.com Adds macro for fragment shaders to support flutter \u003c\u003d 3.44 (flutter/flutter#187316)\n2026-06-02 116356835+AbdeMohlbi@users.noreply.github.com Small clean-up in different java files under `engine/src/flutter/shell/platform/android/io/flutter/embedding/engine/` (flutter/flutter#186631)\n2026-06-02 1961493+harryterkelsen@users.noreply.github.com refactor(web): Unify ui.Path code for CanvasKit and Skwasm (flutter/flutter#187331)\n2026-06-02 engine-flutter-autoroll@skia.org Roll Packages from f5d50ca3c0fb to 818b310132fc (2 revisions) (flutter/flutter#187441)\n2026-06-02 faheemabbas766@gmail.com Allow selecting multi-digit device options (flutter/flutter#186184)\n2026-06-02 puneetkukreja98@gmail.com Improve error message for type mismatch in Navigator.pop and maybePop. (flutter/flutter#186571)\n2026-06-02 sanaullah.383@hotmail.com Remove semantics_tester import from material_button_test.dart (flutter/flutter#184807)\n2026-06-02 bkonyi@google.com [flutter_tools] Refactor hostPlatform to use Abi.current() (flutter/flutter#185369)\n2026-06-02 mvincentong@gmail.com Clean up avoid_type_to_string suppressions (flutter/flutter#186869)\n2026-06-02 202459002+Lukes-Lair@users.noreply.github.com Update Flutter documentation links in flutter_console.bat (flutter/flutter#187354)\n2026-06-02 154381524+flutteractionsbot@users.noreply.github.com Revert \"[Impeller] Allow attaching specific texture mip levels and slices\" (flutter/flutter#187445)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC stuartmorgan@google.com,tarrinneal@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "8d4674ddb2879e1d47372f216104f9666cd76775",
      "tree": "c3bf6b4a457057afc34b38a52eaf2590aab3e690",
      "parents": [
        "f18ac72884bc5e50459764421b07fbbb9f7b9389"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jun 03 17:14:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 17:14:25 2026"
      },
      "message": "[dependabot]: Bump com.google.android.gms:play-services-auth from 21.5.1 to 21.6.0 in /packages/google_sign_in/google_sign_in_android/android (#11819)\n\nBumps com.google.android.gms:play-services-auth from 21.5.1 to 21.6.0.\n\n\u003cdetails\u003e\n\u003csummary\u003eMost Recent Ignore Conditions Applied to This Pull Request\u003c/summary\u003e\n\n| Dependency Name | Ignore Conditions |\n| --- | --- |\n| com.google.android.gms:play-services-auth | [\u003e\u003d 21.2.0.a, \u003c 21.2.1] |\n\u003c/details\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dcom.google.android.gms:play-services-auth\u0026package-manager\u003dgradle\u0026previous-version\u003d21.5.1\u0026new-version\u003d21.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\u003c/details\u003e"
    },
    {
      "commit": "f18ac72884bc5e50459764421b07fbbb9f7b9389",
      "tree": "82f6583a0a819176deb6e8a52fe091238951e760",
      "parents": [
        "24a3833ea0c602a64154e99d4f1ee9b420c9c714"
      ],
      "author": {
        "name": "Gray Mackall",
        "email": "34871572+gmackall@users.noreply.github.com",
        "time": "Wed Jun 03 17:11:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 17:11:27 2026"
      },
      "message": "[in_app_purchase] Bump `in_app_purchase_android` version from `0.4.x` to `0.5.0` (#11828)\n\nBumps the version\r\n\r\nfixes https://github.com/flutter/flutter/issues/171523"
    },
    {
      "commit": "24a3833ea0c602a64154e99d4f1ee9b420c9c714",
      "tree": "73494b200fbb89393602bf458d1201216bd1c6a1",
      "parents": [
        "b11504fd6d112b5f8a5a2627cd1aeb2b2df8b7e1"
      ],
      "author": {
        "name": "Justin McCandless",
        "email": "jmccandless@google.com",
        "time": "Wed Jun 03 17:07:10 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 17:07:10 2026"
      },
      "message": "Updated analysis_options line width from flutter/flutter (#11692)\n\nIt seems like we\u0027re supposed to keep analysis_options.dart in sync with the one in flutter/flutter, but we haven\u0027t done it since 2023. This PR updates it. The most disruptive change appears to be the increased page width.\r\n\r\nI\u0027m inspired to update this after working on https://github.com/flutter/packages/pull/11669, which imports flutter/flutter code that is formatted according to the latest rules. Better to update the rules than to format the new code back to the old rules.\r\n\r\n*Update*: This only updates the line width. Other changes will follow."
    },
    {
      "commit": "b11504fd6d112b5f8a5a2627cd1aeb2b2df8b7e1",
      "tree": "fc5eb80bf349a67c8928e7f31923fe45e1591f46",
      "parents": [
        "4a6acc8be5bf0f46a396cb12459c4299b728cbe0"
      ],
      "author": {
        "name": "Flutter GitHub Bot",
        "email": "fluttergithubbot@gmail.com",
        "time": "Tue Jun 02 23:17:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 23:17:03 2026"
      },
      "message": "Sync release-go_router-17.3.0 to main (#11824)\n\nThis automated PR syncs the changes from the release branch release-go_router-17.3.0 back to the main branch."
    },
    {
      "commit": "4a6acc8be5bf0f46a396cb12459c4299b728cbe0",
      "tree": "3c2d016b2849bc69f43f0f0ad3535bdd5cea2f3f",
      "parents": [
        "a89dc58e2bc2d511a49249ed90039df7ebc71ec2"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jun 02 22:26:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 22:26:34 2026"
      },
      "message": "[dependabot]: Bump the test-dependencies group across 2 directories with 1 update (#11818)\n\nBumps the test-dependencies group with 1 update in the /packages/pigeon/platform_tests/test_plugin/android directory: [io.mockk:mockk](https://github.com/mockk/mockk).\nBumps the test-dependencies group with 1 update in the /packages/shared_preferences/shared_preferences_android/android directory: [io.mockk:mockk](https://github.com/mockk/mockk).\n\nUpdates `io.mockk:mockk` from 1.14.9 to 1.14.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href\u003d\"https://github.com/mockk/mockk/releases\"\u003eio.mockk:mockk\u0027s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.14.11\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: added SameInstanceMatcher to handle an issue with equals method when using EqMatcher along with a mock to an object by \u003ca href\u003d\"https://github.com/DOssaA\"\u003e\u003ccode\u003e@​DOssaA\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1508\"\u003emockk/mockk#1508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd scoped confirmVerified overloads for callables (KFunction and KProperty) by \u003ca href\u003d\"https://github.com/DOssaA\"\u003e\u003ccode\u003e@​DOssaA\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1513\"\u003emockk/mockk#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support MockKAnnotation.useDependencyOrder for JUnit 5 by \u003ca href\u003d\"https://github.com/ilia1243\"\u003e\u003ccode\u003e@​ilia1243\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1515\"\u003emockk/mockk#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow updating settings from code by \u003ca href\u003d\"https://github.com/Yentis\"\u003e\u003ccode\u003e@​Yentis\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1517\"\u003emockk/mockk#1517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd currentThread filter and excluded mocks to clearAllStubsFromMemory by \u003ca href\u003d\"https://github.com/evgenru\"\u003e\u003ccode\u003e@​evgenru\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1519\"\u003emockk/mockk#1519\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport new Kotlin annotation defaulting rule for \u003ca href\u003d\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e by \u003ca href\u003d\"https://github.com/ZzAve\"\u003e\u003ccode\u003e@​ZzAve\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1525\"\u003emockk/mockk#1525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(dsl): Add context parameters support module (\u003ca href\u003d\"https://redirect.github.com/mockk/mockk/issues/1431\"\u003e#1431\u003c/a\u003e) by \u003ca href\u003d\"https://github.com/faraz152\"\u003e\u003ccode\u003e@​faraz152\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1521\"\u003emockk/mockk#1521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve \u003ca href\u003d\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e dependency order for interface by \u003ca href\u003d\"https://github.com/neungs-2\"\u003e\u003ccode\u003e@​neungs-2\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1526\"\u003emockk/mockk#1526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve \u003ca href\u003d\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e dependency order for list injection by \u003ca href\u003d\"https://github.com/ilia1243\"\u003e\u003ccode\u003e@​ilia1243\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1527\"\u003emockk/mockk#1527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: extract native lib from APK when not on filesystem (AGP 8.5+) by \u003ca href\u003d\"https://github.com/snowykte0426\"\u003e\u003ccode\u003e@​snowykte0426\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1529\"\u003emockk/mockk#1529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: support OpenJ9 in JvmAutoHinter by \u003ca href\u003d\"https://github.com/hspedro\"\u003e\u003ccode\u003e@​hspedro\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1530\"\u003emockk/mockk#1530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/DOssaA\"\u003e\u003ccode\u003e@​DOssaA\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1508\"\u003emockk/mockk#1508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/ilia1243\"\u003e\u003ccode\u003e@​ilia1243\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1515\"\u003emockk/mockk#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/Yentis\"\u003e\u003ccode\u003e@​Yentis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1517\"\u003emockk/mockk#1517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/evgenru\"\u003e\u003ccode\u003e@​evgenru\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1519\"\u003emockk/mockk#1519\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/ZzAve\"\u003e\u003ccode\u003e@​ZzAve\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1525\"\u003emockk/mockk#1525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/faraz152\"\u003e\u003ccode\u003e@​faraz152\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1521\"\u003emockk/mockk#1521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/hspedro\"\u003e\u003ccode\u003e@​hspedro\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1530\"\u003emockk/mockk#1530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href\u003d\"https://github.com/mockk/mockk/compare/1.14.9...v1.14.11\"\u003ehttps://github.com/mockk/mockk/compare/1.14.9...v1.14.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/d5617fc6239195694b5474fd16b982d5491af71c\"\u003e\u003ccode\u003ed5617fc\u003c/code\u003e\u003c/a\u003e Version bump for v1.14.11\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/d4e6a00cce3b2a9d2d758784020c9922fbd49f1e\"\u003e\u003ccode\u003ed4e6a00\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/issues/1530\"\u003e#1530\u003c/a\u003e from hspedro/fix/726-openj9-classcast-message-format\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/98e91bc95301e78d63503a82d4786841e1836de0\"\u003e\u003ccode\u003e98e91bc\u003c/code\u003e\u003c/a\u003e fix: handle OpenJ9 CCE message in JvmAutoHinter\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/945f7461a42abccc657231bc25653b03b147fe7e\"\u003e\u003ccode\u003e945f746\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/issues/1529\"\u003e#1529\u003c/a\u003e from snowykte0426/fix/1273-jvmtiagent-agp85-native-l...\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/35cc0730f76504bd54cd4729ebf87357e0a82975\"\u003e\u003ccode\u003e35cc073\u003c/code\u003e\u003c/a\u003e [ 1273-jvmtiagent ] chore: stop tracking .claude/scheduled_tasks.lock\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/d6aa82ba119dc8888bb615a5f3dee7d9c8b4d4a8\"\u003e\u003ccode\u003ed6aa82b\u003c/code\u003e\u003c/a\u003e [ 1273-jvmtiagent ] chore: drop useLegacyPackaging workaround\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/85a907c70878746f214fc81ab4be3d3d78368101\"\u003e\u003ccode\u003e85a907c\u003c/code\u003e\u003c/a\u003e [ 1273-jvmtiagent ] chore: apply spotless formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/7d9aec1584449d800f7bb7d36e42f3aaea6a7e14\"\u003e\u003ccode\u003e7d9aec1\u003c/code\u003e\u003c/a\u003e [ 1273-jvmtiagent ] fix: extract .so when findLibrary returns a path with \u0027\u003d\u0027\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/1d5d30e736a90d015712fc888c27ef8670cc4b48\"\u003e\u003ccode\u003e1d5d30e\u003c/code\u003e\u003c/a\u003e [ 1273-jvmtiagent ] test: verify findLibrary resolves mockkjvmtiagent to a va...\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/21a6a3a9f608d838260fdd6fc0d0c560ccc92216\"\u003e\u003ccode\u003e21a6a3a\u003c/code\u003e\u003c/a\u003e [ 1273-jvmtiagent]fix: pass findLibrary path directly to attach JvmtiAgent\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href\u003d\"https://github.com/mockk/mockk/compare/1.14.9...v1.14.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.mockk:mockk` from 1.14.9 to 1.14.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href\u003d\"https://github.com/mockk/mockk/releases\"\u003eio.mockk:mockk\u0027s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.14.11\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: added SameInstanceMatcher to handle an issue with equals method when using EqMatcher along with a mock to an object by \u003ca href\u003d\"https://github.com/DOssaA\"\u003e\u003ccode\u003e@​DOssaA\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1508\"\u003emockk/mockk#1508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd scoped confirmVerified overloads for callables (KFunction and KProperty) by \u003ca href\u003d\"https://github.com/DOssaA\"\u003e\u003ccode\u003e@​DOssaA\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1513\"\u003emockk/mockk#1513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support MockKAnnotation.useDependencyOrder for JUnit 5 by \u003ca href\u003d\"https://github.com/ilia1243\"\u003e\u003ccode\u003e@​ilia1243\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1515\"\u003emockk/mockk#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow updating settings from code by \u003ca href\u003d\"https://github.com/Yentis\"\u003e\u003ccode\u003e@​Yentis\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1517\"\u003emockk/mockk#1517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd currentThread filter and excluded mocks to clearAllStubsFromMemory by \u003ca href\u003d\"https://github.com/evgenru\"\u003e\u003ccode\u003e@​evgenru\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1519\"\u003emockk/mockk#1519\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport new Kotlin annotation defaulting rule for \u003ca href\u003d\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e by \u003ca href\u003d\"https://github.com/ZzAve\"\u003e\u003ccode\u003e@​ZzAve\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1525\"\u003emockk/mockk#1525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(dsl): Add context parameters support module (\u003ca href\u003d\"https://redirect.github.com/mockk/mockk/issues/1431\"\u003e#1431\u003c/a\u003e) by \u003ca href\u003d\"https://github.com/faraz152\"\u003e\u003ccode\u003e@​faraz152\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1521\"\u003emockk/mockk#1521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve \u003ca href\u003d\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e dependency order for interface by \u003ca href\u003d\"https://github.com/neungs-2\"\u003e\u003ccode\u003e@​neungs-2\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1526\"\u003emockk/mockk#1526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve \u003ca href\u003d\"https://github.com/InjectMockKs\"\u003e\u003ccode\u003e@​InjectMockKs\u003c/code\u003e\u003c/a\u003e dependency order for list injection by \u003ca href\u003d\"https://github.com/ilia1243\"\u003e\u003ccode\u003e@​ilia1243\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1527\"\u003emockk/mockk#1527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: extract native lib from APK when not on filesystem (AGP 8.5+) by \u003ca href\u003d\"https://github.com/snowykte0426\"\u003e\u003ccode\u003e@​snowykte0426\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1529\"\u003emockk/mockk#1529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: support OpenJ9 in JvmAutoHinter by \u003ca href\u003d\"https://github.com/hspedro\"\u003e\u003ccode\u003e@​hspedro\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1530\"\u003emockk/mockk#1530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/DOssaA\"\u003e\u003ccode\u003e@​DOssaA\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1508\"\u003emockk/mockk#1508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/ilia1243\"\u003e\u003ccode\u003e@​ilia1243\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1515\"\u003emockk/mockk#1515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/Yentis\"\u003e\u003ccode\u003e@​Yentis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1517\"\u003emockk/mockk#1517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/evgenru\"\u003e\u003ccode\u003e@​evgenru\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1519\"\u003emockk/mockk#1519\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/ZzAve\"\u003e\u003ccode\u003e@​ZzAve\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1525\"\u003emockk/mockk#1525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/faraz152\"\u003e\u003ccode\u003e@​faraz152\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1521\"\u003emockk/mockk#1521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/hspedro\"\u003e\u003ccode\u003e@​hspedro\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/pull/1530\"\u003emockk/mockk#1530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href\u003d\"https://github.com/mockk/mockk/compare/1.14.9...v1.14.11\"\u003ehttps://github.com/mockk/mockk/compare/1.14.9...v1.14.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/d5617fc6239195694b5474fd16b982d5491af71c\"\u003e\u003ccode\u003ed5617fc\u003c/code\u003e\u003c/a\u003e Version bump for v1.14.11\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/d4e6a00cce3b2a9d2d758784020c9922fbd49f1e\"\u003e\u003ccode\u003ed4e6a00\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/issues/1530\"\u003e#1530\u003c/a\u003e from hspedro/fix/726-openj9-classcast-message-format\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/98e91bc95301e78d63503a82d4786841e1836de0\"\u003e\u003ccode\u003e98e91bc\u003c/code\u003e\u003c/a\u003e fix: handle OpenJ9 CCE message in JvmAutoHinter\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/945f7461a42abccc657231bc25653b03b147fe7e\"\u003e\u003ccode\u003e945f746\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href\u003d\"https://redirect.github.com/mockk/mockk/issues/1529\"\u003e#1529\u003c/a\u003e from snowykte0426/fix/1273-jvmtiagent-agp85-native-l...\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/35cc0730f76504bd54cd4729ebf87357e0a82975\"\u003e\u003ccode\u003e35cc073\u003c/code\u003e\u003c/a\u003e [ 1273-jvmtiagent ] chore: stop tracking .claude/scheduled_tasks.lock\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/d6aa82ba119dc8888bb615a5f3dee7d9c8b4d4a8\"\u003e\u003ccode\u003ed6aa82b\u003c/code\u003e\u003c/a\u003e [ 1273-jvmtiagent ] chore: drop useLegacyPackaging workaround\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/85a907c70878746f214fc81ab4be3d3d78368101\"\u003e\u003ccode\u003e85a907c\u003c/code\u003e\u003c/a\u003e [ 1273-jvmtiagent ] chore: apply spotless formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/7d9aec1584449d800f7bb7d36e42f3aaea6a7e14\"\u003e\u003ccode\u003e7d9aec1\u003c/code\u003e\u003c/a\u003e [ 1273-jvmtiagent ] fix: extract .so when findLibrary returns a path with \u0027\u003d\u0027\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/1d5d30e736a90d015712fc888c27ef8670cc4b48\"\u003e\u003ccode\u003e1d5d30e\u003c/code\u003e\u003c/a\u003e [ 1273-jvmtiagent ] test: verify findLibrary resolves mockkjvmtiagent to a va...\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mockk/mockk/commit/21a6a3a9f608d838260fdd6fc0d0c560ccc92216\"\u003e\u003ccode\u003e21a6a3a\u003c/code\u003e\u003c/a\u003e [ 1273-jvmtiagent]fix: pass findLibrary path directly to attach JvmtiAgent\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href\u003d\"https://github.com/mockk/mockk/compare/1.14.9...v1.14.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency\u0027s major version (unless you unignore this specific dependency\u0027s major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency\u0027s minor version (unless you unignore this specific dependency\u0027s minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\u003c/details\u003e"
    },
    {
      "commit": "a89dc58e2bc2d511a49249ed90039df7ebc71ec2",
      "tree": "7d3c0623623d3120809818faa6bec0f963722b40",
      "parents": [
        "e275330e8ec34967212283c9dfd7681bdc7752d9"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jun 02 21:54:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 21:54:51 2026"
      },
      "message": "[dependabot]: Bump the androidx group across 10 directories with 1 update (#11511)\n\nBumps the androidx group with 1 update in the /packages/camera/camera_android/android directory: androidx.annotation:annotation.\nBumps the androidx group with 1 update in the /packages/file_selector/file_selector_android/android directory: androidx.annotation:annotation.\nBumps the androidx group with 1 update in the /packages/flutter_plugin_android_lifecycle/android directory: androidx.annotation:annotation.\nBumps the androidx group with 1 update in the /packages/google_maps_flutter/google_maps_flutter_android/android directory: androidx.annotation:annotation.\nBumps the androidx group with 1 update in the /packages/image_picker/image_picker_android/android directory: androidx.annotation:annotation.\nBumps the androidx group with 1 update in the /packages/in_app_purchase/in_app_purchase_android/android directory: androidx.annotation:annotation.\nBumps the androidx group with 1 update in the /packages/interactive_media_ads/android directory: androidx.annotation:annotation.\nBumps the androidx group with 1 update in the /packages/quick_actions/quick_actions_android/android directory: androidx.annotation:annotation.\nBumps the androidx group with 1 update in the /packages/url_launcher/url_launcher_android/android directory: androidx.annotation:annotation.\nBumps the androidx group with 1 update in the /packages/webview_flutter/webview_flutter_android/android directory: androidx.annotation:annotation.\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\nUpdates `androidx.annotation:annotation` from 1.9.1 to 1.10.0\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days."
    },
    {
      "commit": "e275330e8ec34967212283c9dfd7681bdc7752d9",
      "tree": "c1605eb95e510ba442fdd408adde6ae576443474",
      "parents": [
        "5774003d643d65e93207044769bf08f93ccf32dc"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jun 02 19:49:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 19:49:19 2026"
      },
      "message": "[dependabot]: Bump org.json:json from 20251224 to 20260522 in /packages/in_app_purchase/in_app_purchase/example/android/app (#11775)\n\nBumps [org.json:json](https://github.com/douglascrockford/JSON-java) from 20251224 to 20260522.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href\u003d\"https://github.com/douglascrockford/JSON-java/releases\"\u003eorg.json:json\u0027s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e20260522\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ePull Request\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1054\"\u003e#1054\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epre-release-20260522 prep for next release\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1053\"\u003e#1053\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate security.md with key data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1046\"\u003e#1046\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eValidate XML numeric character references before string construction\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1044\"\u003e#1044\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIgnore static fields in JSONObject.fromJson()\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1041\"\u003e#1041\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eEnhance README with license clarification\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1039\"\u003e#1039\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eFix XML forceList parsing issue\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1038\"\u003e#1038\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eFix input validation in XMLTokener.unescapeEntity()\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1037\"\u003e#1037\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eFix ClassCastException in JSONML.toJSONArray and toJSONObject\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1029\"\u003e#1029\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd badge to external hosted javadoc\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1028\"\u003e#1028\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRefactoring: Fix sonarqube reliability issues\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1027\"\u003e#1027\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSave/restore default locale in test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href\u003d\"https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md\"\u003eorg.json:json\u0027s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e20260522    Publish key data, recent commits for minor fixes\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/968a592260c49151dd0bf79903a7986da64c63cd\"\u003e\u003ccode\u003e968a592\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1054\"\u003e#1054\u003c/a\u003e from stleary/pre-release-20260522\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/3665aad82b41961d21901dac485a571fc1ea0828\"\u003e\u003ccode\u003e3665aad\u003c/code\u003e\u003c/a\u003e pre-release-20260522 doc and build updates for release\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/d749ee16abd084ae94785c7afe954de25d921a5d\"\u003e\u003ccode\u003ed749ee1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1053\"\u003e#1053\u003c/a\u003e from stleary/update-security-md-with-key\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/649598338f5c7ed3bb8891e1d74ef589f9d0617e\"\u003e\u003ccode\u003e6495983\u003c/code\u003e\u003c/a\u003e update-security-md-with-key new security.md file, also fixed 1000 level jsona...\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/896ce0fb74b529ceb8618cb64cf63dec67a56e61\"\u003e\u003ccode\u003e896ce0f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1046\"\u003e#1046\u003c/a\u003e from yuki-matsuhashi/master\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/187706978099ef7f201ce04fb8ffd507a7d8b405\"\u003e\u003ccode\u003e1877069\u003c/code\u003e\u003c/a\u003e Validate XML numeric character references before string construction\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/b959027aa2e0f2757ffa53f3941e729590df90ea\"\u003e\u003ccode\u003eb959027\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1044\"\u003e#1044\u003c/a\u003e from yuki-matsuhashi/1043-ignore-static\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/039f331d7d9baac6c5568fd4087be96f28eedc65\"\u003e\u003ccode\u003e039f331\u003c/code\u003e\u003c/a\u003e Add comment for empty test constructor\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/94e340002b6cee528e0dc153fc9eca276286b571\"\u003e\u003ccode\u003e94e3400\u003c/code\u003e\u003c/a\u003e Ignore static fields in JSONObject.fromJson()\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/6230128f59a680ae2cedb845d6d9962fd1c40eb5\"\u003e\u003ccode\u003e6230128\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1041\"\u003e#1041\u003c/a\u003e from stleary/license-clarification\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href\u003d\"https://github.com/douglascrockford/JSON-java/compare/20251224...20260522\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e"
    },
    {
      "commit": "5774003d643d65e93207044769bf08f93ccf32dc",
      "tree": "c099332a961893595ee2c7e1025abdc83ccd6511",
      "parents": [
        "783b25ca8b2d48de589318d977ff8e24150b38bd"
      ],
      "author": {
        "name": "Ellet",
        "email": "echo.ellet@gmail.com",
        "time": "Tue Jun 02 19:11:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 19:11:59 2026"
      },
      "message": "[platform] Update README link to the new repo (#11811)\n\nThe current link is outdated, and the repo has been archived. This updates the reference to the new URL.\r\n\r\n## Pre-Review Checklist\r\n\r\n  - `\"only affect .md files.\"`\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."
    },
    {
      "commit": "783b25ca8b2d48de589318d977ff8e24150b38bd",
      "tree": "c5c76a3724be78894600bb63b320d28670d99b13",
      "parents": [
        "51a12b58240a6389542969c4ef3944aa7ba0ee97"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Tue Jun 02 18:27:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 18:27:35 2026"
      },
      "message": "Roll Flutter from 54e199ac49e0 to 701665b97818 (26 revisions) (#11822)\n\nhttps://github.com/flutter/flutter/compare/54e199ac49e0...701665b97818\n\n2026-06-02 engine-flutter-autoroll@skia.org Roll Skia from c97e939eb5c9 to 279b17fe9fc1 (16 revisions) (flutter/flutter#187425)\n2026-06-02 bdero@google.com [Flutter GPU] Add block-compressed texture format support (BC, ETC2, ASTC LDR) (flutter/flutter#187281)\n2026-06-02 bdero@google.com [Impeller] Allow attaching specific texture mip levels and slices (flutter/flutter#187066)\n2026-06-02 bdero@google.com [Impeller] Fix GLES command submission status before context is current (flutter/flutter#187293)\n2026-06-02 engine-flutter-autoroll@skia.org Roll Dart SDK from 3cdc25e8ffe9 to d39850bf4a01 (9 revisions) (flutter/flutter#187409)\n2026-06-01 jason-simmons@users.noreply.github.com [Impeller] Use glVertexAttribDivisor on GLES3 and glVertexAttribDivisorEXT on GLES2 with the extension (flutter/flutter#187313)\n2026-06-01 matt.boetger@gmail.com [Android] Add Javadoc documentation to TextInputChannel (flutter/flutter#186018)\n2026-06-01 mvincentong@gmail.com Read FLTEnableWideGamut from Dart bundle (flutter/flutter#186509)\n2026-06-01 matt.boetger@gmail.com [flutter_tools] Remove obsolete AndroidX console warning during Gradle builds (flutter/flutter#186077)\n2026-06-01 kjlubick@users.noreply.github.com [skia] Update gni file list name hsw -\u003e ml3 (flutter/flutter#184892)\n2026-06-01 zhongliu88889@gmail.com [web] Always sync slider input attrs regardless of gesture mode (flutter/flutter#187217)\n2026-06-01 zhongliu88889@gmail.com [flutter_driver] Don\u0027t throw when stderr is unavailable on web (flutter/flutter#187190)\n2026-06-01 116356835+AbdeMohlbi@users.noreply.github.com Remove unused code in `FlutterPluginUtils.kt` (flutter/flutter#187012)\n2026-06-01 taak140@gmail.com [flutter_tools] Fix `flutter drive --chrome-binary` being ignored on web (flutter/flutter#185481)\n2026-06-01 davidmartos96@gmail.com Eager failure when building and no XCode build settings (flutter/flutter#184726)\n2026-06-01 goung123@gmail.com Fix Windows Korean IME caret position during composition (flutter/flutter#186353)\n2026-06-01 okorohelijah@google.com iOS: update provisioning profile for 2026-2027 cert (flutter/flutter#187280)\n2026-06-01 154381524+flutteractionsbot@users.noreply.github.com Sync CHANGELOG.md from stable (flutter/flutter#187380)\n2026-06-01 jason-simmons@users.noreply.github.com Reland \"Move dart-lang/ai to a top level third party dependency in engine (#187268)\" (flutter/flutter#187378)\n2026-06-01 stuartmorgan@google.com Add vector_math to Framework triage (flutter/flutter#187389)\n2026-06-01 engine-flutter-autoroll@skia.org Roll Packages from e930ced66e87 to f5d50ca3c0fb (4 revisions) (flutter/flutter#187381)\n2026-06-01 mr_nadeem_iqbal@yahoo.com [flutter_tools] Reject archive entries that escape into a sibling directory by name prefix (#185794) (flutter/flutter#186647)\n2026-06-01 bkonyi@google.com [flutter_tools] Fix widget_preview unawaited async write race condition (flutter/flutter#187177)\n2026-06-01 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#187375)\n2026-06-01 engine-flutter-autoroll@skia.org Roll Skia from 0aee4675e0ad to c97e939eb5c9 (7 revisions) (flutter/flutter#187371)\n2026-06-01 mr_nadeem_iqbal@yahoo.com docs: Stack.clipBehavior \u003d Clip.none does not extend hit testing (#160787) (flutter/flutter#186643)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC stuartmorgan@google.com,tarrinneal@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "51a12b58240a6389542969c4ef3944aa7ba0ee97",
      "tree": "5c1cd23214acc75fa35b22d822112ee4eac0fd14",
      "parents": [
        "6441245821d9a55bfd8ee7de5225e4e08a40a622"
      ],
      "author": {
        "name": "LouiseHsu",
        "email": "louisehsu@google.com",
        "time": "Tue Jun 02 18:21:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 18:21:34 2026"
      },
      "message": "Clarify documentation gaps,  update examples, add warning to ensure `completePurchase` is being called (#11601)\n\nFixes https://github.com/flutter/flutter/issues/186377\r\nThis PR updates the README.md with lots of examples, and also adds a runtime warning when finish() hasnt been called.\r\n\r\n## Pre-Review Checklist\r\n\r\n- [] I followed [the version and CHANGELOG instructions], using [semantic versioning] and the [repository CHANGELOG style], or I have commented below to indicate which documented exception this PR falls under[^1]."
    },
    {
      "commit": "6441245821d9a55bfd8ee7de5225e4e08a40a622",
      "tree": "446594eccaaa373940554767858d2989fb3384d5",
      "parents": [
        "818b310132fc1ef0e0f641d1ddde15158b08cc63"
      ],
      "author": {
        "name": "jesswrd",
        "email": "jessiewong401@gmail.com",
        "time": "Tue Jun 02 16:57:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 16:57:08 2026"
      },
      "message": "[AGP 9] Migrate plugins to support AGP 9 (#11802)\n\nContinuation of this PR: https://github.com/flutter/packages/pull/11798\r\n\r\nMigrates the rest of the plugins (and their respective example apps) that apply KGP to Built-in kotlin. Added validation for the plugin\u0027s `build.gradle(.kts)`\r\n\r\nWill migrate all example apps to built-in kotlin and add validation for example apps [here](https://github.com/flutter/flutter/issues/187325).\r\n\r\nFixes https://github.com/flutter/flutter/issues/187261\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."
    },
    {
      "commit": "818b310132fc1ef0e0f641d1ddde15158b08cc63",
      "tree": "8fa6a22616a0eb448fab6aa0e94a315db217dfce",
      "parents": [
        "66cfb4acb8e6891f52097912bac210a781b38498"
      ],
      "author": {
        "name": "August",
        "email": "git@reb0.org",
        "time": "Mon Jun 01 20:19:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 20:19:58 2026"
      },
      "message": "[file_selector_web] feat: Support XFile.mimeType (#11703)\n\nSupport providing mime type to XFile blob on Web file_selector.\r\n\r\nThis is useful (as in other contexts of web) to provide the mimeType to e.g. a media player to support blob urls.\r\n\r\nRelated: flutter/flutter#93379\r\n\r\n*List which issues are fixed by this PR. You must list at least one issue.*\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."
    },
    {
      "commit": "66cfb4acb8e6891f52097912bac210a781b38498",
      "tree": "641d1b0693c86e4836e978199dcdb4aba3b7ca5a",
      "parents": [
        "f5d50ca3c0fb624340db07f5ccf2985967edcc8e"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Mon Jun 01 16:48:10 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 16:48:10 2026"
      },
      "message": "Roll Flutter (stable) from 559ffa3f75e7 to 924134a44c18 (4 revisions) (#11817)\n\nhttps://github.com/flutter/flutter/compare/559ffa3f75e7...924134a44c18\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-stable-packages\nPlease CC stuartmorgan@google.com,tarrinneal@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Flutter (stable): https://github.com/flutter/flutter/issues/new/choose\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "f5d50ca3c0fb624340db07f5ccf2985967edcc8e",
      "tree": "a1db759f88bca6039c09d71e7500a1ffe8a8357a",
      "parents": [
        "62468008f7589ae1625923c624f46c3975d0a959"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Mon Jun 01 15:53:28 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 15:53:28 2026"
      },
      "message": "Roll Flutter from b05a9d748865 to 54e199ac49e0 (17 revisions) (#11816)\n\nhttps://github.com/flutter/flutter/compare/b05a9d748865...54e199ac49e0\n\n2026-06-01 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from jMR_VXQi07kAk8vbR... to q27k7_um1GvVrySZS... (flutter/flutter#187338)\n2026-06-01 rmacnak@google.com Remove use of deprecated API related to removal of the VM isolate. (flutter/flutter#187013)\n2026-06-01 116356835+AbdeMohlbi@users.noreply.github.com Improve `dependOnInheritedWidgetOfExactType` documentation to explain why it is bad to use it in initState (flutter/flutter#186216)\n2026-06-01 chris@bracken.jp Revert \"Move dart-lang/ai to a top level third party dependency in en… (flutter/flutter#187370)\n2026-05-30 jakemac@google.com Move dart-lang/ai to a top level third party dependency in engine (flutter/flutter#187268)\n2026-05-30 evanwall@buffalo.edu add sdf golden variants for OpenGL (flutter/flutter#187246)\n2026-05-30 engine-flutter-autoroll@skia.org Roll Skia from dc01525ac468 to 0aee4675e0ad (6 revisions) (flutter/flutter#187334)\n2026-05-29 engine-flutter-autoroll@skia.org Roll Skia from c480ba2eb2eb to dc01525ac468 (4 revisions) (flutter/flutter#187317)\n2026-05-29 jason-simmons@users.noreply.github.com Remove the Y coordinate flip workaround in the Material stretch effect shader now that it is no longer required by the Impeller GLES back end (flutter/flutter#187247)\n2026-05-29 bkonyi@google.com [flutter_tools, devicelab] Fix filesystem safety guard for symlinked temp directories (flutter/flutter#187320)\n2026-05-29 30870216+gaaclarke@users.noreply.github.com Brings linux tests out of bringup. (flutter/flutter#187271)\n2026-05-29 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#187321)\n2026-05-29 engine-flutter-autoroll@skia.org Roll Fuchsia GN SDK from SEfYx3xgueX3aFAY3... to oOAcFhkoE2_-Sy67z... (flutter/flutter#187310)\n2026-05-29 36861262+QuncCccccc@users.noreply.github.com Fix mismatch between hit-test tree and traversal tree (flutter/flutter#186826)\n2026-05-29 jason-simmons@users.noreply.github.com [Impeller] Ensure that the TextureGLES destructor cleans up all objects that it holds including the sync fence (flutter/flutter#187216)\n2026-05-29 engine-flutter-autoroll@skia.org Roll Packages from 10cbdc57b0ce to e930ced66e87 (3 revisions) (flutter/flutter#187306)\n2026-05-29 engine-flutter-autoroll@skia.org Roll Skia from d9d6b440c4e7 to c480ba2eb2eb (1 revision) (flutter/flutter#187305)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC stuartmorgan@google.com,tarrinneal@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "62468008f7589ae1625923c624f46c3975d0a959",
      "tree": "48573eee8890a825374f9f677902db6f6a4425f3",
      "parents": [
        "04006843f6571725befa2e9c737da1304e35d833"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Fri May 29 17:57:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 17:57:29 2026"
      },
      "message": "[vector_graphics_compiler] Support `xml` 7 (#11804)\n\nUpdates the max allowed version of the `xml` dependency to 7.0.1. None of the breaking changes affected this package, so no code changes are necessary, and `xml` 6.x are still allowed as well.\r\n\r\nThis was a huge code diff, but I did look over all of the production code diffs for anything that looked unexpected/problematic, per the documented audit policy for updating this dependency.\r\n\r\nFixes https://github.com/flutter/flutter/issues/187303\r\n\r\n## Pre-Review Checklist\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."
    },
    {
      "commit": "04006843f6571725befa2e9c737da1304e35d833",
      "tree": "a0d241bde33d54ea36b45c74abda27908bee0484",
      "parents": [
        "0bceb6429cb5f46cafee519f51e924c1b53d3199"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Fri May 29 17:52:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 17:52:55 2026"
      },
      "message": "Roll Flutter from e70534db5a44 to b05a9d748865 (28 revisions) (#11803)\n\nhttps://github.com/flutter/flutter/compare/e70534db5a44...b05a9d748865\n\n2026-05-29 engine-flutter-autoroll@skia.org Roll Skia from 47155534833e to d9d6b440c4e7 (1 revision) (flutter/flutter#187301)\n2026-05-29 engine-flutter-autoroll@skia.org Roll Skia from f93ed13d77fb to 47155534833e (4 revisions) (flutter/flutter#187291)\n2026-05-29 kevmoo@users.noreply.github.com [web_ui] Optimize skwasm text layout and path decoding to eliminate dynamic boxing churn under Wasm (flutter/flutter#186978)\n2026-05-29 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from SBpmmPxqx3lAvGojE... to jMR_VXQi07kAk8vbR... (flutter/flutter#187279)\n2026-05-29 burak.karahan@mail.ru Remove Material import from sliver tree rendering test (flutter/flutter#187000)\n2026-05-29 bdero@google.com [Impeller] Remove the y_coord_scale Y-flip plumbing (flutter/flutter#187224)\n2026-05-29 31859944+LongCatIsLooong@users.noreply.github.com Add/remove overlay child RenderObject from the tree in `attach`/`detach` (flutter/flutter#186564)\n2026-05-29 engine-flutter-autoroll@skia.org Roll Skia from fcfe5975c945 to f93ed13d77fb (4 revisions) (flutter/flutter#187273)\n2026-05-28 evanwall@buffalo.edu Handle complex RSE rendering in the uber SDF pipeline (flutter/flutter#186434)\n2026-05-28 engine-flutter-autoroll@skia.org Roll Dart SDK from 082191101fcc to 683322426411 (2 revisions) (flutter/flutter#187270)\n2026-05-28 mvincentong@gmail.com Clarify route transition animations (flutter/flutter#186552)\n2026-05-28 116356835+AbdeMohlbi@users.noreply.github.com document that the default Key is null and explain proper usage in list diffing (flutter/flutter#185197)\n2026-05-28 srawlins@google.com [flutter_tools] Use super parameters in missed spots (flutter/flutter#186197)\n2026-05-28 mr_nadeem_iqbal@yahoo.com docs: Document MediaQueryData.alwaysUse24HourFormat on macOS, Windows, Linux, web (#160664) (flutter/flutter#186642)\n2026-05-28 engine-flutter-autoroll@skia.org Roll Skia from 5493e4c144cd to fcfe5975c945 (3 revisions) (flutter/flutter#187256)\n2026-05-28 30870216+gaaclarke@users.noreply.github.com Shares opengles golden context (flutter/flutter#187243)\n2026-05-28 jason-simmons@users.noreply.github.com Update the Curl CIPD package in .ci.yaml to version 8.20.0 (flutter/flutter#187133)\n2026-05-28 737941+loic-sharma@users.noreply.github.com Improve SizedBox\u0027s docs (flutter/flutter#187208)\n2026-05-28 bdero@google.com [Impeller] Support instanced rendering across all backends (flutter/flutter#186653)\n2026-05-28 43054281+camsim99@users.noreply.github.com [Android] Reset system UI visibility flags when setting edge-to-edge mode (flutter/flutter#187207)\n2026-05-28 engine-flutter-autoroll@skia.org Roll Skia from a38708fb7926 to 5493e4c144cd (7 revisions) (flutter/flutter#187241)\n2026-05-28 30870216+gaaclarke@users.noreply.github.com Turned on impeller by default on macos (flutter/flutter#186546)\n2026-05-28 mvincentong@gmail.com Clarify lazy scroll extent docs (flutter/flutter#186864)\n2026-05-28 mdebbar@google.com [web] Fix WebParagraph locales test (flutter/flutter#186813)\n2026-05-28 engine-flutter-autoroll@skia.org Roll Packages from 4b424d786b09 to 10cbdc57b0ce (3 revisions) (flutter/flutter#187238)\n2026-05-28 engine-flutter-autoroll@skia.org Roll Dart SDK from f3db7b7d9801 to 082191101fcc (8 revisions) (flutter/flutter#187235)\n2026-05-28 engine-flutter-autoroll@skia.org Roll Skia from 32acea791248 to a38708fb7926 (1 revision) (flutter/flutter#187221)\n2026-05-28 bdero@google.com [Flutter GPU] Add r32Float and remove Apple-only XR pixel formats (flutter/flutter#187069)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC boetger@google.com,stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "0bceb6429cb5f46cafee519f51e924c1b53d3199",
      "tree": "73e24cc13055f32377d2cf056e00fdd03d9d1c4d",
      "parents": [
        "e930ced66e87607ca64fa3575a46ae9fd96dc051"
      ],
      "author": {
        "name": "jesswrd",
        "email": "jessiewong401@gmail.com",
        "time": "Fri May 29 16:35:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 16:35:37 2026"
      },
      "message": "Migrated `video_player_android` to Built-in Kotlin (#11798)\n\nMigrating one plugin `video_player_android` to built-in kotlin as a test-run. Once this PR has been merged, another PR with all affected plugins will be made + validation of changes to the build files.\r\n\r\nFollowed these Flutter docs: https://docs.flutter.dev/release/breaking-changes/migrate-to-built-in-kotlin/for-plugin-authors to migrate plugins to built-in kotlin.\r\n\r\nPartially Adresses https://github.com/flutter/flutter/issues/187261\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."
    },
    {
      "commit": "e930ced66e87607ca64fa3575a46ae9fd96dc051",
      "tree": "49bb5114b1ce2d1a9f00f270ff05ccfad289faa4",
      "parents": [
        "81b5b2f582dcdea430e91c195ed8a1b98c7e2725"
      ],
      "author": {
        "name": "jeffkwoh",
        "email": "23180853+jeffkwoh@users.noreply.github.com",
        "time": "Thu May 28 22:43:41 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 22:43:41 2026"
      },
      "message": "[vector_graphics_compiler]: Fix Stack Overflow and CPU/Memory DoS on SVGs with circular references or exponential expansions (#11740)\n\n### Overview\nThis PR resolves a critical compile-time **Stack Overflow** crash and\nprevents **CPU/Memory Denial of Service (DoS)** vulnerabilities in the\n`vector_graphics_compiler` tool caused by circular references and\nexponential element expansions (such as Billion Laughs / XML Entity\nExpansion attacks) in SVG assets.\n\nDuring compilation, the recursive AST resolution phase was vulnerable\nto:\n1. **Infinite Loops (Stack Overflow)**: Self-referencing or circular\nelements (mask-loops, pattern-loops, recursive `\u003cuse\u003e` chains, or\ncircular `\u003cuse\u003e` inside `\u003cclipPath\u003e` nodes) caused infinite recursion\nand thread stack exhaustion.\n2. **Exponential DAG Expansions (CPU DoS)**: Acyclic Directed Acyclic\nGraphs (DAGs) referencing lower levels multiple times could bypass\nstandard cycle guards and expand to billions of resolved nodes (e.g.\nBillion Laughs), locking up CPU and memory.\n\nThis PR implements dual-layer security defenses: local DFS cycle-guards\nto cleanly break circular loops, and a strict, cumulative reference\nexpansion limit to prevent resource exhaustion.---\n\n### Proposed Changes\n\n#### 1. Core DFS Cycle-Guards in AST Resolution (`resolver.dart` \u0026\n`parser.dart`)\n- Added active ancestor tracking sets (`_activeMasks`,\n`_activePatterns`, and `_activeDeferred`) using `Set\u003cString\u003e` in\n`ResolvingVisitor`.\n- Wrapped recursive resolution steps in `try/finally` blocks to\nguarantee that IDs are popped from the tracking sets when unwinding the\ncall stack, preventing state leaks.\n- Added a local cycle-guard set (`activeDeferred`) inside\n`getClipPath`\u0027s recursive `extractPathsFromNode` helper to break\ncircular `\u003cuse\u003e` references inside clip paths.\n- If a\n[cycle](https://svgwg.org/svg2-draft/linking.html#:~:text\u003dan%20identified%20resource.-,invalid%20reference,-Any%20of%20the)\nis detected, resolution immediately aborts for that node and falls back\ngracefully (rendering the base graphic normally without the broken\nlayer), satisfying W3C SVG 2 [error-handling\nspecifications](https://svgwg.org/svg2-draft/conform.html#ErrorProcessing:~:text\u003dThe%20document%20rendering%20shall%20continue%20after%20encountering%20element%20which%20has%20an%20error.%20The%20element%20or%20its%20part%20that%20is%20in%20error%20won%27t%20be%20rendered.).\n\n#### 2. Cumulative Reference Expansion Cap (`resolver.dart` \u0026\n`parser.dart`)\n- Integrated a cumulative event counter (`_deferredExpansionCount`) to\ntrack the total number of reference expansions (calls to\n`visitDeferredNode` and `extractPathsFromNode`) during compilation.\n- Enforces a hard security threshold of **`10,000`** cumulative\nexpansions.\n- If the threshold is exceeded, the compiler immediately throws a\nhandled `StateError` (`SVG contains too many nested reference expansions\n(possible Denial of Service exploit)`), preventing CPU or heap memory\nexhaustion.\n\n#### 3. Regression and Security Unit Tests (`test/parser_test.dart`)\nAdded robust test cases covering circular and exponential structures:\n- **Circular Loop Avoidance**: `Circular Mask Loop Avoidance`, `Circular\nDeferred Node Loop Avoidance`, `Circular Pattern Loop Avoidance`, and\n`Circular ClipPath Loop Avoidance`.\n- **Exponential DoS Mitigations**: `Exponential DAG expansion triggers\nDoS protection limit` and `Exponential DAG clipPath expansion triggers\nDoS protection limit` (verifying compile-time abortion on a 30-level\ndeep Billion Laughs tree).\n\n---\n\n### Why a 1000 Expansion Limit?\n\n1000 is somewhat arbitrary. Benchmarking tests did not reveal any\nconcerns with limit.\n\n---\n\n### Verification Results\n- **100% Passing Tests**: Verified that all **307 unit tests** inside\nthe `vector_graphics_compiler` package pass successfully.\n- **Zero Lints or Warnings**: `flutter analyze` and `dart format`\ncomplete successfully with **\"No issues found!\"**.\n\n---\n\n### Related Issues\nFixes flutter/flutter#186750 \nFixes flutter/flutter#186814\n\n## Pre-Review Checklist\n\n- [x] I read the [Contributor Guide] and followed the process outlined\nthere for submitting PRs.\n- [x] I read the [AI contribution guidelines] and understand my\nresponsibilities, or I am not using AI tools.\n- [x] I read the [Tree Hygiene] page, which explains my\nresponsibilities.\n- [x] I read and followed the [relevant style guides] and ran [the\nauto-formatter].\n- [x] I signed the [CLA].\n- [x] The title of the PR starts with the name of the package surrounded\nby square brackets, e.g. `[shared_preferences]`\n- [x] I [linked to at least one issue that this PR fixes] in the\ndescription above.\n- [x] I followed [the version and CHANGELOG instructions], using\n[semantic versioning] and the [repository CHANGELOG style], or I have\ncommented below to indicate which documented exception this PR falls\nunder[^1].\n- [x] I updated/added any relevant documentation (doc comments with\n`///`).\n- [x] I added new tests to check the change I am making, or I have\ncommented below to indicate which [test exemption] this PR falls\nunder[^1].\n- [x] All existing and new tests are passing.\n\nIf you need help, consider asking for advice on the #hackers-new channel\non [Discord].\n\n**Note**: The Flutter team is currently trialing the use of [Gemini Code\nAssist for\nGitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).\nComments from the `gemini-code-assist` bot should not be taken as\nauthoritative feedback from the Flutter team. If you find its comments\nuseful you can update your code accordingly, but if you are unsure or\ndisagree with the feedback, please feel free to wait for a Flutter team\nmember\u0027s review for guidance on which automated comments should be\naddressed.\n\n[^1]: Regular contributors who have demonstrated familiarity with the\nrepository guidelines only need to comment if the PR is not\nauto-exempted by repo tooling.\n\n\u003c!-- Links --\u003e\n[Contributor Guide]:\nhttps://github.com/flutter/packages/blob/main/CONTRIBUTING.md\n[AI contribution guidelines]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines\n[Tree Hygiene]:\nhttps://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md\n[relevant style guides]:\nhttps://github.com/flutter/packages/blob/main/CONTRIBUTING.md#style\n[the auto-formatter]:\nhttps://github.com/flutter/packages/blob/main/script/tool/README.md#format-code\n[CLA]: https://cla.developers.google.com/\n[Discord]:\nhttps://github.com/flutter/flutter/blob/master/docs/contributing/Chat.md\n[linked to at least one issue that this PR fixes]:\nhttps://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md#overview\n[the version and CHANGELOG instructions]:\nhttps://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#version-and-changelog-updates\n[semantic versioning]:\nhttps://dart.dev/tools/pub/versioning#semantic-versions\n[repository CHANGELOG style]:\nhttps://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changelog-style\n[test exemption]:\nhttps://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md#tests\n\n\n# Appendix \n\n## Vibecoded benchmark\n\n\n```\n## Benchmark Results Table\n\n\n| Limit | SVG Type | Compilation Time (ms) | Memory (MB) | Status |\n| :--- | :--- | :---: | :---: | :--- |\n| 100 | `simple.svg` | 0.59 | 418.0 | **Success** |\n| 100 | `complex.svg` | 20.05 | 461.5 | **Success** |\n| 100 | `dos_depth_10.svg` | N/A | N/A | *Aborted (StateError)* |\n| 100 | `dos_depth_15.svg` | N/A | N/A | *Aborted (StateError)* |\n| 100 | `dos_depth_20.svg` | N/A | N/A | *Aborted (StateError)* |\n| 100 | `dos_depth_30.svg` | N/A | N/A | *Aborted (StateError)* |\n| 500 | `simple.svg` | 0.58 | 397.3 | **Success** |\n| 500 | `complex.svg` | 19.08 | 463.1 | **Success** |\n| 500 | `dos_depth_10.svg` | N/A | N/A | *Aborted (StateError)* |\n| 500 | `dos_depth_15.svg` | N/A | N/A | *Aborted (StateError)* |\n| 500 | `dos_depth_20.svg` | N/A | N/A | *Aborted (StateError)* |\n| 500 | `dos_depth_30.svg` | N/A | N/A | *Aborted (StateError)* |\n| 1000 | `simple.svg` | 0.67 | 417.0 | **Success** |\n| 1000 | `complex.svg` | 21.07 | 470.1 | **Success** |\n| 1000 | `dos_depth_10.svg` | N/A | N/A | *Aborted (StateError)* |\n| 1000 | `dos_depth_15.svg` | N/A | N/A | *Aborted (StateError)* |\n| 1000 | `dos_depth_20.svg` | N/A | N/A | *Aborted (StateError)* |\n| 1000 | `dos_depth_30.svg` | N/A | N/A | *Aborted (StateError)* |\n| 5000 | `simple.svg` | 0.62 | 398.0 | **Success** |\n| 5000 | `complex.svg` | 21.17 | 460.5 | **Success** |\n| 5000 | `dos_depth_10.svg` | 10.31 | 465.7 | **Success** |\n| 5000 | `dos_depth_15.svg` | N/A | N/A | *Aborted (StateError)* |\n| 5000 | `dos_depth_20.svg` | N/A | N/A | *Aborted (StateError)* |\n| 5000 | `dos_depth_30.svg` | N/A | N/A | *Aborted (StateError)* |\n| 10000 | `simple.svg` | 0.58 | 424.2 | **Success** |\n| 10000 | `complex.svg` | 22.35 | 533.5 | **Success** |\n| 10000 | `dos_depth_10.svg` | 9.97 | 466.8 | **Success** |\n| 10000 | `dos_depth_15.svg` | N/A | N/A | *Aborted (StateError)* |\n| 10000 | `dos_depth_20.svg` | N/A | N/A | *Aborted (StateError)* |\n| 10000 | `dos_depth_30.svg` | N/A | N/A | *Aborted (StateError)* |\n| 50000 | `simple.svg` | 0.59 | 423.6 | **Success** |\n| 50000 | `complex.svg` | 21.70 | 463.2 | **Success** |\n| 50000 | `dos_depth_10.svg` | 9.70 | 470.6 | **Success** |\n| 50000 | `dos_depth_15.svg` | N/A | N/A | *Aborted (StateError)* |\n| 50000 | `dos_depth_20.svg` | N/A | N/A | *Aborted (StateError)* |\n| 50000 | `dos_depth_30.svg` | N/A | N/A | *Aborted (StateError)* |\n\n\n```\n\n\n\n```dart\n/// compile_worker.dart\n\nimport \u0027dart:convert\u0027;\nimport \u0027dart:io\u0027;\nimport \u0027package:vector_graphics_compiler/vector_graphics_compiler.dart\u0027;\nimport \u0027dart:async\u0027;\nFuture\u003cvoid\u003e main(List\u003cString\u003e args) async {\n  try {\n    if (args.isEmpty) {\n      stderr.writeln(\u0027Usage:\u0027);\n      stderr.writeln(\n        \u0027  dart compile_worker.dart single \u003cinput_svg_path\u003e \u003coutput_vec_path\u003e\u0027,\n      );\n      stderr.writeln(\u0027  dart compile_worker.dart ipc\u0027);\n      exit(1);\n    }\n    final mode \u003d args[0];\n    if (mode \u003d\u003d \u0027single\u0027) {\n      if (args.length \u003c 3) {\n        stderr.writeln(\n          \u0027Error: single mode requires \u003cinput_svg_path\u003e and \u003coutput_vec_path\u003e\u0027,\n        );\n        exit(1);\n      }\n      _runSingle(args[1], args[2]);\n    } else if (mode \u003d\u003d \u0027ipc\u0027) {\n      await _runIpc();\n    } else {\n      stderr.writeln(\u0027Unknown mode: $mode\u0027);\n      exit(1);\n    }\n  } catch (error, stackTrace) {\n    stderr.writeln(\u0027Error in main: $error\u0027);\n    stderr.writeln(stackTrace);\n    exit(1);\n  }\n}\nint _readPeakRss() {\n  try {\n    final file \u003d File(\u0027/proc/self/status\u0027);\n    if (file.existsSync()) {\n      final lines \u003d file.readAsLinesSync();\n      for (final line in lines) {\n        if (line.startsWith(\u0027VmHWM:\u0027)) {\n          final parts \u003d line.split(RegExp(r\u0027\\s+\u0027));\n          if (parts.length \u003e\u003d 2) {\n            return int.tryParse(parts[1]) ?? 0;\n          }\n        }\n      }\n    }\n  } catch (e) {\n    // Ignore\n  }\n  return 0;\n}\nvoid _runSingle(String inputPath, String outputPath) {\n  try {\n    final file \u003d File(inputPath);\n    if (!file.existsSync()) {\n      throw Exception(\u0027Input file not found: $inputPath\u0027);\n    }\n    final svgXml \u003d file.readAsStringSync();\n    final vecBytes \u003d encodeSvg(\n      xml: svgXml,\n      debugName: inputPath,\n      enableMaskingOptimizer: false,\n      enableClippingOptimizer: false,\n      enableOverdrawOptimizer: false,\n    );\n    final outputFile \u003d File(outputPath);\n    if (outputFile.parent.path.isNotEmpty) {\n      outputFile.parent.createSync(recursive: true);\n    }\n    outputFile.writeAsBytesSync(vecBytes);\n    stdout.writeln(\n      jsonEncode(\u003cString, Object\u003e{\n        \u0027status\u0027: \u0027success\u0027,\n        \u0027peak_rss_kb\u0027: _readPeakRss(),\n      }),\n    );\n    exit(0);\n  } catch (e) {\n    stdout.writeln(\n      jsonEncode(\u003cString, Object\u003e{\u0027status\u0027: \u0027error\u0027, \u0027error\u0027: e.toString()}),\n    );\n    exit(1);\n  }\n}\nFuture\u003cvoid\u003e _runIpc() async {\n  final Stream\u003cString\u003e lines \u003d stdin\n      .transform(utf8.decoder)\n      .transform(const LineSplitter());\n  await for (final line in lines) {\n    final trimmed \u003d line.trim();\n    if (trimmed.isEmpty) {\n      continue;\n    }\n    try {\n      final Map\u003cString, dynamic\u003e request \u003d\n          jsonDecode(trimmed) as Map\u003cString, dynamic\u003e;\n      final String xml \u003d request[\u0027xml\u0027] as String;\n      final String name \u003d request[\u0027name\u0027] as String;\n      final stopwatch \u003d Stopwatch()..start();\n      encodeSvg(\n        xml: xml,\n        debugName: name,\n        enableMaskingOptimizer: false,\n        enableClippingOptimizer: false,\n        enableOverdrawOptimizer: false,\n      );\n      stopwatch.stop();\n      final response \u003d \u003cString, dynamic\u003e{\n        \u0027status\u0027: \u0027success\u0027,\n        \u0027latency_us\u0027: stopwatch.elapsedMicroseconds,\n      };\n      stdout.writeln(jsonEncode(response));\n      await stdout.flush();\n    } catch (e) {\n      final response \u003d \u003cString, dynamic\u003e{\n        \u0027status\u0027: \u0027error\u0027,\n        \u0027error\u0027: e.toString(),\n      };\n      stdout.writeln(jsonEncode(response));\n      await stdout.flush();\n    }\n  }\n}\n\n```\n\n\n```dart\n/// benchmark.dart \n \nimport \u0027dart:async\u0027;\nimport \u0027dart:convert\u0027;\nimport \u0027dart:io\u0027;\nFuture\u003cvoid\u003e main() async {\n  final String scratchDir \u003d \u0027/usr/local/google/home/jeffkwoh/.gemini/jetski/scratch/benchmark_reference_limits\u0027;\n  final String constantFilePath \u003d \u0027/usr/local/google/home/jeffkwoh/.gemini/jetski/worktrees/packages/add-upstream-test-coverage-20260519/packages/vector_graphics_compiler/lib/src/svg/constants.dart\u0027;\n  final File constantFile \u003d File(constantFilePath);\n  if (!constantFile.existsSync()) {\n    stderr.writeln(\u0027Error: Constants file not found at $constantFilePath\u0027);\n    exit(1);\n  }\n  // 1. Read and back up the original contents of the constant file.\n  final String originalContents \u003d constantFile.readAsStringSync();\n  print(\u0027Successfully backed up constants.dart. Original size: ${originalContents.length} bytes.\u0027);\n  final List\u003cint\u003e limits \u003d [100, 500, 1000, 5000, 10000, 50000];\n  final List\u003cString\u003e assets \u003d [\n    \u0027simple.svg\u0027,\n    \u0027complex.svg\u0027,\n    \u0027dos_depth_10.svg\u0027,\n    \u0027dos_depth_15.svg\u0027,\n    \u0027dos_depth_20.svg\u0027,\n    \u0027dos_depth_30.svg\u0027\n  ];\n  final List\u003cBenchmarkResult\u003e results \u003d [];\n  // Ensure global try/finally block to write back original contents of constant file.\n  try {\n    for (final int limit in limits) {\n      print(\u0027\\n----------------------------------------\u0027);\n      print(\u0027Configuring limit kMaxReferenceExpansions \u003d $limit\u0027);\n      print(\u0027----------------------------------------\u0027);\n      // a. Dynamically modify constants.dart\n      final String updatedContents \u003d originalContents.replaceAll(\n        RegExp(r\u0027const int kMaxReferenceExpansions \u003d \\d+;\u0027),\n        \u0027const int kMaxReferenceExpansions \u003d $limit;\u0027,\n      );\n      constantFile.writeAsStringSync(updatedContents);\n      // b. Wait for 100ms to ensure disk sync\n      await Future\u003cvoid\u003e.delayed(const Duration(milliseconds: 100));\n      // c. Run benchmarks for each SVG asset\n      for (final String assetName in assets) {\n        final String svgPath \u003d \u0027$scratchDir/assets/$assetName\u0027;\n        final String tmpOutPath \u003d \u0027$scratchDir/out_$assetName.vec\u0027;\n        print(\u0027Running single compilation for $assetName (peak RSS measurement)...\u0027);\n        // Run single compilation to get clean peak RSS.\n        final ProcessResult singleResult \u003d await Process.run(\n          Platform.resolvedExecutable,\n          [\u0027compile_worker.dart\u0027, \u0027single\u0027, svgPath, tmpOutPath],\n          workingDirectory: scratchDir,\n        );\n        // Clean up the temporary .vec file if created.\n        final File tmpFile \u003d File(tmpOutPath);\n        if (tmpFile.existsSync()) {\n          tmpFile.deleteSync();\n        }\n        final String stdoutStr \u003d singleResult.stdout.toString().trim();\n        if (stdoutStr.isEmpty) {\n          print(\u0027  Single compilation failed or returned empty stdout for $assetName.\u0027);\n          if (singleResult.stderr.toString().isNotEmpty) {\n            print(\u0027  [STDERR] ${singleResult.stderr}\u0027);\n          }\n          results.add(BenchmarkResult(\n            limit: limit,\n            svgType: assetName,\n            compilationTimeMs: null,\n            memoryMb: null,\n            status: \u0027Aborted (StateError)\u0027,\n          ));\n          continue;\n        }\n        Map\u003cString, dynamic\u003e singleJson;\n        try {\n          singleJson \u003d jsonDecode(stdoutStr) as Map\u003cString, dynamic\u003e;\n        } catch (e) {\n          print(\u0027  Failed to parse single mode JSON output: $stdoutStr\u0027);\n          results.add(BenchmarkResult(\n            limit: limit,\n            svgType: assetName,\n            compilationTimeMs: null,\n            memoryMb: null,\n            status: \u0027Aborted (StateError)\u0027,\n          ));\n          continue;\n        }\n        if (singleJson[\u0027status\u0027] \u003d\u003d \u0027error\u0027) {\n          print(\u0027  Limit hit or compile error: ${singleJson[\u0027error\u0027]}\u0027);\n          results.add(BenchmarkResult(\n            limit: limit,\n            svgType: assetName,\n            compilationTimeMs: null,\n            memoryMb: null,\n            status: \u0027Aborted (StateError)\u0027,\n          ));\n          continue;\n        }\n        final int peakRssKb \u003d singleJson[\u0027peak_rss_kb\u0027] as int;\n        final double memoryMb \u003d peakRssKb / 1024.0;\n        print(\u0027  Peak RSS: ${memoryMb.toStringAsFixed(2)} MB. Launching IPC mode for JIT warm-up and latency timing...\u0027);\n        // Start IPC worker subprocess.\n        final Process process \u003d await Process.start(\n          Platform.resolvedExecutable,\n          [\u0027compile_worker.dart\u0027, \u0027ipc\u0027],\n          workingDirectory: scratchDir,\n        );\n        final lines \u003d process.stdout.transform(utf8.decoder).transform(const LineSplitter());\n        final iterator \u003d StreamIterator(lines);\n        process.stderr.transform(utf8.decoder).listen((errorLine) {\n          print(\u0027  [CHILD STDERR] $errorLine\u0027);\n        });\n        double? averageLatencyMs;\n        String statusStr \u003d \u0027Success\u0027;\n        try {\n          final File svgFile \u003d File(svgPath);\n          final String svgXml \u003d svgFile.readAsStringSync();\n          final String requestJson \u003d jsonEncode({\n            \u0027xml\u0027: svgXml,\n            \u0027name\u0027: assetName,\n          });\n          // Warm up compiler: send twice.\n          for (int w \u003d 0; w \u003c 2; w++) {\n            process.stdin.writeln(requestJson);\n            await process.stdin.flush();\n            if (await iterator.moveNext()) {\n              final Map\u003cString, dynamic\u003e warmResponse \u003d jsonDecode(iterator.current) as Map\u003cString, dynamic\u003e;\n              if (warmResponse[\u0027status\u0027] !\u003d \u0027success\u0027) {\n                throw Exception(\u0027Warm-up failed: ${warmResponse[\u0027error\u0027]}\u0027);\n              }\n            } else {\n              throw Exception(\u0027IPC stdout closed during warm-up\u0027);\n            }\n          }\n          // Run 10 actual timed iterations.\n          final List\u003cint\u003e latenciesUs \u003d [];\n          for (int i \u003d 0; i \u003c 10; i++) {\n            process.stdin.writeln(requestJson);\n            await process.stdin.flush();\n            if (await iterator.moveNext()) {\n              final Map\u003cString, dynamic\u003e response \u003d jsonDecode(iterator.current) as Map\u003cString, dynamic\u003e;\n              if (response[\u0027status\u0027] \u003d\u003d \u0027success\u0027) {\n                latenciesUs.add(response[\u0027latency_us\u0027] as int);\n              } else {\n                throw Exception(\u0027IPC timed run failed: ${response[\u0027error\u0027]}\u0027);\n              }\n            } else {\n              throw Exception(\u0027IPC stdout closed during timed runs\u0027);\n            }\n          }\n          final double avgUs \u003d latenciesUs.reduce((a, b) \u003d\u003e a + b) / latenciesUs.length;\n          averageLatencyMs \u003d avgUs / 1000.0;\n        } catch (e) {\n          print(\u0027  IPC run encountered error: $e\u0027);\n          statusStr \u003d \u0027Aborted (StateError)\u0027;\n        } finally {\n          process.kill();\n          await process.exitCode;\n        }\n        results.add(BenchmarkResult(\n          limit: limit,\n          svgType: assetName,\n          compilationTimeMs: averageLatencyMs,\n          memoryMb: memoryMb,\n          status: statusStr,\n        ));\n      }\n    }\n  } finally {\n    // ALWAYS restore the constants file to original state.\n    print(\u0027\\nRestoring constants.dart to original contents...\u0027);\n    constantFile.writeAsStringSync(originalContents);\n    print(\u0027Restoration complete.\u0027);\n  }\n  // 6. Generate jank_analysis_report.md\n  print(\u0027\\nGenerating jank_analysis_report.md...\u0027);\n  final File reportFile \u003d File(\u0027$scratchDir/jank_analysis_report.md\u0027);\n  final StringBuffer report \u003d StringBuffer();\n  report.writeln(\u0027# reference expansion limit jank analysis report\u0027);\n  report.writeln();\n  report.writeln(\u0027This report presents benchmarking results for evaluating various nested reference expansion limits under benign and malicious (Denial of Service) SVG workloads.\u0027);\n  report.writeln();\n  report.writeln(\u0027## Benchmark Results Table\u0027);\n  report.writeln();\n  report.writeln(\u0027| Limit | SVG Type | Compilation Time (ms) | Memory (MB) | Status |\u0027);\n  report.writeln(\u0027| :--- | :--- | :---: | :---: | :--- |\u0027);\n  for (final result in results) {\n    final String limitStr \u003d result.limit.toString();\n    final String svgType \u003d \u0027`${result.svgType}`\u0027;\n    final String compTimeStr \u003d result.compilationTimeMs !\u003d null\n        ? result.compilationTimeMs!.toStringAsFixed(2)\n        : \u0027N/A\u0027;\n    final String memoryStr \u003d result.memoryMb !\u003d null\n        ? result.memoryMb!.toStringAsFixed(1)\n        : \u0027N/A\u0027;\n    final String status \u003d result.status \u003d\u003d \u0027Success\u0027 ? \u0027**Success**\u0027 : \u0027*Aborted (StateError)*\u0027;\n    report.writeln(\u0027| $limitStr | $svgType | $compTimeStr | $memoryStr | $status |\u0027);\n  }\n  report.writeln();\n}\n\nclass BenchmarkResult {\n  final int limit;\n  final String svgType;\n  final double? compilationTimeMs;\n  final double? memoryMb;\n  final String status;\n  BenchmarkResult({\n    required this.limit,\n    required this.svgType,\n    required this.compilationTimeMs,\n    required this.memoryMb,\n    required this.status,\n  });\n}\n\n```"
    },
    {
      "commit": "81b5b2f582dcdea430e91c195ed8a1b98c7e2725",
      "tree": "2e2407e93dbf93f6aa085e972864207df14efb4c",
      "parents": [
        "744bbf017254be298e619f1fc95fadae70cf8036"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Thu May 28 17:44:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 17:44:27 2026"
      },
      "message": "[tool] Make more commands work without Flutter (#11797)\n\n- Updates some cases where \u0027flutter\u0027 was used unconditionally, now that we need to support a repository without Flutter installed.\r\n  - Removes some outdated comments and plumbing for forcing `flutter pub` over `dart pub`, as the reason we used to do it no longer applies now that `dart pub` also fetches examples by default.\r\n- Adds `--skip-if-not-supporting-dart-version` to support N-1 and N-2 testing in core-packages."
    },
    {
      "commit": "744bbf017254be298e619f1fc95fadae70cf8036",
      "tree": "9460356b474c66d929ce9112997623a39fa4adb1",
      "parents": [
        "10cbdc57b0ce1bc0dc654c7c332e90540b5a41a9"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Thu May 28 15:45:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 15:45:03 2026"
      },
      "message": "Roll Flutter from c8f2f166323e to e70534db5a44 (18 revisions) (#11799)\n\nhttps://github.com/flutter/flutter/compare/c8f2f166323e...e70534db5a44\n\n2026-05-28 30870216+gaaclarke@users.noreply.github.com Linux glyph gamma correction (flutter/flutter#187122)\n2026-05-28 chris@bracken.jp [iOS] Eliminate strong retain cycle from VSyncClient (flutter/flutter#187164)\n2026-05-28 katelovett@google.com Revert \"[pubspec] Bump Dart SDK constraint to ^3.13.0 (#186957)\" (flutter/flutter#187209)\n2026-05-28 engine-flutter-autoroll@skia.org Roll Skia from f1b8ba877c07 to 32acea791248 (3 revisions) (flutter/flutter#187220)\n2026-05-27 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from k9EizfEGJO4WwQN9-... to SBpmmPxqx3lAvGojE... (flutter/flutter#187211)\n2026-05-27 bdero@google.com [Impeller] Add block-compressed texture format support (BC, ETC2, ASTC) (flutter/flutter#187077)\n2026-05-27 katelovett@google.com Disable analyzer (flutter/flutter#187205)\n2026-05-27 bdero@google.com [Flutter GPU] Add explicit draw counts (reland) (flutter/flutter#187192)\n2026-05-27 bdero@google.com [Flutter GPU] Inject per-backend defines into shader bundle compilation (flutter/flutter#187081)\n2026-05-27 engine-flutter-autoroll@skia.org Roll Skia from fa944af10f91 to f1b8ba877c07 (13 revisions) (flutter/flutter#187194)\n2026-05-27 47866232+chunhtai@users.noreply.github.com Fixes bug when changing accessibilityFocusBlockType doesn\u0027t update ch… (flutter/flutter#186596)\n2026-05-27 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#187191)\n2026-05-27 kevmoo@users.noreply.github.com [web, tool] Support recompiling shaders and unify asset processing (2nd try) (flutter/flutter#186902)\n2026-05-27 robert.ancell@canonical.com Fix crash if FlView is destroyed during a draw. (flutter/flutter#186848)\n2026-05-27 engine-flutter-autoroll@skia.org Roll Packages from fc795e566e86 to 4b424d786b09 (4 revisions) (flutter/flutter#187174)\n2026-05-27 15619084+vashworth@users.noreply.github.com Stop prefetching Swift packages in pub get (flutter/flutter#187113)\n2026-05-27 jesswon@google.com Update CI with newer android sdk package (flutter/flutter#187143)\n2026-05-27 jason-simmons@users.noreply.github.com Add a tag to the Linux platform properties in .ci.yaml that specifies x64 CPUs (flutter/flutter#187124)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC boetger@google.com,stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "10cbdc57b0ce1bc0dc654c7c332e90540b5a41a9",
      "tree": "f6e106d0c436302d07f242fb7069e88db02f97db",
      "parents": [
        "c23d051efaebc88b356baae8ae62fb509fa9551f"
      ],
      "author": {
        "name": "Jenn Magder",
        "email": "magder@google.com",
        "time": "Wed May 27 20:49:20 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 20:49:20 2026"
      },
      "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."
    },
    {
      "commit": "c23d051efaebc88b356baae8ae62fb509fa9551f",
      "tree": "048964290c1158c2111ec5b22c9b9af2f50bacc5",
      "parents": [
        "b74a2695b4eab4b7ce12484e34c67bf180311ea8"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Wed May 27 17:40:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 17:40:56 2026"
      },
      "message": "[tool] Add LICENSE file (#11796)\n\nWhen restoring the repo tools to a publishable state, I forgot that we need a package-level LICENSE file. This adds the standard repo LICENSE to pass `publish --dry-run`."
    },
    {
      "commit": "b74a2695b4eab4b7ce12484e34c67bf180311ea8",
      "tree": "1583f334fc41d1b69770c600396a2f6dc1f0728e",
      "parents": [
        "4b424d786b09028039378c6f8a78de8ef118f5b2"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Wed May 27 17:30:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 17:30:11 2026"
      },
      "message": "[google_maps_flutter] Federate READMEs (#11790)\n\nMoves the platform-specific setup logic and discussion from the main README to the platform READMEs, per our current best practice.\r\n\r\nAs part of the move, I simplified the discussion of the iOS implementation package choice somewhat, since I realized there was too much explanation of why things are the way they are, rather than on the steps a client should take.\r\n\r\nThere\u0027s a repeated example code block across the iOS packages now, but I think duplicating that is much better than being inconsistent about where setup info is (or worse, pointing them to one implementation package that\u0027s not the same as the one they are using).\r\n\r\nPart of https://github.com/flutter/flutter/issues/182772\r\n\r\n## Pre-Review Checklist\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."
    },
    {
      "commit": "4b424d786b09028039378c6f8a78de8ef118f5b2",
      "tree": "8fbddd132d1b13bc9649d36132b36b51ebff011f",
      "parents": [
        "c19a48dd77002e2754c105e1af9eed329c00ffda"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Wed May 27 15:45:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 15:45:59 2026"
      },
      "message": "Roll Flutter from f3a4b9897834 to c8f2f166323e (29 revisions) (#11795)\n\nhttps://github.com/flutter/flutter/compare/f3a4b9897834...c8f2f166323e\n\n2026-05-27 98614782+auto-submit[bot]@users.noreply.github.com Reverts \"[Flutter GPU] Add explicit draw counts (#186639)\" (flutter/flutter#187170)\n2026-05-27 engine-flutter-autoroll@skia.org Roll Dart SDK from 7dcea971af6b to f3db7b7d9801 (2 revisions) (flutter/flutter#187144)\n2026-05-27 bdero@google.com [Flutter GPU] Add explicit draw counts (flutter/flutter#186639)\n2026-05-27 engine-flutter-autoroll@skia.org Roll Skia from f9db7748563e to fa944af10f91 (1 revision) (flutter/flutter#187139)\n2026-05-27 bdero@google.com [Flutter GPU] Flutter GPU ShaderLibrary in-place reload for shader hot reload (flutter/flutter#186793)\n2026-05-27 engine-flutter-autoroll@skia.org Roll Skia from a692cbf38952 to f9db7748563e (8 revisions) (flutter/flutter#187135)\n2026-05-27 burak.karahan@mail.ru Use local semantics tester in Material button tests (flutter/flutter#186667)\n2026-05-27 rmolivares@renzo-olivares.dev Filter out `a: text input` from `team-framework` PR triage  (flutter/flutter#187129)\n2026-05-27 bkonyi@google.com [Engine] Fix silent buffer mismatch bug in FML Win32 CommandLineFromPlatform (flutter/flutter#187120)\n2026-05-27 srawlins@google.com examples: Remove unused parameters (flutter/flutter#185819)\n2026-05-27 116356835+AbdeMohlbi@users.noreply.github.com Remove another `String.valueOf` (flutter/flutter#186628)\n2026-05-27 alex.medinsh@gmail.com Print trace when skipping flavor-specific and platform-specific assets (flutter/flutter#187045)\n2026-05-26 adilhanney@disroot.org Fix `InteractiveViewer` memory leak from undisposed `CurvedAnimation`s (flutter/flutter#185826)\n2026-05-26 meylis@divine.video Fix AccessibilityBridge startup crash on vendor-modified Android (flutter/flutter#184630)\n2026-05-26 keertip@users.noreply.github.com Update data driven fixes docs (flutter/flutter#186217)\n2026-05-26 ahmedsameha1@gmail.com Add more 0x0 size tests part10 (flutter/flutter#186201)\n2026-05-26 46920873+gabrimatic@users.noreply.github.com Disable spell check for obscured text (flutter/flutter#186329)\n2026-05-26 chris@bracken.jp [iOS] Migrate VSyncClient and DisplayLinkManager to Swift (flutter/flutter#187001)\n2026-05-26 bkonyi@google.com [flutter_tools, devicelab] Add safety filesystem guard to tests (flutter/flutter#186748)\n2026-05-26 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Itd2Jq_ZIABH2rW7B... to k9EizfEGJO4WwQN9-... (flutter/flutter#187115)\n2026-05-26 engine-flutter-autoroll@skia.org Roll Dart SDK from 00e625453c43 to 7dcea971af6b (1 revision) (flutter/flutter#187117)\n2026-05-26 rmacnak@google.com Remove use of deprecated copy_trees. (flutter/flutter#187091)\n2026-05-26 15619084+vashworth@users.noreply.github.com Use resolved implementation plugins with SwiftPM (flutter/flutter#187097)\n2026-05-26 engine-flutter-autoroll@skia.org Roll Skia from 27a819894f7c to a692cbf38952 (3 revisions) (flutter/flutter#187109)\n2026-05-26 engine-flutter-autoroll@skia.org Roll Packages from 69cf9591b733 to fc795e566e86 (4 revisions) (flutter/flutter#187114)\n2026-05-26 mvincentong@gmail.com Handle simctl process exceptions during discovery (flutter/flutter#186501)\n2026-05-26 mvincentong@gmail.com Clarify precache enabled platforms help (flutter/flutter#186878)\n2026-05-26 bkonyi@google.com [tool] Refactor artifacts.dart to use enhanced enums and reduce duplication (flutter/flutter#187063)\n2026-05-26 jason-simmons@users.noreply.github.com Build script updates for syncing engine sources and building artifacts on linux-arm64 (flutter/flutter#186917)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC boetger@google.com,stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "c19a48dd77002e2754c105e1af9eed329c00ffda",
      "tree": "382a0797f98c0bfc4c02fb06cf68833b8abbf453",
      "parents": [
        "a23326a101437106af8ac5cae0e1ca94941316f0"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Wed May 27 15:15:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 15:15:57 2026"
      },
      "message": "[google_maps_flutter] Remove duplicated privacy manifest entries (#11791)\n\nGoogle Maps SDK 8.4 didn\u0027t include a privacy manifest, just instructions for clients to download and manually add one. Rather than push that requirement onto plugin clients, we duplicated all of the relevant manifest entries into the plugin\u0027s manifest.\r\n\r\n[Starting with 9.0.0](https://github.com/flutter/flutter/issues/146838#issuecomment-2135867750) the Google Maps SDK includes its own manifest, so we no longer need to bundle it ourselves when we know that the SDK is 9+. Since that\u0027s the case for the SDK-specific copies of the implementation package, we can remove it there, while leaving it in `google_maps_flutter_ios` (which can still resolve to 8.4).\r\n\r\nFixes https://github.com/flutter/flutter/issues/146838\r\n\r\n## Pre-Review Checklist\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."
    },
    {
      "commit": "a23326a101437106af8ac5cae0e1ca94941316f0",
      "tree": "cd1bbec7f4035ed05555d0a38ad9a92a883f4974",
      "parents": [
        "db270b43d472a8a32b3d8b63ff67c49c2c1c9be4"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Wed May 27 01:51:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 01:51:11 2026"
      },
      "message": "[tool] Add config options needed by core-packages (#11784)\n\nAdds some optional behaviors needed to use the tool in flutter/core-packages:\r\n- Allow setting a min Dart version rather than a min Flutter version at the repo level\r\n- Don\u0027t require .ci.yaml to be present when batch config isn\u0027t used (since that repo currently doesn\u0027t use LUCI)"
    },
    {
      "commit": "db270b43d472a8a32b3d8b63ff67c49c2c1c9be4",
      "tree": "1c9021f0306b557ef614c68abaaecfe2cff8cc5c",
      "parents": [
        "fc795e566e86ae0ca4a95870618b8ef11db50c6e"
      ],
      "author": {
        "name": "Hán Trung Kiên",
        "email": "kienhantrung@gmail.com",
        "time": "Tue May 26 22:49:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 22:49:59 2026"
      },
      "message": "[go_router] Allow users to specify onExit as optional (#11150)\n\nRelated to https://github.com/flutter/flutter/issues/183099\r\n\r\nAllow users to specify onExit as optional\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."
    },
    {
      "commit": "fc795e566e86ae0ca4a95870618b8ef11db50c6e",
      "tree": "d2138aceddf2ce077d77860172ec8f779857f09f",
      "parents": [
        "6da273787ee1285f9df80cf6e28b047773d16c51"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Tue May 26 18:29:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 18:29:50 2026"
      },
      "message": "Roll Flutter from e03b91f1fe34 to f3a4b9897834 (63 revisions) (#11789)\n\nRoll Flutter from e03b91f1fe34 to f3a4b9897834 (63 revisions)\n\nhttps://github.com/flutter/flutter/compare/e03b91f1fe34...f3a4b9897834\n\n2026-05-26 47866232+chunhtai@users.noreply.github.com Update batch release doc to reflect latest workflow (flutter/flutter#186979)\n2026-05-26 engine-flutter-autoroll@skia.org Roll Skia from 0442274cc696 to 27a819894f7c (5 revisions) (flutter/flutter#187094)\n2026-05-26 bkonyi@google.com [Tool Robustness] Gracefully handle asynchronous subprocess crashes and connection timeouts (flutter/flutter#186964)\n2026-05-26 bkonyi@google.com [pubspec] Bump Dart SDK constraint to ^3.13.0 (flutter/flutter#186957)\n2026-05-26 engine-flutter-autoroll@skia.org Roll Dart SDK from 7eb54169841d to 00e625453c43 (1 revision) (flutter/flutter#187086)\n2026-05-26 bdero@google.com [Impeller] Retire Y-coord-scale plumbing by flipping GLES at the vertex stage (flutter/flutter#186556)\n2026-05-26 engine-flutter-autoroll@skia.org Roll Skia from f4f294bdf98d to 0442274cc696 (2 revisions) (flutter/flutter#187079)\n2026-05-26 kevmoo@users.noreply.github.com [flutter_tools] Fix version cache poisoning from git environment variables (flutter/flutter#186595)\n2026-05-26 bkonyi@google.com [Tool] Handle DTD connection failures gracefully in widget-preview (flutter/flutter#186952)\n2026-05-25 engine-flutter-autoroll@skia.org Roll Skia from 9d1adb5f2427 to f4f294bdf98d (1 revision) (flutter/flutter#187056)\n2026-05-25 engine-flutter-autoroll@skia.org Roll Skia from 4dd78179e6ec to 9d1adb5f2427 (1 revision) (flutter/flutter#187048)\n2026-05-25 engine-flutter-autoroll@skia.org Roll Skia from 1f26101197bf to 4dd78179e6ec (4 revisions) (flutter/flutter#187044)\n2026-05-24 engine-flutter-autoroll@skia.org Roll Skia from bbe9ccc2bdbf to 1f26101197bf (1 revision) (flutter/flutter#187016)\n2026-05-24 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from nsgcNDlZOuweOvy3Q... to Itd2Jq_ZIABH2rW7B... (flutter/flutter#187032)\n2026-05-23 engine-flutter-autoroll@skia.org Roll Dart SDK from 7e0f28eb5315 to 7eb54169841d (1 revision) (flutter/flutter#187005)\n2026-05-23 engine-flutter-autoroll@skia.org Roll Dart SDK from 90e55fa88456 to 7e0f28eb5315 (1 revision) (flutter/flutter#186990)\n2026-05-23 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 6T6BY9PTftoG3vP_1... to nsgcNDlZOuweOvy3Q... (flutter/flutter#186984)\n2026-05-23 chris@bracken.jp iOS] Migrate VSyncClient to a pure Obj-C implementation (#186166) (flutter/flutter#186935)\n2026-05-23 30870216+gaaclarke@users.noreply.github.com Disables embedder_tests.cm for fuchsia (flutter/flutter#186969)\n2026-05-23 engine-flutter-autoroll@skia.org Roll Dart SDK from b8414c46f6c7 to 90e55fa88456 (2 revisions) (flutter/flutter#186977)\n2026-05-22 engine-flutter-autoroll@skia.org Roll Skia from 6fdb013d1953 to bbe9ccc2bdbf (1 revision) (flutter/flutter#186980)\n2026-05-22 mdebbar@google.com [web] Fix cutoff text in WebParagraph (flutter/flutter#186819)\n2026-05-22 1961493+harryterkelsen@users.noreply.github.com fix(web): Removes the iterative downscaling hack (flutter/flutter#186914)\n2026-05-22 30870216+gaaclarke@users.noreply.github.com opts the linux embedder into sdf rendering (flutter/flutter#186909)\n2026-05-22 engine-flutter-autoroll@skia.org Roll Skia from dae8778ca40d to 6fdb013d1953 (5 revisions) (flutter/flutter#186970)\n2026-05-22 dacoharkes@google.com Fix hooks inputs outputs rebuilt (flutter/flutter#186701)\n2026-05-22 30870216+gaaclarke@users.noreply.github.com adds linux impeller integration test for external textures (flutter/flutter#186759)\n2026-05-22 kevmoo@users.noreply.github.com fix(flutter_tools): defensively catch DWDS unregistered service extension errors (flutter/flutter#186896)\n2026-05-22 bdero@google.com [Impeller] Add golden harness support to the renderer test layer (flutter/flutter#186735)\n2026-05-22 mdebbar@google.com [web] Remove image codecs from canvaskit_chromium (flutter/flutter#178133)\n2026-05-22 30870216+gaaclarke@users.noreply.github.com opts all macos into wide gamut (flutter/flutter#186277)\n2026-05-22 engine-flutter-autoroll@skia.org Roll Skia from 356185490a75 to dae8778ca40d (9 revisions) (flutter/flutter#186949)\n2026-05-22 1598289+lukemmtt@users.noreply.github.com Filter out SwiftPM schemes when fetching schemes (flutter/flutter#186006)\n2026-05-22 engine-flutter-autoroll@skia.org Roll Packages from 3754d046a957 to 69cf9591b733 (1 revision) (flutter/flutter#186950)\n2026-05-22 engine-flutter-autoroll@skia.org Roll Dart SDK from eca46bec956d to b8414c46f6c7 (2 revisions) (flutter/flutter#186944)\n2026-05-22 30870216+gaaclarke@users.noreply.github.com Saves a DeviceHolderVK with the CommandPoolVK (flutter/flutter#186749)\n2026-05-22 engine-flutter-autoroll@skia.org Roll Dart SDK from e0d509fd676e to eca46bec956d (1 revision) (flutter/flutter#186922)\n2026-05-22 bkonyi@google.com [ Tool ] Stop generating widget preview scaffold under $TMP (flutter/flutter#186476)\n2026-05-21 737941+loic-sharma@users.noreply.github.com Fix typo in StretchingOverscrollIndicator docs (flutter/flutter#186897)\n2026-05-21 engine-flutter-autoroll@skia.org Roll Dart SDK from 28c7cb5a8e8d to e0d509fd676e (1 revision) (flutter/flutter#186903)\n2026-05-21 jason-simmons@users.noreply.github.com Fix some issues in the integration between EmbedderExternalViewEmbedder and Impeller (flutter/flutter#184905)\n2026-05-21 jason-simmons@users.noreply.github.com Fix a potential buffer overflow in the animated PNG decoder when parsing malformed fdAT chunks (flutter/flutter#186700)\n2026-05-21 engine-flutter-autoroll@skia.org Roll Skia from 2ff20950975d to 356185490a75 (5 revisions) (flutter/flutter#186892)\n2026-05-21 flar@google.com Add primitive shadows to rendering benchmark (flutter/flutter#186779)\n2026-05-21 15619084+vashworth@users.noreply.github.com Move prefetchSwiftPackages to be per platform (flutter/flutter#186468)\n2026-05-21 okorohelijah@google.com Upgrade iOS version (flutter/flutter#186889)\n..."
    },
    {
      "commit": "6da273787ee1285f9df80cf6e28b047773d16c51",
      "tree": "815e18610481fff60c1ea8c5950d9f6e5a2cd583",
      "parents": [
        "874b823049d9a424e7616dfa84ff9e00b0991fae"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Tue May 26 18:03:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 18:03:49 2026"
      },
      "message": "[google_maps_flutter] Add Android and iOS attribution ID (#11731)\n\nAdds an attribution ID to allow association of Google Maps usage to this plugin in backend metrics. Known caveats:\r\n- This only does Android and iOS since there\u0027s a blocker on web.\r\n- On iOS, the necessary API was added in 9.2.0, and we still support back to 8.4.0 (for iOS 14 support), so iOS will only have attribution for apps build supporting iOS 15+ (in theory not all of those either since apps supporting iOS 15+ could have 9.0 or 9.1 in their podspec lock, but we don\u0027t expect that to be a significant number of users).\r\n\r\nThis can\u0027t be meaningfully tested because they are setters on static SDK objects that aren\u0027t inspectable. In theory we could make wrappers and then inject replacement global objects but the untestable parts of that setup would be more complex than the code in question so there\u0027s no value in doing that. Instead this will be verified on the backend. This call has no user-facing effect, so regression risk is also extremely low.\r\n\r\nPart of https://github.com/flutter/flutter/issues/168529\r\n\r\n## Pre-Review Checklist\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."
    },
    {
      "commit": "874b823049d9a424e7616dfa84ff9e00b0991fae",
      "tree": "cb156fca617e20225eb791352f9a7640a01f404c",
      "parents": [
        "9d59a3061a9e47208e29d525ac690234fb232d37"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue May 26 17:44:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 17:44:04 2026"
      },
      "message": "[dependabot]: Bump org.json:json from 20251224 to 20260522 in /packages/in_app_purchase/in_app_purchase_android/example/android/app (#11776)\n\nBumps [org.json:json](https://github.com/douglascrockford/JSON-java) from 20251224 to 20260522.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href\u003d\"https://github.com/douglascrockford/JSON-java/releases\"\u003eorg.json:json\u0027s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e20260522\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ePull Request\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1054\"\u003e#1054\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epre-release-20260522 prep for next release\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1053\"\u003e#1053\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate security.md with key data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1046\"\u003e#1046\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eValidate XML numeric character references before string construction\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1044\"\u003e#1044\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eIgnore static fields in JSONObject.fromJson()\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1041\"\u003e#1041\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eEnhance README with license clarification\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1039\"\u003e#1039\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eFix XML forceList parsing issue\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1038\"\u003e#1038\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eFix input validation in XMLTokener.unescapeEntity()\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1037\"\u003e#1037\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eFix ClassCastException in JSONML.toJSONArray and toJSONObject\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1029\"\u003e#1029\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd badge to external hosted javadoc\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1028\"\u003e#1028\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRefactoring: Fix sonarqube reliability issues\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1027\"\u003e#1027\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSave/restore default locale in test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href\u003d\"https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md\"\u003eorg.json:json\u0027s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e20260522    Publish key data, recent commits for minor fixes\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/968a592260c49151dd0bf79903a7986da64c63cd\"\u003e\u003ccode\u003e968a592\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1054\"\u003e#1054\u003c/a\u003e from stleary/pre-release-20260522\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/3665aad82b41961d21901dac485a571fc1ea0828\"\u003e\u003ccode\u003e3665aad\u003c/code\u003e\u003c/a\u003e pre-release-20260522 doc and build updates for release\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/d749ee16abd084ae94785c7afe954de25d921a5d\"\u003e\u003ccode\u003ed749ee1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1053\"\u003e#1053\u003c/a\u003e from stleary/update-security-md-with-key\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/649598338f5c7ed3bb8891e1d74ef589f9d0617e\"\u003e\u003ccode\u003e6495983\u003c/code\u003e\u003c/a\u003e update-security-md-with-key new security.md file, also fixed 1000 level jsona...\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/896ce0fb74b529ceb8618cb64cf63dec67a56e61\"\u003e\u003ccode\u003e896ce0f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1046\"\u003e#1046\u003c/a\u003e from yuki-matsuhashi/master\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/187706978099ef7f201ce04fb8ffd507a7d8b405\"\u003e\u003ccode\u003e1877069\u003c/code\u003e\u003c/a\u003e Validate XML numeric character references before string construction\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/b959027aa2e0f2757ffa53f3941e729590df90ea\"\u003e\u003ccode\u003eb959027\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1044\"\u003e#1044\u003c/a\u003e from yuki-matsuhashi/1043-ignore-static\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/039f331d7d9baac6c5568fd4087be96f28eedc65\"\u003e\u003ccode\u003e039f331\u003c/code\u003e\u003c/a\u003e Add comment for empty test constructor\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/94e340002b6cee528e0dc153fc9eca276286b571\"\u003e\u003ccode\u003e94e3400\u003c/code\u003e\u003c/a\u003e Ignore static fields in JSONObject.fromJson()\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/stleary/JSON-java/commit/6230128f59a680ae2cedb845d6d9962fd1c40eb5\"\u003e\u003ccode\u003e6230128\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href\u003d\"https://redirect.github.com/douglascrockford/JSON-java/issues/1041\"\u003e#1041\u003c/a\u003e from stleary/license-clarification\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href\u003d\"https://github.com/douglascrockford/JSON-java/compare/20251224...20260522\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dorg.json:json\u0026package-manager\u003dgradle\u0026previous-version\u003d20251224\u0026new-version\u003d20260522)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\u003c/details\u003e"
    },
    {
      "commit": "9d59a3061a9e47208e29d525ac690234fb232d37",
      "tree": "9d79977d403d7077acc8506ffb03c5abdfe850ac",
      "parents": [
        "69cf9591b73317143217d6761ee45d707da544a0"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Tue May 26 17:23:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 17:23:34 2026"
      },
      "message": "[google_maps_flutter] Add a pinned-SDK web example app (#11761)\n\nThe tree is currently closed because Google Maps SDK 3.65 came out, and it throws exceptions why trying to use heatmaps, as that functionality has been removed from the SDK.\r\n\r\nThis fixes the tree by creating a second example app for `google_maps_flutter_web` that pins version 3.64 of the Google Maps SDK:\r\n- copied the original example\r\n- removed all of the non-heatmap tests\r\n- consolidated the tests into one file (since it\u0027s not clear to me why we had two almost identically-named tests in the firs place, and it was especially confusing with just a few tests)\r\n\r\nThe heatmap tests have been removed from the main example, where they throw.\r\n\r\nThe README has been updated to explain that heatmaps are deprecated, and using them requires pinning 3.64.\r\n\r\nFixes https://github.com/flutter/flutter/issues/186946\r\n\r\n## Pre-Review Checklist\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."
    },
    {
      "commit": "69cf9591b73317143217d6761ee45d707da544a0",
      "tree": "00694e1d873d25e244175c9277957b3b34101bd3",
      "parents": [
        "3754d046a9576629e90896d200322fe6033fea39"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Thu May 21 19:51:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 21 19:51:21 2026"
      },
      "message": "[tool] Support alternate repositories (#11743)\n\nMoves some hard-code repo information, such as the expected source link base in pubspec.yaml, to repo-level configuration. Also consolidates the `tool_config` directory introduced in the last refactoring into a single `.repo_tool_config.yaml` to consolidate things and better match most other Dart/Flutter config systems (analyzer, project pubspec, LUCI config, etc.)\r\n\r\nFixes https://github.com/flutter/flutter/issues/185364"
    },
    {
      "commit": "3754d046a9576629e90896d200322fe6033fea39",
      "tree": "d7dcf241f0f3bea4773ba75f8ba10e2ac519003d",
      "parents": [
        "a0ad9d99b16e1879f597f9c0b0150cb01f29a57e"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Thu May 21 14:31:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 21 14:31:16 2026"
      },
      "message": "[tool] Restore publishability (#11745)\n\nRestores the repo tooling to a publishable state, so that we can start using it for flutter/core-packages.\r\n\r\nI expect fixes will be necessary to make it actually work correctly in that repo, but this gives us a foundation to iterate from where we can actually publish and test changes:\r\n- Removes `publish_to: none`\r\n- Restores the old CHANGELOG, and adds a new entry for the new version.\r\n- Moves the formatter download cache to the repo root instead of a directory that other repo\u0027s wont have\r\n- Changes the setup to find the repo root by walking up from the current directory until finding something that looks like the repo root, rather than hard-coding a relative path from the invoked script.\r\n- Adds back some initial documentation about how to use this in another repo. Having two ways of running it was always confusing to explain, so this tries a new approach of demonstrating setting up an alias, and then having all the examples use that alias. We may need to iterate if that proves confusing (to people and/or to AI agents)\r\n\r\nFixes https://github.com/flutter/flutter/issues/185764"
    },
    {
      "commit": "a0ad9d99b16e1879f597f9c0b0150cb01f29a57e",
      "tree": "5ee20de22ff9f1843eedde56d3c234cff315d291",
      "parents": [
        "1dfbadab068deb7fbbe925b5523257e8649fe071"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Wed May 20 20:41:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 20 20:41:01 2026"
      },
      "message": "Roll Flutter from 259aeae0e0ba to e03b91f1fe34 (21 revisions) (#11747)\n\nhttps://github.com/flutter/flutter/compare/259aeae0e0ba...e03b91f1fe34\n\n2026-05-20 engine-flutter-autoroll@skia.org Roll Packages from ade10cafbad7 to 1dfbadab068d (6 revisions) (flutter/flutter#186811)\n2026-05-20 brunocorona.alcantar@gmail.com Fix AnimatedList.separated assert when removing last item mid-removal… (flutter/flutter#186389)\n2026-05-20 engine-flutter-autoroll@skia.org Roll Skia from d45969a5752e to 5f4f454b9662 (2 revisions) (flutter/flutter#186809)\n2026-05-20 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from -F9Ci3Opxt06MixDl... to iKCvaD58jKStYGla0... (flutter/flutter#186796)\n2026-05-20 engine-flutter-autoroll@skia.org Roll Skia from 19ad9707e5c6 to d45969a5752e (2 revisions) (flutter/flutter#186792)\n2026-05-20 engine-flutter-autoroll@skia.org Roll Skia from 3471ebf5af0c to 19ad9707e5c6 (9 revisions) (flutter/flutter#186772)\n2026-05-20 mdebbar@google.com [web] Refactor webparagraph painters to separate CK properly (flutter/flutter#186684)\n2026-05-19 31859944+LongCatIsLooong@users.noreply.github.com Enable Swift testing in the iOS embedder (flutter/flutter#185712)\n2026-05-19 mdebbar@google.com [web] Rename WebParagraph goldens (flutter/flutter#186680)\n2026-05-19 engine-flutter-autoroll@skia.org Roll Skia from f1b406860c5e to 3471ebf5af0c (5 revisions) (flutter/flutter#186745)\n2026-05-19 154381524+flutteractionsbot@users.noreply.github.com Revert \"Ship gen_snapshot for linux-arm64 hosts targeting Android\" (flutter/flutter#186693)\n2026-05-19 bkonyi@google.com [ Tool ] Remove legacy analytics code (flutter/flutter#184994)\n2026-05-19 chingjun@google.com Update Vulkan enum values (flutter/flutter#186694)\n2026-05-19 1961493+harryterkelsen@users.noreply.github.com fix(web): Fixes CSS override detection when the browser has a default font size (flutter/flutter#186474)\n2026-05-19 30870216+gaaclarke@users.noreply.github.com adds linux impeller hello world integration test (flutter/flutter#186715)\n2026-05-19 jason-simmons@users.noreply.github.com Update the list of binaries in the code signing verification test to include new Dart snapshots (flutter/flutter#186754)\n2026-05-19 brunocorona.alcantar@gmail.com Make EdgeDraggingAutoScroller respect ScrollPhysics (flutter/flutter#186541)\n2026-05-19 bkonyi@google.com [ Widget Preview ] Fix inspector split resize focus loss over WebViews (flutter/flutter#186432)\n2026-05-19 engine-flutter-autoroll@skia.org Roll Packages from b9bdd3756ec6 to ade10cafbad7 (1 revision) (flutter/flutter#186746)\n2026-05-19 jason-simmons@users.noreply.github.com Manual Dart roll from 8e30b88e4d5a to 66873d2da857 (flutter/flutter#186690)\n2026-05-19 bkonyi@google.com [ Widget Preview ] Improve zoom behavior and add zoom slider (flutter/flutter#186422)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "1dfbadab068deb7fbbe925b5523257e8649fe071",
      "tree": "3a415898de8ce8ec02ffb345bb6127f23f0cb3c5",
      "parents": [
        "d1910eadb0213ae64dad4bcc92d9f5a002e5ea24"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Wed May 20 13:33:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 20 13:33:11 2026"
      },
      "message": "[ci] Update repo for 3.44 stable release (#11741)\n\nDoes the steps for https://github.com/flutter/flutter/blob/master/docs/ecosystem/release/Updating-Packages-repo-for-a-stable-release.md for the 3.44 stable release."
    },
    {
      "commit": "d1910eadb0213ae64dad4bcc92d9f5a002e5ea24",
      "tree": "9f539418b34f6900dd8b71e5725622e4b5671afa",
      "parents": [
        "d06069201a179162ce157334839ce06ceb90ea32"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Wed May 20 11:18:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 20 11:18:07 2026"
      },
      "message": "[tool] Unify most validation commands (#11641)\n\nReplaces all of the following repo tooling commands with a new unified `validate` command:\r\n- `dependabot-check`\r\n- `gradle-check`\r\n- `pubspec-check`\r\n- `readme-check`\r\n- `repo-package-info-check`\r\n- `version-check`\r\n\r\nIt also makes some simplifications in using these:\r\n- Temporarily disabling the code excerpt check is now done via package-level ci_config.yaml files. This means that we don\u0027t have to exempt a package from the entire command just for this, and also means that fixing a package and removing its exemption will no longer trigger whole-repo testing as it used to.\r\n- Setting the min Flutter version allowed for the repo is now a repo-level config in a new root level `tool_config/` directory. This avoids the need to pass a flag every time for something that isn\u0027t actually intended to be variable.\r\n- The allowed dependencies are now also in hard-coded locations in the `tool_config/` directory, instead of having to pass them in all the time, to make the commands easier to call. As with min SDK version, this isn\u0027t something callers actually need to be able to change on the fly to the flags add more complexity (in exchange for making it extremely clear at the CI call site what was happening, but I no longer think that tradeoff is the right one based on experience using the tool).\r\n\r\nTo avoid huge amounts of test file churn, and massively complicating test setup, there is a test-only mechanism to select individual validators to run in tests, rather than having to test the entire command at once.\r\n\r\nPart of https://github.com/flutter/flutter/issues/173413"
    },
    {
      "commit": "d06069201a179162ce157334839ce06ceb90ea32",
      "tree": "52bcea7596d1ef37c01ab5ad253bbac2e599b3b1",
      "parents": [
        "ede9842edc88e7b0356bbd32e0ac9460a96facb0"
      ],
      "author": {
        "name": "David Martos",
        "email": "davidmartos96@gmail.com",
        "time": "Tue May 19 21:06:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 21:06:08 2026"
      },
      "message": "[google_sign_in_android] Update android libraries (#11694)\n\nUpdates the Google Credentials dependencies\r\n\r\nFixes https://github.com/flutter/flutter/issues/186395\r\n\r\nThis piece of code has been updated as the `requestOfflineAccess` method was deprecated: https://developers.google.com/android/reference/com/google/android/gms/auth/api/identity/AuthorizationRequest.Builder#public-authorizationrequest.builder-requestofflineaccess-string-serverclientid,-boolean-forcecodeforrefreshtoken\r\n\u003cimg width\u003d\"1723\" height\u003d\"509\" alt\u003d\"image\" src\u003d\"https://github.com/user-attachments/assets/f7b2288d-a460-4311-ac4d-7b031a8fbd0d\" /\u003e\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."
    },
    {
      "commit": "ede9842edc88e7b0356bbd32e0ac9460a96facb0",
      "tree": "a4383e5c1f58955699b6c06c59121c1f68e75a30",
      "parents": [
        "e7bd5e344fced9cbc56e815cb08329c3957b7975"
      ],
      "author": {
        "name": "LouiseHsu",
        "email": "louisehsu@google.com",
        "time": "Tue May 19 17:21:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 17:21:25 2026"
      },
      "message": "[in_app_purchase_storekit] Replace deprecated offer code API (#11223)\n\nFixes https://github.com/flutter/flutter/issues/162914\r\n\r\n## Pre-Review Checklist"
    },
    {
      "commit": "e7bd5e344fced9cbc56e815cb08329c3957b7975",
      "tree": "7d949fb9654c2ffde4b34b6e3baf7d97d60814f8",
      "parents": [
        "896da240cd939c3417e03f2c60c2fe86dc378b40"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Tue May 19 15:59:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 15:59:08 2026"
      },
      "message": "Roll Flutter (stable) from 00b0c91f0620 to 559ffa3f75e7 (1442 revisions) (#11730)\n\nhttps://github.com/flutter/flutter/compare/00b0c91f0620...559ffa3f75e7\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-stable-packages\nPlease CC stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Flutter (stable): https://github.com/flutter/flutter/issues/new/choose\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "896da240cd939c3417e03f2c60c2fe86dc378b40",
      "tree": "eb28c0d6d8dd73be7c87ba381ed672622b6efc22",
      "parents": [
        "ade10cafbad7dae826a7641a2cb759f8f8865f52"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Tue May 19 15:45:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 15:45:59 2026"
      },
      "message": "Roll Flutter from 3598686e42e3 to 259aeae0e0ba (19 revisions) (#11737)\n\nhttps://github.com/flutter/flutter/compare/3598686e42e3...259aeae0e0ba\n\n2026-05-19 engine-flutter-autoroll@skia.org Roll Skia from 967ddb1aa561 to f1b406860c5e (2 revisions) (flutter/flutter#186731)\n2026-05-19 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 5Ki-dBY4SpWdQMF_3... to -F9Ci3Opxt06MixDl... (flutter/flutter#186727)\n2026-05-19 116356835+AbdeMohlbi@users.noreply.github.com Remove unused field in `ResourceExtractor` (flutter/flutter#186629)\n2026-05-19 mbrase@google.com Update Fuchsia tests to use realm_builder_server as a subpackage (flutter/flutter#186409)\n2026-05-19 engine-flutter-autoroll@skia.org Roll Skia from cebf49d034b8 to 967ddb1aa561 (4 revisions) (flutter/flutter#186720)\n2026-05-19 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#186721)\n2026-05-19 chris@bracken.jp [macOS][gn] support both x64/arm64 macOS host clang toolchains for ASAN (flutter/flutter#186669)\n2026-05-19 chris@bracken.jp [macOS][gn] Use arm64 clang in generate_coverage.py on arm64 Macs (flutter/flutter#186662)\n2026-05-19 awolff@google.com Fix broken link in impeller golden_tests readme (flutter/flutter#186470)\n2026-05-19 engine-flutter-autoroll@skia.org Roll Skia from 27f7bba22600 to cebf49d034b8 (37 revisions) (flutter/flutter#186699)\n2026-05-19 chris@bracken.jp [macOS][gn] Use arm64 clang in verify_exported.dart on arm64 Macs (flutter/flutter#186664)\n2026-05-19 chris@bracken.jp [macOS][gn] Use arm64 clang in sanitizer_suppressions.sh on arm64 Macs (flutter/flutter#186663)\n2026-05-19 chris@bracken.jp [macOS][gn] Use arm64 clang in copy_info_plist.py on arm64 Macs (flutter/flutter#186661)\n2026-05-19 58529443+srujzs@users.noreply.github.com Complete completer only once in hot restart tests (flutter/flutter#186702)\n2026-05-18 30870216+gaaclarke@users.noreply.github.com Testing autosubmit bot -- updating testowners (flutter/flutter#185226)\n2026-05-18 chris@bracken.jp [ios] Correct handling for CADisplayLink paused-to-unpaused transitions (flutter/flutter#186457)\n2026-05-18 chris@bracken.jp [Android][macOS][gn] support both x64/arm64 macOS host clang toolchains (flutter/flutter#186660)\n2026-05-18 engine-flutter-autoroll@skia.org Roll Packages from 32c84d652e54 to b9bdd3756ec6 (2 revisions) (flutter/flutter#186683)\n2026-05-18 jesswon@google.com [AGP 9] Upgrade Flutter Test Apps to AGP 9 (flutter/flutter#186200)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "ade10cafbad7dae826a7641a2cb759f8f8865f52",
      "tree": "069dc53f48413e88bf294717dfe28d3d775468c9",
      "parents": [
        "b9bdd3756ec67a12075dcaaa7b3caf4b35a13452"
      ],
      "author": {
        "name": "fondoger",
        "email": "fondoger@outlook.com",
        "time": "Mon May 18 22:54:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 22:54:09 2026"
      },
      "message": "[vector_graphics][vector_graphics_compiler] Fix text-anchor and tspan gap with adjacent \u003ctspan\u003es (#11637)\n\n## Summary\r\n\r\n`\u003ctext x\u003d\"...\" text-anchor\u003d\"middle\"\u003e\u003ctspan\u003eABCDEFG\u003c/tspan\u003e\u003ctspan\u003eABCDEFG\u003c/tspan\u003e\u003c/text\u003e` rendered noticeably differently from the equivalent single-tspan `\u003ctspan\u003eABCDEFGABCDEFG\u003c/tspan\u003e`: the two-tspan version was shifted right past the anchor *and* had a visible space between the two tspans. Two independent root causes, fixed in two separate places.\r\n\r\n**1. `vector_graphics` — anchor applies per-chunk, not per-tspan.** The listener was independently offsetting each tspan\u0027s paragraph by `dx - paragraphWidth * xAnchorMultiplier`. Per the SVG spec, `text-anchor` applies to the entire anchored chunk (the contiguous run of glyphs whose start is established by an explicit `x`/`y`), not to each tspan in isolation. The listener now buffers per-tspan paragraphs within a chunk, flushes on the next explicit position update or on `toPicture()`, and applies the anchor offset to the chunk total. `text-anchor\u003d\"start\"` behavior is unchanged. A new TextPosition with `x` (or `reset\u003dtrue`) starts a new chunk; bare per-tspan TextPositions emitted by the parser do not.\r\n\r\n**2. `vector_graphics_compiler` — parser injected a spurious space between adjacent tspans.** `_appendText` had a \"previous element was a tspan ⇒ prepend a space\" rule that fired regardless of whether the source actually had whitespace at the boundary. So `\u003ctspan\u003eA\u003c/tspan\u003e\u003ctspan\u003eB\u003c/tspan\u003e` parsed to `[\u0027A\u0027, \u0027 B\u0027]` (the visible gap), even though every browser parses it to `\u0027AB\u0027`. Replaced with a rule that only prepends when whitespace truly exists at the boundary — either as a leading-whitespace prefix on the current text, or as an earlier whitespace-only text event we\u0027ve now flagged.\r\n\r\nTests added on both sides:\r\n- `vector_graphics/test/listener_test.dart`: `Text anchor middle centers the entire chunk across tspans` — drives the listener with a two-tspan middle-anchored chunk (including the parser\u0027s bare per-tspan TextPosition between them) and asserts the second tspan starts at the original x.\r\n- `vector_graphics_compiler/test/parser_test.dart`: `adjacent tspans without whitespace are not separated by a space` and `adjacent tspans with whitespace between still get a space` — locks down both branches of the new parser rule.\r\n\r\nBoth packages bumped to `1.2.1` with CHANGELOG entries.\r\n\r\nFixes flutter/flutter#185927\r\n\r\n## Before / After\r\n\r\n| SVG | Before (buggy) | After (this PR) |\r\n| --- | --- | --- |\r\n| **svg1** (single tspan)\u003cbr\u003e`\u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" width\u003d\"200\" height\u003d\"100\" fill\u003d\"none\"\u003e`\u003cbr\u003e\u0026nbsp;\u0026nbsp;`\u003ctext x\u003d\"100\" y\u003d\"50\" text-anchor\u003d\"middle\" fill\u003d\"#FF0000\"\u003e`\u003cbr\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;`\u003ctspan\u003eABCDEFGABCDEFG\u003c/tspan\u003e`\u003cbr\u003e\u0026nbsp;\u0026nbsp;`\u003c/text\u003e`\u003cbr\u003e`\u003c/svg\u003e`\u003cbr\u003e\u003cbr\u003e**svg2** (two tspans)\u003cbr\u003e`\u003csvg xmlns\u003d\"http://www.w3.org/2000/svg\" width\u003d\"200\" height\u003d\"100\" fill\u003d\"none\"\u003e`\u003cbr\u003e\u0026nbsp;\u0026nbsp;`\u003ctext x\u003d\"100\" y\u003d\"50\" text-anchor\u003d\"middle\" fill\u003d\"#FF0000\"\u003e`\u003cbr\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;`\u003ctspan\u003eABCDEFG\u003c/tspan\u003e\u003ctspan\u003eABCDEFG\u003c/tspan\u003e`\u003cbr\u003e\u0026nbsp;\u0026nbsp;`\u003c/text\u003e`\u003cbr\u003e`\u003c/svg\u003e` | \u003cimg width\u003d\"390\" height\u003d\"844\" alt\u003d\"image\" src\u003d\"https://github.com/user-attachments/assets/7ffbe594-d821-4b4c-b759-c5fb61a61339\" /\u003e | \u003cimg width\u003d\"780\" height\u003d\"1688\" alt\u003d\"image\" src\u003d\"https://github.com/user-attachments/assets/076b69fb-2bfc-490a-9669-566e45f7e9a2\" /\u003e |\r\n\r\n## Test plan\r\n\r\n🤖 Generated with [Claude Code](https://claude.com/claude-code)"
    },
    {
      "commit": "b9bdd3756ec67a12075dcaaa7b3caf4b35a13452",
      "tree": "cdbe7d278bfff1995dfbd9f0dca35cf7fd236528",
      "parents": [
        "70ff7f8799ea3737520754f1f1b12818d4149d2c"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Mon May 18 15:28:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 15:28:22 2026"
      },
      "message": "Roll Flutter from 1ceffd11a471 to 3598686e42e3 (17 revisions) (#11724)\n\nhttps://github.com/flutter/flutter/compare/1ceffd11a471...3598686e42e3\n\n2026-05-17 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from G9xv1qcMhvXOy-9pk... to 5Ki-dBY4SpWdQMF_3... (flutter/flutter#186636)\n2026-05-17 bdero@google.com [Impeller] Canonicalize uniform block instance names for the GL backends (flutter/flutter#186394)\n2026-05-16 srawlins@google.com [widgets] Use super parameters in missed spots (flutter/flutter#186198)\n2026-05-16 120367427+master-wayne7@users.noreply.github.com refactor: Remove material imports from Widget tests  (flutter/flutter#185078)\n2026-05-16 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#186602)\n2026-05-16 chris@bracken.jp [gn] Fix typo in comment (flutter/flutter#186549)\n2026-05-16 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from y6uQHA5xUN83IF395... to G9xv1qcMhvXOy-9pk... (flutter/flutter#186599)\n2026-05-15 30870216+gaaclarke@users.noreply.github.com Removes bringup from passing macos/sdf tests (flutter/flutter#186527)\n2026-05-15 mdebbar@google.com [web] Fix several WebParagraph bugs (flutter/flutter#186403)\n2026-05-15 alex.medinsh@gmail.com Display the team ID and name when selecting a signing certificate (flutter/flutter#184665)\n2026-05-15 chris@bracken.jp [iOS] Improve documentation on FlutterVSyncClient and FlutterDisplayLink (flutter/flutter#186456)\n2026-05-15 jason-simmons@users.noreply.github.com Increase the run time of text field integration tests to 10 seconds (flutter/flutter#186475)\n2026-05-15 155553833+MatejLNCD@users.noreply.github.com Fix web-server hot restart/reload not applying changes for entrypoints outside lib (flutter/flutter#183838)\n2026-05-15 1063596+reidbaker@users.noreply.github.com Update dart_skills_lint dependency to e449787 and optimize skills validation test (flutter/flutter#186528)\n2026-05-15 engine-flutter-autoroll@skia.org Roll Packages from 2ec2236264c2 to 32c84d652e54 (3 revisions) (flutter/flutter#186583)\n2026-05-15 53112208+BilalRehman08@users.noreply.github.com Dispose TextEditingController in IndexedStack example (flutter/flutter#186375)\n2026-05-15 34465683+rkishan516@users.noreply.github.com refactor: update filename for sliver semantic widget (flutter/flutter#185917)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC bmparr@google.com,stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "70ff7f8799ea3737520754f1f1b12818d4149d2c",
      "tree": "44df673404a18056b2d64480ff8833383bccf2ca",
      "parents": [
        "32c84d652e5425c81796f9170094133101b5ebaf"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Fri May 15 22:17:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 15 22:17:53 2026"
      },
      "message": "Roll Flutter from 0541913d86db to 1ceffd11a471 (2 revisions) (#11719)\n\nhttps://github.com/flutter/flutter/compare/0541913d86db...1ceffd11a471\n\n2026-05-14 ikramhasan.dev@gmail.com Fix selection highlight artifacts for faded selectable text (flutter/flutter#183628)\n2026-05-14 46920873+gabrimatic@users.noreply.github.com Fix nested Text.rich semantics order (flutter/flutter#186116)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC bmparr@google.com,stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "32c84d652e5425c81796f9170094133101b5ebaf",
      "tree": "5a25e4c247b6480b3885b1b788b04e656a84cc3f",
      "parents": [
        "7354d0a5352ece4c3ee9e74419dbbb8c288845f1"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Fri May 15 03:08:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 15 03:08:54 2026"
      },
      "message": "Manual roll Flutter from 23f6f5853f50 to 0541913d86db (28 revisions) (#11713)\n\nManual roll requested by bmparr@google.com\n\nhttps://github.com/flutter/flutter/compare/23f6f5853f50...0541913d86db\n\n2026-05-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts \"[Windows] Propagate the enabled accessibility state (#184501)\" (flutter/flutter#186492)\n2026-05-13 srawlins@google.com [dev] Use super parameters in missed spots (flutter/flutter#186193)\n2026-05-13 loic.peron@inetum.com [Windows] Propagate the enabled accessibility state (flutter/flutter#184501)\n2026-05-13 matt.boetger@gmail.com [flutter_tool] filter out MotionEvent-JNI warning spam from logcat (#174783) (flutter/flutter#186079)\n2026-05-13 engine-flutter-autoroll@skia.org Roll Packages from 93cbed65f336 to 2ec2236264c2 (1 revision) (flutter/flutter#186464)\n2026-05-13 mdebbar@google.com [web] Fix untriaged issues link label (flutter/flutter#186465)\n2026-05-13 bdero@google.com [Impeller] Namespace user-supplied shaders to prevent entrypoint collisions (flutter/flutter#186332)\n2026-05-13 1063596+reidbaker@users.noreply.github.com [flutter_tools] Migrate detectLowCompileSdkVersionOrNdkVersion to AGP task (flutter/flutter#184731)\n2026-05-13 jason-simmons@users.noreply.github.com Update the Flutter Gallery web app template files to support running with Wasm (flutter/flutter#186268)\n2026-05-13 jason-simmons@users.noreply.github.com [web] Use heap allocation for buffers that would consume too much space on the Wasm stack (flutter/flutter#186228)\n2026-05-13 engine-flutter-autoroll@skia.org Roll Skia from 56ca5896c0d9 to 27f7bba22600 (3 revisions) (flutter/flutter#186444)\n2026-05-13 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from z7ICmPtn4hspu02zk... to y6uQHA5xUN83IF395... (flutter/flutter#186442)\n2026-05-13 engine-flutter-autoroll@skia.org Roll Skia from 6385958d2feb to 56ca5896c0d9 (1 revision) (flutter/flutter#186441)\n2026-05-13 engine-flutter-autoroll@skia.org Roll Dart SDK from 9576691c37d8 to 8e30b88e4d5a (1 revision) (flutter/flutter#186429)\n2026-05-13 engine-flutter-autoroll@skia.org Roll Skia from 77a21bc723dc to 6385958d2feb (9 revisions) (flutter/flutter#186428)\n2026-05-13 164032450+AlexEduV@users.noreply.github.com Docs/improving docs for semantics UI lib (flutter/flutter#186125)\n2026-05-12 jason-simmons@users.noreply.github.com [Tool] Support glob patterns when parsing workspaces in FlutterProject (flutter/flutter#185715)\n2026-05-12 nico.reiab@gmail.com docs: fix overriden -\u003e overridden in MediaQueryData dartdoc (flutter/flutter#186323)\n2026-05-12 brackenavaron@gmail.com [Test cross imports] No material in `test/foundation`, `test/gestures`, `test/semantics`, `test/services` (flutter/flutter#186144)\n2026-05-12 nico.reiab@gmail.com docs: fix \"tha\" -\u003e \"that\" typo in widget_inspector_test comment (flutter/flutter#186322)\n2026-05-12 nico.reiab@gmail.com docs: Fix doubled-word typos in framework dartdoc (flutter/flutter#186319)\n2026-05-12 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#186418)\n2026-05-12 30870216+gaaclarke@users.noreply.github.com Bumped required mediatek vender sdk version. (flutter/flutter#186405)\n2026-05-12 magder@google.com Make DeepLinkJsonFromManifestTask Gradle task build cacheable (flutter/flutter#185903)\n2026-05-12 66727653+ishaq2321@users.noreply.github.com Harden dev tooling scripts against command injection and log leaks (flutter/flutter#186076)\n2026-05-12 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#186274)\n2026-05-12 bdero@google.com [Flutter GPU] Allow allocating multi-mip textures and overwriting specific (mip, slice) levels (flutter/flutter#185890)\n2026-05-12 zhongliu88889@gmail.com [web] Fix MenuAnchor dismiss when semantics enabled (flutter/flutter#183093)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC bmparr@google.com,stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "7354d0a5352ece4c3ee9e74419dbbb8c288845f1",
      "tree": "697933a1988d4032e7bbfbcc4f47b5c93574b41e",
      "parents": [
        "0ffbde8f622b8dc61e4608483dc4f80f7fab027b"
      ],
      "author": {
        "name": "StefanGilligan",
        "email": "s_gilligan@live.co.uk",
        "time": "Fri May 15 03:07:10 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 15 03:07:10 2026"
      },
      "message": "[video_player] Fix washed-out HDR video playback on iOS (#11569)\n\nDeclares BT.709 color properties on `AVPlayerItemVideoOutput` so AVFoundation tone-maps HDR sources (HLG, PQ, Dolby Vision) into the Flutter texture on the way into the pixel buffer.\n\nPreviously the output was constructed with only pixel buffer attributes, so HDR BT.2020 samples reached the Flutter texture unconverted, were sampled as sRGB, and produced washed-out highlights, raised blacks, and desaturated midtones. SDR (BT.709) sources are unaffected (BT.709 → BT.709 is a no-op).\n\nThe canonical fix per Apple is to construct the output with `-initWithOutputSettings:` and pass `AVVideoColorPropertiesKey` with a BT.709 triplet. `AVVideoColorPropertiesKey` placed under `pixelBufferAttributes` is silently ignored — this is the trap that has kept the underlying issue open for years.\n\nInternal factory method renamed from `videoOutputWithPixelBufferAttributes:` to `videoOutputWithOutputSettings:` to reflect that the dictionary is now output settings (which may still include pixel buffer attribute keys).\n\nReferences:\n- WWDC22 \"Display HDR video in EDR with AVFoundation and Metal\"\n- Apple Developer Forum thread 686044\n\n## Fixes\n\n- fixes flutter/flutter#91241\n- fixes flutter/flutter#143080 (closed as duplicate of #91241)\n\n## Tested on\n\nManual validation against an iPhone camera roll containing HLG and Dolby Vision clips, played inside a Flutter app using `video_player`. Before: preview washed out, highlights clipped grey, blacks raised. After: preview matches Photos.app for the same source clip. SDR BT.709 content renders identically to before.\n\nA unit test (`videoOutputIsConfiguredWithBT709ColorProperties`) was added to assert the BT.709 triplet is present in the `outputSettings` dictionary passed to the factory — this locks in the fix against silent regression (since the old `pixelBufferAttributes`-only path produced no test failure and no runtime error, just visually wrong output).\n\n## Pre-Review Checklist"
    },
    {
      "commit": "0ffbde8f622b8dc61e4608483dc4f80f7fab027b",
      "tree": "23b9ab950a98ba2706c349109749a2ee8940723e",
      "parents": [
        "2ec2236264c26793484f7cf81f2c90b93074f701"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Thu May 14 17:41:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 14 17:41:21 2026"
      },
      "message": "Roll Flutter from 707dbc0420a3 to 23f6f5853f50 (149 revisions) (#11700)\n\nRoll Flutter from 707dbc0420a3 to 23f6f5853f50 (149 revisions)\n\nhttps://github.com/flutter/flutter/compare/707dbc0420a3...23f6f5853f50\n\n2026-05-12 737941+loic-sharma@users.noreply.github.com Add \u0027cp: review\u0027 label to the manual cherrypick process (flutter/flutter#186158)\n2026-05-12 engine-flutter-autoroll@skia.org Roll Packages from 19ec8b861676 to 93cbed65f336 (3 revisions) (flutter/flutter#186401)\n2026-05-12 30870216+gaaclarke@users.noreply.github.com Removes SDF option for macOS (always enabled) (flutter/flutter#186265)\n2026-05-12 nico.reiab@gmail.com docs: fix typos in flutter_tools comments (flutter/flutter#186321)\n2026-05-12 15619084+vashworth@users.noreply.github.com Pass XcodeBasedProject instead of String to functions in XcodeProjectInterpreter (flutter/flutter#186378)\n2026-05-12 jason-simmons@users.noreply.github.com Update iOS scenario app test goldens to match changes from https://github.com/flutter/flutter/pull/182662 (flutter/flutter#186390)\n2026-05-12 engine-flutter-autoroll@skia.org Roll Skia from ad0aff15b9fa to 77a21bc723dc (2 revisions) (flutter/flutter#186396)\n2026-05-12 32538273+ValentinVignal@users.noreply.github.com Migrate focus_node.unfocus.0.dart to use `RadioGroup` (flutter/flutter#183979)\n2026-05-12 engine-flutter-autoroll@skia.org Roll Skia from 91d3c1e730af to ad0aff15b9fa (7 revisions) (flutter/flutter#186391)\n2026-05-12 bdero@google.com [Flutter GPU] Allow customizing the vertex layout on a RenderPipeline (flutter/flutter#186310)\n2026-05-12 97480502+b-luk@users.noreply.github.com Fix `EmbedderTest.CanRenderTextWithImpellerMetal` test breakage (flutter/flutter#186262)\n2026-05-12 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from rFhU-YPqdCRCtCz7b... to z7ICmPtn4hspu02zk... (flutter/flutter#186384)\n2026-05-12 bdero@google.com [Impeller] GLES: lazily allocate texture mip levels on first per-level write (flutter/flutter#186302)\n2026-05-12 bdero@google.com [Android] Propagate --enable-flutter-gpu Intent extra to engine args (flutter/flutter#186298)\n2026-05-11 47866232+chunhtai@users.noreply.github.com [ci] update no-response workflow to also look for old label name in e… (flutter/flutter#186373)\n2026-05-11 bdero@google.com [ImpellerC] Write a depfile when --shader-bundle is in use (flutter/flutter#186341)\n2026-05-11 nico.reiab@gmail.com docs: fix doubled-word typos in comments (flutter/flutter#186320)\n2026-05-11 engine-flutter-autoroll@skia.org Roll Skia from 32281401997e to 91d3c1e730af (4 revisions) (flutter/flutter#186368)\n2026-05-11 15619084+vashworth@users.noreply.github.com Show SwiftPM warnings right before iOS/macOS build (flutter/flutter#185984)\n2026-05-11 15619084+vashworth@users.noreply.github.com Convert rebuilding-flutter-tool script to dart (flutter/flutter#185089)\n2026-05-11 15619084+vashworth@users.noreply.github.com Use Xcode\u0027s LLDB (flutter/flutter#186273)\n2026-05-11 mr-peipei@web.de Remove `currentMainUri` from `generateMainDartWithPluginRegistrant` (flutter/flutter#185907)\n2026-05-11 engine-flutter-autoroll@skia.org Roll Skia from 2514f6b5f92b to 32281401997e (1 revision) (flutter/flutter#186349)\n2026-05-11 engine-flutter-autoroll@skia.org Roll Packages from 92552b16bcc1 to 19ec8b861676 (4 revisions) (flutter/flutter#186350)\n2026-05-11 1063596+reidbaker@users.noreply.github.com Check for absolute paths in skills.  (flutter/flutter#185632)\n2026-05-11 engine-flutter-autoroll@skia.org Roll Skia from 9fb7d2814642 to 2514f6b5f92b (1 revision) (flutter/flutter#186347)\n2026-05-11 engine-flutter-autoroll@skia.org Roll Skia from 8cafb209e836 to 9fb7d2814642 (4 revisions) (flutter/flutter#186335)\n2026-05-10 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from sOBiPJb0xznDBZlf5... to rFhU-YPqdCRCtCz7b... (flutter/flutter#186328)\n2026-05-10 engine-flutter-autoroll@skia.org Roll Skia from 05a03f99c74e to 8cafb209e836 (1 revision) (flutter/flutter#186315)\n2026-05-10 bdero@google.com [Impeller] Vulkan: don\u0027t drop user-supplied viewport X, Y, and depth range (flutter/flutter#185886)\n2026-05-09 mbrase@google.com Update Fuchsia tests to subpackage their child components (flutter/flutter#186259)\n2026-05-09 victorsanniay@gmail.com Fix SelectableText crash with inline lambda contextMenuBuilder (flutter/flutter#184990)\n2026-05-09 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 5_TnhTsHSqtCx37o6... to sOBiPJb0xznDBZlf5... (flutter/flutter#186289)\n2026-05-09 engine-flutter-autoroll@skia.org Roll Skia from dc78d4bd2efb to 05a03f99c74e (2 revisions) (flutter/flutter#186283)\n2026-05-09 22373191+Hari-07@users.noreply.github.com Improve non rect platform view rendering  (flutter/flutter#182662)\n2026-05-08 engine-flutter-autoroll@skia.org Roll Skia from 31521f8508c7 to dc78d4bd2efb (1 revision) (flutter/flutter#186278)\n2026-05-08 30870216+gaaclarke@users.noreply.github.com Moves wide_gamut_macos to arm64 (flutter/flutter#186214)\n2026-05-08 98614782+auto-submit[bot]@users.noreply.github.com Reverts \"[iOS] Migrate VSyncClient to a pure Obj-C implementation (#186166)\" (flutter/flutter#186266)\n2026-05-08 engine-flutter-autoroll@skia.org Roll Skia from a00db8749edb to 31521f8508c7 (2 revisions) (flutter/flutter#186264)\n2026-05-08 97480502+b-luk@users.noreply.github.com Optimize compatible `DrawDiffRoundRect` calls to use `DrawRoundRect` (flutter/flutter#186203)\n2026-05-08 bdero@google.com [triage] Add Flutter GPU as a triage team (flutter/flutter#186263)\n2026-05-08 dmgr@google.com doc: Unified Check-Run User manual (flutter/flutter#186210)\n2026-05-08 engine-flutter-autoroll@skia.org Roll Skia from 5f7adf4403d6 to a00db8749edb (1 revision) (flutter/flutter#186257)\n2026-05-08 engine-flutter-autoroll@skia.org Roll Packages from 0411f1deabb4 to 92552b16bcc1 (1 revision) (flutter/flutter#186256)\n2026-05-08 34871572+gmackall@users.noreply.github.com Add logging to figure out jvm crashes for `hot_mode_tests` (flutter/flutter#186107)\n2026-05-08 engine-flutter-autoroll@skia.org Roll Skia from 926c09741ce2 to 5f7adf4403d6 (3 revisions) (flutter/flutter#186242)\n..."
    },
    {
      "commit": "2ec2236264c26793484f7cf81f2c90b93074f701",
      "tree": "2dce239a639bb37a852dc7f2c617f7c8dd2cc5ea",
      "parents": [
        "93cbed65f3369703fcf46a7325bc188539bf5390"
      ],
      "author": {
        "name": "Kate Lovett",
        "email": "katelovett@google.com",
        "time": "Tue May 12 16:56:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 16:56:25 2026"
      },
      "message": "[two_dimensional_scrollables] Fixes TreeView crash when empty or last node collapsed (#11622)\n\nThis PR provides a robust fix for a crash in TreeView and resolves a regression introduced by a previous partial fix in PR #9103.\r\n\r\nPrevious attempts to fix the \"empty tree\" crash (shrinking to 0 rows) by moving _updateScrollBounds to the end of layout introduced a subtle inconsistency. When a node collapse triggered a scroll correction, the visible row range was recalculated after the layout loop had finished. This resulted in the paint phase attempting to access children that were never built, causing a null dereference (as seen in the Expand then collapse with offscreen nodes (top) test).\r\n\r\n* _updateVerticalScrollBounds is now called before the child layout loop. This ensures that any vertical scroll corrections (e.g., clamping when content shrinks) happen first, so the layout loop builds exactly the rows that will be visible.\r\n* Accurate Extent Calculation: Updated _updateScrollBounds to calculate the vertical scroll extent using the total height of all rows in _rowMetrics (via _rowMetrics.last.trailingOffset). This provides a consistent maxScrollExtent and correctly handles the \"empty tree\" state.\r\n* Correct Horizontal Bounds: Updated the horizontal extent calculation to use absolute content-relative positions, ensuring correct scroll bounds when scrolling horizontally.\r\n\r\nFixes https://github.com/flutter/flutter/issues/164981\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."
    },
    {
      "commit": "93cbed65f3369703fcf46a7325bc188539bf5390",
      "tree": "fed3f5f59cc6256060cf6e0a3ea0cb2d3f3fc463",
      "parents": [
        "5f6dd30f97f0fe8b6d9ed18004d0533f15d1acca"
      ],
      "author": {
        "name": "Shin Aoyama",
        "email": "smihica@gmail.com",
        "time": "Mon May 11 18:35:28 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 18:35:28 2026"
      },
      "message": "[vector_graphics] Fix uncaught StateError in useHtmlRenderObject on CanvasKit / iOS Safari (#11685)\n\n## Description\n\n`useHtmlRenderObject()` only caught `UnsupportedError` when probing\n`toImageSync`. CanvasKit on Mobile Safari (iOS 18.7) throws a `StateError`\n(\"Unable to convert read pixels from SkImage\") instead, which escapes the\n`try/catch` and crashes the widget subtree.\n\nThis change treats both `UnsupportedError` and `StateError` as\n\"use the HTML render object\" — the function only exists to probe and\npick a fallback.\n\n## Related Issues\n\nFixes flutter/flutter#186333\n\n## Tests\n\nThe failure mode is only triggered by specific CanvasKit / Mobile Safari\ncombinations (observed on iOS 18.7) and cannot be reproduced deterministically\nin a unit test against the host\u0027s renderer. Validated against production\ntelemetry on iOS 18.7 Safari, where this exception is currently uncaught and\nreaches users.\n\nAll existing `vector_graphics` and `vector_graphics_compiler` tests still\npass after the change."
    },
    {
      "commit": "5f6dd30f97f0fe8b6d9ed18004d0533f15d1acca",
      "tree": "64f7921fa013e66688e3b0aebd14b5962634f0fa",
      "parents": [
        "4a6a444218064d6350944ae7190165739d2bd511"
      ],
      "author": {
        "name": "fondoger",
        "email": "fondoger@outlook.com",
        "time": "Mon May 11 16:34:13 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 16:34:13 2026"
      },
      "message": "[vector_graphics_compiler] Add modern HSL color parsing (#11657)\n\n## Description\n\nFollow-up to flutter/packages#11619 and flutter/flutter#185833.\n\nThis moves HSL/HSLA function parsing from `parser.dart` into `colors.dart`, following the existing `parseCssRgb` / `parseRgbFunction` structure. It also adds support for the same practical legacy/modern syntax split already supported for RGB:\n\n- legacy comma-separated syntax, e.g. `hsl(270, 100%, 76%)`\n- modern space-separated syntax, e.g. `hsl(270 100% 76% / 0.5)`\n\nThis is intentionally scoped to the existing regex-based numeric parser style; it does not attempt to implement the full CSS Color 4 grammar.\n\n## Tests\n\n- Added `parseCssHsl` record parser tests covering legacy syntax, modern syntax, whitespace/case variations, decimal/negative tokens, and invalid syntax.\n- Added `SvgParser.parseColor` tests for modern HSL/HSLA conversion and HSLA alpha behavior.\n- Added HSLA alpha boundary and clamp tests for `0`, `0%`, `1`, `100%`, `50%`, `-0.5`, `-10%`, `2`, and `150%`.\n\nRan locally:\n\n```sh\nflutter test test/colors_test.dart test/parsers_test.dart\ndart analyze lib/src/svg/colors.dart lib/src/svg/parser.dart test/colors_test.dart test/parsers_test.dart\n```\n\n## Related Issues\n\nFixes https://github.com/flutter/flutter/issues/186153"
    },
    {
      "commit": "4a6a444218064d6350944ae7190165739d2bd511",
      "tree": "c51d4d86a4f088acdf084e825e77e733fc6731a0",
      "parents": [
        "19ec8b86167699c37f9046b459970ca489e1ce5c"
      ],
      "author": {
        "name": "August",
        "email": "git@reb0.org",
        "time": "Mon May 11 15:24:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 15:24:09 2026"
      },
      "message": "[ci] refactor: Cleanup tooling for handling arch build output \u003c\u003d Flutter v3.13.x (#11399)\n\nThere remained some code, which was left in to support build output for Flutter \u003c\u003d v3.16.x (see:  https://github.com/flutter/flutter/commit/792e26df9540cf2cf510ea0c11a53ba10a243424)\r\nAs the minimum supported Flutter version is 3.35.x as of https://github.com/flutter/packages/blob/eab1265529a0fe75e1f800ecf96c5012be155942/.ci/targets/repo_checks.yaml#L31\r\nwe can remove the special handling for versions prior v3.16.x.\r\n\r\nContributes to flutter/flutter#129807\r\n\r\n## Pre-Review Checklist\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."
    },
    {
      "commit": "19ec8b86167699c37f9046b459970ca489e1ce5c",
      "tree": "2283404dd7ec316a93d08cc0a02531bc714a2df1",
      "parents": [
        "ddc9430a0080bea73c5511732f396acde1f48fe0"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon May 11 12:19:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 12:19:39 2026"
      },
      "message": "Bump actions/labeler from 6.0.1 to 6.1.0 in the all-github-actions group (#11686)\n\nBumps the all-github-actions group with 1 update: [actions/labeler](https://github.com/actions/labeler).\n\nUpdates `actions/labeler` from 6.0.1 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href\u003d\"https://github.com/actions/labeler/releases\"\u003eactions/labeler\u0027s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.0\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd changed-files-labels-limit and max-files-changed configuration options to cap the number of labels added by \u003ca href\u003d\"https://github.com/bluca\"\u003e\u003ccode\u003e@​bluca\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/actions/labeler/pull/923\"\u003eactions/labeler#923\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove Labeler Action documentation and permission error handling by \u003ca href\u003d\"https://github.com/chiranjib-swain\"\u003e\u003ccode\u003e@​chiranjib-swain\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/actions/labeler/pull/897\"\u003eactions/labeler#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve manually added labels during workflow runs and refine label synchronization logic by \u003ca href\u003d\"https://github.com/chiranjib-swain\"\u003e\u003ccode\u003e@​chiranjib-swain\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/actions/labeler/pull/917\"\u003eactions/labeler#917\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade brace-expansion from 1.1.11 to 1.1.12 and document breaking changes in v6 by \u003ca href\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/actions/labeler/pull/877\"\u003eactions/labeler#877\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade minimatch from 10.0.1 to 10.2.3 by \u003ca href\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/actions/labeler/pull/926\"\u003eactions/labeler#926\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade dependencies (\u003ccode\u003e@​actions/core\u003c/code\u003e, \u003ccode\u003e@​actions/github\u003c/code\u003e, js-yaml, minimatch, \u003ca href\u003d\"https://github.com/typescript-eslint\"\u003e\u003ccode\u003e@​typescript-eslint\u003c/code\u003e\u003c/a\u003e) by \u003ca href\u003d\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href\u003d\"https://redirect.github.com/actions/labeler/pull/934\"\u003eactions/labeler#934\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/chiranjib-swain\"\u003e\u003ccode\u003e@​chiranjib-swain\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/actions/labeler/pull/897\"\u003eactions/labeler#897\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/bluca\"\u003e\u003ccode\u003e@​bluca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/actions/labeler/pull/923\"\u003eactions/labeler#923\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href\u003d\"https://redirect.github.com/actions/labeler/pull/934\"\u003eactions/labeler#934\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href\u003d\"https://github.com/actions/labeler/compare/v6...v6.1.0\"\u003ehttps://github.com/actions/labeler/compare/v6...v6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/actions/labeler/commit/f27b608878404679385c85cfa523b85ccb86e213\"\u003e\u003ccode\u003ef27b608\u003c/code\u003e\u003c/a\u003e chore: upgrade dependencies (\u003ccode\u003e@​actions/core\u003c/code\u003e, \u003ccode\u003e@​actions/github\u003c/code\u003e, js-yaml, minimat...\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/actions/labeler/commit/c5dadc2a45784a4b6adfcd20fea3465da3a5f904\"\u003e\u003ccode\u003ec5dadc2\u003c/code\u003e\u003c/a\u003e Add \u0027changed-files-labels-limit\u0027 and \u0027max-files-changed\u0027 configs to allow cap...\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/actions/labeler/commit/e52e4fb63ed5cd0e07abaad9826b2a893ccb921f\"\u003e\u003ccode\u003ee52e4fb\u003c/code\u003e\u003c/a\u003e Bump minimatch from 10.0.1 to 10.2.3 (\u003ca href\u003d\"https://redirect.github.com/actions/labeler/issues/926\"\u003e#926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/actions/labeler/commit/77a4082b841706ac431479b7e2bb11216ffef250\"\u003e\u003ccode\u003e77a4082\u003c/code\u003e\u003c/a\u003e Fix: Preserve manually added labels during workflow run and refine label sync...\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/actions/labeler/commit/25abb3cad4f14b7ac27968a495c37798860a5a1a\"\u003e\u003ccode\u003e25abb3c\u003c/code\u003e\u003c/a\u003e Improve Labeler Action Documentation and Error Handling for Permissions (\u003ca href\u003d\"https://redirect.github.com/actions/labeler/issues/897\"\u003e#897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/actions/labeler/commit/395c8cfdb1e1e691cc4bad0dd315820af8eb67fd\"\u003e\u003ccode\u003e395c8cf\u003c/code\u003e\u003c/a\u003e Bump brace-expansion from 1.1.11 to 1.1.12 and document breaking changes in v...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href\u003d\"https://github.com/actions/labeler/compare/634933edcd8ababfe52f92936142cc22ac488b1b...f27b608878404679385c85cfa523b85ccb86e213\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dactions/labeler\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d6.0.1\u0026new-version\u003d6.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency\u0027s major version (unless you unignore this specific dependency\u0027s major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency\u0027s minor version (unless you unignore this specific dependency\u0027s minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\u003c/details\u003e"
    },
    {
      "commit": "ddc9430a0080bea73c5511732f396acde1f48fe0",
      "tree": "ff16c71ec151526bba46f19c7d68e9baba2dff1f",
      "parents": [
        "54eb7f2dd4f71983d3f381e2b195a067d8669e12"
      ],
      "author": {
        "name": "suojae",
        "email": "suojae.developer@gmail.com",
        "time": "Fri May 08 22:09:20 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 22:09:20 2026"
      },
      "message": "[flutter_svg] add imageBuilder property to SvgPicture (#11615)\n\nrelated with flutter/flutter#182635\r\n\r\nThis PR exposes the `imageBuilder` support added to `VectorGraphic` in flutter/packages#11094 through `SvgPicture`.\r\n\r\n`SvgPicture` already supports `placeholderBuilder` and `errorBuilder`, but it did not provide a success-state builder. Without this API, callers have to wrap `SvgPicture` externally, which also wraps the placeholder and error states.\r\n\r\nAdding `imageBuilder` lets callers decorate or wrap only the successfully loaded SVG, while keeping loading and error UI separate.\r\n\r\n## Alternatives considered\r\n-  I chose `imageBuilder` because it follows the success-state wrapping pattern used by widgets like `CachedNetworkImage`\r\n\r\n## Changes\r\n\r\n- Added `SvgImageWidgetBuilder`.\r\n- Added `imageBuilder` to all `SvgPicture` constructors.\r\n- Forwarded `imageBuilder` to `createCompatVectorGraphic`.\r\n- Added tests for successful load and placeholder states.\r\n- Bumped `flutter_svg` to 2.3.0 and `vector_graphics` to ^1.2.0.\r\n\r\n## Pre-Review Checklist"
    },
    {
      "commit": "54eb7f2dd4f71983d3f381e2b195a067d8669e12",
      "tree": "56a4246cf88e0af77daefba28d50278f95c45294",
      "parents": [
        "4b77df87950814ba47dacc3fd77fab4131bf8387"
      ],
      "author": {
        "name": "Kate Lovett",
        "email": "katelovett@google.com",
        "time": "Fri May 08 19:49:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 19:49:08 2026"
      },
      "message": "[material_ui, cupertino_ui, infra] Support skipping golden files for the design migration (#11649)\n\nThis branches off of https://github.com/flutter/packages/pull/10753 and strips it down to just the skipping comparator. This means when golden file testing is used with this version of flutter_goldens, `matchesGoldenFile` will return true in all environments without executing image comparison.\r\nThe goal of this PR is to join the material_ui and cupertino_ui mega-migration PR (cc @justinmc ) to disable golden file testing for now in material_ui and cupertino_ui so we can get a clearer signal from CI about any remaining blockers.\r\nFull golden file testing support will likely land in #10753 as a separate step given the enormity of these PRs.\r\n\r\ncupertino_ui and material_ui are set `publish_to: none` here, which is intentional. This allows us to split up these changes, and wait to publish until everything lands and is working as we want it to.\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."
    },
    {
      "commit": "4b77df87950814ba47dacc3fd77fab4131bf8387",
      "tree": "181371104d683e0ff3eaa7f0389a5a799e1880ed",
      "parents": [
        "92552b16bcc1d8f3b721cab8e4d53479d1ff5ee5"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Fri May 08 17:50:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 17:50:25 2026"
      },
      "message": "[video_player] Add missing swift_version to podspec (#11670)\n\nAdds a `swift_version` to the podspec of `video_player_avfoundation`, to fix a build error when building with CocoaPods in a project that doesn\u0027t itself have a Swift version set.\r\n\r\nUpdates the repo tooling `podspec-check` command to check for this, so that we don\u0027t forget it in future migrations.\r\n\r\nAlso fixes some missing ignores in `podspec-check` that caused false positives when running the check locally in a tree that has built plugins.\r\n\r\nFixes https://github.com/flutter/flutter/issues/186232\r\n\r\n## Pre-Review Checklist\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."
    },
    {
      "commit": "92552b16bcc1d8f3b721cab8e4d53479d1ff5ee5",
      "tree": "503a1d07809cb3c4302ef424f29e50214b426872",
      "parents": [
        "0411f1deabb429b215b275e4c95e756046e23286"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Thu May 07 21:13:10 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 21:13:10 2026"
      },
      "message": "[video_player] Convert top-level classes to Swift (#11658)\n\nConverts the top-level plugin class, along with the native view factory that is used for platform view management, from Objective-C to Swift. The Pigeon interface for the plugin class has been split out into a separate definition file so that it can use the Swift Pigeon generator while the player-instance-level API can continue to use Obj-C for now.\r\n\r\nSince this is the first use of Swift in the plugin, this includes separating the Swift Package into more modules; now instead of:\r\nvideo_player_avfoundation (Obj-C) -\u003e video_player_avfoundation_ios and _macos (both Obj-C)\r\nit\u0027s\r\nvideo_player_avfoundation (Swift) -\u003e video_player_avfoundation_objc (Obj-C) -\u003e video_player_avfoundation_ios and _macos (both Obj-C)\r\n\r\nThe Swift conversions were done via Gemini as a starting point, but I did a side-by-side comparison to the Obj-C to ensure that everything was actually preserved, and fixed issues in its conversion manually.\r\n\r\nThe PR also includes adding some NONNULL region annotations to Obj-C headers that were accidentally missing it, since I ran into one of the omissions once I was calling the API from Swift, and then I audited all of the headers.\r\n\r\nPart of https://github.com/flutter/flutter/issues/119105\r\n\r\n## Pre-Review Checklist\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."
    },
    {
      "commit": "0411f1deabb429b215b275e4c95e756046e23286",
      "tree": "db2e7a27e09fe06e40280d2c6b35720f0bfdbde1",
      "parents": [
        "412bf44e4e551022e18ce97e3f4bcfbadb92c877"
      ],
      "author": {
        "name": "Alexander Aprelev",
        "email": "aam@google.com",
        "time": "Thu May 07 06:06:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 06:06:09 2026"
      },
      "message": "Comment out the test that uses implemented NetworkInterface to accommodate dart sdk breaking change. (#11659)\n\nThis addresses dart sdk breaking change https://github.com/dart-lang/sdk/issues/63216.\r\n\r\nhttps://github.com/flutter/flutter/issues/186155 tracks undoing this once dart rolls into flutter."
    },
    {
      "commit": "62f3d4d85cde1350efe3c15399c789edc1699037",
      "tree": "bb4cd1608b97711a0be30d676b60464ace904c54",
      "parents": [
        "7b9f28cca03bbb8dc6e09f62555cc52051b009b1"
      ],
      "author": {
        "name": "Sana Ullah",
        "email": "sanaullah.383@hotmail.com",
        "time": "Wed May 06 18:24:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 18:24:08 2026"
      },
      "message": "Remove semantics_tester import from cupertino/slider_test.dart (#184805)\n\nPart of #182636\n\n## Summary\n\nRemove the `semantics_tester.dart` cross-import from\n`cupertino/slider_test.dart`.\n\n## What changed\n\n* Replaced the deprecated `SemanticsTester`/`TestSemantics` assertion in\nthe slider semantics test with `tester.getSemantics(...)` and\n`matchesSemantics(...)`\n* Removed the `../widgets/semantics_tester.dart` import\n\n## Testing\n\n* `../../bin/flutter analyze test/cupertino/slider_test.dart`\n* `../../bin/flutter test test/cupertino/slider_test.dart`\n\n---------\n\nCo-authored-by: Victor Sanni \u003cvictorsanniay@gmail.com\u003e"
    },
    {
      "commit": "7b9f28cca03bbb8dc6e09f62555cc52051b009b1",
      "tree": "87c6d85045317215dc2c564158474fdbf8d003e8",
      "parents": [
        "f8db4f489d1c7140529a13a512275089267f1943"
      ],
      "author": {
        "name": "spandan3001",
        "email": "73657279+spandan3001@users.noreply.github.com",
        "time": "Wed May 06 18:19:20 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 18:19:20 2026"
      },
      "message": "Remove semantics_tester cross-import from segmented_button_test.dart (#185250)\n\nRemoves the cross-import of `semantics_tester.dart` from\n`material/segmented_button_test.dart`.\n\nDuplicated `semantics_tester.dart` locally into the material test folder\nto remove the dependency on widgets test utilities. This is part of the\neffort to decouple Material and Cupertino from the widgets library.\n\nFixes part of #182636\n\nCo-authored-by: Victor Sanni \u003cvictorsanniay@gmail.com\u003e\nCo-authored-by: Justin McCandless \u003cjmccandless@google.com\u003e"
    },
    {
      "commit": "412bf44e4e551022e18ce97e3f4bcfbadb92c877",
      "tree": "b4df29b6d81584e62546d3dc93e93369c0447982",
      "parents": [
        "67ec0d36293eb963590e0606c8bede379be4d142"
      ],
      "author": {
        "name": "fondoger",
        "email": "fondoger@outlook.com",
        "time": "Wed May 06 17:20:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 17:20:36 2026"
      },
      "message": "[vector_graphics_compiler] Fix HSL color parsing for decimal percentage components (#11619)\n\n## Description\n\nFixes a bug in the HSL color parser where decimal percentage components\n(e.g. `76.2745098039%`) were incorrectly multiplied by `2.55` — the\nconversion factor used for **rgb** percentages (percent → 0–255).  For\n**hsl**, saturation and lightness must stay in the 0–100 range (later\ndivided by 100) so the multiplication produced wildly wrong values\n(e.g. `76.27 → 194`, then `194 / 100 \u003d 1.94`).\n\nThe same branch also mis-handled the `hsla` alpha component: a unitless\ndecimal like `0.5` should be converted to 0–255 via `× 255`, not `× 2.55`.\n\n### Root cause\n\n`parser.dart` checked `rawColor.contains(\u0027.\u0027)` and unconditionally\napplied `* 2.55`, regardless of whether the current function was\n`rgb()`/`rgba()` (correct) or `hsl()`/`hsla()` (incorrect).\n\n### Fix\n\nTrack whether each token had a `%` suffix before stripping it.\nFor HSL percentage components, return the raw `double` (0–100 range).\nFor unitless alpha decimals (0–1 range), multiply by 255.\n\n### Reproduction (from issue #185833)\n\n```\nhsl(270, 100%, 76.2745098039%)\n```\n\n| Before fix | After fix |\n|---|---|\n| `#efdeff` ❌ | `#c286ff` ✓ |\n\n## Tests\n\nFour new tests added to `parsers_test.dart`:\n\n- `hsl` with integer percentages (regression)\n- `hsl` with decimal lightness percentage (the reported bug)\n- `hsla` with integer percentages + decimal alpha (regression)\n- `hsla` with decimal lightness + decimal alpha (combined case)\n\n## Related Issues\n\nFixes https://github.com/flutter/flutter/issues/185833"
    },
    {
      "commit": "67ec0d36293eb963590e0606c8bede379be4d142",
      "tree": "5fe34958f0c21114fe1d5fbc4736904db1a960d3",
      "parents": [
        "8c0fb387a0835f565937807e8d02ac10a0cee814"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Tue May 05 19:46:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 19:46:52 2026"
      },
      "message": "[url_launcher] Remove obsolete LICENSE entries (#11631)\n\nThe third-party code in `url_launcher_web` was removed in https://github.com/flutter/packages/pull/4330, and `bsdiff` was removed in https://github.com/flutter/packages/pull/502, but we never removed:\r\n- The top-level LICENSE file entry for the code in `url_launcher_web`\r\n- The repo tooling allowance for those copyright/license blocks\r\n\r\nThis removes those remaining pieces.\r\n\r\nPart of https://github.com/flutter/flutter/issues/129575\r\n\r\n## Pre-Review Checklist\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."
    },
    {
      "commit": "8c0fb387a0835f565937807e8d02ac10a0cee814",
      "tree": "38a4f3ab4e9125b8d4abfa3d3fc5e113c27b7cd2",
      "parents": [
        "0cb296f0f05ca90553f487a70524787873e39bf3"
      ],
      "author": {
        "name": "q2a3z",
        "email": "57368238+q2a3z@users.noreply.github.com",
        "time": "Tue May 05 18:31:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 18:31:56 2026"
      },
      "message": "[camera_android] Reset AE and AF triggers to idle after capture (#11330)\n\n## Issue\r\nApp freezes during focus/flash sequence in low light.\r\nOn high-end camera devices, focusing takes longer in dark environments. Repeatedly requesting focus while using the flash can cause the CaptureRequest to hang. \r\n\r\n\u003e The [issues](https://github.com/flutter/flutter/issues/97501) has been resolved.\r\n\u003e I reproduced the same behavior on a different device (not an Xperia).\r\n\r\nThis log has been captured on my Xperia device.\r\n```\r\nD/CameraCaptureCallback(12647): CameraCaptureCallback | state: STATE_CAPTURING | afState: 1 | aeState: 5\r\nD/CameraCaptureCallback(12647): CameraCaptureCallback | state: STATE_CAPTURING | afState: 1 | aeState: 5\r\nD/CameraCaptureCallback(12647): CameraCaptureCallback | state: STATE_CAPTURING | afState: 5 | aeState: 4\r\nD/CameraCaptureCallback(12647): CameraCaptureCallback | state: STATE_CAPTURING | afState: 5 | aeState: 4\r\nD/CameraCaptureCallback(12647): CameraCaptureCallback | state: STATE_CAPTURING | afState: 1 | aeState: 4\r\nI/Camera  (12647): refreshPreviewCaptureSession\r\n```\r\n\r\n## Root Cause\r\nCamera2 trigger controls are driven by one-shot states (START), but they are not always reset to IDLE once the sequence is complete. On certain devices (like the Xperia 1), this failure to reset can block subsequent capture requests.\r\n\r\n## Fix\r\n`runPrecaptureSequence():` \r\nSend an AE trigger START, then immediately follow with IDLE in the same execution path.\r\n\r\n`lockAutoFocus():` \r\nSend an AF trigger START, then reset to IDLE after the preview request is captured.\r\n\r\n## Results\r\nAE/AF triggers are now consistently returned to the IDLE state.\r\nThe freeze during capture after using the flash on Xperia 1 has been resolved.\r\nCamera trigger sequences are now stable across various device models.\r\n\r\n------\r\n### By the way, \r\nI believe [CameraX](https://pub.dev/packages/camerax)  is the way to go for Android camera development. It\u0027s been the default since version 0.11.0.\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."
    },
    {
      "commit": "0cb296f0f05ca90553f487a70524787873e39bf3",
      "tree": "ffe35d8c47214a91cba8fa8f6da8e1159d705b75",
      "parents": [
        "1ef39dcbe24406d02e7691a9bff4b82958b1bad9"
      ],
      "author": {
        "name": "chunhtai",
        "email": "47866232+chunhtai@users.noreply.github.com",
        "time": "Tue May 05 16:57:40 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 16:57:40 2026"
      },
      "message": "[ci] Adds ci enable branch for batch release (#11614)\n\nas title\r\n\r\nthis is for the ci check in batch release pr https://github.com/flutter/packages/pull/11613/checks?check_run_id\u003d73678550049\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."
    },
    {
      "commit": "1ef39dcbe24406d02e7691a9bff4b82958b1bad9",
      "tree": "418d80e080a64c40e4e95b7be337881b5d9f2c26",
      "parents": [
        "a2ad7e3af184d6937ca35e04e33614a0a563f20f"
      ],
      "author": {
        "name": "chunhtai",
        "email": "47866232+chunhtai@users.noreply.github.com",
        "time": "Mon May 04 20:23:06 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 04 20:23:06 2026"
      },
      "message": "[go_router] remove provider from examples (#11647)\n\nas title\r\n\r\nfixes https://github.com/flutter/flutter/issues/130897\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."
    },
    {
      "commit": "a2ad7e3af184d6937ca35e04e33614a0a563f20f",
      "tree": "1cc40766e9d5527eef115b1abacb5c2adc45a5ce",
      "parents": [
        "8aa6c08d77bfc710788cc63580b0f9bd0db3355a"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Mon May 04 14:03:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 04 14:03:25 2026"
      },
      "message": "[tool] Extract most conformance checks to separate validator classes (#11610)\n\nExtracts the logic for many of the lightweight, repo-practice commands into separate validator classes, leaving just a minimal amount of logic in the command, in preparation for combining all of these into a single command. Doing so will make running conformance checks locally much easier since there will be fewer commands to run, and will make documenting both the tool itself, and the commands we want run against PRs (e.g., for agent instructions), easier as well.\r\n\r\nThis is a mostly no-op code move, so that tests can change as little as possible in this PR. Then the next PR will then combine the commands, which will require a lot of test changes, but almost all of the non-test code will be able to stay unchanged because it\u0027s in the separate validator classes, which the combined command can call into as they are.\r\n\r\nAll the new files were created by moving code from the corresponding command file, with very minimal changes (e.g., sometimes context that was a non-private getter from the base command class is a private field in the validator class, so underscores were added.) This is reflected in the fact that there are almost no test changes."
    },
    {
      "commit": "8aa6c08d77bfc710788cc63580b0f9bd0db3355a",
      "tree": "028d87a8b6fd9f234eb579f3cd4629d0638eda20",
      "parents": [
        "a8e3cce01bc9ce00b027b9e92c1e134696cb39cf"
      ],
      "author": {
        "name": "Flutter GitHub Bot",
        "email": "fluttergithubbot@gmail.com",
        "time": "Fri May 01 20:40:24 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 20:40:24 2026"
      },
      "message": "Sync release-go_router-17.2.3 to main (#11633)\n\nThis automated PR syncs the changes from the release branch release-go_router-17.2.3 back to the main branch."
    },
    {
      "commit": "a8e3cce01bc9ce00b027b9e92c1e134696cb39cf",
      "tree": "112fdaa3260db98533f2aa9a45c72653c05e4876",
      "parents": [
        "66a9be0795c0be3e78863caa420b21f1a749bdf8"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Fri May 01 17:13:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 17:13:25 2026"
      },
      "message": "Roll Flutter from 81bc3d69535f to 707dbc0420a3 (85 revisions) (#11630)\n\nRoll Flutter from 81bc3d69535f to 707dbc0420a3 (85 revisions)\n\nhttps://github.com/flutter/flutter/compare/81bc3d69535f...707dbc0420a3\n\n2026-05-01 Rusino@users.noreply.github.com Removing TODOs from the WebParagraph code and addressing technical debts. (flutter/flutter#185168)\n2026-05-01 mbrase@google.com Ensure that vulkan_interface.h gets included before vk_mem_alloc.h (flutter/flutter#185777)\n2026-05-01 nshahan@google.com [flutter_tools] Bump dwds dependency to v27.1.1 (flutter/flutter#185357)\n2026-05-01 engine-flutter-autoroll@skia.org Roll Dart SDK from 6d4a319cbdac to 9aa7097f2e3e (3 revisions) (flutter/flutter#185888)\n2026-05-01 engine-flutter-autoroll@skia.org Roll Skia from fa1dcb289709 to 7ac6d42f2fd0 (1 revision) (flutter/flutter#185887)\n2026-05-01 engine-flutter-autoroll@skia.org Roll Skia from 54cc00adde38 to fa1dcb289709 (3 revisions) (flutter/flutter#185880)\n2026-05-01 chris@bracken.jp [iOS] Migrate to FlutterFMLTaskRunner(s) (flutter/flutter#185815)\n2026-05-01 ad13dtu@gmail.com Remove material imports from navigator_on_did_remove_page_test and scrollable_in_overlay_test (flutter/flutter#182546)\n2026-05-01 engine-flutter-autoroll@skia.org Roll Skia from 2e279266f06a to 54cc00adde38 (3 revisions) (flutter/flutter#185872)\n2026-05-01 srawlins@google.com dev: Remove unused parameters (flutter/flutter#185345)\n2026-05-01 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from HN5VYzftnf_B8T-n9... to VnzuUefDQR0UhQ1L1... (flutter/flutter#185870)\n2026-05-01 robert.ancell@canonical.com Use g_free when using glib memory allocation (flutter/flutter#185519)\n2026-05-01 engine-flutter-autoroll@skia.org Roll Dart SDK from d30df3428f2e to 6d4a319cbdac (2 revisions) (flutter/flutter#185862)\n2026-05-01 73785960+xfce0@users.noreply.github.com Remove trivial test utility cross-imports from material and cupertino… (flutter/flutter#184295)\n2026-05-01 129008657+DaveT1991@users.noreply.github.com Inline test callback painter in tab scaffold test (flutter/flutter#184851)\n2026-05-01 jhy03261997@gmail.com [a11y] Add support for high contrast themes in the a11y assessments app  (flutter/flutter#185801)\n2026-05-01 jhy03261997@gmail.com [a11y assessment app] Use default color for banner (flutter/flutter#185804)\n2026-04-30 73091075+MohamedRisaldarTA@users.noreply.github.com Added name to AUTHORS (flutter/flutter#185586)\n2026-04-30 sanaullah.383@hotmail.com Remove semantics_tester import from raw_material_button_test.dart (flutter/flutter#184806)\n2026-04-30 sanaullah.383@hotmail.com Remove semantics_tester import from user_accounts_drawer_header_test.dart (flutter/flutter#184809)\n2026-04-30 engine-flutter-autoroll@skia.org Roll Skia from 7b88c5c281e5 to 2e279266f06a (5 revisions) (flutter/flutter#185854)\n2026-04-30 evanwall@buffalo.edu Handle symmetric rectangular and elliptical round super ellipses in the uber SDF renderer  (flutter/flutter#185695)\n2026-04-30 15619084+vashworth@users.noreply.github.com Match on process name before killing for SwiftPM (flutter/flutter#185774)\n2026-04-30 154381524+flutteractionsbot@users.noreply.github.com Sync CHANGELOG.md from stable (flutter/flutter#185838)\n2026-04-30 engine-flutter-autoroll@skia.org Roll Dart SDK from 25910e31a6d2 to d30df3428f2e (5 revisions) (flutter/flutter#185839)\n2026-04-30 brackenavaron@gmail.com Check cross imports test subfolders (flutter/flutter#185493)\n2026-04-30 112751483+shivanshu877@users.noreply.github.com test: inline TestCallbackPainter in cupertino/picker_test.dart (flutter/flutter#185398)\n2026-04-30 97480502+b-luk@users.noreply.github.com Update customer testing version (flutter/flutter#185830)\n2026-04-30 jason-simmons@users.noreply.github.com Adapt the Metal shader library output list for debug versus release mode (flutter/flutter#185798)\n2026-04-30 jason-simmons@users.noreply.github.com [Impeller] Port a recent Vulkan swapchain fence waiting fix to the AHB version of the swapchain (flutter/flutter#185763)\n2026-04-30 engine-flutter-autoroll@skia.org Roll Skia from 26a59aa71eff to 7b88c5c281e5 (1 revision) (flutter/flutter#185821)\n2026-04-30 engine-flutter-autoroll@skia.org Roll Skia from 6b4167b4e204 to 26a59aa71eff (4 revisions) (flutter/flutter#185808)\n2026-04-30 jhy03261997@gmail.com [a11y] Mark SemanticsNode dirty when customSemanticsActions change  (flutter/flutter#185707)\n2026-04-30 engine-flutter-autoroll@skia.org Roll Skia from 1bd2f1cc2746 to 6b4167b4e204 (8 revisions) (flutter/flutter#185799)\n2026-04-30 chris@bracken.jp [iOS] Extract FlutterVSyncClient from vsync_waiter_ios (flutter/flutter#185737)\n2026-04-30 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from nnv8-SSam6yE8dw4z... to HN5VYzftnf_B8T-n9... (flutter/flutter#185782)\n2026-04-29 chris@bracken.jp [iOS] Soften TaskRunner.postTask(delay:task:) delay check (flutter/flutter#185729)\n2026-04-29 koji.wakamiya@gmail.com Add reportErrors to ImageStreamListener (flutter/flutter#180327)\n2026-04-29 engine-flutter-autoroll@skia.org Roll Skia from f5c781c083c7 to 1bd2f1cc2746 (5 revisions) (flutter/flutter#185761)\n2026-04-29 47866232+chunhtai@users.noreply.github.com Update merge semantics logic to merge sibling nodes (flutter/flutter#183745)\n2026-04-29 engine-flutter-autoroll@skia.org Roll Packages from ba80f8f0ff88 to cde5b36e7ece (12 revisions) (flutter/flutter#185748)\n2026-04-29 srawlins@google.com examples: Remove unused parameters (flutter/flutter#185346)\n2026-04-29 nate.w5687@gmail.com Update TickerMode.getValuesNotifier to handle initialization during State.dispose (flutter/flutter#185248)\n2026-04-29 katelovett@google.com Update triage links (flutter/flutter#185714)\n2026-04-29 42399845+xxxOVALxxx@users.noreply.github.com Add support for high contrast and color inversion on Android (flutter/flutter#182263)\n2026-04-29 engine-flutter-autoroll@skia.org Roll Skia from 05251260fda6 to f5c781c083c7 (2 revisions) (flutter/flutter#185743)\n..."
    },
    {
      "commit": "66a9be0795c0be3e78863caa420b21f1a749bdf8",
      "tree": "245448eb3c85d195fb0ed395b129325646b7fef6",
      "parents": [
        "b8252d4cc3542ae427e9be5b64fd43cbcf03e922"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Fri May 01 16:48:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 16:48:25 2026"
      },
      "message": "[google_maps_flutter] Fix styles on web (#11629)\n\nFixes a regression from https://github.com/flutter/packages/pull/7882 that caused non-cloud map styling not be applied on web, since the app-facing package changed to sending \u0027\u0027 rather than null when a cloud mapId wasn\u0027t provided, and the web implementation didn\u0027t handle that case.\r\n\r\nFixes https://github.com/flutter/flutter/issues/185171\r\n\r\n*Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.*\r\n\r\n*List which issues are fixed by this PR. You must list at least one issue.*\r\n\r\n## Pre-Review Checklist\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."
    },
    {
      "commit": "b8252d4cc3542ae427e9be5b64fd43cbcf03e922",
      "tree": "84a94d65c36c81ba2d3ca64341e389be6f618e85",
      "parents": [
        "daf30f84681596993a7e9e2a6b8ad79ec7bcc423"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Fri May 01 16:02:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 16:02:48 2026"
      },
      "message": "Roll Flutter (stable) from 02085feb3f5d to 00b0c91f0620 (3 revisions) (#11627)\n\nhttps://github.com/flutter/flutter/compare/02085feb3f5d...00b0c91f0620\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-stable-packages\nPlease CC stuartmorgan@google.com,tarrinneal@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Flutter (stable): https://github.com/flutter/flutter/issues/new/choose\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md"
    },
    {
      "commit": "f8db4f489d1c7140529a13a512275089267f1943",
      "tree": "4a157afacd838fd2527a3c99fa8c70d3e17885bc",
      "parents": [
        "9defdae28537aa72695ee5c4257d7216501a652e"
      ],
      "author": {
        "name": "xfce0",
        "email": "73785960+xfce0@users.noreply.github.com",
        "time": "Fri May 01 00:48:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 00:48:03 2026"
      },
      "message": "Remove trivial test utility cross-imports from material and cupertino… (#184295)\n\nRemoves cross-directory test imports of four trivial test utilities from\nmaterial and cupertino tests.\nPart of #182636.\nAll four utilities are small (20-40 lines) with trivial implementations,\nso duplication is the appropriate strategy per the issue guidelines:\n \n- `test_border.dart` (36 lines) → `test/material/` (1 file updated)\n- `sliver_test_utils.dart` (20 lines) → `test/material/` (1 file\nupdated)\n- `process_text_utils.dart` (40 lines) → `test/material/` (2 files\nupdated)\n- `list_tile_tester.dart` (30 lines) → `test/cupertino/` (1 file\nupdated)\n \n## Pre-launch Checklist\n                                                                \n- [x] I read the [Contributor Guide] and followed the process outlined\nthere for submitting PRs.\n- [x] I read the [AI contribution guidelines] and understand my\nresponsibilities, or I am not using AI tools.\n- [x] I read the [Tree Hygiene] wiki page, which explains my\nresponsibilities.\n- [x] I read and followed the [Flutter Style Guide], including [Features\nwe expect every widget to implement].\n- [x] I signed the [CLA].\n- [x] I listed at least one issue that this PR fixes in the description\nabove.\n- [x] I updated/added relevant documentation (doc comments with `///`).\n- [x] I added new tests to check the change I am making, or this PR is\n[test-exempt].\n- [x] I followed the [breaking change policy] and added [Data Driven\nFixes] where supported.\n- [x] All existing and new tests are passing. \n\n\u003c!-- Links --\u003e\n[Contributor Guide]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview\n[AI contribution guidelines]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines\n[Tree Hygiene]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md\n[test-exempt]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests\n[Flutter Style Guide]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md\n[Features we expect every widget to implement]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement\n[CLA]: https://cla.developers.google.com/\n[flutter/tests]: https://github.com/flutter/tests\n[breaking change policy]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes\n[Discord]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md\n[Data Driven Fixes]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md"
    },
    {
      "commit": "9defdae28537aa72695ee5c4257d7216501a652e",
      "tree": "3aca0684797a5c4625750cbe791bf01f7b7f2eb2",
      "parents": [
        "a1e97c96c9840d52144f9131e69653983157d8b8"
      ],
      "author": {
        "name": "DaveT1991",
        "email": "129008657+DaveT1991@users.noreply.github.com",
        "time": "Fri May 01 00:42:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 00:42:56 2026"
      },
      "message": "Inline test callback painter in tab scaffold test (#184851)\n\nThis PR removes the cross-import of `TestCallbackPainter` from\n`packages/flutter/test/cupertino/tab_scaffold_test.dart` by inlining a\nsmall private `_TestCallbackPainter` helper directly into the file.\n\nThis follows the cleanup guidance in #182636 to avoid cross-importing\ntest utilities between test libraries when the helper is small and\nfile-specific. The new local helper also includes a doc comment to match\nthe Flutter repository style guide.\n\nPart of #182636\n\n## Pre-launch Checklist\n\n- [x] I read the [Contributor Guide] and followed the process outlined\nthere for submitting PRs.\n- [ ] I read the [AI contribution guidelines] and understand my\nresponsibilities, or I am not using AI tools.\n- [x] I read the [Tree Hygiene] wiki page, which explains my\nresponsibilities.\n- [x] I read and followed the [Flutter Style Guide], including [Features\nwe expect every widget to implement].\n- [x] I signed the [CLA].\n- [x] I listed at least one issue that this PR fixes in the description\nabove.\n- [x] I updated/added relevant documentation (doc comments with `///`).\n- [x] I added new tests to check the change I am making, or this PR is\n[test-exempt].\n- [ ] I followed the [breaking change policy] and added [Data Driven\nFixes] where supported.\n- [ ] All existing and new tests are passing.\n\n\nA couple of important corrections from the old PR:\n\nUse Part of #182636, not Fixes #182636, since this is one cleanup item\nfrom the umbrella issue.\nLeave CLA unchecked unless the Flutter CLA check is actually passing.\nLeave All existing and new tests are passing unchecked unless you\npersonally ran them.\nLeave the AI checkbox unchecked if you want to avoid explicitly\naffirming that line.\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] \u003c176961590+gemini-code-assist[bot]@users.noreply.github.com\u003e\nCo-authored-by: Mohellebi Abdessalem \u003c116356835+AbdeMohlbi@users.noreply.github.com\u003e"
    },
    {
      "commit": "a1e97c96c9840d52144f9131e69653983157d8b8",
      "tree": "af09e44ec9f4da4acd3e145d9f672465e35dc6e6",
      "parents": [
        "0b83bd54ddde077808d5448a13728ae379385578"
      ],
      "author": {
        "name": "Sana Ullah",
        "email": "sanaullah.383@hotmail.com",
        "time": "Thu Apr 30 21:42:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 21:42:52 2026"
      },
      "message": "Remove semantics_tester import from raw_material_button_test.dart (#184806)\n\nPart of #182636\n\n## Summary\n\nRemove the `semantics_tester.dart` cross-import from\n`raw_material_button_test.dart`.\n\n## What changed\n\n* Replaced the deprecated `SemanticsTester`/`TestSemantics` assertion in\nthe padded tap target semantics test with `tester.getSemantics(...)` and\n`matchesSemantics(...)`\n* Removed the `../widgets/semantics_tester.dart` import\n\n## Testing\n\n* `../../bin/flutter analyze\ntest/material/raw_material_button_test.dart`\n* `../../bin/flutter test test/material/raw_material_button_test.dart`\n\nCo-authored-by: Mohellebi Abdessalem \u003c116356835+AbdeMohlbi@users.noreply.github.com\u003e"
    },
    {
      "commit": "0b83bd54ddde077808d5448a13728ae379385578",
      "tree": "657b72e8ace4010120d6f40a6e1ebb9aba48f052",
      "parents": [
        "dcb3f862c22376e2c927acac01b73e73c7ac1617"
      ],
      "author": {
        "name": "Sana Ullah",
        "email": "sanaullah.383@hotmail.com",
        "time": "Thu Apr 30 21:42:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 21:42:52 2026"
      },
      "message": "Remove semantics_tester import from user_accounts_drawer_header_test.dart (#184809)\n\nPart of #182636\n\n## Summary\n\nRemove the `semantics_tester.dart` cross-import from\n`user_accounts_drawer_header_test.dart`.\n\n## What changed\n\n* Replaced the deprecated `SemanticsTester`/`TestSemantics` assertions\nwith `tester.semantics.find(...)`, `find.semantics.ancestor(...)`, and\n`matchesSemantics(...)`\n* Kept coverage for the merged header semantics, scoped route semantics,\nalternative account semantics, and the missing-properties case\n* Removed the `../widgets/semantics_tester.dart` import\n\n## Testing\n\n* `../../bin/flutter analyze\ntest/material/user_accounts_drawer_header_test.dart`\n* `../../bin/flutter test\ntest/material/user_accounts_drawer_header_test.dart`\n\nCo-authored-by: Mohellebi Abdessalem \u003c116356835+AbdeMohlbi@users.noreply.github.com\u003e"
    },
    {
      "commit": "daf30f84681596993a7e9e2a6b8ad79ec7bcc423",
      "tree": "9eb00de482d729c736ea3e9e54dd101c975dc2be",
      "parents": [
        "47cfea4c2a25447b35df994e7292d3a27513fd3b"
      ],
      "author": {
        "name": "Mouad Debbar",
        "email": "mdebbar@google.com",
        "time": "Thu Apr 30 19:36:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 19:36:50 2026"
      },
      "message": "[url_launcher_web] Re-enable flaky test (not flaky anymore) (#11478)\n\nI haven\u0027t seen these tests fail since the underlying issue was [fixed](https://github.com/flutter/flutter/pull/183666) and [rolled](https://github.com/flutter/packages/commit/99155a84f372cef1c5fc2d03c54d6980fb9df808) in.\r\n\r\nCloses https://github.com/flutter/flutter/issues/182844"
    }
  ],
  "next": "47cfea4c2a25447b35df994e7292d3a27513fd3b"
}
