Skip to content

Commit 6020dc5

Browse files
authored
Merge pull request protocolbuffers#278 from Logofile/main
Documentation changes
2 parents e63bc72 + dd1b627 commit 6020dc5

File tree

10 files changed

+691
-209
lines changed

10 files changed

+691
-209
lines changed

content/editions/features.md

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,8 @@ and `export` keywords to set per-field behavior. Read more about this at
100100
to local.
101101
* `LOCAL_ALL`: All symbols default to local.
102102
* `STRICT`: All symbols local by default. Nested types cannot be exported,
103-
except for a special-case caveat for message `{ enum {} reserved 1 to max;
104-
}`. This is the recommended setting for new protos.
103+
except for a special-case caveat for `message { enum {} reserved 0 to max;
104+
}`. This will become the default in a future edition.
105105

106106
**Applicable to the following scope:** Enum, Message
107107

@@ -172,7 +172,7 @@ protos are round-trippable by default with a feature value to opt-out to use
172172

173173
**Applicable to the following scope:** File
174174

175-
**Added in:** 2024
175+
**Added in:** Edition 2024
176176

177177
**Default behavior per syntax/edition:**
178178

@@ -231,7 +231,7 @@ and after of a proto3 file.
231231

232232
**Applicable to the following scopes:** File, Enum
233233

234-
**Added in:** 2023
234+
**Added in:** Edition 2023
235235

236236
**Default behavior per syntax/edition:**
237237

@@ -292,7 +292,7 @@ whether a protobuf field has a value.
292292

293293
**Applicable to the following scopes:** File, Field
294294

295-
**Added in:** 2023
295+
**Added in:** Edition 2023
296296

297297
**Default behavior per syntax/edition:**
298298

@@ -385,7 +385,7 @@ and after of a proto3 file. Editions behavior matches the behavior in proto3.
385385

386386
**Applicable to the following scopes:** File, Message, Enum
387387

388-
**Added in:** 2023
388+
**Added in:** Edition 2023
389389

390390
**Default behavior per syntax/edition:**
391391

@@ -448,7 +448,7 @@ the following conditions are met:
448448

449449
**Applicable to the following scopes:** File, Field
450450

451-
**Added in:** 2023
451+
**Added in:** Edition 2023
452452

453453
**Default behavior per syntax/edition:**
454454

@@ -504,7 +504,7 @@ for `repeated` fields has been migrated to in Editions.
504504

505505
**Applicable to the following scopes:** File, Field
506506

507-
**Added in:** 2023
507+
**Added in:** Edition 2023
508508

509509
**Default behavior per syntax/edition:**
510510

@@ -583,7 +583,7 @@ and after of a proto3 file.
583583

584584
**Applicable to the following scopes:** File, Field
585585

586-
**Added in:** 2023
586+
**Added in:** Edition 2023
587587

588588
**Default behavior per syntax/edition:**
589589

@@ -650,7 +650,7 @@ in the migration guide for more on this topic.
650650
651651
**Applicable to the following scopes:** Enum, File
652652
653-
**Added in:** 2024
653+
**Added in:** Edition 2024
654654
655655
**Default behavior per syntax/edition:**
656656
@@ -680,7 +680,7 @@ example, switch statements are not supported.
680680
681681
**Applicable to the following scopes:** Enum
682682
683-
**Added in:** 2024
683+
**Added in:** Edition 2024
684684
685685
**Default behavior per syntax/edition:**
686686
@@ -713,7 +713,7 @@ before and after of a proto3 file.
713713
714714
**Applicable to the following scopes:** File, Field
715715
716-
**Added in:** 2023
716+
**Added in:** Edition 2023
717717
718718
**Default behavior per syntax/edition:**
719719
@@ -762,7 +762,7 @@ message Msg {
762762
**Languages:** Java
763763

764764
This feature controls whether the Java generator will nest the generated class
765-
in the Java generated file class. Setting this option to `Yes` is the equivalent
765+
in the Java generated file class. Setting this option to `NO` is the equivalent
766766
of setting `java_multiple_files = true` in proto2/proto3/edition 2023.
767767

768768
The default outer classname is also updated to always be the camel-cased .proto
@@ -779,7 +779,7 @@ becomes `BarBazProto`). You can still override this using the
779779

780780
**Applicable to the following scopes:** Message, Enum, Service
781781

782-
**Added in:** 2024
782+
**Added in:** Edition 2024
783783

784784
**Default behavior per syntax/edition:**
785785

@@ -812,7 +812,7 @@ removed.
812812

813813
**Applicable to the following scopes:** File, Field
814814

815-
**Added in:** 2023
815+
**Added in:** Edition 2023
816816

817817
**Default behavior per syntax/edition:**
818818

@@ -893,7 +893,7 @@ before and after of a proto3 file.
893893

894894
**Applicable to the following scopes:** Field, File
895895

896-
**Added in:** 2023
896+
**Added in:** Edition 2023
897897

898898
**Default behavior per syntax/edition:**
899899

@@ -974,7 +974,7 @@ generator strips the repetitive prefix or not.
974974

975975
**Applicable to the following scopes:** Enum, File
976976

977-
**Added in:** 2024
977+
**Added in:** Edition 2024
978978

979979
**Default behavior per syntax/edition:**
980980

@@ -991,7 +991,7 @@ files:
991991
```proto
992992
edition = "2024";
993993
994-
import "third_party/golang/protobuf/v2/src/google/protobuf/go_features.proto";
994+
import "google/protobuf/go_features.proto";
995995
996996
option features.(pb.go).strip_enum_prefix = STRIP_ENUM_PREFIX_STRIP;
997997
@@ -1074,16 +1074,23 @@ The following shows the settings to replicate Edition 2023 behavior with Edition
10741074
2024.
10751075

10761076
```proto
1077+
// foo/bar_baz.proto
10771078
edition = "2024";
10781079
10791080
import option "third_party/protobuf/cpp_features.proto";
10801081
import option "third_party/java/protobuf/java_features.proto";
10811082
1083+
// If previously relying on edition 2023 default java_outer_classname.
1084+
option java_outer_classname = "BarBaz" // or BarBazOuterClass
1085+
10821086
option features.(pb.cpp).string_type = STRING;
10831087
option features.enforce_naming_style = STYLE_LEGACY;
10841088
option features.default_symbol_visibility = EXPORT_ALL;
10851089
option features.(pb.cpp).enum_name_uses_string_view = false;
1086-
option features.(pb.java).nest_in_file_class = LEGACY;
1090+
1091+
message MyMessage {
1092+
option features.(pb.java).nest_in_file_class = YES;
1093+
}
10871094
```
10881095

10891096
### Caveats and Exceptions {#caveats}

content/editions/overview.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,6 @@ The examples in this topic show edition 2024 features, but edition 2024 is
2828
currently in **pre-release review** and is not yet recommended for production
2929
code.
3030

31-
The examples in this topic show edition 2024 features, but edition 2024 is
32-
currently in **pre-release review** and is not yet recommended for production
33-
code.
34-
3531
## Lifecycle of a Feature {#lifecycles}
3632

3733
Editions provide the fundamental increments for the lifecycle of a feature.
@@ -369,7 +365,7 @@ Edition 2024 added support for option imports using the syntax `import option`.
369365

370366
Option imports must come after any other `import` statements.
371367

372-
Unlike normal `import` statements, option imports import only custom options
368+
Unlike normal `import` statements, `import option` only imports custom options
373369
defined in a `.proto` file, without importing other symbols.
374370

375371
This means that messages and enums are excluded from the option import. In the

0 commit comments

Comments
 (0)