)]}'
{
  "commit": "9e30258e0aa6a6430ee36c84b75308a9702fde42",
  "tree": "0c6c06f98551181f00a522b6f0565d0749731560",
  "parents": [
    "cafeac4208a1139e370099591edc8b014dfcc204"
  ],
  "author": {
    "name": "Ömer Sinan Ağacan",
    "email": "omersa@google.com",
    "time": "Wed Nov 26 08:35:29 2025"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Nov 26 08:35:29 2025"
  },
  "message": "Check key and value validity in PbMap (#1076)\n\nCurrently `PbMap` does not check ranges of values added as keys or values.\n\nThis allows serializing and deserializing a message with a map and getting a\ndifferent map back, because `PbMap` allows adding values that are out of range\n(e.g. an integer larger than 32-bit range as a `sfixed32` value) but when\nserializing it truncates the value.\n\nUpdate `PbMap` to use the same validation functions as `PbList` when adding\nelements. Both keys and values are checked.\n\nFixes #1065.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "64dc4c3620ed05e43020c8e8812432784cc30c33",
      "old_mode": 33188,
      "old_path": "protobuf/CHANGELOG.md",
      "new_id": "219a13cc1c43c264b92e010f0bd5d60c97cdfb9a",
      "new_mode": 33188,
      "new_path": "protobuf/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "137ad550430d1465d65d9519d387dd8185cac658",
      "old_mode": 33188,
      "old_path": "protobuf/lib/src/protobuf/pb_list.dart",
      "new_id": "032b487e5366c43e93c321afe842259c1a2f50ef",
      "new_mode": 33188,
      "new_path": "protobuf/lib/src/protobuf/pb_list.dart"
    },
    {
      "type": "modify",
      "old_id": "0200f4af2884bb81cf63920ea17f6ee329cbe61c",
      "old_mode": 33188,
      "old_path": "protobuf/lib/src/protobuf/pb_map.dart",
      "new_id": "eb55a797669ae0386a9e21ff3f5ffe22c9eca5de",
      "new_mode": 33188,
      "new_path": "protobuf/lib/src/protobuf/pb_map.dart"
    },
    {
      "type": "modify",
      "old_id": "e52440df3af5a9ac805d71fa8086537d0b18836c",
      "old_mode": 33188,
      "old_path": "protobuf/lib/src/protobuf/utils.dart",
      "new_id": "6247e86f89176adb8c672e324927d86baa3899d9",
      "new_mode": 33188,
      "new_path": "protobuf/lib/src/protobuf/utils.dart"
    },
    {
      "type": "modify",
      "old_id": "7667bca46b89e46a681e461bd3a7e3000ad88ab6",
      "old_mode": 33188,
      "old_path": "protoc_plugin/test/map_field_test.dart",
      "new_id": "351409818bca9ec2d3cbfb295e38bbf0daf02ac0",
      "new_mode": 33188,
      "new_path": "protoc_plugin/test/map_field_test.dart"
    },
    {
      "type": "modify",
      "old_id": "8236376aa0f1d0f55b0c709f870c5805c9560b92",
      "old_mode": 33188,
      "old_path": "protoc_plugin/test/protos/map_field.proto",
      "new_id": "eb921eb4c9d44d1f9a6aed9687aa7484541ab483",
      "new_mode": 33188,
      "new_path": "protoc_plugin/test/protos/map_field.proto"
    },
    {
      "type": "modify",
      "old_id": "ed90e7f6590a08904b5df49e617c1abf5f9a68cc",
      "old_mode": 33188,
      "old_path": "protoc_plugin/test/validate_fail_test.dart",
      "new_id": "a09d6796dec928f532e28e4a42d1ad9eb7f7153c",
      "new_mode": 33188,
      "new_path": "protoc_plugin/test/validate_fail_test.dart"
    }
  ]
}
