Commit Graph

7934 Commits

Author SHA1 Message Date
Joshua Haberman
b75a49f9e0 GC secondary map periodically. 2021-03-25 11:54:50 -07:00
Adam Cozzette
fd8aabf32d Update protobuf version 2021-03-03 11:37:48 -08:00
Adam Cozzette
e5c067f81b Updated CHANGES.txt and PHP changelog for 3.15.4 release 2021-03-03 11:37:48 -08:00
Antony Dovgal
aa41d9005b read_property() handler is not supposed to return NULL
NULL is never expected as a result of read_property() handler,
it should return &EG(uninitialized_zval) if there is no such property in
the object
2021-03-03 11:32:58 -08:00
Joshua Haberman
cf7d81f88c
Merge pull request #8363 from haberman/ruby-nil-fix
Fixed SEGV when users pass nil messages. This also disallows `nil` in RepeatedField or Map.
2021-03-02 17:26:46 -08:00
Joshua Haberman
7d63b996e1 Removed compatibility test that tries to append "nil" to repeated field. 2021-03-02 15:20:06 -08:00
Florian Simon
1add7a7bd6 Create a CMake option to control whether or not RTTI is enabled
This is useful for Conan recipes that build Protobuf, in which
whatever we want to enable has to be enabled in the initial command line.
Without this, the people maintaining the recipe have to patch the CMake
setup of Protobuf before building the binaries.

Closes #5541
2021-03-02 13:47:05 -08:00
Joshua Haberman
dfa54577d6 [Ruby] Fixed SEGV when users pass nil messages. 2021-03-02 12:44:16 -08:00
Adam Cozzette
983d115bd9 Update protobuf version 2021-02-25 09:20:20 -08:00
Adam Cozzette
eb542e606b Updated CHANGES.txt for 3.15.3 release 2021-02-25 09:19:24 -08:00
Joshua Haberman
80ec787928
Merge pull request #8341 from haberman/ruby-2.5-gc
Ruby <2.7now uses WeakMap too, which prevents memory leaks.
2021-02-24 17:49:02 -08:00
Joshua Haberman
9879f423ff Ruby <2.7now uses WeakMap too, which prevents memory leaks.
Ruby <2.7 does not allow non-finalizable objects to be WeakMap
keys: https://bugs.ruby-lang.org/issues/16035

We work around this by using a secondary map for Ruby <2.7 which
maps the non-finalizable integer to a distinct object.

For now we accept that the entries in the secondary map wil never
be collected.  If this becomes a problem we can perform a GC pass
every so often that looks at the contents of the object cache to
decide what can be deleted from the secondary map.
2021-02-24 16:41:35 -08:00
Adam Cozzette
d7e943b8d2 Update protobuf version 2021-02-23 13:21:42 -08:00
Adam Cozzette
1af4657b80 Updated CHANGES.txt 2021-02-23 13:21:42 -08:00
Yuriy Chernyshov
09f94e7311 Fix PROTOBUF_CONSTINIT macro redifinition
The #ifdef block is duplicated with the above (which was fixed in 3.15.1).

It would be great to have this fix backported to 3.15.1 (and released as 3.15.2).
2021-02-23 13:21:27 -08:00
Joshua Haberman
2ff31d34aa
Merge pull request #8330 from haberman/rubyfix
[Ruby] Fix for FieldDescriptor.get(msg).
2021-02-22 18:19:44 -08:00
Joshua Haberman
4e3ea74e42 [Ruby] Fix for FieldDescriptor.get(msg).
This fix is similar to the previous bug found in
Message.[]. The fix is the same: we need to handle
arrays and maps properly.

Fixes: https://github.com/protocolbuffers/protobuf/issues/8325
2021-02-22 17:14:46 -08:00
Adam Cozzette
052dc799d2 Update protobuf version 2021-02-19 15:12:24 -08:00
Adam Cozzette
24d8a554ea Updated CHANGES.txt 2021-02-19 15:12:24 -08:00
Adam Cozzette
d721e36ecc Made some small fixes for MinGW and for C++20 with GCC
Our use of constinit does not seem to work with GCC yet (see
https://github.com/protocolbuffers/protobuf/issues/8310), so this
commit disables it on GCC for now.

This commit also updates mutex.h to work around the fact that MinGW's
std::mutex apparently does not have a constexpr constructor. We already
have this kind of workaround for MSVC, so we can just use the same
workaround.
2021-02-19 15:11:34 -08:00
Joshua Haberman
b12ab0cf53
Merge pull request #8320 from haberman/ruby-duration-fix
[Ruby] Fix for truncating behavior when converting Float to Duration.
2021-02-19 15:03:42 -08:00
Joshua Haberman
3b3aac95a6 [Ruby] Fix for truncating behavior when converting Float to Duration. 2021-02-19 13:58:19 -08:00
Joshua Haberman
4f961c8a70
Merge pull request #8313 from haberman/ruby-crash-fix
[Ruby] Bugfix for Message.[] for repeated or map fields.
2021-02-19 10:15:59 -08:00
Joshua Haberman
256f1327ea [Ruby] Bugfix for Message.[] for repeated or map fields. 2021-02-19 09:29:06 -08:00
Adam Cozzette
ae50d9b990 Update protobuf version 2021-02-18 11:50:15 -08:00
Adam Cozzette
8260126500 Update protobuf version 2021-02-17 10:51:33 -08:00
Yuhanun Citgez
c741c46604 Resovled issue in the .pb.cc files 2021-02-17 10:51:21 -08:00
Yuhanun Citgez
eef276412e Resolved an issue where NO_DESTROY and CONSTINIT were in incorrect order 2021-02-17 10:51:21 -08:00
Adam Cozzette
0040102e6f Updated collect_all_artifacts.sh for Ubuntu Xenial 2021-02-17 09:44:48 -08:00
Adam Cozzette
26cb6a7a6d Delete root-owned files in Kokoro builds
Some of our Kokoro builds have been failing because Kokoro is unable to
copy root-owned files when the build is complete. This commit fixes the
problem by deleting these files at the end.
2021-02-16 16:06:53 -08:00
Brecht Sanders
1e924efa90 Update port_def.inc
Fix for Windows build with MinGW-w64 compiler which has __has_attribute but has issues with __attribute__((weak)).
2021-02-11 20:25:25 -08:00
Brecht Sanders
9a80cf1225 Update coded_stream.h
Fix for Windows build with MinGW-w64 compiler. Windows is assumed to always be little endian.
2021-02-11 20:25:25 -08:00
Joshua Haberman
a97c4f4f2c
Merge pull request #8276 from haberman/php-warning
Added more information to "file already loaded" warning.
2021-02-10 16:04:22 -08:00
Joshua Haberman
44cd75d215
Merge pull request #8282 from haberman/changelog
Added to the changelog entries for Ruby & PHP.
2021-02-10 15:13:01 -08:00
Joshua Haberman
c59e7f1c0c Added to the changelog entries for Ruby & PHP. 2021-02-10 15:06:29 -08:00
Adam Cozzette
d777155d81 Updated collect_all_artifacts.sh to avoid installing apt-transport-https
The installation of apt-transport-https is failing and causing this
script to exit early. I suspect the package is no longer needed since
recent versions have moved it into the apt package, so this change
updates the script to stop trying to install apt-transport-https.
2021-02-10 13:08:02 -08:00
Joshua Haberman
db66c95eaf Added more information to "file already loaded" warning.
Also changed it to zend_error() so it is more easily suppressed.
2021-02-09 17:44:30 -08:00
Adam Cozzette
66e5185780 Added PHP changes for 3.15.0 into package.xml 2021-02-09 14:20:19 -08:00
Adam Cozzette
42fea44a9c Updated CHANGES.txt for the 3.15.0 release 2021-02-08 10:52:37 -08:00
Adam Cozzette
e9f2ef308c Update protobuf version 2021-02-05 15:37:10 -08:00
Paul MARS
59b3d97f6d Reserve extension id for protoc-gen-psql & protoc-gen-sanitize 2021-02-05 10:34:04 -08:00
Joshua Haberman
a530dbe50c
Merge pull request #8262 from haberman/sync-stage
Integrate from Piper for C++, Java, and Python
2021-02-04 19:02:16 -08:00
Joshua Haberman
e8aa635397 Tweak our JavaScript rewrites a bit to handle jspb.* imports. 2021-02-04 17:04:17 -08:00
Joshua Haberman
beb70bb83e Change is_trivially_copy_assignable -> is_trivial too. 2021-02-04 15:04:17 -08:00
Joshua Haberman
fc1cfb0174 Also change is_trivially_copy_constructible to std::is_trivial. 2021-02-04 14:42:12 -08:00
Joshua Haberman
fae6773539 Fixed misspelling. 2021-02-04 14:34:26 -08:00
Joshua Haberman
b74892e9c3 Replace is_trivially_default_constructible with is_trivial for old libstdc++. 2021-02-04 14:33:20 -08:00
Joshua Haberman
7a92a5ab24 Added another missing CHANGES.txt entry. 2021-02-04 14:26:30 -08:00
Joshua Haberman
84320bf8e8 Added missing changelog entry. 2021-02-04 14:17:08 -08:00
Joshua Haberman
9194426bce Added CHANGES.txt entries. 2021-02-04 14:13:45 -08:00