Skip to content

Commit 823913b

Browse files
Protocol Buffer TeamLogofile
authored andcommitted
This documentation change addresses merge conflicts.
PiperOrigin-RevId: 737995644 Change-Id: I278fe6c137970c7e4b0dc8532aad905d8ba9720a
1 parent ed798d0 commit 823913b

File tree

2 files changed

+88
-0
lines changed

2 files changed

+88
-0
lines changed

content/editions/features.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ message Corge {
7878
}
7979
```
8080

81+
<<<<<<< HEAD
8182
In this example, the setting "`GRAULT"` in the lowest-level scope feature
8283
definition overrides the non-nested-scope "`QUUX`" setting. And within the
8384
Garply message, "`WALDO`" overrides "`QUUX`."
@@ -212,6 +213,14 @@ message Foo {
212213
int64 bar_1 = 1;
213214
}
214215
```
216+
||||||| parent of dcf50a2 (This documentation change includes the following:)
217+
In this example, the setting `GRAULT` in the field-scope feature definition
218+
overrides the message-scope QUUX setting.
219+
=======
220+
In this example, the setting "`GRAULT"` in the lowest-level scope feature
221+
definition overrides the non-nested-scope "`QUUX`" setting. And within the
222+
Garply message, "`WALDO`" overrides "`QUUX`."
223+
>>>>>>> dcf50a2 (This documentation change includes the following:)
215224
216225
### `features.enum_type` {#enum_type}
217226

@@ -245,6 +254,9 @@ proto2 | `CLOSED`
245254
**Note:** Feature settings on different schema elements
246255
[have different scopes](#cascading).
247256

257+
**Note:** Feature settings on different schema elements
258+
[have different scopes](#cascading).
259+
248260
The following code sample shows a proto2 file:
249261

250262
```proto
@@ -292,7 +304,13 @@ whether a protobuf field has a value.
292304

293305
**Applicable to the following scopes:** File, Field
294306

307+
<<<<<<< HEAD
295308
**Added in:** 2023
309+
||||||| parent of dcf50a2 (This documentation change includes the following:)
310+
**Default value in the Edition 2023:** `EXPLICIT`
311+
=======
312+
**Default behavior in the Edition 2023:** `EXPLICIT`
313+
>>>>>>> dcf50a2 (This documentation change includes the following:)
296314
297315
**Default behavior per syntax/edition:**
298316

@@ -351,8 +369,15 @@ message Bar {
351369
After running Prototiller, the equivalent code might look like this:
352370

353371
```proto
372+
<<<<<<< HEAD
354373
edition = "2024";
355374
// Setting the file-level field_presence feature matches the proto3 implicit default
375+
||||||| parent of dcf50a2 (This documentation change includes the following:)
376+
edition = "2023";
377+
=======
378+
edition = "2023";
379+
// Setting the file-level field_presence feature matches the proto3 implicit default
380+
>>>>>>> dcf50a2 (This documentation change includes the following:)
356381
option features.field_presence = IMPLICIT;
357382
358383
message Bar {
@@ -399,6 +424,9 @@ proto2 | `LEGACY_BEST_EFFORT`
399424
**Note:** Feature settings on different schema elements
400425
[have different scopes](#cascading).
401426

427+
**Note:** Feature settings on different schema elements
428+
[have different scopes](#cascading).
429+
402430
The following code sample shows a proto2 file:
403431

404432
```proto
@@ -414,8 +442,16 @@ message Foo {
414442
After running Prototiller, the equivalent code might look like this:
415443

416444
```proto
445+
<<<<<<< HEAD
417446
edition = "2024";
418447
option features.json_format = LEGACY_BEST_EFFORT;
448+
||||||| parent of dcf50a2 (This documentation change includes the following:)
449+
edition = "2023";
450+
features.json_format = LEGACY_BEST_EFFORT;
451+
=======
452+
edition = "2023";
453+
option features.json_format = LEGACY_BEST_EFFORT;
454+
>>>>>>> dcf50a2 (This documentation change includes the following:)
419455
420456
message Foo {
421457
string bar = 1;
@@ -462,6 +498,9 @@ proto2 | `LENGTH_PREFIXED`
462498
**Note:** Feature settings on different schema elements
463499
[have different scopes](#cascading).
464500

501+
**Note:** Feature settings on different schema elements
502+
[have different scopes](#cascading).
503+
465504
The following code sample shows a proto2 file:
466505

467506
```proto
@@ -518,6 +557,9 @@ proto2 | `EXPANDED`
518557
**Note:** Feature settings on different schema elements
519558
[have different scopes](#cascading).
520559

560+
**Note:** Feature settings on different schema elements
561+
[have different scopes](#cascading).
562+
521563
The following code sample shows a proto2 file:
522564

523565
```proto
@@ -597,6 +639,9 @@ proto2 | `NONE`
597639
**Note:** Feature settings on different schema elements
598640
[have different scopes](#cascading).
599641

642+
**Note:** Feature settings on different schema elements
643+
[have different scopes](#cascading).
644+
600645
The following code sample shows a proto2 file:
601646

602647
```proto
@@ -727,6 +772,9 @@ proto2 | `true`
727772
**Note:** Feature settings on different schema elements
728773
[have different scopes](#cascading).
729774
775+
**Note:** Feature settings on different schema elements
776+
[have different scopes](#cascading).
777+
730778
The following code sample shows a proto2 file:
731779
732780
```proto
@@ -826,6 +874,9 @@ proto2 | `STRING`
826874
**Note:** Feature settings on different schema elements
827875
[have different scopes](#cascading).
828876

877+
**Note:** Feature settings on different schema elements
878+
[have different scopes](#cascading).
879+
829880
The following code sample shows a proto2 file:
830881

831882
```proto
@@ -907,6 +958,9 @@ proto2 | `DEFAULT`
907958
**Note:** Feature settings on different schema elements
908959
[have different scopes](#cascading).
909960

961+
**Note:** Feature settings on different schema elements
962+
[have different scopes](#cascading).
963+
910964
The following code sample shows a proto2 file:
911965

912966
```proto
@@ -935,6 +989,32 @@ message MyMessage {
935989
}
936990
```
937991

992+
#### `features.(pb.java).large_enum` {#java-large_enum}
993+
994+
**Languages:** Java
995+
996+
This language-specific feature enables you to adopt new functionality that
997+
handles large enums in Java without causing compiler errors.
998+
999+
This is new behavior, so doesn't affect proto2 or proto3 schema definition
1000+
files.
1001+
1002+
**Values available:**
1003+
1004+
* `true`: Java enums will use the new functionality.
1005+
* `false`: Java enums will continue to use Java enums.
1006+
1007+
**Applicable to the following scopes:** Enum
1008+
1009+
**Default behavior in Edition 2023:** `false`
1010+
1011+
**Behavior in proto2:** `false`
1012+
1013+
**Behavior in proto3:** `false`
1014+
1015+
**Note:** Feature settings on different schema elements
1016+
[have different scopes](#cascading).
1017+
9381018
## Preserving proto2 or proto3 Behavior {#preserving}
9391019

9401020
You may want to move to the editions format but not deal with updates to the way

content/programming-guides/style.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,14 @@ service FooService {
195195
}
196196
```
197197

198+
For more service-related guidance, see
199+
[Create Unique Protos per Method](/best-practices/api#unique-protos)
200+
and
201+
[Don't Include Primitive Types in a Top-level Request or Response Proto](/programming-guides/api#dont-include-primitive-types)
202+
in the API Best Practices topic, and
203+
[Define Message Types in Separate Files](/best-practices/dos-donts#separate-files)
204+
in Proto Best Practices.
205+
198206
## Things to Avoid {#avoid}
199207

200208
### Required Fields {#required}

0 commit comments

Comments
 (0)