- Update from version 30.2 to 32.1
- Update of rootfile
- Changelog
32.1
Compiler
Ship all option dependencies to plugins along with regular ones. (34d6c85)
Unify plugin and built-in generators to use request/response interface
(b98f6ee)
Disable symbol visibility enforcement by default in C++ runtime (aad0daa)
C++
Disable symbol visibility enforcement by default in C++ runtime (aad0daa)
Java
Fix handling of optional dependencies in java generator. (892e0d5)
Restore Protobuf Java extension modifiers in gencode that were previously
removed in 7bff169 (4a18be6)
Restore ABI compatibility for extension methods which was previously
(knowingly) broken with 4.x: 94a2a44 (501f4a5)
Cherrypick test improvements (d365736)
Fix handling of optional dependencies in java generator. (9325480)
Ship all option dependencies to plugins along with regular ones. (34d6c85)
Unify plugin and built-in generators to use request/response interface
(b98f6ee)
Csharp
Regenerate stale files (299774c)
PHP
Fix: remove provide from composer.json (bc5f303)
32.0
Bazel
Migrates some Java test protos using java_features.proto to edition 2024
(6f4a990)
Add generated message reflection unittest for import option and
option_deps test proto in edition 2024. (c51df73)
Replace the usage of cc_info.debug_context with _debug_context (776c5f2)
Generate .pyi files in py_proto_library (#10366) (#21567) (e3e56c7)
Introduce denylisted_protos as a preferred replacement for
blacklisted_protos attribute. (795ab9d)
Use native.proto_library for Bazel 7 and explicitly error for Bazel 6
which is incompatible and out of support. (da0077e)
Require ProtoInfo provider instead of proto_library rule for bazel
cc_proto_library deps. (639f1c9)
Compiler
Strip extensions from option imports that are known in CollectExtensions
due to polluted pool from protoc parse when used with protoc full +
java built in generator. (ef3f9ca)
Deprecate google.protobuf.Method.syntax and google.protobuf.Method.edition
(9ec241e)
Enable edition 2024 support in protoc and language generators for cpp,
hpb, java, kotlin, objectivec, php, python, pyi, rust. (26843b3)
Ban import weak and weak field option in edition 2024 in protoc (parser
and c++ runtime). (a2a0511)
C++
Strip extensions from option imports that are known in CollectExtensions
due to polluted pool from protoc parse when used with protoc full +
java built in generator. (ef3f9ca)
Manually migrate top-level protobuf unittest protos from edition 2023 to
edition 2024. (7359f75)
Add generated message reflection unittest for import option and
option_deps test proto in edition 2024. (c51df73)
Remove the flag requirement for Bazel+MSVC users. (c6ba697)
Enable edition 2024 support in protoc and language generators for cpp,
hpb, java, kotlin, objectivec, php, python, pyi, rust. (26843b3)
Cast GetCachedTID() to unsigned to prevent left-shifting a negative
number. (3e935cf)
Update comment at the top of message.h and message_lite.h to document that
it should only be extended by gencode and not user code. (6a6ba52)
Treat warnings encountered in chromium builds as errors. (21c3c53)
Ban import weak and weak field option in edition 2024 in protoc (parser
and c++ runtime). (a2a0511)
Java
Strip extensions from option imports that are known in CollectExtensions
due to polluted pool from protoc parse when used with protoc full +
java built in generator. (ef3f9ca)
Remove CollectExtensions check banning unknown custom options since
unknown custom options are now expected when using import option and
option_deps which exclude the options from the "builder" pool
(aka "import" pool). (694eedd)
Manually migrate top-level protobuf unittest protos from edition 2023 to
edition 2024. (7359f75)
Migrates some Java test protos using java_features.proto to edition 2024
(6f4a990)
Restore compatibility of runtime with pre-3.22.x gencode impacted by
CVE-2022-3171 (adf556f)
Update our compiled_edition_default's maximum_edition to 2024 (#22870)
(6216ae4)
Restore the long-deprecated static functions on TextFormat. (5777d3b)
Add Kotlin class name helpers to names.h (527b2ab)
Enable edition 2024 support in protoc and language generators for cpp,
hpb, java, kotlin, objectivec, php, python, pyi, rust. (26843b3)
Update Java gencode base class documentation to clarify that it is not
supported to extend them. (c3177fb)
Add a FieldMaskUtil#trim overload that accepts TrimOptions and allows
retaining unset primitive field state. (84c5b63)
Csharp
Update staleness (0014173)
Manually migrate top-level protobuf unittest protos from edition 2023 to
edition 2024. (7359f75)
Update our compiled_edition_default's maximum_edition to 2024 (#22870)
(6216ae4)
Enable edition 2024 support in protoc and language generators for cpp,
hpb, java, kotlin, objectivec, php, python, pyi, rust. (26843b3)
Include also ARM build of protoc in nuget package (#21568) (c2b4040)
Improve C# handling of Any JSON serialization/deserialization (dc4e429)
Objective-C
Enable edition 2024 support in protoc and language generators for cpp,
hpb, java, kotlin, objectivec, php, python, pyi, rust. (26843b3)
Rust
Rust: remove DEP_UPB_VERSION check in codegen crate (#22764) (6f6012a)
Enable edition 2024 support in protoc and language generators for cpp,
hpb, java, kotlin, objectivec, php, python, pyi, rust. (26843b3)
Update Rust generator to output minidescriptors instead of C minitables
(1b4b5fc)
Add [clear_and_]parse_dont_enforce_required() to Rust protobuf. (e2fd7a0)
Add #[non_exhaustive] on the oneof-case enum (aba2075)
Impl Clone for RepeatedIter (aca1ed5)
See also UPB changes below, which may affect Rust.
Python
Strip extensions from option imports that are known in CollectExtensions
due to polluted pool from protoc parse when used with protoc full +
java built in generator. (ef3f9ca)
Manually migrate top-level protobuf unittest protos from edition 2023 to
edition 2024. (7359f75)
Raise warnings for float_precision from python json_format. (#23042)
(1a7e012)
Raise warnings when assign bool to int/enum (#23030) (0b25f7b)
Update python edition default maximum edition to 2024 (#22889) (72abf95)
Make protobuf codebase compatible with
--incompatible_config_setting_private_default_visibility (#22745)
(5e2838e)
Add Python deprecation warnings for Descriptor Label. (64a76e6)
Updating setuptools to patch CVE-2025-47273 (#22094) (508aba1)
Enable edition 2024 support in protoc and language generators for cpp,
hpb, java, kotlin, objectivec, php, python, pyi, rust. (26843b3)
Extend gencode compatibility support back to 3.20.0 (1af7fd4)
Change proto_api work with custom pool for upb and pure python. (49d9e2d)
Python pyi print "import datetime" for Duration/Timestamp field (f59b84a)
Add reference leak check to Python well_known_types_test. Fix two refleak
bugs. (e5f9ab4)
Add reference leak check to Python timestamp_test and duration_test. Fix a
refleak bug when assign datetime/duration to Timestamp/Duration (e004c8b)
Add recursion depth limits to pure python (17838be)
Remove calls to Label within Protobuf Python. (f69180a)
Change Python .pyi stubs to generated _Optional[] for bool fields same
with (6972464)
Remove internal/api_implementation.Version() (cbad456)
Fix python proto_api to work with messages that required fields are not
set. (f63ed55)
Fix python upb crashes on map/repeated reference stub destructor (4274909)
Mark Py JSON float_precision deprecated. (727a8ed)
PHP
Enable edition 2024 support in protoc and language generators for cpp,
hpb, java, kotlin, objectivec, php, python, pyi, rust. (26843b3)
Fix(php): use count instead of ->count() to avoid bug in c-extension
(9fbce62)
[php][compiler][ext] - Add missing has* methods and other well known types
(#20636) (01a7429)
Fix PHP 8.4 deprecation in GPBDecodeException (#21232) (676666e)
PHP C-Extension
Update our compiled_edition_default's maximum_edition to 2024 (#22870)
(6216ae4)
Change 'getLabel is deprecated' to E_USER_DEPRECATED (158d8ac)
[php][compiler][ext] - Add missing has* methods and other well known types
(#20636) (01a7429)
See also UPB changes below, which may affect PHP C-Extension.
Ruby
Make protobuf codebase compatible with
--incompatible_config_setting_private_default_visibility (#22745)
(5e2838e)
Enable edition 2024 support in protoc and language generators for cpp,
hpb, java, kotlin, objectivec, php, python, pyi, rust. (26843b3)
Fix silent failure of rb_test rules to run test (#21733) (4f74764)
Ruby C-Extension
Update our compiled_edition_default's maximum_edition to 2024 (#22870)
(6216ae4)
Removed wrap_memcpy.c compatibility shim for pre-2.14 glibc (4ba9733)
See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
Update our compiled_edition_default's maximum_edition to 2024 (#22870)
(6216ae4)
Make protobuf codebase compatible with
--incompatible_config_setting_private_default_visibility (#22745)
(5e2838e)
Add upb_Message_SetExtensionMessage as a helper for setting a extension
field that is a message. This is the extension equivalent of
upb_Message_SetBaseFieldMessage. (f15d28a)
Other
Update github major version tags to be formatted v..- for clarity (e001d57)
Upgrade Abseil dependency to 20250512.1 (ee68ed1)
Patch rules_ruby to apply neverlink = True to the jars rule (#21416)
(88e11bd)
31.1
Compiler
Support allowing late injection of language feature set defaults from
FeatureSet extensions while getting feature set extension values.
(3419598)
C++
Support allowing late injection of language feature set defaults from
FeatureSet extensions while getting feature set extension values.
(3419598)
Java
Add missing copts attribute (#21982) (bec5b5a)
Support allowing late injection of language feature set defaults from
FeatureSet extensions while getting feature set extension values.
(3419598)
Python
Support allowing late injection of language feature set defaults from
FeatureSet extensions while getting feature set extension values.
(3419598)
Python pyi print "import datetime" for Duration/Timestamp field (#21885)
(0fe099a)
Add recursion depth limits to pure python (a3921fb)
Other
Fix cmake staleness test (96a9ef6)
31.0
Bazel
Loosen py_proto_library check to be on the import path instead of full
directory (i.e. excluding external/module-name prefix). (a4be867)
Compiler
Add support for import option for protoc.(9901db6)
Add notices.h with information about our dependencies' licenses and add
--notices flag to protoc to print the contents of that file. (7a26486)
Move upb minitable code generator into protoc (dce6b0f)
Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and
com_google_googletest -> @googletest canonical BCR names. (ba6b54d)
C++
Remove fast-path check for non-clang compilers in MessageCreator. (aa5410d)
Add missing include. (d390631)
Add weak attribute to GetClassData to speed up clang builds. (d896480)
Add nontemporal software prefetcher to repeated ptr field dtor to improve
performance. (73f3469)
Warn on unused RepeatedPtrField. (683e9d2)
Add notices.h with information about our dependencies' licenses and add
--notices flag to protoc to print the contents of that file. (7a26486)
Fix a bug in handling of implicit-presence string_view fields. (bd70a7c)
Control bounds checks via BUILD flags. (d21e8ef)
Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and
com_google_googletest -> @googletest canonical BCR names. (ba6b54d)
Create hardened versions of Get and Mutable for repeated_field. (ffade4a)
Java
Add weak attribute to GetClassData to speed up clang builds. (d896480)
Use ProtobufToStringOutput to control the output format of
AbstractMessage.Builder.toString. (f5cb162)
Implement Protobuf Java Immutable API nest_in_file_class feature for
Edition 2024. (0416c3e)
Introduce a Generated annotation to eventually replace
javax.annotation.Generated (31e57fc)
Add volatile to featuresResolved (9e03ca5)
Fix Java concurrency issue in feature resolution for old <=3.25.x gencode
using lazy feature resolution. (fafb0fd)
Remove Java runtime classes from kotlin release. (079be27)
Split maven dependencies into dev vs local (#20549) (e045fc6)
Improve error messaging when detecting and erroring out on integer
overflow of byte count limit variables. (097fdb8)
Kotlin
Remove Java runtime classes from kotlin release. (079be27)
Csharp
Remove "experimental API" warnings from members in the .NET protobuf
runtime. (afea52f)
Improve performace of repeated packed fixedSize fields (#19667) (85507b9)
Objective-C
[ObjC] Deprecate GPBFieldDescriptor.isOptional. (86ab252)
[ObjC] Raise the library version and enable new generated code. (a639cf8)
Rust
Cherry-pick Rust fix to 31.x (#21617) (01b42bb)
Add upb_Map_GetMutable API to upb (dd5bf5e)
See also UPB changes below, which may affect Rust.
Python
Update GetCurrentTime to use datetime.datetime.now (01b154c)
Make Py JSON float_precision apply to both float and double fields. (5b54ee3)
-Add '+' and '-' annotations for Timestamp and Duration in Python (fff783e)
Bug fix for FieldMask.MergeFrom() with unset fields. (1c87ac3)
Make python text_format able to skip unknown fields for repeated messages
(dcafca2)
Fix segment fault for UPB Pyhon 'in' method of empty repeated extensions
(da04261)
Fix upb to escape DefinitelyNeedsEscape (like " and ') for bytes field
(b234305)
Check with fallback descriptorDB for
FindExtensionByNumber()/FindAllExtensions in UPB python pool. (9fd28d9)
Add clear() method to repeated fields in Python. (0324f39)
Register Scalar/MessageMapContainerTypes as virtual subclasses of (9a0b591)
Fix python codegen crash when C++ features are used. (308aaf4)
Add more detail to the comment for GetMessageClassesForFiles (9befb58)
Add constructing unpack routine to Python Protobuf Any API. (fb78c09)
Implement typing for proto Timestamp/Duration assignments. (0e3326b)
PHP
Deprecate Descriptor Label. As an alternative, add helper methods for
checking whether a field is required or repeated. (d82de8f)
Feat(php): improve return typehint when repeatedfield (#11734) (e04fe69)
PHP C-Extension
Automated rollback of commit f9863df. (#21355) (a59988c)
Deprecate Descriptor Label. As an alternative, add helper methods for
checking whether a field is required or repeated. (d82de8f)
Ruby: Allow to get a file descriptor by a file name (#20287) (c398592)
Feat(php): improve return typehint when repeatedfield (#11734) (e04fe69)
See also UPB changes below, which may affect PHP C-Extension.
Ruby
Fix silent failure of rb_test rules to run test (#21733) (0cf5489)
Ruby | Add support for a protobuf debug build (#21060) (59e1f0f)
Ruby | Support installing the gem via git and some other small build
tweaks (#21061) (d3560e7)
Deprecate Descriptor Label. As an alternative, add helper methods for
checking whether a field is required or repeated. (d82de8f)
[Ruby]Implement #to_hash for message classes (#20866) (5596f6d)
Drop Ruby 3.0 (5de7c80)
Fixes #18726 by backslash escaping descriptor data containing # if the
hashmark appears immediately before any of $, {, or @. (fffa3da)
Ruby: Allow to get a file descriptor by a file name (#20287) (c398592)
Ruby: fix bug in Map.hash (b968d0d)
Ruby C-Extension
Ruby | Add support for a protobuf debug build (#21060) (59e1f0f)
Deprecate Descriptor Label. As an alternative, add helper methods for
checking whether a field is required or repeated. (d82de8f)
Ruby: Allow to get a file descriptor by a file name (#20287) (c398592)
Ruby: fix bug in Map.hash (b968d0d)
See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
Fixed LTO-only linker error in upb linker arrays. (3434a21)
Deprecate Descriptor Label. As an alternative, add helper methods for
checking whether a field is required or repeated. (d82de8f)
Add upb_Map_GetMutable API to upb (dd5bf5e)
Fix upb to escape DefinitelyNeedsEscape (like " and ') for bytes field
(b234305)
Upb: delete functions in map_gencode_util. They're unused after the Map
iterator API change. (f398807)
Upb: Update _upb_map_next signature to return a boolean and remove the
_nextmutable Map iterator API. (e4cdf44)
Change upb C generated map iteration function to not hand out MapEntry
pointers. (3a3d697)
Ruby: Allow to get a file descriptor by a file name (#20287) (c398592)
Expose the upb_ByteSize function to upb clients. Note that the current
naive implementation is no more efficient than serializing the message
yourself and noting the resulting size. (121fdaa)
Move upb minitable code generator into protoc (dce6b0f)
Tolerate message set extensions encoded as normal deliminited submessages
(c63fd56)
Automated rollback of commit 6bde8c4. (8ef81fb)
Fix UPB fast table build. (46f9e29)
Other
Patch rules_ruby to apply neverlink = True to the jars rule (#21416)
(#21505) (664d94a)
Restore JDK8 compatibility in Bazel for libraries with dependencies from
Maven (e.g. //java/util) (e8edc5d)
Protobuf: add //:go_features_proto Bazel alias (f79be3e)
Fixes -lpthread problem when building with android_arm64 config (#20337)
(4f5968a)
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
config/rootfiles/common/protobuf | 32 ++++++++++++++++++++------------
lfs/protobuf | 4 ++--
2 files changed, 22 insertions(+), 14 deletions(-)
@@ -1,11 +1,11 @@
#usr/bin/protoc
-usr/bin/protoc-30.2.0
+usr/bin/protoc-32.1.0
#usr/bin/protoc-gen-upb
-usr/bin/protoc-gen-upb-30.2.0
+usr/bin/protoc-gen-upb-32.1.0
#usr/bin/protoc-gen-upb_minitable
-usr/bin/protoc-gen-upb_minitable-30.2.0
+usr/bin/protoc-gen-upb_minitable-32.1.0
#usr/bin/protoc-gen-upbdefs
-usr/bin/protoc-gen-upbdefs-30.2.0
+usr/bin/protoc-gen-upbdefs-32.1.0
#usr/include/google
#usr/include/google/protobuf
#usr/include/google/protobuf/any.h
@@ -33,7 +33,6 @@ usr/bin/protoc-gen-upbdefs-30.2.0
#usr/include/google/protobuf/compiler/csharp/names.h
#usr/include/google/protobuf/compiler/importer.h
#usr/include/google/protobuf/compiler/java
-#usr/include/google/protobuf/compiler/java/context.h
#usr/include/google/protobuf/compiler/java/doc_comment.h
#usr/include/google/protobuf/compiler/java/generator.h
#usr/include/google/protobuf/compiler/java/helpers.h
@@ -103,6 +102,7 @@ usr/bin/protoc-gen-upbdefs-30.2.0
#usr/include/google/protobuf/has_bits.h
#usr/include/google/protobuf/implicit_weak_message.h
#usr/include/google/protobuf/inlined_string_field.h
+#usr/include/google/protobuf/internal_feature_helper.h
#usr/include/google/protobuf/internal_visibility.h
#usr/include/google/protobuf/io
#usr/include/google/protobuf/io/coded_stream.h
@@ -132,13 +132,13 @@ usr/bin/protoc-gen-upbdefs-30.2.0
#usr/include/google/protobuf/map.h
#usr/include/google/protobuf/map_entry.h
#usr/include/google/protobuf/map_field.h
-#usr/include/google/protobuf/map_field_inl.h
#usr/include/google/protobuf/map_field_lite.h
#usr/include/google/protobuf/map_type_handler.h
#usr/include/google/protobuf/message.h
#usr/include/google/protobuf/message_lite.h
#usr/include/google/protobuf/metadata.h
#usr/include/google/protobuf/metadata_lite.h
+#usr/include/google/protobuf/micro_string.h
#usr/include/google/protobuf/parse_context.h
#usr/include/google/protobuf/port.h
#usr/include/google/protobuf/port_def.inc
@@ -177,6 +177,7 @@ usr/bin/protoc-gen-upbdefs-30.2.0
#usr/include/google/protobuf/util/delimited_message_util.h
#usr/include/google/protobuf/util/field_comparator.h
#usr/include/google/protobuf/util/field_mask_util.h
+#usr/include/google/protobuf/util/internal_timeval.h
#usr/include/google/protobuf/util/json_util.h
#usr/include/google/protobuf/util/message_differencer.h
#usr/include/google/protobuf/util/time_util.h
@@ -270,6 +271,7 @@ usr/bin/protoc-gen-upbdefs-30.2.0
#usr/include/upb/port
#usr/include/upb/port/atomic.h
#usr/include/upb/port/def.inc
+#usr/include/upb/port/sanitizers.h
#usr/include/upb/port/undef.inc
#usr/include/upb/port/vsnprintf_compat.h
#usr/include/upb/reflection
@@ -319,12 +321,18 @@ usr/bin/protoc-gen-upbdefs-30.2.0
#usr/include/upb/wire
#usr/include/upb/wire/byte_size.h
#usr/include/upb/wire/decode.h
+#usr/include/upb/wire/decode_fast
+#usr/include/upb/wire/decode_fast/combinations.h
+#usr/include/upb/wire/decode_fast/data.h
+#usr/include/upb/wire/decode_fast/select.h
#usr/include/upb/wire/encode.h
#usr/include/upb/wire/eps_copy_input_stream.h
#usr/include/upb/wire/internal
-#usr/include/upb/wire/internal/decode_fast.h
+#usr/include/upb/wire/internal/decoder.h
+#usr/include/upb/wire/internal/reader.h
#usr/include/upb/wire/reader.h
#usr/include/upb/wire/types.h
+#usr/include/upb/wire/writer.h
#usr/include/utf8_range.h
#usr/include/utf8_validity.h
#usr/lib/cmake/protobuf
@@ -340,16 +348,16 @@ usr/bin/protoc-gen-upbdefs-30.2.0
#usr/lib/cmake/utf8_range/utf8_range-targets-noconfig.cmake
#usr/lib/cmake/utf8_range/utf8_range-targets.cmake
#usr/lib/libprotobuf-lite.so
-usr/lib/libprotobuf-lite.so.30.2.0
+usr/lib/libprotobuf-lite.so.32.1.0
#usr/lib/libprotobuf.so
-usr/lib/libprotobuf.so.30.2.0
+usr/lib/libprotobuf.so.32.1.0
#usr/lib/libprotoc.so
-usr/lib/libprotoc.so.30.2.0
+usr/lib/libprotoc.so.32.1.0
#usr/lib/libupb.a
usr/lib/libutf8_range.so
-usr/lib/libutf8_range.so.30.2.0
+usr/lib/libutf8_range.so.32.1.0
usr/lib/libutf8_validity.so
-usr/lib/libutf8_validity.so.30.2.0
+usr/lib/libutf8_validity.so.32.1.0
#usr/lib/pkgconfig/protobuf-lite.pc
#usr/lib/pkgconfig/protobuf.pc
#usr/lib/pkgconfig/upb.pc
@@ -24,7 +24,7 @@
include Config
-VER = 30.2
+VER = 32.1
THISAPP = protobuf-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 3a7d6bfa38500b16b1ce52b244fd9448fe7be2933a77224a1423a67e3ae3155846c0974ee1b6c579f6050f60b7784ace21b149b3cbdff2ef1e6bf954acbb1b51
+$(DL_FILE)_BLAKE2 = f6c1faa260ecb57c0a1a5d4be7d56e431cac9e325a02b86d9eecd0318a0964618063db218a4720fcb1121614016f112ba00880a5b743a5c34f19f79ea4420735
install : $(TARGET)