)]}'
{
  "commit": "5fd78a1249192887697d87242636aefd2478843d",
  "tree": "b63b12f8e11657d3408a45fbf3f045dcaae675d2",
  "parents": [
    "ce7f5479882fca5aafb5cc7bf94922e369b430ba"
  ],
  "author": {
    "name": "Hasan Armoush",
    "email": "hkarmoush@gmail.com",
    "time": "Sat Oct 24 01:25:46 2026 +0300"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Oct 23 15:25:46 2026 -0700"
  },
  "message": "Reduce memory used when saving Performance data for offline viewing (#10034)\n\n* Reduce memory used when saving Performance data for offline viewing\n\nThe Perfetto trace was exported as a JSON array of numbers, which makes\njsonEncode do roughly two string writes per trace byte and can exhaust the\nbrowser\u0027s memory for large traces. Export it as a base64 string under a new\nkey instead, and keep reading the legacy list format so older files still\nload.\n\nAlso:\n- Only encode the bytes in a ByteData view when converting to base64.\n- Allocate Uint8ListRingBuffer.merged once at its exact size.\n- Show an error instead of crashing when the data is too large to export.\n- Revoke the download Blob URL after the download starts.\n\nFixes #10010\n\n* Link the PR in the release note\n\n* Address review feedback on performance export\n\n---------\n\nCo-authored-by: Sam Rawlins \u003csrawlins@google.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "89c310747ff3c01a1a0aa9440c448a954a5e81d3",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/lib/src/screens/performance/performance_model.dart",
      "new_id": "100eab0890291b9e5c6d10972684774117de3e40",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/lib/src/screens/performance/performance_model.dart"
    },
    {
      "type": "modify",
      "old_id": "d78708747ce41bacd8fb5bd8f7f303d62c18423b",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/lib/src/shared/config_specific/import_export/_export_web.dart",
      "new_id": "f000ebc1a8b799284ec60e9d2a59f88dca982ea3",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/lib/src/shared/config_specific/import_export/_export_web.dart"
    },
    {
      "type": "modify",
      "old_id": "a7c6f48ff91e3a7f3231f5a1f1a26075d5314d68",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/lib/src/shared/offline/offline_data.dart",
      "new_id": "c0be5799c330d2030ad93757289e8bfe2e97d961",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/lib/src/shared/offline/offline_data.dart"
    },
    {
      "type": "modify",
      "old_id": "c6dd14f2c634d7c95a980ae6b980828a8c5ef0e3",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/lib/src/shared/primitives/byte_utils.dart",
      "new_id": "e9e4de14503f5b5be6d5dde3f8d380c3bec19e0f",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/lib/src/shared/primitives/byte_utils.dart"
    },
    {
      "type": "modify",
      "old_id": "a787dd9a1e1d41f51ce9c150f45c7685faed6b65",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/lib/src/shared/primitives/encoding.dart",
      "new_id": "ff22ad15e33c2e2e5b48b49859393880097a057c",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/lib/src/shared/primitives/encoding.dart"
    },
    {
      "type": "modify",
      "old_id": "7d47c6b982a48d8f9c55ac8660c907ec39bfc4a2",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md",
      "new_id": "7e9c5050340034399c13a55fcae22353d41a7eaa",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md"
    },
    {
      "type": "modify",
      "old_id": "7dade0fd72fe82b53b9eb6052068a8c933d3b9fe",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/test/screens/performance/performance_model_test.dart",
      "new_id": "93da445100418ed89d97926a822cfbe9cefdd5b6",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/test/screens/performance/performance_model_test.dart"
    },
    {
      "type": "modify",
      "old_id": "cae53d1f12fbb91225a4cd79afdd8ca50eaa4e2e",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/test/shared/primitives/encoding_test.dart",
      "new_id": "edfabe623acf20eb652e28add5f795c1793fa420",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/test/shared/primitives/encoding_test.dart"
    }
  ]
}
