grpc-tools 1.71.0 → 1.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8aaef5aa150fd585b62e66de1ae8a43a34250815abdb55d5ad51557b13c70416
4
- data.tar.gz: 14194a0833714c62728aaa26595f577839d2ba48443be7e1477d0782b0f66d38
3
+ metadata.gz: a58110c57574a6e6d4efa0508d771dae2a5c126a1b01c858519e8eb55f1480a3
4
+ data.tar.gz: a42e21a40bdf0daa17e5eda36bdbfe1a27632918bbd03a832be4eba5d571841f
5
5
  SHA512:
6
- metadata.gz: ef7f779dd352dd3c042e94a31a518abbe41f3a2f97ce3675290185374e1765242fe6ddc0a1c17875c02f7bbe3801ebebd4a0831bedc227f660a1b5ba881fe3a8
7
- data.tar.gz: d683c1efb4e010d745f22d8d9deb7ea2c1ea46bd4fe78b78adef008dbb47128f66c13232550af48d075e903ebca9f9b3dc586972da854c53de5931be84186f43
6
+ metadata.gz: dd68bf3f238939e02d04211c404cab934cd4d09359df4ac3aa6b67374d12f53f8679dd65a8a3a3e6d2d36c192f97147866789e99c59b703393a083ae20cc5e0c
7
+ data.tar.gz: 88b60e132331215db6cdc954e10cccd82cae4fe146b0fa553cce03575dd13758f3afda77229d01fd02d4ca505026f280f35103f84481d8506c501947ddb34601
@@ -113,6 +113,10 @@ message FileDescriptorProto {
113
113
  // For Google-internal migration only. Do not use.
114
114
  repeated int32 weak_dependency = 11;
115
115
 
116
+ // Names of files imported by this file purely for the purpose of providing
117
+ // option extensions. These are excluded from the dependency list above.
118
+ repeated string option_dependency = 15;
119
+
116
120
  // All top-level definitions in this file.
117
121
  repeated DescriptorProto message_type = 4;
118
122
  repeated EnumDescriptorProto enum_type = 5;
@@ -131,9 +135,15 @@ message FileDescriptorProto {
131
135
  // The supported values are "proto2", "proto3", and "editions".
132
136
  //
133
137
  // If `edition` is present, this value must be "editions".
138
+ // WARNING: This field should only be used by protobuf plugins or special
139
+ // cases like the proto compiler. Other uses are discouraged and
140
+ // developers should rely on the protoreflect APIs for their client language.
134
141
  optional string syntax = 12;
135
142
 
136
143
  // The edition of the proto file.
144
+ // WARNING: This field should only be used by protobuf plugins or special
145
+ // cases like the proto compiler. Other uses are discouraged and
146
+ // developers should rely on the protoreflect APIs for their client language.
137
147
  optional Edition edition = 14;
138
148
  }
139
149
 
@@ -170,6 +180,9 @@ message DescriptorProto {
170
180
  // Reserved field names, which may not be used by fields in the same message.
171
181
  // A given name may only be reserved once.
172
182
  repeated string reserved_name = 10;
183
+
184
+ // Support for `export` and `local` keywords on enums.
185
+ optional SymbolVisibility visibility = 11;
173
186
  }
174
187
 
175
188
  message ExtensionRangeOptions {
@@ -366,6 +379,9 @@ message EnumDescriptorProto {
366
379
  // Reserved enum value names, which may not be reused. A given name may only
367
380
  // be reserved once.
368
381
  repeated string reserved_name = 5;
382
+
383
+ // Support for `export` and `local` keywords on enums.
384
+ optional SymbolVisibility visibility = 6;
369
385
  }
370
386
 
371
387
  // Describes a value within an enum.
@@ -546,6 +562,9 @@ message FileOptions {
546
562
  optional string ruby_package = 45;
547
563
 
548
564
  // Any features defined in the specific edition.
565
+ // WARNING: This field should only be used by protobuf plugins or special
566
+ // cases like the proto compiler. Other uses are discouraged and
567
+ // developers should rely on the protoreflect APIs for their client language.
549
568
  optional FeatureSet features = 50;
550
569
 
551
570
  // The parser stores options it doesn't recognize here.
@@ -632,6 +651,9 @@ message MessageOptions {
632
651
  optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
633
652
 
634
653
  // Any features defined in the specific edition.
654
+ // WARNING: This field should only be used by protobuf plugins or special
655
+ // cases like the proto compiler. Other uses are discouraged and
656
+ // developers should rely on the protoreflect APIs for their client language.
635
657
  optional FeatureSet features = 12;
636
658
 
637
659
  // The parser stores options it doesn't recognize here. See above.
@@ -772,6 +794,9 @@ message FieldOptions {
772
794
  repeated EditionDefault edition_defaults = 20;
773
795
 
774
796
  // Any features defined in the specific edition.
797
+ // WARNING: This field should only be used by protobuf plugins or special
798
+ // cases like the proto compiler. Other uses are discouraged and
799
+ // developers should rely on the protoreflect APIs for their client language.
775
800
  optional FeatureSet features = 21;
776
801
 
777
802
  // Information about the support window of a feature.
@@ -808,6 +833,9 @@ message FieldOptions {
808
833
 
809
834
  message OneofOptions {
810
835
  // Any features defined in the specific edition.
836
+ // WARNING: This field should only be used by protobuf plugins or special
837
+ // cases like the proto compiler. Other uses are discouraged and
838
+ // developers should rely on the protoreflect APIs for their client language.
811
839
  optional FeatureSet features = 1;
812
840
 
813
841
  // The parser stores options it doesn't recognize here. See above.
@@ -840,6 +868,9 @@ message EnumOptions {
840
868
  optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
841
869
 
842
870
  // Any features defined in the specific edition.
871
+ // WARNING: This field should only be used by protobuf plugins or special
872
+ // cases like the proto compiler. Other uses are discouraged and
873
+ // developers should rely on the protoreflect APIs for their client language.
843
874
  optional FeatureSet features = 7;
844
875
 
845
876
  // The parser stores options it doesn't recognize here. See above.
@@ -857,6 +888,9 @@ message EnumValueOptions {
857
888
  optional bool deprecated = 1 [default = false];
858
889
 
859
890
  // Any features defined in the specific edition.
891
+ // WARNING: This field should only be used by protobuf plugins or special
892
+ // cases like the proto compiler. Other uses are discouraged and
893
+ // developers should rely on the protoreflect APIs for their client language.
860
894
  optional FeatureSet features = 2;
861
895
 
862
896
  // Indicate that fields annotated with this enum value should not be printed
@@ -877,6 +911,9 @@ message EnumValueOptions {
877
911
  message ServiceOptions {
878
912
 
879
913
  // Any features defined in the specific edition.
914
+ // WARNING: This field should only be used by protobuf plugins or special
915
+ // cases like the proto compiler. Other uses are discouraged and
916
+ // developers should rely on the protoreflect APIs for their client language.
880
917
  optional FeatureSet features = 34;
881
918
 
882
919
  // Note: Field numbers 1 through 32 are reserved for Google's internal RPC
@@ -922,6 +959,9 @@ message MethodOptions {
922
959
  [default = IDEMPOTENCY_UNKNOWN];
923
960
 
924
961
  // Any features defined in the specific edition.
962
+ // WARNING: This field should only be used by protobuf plugins or special
963
+ // cases like the proto compiler. Other uses are discouraged and
964
+ // developers should rely on the protoreflect APIs for their client language.
925
965
  optional FeatureSet features = 35;
926
966
 
927
967
  // The parser stores options it doesn't recognize here. See above.
@@ -1068,6 +1108,60 @@ message FeatureSet {
1068
1108
  edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" }
1069
1109
  ];
1070
1110
 
1111
+ enum EnforceNamingStyle {
1112
+ ENFORCE_NAMING_STYLE_UNKNOWN = 0;
1113
+ STYLE2024 = 1;
1114
+ STYLE_LEGACY = 2;
1115
+ }
1116
+ optional EnforceNamingStyle enforce_naming_style = 7 [
1117
+ retention = RETENTION_SOURCE,
1118
+ targets = TARGET_TYPE_FILE,
1119
+ targets = TARGET_TYPE_EXTENSION_RANGE,
1120
+ targets = TARGET_TYPE_MESSAGE,
1121
+ targets = TARGET_TYPE_FIELD,
1122
+ targets = TARGET_TYPE_ONEOF,
1123
+ targets = TARGET_TYPE_ENUM,
1124
+ targets = TARGET_TYPE_ENUM_ENTRY,
1125
+ targets = TARGET_TYPE_SERVICE,
1126
+ targets = TARGET_TYPE_METHOD,
1127
+ feature_support = {
1128
+ edition_introduced: EDITION_2024,
1129
+ },
1130
+ edition_defaults = { edition: EDITION_LEGACY, value: "STYLE_LEGACY" },
1131
+ edition_defaults = { edition: EDITION_2024, value: "STYLE2024" }
1132
+ ];
1133
+
1134
+ message VisibilityFeature {
1135
+ enum DefaultSymbolVisibility {
1136
+ DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0;
1137
+
1138
+ // Default pre-EDITION_2024, all UNSET visibility are export.
1139
+ EXPORT_ALL = 1;
1140
+
1141
+ // All top-level symbols default to export, nested default to local.
1142
+ EXPORT_TOP_LEVEL = 2;
1143
+
1144
+ // All symbols default to local.
1145
+ LOCAL_ALL = 3;
1146
+
1147
+ // All symbols local by default. Nested types cannot be exported.
1148
+ // With special case caveat for message { enum {} reserved 1 to max; }
1149
+ // This is the recommended setting for new protos.
1150
+ STRICT = 4;
1151
+ }
1152
+ reserved 1 to max;
1153
+ }
1154
+ optional VisibilityFeature.DefaultSymbolVisibility default_symbol_visibility =
1155
+ 8 [
1156
+ retention = RETENTION_SOURCE,
1157
+ targets = TARGET_TYPE_FILE,
1158
+ feature_support = {
1159
+ edition_introduced: EDITION_2024,
1160
+ },
1161
+ edition_defaults = { edition: EDITION_LEGACY, value: "EXPORT_ALL" },
1162
+ edition_defaults = { edition: EDITION_2024, value: "EXPORT_TOP_LEVEL" }
1163
+ ];
1164
+
1071
1165
  reserved 999;
1072
1166
 
1073
1167
  extensions 1000 to 9994 [
@@ -1082,6 +1176,11 @@ message FeatureSet {
1082
1176
  type: ".pb.JavaFeatures"
1083
1177
  },
1084
1178
  declaration = { number: 1002, full_name: ".pb.go", type: ".pb.GoFeatures" },
1179
+ declaration = {
1180
+ number: 1003,
1181
+ full_name: ".pb.python",
1182
+ type: ".pb.PythonFeatures"
1183
+ },
1085
1184
  declaration = {
1086
1185
  number: 9990,
1087
1186
  full_name: ".pb.proto1",
@@ -1305,3 +1404,14 @@ message GeneratedCodeInfo {
1305
1404
  optional Semantic semantic = 5;
1306
1405
  }
1307
1406
  }
1407
+
1408
+ // Describes the 'visibility' of a symbol with respect to the proto import
1409
+ // system. Symbols can only be imported when the visibility rules do not prevent
1410
+ // it (ex: local symbols cannot be imported). Visibility modifiers can only set
1411
+ // on `message` and `enum` as they are the only types available to be referenced
1412
+ // from other files.
1413
+ enum SymbolVisibility {
1414
+ VISIBILITY_UNSET = 0;
1415
+ VISIBILITY_LOCAL = 1;
1416
+ VISIBILITY_EXPORT = 2;
1417
+ }
@@ -28,10 +28,17 @@
28
28
  // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
29
  // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
30
  //
31
- // Wrappers for primitive (non-message) types. These types are useful
32
- // for embedding primitives in the `google.protobuf.Any` type and for places
33
- // where we need to distinguish between the absence of a primitive
34
- // typed field and its default value.
31
+ // Wrappers for primitive (non-message) types. These types were needed
32
+ // for legacy reasons and are not recommended for use in new APIs.
33
+ //
34
+ // Historically these wrappers were useful to have presence on proto3 primitive
35
+ // fields, but proto3 syntax has been updated to support the `optional` keyword.
36
+ // Using that keyword is now the strongly preferred way to add presence to
37
+ // proto3 primitive fields.
38
+ //
39
+ // A secondary usecase was to embed primitives in the `google.protobuf.Any`
40
+ // type: it is now recommended that you embed your value in your own wrapper
41
+ // message which can be specifically documented.
35
42
  //
36
43
  // These wrappers have no meaningful use within repeated fields as they lack
37
44
  // the ability to detect presence on individual elements.
@@ -53,6 +60,9 @@ option csharp_namespace = "Google.Protobuf.WellKnownTypes";
53
60
  // Wrapper message for `double`.
54
61
  //
55
62
  // The JSON representation for `DoubleValue` is JSON number.
63
+ //
64
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
65
+ // has no plan to be removed.
56
66
  message DoubleValue {
57
67
  // The double value.
58
68
  double value = 1;
@@ -61,6 +71,9 @@ message DoubleValue {
61
71
  // Wrapper message for `float`.
62
72
  //
63
73
  // The JSON representation for `FloatValue` is JSON number.
74
+ //
75
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
76
+ // has no plan to be removed.
64
77
  message FloatValue {
65
78
  // The float value.
66
79
  float value = 1;
@@ -69,6 +82,9 @@ message FloatValue {
69
82
  // Wrapper message for `int64`.
70
83
  //
71
84
  // The JSON representation for `Int64Value` is JSON string.
85
+ //
86
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
87
+ // has no plan to be removed.
72
88
  message Int64Value {
73
89
  // The int64 value.
74
90
  int64 value = 1;
@@ -77,6 +93,9 @@ message Int64Value {
77
93
  // Wrapper message for `uint64`.
78
94
  //
79
95
  // The JSON representation for `UInt64Value` is JSON string.
96
+ //
97
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
98
+ // has no plan to be removed.
80
99
  message UInt64Value {
81
100
  // The uint64 value.
82
101
  uint64 value = 1;
@@ -85,6 +104,9 @@ message UInt64Value {
85
104
  // Wrapper message for `int32`.
86
105
  //
87
106
  // The JSON representation for `Int32Value` is JSON number.
107
+ //
108
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
109
+ // has no plan to be removed.
88
110
  message Int32Value {
89
111
  // The int32 value.
90
112
  int32 value = 1;
@@ -93,6 +115,9 @@ message Int32Value {
93
115
  // Wrapper message for `uint32`.
94
116
  //
95
117
  // The JSON representation for `UInt32Value` is JSON number.
118
+ //
119
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
120
+ // has no plan to be removed.
96
121
  message UInt32Value {
97
122
  // The uint32 value.
98
123
  uint32 value = 1;
@@ -101,6 +126,9 @@ message UInt32Value {
101
126
  // Wrapper message for `bool`.
102
127
  //
103
128
  // The JSON representation for `BoolValue` is JSON `true` and `false`.
129
+ //
130
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
131
+ // has no plan to be removed.
104
132
  message BoolValue {
105
133
  // The bool value.
106
134
  bool value = 1;
@@ -109,6 +137,9 @@ message BoolValue {
109
137
  // Wrapper message for `string`.
110
138
  //
111
139
  // The JSON representation for `StringValue` is JSON string.
140
+ //
141
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
142
+ // has no plan to be removed.
112
143
  message StringValue {
113
144
  // The string value.
114
145
  string value = 1;
@@ -117,6 +148,9 @@ message StringValue {
117
148
  // Wrapper message for `bytes`.
118
149
  //
119
150
  // The JSON representation for `BytesValue` is JSON string.
151
+ //
152
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
153
+ // has no plan to be removed.
120
154
  message BytesValue {
121
155
  // The bytes value.
122
156
  bytes value = 1;
Binary file
data/bin/x86-linux/protoc CHANGED
Binary file
@@ -113,6 +113,10 @@ message FileDescriptorProto {
113
113
  // For Google-internal migration only. Do not use.
114
114
  repeated int32 weak_dependency = 11;
115
115
 
116
+ // Names of files imported by this file purely for the purpose of providing
117
+ // option extensions. These are excluded from the dependency list above.
118
+ repeated string option_dependency = 15;
119
+
116
120
  // All top-level definitions in this file.
117
121
  repeated DescriptorProto message_type = 4;
118
122
  repeated EnumDescriptorProto enum_type = 5;
@@ -131,9 +135,15 @@ message FileDescriptorProto {
131
135
  // The supported values are "proto2", "proto3", and "editions".
132
136
  //
133
137
  // If `edition` is present, this value must be "editions".
138
+ // WARNING: This field should only be used by protobuf plugins or special
139
+ // cases like the proto compiler. Other uses are discouraged and
140
+ // developers should rely on the protoreflect APIs for their client language.
134
141
  optional string syntax = 12;
135
142
 
136
143
  // The edition of the proto file.
144
+ // WARNING: This field should only be used by protobuf plugins or special
145
+ // cases like the proto compiler. Other uses are discouraged and
146
+ // developers should rely on the protoreflect APIs for their client language.
137
147
  optional Edition edition = 14;
138
148
  }
139
149
 
@@ -170,6 +180,9 @@ message DescriptorProto {
170
180
  // Reserved field names, which may not be used by fields in the same message.
171
181
  // A given name may only be reserved once.
172
182
  repeated string reserved_name = 10;
183
+
184
+ // Support for `export` and `local` keywords on enums.
185
+ optional SymbolVisibility visibility = 11;
173
186
  }
174
187
 
175
188
  message ExtensionRangeOptions {
@@ -366,6 +379,9 @@ message EnumDescriptorProto {
366
379
  // Reserved enum value names, which may not be reused. A given name may only
367
380
  // be reserved once.
368
381
  repeated string reserved_name = 5;
382
+
383
+ // Support for `export` and `local` keywords on enums.
384
+ optional SymbolVisibility visibility = 6;
369
385
  }
370
386
 
371
387
  // Describes a value within an enum.
@@ -546,6 +562,9 @@ message FileOptions {
546
562
  optional string ruby_package = 45;
547
563
 
548
564
  // Any features defined in the specific edition.
565
+ // WARNING: This field should only be used by protobuf plugins or special
566
+ // cases like the proto compiler. Other uses are discouraged and
567
+ // developers should rely on the protoreflect APIs for their client language.
549
568
  optional FeatureSet features = 50;
550
569
 
551
570
  // The parser stores options it doesn't recognize here.
@@ -632,6 +651,9 @@ message MessageOptions {
632
651
  optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
633
652
 
634
653
  // Any features defined in the specific edition.
654
+ // WARNING: This field should only be used by protobuf plugins or special
655
+ // cases like the proto compiler. Other uses are discouraged and
656
+ // developers should rely on the protoreflect APIs for their client language.
635
657
  optional FeatureSet features = 12;
636
658
 
637
659
  // The parser stores options it doesn't recognize here. See above.
@@ -772,6 +794,9 @@ message FieldOptions {
772
794
  repeated EditionDefault edition_defaults = 20;
773
795
 
774
796
  // Any features defined in the specific edition.
797
+ // WARNING: This field should only be used by protobuf plugins or special
798
+ // cases like the proto compiler. Other uses are discouraged and
799
+ // developers should rely on the protoreflect APIs for their client language.
775
800
  optional FeatureSet features = 21;
776
801
 
777
802
  // Information about the support window of a feature.
@@ -808,6 +833,9 @@ message FieldOptions {
808
833
 
809
834
  message OneofOptions {
810
835
  // Any features defined in the specific edition.
836
+ // WARNING: This field should only be used by protobuf plugins or special
837
+ // cases like the proto compiler. Other uses are discouraged and
838
+ // developers should rely on the protoreflect APIs for their client language.
811
839
  optional FeatureSet features = 1;
812
840
 
813
841
  // The parser stores options it doesn't recognize here. See above.
@@ -840,6 +868,9 @@ message EnumOptions {
840
868
  optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
841
869
 
842
870
  // Any features defined in the specific edition.
871
+ // WARNING: This field should only be used by protobuf plugins or special
872
+ // cases like the proto compiler. Other uses are discouraged and
873
+ // developers should rely on the protoreflect APIs for their client language.
843
874
  optional FeatureSet features = 7;
844
875
 
845
876
  // The parser stores options it doesn't recognize here. See above.
@@ -857,6 +888,9 @@ message EnumValueOptions {
857
888
  optional bool deprecated = 1 [default = false];
858
889
 
859
890
  // Any features defined in the specific edition.
891
+ // WARNING: This field should only be used by protobuf plugins or special
892
+ // cases like the proto compiler. Other uses are discouraged and
893
+ // developers should rely on the protoreflect APIs for their client language.
860
894
  optional FeatureSet features = 2;
861
895
 
862
896
  // Indicate that fields annotated with this enum value should not be printed
@@ -877,6 +911,9 @@ message EnumValueOptions {
877
911
  message ServiceOptions {
878
912
 
879
913
  // Any features defined in the specific edition.
914
+ // WARNING: This field should only be used by protobuf plugins or special
915
+ // cases like the proto compiler. Other uses are discouraged and
916
+ // developers should rely on the protoreflect APIs for their client language.
880
917
  optional FeatureSet features = 34;
881
918
 
882
919
  // Note: Field numbers 1 through 32 are reserved for Google's internal RPC
@@ -922,6 +959,9 @@ message MethodOptions {
922
959
  [default = IDEMPOTENCY_UNKNOWN];
923
960
 
924
961
  // Any features defined in the specific edition.
962
+ // WARNING: This field should only be used by protobuf plugins or special
963
+ // cases like the proto compiler. Other uses are discouraged and
964
+ // developers should rely on the protoreflect APIs for their client language.
925
965
  optional FeatureSet features = 35;
926
966
 
927
967
  // The parser stores options it doesn't recognize here. See above.
@@ -1068,6 +1108,60 @@ message FeatureSet {
1068
1108
  edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" }
1069
1109
  ];
1070
1110
 
1111
+ enum EnforceNamingStyle {
1112
+ ENFORCE_NAMING_STYLE_UNKNOWN = 0;
1113
+ STYLE2024 = 1;
1114
+ STYLE_LEGACY = 2;
1115
+ }
1116
+ optional EnforceNamingStyle enforce_naming_style = 7 [
1117
+ retention = RETENTION_SOURCE,
1118
+ targets = TARGET_TYPE_FILE,
1119
+ targets = TARGET_TYPE_EXTENSION_RANGE,
1120
+ targets = TARGET_TYPE_MESSAGE,
1121
+ targets = TARGET_TYPE_FIELD,
1122
+ targets = TARGET_TYPE_ONEOF,
1123
+ targets = TARGET_TYPE_ENUM,
1124
+ targets = TARGET_TYPE_ENUM_ENTRY,
1125
+ targets = TARGET_TYPE_SERVICE,
1126
+ targets = TARGET_TYPE_METHOD,
1127
+ feature_support = {
1128
+ edition_introduced: EDITION_2024,
1129
+ },
1130
+ edition_defaults = { edition: EDITION_LEGACY, value: "STYLE_LEGACY" },
1131
+ edition_defaults = { edition: EDITION_2024, value: "STYLE2024" }
1132
+ ];
1133
+
1134
+ message VisibilityFeature {
1135
+ enum DefaultSymbolVisibility {
1136
+ DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0;
1137
+
1138
+ // Default pre-EDITION_2024, all UNSET visibility are export.
1139
+ EXPORT_ALL = 1;
1140
+
1141
+ // All top-level symbols default to export, nested default to local.
1142
+ EXPORT_TOP_LEVEL = 2;
1143
+
1144
+ // All symbols default to local.
1145
+ LOCAL_ALL = 3;
1146
+
1147
+ // All symbols local by default. Nested types cannot be exported.
1148
+ // With special case caveat for message { enum {} reserved 1 to max; }
1149
+ // This is the recommended setting for new protos.
1150
+ STRICT = 4;
1151
+ }
1152
+ reserved 1 to max;
1153
+ }
1154
+ optional VisibilityFeature.DefaultSymbolVisibility default_symbol_visibility =
1155
+ 8 [
1156
+ retention = RETENTION_SOURCE,
1157
+ targets = TARGET_TYPE_FILE,
1158
+ feature_support = {
1159
+ edition_introduced: EDITION_2024,
1160
+ },
1161
+ edition_defaults = { edition: EDITION_LEGACY, value: "EXPORT_ALL" },
1162
+ edition_defaults = { edition: EDITION_2024, value: "EXPORT_TOP_LEVEL" }
1163
+ ];
1164
+
1071
1165
  reserved 999;
1072
1166
 
1073
1167
  extensions 1000 to 9994 [
@@ -1082,6 +1176,11 @@ message FeatureSet {
1082
1176
  type: ".pb.JavaFeatures"
1083
1177
  },
1084
1178
  declaration = { number: 1002, full_name: ".pb.go", type: ".pb.GoFeatures" },
1179
+ declaration = {
1180
+ number: 1003,
1181
+ full_name: ".pb.python",
1182
+ type: ".pb.PythonFeatures"
1183
+ },
1085
1184
  declaration = {
1086
1185
  number: 9990,
1087
1186
  full_name: ".pb.proto1",
@@ -1305,3 +1404,14 @@ message GeneratedCodeInfo {
1305
1404
  optional Semantic semantic = 5;
1306
1405
  }
1307
1406
  }
1407
+
1408
+ // Describes the 'visibility' of a symbol with respect to the proto import
1409
+ // system. Symbols can only be imported when the visibility rules do not prevent
1410
+ // it (ex: local symbols cannot be imported). Visibility modifiers can only set
1411
+ // on `message` and `enum` as they are the only types available to be referenced
1412
+ // from other files.
1413
+ enum SymbolVisibility {
1414
+ VISIBILITY_UNSET = 0;
1415
+ VISIBILITY_LOCAL = 1;
1416
+ VISIBILITY_EXPORT = 2;
1417
+ }
@@ -28,10 +28,17 @@
28
28
  // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
29
  // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
30
  //
31
- // Wrappers for primitive (non-message) types. These types are useful
32
- // for embedding primitives in the `google.protobuf.Any` type and for places
33
- // where we need to distinguish between the absence of a primitive
34
- // typed field and its default value.
31
+ // Wrappers for primitive (non-message) types. These types were needed
32
+ // for legacy reasons and are not recommended for use in new APIs.
33
+ //
34
+ // Historically these wrappers were useful to have presence on proto3 primitive
35
+ // fields, but proto3 syntax has been updated to support the `optional` keyword.
36
+ // Using that keyword is now the strongly preferred way to add presence to
37
+ // proto3 primitive fields.
38
+ //
39
+ // A secondary usecase was to embed primitives in the `google.protobuf.Any`
40
+ // type: it is now recommended that you embed your value in your own wrapper
41
+ // message which can be specifically documented.
35
42
  //
36
43
  // These wrappers have no meaningful use within repeated fields as they lack
37
44
  // the ability to detect presence on individual elements.
@@ -53,6 +60,9 @@ option csharp_namespace = "Google.Protobuf.WellKnownTypes";
53
60
  // Wrapper message for `double`.
54
61
  //
55
62
  // The JSON representation for `DoubleValue` is JSON number.
63
+ //
64
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
65
+ // has no plan to be removed.
56
66
  message DoubleValue {
57
67
  // The double value.
58
68
  double value = 1;
@@ -61,6 +71,9 @@ message DoubleValue {
61
71
  // Wrapper message for `float`.
62
72
  //
63
73
  // The JSON representation for `FloatValue` is JSON number.
74
+ //
75
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
76
+ // has no plan to be removed.
64
77
  message FloatValue {
65
78
  // The float value.
66
79
  float value = 1;
@@ -69,6 +82,9 @@ message FloatValue {
69
82
  // Wrapper message for `int64`.
70
83
  //
71
84
  // The JSON representation for `Int64Value` is JSON string.
85
+ //
86
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
87
+ // has no plan to be removed.
72
88
  message Int64Value {
73
89
  // The int64 value.
74
90
  int64 value = 1;
@@ -77,6 +93,9 @@ message Int64Value {
77
93
  // Wrapper message for `uint64`.
78
94
  //
79
95
  // The JSON representation for `UInt64Value` is JSON string.
96
+ //
97
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
98
+ // has no plan to be removed.
80
99
  message UInt64Value {
81
100
  // The uint64 value.
82
101
  uint64 value = 1;
@@ -85,6 +104,9 @@ message UInt64Value {
85
104
  // Wrapper message for `int32`.
86
105
  //
87
106
  // The JSON representation for `Int32Value` is JSON number.
107
+ //
108
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
109
+ // has no plan to be removed.
88
110
  message Int32Value {
89
111
  // The int32 value.
90
112
  int32 value = 1;
@@ -93,6 +115,9 @@ message Int32Value {
93
115
  // Wrapper message for `uint32`.
94
116
  //
95
117
  // The JSON representation for `UInt32Value` is JSON number.
118
+ //
119
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
120
+ // has no plan to be removed.
96
121
  message UInt32Value {
97
122
  // The uint32 value.
98
123
  uint32 value = 1;
@@ -101,6 +126,9 @@ message UInt32Value {
101
126
  // Wrapper message for `bool`.
102
127
  //
103
128
  // The JSON representation for `BoolValue` is JSON `true` and `false`.
129
+ //
130
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
131
+ // has no plan to be removed.
104
132
  message BoolValue {
105
133
  // The bool value.
106
134
  bool value = 1;
@@ -109,6 +137,9 @@ message BoolValue {
109
137
  // Wrapper message for `string`.
110
138
  //
111
139
  // The JSON representation for `StringValue` is JSON string.
140
+ //
141
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
142
+ // has no plan to be removed.
112
143
  message StringValue {
113
144
  // The string value.
114
145
  string value = 1;
@@ -117,6 +148,9 @@ message StringValue {
117
148
  // Wrapper message for `bytes`.
118
149
  //
119
150
  // The JSON representation for `BytesValue` is JSON string.
151
+ //
152
+ // Not recommended for use in new APIs, but still useful for legacy APIs and
153
+ // has no plan to be removed.
120
154
  message BytesValue {
121
155
  // The bytes value.
122
156
  bytes value = 1;
Binary file
Binary file