grpc-tools 1.63.0 → 1.69.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.
@@ -55,6 +55,13 @@ option optimize_for = SPEED;
55
55
  // files it parses.
56
56
  message FileDescriptorSet {
57
57
  repeated FileDescriptorProto file = 1;
58
+
59
+ // Extensions for tooling.
60
+ extensions 536000000 [declaration = {
61
+ number: 536000000
62
+ type: ".buf.descriptor.v1.FileDescriptorSetExtension"
63
+ full_name: ".buf.descriptor.v1.buf_file_descriptor_set_extension"
64
+ }];
58
65
  }
59
66
 
60
67
  // The full set of known editions.
@@ -62,6 +69,10 @@ enum Edition {
62
69
  // A placeholder for an unknown edition value.
63
70
  EDITION_UNKNOWN = 0;
64
71
 
72
+ // A placeholder edition for specifying default behaviors *before* a feature
73
+ // was first introduced. This is effectively an "infinite past".
74
+ EDITION_LEGACY = 900;
75
+
65
76
  // Legacy syntax "editions". These pre-date editions, but behave much like
66
77
  // distinct editions. These can't be used to specify the edition of proto
67
78
  // files, but feature definitions must supply proto2/proto3 defaults for
@@ -76,7 +87,7 @@ enum Edition {
76
87
  EDITION_2024 = 1001;
77
88
 
78
89
  // Placeholder editions for testing feature resolution. These should not be
79
- // used or relyed on outside of tests.
90
+ // used or relied on outside of tests.
80
91
  EDITION_1_TEST_ONLY = 1;
81
92
  EDITION_2_TEST_ONLY = 2;
82
93
  EDITION_99997_TEST_ONLY = 99997;
@@ -448,12 +459,16 @@ message FileOptions {
448
459
  // This option does nothing.
449
460
  optional bool java_generate_equals_and_hash = 20 [deprecated=true];
450
461
 
451
- // If set true, then the Java2 code generator will generate code that
452
- // throws an exception whenever an attempt is made to assign a non-UTF-8
453
- // byte sequence to a string field.
454
- // Message reflection will do the same.
455
- // However, an extension field still accepts non-UTF-8 byte sequences.
456
- // This option has no effect on when used with the lite runtime.
462
+ // A proto2 file can set this to true to opt in to UTF-8 checking for Java,
463
+ // which will throw an exception if invalid UTF-8 is parsed from the wire or
464
+ // assigned to a string field.
465
+ //
466
+ // TODO: clarify exactly what kinds of field types this option
467
+ // applies to, and update these docs accordingly.
468
+ //
469
+ // Proto3 files already perform these checks. Setting the option explicitly to
470
+ // false has no effect: it cannot be used to opt proto3 files out of UTF-8
471
+ // checks.
457
472
  optional bool java_string_check_utf8 = 27 [default = false];
458
473
 
459
474
  // Generated classes can be optimized for speed or code size.
@@ -486,6 +501,7 @@ message FileOptions {
486
501
  optional bool java_generic_services = 17 [default = false];
487
502
  optional bool py_generic_services = 18 [default = false];
488
503
  reserved 42; // removed php_generic_services
504
+ reserved "php_generic_services";
489
505
 
490
506
  // Is this file deprecated?
491
507
  // Depending on the target platform, this can emit Deprecated annotations
@@ -626,13 +642,14 @@ message MessageOptions {
626
642
  }
627
643
 
628
644
  message FieldOptions {
645
+ // NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.
629
646
  // The ctype option instructs the C++ code generator to use a different
630
647
  // representation of the field than it normally would. See the specific
631
648
  // options below. This option is only implemented to support use of
632
649
  // [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of
633
- // type "bytes" in the open source release -- sorry, we'll try to include
634
- // other types in a future version!
635
- optional CType ctype = 1 [default = STRING];
650
+ // type "bytes" in the open source release.
651
+ // TODO: make ctype actually deprecated.
652
+ optional CType ctype = 1 [/*deprecated = true,*/ default = STRING];
636
653
  enum CType {
637
654
  // Default mode.
638
655
  STRING = 0;
@@ -722,8 +739,6 @@ message FieldOptions {
722
739
  optional bool debug_redact = 16 [default = false];
723
740
 
724
741
  // If set to RETENTION_SOURCE, the option will be omitted from the binary.
725
- // Note: as of January 2023, support for this is in progress and does not yet
726
- // have an effect (b/264593489).
727
742
  enum OptionRetention {
728
743
  RETENTION_UNKNOWN = 0;
729
744
  RETENTION_RUNTIME = 1;
@@ -734,8 +749,7 @@ message FieldOptions {
734
749
 
735
750
  // This indicates the types of entities that the field may apply to when used
736
751
  // as an option. If it is unset, then the field may be freely used as an
737
- // option on any kind of entity. Note: as of January 2023, support for this is
738
- // in progress and does not yet have an effect (b/264593489).
752
+ // option on any kind of entity.
739
753
  enum OptionTargetType {
740
754
  TARGET_TYPE_UNKNOWN = 0;
741
755
  TARGET_TYPE_FILE = 1;
@@ -760,6 +774,28 @@ message FieldOptions {
760
774
  // Any features defined in the specific edition.
761
775
  optional FeatureSet features = 21;
762
776
 
777
+ // Information about the support window of a feature.
778
+ message FeatureSupport {
779
+ // The edition that this feature was first available in. In editions
780
+ // earlier than this one, the default assigned to EDITION_LEGACY will be
781
+ // used, and proto files will not be able to override it.
782
+ optional Edition edition_introduced = 1;
783
+
784
+ // The edition this feature becomes deprecated in. Using this after this
785
+ // edition may trigger warnings.
786
+ optional Edition edition_deprecated = 2;
787
+
788
+ // The deprecation warning text if this feature is used after the edition it
789
+ // was marked deprecated in.
790
+ optional string deprecation_warning = 3;
791
+
792
+ // The edition this feature is no longer available in. In editions after
793
+ // this one, the last default assigned will be used, and proto files will
794
+ // not be able to override it.
795
+ optional Edition edition_removed = 4;
796
+ }
797
+ optional FeatureSupport feature_support = 22;
798
+
763
799
  // The parser stores options it doesn't recognize here. See above.
764
800
  repeated UninterpretedOption uninterpreted_option = 999;
765
801
 
@@ -828,6 +864,9 @@ message EnumValueOptions {
828
864
  // credentials.
829
865
  optional bool debug_redact = 3 [default = false];
830
866
 
867
+ // Information about the support window of a feature value.
868
+ optional FieldOptions.FeatureSupport feature_support = 4;
869
+
831
870
  // The parser stores options it doesn't recognize here. See above.
832
871
  repeated UninterpretedOption uninterpreted_option = 999;
833
872
 
@@ -940,7 +979,10 @@ message FeatureSet {
940
979
  retention = RETENTION_RUNTIME,
941
980
  targets = TARGET_TYPE_FIELD,
942
981
  targets = TARGET_TYPE_FILE,
943
- edition_defaults = { edition: EDITION_PROTO2, value: "EXPLICIT" },
982
+ feature_support = {
983
+ edition_introduced: EDITION_2023,
984
+ },
985
+ edition_defaults = { edition: EDITION_LEGACY, value: "EXPLICIT" },
944
986
  edition_defaults = { edition: EDITION_PROTO3, value: "IMPLICIT" },
945
987
  edition_defaults = { edition: EDITION_2023, value: "EXPLICIT" }
946
988
  ];
@@ -954,7 +996,10 @@ message FeatureSet {
954
996
  retention = RETENTION_RUNTIME,
955
997
  targets = TARGET_TYPE_ENUM,
956
998
  targets = TARGET_TYPE_FILE,
957
- edition_defaults = { edition: EDITION_PROTO2, value: "CLOSED" },
999
+ feature_support = {
1000
+ edition_introduced: EDITION_2023,
1001
+ },
1002
+ edition_defaults = { edition: EDITION_LEGACY, value: "CLOSED" },
958
1003
  edition_defaults = { edition: EDITION_PROTO3, value: "OPEN" }
959
1004
  ];
960
1005
 
@@ -967,7 +1012,10 @@ message FeatureSet {
967
1012
  retention = RETENTION_RUNTIME,
968
1013
  targets = TARGET_TYPE_FIELD,
969
1014
  targets = TARGET_TYPE_FILE,
970
- edition_defaults = { edition: EDITION_PROTO2, value: "EXPANDED" },
1015
+ feature_support = {
1016
+ edition_introduced: EDITION_2023,
1017
+ },
1018
+ edition_defaults = { edition: EDITION_LEGACY, value: "EXPANDED" },
971
1019
  edition_defaults = { edition: EDITION_PROTO3, value: "PACKED" }
972
1020
  ];
973
1021
 
@@ -975,12 +1023,16 @@ message FeatureSet {
975
1023
  UTF8_VALIDATION_UNKNOWN = 0;
976
1024
  VERIFY = 2;
977
1025
  NONE = 3;
1026
+ reserved 1;
978
1027
  }
979
1028
  optional Utf8Validation utf8_validation = 4 [
980
1029
  retention = RETENTION_RUNTIME,
981
1030
  targets = TARGET_TYPE_FIELD,
982
1031
  targets = TARGET_TYPE_FILE,
983
- edition_defaults = { edition: EDITION_PROTO2, value: "NONE" },
1032
+ feature_support = {
1033
+ edition_introduced: EDITION_2023,
1034
+ },
1035
+ edition_defaults = { edition: EDITION_LEGACY, value: "NONE" },
984
1036
  edition_defaults = { edition: EDITION_PROTO3, value: "VERIFY" }
985
1037
  ];
986
1038
 
@@ -993,7 +1045,10 @@ message FeatureSet {
993
1045
  retention = RETENTION_RUNTIME,
994
1046
  targets = TARGET_TYPE_FIELD,
995
1047
  targets = TARGET_TYPE_FILE,
996
- edition_defaults = { edition: EDITION_PROTO2, value: "LENGTH_PREFIXED" }
1048
+ feature_support = {
1049
+ edition_introduced: EDITION_2023,
1050
+ },
1051
+ edition_defaults = { edition: EDITION_LEGACY, value: "LENGTH_PREFIXED" }
997
1052
  ];
998
1053
 
999
1054
  enum JsonFormat {
@@ -1006,15 +1061,33 @@ message FeatureSet {
1006
1061
  targets = TARGET_TYPE_MESSAGE,
1007
1062
  targets = TARGET_TYPE_ENUM,
1008
1063
  targets = TARGET_TYPE_FILE,
1009
- edition_defaults = { edition: EDITION_PROTO2, value: "LEGACY_BEST_EFFORT" },
1064
+ feature_support = {
1065
+ edition_introduced: EDITION_2023,
1066
+ },
1067
+ edition_defaults = { edition: EDITION_LEGACY, value: "LEGACY_BEST_EFFORT" },
1010
1068
  edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" }
1011
1069
  ];
1012
1070
 
1013
1071
  reserved 999;
1014
1072
 
1015
- extensions 1000; // for Protobuf C++
1016
- extensions 1001; // for Protobuf Java
1017
- extensions 1002; // for Protobuf Go
1073
+ extensions 1000 to 9994 [
1074
+ declaration = {
1075
+ number: 1000,
1076
+ full_name: ".pb.cpp",
1077
+ type: ".pb.CppFeatures"
1078
+ },
1079
+ declaration = {
1080
+ number: 1001,
1081
+ full_name: ".pb.java",
1082
+ type: ".pb.JavaFeatures"
1083
+ },
1084
+ declaration = { number: 1002, full_name: ".pb.go", type: ".pb.GoFeatures" },
1085
+ declaration = {
1086
+ number: 9990,
1087
+ full_name: ".pb.proto1",
1088
+ type: ".pb.Proto1Features"
1089
+ }
1090
+ ];
1018
1091
 
1019
1092
  extensions 9995 to 9999; // For internal testing
1020
1093
  extensions 10000; // for https://github.com/bufbuild/protobuf-es
@@ -1031,7 +1104,15 @@ message FeatureSetDefaults {
1031
1104
  // be used. This field must be in strict ascending order by edition.
1032
1105
  message FeatureSetEditionDefault {
1033
1106
  optional Edition edition = 3;
1034
- optional FeatureSet features = 2;
1107
+
1108
+ // Defaults of features that can be overridden in this edition.
1109
+ optional FeatureSet overridable_features = 4;
1110
+
1111
+ // Defaults of features that can't be overridden in this edition.
1112
+ optional FeatureSet fixed_features = 5;
1113
+
1114
+ reserved 1, 2;
1115
+ reserved "features";
1035
1116
  }
1036
1117
  repeated FeatureSetEditionDefault defaults = 1;
1037
1118
 
@@ -1178,6 +1259,13 @@ message SourceCodeInfo {
1178
1259
  optional string trailing_comments = 4;
1179
1260
  repeated string leading_detached_comments = 6;
1180
1261
  }
1262
+
1263
+ // Extensions for tooling.
1264
+ extensions 536000000 [declaration = {
1265
+ number: 536000000
1266
+ type: ".buf.descriptor.v1.SourceCodeInfoExtension"
1267
+ full_name: ".buf.descriptor.v1.buf_source_code_info_extension"
1268
+ }];
1181
1269
  }
1182
1270
 
1183
1271
  // Describes the relationship between generated code and its original source
Binary file
data/version.rb CHANGED
@@ -14,6 +14,6 @@
14
14
 
15
15
  module GRPC
16
16
  module Tools
17
- VERSION = '1.63.0'
17
+ VERSION = '1.69.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.63.0
4
+ version: 1.69.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-04-26 00:00:00.000000000 Z
11
+ date: 2024-12-24 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