diff --git a/content/news/2026-10-15.md b/content/news/2026-10-15.md new file mode 100644 index 00000000..9fb8d4ca --- /dev/null +++ b/content/news/2026-10-15.md @@ -0,0 +1,49 @@ + + ++++ +title = "Changes Announced on October 15, 2026" +linkTitle = "October 15, 2026" +toc_hide = "true" +description = "Changes announced for Protobuf on October 15, 2026." +type = "docs" ++++ + +The following sections cover additional planned breaking changes in the v38 +release, expected in 2027 Q1. These describe changes as we anticipate them being +implemented, but due to the flexible nature of software some of these changes +may not land or may vary from how they are described in this topic. + +## Changes in C++ {#cpp} + +### Remove NULL Termination in Descriptor Names + +Remove null terminators in string_view. + +## Changes in Protoc {#protoc} + +### Add Compiler Flag `--source_code_info_out` to Output SourceCodeInfo Separately + +## Changes in Python {#python} + +### Align `__eq__()` with `Any` Fields on Pure Python with Py-upb Behavior + +Align pure PythonProto `__eq__()` behavior to upb by only comparing the +serialized bytes. There are some edge cases where two `Any` fields may contain +different bytes which are equal only when parsed. These cases used to return +`true`, but will now return `false`. + +## Changes in UPB {#upb} + +### Align Default Value Float and Double Formatting with C++ FileDescriptor::CopyTo + +In `upb_FileDef_ToProto`, `float` and `double` default values in +`FieldDescriptorProto.default_value` were previously formatted using hardcoded +`"%.9g"` and `"%.17g"`. This could produce more digits than C++ +`FieldDescriptor::DefaultValueAsString()` (`io::SimpleFtoa` / `io::SimpleDtoa`), +causing `upb_FileDef_ToProto` output to differ from C++ `FileDescriptor::CopyTo` +(for example, `"0.10000000000000001"` vs `"0.1"` for `double`, and +`"7.77777779e+35"` vs `"7.777778e+35"` for `float`). + +In v38, `upb_FileDef_ToProto` will format `float` and `double` default values +using round-trip formatting matching `io::SimpleFtoa` and `io::SimpleDtoa`, +aligning OSS behavior with Google3. diff --git a/content/news/_index.md b/content/news/_index.md index 52059fe3..3dbcf13f 100644 --- a/content/news/_index.md +++ b/content/news/_index.md @@ -20,6 +20,8 @@ New news topics will also be published to the The following news topics provide information in the reverse order in which it was released. +* [October 15, 2026](/news/2026-10-15) - Additional + breaking changes in the upcoming 38.x release * [September 22, 2026](/news/2026-09-22) - Breaking changes in the upcoming 38.x release * [July 13, 2026](/news/2026-07-13) - Edition 2026