Commit Graph

9011 Commits

Author SHA1 Message Date
Nipunn Koorapati
937b56f57b
Match service argument names to abstract interface (#9418)
The base class/documentation suggest that the argument
names are `self` and `done`, while the runtime used
argument names `srvc` and `callback`.

`mypy.stubtest` was able to identify this - as it compares
the types (autogenerated by
[`mypy-protobuf`](https://github.com/dropbox/mypy-protobuf/))
to the actual code generated by protoc at runtime.

Since the stubs assume the generated code matches the abstract
interface in service.py - it saw these differences.
2022-02-03 09:14:44 -08:00
Stephen Kennedy
8495372e1e
[cleanup] Msvc warnings (#9263)
* Fix and reenable signed/unsigned warning C4018

* Only disable unary minus warning C4146 in tests
2022-02-02 15:10:15 -08:00
Joshua Haberman
8c8fb0ec97
Merge pull request #9370 from brettmc/bugfix/php-8.1-deprecations
fixing php 8.1 deprecation warnings
2022-02-02 14:17:43 -08:00
JCooky
55645ca513
Add cmake option protobuf_INSTALL for installation files (#7123) 2022-02-02 08:29:25 -08:00
Joel Johnson
a9cf69a0ed
Use matching soname when building with CMake as Makefile (#9178)
This updates the CMake support to additionally symlink the soversion value
to the generated shared library when so generated. This aligns the
generated soversion with that traditionally used by the Makefile build
workflow and provides cross-compatibility irrespective of build approach
used.

The primary version of the non-symlink library retains the actual
(non-SO) project version for clarity and compatibility with
installations built using prior versions of CMake support. An example of
the net resulting symlink structures is shown below, where the most
important aspect is that the symlink matching the embedded SONAME is
present (libprotobuf.so.30 in the example case).

Makefile:

    libprotobuf.so -> libprotobuf.so.30.0.0
    libprotobuf.so.30 -> libprotobuf.so.30.0.0
    libprotobuf.so.30.0.0

CMake:

    libprotobuf.so -> libprotobuf.so.30
    libprotobuf.so.30 -> libprotobuf.so.3.19.0.0
    libprotobuf.so.3.19.0.0

Fixes: #8635
2022-02-01 15:27:56 -08:00
Biswapriyo Nath
7e5bfe8883
Fix checking Windows platform with preprocessor (#9460)
Check _WIN32 instead of _MSC_VER because the later one is for MSVC only.
This fixes building with mingw-w64 toolchain which uses GCC or Clang.
2022-02-01 13:58:39 -08:00
deannagarcia
aa896f6389
Merge pull request #9459 from protocolbuffers/deannagarcia-patch-2
Update package.xml
2022-01-31 16:29:48 -08:00
deannagarcia
a6a66a9ac8
Update package.xml
Have PHP release notes link back to general release notes .
2022-01-31 16:10:49 -08:00
deannagarcia
c756e61878
Merge pull request #9430 from xoofx/fix-csharp-fielddesc-ispacked
Fixes NullReferenceException when accessing FieldDescriptor.IsPacked
2022-01-31 11:10:20 -08:00
Ivo List
15add1af49
Selectively add source or gen dir to includes. (#9438)
When both directories are added this results in protoc emitting a
"warning: directory does not exist.". This makes sense because when
there are no inputs from the other directory, it is also not present
n the sandbox where protoc is executed.
2022-01-28 16:44:42 -08:00
Adam Cozzette
fa57149caa
Merge pull request #9452 from acozzette/merge-3.19.x
Merge 3.19.x into master
2022-01-28 16:44:20 -08:00
Elliotte Rusty Harold
749243db7e
Must build project before running benchmarks (#9454)
* Must build project before running benchmarks

That is, it does not test the version downloaded from Maven central.

* Update README.md
2022-01-28 21:50:35 +00:00
Adam Cozzette
18521f6055 Merge branch '3.19.x' into merge-3.19.x 2022-01-28 17:42:21 +00:00
Jon Skeet
b926a7d209 Add ToProto() method to all C# descriptor classes
Fixes #9425.
2022-01-28 14:17:56 +00:00
Adam Cozzette
22d0e265de
Update protobuf version for 3.19.4 (#9449)
I also updated the PHP release notes in
php/ext/google/protobuf/package.xml.
2022-01-27 19:35:56 -08:00
Joshua Haberman
afeb6d8181
Merge pull request #9451 from haberman/ruby-dataloss-bugfix
Fixed data loss bug in Ruby extension
2022-01-27 18:20:42 -08:00
Joshua Haberman
98b8e055d5 Merge branch '3.19.x' into ruby-dataloss-bugfix 2022-01-27 18:17:23 -08:00
Joshua Haberman
eb301e1a33
Merge pull request #9450 from haberman/php-dataloss-bugfix
Fixed data loss bug in PHP C extension
2022-01-27 18:02:14 -08:00
Joshua Haberman
aceff710f4 Fixed data loss bug in Ruby extension. 2022-01-27 17:29:12 -08:00
Joshua Haberman
35a21c1249 Added CHANGES.txt entry. 2022-01-27 17:14:07 -08:00
Joshua Haberman
67995fb4e9 Fixed data loss bug with PHP C extension. 2022-01-27 17:06:41 -08:00
Adam Cozzette
779b97260d
Update CHANGES.txt for 3.19.4 release (#9448) 2022-01-27 16:27:45 -08:00
Joshua Haberman
b48ba578dd
Merge pull request #9422 from ngg/disable-musttail-winx86
Disable [[clang::musttail]] attribute on Windows x86
2022-01-27 13:51:31 -08:00
Elliotte Rusty Harold
a30167f016
simplify mergeable UI messages (#9445)
No "Please"

see https://docs.google.com/document/d/1mIHBZQXI3F5VEPPmR54PySixl8wSsdwVciSENJ0Unxg/edit#heading=h.vvb6vlxagbv8 for justification

also make the and clause a little simpler. That is, this is now "Include release notes: yes AND at least a language label" instead of "Please include release notes: yes AND Please include at least a language label"
2022-01-27 13:07:30 -05:00
Brett McBride
4c03fcf8fb php8.1 testing 2022-01-27 15:45:20 +11:00
Maximilian
82372d8fe6
Use proper SPDX license identifier (#9441)
The previously used term "3-Clause BSD License" is not properly
standarized. A common standard is SPDX, therefore "3-Clause BSD License"
is substituted with "BSD-3-Clause" which is a SPDX identifier.

`grep -rl "3-Clause BSD License" | xargs -n1 sed -i "s/3-Clause BSD
License/BSD-3-Clause/g"`
2022-01-27 00:23:14 +00:00
Adam Cozzette
a035bd0882
Make libprotobuf symbols local on OSX (#8346) (#9435)
@gnossen gave a great overview in https://github.com/grpc/grpc/pull/24992 of the overall problem.

If a python process using both protobuf _and_ another native library linking in libprotobuf
frequently can cause crashes.  This seems to frequently affect tensorflow as well:

tensorflow/tensorflow#8394,
tensorflow/tensorflow#9525 (comment)
tensorflow/tensorflow#24976,
tensorflow/tensorflow#35573,
https://github.com/tensorflow/tensorflow/blob/v2.0.0/tensorflow/contrib/makefile/rename_protobuf.sh,
tensorflow/tensorflow#16104

Testing locally this fixes both crashes when linking in multiple versions of protobuf
and fixes `DescriptorPool` clashes as well (e.g. Python and Native code import different versions of the same message).

Co-authored-by: Roy Williams <roy.williams.iii@gmail.com>
2022-01-25 08:24:12 -08:00
Brett McBride
a78b89ef2a removing ext-bcmath require
I think it _should_ be required, but a test (linux, 32bit, 7.0-zts) is choking
on composer install, so putting things back to how I found them
2022-01-25 21:00:02 +11:00
Joshua Haberman
b696347f80
Merge pull request #9436 from haberman/ruby-upb2
Updated Ruby to the current version of upb
2022-01-24 20:40:12 -08:00
David Geldreich
f180289c46
link with correct C runtime on MSVC (#9437)
when using CMake >= 3.15, we use CMAKE_MSVC_RUNTIME_LIBRARY
to reproduce the /MT vs /MD when protobuf_MSVC_STATIC_RUNTIME
is TRUE or FALSE
MultiThreaded is for /MT
MultiThreadedDebug is for /MTd
MultiThreadedDLL is for /MD
MultiThreadedDebugDLL is for /MDd
2022-01-24 13:17:14 -08:00
Brett McBride
3e724d8a2e formatting 2022-01-24 23:23:40 +11:00
Brett McBride
6a3f3840f6 tidy 2022-01-24 23:17:16 +11:00
Brett McBride
110d6c10b2 polyfill ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX 2022-01-24 22:40:17 +11:00
Joshua Haberman
5ef010cb85 Fixed spelling errors in comments. 2022-01-23 16:13:12 -08:00
Joshua Haberman
012c8892ab Added utf8_range. 2022-01-21 21:01:07 -08:00
Joshua Haberman
79951dac84 Added changelog entries. 2022-01-21 20:25:32 -08:00
Joshua Haberman
90065d39a7 Fixed crash bug with proto2 enums. 2022-01-21 20:18:11 -08:00
Joshua Haberman
706ed2d17a Added utf8_range.c as a source file. 2022-01-21 17:32:34 -08:00
Joshua Haberman
c153dd9bf7 Updated to new upb APIs. 2022-01-21 15:46:56 -08:00
Gregor Jasny
e554bd6cbf
Use constexpr for FieldTypeClass (#9434)
Otherwise in C++20 / VisualStudio 2022 the following warning is emitted:

```
warning C5054: operator '*': deprecated between enumerations of different types
```
2022-01-21 15:38:59 -08:00
Joshua Haberman
f41049a0f0 Updated upb. 2022-01-21 14:41:25 -08:00
deannagarcia
a03ff9c3e8
Merge pull request #9428 from protocolbuffers/kotlinBazelTests
Migrate kotlin bazel tests from kt_jvm_test
2022-01-21 10:44:37 -08:00
deannagarcia
86bb6f9de0
Merge pull request #9429 from protocolbuffers/deannagarcia-patch-2
Update location of llvm-ar in bazel toolchain
2022-01-21 10:44:04 -08:00
Alexandre Mutel
16941420c9 Fixed NullReferenceException when accessing FieldDescriptor.IsPacked 2022-01-21 05:29:40 +01:00
Brett McBride
c62cbe97de working 7.0 extension 2022-01-21 09:59:46 +11:00
deannagarcia
70131e0495
Update location of llvm-ar in bazel toolchain
Change the location of the llvm-ar tool to match the new docker container.
2022-01-20 14:31:53 -08:00
Deanna Garcia
6e8b0dfcbf Switch to java_test 2022-01-20 22:24:59 +00:00
Brett McBride
f689268ca3 fixing typo in comment 2022-01-20 12:01:51 +11:00
Brett McBride
bfe33d7d08 php 7.0 support
instead of using the void return type, add more ReturnTypeWillChange annotations
2022-01-20 09:33:58 +11:00
Gergely Nagy
639551d445 Disable [[clang::musttail]] attribute on Windows x86 (#9421) 2022-01-18 19:15:32 +01:00