Skip to content

Found new managed modules references - #1304

Merged
pkwarren merged 1 commit into
mainfrom
fetch-modules
Aug 21, 2026
Merged

Found new managed modules references#1304
pkwarren merged 1 commit into
mainfrom
fetch-modules

Conversation

@app-token-modules

Copy link
Copy Markdown
Contributor

No description provided.

@app-token-modules
app-token-modules Bot requested a review from a team August 21, 2026 17:00
},
{
"name": "v36.0",
"digest": "3e8040d233c15147282f1085604c7ea64c65d9b6cf2a56b269aba743316aab6324eed1877878499fcb9c8a901e6b38bfeff37dc35a0cb36b2217ee150c4c8738"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Posted at 2026-08-21T17:01:06Z]

Intermediate transition

$ casdiff v35.1 \
          v36.0 \
          --format=markdown
7 files changed: 0 removed, 0 renamed, 5 added, 2 changed content.

7 files changed: 0 removed, 0 renamed, 5 added, 2 changed content.

Files added:

+ shake256:4b1a042a089b54eacd4397204bb63b44d0accd04ecb9dce136e88036e2428066993ae9ac0ae4f087c3ca24ea3b77677b3dc9fffe6b61c5a675dfc3e463a054d6  google/protobuf/c_sharp_features.proto
+ shake256:f1f71bac409338411d51f63a531f528e76a5bf969189464eff89578145f8053f44d4ed6feee3dd27a539900277667fb4af52de4d6c5cb3bf0d0dd61b7ff83405  google/protobuf/cpp_file_options.proto
+ shake256:789d7e0602bc58e7b920080a702b416fbbebaabf797ca235930a2191c13a3c6ba0219af9589ee4bcdc40395016fbf1616840c63db5135f9d5538ce01670c4fe4  google/protobuf/cpp_options.proto
+ shake256:4c1e5d34bac0ace47b2d24778ce47f3bcf1c17dc41da25b3e8e314042d2c412fdd1e41d7053f099db7699ccf148ab6b32260d66d5b57e385fb60ccd5d9aab3a6  google/protobuf/json_enumvalue_options.proto
+ shake256:125b1879222a0a6fee18c67d6b7bc0dfc9805da3e47c766f371d745e3e19012eb17eca4d8afcc2951fd954b3ff73e2aa7188f5ef29780916702ba1402e1c1b55  google/protobuf/json_options.proto

Files changed content:

google/protobuf/descriptor.proto:

--- shake256:0a7d1f2ba306506998bb15d242deee55be625f8c1d9e564b3c066d9277b1fe22815f014137e6da39d09840e26e56f8b5f7d646164e8e0d4141e4d245aa6e7886  google/protobuf/descriptor.proto
+++ shake256:6925669e63fc96b0ad08fa1fdd3c6993c463c9993b60bae7e6e643ca0007b19d87b9d7344c02800e40be8454dfcb25a985a6ee5b28345c51c98c7d68b9b6bc66  google/protobuf/descriptor.proto
@@ -524,7 +524,14 @@
 
   // Enables the use of arenas for the proto messages in this file. This applies
   // only to generated classes for C++.
-  optional bool cc_enable_arenas = 31 [default = true];
+  optional bool cc_enable_arenas = 31 [
+    default = true,
+    feature_support = {
+      edition_removed: EDITION_2026
+      removal_error: "cc_enable_arenas is enabled by default in every edition and overrides are ignored."
+                     "This option is removed in editions 2026 and above."
+    }
+  ];
 
   // Sets the objective c class prefix which is prepended to all objective c
   // generated classes from this .proto. There is no default.
@@ -929,7 +936,11 @@
 
   // Range reserved for first-class extension options defined by the Protobuf
   // team. Custom options must use the 1000+ range instead.
-  extensions 990 to 998;
+  extensions 990 to 998 [declaration = {
+    number: 998,
+    full_name: ".pb.enumvalue.json",
+    type: ".pb.enumvalue.JsonEnumValueOptions"
+  }];
 
   // The parser stores options it doesn't recognize here. See above.
   repeated UninterpretedOption uninterpreted_option = 999;
@@ -1168,7 +1179,7 @@
     },
     edition_defaults = { edition: EDITION_LEGACY, value: "STYLE_LEGACY" },
     edition_defaults = { edition: EDITION_2024, value: "STYLE2024" },
-    edition_defaults = { edition: EDITION_UNSTABLE, value: "STYLE2026" }
+    edition_defaults = { edition: EDITION_2026, value: "STYLE2026" }
   ];
 
   message VisibilityFeature {
@@ -1199,9 +1210,41 @@
           edition_introduced: EDITION_2024,
         },
         edition_defaults = { edition: EDITION_LEGACY, value: "EXPORT_ALL" },
-        edition_defaults = { edition: EDITION_2024, value: "EXPORT_TOP_LEVEL" }
+        edition_defaults = { edition: EDITION_2024, value: "EXPORT_TOP_LEVEL" },
+        edition_defaults = { edition: EDITION_2026, value: "STRICT" }
       ];
 
+  message ProtoLimitsFeature {
+    enum EnforceProtoLimits {
+      PROTO_LIMITS_UNKNOWN = 0;
+
+      // Default pre-EDITION_2026: there are no limit enforcement at the protoc
+      // level. Practical limits still exist, but they will tend to fail while
+      // compiling protoc-generated code, and these limits tend to be language
+      // or toolchain specific.
+      LEGACY_NO_EXPLICIT_LIMITS = 1;
+
+      // A set of limits enforced by Edition 2026 by default. For a detailed
+      // list of all the limits please consult the Edition 2026 documentation.
+      PROTO_LIMITS2026 = 2;
+    }
+  }
+  optional ProtoLimitsFeature.EnforceProtoLimits enforce_proto_limits = 9 [
+    retention = RETENTION_SOURCE,
+    targets = TARGET_TYPE_ENUM,
+    targets = TARGET_TYPE_MESSAGE,
+    targets = TARGET_TYPE_FIELD,
+    targets = TARGET_TYPE_ONEOF,
+    feature_support = {
+      edition_introduced: EDITION_2026,
+    },
+    edition_defaults = {
+      edition: EDITION_LEGACY,
+      value: "LEGACY_NO_EXPLICIT_LIMITS"
+    },
+    edition_defaults = { edition: EDITION_2026, value: "PROTO_LIMITS2026" }
+  ];
+
   reserved 999;
 
   extensions 1000 to 9994 [
@@ -1353,6 +1396,23 @@
     //   [ 4, 3, 2, 7 ]
     // this path refers to the whole field declaration (from the beginning
     // of the label to the terminating semicolon).
+    //
+    // For options, the path refers to the interpreted option in the descriptor.
+    // E.g., for a custom option `(my_opt) = "foo"` on a message using extension
+    // number 10101, the path is:
+    //   [ 4, 3, 7, 10101 ]
+    // refers to:
+    //   file.message_type(3)     // 4, 3
+    //       .options()           // 7
+    //       .my_opt()            // 10101
+    //
+    // Sub-locations corresponding to the interpreted option's corresponding
+    // `UninterpretedOption` are also appended to the interpreted option, which
+    // deviates from the actual FileDescriptorProto path. E.g.:
+    //   [ 4, 3, 7, 10101, 2 ]
+    // refers to the option name `(my_opt)`, and:
+    //   [ 4, 3, 7, 10101, 7 ]
+    // refers to the "foo" string value of the option.
     repeated int32 path = 1 [packed = true];
 
     // Always has exactly three or four elements: start line, start column,

google/protobuf/struct.proto:

--- shake256:b78f6252dbbc3395b4cb69c572dd88e239cec8b643a569cfa24960d4dd4b5e3e9c2d1d49290e2d4020284d7dc5184f080e26863c3bfc35c60ceebb3991e954f5  google/protobuf/struct.proto
+++ shake256:44d884979bac545c3e10785ee6ccc3a1583d1aad8abd5254784f151454d2a1c2aca34128ea3c5927dfcea8a38c66e45500176e6eabd99a693a69624be0ecf5f8  google/protobuf/struct.proto
@@ -96,9 +96,9 @@
 // the null value for the `Value` type union.
 //
 // A field of type `NullValue` with any value other than `0` is considered
-// invalid. Most ProtoJSON serializers will emit a Value with a `null_value` set
-// as a JSON `null` regardless of the integer value, and so will round trip to
-// a `0` value.
+// invalid. Most ProtoJSON serializers will emit a `Value` with a `null_value`
+// set as a JSON `null` regardless of the integer value, and so will round trip
+// to a `0` value.
 enum NullValue {
   // Null value.
   NULL_VALUE = 0;

Comment thread modules/sync/state.json
{
"module_name": "protocolbuffers/wellknowntypes",
"latest_reference": "v35.1"
"latest_reference": "v36.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Posted at 2026-08-21T17:01:07Z]

Overall transition

$ casdiff v35.1 \
          v36.0 \
          --format=markdown

7 files changed: 0 removed, 0 renamed, 5 added, 2 changed content.

Files added:

+ shake256:4b1a042a089b54eacd4397204bb63b44d0accd04ecb9dce136e88036e2428066993ae9ac0ae4f087c3ca24ea3b77677b3dc9fffe6b61c5a675dfc3e463a054d6  google/protobuf/c_sharp_features.proto
+ shake256:f1f71bac409338411d51f63a531f528e76a5bf969189464eff89578145f8053f44d4ed6feee3dd27a539900277667fb4af52de4d6c5cb3bf0d0dd61b7ff83405  google/protobuf/cpp_file_options.proto
+ shake256:789d7e0602bc58e7b920080a702b416fbbebaabf797ca235930a2191c13a3c6ba0219af9589ee4bcdc40395016fbf1616840c63db5135f9d5538ce01670c4fe4  google/protobuf/cpp_options.proto
+ shake256:4c1e5d34bac0ace47b2d24778ce47f3bcf1c17dc41da25b3e8e314042d2c412fdd1e41d7053f099db7699ccf148ab6b32260d66d5b57e385fb60ccd5d9aab3a6  google/protobuf/json_enumvalue_options.proto
+ shake256:125b1879222a0a6fee18c67d6b7bc0dfc9805da3e47c766f371d745e3e19012eb17eca4d8afcc2951fd954b3ff73e2aa7188f5ef29780916702ba1402e1c1b55  google/protobuf/json_options.proto

Files changed content:

google/protobuf/descriptor.proto:

--- shake256:0a7d1f2ba306506998bb15d242deee55be625f8c1d9e564b3c066d9277b1fe22815f014137e6da39d09840e26e56f8b5f7d646164e8e0d4141e4d245aa6e7886  google/protobuf/descriptor.proto
+++ shake256:6925669e63fc96b0ad08fa1fdd3c6993c463c9993b60bae7e6e643ca0007b19d87b9d7344c02800e40be8454dfcb25a985a6ee5b28345c51c98c7d68b9b6bc66  google/protobuf/descriptor.proto
@@ -524,7 +524,14 @@
 
   // Enables the use of arenas for the proto messages in this file. This applies
   // only to generated classes for C++.
-  optional bool cc_enable_arenas = 31 [default = true];
+  optional bool cc_enable_arenas = 31 [
+    default = true,
+    feature_support = {
+      edition_removed: EDITION_2026
+      removal_error: "cc_enable_arenas is enabled by default in every edition and overrides are ignored."
+                     "This option is removed in editions 2026 and above."
+    }
+  ];
 
   // Sets the objective c class prefix which is prepended to all objective c
   // generated classes from this .proto. There is no default.
@@ -929,7 +936,11 @@
 
   // Range reserved for first-class extension options defined by the Protobuf
   // team. Custom options must use the 1000+ range instead.
-  extensions 990 to 998;
+  extensions 990 to 998 [declaration = {
+    number: 998,
+    full_name: ".pb.enumvalue.json",
+    type: ".pb.enumvalue.JsonEnumValueOptions"
+  }];
 
   // The parser stores options it doesn't recognize here. See above.
   repeated UninterpretedOption uninterpreted_option = 999;
@@ -1168,7 +1179,7 @@
     },
     edition_defaults = { edition: EDITION_LEGACY, value: "STYLE_LEGACY" },
     edition_defaults = { edition: EDITION_2024, value: "STYLE2024" },
-    edition_defaults = { edition: EDITION_UNSTABLE, value: "STYLE2026" }
+    edition_defaults = { edition: EDITION_2026, value: "STYLE2026" }
   ];
 
   message VisibilityFeature {
@@ -1199,9 +1210,41 @@
           edition_introduced: EDITION_2024,
         },
         edition_defaults = { edition: EDITION_LEGACY, value: "EXPORT_ALL" },
-        edition_defaults = { edition: EDITION_2024, value: "EXPORT_TOP_LEVEL" }
+        edition_defaults = { edition: EDITION_2024, value: "EXPORT_TOP_LEVEL" },
+        edition_defaults = { edition: EDITION_2026, value: "STRICT" }
       ];
 
+  message ProtoLimitsFeature {
+    enum EnforceProtoLimits {
+      PROTO_LIMITS_UNKNOWN = 0;
+
+      // Default pre-EDITION_2026: there are no limit enforcement at the protoc
+      // level. Practical limits still exist, but they will tend to fail while
+      // compiling protoc-generated code, and these limits tend to be language
+      // or toolchain specific.
+      LEGACY_NO_EXPLICIT_LIMITS = 1;
+
+      // A set of limits enforced by Edition 2026 by default. For a detailed
+      // list of all the limits please consult the Edition 2026 documentation.
+      PROTO_LIMITS2026 = 2;
+    }
+  }
+  optional ProtoLimitsFeature.EnforceProtoLimits enforce_proto_limits = 9 [
+    retention = RETENTION_SOURCE,
+    targets = TARGET_TYPE_ENUM,
+    targets = TARGET_TYPE_MESSAGE,
+    targets = TARGET_TYPE_FIELD,
+    targets = TARGET_TYPE_ONEOF,
+    feature_support = {
+      edition_introduced: EDITION_2026,
+    },
+    edition_defaults = {
+      edition: EDITION_LEGACY,
+      value: "LEGACY_NO_EXPLICIT_LIMITS"
+    },
+    edition_defaults = { edition: EDITION_2026, value: "PROTO_LIMITS2026" }
+  ];
+
   reserved 999;
 
   extensions 1000 to 9994 [
@@ -1353,6 +1396,23 @@
     //   [ 4, 3, 2, 7 ]
     // this path refers to the whole field declaration (from the beginning
     // of the label to the terminating semicolon).
+    //
+    // For options, the path refers to the interpreted option in the descriptor.
+    // E.g., for a custom option `(my_opt) = "foo"` on a message using extension
+    // number 10101, the path is:
+    //   [ 4, 3, 7, 10101 ]
+    // refers to:
+    //   file.message_type(3)     // 4, 3
+    //       .options()           // 7
+    //       .my_opt()            // 10101
+    //
+    // Sub-locations corresponding to the interpreted option's corresponding
+    // `UninterpretedOption` are also appended to the interpreted option, which
+    // deviates from the actual FileDescriptorProto path. E.g.:
+    //   [ 4, 3, 7, 10101, 2 ]
+    // refers to the option name `(my_opt)`, and:
+    //   [ 4, 3, 7, 10101, 7 ]
+    // refers to the "foo" string value of the option.
     repeated int32 path = 1 [packed = true];
 
     // Always has exactly three or four elements: start line, start column,

google/protobuf/struct.proto:

--- shake256:b78f6252dbbc3395b4cb69c572dd88e239cec8b643a569cfa24960d4dd4b5e3e9c2d1d49290e2d4020284d7dc5184f080e26863c3bfc35c60ceebb3991e954f5  google/protobuf/struct.proto
+++ shake256:44d884979bac545c3e10785ee6ccc3a1583d1aad8abd5254784f151454d2a1c2aca34128ea3c5927dfcea8a38c66e45500176e6eabd99a693a69624be0ecf5f8  google/protobuf/struct.proto
@@ -96,9 +96,9 @@
 // the null value for the `Value` type union.
 //
 // A field of type `NullValue` with any value other than `0` is considered
-// invalid. Most ProtoJSON serializers will emit a Value with a `null_value` set
-// as a JSON `null` regardless of the integer value, and so will round trip to
-// a `0` value.
+// invalid. Most ProtoJSON serializers will emit a `Value` with a `null_value`
+// set as a JSON `null` regardless of the integer value, and so will round trip
+// to a `0` value.
 enum NullValue {
   // Null value.
   NULL_VALUE = 0;

@pkwarren
pkwarren merged commit 1565f65 into main Aug 21, 2026
6 checks passed
@pkwarren
pkwarren deleted the fetch-modules branch August 21, 2026 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant