)]}'
{
  "commit": "bb4302e8787c3aa5226b5dab3b10750466deb828",
  "tree": "104638e5979408c4fd13f071ed96ceb8064508fc",
  "parents": [
    "5f632bef3827a1d95d95bce92c5a3a1f903b6679"
  ],
  "author": {
    "name": "Thomas Van Lenten",
    "email": "thomasvl@google.com",
    "time": "Mon Feb 28 16:32:04 2022 -0500"
  },
  "committer": {
    "name": "Thomas Van Lenten",
    "email": "thomasvl@google.com",
    "time": "Thu Mar 03 16:05:18 2022 -0500"
  },
  "message": "Add a generation option to control use of forward declarations in headers.\n\nSwift importing ObjC drops methods/properties if the type is only a forward\ndeclaration since the type is incomplete. Historically the generator has always\nuse forward declarations to reduce how much will have rebuild when a proto file\ndoes change; but that puts it at odds with Swift. If ObjC Protos end up spanning\nSwift modules, the Swift import behavior could become a problem; so this option\nprovides a control for the behavior. The current behavior is to continue forward\ndeclarations, but eventually the default will be changed.\n\nGenerate the WKTs using imports instead of forward decls.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1634a9212ebb091f6636304a5d3ba1f0365cb387",
      "old_mode": 33188,
      "old_path": "objectivec/GPBApi.pbobjc.h",
      "new_id": "871e90885a6199009c0d251745a08da656b1c1b2",
      "new_mode": 33188,
      "new_path": "objectivec/GPBApi.pbobjc.h"
    },
    {
      "type": "modify",
      "old_id": "639462b19d02574fcf9d0b1c5cc9a37c4d2726c5",
      "old_mode": 33188,
      "old_path": "objectivec/GPBApi.pbobjc.m",
      "new_id": "7f86a087ffd866f337add97d7352e311fcbe905f",
      "new_mode": 33188,
      "new_path": "objectivec/GPBApi.pbobjc.m"
    },
    {
      "type": "modify",
      "old_id": "ee02b0a6834dbee2aba6cc9d689ab190819bc14b",
      "old_mode": 33188,
      "old_path": "objectivec/GPBType.pbobjc.h",
      "new_id": "b0230501cf3cee8abcf49330b4ad4b9c950e9346",
      "new_mode": 33188,
      "new_path": "objectivec/GPBType.pbobjc.h"
    },
    {
      "type": "modify",
      "old_id": "556df19711651404b96b4e69b8e8764db6225d42",
      "old_mode": 33188,
      "old_path": "objectivec/GPBType.pbobjc.m",
      "new_id": "f5fc1efececbd41120e2c156ce54c3735e65301b",
      "new_mode": 33188,
      "new_path": "objectivec/GPBType.pbobjc.m"
    },
    {
      "type": "modify",
      "old_id": "955fa531b715ca77048a4b0440a510ba34816aef",
      "old_mode": 33188,
      "old_path": "objectivec/README.md",
      "new_id": "a0fcd19307455f9bbf4c06ae80a215313b3c4bb3",
      "new_mode": 33188,
      "new_path": "objectivec/README.md"
    },
    {
      "type": "modify",
      "old_id": "cdb208065e6db62f3a5c916907772f4f22896cd6",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc",
      "new_id": "1e55f3d95eec48d7eada3aca736981b6bf014cb9",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc"
    },
    {
      "type": "modify",
      "old_id": "f89107e8574ebf0961bf84e637abf4576ff3d438",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/objectivec/objectivec_enum_field.h",
      "new_id": "138be311428409769688d6fee7b0c2bf98fbe416",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/objectivec/objectivec_enum_field.h"
    },
    {
      "type": "modify",
      "old_id": "2500f37dd0f2ddc400c06546cbdc9d429dd3f52e",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/objectivec/objectivec_field.cc",
      "new_id": "f16dd4b9b697c5cb6ac2f03fd9863def2c9a0a7a",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/objectivec/objectivec_field.cc"
    },
    {
      "type": "modify",
      "old_id": "c5080d6ba6d5c2af3a46e3306b863aa5bb838179",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/objectivec/objectivec_field.h",
      "new_id": "e1e906deff4ef784329699e08a18929973c574b8",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/objectivec/objectivec_field.h"
    },
    {
      "type": "modify",
      "old_id": "163639701d8fcdde033a8832e13dc0e1dd0029cb",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/objectivec/objectivec_file.cc",
      "new_id": "84a75d83d5bc15c986aa172203fa0bba7f6d9d46",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/objectivec/objectivec_file.cc"
    },
    {
      "type": "modify",
      "old_id": "fc71c70c9dfcb4ef2ca9dfa4dade81caf71449a6",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/objectivec/objectivec_file.h",
      "new_id": "64c833bd7f86279b44d62356722302a58b739b36",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/objectivec/objectivec_file.h"
    },
    {
      "type": "modify",
      "old_id": "e0279a1d2ef2f7a2b8742dd12169cbd5d62efaea",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/objectivec/objectivec_generator.cc",
      "new_id": "f61f34f465d3629b7c444aa44b31072384893f5a",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/objectivec/objectivec_generator.cc"
    },
    {
      "type": "modify",
      "old_id": "f6943cd9905a44c730ca41797d4cef65455aa05f",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/objectivec/objectivec_map_field.cc",
      "new_id": "99d7581533a200a85f1dabeb9f36a9d1b4259456",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/objectivec/objectivec_map_field.cc"
    },
    {
      "type": "modify",
      "old_id": "c5b9b1df439c2e229bf000d5318a100ad3c32be9",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/objectivec/objectivec_map_field.h",
      "new_id": "36abf0e38c5cc8387f5ac3c7b08d1d078906e62c",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/objectivec/objectivec_map_field.h"
    },
    {
      "type": "modify",
      "old_id": "634b227d3f24d3c65600243de812c2c1048449c3",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/objectivec/objectivec_message.cc",
      "new_id": "1cebdd339b9884523bf44c18b54be4fc44d7e34b",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/objectivec/objectivec_message.cc"
    },
    {
      "type": "modify",
      "old_id": "f53275181049e0a0389b64a3a1c95048ee37eaa4",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/objectivec/objectivec_message.h",
      "new_id": "9d1443098181cac47fc5805fce2edee8f0ce5aea",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/objectivec/objectivec_message.h"
    },
    {
      "type": "modify",
      "old_id": "437da524aeeaeec1e791a005d05115424d1f783c",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/objectivec/objectivec_message_field.cc",
      "new_id": "1aa61f12663493b6328aee2600d970886b44124e",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/objectivec/objectivec_message_field.cc"
    },
    {
      "type": "modify",
      "old_id": "1abf5c8ed5ad4d64136134076508caa6bc1ec622",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/objectivec/objectivec_message_field.h",
      "new_id": "bab150f86569350ee48fb90e66b93c6f6cedfb85",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/objectivec/objectivec_message_field.h"
    }
  ]
}
