Skip to content

Commit

Permalink
chore(deps): update dependency protoc to v25 (#643)
Browse files Browse the repository at this point in the history
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [protoc](https://togithub.com/protocolbuffers/protobuf) | major |
`3.20.3` -> `25.1` |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf (protoc)</summary>

###
[`v25.1`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v25.1):
Protocol Buffers v25.1

### Announcements

- [Protobuf News](https://protobuf.dev/news/) may include additional
announcements or pre-announcements for upcoming changes.

### Python

- Raise warnings for deprecated python syntax usages
(https://github.com/protocolbuffers/protobuf/commit/74f5cf4106d7bcdd4612caed9f85af5096f4a390)

### Ruby

- Add support for extensions in CRuby, JRuby, and FFI Ruby
([#&#8203;14703](https://togithub.com/protocolbuffers/protobuf/issues/14703))
([#&#8203;14756](https://togithub.com/protocolbuffers/protobuf/issues/14756))
(https://github.com/protocolbuffers/protobuf/commit/e4b00c75ecbc40389615ddf5482dbabc3a354eea)
- Add support for options in CRuby, JRuby and FFI
([#&#8203;14594](https://togithub.com/protocolbuffers/protobuf/issues/14594))
([#&#8203;14739](https://togithub.com/protocolbuffers/protobuf/issues/14739))
(https://github.com/protocolbuffers/protobuf/commit/2495d4f96bf4edcc4f770ceb27ae98c71a56fcdb)

###
[`v25.0`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v25.0):
Protocol Buffers v25.0

### Announcements

- [Protobuf News](https://protobuf.dev/news/) may include additional
announcements or pre-announcements for upcoming changes.

### Compiler

- Implement proto2/proto3 with editions
(https://github.com/protocolbuffers/protobuf/commit/3813b6622f6490b969c16e1b1ba7dcbd8f4e3209)
- Defines Protobuf compiler version strings as macros and separates out
suffix string definition.
(https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
- Add utf8\_validation feature back to the global feature set.
(https://github.com/protocolbuffers/protobuf/commit/153028d7f3029e066bb2287012e14417ca83d55c)
- Setting up version updater to prepare for poison pills and embedding
version info into C++, Python and Java gencode.
(https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
- Merge the protobuf and upb Bazel repos
(https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Editions: Introduce functionality to protoc for generating edition
feature set defaults.
(https://github.com/protocolbuffers/protobuf/commit/4019e254322b2312cc7431b45ae71bb8e3dfa035)
- Editions: Migrate edition strings to enum in C++ code.
(https://github.com/protocolbuffers/protobuf/commit/f083ebf21f56783fd838c006880f8e16e05d1f1e)
- Create a reflection helper for ExtensionIdentifier.
(https://github.com/protocolbuffers/protobuf/commit/4d5ab7324ef4d79eda69c8ed5bcb35f35e6db6f1)
- Editions: Provide an API for C++ generators to specify their features.
(https://github.com/protocolbuffers/protobuf/commit/e897bcf3ff8004b7446bbe43a1fc28f9a92a11d4)
- Editions: Refactor feature resolution to use an intermediate message.
(https://github.com/protocolbuffers/protobuf/commit/57d8049b01b4bd95a1ca156eb375b523dc7d5d56)
- Publish extension declarations with declaration verifications.
(https://github.com/protocolbuffers/protobuf/commit/e72b0e181b236ff23c03a9f9f97f58e6989f25c9)
- Editions: Stop propagating partially resolved feature sets to plugins.
(https://github.com/protocolbuffers/protobuf/commit/b66ef4c3f0af899e3736ad016259f9446f0adb14)
- Editions: Migrate string_field_validation to a C++ feature
(https://github.com/protocolbuffers/protobuf/commit/1f9583069f0e2b11790ea36cc760ee371106f232)
- Editions: Include defaults for any features in the generated pool.
(https://github.com/protocolbuffers/protobuf/commit/15863ffc9aff9d31e9f25a7f11a2d499b0170bc3)
- Protoc: parser rejects explicit use of map_entry option
([#&#8203;13479](https://togithub.com/protocolbuffers/protobuf/issues/13479))
(https://github.com/protocolbuffers/protobuf/commit/8f5929230d5c5d117b84953463ef0da6d29ad36d)
- Protoc: validate that reserved range start is before end
([#&#8203;13474](https://togithub.com/protocolbuffers/protobuf/issues/13474))
(https://github.com/protocolbuffers/protobuf/commit/3be00f7638b9a61d2f0318ceac9d7d89d5af66b6)
- Protoc: support identifiers as reserved names in addition to string
literals (only in editions)
([#&#8203;13471](https://togithub.com/protocolbuffers/protobuf/issues/13471))
(https://github.com/protocolbuffers/protobuf/commit/e701f4fa77620fc29109efc6902003d2cc93a30d)
- Drop support for Bazel 5.
(https://github.com/protocolbuffers/protobuf/commit/a80daa2a2caaaac9ebe9ae6bb1b639c2771c5c55)
- Allow code generators to specify whether or not they support editions.
(https://github.com/protocolbuffers/protobuf/commit/2176a145ba210c286177032037e736bf97158f7d)

### C++

- Set `PROTOBUF_EXPORT` on `InternalOutOfLineDeleteMessageLite()`
([#&#8203;14434](https://togithub.com/protocolbuffers/protobuf/issues/14434))
(https://github.com/protocolbuffers/protobuf/commit/db89a51e4557c40abc8845b13277a83cdf917382)
- Update stale checked-in files
([#&#8203;14431](https://togithub.com/protocolbuffers/protobuf/issues/14431))
(https://github.com/protocolbuffers/protobuf/commit/ada0be86608dc10b3c2c46e7e2a0951015abbcc3)
- Apply PROTOBUF_NOINLINE to declarations of some functions that want
it.
(https://github.com/protocolbuffers/protobuf/commit/6e848b00c95556d4f4fc7a1a512cd31a33de75d6)
- Implement proto2/proto3 with editions
(https://github.com/protocolbuffers/protobuf/commit/3813b6622f6490b969c16e1b1ba7dcbd8f4e3209)
- Make JSON UTF-8 boundary check inclusive of the largest possible UTF-8
character.
(https://github.com/protocolbuffers/protobuf/commit/e80b8ec620d71cdeca000dce835e5a167a8dc370)
- Reduce `Map::size_type` to 32-bits. Protobuf containers can't have
more than
(https://github.com/protocolbuffers/protobuf/commit/95d2b2ed5039c1b1606a5f8c9d9cb362a2a33c95)
- Defines Protobuf compiler version strings as macros and separates out
suffix string definition.
(https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
- Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated oneof
accessors.
(https://github.com/protocolbuffers/protobuf/commit/e33e0d2ba569c8a7d6d74b5a8b39d804ec2a0169)
- Fix bug in reflection based Swap of map fields.
(https://github.com/protocolbuffers/protobuf/commit/bef5b759f1fa511e3c08380a4e8635832d5d39fd)
- Add utf8\_validation feature back to the global feature set.
(https://github.com/protocolbuffers/protobuf/commit/153028d7f3029e066bb2287012e14417ca83d55c)
- Setting up version updater to prepare for poison pills and embedding
version info into C++, Python and Java gencode.
(https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
- Add prefetching to arena allocations.
(https://github.com/protocolbuffers/protobuf/commit/fbdeb5af0b0f89dec79efc371ba75f838ffad2e8)
- Merge the protobuf and upb Bazel repos
(https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated repeated
and map field accessors.
(https://github.com/protocolbuffers/protobuf/commit/9a0a3cf0cd8b4ac5c8a06db89f76c5d754f850d0)
- Editions: Migrate edition strings to enum in C++ code.
(https://github.com/protocolbuffers/protobuf/commit/f083ebf21f56783fd838c006880f8e16e05d1f1e)
- Workaround ICE on gcc 7.5 by not having one overload call the other
one with a
(https://github.com/protocolbuffers/protobuf/commit/0522054f3ee5e32c9df15af7c11f046e91e77998)
- Create a reflection helper for ExtensionIdentifier.
(https://github.com/protocolbuffers/protobuf/commit/4d5ab7324ef4d79eda69c8ed5bcb35f35e6db6f1)
- Editions: Provide an API for C++ generators to specify their features.
(https://github.com/protocolbuffers/protobuf/commit/e897bcf3ff8004b7446bbe43a1fc28f9a92a11d4)
- Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated string
field accessors.
(https://github.com/protocolbuffers/protobuf/commit/18c338a699e7dfe85de014bf74cdf9c8a5ee155f)
- Editions: Refactor feature resolution to use an intermediate message.
(https://github.com/protocolbuffers/protobuf/commit/57d8049b01b4bd95a1ca156eb375b523dc7d5d56)
- Fixes for 32-bit MSVC.
(https://github.com/protocolbuffers/protobuf/commit/66cf6b1d9c22333a20d83ee02472e2e7162a8da6)
- Publish extension declarations with declaration verifications.
(https://github.com/protocolbuffers/protobuf/commit/e72b0e181b236ff23c03a9f9f97f58e6989f25c9)
- Export the constants in protobuf's any.h to support DLL builds.
(https://github.com/protocolbuffers/protobuf/commit/fd24b1bef4a5969ca1e1875e53e31f866e4b757b)
- Implement AbslStringify for the Descriptor family of types.
(https://github.com/protocolbuffers/protobuf/commit/230232a041d7bce0080f459512ee2162ee9233e7)
- Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated message
field accessors.
(https://github.com/protocolbuffers/protobuf/commit/064035c0978516dceb64512e2e5fcf26aa2dedaa)
- Editions: Stop propagating partially resolved feature sets to plugins.
(https://github.com/protocolbuffers/protobuf/commit/b66ef4c3f0af899e3736ad016259f9446f0adb14)
- Editions: Migrate string_field_validation to a C++ feature
(https://github.com/protocolbuffers/protobuf/commit/1f9583069f0e2b11790ea36cc760ee371106f232)
- Editions: Include defaults for any features in the generated pool.
(https://github.com/protocolbuffers/protobuf/commit/15863ffc9aff9d31e9f25a7f11a2d499b0170bc3)
- Introduce C++ feature for UTF8 validation.
(https://github.com/protocolbuffers/protobuf/commit/c7119e6d56ea8e29f32ce5eb84fca82799095239)
- Protoc: validate that reserved range start is before end
([#&#8203;13474](https://togithub.com/protocolbuffers/protobuf/issues/13474))
(https://github.com/protocolbuffers/protobuf/commit/3be00f7638b9a61d2f0318ceac9d7d89d5af66b6)
- Remove option to disable the table-driven parser in protoc.
(https://github.com/protocolbuffers/protobuf/commit/6d03f9b19bd7aa10d541f6c1a11ac71f2851eece)
- Lock down ctype=CORD in proto file.
(https://github.com/protocolbuffers/protobuf/commit/b359e5020a68ce84faec5952100ae482e9eb0b1c)
- Support split repeated fields.
(https://github.com/protocolbuffers/protobuf/commit/5b5e5bf5444f80033977d22024cf2dffd5d1c89b)
- In OSS mode omit some extern template specializations. We have seen
reports of
(https://github.com/protocolbuffers/protobuf/commit/ab968248b02842cf7733ba867cb6a53e680956c1)
- Automated rollback of commit
[`adb2c4b`](https://togithub.com/protocolbuffers/protobuf/commit/adb2c4b415c35cda3e4394384ec579ea8dd8ec92).
(https://github.com/protocolbuffers/protobuf/commit/0ea00526a11c405b342463cf75f40ca5753d4a0c)
- Allow code generators to specify whether or not they support editions.
(https://github.com/protocolbuffers/protobuf/commit/2176a145ba210c286177032037e736bf97158f7d)
- Handle conflicting macros for FreeBSD
([#&#8203;13303](https://togithub.com/protocolbuffers/protobuf/issues/13303))
(https://github.com/protocolbuffers/protobuf/commit/2a952958eb1d4ea13fee2ad657a537ad443adf8f)

### Java

- Implement proto2/proto3 with editions
(https://github.com/protocolbuffers/protobuf/commit/3813b6622f6490b969c16e1b1ba7dcbd8f4e3209)
- Remove synthetic oneofs from Java gencode field accessor tables.
(https://github.com/protocolbuffers/protobuf/commit/9ad2268544a345d9ed449e766999388b895d18a3)
- Timestamps.parse: Add error handling for invalid hours/minutes in the
timezone offset.
(https://github.com/protocolbuffers/protobuf/commit/8f8513835c0c4ebe206a5ead04a1bd0c8c7d1dbf)
- Defines Protobuf compiler version strings as macros and separates out
suffix string definition.
(https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
- Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated oneof
accessors.
(https://github.com/protocolbuffers/protobuf/commit/e33e0d2ba569c8a7d6d74b5a8b39d804ec2a0169)
- Automated rollback of commit
[`2a55706`](https://togithub.com/protocolbuffers/protobuf/commit/2a55706f9d36afd1742c97fd0d611ea8af0ac3f8).
(https://github.com/protocolbuffers/protobuf/commit/30b6251dea7a0ff1713a97d7e7d29a48e4880f59)
- Add missing debugging version info to Protobuf Java gencode when
multiple files are generated.
(https://github.com/protocolbuffers/protobuf/commit/301dfc5aebb37eee302beef408b6ba4b4eaf4425)
- Fix a bad cast in put<X>BuilderIfAbsent when already present due to
using the result of put() directly (which is null if it currently has no
value)
(https://github.com/protocolbuffers/protobuf/commit/785c82dbdea5085628f2a41437aa1198860f3342)
- Setting up version updater to prepare for poison pills and embedding
version info into C++, Python and Java gencode.
(https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
- Fix a NPE in put<X>BuilderIfAbsent due to using the result of put()
directly (which is null if it currently has no value)
(https://github.com/protocolbuffers/protobuf/commit/47cec39ab36daf5264c2faf05d2ed4d0f48c1bc7)
- Update Kotlin compiler to escape package names
([#&#8203;13310](https://togithub.com/protocolbuffers/protobuf/issues/13310))
(https://github.com/protocolbuffers/protobuf/commit/437ec356fbe15d8737d797505aafb8e2b2629e7b)
- Add MapFieldBuilder and change codegen to generate it and the
put{field}BuilderIfAbsent method.
(https://github.com/protocolbuffers/protobuf/commit/955d4ab0d681d2bf60b481c1d066eee543ab1b8c)
- Introduce recursion limit in Java text format parsing
(https://github.com/protocolbuffers/protobuf/commit/bca3bed137d013d4a654ffec52c0d44a3202aab2)
- Consider the protobuf.Any invalid if typeUrl.split("/") returns an
empty array.
(https://github.com/protocolbuffers/protobuf/commit/004f54af8f014c3e8a65db1b4459cfa70502e3ce)
- Mark `FieldDescriptor.hasOptionalKeyword()` as deprecated.
(https://github.com/protocolbuffers/protobuf/commit/d6157f7c7ec78a6942cfd6d96d2e0b40e007ae0d)

##### Kotlin

- Add ByteString.isNotEmpty Kotlin extension function.
(https://github.com/protocolbuffers/protobuf/commit/961779e164a8f8a015a44b082c01da2e1273b26c)

### Csharp

- Add C# deterministic serialization
([#&#8203;13160](https://togithub.com/protocolbuffers/protobuf/issues/13160))
(https://github.com/protocolbuffers/protobuf/commit/96100bf1e49c5452f21e4446e43f5e7526f1351f)
- Add .NET debugging attributes
([#&#8203;14097](https://togithub.com/protocolbuffers/protobuf/issues/14097))
(https://github.com/protocolbuffers/protobuf/commit/67b9c76752b21c894bc8d7d59b3f6b2dc078c7b1)
- Improve .NET debugging of Protobuf messages
([#&#8203;13838](https://togithub.com/protocolbuffers/protobuf/issues/13838))
(https://github.com/protocolbuffers/protobuf/commit/e519c62f827a5f354c9253419c2fb5c230622311)
- Lock down ctype=CORD in proto file.
(https://github.com/protocolbuffers/protobuf/commit/b359e5020a68ce84faec5952100ae482e9eb0b1c)

### Objective-C

- Merge the protobuf and upb Bazel repos
(https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- \[ObjC] Flip the default for two generation options.
(https://github.com/protocolbuffers/protobuf/commit/08bbb577e8de8cd9afd56c6f78ab86418ef4bd4e)
- \[ObjC] Enable generation of .proto files using editions.
(https://github.com/protocolbuffers/protobuf/commit/55ab8316c14569cadc578e15ffdea4f1bcbb0964)
- \[ObjC] add "generate_minimal_imports" generation option
(https://github.com/protocolbuffers/protobuf/commit/0b817d46d4ca1977d3dccf2442aeee3c9e98e3a1)
- \[ObjC] Add generation control for descriptor custom options.
(https://github.com/protocolbuffers/protobuf/commit/bd9d6895c3d3f5f186d31b3e41bc0ad6af9d3129)
- Lock down ctype=CORD in proto file.
(https://github.com/protocolbuffers/protobuf/commit/b359e5020a68ce84faec5952100ae482e9eb0b1c)

### Rust

- Merge the protobuf and upb Bazel repos
(https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)

### Python

- Fixed Python memory leak in map lookup.
(https://github.com/protocolbuffers/protobuf/commit/1711ebd4559313555e89d0f56294842779c7e900)
- Loosen upb for json name conflict check in proto2 between json name
and field
(https://github.com/protocolbuffers/protobuf/commit/41af1d53a2d82ee17d6a3ac8a81ea2a93040ad82)
- Defines Protobuf compiler version strings as macros and separates out
suffix string definition.
(https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
- Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated oneof
accessors.
(https://github.com/protocolbuffers/protobuf/commit/e33e0d2ba569c8a7d6d74b5a8b39d804ec2a0169)
- Ensure Timestamp.ToDatetime(tz) has correct offset
(https://github.com/protocolbuffers/protobuf/commit/f0c56f9bc49b5015293eb5242a1982107b7c8b39)
- Do not check required field for upb python MergeFrom
(https://github.com/protocolbuffers/protobuf/commit/1e0bc565a0f02b5f833f6057f13021a96a329eeb)
- Setting up version updater to prepare for poison pills and embedding
version info into C++, Python and Java gencode.
(https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
- Merge the protobuf and upb Bazel repos
(https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Comparing a proto message with an object of unknown returns
NotImplemented
(https://github.com/protocolbuffers/protobuf/commit/12d4f418a7311ed4d381bf82caead11d03ae7911)
- Emit **slots** in pyi output as a tuple rather than a list for
--pyi_out.
(https://github.com/protocolbuffers/protobuf/commit/4a4f61589d3b258b5f1d2be752ff5dd01e7283d8)
- Fix a bug that strips options from descriptor.proto in Python.
(https://github.com/protocolbuffers/protobuf/commit/27d42c5ba7ab65956e71b9d825f68ef84c38bbde)
- Raise warings for message.UnknownFields() usages and navigate to the
new add
(https://github.com/protocolbuffers/protobuf/commit/c988759a9bb5ce719721b6581d035c277b147db2)
- Add protobuf python keyword support in path for stub generator. Also
added tests for
(https://github.com/protocolbuffers/protobuf/commit/4cc258a6a1cb6d3e526e3ca2f6ab7748ee84e2e3)
- Add tuple support to set Struct
(https://github.com/protocolbuffers/protobuf/commit/533fbbb45e666784a671aa9cb4ed5dd6a844a5a9)

##### Python C-Extension (Default)

- Comparing a proto message with an object of unknown returns
NotImplemented
(https://github.com/protocolbuffers/upb/commit/243add441169730acc42e6bad3a1a06a7f0b8e69)
- *See also UPB changes below, which may affect Python C-Extension
(Default).*

### PHP

- Merge the protobuf and upb Bazel repos
(https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)

##### PHP C-Extension

- Bump minimum PHP to 8.0
(https://github.com/protocolbuffers/protobuf/commit/b4abcef8a954383d860a9367465fb398e5992d82)
-   *See also UPB changes below, which may affect PHP C-Extension.*

### Ruby

- Check that ffi-compiler loads before using it to define tasks.
([#&#8203;14538](https://togithub.com/protocolbuffers/protobuf/issues/14538))
([#&#8203;14560](https://togithub.com/protocolbuffers/protobuf/issues/14560))
(https://github.com/protocolbuffers/protobuf/commit/0a5d6d4a45880a3076681cbd7d88e0985b4ccdb7)
- Ruby FFI implementation
([#&#8203;13343](https://togithub.com/protocolbuffers/protobuf/issues/13343))
(https://github.com/protocolbuffers/protobuf/commit/c52d80cf04274aefd557e2bc93f64bb71c097645)

##### Ruby C-Extension

- Merge the protobuf and upb Bazel repos
(https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Ruby: Fix object cache lookups on 32-bit platforms
([#&#8203;13494](https://togithub.com/protocolbuffers/protobuf/issues/13494))
(https://github.com/protocolbuffers/protobuf/commit/055c3782f6911822667157dab58341e44f9deedc)
- Ruby FFI implementation
([#&#8203;13343](https://togithub.com/protocolbuffers/protobuf/issues/13343))
(https://github.com/protocolbuffers/protobuf/commit/c52d80cf04274aefd557e2bc93f64bb71c097645)
-   *See also UPB changes below, which may affect Ruby C-Extension.*

### UPB (Python/PHP/Ruby C-Extension)

- Include .inc files directly instead of through a filegroup
([#&#8203;14575](https://togithub.com/protocolbuffers/protobuf/issues/14575))
(https://github.com/protocolbuffers/protobuf/commit/8defef58f4367d3a968b44000698e308a035ab9e)
- Loosen upb for json name conflict check in proto2 between json name
and field
(https://github.com/protocolbuffers/protobuf/commit/41af1d53a2d82ee17d6a3ac8a81ea2a93040ad82)
- Add utf8\_validation feature back to the global feature set.
(https://github.com/protocolbuffers/protobuf/commit/153028d7f3029e066bb2287012e14417ca83d55c)
- Do not check required field for upb python MergeFrom
(https://github.com/protocolbuffers/protobuf/commit/1e0bc565a0f02b5f833f6057f13021a96a329eeb)
- Merge the protobuf and upb Bazel repos
(https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Cherry-pick recent changes from the upb repo
([#&#8203;13908](https://togithub.com/protocolbuffers/protobuf/issues/13908))
(https://github.com/protocolbuffers/protobuf/commit/b2e39c175a690ba76f1cf05ebb17f003f6bcd610)
- Added malloc_trim() calls to Python allocator so RSS will decrease
when memory is freed
(https://github.com/protocolbuffers/protobuf/commit/56e9f2b4e467a7df5989a61eec142df7c72ab796)
- Upb: fix a Python memory leak in ByteSize()
(https://github.com/protocolbuffers/protobuf/commit/e45a6d50682d5d4b204e7d76254b1585b43c6815)
- Support ASAN detection on clang
([#&#8203;1424](https://togithub.com/protocolbuffers/protobuf/issues/1424))
(https://github.com/protocolbuffers/upb/commit/1b0011dfef3062ac25b0b2250c3140312b97fdf0)
- Upb: bugfix for importing a proto3 enum from within a proto2 file
(https://github.com/protocolbuffers/upb/commit/b19edc5ce0b0dd6591e7b8f65430b0f3e3ea1c29)
- Expose methods needed by Ruby FFI using UPB_API
([#&#8203;1391](https://togithub.com/protocolbuffers/protobuf/issues/1391))
(https://github.com/protocolbuffers/upb/commit/01fed1cc1ba255bf22b49393ba054b8d270e6ba3)
- Fix `PyUpb_Message_MergeInternal` segfault
([#&#8203;1338](https://togithub.com/protocolbuffers/protobuf/issues/1338))
(https://github.com/protocolbuffers/upb/commit/cefa206f546ce36f895cd02ab5a7e8a1f6918a22)

### Other

- Expose alias to protobuf_nowkt runtime
(https://github.com/protocolbuffers/protobuf/commit/5b6c2459b57c23669d6efc5a14a874c693004eec)
- Update absl submodule and dep to latest
[`2023080`](https://togithub.com/protocolbuffers/protobuf/commit/20230802).0
LTS
([#&#8203;13515](https://togithub.com/protocolbuffers/protobuf/issues/13515))
(https://github.com/protocolbuffers/protobuf/commit/e7bb34db3c57617f772a04d343a8bfa5109cf6cf)

###
[`v24.4`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v24.4):
Protocol Buffers v24.4

### Announcements

- [Protobuf News](https://protobuf.dev/news/) may include additional
announcements or pre-announcements for upcoming changes.

### C++

- Add dependency on absl::layout, and explicitly include absl layout
includes
([#&#8203;14042](https://togithub.com/protocolbuffers/protobuf/issues/14042))
(https://github.com/protocolbuffers/protobuf/commit/96c1a7d47702f6c82b96e2a0ff112b30ea85c330)
- Include Abseil's str_cat.h for absl::AlphaNum
([#&#8203;14054](https://togithub.com/protocolbuffers/protobuf/issues/14054))
(https://github.com/protocolbuffers/protobuf/commit/955d371eacedc37eeff8bf61a1046d694a5fbc8a)

### Java

- Rolled back breaking change to gencode before 3.15
([#&#8203;14246](https://togithub.com/protocolbuffers/protobuf/issues/14246))
(https://github.com/protocolbuffers/protobuf/commit/b9cf19ba5ec4aa6ff108933fa4a1adb075f8c4fb)

### Python

- Fix python code generation compatibility with Cython
([#&#8203;14240](https://togithub.com/protocolbuffers/protobuf/issues/14240))
(https://github.com/protocolbuffers/protobuf/commit/fe87c909399c45d54374817a52af40d6cfd8e063)

###
[`v24.3`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v24.3):
Protocol Buffers v24.3

### Announcements

- [Protobuf News](https://protobuf.dev/news/) may include additional
announcements or pre-announcements for upcoming changes.

### C++

- Workaround ICE on gcc 7.5 by not having one overload call the other
one with a
([#&#8203;13808](https://togithub.com/protocolbuffers/protobuf/issues/13808))
(https://github.com/protocolbuffers/protobuf/commit/398a84ce486d282e217f1120b810626c6b71f058)

### Python

##### Python C-Extension (Default)

- Added malloc_trim() calls to Python allocator so RSS will decrease
when memory is freed
(https://github.com/protocolbuffers/upb/commit/b0f5d5d94d9faafed2ab0fcaa9396cb4a984a2c1)

### UPB (Python/PHP/Ruby C-Extension)

- fix a Python memory leak in ByteSize()
([#&#8203;1243](https://togithub.com/protocolbuffers/upb/issues/1243))
([e45a6d5](https://togithub.com/protocolbuffers/protobuf/commit/e45a6d50682d5d4b204e7d76254b1585b43c6815))

###
[`v24.2`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v24.2):
Protocol Buffers v24.2

### C++

- Fixes for 32-bit MSVC.
(https://github.com/protocolbuffers/protobuf/commit/01e1a5c28ae00cca0821a95e3c68447df4d1591c)

###
[`v24.1`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v24.1):
Protocol Buffers v24.1

### Announcements

- [Protobuf News](https://protobuf.dev/news/) may include additional
announcements or pre-announcements for upcoming changes.

### Python

##### Python C-Extension (Default)

- Revert CopyFrom() optimization that was causing crashes back to
Serialize/Parse
(https://github.com/protocolbuffers/upb/commit/78e96941a47108dae2bbcb39cc481a848d3bfa67)

### Ruby

##### Ruby C-Extension

- Ruby: Fix object cache lookups on 32-bit platforms
([#&#8203;13494](https://togithub.com/protocolbuffers/protobuf/issues/13494))
([#&#8203;13580](https://togithub.com/protocolbuffers/protobuf/issues/13580))
(https://github.com/protocolbuffers/protobuf/commit/3094b492468caafcdb61c132dab636cc3c87773f)

###
[`v24.0`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v24.0):
Protocol Buffers v24.0

### Announcements

- [Protobuf News](https://protobuf.dev/news/) may include additional
announcements or pre-announcements for upcoming changes.

### Compiler

- Drop support for Bazel 5.
(https://github.com/protocolbuffers/protobuf/commit/fff490558816802c5b3d51169f797046f369453f)
- Allow code generators to specify whether or not they support editions.
(https://github.com/protocolbuffers/protobuf/commit/e2cec78455769881b9e8c23babeb3fe8effe81fe)
- Release prototype of Protobuf Editions.
(https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Compiler: Correct depfile generation when there are no outputs
(https://github.com/protocolbuffers/protobuf/commit/a44fc2b063d7466d48e2aeba05f9c35654140d87)
- Add dllexport_decl for generated default instance.
([#&#8203;13085](https://togithub.com/protocolbuffers/protobuf/issues/13085))
(https://github.com/protocolbuffers/protobuf/commit/9d0961afb712de0aa6f6fea681f4a7241faac6e2)
- In TSan mode, detect concurrent mutations of repeated/map fields.
(https://github.com/protocolbuffers/protobuf/commit/d800c5f08b184d261e6c47662035d554f109eb3b)
- Add a workaround for GCC constexpr bug
(https://github.com/protocolbuffers/protobuf/commit/e15326ba807a49365b6c9f5958e969b5aa915f8c)
- Turn on the table-driven parser by default, as it is no longer
experimental.
(https://github.com/protocolbuffers/protobuf/commit/c3e2efe70bbdfba4dd1f5c570043688fcbe74497)
- Shrink code size of generated protocol buffer code via a few
(https://github.com/protocolbuffers/protobuf/commit/97c351319ffa9715ed11a883c4adbaadf63a2fcc)
- Implement enforcement of target constraints
(https://github.com/protocolbuffers/protobuf/commit/e3848c19988e56a20fbd3fab5d181df6de575a69)
- Fix(libprotoc): export useful symbols from .so
(https://github.com/protocolbuffers/protobuf/commit/44b4bcc9e08b91dfeeb608c9d7c815f7cf2e00de)

### C++

- In OSS mode omit some extern template specializations. We have seen
reports of compilers falling over due to the size of translation units.
(https://github.com/protocolbuffers/protobuf/commit/2ed49c95f9abbdf35e741c8a4e85976142fa9ff8)
- Automated rollback of commit
[`adb2c4b`](https://togithub.com/protocolbuffers/protobuf/commit/adb2c4b415c35cda3e4394384ec579ea8dd8ec92).
(https://github.com/protocolbuffers/protobuf/commit/9f2d7ea773217cac09630eef63d91e22b1b00d60)
- Fix building shared libraries on MinGW-w64
([#&#8203;13240](https://togithub.com/protocolbuffers/protobuf/issues/13240))
(https://github.com/protocolbuffers/protobuf/commit/c2f07bb80f5273f5ba8f3e1c25d124f47e3f5430)
- Enable TSan validation to detect when a mutable accessor of a message
is called concurrently with another accessor on the same message, which
is a data race.
(https://github.com/protocolbuffers/protobuf/commit/0275e516229daca19d29b5915ec78fe19e317e43)
- Release prototype of Protobuf Editions.
(https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Enable TSan validation to detect when a mutable accessor of a message
is called concurrently with another accessor on the same message, which
is a data race.
(https://github.com/protocolbuffers/protobuf/commit/e2eae81b973c6944f3062fc21929368467e0ddb3)
- Fix case of locality optimizer being wrong for split repeated fields
and add a check that the optimized order has the same size as the
unoptimized order.
(https://github.com/protocolbuffers/protobuf/commit/76a327e1e1f02e2f8027d4dd02950711435ea461)
- Enable TSan validation to detect when a mutable accessor of a message
is called concurrently with another accessor on the same message, which
is a data race.
(https://github.com/protocolbuffers/protobuf/commit/80dbc50118c0ef5d38da727d1cf903408ea21b41)
- Mark single arg ctor explicit in DynamicMessageFactory.
(https://github.com/protocolbuffers/protobuf/commit/8fe88a5a07578dd5bd3aa648e8c2f95a22407094)
- Enable TSan validation to detect when a mutable accessor of a message
is called concurrently with another accessor on the same message, which
is a data race.
(https://github.com/protocolbuffers/protobuf/commit/6d79d13e478d677e7bdc1587d3442a070d5205cd)
- Let ParseRepeatedStringOnce call AllocateFromStringBlock().
(https://github.com/protocolbuffers/protobuf/commit/bcf3e36a48c573a81d6359a61275f477a7b57c2d)
- Check next tag in MpRepeatedMessage.
(https://github.com/protocolbuffers/protobuf/commit/9e1cf6fe9c762ddd21bcea5039cdbf1f7b509eea)
- When parsing repeated primitives, append to a tmp array on stack.
(https://github.com/protocolbuffers/protobuf/commit/adb2c4b415c35cda3e4394384ec579ea8dd8ec92)
- Add dllexport_decl for generated default instance.
([#&#8203;13085](https://togithub.com/protocolbuffers/protobuf/issues/13085))
(https://github.com/protocolbuffers/protobuf/commit/9d0961afb712de0aa6f6fea681f4a7241faac6e2)
- `TextFormat::ParseFieldValueFromString` now takes `absl::string_view`
as `input` instead of `const std::string &`
(https://github.com/protocolbuffers/protobuf/commit/5411fc66796d9e14d39b7ba0385eee5ffde875dc)
- In TSan mode, detect concurrent mutations of repeated/map fields.
(https://github.com/protocolbuffers/protobuf/commit/d800c5f08b184d261e6c47662035d554f109eb3b)
- Use the same ABI for static and shared libraries on non-Windows
platforms
([#&#8203;12983](https://togithub.com/protocolbuffers/protobuf/issues/12983))
(https://github.com/protocolbuffers/protobuf/commit/4329fde9cf3fab7d1b3a9abe0fbeee1ad8a8b111)
- Replace ColdChunkSkipper with iterator-based approach.
(https://github.com/protocolbuffers/protobuf/commit/ad677f3215de203695ade78a25f79fa61010f770)
- Check invalid type_id after casting it to uint32\_t.
(https://github.com/protocolbuffers/protobuf/commit/d8901265c75387851b7b66624b5bcc5bafa9bad9)
- Strengthen assertions on reflection methods.
(https://github.com/protocolbuffers/protobuf/commit/eb5e9e01d9831e9fae48bc6f688114f53cccabc5)
- Add assertions to reflection methods.
(https://github.com/protocolbuffers/protobuf/commit/5866e4575c7e43cfcabb98efd6f36b4ba5c4bb30)
- Fail to parse message sets if type_id is zero.
(https://github.com/protocolbuffers/protobuf/commit/bc1b1f6e53e9844ed42c796c7246d51aef65ed65)
- Enable the use of \[SU]Int32Size and EnumSize templates for AArch64
([#&#8203;11102](https://togithub.com/protocolbuffers/protobuf/issues/11102))
(https://github.com/protocolbuffers/protobuf/commit/e285d3e307512f24576b56d18cb5a5b655e2f393)
- Add a workaround for GCC constexpr bug
(https://github.com/protocolbuffers/protobuf/commit/e15326ba807a49365b6c9f5958e969b5aa915f8c)
- Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on Map, RepeatedField
and RepeatedPtrField.
(https://github.com/protocolbuffers/protobuf/commit/7b7ba2df67199a2c95b21ce6eec9e6d62b71cc60)
- Turn on the table-driven parser by default, as it is no longer
experimental.
(https://github.com/protocolbuffers/protobuf/commit/c3e2efe70bbdfba4dd1f5c570043688fcbe74497)
- Fix: avoid warnings on MSVC
([#&#8203;12697](https://togithub.com/protocolbuffers/protobuf/issues/12697))
(https://github.com/protocolbuffers/protobuf/commit/4fcf2c0a0968c88c60570da8fa6d7a18371c4b4b)
- Fix: avoid warnings on Windows
([#&#8203;12701](https://togithub.com/protocolbuffers/protobuf/issues/12701))
(https://github.com/protocolbuffers/protobuf/commit/f9108c2dd0921db50bb78e3fc6f0833186f8cf64)
- Shrink code size of generated protocol buffer code via a few
(https://github.com/protocolbuffers/protobuf/commit/97c351319ffa9715ed11a883c4adbaadf63a2fcc)
- Fix(libprotoc): export useful symbols from .so
([#&#8203;12619](https://togithub.com/protocolbuffers/protobuf/issues/12619))
(https://github.com/protocolbuffers/protobuf/commit/b1ae4fa87a95ee3650a6ad4192176d845e03da52)
- Forbid embedded nulls in `json_name`.
(https://github.com/protocolbuffers/protobuf/commit/b478a29bf0945d5b141992885ac9cfde45c66697)
- Implement option retention for C#
(https://github.com/protocolbuffers/protobuf/commit/5f64444e7b19421c25ae12d3c69acbab3a70a1bb)
- Implement enforcement of target constraints
(https://github.com/protocolbuffers/protobuf/commit/e3848c19988e56a20fbd3fab5d181df6de575a69)
- Make RepeatedField and RepeatedPtrField be destructor skippable for
proto arenas.
(https://github.com/protocolbuffers/protobuf/commit/e4168df564be12984ae836e5e870e634733f42a3)
- Update MessageDifferencer to conditionally force comparing additional
fields while doing PARTIAL comparison (compare fields which are not
repeated, have no presence and are set to their default value).
(https://github.com/protocolbuffers/protobuf/commit/748f57f2b67c56e050b660ffbafb9f3a5795c28a)
- CMake: Use the correct jsoncpp target name in static builds
([#&#8203;12733](https://togithub.com/protocolbuffers/protobuf/issues/12733))
(https://github.com/protocolbuffers/protobuf/commit/d372fcded6390d396d116ee984c000983beecabc)
- Fix: missing -DPROTOBUF_USE_DLLS in pkg-config
([#&#8203;12700](https://togithub.com/protocolbuffers/protobuf/issues/12700))
(https://github.com/protocolbuffers/protobuf/commit/f86008a548c80021bc6e72de0f992a87d68e7ce4)
- Avoid using string(JOIN..., which requires cmake 3.12
(https://github.com/protocolbuffers/protobuf/commit/adee0a59f914e8bc2982b716afef2ff3b72f67a5)

### Java

- Put a 4k limit on preallocation to prevent OOM from malformed inputs.
(https://github.com/protocolbuffers/protobuf/commit/173adca21659bfd06ae23f07d48129e7633d1f2e)
- Mark OneofDescriptor.isSynthetic() deprecated.
(https://github.com/protocolbuffers/protobuf/commit/b6b86e21fb67e22b762b7230427bce00ee8c9fec)
- Use ProtobufArrayList for repeated bytes field. Presize primitive
arrays for fixed-length primitives.
(https://github.com/protocolbuffers/protobuf/commit/b0b926a141e261ab1e4d41715c1d51cc31db46dd)
- Add protobuf-kotlin into protobuf-bom
([#&#8203;12936](https://togithub.com/protocolbuffers/protobuf/issues/12936))
(https://github.com/protocolbuffers/protobuf/commit/943b696094631cf263c6d9f92811c7a3419ef17c)
- Handle clear for Java proto3 optionals (synthetic oneofs) using field
descriptor instead of clear method.
(https://github.com/protocolbuffers/protobuf/commit/a5349027e3f0d7503bcab55240f18ec657e2dad7)
- Deps: Update Guava to 32.0.0
([#&#8203;12953](https://togithub.com/protocolbuffers/protobuf/issues/12953))
(https://github.com/protocolbuffers/protobuf/commit/cd615a8c6596de1fc35874561b53d26597c0b65a)
- Migrate repeated numeric fields to use bit field to track presence
instead of using it to indicate the field mutability to potentially skip
work on the field during build operations.
(https://github.com/protocolbuffers/protobuf/commit/f0de774705b43e120c43a545033ed29728351bdc)
- Automated rollback of commit
[`3e188b7`](https://togithub.com/protocolbuffers/protobuf/commit/3e188b7c04cfdaec134cb59831f009c1ce1d7f12).
(https://github.com/protocolbuffers/protobuf/commit/a1b3ff0ddb33b3535bf415474d2f1a561883a81f)

### Csharp

- \[C#] Replace regex that validates descriptor names
([#&#8203;12174](https://togithub.com/protocolbuffers/protobuf/issues/12174))
(https://github.com/protocolbuffers/protobuf/commit/cfb702a0788f57b6f321cd7a039701f0f53a19c2)
- Implement option retention for C#
(https://github.com/protocolbuffers/protobuf/commit/5f64444e7b19421c25ae12d3c69acbab3a70a1bb)

### Objective-C

- Release prototype of Protobuf Editions.
(https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Check invalid type_id after casting it to uint32\_t.
(https://github.com/protocolbuffers/protobuf/commit/d8901265c75387851b7b66624b5bcc5bafa9bad9)
- Fix jruby encoding in new thread
([#&#8203;12919](https://togithub.com/protocolbuffers/protobuf/issues/12919))
(https://github.com/protocolbuffers/protobuf/commit/6609bea792af9624f460dad0213bb47fd1ccf623)
- Add assertions to reflection methods.
(https://github.com/protocolbuffers/protobuf/commit/5866e4575c7e43cfcabb98efd6f36b4ba5c4bb30)
- \[C#] Replace regex that validates descriptor names
([#&#8203;12174](https://togithub.com/protocolbuffers/protobuf/issues/12174))
(https://github.com/protocolbuffers/protobuf/commit/cfb702a0788f57b6f321cd7a039701f0f53a19c2)

### Python

- Raise warinings when extend repeated field with none iterable in OSS.
OSS will raise errors soon
(https://github.com/protocolbuffers/protobuf/commit/96ca7d96daf6694341843350a162d9940e7552d3)
- Remove RegisterExtension in message class
(https://github.com/protocolbuffers/protobuf/commit/3560e2381efc3e01e67cc895383d270cd5492e13)
- Removed message.\_extensions_by_number
(https://github.com/protocolbuffers/protobuf/commit/86fc32cedc7aa01798938d5f860094fc21874b93)
- Removed message.\_extensions_by_name
(https://github.com/protocolbuffers/protobuf/commit/e737c8108a72d26e706f6eb5cbc814736a9d2389)
- Remove RegisterExtension() in python generated code
(https://github.com/protocolbuffers/protobuf/commit/e5a7a2eba79f697e2c2823dfbb95659088f994a6)
- Deprecated APIs that add non top descriptors to pool will be removed
soon
(https://github.com/protocolbuffers/protobuf/commit/3f5d844d9068de034df8db49a3c91f9100bd192d)

##### Python C-Extension (Default)

- Remove RegisterExtension in message class
(https://github.com/protocolbuffers/upb/commit/cbacdf152a04abc7e849b68ba6c4eaeb3c3669e3)
- *See also UPB changes below, which may affect Python C-Extension
(Default).*

### PHP

- Adding provide to php composer.json
([#&#8203;13141](https://togithub.com/protocolbuffers/protobuf/issues/13141))
(https://github.com/protocolbuffers/protobuf/commit/d603b4199e42d18a6ed433f47bdf8e5042900588)
- Require PHP version >=8.0, Ruby >=2.7, and Python >=3.8
(https://github.com/protocolbuffers/protobuf/commit/a5516ca6cc5e8034344879d1da83c946cff17ccf)
- Enable building PHP extension on Windows
([#&#8203;13097](https://togithub.com/protocolbuffers/protobuf/issues/13097))
(https://github.com/protocolbuffers/protobuf/commit/4d9bbac167a651db960c4d334fa1c47ecd5130e2)
- Add support for option retention in PHP
(https://github.com/protocolbuffers/protobuf/commit/ba348e2b3bf30f3d6f6c356020ac6999ddcf13b0)

##### PHP C-Extension

- Release prototype of Protobuf Editions.
(https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Enable building PHP extension on Windows
([#&#8203;13097](https://togithub.com/protocolbuffers/protobuf/issues/13097))
(https://github.com/protocolbuffers/protobuf/commit/4d9bbac167a651db960c4d334fa1c47ecd5130e2)
- Remove RegisterExtension in message class
(https://github.com/protocolbuffers/protobuf/commit/3560e2381efc3e01e67cc895383d270cd5492e13)
-   *See also UPB changes below, which may affect PHP C-Extension.*

### Ruby

- Update ruby gemspec required ruby version to >=2.7
(https://github.com/protocolbuffers/protobuf/commit/14ea2cb2966f6ede44b91d5594d46d8ea45b64ef)
- Refactor the object cache to better account for race conditions
([#&#8203;13204](https://togithub.com/protocolbuffers/protobuf/issues/13204))
(https://github.com/protocolbuffers/protobuf/commit/a01d047456783b46a4ca675eee881de110a88799)
- Fix jruby encoding in new thread
([#&#8203;12919](https://togithub.com/protocolbuffers/protobuf/issues/12919))
(https://github.com/protocolbuffers/protobuf/commit/6609bea792af9624f460dad0213bb47fd1ccf623)
- Implement option retention for Ruby
(https://github.com/protocolbuffers/protobuf/commit/d96032d1a501d8d8ee2f581d0a9597d631797c5f)

##### Ruby C-Extension

- Refactor the object cache to better account for race conditions
([#&#8203;13204](https://togithub.com/protocolbuffers/protobuf/issues/13204))
(https://github.com/protocolbuffers/protobuf/commit/a01d047456783b46a4ca675eee881de110a88799)
- Release prototype of Protobuf Editions.
(https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Remove RegisterExtension in message class
(https://github.com/protocolbuffers/protobuf/commit/3560e2381efc3e01e67cc895383d270cd5492e13)
-   *See also UPB changes below, which may affect Ruby C-Extension.*

### UPB (Python/PHP/Ruby C-Extension)

- Fix `upb_MiniTableField_CType()` to work correctly for enums &
strings.
(https://github.com/protocolbuffers/upb/commit/532b4d0671c806f3f590fb0313b8fc73bd460c6d)
- Fixed a bug in `upb_Map_Delete()` that caused crashes in map.delete(k)
for Ruby when string-keyed maps were in use.
(https://github.com/protocolbuffers/upb/commit/14bad4a5bfd8ff8fced91010edac7dd3747a7bd7)

### Other

- Drop Bazel 4 support and add Bazel 6
(https://github.com/protocolbuffers/protobuf/commit/4031712c34084f8c2bb4904e49e8a0d723ea8578)
- Bump Abseil submodule to
[`2023012`](https://togithub.com/protocolbuffers/protobuf/commit/20230125).3
([#&#8203;12660](https://togithub.com/protocolbuffers/protobuf/issues/12660))
(https://github.com/protocolbuffers/protobuf/commit/2a3ce310843056fce9159af643c4785a0f8c85e2)
- Added a conformance test for embedded nulls in JSON strings.
(https://github.com/protocolbuffers/protobuf/commit/37dfe806f84617390e9779fc237a0a77f5a50d6d)

###
[`v23.4`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v23.4):
Protocol Buffers v23.4

### Announcements

- [Protobuf News](https://protobuf.dev/news/) may include additional
announcements or pre-announcements for upcoming changes.

### Compiler

- Add dllexport_decl for generated default instance.
([#&#8203;13085](https://togithub.com/protocolbuffers/protobuf/issues/13085))
(https://github.com/protocolbuffers/protobuf/commit/0c70d9514090a2e5e5b35eba7e4d23d97592ec49)

### Java

- Deps: Update Guava to 32.0.1
(https://github.com/protocolbuffers/protobuf/commit/40d577782b75aa4f3d9149a1eb6b01b2349f13af)

###
[`v23.3`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v23.3):
Protocol Buffers v23.3

### Announcements

- [Protobuf News](https://protobuf.dev/news/) may include additional
announcements or pre-announcements for upcoming changes.

### C++

- Regenerate stale files
([#&#8203;13046](https://togithub.com/protocolbuffers/protobuf/issues/13046))
(https://github.com/protocolbuffers/protobuf/commit/58b6ddb03ef8f186c9225d0107213f74750a82f3)
- Use the same ABI for static and shared libraries on non-Windows
platforms
([#&#8203;12983](https://togithub.com/protocolbuffers/protobuf/issues/12983))
(https://github.com/protocolbuffers/protobuf/commit/efa1ec75cf152991a64cedf9c4a1ec5cb826ee34)

### Objective-C

- Regenerate stale files
([#&#8203;13046](https://togithub.com/protocolbuffers/protobuf/issues/13046))
(https://github.com/protocolbuffers/protobuf/commit/58b6ddb03ef8f186c9225d0107213f74750a82f3)

### UPB (Python/PHP/Ruby C-Extension)

- Fixed a bug in `upb_Map_Delete()` that caused crashes in map.delete(k)
for Ruby when string-keyed maps were in use.
(https://github.com/protocolbuffers/upb/commit/2de798e976d6c12d75b8b7d40f38da1f0ef53c8b)

###
[`v23.2`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v23.2):
Protocol Buffers v23.2

### Announcements

- [Protobuf News](https://protobuf.dev/news/) may include additional
announcements or pre-announcements for upcoming changes.

### Compiler

-   Add missing header to Objective-c generator

### Java

- Rollback of: Simplify protobuf Java message builder by removing
methods that calls the super class only.
(https://github.com/protocolbuffers/protobuf/commit/b556b8871cd07971b09df7b73ff6a461d78560fb)

###
[`v23.1`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v23.1):
Protocol Buffers v23.1

### Announcements

- [Protobuf News](https://protobuf.dev/news/) may include additional
announcements or pre-announcements for upcoming changes.

### Compiler

- Add a workaround for GCC constexpr bug
(https://github.com/protocolbuffers/protobuf/commit/67ecdde4f257094c4019ebfda62b2ae60facb6fa)

### C++

- Add a workaround for GCC constexpr bug
(https://github.com/protocolbuffers/protobuf/commit/67ecdde4f257094c4019ebfda62b2ae60facb6fa)

### Csharp

- \[C#] Replace regex that validates descriptor names
([#&#8203;12174](https://togithub.com/protocolbuffers/protobuf/issues/12174))
(https://github.com/protocolbuffers/protobuf/commit/0ced986277be52dcb666e802a4602081df4e7264)

###
[`v23.0`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v23.0):
Protocol Buffers v23.0

### Announcements

- [Protobuf News](https://protobuf.dev/news/) may include additional
announcements or pre-announcements for upcoming changes.

### Compiler

- Implement a retain_options flag in protoc.
(https://github.com/protocolbuffers/protobuf/commit/83507c7f4e8a53cc6e800efac5ce157cd960f657)
- Make protoc --descriptor_set_out respect option retention
(https://github.com/protocolbuffers/protobuf/commit/ae2531dcc2492c51554ea36d15540ff816ca6abd)
- Modify release artifacts for protoc to statically link system
libraries.
(https://github.com/protocolbuffers/protobuf/commit/723bd4c3c1a51ccf7e9726453f0b710223c4b583)
- Extension declaration: Enforce that if the extension range has a
declaration then all extensions in that range must be declared. This
should prevent non-declared extensions from being added.
(https://github.com/protocolbuffers/protobuf/commit/5dc171f71eca66579b06d4400ee5c94bfa68947a)
- Implement "reserved" for extension declaration.
(https://github.com/protocolbuffers/protobuf/commit/41287bd5d5373e91277b849e93c7ae2a0238b5c3)
- Open-source extension declaration definition.
(https://github.com/protocolbuffers/protobuf/commit/145900f06c732974af996a28a3e2c211ae104888)

### C++

- Fix(libprotoc): export useful symbols from .so
(https://github.com/protocolbuffers/protobuf/commit/46fb4aa8d2ade5e0067fce271fcb5293c5c70500)
- Turn off clang::musttail on i386
(https://github.com/protocolbuffers/protobuf/commit/b40633ff0bf9b34bf3bec9f3d35eec2d951a98b8)
- Fixes Clang 6 linker bug
(https://github.com/protocolbuffers/protobuf/commit/49bb3f20647b914fc52909eec19f260fb9a945f3)
- Remove PROTOBUF_DEPRECATED in favor of \[\[deprecated]].
(https://github.com/protocolbuffers/protobuf/commit/5c59290022dcbbea71099bc40097a149a2446f21)
- Add `assert` to the list of keywords for C++.
(https://github.com/protocolbuffers/protobuf/commit/a75c1a2761e49d8afb7838c03b923b909420f7fd)
- Added Reflection::GetCord() method in C++
(https://github.com/protocolbuffers/protobuf/commit/6ecb5d097e8d9bfafeb5ec8d251827f0d444f2ce)
- Support C++ protobuf ctype=CORD for bytes field (generated code).
(https://github.com/protocolbuffers/protobuf/commit/714f97502662ae75ed64f8456b43d5536740b022)
- Expand LazySerializerEmitter to cover proto3 cases.
(https://github.com/protocolbuffers/protobuf/commit/fab7f928b5375a20fd8d33556632128e936ad436)
- Unconditionally generate unknown field accessors.
(https://github.com/protocolbuffers/protobuf/commit/dd8a3cf2b54a06ef0558c004f9fca570278ad4a1)
- Introduce proto filter for inject_field_listener_events.
(https://github.com/protocolbuffers/protobuf/commit/2dc5338ea222e1f4e0357e46b702ed6a0e82aaeb)
- Add ParseFromCord to TextFormat
(https://github.com/protocolbuffers/protobuf/commit/055a6c669fd1ee67803f71dcc55a3b746376934f)
- Mark proto2::Arena::GetArena as deprecated.
(https://github.com/protocolbuffers/protobuf/commit/9f959583da525ba006a6dc6b8b8b733e4d8c619a)

### Java

- Adds `Timestamps.now()`.
(https://github.com/protocolbuffers/protobuf/commit/295f1125ceff5e07dfb8bfd2d7bada6c28918c0c)
- Added Reflection::GetCord() method in C++
(https://github.com/protocolbuffers/protobuf/commit/6ecb5d097e8d9bfafeb5ec8d251827f0d444f2ce)
- Re-attach OSGI headers to lite,core, and util. This information was
dropped in the move from maven to bazel.
(https://github.com/protocolbuffers/protobuf/commit/4b5652b030eda12fa1c7ea3e1ddd8d0404bd4ac5)
- Add Java FileDescriptor.copyHeadingTo() which copies file-level
settings (e.g. syntax, package, file options) to
FileDescriptorProto.Builder
(https://github.com/protocolbuffers/protobuf/commit/6e6d0bce4a04fd13d50485c22ecc7e96d9a16000)
- Remove unnecessary has bits from proto2 Java.
(https://github.com/protocolbuffers/protobuf/commit/c440da9e1389db520b79acb19cb55e5b3266dfba)
- Add casts to make protobuf compatible with Java 1.8 runtime.
(https://github.com/protocolbuffers/protobuf/commit/d40aadf823cf7e1e62b65561656f689da8969463)
- Fix mutability bug in Java proto lite: sub-messages inside of oneofs
were not
(https://github.com/protocolbuffers/protobuf/commit/fa82155c653776304bf6d03c33bea744db1b5eff)
- Document known quirks of EnumDescriptor::is_closed() when importing
across files with different syntaxes.
(https://github.com/protocolbuffers/protobuf/commit/1de344fcd1c1b2c6ec937151d69634171463370d)

##### Kotlin

- Remove errorprone dependency from kotlin protos.
(https://github.com/protocolbuffers/protobuf/commit/7b6e8282157f0280ecb3fd9fd4c6519a7cd5afbc)

### Csharp

- Make json_name take priority over name (fully) in C# parsing
([#&#8203;12262](https://togithub.com/protocolbuffers/protobuf/issues/12262))
(https://github.com/protocolbuffers/protobuf/commit/4326e0f852a3cf47c30bf99db66c3e3e77658dfb)
- Add C# presence methods to proto3 oneof fields.
(https://github.com/protocolbuffers/protobuf/commit/affadac847370221e2ec0e405d5715b4a22e518f)

### Objective-C

- Enforce the max message size when serializing to binary form.
(https://github.com/protocolbuffers/protobuf/commit/e6d01b2edcb04fdfb0f3cf79bf9d427f57fa2eac)
- Mark mergeFromData:extensionRegistry: as deprecated.
(https://github.com/protocolbuffers/protobuf/commit/e3b00511099838e22f59827bfb7c72e27fcc22fa)

### Python

- Fix bug in \_internal_copy_files where the rule would fail in
downstream repositories.
(https://github.com/protocolbuffers/protobuf/commit/b36c39236e43f4ab9c1472064b6161d00aef21c5)
- Make numpy/pip_deps a test-only dependency.
(https://github.com/protocolbuffers/protobuf/commit/fe038fc9d2e6a469c3cd2f1a84a6560c0a123481)
- Fix Python bug with required fields
(https://github.com/protocolbuffers/protobuf/commit/579f4ab70dc5c37f075a0b3f186fe80dcdf8165d)
- Mark deprecated SupportsUnknownEnumValues on Message reflection. Use
FieldDescriptor or EnumDescriptor instead.
(https://github.com/protocolbuffers/protobuf/commit/0b9134bb4eb281c3ed1446e8acf1aa354e0fe67e)
- Raise warnings for MessageFactory class usages
(https://github.com/protocolbuffers/protobuf/commit/dd9dd86fbca3ab5c1c7f0aa2534dc5da61530711)
- Add Python support for retention attribute
(https://github.com/protocolbuffers/protobuf/commit/63389c027f474954e8178e77ac624e8ef952626d)
- Document known quirks of EnumDescriptor::is_closed() when importing
across files with different syntaxes.
(https://github.com/protocolbuffers/protobuf/commit/1de344fcd1c1b2c6ec937151d69634171463370d)

##### Python C-Extension (Default)

- Fix Python bug with required fields
(https://github.com/protocolbuffers/upb/commit/ea4cb79f669e69342d7ced4d0255050325df41e3)
- *See also UPB changes below, which may affect Python C-Extension
(Default).*

### PHP

- RepeatedField: unset by index
([#&#8203;11425](https://togithub.com/protocolbuffers/protobuf/issues/11425))
(https://github.com/protocolbuffers/protobuf/commit/363fa89b1f02d4c51028f8c8bcd506f08eaa6b49)

##### PHP C-Extension

- RepeatedField: unset by index
([#&#8203;11425](https://togithub.com/protocolbuffers/protobuf/issues/11425))
(https://github.com/protocolbuffers/protobuf/commit/363fa89b1f02d4c51028f8c8bcd506f08eaa6b49)
-   *See also UPB changes below, which may affect PHP C-Extension.*

### Ruby

- Change the Ruby code generator to emit a serialized proto instead of
the DSL
([#&#8203;12319](https://togithub.com/protocolbuffers/protobuf/issues/12319))
(https://github.com/protocolbuffers/protobuf/commit/bd52d0483987f1a5186fc3daa261d1d76a787bcf)
- Feat(6178): emit ruby enum as integer
([#&#8203;11673](https://togithub.com/protocolbuffers/protobuf/issues/11673))
(https://github.com/protocolbuffers/protobuf/commit/8aa2b177f156393ce607b4ffea8c1ac28560c746)

##### Ruby C-Extension

- Feat(6178): emit ruby enum as integer
([#&#8203;11673](https://togithub.com/protocolbuffers/protobuf/issues/11673))
(https://github.com/protocolbuffers/protobuf/commit/8aa2b177f156393ce607b4ffea8c1ac28560c746)
- Ruby: Implement Write Barriers
([#&#8203;11793](https://togithub.com/protocolbuffers/protobuf/issues/11793))
(https://github.com/protocolbuffers/protobuf/commit/d82d8a48f6c50ae6c811dbd6b7383e36a691c6b3)
-   *See also UPB changes below, which may affect Ruby C-Extension.*

### UPB (Python/PHP/Ruby C-Extension)

- Implements upb_Message_DeepClone.
(https://github.com/protocolbuffers/upb/commit/3286f948f888f0c912c4ec483db9a1a50a6782a3)

### Other

- Fix: missing -DPROTOBUF_USE_DLLS in pkg-config
([#&#8203;12700](https://togithub.com/protocolbuffers/protobuf/issues/12700))
(https://github.com/protocolbuffers/protobuf/commit/1ca4e9c4859a23112684138c78608ddc0b8f1770)
- Avoid using string(JOIN..., which requires cmake 3.12
(https://github.com/protocolbuffers/protobuf/commit/54caf40312b3e7fd7794e267ef17e3be202de83d)
- Bump Abseil submodule to
[`2023012`](https://togithub.com/protocolbuffers/protobuf/commit/20230125).3
([#&#8203;12660](https://togithub.com/protocolbuffers/protobuf/issues/12660))
(https://github.com/protocolbuffers/protobuf/commit/750a6e7d7cbd8c022e18834f0a57fcd76d2c3c58)
- Fix btree issue in map tests.
(https://github.com/protocolbuffers/protobuf/commit/9898418bd9188b22e9db7f94529df638e65b14f7)
- Fix declared dependencies for pkg-config
([#&#8203;12518](https://togithub.com/protocolbuffers/protobuf/issues/12518))
(https://github.com/protocolbuffers/protobuf/commit/f79e35c821a50c6a37ffe365511b892f5409ac44)
- Fix build for newlib
([#&#8203;12501](https://togithub.com/protocolbuffers/protobuf/issues/12501))
(https://github.com/protocolbuffers/protobuf/commit/945bf3c48de64eb3c8a96f5dd36c19670c3dbcdd)
- Update usage disclaimer on FieldOptions.ctype
(https://github.com/protocolbuffers/protobuf/commit/b8e7192a731a8ece54b11f2caf87c32209559525)
- Add config option to print 64-bit integers in JSON as unquoted ints if
they can be losslessly converted into a 64-bit float.
(https://github.com/protocolbuffers/protobuf/commit/330e10d53fe1c12757f1cdd7293d0881eac4d01e)
- Version protoc according to the compiler version number.
(https://github.com/protocolbuffers/protobuf/commit/e67136d289e6cf4265e2763dd77216940c400ac9)
- Fix shared object ABI exports
([#&#8203;5144](https://togithub.com/protocolbuffers/protobuf/issues/5144))
([#&#8203;11032](https://togithub.com/protocolbuffers/protobuf/issues/11032))
(https://github.com/protocolbuffers/protobuf/commit/462964ed322503af52638d54c00a0a67d7133349)
- Ensure VarintParseSlowArm{32,64} are exported with PROTOBUF_EXPORT
(https://github.com/protocolbuffers/protobuf/commit/2ce56399e30db62e45869c6fd2d2bbacbb81a7ed)
- Update the min required CMake version to 3.10
(https://github.com/protocolbuffers/protobuf/commit/bcb20bbdfa0cba15c869d413edaaeb8507526a2e)

###
[`v22.5`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v22.5):
Protocol Buffers v22.5

### Announcements

- [Protobuf News](https://protobuf.dev/news/) may include additional
announcements or pre-announcements for upcoming changes.

### C++

- Fix: avoid warnings on MSVC
([#&#8203;12697](https://togithub.com/protocolbuffers/protobuf/issues/12697))
(https://github.com/protocolbuffers/protobuf/commit/4483f10a1d7a553b17301d8fce477a12a6777c00)
- Fix: avoid warnings on Windows
([#&#8203;12701](https://togithub.com/protocolbuffers/protobuf/issues/12701))
(https://github.com/protocolbuffers/protobuf/commit/a1435ade2aad3ce1171d7bdfcc051df3c97ec71c)
- Add missing cstdint header
(https://github.com/protocolbuffers/protobuf/commit/9daf5fb6ca8c8309548059c8f3c3574875036354)
- Fix: missing -DPROTOBUF_USE_DLLS in pkg-config
([#&#8203;12700](https://togithub.com/protocolbuffers/protobuf/issues/12700))
(https://github.com/protocolbuffers/protobuf/commit/18fae1c15112efad2080c2b2f726d904fea48b35)
- Avoid using string(JOIN..., which requires cmake 3.12
(https://github.com/protocolbuffers/protobuf/commit/0ce610ef46ce8937306778105a881cd7c28657ec)
- Explicitly include GTest package in examples
(https://github.com/protocolbuffers/protobuf/commit/5191c3b26435dd852cd57e9ab5c73f4ea8753183)
- Bump Abseil submodule to
[`2023012`](https://togithub.com/protocolbuffers/protobuf/commit/20230125).3
([#&#8203;12660](https://togithub.com/protocolbuffers/protobuf/issues/12660))
(https://github.com/protocolbuffers/protobuf/commit/2880a20b01af3c955a76f2a1a58342fea8b5f741)

###
[`v22.4`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v22.4):
Protocol Buffers v22.4

### Announcements

-   [Protobuf News](https://protobuf.dev/news/) may include addition

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/TBD54566975/ftl).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
  • Loading branch information
renovate[bot] and github-actions[bot] authored Nov 24, 2023
1 parent 7529544 commit 806b0aa
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 1 deletion.
File renamed without changes.
2 changes: 1 addition & 1 deletion bin/protoc

0 comments on commit 806b0aa

Please sign in to comment.