diff --git a/_multibuild b/_multibuild
new file mode 100644
index 0000000..a8da2d5
--- /dev/null
+++ b/_multibuild
@@ -0,0 +1,5 @@
+
+ python-protobuf
+ protobuf-java
+
+
diff --git a/baselibs.conf b/baselibs.conf
index f4ed269..903d5b5 100644
--- a/baselibs.conf
+++ b/baselibs.conf
@@ -1,3 +1,3 @@
-libprotobuf25_4_0
-libprotoc25_4_0
-libprotobuf-lite25_4_0
+libprotobuf28_2_0
+libprotoc28_2_0
+libprotobuf-lite28_2_0
diff --git a/manifest.txt.in b/manifest.txt.in
deleted file mode 100644
index 7f6eac3..0000000
--- a/manifest.txt.in
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Created-By: stick@gk2.sk
-Name: com/google/protobuf/
-Specification-Title: Google Protocol Buffers
-Specification-Version: @VERSION@
-Specification-Vendor: stick@gk2.sk
-Implementation-Title: com.google.protobuf
-Implementation-Version: @VERSION@
-Implementation-Vendor: stick@gk2.sk
diff --git a/pre_checkin.sh b/pre_checkin.sh
new file mode 100644
index 0000000..130e4e9
--- /dev/null
+++ b/pre_checkin.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+cp protobuf.changes protobuf-java.changes
+cp protobuf.changes python-protobuf.changes
+osc service runall format_spec_file
+
diff --git a/protobuf-java-4.28.2.pom b/protobuf-java-4.28.2.pom
new file mode 100644
index 0000000..a2c4c56
--- /dev/null
+++ b/protobuf-java-4.28.2.pom
@@ -0,0 +1,41 @@
+
+
+ 4.0.0
+
+ com.google.protobuf
+ protobuf-parent
+ 4.28.2
+
+
+ protobuf-java
+ jar
+
+ Protocol Buffers [Core]
+
+ Core Protocol Buffers library. Protocol Buffers are a way of encoding structured data in an
+ efficient yet extensible format.
+
+
+
+
+
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ true
+
+
+ com.google.protobuf
+ https://developers.google.com/protocol-buffers/
+ com.google.protobuf
+ com.google.protobuf;version=${project.version}
+ sun.misc;resolution:=optional,*
+
+
+
+
+
+
diff --git a/protobuf-java-util-4.28.2.pom b/protobuf-java-util-4.28.2.pom
new file mode 100644
index 0000000..eecfb33
--- /dev/null
+++ b/protobuf-java-util-4.28.2.pom
@@ -0,0 +1,67 @@
+
+
+ 4.0.0
+
+ com.google.protobuf
+ protobuf-parent
+ 4.28.2
+
+
+ protobuf-java-util
+ jar
+
+ Protocol Buffers [Util]
+ Utilities for Protocol Buffers
+
+
+ com.google.protobuf
+ protobuf-java
+ 4.28.2
+
+
+ com.google.code.findbugs
+ jsr305
+ 3.0.2
+
+
+ com.google.code.gson
+ gson
+ 2.8.9
+
+
+ com.google.errorprone
+ error_prone_annotations
+ 2.18.0
+
+
+ com.google.guava
+ guava
+ 32.0.1-jre
+
+
+ com.google.j2objc
+ j2objc-annotations
+ 2.8
+
+
+
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ true
+
+
+ com.google.protobuf.util
+ https://developers.google.com/protocol-buffers/
+ com.google.protobuf.util
+ com.google.protobuf.util;version=${project.version}
+
+
+
+
+
+
+
diff --git a/protobuf-java.changes b/protobuf-java.changes
new file mode 100644
index 0000000..4f9cf5b
--- /dev/null
+++ b/protobuf-java.changes
@@ -0,0 +1,2004 @@
+-------------------------------------------------------------------
+Tue Oct 15 13:49:20 UTC 2024 - Fridrich Strba
+
+- Splitting the java and python parts into separate packages
+ * allows much more readable and simple spec files
+ * allows disabling bindings separately from the main package
+- Build protobuf-java with the upstream version that is currently
+ 4.28.2
+- Add a pre_checkin.sh script to synchronize the changes files
+
+-------------------------------------------------------------------
+Mon Oct 7 10:46:17 UTC 2024 - Adrian Schröter
+
+- update to 28.2
+ C++: Fix cord handling in DynamicMessage and oneofs
+ Java: Add recursion check when parsing unknown fields
+- python packages became arch dependend
+
+-------------------------------------------------------------------
+Sun Aug 11 09:49:53 UTC 2024 - Andreas Stieger
+
+- tweak and correct how minimum version of abseil is specified
+ (20230125 to 20230125.3)
+- Remove explicit requirements of the protobuf-devel package, as
+ the they are autogenerated when needed
+
+-------------------------------------------------------------------
+Fri Aug 2 16:42:09 UTC 2024 - Andreas Stieger
+
+- update to 25.4:
+ * Java: Check that size is non-negative when reading string or
+ bytes in StreamDecoder
+ * Java: Add Automatic-Module-Name
+ * PHP: Regen stale files
+ * Ruby C-Extension: Regen stale files
+
+-------------------------------------------------------------------
+Sat Mar 9 20:36:14 UTC 2024 - Andreas Stieger
+
+- update to 25.3:
+ * Possibly breaking changes to: C++, Java, PHP, Python, Ruby
+ * message.UnknownFields() is deprecated in pure Python and C++
+ extensions, it will be removed in v26. Use the new
+ UnknownFieldSet(message) support in unknown_fields.py as a
+ replacement
+- make python and java packages noarch
+- drop add-missing-stdint-header.patch no longer required
+
+-------------------------------------------------------------------
+Fri Mar 8 16:25:26 UTC 2024 - Andreas Stieger
+
+- update to 25.2:
+ * Only substitute prefixes during installation setup
+ * Register a shutdown delete for C++ feature defaults
+
+-------------------------------------------------------------------
+Tue Jan 2 13:52:00 UTC 2024 - Dirk Müller
+
+- update to 25.1:
+ * Raise warnings for deprecated python syntax usages
+ * Add support for extensions in CRuby, JRuby, and FFI Ruby
+ * Add support for options in CRuby, JRuby and FFI (#14594)
+- update to 25.0:
+ * Implement proto2/proto3 with editions
+ * Defines Protobuf compiler version strings as macros and
+ separates out suffix string definition.
+ * Add utf8_validation feature back to the global feature set.
+ * Setting up version updater to prepare for poison pills and
+ embedding version info into C++, Python and Java gencode.
+ * Merge the protobuf and upb Bazel repos
+ * Editions: Introduce functionality to protoc for generating
+ edition feature set defaults.
+ * Editions: Migrate edition strings to enum in C++ code.
+ * Create a reflection helper for ExtensionIdentifier.
+ * Editions: Provide an API for C++ generators to specify their
+ features.
+ * Editions: Refactor feature resolution to use an intermediate
+ message.
+ * Publish extension declarations with declaration
+ verifications.
+ * Editions: Stop propagating partially resolved feature sets to
+ plugins.
+ * Editions: Migrate string_field_validation to a C++ feature
+ * Editions: Include defaults for any features in the generated
+ pool.
+ * Protoc: parser rejects explicit use of map_entry option
+ * Protoc: validate that reserved range start is before end
+ * Protoc: support identifiers as reserved names in addition to
+ string literals (only in editions)
+ * Drop support for Bazel 5.
+ * Allow code generators to specify whether or not they support
+ editions.
+ # C++
+ * Set `PROTOBUF_EXPORT` on
+ `InternalOutOfLineDeleteMessageLite()`
+ * Update stale checked-in files
+ * Apply PROTOBUF_NOINLINE to declarations of some functions
+ that want it.
+ * Implement proto2/proto3 with editions
+ * Make JSON UTF-8 boundary check inclusive of the largest
+ possible UTF-8 character.
+ * Reduce `Map::size_type` to 32-bits. Protobuf containers can't
+ have more than that
+ * Defines Protobuf compiler version strings as macros and
+ separates out suffix string definition.
+ * Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated
+ oneof accessors.
+ * Fix bug in reflection based Swap of map fields.
+ * Add utf8_validation feature back to the global feature set.
+ * Setting up version updater to prepare for poison pills and
+ embedding version info into C++, Python and Java gencode.
+ * Add prefetching to arena allocations.
+ * Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated
+ repeated and map field accessors.
+ * Editions: Migrate edition strings to enum in C++ code.
+ * Create a reflection helper for ExtensionIdentifier.
+ * Editions: Provide an API for C++ generators to specify their
+ features.
+ * Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated
+ string field accessors.
+ * Editions: Refactor feature resolution to use an intermediate
+ message.
+ * Fixes for 32-bit MSVC.
+ * Publish extension declarations with declaration
+ verifications.
+ * Export the constants in protobuf's any.h to support DLL
+ builds.
+ * Implement AbslStringify for the Descriptor family of types.
+ * Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated
+ message field accessors.
+ * Editions: Stop propagating partially resolved feature sets to
+ plugins.
+ * Editions: Migrate string_field_validation to a C++ feature
+ * Editions: Include defaults for any features in the generated
+ pool.
+ * Introduce C++ feature for UTF8 validation.
+ * Protoc: validate that reserved range start is before end
+ * Remove option to disable the table-driven parser in protoc.
+ * Lock down ctype=CORD in proto file.
+ * Support split repeated fields.
+ * In OSS mode omit some extern template specializations.
+ * Allow code generators to specify whether or not they support
+ editions.
+ # Java
+ * Implement proto2/proto3 with editions
+ * Remove synthetic oneofs from Java gencode field accessor
+ tables.
+ * Timestamps.parse: Add error handling for invalid
+ hours/minutes in the timezone offset.
+ * Defines Protobuf compiler version strings as macros and
+ separates out suffix string definition.
+ * Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated
+ oneof accessors.
+ * Add missing debugging version info to Protobuf Java gencode
+ when multiple files are generated.
+ * Fix a bad cast in putBuilderIfAbsent when already present due
+ to using the result of put() directly (which is null if it
+ currently has no value)
+ * Setting up version updater to prepare for poison pills and
+ embedding version info into C++, Python and Java gencode.
+ * Fix a NPE in putBuilderIfAbsent due to using the result of
+ put() directly (which is null if it currently has no value)
+ * Update Kotlin compiler to escape package names
+ * Add MapFieldBuilder and change codegen to generate it and the
+ put{field}BuilderIfAbsent method.
+ * Introduce recursion limit in Java text format parsing
+ * Consider the protobuf.Any invalid if typeUrl.split("/")
+ returns an empty array.
+ * Mark `FieldDescriptor.hasOptionalKeyword()` as deprecated.
+ * Fixed Python memory leak in map lookup.
+ * Loosen upb for json name conflict check in proto2 between
+ json name and field
+ * Defines Protobuf compiler version strings as macros and
+ separates out suffix string definition.
+ * Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated
+ oneof accessors.
+ * Ensure Timestamp.ToDatetime(tz) has correct offset
+ * Do not check required field for upb python MergeFrom
+ * Setting up version updater to prepare for poison pills and
+ embedding version info into C++, Python and Java gencode.
+ * Merge the protobuf and upb Bazel repos
+ * Comparing a proto message with an object of unknown returns
+ NotImplemented
+ * Emit __slots__ in pyi output as a tuple rather than a list
+ for --pyi_out.
+ * Fix a bug that strips options from descriptor.proto in
+ Python.
+ * Raise warings for message.UnknownFields() usages and navigate
+ to the new add
+ * Add protobuf python keyword support in path for stub
+ generator.
+ * Add tuple support to set Struct
+ * ### Python C-Extension (Default)
+ * Comparing a proto message with an object of unknown returns
+ NotImplemented
+ * Check that ffi-compiler loads before using it to define
+ tasks.
+ # UPB (Python/PHP/Ruby C-Extension)
+ * Include .inc files directly instead of through a filegroup
+ * Loosen upb for json name conflict check in proto2 between
+ json name and field
+ * Add utf8_validation feature back to the global feature set.
+ * Do not check required field for upb python MergeFrom
+ * Merge the protobuf and upb Bazel repos
+ * Added malloc_trim() calls to Python allocator so RSS will
+ decrease when memory is freed
+ * Upb: fix a Python memory leak in ByteSize()
+ * Support ASAN detection on clang
+ * Upb: bugfix for importing a proto3 enum from within a proto2
+ file
+ * Expose methods needed by Ruby FFI using UPB_API
+ * Fix `PyUpb_Message_MergeInternal` segfault
+
+-------------------------------------------------------------------
+Thu Dec 21 13:53:29 UTC 2023 - Dirk Müller
+
+- build against modern python on sle15
+
+-------------------------------------------------------------------
+Mon Oct 30 10:47:11 UTC 2023 - Fridrich Strba
+
+- Build with source and target levels 8
+ * fixes build with JDK21
+- Install the pom file with the new %%mvn_install_pom macro
+- Do not install the pom-only artifacts, since the %%mvn_install_pom
+ macro resolves the variables at the install time
+
+-------------------------------------------------------------------
+Fri Jul 7 12:04:43 UTC 2023 - Dirk Müller
+
+- update to 23.4:
+ * Add dllexport_decl for generated default instance.
+ * Deps: Update Guava to 32.0.1
+
+-------------------------------------------------------------------
+Mon Jul 3 07:58:43 UTC 2023 - Dirk Müller
+
+- update to 23.3:
+ C++
+ * Regenerate stale files
+ * Use the same ABI for static and shared libraries on non-
+ Windows platforms
+ * Add a workaround for GCC constexpr bug
+
+ Objective-C
+ * Regenerate stale files
+ 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.
+
+ Compiler
+ * Add missing header to Objective-c generator
+ * Add a workaround for GCC constexpr bug
+
+ Java
+ * Rollback of: Simplify protobuf Java message builder by
+ removing methods that calls the super class only.
+
+ Csharp
+ * [C#] Replace regex that validates descriptor names
+- drop 0001-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch (upstream)
+
+-------------------------------------------------------------------
+Wed Jun 14 08:32:55 UTC 2023 - Fabian Vogt
+
+- Add patch to fix linking ThreadSafeArena:
+ * 0001-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch
+- Drop the protobuf-source package, no longer used
+
+-------------------------------------------------------------------
+Tue Jun 13 06:12:11 UTC 2023 - Dirk Müller
+
+- update to 22.5:
+ C++
+ * Add missing cstdint header
+ * Fix: missing -DPROTOBUF_USE_DLLS in pkg-config (#12700)
+ * Avoid using string(JOIN..., which requires cmake 3.12
+ * Explicitly include GTest package in examples
+ * Bump Abseil submodule to 20230125.3 (#12660)
+- update to 22.4:
+ C++
+ * Fix libprotoc: export useful symbols from .so
+ * Fix btree issue in map tests.
+ Python
+ * Fix bug in _internal_copy_files where the rule would fail in
+ downstream repositories.
+ Other
+ * Bump utf8_range to version with working pkg-config (#12584)
+ * Fix declared dependencies for pkg-config
+ * Update abseil dependency and reorder dependencies to ensure
+ we use the version specified in protobuf_deps.
+ * Turn off clang::musttail on i386
+
+-------------------------------------------------------------------
+Sun Jun 11 19:19:40 UTC 2023 - Dirk Müller
+
+- drop python2 handling
+- fix version handling and package the private libs again
+
+-------------------------------------------------------------------
+Tue May 9 09:26:46 UTC 2023 - Martin Pluskal
+
+- Fix confusion in versions
+
+-------------------------------------------------------------------
+Fri Apr 28 07:07:50 UTC 2023 - Fridrich Strba
+
+- Mention the rpmlintrc file in the spec.
+
+-------------------------------------------------------------------
+Thu Apr 27 06:59:31 UTC 2023 - Fridrich Strba
+
+- Make possible to build on older systems, like SLE12 that miss
+ some of the used macros.
+
+-------------------------------------------------------------------
+Mon Apr 24 12:30:51 UTC 2023 - Adrian Schröter
+
+- update to v22.3
+ UPB (Python/PHP/Ruby C-Extension)
+ * Remove src prefix from proto import
+ * Fix .gitmodules to use the correct absl branch
+ * Remove erroneous dependency on googletest
+- update to 22.2:
+ Java
+ * Add version to intra proto dependencies and add kotlin stdlib
+ dependency
+ * Add $ back for osgi header
+ * Remove $ in pom files
+- update to 22.1:
+ * Add visibility of plugin.proto to python directory
+ * Strip "src" from file name of plugin.proto
+ * Add OSGi headers to pom files.
+ * Remove errorprone dependency from kotlin protos.
+ * Version protoc according to the compiler version number.
+- update to 22.0:
+ * This version includes breaking changes to: Cpp.
+ Please refer to the migration guide for information:
+ https://protobuf.dev/support/migration/#compiler-22
+
+ * [Cpp] Migrate to Abseil's logging library.
+ * [Cpp] `proto2::Map::value_type` changes to `std::pair`.
+ * [Cpp] Mark final ZeroCopyInputStream, ZeroCopyOutputStream,
+ and DefaultFieldComparator classes.
+ * [Cpp] Add a dependency on Abseil (#10416)
+ * [Cpp] Remove all autotools usage (#10132)
+ * [Cpp] Add C++20 reserved keywords
+ * [Cpp] Dropped C++11 Support
+ * [Cpp] Delete Arena::Init
+ * [Cpp] Replace JSON parser with new implementation
+ * [Cpp] Make RepeatedField::GetArena non-const in order to
+ support split RepeatedFields.
+ * long list of bindings specific fixes see
+ https://github.com/protocolbuffers/protobuf/releases/tag/v22.0
+- python sub packages version is set 4.22.3 as defined in
+ python/google/protobuf/__init__.py to stay compatible
+- skip python2 builds by default
+- drop patches:
+ * 10355.patch,
+ * gcc12-disable-__constinit-with-c++-11.patch (merged upstream)
+- added patches:
+ * add-missing-stdint-header.patch added for compile fixes
+
+-------------------------------------------------------------------
+Thu Mar 23 09:01:50 UTC 2023 - Martin Liška
+
+- Enable LTO (boo#1133277).
+
+-------------------------------------------------------------------
+Thu Dec 15 16:18:26 UTC 2022 - Dirk Müller
+
+- update to v21.12:
+ * Python
+ * Fix broken enum ranges (#11171)
+ * Stop requiring extension fields to have a sythetic oneof (#11091)
+ * Python runtime 4.21.10 not works generated code can not load valid
+ proto.
+
+-------------------------------------------------------------------
+Thu Dec 8 09:16:25 UTC 2022 - Dirk Müller
+
+- update to 21.11:
+ * Python
+ * Add license file to pypi wheels (#10936)
+ * Fix round-trip bug (#10158)
+
+-------------------------------------------------------------------
+Mon Dec 5 20:51:53 UTC 2022 - Dirk Müller
+
+- update to 21.10:
+ * Java
+ * Use bit-field int values in buildPartial to skip work on unset groups of
+ fields. (#10960)
+ * Mark nested builder as clean after clear is called (#10984)
+
+-------------------------------------------------------------------
+Sat Oct 29 12:20:55 UTC 2022 - Dirk Müller
+
+- update to 21.9:
+ * Ruby
+ * Replace libc strdup usage with internal impl to restore musl compat (#10818)
+ * Auto capitalize enums name in Ruby (#10454) (#10763)
+ * Other
+ * Fix for grpc.tools #17995 & protobuf #7474 (handle UTF-8 paths in argumentfile) (#10721)
+ * C++
+ * 21.x No longer define no_threadlocal on OpenBSD (#10743)
+ * Java
+ * Mark default instance as immutable first to avoid race during static initialization of default instances (#10771)
+ * Refactoring java full runtime to reuse sub-message builders and prepare to
+ migrate parsing logic from parse constructor to builder.
+ * Move proto wireformat parsing functionality from the private "parsing
+ constructor" to the Builder class.
+ * Change the Lite runtime to prefer merging from the wireformat into mutable
+ messages rather than building up a new immutable object before merging. This
+ way results in fewer allocations and copy operations.
+ * Make message-type extensions merge from wire-format instead of building up
+ instances and merging afterwards. This has much better performance.
+ * Fix TextFormat parser to build up recurring (but supposedly not repeated)
+ sub-messages directly from text rather than building a new sub-message and
+ merging the fully formed message into the existing field.
+
+-------------------------------------------------------------------
+Mon Sep 19 07:27:02 UTC 2022 - Dirk Müller
+
+- update to 21.6:
+ C++:
+ * Reduce memory consumption of MessageSet parsing
+
+-------------------------------------------------------------------
+Wed Aug 17 19:33:06 UTC 2022 - Dirk Müller
+
+- update to 21.5:
+ PHP
+ * Added getContainingOneof and getRealContainingOneof to descriptor.
+ * fix PHP readonly legacy files for nested messages
+ Python
+ * Fixed comparison of maps in Python.
+
+-------------------------------------------------------------------
+Thu Aug 4 20:50:38 UTC 2022 - Dirk Müller
+
+- add 10355.patch to fix soversioning
+
+-------------------------------------------------------------------
+Thu Jul 28 19:47:05 UTC 2022 - Dirk Müller
+
+- update to 21.4:
+ * Reduce the required alignment of ArenaString from 8 to 4
+
+-------------------------------------------------------------------
+Mon Jul 25 07:11:14 UTC 2022 - Dirk Müller
+
+- update to 21.3:
+ * C++
+ * Add header search paths to Protobuf-C++.podspec (#10024)
+ * Fixed Visual Studio constinit errors (#10232)
+ * Fix #9947: make the ABI compatible between debug and non-debug builds (#10271)
+ * UPB
+ * Allow empty package names (fixes behavior regression in 4.21.0)
+ * Fix a SEGV bug when comparing a non-materialized sub-message (#10208)
+ * Fix several bugs in descriptor mapping containers (eg. descriptor.services_by_name)
+ * for x in mapping now yields keys rather than values, to match Python
+ conventions and the behavior of the old library.
+ * Lookup operations now correctly reject unhashable types as map keys.
+ * We implement repr() to use the same format as dict.
+ * Fix maps to use the ScalarMapContainer class when appropriate
+ * Fix bug when parsing an unknown value in a proto2 enum extension (protocolbuffers/upb#717)
+ * PHP
+ * Add "readonly" as a keyword for PHP and add previous classnames to descriptor pool (#10041)
+ * Python
+ * Make //:protobuf_python and //:well_known_types_py_pb2 public (#10118)
+ * Bazel
+ * Add back a filegroup for :well_known_protos (#10061)
+
+-------------------------------------------------------------------
+Sun Jul 3 07:50:16 UTC 2022 - Paolo Stivanin
+
+- Update to 21.2:
+- C++
+ - cmake: Call get_filename_component() with DIRECTORY mode instead of PATH mode (#9614)
+ - Escape GetObject macro inside protoc-generated code (#9739)
+ - Update CMake configuration to add a dependency on Abseil (#9793)
+ - Fix cmake install targets (#9822)
+ - Use __constinit only in GCC 12.2 and up (#9936)
+- Java
+ - Update protobuf_version.bzl to separate protoc and per-language java … (#9900)
+- Python
+ - Increment python major version to 4 in version.json for python upb (#9926)
+ - The C extension module for Python has been rewritten to use the upb library.
+ - This is expected to deliver significant performance benefits, especially when
+ parsing large payloads. There are some minor breaking changes, but these
+ should not impact most users. For more information see:
+ https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
+- PHP
+ - [PHP] fix PHP build system (#9571)
+ - Fix building packaged PHP extension (#9727)
+ - fix: reserve "ReadOnly" keyword for PHP 8.1 and add compatibility (#9633)
+ - fix: phpdoc syntax for repeatedfield parameters (#9784)
+ - fix: phpdoc for repeatedfield (#9783)
+ - Change enum string name for reserved words (#9780)
+ - chore: [PHP] fix phpdoc for MapField keys (#9536)
+ - Fixed PHP SEGV by not writing to shared memory for zend_class_entry. (#9996)
+- Ruby
+ - Allow pre-compiled binaries for ruby 3.1.0 (#9566)
+ - Implement respond_to? in RubyMessage (#9677)
+ - [Ruby] Fix RepeatedField#last, #first inconsistencies (#9722)
+ - Do not use range based UTF-8 validation in truffleruby (#9769)
+ - Improve range handling logic of RepeatedField (#9799)
+- Other
+ - Fix invalid dependency manifest when using descriptor_set_out (#9647)
+ - Remove duplicate java generated code (#9909)
+
+-------------------------------------------------------------------
+Wed May 11 14:13:04 UTC 2022 - Fridrich Strba
+
+- Do not use %%autosetup, but %%setup and %%patch on other line
+ * Allows building on SLE-12-SP5
+
+-------------------------------------------------------------------
+Thu May 5 10:54:05 UTC 2022 - Martin Liška
+
+- Add temporary patch gcc12-disable-__constinit-with-c++-11.patch
+ that addresses gh#protocolbuffers/protobuf#9916.
+
+-------------------------------------------------------------------
+Thu May 5 05:25:44 UTC 2022 - Matej Cepl
+
+- Remove change_desc_db.patch, because underlying bug in
+ gh#googleapis/python-api-core#372 has been fixed.
+
+-------------------------------------------------------------------
+Mon Apr 25 13:01:22 UTC 2022 - Matej Cepl
+
+- Update to 3.20.1:
+ - PHP
+ - Fix building packaged PHP extension (#9727)
+ - Fixed composer.json to only advertise compatibility with
+ PHP 7.0+. (#9819)
+ - Ruby
+ - Disable the aarch64 build on macOS until it can be fixed. (#9816)
+ - Other
+ - Fix versioning issues in 3.20.0
+- Update to 3.20.1:
+ - Ruby
+ - Dropped Ruby 2.3 and 2.4 support for CI and releases.
+ (#9311)
+ - Added Ruby 3.1 support for CI and releases (#9566).
+ - Message.decode/encode: Add recursion_limit option
+ (#9218/#9486)
+ - Allocate with xrealloc()/xfree() so message allocation is
+ visible to the
+ - Ruby GC. In certain tests this leads to much lower memory
+ usage due to more
+ - frequent GC runs (#9586).
+ - Fix conversion of singleton classes in Ruby (#9342)
+ - Suppress warning for intentional circular require (#9556)
+ - JSON will now output shorter strings for double and float
+ fields when possible
+ - without losing precision.
+ - Encoding and decoding of binary format will now work
+ properly on big-endian
+ - systems.
+ - UTF-8 verification was fixed to properly reject surrogate
+ code points.
+ - Unknown enums for proto2 protos now properly implement
+ proto2's behavior of
+ - putting such values in unknown fields.
+ - Java
+ - Revert "Standardize on Array copyOf" (#9400)
+ - Resolve more java field accessor name conflicts (#8198)
+ - Fix parseFrom to only throw InvalidProtocolBufferException
+ - InvalidProtocolBufferException now allows arbitrary wrapped
+ Exception types.
+ - Fix bug in FieldSet.Builder.mergeFrom
+ - Flush CodedOutputStream also flushes underlying
+ OutputStream
+ - When oneof case is the same and the field type is Message,
+ merge the
+ - subfield. (previously it was replaced.)’
+ - Add @CheckReturnValue to some protobuf types
+ - Report original exceptions when parsing JSON
+ - Add more info to @deprecated javadoc for set/get/has
+ methods
+ - Fix initialization bug in doc comment line numbers
+ - Fix comments for message set wire format.
+ - Kotlin
+ - Add test scope to kotlin-test for protobuf-kotlin-lite
+ (#9518)
+ - Add orNull extensions for optional message fields.
+ - Add orNull extensions to all proto3 message fields.
+ - Python
+ - Dropped support for Python < 3.7 (#9480)
+ - Protoc is now able to generate python stubs (.pyi) with
+ --pyi_out
+ - Pin multibuild scripts to get manylinux1 wheels back
+ (#9216)
+ - Fix type annotations of some Duration and Timestamp
+ methods.
+ - Repeated field containers are now generic in field types
+ and could be used in type annotations.
+ - Protobuf python generated codes are simplified. Descriptors
+ and message classes' definitions are now dynamic created in
+ internal/builder.py.
+ - Insertion Points for messages classes are discarded.
+ - has_presence is added for FieldDescriptor in python
+ - Loosen indexing type requirements to allow valid index()
+ implementations rather than only PyLongObjects.
+ - Fix the deepcopy bug caused by not copying
+ message_listener.
+ - Added python JSON parse recursion limit (default 100)
+ - Path info is added for python JSON parse errors
+ - Pure python repeated scalar fields will not able to pickle.
+ Convert to list first.
+ - Timestamp.ToDatetime() now accepts an optional tzinfo
+ parameter. If specified, the function returns
+ a timezone-aware datetime in the given time zone. If
+ omitted or None, the function returns a timezone-naive UTC
+ datetime (as previously).
+ - Adds client_streaming and server_streaming fields to
+ MethodDescriptor.
+ - Add "ensure_ascii" parameter to json_format.MessageToJson.
+ This allows smaller JSON serializations with UTF-8 or other
+ non-ASCII encodings.
+ - Added experimental support for directly assigning numpy
+ scalars and array.
+ - Improve the calculation of public_dependencies in
+ DescriptorPool.
+ - [Breaking Change] Disallow setting fields to numpy
+ singleton arrays or repeated fields to numpy
+ multi-dimensional arrays. Numpy arrays should be indexed or
+ flattened explicitly before assignment.
+ - Compiler
+ - Migrate IsDefault(const std::string*) and
+ UnsafeSetDefault(const std::string*)
+ - Implement strong qualified tags for TaggedPtr
+ - Rework allocations to power-of-two byte sizes.
+ - Migrate IsDefault(const std::string*) and
+ UnsafeSetDefault(const std::string*)
+ - Implement strong qualified tags for TaggedPtr
+ - Make TaggedPtr Set...() calls explicitly spell out the
+ content type.
+ - Check for parsing error before verifying UTF8.
+ - Enforce a maximum message nesting limit of 32 in the
+ descriptor builder to
+ - guard against stack overflows
+ - Fixed bugs in operators for RepeatedPtrIterator
+ - Assert a maximum map alignment for allocated values
+ - Fix proto1 group extension protodb parsing error
+ - Do not log/report the same descriptor symbol multiple
+ times if it contains
+ - more than one invalid character.
+ - Add UnknownFieldSet::SerializeToString and
+ SerializeToCodedStream.
+ - Remove explicit default pointers and deprecated API from
+ protocol compiler
+ - Arenas
+ - Change Repeated*Field to reuse memory when using arenas.
+ - Implements pbarenaz for profiling proto arenas
+ - Introduce CreateString() and CreateArenaString() for
+ cleaner semantics
+ - Fix unreferenced parameter for MSVC builds
+ - Add UnsafeSetAllocated to be used for one-of string
+ fields.
+ - Make Arena::AllocateAligned() a public function.
+ - Determine if ArenaDtor related code generation is
+ necessary in one place.
+ - Implement on demand register ArenaDtor for
+ InlinedStringField
+ - C++
+ - Enable testing via CTest (#8737)
+ - Add option to use external GTest in CMake (#8736)
+ - CMake: Set correct sonames for libprotobuf-lite.so and
+ libprotoc.so (#8635) (#9529)
+ - Add cmake option protobuf_INSTALL to not install files
+ (#7123)
+ - CMake: Allow custom plugin options e.g. to generate mocks
+ (#9105)
+ - CMake: Use linker version scripts (#9545)
+ - Manually *struct Cord fields to work better with arenas.
+ - Manually destruct map fields.
+ - Generate narrower code
+ - Fix #9378 by removing
+ - shadowed cached_size field
+ - Remove GetPointer() and explicit nullptr defaults.
+ - Add proto_h flag for speeding up large builds
+ - Add missing overload for reference wrapped fields.
+ - Add MergedDescriptorDatabase::FindAllFileNames()
+ - RepeatedField now defines an iterator type instead of
+ using a pointer.
+ - Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and
+ GOOGLE_PROTOBUF_HAS_ARENAS.
+ - PHP
+ - Fix: add missing reserved classnames (#9458)
+ - PHP 8.1 compatibility (#9370)
+ - C#
+ - Fix trim warnings (#9182)
+ - Fixes NullReferenceException when accessing
+ FieldDescriptor.IsPacked (#9430)
+ - Add ToProto() method to all descriptor classes (#9426)
+ - Add an option to preserve proto names in JsonFormatter
+ (#6307)
+ - Objective-C
+ - Add prefix_to_proto_package_mappings_path option. (#9498)
+ - Rename proto_package_to_prefix_mappings_path to
+ package_to_prefix_mappings_path. (#9552)
+ - Add a generation option to control use of forward
+ declarations in headers. (#9568)
+- Add change_desc_db.patch to fix
+ gh#googleapis/python-api-core#372 and
+ gh#protocolbuffers/protobuf#9867
+
+-------------------------------------------------------------------
+Wed Mar 16 16:39:10 UTC 2022 - Bruno Pitrus
+
+- Change Requires: zlib-devel to pkgconfig(zlib) so as not to conflict with libz-ng-compat1.
+
+-------------------------------------------------------------------
+Fri Jan 28 20:38:41 UTC 2022 - Dirk Müller
+
+- update to 3.19.4:
+ Python:
+ * Make libprotobuf symbols local on OSX to fix issue #9395 (#9435)
+ Ruby:
+ * Fixed a data loss bug that could occur when the number of optional fields
+ in a message is an exact multiple of 32
+ PHP:
+ * Fixed a data loss bug that could occur when the number of optional fields
+ in a message is an exact multiple of 32.
+
+-------------------------------------------------------------------
+Mon Jan 24 13:08:10 UTC 2022 - Paolo Stivanin
+
+- Update to 3.19.3:
+ C++:
+ * Make proto2::Message::DiscardUnknownFields() non-virtual
+ * Separate RepeatedPtrField into its own header file
+ * For default floating point values of 0, consider all bits significant
+ * Fix shadowing warnings
+ * Fix for issue #8484, constant initialization doesn't compile in msvc clang-cl environment
+ Java:
+ * Improve performance characteristics of UnknownFieldSet parsing
+ * For default floating point values of 0, consider all bits significant
+ * Annotate //java/com/google/protobuf/util/... with nullness annotations
+ * Use ArrayList copy constructor
+ Bazel:
+ * Ensure that release archives contain everything needed for Bazel
+ * Align dependency handling with Bazel best practices
+ Javascript:
+ * Fix ReferenceError: window is not defined when getting the global object
+ Ruby:
+ * Fix memory leak in MessageClass.encode
+ * Override Map.clone to use Map's dup method
+ * Ruby: build extensions for arm64-darwin
+ * Add class method Timestamp.from_time to ruby well known types
+ * Adopt pure ruby DSL implementation for JRuby
+ * Add size to Map class
+ * Fix for descriptor_pb.rb: google/protobuf should be required first
+ Python:
+ * Proto2 DecodeError now includes message name in error message
+ * Make MessageToDict convert map keys to strings
+ * Add python-requires in setup.py
+ * Add python 3.10
+
+-------------------------------------------------------------------
+Wed Jul 28 08:00:56 UTC 2021 - Fridrich Strba
+
+- Remove two build requires that are not needed
+
+-------------------------------------------------------------------
+Thu Jun 24 08:53:14 UTC 2021 - Paolo Stivanin
+
+- Update to 3.17.3:
+ C++
+ * Introduce FieldAccessListener.
+ * Stop emitting boilerplate {Copy/Merge}From in each ProtoBuf class
+ * Provide stable versions of SortAndUnique().
+ * Make sure to cache proto3 optional message fields when they are cleared.
+ * Expose UnsafeArena methods to Reflection.
+ * Use std::string::empty() rather than std::string::size() > 0.
+ * [Protoc] C++ Resolved an issue where NO_DESTROY and CONSTINIT are in incorrect order (#8296)
+ * Fix PROTOBUF_CONSTINIT macro redefinition (#8323)
+ * Delete StringPiecePod (#8353)
+ * Create a CMake option to control whether or not RTTI is enabled (#8347)
+ * Make util::Status more similar to absl::Status (#8405)
+ * The ::pb namespace is no longer exposed due to conflicts.
+ * Allow MessageDifferencer::TreatAsSet() (and friends) to override previous
+ calls instead of crashing.
+ * Reduce the size of generated proto headers for protos with string or
+ bytes fields.
+ * Move arena() operation on uncommon path to out-of-line routine
+ * For iterator-pair function parameter types, take both iterators by value.
+ * Code-space savings and perhaps some modest performance improvements in
+ * RepeatedPtrField.
+ * Eliminate nullptr check from every tag parse.
+ * Remove unused _$name$cached_byte_size fields.
+ * Serialize extension ranges together when not broken by a proto field in the
+ middle.
+ * Do out-of-line allocation and deallocation of string object in ArenaString.
+ * Streamline ParseContext::ParseMessage to avoid code bloat and improve
+ performance.
+ * New member functions RepeatedField::Assign, RepeatedPtrField::{Add, Assign}.
+ on an error path.
+ * util::DefaultFieldComparator will be final in a future version of protobuf.
+ * Subclasses should inherit from SimpleFieldComparator instead.
+ Kotlin
+ * Introduce support for Kotlin protos (#8272)
+ * Restrict extension setter and getter operators to non-nullable T.
+ Java
+ * Fixed parser to check that we are at a proper limit when a sub-message has
+ finished parsing.
+ * updating GSON and Guava to more recent versions (#8524)
+ * Reduce the time spent evaluating isExtensionNumber by storing the extension
+ ranges in a TreeMap for faster queries. This is particularly relevant for
+ protos which define a large number of extension ranges, for example when
+ each tag is defined as an extension.
+ * Fix java bytecode estimation logic for optional fields.
+ * Optimize Descriptor.isExtensionNumber.
+ * deps: update JUnit and Truth (#8319)
+ * Detect invalid overflow of byteLimit and return InvalidProtocolBufferException as documented.
+ * Exceptions thrown while reading from an InputStream in parseFrom are now
+ included as causes.
+ * Support potentially more efficient proto parsing from RopeByteStrings.
+ * Clarify runtime of ByteString.Output.toStringBuffer().
+ * Added UnsafeByteOperations to protobuf-lite (#8426)
+ Python
+ * Add MethodDescriptor.CopyToProto() (#8327)
+ * Remove unused python_protobuf.{cc,h} (#8513)
+ * Start publishing python aarch64 manylinux wheels normally (#8530)
+ * Fix constness issue detected by MSVC standard conforming mode (#8568)
+ * Make JSON parsing match C++ and Java when multiple fields from the same
+ oneof are present and all but one is null.
+ * Fix some constness / char literal issues being found by MSVC standard conforming mode (#8344)
+ * Switch on "new" buffer API (#8339)
+ * Enable crosscompiling aarch64 python wheels under dockcross manylinux docker image (#8280)
+ * Fixed a bug in text format where a trailing colon was printed for repeated field.
+ * When TextFormat encounters a duplicate message map key, replace the current
+ one instead of merging.
+ Ruby
+ * Add support for proto3 json_name in compiler and field definitions (#8356)
+ * Fixed memory leak of Ruby arena objects. (#8461)
+ * Fix source gem compilation (#8471)
+ * Fix various exceptions in Ruby on 64-bit Windows (#8563)
+ * Fix crash when calculating Message hash values on 64-bit Windows (#8565)
+ General
+ * Support M1 (#8557)
+
+-------------------------------------------------------------------
+Sun Apr 18 08:32:46 UTC 2021 - Matej Cepl
+
+- Update to 3.15.8:
+ - Fixed memory leak of Ruby arena objects (#8461)
+
+-------------------------------------------------------------------
+Tue Apr 6 01:47:17 UTC 2021 - Dirk Müller
+
+- update to 3.15.7:
+ C++
+ * Remove the ::pb namespace (alias) (#8423)
+ Ruby
+ * Fix unbounded memory growth for Ruby <2.7 (#8429)
+ * Fixed message equality in cases where the message type is different (#8434)
+
+-------------------------------------------------------------------
+Thu Mar 25 16:27:58 UTC 2021 - Ben Greiner
+
+- Can't assume non-existence of python38 macros in Leap.
+ gh#openSUSE/python-rpm-macros#107
+ Test for suse_version instead. Only Tumbleweed has and needs the
+ python_subpackage_only support.
+
+-------------------------------------------------------------------
+Tue Mar 16 00:19:18 UTC 2021 - Dirk Müller
+
+- update to 3.15.6:
+ Ruby
+ * Fixed bug in string comparison logic (#8386)
+ * Fixed quadratic memory use in array append (#8379)
+ * Fixed SEGV when users pass nil messages (#8363)
+ * Fixed quadratic memory usage when appending to arrays (#8364)
+ * Ruby <2.7 now uses WeakMap too, which prevents memory leaks. (#8341)
+ * Fix for FieldDescriptor.get(msg) (#8330)
+ * Bugfix for Message.[] for repeated or map fields (#8313)
+ PHP
+ * read_property() handler is not supposed to return NULL (#8362)
+ Protocol Compiler
+ * Optional fields for proto3 are enabled by default, and no longer require
+ the --experimental_allow_proto3_optional flag.
+ C++
+ * Do not disable RTTI by default in the CMake build (#8377)
+ * Create a CMake option to control whether or not RTTI is enabled (#8361)
+ * Fix PROTOBUF_CONSTINIT macro redefinition (#8323)
+
+ * MessageDifferencer: fixed bug when using custom ignore with multiple
+ unknown fields
+ * Use init_seg in MSVC to push initialization to an earlier phase.
+ * Runtime no longer triggers -Wsign-compare warnings.
+ * Fixed -Wtautological-constant-out-of-range-compare warning.
+ * DynamicCastToGenerated works for nullptr input for even if RTTI is disabled
+ * Arena is refactored and optimized.
+ * Clarified/specified that the exact value of Arena::SpaceAllocated() is an
+ implementation detail users must not rely on. It should not be used in
+ unit tests.
+ * Change the signature of Any::PackFrom() to return false on error.
+ * Add fast reflection getter API for strings.
+ * Constant initialize the global message instances
+ * Avoid potential for missed wakeup in UnknownFieldSet
+ * Now Proto3 Oneof fields have "has" methods for checking their presence in
+ C++.
+ * Bugfix for NVCC
+ * Return early in _InternalSerialize for empty maps.
+ * Adding functionality for outputting map key values in proto path logging
+ output (does not affect comparison logic) and stop printing 'value' in the
+ path. The modified print functionality is in the
+ MessageDifferencer::StreamReporter.
+ * Fixed https://github.com/protocolbuffers/protobuf/issues/8129
+ * Ensure that null char symbol, package and file names do not result in a
+ crash.
+ * Constant initialize the global message instances
+ * Pretty print 'max' instead of numeric values in reserved ranges.
+ * Removed remaining instances of std::is_pod, which is deprecated in C++20.
+ * Changes to reduce code size for unknown field handling by making uncommon
+ cases out of line.
+ * Fix std::is_pod deprecated in C++20 (#7180)
+ * Fix some -Wunused-parameter warnings (#8053)
+ * Fix detecting file as directory on zOS issue #8051 (#8052)
+ * Don't include sys/param.h for _BYTE_ORDER (#8106)
+ * remove CMAKE_THREAD_LIBS_INIT from pkgconfig CFLAGS (#8154)
+ * Fix TextFormatMapTest.DynamicMessage issue#5136 (#8159)
+ * Fix for compiler warning issue#8145 (#8160)
+ * fix: support deprecated enums for GCC < 6 (#8164)
+ * Fix some warning when compiling with Visual Studio 2019 on x64 target (#8125)
+
+ Python
+ * Provided an override for the reverse() method that will reverse the internal
+ collection directly instead of using the other methods of the BaseContainer.
+ * MessageFactory.CreateProtoype can be overridden to customize class creation.
+ * Fix PyUnknownFields memory leak (#7928)
+ * Add macOS big sur compatibility (#8126)
+
+ JavaScript
+ * Generate `getDescriptor` methods with `*` as their `this` type.
+ * Enforce `let/const` for generated messages.
+ * js/binary/utils.js: Fix jspb.utils.joinUnsignedDecimalString to work with
+ negative bitsLow and low but non-zero bitsHigh parameter. (#8170)
+
+ PHP
+ * Added support for PHP 8. (#8105)
+ * unregister INI entries and fix invalid read on shutdown (#8042)
+ * Fix PhpDoc comments for message accessors to include "|null". (#8136)
+ * fix: convert native PHP floats to single precision (#8187)
+ * Fixed PHP to support field numbers >=2**28. (#8235)
+ * feat: add support for deprecated fields to PHP compiler (#8223)
+ * Protect against stack overflow if the user derives from Message. (#8248)
+ * Fixed clone for Message, RepeatedField, and MapField. (#8245)
+ * Updated upb to allow nonzero offset minutes in JSON timestamps. (#8258)
+
+ Ruby
+ * Added support for Ruby 3. (#8184)
+ * Rewrote the data storage layer to be based on upb_msg objects from the
+ upb library. This should lead to much better parsing performance,
+ particularly for large messages. (#8184).
+ * Fill out JRuby support (#7923)
+ * [Ruby] Fix: (SIGSEGV) gRPC-Ruby issue on Windows. memory alloc infinite
+ recursion/run out of memory (#8195)
+ * Fix jruby support to handle messages nested more than 1 level deep (#8194)
+ Java
+ * Avoid possible UnsupportedOperationException when using CodedInputSteam
+ with a direct ByteBuffer.
+ * Make Durations.comparator() and Timestamps.comparator() Serializable.
+ * Add more detailed error information for dynamic message field type
+ validation failure
+ * Removed declarations of functions declared in java_names.h from
+ java_helpers.h.
+ * Now Proto3 Oneof fields have "has" methods for checking their presence in
+ Java.
+ * Annotates Java proto generated *_FIELD_NUMBER constants.
+ * Add -assumevalues to remove JvmMemoryAccessor on Android.
+ C#
+ * Fix parsing negative Int32Value that crosses segment boundary (#8035)
+ * Change ByteString to use memory and support unsafe create without copy (#7645)
+ * Optimize MapField serialization by removing MessageAdapter (#8143)
+ * Allow FileDescriptors to be parsed with extension registries (#8220)
+ * Optimize writing small strings (#8149)
+
+-------------------------------------------------------------------
+Sun Nov 22 00:56:06 UTC 2020 - John Vandenberg
+
+- Updated URL to https://github.com/protocolbuffers/protobuf
+- Update to v3.14.0
+
+ Protocol Compiler
+ * The proto compiler no longer requires a .proto filename when it is not
+ generating code.
+ * Added flag `--deterministic_output` to `protoc --encode=...`.
+ * Fixed deadlock when using google.protobuf.Any embedded in aggregate options.
+
+ C++
+ * Arenas are now unconditionally enabled. cc_enable_arenas no longer has
+ any effect.
+ * Removed inlined string support, which is incompatible with arenas.
+ * Fix a memory corruption bug in reflection when mixing optional and
+ non-optional fields.
+ * Make SpaceUsed() calculation more thorough for map fields.
+ * Add stack overflow protection for text format with unknown field values.
+ * FieldPath::FollowAll() now returns a bool to signal if an out-of-bounds
+ error was encountered.
+ * Performance improvements for Map.
+ * Minor formatting fix when dumping a descriptor to .proto format with
+ DebugString.
+ * UBSAN fix in RepeatedField
+ * When running under ASAN, skip a test that makes huge allocations.
+ * Fixed a crash that could happen when creating more than 256 extensions in
+ a single message.
+ * Fix a crash in BuildFile when passing in invalid descriptor proto.
+ * Parser security fix when operating with CodedInputStream.
+ * Warn against the use of AllowUnknownExtension.
+ * Migrated to C++11 for-range loops instead of index-based loops where
+ possible. This fixes a lot of warnings when compiling with -Wsign-compare.
+ * Fix segment fault for proto3 optional
+ * Adds a CMake option to build `libprotoc` separately
+
+ Java
+ * Bugfix in mergeFrom() when a oneof has multiple message fields.
+ * Fix RopeByteString.RopeInputStream.read() returning -1 when told to read
+ 0 bytes when not at EOF.
+ * Redefine remove(Object) on primitive repeated field Lists to avoid
+ autoboxing.
+ * Support "\u" escapes in textformat string literals.
+ * Trailing empty spaces are no longer ignored for FieldMask.
+ * Fix FieldMaskUtil.subtract to recursively remove mask.
+ * Mark enums with `@java.lang.Deprecated` if the proto enum has option
+ `deprecated = true;`.
+ * Adding forgotten duration.proto to the lite library
+
+ Python
+ * Print google.protobuf.NullValue as null instead of "NULL_VALUE" when it is
+ used outside WKT Value/Struct.
+ * Fix bug occurring when attempting to deep copy an enum type in python 3.
+ * Add a setuptools extension for generating Python protobufs
+ * Remove uses of pkg_resources in non-namespace packages
+ * [bazel/py] Omit google/__init__.py from the Protobuf runtime
+ * Removed the unnecessary setuptools package dependency for Python package
+ * Fix PyUnknownFields memory leak
+
+ PHP
+ * Added support for "==" to the PHP C extension
+ * Added `==` operators for Map and Array
+ * Native C well-known types
+ * Optimized away hex2bin() call in generated code
+ * New version of upb, and a new hash function wyhash in third_party
+ * add missing hasOneof method to check presence of oneof fields
+
+ Go:
+ * Update go_package options to reference google.golang.org/protobuf module.
+
+ C#:
+ * annotate ByteString.CopyFrom(ReadOnlySpan) as SecuritySafeCritical
+ * Fix C# optional field reflection when there are regular fields too
+ * Fix parsing negative Int32Value that crosses segment boundary
+
+ Javascript:
+ * JS: parse (un)packed fields conditionally
+
+- from version 3.13.0
+
+ PHP:
+ * The C extension is completely rewritten. The new C extension has significantly
+ better parsing performance and fixes a handful of conformance issues. It will
+ also make it easier to add support for more features like proto2 and proto3 presence.
+ * The new C extension does not support PHP 5.x. PHP 5.x users can still use pure-PHP.
+
+ C++:
+ * Removed deprecated unsafe arena string accessors
+ * Enabled heterogeneous lookup for std::string keys in maps.
+ * Removed implicit conversion from StringPiece to std::string
+ * Fix use-after-destroy bug when the Map is allocated in the arena.
+ * Improved the randomness of map ordering
+ * Added stack overflow protection for text format with unknown fields
+ * Use std::hash for proto maps to help with portability.
+ * Added more Windows macros to proto whitelist.
+ * Arena constructors for map entry messages are now marked "explicit"
+ (for regular messages they were already explicit).
+ * Fix subtle aliasing bug in RepeatedField::Add
+ * Fix mismatch between MapEntry ByteSize and Serialize with respect to unset
+ fields.
+
+ Python:
+ * JSON format conformance fixes:
+ * Reject lowercase t for Timestamp json format.
+ * Print full_name directly for extensions (no camelCase).
+ * Reject boolean values for integer fields.
+ * Reject NaN, Infinity, -Infinity that is not quoted.
+ * Base64 fixes for bytes fields: accept URL-safe base64 and missing padding.
+ * Bugfix for fields/files named "async" or "await".
+ * Improved the error message when AttributeError is returned from __getattr__
+ in EnumTypeWrapper.
+
+ Java:
+ * Fixed a bug where setting optional proto3 enums with setFooValue() would
+ not mark the value as present.
+ * Add Subtract function to FieldMaskUtil.
+
+ C#:
+ * Dropped support for netstandard1.0 (replaced by support for netstandard1.1).
+ This was required to modernize the parsing stack to use the `Span`
+ type internally
+ * Add `ParseFrom(ReadOnlySequence)` method to enable GC friendly
+ parsing with reduced allocations and buffer copies
+ * Add support for serialization directly to a `IBufferWriter` or
+ to a `Span` to enable GC friendly serialization.
+ The new API is available as extension methods on the `IMessage` type
+ * Add `GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE` define to make
+ generated code compatible with old C# compilers (pre-roslyn compilers
+ from .NET framework and old versions of mono) that do not support
+ ref structs. Users that are still on a legacy stack that does
+ not support C# 7.2 compiler might need to use the new define
+ in their projects to be able to build the newly generated code
+ * Due to the major overhaul of parsing and serialization internals,
+ it is recommended to regenerate your generated code to achieve the best
+ performance (the legacy generated code will still work, but might incur
+ a slight performance penalty).
+
+-------------------------------------------------------------------
+Sun Nov 22 00:21:40 UTC 2020 - Benjamin Greiner
+
+- Fix the python subpackage generation
+ gh#openSUSE/python-rpm-macros#79
+
+-------------------------------------------------------------------
+Sat Nov 14 23:33:17 UTC 2020 - Benjamin Greiner
+
+- Support multiple python3 flavors gh#openSUSE/python-rpm-macros#66
+
+-------------------------------------------------------------------
+Tue Jun 30 08:48:59 UTC 2020 - marec
+
+- Update to version 3.12.3; notable changes since 3.11.4:
+
+ Protocol Compiler
+ * [experimental] Singular, non-message typed fields in proto3 now support
+ presence tracking. This is enabled by adding the "optional" field label and
+ passing the --experimental_allow_proto3_optional flag to protoc.
+ * For usage info, see docs/field_presence.md.
+ * During this experimental phase, code generators should update to support
+ proto3 presence, see docs/implementing_proto3_presence.md for instructions.
+ * Allow duplicate symbol names when multiple descriptor sets are passed on
+ the command-line, to match the behavior when multiple .proto files are passed.
+ * Deterministic `protoc --descriptor_set_out` (#7175)
+
+ Objective-C
+ * Tweak the union used for Extensions to support old generated code. #7573
+ * Fix for the :protobuf_objc target in the Bazel BUILD file. (#7538)
+ * [experimental] ObjC Proto3 optional support (#7421)
+ * Block subclassing of generated classes (#7124)
+ * Use references to Obj C classes instead of names in descriptors. (#7026)
+ * Revisit how the WKTs are bundled with ObjC. (#7173)
+
+ C++
+ * Simplified the template export macros to fix the build for mingw32. (#7539)
+ * [experimental] Added proto3 presence support.
+ * New descriptor APIs to support proto3 presence.
+ * Enable Arenas by default on all .proto files.
+ * Documented that users are not allowed to subclass Message or MessageLite.
+ * Mark generated classes as final; inheriting from protos is strongly discouraged.
+ * Add stack overflow protection for text format with unknown fields.
+ * Add accessors for map key and value FieldDescriptors.
+ * Add FieldMaskUtil::FromFieldNumbers().
+ * MessageDifferencer: use ParsePartial() on Any fields so the diff does not
+ fail when there are missing required fields.
+ * ReflectionOps::Merge(): lookup messages in the right factory, if it can.
+ * Added Descriptor::WellKnownTypes enum and Descriptor::well_known_type()
+ accessor as an easier way of determining if a message is a Well-Known Type.
+ * Optimized RepeatedField::Add() when it is used in a loop.
+ * Made proto move/swap more efficient.
+ * De-virtualize the GetArena() method in MessageLite.
+ * Improves performance of json_stream_parser.cc by factor 1000 (#7230)
+ * bug: #7076 undefine Windows OUT and OPTIONAL macros (#7087)
+ * Fixed a bug in FieldDescriptor::DebugString() that would erroneously print
+ an "optional" label for a field in a oneof.
+ * Fix bug in parsing bool extensions that assumed they are always 1 byte.
+ * Fix off-by-one error in FieldOptions::ByteSize() when extensions are present.
+ * Clarified the comments to show an example of the difference between
+ Descriptor::extension and DescriptorPool::FindAllExtensions.
+ * Add a compiler option 'code_size' to force optimize_for=code_size on all
+ protos where this is possible.
+
+ Ruby
+ * Re-add binary gems for Ruby 2.3 and 2.4. These are EOL upstream, however
+ many people still use them and dropping support will require more
+ coordination.
+ * [experimental] Implemented proto3 presence for Ruby. (#7406)
+ * Stop building binary gems for ruby <2.5 (#7453)
+ * Fix for wrappers with a zero value (#7195)
+ * Fix for JSON serialization of 0/empty-valued wrapper types (#7198)
+ * Call "Class#new" over rb_class_new_instance in decoding (#7352)
+ * Build extensions for Ruby 2.7 (#7027)
+ * assigning 'nil' to submessage should clear the field. (#7397)
+
+ Java
+ * [experimental] Added proto3 presence support.
+ * Mark java enum _VALUE constants as @Deprecated if the enum field is deprecated
+ * reduce size for enums with allow_alias set to true.
+ * Sort map fields alphabetically by the field's key when printing textproto.
+ * Fixed a bug in map sorting that appeared in -rc1 and -rc2 (#7508).
+ * TextFormat.merge() handles Any as top level type.
+ * Throw a descriptive IllegalArgumentException when calling
+ getValueDescriptor() on enum special value UNRECOGNIZED instead of
+ ArrayIndexOutOfBoundsException.
+ * Fixed an issue with JsonFormat.printer() where setting printingEnumsAsInts()
+ would override the configuration passed into includingDefaultValueFields().
+ * Implement overrides of indexOf() and contains() on primitive lists returned
+ for repeated fields to avoid autoboxing the list contents.
+ * Add overload to FieldMaskUtil.fromStringList that accepts a descriptor.
+ * [bazel] Move Java runtime/toolchains into //java (#7190)
+
+ Python
+ * [experimental] Added proto3 presence support.
+ * [experimental] fast import protobuf module, only works with cpp generated code linked in.
+ * Truncate 'float' fields to 4 bytes of precision in setters for pure-Python
+ implementation (C++ extension was already doing this).
+ * Fixed a memory leak in C++ bindings.
+ * Added a deprecation warning when code tries to create Descriptor objects
+ directly.
+ * Fix unintended comparison between bytes and string in descriptor.py.
+ * Avoid printing excess digits for float fields in TextFormat.
+ * Remove Python 2.5 syntax compatibility from the proto compiler generated _pb2.py module code.
+ * Drop 3.3, 3.4 and use single version docker images for all python tests (#7396)
+
+ JavaScript
+ * Fix js message pivot selection (#6813)
+
+ PHP
+ * Persistent Descriptor Pool (#6899)
+ * Implement lazy loading of php class for proto messages (#6911)
+ * Correct @return in Any.unpack docblock (#7089)
+ * Ignore unknown enum value when ignore_unknown specified (#7455)
+
+ C#
+ * [experimental] Add support for proto3 presence fields in C# (#7382)
+ * Mark GetOption API as obsolete and expose the "GetOptions()" method on descriptors instead (#7491)
+ * Remove Has/Clear members for C# message fields in proto2 (#7429)
+ * Enforce recursion depth checking for unknown fields (#7132)
+ * Fix conformance test failures for Google.Protobuf (#6910)
+ * Cleanup various bits of Google.Protobuf (#6674)
+ * Fix latest ArgumentException for C# extensions (#6938)
+ * Remove unnecessary branch from ReadTag (#7289)
+
+ Other
+ * Add a proto_lang_toolchain for javalite (#6882)
+ * [bazel] Update gtest and deprecate //external:{gtest,gtest_main} (#7237)
+ * Add application note for explicit presence tracking. (#7390)
+ * Howto doc for implementing proto3 presence in a code generator. (#7407)
+
+-------------------------------------------------------------------
+Wed Jun 10 15:32:29 UTC 2020 - Rolf Krahl
+
+- Python: Add requirement on python-six
+
+-------------------------------------------------------------------
+Fri Mar 6 10:05:22 UTC 2020 - Nico Kruber
+
+- Update to version 3.11.4; notable changes since 3.9.2:
+ * C++: Make serialization method naming consistent
+ * C++: Moved ShutdownProtobufLibrary() to message_lite.h. For
+ backward compatibility a declaration is still available
+ in stubs/common.h, but users should prefer message_lite.h
+ * C++: Removed non-namespace macro EXPECT_OK()
+ * C++: Removed mathlimits.h from stubs in favor of using
+ std::numeric_limits from C++11
+ * C++: Support direct pickling of nested messages
+ * C++: Disable extension code gen for C#
+ * C++: Switch the proto parser to the faster MOMI parser
+ * C++: Unused imports of files defining descriptor extensions
+ will now be reported
+ * C++: Add proto2::util::RemoveSubranges to remove multiple
+ subranges in linear time
+ * C++: Support 32 bit values for ProtoStreamObjectWriter to Struct
+ * C++: Removed the internal-only header coded_stream_inl.h and
+ the internal-only methods defined there
+ * C++: Enforced no SWIG wrapping of descriptor_database.h
+ (other headers already had this restriction)
+ * C++: Implementation of the equivalent of the MOMI parser for
+ serialization. This removes one of the two serialization
+ routines, by making the fast array serialization routine
+ completely general. SerializeToCodedStream can now be
+ implemented in terms of the much much faster array
+ serialization. The array serialization regresses slightly,
+ but when array serialization is not possible this wins big
+ * C++: Add move constructor for Reflection's SetString
+ * Java: Remove the usage of MethodHandle, so that Android users
+ prior to API version 26 can use protobuf-java
+ * Java: Publish ProGuard config for javalite
+ * Java: Include unknown fields when merging proto3 messages in
+ Java lite builders
+ * Java: Have oneof enums implement a separate interface (other
+ than EnumLite) for clarity
+ * Java: Opensource Android Memory Accessors
+ * Java: Change ProtobufArrayList to use Object[] instead of
+ ArrayList for 5-10% faster parsing
+ * Java: Make a copy of JsonFormat.TypeRegistry at the protobuf
+ top level package. This will eventually replace
+ JsonFormat.TypeRegistry
+ * Java: Add Automatic-Module-Name entries to the Manifest
+ * Python: Add float_precision option in json format printer
+ * Python: Optionally print bytes fields as messages in unknown
+ fields, if possible
+ * Python: Experimental code gen (fast import protobuf module)
+ which only work with cpp generated code linked in
+ * Python: Add descriptor methods in descriptor_pool are deprecated
+ * Python: Added delitem for Python extension dict
+ * JavaScript: Remove guard for Symbol iterator for jspb.Map
+ * JavaScript: Remove deprecated boolean option to getResultBase64String()
+ * JavaScript: Change the parameter types of binaryReaderFn in
+ ExtensionFieldBinaryInfo to (number, ?, ?)
+ * JavaScript: Create dates.ts and time_of_days.ts to mirror Java
+ versions. This is a near-identical conversion of
+ c.g.type.util.{Dates,TimeOfDays} respectively
+ * JavaScript: Migrate moneys to TypeScript
+ * PHP: Increase php7.4 compatibility
+ * PHP: Implement lazy loading of php class for proto messages
+ * Ruby: Support hashes for struct initializers
+ * C#: Experimental proto2 support is now officially available
+ * C#: Change _Extensions property to normal body rather than expression
+ * Objective C: Remove OSReadLittle* due to alignment requirements
+ * Other: Override CocoaPods module to lowercase
+ * further bugfixes and optimisations
+
+-------------------------------------------------------------------
+Fri Dec 20 09:04:24 UTC 2019 - Martin Pluskal
+
+- Use tarball provided by upstream
+- Small package cleanup
+
+-------------------------------------------------------------------
+Thu Dec 19 12:47:53 UTC 2019 - Madhu Mohan Nelemane
+
+- Updated to version 3.9.2 (bsc#1162343)
+ (Objective-C)
+ * Remove OSReadLittle* due to alignment requirements. (#6678)
+ * Don't use unions and instead use memcpy for the type swaps. (#6672)
+
+-------------------------------------------------------------------
+Fri Sep 27 07:00:11 UTC 2019 - Fridrich Strba
+
+- Package also the protobuf-bom pom file
+
+-------------------------------------------------------------------
+Thu Aug 22 07:12:14 UTC 2019 - Jan Engelhardt
+
+- Update to new upstream release 3.9.1
+ * Optimized the implementation of RepeatedPtrFieldBase.
+ * Added delimited parse and serialize util.
+ * Added FieldDescriptor::PrintableNameForExtension() and
+ DescriptorPool::FindExtensionByPrintableName(). The latter
+ will replace Reflection::FindKnownExtensionByName().
+ * Created a new Add method in repeated field that allows adding
+ a range of elements all at once.
+ * Drop building wheel for Python 3.4.
+
+-------------------------------------------------------------------
+Sat Jun 8 06:13:57 UTC 2019 - Fridrich Strba
+
+- Specify java source and target levels in order to build
+ compatible protobuf-java binaries
+
+-------------------------------------------------------------------
+Wed Jun 5 18:58:30 UTC 2019 - Jan Engelhardt
+
+- Update to new upstream release 3.8.0
+ * Introduced new MOMI (maybe-outside-memory-interval) parser.
+ * Added use of C++ override keyword where appropriate.
+ * Always declare enums to be int-sized.
+ * Append '_' to C++ reserved keywords for message, enum, extension.
+- Remove 0001-remove-PACKAGE_NAME-and-REPOSITORY_NAME-deprecated.patch
+ (upstreamed)
+
+-------------------------------------------------------------------
+Wed Apr 24 17:35:37 UTC 2019 - Martin Liška
+
+- Disable LTO (boo#1133277).
+
+-------------------------------------------------------------------
+Wed Feb 20 12:29:06 UTC 2019 - Michał Rostecki
+
+- Add upstream patch which fixes build with Bazel 0.22.0.
+ * 0001-remove-PACKAGE_NAME-and-REPOSITORY_NAME-deprecated.patch
+
+-------------------------------------------------------------------
+Tue Jan 8 12:35:43 UTC 2019 - Michał Rostecki
+
+- Add protobuf-source package - some programs using gRPC and
+ protobuf need protobuf definitions which are included inside the
+ source code, but are not included in the devel package.
+
+-------------------------------------------------------------------
+Mon Dec 17 10:28:51 UTC 2018 - Fridrich Strba
+
+- Add maven pom files to the protobuf-java package
+
+-------------------------------------------------------------------
+Wed Sep 12 07:24:48 UTC 2018 - Thomas Bechtold
+
+- update to version v3.6.1:
+ * PHP namespaces for nested messages and enums (#4536)
+ * Allows the json marshaller to be passed json marshal options (#4252)
+ * Make sure to delete temporary maps used by FileDescriptorTables
+ * fix python cpp kokoro build
+ * Change C# reflection to avoid using expression trees
+ * Updated checked-in generated code
+ * Removed unused variables in repeated_scalar_container.cc
+ * Removed unused code pertaining to shared_ptr
+ * Include no_package.proto in Python test
+ * Only check filenames when end with .py in _CalledFromGeneratedFile() (#4262)
+ * Convert descriptortype to type for upb_msgval_sizeof (#4357)
+ * Removed duplicate using statement from ReflectionUtil.cs
+ * Add support for power ppc64le
+ * Cat the test-suite.log on errors for presubits
+ * Address review comments
+ * Add third-party RPC implementation: raster - a network framework supports pbrpc by 'service' keyword.
+ * Delete javanano kokoro build configs.
+ * Updated Ruby conformance test failure list
+ * Removed use of some type traits
+ * Adopt php_metadata_namespace in php code generator (#4622)
+ * Move to Xcode 9.3 which also means a High Sierra image.
+ * Add protoc release script for Linux build.
+ * protoc-artifacts: Avoid storing temporary files and use fewer layers
+ * Rewrite go_benchmark
+ * Add files to build ruby artifact for mac on kokoro (#4814)
+ * Remove javanano.
+ * Comment out unused command from release script.
+ * Avoid direct check of class name (#4601)
+ * The JsonParseOptions::ignore_unknown_fields option behavior treats
+ * Fix php memory leak test (#4692)
+ * Fix benchmark build
+ * Add VS2017 optional component dependency details to the C# readme (#4128)
+ * Fix initialization with Visual Studio
+ * For windows, all python version should use /MT (#4468)
+ * use brew install instead of easy_install in OSX (#4537)
+ * Sync upb change (#4373)
+ * Always add -std=c++11 for mac (#4684)
+ * Add kokoro build status badges.
+ * Removed unrecognized option from no_package.proto
+ * Fixed up proto3_lite_unittest.cc
+ * Update Xcode settings
+ * Cleanup LICENSE file.
+ * Remove js_embed binary. (#4709)
+ * Fixed JS parsing of unspecified map keys
+ * Update version number to 3.6.0
+ * Deliberately call simple code to avoid Unity linker pruning
+ * Revert "Move `compiler/plugin.pb.cc` to libprotobuf with the other WKT sources."
+ * protoc-artifacts: Use ENTRYPOINT to enable devtoolset-1.1
+ * MinGW build failed
+ * Support using MSVC intrinsics in Log2FloorNonZero
+ * Fix array constructor in c extension for compatibility (#4667)
+ * Add space between class name and concat message (#4577)
+ * fix python
+ * Add performance.md and add instruction for linking tcmalloc
+ * Add script for run and upload the benchmark result to bq
+ * Add test for failing write of raw pointer to output stream
+ * [objectivec] Fix memory leak of exceptions raised by RaiseException() (#4556)
+ * Remove stray indent on normal imports.
+ * Fix python ext build on kokoro (#4527)
+ * Add compile test sources for to test include order.
+ * Fixed a Visual Studio 2017 build error. (#4488)
+ * fix linux kokoro build in docker
+ * Fixes MSVC compiler warning C4800 "Forcing value to bool 'true' or 'false'" (#4350)
+ * Updated Docker setup to use GCC 4.8
+ * Remove broken build status icons.
+ * Run autogen.sh in release script.
+ * Output *_pb2_grpc.py when use_grpc_plugin=True
+ * Adopt ruby_package in ruby generated code. (#4627)
+ * Cygwin build failed
+ * Work around an "old runtime" issue with reflection
+ * Added Kokoro protoc release build for OS X (#4770)
+ * Updated change log for 3.6.1 release
+ * Move methods out of class (#4697)
+ * Fix to allow AOT compilers to play nicely with reflection
+ * Update Makefile.am for Java lite files.
+ * Added map_lite_test.proto to fix LiteTest
+ * Introduce a compatiblity shim to support .NET 3.5 delegate creation
+ * Revert "Removed mention of Buffer in byteSourceToUint8Array"
+ * Add gogo benchmark
+ * Set ext.no_native = true for non mac platform
+ * Removed atomicops.h since it is no longer used
+ * Rename a shadowed variable.
+ * Add kokoro bazel configs for 3.6.x branch.
+ * Deleted scoped_ptr.h
+ * Check the message to be encoded is the wrong type. (#4885) (#4949)
+ * protoc-artifacts: Avoid checking out protobuf code
+ * Add conformance test for null value in list JSON
+ * Build ruby gem on kokoro (#4819)
+ * Try using a new version of Visual Studio on AppVeyor
+ * Make ruby release configs consistent with protoc.
+ * fix for API change in PHP 7.3 (#4898)
+ * Add .proto files to extract_includes.bat
+ * Update protoc build scripts.
+ * Blacklist all WELL_KNOWN_PROTOS from Bazel C++ code generation.
+ * Additional support for building and deploying ppcle_64 artifacts
+ * Fix php tests
+ * Cleanup + documentation for Java Lite runtime.
+ * Added Kokoro Windows release build config for protoc (#4766)
+ * typo
+ * fix golang kokoro linux build
+ * Fix spelling error of __GNUC_MINOR__
+ * Update code to work for Xcode 10b1 (#4729)
+ * Added pyext/thread_unsafe_shared_ptr.h
+ * Added missing .inc files to BUILD
+ * js message support for jstype string on integers (#4332)
+ * Improve error message when googletest is missing.
+ * Make assertEquals pass for message (#4947)
+ * Sync internal benchmark changes
+ * Removed some unused C++ source files
+ * Fix missing LIBPROTOC_EXPORT.
+ * Added new test source files to Makefile.am
+ * Update php version to 3.6.0 (#4736)
+ * Fix RepeatedField#delete_if (#4292)
+ * Merge branch (#4466)
+ * Implement array constructor in php c extension.
+ * protoc-artifacts: Update centos base from 6.6 to 6.9
+ * PHP array constructors for protobuf messages (#4530)
+ * Fix problem: cmake build failed in c++11 by clang
+ * Don't assume Windows builds use MSVC.
+ * Use legacy name in php runtime (#4741)
+ * Add file option php_metadata_namespace and ruby_package (#4609)
+ * Fix cpp benchmark dependency on mac
+ * Use the first enum value instead of 0 in DefaultValueObjectWriter::FindEnumDefault
+ * Check return value on write of raw pointer
+ * Delete unused directories.
+ * Replace //:protoc and similar default macro arguments with
+ * Add extra C# file to Makefile.am
+ * includes the expected class in the exception, otherwise the error is harder to track down (#3371)
+ * Update instructions about getting protobuf source.
+ * Add cpp tests under release docker image.
+ * fix java benchmark, fix dashboard build
+ * `update_file_lists.sh` depends on Bash features, thus needs Bash sebang.
+ * Rename build_artifacts.cfg to release.cfg (#4818)
+ * Fix bug: whether always_print_enums_as_ints is true or false, it always print the default value of enums as strings
+ * source code info for interpreted options; fix source code info for extension range options (#4342)
+ * Updated version numbers to 3.6.1
+ * Trim imports for bundled generated protos.
+ * Require C++11 and pass -std=c++11
+ * Remove the iOS Test App.
+ * fix duplicate mkdir in update_file_lists.sh
+ * Updated csharp/README.md to reflect testing changes
+ * Fix bazel build of examples.
+ * Add missing ruby/tests/test_ruby_package.proto
+ * Fix cpp_distcheck
+ * Updated the change log with changes for 3.6.0
+ * some fix
+ * CMake: Update CXX Standard management
+ * Add the files added in #4485.
+ * Change to deal all messages in one loop
+ * Fix php conformance test.
+ * Add __init__.py files to compiler and util subpackages (#4117)
+ * Updated .gitignore to exclude downloaded gmock/ directory
+ * Fix error in Clang UndefinedBehaviorSanitizer
+ * Work around MSVC issue with std::atomic initialization (#4777)
+ * Updated conformance failure lists
+ * Add back GeneratedClassName to public (#4686)
+ * Add continuous test for ruby 2.3, 2.4 and 2.5 (#4829)
+ * Throw error if user want to access message properties (#4603)
+ * fix json_decode call parameters (#4381)
+ * Move `compiler/plugin.pb.cc` to libprotobuf with the other WKT sources.
+ * PHP: fixed typo in message.c
+ * Add go benchmark
+ * Allow list values to be null when parsing
+ * Added instruction for existing ZLIB configuration
+ * Fix 32bit php tests
+ * Removed javanano from post_process_dist.sh
+ * Don't generate imports for the WKTs unless generating the WKTs.
+ * For encoding upb needs descriptor type instead of type. (#4354)
+ * Include googletest as a submodule (#3993)
+ * Write messages to backing field in generated C# cloning code (#4440)
+ * Integrated internal changes from Google
+- Drop adding-Release_CompareAndSwap-64-bit-variant.patch . Applied
+ upstream.
+- bump soname version
+
+-------------------------------------------------------------------
+Mon May 14 15:19:25 UTC 2018 - tbechtold@suse.com
+
+update to version v3.5.2:
+ * Update release date
+ * Disable pip cache when testing uploaded packages
+ * Replace private timelib_update_ts with public date_timestamp_get
+ * Remove py2.6 support.
+ * Cherrypick for csharp, including:
+ * Update changelog
+ * Update changelog for 3.5.1
+ * Fix uploading binary wheel.
+ * Fix memory leak when creating map field via array.
+ * Update rake file to build of 2.1.6.
+ * Avoid using php_date_get_date_ce() in case date extension is not
+ * Update protoc-artfacts
+ * Fix string::back() usage in googletest.cc
+ * Fix memory leak in php7
+ * Support ruby2.5
+ * io_win32: support non-ASCII paths
+ * Explicitly propagate the status of Flush().
+ * Add discard unknown API in ruby. (#3990)
+ * Update version for 3.5.0.post1
+ * remove nullptr
+ * Fix more memory leak for php c extension (#4211)
+ * Bumping number to fix ruby 2.1 on mac
+ * io_win32_unittest: remove incorrect error check
+ * Fix memory leak when creating repeated field via array.
+ * Update version number for php c extension (#3896)
+ * Fix file permission for python package.
+ * Create containing directory before generating well_known_types_embed.cc
+ * Replace C++11 only method std::map::at
+ * Recursively clear unknown fields in submessages. (#3982)
+ * Update version number to 3.5.1
+ * io_win32_unittest: fix condition in GetCwdAsUtf8
+ * Add release log
+ * io_win32_unittest: use CWD as last tempdir
+ * Add PROTOBUF_ENABLE_TIMESTAMP to let user decide whether timestamp util
+ * Add support for Windows ARM64 build
+ * Add protobuf-all in post release
+ * Use fully qualifed name for DescriptorPool in Any.php to avoid name (#3886)
+ * Add _file_desc_by_toplevel_extension back
+ * Fix setup.py for windows build.
+ * io_win32_unittest: make //:win32_test run again
+ * Provide discardUnknonwnFields API in php (#3976)
+ * Update php c extension version number to 3.5.0.1
+ * Fix ruby gc_test in ruby 2.4 (#4011)
+ * Remove duplicate typedef. (#3975)
+ * Accept DatetimeInterface in fromDatetime
+ * io_win32: add more encoding-related tests
+ * Bump version number to 3.5.2
+ * Bump protoc-artifact version for a patch rebuild
+ * Call php method via function name instead of calling directly.
+ * Well known types are not initialized properly. (#4139)
+ * Use matching enum type for IsPOD.
+ * Fix several more memory leak
+ * Fix for php5.5
+ * Add backslach to make class explict in global namespace
+
+-------------------------------------------------------------------
+Fri Feb 23 10:12:07 UTC 2018 - mlin@suse.com
+
+- Add adding-Release_CompareAndSwap-64-bit-variant.patch
+ * Fix compile error undefined reference to
+ `google::protobuf::internal::Release_CompareAndSwap(long volatile*, long, long)'
+ on s390x https://github.com/google/protobuf/issues/3937
+
+-------------------------------------------------------------------
+Mon Jan 22 16:50:28 UTC 2018 - tchvatal@suse.com
+
+- Conditionalize python2 and python3 in order to be able to build
+ without python2 present in distribution
+ * Use singlespec macros to simplify the logic
+- Run fdupes on python modules to avoid duplicates
+- Remove shebangs from import-only code
+
+-------------------------------------------------------------------
+Mon Dec 11 23:42:45 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream release 3.5.0
+ * Proto3 messages are now preserving unknown fields by default.
+ If you rely on unknowns fields being dropped, use
+ DiscardUnknownFields() explicitly.
+ * Deprecated the unsafe_arena_release_* and
+ unsafe_arena_add_allocated_* methods for string fields.
+ * Added move constructor and move assignment to RepeatedField,
+ RepeatedPtrField and google::protobuf::Any.
+ * Added perfect forwarding in Arena::CreateMessage.
+ * In-progress experimental support for implicit weak fields
+ with lite protos. This feature allows the linker to strip out
+ more unused messages and reduce binary size.
+- Rename %soname to %sover to better reflect its use.
+
+-------------------------------------------------------------------
+Fri Jun 16 07:57:00 UTC 2017 - mpluskal@suse.com
+
+- Install LICENSE
+
+-------------------------------------------------------------------
+Sun Jun 11 17:15:13 UTC 2017 - alarrosa@suse.com
+
+- Update to 3.3.0 :
+ * C++:
+ * Fixed map fields serialization of DynamicMessage to correctly serialize
+ both key and value regardless of their presence.
+ * Parser now rejects field number 0 correctly.
+ * New API Message::SpaceUsedLong() that’s equivalent to
+ Message::SpaceUsed() but returns the value in size_t.
+ * JSON support
+ - New flag always_print_enums_as_ints in JsonPrintOptions.
+ - New flag preserve_proto_field_names in JsonPrintOptions. It will instruct
+ the JSON printer to use the original field name declared in the .proto
+ file instead of converting them to lowerCamelCase when printing JSON.
+ - JsonPrintOptions.always_print_primtive_fields now works for oneof message
+ fields.
+ - Fixed a bug that doesn’t allow different fields to set the same json_name
+ value.
+ - Fixed a performance bug that causes excessive memory copy when printing
+ large messages.
+ * Various performance optimizations.
+ * Java:
+ * Map field setters eagerly validate inputs and throw NullPointerExceptions
+ as appropriate.
+ * Added ByteBuffer overloads to the generated parsing methods and the Parser
+ interface.
+ * proto3 enum's getNumber() method now throws on UNRECOGNIZED values.
+ * Output of JsonFormat is now locale independent.
+ * Python:
+ * Added FindServiceByName() in the pure-Python DescriptorPool. This works only
+ for descriptors added with DescriptorPool.Add(). Generated descriptor_pool
+ does not support this yet.
+ * Added a descriptor_pool parameter for parsing Any in text_format.Parse().
+ * descriptor_pool.FindFileContainingSymbol() now is able to find nested
+ extensions.
+ * Extending empty [] to repeated field now sets parent message presence.
+- Update to 3.2.0 :
+ * Added protoc version number to protoc plugin protocol. It can be used by
+ protoc plugin to detect which version of protoc is used with the plugin and
+ mitigate known problems in certain version of protoc.
+ * C++:
+ * The default parsing byte size limit has been raised from 64MB to 2GB.
+ * Added rvalue setters for non-arena string fields.
+ * Enabled debug logging for Android.
+ * Fixed a double-free problem when using Reflection::SetAllocatedMessage()
+ with extension fields.
+ * Fixed several deterministic serialization bugs:
+ * MessageLite::SerializeAsString() now respects the global deterministic
+ serialization flag.
+ * Extension fields are serialized deterministically as well. Fixed protocol
+ compiler to correctly report importing-self as an error.
+ * Fixed FileDescriptor::DebugString() to print custom options correctly.
+ * Various performance/codesize optimizations and cleanups.
+ * Java:
+ * The default parsing byte size limit has been raised from 64MB to 2GB.
+ * Added recursion limit when parsing JSON.
+ * Fixed a bug that enumType.getDescriptor().getOptions() doesn't have custom
+ options.
+ * Fixed generated code to support field numbers up to 2^29-1.
+ * Python:
+ * You can now assign NumPy scalars/arrays (np.int32, np.int64) to protobuf
+ fields, and assigning other numeric types has been optimized for
+ performance.
+ * Pure-Python: message types are now garbage-collectable.
+ * Python/C++: a lot of internal cleanup/refactoring.
+- Increase soname to 13
+- Generate python2-protobuf and python3-protobuf packages in Factory
+- Make the python2-protobuf package provide and obsolete python-protobuf
+ to make the transition smooth in Tumbleweed
+
+-------------------------------------------------------------------
+Sun Jan 22 00:47:42 UTC 2017 - stefan.bruens@rwth-aachen.de
+
+- Fix an issue with setup.py where some files are built on the
+ first invocation, but only copied on the second. This resulted
+ in an incomplete protobuf-python package.
+
+-------------------------------------------------------------------
+Sat Jan 7 11:02:55 UTC 2017 - stefan.bruens@rwth-aachen.de
+
+- Update to protobuf v3.1.0. Protobuf v3.0.0 introduceced a new
+ version of the protocol buffer language, proto3, which supersedes
+ proto2.
+ The protoc compiler is able to read old proto2 protocol definitions,
+ and defaults to the proto2 syntax if a syntax is not specified, thus
+ packages can be recompiled to link to the new library. For backwards
+ compatibility, the old library version is available from the
+ protobuf2 package.
+ As the API for proto2 is not compatible to the proto3 API, proto3
+ should only be used for new Protocol Buffers, whereas current users
+ are advised to keep using proto2. For a detailed list of changes,
+ see https://github.com/google/protobuf/releases
+- Drop no longer needed patches:
+ * protobuf-setuptools-2.4.1.patch
+ * protobuf-return-no-nonvoid.patch
+
+-------------------------------------------------------------------
+Fri Dec 16 03:33:01 UTC 2016 - stefan.bruens@rwth-aachen.de
+
+- Use py_sitedir for library installation with setup.py install
+
+-------------------------------------------------------------------
+Wed Dec 14 07:32:06 UTC 2016 - mpluskal@suse.com
+
+- Drop protobuf-libs as it is just workaround for rpmlint issue
+
+-------------------------------------------------------------------
+Sat Dec 10 19:24:18 UTC 2016 - stefan.bruens@rwth-aachen.de
+
+- Cleanup specfile:
+ * remove any conditionals for versions predating SLES 12/Leap 42.x
+ * add Provides: protobuf-libs to fix rpmlint warning
+
+-------------------------------------------------------------------
+Mon Dec 7 04:17:12 UTC 2015 - lnussel@suse.de
+
+- disable google-apputils usage. They are only used for the testsuite which
+ wasn't called anyways. The next upstream version will not use
+ apputils anymore anyways. Fixes build on SLE12.
+ https://github.com/google/protobuf/commit/9f42f5f4a423b923f7b07ae8c5e8db4943df49c6
+ bnc#957472
+
+-------------------------------------------------------------------
+Thu Nov 12 12:30:26 UTC 2015 - alarrosa@suse.com
+
+- Python bindings require a recent python-google-apputils, so build
+ them where it's available (that's anything recent except SLE12)
+
+-------------------------------------------------------------------
+Thu Nov 12 09:36:46 UTC 2015 - alarrosa@suse.com
+
+- Fix check so python bindings are not built in SLE12
+
+-------------------------------------------------------------------
+Fri Nov 6 08:32:15 UTC 2015 - edogawa@aon.at
+
+- tweak spec to build python bindings for Leap 42.1
+
+-------------------------------------------------------------------
+Wed Jul 29 09:56:31 UTC 2015 - dimstar@opensuse.org
+
+- Fix baselibs.conf: last time the sonames were bumped,
+ baselibs.conf has not been updated accordingly.
+
+-------------------------------------------------------------------
+Sat Feb 28 10:41:07 UTC 2015 - mpluskal@suse.com
+
+- Add protobuf-return-no-nonvoid.patch
+- Do not install examples
+- Remove 0001-Add-generic-GCC-support-for-atomic-operations.patch
+
+-------------------------------------------------------------------
+Fri Feb 27 19:20:16 UTC 2015 - mpluskal@suse.com
+
+- Use current url's
+- Update dependencies
+ * python bindings now require recent python-google-apputils
+ which are available only in recet (13.1 and higher releases of
+ openSUSE)
+- Update to 2.6.1
+ * Added atomicops support for Solaris.
+ * Released memory allocated by InitializeDefaultRepeatedFields()
+ and GetEmptyString(). Some memory sanitizers reported them
+ as memory leaks.
+ * Updated DynamicMessage.setField() to handle repeated enum
+ values correctly.
+ * Fixed a bug that caused NullPointerException to be thrown when
+ converting manually constructed FileDescriptorProto to
+ FileDescriptor.
+- Changes for 2.6.0
+ * Added oneofs(unions) feature. Fields in the same oneof will
+ share memory and at most one field can be set at the same time.
+ * Files, services, enums, messages, methods and enum values
+ can be marked as deprecated now.
+ * Added Support for list values, including lists of mesaages,
+ when parsing text-formatted protos in C++ and Java.
+ * Enhanced customization on TestFormat printing.
+ * Added SwapFields() in reflection API to swap a subset of
+ fields.
+ * Added SetAllocatedMessage() in reflection API.
+ * Repeated primitive extensions are now packable. The
+ [packed=true] option only affects serializers. Therefore,
+ it is possible to switch a repeated extension field to
+ packed format without breaking backwards-compatibility.
+ * Various speed optimizations.
+ * writeTo() method in ByteString can now write a substring to
+ an output stream. Added endWith() method for ByteString.
+ * ByteString and ByteBuffer are now supported in CodedInputStream
+ and CodedOutputStream.
+ * java_generate_equals_and_hash can now be used with the
+ LITE_RUNTIME.
+ * A new C++-backed extension module (aka "cpp api v2") that
+ replaces the old ("cpp api v1") one. Much faster than the
+ pure Python code. This one resolves many bugs and is
+ recommended for general use over the pure Python when possible.
+
+-------------------------------------------------------------------
+Tue Nov 5 13:38:45 UTC 2013 - sleep_walker@suse.cz
+
+- fix java flags to build package for SLE_11_SP3
+
+-------------------------------------------------------------------
+Fri Jun 7 15:32:55 UTC 2013 - dvaleev@suse.com
+
+- package google/protobuf/stubs/atomicops_internals_generic_gcc.h
+ mosh reqires it
+
+-------------------------------------------------------------------
+Mon May 27 10:44:05 UTC 2013 - dvaleev@suse.com
+
+- Build on architectures where no specialized code has been written
+ 0001-Add-generic-GCC-support-for-atomic-operations.patch
+
+-------------------------------------------------------------------
+Fri Apr 12 18:35:09 UTC 2013 - ftake@geeko.jp
+
+- Upstream update to 2.5.0
+ * New construct "import public"
+ * New enum option "allow_alias"
+ * C++: New generated method set_allocated_foo(Type* foo)
+ * C++: Added SetAllocatedExtension() and ReleaseExtension()
+ to extensions API
+ * Java: Added getters/setters to access the underlying ByteString
+ of a string field
+ * Java: New operations for substring(), prepend(), and append()
+ * Java: New method findInitializationErrors()
+ * Python: Support for dynamic message creation
+ * Python: Fixed custom options were not correctly populated
+ * Python: Added EnumTypeWrapper
+ * Python: Added ParseMessage(descriptor, bytes)
+ * Various bug fixes and optimazations
+- Drop gtest-1.5, which is now included by the archive from
+ the upstream
+-------------------------------------------------------------------
+Sat May 19 18:25:52 UTC 2012 - crrodriguez@opensuse.org
+
+- BuildRequire zlib-devel otherwise gzip_stream is not built
+ thus breaking newer releases of mosh.
+
+-------------------------------------------------------------------
+Fri Mar 16 16:15:25 UTC 2012 - dimstar@opensuse.org
+
+- Add gtest-1.5.0.tar.bz2: This is the release tarball of gtest 1.5
+ which is being used by make check. The included 1.4.0 does not
+ work with gcc 4.7, thus replacing the gtest folder with this
+ snapshot.
+- Wrapped the gtest extraction with a version check... on next
+ version the package will fail in order to remember to take this
+ out again (next release of protobuf bundles gtest 1.5.0)
+- Add libtool BuildRequires and call to autoreconf, as gtest 1.5.0
+ needs to be bootstrapped.
+
+-------------------------------------------------------------------
+Wed Dec 21 09:47:32 UTC 2011 - coolo@suse.com
+
+- remove %release from requires
+
+-------------------------------------------------------------------
+Wed Oct 12 15:46:14 MSD 2011 - tony@daylessday.org
+
+- Update to Protobuf 2.4.1:
+ C++
+ * Fixed the frendship problem for old compilers to make the library now gcc 3
+ compatible again.
+ * Fixed vcprojects/extract_includes.bat to extract compiler/plugin.h.
+
+ Java
+ * Removed usages of JDK 1.6 only features to make the library now JDK 1.5
+ compatible again.
+ * Fixed a bug about negative enum values.
+ * serialVersionUID is now defined in generated messages for java serializing.
+ * Fixed protoc to use java.lang.Object, which makes "Object" now a valid
+ message name again.
+
+ Python
+ * Experimental C++ implementation now requires C++ protobuf library installed.
+ See the README.txt in the python directory for details.
+
+-------------------------------------------------------------------
+Tue Apr 19 00:23:14 CEST 2011 - ro@suse.de
+
+- update baselibs.conf
+
+-------------------------------------------------------------------
+Wed Dec 15 09:42:59 UTC 2010 - lnussel@suse.de
+
+- provide libprotobuf-devel for compatibility
+
+-------------------------------------------------------------------
+Mon Apr 26 11:23:57 UTC 2010 - lnussel@suse.de
+
+- merge features with version from devel:tools:building
+ * build java and python versions
+ * disable static libraries
+
+-------------------------------------------------------------------
+Sat Apr 24 18:12:57 UTC 2010 - lnussel@suse.de
+
+- new version 2.3.0
+
+-------------------------------------------------------------------
+Sat Apr 24 18:07:39 UTC 2010 - lnussel@suse.de
+
+- separate soname define
+
+-------------------------------------------------------------------
+Mon Dec 7 12:39:37 UTC 2009 - lnussel@suse.de
+
+- new version 2.2.0a
+
+-------------------------------------------------------------------
+Tue Mar 31 09:51:34 CEST 2009 - lnussel@suse.de
+
+- move protoc to devel package
+- split according to library policy
+- install vim syntax file
+
+-------------------------------------------------------------------
+Wed Sep 03 00:00:00 CET 2008 - Lenz Grimmer
+
+- Update to version 2.0.1
+
+-------------------------------------------------------------------
+Wed Aug 13 00:00:00 CET 2008 - Lenz Grimmer
+
+- Initial package the openSUSE build service (Version 2.0.0beta)
+
diff --git a/protobuf-java.spec b/protobuf-java.spec
new file mode 100644
index 0000000..5a5b7bb
--- /dev/null
+++ b/protobuf-java.spec
@@ -0,0 +1,152 @@
+#
+# spec file for package protobuf-java
+#
+# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2024 Andreas Stieger
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%define tarname protobuf
+%define baseversion 28.2
+Name: protobuf-java
+Version: 4.%{baseversion}
+Release: 0
+Summary: Java Bindings for Google Protocol Buffers
+License: BSD-3-Clause
+Group: Development/Libraries/Java
+URL: https://github.com/protocolbuffers/protobuf
+Source0: https://github.com/protocolbuffers/protobuf/releases/download/v%{baseversion}/%{tarname}-%{baseversion}.tar.gz
+Source1: https://repo1.maven.org/maven2/com/google/protobuf/%{name}/%{version}/%{name}-%{version}.pom
+Source2: https://repo1.maven.org/maven2/com/google/protobuf/%{name}lite/%{version}/%{name}lite-%{version}.pom
+Source3: https://repo1.maven.org/maven2/com/google/protobuf/%{name}-util/%{version}/%{name}-util-%{version}.pom
+BuildRequires: fdupes
+BuildRequires: java-devel >= 1.8
+BuildRequires: maven-local
+BuildRequires: protobuf-devel >= %{baseversion}
+BuildRequires: mvn(com.google.code.findbugs:jsr305)
+BuildRequires: mvn(com.google.code.gson:gson)
+BuildRequires: mvn(com.google.errorprone:error_prone_annotations)
+BuildRequires: mvn(com.google.guava:guava)
+BuildRequires: mvn(com.google.j2objc:j2objc-annotations)
+BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
+Requires: java >= 1.8
+Requires: protobuf-devel >= %{baseversion}
+BuildArch: noarch
+
+%description
+Protocol Buffers are a way of encoding structured data in an efficient yet
+extensible format. Google uses Protocol Buffers for almost all of its internal
+RPC protocols and file formats.
+
+This package contains the Java bindings.
+
+%package parent
+Summary: Java Bindings for Google Protocol Buffers (parent pom)
+
+%description parent
+Protocol Buffers are a way of encoding structured data in an efficient yet
+extensible format. Google uses Protocol Buffers for almost all of its internal
+RPC protocols and file formats.
+
+This package contains the parent pom of the Java bindings.
+
+%package bom
+Summary: Java Bindings for Google Protocol Buffers (bom)
+
+%description bom
+Protocol Buffers are a way of encoding structured data in an efficient yet
+extensible format. Google uses Protocol Buffers for almost all of its internal
+RPC protocols and file formats.
+
+This package contains the bill-of-materials pom of the Java bindings.
+
+%package javadoc
+Summary: Javadoc for %{name}
+Group: Documentation/HTML
+
+%description javadoc
+This package contains the API documentation for %{name}.
+
+%prep
+%autosetup -p1 -n %{tarname}-%{baseversion}
+
+# The previous blank line is crucial for older system being able
+# to use the autosetup macro
+
+pushd java
+cp %{SOURCE1} core/pom.xml
+cp %{SOURCE2} lite/pom.xml
+cp %{SOURCE3} util/pom.xml
+%pom_disable_module kotlin
+%pom_disable_module kotlin-lite
+%pom_disable_module lite
+%pom_remove_plugin :animal-sniffer-maven-plugin
+%pom_xpath_set "pom:plugin[pom:artifactId[text()='maven-compiler-plugin']]/pom:configuration/pom:source" "1.8"
+%pom_xpath_set "pom:plugin[pom:artifactId[text()='maven-compiler-plugin']]/pom:configuration/pom:target" "1.8"
+
+%{mvn_package} :{*}-parent parent
+%{mvn_package} :{*}-bom bom
+
+%{mvn_file} :{*} @1
+%{mvn_file} :%{name} %{tarname}
+
+popd
+
+%build
+pushd java
+protoc \
+ --java_out=core/src/main/java \
+ --proto_path=../src \
+ --proto_path=core/src/main/resources/google/protobuf \
+ core/src/main/resources/google/protobuf/java_features.proto
+for i in \
+ ../src/google/protobuf/any.proto \
+ ../src/google/protobuf/api.proto \
+ ../src/google/protobuf/descriptor.proto \
+ ../src/google/protobuf/duration.proto \
+ ../src/google/protobuf/empty.proto \
+ ../src/google/protobuf/field_mask.proto \
+ ../src/google/protobuf/source_context.proto \
+ ../src/google/protobuf/struct.proto \
+ ../src/google/protobuf/timestamp.proto \
+ ../src/google/protobuf/type.proto \
+ ../src/google/protobuf/wrappers.proto; do
+ protoc \
+ --java_out=core/src/main/java \
+ --proto_path=../src \
+ --proto_path=core/src/main/resources/google/protobuf \
+ ${i}
+ cp ${i} core/src/main/resources/google/protobuf/
+done
+
+%{mvn_build} -f -- -Dprotoc=$(type -p protoc)
+popd
+
+%install
+pushd java
+%mvn_install
+%fdupes -s %{buildroot}%{_javadocdir}
+popd
+
+%files -f java/.mfiles
+%license LICENSE
+
+%files bom -f java/.mfiles-bom
+
+%files parent -f java/.mfiles-parent
+
+%files javadoc -f java/.mfiles-javadoc
+%license LICENSE
+
+%changelog
diff --git a/protobuf-javalite-4.28.2.pom b/protobuf-javalite-4.28.2.pom
new file mode 100644
index 0000000..6057b79
--- /dev/null
+++ b/protobuf-javalite-4.28.2.pom
@@ -0,0 +1,41 @@
+
+
+ 4.0.0
+
+ com.google.protobuf
+ protobuf-parent
+ 4.28.2
+
+
+ protobuf-javalite
+ jar
+
+ Protocol Buffers [Lite]
+
+ Lite version of Protocol Buffers library. This version is optimized for code size, but does
+ not guarantee API/ABI stability.
+
+
+
+
+
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ true
+
+
+ com.google.protobuf
+ https://developers.google.com/protocol-buffers/
+ com.google.protobuf
+ com.google.protobuf;version=${project.version}
+ sun.misc;resolution:=optional,*
+
+
+
+
+
+
diff --git a/protobuf.changes b/protobuf.changes
index bb44306..4f9cf5b 100644
--- a/protobuf.changes
+++ b/protobuf.changes
@@ -1,3 +1,13 @@
+-------------------------------------------------------------------
+Tue Oct 15 13:49:20 UTC 2024 - Fridrich Strba
+
+- Splitting the java and python parts into separate packages
+ * allows much more readable and simple spec files
+ * allows disabling bindings separately from the main package
+- Build protobuf-java with the upstream version that is currently
+ 4.28.2
+- Add a pre_checkin.sh script to synchronize the changes files
+
-------------------------------------------------------------------
Mon Oct 7 10:46:17 UTC 2024 - Adrian Schröter
diff --git a/protobuf.spec b/protobuf.spec
index fe82f09..8cb8c8d 100644
--- a/protobuf.spec
+++ b/protobuf.spec
@@ -18,32 +18,26 @@
%define tarname protobuf
-%define extra_java_flags -source 8 -target 8
# see cmake/abseil-cpp.cmake and src/google/protobuf/port_def.inc
%define abseil_min_version 20230125.3
+%global sover 28_2_0
+%if 0%{?gcc_version} < 11
+%define with_gcc 11
+%endif
# requires gmock, which is not yet in the distribution
%bcond_with check
-%bcond_without java
-%bcond_without python3
-%{?sle15_python_module_pythons}
Name: protobuf
Version: 28.2
-%global sover 28_2_0
Release: 0
Summary: Protocol Buffers - Google's data interchange format
License: BSD-3-Clause
Group: Development/Libraries/C and C++
URL: https://github.com/protocolbuffers/protobuf
Source0: https://github.com/protocolbuffers/protobuf/releases/download/v%{version}/%{tarname}-%{version}.tar.gz
-Source1: manifest.txt.in
-Source2: baselibs.conf
-BuildRequires: %{python_module abseil}
-BuildRequires: %{python_module devel >= 3.7}
-BuildRequires: %{python_module python-dateutil}
-BuildRequires: %{python_module setuptools}
-BuildRequires: c++_compiler
+Source1: baselibs.conf
BuildRequires: cmake
BuildRequires: fdupes
+BuildRequires: gcc%{?with_gcc}-c++
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
# see cmake/abseil-cpp.cmake
@@ -85,20 +79,6 @@ BuildRequires: pkgconfig(zlib)
%if %{with check}
BuildRequires: libgmock-devel >= 1.7.0
%endif
-%if %{with java}
-BuildRequires: java-devel >= 1.8
-BuildRequires: javapackages-local >= 6
-%endif
-
-%if 0%{?suse_version} >= 1500
-# generate subpackages for every python3 flavor
-%define python_subpackage_only 1
-%python_subpackages
-%else
-# same "defaults" for all distributions, used in files section
-%define python_files() -n python3-%{**}
-%define python_sitearch %{python3_sitearch}
-%endif
%description
Protocol Buffers are a way of encoding structured data in an efficient yet
@@ -135,85 +115,35 @@ RPC protocols and file formats.
%package devel
Summary: Header files, libraries and development documentation for %{name}
Group: Development/Libraries/C and C++
-Requires: libprotobuf%{sover} = %{VERSION}
+Requires: libprotobuf%{sover} = %{version}
Requires: libprotobuf-lite%{sover}
Conflicts: protobuf2-devel
Conflicts: protobuf21-devel
-Provides: libprotobuf-devel = %{VERSION}
+Provides: libprotobuf-devel = %{version}
%description devel
Protocol Buffers are a way of encoding structured data in an efficient yet
extensible format. Google uses Protocol Buffers for almost all of its internal
RPC protocols and file formats.
-%if 0%{?python_subpackage_only}
-%package -n python-%{name}
-Version: 5.%{VERSION}
-Summary: Python Bindings for Google Protocol Buffers
-Group: Development/Libraries/Python
-
-%description -n python-%{name}
-This package contains the Python bindings for Google Protocol Buffers.
-
-%else
-
-%package -n python3-%{name}
-Version: 5.%{VERSION}
-Summary: Python3 Bindings for Google Protocol Buffers
-Group: Development/Libraries/Python
-
-%description -n python3-%{name}
-This package contains the Python bindings for Google Protocol Buffers.
-%endif
-
-%package -n %{name}-java
-Summary: Java Bindings for Google Protocol Buffers
-Group: Development/Libraries/Java
-Requires: java >= 1.6.0
-
-%description -n %{name}-java
-This package contains the Java bindings for Google Protocol Buffers.
-
%prep
-%autosetup -p1 -n %{tarname}-%{VERSION}
+%autosetup -p1 -n %{tarname}-%{version}
-# python module have their own version specified in python/google/protobuf/__init__.py
-grep -qF "'5.%{VERSION}'" python/google/protobuf/__init__.py
-
-# The previous blank line is crucial for older system being able
-# to use the autosetup macro
mkdir gmock
-# kill shebang that we do not really want
-sed -i -e '/env python/d' python/google/protobuf/internal/*.py
-
%build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
# tests are not part of offical tar ball
+%if 0%{?with_gcc}
+export CXX=g++-%{with_gcc}
+export CC=gcc-%{with_gcc}
+%endif
%cmake \
-Dprotobuf_BUILD_TESTS=OFF \
-Dprotobuf_ABSL_PROVIDER=package
%cmake_build
-%if %{with java}
-pushd ../java
-../build/protoc --java_out=core/src/main/java -I../src ../src/google/protobuf/descriptor.proto
-../build/protoc --java_out=core/src/main/java -I../src -I./core/src/main/resources/google/protobuf/ \
- ./core/src/main/resources/google/protobuf/java_features.proto
-mkdir classes
-javac %{extra_java_flags} -d classes core/src/main/java/com/google/protobuf/*.java
-sed -e 's/@VERSION@/%{version}/' < %{SOURCE1} > manifest.txt
-jar cfm %{name}-java-%{version}.jar manifest.txt -C classes com
-popd
-%endif
-
-pushd ../python
-export PROTOC=../build/protoc
-%define py_setup dist/setup.py
-%python_build
-popd
-
%if %{with check}
%check
%make_build check
@@ -223,40 +153,33 @@ popd
%cmake_install
install -Dm 0644 editors/proto.vim %{buildroot}%{_datadir}/vim/site/syntax/proto.vim
-%if %{with java}
-pushd java
-install -d -m 0755 %{buildroot}%{_javadir}
-install -p -m 0644 %{name}-java-%{version}.jar %{buildroot}%{_javadir}/%{name}-java.jar
-ln -s %{name}-java.jar %{buildroot}%{_javadir}/%{name}.jar
-install -d -m 0755 %{buildroot}%{_mavenpomdir}
-%{mvn_install_pom} pom.xml %{buildroot}%{_mavenpomdir}/%{name}-java.pom
-%add_maven_depmap %{name}-java.pom %{name}-java.jar
-popd
-%endif
-
-pushd python
-export PROTOC=../build/protoc
-%python_install
-popd
-%python_expand %fdupes %{buildroot}%{$python_sitearch}
-
%fdupes %{buildroot}%{_prefix}
+# SLE12 does not define this macro
+%if %{undefined ldconfig_scriptlets}
+%post -n libprotobuf%{sover} -p /sbin/ldconfig
+%postun -n libprotobuf%{sover} -p /sbin/ldconfig
+%post -n libprotoc%{sover} -p /sbin/ldconfig
+%postun -n libprotoc%{sover} -p /sbin/ldconfig
+%post -n libprotobuf-lite%{sover} -p /sbin/ldconfig
+%postun -n libprotobuf-lite%{sover} -p /sbin/ldconfig
+%else
%ldconfig_scriptlets -n libprotobuf%{sover}
%ldconfig_scriptlets -n libprotoc%{sover}
%ldconfig_scriptlets -n libprotobuf-lite%{sover}
+%endif
%files -n libprotobuf%{sover}
%license LICENSE
-%{_libdir}/libprotobuf.so.%{VERSION}.0
+%{_libdir}/libprotobuf.so.%{version}.0
%files -n libprotoc%{sover}
%license LICENSE
-%{_libdir}/libprotoc.so.%{VERSION}.0
+%{_libdir}/libprotoc.so.%{version}.0
%files -n libprotobuf-lite%{sover}
%license LICENSE
-%{_libdir}/libprotobuf-lite.so.%{VERSION}.0
+%{_libdir}/libprotobuf-lite.so.%{version}.0
%files devel
%license LICENSE
@@ -286,19 +209,4 @@ popd
%{_libdir}/libutf8_validity.so
%{_datadir}/vim
-%if %{with java}
-%files -n %{name}-java -f java/.mfiles
-%license LICENSE
-%{_javadir}/%{name}.jar
-%endif
-
-%if %{with python3}
-%files %{python_files %{name}}
-%license LICENSE
-%dir %{python_sitearch}/google
-%{python_sitearch}/google/protobuf
-%{python_sitearch}/protobuf*nspkg.pth
-%{python_sitearch}/protobuf*info
-%endif
-
%changelog
diff --git a/python-protobuf.changes b/python-protobuf.changes
new file mode 100644
index 0000000..4f9cf5b
--- /dev/null
+++ b/python-protobuf.changes
@@ -0,0 +1,2004 @@
+-------------------------------------------------------------------
+Tue Oct 15 13:49:20 UTC 2024 - Fridrich Strba
+
+- Splitting the java and python parts into separate packages
+ * allows much more readable and simple spec files
+ * allows disabling bindings separately from the main package
+- Build protobuf-java with the upstream version that is currently
+ 4.28.2
+- Add a pre_checkin.sh script to synchronize the changes files
+
+-------------------------------------------------------------------
+Mon Oct 7 10:46:17 UTC 2024 - Adrian Schröter
+
+- update to 28.2
+ C++: Fix cord handling in DynamicMessage and oneofs
+ Java: Add recursion check when parsing unknown fields
+- python packages became arch dependend
+
+-------------------------------------------------------------------
+Sun Aug 11 09:49:53 UTC 2024 - Andreas Stieger
+
+- tweak and correct how minimum version of abseil is specified
+ (20230125 to 20230125.3)
+- Remove explicit requirements of the protobuf-devel package, as
+ the they are autogenerated when needed
+
+-------------------------------------------------------------------
+Fri Aug 2 16:42:09 UTC 2024 - Andreas Stieger
+
+- update to 25.4:
+ * Java: Check that size is non-negative when reading string or
+ bytes in StreamDecoder
+ * Java: Add Automatic-Module-Name
+ * PHP: Regen stale files
+ * Ruby C-Extension: Regen stale files
+
+-------------------------------------------------------------------
+Sat Mar 9 20:36:14 UTC 2024 - Andreas Stieger
+
+- update to 25.3:
+ * Possibly breaking changes to: C++, Java, PHP, Python, Ruby
+ * message.UnknownFields() is deprecated in pure Python and C++
+ extensions, it will be removed in v26. Use the new
+ UnknownFieldSet(message) support in unknown_fields.py as a
+ replacement
+- make python and java packages noarch
+- drop add-missing-stdint-header.patch no longer required
+
+-------------------------------------------------------------------
+Fri Mar 8 16:25:26 UTC 2024 - Andreas Stieger
+
+- update to 25.2:
+ * Only substitute prefixes during installation setup
+ * Register a shutdown delete for C++ feature defaults
+
+-------------------------------------------------------------------
+Tue Jan 2 13:52:00 UTC 2024 - Dirk Müller
+
+- update to 25.1:
+ * Raise warnings for deprecated python syntax usages
+ * Add support for extensions in CRuby, JRuby, and FFI Ruby
+ * Add support for options in CRuby, JRuby and FFI (#14594)
+- update to 25.0:
+ * Implement proto2/proto3 with editions
+ * Defines Protobuf compiler version strings as macros and
+ separates out suffix string definition.
+ * Add utf8_validation feature back to the global feature set.
+ * Setting up version updater to prepare for poison pills and
+ embedding version info into C++, Python and Java gencode.
+ * Merge the protobuf and upb Bazel repos
+ * Editions: Introduce functionality to protoc for generating
+ edition feature set defaults.
+ * Editions: Migrate edition strings to enum in C++ code.
+ * Create a reflection helper for ExtensionIdentifier.
+ * Editions: Provide an API for C++ generators to specify their
+ features.
+ * Editions: Refactor feature resolution to use an intermediate
+ message.
+ * Publish extension declarations with declaration
+ verifications.
+ * Editions: Stop propagating partially resolved feature sets to
+ plugins.
+ * Editions: Migrate string_field_validation to a C++ feature
+ * Editions: Include defaults for any features in the generated
+ pool.
+ * Protoc: parser rejects explicit use of map_entry option
+ * Protoc: validate that reserved range start is before end
+ * Protoc: support identifiers as reserved names in addition to
+ string literals (only in editions)
+ * Drop support for Bazel 5.
+ * Allow code generators to specify whether or not they support
+ editions.
+ # C++
+ * Set `PROTOBUF_EXPORT` on
+ `InternalOutOfLineDeleteMessageLite()`
+ * Update stale checked-in files
+ * Apply PROTOBUF_NOINLINE to declarations of some functions
+ that want it.
+ * Implement proto2/proto3 with editions
+ * Make JSON UTF-8 boundary check inclusive of the largest
+ possible UTF-8 character.
+ * Reduce `Map::size_type` to 32-bits. Protobuf containers can't
+ have more than that
+ * Defines Protobuf compiler version strings as macros and
+ separates out suffix string definition.
+ * Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated
+ oneof accessors.
+ * Fix bug in reflection based Swap of map fields.
+ * Add utf8_validation feature back to the global feature set.
+ * Setting up version updater to prepare for poison pills and
+ embedding version info into C++, Python and Java gencode.
+ * Add prefetching to arena allocations.
+ * Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated
+ repeated and map field accessors.
+ * Editions: Migrate edition strings to enum in C++ code.
+ * Create a reflection helper for ExtensionIdentifier.
+ * Editions: Provide an API for C++ generators to specify their
+ features.
+ * Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated
+ string field accessors.
+ * Editions: Refactor feature resolution to use an intermediate
+ message.
+ * Fixes for 32-bit MSVC.
+ * Publish extension declarations with declaration
+ verifications.
+ * Export the constants in protobuf's any.h to support DLL
+ builds.
+ * Implement AbslStringify for the Descriptor family of types.
+ * Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated
+ message field accessors.
+ * Editions: Stop propagating partially resolved feature sets to
+ plugins.
+ * Editions: Migrate string_field_validation to a C++ feature
+ * Editions: Include defaults for any features in the generated
+ pool.
+ * Introduce C++ feature for UTF8 validation.
+ * Protoc: validate that reserved range start is before end
+ * Remove option to disable the table-driven parser in protoc.
+ * Lock down ctype=CORD in proto file.
+ * Support split repeated fields.
+ * In OSS mode omit some extern template specializations.
+ * Allow code generators to specify whether or not they support
+ editions.
+ # Java
+ * Implement proto2/proto3 with editions
+ * Remove synthetic oneofs from Java gencode field accessor
+ tables.
+ * Timestamps.parse: Add error handling for invalid
+ hours/minutes in the timezone offset.
+ * Defines Protobuf compiler version strings as macros and
+ separates out suffix string definition.
+ * Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated
+ oneof accessors.
+ * Add missing debugging version info to Protobuf Java gencode
+ when multiple files are generated.
+ * Fix a bad cast in putBuilderIfAbsent when already present due
+ to using the result of put() directly (which is null if it
+ currently has no value)
+ * Setting up version updater to prepare for poison pills and
+ embedding version info into C++, Python and Java gencode.
+ * Fix a NPE in putBuilderIfAbsent due to using the result of
+ put() directly (which is null if it currently has no value)
+ * Update Kotlin compiler to escape package names
+ * Add MapFieldBuilder and change codegen to generate it and the
+ put{field}BuilderIfAbsent method.
+ * Introduce recursion limit in Java text format parsing
+ * Consider the protobuf.Any invalid if typeUrl.split("/")
+ returns an empty array.
+ * Mark `FieldDescriptor.hasOptionalKeyword()` as deprecated.
+ * Fixed Python memory leak in map lookup.
+ * Loosen upb for json name conflict check in proto2 between
+ json name and field
+ * Defines Protobuf compiler version strings as macros and
+ separates out suffix string definition.
+ * Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated
+ oneof accessors.
+ * Ensure Timestamp.ToDatetime(tz) has correct offset
+ * Do not check required field for upb python MergeFrom
+ * Setting up version updater to prepare for poison pills and
+ embedding version info into C++, Python and Java gencode.
+ * Merge the protobuf and upb Bazel repos
+ * Comparing a proto message with an object of unknown returns
+ NotImplemented
+ * Emit __slots__ in pyi output as a tuple rather than a list
+ for --pyi_out.
+ * Fix a bug that strips options from descriptor.proto in
+ Python.
+ * Raise warings for message.UnknownFields() usages and navigate
+ to the new add
+ * Add protobuf python keyword support in path for stub
+ generator.
+ * Add tuple support to set Struct
+ * ### Python C-Extension (Default)
+ * Comparing a proto message with an object of unknown returns
+ NotImplemented
+ * Check that ffi-compiler loads before using it to define
+ tasks.
+ # UPB (Python/PHP/Ruby C-Extension)
+ * Include .inc files directly instead of through a filegroup
+ * Loosen upb for json name conflict check in proto2 between
+ json name and field
+ * Add utf8_validation feature back to the global feature set.
+ * Do not check required field for upb python MergeFrom
+ * Merge the protobuf and upb Bazel repos
+ * Added malloc_trim() calls to Python allocator so RSS will
+ decrease when memory is freed
+ * Upb: fix a Python memory leak in ByteSize()
+ * Support ASAN detection on clang
+ * Upb: bugfix for importing a proto3 enum from within a proto2
+ file
+ * Expose methods needed by Ruby FFI using UPB_API
+ * Fix `PyUpb_Message_MergeInternal` segfault
+
+-------------------------------------------------------------------
+Thu Dec 21 13:53:29 UTC 2023 - Dirk Müller
+
+- build against modern python on sle15
+
+-------------------------------------------------------------------
+Mon Oct 30 10:47:11 UTC 2023 - Fridrich Strba
+
+- Build with source and target levels 8
+ * fixes build with JDK21
+- Install the pom file with the new %%mvn_install_pom macro
+- Do not install the pom-only artifacts, since the %%mvn_install_pom
+ macro resolves the variables at the install time
+
+-------------------------------------------------------------------
+Fri Jul 7 12:04:43 UTC 2023 - Dirk Müller
+
+- update to 23.4:
+ * Add dllexport_decl for generated default instance.
+ * Deps: Update Guava to 32.0.1
+
+-------------------------------------------------------------------
+Mon Jul 3 07:58:43 UTC 2023 - Dirk Müller
+
+- update to 23.3:
+ C++
+ * Regenerate stale files
+ * Use the same ABI for static and shared libraries on non-
+ Windows platforms
+ * Add a workaround for GCC constexpr bug
+
+ Objective-C
+ * Regenerate stale files
+ 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.
+
+ Compiler
+ * Add missing header to Objective-c generator
+ * Add a workaround for GCC constexpr bug
+
+ Java
+ * Rollback of: Simplify protobuf Java message builder by
+ removing methods that calls the super class only.
+
+ Csharp
+ * [C#] Replace regex that validates descriptor names
+- drop 0001-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch (upstream)
+
+-------------------------------------------------------------------
+Wed Jun 14 08:32:55 UTC 2023 - Fabian Vogt
+
+- Add patch to fix linking ThreadSafeArena:
+ * 0001-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch
+- Drop the protobuf-source package, no longer used
+
+-------------------------------------------------------------------
+Tue Jun 13 06:12:11 UTC 2023 - Dirk Müller
+
+- update to 22.5:
+ C++
+ * Add missing cstdint header
+ * Fix: missing -DPROTOBUF_USE_DLLS in pkg-config (#12700)
+ * Avoid using string(JOIN..., which requires cmake 3.12
+ * Explicitly include GTest package in examples
+ * Bump Abseil submodule to 20230125.3 (#12660)
+- update to 22.4:
+ C++
+ * Fix libprotoc: export useful symbols from .so
+ * Fix btree issue in map tests.
+ Python
+ * Fix bug in _internal_copy_files where the rule would fail in
+ downstream repositories.
+ Other
+ * Bump utf8_range to version with working pkg-config (#12584)
+ * Fix declared dependencies for pkg-config
+ * Update abseil dependency and reorder dependencies to ensure
+ we use the version specified in protobuf_deps.
+ * Turn off clang::musttail on i386
+
+-------------------------------------------------------------------
+Sun Jun 11 19:19:40 UTC 2023 - Dirk Müller
+
+- drop python2 handling
+- fix version handling and package the private libs again
+
+-------------------------------------------------------------------
+Tue May 9 09:26:46 UTC 2023 - Martin Pluskal
+
+- Fix confusion in versions
+
+-------------------------------------------------------------------
+Fri Apr 28 07:07:50 UTC 2023 - Fridrich Strba
+
+- Mention the rpmlintrc file in the spec.
+
+-------------------------------------------------------------------
+Thu Apr 27 06:59:31 UTC 2023 - Fridrich Strba
+
+- Make possible to build on older systems, like SLE12 that miss
+ some of the used macros.
+
+-------------------------------------------------------------------
+Mon Apr 24 12:30:51 UTC 2023 - Adrian Schröter
+
+- update to v22.3
+ UPB (Python/PHP/Ruby C-Extension)
+ * Remove src prefix from proto import
+ * Fix .gitmodules to use the correct absl branch
+ * Remove erroneous dependency on googletest
+- update to 22.2:
+ Java
+ * Add version to intra proto dependencies and add kotlin stdlib
+ dependency
+ * Add $ back for osgi header
+ * Remove $ in pom files
+- update to 22.1:
+ * Add visibility of plugin.proto to python directory
+ * Strip "src" from file name of plugin.proto
+ * Add OSGi headers to pom files.
+ * Remove errorprone dependency from kotlin protos.
+ * Version protoc according to the compiler version number.
+- update to 22.0:
+ * This version includes breaking changes to: Cpp.
+ Please refer to the migration guide for information:
+ https://protobuf.dev/support/migration/#compiler-22
+
+ * [Cpp] Migrate to Abseil's logging library.
+ * [Cpp] `proto2::Map::value_type` changes to `std::pair`.
+ * [Cpp] Mark final ZeroCopyInputStream, ZeroCopyOutputStream,
+ and DefaultFieldComparator classes.
+ * [Cpp] Add a dependency on Abseil (#10416)
+ * [Cpp] Remove all autotools usage (#10132)
+ * [Cpp] Add C++20 reserved keywords
+ * [Cpp] Dropped C++11 Support
+ * [Cpp] Delete Arena::Init
+ * [Cpp] Replace JSON parser with new implementation
+ * [Cpp] Make RepeatedField::GetArena non-const in order to
+ support split RepeatedFields.
+ * long list of bindings specific fixes see
+ https://github.com/protocolbuffers/protobuf/releases/tag/v22.0
+- python sub packages version is set 4.22.3 as defined in
+ python/google/protobuf/__init__.py to stay compatible
+- skip python2 builds by default
+- drop patches:
+ * 10355.patch,
+ * gcc12-disable-__constinit-with-c++-11.patch (merged upstream)
+- added patches:
+ * add-missing-stdint-header.patch added for compile fixes
+
+-------------------------------------------------------------------
+Thu Mar 23 09:01:50 UTC 2023 - Martin Liška
+
+- Enable LTO (boo#1133277).
+
+-------------------------------------------------------------------
+Thu Dec 15 16:18:26 UTC 2022 - Dirk Müller
+
+- update to v21.12:
+ * Python
+ * Fix broken enum ranges (#11171)
+ * Stop requiring extension fields to have a sythetic oneof (#11091)
+ * Python runtime 4.21.10 not works generated code can not load valid
+ proto.
+
+-------------------------------------------------------------------
+Thu Dec 8 09:16:25 UTC 2022 - Dirk Müller
+
+- update to 21.11:
+ * Python
+ * Add license file to pypi wheels (#10936)
+ * Fix round-trip bug (#10158)
+
+-------------------------------------------------------------------
+Mon Dec 5 20:51:53 UTC 2022 - Dirk Müller
+
+- update to 21.10:
+ * Java
+ * Use bit-field int values in buildPartial to skip work on unset groups of
+ fields. (#10960)
+ * Mark nested builder as clean after clear is called (#10984)
+
+-------------------------------------------------------------------
+Sat Oct 29 12:20:55 UTC 2022 - Dirk Müller
+
+- update to 21.9:
+ * Ruby
+ * Replace libc strdup usage with internal impl to restore musl compat (#10818)
+ * Auto capitalize enums name in Ruby (#10454) (#10763)
+ * Other
+ * Fix for grpc.tools #17995 & protobuf #7474 (handle UTF-8 paths in argumentfile) (#10721)
+ * C++
+ * 21.x No longer define no_threadlocal on OpenBSD (#10743)
+ * Java
+ * Mark default instance as immutable first to avoid race during static initialization of default instances (#10771)
+ * Refactoring java full runtime to reuse sub-message builders and prepare to
+ migrate parsing logic from parse constructor to builder.
+ * Move proto wireformat parsing functionality from the private "parsing
+ constructor" to the Builder class.
+ * Change the Lite runtime to prefer merging from the wireformat into mutable
+ messages rather than building up a new immutable object before merging. This
+ way results in fewer allocations and copy operations.
+ * Make message-type extensions merge from wire-format instead of building up
+ instances and merging afterwards. This has much better performance.
+ * Fix TextFormat parser to build up recurring (but supposedly not repeated)
+ sub-messages directly from text rather than building a new sub-message and
+ merging the fully formed message into the existing field.
+
+-------------------------------------------------------------------
+Mon Sep 19 07:27:02 UTC 2022 - Dirk Müller
+
+- update to 21.6:
+ C++:
+ * Reduce memory consumption of MessageSet parsing
+
+-------------------------------------------------------------------
+Wed Aug 17 19:33:06 UTC 2022 - Dirk Müller
+
+- update to 21.5:
+ PHP
+ * Added getContainingOneof and getRealContainingOneof to descriptor.
+ * fix PHP readonly legacy files for nested messages
+ Python
+ * Fixed comparison of maps in Python.
+
+-------------------------------------------------------------------
+Thu Aug 4 20:50:38 UTC 2022 - Dirk Müller
+
+- add 10355.patch to fix soversioning
+
+-------------------------------------------------------------------
+Thu Jul 28 19:47:05 UTC 2022 - Dirk Müller
+
+- update to 21.4:
+ * Reduce the required alignment of ArenaString from 8 to 4
+
+-------------------------------------------------------------------
+Mon Jul 25 07:11:14 UTC 2022 - Dirk Müller
+
+- update to 21.3:
+ * C++
+ * Add header search paths to Protobuf-C++.podspec (#10024)
+ * Fixed Visual Studio constinit errors (#10232)
+ * Fix #9947: make the ABI compatible between debug and non-debug builds (#10271)
+ * UPB
+ * Allow empty package names (fixes behavior regression in 4.21.0)
+ * Fix a SEGV bug when comparing a non-materialized sub-message (#10208)
+ * Fix several bugs in descriptor mapping containers (eg. descriptor.services_by_name)
+ * for x in mapping now yields keys rather than values, to match Python
+ conventions and the behavior of the old library.
+ * Lookup operations now correctly reject unhashable types as map keys.
+ * We implement repr() to use the same format as dict.
+ * Fix maps to use the ScalarMapContainer class when appropriate
+ * Fix bug when parsing an unknown value in a proto2 enum extension (protocolbuffers/upb#717)
+ * PHP
+ * Add "readonly" as a keyword for PHP and add previous classnames to descriptor pool (#10041)
+ * Python
+ * Make //:protobuf_python and //:well_known_types_py_pb2 public (#10118)
+ * Bazel
+ * Add back a filegroup for :well_known_protos (#10061)
+
+-------------------------------------------------------------------
+Sun Jul 3 07:50:16 UTC 2022 - Paolo Stivanin
+
+- Update to 21.2:
+- C++
+ - cmake: Call get_filename_component() with DIRECTORY mode instead of PATH mode (#9614)
+ - Escape GetObject macro inside protoc-generated code (#9739)
+ - Update CMake configuration to add a dependency on Abseil (#9793)
+ - Fix cmake install targets (#9822)
+ - Use __constinit only in GCC 12.2 and up (#9936)
+- Java
+ - Update protobuf_version.bzl to separate protoc and per-language java … (#9900)
+- Python
+ - Increment python major version to 4 in version.json for python upb (#9926)
+ - The C extension module for Python has been rewritten to use the upb library.
+ - This is expected to deliver significant performance benefits, especially when
+ parsing large payloads. There are some minor breaking changes, but these
+ should not impact most users. For more information see:
+ https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
+- PHP
+ - [PHP] fix PHP build system (#9571)
+ - Fix building packaged PHP extension (#9727)
+ - fix: reserve "ReadOnly" keyword for PHP 8.1 and add compatibility (#9633)
+ - fix: phpdoc syntax for repeatedfield parameters (#9784)
+ - fix: phpdoc for repeatedfield (#9783)
+ - Change enum string name for reserved words (#9780)
+ - chore: [PHP] fix phpdoc for MapField keys (#9536)
+ - Fixed PHP SEGV by not writing to shared memory for zend_class_entry. (#9996)
+- Ruby
+ - Allow pre-compiled binaries for ruby 3.1.0 (#9566)
+ - Implement respond_to? in RubyMessage (#9677)
+ - [Ruby] Fix RepeatedField#last, #first inconsistencies (#9722)
+ - Do not use range based UTF-8 validation in truffleruby (#9769)
+ - Improve range handling logic of RepeatedField (#9799)
+- Other
+ - Fix invalid dependency manifest when using descriptor_set_out (#9647)
+ - Remove duplicate java generated code (#9909)
+
+-------------------------------------------------------------------
+Wed May 11 14:13:04 UTC 2022 - Fridrich Strba
+
+- Do not use %%autosetup, but %%setup and %%patch on other line
+ * Allows building on SLE-12-SP5
+
+-------------------------------------------------------------------
+Thu May 5 10:54:05 UTC 2022 - Martin Liška
+
+- Add temporary patch gcc12-disable-__constinit-with-c++-11.patch
+ that addresses gh#protocolbuffers/protobuf#9916.
+
+-------------------------------------------------------------------
+Thu May 5 05:25:44 UTC 2022 - Matej Cepl
+
+- Remove change_desc_db.patch, because underlying bug in
+ gh#googleapis/python-api-core#372 has been fixed.
+
+-------------------------------------------------------------------
+Mon Apr 25 13:01:22 UTC 2022 - Matej Cepl
+
+- Update to 3.20.1:
+ - PHP
+ - Fix building packaged PHP extension (#9727)
+ - Fixed composer.json to only advertise compatibility with
+ PHP 7.0+. (#9819)
+ - Ruby
+ - Disable the aarch64 build on macOS until it can be fixed. (#9816)
+ - Other
+ - Fix versioning issues in 3.20.0
+- Update to 3.20.1:
+ - Ruby
+ - Dropped Ruby 2.3 and 2.4 support for CI and releases.
+ (#9311)
+ - Added Ruby 3.1 support for CI and releases (#9566).
+ - Message.decode/encode: Add recursion_limit option
+ (#9218/#9486)
+ - Allocate with xrealloc()/xfree() so message allocation is
+ visible to the
+ - Ruby GC. In certain tests this leads to much lower memory
+ usage due to more
+ - frequent GC runs (#9586).
+ - Fix conversion of singleton classes in Ruby (#9342)
+ - Suppress warning for intentional circular require (#9556)
+ - JSON will now output shorter strings for double and float
+ fields when possible
+ - without losing precision.
+ - Encoding and decoding of binary format will now work
+ properly on big-endian
+ - systems.
+ - UTF-8 verification was fixed to properly reject surrogate
+ code points.
+ - Unknown enums for proto2 protos now properly implement
+ proto2's behavior of
+ - putting such values in unknown fields.
+ - Java
+ - Revert "Standardize on Array copyOf" (#9400)
+ - Resolve more java field accessor name conflicts (#8198)
+ - Fix parseFrom to only throw InvalidProtocolBufferException
+ - InvalidProtocolBufferException now allows arbitrary wrapped
+ Exception types.
+ - Fix bug in FieldSet.Builder.mergeFrom
+ - Flush CodedOutputStream also flushes underlying
+ OutputStream
+ - When oneof case is the same and the field type is Message,
+ merge the
+ - subfield. (previously it was replaced.)’
+ - Add @CheckReturnValue to some protobuf types
+ - Report original exceptions when parsing JSON
+ - Add more info to @deprecated javadoc for set/get/has
+ methods
+ - Fix initialization bug in doc comment line numbers
+ - Fix comments for message set wire format.
+ - Kotlin
+ - Add test scope to kotlin-test for protobuf-kotlin-lite
+ (#9518)
+ - Add orNull extensions for optional message fields.
+ - Add orNull extensions to all proto3 message fields.
+ - Python
+ - Dropped support for Python < 3.7 (#9480)
+ - Protoc is now able to generate python stubs (.pyi) with
+ --pyi_out
+ - Pin multibuild scripts to get manylinux1 wheels back
+ (#9216)
+ - Fix type annotations of some Duration and Timestamp
+ methods.
+ - Repeated field containers are now generic in field types
+ and could be used in type annotations.
+ - Protobuf python generated codes are simplified. Descriptors
+ and message classes' definitions are now dynamic created in
+ internal/builder.py.
+ - Insertion Points for messages classes are discarded.
+ - has_presence is added for FieldDescriptor in python
+ - Loosen indexing type requirements to allow valid index()
+ implementations rather than only PyLongObjects.
+ - Fix the deepcopy bug caused by not copying
+ message_listener.
+ - Added python JSON parse recursion limit (default 100)
+ - Path info is added for python JSON parse errors
+ - Pure python repeated scalar fields will not able to pickle.
+ Convert to list first.
+ - Timestamp.ToDatetime() now accepts an optional tzinfo
+ parameter. If specified, the function returns
+ a timezone-aware datetime in the given time zone. If
+ omitted or None, the function returns a timezone-naive UTC
+ datetime (as previously).
+ - Adds client_streaming and server_streaming fields to
+ MethodDescriptor.
+ - Add "ensure_ascii" parameter to json_format.MessageToJson.
+ This allows smaller JSON serializations with UTF-8 or other
+ non-ASCII encodings.
+ - Added experimental support for directly assigning numpy
+ scalars and array.
+ - Improve the calculation of public_dependencies in
+ DescriptorPool.
+ - [Breaking Change] Disallow setting fields to numpy
+ singleton arrays or repeated fields to numpy
+ multi-dimensional arrays. Numpy arrays should be indexed or
+ flattened explicitly before assignment.
+ - Compiler
+ - Migrate IsDefault(const std::string*) and
+ UnsafeSetDefault(const std::string*)
+ - Implement strong qualified tags for TaggedPtr
+ - Rework allocations to power-of-two byte sizes.
+ - Migrate IsDefault(const std::string*) and
+ UnsafeSetDefault(const std::string*)
+ - Implement strong qualified tags for TaggedPtr
+ - Make TaggedPtr Set...() calls explicitly spell out the
+ content type.
+ - Check for parsing error before verifying UTF8.
+ - Enforce a maximum message nesting limit of 32 in the
+ descriptor builder to
+ - guard against stack overflows
+ - Fixed bugs in operators for RepeatedPtrIterator
+ - Assert a maximum map alignment for allocated values
+ - Fix proto1 group extension protodb parsing error
+ - Do not log/report the same descriptor symbol multiple
+ times if it contains
+ - more than one invalid character.
+ - Add UnknownFieldSet::SerializeToString and
+ SerializeToCodedStream.
+ - Remove explicit default pointers and deprecated API from
+ protocol compiler
+ - Arenas
+ - Change Repeated*Field to reuse memory when using arenas.
+ - Implements pbarenaz for profiling proto arenas
+ - Introduce CreateString() and CreateArenaString() for
+ cleaner semantics
+ - Fix unreferenced parameter for MSVC builds
+ - Add UnsafeSetAllocated to be used for one-of string
+ fields.
+ - Make Arena::AllocateAligned() a public function.
+ - Determine if ArenaDtor related code generation is
+ necessary in one place.
+ - Implement on demand register ArenaDtor for
+ InlinedStringField
+ - C++
+ - Enable testing via CTest (#8737)
+ - Add option to use external GTest in CMake (#8736)
+ - CMake: Set correct sonames for libprotobuf-lite.so and
+ libprotoc.so (#8635) (#9529)
+ - Add cmake option protobuf_INSTALL to not install files
+ (#7123)
+ - CMake: Allow custom plugin options e.g. to generate mocks
+ (#9105)
+ - CMake: Use linker version scripts (#9545)
+ - Manually *struct Cord fields to work better with arenas.
+ - Manually destruct map fields.
+ - Generate narrower code
+ - Fix #9378 by removing
+ - shadowed cached_size field
+ - Remove GetPointer() and explicit nullptr defaults.
+ - Add proto_h flag for speeding up large builds
+ - Add missing overload for reference wrapped fields.
+ - Add MergedDescriptorDatabase::FindAllFileNames()
+ - RepeatedField now defines an iterator type instead of
+ using a pointer.
+ - Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and
+ GOOGLE_PROTOBUF_HAS_ARENAS.
+ - PHP
+ - Fix: add missing reserved classnames (#9458)
+ - PHP 8.1 compatibility (#9370)
+ - C#
+ - Fix trim warnings (#9182)
+ - Fixes NullReferenceException when accessing
+ FieldDescriptor.IsPacked (#9430)
+ - Add ToProto() method to all descriptor classes (#9426)
+ - Add an option to preserve proto names in JsonFormatter
+ (#6307)
+ - Objective-C
+ - Add prefix_to_proto_package_mappings_path option. (#9498)
+ - Rename proto_package_to_prefix_mappings_path to
+ package_to_prefix_mappings_path. (#9552)
+ - Add a generation option to control use of forward
+ declarations in headers. (#9568)
+- Add change_desc_db.patch to fix
+ gh#googleapis/python-api-core#372 and
+ gh#protocolbuffers/protobuf#9867
+
+-------------------------------------------------------------------
+Wed Mar 16 16:39:10 UTC 2022 - Bruno Pitrus
+
+- Change Requires: zlib-devel to pkgconfig(zlib) so as not to conflict with libz-ng-compat1.
+
+-------------------------------------------------------------------
+Fri Jan 28 20:38:41 UTC 2022 - Dirk Müller
+
+- update to 3.19.4:
+ Python:
+ * Make libprotobuf symbols local on OSX to fix issue #9395 (#9435)
+ Ruby:
+ * Fixed a data loss bug that could occur when the number of optional fields
+ in a message is an exact multiple of 32
+ PHP:
+ * Fixed a data loss bug that could occur when the number of optional fields
+ in a message is an exact multiple of 32.
+
+-------------------------------------------------------------------
+Mon Jan 24 13:08:10 UTC 2022 - Paolo Stivanin
+
+- Update to 3.19.3:
+ C++:
+ * Make proto2::Message::DiscardUnknownFields() non-virtual
+ * Separate RepeatedPtrField into its own header file
+ * For default floating point values of 0, consider all bits significant
+ * Fix shadowing warnings
+ * Fix for issue #8484, constant initialization doesn't compile in msvc clang-cl environment
+ Java:
+ * Improve performance characteristics of UnknownFieldSet parsing
+ * For default floating point values of 0, consider all bits significant
+ * Annotate //java/com/google/protobuf/util/... with nullness annotations
+ * Use ArrayList copy constructor
+ Bazel:
+ * Ensure that release archives contain everything needed for Bazel
+ * Align dependency handling with Bazel best practices
+ Javascript:
+ * Fix ReferenceError: window is not defined when getting the global object
+ Ruby:
+ * Fix memory leak in MessageClass.encode
+ * Override Map.clone to use Map's dup method
+ * Ruby: build extensions for arm64-darwin
+ * Add class method Timestamp.from_time to ruby well known types
+ * Adopt pure ruby DSL implementation for JRuby
+ * Add size to Map class
+ * Fix for descriptor_pb.rb: google/protobuf should be required first
+ Python:
+ * Proto2 DecodeError now includes message name in error message
+ * Make MessageToDict convert map keys to strings
+ * Add python-requires in setup.py
+ * Add python 3.10
+
+-------------------------------------------------------------------
+Wed Jul 28 08:00:56 UTC 2021 - Fridrich Strba
+
+- Remove two build requires that are not needed
+
+-------------------------------------------------------------------
+Thu Jun 24 08:53:14 UTC 2021 - Paolo Stivanin
+
+- Update to 3.17.3:
+ C++
+ * Introduce FieldAccessListener.
+ * Stop emitting boilerplate {Copy/Merge}From in each ProtoBuf class
+ * Provide stable versions of SortAndUnique().
+ * Make sure to cache proto3 optional message fields when they are cleared.
+ * Expose UnsafeArena methods to Reflection.
+ * Use std::string::empty() rather than std::string::size() > 0.
+ * [Protoc] C++ Resolved an issue where NO_DESTROY and CONSTINIT are in incorrect order (#8296)
+ * Fix PROTOBUF_CONSTINIT macro redefinition (#8323)
+ * Delete StringPiecePod (#8353)
+ * Create a CMake option to control whether or not RTTI is enabled (#8347)
+ * Make util::Status more similar to absl::Status (#8405)
+ * The ::pb namespace is no longer exposed due to conflicts.
+ * Allow MessageDifferencer::TreatAsSet() (and friends) to override previous
+ calls instead of crashing.
+ * Reduce the size of generated proto headers for protos with string or
+ bytes fields.
+ * Move arena() operation on uncommon path to out-of-line routine
+ * For iterator-pair function parameter types, take both iterators by value.
+ * Code-space savings and perhaps some modest performance improvements in
+ * RepeatedPtrField.
+ * Eliminate nullptr check from every tag parse.
+ * Remove unused _$name$cached_byte_size fields.
+ * Serialize extension ranges together when not broken by a proto field in the
+ middle.
+ * Do out-of-line allocation and deallocation of string object in ArenaString.
+ * Streamline ParseContext::ParseMessage to avoid code bloat and improve
+ performance.
+ * New member functions RepeatedField::Assign, RepeatedPtrField::{Add, Assign}.
+ on an error path.
+ * util::DefaultFieldComparator will be final in a future version of protobuf.
+ * Subclasses should inherit from SimpleFieldComparator instead.
+ Kotlin
+ * Introduce support for Kotlin protos (#8272)
+ * Restrict extension setter and getter operators to non-nullable T.
+ Java
+ * Fixed parser to check that we are at a proper limit when a sub-message has
+ finished parsing.
+ * updating GSON and Guava to more recent versions (#8524)
+ * Reduce the time spent evaluating isExtensionNumber by storing the extension
+ ranges in a TreeMap for faster queries. This is particularly relevant for
+ protos which define a large number of extension ranges, for example when
+ each tag is defined as an extension.
+ * Fix java bytecode estimation logic for optional fields.
+ * Optimize Descriptor.isExtensionNumber.
+ * deps: update JUnit and Truth (#8319)
+ * Detect invalid overflow of byteLimit and return InvalidProtocolBufferException as documented.
+ * Exceptions thrown while reading from an InputStream in parseFrom are now
+ included as causes.
+ * Support potentially more efficient proto parsing from RopeByteStrings.
+ * Clarify runtime of ByteString.Output.toStringBuffer().
+ * Added UnsafeByteOperations to protobuf-lite (#8426)
+ Python
+ * Add MethodDescriptor.CopyToProto() (#8327)
+ * Remove unused python_protobuf.{cc,h} (#8513)
+ * Start publishing python aarch64 manylinux wheels normally (#8530)
+ * Fix constness issue detected by MSVC standard conforming mode (#8568)
+ * Make JSON parsing match C++ and Java when multiple fields from the same
+ oneof are present and all but one is null.
+ * Fix some constness / char literal issues being found by MSVC standard conforming mode (#8344)
+ * Switch on "new" buffer API (#8339)
+ * Enable crosscompiling aarch64 python wheels under dockcross manylinux docker image (#8280)
+ * Fixed a bug in text format where a trailing colon was printed for repeated field.
+ * When TextFormat encounters a duplicate message map key, replace the current
+ one instead of merging.
+ Ruby
+ * Add support for proto3 json_name in compiler and field definitions (#8356)
+ * Fixed memory leak of Ruby arena objects. (#8461)
+ * Fix source gem compilation (#8471)
+ * Fix various exceptions in Ruby on 64-bit Windows (#8563)
+ * Fix crash when calculating Message hash values on 64-bit Windows (#8565)
+ General
+ * Support M1 (#8557)
+
+-------------------------------------------------------------------
+Sun Apr 18 08:32:46 UTC 2021 - Matej Cepl
+
+- Update to 3.15.8:
+ - Fixed memory leak of Ruby arena objects (#8461)
+
+-------------------------------------------------------------------
+Tue Apr 6 01:47:17 UTC 2021 - Dirk Müller
+
+- update to 3.15.7:
+ C++
+ * Remove the ::pb namespace (alias) (#8423)
+ Ruby
+ * Fix unbounded memory growth for Ruby <2.7 (#8429)
+ * Fixed message equality in cases where the message type is different (#8434)
+
+-------------------------------------------------------------------
+Thu Mar 25 16:27:58 UTC 2021 - Ben Greiner
+
+- Can't assume non-existence of python38 macros in Leap.
+ gh#openSUSE/python-rpm-macros#107
+ Test for suse_version instead. Only Tumbleweed has and needs the
+ python_subpackage_only support.
+
+-------------------------------------------------------------------
+Tue Mar 16 00:19:18 UTC 2021 - Dirk Müller
+
+- update to 3.15.6:
+ Ruby
+ * Fixed bug in string comparison logic (#8386)
+ * Fixed quadratic memory use in array append (#8379)
+ * Fixed SEGV when users pass nil messages (#8363)
+ * Fixed quadratic memory usage when appending to arrays (#8364)
+ * Ruby <2.7 now uses WeakMap too, which prevents memory leaks. (#8341)
+ * Fix for FieldDescriptor.get(msg) (#8330)
+ * Bugfix for Message.[] for repeated or map fields (#8313)
+ PHP
+ * read_property() handler is not supposed to return NULL (#8362)
+ Protocol Compiler
+ * Optional fields for proto3 are enabled by default, and no longer require
+ the --experimental_allow_proto3_optional flag.
+ C++
+ * Do not disable RTTI by default in the CMake build (#8377)
+ * Create a CMake option to control whether or not RTTI is enabled (#8361)
+ * Fix PROTOBUF_CONSTINIT macro redefinition (#8323)
+
+ * MessageDifferencer: fixed bug when using custom ignore with multiple
+ unknown fields
+ * Use init_seg in MSVC to push initialization to an earlier phase.
+ * Runtime no longer triggers -Wsign-compare warnings.
+ * Fixed -Wtautological-constant-out-of-range-compare warning.
+ * DynamicCastToGenerated works for nullptr input for even if RTTI is disabled
+ * Arena is refactored and optimized.
+ * Clarified/specified that the exact value of Arena::SpaceAllocated() is an
+ implementation detail users must not rely on. It should not be used in
+ unit tests.
+ * Change the signature of Any::PackFrom() to return false on error.
+ * Add fast reflection getter API for strings.
+ * Constant initialize the global message instances
+ * Avoid potential for missed wakeup in UnknownFieldSet
+ * Now Proto3 Oneof fields have "has" methods for checking their presence in
+ C++.
+ * Bugfix for NVCC
+ * Return early in _InternalSerialize for empty maps.
+ * Adding functionality for outputting map key values in proto path logging
+ output (does not affect comparison logic) and stop printing 'value' in the
+ path. The modified print functionality is in the
+ MessageDifferencer::StreamReporter.
+ * Fixed https://github.com/protocolbuffers/protobuf/issues/8129
+ * Ensure that null char symbol, package and file names do not result in a
+ crash.
+ * Constant initialize the global message instances
+ * Pretty print 'max' instead of numeric values in reserved ranges.
+ * Removed remaining instances of std::is_pod, which is deprecated in C++20.
+ * Changes to reduce code size for unknown field handling by making uncommon
+ cases out of line.
+ * Fix std::is_pod deprecated in C++20 (#7180)
+ * Fix some -Wunused-parameter warnings (#8053)
+ * Fix detecting file as directory on zOS issue #8051 (#8052)
+ * Don't include sys/param.h for _BYTE_ORDER (#8106)
+ * remove CMAKE_THREAD_LIBS_INIT from pkgconfig CFLAGS (#8154)
+ * Fix TextFormatMapTest.DynamicMessage issue#5136 (#8159)
+ * Fix for compiler warning issue#8145 (#8160)
+ * fix: support deprecated enums for GCC < 6 (#8164)
+ * Fix some warning when compiling with Visual Studio 2019 on x64 target (#8125)
+
+ Python
+ * Provided an override for the reverse() method that will reverse the internal
+ collection directly instead of using the other methods of the BaseContainer.
+ * MessageFactory.CreateProtoype can be overridden to customize class creation.
+ * Fix PyUnknownFields memory leak (#7928)
+ * Add macOS big sur compatibility (#8126)
+
+ JavaScript
+ * Generate `getDescriptor` methods with `*` as their `this` type.
+ * Enforce `let/const` for generated messages.
+ * js/binary/utils.js: Fix jspb.utils.joinUnsignedDecimalString to work with
+ negative bitsLow and low but non-zero bitsHigh parameter. (#8170)
+
+ PHP
+ * Added support for PHP 8. (#8105)
+ * unregister INI entries and fix invalid read on shutdown (#8042)
+ * Fix PhpDoc comments for message accessors to include "|null". (#8136)
+ * fix: convert native PHP floats to single precision (#8187)
+ * Fixed PHP to support field numbers >=2**28. (#8235)
+ * feat: add support for deprecated fields to PHP compiler (#8223)
+ * Protect against stack overflow if the user derives from Message. (#8248)
+ * Fixed clone for Message, RepeatedField, and MapField. (#8245)
+ * Updated upb to allow nonzero offset minutes in JSON timestamps. (#8258)
+
+ Ruby
+ * Added support for Ruby 3. (#8184)
+ * Rewrote the data storage layer to be based on upb_msg objects from the
+ upb library. This should lead to much better parsing performance,
+ particularly for large messages. (#8184).
+ * Fill out JRuby support (#7923)
+ * [Ruby] Fix: (SIGSEGV) gRPC-Ruby issue on Windows. memory alloc infinite
+ recursion/run out of memory (#8195)
+ * Fix jruby support to handle messages nested more than 1 level deep (#8194)
+ Java
+ * Avoid possible UnsupportedOperationException when using CodedInputSteam
+ with a direct ByteBuffer.
+ * Make Durations.comparator() and Timestamps.comparator() Serializable.
+ * Add more detailed error information for dynamic message field type
+ validation failure
+ * Removed declarations of functions declared in java_names.h from
+ java_helpers.h.
+ * Now Proto3 Oneof fields have "has" methods for checking their presence in
+ Java.
+ * Annotates Java proto generated *_FIELD_NUMBER constants.
+ * Add -assumevalues to remove JvmMemoryAccessor on Android.
+ C#
+ * Fix parsing negative Int32Value that crosses segment boundary (#8035)
+ * Change ByteString to use memory and support unsafe create without copy (#7645)
+ * Optimize MapField serialization by removing MessageAdapter (#8143)
+ * Allow FileDescriptors to be parsed with extension registries (#8220)
+ * Optimize writing small strings (#8149)
+
+-------------------------------------------------------------------
+Sun Nov 22 00:56:06 UTC 2020 - John Vandenberg
+
+- Updated URL to https://github.com/protocolbuffers/protobuf
+- Update to v3.14.0
+
+ Protocol Compiler
+ * The proto compiler no longer requires a .proto filename when it is not
+ generating code.
+ * Added flag `--deterministic_output` to `protoc --encode=...`.
+ * Fixed deadlock when using google.protobuf.Any embedded in aggregate options.
+
+ C++
+ * Arenas are now unconditionally enabled. cc_enable_arenas no longer has
+ any effect.
+ * Removed inlined string support, which is incompatible with arenas.
+ * Fix a memory corruption bug in reflection when mixing optional and
+ non-optional fields.
+ * Make SpaceUsed() calculation more thorough for map fields.
+ * Add stack overflow protection for text format with unknown field values.
+ * FieldPath::FollowAll() now returns a bool to signal if an out-of-bounds
+ error was encountered.
+ * Performance improvements for Map.
+ * Minor formatting fix when dumping a descriptor to .proto format with
+ DebugString.
+ * UBSAN fix in RepeatedField
+ * When running under ASAN, skip a test that makes huge allocations.
+ * Fixed a crash that could happen when creating more than 256 extensions in
+ a single message.
+ * Fix a crash in BuildFile when passing in invalid descriptor proto.
+ * Parser security fix when operating with CodedInputStream.
+ * Warn against the use of AllowUnknownExtension.
+ * Migrated to C++11 for-range loops instead of index-based loops where
+ possible. This fixes a lot of warnings when compiling with -Wsign-compare.
+ * Fix segment fault for proto3 optional
+ * Adds a CMake option to build `libprotoc` separately
+
+ Java
+ * Bugfix in mergeFrom() when a oneof has multiple message fields.
+ * Fix RopeByteString.RopeInputStream.read() returning -1 when told to read
+ 0 bytes when not at EOF.
+ * Redefine remove(Object) on primitive repeated field Lists to avoid
+ autoboxing.
+ * Support "\u" escapes in textformat string literals.
+ * Trailing empty spaces are no longer ignored for FieldMask.
+ * Fix FieldMaskUtil.subtract to recursively remove mask.
+ * Mark enums with `@java.lang.Deprecated` if the proto enum has option
+ `deprecated = true;`.
+ * Adding forgotten duration.proto to the lite library
+
+ Python
+ * Print google.protobuf.NullValue as null instead of "NULL_VALUE" when it is
+ used outside WKT Value/Struct.
+ * Fix bug occurring when attempting to deep copy an enum type in python 3.
+ * Add a setuptools extension for generating Python protobufs
+ * Remove uses of pkg_resources in non-namespace packages
+ * [bazel/py] Omit google/__init__.py from the Protobuf runtime
+ * Removed the unnecessary setuptools package dependency for Python package
+ * Fix PyUnknownFields memory leak
+
+ PHP
+ * Added support for "==" to the PHP C extension
+ * Added `==` operators for Map and Array
+ * Native C well-known types
+ * Optimized away hex2bin() call in generated code
+ * New version of upb, and a new hash function wyhash in third_party
+ * add missing hasOneof method to check presence of oneof fields
+
+ Go:
+ * Update go_package options to reference google.golang.org/protobuf module.
+
+ C#:
+ * annotate ByteString.CopyFrom(ReadOnlySpan) as SecuritySafeCritical
+ * Fix C# optional field reflection when there are regular fields too
+ * Fix parsing negative Int32Value that crosses segment boundary
+
+ Javascript:
+ * JS: parse (un)packed fields conditionally
+
+- from version 3.13.0
+
+ PHP:
+ * The C extension is completely rewritten. The new C extension has significantly
+ better parsing performance and fixes a handful of conformance issues. It will
+ also make it easier to add support for more features like proto2 and proto3 presence.
+ * The new C extension does not support PHP 5.x. PHP 5.x users can still use pure-PHP.
+
+ C++:
+ * Removed deprecated unsafe arena string accessors
+ * Enabled heterogeneous lookup for std::string keys in maps.
+ * Removed implicit conversion from StringPiece to std::string
+ * Fix use-after-destroy bug when the Map is allocated in the arena.
+ * Improved the randomness of map ordering
+ * Added stack overflow protection for text format with unknown fields
+ * Use std::hash for proto maps to help with portability.
+ * Added more Windows macros to proto whitelist.
+ * Arena constructors for map entry messages are now marked "explicit"
+ (for regular messages they were already explicit).
+ * Fix subtle aliasing bug in RepeatedField::Add
+ * Fix mismatch between MapEntry ByteSize and Serialize with respect to unset
+ fields.
+
+ Python:
+ * JSON format conformance fixes:
+ * Reject lowercase t for Timestamp json format.
+ * Print full_name directly for extensions (no camelCase).
+ * Reject boolean values for integer fields.
+ * Reject NaN, Infinity, -Infinity that is not quoted.
+ * Base64 fixes for bytes fields: accept URL-safe base64 and missing padding.
+ * Bugfix for fields/files named "async" or "await".
+ * Improved the error message when AttributeError is returned from __getattr__
+ in EnumTypeWrapper.
+
+ Java:
+ * Fixed a bug where setting optional proto3 enums with setFooValue() would
+ not mark the value as present.
+ * Add Subtract function to FieldMaskUtil.
+
+ C#:
+ * Dropped support for netstandard1.0 (replaced by support for netstandard1.1).
+ This was required to modernize the parsing stack to use the `Span`
+ type internally
+ * Add `ParseFrom(ReadOnlySequence)` method to enable GC friendly
+ parsing with reduced allocations and buffer copies
+ * Add support for serialization directly to a `IBufferWriter` or
+ to a `Span` to enable GC friendly serialization.
+ The new API is available as extension methods on the `IMessage` type
+ * Add `GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE` define to make
+ generated code compatible with old C# compilers (pre-roslyn compilers
+ from .NET framework and old versions of mono) that do not support
+ ref structs. Users that are still on a legacy stack that does
+ not support C# 7.2 compiler might need to use the new define
+ in their projects to be able to build the newly generated code
+ * Due to the major overhaul of parsing and serialization internals,
+ it is recommended to regenerate your generated code to achieve the best
+ performance (the legacy generated code will still work, but might incur
+ a slight performance penalty).
+
+-------------------------------------------------------------------
+Sun Nov 22 00:21:40 UTC 2020 - Benjamin Greiner
+
+- Fix the python subpackage generation
+ gh#openSUSE/python-rpm-macros#79
+
+-------------------------------------------------------------------
+Sat Nov 14 23:33:17 UTC 2020 - Benjamin Greiner
+
+- Support multiple python3 flavors gh#openSUSE/python-rpm-macros#66
+
+-------------------------------------------------------------------
+Tue Jun 30 08:48:59 UTC 2020 - marec
+
+- Update to version 3.12.3; notable changes since 3.11.4:
+
+ Protocol Compiler
+ * [experimental] Singular, non-message typed fields in proto3 now support
+ presence tracking. This is enabled by adding the "optional" field label and
+ passing the --experimental_allow_proto3_optional flag to protoc.
+ * For usage info, see docs/field_presence.md.
+ * During this experimental phase, code generators should update to support
+ proto3 presence, see docs/implementing_proto3_presence.md for instructions.
+ * Allow duplicate symbol names when multiple descriptor sets are passed on
+ the command-line, to match the behavior when multiple .proto files are passed.
+ * Deterministic `protoc --descriptor_set_out` (#7175)
+
+ Objective-C
+ * Tweak the union used for Extensions to support old generated code. #7573
+ * Fix for the :protobuf_objc target in the Bazel BUILD file. (#7538)
+ * [experimental] ObjC Proto3 optional support (#7421)
+ * Block subclassing of generated classes (#7124)
+ * Use references to Obj C classes instead of names in descriptors. (#7026)
+ * Revisit how the WKTs are bundled with ObjC. (#7173)
+
+ C++
+ * Simplified the template export macros to fix the build for mingw32. (#7539)
+ * [experimental] Added proto3 presence support.
+ * New descriptor APIs to support proto3 presence.
+ * Enable Arenas by default on all .proto files.
+ * Documented that users are not allowed to subclass Message or MessageLite.
+ * Mark generated classes as final; inheriting from protos is strongly discouraged.
+ * Add stack overflow protection for text format with unknown fields.
+ * Add accessors for map key and value FieldDescriptors.
+ * Add FieldMaskUtil::FromFieldNumbers().
+ * MessageDifferencer: use ParsePartial() on Any fields so the diff does not
+ fail when there are missing required fields.
+ * ReflectionOps::Merge(): lookup messages in the right factory, if it can.
+ * Added Descriptor::WellKnownTypes enum and Descriptor::well_known_type()
+ accessor as an easier way of determining if a message is a Well-Known Type.
+ * Optimized RepeatedField::Add() when it is used in a loop.
+ * Made proto move/swap more efficient.
+ * De-virtualize the GetArena() method in MessageLite.
+ * Improves performance of json_stream_parser.cc by factor 1000 (#7230)
+ * bug: #7076 undefine Windows OUT and OPTIONAL macros (#7087)
+ * Fixed a bug in FieldDescriptor::DebugString() that would erroneously print
+ an "optional" label for a field in a oneof.
+ * Fix bug in parsing bool extensions that assumed they are always 1 byte.
+ * Fix off-by-one error in FieldOptions::ByteSize() when extensions are present.
+ * Clarified the comments to show an example of the difference between
+ Descriptor::extension and DescriptorPool::FindAllExtensions.
+ * Add a compiler option 'code_size' to force optimize_for=code_size on all
+ protos where this is possible.
+
+ Ruby
+ * Re-add binary gems for Ruby 2.3 and 2.4. These are EOL upstream, however
+ many people still use them and dropping support will require more
+ coordination.
+ * [experimental] Implemented proto3 presence for Ruby. (#7406)
+ * Stop building binary gems for ruby <2.5 (#7453)
+ * Fix for wrappers with a zero value (#7195)
+ * Fix for JSON serialization of 0/empty-valued wrapper types (#7198)
+ * Call "Class#new" over rb_class_new_instance in decoding (#7352)
+ * Build extensions for Ruby 2.7 (#7027)
+ * assigning 'nil' to submessage should clear the field. (#7397)
+
+ Java
+ * [experimental] Added proto3 presence support.
+ * Mark java enum _VALUE constants as @Deprecated if the enum field is deprecated
+ * reduce size for enums with allow_alias set to true.
+ * Sort map fields alphabetically by the field's key when printing textproto.
+ * Fixed a bug in map sorting that appeared in -rc1 and -rc2 (#7508).
+ * TextFormat.merge() handles Any as top level type.
+ * Throw a descriptive IllegalArgumentException when calling
+ getValueDescriptor() on enum special value UNRECOGNIZED instead of
+ ArrayIndexOutOfBoundsException.
+ * Fixed an issue with JsonFormat.printer() where setting printingEnumsAsInts()
+ would override the configuration passed into includingDefaultValueFields().
+ * Implement overrides of indexOf() and contains() on primitive lists returned
+ for repeated fields to avoid autoboxing the list contents.
+ * Add overload to FieldMaskUtil.fromStringList that accepts a descriptor.
+ * [bazel] Move Java runtime/toolchains into //java (#7190)
+
+ Python
+ * [experimental] Added proto3 presence support.
+ * [experimental] fast import protobuf module, only works with cpp generated code linked in.
+ * Truncate 'float' fields to 4 bytes of precision in setters for pure-Python
+ implementation (C++ extension was already doing this).
+ * Fixed a memory leak in C++ bindings.
+ * Added a deprecation warning when code tries to create Descriptor objects
+ directly.
+ * Fix unintended comparison between bytes and string in descriptor.py.
+ * Avoid printing excess digits for float fields in TextFormat.
+ * Remove Python 2.5 syntax compatibility from the proto compiler generated _pb2.py module code.
+ * Drop 3.3, 3.4 and use single version docker images for all python tests (#7396)
+
+ JavaScript
+ * Fix js message pivot selection (#6813)
+
+ PHP
+ * Persistent Descriptor Pool (#6899)
+ * Implement lazy loading of php class for proto messages (#6911)
+ * Correct @return in Any.unpack docblock (#7089)
+ * Ignore unknown enum value when ignore_unknown specified (#7455)
+
+ C#
+ * [experimental] Add support for proto3 presence fields in C# (#7382)
+ * Mark GetOption API as obsolete and expose the "GetOptions()" method on descriptors instead (#7491)
+ * Remove Has/Clear members for C# message fields in proto2 (#7429)
+ * Enforce recursion depth checking for unknown fields (#7132)
+ * Fix conformance test failures for Google.Protobuf (#6910)
+ * Cleanup various bits of Google.Protobuf (#6674)
+ * Fix latest ArgumentException for C# extensions (#6938)
+ * Remove unnecessary branch from ReadTag (#7289)
+
+ Other
+ * Add a proto_lang_toolchain for javalite (#6882)
+ * [bazel] Update gtest and deprecate //external:{gtest,gtest_main} (#7237)
+ * Add application note for explicit presence tracking. (#7390)
+ * Howto doc for implementing proto3 presence in a code generator. (#7407)
+
+-------------------------------------------------------------------
+Wed Jun 10 15:32:29 UTC 2020 - Rolf Krahl
+
+- Python: Add requirement on python-six
+
+-------------------------------------------------------------------
+Fri Mar 6 10:05:22 UTC 2020 - Nico Kruber
+
+- Update to version 3.11.4; notable changes since 3.9.2:
+ * C++: Make serialization method naming consistent
+ * C++: Moved ShutdownProtobufLibrary() to message_lite.h. For
+ backward compatibility a declaration is still available
+ in stubs/common.h, but users should prefer message_lite.h
+ * C++: Removed non-namespace macro EXPECT_OK()
+ * C++: Removed mathlimits.h from stubs in favor of using
+ std::numeric_limits from C++11
+ * C++: Support direct pickling of nested messages
+ * C++: Disable extension code gen for C#
+ * C++: Switch the proto parser to the faster MOMI parser
+ * C++: Unused imports of files defining descriptor extensions
+ will now be reported
+ * C++: Add proto2::util::RemoveSubranges to remove multiple
+ subranges in linear time
+ * C++: Support 32 bit values for ProtoStreamObjectWriter to Struct
+ * C++: Removed the internal-only header coded_stream_inl.h and
+ the internal-only methods defined there
+ * C++: Enforced no SWIG wrapping of descriptor_database.h
+ (other headers already had this restriction)
+ * C++: Implementation of the equivalent of the MOMI parser for
+ serialization. This removes one of the two serialization
+ routines, by making the fast array serialization routine
+ completely general. SerializeToCodedStream can now be
+ implemented in terms of the much much faster array
+ serialization. The array serialization regresses slightly,
+ but when array serialization is not possible this wins big
+ * C++: Add move constructor for Reflection's SetString
+ * Java: Remove the usage of MethodHandle, so that Android users
+ prior to API version 26 can use protobuf-java
+ * Java: Publish ProGuard config for javalite
+ * Java: Include unknown fields when merging proto3 messages in
+ Java lite builders
+ * Java: Have oneof enums implement a separate interface (other
+ than EnumLite) for clarity
+ * Java: Opensource Android Memory Accessors
+ * Java: Change ProtobufArrayList to use Object[] instead of
+ ArrayList for 5-10% faster parsing
+ * Java: Make a copy of JsonFormat.TypeRegistry at the protobuf
+ top level package. This will eventually replace
+ JsonFormat.TypeRegistry
+ * Java: Add Automatic-Module-Name entries to the Manifest
+ * Python: Add float_precision option in json format printer
+ * Python: Optionally print bytes fields as messages in unknown
+ fields, if possible
+ * Python: Experimental code gen (fast import protobuf module)
+ which only work with cpp generated code linked in
+ * Python: Add descriptor methods in descriptor_pool are deprecated
+ * Python: Added delitem for Python extension dict
+ * JavaScript: Remove guard for Symbol iterator for jspb.Map
+ * JavaScript: Remove deprecated boolean option to getResultBase64String()
+ * JavaScript: Change the parameter types of binaryReaderFn in
+ ExtensionFieldBinaryInfo to (number, ?, ?)
+ * JavaScript: Create dates.ts and time_of_days.ts to mirror Java
+ versions. This is a near-identical conversion of
+ c.g.type.util.{Dates,TimeOfDays} respectively
+ * JavaScript: Migrate moneys to TypeScript
+ * PHP: Increase php7.4 compatibility
+ * PHP: Implement lazy loading of php class for proto messages
+ * Ruby: Support hashes for struct initializers
+ * C#: Experimental proto2 support is now officially available
+ * C#: Change _Extensions property to normal body rather than expression
+ * Objective C: Remove OSReadLittle* due to alignment requirements
+ * Other: Override CocoaPods module to lowercase
+ * further bugfixes and optimisations
+
+-------------------------------------------------------------------
+Fri Dec 20 09:04:24 UTC 2019 - Martin Pluskal
+
+- Use tarball provided by upstream
+- Small package cleanup
+
+-------------------------------------------------------------------
+Thu Dec 19 12:47:53 UTC 2019 - Madhu Mohan Nelemane
+
+- Updated to version 3.9.2 (bsc#1162343)
+ (Objective-C)
+ * Remove OSReadLittle* due to alignment requirements. (#6678)
+ * Don't use unions and instead use memcpy for the type swaps. (#6672)
+
+-------------------------------------------------------------------
+Fri Sep 27 07:00:11 UTC 2019 - Fridrich Strba
+
+- Package also the protobuf-bom pom file
+
+-------------------------------------------------------------------
+Thu Aug 22 07:12:14 UTC 2019 - Jan Engelhardt
+
+- Update to new upstream release 3.9.1
+ * Optimized the implementation of RepeatedPtrFieldBase.
+ * Added delimited parse and serialize util.
+ * Added FieldDescriptor::PrintableNameForExtension() and
+ DescriptorPool::FindExtensionByPrintableName(). The latter
+ will replace Reflection::FindKnownExtensionByName().
+ * Created a new Add method in repeated field that allows adding
+ a range of elements all at once.
+ * Drop building wheel for Python 3.4.
+
+-------------------------------------------------------------------
+Sat Jun 8 06:13:57 UTC 2019 - Fridrich Strba
+
+- Specify java source and target levels in order to build
+ compatible protobuf-java binaries
+
+-------------------------------------------------------------------
+Wed Jun 5 18:58:30 UTC 2019 - Jan Engelhardt
+
+- Update to new upstream release 3.8.0
+ * Introduced new MOMI (maybe-outside-memory-interval) parser.
+ * Added use of C++ override keyword where appropriate.
+ * Always declare enums to be int-sized.
+ * Append '_' to C++ reserved keywords for message, enum, extension.
+- Remove 0001-remove-PACKAGE_NAME-and-REPOSITORY_NAME-deprecated.patch
+ (upstreamed)
+
+-------------------------------------------------------------------
+Wed Apr 24 17:35:37 UTC 2019 - Martin Liška
+
+- Disable LTO (boo#1133277).
+
+-------------------------------------------------------------------
+Wed Feb 20 12:29:06 UTC 2019 - Michał Rostecki
+
+- Add upstream patch which fixes build with Bazel 0.22.0.
+ * 0001-remove-PACKAGE_NAME-and-REPOSITORY_NAME-deprecated.patch
+
+-------------------------------------------------------------------
+Tue Jan 8 12:35:43 UTC 2019 - Michał Rostecki
+
+- Add protobuf-source package - some programs using gRPC and
+ protobuf need protobuf definitions which are included inside the
+ source code, but are not included in the devel package.
+
+-------------------------------------------------------------------
+Mon Dec 17 10:28:51 UTC 2018 - Fridrich Strba
+
+- Add maven pom files to the protobuf-java package
+
+-------------------------------------------------------------------
+Wed Sep 12 07:24:48 UTC 2018 - Thomas Bechtold
+
+- update to version v3.6.1:
+ * PHP namespaces for nested messages and enums (#4536)
+ * Allows the json marshaller to be passed json marshal options (#4252)
+ * Make sure to delete temporary maps used by FileDescriptorTables
+ * fix python cpp kokoro build
+ * Change C# reflection to avoid using expression trees
+ * Updated checked-in generated code
+ * Removed unused variables in repeated_scalar_container.cc
+ * Removed unused code pertaining to shared_ptr
+ * Include no_package.proto in Python test
+ * Only check filenames when end with .py in _CalledFromGeneratedFile() (#4262)
+ * Convert descriptortype to type for upb_msgval_sizeof (#4357)
+ * Removed duplicate using statement from ReflectionUtil.cs
+ * Add support for power ppc64le
+ * Cat the test-suite.log on errors for presubits
+ * Address review comments
+ * Add third-party RPC implementation: raster - a network framework supports pbrpc by 'service' keyword.
+ * Delete javanano kokoro build configs.
+ * Updated Ruby conformance test failure list
+ * Removed use of some type traits
+ * Adopt php_metadata_namespace in php code generator (#4622)
+ * Move to Xcode 9.3 which also means a High Sierra image.
+ * Add protoc release script for Linux build.
+ * protoc-artifacts: Avoid storing temporary files and use fewer layers
+ * Rewrite go_benchmark
+ * Add files to build ruby artifact for mac on kokoro (#4814)
+ * Remove javanano.
+ * Comment out unused command from release script.
+ * Avoid direct check of class name (#4601)
+ * The JsonParseOptions::ignore_unknown_fields option behavior treats
+ * Fix php memory leak test (#4692)
+ * Fix benchmark build
+ * Add VS2017 optional component dependency details to the C# readme (#4128)
+ * Fix initialization with Visual Studio
+ * For windows, all python version should use /MT (#4468)
+ * use brew install instead of easy_install in OSX (#4537)
+ * Sync upb change (#4373)
+ * Always add -std=c++11 for mac (#4684)
+ * Add kokoro build status badges.
+ * Removed unrecognized option from no_package.proto
+ * Fixed up proto3_lite_unittest.cc
+ * Update Xcode settings
+ * Cleanup LICENSE file.
+ * Remove js_embed binary. (#4709)
+ * Fixed JS parsing of unspecified map keys
+ * Update version number to 3.6.0
+ * Deliberately call simple code to avoid Unity linker pruning
+ * Revert "Move `compiler/plugin.pb.cc` to libprotobuf with the other WKT sources."
+ * protoc-artifacts: Use ENTRYPOINT to enable devtoolset-1.1
+ * MinGW build failed
+ * Support using MSVC intrinsics in Log2FloorNonZero
+ * Fix array constructor in c extension for compatibility (#4667)
+ * Add space between class name and concat message (#4577)
+ * fix python
+ * Add performance.md and add instruction for linking tcmalloc
+ * Add script for run and upload the benchmark result to bq
+ * Add test for failing write of raw pointer to output stream
+ * [objectivec] Fix memory leak of exceptions raised by RaiseException() (#4556)
+ * Remove stray indent on normal imports.
+ * Fix python ext build on kokoro (#4527)
+ * Add compile test sources for to test include order.
+ * Fixed a Visual Studio 2017 build error. (#4488)
+ * fix linux kokoro build in docker
+ * Fixes MSVC compiler warning C4800 "Forcing value to bool 'true' or 'false'" (#4350)
+ * Updated Docker setup to use GCC 4.8
+ * Remove broken build status icons.
+ * Run autogen.sh in release script.
+ * Output *_pb2_grpc.py when use_grpc_plugin=True
+ * Adopt ruby_package in ruby generated code. (#4627)
+ * Cygwin build failed
+ * Work around an "old runtime" issue with reflection
+ * Added Kokoro protoc release build for OS X (#4770)
+ * Updated change log for 3.6.1 release
+ * Move methods out of class (#4697)
+ * Fix to allow AOT compilers to play nicely with reflection
+ * Update Makefile.am for Java lite files.
+ * Added map_lite_test.proto to fix LiteTest
+ * Introduce a compatiblity shim to support .NET 3.5 delegate creation
+ * Revert "Removed mention of Buffer in byteSourceToUint8Array"
+ * Add gogo benchmark
+ * Set ext.no_native = true for non mac platform
+ * Removed atomicops.h since it is no longer used
+ * Rename a shadowed variable.
+ * Add kokoro bazel configs for 3.6.x branch.
+ * Deleted scoped_ptr.h
+ * Check the message to be encoded is the wrong type. (#4885) (#4949)
+ * protoc-artifacts: Avoid checking out protobuf code
+ * Add conformance test for null value in list JSON
+ * Build ruby gem on kokoro (#4819)
+ * Try using a new version of Visual Studio on AppVeyor
+ * Make ruby release configs consistent with protoc.
+ * fix for API change in PHP 7.3 (#4898)
+ * Add .proto files to extract_includes.bat
+ * Update protoc build scripts.
+ * Blacklist all WELL_KNOWN_PROTOS from Bazel C++ code generation.
+ * Additional support for building and deploying ppcle_64 artifacts
+ * Fix php tests
+ * Cleanup + documentation for Java Lite runtime.
+ * Added Kokoro Windows release build config for protoc (#4766)
+ * typo
+ * fix golang kokoro linux build
+ * Fix spelling error of __GNUC_MINOR__
+ * Update code to work for Xcode 10b1 (#4729)
+ * Added pyext/thread_unsafe_shared_ptr.h
+ * Added missing .inc files to BUILD
+ * js message support for jstype string on integers (#4332)
+ * Improve error message when googletest is missing.
+ * Make assertEquals pass for message (#4947)
+ * Sync internal benchmark changes
+ * Removed some unused C++ source files
+ * Fix missing LIBPROTOC_EXPORT.
+ * Added new test source files to Makefile.am
+ * Update php version to 3.6.0 (#4736)
+ * Fix RepeatedField#delete_if (#4292)
+ * Merge branch (#4466)
+ * Implement array constructor in php c extension.
+ * protoc-artifacts: Update centos base from 6.6 to 6.9
+ * PHP array constructors for protobuf messages (#4530)
+ * Fix problem: cmake build failed in c++11 by clang
+ * Don't assume Windows builds use MSVC.
+ * Use legacy name in php runtime (#4741)
+ * Add file option php_metadata_namespace and ruby_package (#4609)
+ * Fix cpp benchmark dependency on mac
+ * Use the first enum value instead of 0 in DefaultValueObjectWriter::FindEnumDefault
+ * Check return value on write of raw pointer
+ * Delete unused directories.
+ * Replace //:protoc and similar default macro arguments with
+ * Add extra C# file to Makefile.am
+ * includes the expected class in the exception, otherwise the error is harder to track down (#3371)
+ * Update instructions about getting protobuf source.
+ * Add cpp tests under release docker image.
+ * fix java benchmark, fix dashboard build
+ * `update_file_lists.sh` depends on Bash features, thus needs Bash sebang.
+ * Rename build_artifacts.cfg to release.cfg (#4818)
+ * Fix bug: whether always_print_enums_as_ints is true or false, it always print the default value of enums as strings
+ * source code info for interpreted options; fix source code info for extension range options (#4342)
+ * Updated version numbers to 3.6.1
+ * Trim imports for bundled generated protos.
+ * Require C++11 and pass -std=c++11
+ * Remove the iOS Test App.
+ * fix duplicate mkdir in update_file_lists.sh
+ * Updated csharp/README.md to reflect testing changes
+ * Fix bazel build of examples.
+ * Add missing ruby/tests/test_ruby_package.proto
+ * Fix cpp_distcheck
+ * Updated the change log with changes for 3.6.0
+ * some fix
+ * CMake: Update CXX Standard management
+ * Add the files added in #4485.
+ * Change to deal all messages in one loop
+ * Fix php conformance test.
+ * Add __init__.py files to compiler and util subpackages (#4117)
+ * Updated .gitignore to exclude downloaded gmock/ directory
+ * Fix error in Clang UndefinedBehaviorSanitizer
+ * Work around MSVC issue with std::atomic initialization (#4777)
+ * Updated conformance failure lists
+ * Add back GeneratedClassName to public (#4686)
+ * Add continuous test for ruby 2.3, 2.4 and 2.5 (#4829)
+ * Throw error if user want to access message properties (#4603)
+ * fix json_decode call parameters (#4381)
+ * Move `compiler/plugin.pb.cc` to libprotobuf with the other WKT sources.
+ * PHP: fixed typo in message.c
+ * Add go benchmark
+ * Allow list values to be null when parsing
+ * Added instruction for existing ZLIB configuration
+ * Fix 32bit php tests
+ * Removed javanano from post_process_dist.sh
+ * Don't generate imports for the WKTs unless generating the WKTs.
+ * For encoding upb needs descriptor type instead of type. (#4354)
+ * Include googletest as a submodule (#3993)
+ * Write messages to backing field in generated C# cloning code (#4440)
+ * Integrated internal changes from Google
+- Drop adding-Release_CompareAndSwap-64-bit-variant.patch . Applied
+ upstream.
+- bump soname version
+
+-------------------------------------------------------------------
+Mon May 14 15:19:25 UTC 2018 - tbechtold@suse.com
+
+update to version v3.5.2:
+ * Update release date
+ * Disable pip cache when testing uploaded packages
+ * Replace private timelib_update_ts with public date_timestamp_get
+ * Remove py2.6 support.
+ * Cherrypick for csharp, including:
+ * Update changelog
+ * Update changelog for 3.5.1
+ * Fix uploading binary wheel.
+ * Fix memory leak when creating map field via array.
+ * Update rake file to build of 2.1.6.
+ * Avoid using php_date_get_date_ce() in case date extension is not
+ * Update protoc-artfacts
+ * Fix string::back() usage in googletest.cc
+ * Fix memory leak in php7
+ * Support ruby2.5
+ * io_win32: support non-ASCII paths
+ * Explicitly propagate the status of Flush().
+ * Add discard unknown API in ruby. (#3990)
+ * Update version for 3.5.0.post1
+ * remove nullptr
+ * Fix more memory leak for php c extension (#4211)
+ * Bumping number to fix ruby 2.1 on mac
+ * io_win32_unittest: remove incorrect error check
+ * Fix memory leak when creating repeated field via array.
+ * Update version number for php c extension (#3896)
+ * Fix file permission for python package.
+ * Create containing directory before generating well_known_types_embed.cc
+ * Replace C++11 only method std::map::at
+ * Recursively clear unknown fields in submessages. (#3982)
+ * Update version number to 3.5.1
+ * io_win32_unittest: fix condition in GetCwdAsUtf8
+ * Add release log
+ * io_win32_unittest: use CWD as last tempdir
+ * Add PROTOBUF_ENABLE_TIMESTAMP to let user decide whether timestamp util
+ * Add support for Windows ARM64 build
+ * Add protobuf-all in post release
+ * Use fully qualifed name for DescriptorPool in Any.php to avoid name (#3886)
+ * Add _file_desc_by_toplevel_extension back
+ * Fix setup.py for windows build.
+ * io_win32_unittest: make //:win32_test run again
+ * Provide discardUnknonwnFields API in php (#3976)
+ * Update php c extension version number to 3.5.0.1
+ * Fix ruby gc_test in ruby 2.4 (#4011)
+ * Remove duplicate typedef. (#3975)
+ * Accept DatetimeInterface in fromDatetime
+ * io_win32: add more encoding-related tests
+ * Bump version number to 3.5.2
+ * Bump protoc-artifact version for a patch rebuild
+ * Call php method via function name instead of calling directly.
+ * Well known types are not initialized properly. (#4139)
+ * Use matching enum type for IsPOD.
+ * Fix several more memory leak
+ * Fix for php5.5
+ * Add backslach to make class explict in global namespace
+
+-------------------------------------------------------------------
+Fri Feb 23 10:12:07 UTC 2018 - mlin@suse.com
+
+- Add adding-Release_CompareAndSwap-64-bit-variant.patch
+ * Fix compile error undefined reference to
+ `google::protobuf::internal::Release_CompareAndSwap(long volatile*, long, long)'
+ on s390x https://github.com/google/protobuf/issues/3937
+
+-------------------------------------------------------------------
+Mon Jan 22 16:50:28 UTC 2018 - tchvatal@suse.com
+
+- Conditionalize python2 and python3 in order to be able to build
+ without python2 present in distribution
+ * Use singlespec macros to simplify the logic
+- Run fdupes on python modules to avoid duplicates
+- Remove shebangs from import-only code
+
+-------------------------------------------------------------------
+Mon Dec 11 23:42:45 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream release 3.5.0
+ * Proto3 messages are now preserving unknown fields by default.
+ If you rely on unknowns fields being dropped, use
+ DiscardUnknownFields() explicitly.
+ * Deprecated the unsafe_arena_release_* and
+ unsafe_arena_add_allocated_* methods for string fields.
+ * Added move constructor and move assignment to RepeatedField,
+ RepeatedPtrField and google::protobuf::Any.
+ * Added perfect forwarding in Arena::CreateMessage.
+ * In-progress experimental support for implicit weak fields
+ with lite protos. This feature allows the linker to strip out
+ more unused messages and reduce binary size.
+- Rename %soname to %sover to better reflect its use.
+
+-------------------------------------------------------------------
+Fri Jun 16 07:57:00 UTC 2017 - mpluskal@suse.com
+
+- Install LICENSE
+
+-------------------------------------------------------------------
+Sun Jun 11 17:15:13 UTC 2017 - alarrosa@suse.com
+
+- Update to 3.3.0 :
+ * C++:
+ * Fixed map fields serialization of DynamicMessage to correctly serialize
+ both key and value regardless of their presence.
+ * Parser now rejects field number 0 correctly.
+ * New API Message::SpaceUsedLong() that’s equivalent to
+ Message::SpaceUsed() but returns the value in size_t.
+ * JSON support
+ - New flag always_print_enums_as_ints in JsonPrintOptions.
+ - New flag preserve_proto_field_names in JsonPrintOptions. It will instruct
+ the JSON printer to use the original field name declared in the .proto
+ file instead of converting them to lowerCamelCase when printing JSON.
+ - JsonPrintOptions.always_print_primtive_fields now works for oneof message
+ fields.
+ - Fixed a bug that doesn’t allow different fields to set the same json_name
+ value.
+ - Fixed a performance bug that causes excessive memory copy when printing
+ large messages.
+ * Various performance optimizations.
+ * Java:
+ * Map field setters eagerly validate inputs and throw NullPointerExceptions
+ as appropriate.
+ * Added ByteBuffer overloads to the generated parsing methods and the Parser
+ interface.
+ * proto3 enum's getNumber() method now throws on UNRECOGNIZED values.
+ * Output of JsonFormat is now locale independent.
+ * Python:
+ * Added FindServiceByName() in the pure-Python DescriptorPool. This works only
+ for descriptors added with DescriptorPool.Add(). Generated descriptor_pool
+ does not support this yet.
+ * Added a descriptor_pool parameter for parsing Any in text_format.Parse().
+ * descriptor_pool.FindFileContainingSymbol() now is able to find nested
+ extensions.
+ * Extending empty [] to repeated field now sets parent message presence.
+- Update to 3.2.0 :
+ * Added protoc version number to protoc plugin protocol. It can be used by
+ protoc plugin to detect which version of protoc is used with the plugin and
+ mitigate known problems in certain version of protoc.
+ * C++:
+ * The default parsing byte size limit has been raised from 64MB to 2GB.
+ * Added rvalue setters for non-arena string fields.
+ * Enabled debug logging for Android.
+ * Fixed a double-free problem when using Reflection::SetAllocatedMessage()
+ with extension fields.
+ * Fixed several deterministic serialization bugs:
+ * MessageLite::SerializeAsString() now respects the global deterministic
+ serialization flag.
+ * Extension fields are serialized deterministically as well. Fixed protocol
+ compiler to correctly report importing-self as an error.
+ * Fixed FileDescriptor::DebugString() to print custom options correctly.
+ * Various performance/codesize optimizations and cleanups.
+ * Java:
+ * The default parsing byte size limit has been raised from 64MB to 2GB.
+ * Added recursion limit when parsing JSON.
+ * Fixed a bug that enumType.getDescriptor().getOptions() doesn't have custom
+ options.
+ * Fixed generated code to support field numbers up to 2^29-1.
+ * Python:
+ * You can now assign NumPy scalars/arrays (np.int32, np.int64) to protobuf
+ fields, and assigning other numeric types has been optimized for
+ performance.
+ * Pure-Python: message types are now garbage-collectable.
+ * Python/C++: a lot of internal cleanup/refactoring.
+- Increase soname to 13
+- Generate python2-protobuf and python3-protobuf packages in Factory
+- Make the python2-protobuf package provide and obsolete python-protobuf
+ to make the transition smooth in Tumbleweed
+
+-------------------------------------------------------------------
+Sun Jan 22 00:47:42 UTC 2017 - stefan.bruens@rwth-aachen.de
+
+- Fix an issue with setup.py where some files are built on the
+ first invocation, but only copied on the second. This resulted
+ in an incomplete protobuf-python package.
+
+-------------------------------------------------------------------
+Sat Jan 7 11:02:55 UTC 2017 - stefan.bruens@rwth-aachen.de
+
+- Update to protobuf v3.1.0. Protobuf v3.0.0 introduceced a new
+ version of the protocol buffer language, proto3, which supersedes
+ proto2.
+ The protoc compiler is able to read old proto2 protocol definitions,
+ and defaults to the proto2 syntax if a syntax is not specified, thus
+ packages can be recompiled to link to the new library. For backwards
+ compatibility, the old library version is available from the
+ protobuf2 package.
+ As the API for proto2 is not compatible to the proto3 API, proto3
+ should only be used for new Protocol Buffers, whereas current users
+ are advised to keep using proto2. For a detailed list of changes,
+ see https://github.com/google/protobuf/releases
+- Drop no longer needed patches:
+ * protobuf-setuptools-2.4.1.patch
+ * protobuf-return-no-nonvoid.patch
+
+-------------------------------------------------------------------
+Fri Dec 16 03:33:01 UTC 2016 - stefan.bruens@rwth-aachen.de
+
+- Use py_sitedir for library installation with setup.py install
+
+-------------------------------------------------------------------
+Wed Dec 14 07:32:06 UTC 2016 - mpluskal@suse.com
+
+- Drop protobuf-libs as it is just workaround for rpmlint issue
+
+-------------------------------------------------------------------
+Sat Dec 10 19:24:18 UTC 2016 - stefan.bruens@rwth-aachen.de
+
+- Cleanup specfile:
+ * remove any conditionals for versions predating SLES 12/Leap 42.x
+ * add Provides: protobuf-libs to fix rpmlint warning
+
+-------------------------------------------------------------------
+Mon Dec 7 04:17:12 UTC 2015 - lnussel@suse.de
+
+- disable google-apputils usage. They are only used for the testsuite which
+ wasn't called anyways. The next upstream version will not use
+ apputils anymore anyways. Fixes build on SLE12.
+ https://github.com/google/protobuf/commit/9f42f5f4a423b923f7b07ae8c5e8db4943df49c6
+ bnc#957472
+
+-------------------------------------------------------------------
+Thu Nov 12 12:30:26 UTC 2015 - alarrosa@suse.com
+
+- Python bindings require a recent python-google-apputils, so build
+ them where it's available (that's anything recent except SLE12)
+
+-------------------------------------------------------------------
+Thu Nov 12 09:36:46 UTC 2015 - alarrosa@suse.com
+
+- Fix check so python bindings are not built in SLE12
+
+-------------------------------------------------------------------
+Fri Nov 6 08:32:15 UTC 2015 - edogawa@aon.at
+
+- tweak spec to build python bindings for Leap 42.1
+
+-------------------------------------------------------------------
+Wed Jul 29 09:56:31 UTC 2015 - dimstar@opensuse.org
+
+- Fix baselibs.conf: last time the sonames were bumped,
+ baselibs.conf has not been updated accordingly.
+
+-------------------------------------------------------------------
+Sat Feb 28 10:41:07 UTC 2015 - mpluskal@suse.com
+
+- Add protobuf-return-no-nonvoid.patch
+- Do not install examples
+- Remove 0001-Add-generic-GCC-support-for-atomic-operations.patch
+
+-------------------------------------------------------------------
+Fri Feb 27 19:20:16 UTC 2015 - mpluskal@suse.com
+
+- Use current url's
+- Update dependencies
+ * python bindings now require recent python-google-apputils
+ which are available only in recet (13.1 and higher releases of
+ openSUSE)
+- Update to 2.6.1
+ * Added atomicops support for Solaris.
+ * Released memory allocated by InitializeDefaultRepeatedFields()
+ and GetEmptyString(). Some memory sanitizers reported them
+ as memory leaks.
+ * Updated DynamicMessage.setField() to handle repeated enum
+ values correctly.
+ * Fixed a bug that caused NullPointerException to be thrown when
+ converting manually constructed FileDescriptorProto to
+ FileDescriptor.
+- Changes for 2.6.0
+ * Added oneofs(unions) feature. Fields in the same oneof will
+ share memory and at most one field can be set at the same time.
+ * Files, services, enums, messages, methods and enum values
+ can be marked as deprecated now.
+ * Added Support for list values, including lists of mesaages,
+ when parsing text-formatted protos in C++ and Java.
+ * Enhanced customization on TestFormat printing.
+ * Added SwapFields() in reflection API to swap a subset of
+ fields.
+ * Added SetAllocatedMessage() in reflection API.
+ * Repeated primitive extensions are now packable. The
+ [packed=true] option only affects serializers. Therefore,
+ it is possible to switch a repeated extension field to
+ packed format without breaking backwards-compatibility.
+ * Various speed optimizations.
+ * writeTo() method in ByteString can now write a substring to
+ an output stream. Added endWith() method for ByteString.
+ * ByteString and ByteBuffer are now supported in CodedInputStream
+ and CodedOutputStream.
+ * java_generate_equals_and_hash can now be used with the
+ LITE_RUNTIME.
+ * A new C++-backed extension module (aka "cpp api v2") that
+ replaces the old ("cpp api v1") one. Much faster than the
+ pure Python code. This one resolves many bugs and is
+ recommended for general use over the pure Python when possible.
+
+-------------------------------------------------------------------
+Tue Nov 5 13:38:45 UTC 2013 - sleep_walker@suse.cz
+
+- fix java flags to build package for SLE_11_SP3
+
+-------------------------------------------------------------------
+Fri Jun 7 15:32:55 UTC 2013 - dvaleev@suse.com
+
+- package google/protobuf/stubs/atomicops_internals_generic_gcc.h
+ mosh reqires it
+
+-------------------------------------------------------------------
+Mon May 27 10:44:05 UTC 2013 - dvaleev@suse.com
+
+- Build on architectures where no specialized code has been written
+ 0001-Add-generic-GCC-support-for-atomic-operations.patch
+
+-------------------------------------------------------------------
+Fri Apr 12 18:35:09 UTC 2013 - ftake@geeko.jp
+
+- Upstream update to 2.5.0
+ * New construct "import public"
+ * New enum option "allow_alias"
+ * C++: New generated method set_allocated_foo(Type* foo)
+ * C++: Added SetAllocatedExtension() and ReleaseExtension()
+ to extensions API
+ * Java: Added getters/setters to access the underlying ByteString
+ of a string field
+ * Java: New operations for substring(), prepend(), and append()
+ * Java: New method findInitializationErrors()
+ * Python: Support for dynamic message creation
+ * Python: Fixed custom options were not correctly populated
+ * Python: Added EnumTypeWrapper
+ * Python: Added ParseMessage(descriptor, bytes)
+ * Various bug fixes and optimazations
+- Drop gtest-1.5, which is now included by the archive from
+ the upstream
+-------------------------------------------------------------------
+Sat May 19 18:25:52 UTC 2012 - crrodriguez@opensuse.org
+
+- BuildRequire zlib-devel otherwise gzip_stream is not built
+ thus breaking newer releases of mosh.
+
+-------------------------------------------------------------------
+Fri Mar 16 16:15:25 UTC 2012 - dimstar@opensuse.org
+
+- Add gtest-1.5.0.tar.bz2: This is the release tarball of gtest 1.5
+ which is being used by make check. The included 1.4.0 does not
+ work with gcc 4.7, thus replacing the gtest folder with this
+ snapshot.
+- Wrapped the gtest extraction with a version check... on next
+ version the package will fail in order to remember to take this
+ out again (next release of protobuf bundles gtest 1.5.0)
+- Add libtool BuildRequires and call to autoreconf, as gtest 1.5.0
+ needs to be bootstrapped.
+
+-------------------------------------------------------------------
+Wed Dec 21 09:47:32 UTC 2011 - coolo@suse.com
+
+- remove %release from requires
+
+-------------------------------------------------------------------
+Wed Oct 12 15:46:14 MSD 2011 - tony@daylessday.org
+
+- Update to Protobuf 2.4.1:
+ C++
+ * Fixed the frendship problem for old compilers to make the library now gcc 3
+ compatible again.
+ * Fixed vcprojects/extract_includes.bat to extract compiler/plugin.h.
+
+ Java
+ * Removed usages of JDK 1.6 only features to make the library now JDK 1.5
+ compatible again.
+ * Fixed a bug about negative enum values.
+ * serialVersionUID is now defined in generated messages for java serializing.
+ * Fixed protoc to use java.lang.Object, which makes "Object" now a valid
+ message name again.
+
+ Python
+ * Experimental C++ implementation now requires C++ protobuf library installed.
+ See the README.txt in the python directory for details.
+
+-------------------------------------------------------------------
+Tue Apr 19 00:23:14 CEST 2011 - ro@suse.de
+
+- update baselibs.conf
+
+-------------------------------------------------------------------
+Wed Dec 15 09:42:59 UTC 2010 - lnussel@suse.de
+
+- provide libprotobuf-devel for compatibility
+
+-------------------------------------------------------------------
+Mon Apr 26 11:23:57 UTC 2010 - lnussel@suse.de
+
+- merge features with version from devel:tools:building
+ * build java and python versions
+ * disable static libraries
+
+-------------------------------------------------------------------
+Sat Apr 24 18:12:57 UTC 2010 - lnussel@suse.de
+
+- new version 2.3.0
+
+-------------------------------------------------------------------
+Sat Apr 24 18:07:39 UTC 2010 - lnussel@suse.de
+
+- separate soname define
+
+-------------------------------------------------------------------
+Mon Dec 7 12:39:37 UTC 2009 - lnussel@suse.de
+
+- new version 2.2.0a
+
+-------------------------------------------------------------------
+Tue Mar 31 09:51:34 CEST 2009 - lnussel@suse.de
+
+- move protoc to devel package
+- split according to library policy
+- install vim syntax file
+
+-------------------------------------------------------------------
+Wed Sep 03 00:00:00 CET 2008 - Lenz Grimmer
+
+- Update to version 2.0.1
+
+-------------------------------------------------------------------
+Wed Aug 13 00:00:00 CET 2008 - Lenz Grimmer
+
+- Initial package the openSUSE build service (Version 2.0.0beta)
+
diff --git a/python-protobuf.spec b/python-protobuf.spec
new file mode 100644
index 0000000..d54a3f6
--- /dev/null
+++ b/python-protobuf.spec
@@ -0,0 +1,91 @@
+#
+# spec file for package python-protobuf
+#
+# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2024 Andreas Stieger
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%define tarname protobuf
+%define baseversion 28.2
+%if 0%{?gcc_version} < 11
+%define with_gcc 11
+%endif
+%{?!python_module:%define python_module() python3-%{**}}
+%define skip_python2 1
+%{?sle15_python_module_pythons}
+Name: python-protobuf
+Version: 5.%{baseversion}
+Release: 0
+Summary: Python Bindings for Google Protocol Buffers
+License: BSD-3-Clause
+Group: Development/Libraries/Python
+URL: https://github.com/protocolbuffers/protobuf
+Source0: https://github.com/protocolbuffers/protobuf/releases/download/v%{baseversion}/%{tarname}-%{baseversion}.tar.gz
+BuildRequires: %{python_module abseil}
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module python-dateutil}
+BuildRequires: %{python_module setuptools}
+BuildRequires: fdupes
+BuildRequires: gcc%{?with_gcc}-c++
+BuildRequires: protobuf-devel >= %{baseversion}
+Requires: protobuf-devel >= %{baseversion}
+%python_subpackages
+
+%description
+Protocol Buffers are a way of encoding structured data in an efficient yet
+extensible format. Google uses Protocol Buffers for almost all of its internal
+RPC protocols and file formats.
+
+This package contains the Python bindings for Google Protocol Buffers.
+
+%prep
+%autosetup -p1 -n %{tarname}-%{baseversion}
+
+# The previous blank line is crucial for older system being able
+# to use the autosetup macro
+
+grep -qF "'%{version}'" python/google/protobuf/__init__.py
+
+# kill shebang that we do not really want
+sed -i -e '/env python/d' python/google/protobuf/internal/*.py
+
+%build
+%if 0%{?with_gcc}
+export CXX=g++-%{with_gcc}
+export CC=gcc-%{with_gcc}
+%endif
+pushd python
+export PROTOC=$(type -p protoc)
+%define py_setup dist/setup.py
+%python_build
+popd
+
+%install
+pushd python
+export PROTOC=$(type -p protoc)
+%python_install
+popd
+%python_expand %fdupes %{buildroot}%{$python_sitearch}
+
+%fdupes %{buildroot}%{_prefix}
+
+%files %{python_files}
+%license LICENSE
+%dir %{python_sitearch}/google
+%{python_sitearch}/google/protobuf
+%{python_sitearch}/protobuf*nspkg.pth
+%{python_sitearch}/protobuf*info
+
+%changelog