protoc 22.5.0 → 23.0.0-rc1

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.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  protoc
2
2
  ======
3
3
 
4
- This package provides the Protobuf compiler `protoc` <!-- inject: release.tag_name -->v22.5<!-- end -->.
4
+ This package provides the Protobuf compiler `protoc` <!-- inject: release.tag_name -->v23.0-rc1<!-- end -->.
5
5
 
6
6
  ```shell script
7
7
  npm install --save-dev protoc
package/assets.json CHANGED
@@ -1,39 +1,39 @@
1
1
  [
2
2
  {
3
- "name": "protoc-22.5-linux-aarch_64.zip",
4
- "browser_download_url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.5/protoc-22.5-linux-aarch_64.zip",
3
+ "name": "protoc-23.0-rc-1-linux-aarch_64.zip",
4
+ "browser_download_url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.0-rc1/protoc-23.0-rc-1-linux-aarch_64.zip",
5
5
  "platform": "linux",
6
6
  "arch": "arm64",
7
7
  "dotExe": false,
8
8
  "executable": "protoc-linux-aarch_64"
9
9
  },
10
10
  {
11
- "name": "protoc-22.5-linux-x86_64.zip",
12
- "browser_download_url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.5/protoc-22.5-linux-x86_64.zip",
11
+ "name": "protoc-23.0-rc-1-linux-x86_64.zip",
12
+ "browser_download_url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.0-rc1/protoc-23.0-rc-1-linux-x86_64.zip",
13
13
  "platform": "linux",
14
14
  "arch": "x64",
15
15
  "dotExe": false,
16
16
  "executable": "protoc-linux-x86_64"
17
17
  },
18
18
  {
19
- "name": "protoc-22.5-osx-aarch_64.zip",
20
- "browser_download_url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.5/protoc-22.5-osx-aarch_64.zip",
19
+ "name": "protoc-23.0-rc-1-osx-aarch_64.zip",
20
+ "browser_download_url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.0-rc1/protoc-23.0-rc-1-osx-aarch_64.zip",
21
21
  "platform": "darwin",
22
22
  "arch": "arm64",
23
23
  "dotExe": false,
24
24
  "executable": "protoc-osx-aarch_64"
25
25
  },
26
26
  {
27
- "name": "protoc-22.5-osx-x86_64.zip",
28
- "browser_download_url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.5/protoc-22.5-osx-x86_64.zip",
27
+ "name": "protoc-23.0-rc-1-osx-x86_64.zip",
28
+ "browser_download_url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.0-rc1/protoc-23.0-rc-1-osx-x86_64.zip",
29
29
  "platform": "darwin",
30
30
  "arch": "x64",
31
31
  "dotExe": false,
32
32
  "executable": "protoc-osx-x86_64"
33
33
  },
34
34
  {
35
- "name": "protoc-22.5-win64.zip",
36
- "browser_download_url": "https://github.com/protocolbuffers/protobuf/releases/download/v22.5/protoc-22.5-win64.zip",
35
+ "name": "protoc-23.0-rc-1-win64.zip",
36
+ "browser_download_url": "https://github.com/protocolbuffers/protobuf/releases/download/v23.0-rc1/protoc-23.0-rc-1-win64.zip",
37
37
  "platform": "win32",
38
38
  "arch": "x64",
39
39
  "dotExe": true,
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -68,7 +68,7 @@ option csharp_namespace = "Google.Protobuf.WellKnownTypes";
68
68
  // foo = any.unpack(Foo.getDefaultInstance());
69
69
  // }
70
70
  //
71
- // Example 3: Pack and unpack a message in Python.
71
+ // Example 3: Pack and unpack a message in Python.
72
72
  //
73
73
  // foo = Foo(...)
74
74
  // any = Any()
@@ -78,7 +78,7 @@ option csharp_namespace = "Google.Protobuf.WellKnownTypes";
78
78
  // any.Unpack(foo)
79
79
  // ...
80
80
  //
81
- // Example 4: Pack and unpack a message in Go
81
+ // Example 4: Pack and unpack a message in Go
82
82
  //
83
83
  // foo := &pb.Foo{...}
84
84
  // any, err := anypb.New(foo)
@@ -98,7 +98,7 @@ option csharp_namespace = "Google.Protobuf.WellKnownTypes";
98
98
  // name "y.z".
99
99
  //
100
100
  // JSON
101
- //
101
+ // ====
102
102
  // The JSON representation of an `Any` value uses the regular
103
103
  // representation of the deserialized, embedded message, with an
104
104
  // additional field `@type` which contains the type URL. Example:
@@ -166,7 +166,7 @@ message Method {
166
166
  // The mixin construct implies that all methods in `AccessControl` are
167
167
  // also declared with same name and request/response types in
168
168
  // `Storage`. A documentation generator or annotation processor will
169
- // see the effective `Storage.GetAcl` method after inheriting
169
+ // see the effective `Storage.GetAcl` method after inherting
170
170
  // documentation and annotations as follows:
171
171
  //
172
172
  // service Storage {
@@ -133,6 +133,50 @@ message ExtensionRangeOptions {
133
133
  // The parser stores options it doesn't recognize here. See above.
134
134
  repeated UninterpretedOption uninterpreted_option = 999;
135
135
 
136
+ message Declaration {
137
+ // The extension number declared within the extension range.
138
+ optional int32 number = 1;
139
+
140
+ // The fully-qualified name of the extension field. There must be a leading
141
+ // dot in front of the full name.
142
+ optional string full_name = 2;
143
+
144
+ // The fully-qualified type name of the extension field. Unlike
145
+ // Metadata.type, Declaration.type must have a leading dot for messages
146
+ // and enums.
147
+ optional string type = 3;
148
+
149
+ // Deprecated. Please use "repeated".
150
+ optional bool is_repeated = 4 [deprecated = true];
151
+
152
+ // If true, indicates that the number is reserved in the extension range,
153
+ // and any extension field with the number will fail to compile. Set this
154
+ // when a declared extension field is deleted.
155
+ optional bool reserved = 5;
156
+
157
+ // If true, indicates that the extension must be defined as repeated.
158
+ // Otherwise the extension must be defined as optional.
159
+ optional bool repeated = 6;
160
+ }
161
+
162
+ // go/protobuf-stripping-extension-declarations
163
+ // Like Metadata, but we use a repeated field to hold all extension
164
+ // declarations. This should avoid the size increases of transforming a large
165
+ // extension range into small ranges in generated binaries.
166
+ repeated Declaration declaration = 2 [retention = RETENTION_SOURCE];
167
+
168
+ // The verification state of the extension range.
169
+ enum VerificationState {
170
+ // All the extensions of the range must be declared.
171
+ DECLARATION = 0;
172
+ UNVERIFIED = 1;
173
+ }
174
+
175
+ // The verification state of the range.
176
+ // TODO(b/278783756): flip the default to DECLARATION once all empty ranges
177
+ // are marked as UNVERIFIED.
178
+ optional VerificationState verification = 3 [default = UNVERIFIED];
179
+
136
180
  // Clients can define custom options in extensions of this message. See above.
137
181
  extensions 1000 to max;
138
182
  }
@@ -540,13 +584,21 @@ message MessageOptions {
540
584
  message FieldOptions {
541
585
  // The ctype option instructs the C++ code generator to use a different
542
586
  // representation of the field than it normally would. See the specific
543
- // options below. This option is not yet implemented in the open source
544
- // release -- sorry, we'll try to include it in a future version!
587
+ // options below. This option is only implemented to support use of
588
+ // [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of
589
+ // type "bytes" in the open source release -- sorry, we'll try to include
590
+ // other types in a future version!
545
591
  optional CType ctype = 1 [default = STRING];
546
592
  enum CType {
547
593
  // Default mode.
548
594
  STRING = 0;
549
595
 
596
+ // The option [ctype=CORD] may be applied to a non-repeated field of type
597
+ // "bytes". It indicates that in C++, the data should be stored in a Cord
598
+ // instead of a string. For very large strings, this may reduce memory
599
+ // fragmentation. It may also allow better performance when parsing from a
600
+ // Cord, or when parsing with aliasing enabled, as the parsed Cord may then
601
+ // alias the original buffer.
550
602
  CORD = 1;
551
603
 
552
604
  STRING_PIECE = 2;
@@ -659,7 +711,8 @@ message FieldOptions {
659
711
  TARGET_TYPE_METHOD = 9;
660
712
  }
661
713
 
662
- optional OptionTargetType target = 18;
714
+ optional OptionTargetType target = 18 [deprecated = true];
715
+ repeated OptionTargetType targets = 19;
663
716
 
664
717
  // The parser stores options it doesn't recognize here. See above.
665
718
  repeated UninterpretedOption uninterpreted_option = 999;
@@ -80,7 +80,7 @@ message Value {
80
80
  // `NullValue` is a singleton enumeration to represent the null value for the
81
81
  // `Value` type union.
82
82
  //
83
- // The JSON representation for `NullValue` is JSON `null`.
83
+ // The JSON representation for `NullValue` is JSON `null`.
84
84
  enum NullValue {
85
85
  // Null value.
86
86
  NULL_VALUE = 0;
@@ -127,7 +127,7 @@ option csharp_namespace = "Google.Protobuf.WellKnownTypes";
127
127
  // [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
128
128
  // the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
129
129
  // the Joda Time's [`ISODateTimeFormat.dateTime()`](
130
- // http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
130
+ // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
131
131
  // ) to obtain a formatter capable of generating timestamps in this format.
132
132
  //
133
133
  message Timestamp {
@@ -57,6 +57,8 @@ message Type {
57
57
  SourceContext source_context = 5;
58
58
  // The source syntax.
59
59
  Syntax syntax = 6;
60
+ // The source edition string, only valid when syntax is SYNTAX_EDITIONS.
61
+ string edition = 7;
60
62
  }
61
63
 
62
64
  // A single field of a message type.
@@ -151,6 +153,8 @@ message Enum {
151
153
  SourceContext source_context = 4;
152
154
  // The source syntax.
153
155
  Syntax syntax = 5;
156
+ // The source edition string, only valid when syntax is SYNTAX_EDITIONS.
157
+ string edition = 6;
154
158
  }
155
159
 
156
160
  // Enum value definition.
@@ -184,4 +188,6 @@ enum Syntax {
184
188
  SYNTAX_PROTO2 = 0;
185
189
  // Syntax `proto3`.
186
190
  SYNTAX_PROTO3 = 1;
191
+ // Syntax `editions`.
192
+ SYNTAX_EDITIONS = 2;
187
193
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "protoc",
3
- "version": "22.5.0",
4
- "upstreamVersion": "v22.5",
3
+ "version": "23.0.0-rc1",
4
+ "upstreamVersion": "v23.0-rc1",
5
5
  "description": "Installs the protocol buffer compiler \"protoc\" for you.",
6
6
  "bin": {
7
7
  "protoc": "protoc.cjs"