Commit Graph

702 Commits

Author SHA1 Message Date
Mike Kruskal
ffe4b0cfe6 Merge branch '3.20.x' into 3.20.x-202204011233 2022-04-01 12:34:01 -07:00
Darly Paredes
25045e3f69 Update protobuf version 2022-03-25 19:20:51 +00:00
Darly Paredes
a4c9effec1 Sync from Piper @436517178
PROTOBUF_SYNC_PIPER
2022-03-22 18:02:10 +00:00
Adam Cozzette
a336ba0346 Sync from Piper @435734090
PROTOBUF_SYNC_PIPER
2022-03-18 21:25:56 +00:00
theodorerose
ebfa0d345e Update protobuf version 2022-03-15 21:12:45 +00:00
Adam Cozzette
b20209f321 Sync from Piper @acozzette/proto_github_202203101748
PROTOBUF_SYNC_PIPER
2022-03-10 18:36:42 +00:00
Adam Cozzette
88a18db91e Update protobuf version 2022-03-04 09:52:19 -08:00
Adam Cozzette
f59a5845a3 Add new unit test protos to setup.py 2022-03-03 22:25:43 +00:00
Adam Cozzette
b0f9799a7c Sync from Piper @432209397
PROTOBUF_SYNC_PIPER
2022-03-03 17:18:16 +00:00
Adam Cozzette
76398dab31 Sync from Piper @431959314
PROTOBUF_SYNC_PIPER
2022-03-02 17:37:55 +00:00
David L. Jones
3ab97ce830 Sync from Piper @429642851
PROTOBUF_SYNC_PIPER
2022-02-18 14:02:12 -08:00
David L. Jones
1ba1d73e0d Sync from Piper @429333699
PROTOBUF_SYNC_PIPER
2022-02-17 09:53:51 -08:00
Joshua Haberman
06196e9b4c Merge tag 'refs/tags/sync-piper' into sync-stage 2022-02-08 20:53:32 -08:00
Joshua Haberman
dce403a8b3 Sync from Piper @427369078
PROTOBUF_SYNC_PIPER
2022-02-08 20:53:31 -08:00
Joshua Haberman
42e806fbf2 Merge branch 'master' into sync-stage-2 2022-02-08 18:36:24 -08:00
Joshua Haberman
301d315dc4
Dropped support for Python < 3.7 (#9480)
* Drop Python versions <3.7.

* Updated README to clarify that Python 3.7 is the minimum.

* Removed more Python 3.5-specific code.

Also changed tests to skip missing interpreters.

* Invoke tox directly instead of through Python.

Hopefully this will pick up python3.

* Updated java_stretch image to bullseye to get Python >= 3.7.

* Use jdk11 instead of jdk8.

* Installed python2 for gtest.

* Use "python3 -m venv" instead of "virtualenv."

* Install python3-venv.
2022-02-08 18:31:50 -08:00
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
Deanna Garcia
7dff52929f Fixing tests 2022-02-02 21:08:44 +00:00
Deanna Garcia
000da39ada Fix python tests 2022-02-02 19:21:42 +00:00
Deanna Garcia
d2ca349c2a Fix python tests 2022-02-02 18:48:58 +00:00
Deanna Garcia
fc9fb726f1 Fix python and kotlin tests 2022-02-02 01:02:08 +00:00
Deanna Garcia
b7fe12e367 Syncing from internal 2022-02-01 21:30:49 +00:00
Deanna Garcia
ab4585a695 Sync from Piper @425656941
PROTOBUF_SYNC_PIPER
2022-02-01 18:24:53 +00:00
Adam Cozzette
18521f6055 Merge branch '3.19.x' into merge-3.19.x 2022-01-28 17:42:21 +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
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
Adam Cozzette
5bb34e9930 Merge branch '3.19.x' into merge-3.19.x 2022-01-11 18:07:17 +00:00
Adam Cozzette
cc7b1b5323 Update protobuf version 2022-01-10 18:08:15 -08:00
Adam Cozzette
203c593b96 Fix build error with Python 3.10 build on Windows
The Windows build for Python 3.10 is giving us an error about ssize_t
being undefined, so this commit fixes the problem by replacing it with
Py_ssize_t, which is consistent with what we do elsewhere in the file.
2022-01-10 16:55:04 -08:00
Adam Cozzette
922a7ec189 Fix Python 3.10 C++ tests (#9128)
The first change is to make sure we always define PY_SSIZE_T_CLEAN
before including Python.h. Starting from Python 3.10 this is required.
Otherwise we get errors like this:

SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats

The second change is to update reflection_test.py to account for the
fact that with Python 3.10, we get a TypeError even with the C++
implementation when trying to assign a float to a bool field. I'm not
sure why this changed with Python 3.10, but it seems like a good thing
since this is the desired behavior anyway.
2022-01-10 16:55:04 -08:00
Adam Cozzette
eb94f17a8b Update protobuf version 2022-01-05 10:05:11 -08:00
tomerv
47e05427e3
Fix typo in docstring (#9208) 2021-11-10 17:03:55 -08:00
Adam Cozzette
7ccf4d8f67
Merge pull request #9169 from protocolbuffers/3.19.x
Merge 3.19.x into master
2021-11-02 10:10:47 -07:00
Thomas Hisch
26603a1466
Remove unittest2 imports (#9171)
They were only needed for python versions <= 2.6

Related: #6658
2021-10-30 11:56:40 -07:00
Adam Cozzette
7c40b2df1f
Update protobuf version (#9167) 2021-10-28 14:07:53 -07:00
Nipunn Koorapati
0707f2e7f5
Provide a type alias field ValueType on EnumTypeWrapper (#8182)
This should provide a runtime alias, which can be
used in mypy stubs to provide better typing for enum values

Fixes #8175
2021-10-21 15:09:41 -07:00
Adam Cozzette
e6430dd4a0
Merge pull request #9136 from protocolbuffers/3.19.x
Merge 3.19.x into master
2021-10-21 11:45:51 -07:00
Adam Cozzette
63f952b987
Fix Python 3.10 C++ tests (#9128)
The first change is to make sure we always define PY_SSIZE_T_CLEAN
before including Python.h. Starting from Python 3.10 this is required.
Otherwise we get errors like this:

SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats

The second change is to update reflection_test.py to account for the
fact that with Python 3.10, we get a TypeError even with the C++
implementation when trying to assign a float to a bool field. I'm not
sure why this changed with Python 3.10, but it seems like a good thing
since this is the desired behavior anyway.
2021-10-20 14:51:07 -07:00
Adam Cozzette
17b30e9647
Update protobuf version (#9119) 2021-10-20 10:14:02 -07:00
Adam Cozzette
3f3e6f47c6
Update version to 3.19.0-rc2 and fix changelog about Java 7 (#9116)
* Update protobuf version

* Update CHANGES.txt to reflect that we're not yet dropping Java 7
2021-10-19 09:01:57 -07:00
Adam Cozzette
454778d011
Python: fix usages of deprecated assertRaisesRegxp (#9098)
assertRaisesRegexp has been deprecated in favor of the slightly
different spelling assertRaisesRegex. Let's fix this just to clean up a
bunch of deprecation warnings in the tests.
2021-10-15 19:00:04 -07:00
deannagarcia
df5b7fabb8
Merge pull request #7498 from psobot/add-python-descriptor-debug-string
Add GetDebugString to Python FileDescriptor interface.
2021-10-15 15:03:02 -07:00
deannagarcia
6c0168bd65
Merge pull request #7016 from roehling/fix-6205-unknown-fields-integer-overflow
Prevent integer overflow for unknown fields in Python
2021-10-15 14:59:57 -07:00
Adam Cozzette
519340d662
Update protobuf version (#9106) 2021-10-15 14:33:06 -07:00
Adam Cozzette
f367bfb13d
Use dedicated helper functions for map descriptors (#9099)
The Descriptor class now has map_key() and map_value() methods for
accessing the special key and value fields in generated map entry
messages. This commit updates all the relevant code to use these
accessors instead of the clunkier FindFieldByName("key") or
FindFieldByName("value") approach.
2021-10-15 14:26:54 -07:00
Bu Sun Kim
c01cd6ec79
Add python 3.10 (#9034)
* Add python 3.10

* Update setup.py and tox.ini

* fix: fix 3.9 -> 3.10

* fix: py310-cpp
2021-10-15 10:24:49 -07:00
Peter Sobot
ef0bd1343b Only run GetDebugString test with cpp impl. 2021-10-15 11:39:21 -04:00
Timo Röhling
5100be2b77 Prevent integer overflow for unknown fields
The PyInt_FromLong() conversion function will truncate 64 bit integer
values on 32 bit architectures. We will now use the PyLong_* functions
with the appropriate minimum size for each field.

Note that this commit also switches to the unsigned versions, since the
unknown integer fields have been declared unsigned anyway.

Fixes #6205
2021-10-14 23:30:01 +02:00
Peter Sobot
4e176f29b4 Added GetDebugString to Python FileDescriptor interface. 2021-10-14 16:51:22 -04:00