)]}'
{
  "log": [
    {
      "commit": "1bd4e2223b721cbb99972acd4670c6391b6b913f",
      "tree": "710a962f27f3c8f823b247c2e5a5baeec11772a8",
      "parents": [
        "5c7bff6182885a174d7d192fc32ad3f8e6da3b5b"
      ],
      "author": {
        "name": "Varad Raj Agrawal",
        "email": "agrawalvaradraj2007@gmail.com",
        "time": "Tue Jun 16 13:27:46 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 13:29:52 2026 -0700"
      },
      "message": "Offer convertToDeclaringParameter on the field declaration\n\nCloses https://github.com/dart-lang/sdk/pull/63601\n\nGitOrigin-RevId: a282ad3e1d2b5fa5fde9e339c3efadf912f27eaf\nChange-Id: Ie686a36277b38838cb9c39334438125b6ab82d52\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513640\nCommit-Queue: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nReviewed-by: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/3d3912743cb2f323db6b601846459ed8834bc5ee\n"
    },
    {
      "commit": "5c7bff6182885a174d7d192fc32ad3f8e6da3b5b",
      "tree": "16a2bb4e522a6b19b8ba1565cfacd819c34d54ad",
      "parents": [
        "dd0ffedecf6ea19c361c8d75b2af7be5c4901d99"
      ],
      "author": {
        "name": "Brian Wilkerson",
        "email": "brianwilkerson@google.com",
        "time": "Tue Jun 16 13:19:40 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 13:21:26 2026 -0700"
      },
      "message": "Format the code snippets in the linter\n\nThis mirrors a similar change to format the snippets in the analyzer\npackage. The purpose is to make the snippets cleaner and easier to read.\n\nChange-Id: I3f01c1403d4371953f1cedacc0a54dd96cfb3d99\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513820\nReviewed-by: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/b89d3b95879b821c4acd745bcd57dcae4c69ecf3\n"
    },
    {
      "commit": "dd0ffedecf6ea19c361c8d75b2af7be5c4901d99",
      "tree": "14284e5bf4968ad5ecaf1003bbd4e4e89e89d400",
      "parents": [
        "c50d75e6da408bc95879019ee39577efdd73e71e"
      ],
      "author": {
        "name": "Brian Wilkerson",
        "email": "brianwilkerson@google.com",
        "time": "Tue Jun 16 13:17:03 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 13:21:24 2026 -0700"
      },
      "message": "Change the term from secondary to in-body\n\nWe have decided to change the terminology from \u0027secondary constructor\u0027\nto \u0027in-body constructor\u0027. This CL applies that change to the analysis\nserver and linter code bases.\n\nChange-Id: Icf23087dd1201a46a368612a1231734b9f8fad0f\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513340\nReviewed-by: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/2d30f8487c6ec42605c29011a023461114c1a6e2\n"
    },
    {
      "commit": "c50d75e6da408bc95879019ee39577efdd73e71e",
      "tree": "c65489cd4aec1dcf65b83555f029cd4ff17c40c3",
      "parents": [
        "eff697d2ac03f2abd8cc1fa1f0e4635a534abca4"
      ],
      "author": {
        "name": "Parker Lougheed",
        "email": "parlough@gmail.com",
        "time": "Tue Jun 16 13:11:31 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 13:15:08 2026 -0700"
      },
      "message": "[linter] Update doc and state status for latest changes\n\n- Marks some diagnostic docs as published.\n- Updates state of a few lints in code to match messages.yaml changes.\n- Updates linter changelog for most recent lint state updates.\n- Regenerates diagnostic codes.\n- Regenerates machine/rules.json file used by docs site.\n\nChange-Id: I5b733adbc6bc80af344f8bcbc15ab9439cbb1cda\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513521\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nCommit-Queue: Keerti Parthasarathy \u003ckeertip@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/9e2bfb5092809966ff7ee6ab86de6ace45d6ce92\n"
    },
    {
      "commit": "eff697d2ac03f2abd8cc1fa1f0e4635a534abca4",
      "tree": "2e24fe60c6775df1550e480f6703760f9c0142cd",
      "parents": [
        "a657dea4ddfe8d28d21fa67acc2b3e82c1c82c13"
      ],
      "author": {
        "name": "Danny Tuppeny",
        "email": "danny@tuppeny.com",
        "time": "Tue Jun 16 13:08:52 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 13:11:54 2026 -0700"
      },
      "message": "[analysis_server] Avoid empty line in ConvertToDeclaringParameter action\n\nChange-Id: I2569707277d7e8bf11a3e96e47e1d9baebb88da0\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513800\nReviewed-by: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nCommit-Queue: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/b850f01037e5023425fae1356acc0bea5d618acf\n"
    },
    {
      "commit": "a657dea4ddfe8d28d21fa67acc2b3e82c1c82c13",
      "tree": "9fe4950db4e387338f2d5d9783e905c266871b40",
      "parents": [
        "a2dee57ab95dddc41975c179484cca1b12e8ffb8"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Tue Jun 16 12:18:16 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 12:20:19 2026 -0700"
      },
      "message": "[dartfuzz] Remove use of `timeout`.\n\nInstead use Dart timers.\n\nBug: https://github.com/dart-lang/sdk/issues/63470\nChange-Id: I977f39121ccf0527b1d879bc476f13aead12cee5\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513840\nReviewed-by: Alexander Aprelev \u003caam@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/4368f81e4437be2e56190b35784cc14042ed1984\n"
    },
    {
      "commit": "a2dee57ab95dddc41975c179484cca1b12e8ffb8",
      "tree": "17299915742215370a05fc139b292f924a115f3b",
      "parents": [
        "52a29702b6565ca2104faf4c53346d6eb1ee7b65"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Tue Jun 16 11:49:38 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 11:51:47 2026 -0700"
      },
      "message": "AO. Check diagnostics in AnalysisOptionsBuildTest, use /home/test as location.\n\nSo, we are another step closer to: parsing is the validation.\n\nChange-Id: I6067ae60d2602e8647f49a8ac1512c955e7c7c2d\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512780\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/88fe2884ae792a7dcd70638766fb0529fbfdc3ff\n"
    },
    {
      "commit": "52a29702b6565ca2104faf4c53346d6eb1ee7b65",
      "tree": "dbf3b39f2d57385235bf1540ab04112e2428e2d3",
      "parents": [
        "336d2944da08a3cda1b12429566b6a5236f83bae"
      ],
      "author": {
        "name": "gaaclarke",
        "email": "30870216+gaaclarke@users.noreply.github.com",
        "time": "Tue Jun 16 10:30:10 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 11:12:39 2026 -0700"
      },
      "message": "Adds arm64 variant of impeller devicelab tests for windows. (#188053)\n\nfixes https://github.com/flutter/flutter/issues/187794\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\nIf you need help, consider asking for advice on the #hackers-new channel\non [Discord].\n\nIf this change needs to override an active code freeze, provide a\ncomment explaining why. The code freeze workflow can be overridden by\ncode reviewers. See pinned issues for any active code freezes with\nguidance.\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\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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/d9182002a3725aba4f4d94519d0c76858d797eb8\n"
    },
    {
      "commit": "336d2944da08a3cda1b12429566b6a5236f83bae",
      "tree": "e670109465e04a60169a2fcc82acd2ebb2ec8efe",
      "parents": [
        "7821ace42f824d97e01a2529f8c5edf247f7557c"
      ],
      "author": {
        "name": "Alexander Aprelev",
        "email": "aam@google.com",
        "time": "Tue Jun 16 11:06:51 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 11:09:25 2026 -0700"
      },
      "message": "Revert \"Use primary constructors in `dart:core`.\"\n\nThis reverts commit a4ca07ec6f2009f399d85c8c1e981529f045bfb3 as it breaks dart-\u003eflutter roller.\n\nThe revert had two conflicts with cbba25a that required manual merging and updating line number expectations.\n\nBUG\u003dhttps://github.com/dart-lang/sdk/issues/63589\n\nCoreLibraryReviewExempt: revert\nChange-Id: I6eabac0af3612b3b5b4d00ae326b3b7494162163\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513821\nReviewed-by: Slava Egorov \u003cvegorov@google.com\u003e\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nCommit-Queue: Alexander Aprelev \u003caam@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/3df9e1d586639ca290c79f90cfb11e514113b540\n"
    },
    {
      "commit": "7821ace42f824d97e01a2529f8c5edf247f7557c",
      "tree": "c8516d6751eb8d765ba870ac45f09743ff677b35",
      "parents": [
        "ac718015bab1a72c9a98d6f65c87f414fade1259"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Tue Jun 16 10:58:40 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 11:00:40 2026 -0700"
      },
      "message": "[infra] Split GCC and MSVC builder configurations by mode.\n\nChange-Id: If323bd321015db38fd6b54908084fad268ef5417\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513381\nReviewed-by: Alexander Aprelev \u003caam@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/9a8e05db2afc7d0289b6883d8f56a953a72a61c9\n"
    },
    {
      "commit": "ac718015bab1a72c9a98d6f65c87f414fade1259",
      "tree": "9a03a08178a96be2057976380e94387d26a36625",
      "parents": [
        "84a1f38e630025c94e319714c9776fc978e702b4"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Tue Jun 16 10:52:15 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 10:54:32 2026 -0700"
      },
      "message": "AO. Narrow AnalysisOptionsProvider to file based reading.\n\nAnalysisOptionsProvider now exposes only the file-based\ngetAnalysisOptionsFromFile entry point, with raw YAML parsing and\nmerged-YAML access removed from its public surface. Tests that exercised\nprovider behavior now go through analysis options files and assert the\nresulting AnalysisOptionsImpl, while pure YAML parsing and merge\nbehavior moved to lower-level YAML utility tests. Analyzer server and\nCLI callers that only needed raw YAML now parse it directly instead of\ndepending on AnalysisOptionsProvider internals.\n\nChange-Id: I108625e7742ade82b8fee0e82808b07844c8d112\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512740\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/d9a13b8658144df1d2b728aecfeef30419d800d9\n"
    },
    {
      "commit": "84a1f38e630025c94e319714c9776fc978e702b4",
      "tree": "ed5e8ac28f14e6926f8f7cafaee54d6a87af17cf",
      "parents": [
        "9d6ff90eaefbee44cddd22a2a87d40497ec81262"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Tue Jun 16 10:48:31 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 10:50:49 2026 -0700"
      },
      "message": "AO. In AnalysisOptionsValidationTest check both diagnostics and built object.\n\nThe test harness still invokes separate implementation paths to do this,\nbut eventually we will collapse them into one.\n\nChange-Id: I79712a00d931912401cc5109fd50881122bf976b\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512720\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/b324c14eb5767369e759fe13df9afc42d6097959\n"
    },
    {
      "commit": "9d6ff90eaefbee44cddd22a2a87d40497ec81262",
      "tree": "dfa9b766d985f901cf4b40e0d881eee12184def7",
      "parents": [
        "51630c79545506e411a9dac9888cefa79e5f22aa"
      ],
      "author": {
        "name": "Rusino",
        "email": "Rusino@users.noreply.github.com",
        "time": "Tue Jun 16 12:52:30 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 10:37:36 2026 -0700"
      },
      "message": "Implement font fallback (#187520)\n\nPass the correct font line to Canvas2D\nI was only able to demonstrate it working on text fonts (Sans vs Serif).\n\nPart of https://github.com/flutter/flutter/issues/172561\n\n---------\n\nCo-authored-by: Mouad Debbar \u003cmdebbar@google.com\u003e\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/3a0420c446c554920be5b0473021f2a19a946cfb\n"
    },
    {
      "commit": "51630c79545506e411a9dac9888cefa79e5f22aa",
      "tree": "38368f479345bf167b4d031dcc32f91c2fb468b3",
      "parents": [
        "fe4741ad0e7ebd1be96771eb5770984c978b73af"
      ],
      "author": {
        "name": "Anthony Hurtado",
        "email": "amhurtado@protonmail.com",
        "time": "Tue Jun 16 11:39:28 2026 -0500"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 10:34:16 2026 -0700"
      },
      "message": "Add FlatBuffers Verifier checks to Impeller asset loading (#187878)\n\n## Summary\n- Add `flatbuffers::Verifier` validation to\n`RuntimeStage::DecodeRuntimeStages()` and `ShaderArchive::Create()`\nbefore accessing FlatBuffer contents\n- Both functions already check the file identifier\n(`RuntimeStagesBufferHasIdentifier` /\n`ShaderArchiveBufferHasIdentifier`) but skip the structural verification\nstep, meaning malformed `.iplr` or `.shar` payloads can cause\nout-of-bounds reads when FlatBuffer accessors follow corrupted offsets\n\n## Context\n\nThe FlatBuffers library provides a `Verifier` class specifically for\nvalidating buffer integrity before access. The Impeller runtime stage\nand shader archive loaders currently skip this step. Adding it ensures\nthat structurally invalid buffers are rejected with a clear error before\nany field is dereferenced.\n\n## Test plan\n- [ ] Existing `RuntimeStageTest::CanRejectInvalidBlob` continues to\npass (already fills buffer with junk bytes — now rejected at the\nVerifier step rather than at later field access)\n- [ ] Existing `RuntimeStageTest::CanReadValidBlob` and shader archive\ntests remain green (valid buffers pass verification)\n- [ ] Manually verified that a truncated `.iplr` file is rejected with\n\"buffer failed verification\" rather than crashing\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/f68aaca9b06119e09f62909cfda27e17f53fdffe\n"
    },
    {
      "commit": "fe4741ad0e7ebd1be96771eb5770984c978b73af",
      "tree": "56f67d97a11a5be40007620e8612ef3c51ac8f7c",
      "parents": [
        "376ad1bbdfb06b44f6579a5f2030c13318cc493a"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Tue Jun 16 09:49:37 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 09:51:39 2026 -0700"
      },
      "message": "CQ. Inline check for presence of diagnostics in InvalidCodeTest.\n\nChange-Id: I0dc6b7b7f45c90ea2d41c8143afa182f4112c82f\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513480\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/ace4bfc17ddf6be03b8e850d9fc2ce1b141455c5\n"
    },
    {
      "commit": "376ad1bbdfb06b44f6579a5f2030c13318cc493a",
      "tree": "63a54255ed96363d531dd3755f14e7523519e891",
      "parents": [
        "2fb57c078b2a4184f1f624c92863d999d0ba0393"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Tue Jun 16 11:38:39 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 09:29:14 2026 -0700"
      },
      "message": "Roll Packages from aa964a3ed6d9 to 8286d39e9036 (1 revision) (#188067)\n\nhttps://github.com/flutter/packages/compare/aa964a3ed6d9...8286d39e9036\n\n2026-06-15 engine-flutter-autoroll@skia.org Roll Flutter from\nb7cb925419e6 to 5827d5fd2b8d (35 revisions) (flutter/packages#11908)\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-flutter-autoroll\nPlease CC flutter-ecosystem@google.com on the revert to ensure that a\nhuman\nis aware of the problem.\n\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/e3e798c5f4ec193cba98df910c3670ac82dc6ca9\n"
    },
    {
      "commit": "2fb57c078b2a4184f1f624c92863d999d0ba0393",
      "tree": "0be2b03c26ce0abfda301bab5ca91da823f2b113",
      "parents": [
        "6aa5fc295f8da146e87b69ccf27eba6749fe5d4a"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Tue Jun 16 11:32:35 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 09:29:09 2026 -0700"
      },
      "message": "Roll Skia from 9c2b83788409 to d7196b0b4939 (1 revision) (#188066)\n\nhttps://skia.googlesource.com/skia.git/+log/9c2b83788409..d7196b0b4939\n\n2026-06-16 kjlubick@google.com Add missing file for opts target\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC brettos@google.com,jimgraham@google.com,kjlubick@google.com on\nthe revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/e794e585794c570ab2b0efec89d30a496b6b87ae\n"
    },
    {
      "commit": "6aa5fc295f8da146e87b69ccf27eba6749fe5d4a",
      "tree": "b72e9256bd5ee8eb46ab1081d3d2a69109ebefd6",
      "parents": [
        "e2748f26d2232d4ca58e74224ad1bc709c538ab8"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Tue Jun 16 08:49:37 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 09:29:07 2026 -0700"
      },
      "message": "Roll Skia from ef17057bb776 to 9c2b83788409 (1 revision) (#188061)\n\nhttps://skia.googlesource.com/skia.git/+log/ef17057bb776..9c2b83788409\n\n2026-06-16\nrecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\nRoll recipe dependencies (trivial).\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC brettos@google.com,jimgraham@google.com,kjlubick@google.com on\nthe revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/b38cbdd0b6e2b003e92bca976e61505cbd860f5e\n"
    },
    {
      "commit": "e2748f26d2232d4ca58e74224ad1bc709c538ab8",
      "tree": "86f0fb5534cc39abd8df5845ea20ff6adaa9ba8e",
      "parents": [
        "cacc3ddf407b8c3d2efbb9e8484c9b4d95bbc40f"
      ],
      "author": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Tue Jun 16 09:12:33 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 09:13:35 2026 -0700"
      },
      "message": "[dwds] Copy changes from github\n\nCopy into pkg/dwds and pkg/dwds_test_common.\n\n* https://github.com/dart-lang/webdev/commit/9ae71a9b8d4b901149ef8aa2b4affc7c731b32c3\n* https://github.com/dart-lang/webdev/commit/86e55394b0186d3cc6052d1fdf4e96a4ad873017\n* https://github.com/dart-lang/webdev/commit/e17619d379bf80057b920d242e8b73010a268fec\n* https://github.com/dart-lang/webdev/commit/db9f427a7fa894a1fb4bbeefe51a206f42dcadf0\n* https://github.com/dart-lang/webdev/commit/7daa293f4db06bc728f7b9bf1d1fdc5f6648f9f9\n* https://github.com/dart-lang/webdev/commit/98a6f54017774a6bab0f68263ee74f54e462ec95\n* https://github.com/dart-lang/webdev/commit/d2cf18200512cf73c0787a70bb6f91d7a0c58067\n\nSelectively revert incompatible changes to the pubspec.yaml files.\n\nChange-Id: Iec8eaeaf4c6ed7003dd1f514495962b05ba280ba\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513420\nCommit-Queue: Nicholas Shahan \u003cnshahan@google.com\u003e\nReviewed-by: Nate Biggs \u003cnatebiggs@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/0e5819e3d3a5ff73ec4a734489b1aaa03c2a3fd7\n"
    },
    {
      "commit": "cacc3ddf407b8c3d2efbb9e8484c9b4d95bbc40f",
      "tree": "8811ebaa384fc606a5cd82fbfb74f874829f37cd",
      "parents": [
        "437312d1e83a4b8bf9eb0076620b62b7fd854156"
      ],
      "author": {
        "name": "Fedor Shcheglov",
        "email": "fedor.scheglov@gmail.com",
        "time": "Tue Jun 16 09:11:19 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 09:13:33 2026 -0700"
      },
      "message": "Report `nonAbstractClassInheritsAbstractMemberOne` only on the first fragment of a class or enum.\n\nChange-Id: I28f07db7e3356f99652d68ab14023b146d297c28\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513341\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/b6a2e4b1ec98b7229108f135c740c3d819ddec74\n"
    },
    {
      "commit": "437312d1e83a4b8bf9eb0076620b62b7fd854156",
      "tree": "3a89bf55d5aa463132935f58fe09bf0f553f2155",
      "parents": [
        "89b6f364a251864a0ba2452324bca399de025e59"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Tue Jun 16 08:51:42 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 08:55:56 2026 -0700"
      },
      "message": "CQ. Attempt to find referenced names of analyzer diagnostic expectations only in analyzer test files.\n\nChange-Id: I38c1aea09f9908895bc2b8eb55873d450cccfddf\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512520\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Paul Berry \u003cpaulberry@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/c3b43e8f09b7c24232fea9fb543fc8863d232af7\n"
    },
    {
      "commit": "89b6f364a251864a0ba2452324bca399de025e59",
      "tree": "7ad419afc560f7a29d1172d8892b506f587091c4",
      "parents": [
        "5cf3cb92d5f2ea1eb124c20173af758d21414a9b"
      ],
      "author": {
        "name": "Tess Strickland",
        "email": "sstrickl@google.com",
        "time": "Tue Jun 16 07:21:32 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 07:23:31 2026 -0700"
      },
      "message": "[vm,dyn_modules] Add Dup instruction.\n\nInstead of using allocated frame slots for temporary values to duplicate\nthe top of the stack, create an instruction to do so. This ensures that\nthe value being duplicated does not outlive its uses via the frame slot.\n\nAlso sets the unused result slot for the SubtypeCheck runtime call to\na GC-safe value prior to making the call, otherwise a scavenge during\nthat call might see garbage there.\n\nTEST\u003dvm/dart/heap_snapshot_test\n\nFixes: https://github.com/dart-lang/sdk/issues/63513\nCq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try\nChange-Id: I2d76c8cdc09b8d150b31fe1d3dfab14188ef9821\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512160\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Tess Strickland \u003csstrickl@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/a944b056e568ecf1392a1637d179fefcf523d025\n"
    },
    {
      "commit": "5cf3cb92d5f2ea1eb124c20173af758d21414a9b",
      "tree": "6273f30e371776cbf232503e635efc9503ee6829",
      "parents": [
        "69516d5caec0f7c043bbbb1bef5094ef671696a1"
      ],
      "author": {
        "name": "Modestas Valauskas",
        "email": "valauskasmodestas@gmail.com",
        "time": "Tue Jun 16 06:57:40 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 06:59:46 2026 -0700"
      },
      "message": "[vm/compiler] Intrinsify Int32x4 integer lane getters (x/y/z/w).\n\nSpecialize _Int32x4.x/y/z/w like the other per-lane accessors:\n  - recognize _Int32x4 get:x/y/z/w as `vm:recognized, \"other\"` in\n    OTHER_RECOGNIZED_LIST;\n  - add kInt32x4Get{X,Y,Z,W} SimdOp kinds (output: unboxed Int32),\n    lowered via CallSpecializer::InlineSimdOp / CreateFromCall so the\n    receiver is unboxed once and shared across the four lane reads;\n  - backend lowering: arm64 (vmovrs + sxtw), x64 (movsxd), ia32 (movl),\n    arm (vmovrs); RISC-V uses the scalar SimdLowering path;\n  - type the result with FromUnboxedRepresentation(kUnboxedInt32) so a\n    lane is Int (not Smi) on 32-bit, as LoadIndexedInstr::ComputeType\n    already does.\n\nbenchmarks/SimdInt32x4 laneSumSimd (sum 2048 int32s), macOS arm64:\n  JIT : 306.1 -\u003e 4.62 us  (~66x)\n  AOT : 267.2 -\u003e 4.07 us  (~66x)\n\nAdds the laneSumScalar/laneSumSimd pair to benchmarks/SimdInt32x4.\n\nFixes https://github.com/dart-lang/sdk/issues/22819\nWork towards https://github.com/dart-lang/sdk/issues/63471\n\nTEST\u003dtests/lib/typed_data/int32x4_test; benchmarks/SimdInt32x4\n\nChange-Id: Ia35816e6aa223738cc09d35005510e9be2d41f00\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/507761\nReviewed-by: Slava Egorov \u003cvegorov@google.com\u003e\nAuto-Submit: Modestas Valauskas \u003cvalauskasmodestas@gmail.com\u003e\nCommit-Queue: Slava Egorov \u003cvegorov@google.com\u003e\nReviewed-by: Martin Kustermann \u003ckustermann@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/17c188f5344c18a9fe4d7417eaf593d516ce9b63\n"
    },
    {
      "commit": "69516d5caec0f7c043bbbb1bef5094ef671696a1",
      "tree": "6062cd4f443f3368e738df1a3bbf50d91b30ed12",
      "parents": [
        "da5283f078baaf80bdd5084fe6ad2eff4293a52d"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Tue Jun 16 05:49:28 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 03:30:29 2026 -0700"
      },
      "message": "Roll Skia from 500025456bb5 to ef17057bb776 (1 revision) (#188058)\n\nhttps://skia.googlesource.com/skia.git/+log/500025456bb5..ef17057bb776\n\n2026-06-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll\nvulkan-deps from 6fd80c6ab534 to e5233e15a0ea (10 revisions)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC brettos@google.com,jimgraham@google.com,kjlubick@google.com on\nthe revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/de7991f86ad446871cc09dc72742953c44ca3a8e\n"
    },
    {
      "commit": "da5283f078baaf80bdd5084fe6ad2eff4293a52d",
      "tree": "907d5d7a6a2a1a8fb66cc8c468c0ab8a6f9f182b",
      "parents": [
        "d53db2b3f7ed6cee533a61fbf0541749d2bc98dc"
      ],
      "author": {
        "name": "Johnni Winther",
        "email": "johnniwinther@google.com",
        "time": "Tue Jun 16 03:14:36 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 03:24:00 2026 -0700"
      },
      "message": "[cfe][InternalNodes] Add internal nodes for break and continue\n\nThis fixes a leak found in https://dart-review.googlesource.com/c/sdk/+/512901\n\nChange-Id: I4019576d37b70387284e823dd5575640bbf2cdd4\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512902\nReviewed-by: Jens Johansen \u003cjensj@google.com\u003e\nCommit-Queue: Johnni Winther \u003cjohnniwinther@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/fd06698e3e1712ba33395c7edf71c4c70b91ed62\n"
    },
    {
      "commit": "d53db2b3f7ed6cee533a61fbf0541749d2bc98dc",
      "tree": "8f72cdb7159cd3272f83db56cf5230e755dd0d2c",
      "parents": [
        "658b18d32f173a888c046e2d2fbdb9af56305e72"
      ],
      "author": {
        "name": "Jens Johansen",
        "email": "jensj@google.com",
        "time": "Tue Jun 16 03:04:56 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 03:13:53 2026 -0700"
      },
      "message": "[CFE] Reproduce leak via BreakStatementImpl.targetStatement\n\nThe weekly bot is failing with a leak.\nThis reproduces the issue.\n\n```\n$ out/ReleaseX64/dart-sdk/bin/dart pkg/front_end/test/vm_service_for_leak_detection.dart\n\n[...]\nWARNING: Duplicated pretty prints of objects.\nThis might be a memory leak!\n\nLibrary[fileUri: \"org-dartlang-test:///b.dart\"] (2)\n \u003d\u003e Library[fileUri: \"org-dartlang-test:///b.dart\", libraryIdForTesting: \"48\"]\n \u003d\u003e Library[fileUri: \"org-dartlang-test:///b.dart\", libraryIdForTesting: \"23\"]\n```\n\nChange-Id: I6c8b5b5d82e383101ba087b6045015ef5f98e608\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512901\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Jens Johansen \u003cjensj@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/180773479c404e8ba0d2ad99bf9d0eb1fa717f23\n"
    },
    {
      "commit": "658b18d32f173a888c046e2d2fbdb9af56305e72",
      "tree": "2c15534642c884ccba7795925efb58138ae278d7",
      "parents": [
        "0159824be50b1a594ba02ecda6fcc7aa7f6c839d"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Tue Jun 16 03:41:46 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Tue Jun 16 01:27:56 2026 -0700"
      },
      "message": "Roll Skia from cb1035ff14bf to 500025456bb5 (5 revisions) (#188057)\n\nhttps://skia.googlesource.com/skia.git/+log/cb1035ff14bf..500025456bb5\n\n2026-06-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE\nfrom 81a96a84e6e6 to 227bb03bda93 (17 revisions)\n2026-06-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia\nInfra from 09ad6a8da9bf to c0a69acfa708 (11 revisions)\n2026-06-16\nrecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\nRoll recipe dependencies (trivial).\n2026-06-16\nrecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\nRoll recipe dependencies (trivial).\n2026-06-16\nrecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\nRoll recipe dependencies (trivial).\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC brettos@google.com,jsimmons@google.com,kjlubick@google.com on\nthe revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/6bb3abf62c98b40ef3bd3270fe1f28e7b9e99887\n"
    },
    {
      "commit": "0159824be50b1a594ba02ecda6fcc7aa7f6c839d",
      "tree": "df6374751ac55f6e879059cc25d259d8f4c5809c",
      "parents": [
        "3a92014ef0f429bb4ad3ddb49308ff17b9965186"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Mon Jun 15 23:29:20 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 23:49:17 2026 -0700"
      },
      "message": "Roll Fuchsia Linux SDK from TbB86Po_HDe1dvXvT... to VeLhhlDcod09NR4Hb... (#188055)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/fuchsia-linux-sdk-flutter\nPlease CC jsimmons@google.com,zra@google.com on the revert to ensure\nthat a human\nis aware of the problem.\n\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/b46a61050c90398fea81aadf2698fb5e0fd4b67b\n"
    },
    {
      "commit": "3a92014ef0f429bb4ad3ddb49308ff17b9965186",
      "tree": "9111bb743de9b7ec800b427280554dc566accb10",
      "parents": [
        "c45609561b358502b2f6b0f66876acf3d6608f32"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Mon Jun 15 22:53:35 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 23:49:13 2026 -0700"
      },
      "message": "Roll Skia from 70acf6a5e7c9 to cb1035ff14bf (3 revisions) (#188054)\n\nhttps://skia.googlesource.com/skia.git/+log/70acf6a5e7c9..cb1035ff14bf\n\n2026-06-15\nrecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\nRoll recipe dependencies (trivial).\n2026-06-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll\nvulkan-deps from 5d7fd70ddbd6 to 6fd80c6ab534 (5 revisions)\n2026-06-15\nrecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\nRoll recipe dependencies (trivial).\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC brettos@google.com,jsimmons@google.com,kjlubick@google.com on\nthe revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/b4eb22402e3239aec1f98b60af61f5d5fe12506d\n"
    },
    {
      "commit": "c45609561b358502b2f6b0f66876acf3d6608f32",
      "tree": "0a0010be0408a36e56b021e81f70d9b03a7613a8",
      "parents": [
        "a724a74548bd9876b6c48712307faa4b1d846898"
      ],
      "author": {
        "name": "hellohuanlin",
        "email": "41930132+hellohuanlin@users.noreply.github.com",
        "time": "Mon Jun 15 18:16:54 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 23:49:11 2026 -0700"
      },
      "message": "[pv]skip non-tappable web view workaround on ios 26.4 (#185424)\n\nThe upstream bug has been fixed on iOS 26.4 (PR:\nhttps://github.com/WebKit/WebKit/pull/57358), so we can skip the hacky\nworkaround now.\n\nFixes https://github.com/flutter/flutter/issues/185372\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- [ ] All existing and new tests are passing.\n\nIf you need help, consider asking for advice on the #hackers-new channel\non [Discord].\n\nIf this change needs to override an active code freeze, provide a\ncomment explaining why. The code freeze workflow can be overridden by\ncode reviewers. See pinned issues for any active code freezes with\nguidance.\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\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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/121dbb62c8234044331444af136c0c8acc15af83\n"
    },
    {
      "commit": "a724a74548bd9876b6c48712307faa4b1d846898",
      "tree": "3c245c9867232298a0f0112992aca557726e43e9",
      "parents": [
        "ced86eea6cf954be110eba155f34ad782ed660d8"
      ],
      "author": {
        "name": "Mouad Debbar",
        "email": "mdebbar@google.com",
        "time": "Mon Jun 15 21:15:09 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 23:49:08 2026 -0700"
      },
      "message": "[web] RenderParagraph needs paint after a DPR change (#186968)\n\nCurrently, there are situation where a `ui.Paragraph` is not repainted,\nfor example when it\u0027s inside a `RepaintBoundary`. When\n`devicePixelRatio` changes due to zooming in or out, and the paragraph\nisn\u0027t repainted, it results in `WebParagraph`s becoming blurry/choppy\nbecause they are painted as images.\n\nThe image needs to be regenerated for the new `devicePixelRatio` in\norder to become clear.\n\nThis PR adds the `devicePixelRatio` property to `RenderParagraph` and,\non the web, a change in this property causes the paragraph to be\nrepainted.\n\nThe cost of this PR on performance should be minimal because:\n1. It\u0027s limited to web.\n2. It only costs an extra paint when the dpr changes, which is not a\ncommon case (on the web, it happens when zooming in/out or when the\nwindow is moved to a different display).\n\nPart of https://github.com/flutter/flutter/issues/172561\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/072b85c0c08dbe373d5f695edb674c9923953bdd\n"
    },
    {
      "commit": "ced86eea6cf954be110eba155f34ad782ed660d8",
      "tree": "5c05de2018652aee8984d61d9f79e6b624a15115",
      "parents": [
        "74f0a270b7b4333928ee3da960e06242349ff9af"
      ],
      "author": {
        "name": "gaaclarke",
        "email": "30870216+gaaclarke@users.noreply.github.com",
        "time": "Mon Jun 15 18:13:19 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 18:54:58 2026 -0700"
      },
      "message": "Adds gamma correction to windows text. (#187871)\n\nfixes https://github.com/flutter/flutter/issues/187734\n\ntested manually locally, tests for the feature landed when it was\noriginally introduced.\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\nIf you need help, consider asking for advice on the #hackers-new channel\non [Discord].\n\nIf this change needs to override an active code freeze, provide a\ncomment explaining why. The code freeze workflow can be overridden by\ncode reviewers. See pinned issues for any active code freezes with\nguidance.\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\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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/02fbac5a6873e9a25cb07f0491a92b1f04629804\n"
    },
    {
      "commit": "74f0a270b7b4333928ee3da960e06242349ff9af",
      "tree": "f358bd0062e0748c8a9040c5ede2d4ba89d5f007",
      "parents": [
        "3fc6a6b62d20bd11d3d35d4832d9e0e6dd429333"
      ],
      "author": {
        "name": "auto-submit[bot]",
        "email": "98614782+auto-submit[bot]@users.noreply.github.com",
        "time": "Mon Jun 15 16:04:30 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 17:17:56 2026 -0700"
      },
      "message": "Reverts \"Add a platform view test to android_hardware_smoke_test (#187913)\" (#188051)\n\n\u003c!-- start_original_pr_link --\u003e\nReverts: flutter/flutter#187913\n\u003c!-- end_original_pr_link --\u003e\n\u003c!-- start_initiating_author --\u003e\nInitiated by: gaaclarke\n\u003c!-- end_initiating_author --\u003e\n\u003c!-- start_revert_reason --\u003e\nReason for reverting: This is turning the tree red because there is a\nproblem getting pub dependencies after this (for example:\nhttps://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20tool_integration_tests_2_5/10257/overview).\n\nI\u0027m not sure what the solution is off the top of my head, maybe updating\nthe packages for the workspace? Setting the dependency to `any` seems\nlike the right thing to do to me.\n\u003c!-- end_revert_reason --\u003e\n\u003c!-- start_original_pr_author --\u003e\nOriginal PR Author: andywolff\n\u003c!-- end_original_pr_author --\u003e\n\n\u003c!-- start_reviewers --\u003e\nReviewed By: {gaaclarke}\n\u003c!-- end_reviewers --\u003e\n\n\u003c!-- start_revert_body --\u003e\nThis change reverts the following previous change:\nExpand test coverage to address more of\nhttps://github.com/flutter/flutter/issues/182123\n\nThis adds a test with a platform view. In order to get both the flutter\npixels and the native pixels fully composited, we have to initiate the\nscreenshot from the test runner, not the app. This has a few\nconsequences for the architecture and data flow of the tests. Details in\nthe changes to README.md.\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\nIf you need help, consider asking for advice on the #hackers-new channel\non [Discord].\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\n\n\u003c!-- end_revert_body --\u003e\n\nCo-authored-by: auto-submit[bot] \u003cflutter-engprod-team@google.com\u003e\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/a317511f63443c846597ccd46aa28f9b47b17242\n"
    },
    {
      "commit": "3fc6a6b62d20bd11d3d35d4832d9e0e6dd429333",
      "tree": "a7cf477b3f3efc84587816d1ff22317e5c33b366",
      "parents": [
        "b72648ae4213dd46267367ee8abbf046eb244bb9"
      ],
      "author": {
        "name": "Nate Biggs",
        "email": "natebiggs@google.com",
        "time": "Mon Jun 15 16:45:15 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 16:47:54 2026 -0700"
      },
      "message": "[vm_service] Make test harness more robust.\n\nThis introduces an IsolateTestHarness and VMTestHarness that will be used to define vm_service-based tests.\n\nMain changes are in:\npkg/vm_service/test/common/service_test_common.dart\npkg/vm_service/test/common/test_helper.dart\n\nEverything else is code motion.\n\nThis changes the format of these tests in several ways:\n1) The test definition and the code under test are now split into 2 separate files. The harness takes the path to the code under test as an argument. The tests still invoke themselves since this is the best way to have these tests work in precompiled mode. Otherwise we would have to precompile the test file the same way. But with the testee code now in a separate file, it\u0027s easier to maintain expectations.\n2) Line numbers are no longer hardcoded anywhere. Instead they are derived from comments in the code under test. This means making small changes to the sources won\u0027t break the test.\n3) Stop expectations (a list of breakpoints hit while running the program) are now captured in separate golden files. For any given test these goldens can now be regenerated using a command line flag.\n4) For SDK-based expectations, the tests now support finding line numbers based on regexps on the sources. This should be less brittle than hard-coded line numbers on SDK files.\n\nNote: Some co19 tests are currently failing because they also depend on this test framework. I have a PR open to update those as well. I will land that PR and then include the hash in this commit: https://github.com/dart-lang/co19/pull/3849\n\nChange-Id: I9ec68fb7a87939e75509edb83fc819688cc3ea5b\nFixes: https://github.com/dart-lang/sdk/issues/63512\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/509700\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nReviewed-by: Nicholas Shahan \u003cnshahan@google.com\u003e\nCommit-Queue: Nate Biggs \u003cnatebiggs@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/cbba25adcb0765b7d4f44f79f146ac4b6018eb45\n"
    },
    {
      "commit": "b72648ae4213dd46267367ee8abbf046eb244bb9",
      "tree": "eca548caf2274e95f631514ba5f8495d785acc2f",
      "parents": [
        "428b5ac11659456a76aaf7e4fbaa2e5a3349a6d5"
      ],
      "author": {
        "name": "Andy Wolff",
        "email": "awolff@google.com",
        "time": "Mon Jun 15 14:17:35 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 16:31:19 2026 -0700"
      },
      "message": "Add a platform view test to android_hardware_smoke_test (#187913)\n\nExpand test coverage to address more of\nhttps://github.com/flutter/flutter/issues/182123\n\nThis adds a test with a platform view. In order to get both the flutter\npixels and the native pixels fully composited, we have to initiate the\nscreenshot from the test runner, not the app. This has a few\nconsequences for the architecture and data flow of the tests. Details in\nthe changes to README.md.\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\nIf you need help, consider asking for advice on the #hackers-new channel\non [Discord].\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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/a08432b8931f07d04f992db7be7ca40e6204d0ad\n"
    },
    {
      "commit": "428b5ac11659456a76aaf7e4fbaa2e5a3349a6d5",
      "tree": "0b69ecb86a05f63ebdda222d89701a3cacd28f94",
      "parents": [
        "1444e9130920e99ad58cd6c2ae2ca89e5e44b9c4"
      ],
      "author": {
        "name": "John \"codefu\" McDole",
        "email": "codefu@google.com",
        "time": "Mon Jun 15 11:33:00 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 16:31:11 2026 -0700"
      },
      "message": "feat: linux_analyze in a workflow (#187889)\n\nfixes #187817\n\n- Will run the same as a LUCI recipe, but in GitHub actions\n- Updated composite-flutter-setup to install/cache ktlint.\n- Should detect and wait for engine builds before running\n\nSuccessful run:\nhttps://github.com/flutter/flutter/actions/runs/27382050611/job/80920878955?pr\u003d187889#annotation:15:3\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- [ ] 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- [ ] All existing and new tests are passing.\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/69410eba34e1fbd10b92921cb3f22016f1e2d153\n"
    },
    {
      "commit": "1444e9130920e99ad58cd6c2ae2ca89e5e44b9c4",
      "tree": "003cb6b15a221407f69c58f12d746684c6634108",
      "parents": [
        "9450e318c59de454d7ecca3874186b0a44430254"
      ],
      "author": {
        "name": "Mouad Debbar",
        "email": "mdebbar@google.com",
        "time": "Mon Jun 15 14:20:14 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 16:31:07 2026 -0700"
      },
      "message": "[web] Changes to WebParagraph configuration (#187188)\n\nChanges:\n\n- Drop `experimental` from the path and config flags.\n- **Reason**: Other experimental modes don\u0027t use the word \"experimental\"\n(e.g. skwasm_heavy, wimp), and I don\u0027t want it to be a breaking change\nto graduate out of the \"experimental\" phase.\n\u003chr\u003e\n\n- Instead of having WebParagraph be a third CK variant, make it a global\n`enableWebParagraph` flag.\n- **Reason**: In the future, we will support Skwasm and Wimp, so it\ndoesn\u0027t make sense to limit the flag to CanvasKit.\n\u003chr\u003e\n\n- Feature-detect Chrome\u0027s Text Cluster API and fallback to another CK\nvariant if it\u0027s not supported.\n- **Reason**: To allow for a smoother adoption path. Without this, all\nusers will have to do their own feature detection to adopt WebParagraph.\n\u003chr\u003e\n\n- Throw a clear message when Dart code is in WebParagraph mode but the\ndownloaded CK variant doesn\u0027t support WebParagraph.\n- **Reason**: I was bit by this multiple times. It shouldn\u0027t happen\nanymore, but if it does, I want the error message to be clear instead of\nsome random failure.\n\n\u003chr\u003e\n\nFixes https://github.com/flutter/flutter/issues/186215\nPart of https://github.com/flutter/flutter/issues/172561\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] \u003c176961590+gemini-code-assist[bot]@users.noreply.github.com\u003e\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/c28687d3cbb245bd66697013d94e47c4237e0453\n"
    },
    {
      "commit": "9450e318c59de454d7ecca3874186b0a44430254",
      "tree": "f5738eb24cfddee29313c6ba4d5bf822ea77651e",
      "parents": [
        "77829cfb5ab2a0f7f90a3387c173b9d9ffff5a2e"
      ],
      "author": {
        "name": "Matt Boetger",
        "email": "matt.boetger@gmail.com",
        "time": "Mon Jun 15 10:50:11 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 16:31:04 2026 -0700"
      },
      "message": "Fail gracefully on Android AVD lock errors during startup (#187200)\n\nFail gracefully on Android AVD lock errors during startup.\n\nFixes: #48894\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.\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/6469c0f30ab7fb1ce375828c6e98918eca38026e\n"
    },
    {
      "commit": "77829cfb5ab2a0f7f90a3387c173b9d9ffff5a2e",
      "tree": "bb53f31ff8a766d24da6f52ed8252cac28e7c862",
      "parents": [
        "1846a0bae7c882114de3cb14146bb10d4e5a88d0"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Mon Jun 15 16:21:35 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 16:22:03 2026 -0700"
      },
      "message": "AO. Remove handling includes from _LinterRuleOptionsValidator, pass effective state.\n\nMove analysis-options include traversal out of\n_LinterRuleOptionsValidator and into the validation walker. Validate\neach physical options file independently, return its local linter rule\ndeclarations, and then merge included effective rule state using normal\nanalysis-options precedence.\n\nKeep both enabled and disabled rules in the effective state so that\nlocal or higher-priority disables correctly suppress lower-priority\nincluded rules. Use the merged state to report incompatible rules\nbetween sibling includes and between local rules and inherited rules.\n\nCache raw parsed options files for validation rather than merged\nanalysis options. This lets shared includes be parsed once during a\ncontext rebuild while still reporting diagnostics at the include\ndirective that introduced the problem.\n\nPreserve the physical file and YAML node for each rule occurrence. This\nallows cross-file diagnostics to point primary messages at the relevant\nlocal rule or include entry, while context messages point at the rule\ndeclaration that actually contributed the effective state.\n\nChange-Id: I518bc279634c74615a1b6d6ef5de5333b9485d18\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512700\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Paul Berry \u003cpaulberry@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/f87c0b4e040afc049b2b0e69af1825a5d549f6a5\n"
    },
    {
      "commit": "1846a0bae7c882114de3cb14146bb10d4e5a88d0",
      "tree": "f3f0a3d9df126003a977445ff2f6106cac9331e0",
      "parents": [
        "1e6241f7459709e2770915d3b0365442fb142982"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Mon Jun 15 16:19:42 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 16:22:00 2026 -0700"
      },
      "message": "AO. More tests for incompatible linter rules.\n\nAlso a small implementation change to support these new scenarios. Pass\nthe source URI when parsing analysis options from a source so that YAML\nnodes retain the file they came from after include merging.\n\nUse the source URL on each lint rule node when building incompatible\nlint contexts, rather than deriving the file path from the include\ndirective that exposed the rule. This lets diagnostics for nested\nincludes report the file that actually enabled the incompatible rule,\nincluding cases where an included file disables a rule inherited from\none of its own includes.\n\nChange-Id: Iec17a8c35c70e88f78860df59f6dcbeb94ba613d\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512680\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/cd80d609bb69313b116a845f9ec9b40dcd34531d\n"
    },
    {
      "commit": "1e6241f7459709e2770915d3b0365442fb142982",
      "tree": "29651f226b59f9e704e937116688bb8f5d6d449c",
      "parents": [
        "0fb762044e818ec340d14faf89009a4feab6d20e"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Mon Jun 15 15:50:48 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 15:52:59 2026 -0700"
      },
      "message": "AO. Switch mostly to AnalysisOptionsProvider.getAnalysisOptionsFromFile()\n\nAdd AnalysisOptionsProvider.getAnalysisOptionsFromFile() as the shared\nentry point for constructing AnalysisOptionsImpl from an options file.\nThe new helper keeps include resolution, merged YAML construction, file\nidentity, and resource-provider selection in one place.\n\nUse the helper in context building, context location, and micro analysis\ninstead of open-coding getOptionsFromFile() followed by\nAnalysisOptionsImpl.fromYaml(). This removes duplication and makes\ncallers depend on the typed analysis options API rather than the\nintermediate YAML shape.\n\nAlso read exclude patterns from AnalysisOptionsImpl when locating\ncontext roots, so context location uses the same interpreted options\nmodel as the rest of analyzer configuration.\n\nChange-Id: I5d6c5e29ccde46a1c70a9efeaba39e683e4937e0\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512660\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/349201530e76a43d4f2aacd9725452c06e7aa529\n"
    },
    {
      "commit": "0fb762044e818ec340d14faf89009a4feab6d20e",
      "tree": "dffff40aeae6f7919dba4631a3fd68bf350b582e",
      "parents": [
        "0b1dde27f46cf92bf67362902f4d178182151a7a"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Mon Jun 15 15:29:00 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 15:31:00 2026 -0700"
      },
      "message": "AO. Reduce the number of assertX methods in AbstractAnalysisOptionsTest.\n\nChange-Id: I8d18617932992a0bd22943c30507fbcfbb0f5fe1\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512640\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/a984b12b153995d6c7ffa9d850e7f980c5cfeaad\n"
    },
    {
      "commit": "0b1dde27f46cf92bf67362902f4d178182151a7a",
      "tree": "a4c92d9e41b32a6925d31c68e42844c4cfe03e68",
      "parents": [
        "2ea28f4e92090fbcf17801f864a9859c1d1a4599"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Mon Jun 15 15:15:52 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 15:17:58 2026 -0700"
      },
      "message": "AO. Use assertAnalysisOptionsText() in AnalysisOptionsBuildTest.\n\nChange-Id: I0b4056f67eb2b516fe7b6e38057e5d9b20996615\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512620\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/cde1a78a924b0f5f4c4df6d4688d2e022bc0e94a\n"
    },
    {
      "commit": "2ea28f4e92090fbcf17801f864a9859c1d1a4599",
      "tree": "19fc9567cf19cd5f6f46a8b90af2da1281bf1c19",
      "parents": [
        "9d122e760563db2c62531709bfb6c14fb94b6256"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Mon Jun 15 13:55:38 2026 -0700"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jun 15 14:14:02 2026 -0700"
      },
      "message": "Fix invalid JSON.\n\nChange-Id: I40115cd101fdd517ff647caea8bb99fb23ac57e8\nReviewed-on: https://dart-review.googlesource.com/c/monorepo/+/513300\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\nReviewed-by: Alexander Aprelev \u003caam@google.com\u003e\n"
    },
    {
      "commit": "9d122e760563db2c62531709bfb6c14fb94b6256",
      "tree": "566b9e17f8ca30136cd155e411ec5db008efb5bb",
      "parents": [
        "58b3ee4d5c592df4c653a9278f55fd85fdcc5fca"
      ],
      "author": {
        "name": "Brian Wilkerson",
        "email": "brianwilkerson@google.com",
        "time": "Mon Jun 15 13:42:32 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 13:44:22 2026 -0700"
      },
      "message": "Update convertToSecondaryConstructor to use new keyword\n\nThe use of outdated syntax was pointed out in the bug bash.\n\nCloses https://github.com/dart-lang/sdk/issues/63591\n\nChange-Id: I8caeb5153a8fbc7363f6df2b450ecd254f49df24\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513180\nReviewed-by: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/add4d150a433312a17820fe0e9c6d680de5ecd8b\n"
    },
    {
      "commit": "58b3ee4d5c592df4c653a9278f55fd85fdcc5fca",
      "tree": "a9e6f965321c0f96085f66da555e0ed710d78b85",
      "parents": [
        "24848daa507969c16822de49c12d0fc85d8bfbc5"
      ],
      "author": {
        "name": "Brian Wilkerson",
        "email": "brianwilkerson@google.com",
        "time": "Mon Jun 15 13:42:19 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 13:44:20 2026 -0700"
      },
      "message": "Remove blank lines from convertToPrimaryConstructor\n\nThe convertToPrimaryConstructor assist currently leaves blank lines\naround the in-body constructor that was converted (when there\u0027s no\nprimary constructor body to take its place).\n\nThis CL fixes that issue by introducing a general utility to the\nchange builder API.\n\nCloses https://github.com/dart-lang/sdk/issues/63562\n\nChange-Id: I1d6613eac65aa830ed25a2f0fe62c36126dc3ca8\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513040\nReviewed-by: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/f6b18f45133088b7359fc6678fff224778a43a7c\n"
    },
    {
      "commit": "24848daa507969c16822de49c12d0fc85d8bfbc5",
      "tree": "c2e84d17eabdb0e44f659a664b43f67d433e1913",
      "parents": [
        "f1d0ac65ddf1dd78b49f4e66e7e51472947219fa"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Mon Jun 15 12:26:57 2026 -0700"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jun 15 13:28:36 2026 -0700"
      },
      "message": "Route customer testing shard to newer machines.\n\nChange-Id: I56dd0b5896784146465dd35debce836c00d7611d\nReviewed-on: https://dart-review.googlesource.com/c/monorepo/+/513220\nReviewed-by: Alexander Aprelev \u003caam@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n"
    },
    {
      "commit": "f1d0ac65ddf1dd78b49f4e66e7e51472947219fa",
      "tree": "40755cbaaa6f53ceadb7beb239e0bb822acab88c",
      "parents": [
        "1090728e01edb6b6cf30cb256ee0f86a9597b1ac"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Mon Jun 15 12:50:02 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 12:51:58 2026 -0700"
      },
      "message": "[vm] Remove transitions for removing VM isolate, step 2.\n\nTEST\u003dci\nChange-Id: Ibf9bd2689936ef3bc1e2a7178c569c4efb1745c6\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/502820\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/8a43183101104b4a0bac55c6ddeb444ba7008b40\n"
    },
    {
      "commit": "1090728e01edb6b6cf30cb256ee0f86a9597b1ac",
      "tree": "eafda584c3360cdd936d701beed327c77628b22d",
      "parents": [
        "0ff16f2d123eb73910c3c615e0eb83e1952caca2"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Mon Jun 15 12:29:40 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 12:42:35 2026 -0700"
      },
      "message": "AO. Merge classes in the nalysis options build test file.\n\nPS1: merge and rewrite\nPS3: sort\n\nChange-Id: Ic40b66c2770f10d30d494951e134c25d98edc933\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512600\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/d88bbf4fb069035584c6c1e25ab4065597abb842\n"
    },
    {
      "commit": "0ff16f2d123eb73910c3c615e0eb83e1952caca2",
      "tree": "5832111b9ec831c2a9b316ee87206c3633e22168",
      "parents": [
        "7fda7a9a04bb4953564ff176e8eb5a13f707947c"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Mon Jun 15 12:15:18 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 12:17:58 2026 -0700"
      },
      "message": "Add placeholder builder configurations for Android X64.\n\nChange-Id: I0ed7a11d5ce7992ea8721d510a7c776a73fa9693\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513140\nReviewed-by: Alexander Aprelev \u003caam@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/724bb0ac288391414aeae7f31f924b38b98f8601\n"
    },
    {
      "commit": "7fda7a9a04bb4953564ff176e8eb5a13f707947c",
      "tree": "063048acd96dcdcea3f53ac97c2a2efb2695e90b",
      "parents": [
        "756e131af4ac2a8eeb03e62404beeb7f385a436a"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Mon Jun 15 12:12:47 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 12:14:48 2026 -0700"
      },
      "message": "AO. Merge classes in the validation test file.\n\nPS1: merge classes\nPS3: Use assertAnalysisOptionsDiagnostics(), remove duplicates.\nPS5: sort\n\nChange-Id: Iba4669edcf272ddb74fc03af0f2648402cb157f3\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512580\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/910d4ee0b72f61e855d78089d9cebd0fbd7f4136\n"
    },
    {
      "commit": "756e131af4ac2a8eeb03e62404beeb7f385a436a",
      "tree": "e59527a78a617eb45ea17e7afb3a39617077a0b0",
      "parents": [
        "6fc3c2bc76db3e9d3f02ab0844f8f36f98442a78"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Mon Jun 15 12:06:35 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 12:08:47 2026 -0700"
      },
      "message": "[build] Switch to AOT bootstrap gen_kernel/compile_platform.\n\nTEST\u003dbuild.py --check-clean\nBug: https://github.com/dart-lang/sdk/issues/63495\nBug: https://github.com/dart-lang/sdk/issues/63546\nChange-Id: I51e2f243583ccd16694955e7f4d48d4d0986e737\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/510221\nReviewed-by: Alexander Aprelev \u003caam@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/4c55384b370732eb63ee55d4faa811481d524747\n"
    },
    {
      "commit": "6fc3c2bc76db3e9d3f02ab0844f8f36f98442a78",
      "tree": "03f92627100761e2dafb39ada37ebbd67266f2a7",
      "parents": [
        "231c3e320f4c358254ec0fd1c5245e830e5da8ce"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Mon Jun 15 12:04:41 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 12:08:45 2026 -0700"
      },
      "message": "AO. Analysis options validation refactoring, stages 13.\n\nConsolidate analysis options tests by production path\n\nMove analysis-options tests into build and validation files under\ntest/src/analysis_options. Keep the existing test method coverage, but\nrename test classes away from old provider and validator internals\ntoward build/effective-options and validation behavior. Update suite\nwiring, inline expectation hooks.\n\nChange-Id: I4dc834681ced6d1a9dfd28805aa1ee7ad498193f\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512560\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/86592d925a8b41571c61ca2788a4f6c212779788\n"
    },
    {
      "commit": "231c3e320f4c358254ec0fd1c5245e830e5da8ce",
      "tree": "b65e341071377c04ce2df21ec7ae0288616d838a",
      "parents": [
        "617c0a409218a4f8ec7b8ca6635d9f77b7bf3f59"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Mon Jun 15 11:34:32 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 11:36:39 2026 -0700"
      },
      "message": "AO. Analysis options validation refactoring, stages 10.\n\nMove lint-rule options validation under src/analysis_options and make\nthe component validators private implementation details of the\nAnalysisOptionsValidator library. The top-level AnalysisOptionsValidator\nremains the diagnostic entry point, while _OptionsFileValidator,\n_AnalyzerOptionsValidator, and _LinterRuleOptionsValidator now live\nbehind that facade. This matches the new test structure: diagnostics are\ncovered through the shared analysis-options validation path instead of\ndirect construction of internal validators.\n\nChange-Id: Ib486afa3f014f05910ca9092774a2476b7dd2015\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512540\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/324a68d4dcbd2bbe863c6b13057e649349db483e\n"
    },
    {
      "commit": "617c0a409218a4f8ec7b8ca6635d9f77b7bf3f59",
      "tree": "dafa1ce871cea9b2e9fd51f319f8d5c648614a41",
      "parents": [
        "655fb2a337c6bf63c5682030e065ab68a6df113e"
      ],
      "author": {
        "name": "Danny Tuppeny",
        "email": "danny@tuppeny.com",
        "time": "Mon Jun 15 11:15:48 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 11:18:01 2026 -0700"
      },
      "message": "[analysis_server] Fix newlines in ConvertToDeclaringParameter\n\nFixes a couple of places that would insert `\\n` during edits on Windows, but the test always expected `\\r\\n`.\n\nChange-Id: Ib0f16bba38e3333fa2353c46aebc8e69436f1e9d\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513121\nReviewed-by: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/6cf97f98917a955706fb22e626c125f01ac4dc43\n"
    },
    {
      "commit": "655fb2a337c6bf63c5682030e065ab68a6df113e",
      "tree": "f8e1c5452528c053a48b04418a802be49fd5ab17",
      "parents": [
        "158ffdd6e4a9f08b1a8c4e4d52f56ba8a1f8cc27"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Mon Jun 15 10:58:50 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 11:00:01 2026 -0700"
      },
      "message": "[dartfuzz] Set `--preserve-status` when using `timeout` to get consistent behavior between jammy, noble and resolute.\n\nBug: https://github.com/dart-lang/sdk/issues/63470\nChange-Id: I64b451be21388ab297b44f44b46c0a3ee462c416\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/513042\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\nReviewed-by: Alexander Aprelev \u003caam@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/4a3840215240783db838e4f7f51e870e94751ad0\n"
    },
    {
      "commit": "158ffdd6e4a9f08b1a8c4e4d52f56ba8a1f8cc27",
      "tree": "f87c52d61bb6bae32b5bd35313e13b049549d9d3",
      "parents": [
        "0ae8e8a125915b575b95841a0f60afed154ef3bd"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Mon Jun 15 10:57:35 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 10:59:59 2026 -0700"
      },
      "message": "AO. Analysis options validation refactoring, stages 9.\n\nMapping from removed smoke tests to remaining analyzer tests:\n\n  - test_linter_defined_rules\n    -\u003e OptionsRuleValidatorTest.test_stable_rule\n    pkg/analyzer/test/src/options/options_rule_validator_test.dart:637\n\n  - test_linter_no_rules\n    -\u003e OptionsRuleValidatorTest.test_rules_empty\n    pkg/analyzer/test/src/options/options_rule_validator_test.dart:599\n\n  - test_linter_null_rule\n    -\u003e OptionsRuleValidatorTest.test_rules_nullValue\n    pkg/analyzer/test/src/options/options_rule_validator_test.dart:605\n\n  - test_linter_undefined_rule\n    -\u003e OptionsRuleValidatorTest.test_undefined_rule\n    pkg/analyzer/test/src/options/options_rule_validator_test.dart:681\n\nBug: https://github.com/dart-lang/sdk/issues/63580\nChange-Id: I76c91ec6af927c56f542093dfb659930077178f2\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/511940\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/05ec19f954fb52ba812e321ec81b1832df765ff3\n"
    },
    {
      "commit": "0ae8e8a125915b575b95841a0f60afed154ef3bd",
      "tree": "ce912a788658e8912af1dedec2be5cb314ee8329",
      "parents": [
        "58e4925acec99167cb2d2a5cf0f3b67b5122dd43"
      ],
      "author": {
        "name": "Ben Konyi",
        "email": "bkonyi@google.com",
        "time": "Mon Jun 15 12:31:34 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 10:31:18 2026 -0700"
      },
      "message": "[flutter_tools] Fix flakiness in widget_preview_detection_test (#187938)\n\n### Description\nFixes flakiness in `widget_preview_detection_test.dart` by introducing a\nrobust polling mechanism when querying DTD for previews.\n\nPreviously, the integration tests were flaking on slow CI environments\nbecause they queried DTD immediately after a file modification, without\nwaiting for the background Dart Analysis Server to finish re-analyzing\nthe changes. This led to stale (empty) preview results and assertion\nfailures like `Bad state: Preview was lost after modification!`.\n\n### Changes\n* **Introduced `waitForPreviews` Helper**: Added a robust polling helper\nin `widget_preview_test_helpers.dart` that repeatedly queries DTD for\npreviews until a user-specified predicate is met (or a 10-second timeout\noccurs).\n* **Error Resilience**: The helper gracefully ignores all `Object`s\n(including DTD connection issues, RPC errors, or temporary parsing\nerrors) during the polling loop, as these are common transient states\nwhile the Analysis Server is re-analyzing.\n* **Test Refactoring**: Updated all four integration tests in\n`widget_preview_detection_test.dart` to use `waitForPreviews` with\nappropriate predicates (waiting for previews to be non-empty, empty, or\ncontaining specific updated content).\n* **Documentation**: Added comprehensive Dartdoc comments to the new\npublic helper.\n\n### Related Issues\n*   Fixes https://github.com/flutter/flutter/issues/187514\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/8cffb5356e2f58964a8fd1d0051ce7dda94740f2\n"
    },
    {
      "commit": "58e4925acec99167cb2d2a5cf0f3b67b5122dd43",
      "tree": "a6a0df8c0b18133e3e181404992275df5246cef4",
      "parents": [
        "b9b931f8c4c01c25b934cd57dfeddaa1d6004f57"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jason-simmons@users.noreply.github.com",
        "time": "Mon Jun 15 16:14:29 2026 +0000"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 10:31:16 2026 -0700"
      },
      "message": "Exclude fuchsia-sdk/sdk/.build-id from the builder cache archive (#187826)\n\nThe .build-id directory is created by the Fuchsia gen_build_defs.py\nscript which is run during gclient sync. It contains links to Fuchsia\nSDK binaries in a directory structure that indexes the binaries by their\nhashes.\n\nThe builder cache updater creates an archive of the source tree and its\ndependencies. This archive does not need to include the .build-id tree.\nAny necessary parts of .build-id will be written when each CI builder\ndoes its own local run of gclient sync.\n\nCurrently the gen_build_defs.py script does not delete any of the\ncontents of .build-id when it updates .build-id for the current Fuchsia\nSDK. That means that .build-id will continue to grow each time the tree\nsyncs to a new Fuchsia SDK, and all of these files were being added to\nthe builder cache archive. In a recent sample of the builder cache,\n.build-id files were nearly 80% of the archive\u0027s contents.\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/bee99df8b9c955da17773980814dddd93661fcab\n"
    },
    {
      "commit": "b9b931f8c4c01c25b934cd57dfeddaa1d6004f57",
      "tree": "a62b733965c829b3f86164db3e03b3c689e02b68",
      "parents": [
        "3b82a15a9cb91bedec7a4065ff21ac1ef3e4b83c"
      ],
      "author": {
        "name": "Kallen Tu",
        "email": "kallentu@google.com",
        "time": "Mon Jun 15 10:22:53 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 10:25:03 2026 -0700"
      },
      "message": "[migrate] Refactor into MigrationRunner.\n\nExtracts the migration pipeline coordination logic from `MigrateHandler`\ninto a dedicated orchestrator class, `_MigrationRunner`. This will also set us up for the post-migration work and allow the CL review to be a lot simpler.\n\nAlso, added `server.pauseSchedulerWhile` to ensure that no other background tasks are running while the migrate tool is.\n\nBug: https://github.com/dart-lang/sdk/issues/63270\nChange-Id: I02ea70e6bbdfc310a6b18a59e5a3a030b0d06b6c\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512480\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Kallen Tu \u003ckallentu@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/d504b481d64f544e604a7384ba4ced938af3eb21\n"
    },
    {
      "commit": "3b82a15a9cb91bedec7a4065ff21ac1ef3e4b83c",
      "tree": "d9635324f71d8dda7d981c37c23412720b4d4855",
      "parents": [
        "bd720484899352e1c057aad71079474053f0a8d7"
      ],
      "author": {
        "name": "Kallen Tu",
        "email": "kallentu@google.com",
        "time": "Mon Jun 15 10:16:16 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 10:17:21 2026 -0700"
      },
      "message": "[analyzer] Remove excludedPaths from AnalysisContextCollection.\n\nRemoving the parameter after the API deprecation in https://dart-review.googlesource.com/c/sdk/+/511160. Removed all related code and tests.\n\nChange-Id: I1fa366709edfc5819b01d142eb44f1c721fc37ec\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512440\nReviewed-by: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Kallen Tu \u003ckallentu@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/c9b0df8469a2cb58298dde065044df8eceaaae5f\n"
    },
    {
      "commit": "bd720484899352e1c057aad71079474053f0a8d7",
      "tree": "13caebd88d7ecaeb5facd79857ed90056af8984d",
      "parents": [
        "399756266cc17feab1310626a7caf912c3fe2272"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Mon Jun 15 10:14:47 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 10:17:18 2026 -0700"
      },
      "message": "[build] Use a smaller pool for gcc links.\n\nriscv linking is especially memory hungry, presumably due to linker relaxations.\n\nBug: https://github.com/dart-lang/sdk/issues/63578\nChange-Id: I675e813ad429dfc649dd16dbb5f3c6da5d0e1427\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512960\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/03c04a9bcbb5c04f432ce41d78b8ba4d23d7d0a5\n"
    },
    {
      "commit": "399756266cc17feab1310626a7caf912c3fe2272",
      "tree": "71fc42042c74f033ebd790d47d021c898641ef42",
      "parents": [
        "b8239fdfb9fc2f2e992aaf8a73794604a1739684"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Mon Jun 15 11:58:37 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 10:02:57 2026 -0700"
      },
      "message": "Roll Skia from c8d9f80f13e4 to 70acf6a5e7c9 (4 revisions) (#188020)\n\nhttps://skia.googlesource.com/skia.git/+log/c8d9f80f13e4..70acf6a5e7c9\n\n2026-06-15 kjlubick@google.com Revert \"Specialize\nsk_is_trivially_relocatable for raw_ptr and raw_ref\"\n2026-06-15 kjlubick@google.com Generate dawn_files.bzl dynamically\ninstead of hardcoding the lists\n2026-06-15 fmalita@google.com Add some pixel buffer sizing asserts to\nSkWuffsCodec\n2026-06-15 kjlubick@google.com Fix Bazel build visibility\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC brettos@google.com,jsimmons@google.com,kjlubick@google.com on\nthe revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/1dded18865f4e7ff9e5714a46600548fe44afbae\n"
    },
    {
      "commit": "b8239fdfb9fc2f2e992aaf8a73794604a1739684",
      "tree": "06dfda88d2fda87fd6f56f1461a7d12ce577c66f",
      "parents": [
        "4a50d0836b579310290a7f08662aabeabe2abff8"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Mon Jun 15 11:42:05 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 09:45:05 2026 -0700"
      },
      "message": "Roll Packages from b78ad8357a8f to aa964a3ed6d9 (7 revisions) (#188021)\n\nhttps://github.com/flutter/packages/compare/b78ad8357a8f...aa964a3ed6d9\n\n2026-06-15 44747303+theprantadutta@users.noreply.github.com\n[path_provider] Document null vs UnsupportedError return semantics\n(flutter/packages#11793)\n2026-06-15 49699333+dependabot[bot]@users.noreply.github.com Bump\nlewagon/wait-on-check-action from 1.7.0 to 1.8.0 in the\nall-github-actions group (flutter/packages#11906)\n2026-06-12 stuartmorgan@google.com [cupertino_ui,material_ui] Import\nfrom flutter/flutter (flutter/packages#11888)\n2026-06-12 engine-flutter-autoroll@skia.org Roll Flutter (stable) from\n924134a44c18 to c9a6c484230f (8 revisions) (flutter/packages#11893)\n2026-06-12 engine-flutter-autoroll@skia.org Roll Flutter from\n8bdce07b84e1 to b7cb925419e6 (21 revisions) (flutter/packages#11892)\n2026-06-12 fingerart.me@gmail.com [in_app_purchase_android] Add\nshowInAppMessages support (#107412) (flutter/packages#11214)\n2026-06-12 spkhalad@gmail.com [webview_flutter] Implement getCookies\n(flutter/packages#10833)\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-flutter-autoroll\nPlease CC flutter-ecosystem@google.com on the revert to ensure that a\nhuman\nis aware of the problem.\n\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/0da057bf1f2ebf361c95d2ad05b6524d7a22c18a\n"
    },
    {
      "commit": "4a50d0836b579310290a7f08662aabeabe2abff8",
      "tree": "79c09ea543f8bc6e1f7bf0235aaa9b335c86f13b",
      "parents": [
        "21f84fdc6e6dbea97e9007c374457e3b41cc4878"
      ],
      "author": {
        "name": "Alexander Markov",
        "email": "alexmarkov@google.com",
        "time": "Mon Jun 15 09:13:32 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 09:16:45 2026 -0700"
      },
      "message": "[modular_aot] Code generation for double binary ops and comparisons\n\nIssue: https://github.com/dart-lang/sdk/issues/61635\nChange-Id: Ifc27b1164649fb619fd92d18a886588d09d57bd6\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512300\nReviewed-by: Slava Egorov \u003cvegorov@google.com\u003e\nCommit-Queue: Alexander Markov \u003calexmarkov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/2e2b9fd540196de0381cdf1b28353350cd41cd6e\n"
    },
    {
      "commit": "21f84fdc6e6dbea97e9007c374457e3b41cc4878",
      "tree": "831981b1912026669ec258573b1818af0b1663b0",
      "parents": [
        "bad56b3122fb0f27318a7df2f6761dc6acb171c2"
      ],
      "author": {
        "name": "Alexander Markov",
        "email": "alexmarkov@google.com",
        "time": "Mon Jun 15 09:11:18 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 09:16:42 2026 -0700"
      },
      "message": "[modular_aot] Generate CodeSourceMap metadata (for source positions in stack traces)\n\nTEST\u003dci\nIssue: https://github.com/dart-lang/sdk/issues/61635\nChange-Id: I395f798e386ba845f0b9910a0e514f0dd6fb063c\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512420\nReviewed-by: Slava Egorov \u003cvegorov@google.com\u003e\nCommit-Queue: Alexander Markov \u003calexmarkov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/91d73598a637a160a4b80614934ba7339f485481\n"
    },
    {
      "commit": "bad56b3122fb0f27318a7df2f6761dc6acb171c2",
      "tree": "2bb41ba2a631e4fd38d1d961cd9a0e39980b821c",
      "parents": [
        "086b01f646bad2e95d1a38e3c3dd067c0d5e4aa2"
      ],
      "author": {
        "name": "Brian Wilkerson",
        "email": "brianwilkerson@google.com",
        "time": "Mon Jun 15 09:05:28 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 09:08:13 2026 -0700"
      },
      "message": "Improve the labels of code actions\n\nCode action labels should prioritize brevity over grammar. One way to do\nthat is to drop definite articles and other words that aren\u0027t critical\nto understanding what the action will do. This CL attempts to clean up\nthe labels for fixes and assists.\n\nThe two files that define the labels are the most important to review.\nThe other files are just updating tests to reflect the changes made in\nthose two files.\n\nCloses https://github.com/dart-lang/sdk/issues/63561\n\nChange-Id: Ic6501aaf417c5def87dfa99bc88a1000faf8a9c1\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512500\nReviewed-by: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/c7573f17560d722a2e8a8989733e6c1212a30c0f\n"
    },
    {
      "commit": "086b01f646bad2e95d1a38e3c3dd067c0d5e4aa2",
      "tree": "ad44a1f9c20f9eebc3bae032e9cbe7d72d4f39b1",
      "parents": [
        "6654280c491cd95f4de4922fffa8c7ddfc9962ff"
      ],
      "author": {
        "name": "Alexander Markov",
        "email": "alexmarkov@google.com",
        "time": "Mon Jun 15 09:03:09 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 09:04:57 2026 -0700"
      },
      "message": "[modular_aot] Account for runtime calls which do not preserve registers\n\nIssue: https://github.com/dart-lang/sdk/issues/61635\nChange-Id: Ibd11c917e78167e44b88cb2475e70a291f100e46\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/511500\nReviewed-by: Slava Egorov \u003cvegorov@google.com\u003e\nCommit-Queue: Alexander Markov \u003calexmarkov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/658dfe560da59ef3158b4704f531addbfd4c381d\n"
    },
    {
      "commit": "6654280c491cd95f4de4922fffa8c7ddfc9962ff",
      "tree": "dda11010d8cc67fa1f1f37cf7a6d685bd56e069a",
      "parents": [
        "bafbbf858265a6ab07749af1238578a066fef832"
      ],
      "author": {
        "name": "Alexander Markov",
        "email": "alexmarkov@google.com",
        "time": "Mon Jun 15 08:57:21 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 09:01:07 2026 -0700"
      },
      "message": "[modular_aot] Exception handling, part 1\n\nTEST\u003dci\nIssue: https://github.com/dart-lang/sdk/issues/61635\n\nChange-Id: Idc54d894003890f64051d58502d1534818c37747\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/509740\nReviewed-by: Slava Egorov \u003cvegorov@google.com\u003e\nCommit-Queue: Alexander Markov \u003calexmarkov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/f28f16562a5431f002a2de51d890f9b094a648cb\n"
    },
    {
      "commit": "bafbbf858265a6ab07749af1238578a066fef832",
      "tree": "f44df86b8906ae0efffb53eadc83e3dff68b3b9b",
      "parents": [
        "e2cd04bd65378dec77e4bd21fec8ff538051a9a9"
      ],
      "author": {
        "name": "Chris Bracken",
        "email": "cbracken@google.com",
        "time": "Mon Jun 15 08:53:04 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 08:56:02 2026 -0700"
      },
      "message": "Suppress warnings from macOS 27 logging macros\n\nSuppress `-Wignored-attributes` triggered when compiling macOS-specific\nlogging and tracing code in `timeline_macos.cc`.\n\nIn the macOS 27 SDK that\u0027s part of Xcode 27, Apple appears to have added\nan `OS_LOG_UNINITIALIZED` macro inside their logging and signposting\nheaders (`os/log.h`, `os/signpost.h`, `os/trace_base.h`). This macro\nexpands to include: `__attribute__((stack_protector_ignore))`.\n\nBecause of this, we skip stack protection checks on local formatting\nbuffers generated by logging macros such as `os_log_with_type` and\n`os_signpost_event_emit`. However, in Flutter, we compile the engine\nwith `-fstack-protector-all`, which causes the build to error out\ncomplaining the `stack_protector_ignore` attribute is being ignored:\n\n  error: \u0027stack_protector_ignore\u0027 attribute ignored due to \u0027-fstack-protector-all\u0027 option [-Werror,-Wignored-attributes]\n\nThis wraps these usages in ignore pragmas to avoid disabling it across\nthe board, which is the same as the approach that was taken in\nruntime/vm/gbd_helpers.cc.\n\nTested: Compiles under Xcode 26 and Xcode 27\nChange-Id: I707584c66bb6cdae7d8ebcfd2a87344f43c618b4\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512860\nReviewed-by: Ryan Macnak \u003crmacnak@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/6bea1b7321870ddcccdf5274563b64977a115e5b\n"
    },
    {
      "commit": "e2cd04bd65378dec77e4bd21fec8ff538051a9a9",
      "tree": "a44229752be29fa4beafbfed734e2a3a34aab81b",
      "parents": [
        "9d371560b8bc1af846de3a08f796d53689355e5e"
      ],
      "author": {
        "name": "Brian Wilkerson",
        "email": "brianwilkerson@google.com",
        "time": "Mon Jun 15 08:49:10 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 08:51:25 2026 -0700"
      },
      "message": "Cleanup and normalize folding ranges\n\nWhile trying to reproduce the bug related to folding primary\nconstructors (which this CL doesn\u0027t do), I noticed that it was\ninconsistent in the way it handled folding of class and enum bodies.\nThis fixes the inconsistencies.\n\nChange-Id: I0336defc9ba737cf36d41e0029b398dd77e506a3\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512340\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Keerti Parthasarathy \u003ckeertip@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/a0f809ff5d472351eddad70bb8688f0e3cbe8177\n"
    },
    {
      "commit": "9d371560b8bc1af846de3a08f796d53689355e5e",
      "tree": "40fbe6491b4f7c3ac86392c2de3d4ac8a4a8fd80",
      "parents": [
        "58af3b9cde342e87b64a53dfd769262671873ef7"
      ],
      "author": {
        "name": "Varad Raj Agrawal",
        "email": "agrawalvaradraj2007@gmail.com",
        "time": "Mon Jun 15 08:38:57 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 08:43:08 2026 -0700"
      },
      "message": "Offer convertToDeclaringParameter on the `this.` prefix of an initializing formal\n\nCloses https://github.com/dart-lang/sdk/pull/63588\n\nGitOrigin-RevId: a96b968eae700e1a54a070abdc52fbcbb2192014\nChange-Id: I1bc37e4f0167acfeba6ee5eff8abc0166bb8eddf\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512400\nReviewed-by: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nCommit-Queue: Keerti Parthasarathy \u003ckeertip@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/141564d170fe736b7d09103ad73fb0644eab9f0e\n"
    },
    {
      "commit": "58af3b9cde342e87b64a53dfd769262671873ef7",
      "tree": "132145a97a2737c1ce2e869abcbe331f60aae05a",
      "parents": [
        "9a5347867727f2835c9b6aed3df4f25fca2176a1"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Mon Jun 15 08:28:09 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 08:30:18 2026 -0700"
      },
      "message": "AO. Analysis options validation refactoring, stages 7 + 8.\n\nThis CL moves include walking into AnalysisOptionsValidator, so the new\nentry point now owns parsing, include resolution, recursive/missing\ninclude diagnostics, and wrapping diagnostics from included files. It\nremoves the old AnalysisOptionsAnalyzer path while keeping\nOptionsFileValidator as the lower-level validator for one already-parsed\nYAML map.\n\nBug: https://github.com/dart-lang/sdk/issues/63580\nChange-Id: I0d896b73348857518442e5cee5935ee67952995b\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/511920\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/22b1367a51be98d80a0f8d430a49c4e163c7c316\n"
    },
    {
      "commit": "9a5347867727f2835c9b6aed3df4f25fca2176a1",
      "tree": "6b70ccf5d5285fb4454d339f2528f14e3a3a60cc",
      "parents": [
        "cab57e19da5237b721dcbe00d65149788faab3e6"
      ],
      "author": {
        "name": "Keerti Parthasarathy",
        "email": "keertip@google.com",
        "time": "Mon Jun 15 08:20:57 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 08:23:26 2026 -0700"
      },
      "message": "[primary constructors] Fix convert_to_declaring_paramater to take care of private field initilization\n\nFixes https://github.com/dart-lang/sdk/issues/63525\n\nChange-Id: I3fbec233478f01050ba85d8a82c7aced033f6f6f\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512460\nCommit-Queue: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/d6df2881c25afd1e833209ee45c3746f6d5b3da6\n"
    },
    {
      "commit": "cab57e19da5237b721dcbe00d65149788faab3e6",
      "tree": "0ff7096b00abf1a9ae716676677119879eee007c",
      "parents": [
        "ce47a59b8476dab3ba01acdca922418cbf6f2cfa"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Mon Jun 15 08:11:59 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 08:13:50 2026 -0700"
      },
      "message": "Issue 63569. Don\u0027t report enumMixinWithInstanceVariable for mixins with abstract or external fields.\n\nThese desugar to getters / setters, and have no storage.\n\nBug: https://github.com/dart-lang/sdk/issues/63569\nChange-Id: Idbe76053edf5be74e68780f5148d6babca36dde0\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512360\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/5bf5f17946daae25d00c3abc6cb16971c82d60aa\n"
    },
    {
      "commit": "ce47a59b8476dab3ba01acdca922418cbf6f2cfa",
      "tree": "4355e19cf6428cc6acfcccc6fe97fc8b7203b4d6",
      "parents": [
        "5c50ff3df9c7213b7cac46800588d11b09a43773"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Mon Jun 15 08:04:55 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 08:07:08 2026 -0700"
      },
      "message": "Augment. Report constantVariableAugmentation for enum constants.\n\nChange-Id: I701a09546a66952367220d4ab028406748fc6496\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/511880\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/1cd343e4bbbf4f4645f4d1c316551cea6c90465c\n"
    },
    {
      "commit": "5c50ff3df9c7213b7cac46800588d11b09a43773",
      "tree": "896d1261d13a7853d5127f40ff263f7390dae2e7",
      "parents": [
        "8f655f1666da9bde281ac1085a7a0b049912e4b0"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Mon Jun 15 09:40:12 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 07:40:32 2026 -0700"
      },
      "message": "Roll Skia from 7128af60575a to c8d9f80f13e4 (1 revision) (#188015)\n\nhttps://skia.googlesource.com/skia.git/+log/7128af60575a..c8d9f80f13e4\n\n2026-06-15 drott@chromium.org [Fontations] Roll Fontations\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC brettos@google.com,jsimmons@google.com,kjlubick@google.com on\nthe revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/5827d5fd2b8d77f8b059af9cc654f622ecd29fac\n"
    },
    {
      "commit": "8f655f1666da9bde281ac1085a7a0b049912e4b0",
      "tree": "38defe8de03b2c58a0b118c94fb050c35cd8d36a",
      "parents": [
        "cfc6ae5adaea94a3717c45cfeed6d49fe90d1fcf"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jason-simmons@users.noreply.github.com",
        "time": "Mon Jun 15 13:26:35 2026 +0000"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 07:11:18 2026 -0700"
      },
      "message": "In the APNG decoder, validate the chunk data length before calling GetChunkSize to avoid potential overflow in the chunk size calculation (#187949)\n\nBefore this PR, APNGImageGenerator::IsValidChunkHeader was calling\nGetChunkSize to check whether the buffer had sufficient capacity for the\nchunk.\nThe chunk contains a 32-bit data length field, and GetChunkSize\ncalculates the chunk size as a size_t. If size_t is 32-bit and the chunk\ndata length is malformed, then the calculation could overflow and return\nan incorrect result.\n\nThis PR verifies that the chunk\u0027s data length fits within the remaining\ncapacity of the buffer before using the length in calculations.\n\nSee https://github.com/flutter/flutter/pull/187701\n\n---------\n\nCo-authored-by: Himanshu Anand \u003canand.himanshu17@gmail.com\u003e\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/24771efd79239a736dcdda2eecfd1ecffcdd7545\n"
    },
    {
      "commit": "cfc6ae5adaea94a3717c45cfeed6d49fe90d1fcf",
      "tree": "50423a40934b8d8077350bc611fa8a833e6b6266",
      "parents": [
        "61812b2d9fd5afaa4b7bb9403fcd90ce9ae69818"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Mon Jun 15 07:43:39 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 07:11:14 2026 -0700"
      },
      "message": "Roll Skia from 6b4ac3bfb39d to 7128af60575a (1 revision) (#188011)\n\nhttps://skia.googlesource.com/skia.git/+log/6b4ac3bfb39d..7128af60575a\n\n2026-06-15\nrecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\nRoll recipe dependencies (trivial).\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC brettos@google.com,jsimmons@google.com,kjlubick@google.com on\nthe revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/37e47b664e8d7c37e60a6b056cc4959b791fe879\n"
    },
    {
      "commit": "61812b2d9fd5afaa4b7bb9403fcd90ce9ae69818",
      "tree": "bd9456389ac147a9bbbea61fcef53944bba67ba3",
      "parents": [
        "541190ca86fc4748a39d0e60780bee6a0d12d0ee"
      ],
      "author": {
        "name": "Johnni Winther",
        "email": "johnniwinther@google.com",
        "time": "Mon Jun 15 05:05:15 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 05:09:05 2026 -0700"
      },
      "message": "[cfe][InternalNodes][Contexts] Use new variables only in the CFE\n\nThis updates the CFE to use only the new variable model. This removes the InternalLegacyVariable and is a step towards removing LegacyVariable.\n\nChange-Id: I84256863cf2a7ef74cefdbf7db42d42e57eb07ac\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512080\nCommit-Queue: Johnni Winther \u003cjohnniwinther@google.com\u003e\nReviewed-by: Chloe Stefantsova \u003ccstefantsova@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/5cd8fac08be2b0be89d1debc86613484865ba577\n"
    },
    {
      "commit": "541190ca86fc4748a39d0e60780bee6a0d12d0ee",
      "tree": "e13fdac29e7d39b25d4190dc99dfb26830f938cf",
      "parents": [
        "36acd48e013d4178170dc1d3fe86adc4b794c21e"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Mon Jun 15 05:52:34 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 03:34:45 2026 -0700"
      },
      "message": "Roll Skia from 0a3b8549cbf0 to 6b4ac3bfb39d (7 revisions) (#188007)\n\nhttps://skia.googlesource.com/skia.git/+log/0a3b8549cbf0..6b4ac3bfb39d\n\n2026-06-15\nrecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\nRoll recipe dependencies (trivial).\n2026-06-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Skia\nInfra from f8dc57844d37 to 09ad6a8da9bf (14 revisions)\n2026-06-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn\nfrom 9533d3296a2a to 5dad4a08d684 (1 revision)\n2026-06-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll\nvulkan-deps from fdbd11044b7e to 5d7fd70ddbd6 (3 revisions)\n2026-06-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll\ndebugger-app-base from fd083daaa58b to ecbc8d84afd7\n2026-06-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll\njsfiddle-base from ab54cf0d0a66 to 2b12e98d3730\n2026-06-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll\nshaders-base from 9f862803ee5b to 2ca02a2612d9\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC brettos@google.com,jsimmons@google.com,kjlubick@google.com on\nthe revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/4a60eb692e85ad176e1f94f8055a36d5682af0fc\n"
    },
    {
      "commit": "36acd48e013d4178170dc1d3fe86adc4b794c21e",
      "tree": "9e6e7cf7a41d55ae9140deadeaa6de4645be5868",
      "parents": [
        "39bae0c38cf68fa629271b610f1e484c03815162"
      ],
      "author": {
        "name": "auto-submit[bot]",
        "email": "98614782+auto-submit[bot]@users.noreply.github.com",
        "time": "Mon Jun 15 08:38:30 2026 +0000"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 03:34:39 2026 -0700"
      },
      "message": "Reverts \"[a11y] Map some framework semantics roles to android classes.  (#185217)\" (#188008)\n\n\u003c!-- start_original_pr_link --\u003e\nReverts: flutter/flutter#185217\n\u003c!-- end_original_pr_link --\u003e\n\u003c!-- start_initiating_author --\u003e\nInitiated by: cbracken\n\u003c!-- end_initiating_author --\u003e\n\u003c!-- start_revert_reason --\u003e\nReason for reverting: triggers test failures in\nandroid_semantics_integration_test\n\nSpeifically\n`dev/integration_tests/android_semantics_testing/integration_test/main_test.dart`\n\nTo be clear, it looks like the fix itself is good but the tests have not\nbeen updated to test the corrected behaviour. Reverting to get the tree\ngreen but I think all that needs doing is updating the tests.\n\n`AccessibilityBridge TextFiel\n\u003c!-- end_revert_reason --\u003e\n\u003c!-- start_original_pr_author --\u003e\nOriginal PR Author: hannah-hyj\n\u003c!-- end_original_pr_author --\u003e\n\n\u003c!-- start_reviewers --\u003e\nReviewed By: {chunhtai, reidbaker}\n\u003c!-- end_reviewers --\u003e\n\n\u003c!-- start_revert_body --\u003e\nThis change reverts the following previous change:\nIn https://github.com/flutter/flutter/pull/183897 I added semantics\nroles in [AccessibilityBridge.java], I found some other current\nsemantics roles can be mapped to android classes.\n\nThere are some other android classes in AccessibilityBridge.java are\ncurrently set by flags instead of by roles. example: we use \"isSlider\"\ninstead of slider role. we will need to add a slider role for it :\nhttps://github.com/flutter/flutter/pull/184029.\n\n## Pre-launch Checklist\n\n- [ ] 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- [ ] I read the [Tree Hygiene] wiki page, which explains my\nresponsibilities.\n- [ ] I read and followed the [Flutter Style Guide], including [Features\nwe expect every widget to implement].\n- [ ] I signed the [CLA].\n- [ ] I listed at least one issue that this PR fixes in the description\nabove.\n- [ ] I updated/added relevant documentation (doc comments with `///`).\n- [ ] 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\nIf you need help, consider asking for advice on the #hackers-new channel\non [Discord].\n\nIf this change needs to override an active code freeze, provide a\ncomment explaining why. The code freeze workflow can be overridden by\ncode reviewers. See pinned issues for any active code freezes with\nguidance.\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\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\n\n\u003c!-- end_revert_body --\u003e\n\nCo-authored-by: auto-submit[bot] \u003cflutter-engprod-team@google.com\u003e\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/c12a552532baedf53d9cbd267816e9b01ffd7ae9\n"
    },
    {
      "commit": "39bae0c38cf68fa629271b610f1e484c03815162",
      "tree": "0208f1db228e390376899b905dc091851a3acfcc",
      "parents": [
        "8470cdd17d0781d3bdea520e59b4d481c5d87a0c"
      ],
      "author": {
        "name": "Martin Kustermann",
        "email": "kustermann@google.com",
        "time": "Mon Jun 15 02:42:02 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 02:44:01 2026 -0700"
      },
      "message": "[dart2wasm] Ensure both exports and weak exports land in main\n\nJS interop callbacks no longer use the weak export functionality.\n\nThough an app may use core library features in a deferred way. They may\nuse weak exports, which makes us currently place them in deferred\nmodules.\n\nThough this is problematic as the JS code snippets call them from the\nmain module exports.\n\n\u003d\u003e This is the last piece after which deferred modules will have 0\n   exports.\n\nChange-Id: I679817068f3e55b6a09f8b9102e5e9e36247f7ae\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/512060\nCommit-Queue: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Srujan Gaddam \u003csrujzs@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/5ed6c95a84e364651593ffdf5884024e528e7a40\n"
    },
    {
      "commit": "8470cdd17d0781d3bdea520e59b4d481c5d87a0c",
      "tree": "8a524c35befa1c86f427cc4c1b68e8c774a8dd91",
      "parents": [
        "a47bab4f197be1b622d8281c7c9f2b27cbd84634"
      ],
      "author": {
        "name": "Chris Bracken",
        "email": "chris@bracken.jp",
        "time": "Mon Jun 15 17:05:02 2026 +0900"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 01:46:45 2026 -0700"
      },
      "message": "[ios] Filter UIScene events to those relating to Flutter VC scene (#187987)\n\nFixes a bug where FlutterViewController and FlutterEngine would globally\nintercept UIScene lifecycle notifications (such as\nUISceneDidEnterBackgroundNotification) originating from any scene in the\nprocess, rather than just the scene hosting the Flutter view controller.\n\nThis can be triggered in multi-scene environments (e.g. iPadOS\nmulti-window or inside App Extensions where `isAvailable \u003d NO` forces\nscene observers to register). Unrelated scenes (like an out-of-process\nsystem keyboard scene or secondary window) transitioning to the\nbackground can cause the Flutter view to incorrectly switch to a paused\nlifecycle state and destroy the rendering surface.\n\nThis updates FlutterViewController/FlutterEngine to verify that the\nnotification\u0027s sender matches the UIWindowScene instance that hosts the\nFlutter view before propagating deactivation/activation events.\n\nFixes: https://github.com/flutter/flutter/issues/187986\nFixes: https://github.com/flutter/flutter/issues/187844\n\n\u003c!--\nThanks for filing a pull request!\nReviewers are typically assigned within a week of filing a request.\nTo learn more about code review, see our documentation on Tree Hygiene:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md\n--\u003e\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\nIf you need help, consider asking for advice on the #hackers-new channel\non [Discord].\n\nIf this change needs to override an active code freeze, provide a\ncomment explaining why. The code freeze workflow can be overridden by\ncode reviewers. See pinned issues for any active code freezes with\nguidance.\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\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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/25339374e824fff59a301c3f0397790051c62e98\n"
    },
    {
      "commit": "a47bab4f197be1b622d8281c7c9f2b27cbd84634",
      "tree": "102d29ec818fc1f92ae8c9a1668737e884b87aa0",
      "parents": [
        "c3bcb6e7f34145066fe76bdef71efb36d32b6555"
      ],
      "author": {
        "name": "Hannah Jin",
        "email": "jhy03261997@gmail.com",
        "time": "Sun Jun 14 23:25:22 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 00:06:31 2026 -0700"
      },
      "message": "[a11y] Map some framework semantics roles to android classes.  (#185217)\n\nIn https://github.com/flutter/flutter/pull/183897 I added semantics\nroles in [AccessibilityBridge.java], I found some other current\nsemantics roles can be mapped to android classes.\n\nThere are some other android classes in AccessibilityBridge.java are\ncurrently set by flags instead of by roles. example: we use \"isSlider\"\ninstead of slider role. we will need to add a slider role for it :\nhttps://github.com/flutter/flutter/pull/184029.\n\n## Pre-launch Checklist\n\n- [ ] 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- [ ] I read the [Tree Hygiene] wiki page, which explains my\nresponsibilities.\n- [ ] I read and followed the [Flutter Style Guide], including [Features\nwe expect every widget to implement].\n- [ ] I signed the [CLA].\n- [ ] I listed at least one issue that this PR fixes in the description\nabove.\n- [ ] I updated/added relevant documentation (doc comments with `///`).\n- [ ] 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\nIf you need help, consider asking for advice on the #hackers-new channel\non [Discord].\n\nIf this change needs to override an active code freeze, provide a\ncomment explaining why. The code freeze workflow can be overridden by\ncode reviewers. See pinned issues for any active code freezes with\nguidance.\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\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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/bb5cc6227fbcbe267aa01461cc01460c604f27b4\n"
    },
    {
      "commit": "c3bcb6e7f34145066fe76bdef71efb36d32b6555",
      "tree": "8f12d9b409f507417bb38f19d24e3bd0fcf5b861",
      "parents": [
        "f7ea8cc0eb130c95c7d04b3d975eb5f928cad949"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Mon Jun 15 02:07:31 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Mon Jun 15 00:06:27 2026 -0700"
      },
      "message": "Roll Skia from f46928e7f50c to 0a3b8549cbf0 (1 revision) (#188004)\n\nhttps://skia.googlesource.com/skia.git/+log/f46928e7f50c..0a3b8549cbf0\n\n2026-06-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll\nskottie-base from a61634294908 to 870493f76166\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC brettos@google.com,jsimmons@google.com,kjlubick@google.com on\nthe revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/09bbf5d7363fac4bec77d3f9465c6c5d1edb3d64\n"
    },
    {
      "commit": "f7ea8cc0eb130c95c7d04b3d975eb5f928cad949",
      "tree": "a727d2093b8a1be3fbf32a705ca4d017035169f0",
      "parents": [
        "1a95f817360f1cd6fc46ee31b7650643a5c16819"
      ],
      "author": {
        "name": "stuartmorgan-g",
        "email": "stuartmorgan@google.com",
        "time": "Sun Jun 14 14:45:30 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Sun Jun 14 12:28:55 2026 -0700"
      },
      "message": "Rework docs for flutter/packages changelogs (#187666)\n\nUpdating CHANGELOGs correctly is one of the most common issues for new\ncontributors in flutter/packages. The way the docs were written\nhighlights using the `NEXT` section for version-exempt changes first,\nbecause it\u0027s unusual and specific to our repo, but given how common it\nis for new contributors to use it when they shouldn\u0027t, it seems like\nthis structure is likely confusing for the people who most need the\ndocs.\n\nThis reworks the whole section to discuss the common case first, then\nthe uncommon case (now explicitly highlighted as uncommon) second. The\nnew structure is a little longer, but should hopefully be more clear,\nwhich seems like a tradeoff worth trying given the frequency of issues.\n\nAlso includes some minor fixes I noticed while I was in the file\n(grammar, inconsistent backticks for file names), and addition of\nreferences to the new flutter/core-packages.\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/abd8d37c999fa3c9ca71c2f0cfb98e6bf2201894\n"
    },
    {
      "commit": "1a95f817360f1cd6fc46ee31b7650643a5c16819",
      "tree": "92c5b1b4dd25392027a7b36da42dabd65092168a",
      "parents": [
        "ddcc1d20b1f5f3f5e82db6fdf0f4d16b6efdf15d"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Sun Jun 14 13:03:15 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Sun Jun 14 10:41:28 2026 -0700"
      },
      "message": "Roll Fuchsia Linux SDK from nvzMQAmuRSzo7-wAP... to TbB86Po_HDe1dvXvT... (#187997)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/fuchsia-linux-sdk-flutter\nPlease CC jsimmons@google.com,zra@google.com on the revert to ensure\nthat a human\nis aware of the problem.\n\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/601ed1be013a1deb31b44a15d0452eab71eee4e8\n"
    },
    {
      "commit": "ddcc1d20b1f5f3f5e82db6fdf0f4d16b6efdf15d",
      "tree": "767783bfa35db90b20b41b6def96b5393ee1bc2e",
      "parents": [
        "5c590a535063fd820f7e1b79e9df5f56aef09aaf"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Sun Jun 14 12:51:29 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Sun Jun 14 10:29:04 2026 -0700"
      },
      "message": "Roll Skia from 4e2c9b5e4dad to f46928e7f50c (1 revision) (#187996)\n\nhttps://skia.googlesource.com/skia.git/+log/4e2c9b5e4dad..f46928e7f50c\n\n2026-06-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll\nvulkan-deps from 7bfc18a5a2d4 to fdbd11044b7e (1 revision)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC brettos@google.com,jsimmons@google.com,kjlubick@google.com on\nthe revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/3d7d06689761d97a49cb07a90ea405c2b4d1bf9d\n"
    },
    {
      "commit": "5c590a535063fd820f7e1b79e9df5f56aef09aaf",
      "tree": "0f7575c1f9338979a2f0e11aaeebdb0d84356fe7",
      "parents": [
        "292f9c1891ef0dd3b6363962d80059ab157f0ba0"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Sun Jun 14 09:15:16 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Sun Jun 14 07:27:43 2026 -0700"
      },
      "message": "Roll Skia from c52667607242 to 4e2c9b5e4dad (1 revision) (#187990)\n\nhttps://skia.googlesource.com/skia.git/+log/c52667607242..4e2c9b5e4dad\n\n2026-06-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SKP\nCIPD package from 564 to 565\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC brettos@google.com,jsimmons@google.com,kjlubick@google.com on\nthe revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/587d2b6f9c42bfc26e5972bdcaf7a9a04e4d0f37\n"
    },
    {
      "commit": "292f9c1891ef0dd3b6363962d80059ab157f0ba0",
      "tree": "510275811803b27a07522470ec5e7eb232162dab",
      "parents": [
        "00d77dd95aa3d130751e371cb0e0ec021a4b6f25"
      ],
      "author": {
        "name": "Loïc Sharma",
        "email": "737941+loic-sharma@users.noreply.github.com",
        "time": "Sat Jun 13 22:19:30 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Sat Jun 13 22:57:15 2026 -0700"
      },
      "message": "Improve RenderTargetCache docs (#187893)\n\nThe docs no longer lie.\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\nIf you need help, consider asking for advice on the #hackers-new channel\non [Discord].\n\nIf this change needs to override an active code freeze, provide a\ncomment explaining why. The code freeze workflow can be overridden by\ncode reviewers. See pinned issues for any active code freezes with\nguidance.\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\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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/6400a6d7ab4a5c606a699d47017803199d585c47\n"
    },
    {
      "commit": "00d77dd95aa3d130751e371cb0e0ec021a4b6f25",
      "tree": "b9f3f14032942aaac8584efb76cd4d400c0bbf4c",
      "parents": [
        "95344154a4e7eb5e5a8544cd8e0b0da5101db03f"
      ],
      "author": {
        "name": "Navaron Bracke",
        "email": "brackenavaron@gmail.com",
        "time": "Sun Jun 14 01:52:40 2026 +0200"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Sat Jun 13 22:26:50 2026 -0700"
      },
      "message": "[Test cross_imports] Check cross imports in flutter_test/** (#187587)\n\nThis PR updates the cross imports checker to also check in\n`packages/flutter_test` and its subdirectories.\n\nSince `flutter_test` is testing related, I figured it is a good\ncandidate to be put in the existing check.\n\nTo dry run the new check, I fixed one of the violations, along with\nupdating the relevant test.\n\nFixes https://github.com/flutter/flutter/issues/187528\n\n*If you had to change anything in the [flutter/tests] repo, include a\nlink to the migration guide as per the [breaking change policy].*\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\nIf you need help, consider asking for advice on the #hackers-new channel\non [Discord].\n\nIf this change needs to override an active code freeze, provide a\ncomment explaining why. The code freeze workflow can be overridden by\ncode reviewers. See pinned issues for any active code freezes with\nguidance.\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\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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/16ef797904bf9a57902323aba330aaea5af72d74\n"
    },
    {
      "commit": "95344154a4e7eb5e5a8544cd8e0b0da5101db03f",
      "tree": "2c0745cd5b7b3c9a5cf9a8658c574760c5aec931",
      "parents": [
        "bd5f98e9e7bd67bfa0ffaa8743aa9bfd0ab54047"
      ],
      "author": {
        "name": "Matthew Kosarek",
        "email": "matt.kosarek@canonical.com",
        "time": "Sat Jun 13 18:00:29 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Sat Jun 13 16:31:15 2026 -0700"
      },
      "message": "Fixing corrupted window size OnEmptyFrameGenerated due to transpsed width/height (#187954)\n\n## What\u0027s new?\n- Fixed bug where the width and height were swapped in\n`FlutterWindowsView::OnFrameGenerated`\n- Update the test to NOT use square dimensions so that the error would\nbe obvious going forward\n\nfixes https://github.com/flutter/flutter/issues/187922\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.\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/6ca03c62dfd3eab1bd6b85ff5a881b3ed4319f5a\n"
    },
    {
      "commit": "bd5f98e9e7bd67bfa0ffaa8743aa9bfd0ab54047",
      "tree": "f72b259f10d0421b60d5723a0755b734e21740dc",
      "parents": [
        "2f2ac07ad38f03b59adb7a574896c0c9bba2e694"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Sat Jun 13 14:29:24 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Sat Jun 13 12:15:03 2026 -0700"
      },
      "message": "Roll Skia from 42355271a335 to c52667607242 (2 revisions) (#187979)\n\nhttps://skia.googlesource.com/skia.git/+log/42355271a335..c52667607242\n\n2026-06-13 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll\nANGLE from 8e09325ebad4 to 81a96a84e6e6 (10 revisions)\n2026-06-13 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll\nDawn from 181bf8634c1d to 9533d3296a2a (11 revisions)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC jsimmons@google.com,kjlubick@google.com on the revert to\nensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/5b8c6f0af38a6c53404d9e82f18b7db3bb5c9546\n"
    },
    {
      "commit": "2f2ac07ad38f03b59adb7a574896c0c9bba2e694",
      "tree": "776646ae509f86efcdee220a187dba5300eea611",
      "parents": [
        "c42a4d01e5dfeb25444e010b802efb9443760260"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Sat Jun 13 11:27:25 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Sat Jun 13 09:12:16 2026 -0700"
      },
      "message": "Roll Fuchsia Linux SDK from A3eaUn9mQ_EkSNxVI... to nvzMQAmuRSzo7-wAP... (#187975)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/fuchsia-linux-sdk-flutter\nPlease CC jsimmons@google.com,zra@google.com on the revert to ensure\nthat a human\nis aware of the problem.\n\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/1fa6d1817f27b61e0b6cf12b514249c58617c17c\n"
    },
    {
      "commit": "c42a4d01e5dfeb25444e010b802efb9443760260",
      "tree": "6ef3cf7eb970aefe0ec03e294f33f77cce865676",
      "parents": [
        "d3e9221381bf7876d136227b97826964af5610b7"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Sat Jun 13 10:45:27 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Sat Jun 13 09:12:14 2026 -0700"
      },
      "message": "Roll Skia from 9ef46390c2d1 to 42355271a335 (1 revision) (#187974)\n\nhttps://skia.googlesource.com/skia.git/+log/9ef46390c2d1..42355271a335\n\n2026-06-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll\nvulkan-deps from 973a663c1394 to 7bfc18a5a2d4 (4 revisions)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC jsimmons@google.com,kjlubick@google.com on the revert to\nensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/9c2d86fcb07db87ff35341853f6cafe06bf751fd\n"
    },
    {
      "commit": "d3e9221381bf7876d136227b97826964af5610b7",
      "tree": "2e45aa065ee8cd7415d629f8c571872d2f7a1686",
      "parents": [
        "22c06698b3e62b2a8f85111b39954193e4d9d83f"
      ],
      "author": {
        "name": "Brandon DeRosier",
        "email": "bdero@google.com",
        "time": "Sat Jun 13 00:45:37 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Sat Jun 13 04:57:34 2026 -0700"
      },
      "message": "[Flutter GPU] Make ShaderLibrary.fromAsset asynchronous (#187716)\n\n`ShaderLibrary.fromAsset` now returns a `Future\u003cShaderLibrary?\u003e` instead\nof loading synchronously.\n\nAsset reads can only be asynchronous on some platforms, so a synchronous\nloader cannot work everywhere. Making the single loader async gives\nevery platform one consistent entry point and removes the need for\ndownstream code to keep a separate async loading path. flutter_gpu is\nexperimental, so this breaking change is cheap to make now.\n\nOn platforms that read synchronously the returned Future still completes\nin the same turn, and the library is still cached by asset path, so hot\nreload is unaffected.\n\nThe engine Dart tests and the renderer fixture harness are updated to\nawait the loader. The fixture harness drains the microtask queue after\ninvoking an entry point so the now-async fixtures run to completion.\n\nThis is a breaking change to an experimental API, so no `flutter/tests`\nmigration guide is needed.\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[breaking change policy]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes\n[Data Driven Fixes]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/ee89c0376ab58bf0490486739065a45f24a5b12f\n"
    },
    {
      "commit": "22c06698b3e62b2a8f85111b39954193e4d9d83f",
      "tree": "a25f7ea73de1f9bbe271e98d0add18b3806a0d81",
      "parents": [
        "7910963057a913224cc96acc3964655c9acf4db8"
      ],
      "author": {
        "name": "engine-flutter-autoroll",
        "email": "engine-flutter-autoroll@skia.org",
        "time": "Fri Jun 12 21:29:18 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Fri Jun 12 22:31:01 2026 -0700"
      },
      "message": "Roll Skia from 8c89bf2b0ee3 to 9ef46390c2d1 (6 revisions) (#187968)\n\nhttps://skia.googlesource.com/skia.git/+log/8c89bf2b0ee3..9ef46390c2d1\n\n2026-06-13 skia-autoroll@skia-public.iam.gserviceaccount.com Roll\nvulkan-deps from d8ab95e03469 to 973a663c1394 (10 revisions)\n2026-06-12 kjlubick@google.com Fix merge issues with src/base rename\n2026-06-12 alexisdavidc@google.com Resolved a Data Race on fStream in\nSkTypeface_Mac\n2026-06-12 jmbetancourt@google.com Move files from src/base to src/core\n2026-06-12 michaelludwig@google.com [graphite] Use stable collection for\nstatic bindings\n2026-06-12 fmalita@google.com Roll ICU to 78.2\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/skia-flutter-autoroll\nPlease CC jsimmons@google.com,kjlubick@google.com on the revert to\nensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Flutter:\nhttps://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\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/a1865bce64093a645347b5d4fde8b64bb622e4a0\n"
    },
    {
      "commit": "7910963057a913224cc96acc3964655c9acf4db8",
      "tree": "68f234c3396bd8b55eaa741c0b70ab7b1c4d327d",
      "parents": [
        "67e0561d025a09d68cd09f16154ce420d8235e3b"
      ],
      "author": {
        "name": "Brandon DeRosier",
        "email": "bdero@google.com",
        "time": "Fri Jun 12 16:50:20 2026 -0700"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Fri Jun 12 21:39:43 2026 -0700"
      },
      "message": "[Flutter GPU] Add surface API for framework presentation (#187358)\n\nFixes https://github.com/flutter/flutter/issues/187357\n\nAdds a Flutter GPU surface API for rendering into a presentable color\ntexture and drawing the latest presented image through Flutter. The\nsurface owns the backing texture pool, tracks acquired frames, keeps the\ncurrent image out of reuse, and waits for producer command buffer\ncompletion before a presented texture can be reused.\n\nThe API is shaped as a small family so later destinations (a Flutter\ncanvas, and eventually the window swapchain) can share one per-frame\ncontract. `GpuSurface` and `GpuSurfaceFrame` are the\ndestination-agnostic base types. This PR ships the first concrete\ndestination, `GpuImageSurface`, which Flutter draws as a `ui.Image`.\n\nTwo parts of the contract are uniform across all future destinations,\neven though the image destination never exercises them.\n`acquireNextFrame` is nullable, because a window swapchain can skip a\nframe. `present` returns a `GpuPresentStatus`, because a window\nswapchain can report that it needs reconfiguring. For an image surface,\nacquire always returns a frame and present always reports success, and\nthe published image is read from `GpuImageSurface.currentImage`.\n\nThe API keeps depth, stencil, MSAA, and intermediate attachments\nrenderer-owned. `GpuSurfaceFrame.colorTexture` is only the final color\ntarget handed back to Flutter as a `ui.Image`.\n\nA minimal example.\n\n```dart\nfinal surface \u003d gpu.gpuContext.createImageSurface(width, height);\nfinal frame \u003d surface.acquireNextFrame();\n\nfinal commandBuffer \u003d gpu.gpuContext.createCommandBuffer();\ncommandBuffer.createRenderPass(\n  gpu.RenderTarget.singleColor(\n    gpu.ColorAttachment(texture: frame.colorTexture),\n  ),\n);\n\n// Bind a pipeline, bind resources, and draw.\n\nframe.present(commandBuffer);\ncommandBuffer.submit();\ncanvas.drawImageRect(surface.currentImage!, src, dst, paint);\n```\n\nDepth and stencil remain normal renderer-owned attachments.\n\n```dart\nfinal frame \u003d surface.acquireNextFrame();\nfinal depthStencil \u003d gpu.gpuContext.createTexture(\n  gpu.StorageMode.deviceTransient,\n  width,\n  height,\n  format: gpu.gpuContext.defaultDepthStencilFormat,\n  enableRenderTargetUsage: true,\n  enableShaderReadUsage: false,\n);\n\nfinal commandBuffer \u003d gpu.gpuContext.createCommandBuffer();\ncommandBuffer.createRenderPass(\n  gpu.RenderTarget.singleColor(\n    gpu.ColorAttachment(texture: frame.colorTexture),\n    depthStencilAttachment: gpu.DepthStencilAttachment(texture: depthStencil),\n  ),\n);\n```\n\nTests cover surface acquisition, presentation, current image behavior,\ndiscard, resize, and rendering a clear color into a surface.\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 we\nexpect 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\ntest-exempt.\n- [x] I followed the breaking change policy and added Data Driven Fixes\nwhere supported.\n- [x] All existing and new tests are passing.\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/cc6d73260e1f866604c8845fc09a73d2a05fa983\n"
    },
    {
      "commit": "67e0561d025a09d68cd09f16154ce420d8235e3b",
      "tree": "3ac539d2b9135048c5b34dd301f9d721e70593c2",
      "parents": [
        "24bca4039fdbdec4f06d1f82baf04c961e07d927"
      ],
      "author": {
        "name": "Ben Konyi",
        "email": "bkonyi@google.com",
        "time": "Fri Jun 12 19:24:58 2026 -0400"
      },
      "committer": {
        "name": "dart-internal-monorepo",
        "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
        "time": "Fri Jun 12 21:32:01 2026 -0700"
      },
      "message": "[gen_l10n] Exclude inherited keys from untranslated-messages-file (#187950)\n\nFixes https://github.com/flutter/flutter/issues/176020\nhttps://dart.googlesource.com/external/github.com/flutter/flutter/+/3cce25a9ad538e8f4b755f84d49ba08dd9bb4d7f\n"
    }
  ],
  "next": "24bca4039fdbdec4f06d1f82baf04c961e07d927"
}
