Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions content/news/2026-10-15.md
Original file line number Diff line number Diff line change
@@ -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.
2 changes: 2 additions & 0 deletions content/news/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading