)]}'
{
  "commit": "e278005e8fc46a24ab4c6083aab2ec0317e79be4",
  "tree": "6b9612f29ff7c33599576440f3509df02a17e9db",
  "parents": [
    "e773e0b7b97ce92b7200805a5a3f2c521be40007"
  ],
  "author": {
    "name": "Rachel Goldfinger",
    "email": "rgoldfinger@google.com",
    "time": "Tue Sep 22 14:32:49 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Nov 06 12:41:59 2026 -0800"
  },
  "message": "Generate .proto.fwd_internal.h headers for C++ protobuf codegen.\n\nEmit a dedicated `.proto.fwd_internal.h` header for each `.proto` file when `proto_h` is enabled (`--cpp_opt\u003dproto_h`) containing forward declarations and internal trait declarations for exported symbols (`VISIBILITY_EXPORT`), and include `.proto.fwd_internal.h` from importing `.proto.h` headers instead of emitting inline cross-file forward declarations with the importer\u0027s `dllexport_decl` macro.\n\nPiperOrigin-RevId: 986238980\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "08397ec3aa73a72ff4abf5f7cc566c5f626253ba",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/code_generator.h",
      "new_id": "476e929bf7af4debbd6fa9aaf39a9ca75abc0fe2",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/code_generator.h"
    },
    {
      "type": "modify",
      "old_id": "2ebf5811f09e0f864037b74482a1f9c2221c7577",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/extension.cc",
      "new_id": "f2fe53c128cbbbadf571f5822389f4c2bf433f88",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/extension.cc"
    },
    {
      "type": "modify",
      "old_id": "07072ced6a82a98c0daf44a5c9cfa85eb2f831b4",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/file.cc",
      "new_id": "186634d36eef24fe2cb147ea2fe580becbb2ad1c",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/file.cc"
    },
    {
      "type": "modify",
      "old_id": "82803f089d41acb73e2a8989c83e7c31a4187725",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/file.h",
      "new_id": "be3fedd6bf25dfab5abddbcff59edb3a1783ef44",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/file.h"
    },
    {
      "type": "modify",
      "old_id": "e94f787b2c93c5cda362966a962c30a888f82a21",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/generator.cc",
      "new_id": "312aaa89253bc1af8bae7b1437993f5452a513e0",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/generator.cc"
    },
    {
      "type": "modify",
      "old_id": "97dd14cea2e357a2ea026e18006c1a367d123782",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/generator.h",
      "new_id": "00ed73a75cd6c00eff9911c158fe38f3783f2d1a",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/generator.h"
    },
    {
      "type": "modify",
      "old_id": "33e3bf6436b9189cc5036b93482c5e35e2d9ca91",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/helpers.cc",
      "new_id": "62445f3c9873f7290ca84052fc7f4bb9a7d4367b",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/helpers.cc"
    },
    {
      "type": "modify",
      "old_id": "e7b38cb9bf9c79c03e4ece3cb3c80eabf25c787e",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/helpers.h",
      "new_id": "12cbff5170872cd83b564e947ac278b0854d093c",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/helpers.h"
    },
    {
      "type": "modify",
      "old_id": "bd41da8ae77b589d4f20cba50ad0a3e00da93573",
      "old_mode": 33261,
      "old_path": "src/google/protobuf/compiler/csharp/c_sharp_features.pb.cc",
      "new_id": "ab07b8134dbbe079e515feda19f94da243dffc37",
      "new_mode": 33261,
      "new_path": "src/google/protobuf/compiler/csharp/c_sharp_features.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "babb4cc9137672e4326e9d3a09347d94c48f33a1",
      "old_mode": 33261,
      "old_path": "src/google/protobuf/compiler/csharp/c_sharp_features.pb.h",
      "new_id": "8fb216d1463a052283ee74de39be1b32bdb0da75",
      "new_mode": 33261,
      "new_path": "src/google/protobuf/compiler/csharp/c_sharp_features.pb.h"
    },
    {
      "type": "modify",
      "old_id": "2b1797e59a9e181fe1acccef6137c8c7bde59ee4",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/java/java_features.pb.cc",
      "new_id": "6a94da3e66d60cdd8d29381e037166c2a2275b04",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/java/java_features.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "b9a67ce629be8f204909fe12b65870ac09c18753",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/java/java_features.pb.h",
      "new_id": "763f2925777dd01e7a4490c84648dd395118feb6",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/java/java_features.pb.h"
    },
    {
      "type": "modify",
      "old_id": "14094d4390ca806f4ba0de693db514d4b818a8c0",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/plugin.cc",
      "new_id": "97a70488373fbc9a0b649005b9a693d0725e5c63",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/plugin.cc"
    },
    {
      "type": "modify",
      "old_id": "1287e1629fe94ae3fc84d49ba46e49f3169b4de4",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/plugin.pb.cc",
      "new_id": "903f5d8faa1f15607770d8ca3938dc07e6e677e8",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/plugin.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "ab2da0bb87b407e3568eec90990c6e4132c8901d",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/plugin.pb.h",
      "new_id": "77184c8ffb1c1110a98840bc8fbace4a457426c6",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/plugin.pb.h"
    },
    {
      "type": "modify",
      "old_id": "2125817d19a067686d3903755abb85a4ec46a2d9",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/cpp_features.pb.cc",
      "new_id": "b9f51fcaeeb385d7307c6bba313d2d5f9ba6d295",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/cpp_features.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "252d47c0577544e5a7a15eb02382c40e374858ea",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/cpp_features.pb.h",
      "new_id": "f887c5a0518a6c10820148a9f14ed542c9067acb",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/cpp_features.pb.h"
    },
    {
      "type": "modify",
      "old_id": "1f48f6e5d7e2eb1b72d8c719326abcce8a5a5b92",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/cpp_file_options.pb.cc",
      "new_id": "4ad7a283ce7d4dba1073c67c821dcf89d02008f9",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/cpp_file_options.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "5ceb3e4176789975fd324422cc7a54139980698c",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/cpp_file_options.pb.h",
      "new_id": "d72aa064a395d6b6fb48d30533f137d2567a4432",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/cpp_file_options.pb.h"
    },
    {
      "type": "modify",
      "old_id": "f274510d4edef209b4c91aa86721e9fed1f43e8b",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/descriptor.pb.cc",
      "new_id": "270f0d9523ecaeb2dcda02899284da7ac2bef687",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/descriptor.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "9059e61e73b5639cd509b76cd584da9ac2552162",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/descriptor.pb.h",
      "new_id": "f0f96c7506566f91913cd935763a10c88cd00b76",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/descriptor.pb.h"
    },
    {
      "type": "modify",
      "old_id": "c1d19267a9346d27ffa48758350a94945fcbc027",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/internal_feature_helper.cc",
      "new_id": "eb8f20df77261c33ce09705949a3363c6301ede7",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/internal_feature_helper.cc"
    },
    {
      "type": "modify",
      "old_id": "58b42533547f634e2903ef74307b03eb9a23898b",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/internal_feature_helper.h",
      "new_id": "c4725ae456b6443a31cafedb9e908c223f5e1b1c",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/internal_feature_helper.h"
    },
    {
      "type": "modify",
      "old_id": "75f3a42c63c085fc5f58d8c79442059db34f67fb",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/json_enumvalue_options.pb.cc",
      "new_id": "7785a3b835477dfc1a30f52601c3cc48a7191c63",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/json_enumvalue_options.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "5a712fcb61eed9f98d920f3b613a6a993d9c2997",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/json_enumvalue_options.pb.h",
      "new_id": "7ce04d784f789cad4173ddb4bf50d01fd08d0941",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/json_enumvalue_options.pb.h"
    },
    {
      "type": "modify",
      "old_id": "c317fd3ab602ae4ecdeda16694d287ebab426577",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/symbol.h",
      "new_id": "0aa6382ede203c91cd3892546dfaa00f3da781de",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/symbol.h"
    }
  ]
}
