)]}'
{
  "commit": "81df36216feda133754e88458fd640d8edc038ef",
  "tree": "51124dc2e48ca200df09a4dc497b8263e38ee0c3",
  "parents": [
    "e1c12b3ab2ede3a116764b4e16ff2cdd3f05f75f"
  ],
  "author": {
    "name": "Martin Kustermann",
    "email": "kustermann@google.com",
    "time": "Tue Jul 11 08:54:33 2023 +0000"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jul 11 08:54:33 2023 +0000"
  },
  "message": "Make utf8.encode() have Uint8List return type\n\nRight now `utf8.encode()` has a static return type of `List\u003cint\u003e`\ndue to extending `Encoding` (which extends `Codec\u003cString, List\u003cint\u003e\u003e`).\n\nWe cannot easily change `Encoding` to extend `Codec\u003cString, Uint8List\u003e`\nbecause that would also change `utf8.decode()` to require `Uint8List`\nwhich would be a breaking change.\n\nSo instead we override `utf8.encode()` to have more precise return type.\n\nSome parts of our SDK are run using the checked-in SDK, so it cannot\nrely on the changed return type yet (until checked-in SDK is rolled).\n\nSo we use `const Utf8Encoder().convert()` as a temporary change, as\nthat already has `Uint8List` return type.\n\nIssue https://github.com/dart-lang/sdk/issues/52801\n\nTEST\u003dci\n\nCoreLibraryReviewExempt: More precise return type for existing API\nChange-Id: I2861d1f0eb3d292d8e3ec8437c0d441a2d2bd193\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/254903\nCommit-Queue: Martin Kustermann \u003ckustermann@google.com\u003e\nReviewed-by: Lasse Nielsen \u003clrn@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9f4b5a6f8ff6c86d6b98766c360a6305b3a7d5f2",
      "old_mode": 33188,
      "old_path": "pkg/analysis_server/test/mocks.dart",
      "new_id": "d345635b551b3a49952a7bc0a114098a5750192d",
      "new_mode": 33188,
      "new_path": "pkg/analysis_server/test/mocks.dart"
    },
    {
      "type": "modify",
      "old_id": "c338d1024bf3615b82559d94f583040ae2a5193b",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/file_system/memory_file_system.dart",
      "new_id": "cafd0e1526cd9c017175501dd091c20aa86b0fd9",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/file_system/memory_file_system.dart"
    },
    {
      "type": "modify",
      "old_id": "469de5d9ce5732c96a7017fce07f718236070431",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/file_system/overlay_file_system.dart",
      "new_id": "3165440021f0b535e365d5c350c2d2c1864c0299",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/file_system/overlay_file_system.dart"
    },
    {
      "type": "modify",
      "old_id": "e2a028cd4b8e1fa1ba674787d944dd68d47718f6",
      "old_mode": 33188,
      "old_path": "pkg/analyzer/lib/src/summary2/data_writer.dart",
      "new_id": "39e8f7e023a22da50c1121d51d15ab7567c6a176",
      "new_mode": 33188,
      "new_path": "pkg/analyzer/lib/src/summary2/data_writer.dart"
    },
    {
      "type": "modify",
      "old_id": "b510fc4c178b408e62481f874534eb0861bb2b00",
      "old_mode": 33188,
      "old_path": "pkg/front_end/lib/src/api_prototype/memory_file_system.dart",
      "new_id": "71f579692877522a7daee2ac6b96eb44b2db1fdb",
      "new_mode": 33188,
      "new_path": "pkg/front_end/lib/src/api_prototype/memory_file_system.dart"
    },
    {
      "type": "modify",
      "old_id": "e088d805ee2c275b2a74354e10fbc358cf84f992",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/crashing_test_case_minimizer_impl.dart",
      "new_id": "86b45ea15cff6eb463545025772f6696aa0ddf9c",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/crashing_test_case_minimizer_impl.dart"
    },
    {
      "type": "modify",
      "old_id": "35de3377ca24e61d91ea101c3927cf1dd8d95b90",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/dartdoc_test_test.dart",
      "new_id": "3ccff98890e05ccb9300bd7fc697de4375ffa003",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/dartdoc_test_test.dart"
    },
    {
      "type": "modify",
      "old_id": "ebe4d84b53c6f0df749e91cbd98edf112fd92033",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/fasta/testing/suite.dart",
      "new_id": "e23acdad520ff66c70ec992ca7ede80d12f636f7",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/fasta/testing/suite.dart"
    },
    {
      "type": "modify",
      "old_id": "a28b542a9ff328414c2a420f63e383cc392c3370",
      "old_mode": 33188,
      "old_path": "pkg/front_end/tool/dart_doctest_impl.dart",
      "new_id": "12e04aa8d1d35694d72e04239f4b018fb662d7e0",
      "new_mode": 33188,
      "new_path": "pkg/front_end/tool/dart_doctest_impl.dart"
    },
    {
      "type": "modify",
      "old_id": "78e3ff360ab0b1e523a57fe3a603eb8392d4b702",
      "old_mode": 33188,
      "old_path": "pkg/front_end/tool/perf.dart",
      "new_id": "42072d18d4c6361d73cbda7c8a3a0fb86796871d",
      "new_mode": 33188,
      "new_path": "pkg/front_end/tool/perf.dart"
    },
    {
      "type": "modify",
      "old_id": "4554b4f2b2ba9328f91656727351588c37d7cd39",
      "old_mode": 33188,
      "old_path": "pkg/vm/bin/kernel_service.dart",
      "new_id": "1a540c3ae4839c0c0f130cde9da5ae871f5268e4",
      "new_mode": 33188,
      "new_path": "pkg/vm/bin/kernel_service.dart"
    },
    {
      "type": "modify",
      "old_id": "7473d82e2b5ea7e3085f0484f6f6496cf129e74c",
      "old_mode": 33188,
      "old_path": "sdk/lib/convert/utf.dart",
      "new_id": "5484de66fe454ba6c5f0218c28c9c69c4088133c",
      "new_mode": 33188,
      "new_path": "sdk/lib/convert/utf.dart"
    }
  ]
}
