)]}'
{
  "log": [
    {
      "commit": "377542572389598f6b945e34769f36c5a0067263",
      "tree": "2a369413f924f2ae5e85d9504feb1854c6a9835b",
      "parents": [
        "ab7441848540086d54bfe961ab298c2a5d7ad41f"
      ],
      "author": {
        "name": "dart-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "dart-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Thu Nov 12 09:25:27 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 09:25:27 2026 -0800"
      },
      "message": "Roll Fuchsia SDK from 34.20261106.4.1 to 34.20261111.4.1\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/fuchsia-sdk-dart-sdk\nPlease CC fuchsia-3p-engprod@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Fuchsia SDK: https://bugs.fuchsia.dev/p/fuchsia/issues/list\nTo file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues\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\n\nCq-Include-Trybots: luci.dart.try:vm-fuchsia-release-x64-try;luci.dart.try:vm-fuchsia-release-arm64-try\nChange-Id: Ia1bedb02ecbf417bda68db6813db6affe92f8009\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576081\nReviewed-by: Zijie He \u003czijiehe@google.com\u003e\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Alexander Markov \u003calexmarkov@google.com\u003e\n"
    },
    {
      "commit": "ab7441848540086d54bfe961ab298c2a5d7ad41f",
      "tree": "122aedb58a515ea71a72d02fa33fa8c702fe09ec",
      "parents": [
        "7b624ba058c6b5c14ec369d537f689df69fc526c"
      ],
      "author": {
        "name": "Danny Tuppeny",
        "email": "danny@tuppeny.com",
        "time": "Thu Nov 12 09:16:05 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 09:16:05 2026 -0800"
      },
      "message": "[analysis_server] Add flags to allow comparing completion with/without relevance scores/tables\n\nThese flags allow comparing use of the relevance tables (or relevance scores in general) versus not, which was an experiment suggested and run in https://github.com/dart-lang/sdk/issues/48771\n\nChange-Id: I010c845b39afdf5a9fa7283dd7f66af07dea89af\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576161\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\n"
    },
    {
      "commit": "7b624ba058c6b5c14ec369d537f689df69fc526c",
      "tree": "4a00b74c8fb5461beb2f71e59c1b30924db9be53",
      "parents": [
        "37a15172855f7590b043e0c0aa8cec40d1b85d5d"
      ],
      "author": {
        "name": "Alexander Markov",
        "email": "alexmarkov@google.com",
        "time": "Thu Nov 12 09:06:45 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 09:06:45 2026 -0800"
      },
      "message": "[vm] Remove number of parent type arguments from function types\n\nBefore this change, all FunctionTypes within a generic function\nhad non-zero NumParentTypeArguments(). Their TypeParameters were\nnumbered after TypeParameters of an enclosing function.\n\nAs a result, any FunctionType was created *in a context of a certain\nenclosing function*. This was not a problem when loading a kernel AST\nas it doesn\u0027t canonicalize types. It is a problem for module\nsnapshots which can serialize and de-duplicate kernel AST types\ncoming from different functions. Kernel AST types do not reference\ntheir origin and two types are indistinguishable if they represent\nthe same type within two different functions with different number of\ntype parameters.\n\nThis change removes the VM\u0027s limitation by making FunctionTypes\nindependent of their enclosing functions (except function signatures\nwhich still have linear numbering of type parameters for instantiation).\n\nTypeParameter objects now have 2 indices: index_in_owner (used to identify type parameter) and index_in_tav (used for instantiation).\n\nNumber of parent function type arguments is moved to closure functions\n(ClosureData), where it is actually needed.\n\nTEST\u003dci\n\nChange-Id: I6c5a27c34a9eadfe33788b96087e6221a997644f\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576700\nReviewed-by: Ryan Macnak \u003crmacnak@google.com\u003e\nCommit-Queue: Alexander Markov \u003calexmarkov@google.com\u003e\nReviewed-by: Tess Strickland \u003csstrickl@google.com\u003e\n"
    },
    {
      "commit": "37a15172855f7590b043e0c0aa8cec40d1b85d5d",
      "tree": "cfdbbb9fca80739e571b7aa1115838985944fb7a",
      "parents": [
        "0dfe9e131be4a0b2e08949f40968d6f1175f926f"
      ],
      "author": {
        "name": "Danny Tuppeny",
        "email": "danny@tuppeny.com",
        "time": "Thu Nov 12 09:02:18 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 09:02:18 2026 -0800"
      },
      "message": "[analysis_server] Report missing element kinds in relevance tables\n\nChange-Id: Ibbda8b62a40eec6991ef78bce5e8fb45495fe14e\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576520\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n"
    },
    {
      "commit": "0dfe9e131be4a0b2e08949f40968d6f1175f926f",
      "tree": "0144d41ec1a357c6d76952515d899fe0bf8042cb",
      "parents": [
        "47e46de95501efc46646ce40cf8833574bfb7d3e"
      ],
      "author": {
        "name": "Danny Tuppeny",
        "email": "danny@tuppeny.com",
        "time": "Thu Nov 12 08:28:47 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 08:28:47 2026 -0800"
      },
      "message": "[analysis_server] Fix `--print-missing-information` in completion metrics\n\n`FeatureComputer.elementKindFeature` never returns a negative number, it returns 0 for the missing data, so this condition was preventing reporting missing data.\n\nChange-Id: I949b4322454bbed0e844490d18a2c7f316f0b5b7\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576120\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\n"
    },
    {
      "commit": "47e46de95501efc46646ce40cf8833574bfb7d3e",
      "tree": "4d1279d671c4ec45b0f6388bf638418fc0f9cafb",
      "parents": [
        "982cf05869cc8135e70626d04cf88edc9a6e2342"
      ],
      "author": {
        "name": "dart-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "dart-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Thu Nov 12 07:15:32 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 07:15:32 2026 -0800"
      },
      "message": "Roll Fuchsia Test Scripts from Jo-ZgQSNDuPsjlZ4s... to oEU515sDqSTvD8Spx...\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/fuchsia-test-scripts-dart-sdk\nPlease CC fuchsia-3p-engprod@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Fuchsia Test Scripts: https://bugs.fuchsia.dev/p/fuchsia/issues/list\nTo file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues\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\n\nCq-Include-Trybots: luci.dart.try:vm-fuchsia-release-x64-try;luci.dart.try:vm-fuchsia-release-arm64-try\nChange-Id: I4ccf83605bf0d800fb520bac4df46ba9532537ea\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576080\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Alexander Markov \u003calexmarkov@google.com\u003e\nReviewed-by: Ryan Macnak \u003crmacnak@google.com\u003e\n"
    },
    {
      "commit": "982cf05869cc8135e70626d04cf88edc9a6e2342",
      "tree": "d7f4f215783a6099497facb42492b3cbf451c6b4",
      "parents": [
        "031e7344f4f20ac8ee204cfdb94a0fb048397fe1"
      ],
      "author": {
        "name": "dart-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "dart-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Thu Nov 12 06:40:44 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 06:40:44 2026 -0800"
      },
      "message": "Roll BoringSSL from fd0ed4d0a127 to 6c69fa83db77 (16 revisions)\n\nhttps://boringssl.googlesource.com/boringssl.git/+log/fd0ed4d0a127..6c69fa83db77\n\n2026-11-10 daniel@binaryparadox.net acvptool: support hybrid HKDF shared secrets\n2026-11-10 daniel@binaryparadox.net acvptool: support HMAC revision 2.0\n2026-11-10 davidben@google.com Check theoretical upper bounds on GCM IV length\n2026-11-10 davidben@google.com Fix theoretical off-by-one error in GCM AAD limit\n2026-11-10 xfding@google.com crypto: Detect ARMv8.4-a DIT support\n2026-11-09 davidben@google.com Add the Apple/LLVM Clang version conversion to references\n2026-11-09 xfding@google.com crypto/x509: Unsigned X.509 Certificates support\n2026-11-09 xfding@google.com crypto/asn1: Provide ASN1_STRING_set1_data\n2026-11-06 chlily@google.com Fix CMAC_Final updating of FIPS service indicator\n2026-11-06 chlily@google.com Use the RSA key\u0027s length in bits (not bytes) in the service indicator\n2026-11-06 chlily@google.com pki: Parse the MTC CA extension in ParsedCertificate\n2026-11-06 chlily@google.com pki: Remove support for draft-05 MTCs\n2026-11-06 chlily@google.com pki: Reject invalid CA IDs in MTCAnchor::CreatePlants07\n2026-11-05 chlily@google.com pki: Add AddSignatureAlgorithmIdentifier helper function\n2026-11-05 chlily@google.com Update version for Bazel Central Repository to 0.20261105.0\n2026-11-05 xfding@google.com crypto/evp: Introduce EVP_marshal_public_key_with_ec_point_format\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/boringssl-dart-sdk\nPlease CC dart-engprod@google.com,dart-vm-gardener@rotations.google.com,dart-vm-team@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in BoringSSL: https://crbug.com/boringssl/new\nTo file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues\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\n\nChange-Id: I92f6154eea7af6e4644c98340b037d17f2e4d5a8\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576421\nCommit-Queue: Alexander Markov \u003calexmarkov@google.com\u003e\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nReviewed-by: Ryan Macnak \u003crmacnak@google.com\u003e\n"
    },
    {
      "commit": "031e7344f4f20ac8ee204cfdb94a0fb048397fe1",
      "tree": "fdb1bdd6cff988ae10b35d519c70597c4c32ef2f",
      "parents": [
        "428dbf6c13b00dd597fe947c7e7b2afe807c741a"
      ],
      "author": {
        "name": "Tess Strickland",
        "email": "sstrickl@google.com",
        "time": "Thu Nov 12 06:28:44 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 06:28:44 2026 -0800"
      },
      "message": "[vm,dyn_modules] Fix expression evaluation without an available receiver.\n\nWhen evaluating an expression in a frame where the receiver is not\navailable, such as a closure in an instance method that does not\ncapture `this`, the VM checks whether the expression uses the receiver.\nThat check built kernel scopes for the evaluation function, which fails\nfor evaluation functions loaded from bytecode.\n\nFor those, scan the bytecode instead for pushes of the receiver\u0027s\nparameter slot. Expression evaluation functions have no optional\nparameters and are not suspendable, so their parameters stay in the\ncaller\u0027s frame, and the receiver is immutable, so only pushes can use it.\n\nTEST\u003dpkg/vm_service/test/evaluate_with_optimized_out_receiver_test\n\nCq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try,vm-dyn-mac-debug-arm64-try,vm-linux-debug-x64-try\nChange-Id: If7b137f8b87a3e06f2bf2269a3b7dcb30b13ef75\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/573263\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Tess Strickland \u003csstrickl@google.com\u003e\n"
    },
    {
      "commit": "428dbf6c13b00dd597fe947c7e7b2afe807c741a",
      "tree": "e351ea7900c296842e4a04e832a5458f32436409",
      "parents": [
        "313e546dba8c8472b2ae1441d9222550c64157b7"
      ],
      "author": {
        "name": "Tess Strickland",
        "email": "sstrickl@google.com",
        "time": "Thu Nov 12 03:34:26 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 03:34:26 2026 -0800"
      },
      "message": "[vm,dyn_modules] Report empty call sites for bytecode in source reports.\n\nSource reports omitted the callSites property for functions with\nbytecode, so ranges for interpreted functions did not have the shape of\n_CallSites reports. The interpreter does not collect ICData, so report\nan empty list of call sites.\n\nTEST\u003dpkg/vm_service/test/get_source_report_test\n\nCq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try,vm-dyn-mac-debug-arm64-try,vm-linux-debug-x64-try\nChange-Id: I0b2777649ef875c760beb80c8322670561a0f6f6\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/573940\nCommit-Queue: Tess Strickland \u003csstrickl@google.com\u003e\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\n"
    },
    {
      "commit": "313e546dba8c8472b2ae1441d9222550c64157b7",
      "tree": "4bcee72d91a4147c2d330aa08fa5e694604d79f7",
      "parents": [
        "ba4c046c09247c536e9afc53194375ca6e8328f5"
      ],
      "author": {
        "name": "Simon Binder",
        "email": "oss@simonbinder.eu",
        "time": "Thu Nov 12 03:24:06 2026 -0800"
      },
      "committer": {
        "name": "Martin Kustermann",
        "email": "kustermann@google.com",
        "time": "Thu Nov 12 03:24:06 2026 -0800"
      },
      "message": "[dart2wasm]: Allow importing globals\n\nThis adds support for importing globals to dart2wasm. Globals are\nimported via the existing `wasm:import` pragma added to external static\ngetters, setters (or external fields, which are represented as getters\nand settings in Kernel).\n\nGlobals only used in getters are imported with an immutable type, if a\nsetter is declared next to the getter we import them as mutable. This\nfails for a getter/setter pair with the same import pragma defined in\ndifferent libraries, but a similar issue exists for other imports (we\ndon\u0027t currently check for duplicates). Doing that would require a\n(non-modular) pass through the component, which might be something\nworth adding eventually.\n\nThis is adopted in the standalone embedder library: Some embedders,\nnotably WASI [1], want to provide a separate constant import for hash\ncodes that is different from other RNG seeds (the use of that value in\nDart doesn\u0027t match what WASI intended exactly, but it comes close).\nThat import will be a global in the future, so this prepares Dart for\nit (and it also serves as a runtime test for global imports).\n\n[1]: https://github.com/WebAssembly/WASI/blob/main/proposals/random/wit/insecure-seed.wit\n\nTEST\u003dpkg/dart2wasm/test/ir_test.dart; web tests in standalone config\n\nChange-Id: I23ad5f04ef672507f7ec84db6733b63c7bfa11e2\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/572021\nReviewed-by: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Søren Pedersen \u003csorensp@google.com\u003e\nCommit-Queue: Martin Kustermann \u003ckustermann@google.com\u003e\n"
    },
    {
      "commit": "ba4c046c09247c536e9afc53194375ca6e8328f5",
      "tree": "8d46be7f98924a52d5247407cbc755153f2610e1",
      "parents": [
        "74fc0ad33c882b82725457c41f1ec229908dffd1"
      ],
      "author": {
        "name": "Jens Johansen",
        "email": "jensj@google.com",
        "time": "Thu Nov 12 01:59:39 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 01:59:39 2026 -0800"
      },
      "message": "[kernel][CFE] Mark used parts and add fileOffset\n\nTEST\u003dci\n\nChange-Id: Ic4fe80c4abca415a726bc035b4bc8d1b37d02895\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/570902\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Jens Johansen \u003cjensj@google.com\u003e\n"
    },
    {
      "commit": "74fc0ad33c882b82725457c41f1ec229908dffd1",
      "tree": "52d63440b8af98aba5234b1d43d422ad5772a83b",
      "parents": [
        "32c9349f44b6ca75670958e6bcf5f10c72d89092"
      ],
      "author": {
        "name": "Martin Kustermann",
        "email": "kustermann@google.com",
        "time": "Thu Nov 12 01:09:53 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 01:09:53 2026 -0800"
      },
      "message": "[dart2wasm/dev] Compile each library into a separate Wasm module\n\nCompile all non-SDK libraries in the component as separate Wasm modules\nand pass all generated modules to the dev runner script.\n\nWe could also make the grandularity per top level entity (field,\nprocedure, class) in the future.\n\nTEST\u003dtests/web/wasm/cfg_dev/multi_module_test.dart\n\nChange-Id: Icec542ad4489dd720ede91ca1ea0a316bc009f03\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574982\nCommit-Queue: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Nicholas Shahan \u003cnshahan@google.com\u003e\n"
    },
    {
      "commit": "32c9349f44b6ca75670958e6bcf5f10c72d89092",
      "tree": "977baa9b0171c47a69ab5fd442f8191656c0771f",
      "parents": [
        "21954aa0b00a695ed19f55be7a648bd76e00cdf9"
      ],
      "author": {
        "name": "Srujan Gaddam",
        "email": "srujzs@google.com",
        "time": "Wed Nov 11 17:18:36 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 17:18:36 2026 -0800"
      },
      "message": "Skip js_throw_test on csp bots\n\nUses eval and therefore cannot be run on the csp bot.\n\nChange-Id: I0c623e824039b2bd02027a4129e4737ea67743d9\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576641\nCommit-Queue: Nicholas Shahan \u003cnshahan@google.com\u003e\nReviewed-by: Nicholas Shahan \u003cnshahan@google.com\u003e\nAuto-Submit: Srujan Gaddam \u003csrujzs@google.com\u003e\n"
    },
    {
      "commit": "21954aa0b00a695ed19f55be7a648bd76e00cdf9",
      "tree": "3f48b987263f4d7dd7b446b05dc8967047a53588",
      "parents": [
        "5512abf9768a6812a06f4dcdb10a61823858e298"
      ],
      "author": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Wed Nov 11 17:12:45 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 17:12:45 2026 -0800"
      },
      "message": "[dart2js,ddc] Skip requestAnimationFrame test\n\nThis test is flaking on all browsers. Expanding the skip to\ninclude firefox and safari as well.\nco19/LibTest/html/Window/animationFrame_A01_t01\n\nIssue: https://github.com/dart-lang/sdk/issues/53985\nChange-Id: I4ea55e4406689fc10757f6f80b44879bbb8074b0\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576740\nReviewed-by: Srujan Gaddam \u003csrujzs@google.com\u003e\nAuto-Submit: Nicholas Shahan \u003cnshahan@google.com\u003e\nCommit-Queue: Srujan Gaddam \u003csrujzs@google.com\u003e\n"
    },
    {
      "commit": "5512abf9768a6812a06f4dcdb10a61823858e298",
      "tree": "8afd88fe245fbfcc74232639680270119cdef85b",
      "parents": [
        "0900985d14486f29902a10d537f5d8452c294f9b"
      ],
      "author": {
        "name": "Nate Bosch",
        "email": "nbosch@google.com",
        "time": "Wed Nov 11 17:10:21 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 17:10:21 2026 -0800"
      },
      "message": "[deps] rev dartdoc, http, native\n\nRevisions updated by `dart tools/rev_sdk_deps.dart`.\n\ndartdoc (https://github.com/dart-lang/dartdoc/compare/2f6847b..03ec6df):\n  03ec6df6  Thu Nov 5 11:12:45 2026 +0200  Sergey G. Grekhov  Add tests for type parameters (dart-lang/dartdoc#4308)\n  14a91302  Tue Nov 3 04:24:32 2026 +0100  Moritz  Migrate to ecosystem health publish check and setup-dart publish workflow (dart-lang/dartdoc#4310)\n  cd8bf52c  Mon Nov 2 14:19:25 2026 +0100  Sigurd Meldgaard  Support standalone AOT compilation and embed resources in html_resources.g.dart (dart-lang/dartdoc#4298)\n  cb1b1b2f  Mon Nov 2 14:39:28 2026 +0200  Sergey G. Grekhov  Add tests for parameters (dart-lang/dartdoc#4304)\n  07506415  Mon Nov 2 12:14:22 2026 +0100  dependabot[bot]  Bump the github-actions group across 1 directory with 3 updates (dart-lang/dartdoc#4311)\n  494aec7f  Mon Nov 2 12:14:05 2026 +0100  Sarah Zakarias  Add a \"Documentation inherited from\" note to inherited doc comments (dart-lang/dartdoc#4309)\n  527502a9  Mon Nov 2 11:21:46 2026 +0100  Sarah Zakarias  Give the mock SDK the version of the SDK running the tests (dart-lang/dartdoc#4312)\n\nhttp (https://github.com/dart-lang/http/compare/1f869d0..4646fe6):\n  4646fe6  Thu Nov 5 02:41:04 2026 +0530  Chandra ObulaReddy  [http] Don\u0027t throw in RetryClient when `when` has read the response stream (dart-lang/http#2040)\n\nnative (https://github.com/dart-lang/native/compare/1838637..6287745):\n  6287745ca  Thu Nov 5 20:37:11 2026 +0800  Dz  [hooks_runner] Fix UTF-8 decoding of hook output on Windows (dart-lang/native#3772)\n  0eada93f9  Thu Nov 5 19:18:09 2026 +0800  Dz  [native_toolchain_c] Decode vswhere UTF-8 output correctly on Windows (dart-lang/native#3773)\n\nChange-Id: If15b14dac054320ded19f0633a71b77463b9b718\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574640\nAuto-Submit: Nate Bosch \u003cnbosch@google.com\u003e\nCommit-Queue: Nicholas Shahan \u003cnshahan@google.com\u003e\nReviewed-by: Nicholas Shahan \u003cnshahan@google.com\u003e\n"
    },
    {
      "commit": "0900985d14486f29902a10d537f5d8452c294f9b",
      "tree": "f31e9501c3444ef192e11aa0685a2b81ffa81622",
      "parents": [
        "cdb04190a5e2e0ab1b0b283de97179b7c50f8735"
      ],
      "author": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Wed Nov 11 15:42:17 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 15:42:17 2026 -0800"
      },
      "message": "Bump tools to 727fd9c2fac0efe5eb60d23ef8a24ef90b1326d0\n\nChanges:\n```\n\u003e git log --format\u003d\"%C(auto) %h %s\" a342744..727fd9c\n https://dart.googlesource.com/tools.git/+/727fd9c2f [sse] Use global fetch function (2825)\n https://dart.googlesource.com/tools.git/+/a76c5150a [boring] Replace -wip changelog entry in place and link commit SHA (2812)\n https://dart.googlesource.com/tools.git/+/c2312aaa4 [boring] Update macOS/iOS binary build runners to macos-15 (2813)\n https://dart.googlesource.com/tools.git/+/8671c6b4b [html] Break out of foreign content on `\u003c/br\u003e` and `\u003c/p\u003e` end tags (2821)\n https://dart.googlesource.com/tools.git/+/c4fc01f6c [html] Warn against using `innerHtml`/`outerHtml` for HTML sanitization (2822)\n https://dart.googlesource.com/tools.git/+/fa15cf70b [html] Escape `\u003c` and `\u003e` when serializing attribute values (2820)\n https://dart.googlesource.com/tools.git/+/9c92cdfc6 [markdown] Limit text copied from link reference definitions (2815)\n https://dart.googlesource.com/tools.git/+/585cc913f [markdown] Ignore duplicate footnote definitions with identical case (2800)\n https://dart.googlesource.com/tools.git/+/60e8443b5 [boring] Update BoringSSL to 0131ae9d (2810)\n https://dart.googlesource.com/tools.git/+/116cd988f [cli_util] Add multi-line option descriptions and SelectComponentSizing to select dialogs (2609)\n https://dart.googlesource.com/tools.git/+/f949d70a2 [markdown] Cap container block nesting depth in BlockParser (2780)\n https://dart.googlesource.com/tools.git/+/06dee8abe [markdown] Avoid quadratic line concatenation in LinkParser (2789)\n https://dart.googlesource.com/tools.git/+/42f570739 [markdown] Cap inline nesting depth in InlineParser (2793)\n https://dart.googlesource.com/tools.git/+/e20eea3fc [markdown] Track active link brackets in a linked stack for O(1) deactivation (2792)\n https://dart.googlesource.com/tools.git/+/86f899fc2 [markdown] Represent InlineParser._tree as a LinkedList (2791)\n https://dart.googlesource.com/tools.git/+/9a61101c7 [markdown] Represent InlineParser._delimiterStack as a LinkedList (2790)\n\n```\n\nDiff: https://dart.googlesource.com/tools.git/+/a3427446f3c5bfa65e254deb63e62085635e22a2..727fd9c2fac0efe5eb60d23ef8a24ef90b1326d0/\nChange-Id: I306263a0c5b956e4bfa12273daf440e6351ad012\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576600\nCommit-Queue: Nicholas Shahan \u003cnshahan@google.com\u003e\nReviewed-by: Nate Bosch \u003cnbosch@google.com\u003e\n"
    },
    {
      "commit": "cdb04190a5e2e0ab1b0b283de97179b7c50f8735",
      "tree": "4437cc551f6caad6169c86457f3a6ad96daed734",
      "parents": [
        "4b2eda8897481cfd7549204e7e63924decd2e0a3"
      ],
      "author": {
        "name": "Natalie Weizenbaum",
        "email": "nweiz@google.com",
        "time": "Wed Nov 11 14:44:07 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 14:44:07 2026 -0800"
      },
      "message": "Add a `jsThrow` top-level method\n\nCloses https://github.com/dart-lang/sdk/pull/63614\n\nGitOrigin-RevId: 668856b1235e724ba7d4615527c1df6e37fe0f9c\nChange-Id: I5a2be90aa580653d3bc7fb8fb8ed87ec04896aba\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/514660\nReviewed-by: Kevin Moore \u003ckevmoo@google.com\u003e\nReviewed-by: Srujan Gaddam \u003csrujzs@google.com\u003e\nReviewed-by: Nate Biggs \u003cnatebiggs@google.com\u003e\nCommit-Queue: Nate Biggs \u003cnatebiggs@google.com\u003e\n"
    },
    {
      "commit": "4b2eda8897481cfd7549204e7e63924decd2e0a3",
      "tree": "1bfac3aa0ef32041f6648f19b085b2ef2f9c9c36",
      "parents": [
        "04807ecd35594fa97154aeb2935f353988842c33"
      ],
      "author": {
        "name": "Brian Wilkerson",
        "email": "brianwilkerson@google.com",
        "time": "Wed Nov 11 13:53:12 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 13:53:12 2026 -0800"
      },
      "message": "Add the session listeners needed for parity with the instrumentation\nservice.\n\nThese listeners are not currently being used. The next CL will make use\nof them. If separating the two CLs isn\u0027t helpful, then I can combine\nthem.\n\nChange-Id: I89e58fa81c89701ea8cddb737ebad24d76f3b680\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576701\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\n"
    },
    {
      "commit": "04807ecd35594fa97154aeb2935f353988842c33",
      "tree": "ce306dca382921e70ea89d3dad643cb7d8c3977a",
      "parents": [
        "66d7e18bd2af7752c8ffa2bcf1cca56475050e13"
      ],
      "author": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Wed Nov 11 13:32:31 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 13:32:31 2026 -0800"
      },
      "message": "[dart_runtime_service] Report configured hostname in URI\n\nThe service URI always contained the IP address the server bound to,\neven when the host was configured as a name. Tools that rewrite service\nURIs based on their hostname, such as proxy encoders, did not recognize\nthe raw IP, so remote clients were given an address they could not\nreach. Legacy DDS reported the name.\n\nReport the configured name when it resolves to a non-loopback address.\nLoopback names such as `localhost` still report the bound IP, because a\nclient may resolve the name to a different loopback address than the\none the server bound to and send its authentication code there.\n\nThe Host and Origin checks now also accept the bound IP address on the\nserver\u0027s port, so clients that connect by IP are still allowed when the\nURI contains a hostname.\n\nTEST\u003dpkg/dart_runtime_service/test/server_configuration_test.dart\nTEST\u003dpkg/dart_runtime_service/test/security_test.dart\n\nChange-Id: I91805040b4f8768fdb3f4c7632e786cbca6597c2\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576280\nCommit-Queue: Nicholas Shahan \u003cnshahan@google.com\u003e\nReviewed-by: Ben Konyi \u003cbkonyi@google.com\u003e\n"
    },
    {
      "commit": "66d7e18bd2af7752c8ffa2bcf1cca56475050e13",
      "tree": "d917ecf3f94ffa55263d2e8b61509f8cc5488e3f",
      "parents": [
        "04f82a525f6593fe16025eb259d2c79d6c15a8b4"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Wed Nov 11 11:29:17 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 11:29:17 2026 -0800"
      },
      "message": "[gardening] More avoid running multiple children at once in tests.\n\nGreatly reduces peak memory consumption, especially under TSAN.\n\nCompare e64edefde7f2cdf4a6375f5bb72470c72391e5b8\n\nChange-Id: I3caed08c16e9aa15f43204a13a061f39474ef760\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576640\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n"
    },
    {
      "commit": "04f82a525f6593fe16025eb259d2c79d6c15a8b4",
      "tree": "6f59a4bb4eaf4596b557d2b3fd5ff002a9231a72",
      "parents": [
        "b9b2162f4ded71e3523864dde9d3a813dba10d44"
      ],
      "author": {
        "name": "dart-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "dart-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Wed Nov 11 10:05:06 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 10:05:06 2026 -0800"
      },
      "message": "Roll Fuchsia SDK from 34.20261103.7.1 to 34.20261106.4.1\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/fuchsia-sdk-dart-sdk\nPlease CC fuchsia-3p-engprod@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Fuchsia SDK: https://bugs.fuchsia.dev/p/fuchsia/issues/list\nTo file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues\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\n\nCq-Include-Trybots: luci.dart.try:vm-fuchsia-release-x64-try;luci.dart.try:vm-fuchsia-release-arm64-try\nChange-Id: I6e025a3b039b99b0d0f2a8c506163cc672fa5715\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575060\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\nReviewed-by: Ryan Macnak \u003crmacnak@google.com\u003e\nReviewed-by: Zijie He \u003czijiehe@google.com\u003e\n"
    },
    {
      "commit": "b9b2162f4ded71e3523864dde9d3a813dba10d44",
      "tree": "6d05d944bfd0f5d8a574bf08ff8cb30d1dfca213",
      "parents": [
        "4a2fc1604e2172dea84275253445fe57378336c3"
      ],
      "author": {
        "name": "Srujan Gaddam",
        "email": "srujzs@google.com",
        "time": "Wed Nov 11 09:21:26 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 09:21:26 2026 -0800"
      },
      "message": "[DEPS] Update chrome, firefox, jsshell\n\nChange-Id: I255a2b926b985160862ec4f714989f249d440a87\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576260\nAuto-Submit: Srujan Gaddam \u003csrujzs@google.com\u003e\nCommit-Queue: Arnav Arora \u003carnv@google.com\u003e\nReviewed-by: Arnav Arora \u003carnv@google.com\u003e\n"
    },
    {
      "commit": "4a2fc1604e2172dea84275253445fe57378336c3",
      "tree": "72338b763e6d0914f8da5a909e38eff300685d54",
      "parents": [
        "b6961aaacaf48ffbf804c50c6bdd95f264f45cb1"
      ],
      "author": {
        "name": "bkonyi",
        "email": "bkonyi@google.com",
        "time": "Wed Nov 11 07:57:55 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 07:57:55 2026 -0800"
      },
      "message": "[dart_runtime_service] Ignore closed peers and fix failed DDS yield\n\nPreviously, `Client.sendNotification` and `Client.sendBinaryData` threw\n`RpcException.serviceDisappeared` (`112`) when a subscriber connection\nwas already closed. After `Client.close()` began awaiting `Client.done`\nin https://dart-review.googlesource.com/c/sdk/+/571660, disconnecting\nmultiple non-DDS clients concurrently during `_yieldControlToDDS` failed\nwhenever one disconnecting client broadcast `ServiceUnregistered` events\non the `Service` stream while another disconnecting client\u0027s\n`onClientDisconnect` was still queued on `_streamSubscriptionMutex` with\nan already-closed peer.\n\nIn addition, when `_yieldControlToDDS` threw after calling\n`rejectConnections(redirectUri: uri)`, `redirectUri` stayed set and the\n`client.done` listener waited on the uncompleted `_yieldCompleter`,\nleaving subsequent connection attempts permanently redirected to the\ndead DDS URI.\n\n- Return early in `Client.sendNotification` and `Client.sendBinaryData`\n  when `Client.isClosed` is `true`, catch `StateError` and close\n  `_clientPeer` when writing to `connection.sink` fails, and preserve\n  `RpcException.serviceDisappeared` on `Client.sendRequest`.\n- Catch and log errors thrown by `Client.cleanup()` and `Client.close()`\n  during teardown, and use `.whenComplete(...)` in\n  `ClientManager.addClient` so disconnected clients are always removed\n  from `_clients`.\n- Restore `acceptConnections()` if `_yieldControlToDDS` throws while\n  closing non-DDS clients or if the incoming DDS client disconnects\n  before yield completes, set the `\u0027DDS\u0027` client name only after non-DDS\n  clients close, and register the `client.done` reset callback after\n  `_yieldCompleter.complete(uri)` without replacing `_yieldCompleter` on\n  failure.\n\nTest: pkg/dart_runtime_service/test/\nChange-Id: I053d4c5ff7391a23b12f78367783cee7fb25bbd3\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575940\nReviewed-by: Jessy Yameogo \u003cyjessy@google.com\u003e\nCommit-Queue: Ben Konyi \u003cbkonyi@google.com\u003e\n"
    },
    {
      "commit": "b6961aaacaf48ffbf804c50c6bdd95f264f45cb1",
      "tree": "05c287f7fb5da3d3c3306fd926b6dbab495e01ec",
      "parents": [
        "60c010f7fb9b6221c839ee570c00c33936db2ed9"
      ],
      "author": {
        "name": "Martin Kustermann",
        "email": "kustermann@google.com",
        "time": "Wed Nov 11 05:43:40 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 05:43:40 2026 -0800"
      },
      "message": "[gardening] Mark coreelib/int_parse_radix_character_test slow on reload\n\nThe test is flakily timing out on reload bots\n\nChange-Id: I54b9c45482f75682c7c7fd4b2fadd748e7ed9bcb\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576121\nReviewed-by: Slava Egorov \u003cvegorov@google.com\u003e\nCommit-Queue: Martin Kustermann \u003ckustermann@google.com\u003e\n"
    },
    {
      "commit": "60c010f7fb9b6221c839ee570c00c33936db2ed9",
      "tree": "696572b5e333f8af0cfaaf51b1135091b1918df7",
      "parents": [
        "b9ff82d02fffde12d6d5269a694b7838330370a2"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Tue Nov 10 15:53:04 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 15:53:04 2026 -0800"
      },
      "message": "[vm, gc] Also label committed regions of the compressed heap on Linux and Fuchsia.\n\nTEST\u003d/proc/pid/maps on sufficiently new kernel\nBug: https://github.com/dart-lang/sdk/issues/64873\nCq-Include-Trybots: luci.dart.try:vm-aot-android-debug-x64c-try,vm-aot-win-debug-x64c-try,vm-aot-linux-debug-x64c-try\nChange-Id: I9b1cfa19547912c3d359aa13958d253130efd64c\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576200\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n"
    },
    {
      "commit": "b9ff82d02fffde12d6d5269a694b7838330370a2",
      "tree": "580ce8fed7d1a03aaa38ae4a5ae5ee8ee94c5f58",
      "parents": [
        "4fd8c009131394f307c8d05f434e9c17680c97f3"
      ],
      "author": {
        "name": "Keerti Parthasarathy",
        "email": "keertip@google.com",
        "time": "Tue Nov 10 15:02:45 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 15:02:45 2026 -0800"
      },
      "message": "[analysis_server] Fix adding dependencies to an empty pubspec section\n\nWhen a `dependencies:` or `dev_dependencies:` key was present with no\nvalue, the missing_dependency fix looked the section up by value, got\n`null`, and appended a second section header at the end of the file,\nproducing a duplicate key. Entries are now inserted directly below the\nexisting key. Sections with shapes we can\u0027t edit safely (e.g. flow maps)\nno longer produce a corrupting fix.\n\nAlso removes a dead loop in the dev_dependencies removal code whose only\nstatement (`nextEntry \u003d\u003d entry;`) had no effect.\n\nFixes https://github.com/dart-lang/sdk/issues/64890\n\nChange-Id: Ib856ae434238facec58fa2ef7d86c5e1795e8b1e\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576180\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Keerti Parthasarathy \u003ckeertip@google.com\u003e\n"
    },
    {
      "commit": "4fd8c009131394f307c8d05f434e9c17680c97f3",
      "tree": "6cef09c8329255883103cfc8dff6bad724768de0",
      "parents": [
        "a5fd15369307de83e14e8a9e8298f92132e5816b"
      ],
      "author": {
        "name": "Danny Tuppeny",
        "email": "danny@tuppeny.com",
        "time": "Tue Nov 10 14:27:43 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 14:27:43 2026 -0800"
      },
      "message": "[analysis_server] Pass variable distance when computing element kind scores for completion relevance\n\nChange-Id: I0389f25d8dd2f6cb6135b4c5e8082678b0086845\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576140\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n"
    },
    {
      "commit": "a5fd15369307de83e14e8a9e8298f92132e5816b",
      "tree": "06ee74ebaace7f7197d27ffa30eb6af43396aa69",
      "parents": [
        "fab27c80470aea667b3c5e2caa2aaf2c9baa9ca3"
      ],
      "author": {
        "name": "bkonyi",
        "email": "bkonyi@google.com",
        "time": "Tue Nov 10 13:57:27 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 13:57:27 2026 -0800"
      },
      "message": "[dart_runtime_service] Surface uncaught RPC errors as kInternalError\n\nPreviously, `DartRuntimeServiceRpcs` only caught `RPCError` from\n`package:vm_service` and rethrew other uncaught exceptions to\n`package:json_rpc_2`, which serialized them as `-32000`\n(`SERVER_ERROR`) with `data: {\u0027full\u0027, \u0027stack\u0027}` instead of `-32603`\n(`kInternalError`) with `data: {\u0027details\u0027}`.\n\nWrap registered RPC handlers, client service extension forwarding, and\nbackend fallbacks in `_invokeWithErrorHandling` so uncaught non-RPC\nexceptions are logged and surfaced as `RpcException.internalError`\nwith `data: {\u0027details\u0027}`, while preserving `RPCError` and\n`json_rpc.RpcException` responses (including `methodNotFound` fallback\nchaining). This restores parity with the legacy VM service\nimplementation, including surfacing `DevFS` filesystem exceptions with\n`RPCError.details` to tools like `flutter_tools`.\n\nTEST\u003dpkg/dart_runtime_service/test/dart_runtime_service_rpcs_test.dart\n\nChange-Id: I3c7237c4e2ba574782c2ce6f68fdde730b97c573\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575880\nReviewed-by: Jessy Yameogo \u003cyjessy@google.com\u003e\nCommit-Queue: Ben Konyi \u003cbkonyi@google.com\u003e\n"
    },
    {
      "commit": "fab27c80470aea667b3c5e2caa2aaf2c9baa9ca3",
      "tree": "99a31bc2b62312e2f0b137eccfa2df440dd44216",
      "parents": [
        "859e51ecd2181ca40eb5013536c21629f9f727a2"
      ],
      "author": {
        "name": "Danny Tuppeny",
        "email": "danny@tuppeny.com",
        "time": "Tue Nov 10 12:07:06 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 12:07:06 2026 -0800"
      },
      "message": "[analysis_server] Fix some typos in completion locations\n\nThese names should match between the relevance tables and completion code, but there were some typos.\n\nChange-Id: I7282d61766740e33646aacb5e759b0a04fa06d1d\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/576101\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\n"
    },
    {
      "commit": "859e51ecd2181ca40eb5013536c21629f9f727a2",
      "tree": "a0f3978011519cdd3fa6bea18c4fe82ee35aabf1",
      "parents": [
        "770203e38a2ead85b60a2d4407bf392352a7a82e"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Tue Nov 10 09:34:13 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 09:34:13 2026 -0800"
      },
      "message": "[infra] Apply the other sanitizers to isolate stress testing.\n\nBug: https://github.com/dart-lang/sdk/issues/64874\nCq-Include-Trybots: luci.dart.try:iso-stress-linux-arm64-try,iso-stress-linux-x64-try\nChange-Id: I19cde0fd1f0e850a16f7692d1fcb746f0f66cf9e\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575702\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n"
    },
    {
      "commit": "770203e38a2ead85b60a2d4407bf392352a7a82e",
      "tree": "e9eaf09b115f297ee95b37ce626bd38e645be187",
      "parents": [
        "dfceaabfa820a5d716cbc23679d156c6f375f007"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Tue Nov 10 08:50:37 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 08:50:37 2026 -0800"
      },
      "message": "[vm] Add missing safepoint transitions to Dart_GetNative*Argument.\n\nTEST\u003dlocal build asserting execution state in GetClassId\nBug: https://github.com/dart-lang/sdk/issues/64874\nChange-Id: I49440728d54c32271d0e9750cb1bb03032da622f\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575840\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n"
    },
    {
      "commit": "dfceaabfa820a5d716cbc23679d156c6f375f007",
      "tree": "f278dc9533da5307ec768f8f04359cbcfed502c8",
      "parents": [
        "92e75f8f978d9697e54d3752bd8a1189953401e4"
      ],
      "author": {
        "name": "Modestas Valauskas",
        "email": "valauskasmodestas@gmail.com",
        "time": "Tue Nov 10 02:22:57 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 02:22:57 2026 -0800"
      },
      "message": "[typed_data] Add Int32x4.operator *\n\nTEST\u003dlib/typed_data/int32x4_arithmetic_test\n\nIssue: https://github.com/dart-lang/sdk/issues/64170\nChange-Id: Id8c996f139e0c9ce837da3b69a39429156057652\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/551260\nReviewed-by: Stephen Adams \u003csra@google.com\u003e\nAuto-Submit: Modestas Valauskas \u003cvalauskasmodestas@gmail.com\u003e\nReviewed-by: Martin Kustermann \u003ckustermann@google.com\u003e\nCommit-Queue: Lasse Nielsen \u003clrn@google.com\u003e\nReviewed-by: Lasse Nielsen \u003clrn@google.com\u003e\n"
    },
    {
      "commit": "92e75f8f978d9697e54d3752bd8a1189953401e4",
      "tree": "5a902deed740b2e61ffb5239c2634267548010e4",
      "parents": [
        "4bdf2507f679254c534b12ddd6af5b826278256c"
      ],
      "author": {
        "name": "Martin Kustermann",
        "email": "kustermann@google.com",
        "time": "Tue Nov 10 00:59:10 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 00:59:10 2026 -0800"
      },
      "message": "[dart2wasm] Only force nullable Wasm locals for Phi definitions in CfgToWasm\n\nNon-Phi SSA definitions initialize their Wasm local in the defining\nblock\u0027s scope before opening dominated child blocks, so their local.set\nlexically encloses all dominated uses. Only Phi locals need to be\nnullable (as they are initialized inside the target block before its\nend, and may receive ref.null for UndefinedConstant inputs).\n\nAlso skip local initialization assertion in wasm_builder when code is\nunreachable.\n\nChange-Id: I269368a61f1aed7e7198f37aa3b02a713d6e518e\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575022\nReviewed-by: Søren Pedersen \u003csorensp@google.com\u003e\nReviewed-by: Nicholas Shahan \u003cnshahan@google.com\u003e\nCommit-Queue: Martin Kustermann \u003ckustermann@google.com\u003e\n"
    },
    {
      "commit": "4bdf2507f679254c534b12ddd6af5b826278256c",
      "tree": "c8935535837cdd7655b607d9519294b5494b71f7",
      "parents": [
        "0e35f53aa63d344db114f21c380f090885a1b7a4"
      ],
      "author": {
        "name": "Stephen Adams",
        "email": "sra@google.com",
        "time": "Mon Nov 09 19:10:30 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 19:10:30 2026 -0800"
      },
      "message": "[dart2wasm] Map the start of synchronous closures\n\nThe start instructions of members, constructors and async closures\nare mapped to their function node offsets, but not the start of\nsynchronous closures. The result was that instructions of the preamble\nhad no source position.\n\nThe closure creation and closure entry currently have the same position\n(for both synchronous and async function expressions). Now they are\nconsistent, but we might want to later change the entry of both to be\ndistinct from the allocation, e.g. the arrow or body block.\n\nChange-Id: I613d2c60b635d05b0044f1bc433e34d88f0d6ab7\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575380\nCommit-Queue: Stephen Adams \u003csra@google.com\u003e\nReviewed-by: Martin Kustermann \u003ckustermann@google.com\u003e\n"
    },
    {
      "commit": "0e35f53aa63d344db114f21c380f090885a1b7a4",
      "tree": "31d7e7b3d372e93bf4284b55bca1db894d199bc7",
      "parents": [
        "49e5e393762f0f1fa56d9327d55e103c94e047aa"
      ],
      "author": {
        "name": "Brian Wilkerson",
        "email": "brianwilkerson@google.com",
        "time": "Mon Nov 09 16:56:08 2026 -0800"
      },
      "committer": {
        "name": "Brian Wilkerson",
        "email": "brianwilkerson@google.com",
        "time": "Mon Nov 09 16:56:08 2026 -0800"
      },
      "message": "Fix a compilation error not caught by the bots\n\nI don\u0027t know why the try bots didn\u0027t catch this, but this should fix\nthe production bots.\n\nChange-Id: I939d54e9ac874b50e94b4e5c7525b31d3b745fb3\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575703\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Stephen Adams \u003csra@google.com\u003e\nReviewed-by: Stephen Adams \u003csra@google.com\u003e\nReviewed-by: Srujan Gaddam \u003csrujzs@google.com\u003e\nAuto-Submit: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Srujan Gaddam \u003csrujzs@google.com\u003e\n"
    },
    {
      "commit": "49e5e393762f0f1fa56d9327d55e103c94e047aa",
      "tree": "726776a3eb24f91487c4e105e13fb1d79d8289c6",
      "parents": [
        "9c3f589a083e72fb9f29a6c897dceed580514573"
      ],
      "author": {
        "name": "Brian Wilkerson",
        "email": "brianwilkerson@google.com",
        "time": "Mon Nov 09 16:04:44 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 16:04:44 2026 -0800"
      },
      "message": "Add an interface for SessionLogger\n\nThis adds a new interface that SessionLogger implements. The API is the\nsame (though we might want to change the prefix \u0027log\u0027 everywhere). It\ntouches a lot of code, but the changes were all mechanical.\n\nThe intent is to have other subclasses of SessionListener similar to the\nsubclasses of InstrumentationService. This will allow us to do crash\nreporting and user notifications that would be harder to do with a\nsingle class.\n\nAfter these subclasses are available then I think I\u0027ll be able to write\na subclass of InstrumentationService that forwards to a SessionListener.\nThat, in turn, should allow us to remove the duplication.\n\nChange-Id: I417320670d464684924537b294740856006d7601\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575661\nReviewed-by: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n"
    },
    {
      "commit": "9c3f589a083e72fb9f29a6c897dceed580514573",
      "tree": "656fe289b579436f074b59eba0bfc453d1d002a7",
      "parents": [
        "181d5012424bb33008361dac746dc8df733d9f54"
      ],
      "author": {
        "name": "Parker Lougheed",
        "email": "parlough@gmail.com",
        "time": "Mon Nov 09 15:57:01 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 15:57:01 2026 -0800"
      },
      "message": "[linter] Add diagnostic docs for null-related lints\n\nBug: https://github.com/dart-lang/site-www/issues/7210\nChange-Id: Ib114cc4d87c4f537cb89d40faa01e7e6be829bf0\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575841\nReviewed-by: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Keerti Parthasarathy \u003ckeertip@google.com\u003e\n"
    },
    {
      "commit": "181d5012424bb33008361dac746dc8df733d9f54",
      "tree": "c5bc67eae702138a03e8e1d8891f372b60fc3da5",
      "parents": [
        "5c8ba44c3ab9e1eac59620fab1e32db8d14205c6"
      ],
      "author": {
        "name": "Keerti Parthasarathy",
        "email": "keertip@google.com",
        "time": "Mon Nov 09 15:56:40 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 15:56:40 2026 -0800"
      },
      "message": "[analysis_server] Insert missing pubspec dependencies in sorted order\n\nWhen the missing_dependency fix adds packages to an existing, non-empty\ndependencies/dev_dependencies section, insert them in alphabetical order\nif the section is already sorted (matching `dart pub add`), and\notherwise append directly after the last entry rather than after any\ntrailing blank lines that separate the section from the next one.\n\nFixes https://github.com/dart-lang/sdk/issues/64870\n\nChange-Id: I76d21bdab18f6c5151d6b66ec3f9a42af994484a\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575820\nCommit-Queue: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n"
    },
    {
      "commit": "5c8ba44c3ab9e1eac59620fab1e32db8d14205c6",
      "tree": "6e0ef882a41b6c287880520e5e18096c8a93cc35",
      "parents": [
        "62f7c71afc587223213711d179bd675b8e07f5c1"
      ],
      "author": {
        "name": "csy20",
        "email": "csy24022004@gmail.com",
        "time": "Mon Nov 09 15:14:58 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 15:14:58 2026 -0800"
      },
      "message": "[analysis_server] Keep declaring final and var\n\nThe function-type syntax fix dropped `final` and `var`, so a\nprimary-constructor declaring parameter became an ordinary parameter\nand the field disappeared.\n\nCloses https://github.com/dart-lang/sdk/issues/64597\n\nR\u003dbwilkerson@google.com, srawlins@google.com\n\nChange-Id: Iea3d313ad564b15f45c6813f86520376c3ef15f7\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/570160\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n"
    },
    {
      "commit": "62f7c71afc587223213711d179bd675b8e07f5c1",
      "tree": "7f45f3bd3bc0ffde2a81007b3c1e223f3d5c4962",
      "parents": [
        "a7ae4133c2456832de46ecea4f917270aa80e9b8"
      ],
      "author": {
        "name": "Parker Lougheed",
        "email": "parlough@gmail.com",
        "time": "Mon Nov 09 15:07:29 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 15:07:29 2026 -0800"
      },
      "message": "[linter] Fix use_super_parameters double quoting multiple parameters\n\nAlso fix the correction message to use the appropriate verb form.\n\nChange-Id: Ie55b6daadf280a0e958870143d6a91f6a692a889\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/553500\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"
    },
    {
      "commit": "a7ae4133c2456832de46ecea4f917270aa80e9b8",
      "tree": "cb97f093397ce5b3864c1c2043cf78b7d62329eb",
      "parents": [
        "eaadd059944b972f370f0791325574dce95cc8dc"
      ],
      "author": {
        "name": "bkonyi",
        "email": "bkonyi@google.com",
        "time": "Mon Nov 09 14:13:01 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 14:13:01 2026 -0800"
      },
      "message": "[dds] Preserve early `readyToResume` approvals until isolate pauses\n\nWhen multiple clients (such as DAP and DevTools) register resume\npermissions via `requirePermissionToResume(onPauseStart: true)`, a\nclient reacting to `IsolateStart` or `IsolateRunnable` on the `Isolate`\nstream can invoke `readyToResume` before DDS has processed the\nisolate\u0027s `PauseStart` event on the `Debug` stream.\n\nPreviously, `DdsRunningIsolate.shouldResume` evaluated to `true` when\nthe isolate was not yet in a pause state managed by DDS\n(`pauseTypeMask \u003d\u003d 0`), causing `readyToResume` to immediately clear\n`_resumeApprovalsByName` (wiping out the early client\u0027s approval) and\nsend a premature `resume` request to the VM before all required clients\napproved. If the premature `resume` failed (for example with error 105\nbefore the isolate became runnable) or if\n`DdsIsolateManager.initializeIsolates()` clobbered the isolate\u0027s state\nwhen `getIsolate` completed, the early approval was lost and the\nsubsequent `readyToResume` from the remaining client could not resume\nthe isolate. Additionally, if an isolate exited on the VM before\n`vmServiceClient.resume` completed in `sendResumeRequest`, the uncaught\n`vm.SentinelException` surfaced as a `-32000` (`Server error`)\n`RPCError` instead of returning the `Sentinel`.\n\nThis change:\n- Ensures `shouldResume()` returns `false` when the isolate is not in a\n  paused state managed by DDS (`PauseStart`, `PauseExit`, or\n  `PausePostRequest`), recording the calling client\u0027s approval in\n  `_resumeApprovalsByName` unless already in `IsolateState.running` (so\n  `readyToResume` returns `Success` without forwarding `resume` when an\n  isolate is running or paused at a debugger breakpoint).\n- Catches `vm.SentinelException` in\n  `DdsIsolateManager.sendResumeRequest` and returns\n  `e.sentinel.toJson()`.\n- Evaluates `shouldResume()` via `_maybeResumeIsolate` when\n  transitioning an isolate into a paused state (`PauseStart`,\n  `PauseExit`, `PausePostRequest`, or initial `getIsolate`) so isolates\n  whose required approvals arrived prior to the pause event are resumed\n  automatically, logging `RPCError` at `fine` level if the isolate\n  resumed or exited concurrently.\n- Clears pending resume approvals in `resumed()` and when transitioning\n  into `PauseExit` or `PausePostRequest` from any known state\n  (`_state !\u003d unknown`) so neither early startup approvals nor partial\n  `PauseStart` approvals can leak into a subsequent `PauseExit` or\n  `PausePostRequest`.\n- Iterates over `ddsIsolates.values.toList()` in\n  `DdsIsolateManager.maybeResumeIsolates()` to avoid concurrent\n  modification across asynchronous resume requests.\n- Queries VM pause flags before `getVM` in `initializeIsolates()`,\n  guards `getIsolate` state transitions with\n  `isolate.state \u003d\u003d IsolateState.unknown`, and maps `EventKind.kNone`\n  (or `null`) to `isolate.started()` and debugger pause events to\n  `isolate.running()`.\n\nTEST\u003dpkg/dart_runtime_service_dds/test/dds_isolate_manager_test.dart\n\nBug: https://github.com/Dart-Code/Dart-Code/issues/5829\nBug: https://github.com/dart-lang/sdk/issues/64765\nChange-Id: I737047a837be2a864e223c428d3e39255818d8bd\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/561140\nCommit-Queue: Ben Konyi \u003cbkonyi@google.com\u003e\nReviewed-by: Nicholas Shahan \u003cnshahan@google.com\u003e\n"
    },
    {
      "commit": "eaadd059944b972f370f0791325574dce95cc8dc",
      "tree": "088be018f407b1cc0b42f2a86361e437af308646",
      "parents": [
        "fe6e88e7c5e6627a3d83557524d3f618164fabb4"
      ],
      "author": {
        "name": "Vasiliy Ditsyak",
        "email": "v.ditsyak@gmail.com",
        "time": "Mon Nov 09 13:43:04 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 13:43:04 2026 -0800"
      },
      "message": "[dart2wasm] Support substituting into Function and Record types\n\n`_TypeUniverse.substituteTypeArgument` had no case for the abstract\n`Function` and `Record` types, so any runtime substitution reaching one\nthrew a `ReachabilityError`.\n\nChange-Id: Ief8fd885963156bf5f88b5d69e138d76877ed2aa\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575220\nCommit-Queue: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Søren Pedersen \u003csorensp@google.com\u003e\n"
    },
    {
      "commit": "fe6e88e7c5e6627a3d83557524d3f618164fabb4",
      "tree": "0fef3241035c2578403a5788a1aef70979ad89b5",
      "parents": [
        "ea1c8940495a742b2737cf9307a72a19cfc6592e"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Mon Nov 09 13:34:02 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 13:34:02 2026 -0800"
      },
      "message": "Revert \"[deps] Roll package:web to 45166fdeb32174969888d88c0feeea9a5c380036\"\n\nThis reverts commit 14c38705a4c3b5828d3eed430e03b37a136199e2.\n\nThere are some breaking changes that internal code is not yet ready for.\n\nThe web package was bumped again after that commit, in\nhttps://github.com/dart-lang/sdk/commit/cc100c02f8eae23a677a1c9fb765fc75ee07c417\nbut I believe there are no code changes. From that commit\u0027s notes:\n\n\u003e web (https://github.com/dart-lang/web/compare/45166fd..f388bf5):\n\u003e  f388bf5  Sun Nov 1 06:57:22 2026 +0000  dependabot[bot]  Bump the github-actions group with 4 updates (dart-lang/web#611)\n\u003e  658ce2f  Sat Oct 31 12:47:20 2026 +0100  Moritz  Migrate to ecosystem health publish check and setup-dart publish workflow (dart-lang/web#610)\n\nChange-Id: Ic99001bb752e41891acd5836b20cd52dc27f5ff5\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575440\nReviewed-by: Kevin Moore \u003ckevmoo@google.com\u003e\nReviewed-by: Ben Konyi \u003cbkonyi@google.com\u003e\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\n"
    },
    {
      "commit": "ea1c8940495a742b2737cf9307a72a19cfc6592e",
      "tree": "8c1cbe5325893e057a43f5dd684b7b37dc3fcb2e",
      "parents": [
        "6643646a6f4ff66c9138242f2f991fc02f634ad4"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Mon Nov 09 13:13:59 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 13:13:59 2026 -0800"
      },
      "message": "[io] Throw HttpException subclasses on malformed wire inputs\n\n- Reject truncated asctime dates (\"Mon Jan \") in HttpDate.parse with\n  HttpException instead of RangeError.\n- Throw HttpException instead of UnsupportedError when an obs-fold\n  header continuation crosses the 1 MiB header size limit.\n- Throw RedirectException instead of FormatException or ArgumentError\n  when a redirect Location header cannot be parsed or has an invalid\n  scheme, host, or port.\n- Fail WebSocket.connect with WebSocketException instead of TypeError,\n  FormatException, or HttpException when a 101 response omits or\n  duplicates Upgrade or Sec-WebSocket-Accept, or has a non-base64\n  Sec-WebSocket-Accept header.\n\nTEST\u003dtests/standalone/io/http_date_test.dart\nTEST\u003dtests/standalone/io/http_big_header_test.dart\nTEST\u003dtests/standalone/io/http_redirect_test.dart\nTEST\u003dtests/standalone/io/web_socket_protocol_test.dart\n\nChange-Id: Ia55309ab01097157bd79c535d2ab7ca83c8cb13d\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575321\nCommit-Queue: Kevin Moore \u003ckevmoo@google.com\u003e\nReviewed-by: Morgan :) \u003cdavidmorgan@google.com\u003e\nAuto-Submit: Kevin Moore \u003ckevmoo@google.com\u003e\n"
    },
    {
      "commit": "6643646a6f4ff66c9138242f2f991fc02f634ad4",
      "tree": "aaeefb6e3d3dc44e5d6910d43122b7529837e005",
      "parents": [
        "c604efa19c2ef5b48b1b5471ecf640335c609d85"
      ],
      "author": {
        "name": "Brian Wilkerson",
        "email": "brianwilkerson@google.com",
        "time": "Mon Nov 09 13:06:56 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 13:06:56 2026 -0800"
      },
      "message": "Fix an exception in session logger\n\nIssue discovered by Gemini.\n\nInstances of `InstrumentationServiceAttachment` were put directly into\na map that was expected to be a JSON serializable structure. This\ncaused an exception to be thrown when the objects couldn\u0027t be\nserialized. This fixes the issue by converting the objects to a map\nbefore putting them into the larger map.\n\nChange-Id: Ida451a4e7eef9b7fc797deb692dc08868ee2dace\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575340\nReviewed-by: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n"
    },
    {
      "commit": "c604efa19c2ef5b48b1b5471ecf640335c609d85",
      "tree": "79592e487f1964dbf553c69e348fce4a01c41b8b",
      "parents": [
        "c7d83dcb046f9f46de2fd2049e0d599fd195bbb8"
      ],
      "author": {
        "name": "Vasiliy Ditsyak",
        "email": "v.ditsyak@gmail.com",
        "time": "Mon Nov 09 12:25:29 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 12:25:29 2026 -0800"
      },
      "message": "[corelib] Fix String.contains startIndex with Pattern\n\nWith a nonzero startIndex, String.contains searched a substring for\nRegExp and custom Pattern arguments. This changed ^ and lookbehind\nsemantics because the search lost the original string\u0027s prefix.\n\nSearch the original string from startIndex in dart2js, DDC, and both\ndart2wasm runtimes. Move the regression test to corelib/regexp so it\nruns across backends.\n\nTests: VM, dart2js/D8, DDC/Node, dart2wasm/D8,\n       dart2wasm standalone/Chrome\n\nR\u003dkustermann@google.com, sra@google.com\n\nBug: https://github.com/dart-lang/sdk/issues/64730\nChange-Id: I311f440a89aae70d36c36c4d64493310120818c7\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/569240\nCommit-Queue: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Stephen Adams \u003csra@google.com\u003e\nAuto-Submit: Vasil Vasilich \u003cv.ditsyak@gmail.com\u003e\n"
    },
    {
      "commit": "c7d83dcb046f9f46de2fd2049e0d599fd195bbb8",
      "tree": "0138e988d609e0c511b74fe51e8b0a3ac2d5ffb1",
      "parents": [
        "ad0a140dea72e1ab432430a341c75ec1415a8862"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Mon Nov 09 12:06:40 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 12:06:40 2026 -0800"
      },
      "message": "[infra] Reduce parallism in ddc-linux-firefox to fix infrequent OOMs.\n\nAlso avoid tiny shards.\n\nCq-Include-Trybots: luci.dart.try:ddc-linux-firefox-try\nChange-Id: I93afa3a2ee09459b4435cddeee49188c442c19fe\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575600\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\nReviewed-by: Nicholas Shahan \u003cnshahan@google.com\u003e\n"
    },
    {
      "commit": "ad0a140dea72e1ab432430a341c75ec1415a8862",
      "tree": "068ac512b626a50b6d9bd2d60e5d8f696a7bdbbc",
      "parents": [
        "c7289cd1a68f4df9b8d3757e62d1a307a63f8e8b"
      ],
      "author": {
        "name": "csy20",
        "email": "csy24022004@gmail.com",
        "time": "Mon Nov 09 11:45:37 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 11:45:37 2026 -0800"
      },
      "message": "[analysis_server] Fix named initializing formals\n\nInsert the opening brace when the required-named field-formal fix\ncreates a named section, including when required named parameters are\nsorted first. Put required parameters before optional ones.\n\nCloses https://github.com/dart-lang/sdk/issues/62204\n\nR\u003dbwilkerson@google.com, srawlins@google.com\n\nChange-Id: I9766bdc30fb5ff0fe8b487994e5de88c06b9f34b\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575740\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n"
    },
    {
      "commit": "c7289cd1a68f4df9b8d3757e62d1a307a63f8e8b",
      "tree": "ef43cf6c5b3eb7cebda48f1c3e514b36bf80901f",
      "parents": [
        "55afb51719372c2b2a9799852bddb46dc096fee8"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Mon Nov 09 10:57:40 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 10:57:40 2026 -0800"
      },
      "message": "[infra] Add build-only configuration for Android RISC-V.\n\nBug: https://github.com/dart-lang/sdk/issues/64857\nChange-Id: Iee993a1ddbfbc3424c59ef5fbc1f085babbd62b0\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575660\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n"
    },
    {
      "commit": "55afb51719372c2b2a9799852bddb46dc096fee8",
      "tree": "d9a25065470affc09ca743a071d1645d6d9cdd1c",
      "parents": [
        "4999892f4108bcf06a695f763aa6401f39eaec4e"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Mon Nov 09 10:54:30 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 10:54:30 2026 -0800"
      },
      "message": "DAS plugins: enable on CI environments\n\nChange-Id: I45f2e8d4a3c71bac9bcf542f0348fcbfb8f8b8d0\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575720\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n"
    },
    {
      "commit": "4999892f4108bcf06a695f763aa6401f39eaec4e",
      "tree": "89cc3da1668e681d595f0aaeac1f81f9dcf26e12",
      "parents": [
        "d5cb00187db57dffb07526807bac49d78aabd000"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Mon Nov 09 10:39:28 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 10:39:28 2026 -0800"
      },
      "message": "[dart2wasm] Fix UTF-8 decoding of malformed and truncated long inputs\n\nutf8.decode processes inputs of 1025+ bytes in 1024-byte chunks (see\nhttps://github.com/dart-lang/sdk/issues/64325). That path has three\nbugs that the short-input path does not have:\n\nCurrently a truncated trailing multi-byte sequence is silently dropped\ninstead of throwing a FormatException (or appending U+FFFD with\nallowMalformed).\n\u003d\u003e Check for an unfinished sequence after the last chunk.\n\nCurrently, with assertions enabled, an invalid byte in any chunk fails\n`assert(_bomIndex \u003d\u003d -1)` because the one-shot path never clears the\nBOM state before entering the chunked loop.\n\u003d\u003e Clear the BOM state after skipping the BOM.\n\nCurrently, with assertions enabled, a run of more than 512 four-byte\nlead bytes fails `assert(size \u003c\u003d _characterArraySize)` in decode16,\nsince scan counts two code units per lead byte before the decoder\nbails out on the first error.\n\u003d\u003e Assert the input-length bound, which is what limits the output.\n\nTEST\u003dtests/lib/convert/utf82_test.dart\n\nChange-Id: I0bbeab7a9b57628d025410e5ba36d0cecb7f83ea\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/570300\nAuto-Submit: Kevin Moore \u003ckevmoo@google.com\u003e\nReviewed-by: Søren Pedersen \u003csorensp@google.com\u003e\nCommit-Queue: Kevin Moore \u003ckevmoo@google.com\u003e\n"
    },
    {
      "commit": "d5cb00187db57dffb07526807bac49d78aabd000",
      "tree": "4a12744079f9eb21c5d40bb6bb9f03be9dc9fd35",
      "parents": [
        "456fd5db5a5ac91faee37a9210bcd6521400e67c"
      ],
      "author": {
        "name": "Ryan Macnak",
        "email": "rmacnak@google.com",
        "time": "Mon Nov 09 08:50:51 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 08:50:51 2026 -0800"
      },
      "message": "[build] Remove relative import of siso.gni.\n\nThis will create a conflict declare_args when Flutter adds its own siso.gni, and until it does the absolute import won\u0027t work either.\n\nBug: https://github.com/dart-lang/sdk/issues/64886\nChange-Id: I53a4ccf0535851f8615ba2c6587bc550ff8197c9\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575580\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Ryan Macnak \u003crmacnak@google.com\u003e\n"
    },
    {
      "commit": "456fd5db5a5ac91faee37a9210bcd6521400e67c",
      "tree": "9da0c287d5f984ce1d44b5065028e13087004c75",
      "parents": [
        "d86b0655b7f03577dbe63989453459f67591f8b1"
      ],
      "author": {
        "name": "Sergey G. Grekhov",
        "email": "sgrekhov22@gmail.com",
        "time": "Mon Nov 09 08:23:45 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 08:23:45 2026 -0800"
      },
      "message": "[co19] Update reviewers in update.sh\n\nChange-Id: I3d0cb101e97b8104b6c2d3e39b1513baef304bf6\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575520\nCommit-Queue: Erik Ernst \u003ceernst@google.com\u003e\nReviewed-by: Sinan Oz \u003csinanoz@google.com\u003e\nAuto-Submit: Sergey Grekhov \u003csgrekhov22@gmail.com\u003e\nReviewed-by: Erik Ernst \u003ceernst@google.com\u003e\n"
    },
    {
      "commit": "d86b0655b7f03577dbe63989453459f67591f8b1",
      "tree": "be8967ea539794b184af90dacd77dbe707a5ec99",
      "parents": [
        "7a7519e6dd4f583d7dc12395eeb85496e845e382"
      ],
      "author": {
        "name": "なつき",
        "email": "i@ntk.me",
        "time": "Mon Nov 09 07:51:27 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 07:51:27 2026 -0800"
      },
      "message": "[build] Fix android riscv64\n\nBug: https://github.com/dart-lang/sdk/issues/64857\nChange-Id: If53c9689bdad1c1c0315e3b7296438b19c36e908\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575280\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Alexander Markov \u003calexmarkov@google.com\u003e\nAuto-Submit: 夏目夏樹 \u003ci.ntk.me@gmail.com\u003e\nReviewed-by: Ryan Macnak \u003crmacnak@google.com\u003e\n"
    },
    {
      "commit": "7a7519e6dd4f583d7dc12395eeb85496e845e382",
      "tree": "a2602d21392804fc26e324e4eb39c0c870e8cedf",
      "parents": [
        "2aa4665ea7575daab72662216dd47103d6a10d1b"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Sun Nov 08 21:50:40 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Nov 08 21:50:40 2026 -0800"
      },
      "message": "[linter] Avoid CompilationUnit.lookupThisType in JS interop lint\n\nCalling CompilationUnit.lookupThisType from a registered lint rule\nretains FlowAnalysisRootImpl.flowAnalysisLog across all AST root nodes\nin AOT snapshots (such as stable_analysis), increasing peak RSS by ~8%\nand GC CPU overhead by ~7%. Resolve implicit \u0027this\u0027 receivers from\nenclosing AST declarations and guard \u0027memberName\u0027 before checking\ncollection supertypes.\n\nBug: https://github.com/dart-lang/sdk/issues/64797\nTEST\u003dpkg/linter/test/rules/invalid_runtime_check_with_js_interop_types_test.dart\n\nChange-Id: I521a97cf7df0c45179ebcc4ffd5fa2f6109229ee\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575160\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\nCommit-Queue: Kevin Moore \u003ckevmoo@google.com\u003e\n"
    },
    {
      "commit": "2aa4665ea7575daab72662216dd47103d6a10d1b",
      "tree": "bede3c5691ba363feb8a77e0d9a358266e11d24c",
      "parents": [
        "f017eb8d9c74c497aea4577ea700abbe975aba2a"
      ],
      "author": {
        "name": "Deni",
        "email": "frzx403@gmail.com",
        "time": "Sun Nov 08 20:16:03 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Nov 08 20:16:03 2026 -0800"
      },
      "message": "Remove unnecessary null checks in join\n\nPart of https://github.com/dart-lang/sdk/issues/51681\n\nCoreLibraryReviewExempt: just a cleanup\nChange-Id: I7aaf9aef72b59f956424879694d5877e9911c770\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/573541\nReviewed-by: Alexander Aprelev \u003caam@google.com\u003e\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\n"
    },
    {
      "commit": "f017eb8d9c74c497aea4577ea700abbe975aba2a",
      "tree": "ccb809c6687a2a30293bc2b20da966d8f2273d32",
      "parents": [
        "25f87b2810f375d777510118450e26f73432cd8a"
      ],
      "author": {
        "name": "bkonyi",
        "email": "bkonyi@google.com",
        "time": "Fri Nov 06 17:32:24 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 17:32:24 2026 -0800"
      },
      "message": "[dds] Pass hosted DTD to DevTools and restore uriConverter\n\n- Start `_hostedDartToolingDaemon` before constructing `_httpHandler` in\n  `DartRuntimeServiceDdsBackend.initialize()` and pass `dtd` to\n  `defaultHandler` so `POST /devtools/api/getDtdUri` returns the hosted\n  DTD URI.\n- Restore the optional `{UriConverter? uriConverter}` named parameter on\n  `runDartDevelopmentServiceFromCLI`, using it as a fallback when\n  `google3WorkspaceRoot` is null.\n\nTest: pkg/dart_runtime_service_dds/test/\nBug: https://github.com/dart-lang/sdk/issues/64762\nBug: https://github.com/dart-lang/sdk/issues/64763\nChange-Id: I05b724b9618a1b87aa0dfb8a8ad590ef9fe3f2cc\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/570720\nReviewed-by: Nicholas Shahan \u003cnshahan@google.com\u003e\nCommit-Queue: Ben Konyi \u003cbkonyi@google.com\u003e\n"
    },
    {
      "commit": "25f87b2810f375d777510118450e26f73432cd8a",
      "tree": "1b61fb39bc4d3fce7be4c7d8545471714198f147",
      "parents": [
        "ad5e535ad9d92c784f96a44014f5274348bdfbf9"
      ],
      "author": {
        "name": "bkonyi",
        "email": "bkonyi@google.com",
        "time": "Fri Nov 06 17:24:25 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 17:24:25 2026 -0800"
      },
      "message": "[dds] Fix SSE listener setup and CLI SSE handler path\n\nFix two SSE issues in `package:dart_runtime_service` and\n`package:dart_runtime_service_dds`:\n\n- `runDartDevelopmentServiceFromCLI` did not set\n  `DartRuntimeServiceOptions.sseHandlerPath` (`$debugHandler`),\n  leaving the SSE handler unmounted so requests to `/$debugHandler`\n  fell through to the VM proxy handler and failed to establish SSE\n  connections.\n- `sseClientHandler` called `handler.connections.rest.listen` inside\n  the per-request closure rather than once when creating the handler,\n  causing subsequent HTTP requests to the SSE endpoint to fail with\n  `Bad state: Already cancelled` (`500` response).\n\nTest: pkg/dart_runtime_service/test/sse_client_test.dart\nTest: pkg/dart_runtime_service_dds/test/dds_cli_entrypoint_test.dart\nChange-Id: I5495805e16a32a51c016d4eb6759c0c7447f61fc\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575101\nReviewed-by: Nicholas Shahan \u003cnshahan@google.com\u003e\nCommit-Queue: Ben Konyi \u003cbkonyi@google.com\u003e\n"
    },
    {
      "commit": "ad5e535ad9d92c784f96a44014f5274348bdfbf9",
      "tree": "42b8b46fcb641c1b3f2bfcb5b086003adb1a96ba",
      "parents": [
        "2eccd9b813006d3cf4bd6bc550af21b95b14879c"
      ],
      "author": {
        "name": "bkonyi",
        "email": "bkonyi@google.com",
        "time": "Fri Nov 06 17:24:17 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 17:24:17 2026 -0800"
      },
      "message": "[dds] Fix DevTools redirects and allow iframe embedding\n\nFix two DevTools hosting issues in `package:dart_runtime_service` and\n`package:dart_runtime_service_dds`:\n\n- Navigating to `/devtools` redirected without appending the\n  `uri\u003d\u003cddsWsUri\u003e` query parameter and redirected to\n  `devtoolsServerAddress` even when `serveDevTools` was false. Also\n  remove the unused `setExternalDevToolsUri` method from\n  `DartRuntimeServiceDdsBackend` so `serveDevTools` and\n  `devtoolsServerAddress` are the single source of truth for DevTools\n  serving and redirection.\n- `DartRuntimeServiceIoBackend.startServer` left `HttpServer`\u0027s default\n  `x-frame-options: SAMEORIGIN` response header intact on `dart:io`\n  servers, preventing DevTools served by DDS from being embedded in an\n  `\u003ciframe\u003e`.\n\nTest: pkg/dart_runtime_service_dds/test/dds_backend_test.dart\nChange-Id: I3d9d3eb0cb40c56ee0f638b820b13bc53aa88716\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/568102\nReviewed-by: Jessy Yameogo \u003cyjessy@google.com\u003e\nCommit-Queue: Ben Konyi \u003cbkonyi@google.com\u003e\nReviewed-by: Nicholas Shahan \u003cnshahan@google.com\u003e\n"
    },
    {
      "commit": "2eccd9b813006d3cf4bd6bc550af21b95b14879c",
      "tree": "2fa37df19e33f1ef60fce7ce9fb5fdbb3cc0ab6d",
      "parents": [
        "61a45c9e6626debb6a5e9311c343cca75360a5d9"
      ],
      "author": {
        "name": "Nate Biggs",
        "email": "natebiggs@google.com",
        "time": "Fri Nov 06 17:02:47 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 17:02:47 2026 -0800"
      },
      "message": "Add CHANGELOG entry for https://dart-review.googlesource.com/c/sdk/+/563966\n\nAlso add comments to new members.\n\nChange-Id: Idf5669b0edc393a3448f29dd889b1269b8c2e440\nBug: https://github.com/dart-lang/sdk/issues/64558\nCoreLibraryReviewExempt: Small documentation update.\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/567222\nReviewed-by: Srujan Gaddam \u003csrujzs@google.com\u003e\nCommit-Queue: Nate Biggs \u003cnatebiggs@google.com\u003e\n"
    },
    {
      "commit": "61a45c9e6626debb6a5e9311c343cca75360a5d9",
      "tree": "394cd9ef5afb60e4f54ab858f8900b7ffae34631",
      "parents": [
        "b5493447902f5df91a1c141142ce5b828a5aec14"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Fri Nov 06 16:50:06 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 16:50:06 2026 -0800"
      },
      "message": "Elements. Use views of declarations for combined member signatures.\n\nWhen none of the most specific members that a class inherits with the same\nname had the combined member signature, the interface of the class had a\nmember synthesized in the class. This happened when they had different types\nthat are subtypes of each other, such as `Future\u003cvoid\u003e` and `Future\u003cdynamic\u003e`,\nand since be8b9a9d075 also when another inherited member had a covariant\nformal parameter. The synthesized member had no metadata, documentation, or\nlocation, so uses through the class lost the declaration:\n\n  abstract class A {\n    Future\u003cdynamic\u003e foo();\n  }\n\n  class B {\n    @deprecated\n    Future\u003cvoid\u003e foo() async {}\n  }\n\n  class C extends B implements A {}\n\n  void f(C c) {\n    c.foo(); // deprecated_member_use was not reported\n  }\n\nSimilarly, a private `B._foo` used only like this was reported as unused, and\nsearch did not find such uses as references to `B.foo`.\n\nNow the interface has a view of the first most specific member,\n`CombinedExecutableElementImpl`, similar to substituted members. The CFE also\nuses the first most specific member as the origin of a member signature. The\ntype and formal parameters of the view are from the combined member signature,\nand everything else, including `baseElement` and `enclosingElement`, is from\nthe declaration. The view also knows the class whose interface has it, which\nidentifies it in summaries and fine-grained dependencies instead of the\ndeclaration. Fields and setters that override a combined setter take the\ncovariance from it, not from its declaration.\n\nUses through the class are now uses of this member, `B.foo` in the example\nabove. Other inherited members, such as `A.foo`, still get no uses, as before,\nso search does not find them, and a private `A._foo` is still reported as\nunused.\n\nThe getter and the setter of a property are combined separately, and can have\ndifferent types, so each view of a getter or setter has its own view of the\nfield of the declaration, with its own type.\n\nViews and substituted elements now share new `Delegating*` base classes, which\ndelegate everything that does not depend on types to the declaration. So the\nviews of fields and formal parameters are not substituted elements themselves,\nand `SubstitutedElementImpl` is now an interface of only substituted elements.\n\nAnnotations of a field are on the field, not on its implicit getter and\nsetter. Views are `isOriginInterface`, as synthesized members were, so\n`deprecated_member_use` and `unused_result` now check\n`baseElement.isOriginVariable` to look at the field through views of implicit\ngetters and setters.\n\nSynthesized members, their unregistered references, and the cache of them are\nremoved. Diagnostics now name the declaration, for example `A.foo` instead of\n`C.foo`.\n\nBug: https://github.com/dart-lang/sdk/issues/64777\nChange-Id: Idd6ab18ab1c465a2338930980a7705c5a41635e2\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/571204\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Paul Berry \u003cpaulberry@google.com\u003e\n"
    },
    {
      "commit": "b5493447902f5df91a1c141142ce5b828a5aec14",
      "tree": "ebc59b381d5ee92fdba841cb40ed7ed29edeaa63",
      "parents": [
        "b42066af40868d53f2e7211dc4d1c9addc7ed55d"
      ],
      "author": {
        "name": "Brian Wilkerson",
        "email": "brianwilkerson@google.com",
        "time": "Fri Nov 06 14:14:47 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 14:14:47 2026 -0800"
      },
      "message": "Stop writing a uuid to the instrumentation log\n\nThe origins and purpose of the uuid are unknown, but at this point it is\nbeing created only for the purpose of being written to the\ninstrumentation log.\n\nThe only value it could possibly be serving is to make it possible to\nidentify when two instrumentation logs were generated on the same\nmachine, but that isn\u0027t interesting information.\n\nChange-Id: I7a0c95bb99a658da5ac3a4f3c9cc74c1e83b2aea\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575140\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\n"
    },
    {
      "commit": "b42066af40868d53f2e7211dc4d1c9addc7ed55d",
      "tree": "d3a3dab1e45225129ca0d83135ba700f79b3962f",
      "parents": [
        "c06cef1e2af0c4b261e8c46056cd1cb19386b773"
      ],
      "author": {
        "name": "Keerti Parthasarathy",
        "email": "keertip@google.com",
        "time": "Fri Nov 06 12:43:16 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 12:43:16 2026 -0800"
      },
      "message": "[analytics]Test root_tool and leaf_tool on dartdev analytics\n\ndartdev events now report leaf_tool (and the deprecated tool) as\ndart-tool, and root_tool as the inherited DASH__TOOL when it\u0027s set, with\nno dartdev code change.\n\nFixes https://github.com/dart-lang/sdk/issues/64691\nFixes https://github.com/dart-lang/sdk/issues/64576\n\nChange-Id: I5ece2ccdd486adbcccf7439511583f273a6ff5e8\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574720\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\nCommit-Queue: Keerti Parthasarathy \u003ckeertip@google.com\u003e\n"
    },
    {
      "commit": "c06cef1e2af0c4b261e8c46056cd1cb19386b773",
      "tree": "ad1feedbc3b25c3da23f3195d59b96c098dafa0d",
      "parents": [
        "42a8eccafb1965c6771b8f1ca1d3ca85d443f761"
      ],
      "author": {
        "name": "Alexander Markov",
        "email": "alexmarkov@google.com",
        "time": "Fri Nov 06 10:06:03 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 10:06:03 2026 -0800"
      },
      "message": "[tfa] Avoid reusing a state of variables between different exits from try/finally block\n\nTEST\u003dpkg/vm/testcases/transformations/type_flow/transformer/regress_b581840537.dart\nFixes b/581840537\n\nChange-Id: I8559e603204618b47ace8a3e95e039869332cb1f\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/575000\nAuto-Submit: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Martin Kustermann \u003ckustermann@google.com\u003e\n"
    },
    {
      "commit": "42a8eccafb1965c6771b8f1ca1d3ca85d443f761",
      "tree": "4a64ed132bf5c563fd218b1a35dbff3d88968f0f",
      "parents": [
        "f0077092b7772e0018794ece28e159e345d4450f"
      ],
      "author": {
        "name": "csy20",
        "email": "csy24022004@gmail.com",
        "time": "Fri Nov 06 09:22:41 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 09:22:41 2026 -0800"
      },
      "message": "[analysis_server] Add a fix for use_is_even_rather_than_modulo\n\nReplace `x % 2 \u003d\u003d 0` with `x.isEven` and `x % 2 \u003d\u003d 1` with `x.isOdd`.\nParenthesize a receiver that would not parse as the getter target.\n\nCloses https://github.com/dart-lang/sdk/issues/64724\n\nR\u003dbwilkerson@google.com, srawlins@google.com\n\nChange-Id: Ie5a11f7ca15f5533db85eb202bc3f52d7de81e8a\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/569580\nCommit-Queue: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\n"
    },
    {
      "commit": "f0077092b7772e0018794ece28e159e345d4450f",
      "tree": "a37dfd9883f0094254475383a494c131d99ede82",
      "parents": [
        "d23d8bef2567c3fe74fb4b41b931b629221992b4"
      ],
      "author": {
        "name": "bkonyi",
        "email": "bkonyi@google.com",
        "time": "Fri Nov 06 09:20:08 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 09:20:08 2026 -0800"
      },
      "message": "[security] Check Sec-Fetch-Site on DevTools api/*\n\nBrowsers omit the `Origin` header on cross-origin no-CORS `GET`\nsubresource loads (such as `\u003cimg\u003e`, `\u003cscript\u003e`, and\n`fetch(mode: \u0027no-cors\u0027)`), allowing cross-origin browser requests to\nbypass the `origin !\u003d null \u0026\u0026 !isAllowedOrigin(origin)` check on\nDevTools server `api/*` endpoints.\n\nWhen `Origin` is omitted on a DevTools `api/*` request, fall back to\nchecking the `Sec-Fetch-Site` header in both `pkg/dds` and\n`pkg/dart_runtime_service`:\n- Allow `\u0027same-origin\u0027` (requests from the served DevTools frontend\n  itself) and `\u0027none\u0027` (direct user navigation).\n- Allow requests where both `Origin` and `Sec-Fetch-Site` are absent\n  so non-browser HTTP clients continue to work.\n- Reject any other `Sec-Fetch-Site` value (such as `\u0027cross-site\u0027` or\n  `\u0027same-site\u0027`) with `403 Forbidden`.\n\nScope this check to the DevTools `api/*` handlers rather than\nserver-wide middleware so cross-site `\u003ciframe\u003e` document navigations\nto `/devtools/` continue to work. Note that browsers only attach\n`Sec-Fetch-*` headers to potentially trustworthy origins (loopback or\nHTTPS), so plain-HTTP non-loopback binds (e.g. `--host \u003cLAN IP\u003e`) do\nnot receive `Sec-Fetch-Site` on no-CORS `GET` requests.\n\nTEST\u003dpkg/dds/test/devtools_server/security_test.dart\nTEST\u003dpkg/dds/test/security_test.dart\nTEST\u003dpkg/dart_runtime_service/test/security_test.dart\nTEST\u003dpkg/dart_runtime_service_dds/test/dds_backend_test.dart\n\nChange-Id: I71b7df83c64c79828328df4da9496299340d5f6e\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574040\nReviewed-by: Nicholas Shahan \u003cnshahan@google.com\u003e\nCommit-Queue: Ben Konyi \u003cbkonyi@google.com\u003e\nReviewed-by: Jessy Yameogo \u003cyjessy@google.com\u003e\n"
    },
    {
      "commit": "d23d8bef2567c3fe74fb4b41b931b629221992b4",
      "tree": "4e439d9ff168a04695a66c6ee84a4947f8670500",
      "parents": [
        "9f8a33f3b4dc3adb80c444b5cf9d8c2dc138f977"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Fri Nov 06 08:43:50 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 08:43:50 2026 -0800"
      },
      "message": "DAS plugins: Stop sending plugin crashes to our crash-reporting service\n\nWe just remove the `logPluginException` override in\n`CrashReportingInstrumentation`.\n\nChange-Id: I669a8a19998dac473b0d5be8b46b4eb6123ce7d4\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574701\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\n"
    },
    {
      "commit": "9f8a33f3b4dc3adb80c444b5cf9d8c2dc138f977",
      "tree": "c1f1fb7b0afe4bbd8673d9cc2b4c2e731c63ea57",
      "parents": [
        "87273c1a8aef460ca683bad1b74a0c1e86bcc016"
      ],
      "author": {
        "name": "dart-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "dart-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Fri Nov 06 07:18:27 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 07:18:27 2026 -0800"
      },
      "message": "Roll Fuchsia SDK from 34.20261102.4.1 to 34.20261103.7.1\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/fuchsia-sdk-dart-sdk\nPlease CC fuchsia-3p-engprod@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Fuchsia SDK: https://bugs.fuchsia.dev/p/fuchsia/issues/list\nTo file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues\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\n\nCq-Include-Trybots: luci.dart.try:vm-fuchsia-release-x64-try;luci.dart.try:vm-fuchsia-release-arm64-try\nChange-Id: I7d341b44ae32f69b8ae0930756601d17dab7baf4\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/573760\nCommit-Queue: Alexander Aprelev \u003caam@google.com\u003e\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nReviewed-by: Alexander Aprelev \u003caam@google.com\u003e\n"
    },
    {
      "commit": "87273c1a8aef460ca683bad1b74a0c1e86bcc016",
      "tree": "d604fb86be7b493d8911a5accd516575e9bbf4d8",
      "parents": [
        "08bf9d0e710d44f8d0e66aea02a9e60f80e1ebf8"
      ],
      "author": {
        "name": "dart-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "dart-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Fri Nov 06 07:16:28 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 07:16:28 2026 -0800"
      },
      "message": "Roll BoringSSL from 95f9e9f22f23 to fd0ed4d0a127 (12 revisions)\n\nhttps://boringssl.googlesource.com/boringssl.git/+log/95f9e9f22f23..fd0ed4d0a127\n\n2026-11-03 davidben@google.com Take another pass at pointer/slice discussion in API-CONVENTIONS\n2026-11-03 chlily@google.com pki: Add trusted subtrees to CertificateTrust\n2026-11-03 davidben@google.com runner: Fix test DTLS 1.3 HelloRetryRequest messages on resume\n2026-11-03 ambrosin@google.com crypto/x509: Improve CRL distribution point name matching.\n2026-11-02 davidben@google.com Update some TODOs now that some BER allowances have been removed\n2026-11-02 davidben@google.com Update references a bit\n2026-11-02 chlily@google.com Add CBS_is_valid_asn1_set_of API\n2026-11-02 chlily@google.com CI/CQ: Add cross-project CQ builders to build Chromium\n2026-11-02 ambrosin@google.com crypto/x509: Disable SHA-1 by default in x.509 cert verification\n2026-11-01 davidben@google.com Don\u0027t allow non-DER UTCTime in the table-based parser\n2026-10-30 beck@obtuse.com Add important detail to return value documentation for BN_bn2[hex|dec]\n2026-10-30 davidben@google.com Run cargo update\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/boringssl-dart-sdk\nPlease CC dart-engprod@google.com,dart-vm-gardener@rotations.google.com,dart-vm-team@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in BoringSSL: https://crbug.com/boringssl/new\nTo file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues\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\n\nChange-Id: I1a98309fe5f5aeae84c7a9748df1e6cc7fe0b7a8\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/573740\nCommit-Queue: Alexander Aprelev \u003caam@google.com\u003e\nReviewed-by: Alexander Aprelev \u003caam@google.com\u003e\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\n"
    },
    {
      "commit": "08bf9d0e710d44f8d0e66aea02a9e60f80e1ebf8",
      "tree": "6bfe68d9190bd1f0650a0bcc73bbf0173d1b4b3e",
      "parents": [
        "d93a2e73e56635e4984cecfa56ded02f4a56b2f5"
      ],
      "author": {
        "name": "Tess Strickland",
        "email": "sstrickl@google.com",
        "time": "Fri Nov 06 05:29:19 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 05:29:19 2026 -0800"
      },
      "message": "[vm,dyn_modules] Skip rewind_optimized_out_test for bytecode.\n\nThe test checks that rewinding to a frame of optimized code is refused,\nbut interpreted frames are never optimized.\n\nTEST\u003dpkg/vm_service/test/rewind_optimized_out_test\n\nCq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try,vm-dyn-mac-debug-arm64-try\nChange-Id: I8f7e227b7ed93ba78599d24394bf7c3f39abb55f\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574463\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Tess Strickland \u003csstrickl@google.com\u003e\n"
    },
    {
      "commit": "d93a2e73e56635e4984cecfa56ded02f4a56b2f5",
      "tree": "bad2a6f5f1439d5e3e2cc8cb28c2f76389ae62f6",
      "parents": [
        "ed776d5d2f37a818c2319afba3c148f896e6d5c7"
      ],
      "author": {
        "name": "Daco Harkes",
        "email": "dacoharkes@google.com",
        "time": "Fri Nov 06 04:49:50 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 04:49:50 2026 -0800"
      },
      "message": "[deps] Roll dart-lang/native\n\nCq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-try\nChange-Id: I2f275d24dec466657fccaf8e41cc027ac9dc2a34\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574560\nReviewed-by: Liam Appelbe \u003cliama@google.com\u003e\nCommit-Queue: Daco Harkes \u003cdacoharkes@google.com\u003e\nReviewed-by: Michael Goderbauer \u003cgoderbauer@google.com\u003e\n"
    },
    {
      "commit": "ed776d5d2f37a818c2319afba3c148f896e6d5c7",
      "tree": "19cf7917afb38864ecc633756de5f69ac4b65903",
      "parents": [
        "6de549daca7d15f25a652c18f29e9c34947ed28e"
      ],
      "author": {
        "name": "Sigurd Meldgaard",
        "email": "sigurdm@google.com",
        "time": "Fri Nov 06 03:50:13 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 03:50:13 2026 -0800"
      },
      "message": "[dartdev] Resolve path packages in-place for `dart install`\n\nWhen installing or remotely running a package from a local path\n(`dart install \u003cpath\u003e` or `dart install \u0027\u003cpkg\u003e@{path: \u003cpath\u003e}\u0027`),\nresolve the target package in-place via `ensurePubspecResolved` rather\nthan generating a synthetic `dart_install_helper_package` in a temporary\ndirectory with a `path:` dependency on the target package.\n\nResolving the target package (or its enclosing pub workspace) as the\nroot ensures that:\n- `dependency_overrides` in the package\u0027s `pubspec.yaml` and\n  `pubspec_overrides.yaml` are respected (including relative paths).\n- Pub workspace member packages (`resolution: workspace`) resolve\n  against their workspace root `pubspec.yaml`, picking up sibling\n  workspace dependencies, workspace-level `dependency_overrides`, and\n  workspace `hooks: user_defines:`.\n- Existing `pubspec.lock` and `.dart_tool/hooks_runner/` caches in the\n  package or workspace are reused.\n\nFor `dart install` from a local path, write a redirecting `pubspec.lock`\ninto `app-bundles/\u003cpkg\u003e/local/pubspec.lock` containing a single\n`direct main` path entry for the installed package (matching\n`pub global activate --source path`). `InstalledCommand` identifies an\ninstalled bundle\u0027s package by looking up the single `direct main` entry\nin `app-bundles/\u003cpkg\u003e/.../pubspec.lock` (as previously produced by\n`dart_install_helper_package`). Copying the target package\u0027s or\nworkspace\u0027s own `pubspec.lock` into `local/pubspec.lock` would omit the\nroot package itself, mark its own direct dependencies as `direct main`\n(breaking `dart installed` across SDK versions), include workspace-wide\nand dev dependencies, and leave relative `path:` descriptions pointing\nrelative to the wrong directory.\n\nRemove the `copyNativePackages` test workaround introduced in\nhttps://dart-review.googlesource.com/c/sdk/+/563524 now that path\ninstalls honor `dependency_overrides`.\n\nFixes https://github.com/dart-lang/sdk/issues/64592\n\nCq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-try\nChange-Id: I1dffac15b077ed245993e66b7ae9d0e10e100e61\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/566381\nReviewed-by: Daco Harkes \u003cdacoharkes@google.com\u003e\nReviewed-by: Nate Bosch \u003cnbosch@google.com\u003e\nCommit-Queue: Sigurd Meldgaard \u003csigurdm@google.com\u003e\n"
    },
    {
      "commit": "6de549daca7d15f25a652c18f29e9c34947ed28e",
      "tree": "86917b534eba36fa0b3335fd4e7aff2f930a91e0",
      "parents": [
        "58c72dad1deefcbb827c683accfaa7b30e4b6c63"
      ],
      "author": {
        "name": "Tess Strickland",
        "email": "sstrickl@google.com",
        "time": "Fri Nov 06 02:54:58 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 02:54:58 2026 -0800"
      },
      "message": "[vm,dyn_modules] Skip interpreted suspend states when reloading.\n\nReloading with a suspended interpreted async function crashed, since\nInvalidateSuspendStates expected the suspended frame to be compiled\ncode. Interpreted functions have no compiled code to reset, and their\nbytecode is already rebound when functions are invalidated, so skip\nsuspend states which resume in the interpreter, as is already done for\nactive interpreted frames.\n\nTEST\u003dpkg/vm_service/test/reload_sources_rpc_triggers_isolate_reload_event_test\n\nCq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try,vm-dyn-mac-debug-arm64-try,vm-linux-debug-x64-try\nChange-Id: I87b7527b3a24da178a79f711720209dd25292ee6\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574501\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Tess Strickland \u003csstrickl@google.com\u003e\n"
    },
    {
      "commit": "58c72dad1deefcbb827c683accfaa7b30e4b6c63",
      "tree": "177afdcf037bcecdf52e27064f99ccc2255bc1d5",
      "parents": [
        "aa5c20b30fe578924211ceb8bdcfa3983a4ca949"
      ],
      "author": {
        "name": "Vasiliy Ditsyak",
        "email": "v.ditsyak@gmail.com",
        "time": "Fri Nov 06 02:47:19 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 02:47:19 2026 -0800"
      },
      "message": "[dart2wasm] Fix runtime subtyping of Function and Record\n\nThe subtype rules for `Function` and `Record` only accepted concrete\nfunction and record types on the left, so `Function` was not a subtype\nof `Function?`, nor `Record` of `Record?`.\n\nChange-Id: I76c1f2fe121e3906f39267e1154eebd6c4818abf\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574460\nReviewed-by: Martin Kustermann \u003ckustermann@google.com\u003e\nCommit-Queue: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Søren Pedersen \u003csorensp@google.com\u003e\n"
    },
    {
      "commit": "aa5c20b30fe578924211ceb8bdcfa3983a4ca949",
      "tree": "a7ff37986bfa5efb4e5169414c8197c1183f9ac7",
      "parents": [
        "5d79b45ad6ae30ef9ab8324e3f287308400bc5f3"
      ],
      "author": {
        "name": "Chloe Stefantsova",
        "email": "cstefantsova@google.com",
        "time": "Fri Nov 06 02:18:35 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 02:18:35 2026 -0800"
      },
      "message": "[analyzer] Implement static extension methods\n\nThis CL adds support for static extension methods in the Analyzer.\n\nPart of https://github.com/dart-lang/sdk/issues/61487\n\nChange-Id: I4e886a7a904884cb2648de54081b396b00f86e3a\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/571240\nReviewed-by: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nCommit-Queue: Chloe Stefantsova \u003ccstefantsova@google.com\u003e\n"
    },
    {
      "commit": "5d79b45ad6ae30ef9ab8324e3f287308400bc5f3",
      "tree": "8827584f6af0cfbf64a8b9fcd9ebad798be212ed",
      "parents": [
        "271c6dbc3cc2d33543003391de5e085b673deb27"
      ],
      "author": {
        "name": "Sergey G. Grekhov",
        "email": "sgrekhov22@gmail.com",
        "time": "Fri Nov 06 01:46:31 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 01:46:31 2026 -0800"
      },
      "message": "[co19] Roll co19 to d2891c86255367aafe7c8ac460055235d2445b7a\n\n2026-11-05 sgrekhov22@gmail.com dart-lang/co19#3330. Add tests for constructors and static members names (dart-lang/co19#4295)\n2026-11-03 sgrekhov22@gmail.com dart-lang/co19#3330. Remove duplicated tests, fix descriptions (dart-lang/co19#4296)\n2026-11-02 sgrekhov22@gmail.com dart-lang/co19#3330. Add tests for inference of type parameters of extension (dart-lang/co19#4294)\n2026-11-02 sgrekhov22@gmail.com dart-lang/co19#3330. Add tests for type parameters (dart-lang/co19#4293)\n2026-11-01 49699333+dependabot[bot]@users.noreply.github.com Bump actions/setup-java from 6.0.1 to 6.1.0 in the github-actions group (dart-lang/co19#4292)\n\nCq-Include-Trybots: luci.dart.try:analyzer-linux-release-try,dart2js-minified-linux-d8-try\nChange-Id: Id9be70bd64cb00a97f2dbf85ad20f9701989eabe\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574880\nReviewed-by: Sinan Oz \u003csinanoz@google.com\u003e\nAuto-Submit: Sergey Grekhov \u003csgrekhov22@gmail.com\u003e\nCommit-Queue: Sinan Oz \u003csinanoz@google.com\u003e\nReviewed-by: Erik Ernst \u003ceernst@google.com\u003e\n"
    },
    {
      "commit": "271c6dbc3cc2d33543003391de5e085b673deb27",
      "tree": "1014c4759a534f4b8b95f4e80e80200b100a6255",
      "parents": [
        "e501349f3552d797c5b2da43b7e04f1b8a9238f2"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Thu Nov 05 20:01:26 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 20:01:26 2026 -0800"
      },
      "message": "analyzer: New warning for deprecated directive configurations\n\nFixes https://github.com/dart-lang/sdk/issues/61875\n\nChange-Id: I10c6bbff86debcc6bb30a1d734a7bea56ecfe59a\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/468040\nReviewed-by: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\n"
    },
    {
      "commit": "e501349f3552d797c5b2da43b7e04f1b8a9238f2",
      "tree": "399d84c7eae013e71e33f7440c3ce2af423336aa",
      "parents": [
        "e8152888ae873587f4a5217c508950bddb2d88b9"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Thu Nov 05 20:00:33 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 20:00:33 2026 -0800"
      },
      "message": "DevTools: enable the integration web tests on linux\n\nRecent fixes to how Chrome is launched on Linux finally allows us to\nrun these tests on Linux on LUCI.\n\nFixes https://github.com/flutter/devtools/issues/9995\n\nChange-Id: Id806cbeaebe4c8fba5fd7cb54592f8b6c06ee0e3\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/571260\nReviewed-by: Brian Quinlan \u003cbquinlan@google.com\u003e\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\n"
    },
    {
      "commit": "e8152888ae873587f4a5217c508950bddb2d88b9",
      "tree": "d9b4ab70e7ead225f5e1495cdd539b5e855743f6",
      "parents": [
        "61340f21492eea073576b9cb4f5ea6f381d8973c"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Thu Nov 05 16:48:27 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 16:48:27 2026 -0800"
      },
      "message": "[dart2wasm] Fail dry-run on CFE compile-time errors\n\n`dart2wasm --dry-run` previously ignored CFE diagnostics and exited 0\nwhen a program had compile-time errors but no Wasm-specific findings.\nReport buffered CFE errors and exit with code 254 when no Wasm\nincompatibilities are found.\n\nIssue https://github.com/dart-lang/sdk/issues/64796\n\nChange-Id: Ia9e10fd0f6b610e401931d08d8c9aabb039f1514\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574121\nReviewed-by: Søren Pedersen \u003csorensp@google.com\u003e\nCommit-Queue: Kevin Moore \u003ckevmoo@google.com\u003e\n"
    },
    {
      "commit": "61340f21492eea073576b9cb4f5ea6f381d8973c",
      "tree": "04b8fec4f64a178421d5922364a488e43eb16deb",
      "parents": [
        "5fa913f251a681196793175cb654da12974ad9a5"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Thu Nov 05 15:01:11 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 15:01:11 2026 -0800"
      },
      "message": "[analysis_server] Fix replacedBy for instance and extension members\n\nInstance and extension member moves with `replaceTarget: false` offered\nno fix on same-kind `@Deprecated` members, overwrote receiver\nexpressions once the old member was removed, and missed applicable\nin-scope extensions on `inExtension` rules.\n\nFixes https://github.com/dart-lang/sdk/issues/56078\nFixes https://github.com/dart-lang/sdk/issues/64784\n\nChange-Id: Ibfa4061f79235cb3301b74cb4ac72b826b3df22f\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/571203\nAuto-Submit: Kevin Moore \u003ckevmoo@google.com\u003e\nCommit-Queue: Kevin Moore \u003ckevmoo@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n"
    },
    {
      "commit": "5fa913f251a681196793175cb654da12974ad9a5",
      "tree": "06513cf9ca089a3b53d2b192be6191ac8bbc082e",
      "parents": [
        "820e2b391934edfa55ec17a501e92c7dc2e17f58"
      ],
      "author": {
        "name": "Vasiliy Ditsyak",
        "email": "v.ditsyak@gmail.com",
        "time": "Thu Nov 05 14:30:37 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 14:30:37 2026 -0800"
      },
      "message": "[dart2wasm] Cache JS array iterator current\n\n`JSArrayImplIterator.current` reread the array, so replacing the selected\nelement changed `current` without another `moveNext` call. The element is\nnow read in `moveNext`, so a null element of a non-nullable list throws\nthere, as on the JS backends.\n\nFixes: https://github.com/dart-lang/sdk/issues/64749\nChange-Id: I598f8e9d6d0ee50eed368a400d5f0bcb36cc9adb\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/570184\nReviewed-by: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Srujan Gaddam \u003csrujzs@google.com\u003e\nCommit-Queue: Kevin Moore \u003ckevmoo@google.com\u003e\n"
    },
    {
      "commit": "820e2b391934edfa55ec17a501e92c7dc2e17f58",
      "tree": "2dd83071b3699bd52263638aad334d991ba52ef5",
      "parents": [
        "23893e2b3664cdaf343d676d7995cffd8cc3f894"
      ],
      "author": {
        "name": "Komoszek",
        "email": "komoszek10@gmail.com",
        "time": "Thu Nov 05 14:27:41 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 14:27:41 2026 -0800"
      },
      "message": "[analyzer] Fix references and navigation for operators in relational patterns\n\nR\u003dpquitslund@google.com, scheglov@google.com\n\nFixes: #64630\nChange-Id: Iaae401e101a03a6287326ef89938de833641f305\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/567884\nReviewed-by: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nAuto-Submit: Łukasz Komoszyński \u003ckomoszek10@gmail.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nReviewed-by: Phil Quitslund \u003cpquitslund@google.com\u003e\n"
    },
    {
      "commit": "23893e2b3664cdaf343d676d7995cffd8cc3f894",
      "tree": "bd3343f0f60fd23a87f43aadabd373429055bf6c",
      "parents": [
        "04c8e56dac0f1d76fcdeca24bcdff81c92067f75"
      ],
      "author": {
        "name": "Keerti Parthasarathy",
        "email": "keertip@google.com",
        "time": "Thu Nov 05 14:14:26 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 14:14:26 2026 -0800"
      },
      "message": "[analytics]Report analysis server as leaf tool\n\n- Pass DashTool.analysisServer as the analytics tool.\n- unified_analytics now works out the root tool (the IDE) from\n  DASH__TOOL, so the server no longer reads that variable itself.\n- The existing --client-id mapping (VS-Code -\u003e vscode-plugins, etc.) is\n  passed as fallbackRootTool, so IDE plugins that don\u0027t set DASH__TOOL\n  still report data (no new ones).\n\nCloses https://github.com/dart-lang/sdk/issues/64690\n\nChange-Id: I1c12405fa20d738064423c583d96661af9095609\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574700\nCommit-Queue: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n"
    },
    {
      "commit": "04c8e56dac0f1d76fcdeca24bcdff81c92067f75",
      "tree": "e9ab7f453e5102aa0c9d562b9c4476f39662b00b",
      "parents": [
        "cd5f4ef8bfc6ccf8b57c4b46b48ed0d1a5ea6522"
      ],
      "author": {
        "name": "keertip",
        "email": "keertip@google.com",
        "time": "Thu Nov 05 12:43:18 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 12:43:18 2026 -0800"
      },
      "message": "Fix for duplicate imports suggestion in Cider computer\n\nChange-Id: Idad9f7cf8b1ee418aa70f7e1de75f71dbe30d348\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574660\nCommit-Queue: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\n"
    },
    {
      "commit": "cd5f4ef8bfc6ccf8b57c4b46b48ed0d1a5ea6522",
      "tree": "63e772bcce99aebb293c2234c9c65204ed7e9f03",
      "parents": [
        "6eb9f00aa4c92d7c3738fc5e1bbbfa567b86b895"
      ],
      "author": {
        "name": "Vasiliy Ditsyak",
        "email": "v.ditsyak@gmail.com",
        "time": "Thu Nov 05 11:21:53 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 11:21:53 2026 -0800"
      },
      "message": "[dart2wasm] Validate JS array fill values eagerly\n\n`JSArrayImpl.fillRange` cast the fill value inside the loop, so null\nwas accepted for a non-nullable list when the range was empty.\n\nChange-Id: I1903bd24aa0f854a108e39fde1f24c2d0abfed75\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574180\nCommit-Queue: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Søren Pedersen \u003csorensp@google.com\u003e\n"
    },
    {
      "commit": "6eb9f00aa4c92d7c3738fc5e1bbbfa567b86b895",
      "tree": "c887f4cbb4e3b2edc1dafcf6bf006c762ca449c9",
      "parents": [
        "221e29945a34e1d1b73e93dc3ee85bfd516a73ab"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Thu Nov 05 09:36:15 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 09:36:15 2026 -0800"
      },
      "message": "Elements. Read library metadata offsets from the library directive.\n\n`ElementBuilder.buildLibraryMetadata` prefers the first\n`LibraryDirective`, but `_InfoBuilder` always took the constant offsets\nof library metadata from the first directive. So, when a `library`\ndirective was not the first directive, annotations of a library loaded\nfrom summary bytes had placeholder offsets, or the offsets of an\nannotation of the first directive.\n\nUse the same directive in `_InfoBuilder`. When the first directive is\n`part of`, the library metadata is empty, so its offsets are not used.\n\nChange-Id: I7ec2a12e507bbf9abf94902f474499819dc2a91f\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574300\nReviewed-by: Paul Berry \u003cpaulberry@google.com\u003e\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n"
    },
    {
      "commit": "221e29945a34e1d1b73e93dc3ee85bfd516a73ab",
      "tree": "1ab31245331d8572a7920be16cc36712eb8d860d",
      "parents": [
        "3fd38dca37233b83db3d820a33f68a45f5ce022c"
      ],
      "author": {
        "name": "keertip",
        "email": "keertip@google.com",
        "time": "Thu Nov 05 09:28:48 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 09:28:48 2026 -0800"
      },
      "message": "[analytics]Set the exitCode while reporting analytics for dart cli\n\nFixes https://github.com/dart-lang/sdk/issues/64856\n\nChange-Id: I32b891a10d3885434a3efeebdc4fb9f5d39fb846\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574201\nCommit-Queue: Keerti Parthasarathy \u003ckeertip@google.com\u003e\nReviewed-by: Samuel Rawlins \u003csrawlins@google.com\u003e\n"
    },
    {
      "commit": "3fd38dca37233b83db3d820a33f68a45f5ce022c",
      "tree": "477708fdb45a7e32ac066d608ce14a8ad718471b",
      "parents": [
        "109ac0b14e6c45c6b6847a5601db4887bfd1f530"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Thu Nov 05 09:25:05 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 09:25:05 2026 -0800"
      },
      "message": "[analysis_server] Preserve import prefixes in replacedBy\n\nCross-library `replacedBy` moves with `replaceTarget: false` added an\nunprefixed import and stripped import prefixes, causing name\ncollisions on both prefixed references and moved extension members\nwhen splitting prefixed umbrella packages.\n\nFixes https://github.com/dart-lang/sdk/issues/64783\n\nChange-Id: Ie90b329f5439e9c284cd09c29993e2042104aa07\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/571281\nCommit-Queue: Kevin Moore \u003ckevmoo@google.com\u003e\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\n"
    },
    {
      "commit": "109ac0b14e6c45c6b6847a5601db4887bfd1f530",
      "tree": "04d29eec77f6de35ba2d444691c514c775ccbfc6",
      "parents": [
        "e6143986a16066dbd4a90cc7a082f27a772eadba"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Thu Nov 05 09:08:10 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 09:08:10 2026 -0800"
      },
      "message": "[analyzer] Support parts-with-imports in duplicateImport warning.\n\n* Adds a `duplicateImportInPart` diagnostic\n* Updates `ElementDirectiveImpl.areIdenticalExceptUri` to verify that\n  `prefix?.isDeferred` matches.\n* Adds context messages to all `duplicateImport` diagnostics, pointing\n  to the previous import keyword.\n* Adds `_addAncestorDuplicateImports` in ImportsVerifier to check\n  ancestor parts up to the library root:\n  * Non-generated part files check for duplicate imports in non-generated ancestor fragments.\n  - Skips synthetic imports such as implicit `dart:core`.\n  - Suppresses reporting a duplicate import if removing the import\n    would change resolution in the part file (`_wouldChangeResolution`).\n    We check all elements used by the part from the import via\n    `fileAnalysis.importsTracking.elementsOf(currentImport)` and verify\n    that resolving their names in the ancestor\u0027s scope (or ancestor\n    prefix scope) produces the exact same element.\n\nWork towards https://github.com/dart-lang/sdk/issues/64385\n\nChange-Id: I444549adab6fbe17a7367652e31242e3538c9032\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574083\nReviewed-by: Brian Wilkerson \u003cbrianwilkerson@google.com\u003e\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\nReviewed-by: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n"
    },
    {
      "commit": "e6143986a16066dbd4a90cc7a082f27a772eadba",
      "tree": "a383a80bd37cbd7f74004c8cec791c4cb9a30dca",
      "parents": [
        "d0c6cbc821396ae77f3fc0fd281cdb7d27c05bc6"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Thu Nov 05 08:59:26 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 08:59:26 2026 -0800"
      },
      "message": "Bump devtools to 84fb7cc7cba29c54f94164275eff81c717bdc7cf\n\nChange-Id: I2843f149376ef71a0e09089d71360a0993738f75\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574140\nReviewed-by: John Ryan \u003cryjohn@google.com\u003e\nCommit-Queue: Samuel Rawlins \u003csrawlins@google.com\u003e\n"
    },
    {
      "commit": "d0c6cbc821396ae77f3fc0fd281cdb7d27c05bc6",
      "tree": "b74b16f8aae11d7caaf9026a35cc558926c009fc",
      "parents": [
        "ea7f0523df162923438705fb67c94846a7f88498"
      ],
      "author": {
        "name": "linzuojian",
        "email": "zuojian.lzj@alibaba-inc.com",
        "time": "Thu Nov 05 05:10:32 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 05:10:32 2026 -0800"
      },
      "message": "[pkg/native_stack_traces] Bump version to 0.7.1 for publishing\n\n0.7.1 adds support for reading the debugging information of PE/COFF\nsnapshots from PDB files. Flutter needs it so that flutter symbolize can\ndecode the stack traces of Windows x64 apps built with\n--split-debug-info (https://github.com/flutter/flutter/pull/195940).\n\nTEST\u003dci\n\nPUBLISH\u003dnative_stack_traces-v0.7.1\nChange-Id: I1c971ec3cf490bb3f225ce48ba89e2a8c68a6777\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/573501\nCommit-Queue: Tess Strickland \u003csstrickl@google.com\u003e\nReviewed-by: Slava Egorov \u003cvegorov@google.com\u003e\nReviewed-by: Tess Strickland \u003csstrickl@google.com\u003e\n"
    },
    {
      "commit": "ea7f0523df162923438705fb67c94846a7f88498",
      "tree": "cfbfe68b0532e325230b5f0e0697d2b54e5ead09",
      "parents": [
        "f8daca141f63a63a3bfd828472e79338a98fc55d"
      ],
      "author": {
        "name": "Tess Strickland",
        "email": "sstrickl@google.com",
        "time": "Thu Nov 05 01:09:13 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 01:09:13 2026 -0800"
      },
      "message": "[vm,dyn_modules] Include class member scripts in Library::LoadedScripts.\n\nLibrary::LoadedScripts only included the scripts of library members and\nthe scripts recorded as used by the kernel loader, so it missed the\nscripts of class members whose script differs from that of their class,\nsuch as members mixed in from another script, for libraries loaded from\nbytecode.\n\nThat meant Script::FindLibrary missed these scripts, source reports\nfiltered by script skipped the libraries containing such members, and\nthen source reports with library filters crashed on scripts without a\nlibrary. To fix this, Library::LoadedScripts now traverses the members\nof the class and also adds any scripts for members that differ from\nthe class\u0027s script.\n\nTEST\u003dpkg/vm_service/test/get_source_report_with_mixin_test\n     pkg/vm_service/test/source_report_package_filters_test\n\nCq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try,vm-dyn-mac-debug-arm64-try,vm-linux-debug-x64-try,vm-aot-linux-release-x64-try\nChange-Id: I9428144af1b92279bdf0540225445c8a2d9e2e32\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/573980\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Tess Strickland \u003csstrickl@google.com\u003e\n"
    },
    {
      "commit": "f8daca141f63a63a3bfd828472e79338a98fc55d",
      "tree": "3e5f682b4bdede9c9e388b4679f247d00e3cf69c",
      "parents": [
        "3c6a5fe5abbcef230748bfad67b22b4ddc3123bc"
      ],
      "author": {
        "name": "Tess Strickland",
        "email": "sstrickl@google.com",
        "time": "Thu Nov 05 01:07:26 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 01:07:26 2026 -0800"
      },
      "message": "[vm,dyn_modules] Make suspendable closures debuggable.\n\nClosures were only marked as debuggable if they were not async, async*\nor sync* functions, so breakpoints could not be set in suspendable\nclosures. The JIT does not treat them differently.\n\nRemove the debuggable flag from closure declarations, bumping the\nbytecode format version to 4, so that all closures are debuggable.\n\nTEST\u003dpkg/vm_service/test/regress_28443_test\n\nCq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try,vm-dyn-mac-debug-arm64-try\nChange-Id: I6db44fefe6fead334b8e2f19b1e0a0cd1b11f0e1\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/573262\nCommit-Queue: Tess Strickland \u003csstrickl@google.com\u003e\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\n"
    },
    {
      "commit": "3c6a5fe5abbcef230748bfad67b22b4ddc3123bc",
      "tree": "46b486294a2c6aeda4fc6bbb4ad7ef9ade18e4f6",
      "parents": [
        "50abdcff9d1ca46ff01386cb3a33a8b4aac41af6"
      ],
      "author": {
        "name": "Seif Shaheen",
        "email": "seifshaheen11@gmail.com",
        "time": "Thu Nov 05 00:40:29 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 00:40:29 2026 -0800"
      },
      "message": "[cfe] Clarify diagnostics for casts to void\n\nReport a context-specific diagnostic when \u0027void\u0027 appears after \u0027as\u0027\nin a cast expression or cast pattern. Suggest removing the cast or\nusing a different type instead of suggesting \u0027var\u0027 or \u0027final\u0027.\n\nPreserve parser recovery and the existing analyzer diagnostic mapping.\nAdd regression coverage for invalid casts, valid void-returning\nfunction types, and invalid \u0027void\u0027 usage in other contexts.\n\nBug: https://github.com/dart-lang/sdk/issues/64705\nTest: dart test pkg/front_end/test/parser/type_info_test.dart\nTest: dart pkg/front_end/test/parser_suite.dart parser/error_recovery/as_void \u0027parser/patterns/*cast*\u0027\nChange-Id: I15fbc5e6ed0ba5e2d09339f5a9001aeed7428ad7\nFixed: 64705\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574003\nReviewed-by: Johnni Winther \u003cjohnniwinther@google.com\u003e\nReviewed-by: Jens Johansen \u003cjensj@google.com\u003e\nCommit-Queue: Johnni Winther \u003cjohnniwinther@google.com\u003e\n"
    },
    {
      "commit": "50abdcff9d1ca46ff01386cb3a33a8b4aac41af6",
      "tree": "191b8501cab011f40f7326bb4c58c3d04d70079a",
      "parents": [
        "04457405148450f737860db0b232e8380007ae67"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Wed Nov 04 20:37:08 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 20:37:08 2026 -0800"
      },
      "message": "FixCrash. Skip metadata type arguments the same way as parseMetadata().\n\n`skipMetadata()` assumed that every `\u003c` after the annotation name has an\n`endGroup`, but the scanner leaves it `null` if the `\u003c` is not closed,\nand for the inner `\u003c` closed by `\u003e\u003e` or `\u003e\u003e\u003e`. So the code below crashed\nwith a null check, also while typing.\n\n  class C\u003c@a\u003c {}\n  class C\u003c@a\u003cint\u003e\u003e {}\n  List\u003c@a\u003cint\u003e\u003e x;\n\nUse `computeTypeParamOrArg()`, as `parseMetadata()` does, so that the\ntwo agree, and `\u003e\u003e` is split correctly.\n\nLookahead must not modify the token stream, so `skip()` can return a `\u003e`\nsplit from `\u003e\u003e` that is not in the stream. This is fine for lookahead,\nbut `ComplexTypeParamOrArgInfo.parseArguments()` continues parsing from\nthe token that `skipMetadata()` returns, which left `NamedType.endToken`\nand others outside of the stream. Token walkers then never reached the\nend token, so resolution and `textualOutline()` did not terminate.\n\nSo `skipMetadata()` now takes an optional `Parser`, and parses the type\narguments with it, with the events ignored. It stays the only grammar\nfor annotations in both lookahead and this recovery.\n\nChange-Id: I7a872fb64138a95d080132d43cff809196df5c37\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/573723\nReviewed-by: Paul Berry \u003cpaulberry@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n"
    },
    {
      "commit": "04457405148450f737860db0b232e8380007ae67",
      "tree": "72474fe183598ed5d3f9f70025dbf838d254fc15",
      "parents": [
        "029cf6fa549b54d4d5e17ca821fc5e41e92d0bec"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Wed Nov 04 17:37:12 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 17:37:12 2026 -0800"
      },
      "message": "CQ. Simplify _writeWtf8Slow, make string table test cross the buffer end.\n\nThe fast path in `BinaryWriter.writeWtf8` handles empty strings, so the\n`end \u003d\u003d 0` guard in `_writeWtf8Slow` became unreachable. Use a `while`\nloop instead of the guard and `do/while`, so that `_writeWtf8Slow` does\nnot depend on what its caller filters out.\n\n`test_mixed_acrossBufferEnd` swept payload lengths 5000..5199. Lengths\n5120 and above all start the string table at the same buffer offset, and\nthe third string never crossed the end of the buffer. Sweep 4930..5119,\nso that each string crosses it, and no offset repeats.\n\nChange-Id: I532ac1b40e93b05e065b7f2e5fdbfa24ea11e734\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574082\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Paul Berry \u003cpaulberry@google.com\u003e\n"
    },
    {
      "commit": "029cf6fa549b54d4d5e17ca821fc5e41e92d0bec",
      "tree": "155e24d4aa4a5d9f7cd7306742ecd550ebcd70ba",
      "parents": [
        "cc100c02f8eae23a677a1c9fb765fc75ee07c417"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Wed Nov 04 17:27:44 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 17:27:44 2026 -0800"
      },
      "message": "Fix. Parse \u0027when\u0027 after a type in a pattern as the start of a guard.\n\nThe parser took `a` as a return type and `when` as the name of a\nfunction expression in a guarded pattern such as:\n\n    case a when () { return true; }():\n\nIt reported `namedFunctionExpression` and dropped the guard, so both\nthe analyzer and the CFE rejected valid code. This affected any\npattern ending with a type-like name before `when`, such as `p.a`,\n`a?`, `\u003d\u003d a`, and `0 || a`.\n\nNamed function expressions are only a recovery, so the parser no\nlonger tries one for `when` after a type. The only change for invalid\ncode is that `(int when() {})` reports `expectedToken`.\n\nBug: https://github.com/dart-lang/sdk/issues/64831\nChange-Id: Iea1fb45a1fbb026a7782fb9ab2c5f2a068bec6fb\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574100\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Paul Berry \u003cpaulberry@google.com\u003e\n"
    },
    {
      "commit": "cc100c02f8eae23a677a1c9fb765fc75ee07c417",
      "tree": "4ba56e015b26c0109d76df97c9a4f8b0ca3cff46",
      "parents": [
        "3fd4c1b85877e7288686015487d6be065daa988e"
      ],
      "author": {
        "name": "Nate Bosch",
        "email": "nbosch@google.com",
        "time": "Wed Nov 04 17:26:22 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 17:26:22 2026 -0800"
      },
      "message": "[deps] rev core, dartdoc, ecosystem, http, native, protobuf, tools, web\n\nRevisions updated by `dart tools/rev_sdk_deps.dart`.\n\ncore (https://github.com/dart-lang/core/compare/24e09c4..36f57a9):\n  36f57a99  Tue Nov 3 14:26:17 2026 +0100  Sigurd Meldgaard  [os_detect] Remove bin/os_detect.dart (dart-lang/core#1015)\n  86bacfca  Tue Nov 3 05:15:19 2026 -0500  Justin White  [characters] Fix RangeError on an unpaired tail surrogate at range start (dart-lang/core#1033)\n\ndartdoc (https://github.com/dart-lang/dartdoc/compare/db94437..2f6847b):\n  2f6847bd  Thu Oct 29 11:47:04 2026 +0200  Sergey G. Grekhov  Add tests for invalid doc comments placement (dart-lang/dartdoc#4301)\n  17f2f0a3  Thu Oct 29 10:16:36 2026 +0100  Sarah Zakarias  Compare base elements and unify properties in doc-reference-target-differs (dart-lang/dartdoc#4307)\n\ndartdoc is held back at 2f6847b, before dart-lang/dartdoc#4312, because its\nmock SDK version changes conflict in the google3 3-way merge with the hotfix\nin cl/1005963642.\n\necosystem (https://github.com/dart-lang/ecosystem/compare/f8faabf..54e1673):\n  54e1673  Wed Nov 4 09:46:54 2026 +0100  Sigurd Meldgaard  fix(firehose): resolve dartExecutable via package:cli_util (dart-lang/ecosystem#469)\n  d754065  Tue Nov 3 10:09:45 2026 -0800  Kevin Moore  refactor(corpus): use path.join and seal closed type hierarchies (dart-lang/ecosystem#476)\n\nhttp (https://github.com/dart-lang/http/compare/8c0d66a..1f869d0):\n  1f869d0  Tue Nov 3 15:51:52 2026 -0800  dependabot[bot]  chore(deps): bump the github-actions group with 8 updates (dart-lang/http#2052)\n  6d7f402  Tue Nov 3 14:12:04 2026 -0800  Brian Quinlan  feat(cupertino_http): support custom trust eval (dart-lang/http#2038)\n  73f8c36  Tue Nov 3 10:15:16 2026 -0800  Brian Quinlan  chore(cupertino_http): ready 3.1.1 release (dart-lang/http#2056)\n\nnative (https://github.com/dart-lang/native/compare/b442038..1838637):\n  183863758  Wed Nov 4 09:01:27 2026 -0300  Daco Harkes  [hooks_runner] Add `PKG_CONFIG_PATH` to environment variables allowlist (dart-lang/native#3779)\n  c9e8118d4  Wed Nov 4 08:16:20 2026 +1100  Liam Appelbe  [jni] Fix release mode segfault (dart-lang/native#3777)\n  5999cf7e4  Wed Nov 4 08:16:16 2026 +1100  Liam Appelbe  [objective_c] Prepare to publish (dart-lang/native#3778)\n  d294d9942  Tue Nov 3 15:15:49 2026 +0100  Michael Goderbauer  [hooks_runner] Write recorded_uses.json under directory lock in link() (dart-lang/native#3770)\n  33aa5ef04  Tue Nov 3 11:42:38 2026 +1100  Liam Appelbe  [objective_c] Cheaper and safer object/block validity checks (dart-lang/native#3776)\n\nprotobuf (https://github.com/dart-lang/protobuf/compare/1d52301..19191c8):\n  19191c8  Wed Nov 4 17:14:33 2026 +0100  Sigurd Meldgaard  Use dart.tool.dart2wasm in json.dart so DDC uses json_web.dart (dart-lang/protobuf#1108)\n\ntools (https://github.com/dart-lang/tools/compare/1579f8d..a342744):\n  a3427446f  Wed Nov 4 15:11:35 2026 +0100  Jonas Finnemann Jensen  Update CODEOWNERS for pkgs/markdown (dart-lang/tools#2795)\n  08c9afdc0  Wed Nov 4 14:40:44 2026 +0100  Jonas Finnemann Jensen  [markdown] Check URL boundary before matching in AutolinkExtensionSyntax (dart-lang/tools#2786)\n  0fc5edcae  Wed Nov 4 14:35:48 2026 +0100  Jonas Finnemann Jensen  [markdown] Skip unclosed inline HTML tags before matching RegExp (dart-lang/tools#2788)\n  b1f6f9956  Wed Nov 4 14:31:55 2026 +0100  Jonas Finnemann Jensen  [markdown] Defer shortcut reference link label extraction in LinkSyntax.close (dart-lang/tools#2785)\n  ab135e072  Wed Nov 4 14:30:37 2026 +0100  Jonas Finnemann Jensen  [markdown] Avoid quadratic trailing-paren scan in AutolinkExtensionSyntax (dart-lang/tools#2787)\n  f329bf3ea  Wed Nov 4 17:09:34 2026 +0530  Ananya Kaul  [code_builder] Separate chained cascades after nullable casts (dart-lang/tools#2704)\n  0a57e3446  Wed Nov 4 05:28:40 2026 +0530  Aman Maurya  fix(coverage): allow empty coverage files from skipped test suites (`#2667`) (dart-lang/tools#2668)\n  e95958f6a  Tue Nov 3 21:53:57 2026 +0000  Keerti Parthasarathy  [unified_analytics] Add root_tool and leaf_tool to every event; key consent on root_tool (dart-lang/tools#2784)\n  5da06a508  Tue Nov 3 13:11:04 2026 +0100  Jonas Finnemann Jensen  [markdown] Reject unescaped \u0027(\u0027 in parenthesized inline link titles (dart-lang/tools#2770)\n  f3a5c9277  Tue Nov 3 13:09:32 2026 +0100  Jonas Finnemann Jensen  [markdown] Cap parenthesis nesting in bare inline link destinations (dart-lang/tools#2769)\n  820ce5fb7  Tue Nov 3 13:04:35 2026 +0100  Jonas Finnemann Jensen  [markdown] Reject unescaped \u0027(\u0027 in parenthesized link reference titles (dart-lang/tools#2771)\n  775c5d080  Tue Nov 3 13:03:43 2026 +0100  Jonas Finnemann Jensen  [markdown] Require balanced parentheses before bare inline link titles (dart-lang/tools#2768)\n  5ebd52bc5  Tue Nov 3 13:03:08 2026 +0100  Jonas Finnemann Jensen  [markdown] Reject unescaped \u0027\u003c\u0027 in bracketed inline link destinations (dart-lang/tools#2767)\n  feb7ea928  Tue Nov 3 13:02:15 2026 +0100  Jonas Finnemann Jensen  [markdown] Fix 999-character limit in LinkParser.parseLabel (dart-lang/tools#2766)\n  31888a5da  Tue Nov 3 13:01:43 2026 +0100  Jonas Finnemann Jensen  [markdown] Enforce 999-character limit in _parseReferenceLinkLabel (dart-lang/tools#2765)\n  e016c5d70  Tue Nov 3 09:26:32 2026 +0100  dart-ecosystem-bot[bot]  [boring] Pin the prebuilt binaries of boring-binaries-20261101-f869fdca423c (dart-lang/tools#2778)\n  8c7935573  Mon Nov 2 10:15:24 2026 -0800  Kevin Moore  [html] Move WPT selector fixtures to third_party/wpt-selectors (dart-lang/tools#2772)\n\nweb (https://github.com/dart-lang/web/compare/45166fd..f388bf5):\n  f388bf5  Sun Nov 1 06:57:22 2026 +0000  dependabot[bot]  Bump the github-actions group with 4 updates (dart-lang/web#611)\n  658ce2f  Sat Oct 31 12:47:20 2026 +0100  Moritz  Migrate to ecosystem health publish check and setup-dart publish workflow (dart-lang/web#610)\n\nChange-Id: Ifcae02c4712b4b27a5a8ab1c57d8dcf13a6700cf\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574281\nReviewed-by: Brian Quinlan \u003cbquinlan@google.com\u003e\nCommit-Queue: Nate Bosch \u003cnbosch@google.com\u003e\n"
    },
    {
      "commit": "3fd4c1b85877e7288686015487d6be065daa988e",
      "tree": "68a7767927523e0674753964e9842434d80e065f",
      "parents": [
        "544a5c1f554fb76554dcc38efae82fee62d255c1"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Wed Nov 04 16:57:34 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 16:57:34 2026 -0800"
      },
      "message": "Elements. Read library documentation only from the library directive.\n\nThe Dart documentation comment specification allows a library doc\ncomment only before a `library` directive. We used the first directive\nof any kind, so a doc comment before the first `import`, `export`, or\n`part` was returned by `LibraryElement.documentationComment`, while a\ndoc comment before a `library` directive that is not the first directive\nwas ignored.\n\ndartdoc already ignores these comments, and `@docImport` in them has no\neffect. The `dangling_library_doc_comments` lint reports them, and has a\nfix that moves the comment to a `library` directive.\n\nBug: https://github.com/dart-lang/sdk/issues/64700\nChange-Id: I8c2a5f1779c711d001ffa0e1f6ae4ee3e4389f43\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574020\nReviewed-by: Paul Berry \u003cpaulberry@google.com\u003e\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\n"
    },
    {
      "commit": "544a5c1f554fb76554dcc38efae82fee62d255c1",
      "tree": "f06c430f142b772ba1a489b25c3954e47fd3d818",
      "parents": [
        "22efd4ecf73c814ea55b13a8af0b371e911906c8"
      ],
      "author": {
        "name": "Konstantin Shcheglov",
        "email": "scheglov@google.com",
        "time": "Wed Nov 04 16:35:12 2026 -0800"
      },
      "committer": {
        "name": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 16:35:12 2026 -0800"
      },
      "message": "Fix. Report missing bodies of top-level functions with async modifiers.\n\nTop-level functions and getters like these were accepted by the\nanalyzer, while the CFE rejected them:\n\n    external void f() async;\n    external int get g async;\n\nThe same happened with augmentations enabled, for non-external\ndeclarations such as `void f() async;`, and for augmentations such as\n`augment void f() async;`.\n\n`parseMethod` disallows an empty body when the modifier is not plain\nsync, but `parseTopLevelMethod` did not, so `expectedBody` was not\nreported. The analyzer ignores `abstractNotSync`, because it expects\n`missing_function_body` to follow it.\n\nThe new tests cover `async`, `async*` and `sync*` on bodyless top-level\ndeclarations and on the members of every kind of container, because\nthe existing rule for members had no analyzer tests.\n\nBug: https://github.com/dart-lang/sdk/issues/64847\nChange-Id: I7e175b1b269e375a54a61655920c0e151e793069\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/574060\nCommit-Queue: Konstantin Shcheglov \u003cscheglov@google.com\u003e\nReviewed-by: Paul Berry \u003cpaulberry@google.com\u003e\n"
    }
  ],
  "next": "22efd4ecf73c814ea55b13a8af0b371e911906c8"
}
