Commit Graph

8812 Commits

Author SHA1 Message Date
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
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
cc7b1b5323 Update protobuf version 2022-01-10 18:08:15 -08:00
Adam Cozzette
ee432e55b8 Update CHANGES.txt for 3.19.3
The 3.19.2 release was supposed to fix the missing Python 3.10 wheel for
Windows, but this turned out to need some more fixes. This commit
updates CHANGES.txt to reflect that this fix will happen in 3.19.3
instead of 3.19.2.
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
cb46755e64 Tweak wording of CHANGES.txt 2022-01-05 10:05:11 -08:00
Adam Cozzette
eb94f17a8b Update protobuf version 2022-01-05 10:05:11 -08:00
Adam Cozzette
ea9a01a0f5 Update CHANGES.txt for 3.19.2 release 2022-01-05 10:05:11 -08:00
Adam Cozzette
9638a5e531 Improve performance of parsing unknown fields in Java (#9371)
Credit should go to @elharo for most of these Java changes--I am just
cherry-picking them from our internal codebase. The one thing I did
change was to give the UTF-8 validation tests their own Bazel test
target. This makes it possible to give the other tests a shorter
timeout, which is important for UnknownFieldSetPerformanceTest in
particular.
2022-01-05 10:05:11 -08:00
Adam Cozzette
0e02f95b87 Fix Ruby release build by pinning rake-compiler-dock version (#9372)
Our Ruby release build broke at some point in the past day or so, and I
strongly suspect it is due to a new version (1.2.0) of
rake-compiler-dock. This commit pins the version to 1.1.0 as a temporary
fix.
2022-01-05 10:05:11 -08:00
Adam Cozzette
9057466a7a
Merge pull request #9336 from acozzette/merge-3.18.x
Merge 3.18.x into 3.19.x
2021-12-23 09:58:38 -08:00
Adam Cozzette
9227f60f85 Merge branch '3.18.x' into merge-3.18.x 2021-12-22 23:04:07 +00:00
Adam Cozzette
1fe07f9ce2
Cherry-pick fix from #9311 into 3.18.x (#9320)
* Dropped Ruby 2.4 support for CI and releases.

* Removed Kokoro configs for old Ruby versions.

* Update Dockerfile to allow it to be rebuilt

Co-authored-by: Joshua Haberman <jhaberman@gmail.com>
2021-12-22 15:01:34 -08:00
Jie Luo
cb1f49ae73
Cherry-pick Python 3.10 fix to 3.19.x (#9323) 2021-12-17 10:50:45 -08:00
Jie Luo
bb5094881c
Update python 3.10 install MD5 Sum (#9322)
https://www.python.org/downloads/release/python-3100/
2021-12-16 21:38:42 -08:00
Adam Cozzette
31dd7b71cc
Fix benchmark by making sure we use Python 3 (#9170) (#9176)
The benchmark runs have been failing since we started requiring Python
3, so this changes fixes the benchmarks by ensuring we always use Python
3.
2021-11-01 11:44:58 -07:00
Adam Cozzette
7c40b2df1f
Update protobuf version (#9167) 2021-10-28 14:07:53 -07:00
Adam Cozzette
42ff92a4d1
Merge pull request #9166 from acozzette/cherry-pick-fixes
Cherry-pick fixes for 3.19.1 and update change log
2021-10-28 13:07:03 -07:00
Adam Cozzette
1c8ae24595 Update changelog for 3.19.1
I also updated CHANGES.txt to include a couple things I forgot to add
for 3.19.0.
2021-10-28 18:09:06 +00:00
Peter Zhu
b2ac7ced50 Fix memory leak in MessageClass.encode
If the line above raises an exception, the upb_arena is lost and memory
is leaked.
2021-10-28 17:47:53 +00:00
Marnix Bouhuis
e58469bdbe JS: Fixed ReferenceError: window is not defined when getting the global object (#9156) 2021-10-28 17:46:36 +00:00
Adam Cozzette
c7dfd0d6b9
Align dependency handling with Bazel best practices (#9165)
This commit removes the use of bind() since that function goes against
Bazel best practices:
https://docs.bazel.build/versions/main/external.html#repository-rules-1
The bind() function basically maps a dependency into //external, but
there is no good reason to do this. By mapping dependencies into
//external and relying on this in our own BUILD files, we're forcing
projects that depend on us to do the same. The one bind() call that I
did leave in place was //:python_headers. This one seems to be doing
something complicated I don't fully understand, and I don't want to risk
breaking it.

This change also moves our list of required Maven artifacts into a
constant in protobuf_deps.bzl. This way, projects that depend on us can
refer to this list when they invoke maven_install() and automatically
pull in all the necesary dependencies.

This fixes #9132.
2021-10-28 10:34:54 -07:00
Adam Cozzette
67c2a92f82
Ensure that release archives contain everything needed for Bazel (#9131)
This change adds some files to EXTRA_DIST in Makefile.am so that our
published tar and zip files will have everything needed for Bazel
builds. I also added a basic test for this so that next time we should
find out sooner if we're missing any important files.

This should fix #9129.
2021-10-21 06:47:17 -07:00
Adam Cozzette
17b30e9647
Update protobuf version (#9119) 2021-10-20 10:14:02 -07:00
Joshua Haberman
912eb8b89e
Merge pull request #9121 from haberman/rubyfix
Fix for descriptor_pb.rb: google/protobuf should be required first.
2021-10-19 17:14:26 -07:00
Joshua Haberman
bb5a2684de Minor whitespace fixes and test fixups. 2021-10-19 16:21:24 -07:00
deannagarcia
51cb7f99d7
Merge pull request #9120 from protocolbuffers/kotlinInlining
Fixing inlining and deprecation for repeated string fields in kotlin
2021-10-19 15:21:52 -07:00
Joshua Haberman
4c445b1803 Fix for descriptor_pb.rb: google/protobuf should be required first. 2021-10-19 14:51:52 -07:00
Deanna Garcia
ad9eb238cc Fixing formatting 2021-10-19 21:36:30 +00:00
Deanna Garcia
33113ce9f9 Fixing inlining and deprecation for repeated string fields in kotlin 2021-10-19 21:34:32 +00: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
53a1d66d9d
Update PHP release notes for 3.19.0 (#9110) 2021-10-15 15:35:27 -07:00
Adam Cozzette
d1c6620347 Update CHANGES.txt for 3.19.0 2021-10-15 15:21:08 -07:00
Adam Cozzette
8a0aa4b372
Update Mac test runs to download RVM directly from GitHub (#9107)
Our Mac test runs recently started failing to download RVM. The issue
appears to be a combination of an SSL certificate expiring and old
OpenSSL versions having a bug preventing them from validating the
replacement certificate: https://github.com/rvm/rvm/issues/5133

This commit works around the problem by downloading RVM from GitHub as
suggested in one of the comments on the issue above.
2021-10-15 14:41:59 -07:00
Adam Cozzette
519340d662
Update protobuf version (#9106) 2021-10-15 14:33:06 -07:00
Nils
6b0a1c2407
Add prost and quick-protobuf to third_party.md (#9104) 2021-10-15 13:12:01 -07:00
Adam Cozzette
d049bce844
Remove references to HAVE_PTHREAD (#9100)
This is based on @haberman's changes in #8257. Now that we're using
std::mutex we no longer need to check whether pthreads are available, so
this commit removes references to HAVE_PTHREAD. I left the autotools
build alone, though, since we are likely to drop support for it soon
anyway.
2021-10-15 13:10:38 -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
Jorg Brown
72f085747e
Use int32_t rather than int32. 2021-10-14 19:44:18 -07:00
Marnix Bouhuis
6bc21b531e
Update the way we get the global object, to comply with CSP no-unsafe-eval (#8864) 2021-10-14 15:15:20 -07:00
Daniel Kuschny
3e02f65f5c
Skip exports if not available by CommonJS (#8856) 2021-10-14 15:02:21 -07:00
deannagarcia
8b69867fef
Merge pull request #7642 from philjdf/master
[C#] Make FieldDescriptor propertyName public
2021-10-14 12:43:55 -07:00
deannagarcia
5106dea867
Merge pull request #7938 from alusco-scratch/patch-1
Override Map.clone to use Map's dup method
2021-10-14 11:24:01 -07:00