grpc-tools 1.70.1 → 1.72.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: 22e5698469c56df0a07ba5cd23c7857bf5b15da906d741caa3ab1b58e3d9b1f7
4
- data.tar.gz: 643ff9dbe4afcb2d9d13801530549959a12a4fc50d6fd3a8f33d8d8f9bbc5580
3
+ metadata.gz: 13cbe39dd5a81221375a64c1f7dcc4d4f245e76466043a9045326a50bd9dd2f8
4
+ data.tar.gz: 1141cf738badf02e5e091bd20ceb710890250586e52033481e6f28db6b6dd73e
5
5
  SHA512:
6
- metadata.gz: 0cd6e8af0907800c904d8e086e4aa02b3b280475a07f2eabb0e04651a1659559dad43efae6a0ea7b02d62e645406719c7805b53b72c21a16a43c77808cf0cb01
7
- data.tar.gz: d6375d0401a13512715c2bbce0b8ea818848f10dffa55aa79bda97dd544b05af0f6588c54a27d5e547525c6529fbbe137efc166f02b7b3f1720ada562e550ac2
6
+ metadata.gz: b5ff6dc1bfa7bdea7620fb1415aea359e0f3df6a8e2554fd41ffbf20ee869b8d19ceb55ad00ef1ea719358386257a95f1de34a2b1bf982f2f5687231c5a2ab01
7
+ data.tar.gz: 83b242ebc90b4fea232a9ef93ff296026e33c8dca0781b54bafb607d154833a8f7f24cece3cbae8249e40668c2a88427c0df31507f4efbb58b10515fa443b811
@@ -131,9 +131,15 @@ message FileDescriptorProto {
131
131
  // The supported values are "proto2", "proto3", and "editions".
132
132
  //
133
133
  // If `edition` is present, this value must be "editions".
134
+ // WARNING: This field should only be used by protobuf plugins or special
135
+ // cases like the proto compiler. Other uses are discouraged and
136
+ // developers should rely on the protoreflect APIs for their client language.
134
137
  optional string syntax = 12;
135
138
 
136
139
  // The edition of the proto file.
140
+ // WARNING: This field should only be used by protobuf plugins or special
141
+ // cases like the proto compiler. Other uses are discouraged and
142
+ // developers should rely on the protoreflect APIs for their client language.
137
143
  optional Edition edition = 14;
138
144
  }
139
145
 
@@ -546,6 +552,9 @@ message FileOptions {
546
552
  optional string ruby_package = 45;
547
553
 
548
554
  // Any features defined in the specific edition.
555
+ // WARNING: This field should only be used by protobuf plugins or special
556
+ // cases like the proto compiler. Other uses are discouraged and
557
+ // developers should rely on the protoreflect APIs for their client language.
549
558
  optional FeatureSet features = 50;
550
559
 
551
560
  // The parser stores options it doesn't recognize here.
@@ -632,6 +641,9 @@ message MessageOptions {
632
641
  optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
633
642
 
634
643
  // Any features defined in the specific edition.
644
+ // WARNING: This field should only be used by protobuf plugins or special
645
+ // cases like the proto compiler. Other uses are discouraged and
646
+ // developers should rely on the protoreflect APIs for their client language.
635
647
  optional FeatureSet features = 12;
636
648
 
637
649
  // The parser stores options it doesn't recognize here. See above.
@@ -772,6 +784,9 @@ message FieldOptions {
772
784
  repeated EditionDefault edition_defaults = 20;
773
785
 
774
786
  // Any features defined in the specific edition.
787
+ // WARNING: This field should only be used by protobuf plugins or special
788
+ // cases like the proto compiler. Other uses are discouraged and
789
+ // developers should rely on the protoreflect APIs for their client language.
775
790
  optional FeatureSet features = 21;
776
791
 
777
792
  // Information about the support window of a feature.
@@ -808,6 +823,9 @@ message FieldOptions {
808
823
 
809
824
  message OneofOptions {
810
825
  // Any features defined in the specific edition.
826
+ // WARNING: This field should only be used by protobuf plugins or special
827
+ // cases like the proto compiler. Other uses are discouraged and
828
+ // developers should rely on the protoreflect APIs for their client language.
811
829
  optional FeatureSet features = 1;
812
830
 
813
831
  // The parser stores options it doesn't recognize here. See above.
@@ -840,6 +858,9 @@ message EnumOptions {
840
858
  optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
841
859
 
842
860
  // Any features defined in the specific edition.
861
+ // WARNING: This field should only be used by protobuf plugins or special
862
+ // cases like the proto compiler. Other uses are discouraged and
863
+ // developers should rely on the protoreflect APIs for their client language.
843
864
  optional FeatureSet features = 7;
844
865
 
845
866
  // The parser stores options it doesn't recognize here. See above.
@@ -857,6 +878,9 @@ message EnumValueOptions {
857
878
  optional bool deprecated = 1 [default = false];
858
879
 
859
880
  // Any features defined in the specific edition.
881
+ // WARNING: This field should only be used by protobuf plugins or special
882
+ // cases like the proto compiler. Other uses are discouraged and
883
+ // developers should rely on the protoreflect APIs for their client language.
860
884
  optional FeatureSet features = 2;
861
885
 
862
886
  // Indicate that fields annotated with this enum value should not be printed
@@ -877,6 +901,9 @@ message EnumValueOptions {
877
901
  message ServiceOptions {
878
902
 
879
903
  // Any features defined in the specific edition.
904
+ // WARNING: This field should only be used by protobuf plugins or special
905
+ // cases like the proto compiler. Other uses are discouraged and
906
+ // developers should rely on the protoreflect APIs for their client language.
880
907
  optional FeatureSet features = 34;
881
908
 
882
909
  // Note: Field numbers 1 through 32 are reserved for Google's internal RPC
@@ -922,6 +949,9 @@ message MethodOptions {
922
949
  [default = IDEMPOTENCY_UNKNOWN];
923
950
 
924
951
  // Any features defined in the specific edition.
952
+ // WARNING: This field should only be used by protobuf plugins or special
953
+ // cases like the proto compiler. Other uses are discouraged and
954
+ // developers should rely on the protoreflect APIs for their client language.
925
955
  optional FeatureSet features = 35;
926
956
 
927
957
  // The parser stores options it doesn't recognize here. See above.
@@ -1068,6 +1098,29 @@ message FeatureSet {
1068
1098
  edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" }
1069
1099
  ];
1070
1100
 
1101
+ enum EnforceNamingStyle {
1102
+ ENFORCE_NAMING_STYLE_UNKNOWN = 0;
1103
+ STYLE2024 = 1;
1104
+ STYLE_LEGACY = 2;
1105
+ }
1106
+ optional EnforceNamingStyle enforce_naming_style = 7 [
1107
+ retention = RETENTION_SOURCE,
1108
+ targets = TARGET_TYPE_FILE,
1109
+ targets = TARGET_TYPE_EXTENSION_RANGE,
1110
+ targets = TARGET_TYPE_MESSAGE,
1111
+ targets = TARGET_TYPE_FIELD,
1112
+ targets = TARGET_TYPE_ONEOF,
1113
+ targets = TARGET_TYPE_ENUM,
1114
+ targets = TARGET_TYPE_ENUM_ENTRY,
1115
+ targets = TARGET_TYPE_SERVICE,
1116
+ targets = TARGET_TYPE_METHOD,
1117
+ feature_support = {
1118
+ edition_introduced: EDITION_2024,
1119
+ },
1120
+ edition_defaults = { edition: EDITION_LEGACY, value: "STYLE_LEGACY" },
1121
+ edition_defaults = { edition: EDITION_2024, value: "STYLE2024" }
1122
+ ];
1123
+
1071
1124
  reserved 999;
1072
1125
 
1073
1126
  extensions 1000 to 9994 [
@@ -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
@@ -131,9 +131,15 @@ message FileDescriptorProto {
131
131
  // The supported values are "proto2", "proto3", and "editions".
132
132
  //
133
133
  // If `edition` is present, this value must be "editions".
134
+ // WARNING: This field should only be used by protobuf plugins or special
135
+ // cases like the proto compiler. Other uses are discouraged and
136
+ // developers should rely on the protoreflect APIs for their client language.
134
137
  optional string syntax = 12;
135
138
 
136
139
  // The edition of the proto file.
140
+ // WARNING: This field should only be used by protobuf plugins or special
141
+ // cases like the proto compiler. Other uses are discouraged and
142
+ // developers should rely on the protoreflect APIs for their client language.
137
143
  optional Edition edition = 14;
138
144
  }
139
145
 
@@ -546,6 +552,9 @@ message FileOptions {
546
552
  optional string ruby_package = 45;
547
553
 
548
554
  // Any features defined in the specific edition.
555
+ // WARNING: This field should only be used by protobuf plugins or special
556
+ // cases like the proto compiler. Other uses are discouraged and
557
+ // developers should rely on the protoreflect APIs for their client language.
549
558
  optional FeatureSet features = 50;
550
559
 
551
560
  // The parser stores options it doesn't recognize here.
@@ -632,6 +641,9 @@ message MessageOptions {
632
641
  optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
633
642
 
634
643
  // Any features defined in the specific edition.
644
+ // WARNING: This field should only be used by protobuf plugins or special
645
+ // cases like the proto compiler. Other uses are discouraged and
646
+ // developers should rely on the protoreflect APIs for their client language.
635
647
  optional FeatureSet features = 12;
636
648
 
637
649
  // The parser stores options it doesn't recognize here. See above.
@@ -772,6 +784,9 @@ message FieldOptions {
772
784
  repeated EditionDefault edition_defaults = 20;
773
785
 
774
786
  // Any features defined in the specific edition.
787
+ // WARNING: This field should only be used by protobuf plugins or special
788
+ // cases like the proto compiler. Other uses are discouraged and
789
+ // developers should rely on the protoreflect APIs for their client language.
775
790
  optional FeatureSet features = 21;
776
791
 
777
792
  // Information about the support window of a feature.
@@ -808,6 +823,9 @@ message FieldOptions {
808
823
 
809
824
  message OneofOptions {
810
825
  // Any features defined in the specific edition.
826
+ // WARNING: This field should only be used by protobuf plugins or special
827
+ // cases like the proto compiler. Other uses are discouraged and
828
+ // developers should rely on the protoreflect APIs for their client language.
811
829
  optional FeatureSet features = 1;
812
830
 
813
831
  // The parser stores options it doesn't recognize here. See above.
@@ -840,6 +858,9 @@ message EnumOptions {
840
858
  optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
841
859
 
842
860
  // Any features defined in the specific edition.
861
+ // WARNING: This field should only be used by protobuf plugins or special
862
+ // cases like the proto compiler. Other uses are discouraged and
863
+ // developers should rely on the protoreflect APIs for their client language.
843
864
  optional FeatureSet features = 7;
844
865
 
845
866
  // The parser stores options it doesn't recognize here. See above.
@@ -857,6 +878,9 @@ message EnumValueOptions {
857
878
  optional bool deprecated = 1 [default = false];
858
879
 
859
880
  // Any features defined in the specific edition.
881
+ // WARNING: This field should only be used by protobuf plugins or special
882
+ // cases like the proto compiler. Other uses are discouraged and
883
+ // developers should rely on the protoreflect APIs for their client language.
860
884
  optional FeatureSet features = 2;
861
885
 
862
886
  // Indicate that fields annotated with this enum value should not be printed
@@ -877,6 +901,9 @@ message EnumValueOptions {
877
901
  message ServiceOptions {
878
902
 
879
903
  // Any features defined in the specific edition.
904
+ // WARNING: This field should only be used by protobuf plugins or special
905
+ // cases like the proto compiler. Other uses are discouraged and
906
+ // developers should rely on the protoreflect APIs for their client language.
880
907
  optional FeatureSet features = 34;
881
908
 
882
909
  // Note: Field numbers 1 through 32 are reserved for Google's internal RPC
@@ -922,6 +949,9 @@ message MethodOptions {
922
949
  [default = IDEMPOTENCY_UNKNOWN];
923
950
 
924
951
  // Any features defined in the specific edition.
952
+ // WARNING: This field should only be used by protobuf plugins or special
953
+ // cases like the proto compiler. Other uses are discouraged and
954
+ // developers should rely on the protoreflect APIs for their client language.
925
955
  optional FeatureSet features = 35;
926
956
 
927
957
  // The parser stores options it doesn't recognize here. See above.
@@ -1068,6 +1098,29 @@ message FeatureSet {
1068
1098
  edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" }
1069
1099
  ];
1070
1100
 
1101
+ enum EnforceNamingStyle {
1102
+ ENFORCE_NAMING_STYLE_UNKNOWN = 0;
1103
+ STYLE2024 = 1;
1104
+ STYLE_LEGACY = 2;
1105
+ }
1106
+ optional EnforceNamingStyle enforce_naming_style = 7 [
1107
+ retention = RETENTION_SOURCE,
1108
+ targets = TARGET_TYPE_FILE,
1109
+ targets = TARGET_TYPE_EXTENSION_RANGE,
1110
+ targets = TARGET_TYPE_MESSAGE,
1111
+ targets = TARGET_TYPE_FIELD,
1112
+ targets = TARGET_TYPE_ONEOF,
1113
+ targets = TARGET_TYPE_ENUM,
1114
+ targets = TARGET_TYPE_ENUM_ENTRY,
1115
+ targets = TARGET_TYPE_SERVICE,
1116
+ targets = TARGET_TYPE_METHOD,
1117
+ feature_support = {
1118
+ edition_introduced: EDITION_2024,
1119
+ },
1120
+ edition_defaults = { edition: EDITION_LEGACY, value: "STYLE_LEGACY" },
1121
+ edition_defaults = { edition: EDITION_2024, value: "STYLE2024" }
1122
+ ];
1123
+
1071
1124
  reserved 999;
1072
1125
 
1073
1126
  extensions 1000 to 9994 [
@@ -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
@@ -131,9 +131,15 @@ message FileDescriptorProto {
131
131
  // The supported values are "proto2", "proto3", and "editions".
132
132
  //
133
133
  // If `edition` is present, this value must be "editions".
134
+ // WARNING: This field should only be used by protobuf plugins or special
135
+ // cases like the proto compiler. Other uses are discouraged and
136
+ // developers should rely on the protoreflect APIs for their client language.
134
137
  optional string syntax = 12;
135
138
 
136
139
  // The edition of the proto file.
140
+ // WARNING: This field should only be used by protobuf plugins or special
141
+ // cases like the proto compiler. Other uses are discouraged and
142
+ // developers should rely on the protoreflect APIs for their client language.
137
143
  optional Edition edition = 14;
138
144
  }
139
145
 
@@ -546,6 +552,9 @@ message FileOptions {
546
552
  optional string ruby_package = 45;
547
553
 
548
554
  // Any features defined in the specific edition.
555
+ // WARNING: This field should only be used by protobuf plugins or special
556
+ // cases like the proto compiler. Other uses are discouraged and
557
+ // developers should rely on the protoreflect APIs for their client language.
549
558
  optional FeatureSet features = 50;
550
559
 
551
560
  // The parser stores options it doesn't recognize here.
@@ -632,6 +641,9 @@ message MessageOptions {
632
641
  optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
633
642
 
634
643
  // Any features defined in the specific edition.
644
+ // WARNING: This field should only be used by protobuf plugins or special
645
+ // cases like the proto compiler. Other uses are discouraged and
646
+ // developers should rely on the protoreflect APIs for their client language.
635
647
  optional FeatureSet features = 12;
636
648
 
637
649
  // The parser stores options it doesn't recognize here. See above.
@@ -772,6 +784,9 @@ message FieldOptions {
772
784
  repeated EditionDefault edition_defaults = 20;
773
785
 
774
786
  // Any features defined in the specific edition.
787
+ // WARNING: This field should only be used by protobuf plugins or special
788
+ // cases like the proto compiler. Other uses are discouraged and
789
+ // developers should rely on the protoreflect APIs for their client language.
775
790
  optional FeatureSet features = 21;
776
791
 
777
792
  // Information about the support window of a feature.
@@ -808,6 +823,9 @@ message FieldOptions {
808
823
 
809
824
  message OneofOptions {
810
825
  // Any features defined in the specific edition.
826
+ // WARNING: This field should only be used by protobuf plugins or special
827
+ // cases like the proto compiler. Other uses are discouraged and
828
+ // developers should rely on the protoreflect APIs for their client language.
811
829
  optional FeatureSet features = 1;
812
830
 
813
831
  // The parser stores options it doesn't recognize here. See above.
@@ -840,6 +858,9 @@ message EnumOptions {
840
858
  optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
841
859
 
842
860
  // Any features defined in the specific edition.
861
+ // WARNING: This field should only be used by protobuf plugins or special
862
+ // cases like the proto compiler. Other uses are discouraged and
863
+ // developers should rely on the protoreflect APIs for their client language.
843
864
  optional FeatureSet features = 7;
844
865
 
845
866
  // The parser stores options it doesn't recognize here. See above.
@@ -857,6 +878,9 @@ message EnumValueOptions {
857
878
  optional bool deprecated = 1 [default = false];
858
879
 
859
880
  // Any features defined in the specific edition.
881
+ // WARNING: This field should only be used by protobuf plugins or special
882
+ // cases like the proto compiler. Other uses are discouraged and
883
+ // developers should rely on the protoreflect APIs for their client language.
860
884
  optional FeatureSet features = 2;
861
885
 
862
886
  // Indicate that fields annotated with this enum value should not be printed
@@ -877,6 +901,9 @@ message EnumValueOptions {
877
901
  message ServiceOptions {
878
902
 
879
903
  // Any features defined in the specific edition.
904
+ // WARNING: This field should only be used by protobuf plugins or special
905
+ // cases like the proto compiler. Other uses are discouraged and
906
+ // developers should rely on the protoreflect APIs for their client language.
880
907
  optional FeatureSet features = 34;
881
908
 
882
909
  // Note: Field numbers 1 through 32 are reserved for Google's internal RPC
@@ -922,6 +949,9 @@ message MethodOptions {
922
949
  [default = IDEMPOTENCY_UNKNOWN];
923
950
 
924
951
  // Any features defined in the specific edition.
952
+ // WARNING: This field should only be used by protobuf plugins or special
953
+ // cases like the proto compiler. Other uses are discouraged and
954
+ // developers should rely on the protoreflect APIs for their client language.
925
955
  optional FeatureSet features = 35;
926
956
 
927
957
  // The parser stores options it doesn't recognize here. See above.
@@ -1068,6 +1098,29 @@ message FeatureSet {
1068
1098
  edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" }
1069
1099
  ];
1070
1100
 
1101
+ enum EnforceNamingStyle {
1102
+ ENFORCE_NAMING_STYLE_UNKNOWN = 0;
1103
+ STYLE2024 = 1;
1104
+ STYLE_LEGACY = 2;
1105
+ }
1106
+ optional EnforceNamingStyle enforce_naming_style = 7 [
1107
+ retention = RETENTION_SOURCE,
1108
+ targets = TARGET_TYPE_FILE,
1109
+ targets = TARGET_TYPE_EXTENSION_RANGE,
1110
+ targets = TARGET_TYPE_MESSAGE,
1111
+ targets = TARGET_TYPE_FIELD,
1112
+ targets = TARGET_TYPE_ONEOF,
1113
+ targets = TARGET_TYPE_ENUM,
1114
+ targets = TARGET_TYPE_ENUM_ENTRY,
1115
+ targets = TARGET_TYPE_SERVICE,
1116
+ targets = TARGET_TYPE_METHOD,
1117
+ feature_support = {
1118
+ edition_introduced: EDITION_2024,
1119
+ },
1120
+ edition_defaults = { edition: EDITION_LEGACY, value: "STYLE_LEGACY" },
1121
+ edition_defaults = { edition: EDITION_2024, value: "STYLE2024" }
1122
+ ];
1123
+
1071
1124
  reserved 999;
1072
1125
 
1073
1126
  extensions 1000 to 9994 [
@@ -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
@@ -131,9 +131,15 @@ message FileDescriptorProto {
131
131
  // The supported values are "proto2", "proto3", and "editions".
132
132
  //
133
133
  // If `edition` is present, this value must be "editions".
134
+ // WARNING: This field should only be used by protobuf plugins or special
135
+ // cases like the proto compiler. Other uses are discouraged and
136
+ // developers should rely on the protoreflect APIs for their client language.
134
137
  optional string syntax = 12;
135
138
 
136
139
  // The edition of the proto file.
140
+ // WARNING: This field should only be used by protobuf plugins or special
141
+ // cases like the proto compiler. Other uses are discouraged and
142
+ // developers should rely on the protoreflect APIs for their client language.
137
143
  optional Edition edition = 14;
138
144
  }
139
145
 
@@ -546,6 +552,9 @@ message FileOptions {
546
552
  optional string ruby_package = 45;
547
553
 
548
554
  // Any features defined in the specific edition.
555
+ // WARNING: This field should only be used by protobuf plugins or special
556
+ // cases like the proto compiler. Other uses are discouraged and
557
+ // developers should rely on the protoreflect APIs for their client language.
549
558
  optional FeatureSet features = 50;
550
559
 
551
560
  // The parser stores options it doesn't recognize here.
@@ -632,6 +641,9 @@ message MessageOptions {
632
641
  optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
633
642
 
634
643
  // Any features defined in the specific edition.
644
+ // WARNING: This field should only be used by protobuf plugins or special
645
+ // cases like the proto compiler. Other uses are discouraged and
646
+ // developers should rely on the protoreflect APIs for their client language.
635
647
  optional FeatureSet features = 12;
636
648
 
637
649
  // The parser stores options it doesn't recognize here. See above.
@@ -772,6 +784,9 @@ message FieldOptions {
772
784
  repeated EditionDefault edition_defaults = 20;
773
785
 
774
786
  // Any features defined in the specific edition.
787
+ // WARNING: This field should only be used by protobuf plugins or special
788
+ // cases like the proto compiler. Other uses are discouraged and
789
+ // developers should rely on the protoreflect APIs for their client language.
775
790
  optional FeatureSet features = 21;
776
791
 
777
792
  // Information about the support window of a feature.
@@ -808,6 +823,9 @@ message FieldOptions {
808
823
 
809
824
  message OneofOptions {
810
825
  // Any features defined in the specific edition.
826
+ // WARNING: This field should only be used by protobuf plugins or special
827
+ // cases like the proto compiler. Other uses are discouraged and
828
+ // developers should rely on the protoreflect APIs for their client language.
811
829
  optional FeatureSet features = 1;
812
830
 
813
831
  // The parser stores options it doesn't recognize here. See above.
@@ -840,6 +858,9 @@ message EnumOptions {
840
858
  optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
841
859
 
842
860
  // Any features defined in the specific edition.
861
+ // WARNING: This field should only be used by protobuf plugins or special
862
+ // cases like the proto compiler. Other uses are discouraged and
863
+ // developers should rely on the protoreflect APIs for their client language.
843
864
  optional FeatureSet features = 7;
844
865
 
845
866
  // The parser stores options it doesn't recognize here. See above.
@@ -857,6 +878,9 @@ message EnumValueOptions {
857
878
  optional bool deprecated = 1 [default = false];
858
879
 
859
880
  // Any features defined in the specific edition.
881
+ // WARNING: This field should only be used by protobuf plugins or special
882
+ // cases like the proto compiler. Other uses are discouraged and
883
+ // developers should rely on the protoreflect APIs for their client language.
860
884
  optional FeatureSet features = 2;
861
885
 
862
886
  // Indicate that fields annotated with this enum value should not be printed
@@ -877,6 +901,9 @@ message EnumValueOptions {
877
901
  message ServiceOptions {
878
902
 
879
903
  // Any features defined in the specific edition.
904
+ // WARNING: This field should only be used by protobuf plugins or special
905
+ // cases like the proto compiler. Other uses are discouraged and
906
+ // developers should rely on the protoreflect APIs for their client language.
880
907
  optional FeatureSet features = 34;
881
908
 
882
909
  // Note: Field numbers 1 through 32 are reserved for Google's internal RPC
@@ -922,6 +949,9 @@ message MethodOptions {
922
949
  [default = IDEMPOTENCY_UNKNOWN];
923
950
 
924
951
  // Any features defined in the specific edition.
952
+ // WARNING: This field should only be used by protobuf plugins or special
953
+ // cases like the proto compiler. Other uses are discouraged and
954
+ // developers should rely on the protoreflect APIs for their client language.
925
955
  optional FeatureSet features = 35;
926
956
 
927
957
  // The parser stores options it doesn't recognize here. See above.
@@ -1068,6 +1098,29 @@ message FeatureSet {
1068
1098
  edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" }
1069
1099
  ];
1070
1100
 
1101
+ enum EnforceNamingStyle {
1102
+ ENFORCE_NAMING_STYLE_UNKNOWN = 0;
1103
+ STYLE2024 = 1;
1104
+ STYLE_LEGACY = 2;
1105
+ }
1106
+ optional EnforceNamingStyle enforce_naming_style = 7 [
1107
+ retention = RETENTION_SOURCE,
1108
+ targets = TARGET_TYPE_FILE,
1109
+ targets = TARGET_TYPE_EXTENSION_RANGE,
1110
+ targets = TARGET_TYPE_MESSAGE,
1111
+ targets = TARGET_TYPE_FIELD,
1112
+ targets = TARGET_TYPE_ONEOF,
1113
+ targets = TARGET_TYPE_ENUM,
1114
+ targets = TARGET_TYPE_ENUM_ENTRY,
1115
+ targets = TARGET_TYPE_SERVICE,
1116
+ targets = TARGET_TYPE_METHOD,
1117
+ feature_support = {
1118
+ edition_introduced: EDITION_2024,
1119
+ },
1120
+ edition_defaults = { edition: EDITION_LEGACY, value: "STYLE_LEGACY" },
1121
+ edition_defaults = { edition: EDITION_2024, value: "STYLE2024" }
1122
+ ];
1123
+
1071
1124
  reserved 999;
1072
1125
 
1073
1126
  extensions 1000 to 9994 [
@@ -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
@@ -131,9 +131,15 @@ message FileDescriptorProto {
131
131
  // The supported values are "proto2", "proto3", and "editions".
132
132
  //
133
133
  // If `edition` is present, this value must be "editions".
134
+ // WARNING: This field should only be used by protobuf plugins or special
135
+ // cases like the proto compiler. Other uses are discouraged and
136
+ // developers should rely on the protoreflect APIs for their client language.
134
137
  optional string syntax = 12;
135
138
 
136
139
  // The edition of the proto file.
140
+ // WARNING: This field should only be used by protobuf plugins or special
141
+ // cases like the proto compiler. Other uses are discouraged and
142
+ // developers should rely on the protoreflect APIs for their client language.
137
143
  optional Edition edition = 14;
138
144
  }
139
145
 
@@ -546,6 +552,9 @@ message FileOptions {
546
552
  optional string ruby_package = 45;
547
553
 
548
554
  // Any features defined in the specific edition.
555
+ // WARNING: This field should only be used by protobuf plugins or special
556
+ // cases like the proto compiler. Other uses are discouraged and
557
+ // developers should rely on the protoreflect APIs for their client language.
549
558
  optional FeatureSet features = 50;
550
559
 
551
560
  // The parser stores options it doesn't recognize here.
@@ -632,6 +641,9 @@ message MessageOptions {
632
641
  optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
633
642
 
634
643
  // Any features defined in the specific edition.
644
+ // WARNING: This field should only be used by protobuf plugins or special
645
+ // cases like the proto compiler. Other uses are discouraged and
646
+ // developers should rely on the protoreflect APIs for their client language.
635
647
  optional FeatureSet features = 12;
636
648
 
637
649
  // The parser stores options it doesn't recognize here. See above.
@@ -772,6 +784,9 @@ message FieldOptions {
772
784
  repeated EditionDefault edition_defaults = 20;
773
785
 
774
786
  // Any features defined in the specific edition.
787
+ // WARNING: This field should only be used by protobuf plugins or special
788
+ // cases like the proto compiler. Other uses are discouraged and
789
+ // developers should rely on the protoreflect APIs for their client language.
775
790
  optional FeatureSet features = 21;
776
791
 
777
792
  // Information about the support window of a feature.
@@ -808,6 +823,9 @@ message FieldOptions {
808
823
 
809
824
  message OneofOptions {
810
825
  // Any features defined in the specific edition.
826
+ // WARNING: This field should only be used by protobuf plugins or special
827
+ // cases like the proto compiler. Other uses are discouraged and
828
+ // developers should rely on the protoreflect APIs for their client language.
811
829
  optional FeatureSet features = 1;
812
830
 
813
831
  // The parser stores options it doesn't recognize here. See above.
@@ -840,6 +858,9 @@ message EnumOptions {
840
858
  optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
841
859
 
842
860
  // Any features defined in the specific edition.
861
+ // WARNING: This field should only be used by protobuf plugins or special
862
+ // cases like the proto compiler. Other uses are discouraged and
863
+ // developers should rely on the protoreflect APIs for their client language.
843
864
  optional FeatureSet features = 7;
844
865
 
845
866
  // The parser stores options it doesn't recognize here. See above.
@@ -857,6 +878,9 @@ message EnumValueOptions {
857
878
  optional bool deprecated = 1 [default = false];
858
879
 
859
880
  // Any features defined in the specific edition.
881
+ // WARNING: This field should only be used by protobuf plugins or special
882
+ // cases like the proto compiler. Other uses are discouraged and
883
+ // developers should rely on the protoreflect APIs for their client language.
860
884
  optional FeatureSet features = 2;
861
885
 
862
886
  // Indicate that fields annotated with this enum value should not be printed
@@ -877,6 +901,9 @@ message EnumValueOptions {
877
901
  message ServiceOptions {
878
902
 
879
903
  // Any features defined in the specific edition.
904
+ // WARNING: This field should only be used by protobuf plugins or special
905
+ // cases like the proto compiler. Other uses are discouraged and
906
+ // developers should rely on the protoreflect APIs for their client language.
880
907
  optional FeatureSet features = 34;
881
908
 
882
909
  // Note: Field numbers 1 through 32 are reserved for Google's internal RPC
@@ -922,6 +949,9 @@ message MethodOptions {
922
949
  [default = IDEMPOTENCY_UNKNOWN];
923
950
 
924
951
  // Any features defined in the specific edition.
952
+ // WARNING: This field should only be used by protobuf plugins or special
953
+ // cases like the proto compiler. Other uses are discouraged and
954
+ // developers should rely on the protoreflect APIs for their client language.
925
955
  optional FeatureSet features = 35;
926
956
 
927
957
  // The parser stores options it doesn't recognize here. See above.
@@ -1068,6 +1098,29 @@ message FeatureSet {
1068
1098
  edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" }
1069
1099
  ];
1070
1100
 
1101
+ enum EnforceNamingStyle {
1102
+ ENFORCE_NAMING_STYLE_UNKNOWN = 0;
1103
+ STYLE2024 = 1;
1104
+ STYLE_LEGACY = 2;
1105
+ }
1106
+ optional EnforceNamingStyle enforce_naming_style = 7 [
1107
+ retention = RETENTION_SOURCE,
1108
+ targets = TARGET_TYPE_FILE,
1109
+ targets = TARGET_TYPE_EXTENSION_RANGE,
1110
+ targets = TARGET_TYPE_MESSAGE,
1111
+ targets = TARGET_TYPE_FIELD,
1112
+ targets = TARGET_TYPE_ONEOF,
1113
+ targets = TARGET_TYPE_ENUM,
1114
+ targets = TARGET_TYPE_ENUM_ENTRY,
1115
+ targets = TARGET_TYPE_SERVICE,
1116
+ targets = TARGET_TYPE_METHOD,
1117
+ feature_support = {
1118
+ edition_introduced: EDITION_2024,
1119
+ },
1120
+ edition_defaults = { edition: EDITION_LEGACY, value: "STYLE_LEGACY" },
1121
+ edition_defaults = { edition: EDITION_2024, value: "STYLE2024" }
1122
+ ];
1123
+
1071
1124
  reserved 999;
1072
1125
 
1073
1126
  extensions 1000 to 9994 [
@@ -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/version.rb CHANGED
@@ -14,6 +14,6 @@
14
14
 
15
15
  module GRPC
16
16
  module Tools
17
- VERSION = '1.70.1'
17
+ VERSION = '1.72.0'
18
18
  end
19
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grpc-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.70.1
4
+ version: 1.72.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - grpc Authors
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-31 00:00:00.000000000 Z
11
+ date: 2025-04-23 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: protoc and the Ruby gRPC protoc plugin
14
14
  email: grpc-io@googlegroups.com
@@ -97,7 +97,7 @@ homepage: https://github.com/google/grpc/tree/master/src/ruby/tools
97
97
  licenses:
98
98
  - Apache-2.0
99
99
  metadata: {}
100
- post_install_message:
100
+ post_install_message:
101
101
  rdoc_options: []
102
102
  require_paths:
103
103
  - lib
@@ -112,8 +112,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  - !ruby/object:Gem::Version
113
113
  version: '0'
114
114
  requirements: []
115
- rubygems_version: 3.0.8
116
- signing_key:
115
+ rubygems_version: 3.2.33
116
+ signing_key:
117
117
  specification_version: 4
118
118
  summary: Development tools for Ruby gRPC
119
119
  test_files: []