grpc-tools 1.62.0 → 1.63.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7cc9b3df4344bb57262d9cd05ed5add7d9b2385b6f7be12da02928454c407f9
4
- data.tar.gz: d614f3f840ebf1cb1baa27db05e64b8bd6fb8ef27929739f810ce767be863126
3
+ metadata.gz: a1c5347d46554ea5723a8d6c0cfc5d2e296d28ed371dea2e5c08adde2c2abfff
4
+ data.tar.gz: 97dd4296d62cb61333a959bca45c2bfe27e53e87499390ed79887dd22f49875a
5
5
  SHA512:
6
- metadata.gz: 6fce4ca1aed8ce0ec825eefb1ee6b01f5528dcbea8684a20a6d84bbaed5978d5c02b4d612eaf1ea483dc0b5e0fc01273286b368bc22c10c74db4f88adcefd7f5
7
- data.tar.gz: 990c34030f35ef593ed2266fa7073d86dfdb8384f6dcc9a151975fac443ae7ed215cfb98362d29fcc46cafdc36c8cb0b078b22c0f041f81f41cb61d993f7d500
6
+ metadata.gz: 55386f084f4c1e5d148c3713a6a5df437f2ba8542ea42bb4e3b65915f38c51beae7cf3c8da66a986644acff2d8a82e456b8f9690ab8cabca1f9ec587428f0298
7
+ data.tar.gz: dd7039281dabaa4be2546965dbb4ba02de7b920656e6ba8047b8fe3f44086bdefd28cccde8de1aaadd13746f99f03c8517557063a327ea85fe163d50089a22b0
@@ -102,6 +102,18 @@ message CodeGeneratorResponse {
102
102
  FEATURE_SUPPORTS_EDITIONS = 2;
103
103
  }
104
104
 
105
+ // The minimum edition this plugin supports. This will be treated as an
106
+ // Edition enum, but we want to allow unknown values. It should be specified
107
+ // according the edition enum value, *not* the edition number. Only takes
108
+ // effect for plugins that have FEATURE_SUPPORTS_EDITIONS set.
109
+ optional int32 minimum_edition = 3;
110
+
111
+ // The maximum edition this plugin supports. This will be treated as an
112
+ // Edition enum, but we want to allow unknown values. It should be specified
113
+ // according the edition enum value, *not* the edition number. Only takes
114
+ // effect for plugins that have FEATURE_SUPPORTS_EDITIONS set.
115
+ optional int32 maximum_edition = 4;
116
+
105
117
  // Represents a single generated file.
106
118
  message File {
107
119
  // The file name, relative to the output directory. The name must not
@@ -73,6 +73,7 @@ enum Edition {
73
73
  // should not be depended on, but they will always be time-ordered for easy
74
74
  // comparison.
75
75
  EDITION_2023 = 1000;
76
+ EDITION_2024 = 1001;
76
77
 
77
78
  // Placeholder editions for testing feature resolution. These should not be
78
79
  // used or relyed on outside of tests.
@@ -81,6 +82,11 @@ enum Edition {
81
82
  EDITION_99997_TEST_ONLY = 99997;
82
83
  EDITION_99998_TEST_ONLY = 99998;
83
84
  EDITION_99999_TEST_ONLY = 99999;
85
+
86
+ // Placeholder for specifying unbounded edition support. This should only
87
+ // ever be used by plugins that can expect to never require any changes to
88
+ // support a new edition.
89
+ EDITION_MAX = 0x7FFFFFFF;
84
90
  }
85
91
 
86
92
  // Describes a complete .proto file.
@@ -202,7 +208,8 @@ message ExtensionRangeOptions {
202
208
  // The verification state of the range.
203
209
  // TODO: flip the default to DECLARATION once all empty ranges
204
210
  // are marked as UNVERIFIED.
205
- optional VerificationState verification = 3 [default = UNVERIFIED];
211
+ optional VerificationState verification = 3
212
+ [default = UNVERIFIED, retention = RETENTION_SOURCE];
206
213
 
207
214
  // Clients can define custom options in extensions of this message. See above.
208
215
  extensions 1000 to max;
@@ -294,12 +301,12 @@ message FieldDescriptorProto {
294
301
  // If true, this is a proto3 "optional". When a proto3 field is optional, it
295
302
  // tracks presence regardless of field type.
296
303
  //
297
- // When proto3_optional is true, this field must be belong to a oneof to
298
- // signal to old proto3 clients that presence is tracked for this field. This
299
- // oneof is known as a "synthetic" oneof, and this field must be its sole
300
- // member (each proto3 optional field gets its own synthetic oneof). Synthetic
301
- // oneofs exist in the descriptor only, and do not generate any API. Synthetic
302
- // oneofs must be ordered after all "real" oneofs.
304
+ // When proto3_optional is true, this field must belong to a oneof to signal
305
+ // to old proto3 clients that presence is tracked for this field. This oneof
306
+ // is known as a "synthetic" oneof, and this field must be its sole member
307
+ // (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
308
+ // exist in the descriptor only, and do not generate any API. Synthetic oneofs
309
+ // must be ordered after all "real" oneofs.
303
310
  //
304
311
  // For message fields, proto3_optional doesn't create any semantic change,
305
312
  // since non-repeated message fields always track presence. However it still
@@ -478,7 +485,7 @@ message FileOptions {
478
485
  optional bool cc_generic_services = 16 [default = false];
479
486
  optional bool java_generic_services = 17 [default = false];
480
487
  optional bool py_generic_services = 18 [default = false];
481
- optional bool php_generic_services = 42 [default = false];
488
+ reserved 42; // removed php_generic_services
482
489
 
483
490
  // Is this file deprecated?
484
491
  // Depending on the target platform, this can emit Deprecated annotations
@@ -570,10 +577,6 @@ message MessageOptions {
570
577
 
571
578
  reserved 4, 5, 6;
572
579
 
573
- // NOTE: Do not set the option in .proto files. Always use the maps syntax
574
- // instead. The option should only be implicitly set by the proto compiler
575
- // parser.
576
- //
577
580
  // Whether the message is an automatically generated map entry type for the
578
581
  // maps field.
579
582
  //
@@ -591,6 +594,10 @@ message MessageOptions {
591
594
  // use a native map in the target language to hold the keys and values.
592
595
  // The reflection APIs in such implementations still need to work as
593
596
  // if the field is a repeated message field.
597
+ //
598
+ // NOTE: Do not set the option in .proto files. Always use the maps syntax
599
+ // instead. The option should only be implicitly set by the proto compiler
600
+ // parser.
594
601
  optional bool map_entry = 7;
595
602
 
596
603
  reserved 8; // javalite_serializable
@@ -689,19 +696,11 @@ message FieldOptions {
689
696
  // call from multiple threads concurrently, while non-const methods continue
690
697
  // to require exclusive access.
691
698
  //
692
- // Note that implementations may choose not to check required fields within
693
- // a lazy sub-message. That is, calling IsInitialized() on the outer message
694
- // may return true even if the inner message has missing required fields.
695
- // This is necessary because otherwise the inner message would have to be
696
- // parsed in order to perform the check, defeating the purpose of lazy
697
- // parsing. An implementation which chooses not to check required fields
698
- // must be consistent about it. That is, for any particular sub-message, the
699
- // implementation must either *always* check its required fields, or *never*
700
- // check its required fields, regardless of whether or not the message has
701
- // been parsed.
702
- //
703
- // As of May 2022, lazy verifies the contents of the byte stream during
704
- // parsing. An invalid byte stream will cause the overall parsing to fail.
699
+ // Note that lazy message fields are still eagerly verified to check
700
+ // ill-formed wireformat or missing required fields. Calling IsInitialized()
701
+ // on the outer message would fail if the inner message has missing required
702
+ // fields. Failed verification would result in parsing failure (except when
703
+ // uninitialized messages are acceptable).
705
704
  optional bool lazy = 5 [default = false];
706
705
 
707
706
  // unverified_lazy does no correctness checks on the byte stream. This should
@@ -974,8 +973,8 @@ message FeatureSet {
974
973
 
975
974
  enum Utf8Validation {
976
975
  UTF8_VALIDATION_UNKNOWN = 0;
977
- NONE = 1;
978
976
  VERIFY = 2;
977
+ NONE = 3;
979
978
  }
980
979
  optional Utf8Validation utf8_validation = 4 [
981
980
  retention = RETENTION_RUNTIME,
@@ -1015,8 +1014,10 @@ message FeatureSet {
1015
1014
 
1016
1015
  extensions 1000; // for Protobuf C++
1017
1016
  extensions 1001; // for Protobuf Java
1017
+ extensions 1002; // for Protobuf Go
1018
1018
 
1019
1019
  extensions 9995 to 9999; // For internal testing
1020
+ extensions 10000; // for https://github.com/bufbuild/protobuf-es
1020
1021
  }
1021
1022
 
1022
1023
  // A compiled specification for the defaults of a set of features. These
@@ -1098,7 +1099,7 @@ message SourceCodeInfo {
1098
1099
  // location.
1099
1100
  //
1100
1101
  // Each element is a field number or an index. They form a path from
1101
- // the root FileDescriptorProto to the place where the definition occurs.
1102
+ // the root FileDescriptorProto to the place where the definition appears.
1102
1103
  // For example, this path:
1103
1104
  // [ 4, 3, 2, 7, 1 ]
1104
1105
  // refers to:
Binary file
data/bin/x86-linux/protoc CHANGED
Binary file
@@ -102,6 +102,18 @@ message CodeGeneratorResponse {
102
102
  FEATURE_SUPPORTS_EDITIONS = 2;
103
103
  }
104
104
 
105
+ // The minimum edition this plugin supports. This will be treated as an
106
+ // Edition enum, but we want to allow unknown values. It should be specified
107
+ // according the edition enum value, *not* the edition number. Only takes
108
+ // effect for plugins that have FEATURE_SUPPORTS_EDITIONS set.
109
+ optional int32 minimum_edition = 3;
110
+
111
+ // The maximum edition this plugin supports. This will be treated as an
112
+ // Edition enum, but we want to allow unknown values. It should be specified
113
+ // according the edition enum value, *not* the edition number. Only takes
114
+ // effect for plugins that have FEATURE_SUPPORTS_EDITIONS set.
115
+ optional int32 maximum_edition = 4;
116
+
105
117
  // Represents a single generated file.
106
118
  message File {
107
119
  // The file name, relative to the output directory. The name must not
@@ -73,6 +73,7 @@ enum Edition {
73
73
  // should not be depended on, but they will always be time-ordered for easy
74
74
  // comparison.
75
75
  EDITION_2023 = 1000;
76
+ EDITION_2024 = 1001;
76
77
 
77
78
  // Placeholder editions for testing feature resolution. These should not be
78
79
  // used or relyed on outside of tests.
@@ -81,6 +82,11 @@ enum Edition {
81
82
  EDITION_99997_TEST_ONLY = 99997;
82
83
  EDITION_99998_TEST_ONLY = 99998;
83
84
  EDITION_99999_TEST_ONLY = 99999;
85
+
86
+ // Placeholder for specifying unbounded edition support. This should only
87
+ // ever be used by plugins that can expect to never require any changes to
88
+ // support a new edition.
89
+ EDITION_MAX = 0x7FFFFFFF;
84
90
  }
85
91
 
86
92
  // Describes a complete .proto file.
@@ -202,7 +208,8 @@ message ExtensionRangeOptions {
202
208
  // The verification state of the range.
203
209
  // TODO: flip the default to DECLARATION once all empty ranges
204
210
  // are marked as UNVERIFIED.
205
- optional VerificationState verification = 3 [default = UNVERIFIED];
211
+ optional VerificationState verification = 3
212
+ [default = UNVERIFIED, retention = RETENTION_SOURCE];
206
213
 
207
214
  // Clients can define custom options in extensions of this message. See above.
208
215
  extensions 1000 to max;
@@ -294,12 +301,12 @@ message FieldDescriptorProto {
294
301
  // If true, this is a proto3 "optional". When a proto3 field is optional, it
295
302
  // tracks presence regardless of field type.
296
303
  //
297
- // When proto3_optional is true, this field must be belong to a oneof to
298
- // signal to old proto3 clients that presence is tracked for this field. This
299
- // oneof is known as a "synthetic" oneof, and this field must be its sole
300
- // member (each proto3 optional field gets its own synthetic oneof). Synthetic
301
- // oneofs exist in the descriptor only, and do not generate any API. Synthetic
302
- // oneofs must be ordered after all "real" oneofs.
304
+ // When proto3_optional is true, this field must belong to a oneof to signal
305
+ // to old proto3 clients that presence is tracked for this field. This oneof
306
+ // is known as a "synthetic" oneof, and this field must be its sole member
307
+ // (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
308
+ // exist in the descriptor only, and do not generate any API. Synthetic oneofs
309
+ // must be ordered after all "real" oneofs.
303
310
  //
304
311
  // For message fields, proto3_optional doesn't create any semantic change,
305
312
  // since non-repeated message fields always track presence. However it still
@@ -478,7 +485,7 @@ message FileOptions {
478
485
  optional bool cc_generic_services = 16 [default = false];
479
486
  optional bool java_generic_services = 17 [default = false];
480
487
  optional bool py_generic_services = 18 [default = false];
481
- optional bool php_generic_services = 42 [default = false];
488
+ reserved 42; // removed php_generic_services
482
489
 
483
490
  // Is this file deprecated?
484
491
  // Depending on the target platform, this can emit Deprecated annotations
@@ -570,10 +577,6 @@ message MessageOptions {
570
577
 
571
578
  reserved 4, 5, 6;
572
579
 
573
- // NOTE: Do not set the option in .proto files. Always use the maps syntax
574
- // instead. The option should only be implicitly set by the proto compiler
575
- // parser.
576
- //
577
580
  // Whether the message is an automatically generated map entry type for the
578
581
  // maps field.
579
582
  //
@@ -591,6 +594,10 @@ message MessageOptions {
591
594
  // use a native map in the target language to hold the keys and values.
592
595
  // The reflection APIs in such implementations still need to work as
593
596
  // if the field is a repeated message field.
597
+ //
598
+ // NOTE: Do not set the option in .proto files. Always use the maps syntax
599
+ // instead. The option should only be implicitly set by the proto compiler
600
+ // parser.
594
601
  optional bool map_entry = 7;
595
602
 
596
603
  reserved 8; // javalite_serializable
@@ -689,19 +696,11 @@ message FieldOptions {
689
696
  // call from multiple threads concurrently, while non-const methods continue
690
697
  // to require exclusive access.
691
698
  //
692
- // Note that implementations may choose not to check required fields within
693
- // a lazy sub-message. That is, calling IsInitialized() on the outer message
694
- // may return true even if the inner message has missing required fields.
695
- // This is necessary because otherwise the inner message would have to be
696
- // parsed in order to perform the check, defeating the purpose of lazy
697
- // parsing. An implementation which chooses not to check required fields
698
- // must be consistent about it. That is, for any particular sub-message, the
699
- // implementation must either *always* check its required fields, or *never*
700
- // check its required fields, regardless of whether or not the message has
701
- // been parsed.
702
- //
703
- // As of May 2022, lazy verifies the contents of the byte stream during
704
- // parsing. An invalid byte stream will cause the overall parsing to fail.
699
+ // Note that lazy message fields are still eagerly verified to check
700
+ // ill-formed wireformat or missing required fields. Calling IsInitialized()
701
+ // on the outer message would fail if the inner message has missing required
702
+ // fields. Failed verification would result in parsing failure (except when
703
+ // uninitialized messages are acceptable).
705
704
  optional bool lazy = 5 [default = false];
706
705
 
707
706
  // unverified_lazy does no correctness checks on the byte stream. This should
@@ -974,8 +973,8 @@ message FeatureSet {
974
973
 
975
974
  enum Utf8Validation {
976
975
  UTF8_VALIDATION_UNKNOWN = 0;
977
- NONE = 1;
978
976
  VERIFY = 2;
977
+ NONE = 3;
979
978
  }
980
979
  optional Utf8Validation utf8_validation = 4 [
981
980
  retention = RETENTION_RUNTIME,
@@ -1015,8 +1014,10 @@ message FeatureSet {
1015
1014
 
1016
1015
  extensions 1000; // for Protobuf C++
1017
1016
  extensions 1001; // for Protobuf Java
1017
+ extensions 1002; // for Protobuf Go
1018
1018
 
1019
1019
  extensions 9995 to 9999; // For internal testing
1020
+ extensions 10000; // for https://github.com/bufbuild/protobuf-es
1020
1021
  }
1021
1022
 
1022
1023
  // A compiled specification for the defaults of a set of features. These
@@ -1098,7 +1099,7 @@ message SourceCodeInfo {
1098
1099
  // location.
1099
1100
  //
1100
1101
  // Each element is a field number or an index. They form a path from
1101
- // the root FileDescriptorProto to the place where the definition occurs.
1102
+ // the root FileDescriptorProto to the place where the definition appears.
1102
1103
  // For example, this path:
1103
1104
  // [ 4, 3, 2, 7, 1 ]
1104
1105
  // refers to:
Binary file
Binary file
@@ -102,6 +102,18 @@ message CodeGeneratorResponse {
102
102
  FEATURE_SUPPORTS_EDITIONS = 2;
103
103
  }
104
104
 
105
+ // The minimum edition this plugin supports. This will be treated as an
106
+ // Edition enum, but we want to allow unknown values. It should be specified
107
+ // according the edition enum value, *not* the edition number. Only takes
108
+ // effect for plugins that have FEATURE_SUPPORTS_EDITIONS set.
109
+ optional int32 minimum_edition = 3;
110
+
111
+ // The maximum edition this plugin supports. This will be treated as an
112
+ // Edition enum, but we want to allow unknown values. It should be specified
113
+ // according the edition enum value, *not* the edition number. Only takes
114
+ // effect for plugins that have FEATURE_SUPPORTS_EDITIONS set.
115
+ optional int32 maximum_edition = 4;
116
+
105
117
  // Represents a single generated file.
106
118
  message File {
107
119
  // The file name, relative to the output directory. The name must not
@@ -73,6 +73,7 @@ enum Edition {
73
73
  // should not be depended on, but they will always be time-ordered for easy
74
74
  // comparison.
75
75
  EDITION_2023 = 1000;
76
+ EDITION_2024 = 1001;
76
77
 
77
78
  // Placeholder editions for testing feature resolution. These should not be
78
79
  // used or relyed on outside of tests.
@@ -81,6 +82,11 @@ enum Edition {
81
82
  EDITION_99997_TEST_ONLY = 99997;
82
83
  EDITION_99998_TEST_ONLY = 99998;
83
84
  EDITION_99999_TEST_ONLY = 99999;
85
+
86
+ // Placeholder for specifying unbounded edition support. This should only
87
+ // ever be used by plugins that can expect to never require any changes to
88
+ // support a new edition.
89
+ EDITION_MAX = 0x7FFFFFFF;
84
90
  }
85
91
 
86
92
  // Describes a complete .proto file.
@@ -202,7 +208,8 @@ message ExtensionRangeOptions {
202
208
  // The verification state of the range.
203
209
  // TODO: flip the default to DECLARATION once all empty ranges
204
210
  // are marked as UNVERIFIED.
205
- optional VerificationState verification = 3 [default = UNVERIFIED];
211
+ optional VerificationState verification = 3
212
+ [default = UNVERIFIED, retention = RETENTION_SOURCE];
206
213
 
207
214
  // Clients can define custom options in extensions of this message. See above.
208
215
  extensions 1000 to max;
@@ -294,12 +301,12 @@ message FieldDescriptorProto {
294
301
  // If true, this is a proto3 "optional". When a proto3 field is optional, it
295
302
  // tracks presence regardless of field type.
296
303
  //
297
- // When proto3_optional is true, this field must be belong to a oneof to
298
- // signal to old proto3 clients that presence is tracked for this field. This
299
- // oneof is known as a "synthetic" oneof, and this field must be its sole
300
- // member (each proto3 optional field gets its own synthetic oneof). Synthetic
301
- // oneofs exist in the descriptor only, and do not generate any API. Synthetic
302
- // oneofs must be ordered after all "real" oneofs.
304
+ // When proto3_optional is true, this field must belong to a oneof to signal
305
+ // to old proto3 clients that presence is tracked for this field. This oneof
306
+ // is known as a "synthetic" oneof, and this field must be its sole member
307
+ // (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
308
+ // exist in the descriptor only, and do not generate any API. Synthetic oneofs
309
+ // must be ordered after all "real" oneofs.
303
310
  //
304
311
  // For message fields, proto3_optional doesn't create any semantic change,
305
312
  // since non-repeated message fields always track presence. However it still
@@ -478,7 +485,7 @@ message FileOptions {
478
485
  optional bool cc_generic_services = 16 [default = false];
479
486
  optional bool java_generic_services = 17 [default = false];
480
487
  optional bool py_generic_services = 18 [default = false];
481
- optional bool php_generic_services = 42 [default = false];
488
+ reserved 42; // removed php_generic_services
482
489
 
483
490
  // Is this file deprecated?
484
491
  // Depending on the target platform, this can emit Deprecated annotations
@@ -570,10 +577,6 @@ message MessageOptions {
570
577
 
571
578
  reserved 4, 5, 6;
572
579
 
573
- // NOTE: Do not set the option in .proto files. Always use the maps syntax
574
- // instead. The option should only be implicitly set by the proto compiler
575
- // parser.
576
- //
577
580
  // Whether the message is an automatically generated map entry type for the
578
581
  // maps field.
579
582
  //
@@ -591,6 +594,10 @@ message MessageOptions {
591
594
  // use a native map in the target language to hold the keys and values.
592
595
  // The reflection APIs in such implementations still need to work as
593
596
  // if the field is a repeated message field.
597
+ //
598
+ // NOTE: Do not set the option in .proto files. Always use the maps syntax
599
+ // instead. The option should only be implicitly set by the proto compiler
600
+ // parser.
594
601
  optional bool map_entry = 7;
595
602
 
596
603
  reserved 8; // javalite_serializable
@@ -689,19 +696,11 @@ message FieldOptions {
689
696
  // call from multiple threads concurrently, while non-const methods continue
690
697
  // to require exclusive access.
691
698
  //
692
- // Note that implementations may choose not to check required fields within
693
- // a lazy sub-message. That is, calling IsInitialized() on the outer message
694
- // may return true even if the inner message has missing required fields.
695
- // This is necessary because otherwise the inner message would have to be
696
- // parsed in order to perform the check, defeating the purpose of lazy
697
- // parsing. An implementation which chooses not to check required fields
698
- // must be consistent about it. That is, for any particular sub-message, the
699
- // implementation must either *always* check its required fields, or *never*
700
- // check its required fields, regardless of whether or not the message has
701
- // been parsed.
702
- //
703
- // As of May 2022, lazy verifies the contents of the byte stream during
704
- // parsing. An invalid byte stream will cause the overall parsing to fail.
699
+ // Note that lazy message fields are still eagerly verified to check
700
+ // ill-formed wireformat or missing required fields. Calling IsInitialized()
701
+ // on the outer message would fail if the inner message has missing required
702
+ // fields. Failed verification would result in parsing failure (except when
703
+ // uninitialized messages are acceptable).
705
704
  optional bool lazy = 5 [default = false];
706
705
 
707
706
  // unverified_lazy does no correctness checks on the byte stream. This should
@@ -974,8 +973,8 @@ message FeatureSet {
974
973
 
975
974
  enum Utf8Validation {
976
975
  UTF8_VALIDATION_UNKNOWN = 0;
977
- NONE = 1;
978
976
  VERIFY = 2;
977
+ NONE = 3;
979
978
  }
980
979
  optional Utf8Validation utf8_validation = 4 [
981
980
  retention = RETENTION_RUNTIME,
@@ -1015,8 +1014,10 @@ message FeatureSet {
1015
1014
 
1016
1015
  extensions 1000; // for Protobuf C++
1017
1016
  extensions 1001; // for Protobuf Java
1017
+ extensions 1002; // for Protobuf Go
1018
1018
 
1019
1019
  extensions 9995 to 9999; // For internal testing
1020
+ extensions 10000; // for https://github.com/bufbuild/protobuf-es
1020
1021
  }
1021
1022
 
1022
1023
  // A compiled specification for the defaults of a set of features. These
@@ -1098,7 +1099,7 @@ message SourceCodeInfo {
1098
1099
  // location.
1099
1100
  //
1100
1101
  // Each element is a field number or an index. They form a path from
1101
- // the root FileDescriptorProto to the place where the definition occurs.
1102
+ // the root FileDescriptorProto to the place where the definition appears.
1102
1103
  // For example, this path:
1103
1104
  // [ 4, 3, 2, 7, 1 ]
1104
1105
  // refers to:
Binary file
Binary file
@@ -102,6 +102,18 @@ message CodeGeneratorResponse {
102
102
  FEATURE_SUPPORTS_EDITIONS = 2;
103
103
  }
104
104
 
105
+ // The minimum edition this plugin supports. This will be treated as an
106
+ // Edition enum, but we want to allow unknown values. It should be specified
107
+ // according the edition enum value, *not* the edition number. Only takes
108
+ // effect for plugins that have FEATURE_SUPPORTS_EDITIONS set.
109
+ optional int32 minimum_edition = 3;
110
+
111
+ // The maximum edition this plugin supports. This will be treated as an
112
+ // Edition enum, but we want to allow unknown values. It should be specified
113
+ // according the edition enum value, *not* the edition number. Only takes
114
+ // effect for plugins that have FEATURE_SUPPORTS_EDITIONS set.
115
+ optional int32 maximum_edition = 4;
116
+
105
117
  // Represents a single generated file.
106
118
  message File {
107
119
  // The file name, relative to the output directory. The name must not
@@ -73,6 +73,7 @@ enum Edition {
73
73
  // should not be depended on, but they will always be time-ordered for easy
74
74
  // comparison.
75
75
  EDITION_2023 = 1000;
76
+ EDITION_2024 = 1001;
76
77
 
77
78
  // Placeholder editions for testing feature resolution. These should not be
78
79
  // used or relyed on outside of tests.
@@ -81,6 +82,11 @@ enum Edition {
81
82
  EDITION_99997_TEST_ONLY = 99997;
82
83
  EDITION_99998_TEST_ONLY = 99998;
83
84
  EDITION_99999_TEST_ONLY = 99999;
85
+
86
+ // Placeholder for specifying unbounded edition support. This should only
87
+ // ever be used by plugins that can expect to never require any changes to
88
+ // support a new edition.
89
+ EDITION_MAX = 0x7FFFFFFF;
84
90
  }
85
91
 
86
92
  // Describes a complete .proto file.
@@ -202,7 +208,8 @@ message ExtensionRangeOptions {
202
208
  // The verification state of the range.
203
209
  // TODO: flip the default to DECLARATION once all empty ranges
204
210
  // are marked as UNVERIFIED.
205
- optional VerificationState verification = 3 [default = UNVERIFIED];
211
+ optional VerificationState verification = 3
212
+ [default = UNVERIFIED, retention = RETENTION_SOURCE];
206
213
 
207
214
  // Clients can define custom options in extensions of this message. See above.
208
215
  extensions 1000 to max;
@@ -294,12 +301,12 @@ message FieldDescriptorProto {
294
301
  // If true, this is a proto3 "optional". When a proto3 field is optional, it
295
302
  // tracks presence regardless of field type.
296
303
  //
297
- // When proto3_optional is true, this field must be belong to a oneof to
298
- // signal to old proto3 clients that presence is tracked for this field. This
299
- // oneof is known as a "synthetic" oneof, and this field must be its sole
300
- // member (each proto3 optional field gets its own synthetic oneof). Synthetic
301
- // oneofs exist in the descriptor only, and do not generate any API. Synthetic
302
- // oneofs must be ordered after all "real" oneofs.
304
+ // When proto3_optional is true, this field must belong to a oneof to signal
305
+ // to old proto3 clients that presence is tracked for this field. This oneof
306
+ // is known as a "synthetic" oneof, and this field must be its sole member
307
+ // (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
308
+ // exist in the descriptor only, and do not generate any API. Synthetic oneofs
309
+ // must be ordered after all "real" oneofs.
303
310
  //
304
311
  // For message fields, proto3_optional doesn't create any semantic change,
305
312
  // since non-repeated message fields always track presence. However it still
@@ -478,7 +485,7 @@ message FileOptions {
478
485
  optional bool cc_generic_services = 16 [default = false];
479
486
  optional bool java_generic_services = 17 [default = false];
480
487
  optional bool py_generic_services = 18 [default = false];
481
- optional bool php_generic_services = 42 [default = false];
488
+ reserved 42; // removed php_generic_services
482
489
 
483
490
  // Is this file deprecated?
484
491
  // Depending on the target platform, this can emit Deprecated annotations
@@ -570,10 +577,6 @@ message MessageOptions {
570
577
 
571
578
  reserved 4, 5, 6;
572
579
 
573
- // NOTE: Do not set the option in .proto files. Always use the maps syntax
574
- // instead. The option should only be implicitly set by the proto compiler
575
- // parser.
576
- //
577
580
  // Whether the message is an automatically generated map entry type for the
578
581
  // maps field.
579
582
  //
@@ -591,6 +594,10 @@ message MessageOptions {
591
594
  // use a native map in the target language to hold the keys and values.
592
595
  // The reflection APIs in such implementations still need to work as
593
596
  // if the field is a repeated message field.
597
+ //
598
+ // NOTE: Do not set the option in .proto files. Always use the maps syntax
599
+ // instead. The option should only be implicitly set by the proto compiler
600
+ // parser.
594
601
  optional bool map_entry = 7;
595
602
 
596
603
  reserved 8; // javalite_serializable
@@ -689,19 +696,11 @@ message FieldOptions {
689
696
  // call from multiple threads concurrently, while non-const methods continue
690
697
  // to require exclusive access.
691
698
  //
692
- // Note that implementations may choose not to check required fields within
693
- // a lazy sub-message. That is, calling IsInitialized() on the outer message
694
- // may return true even if the inner message has missing required fields.
695
- // This is necessary because otherwise the inner message would have to be
696
- // parsed in order to perform the check, defeating the purpose of lazy
697
- // parsing. An implementation which chooses not to check required fields
698
- // must be consistent about it. That is, for any particular sub-message, the
699
- // implementation must either *always* check its required fields, or *never*
700
- // check its required fields, regardless of whether or not the message has
701
- // been parsed.
702
- //
703
- // As of May 2022, lazy verifies the contents of the byte stream during
704
- // parsing. An invalid byte stream will cause the overall parsing to fail.
699
+ // Note that lazy message fields are still eagerly verified to check
700
+ // ill-formed wireformat or missing required fields. Calling IsInitialized()
701
+ // on the outer message would fail if the inner message has missing required
702
+ // fields. Failed verification would result in parsing failure (except when
703
+ // uninitialized messages are acceptable).
705
704
  optional bool lazy = 5 [default = false];
706
705
 
707
706
  // unverified_lazy does no correctness checks on the byte stream. This should
@@ -974,8 +973,8 @@ message FeatureSet {
974
973
 
975
974
  enum Utf8Validation {
976
975
  UTF8_VALIDATION_UNKNOWN = 0;
977
- NONE = 1;
978
976
  VERIFY = 2;
977
+ NONE = 3;
979
978
  }
980
979
  optional Utf8Validation utf8_validation = 4 [
981
980
  retention = RETENTION_RUNTIME,
@@ -1015,8 +1014,10 @@ message FeatureSet {
1015
1014
 
1016
1015
  extensions 1000; // for Protobuf C++
1017
1016
  extensions 1001; // for Protobuf Java
1017
+ extensions 1002; // for Protobuf Go
1018
1018
 
1019
1019
  extensions 9995 to 9999; // For internal testing
1020
+ extensions 10000; // for https://github.com/bufbuild/protobuf-es
1020
1021
  }
1021
1022
 
1022
1023
  // A compiled specification for the defaults of a set of features. These
@@ -1098,7 +1099,7 @@ message SourceCodeInfo {
1098
1099
  // location.
1099
1100
  //
1100
1101
  // Each element is a field number or an index. They form a path from
1101
- // the root FileDescriptorProto to the place where the definition occurs.
1102
+ // the root FileDescriptorProto to the place where the definition appears.
1102
1103
  // For example, this path:
1103
1104
  // [ 4, 3, 2, 7, 1 ]
1104
1105
  // refers to:
Binary file
Binary file
@@ -102,6 +102,18 @@ message CodeGeneratorResponse {
102
102
  FEATURE_SUPPORTS_EDITIONS = 2;
103
103
  }
104
104
 
105
+ // The minimum edition this plugin supports. This will be treated as an
106
+ // Edition enum, but we want to allow unknown values. It should be specified
107
+ // according the edition enum value, *not* the edition number. Only takes
108
+ // effect for plugins that have FEATURE_SUPPORTS_EDITIONS set.
109
+ optional int32 minimum_edition = 3;
110
+
111
+ // The maximum edition this plugin supports. This will be treated as an
112
+ // Edition enum, but we want to allow unknown values. It should be specified
113
+ // according the edition enum value, *not* the edition number. Only takes
114
+ // effect for plugins that have FEATURE_SUPPORTS_EDITIONS set.
115
+ optional int32 maximum_edition = 4;
116
+
105
117
  // Represents a single generated file.
106
118
  message File {
107
119
  // The file name, relative to the output directory. The name must not
@@ -73,6 +73,7 @@ enum Edition {
73
73
  // should not be depended on, but they will always be time-ordered for easy
74
74
  // comparison.
75
75
  EDITION_2023 = 1000;
76
+ EDITION_2024 = 1001;
76
77
 
77
78
  // Placeholder editions for testing feature resolution. These should not be
78
79
  // used or relyed on outside of tests.
@@ -81,6 +82,11 @@ enum Edition {
81
82
  EDITION_99997_TEST_ONLY = 99997;
82
83
  EDITION_99998_TEST_ONLY = 99998;
83
84
  EDITION_99999_TEST_ONLY = 99999;
85
+
86
+ // Placeholder for specifying unbounded edition support. This should only
87
+ // ever be used by plugins that can expect to never require any changes to
88
+ // support a new edition.
89
+ EDITION_MAX = 0x7FFFFFFF;
84
90
  }
85
91
 
86
92
  // Describes a complete .proto file.
@@ -202,7 +208,8 @@ message ExtensionRangeOptions {
202
208
  // The verification state of the range.
203
209
  // TODO: flip the default to DECLARATION once all empty ranges
204
210
  // are marked as UNVERIFIED.
205
- optional VerificationState verification = 3 [default = UNVERIFIED];
211
+ optional VerificationState verification = 3
212
+ [default = UNVERIFIED, retention = RETENTION_SOURCE];
206
213
 
207
214
  // Clients can define custom options in extensions of this message. See above.
208
215
  extensions 1000 to max;
@@ -294,12 +301,12 @@ message FieldDescriptorProto {
294
301
  // If true, this is a proto3 "optional". When a proto3 field is optional, it
295
302
  // tracks presence regardless of field type.
296
303
  //
297
- // When proto3_optional is true, this field must be belong to a oneof to
298
- // signal to old proto3 clients that presence is tracked for this field. This
299
- // oneof is known as a "synthetic" oneof, and this field must be its sole
300
- // member (each proto3 optional field gets its own synthetic oneof). Synthetic
301
- // oneofs exist in the descriptor only, and do not generate any API. Synthetic
302
- // oneofs must be ordered after all "real" oneofs.
304
+ // When proto3_optional is true, this field must belong to a oneof to signal
305
+ // to old proto3 clients that presence is tracked for this field. This oneof
306
+ // is known as a "synthetic" oneof, and this field must be its sole member
307
+ // (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
308
+ // exist in the descriptor only, and do not generate any API. Synthetic oneofs
309
+ // must be ordered after all "real" oneofs.
303
310
  //
304
311
  // For message fields, proto3_optional doesn't create any semantic change,
305
312
  // since non-repeated message fields always track presence. However it still
@@ -478,7 +485,7 @@ message FileOptions {
478
485
  optional bool cc_generic_services = 16 [default = false];
479
486
  optional bool java_generic_services = 17 [default = false];
480
487
  optional bool py_generic_services = 18 [default = false];
481
- optional bool php_generic_services = 42 [default = false];
488
+ reserved 42; // removed php_generic_services
482
489
 
483
490
  // Is this file deprecated?
484
491
  // Depending on the target platform, this can emit Deprecated annotations
@@ -570,10 +577,6 @@ message MessageOptions {
570
577
 
571
578
  reserved 4, 5, 6;
572
579
 
573
- // NOTE: Do not set the option in .proto files. Always use the maps syntax
574
- // instead. The option should only be implicitly set by the proto compiler
575
- // parser.
576
- //
577
580
  // Whether the message is an automatically generated map entry type for the
578
581
  // maps field.
579
582
  //
@@ -591,6 +594,10 @@ message MessageOptions {
591
594
  // use a native map in the target language to hold the keys and values.
592
595
  // The reflection APIs in such implementations still need to work as
593
596
  // if the field is a repeated message field.
597
+ //
598
+ // NOTE: Do not set the option in .proto files. Always use the maps syntax
599
+ // instead. The option should only be implicitly set by the proto compiler
600
+ // parser.
594
601
  optional bool map_entry = 7;
595
602
 
596
603
  reserved 8; // javalite_serializable
@@ -689,19 +696,11 @@ message FieldOptions {
689
696
  // call from multiple threads concurrently, while non-const methods continue
690
697
  // to require exclusive access.
691
698
  //
692
- // Note that implementations may choose not to check required fields within
693
- // a lazy sub-message. That is, calling IsInitialized() on the outer message
694
- // may return true even if the inner message has missing required fields.
695
- // This is necessary because otherwise the inner message would have to be
696
- // parsed in order to perform the check, defeating the purpose of lazy
697
- // parsing. An implementation which chooses not to check required fields
698
- // must be consistent about it. That is, for any particular sub-message, the
699
- // implementation must either *always* check its required fields, or *never*
700
- // check its required fields, regardless of whether or not the message has
701
- // been parsed.
702
- //
703
- // As of May 2022, lazy verifies the contents of the byte stream during
704
- // parsing. An invalid byte stream will cause the overall parsing to fail.
699
+ // Note that lazy message fields are still eagerly verified to check
700
+ // ill-formed wireformat or missing required fields. Calling IsInitialized()
701
+ // on the outer message would fail if the inner message has missing required
702
+ // fields. Failed verification would result in parsing failure (except when
703
+ // uninitialized messages are acceptable).
705
704
  optional bool lazy = 5 [default = false];
706
705
 
707
706
  // unverified_lazy does no correctness checks on the byte stream. This should
@@ -974,8 +973,8 @@ message FeatureSet {
974
973
 
975
974
  enum Utf8Validation {
976
975
  UTF8_VALIDATION_UNKNOWN = 0;
977
- NONE = 1;
978
976
  VERIFY = 2;
977
+ NONE = 3;
979
978
  }
980
979
  optional Utf8Validation utf8_validation = 4 [
981
980
  retention = RETENTION_RUNTIME,
@@ -1015,8 +1014,10 @@ message FeatureSet {
1015
1014
 
1016
1015
  extensions 1000; // for Protobuf C++
1017
1016
  extensions 1001; // for Protobuf Java
1017
+ extensions 1002; // for Protobuf Go
1018
1018
 
1019
1019
  extensions 9995 to 9999; // For internal testing
1020
+ extensions 10000; // for https://github.com/bufbuild/protobuf-es
1020
1021
  }
1021
1022
 
1022
1023
  // A compiled specification for the defaults of a set of features. These
@@ -1098,7 +1099,7 @@ message SourceCodeInfo {
1098
1099
  // location.
1099
1100
  //
1100
1101
  // Each element is a field number or an index. They form a path from
1101
- // the root FileDescriptorProto to the place where the definition occurs.
1102
+ // the root FileDescriptorProto to the place where the definition appears.
1102
1103
  // For example, this path:
1103
1104
  // [ 4, 3, 2, 7, 1 ]
1104
1105
  // refers to:
Binary file
data/version.rb CHANGED
@@ -14,6 +14,6 @@
14
14
 
15
15
  module GRPC
16
16
  module Tools
17
- VERSION = '1.62.0'
17
+ VERSION = '1.63.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.62.0
4
+ version: 1.63.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - grpc Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-20 00:00:00.000000000 Z
11
+ date: 2024-04-26 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