File protobuf.changes of Package protobuf

Sun Nov 22 00:56:06 UTC 2020 - John Vandenberg <>

- Updated URL to
- 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.

  * 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
  * 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

  * Bugfix in mergeFrom() when a oneof has multiple message fields.
  * Fix returning -1 when told to read
    0 bytes when not at EOF.
  * Redefine remove(Object) on primitive repeated field Lists to avoid
  * 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

  * 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/ from the Protobuf runtime
  * Removed the unnecessary setuptools package dependency for Python package
  * Fix PyUnknownFields memory leak

  * 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

  * Update go_package options to reference module.

  * annotate ByteString.CopyFrom(ReadOnlySpan<byte>) as SecuritySafeCritical
  * Fix C# optional field reflection when there are regular fields too
  * Fix parsing negative Int32Value that crosses segment boundary

  * JS: parse (un)packed fields conditionally

- from version 3.13.0

  * 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.

  * 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

  * 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.

  * Fixed a bug where setting optional proto3 enums with setFooValue() would
    not mark the value as present.
  * Add Subtract function to FieldMaskUtil.

  * Dropped support for netstandard1.0 (replaced by support for netstandard1.1).
    This was required to modernize the parsing stack to use the `Span<byte>`
    type internally
  * Add `ParseFrom(ReadOnlySequence<byte>)` method to enable GC friendly
    parsing with reduced allocations and buffer copies
  * Add support for serialization directly to a `IBufferWriter<byte>` or
    to a `Span<byte>` to enable GC friendly serialization.
    The new API is available as extension methods on the `IMessage` type
    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

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/
    * During this experimental phase, code generators should update to support
      proto3 presence, see docs/ 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)

  * 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)

  * 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 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.

  * 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
  * [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)

  * [experimental] Added proto3 presence support.
  * Mark java enum _VALUE constants as @Deprecated if the enum field is deprecated
  * reduce <clinit> 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
  * 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)

  * [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
  * Fix unintended comparison between bytes and string in
  * Avoid printing excess digits for float fields in TextFormat.
  * Remove Python 2.5 syntax compatibility from the proto compiler generated module code.
  * Drop 3.3, 3.4 and use single version docker images for all python tests (#7396)

  * Fix js message pivot selection (#6813)

  * 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)

  * [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)

  * 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
  * 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)
  * 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

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
  * 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
  * 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/` 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 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 in release script.
  * Output * 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 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
  * 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
  * 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
  * `` 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
  * Updated csharp/ 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 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/` 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
  * 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
- bump soname version

Mon May 14 15:19:25 UTC 2018 -

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
  * 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
  * 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 for windows build.
  * io_win32_unittest: make //:win32_test run again
  * Provide discardUnknonwnFields API in php (#3976)
  * Update php c extension version number to
  * 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 -

- 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

Mon Jan 22 16:50:28 UTC 2018 -

- 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 -

- 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 -

- Install LICENSE

Sun Jun 11 17:15:13 UTC 2017 -

- 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
      - Fixed a bug that doesn’t allow different fields to set the same json_name
      - 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
    * 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
    * 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
    * 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
    * 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 -

- Fix an issue with 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 -

- Update to protobuf v3.1.0. Protobuf v3.0.0 introduceced a new
  version of the protocol buffer language, proto3, which supersedes
  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,
- Drop no longer needed patches:
  * protobuf-setuptools-2.4.1.patch
  * protobuf-return-no-nonvoid.patch

Fri Dec 16 03:33:01 UTC 2016 -

- Use py_sitedir for library installation with install

Wed Dec 14 07:32:06 UTC 2016 -

- Drop protobuf-libs as it is just workaround for rpmlint issue

Sat Dec 10 19:24:18 UTC 2016 -

- 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 -

- 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.

Thu Nov 12 12:30:26 UTC 2015 -

- 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 -

- Fix check so python bindings are not built in SLE12

Fri Nov  6 08:32:15 UTC 2015 -

- tweak spec to build python bindings for Leap 42.1

Wed Jul 29 09:56:31 UTC 2015 -

- Fix baselibs.conf: last time the sonames were bumped,
  baselibs.conf has not been updated accordingly.

Sat Feb 28 10:41:07 UTC 2015 -

- 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 -

- 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
- 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
- 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
  * 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
  * 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 -

- fix java flags to build package for SLE_11_SP3

Fri Jun  7 15:32:55 UTC 2013 -

- package google/protobuf/stubs/atomicops_internals_generic_gcc.h
  mosh reqires it

Mon May 27 10:44:05 UTC 2013 -

- Build on architectures where no specialized code has been written

Fri Apr 12 18:35:09 UTC 2013 -

- 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 -

- BuildRequire zlib-devel otherwise gzip_stream is not built
  thus breaking newer releases of mosh.

Fri Mar 16 16:15:25 UTC 2012 -

- 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
- 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 -

- remove %release from requires

Wed Oct 12 15:46:14 MSD 2011 -

- Update to Protobuf 2.4.1:
  * 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.

  * 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.

  * 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 -

- update baselibs.conf

Wed Dec 15 09:42:59 UTC 2010 -

- provide libprotobuf-devel for compatibility

Mon Apr 26 11:23:57 UTC 2010 -

- merge features with version from devel:tools:building
  * build java and python versions
  * disable static libraries

Sat Apr 24 18:12:57 UTC 2010 -

- new version 2.3.0

Sat Apr 24 18:07:39 UTC 2010 -

- separate soname define

Mon Dec  7 12:39:37 UTC 2009 -

- new version 2.2.0a

Tue Mar 31 09:51:34 CEST 2009 -

- 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)
openSUSE Build Service is sponsored by