* Fixed memory bug: properly root repeated/map field when assigning.
Previously the protobuf extension would not properly root
memory from a repeated field or map when assigning to a
message field (see the attached test case). This could cause
crashes if the repeated field is subsequently accessed.
* Add accidentally-deleted Ruby test.
* Some more updates to PHP testing infrastructure (#8576)
* WIP.
* Added build config for all of the tests.
* Use ../src/protoc if it is available, for cases where Bazel isn't available.
* Added test_php.sh.
* Fix for the broken macOS tests.
* Move all jobs to use php80 instead of lots of separate jobs.
* Only pass -t flag if we are running in a terminal.
* Updated php_all job to use new Docker stuff.
* Fixed PHP memory leaks and arginfo errors (#8614)
* Fixed a bunch of incorrect arginfo and a few incorrect error messages.
* Passes mem check test with no leaks!
* WIP.
* Fix build warning that was causing Bazel build to fail.
* Added compatibility code for PHP <8.0.
* Added test_valgrind target and made tests Valgrind-clean.
* Updated Valgrind test to fail if memory leaks are detected.
* Removed intermediate shell script so commands are easier to cut, paste, and modify.
* Passing all Valgrind tests!
* Hoist addref into ObjCache_Get().
* Removed special case of map descriptors by keying object map on upb_msgdef.
* Removed all remaining RETURN_ZVAL() macros.
* Removed all explicit reference add/del operations.
* Added REFCOUNTING.md to Makefile.am.
* Updated upb version and fixed PHP to not get unset message field. (#8621)
* Updated upb version and fixed PHP to not get unset message field.
* Updated changelog.
* Fixed preproc test to handle old versions of Clang withot __has_attribute().
* A second try at fixing __has_attribute().
* Copy __has_attribute() fix to cc file also.
* Updated failure list for PHP for fixed test.
* Updated version of upb for Ruby (#8624)
* Updated upb.
* Preserve legacy behavior for unset messages.
* Updated failure list.
* Updated CHANGES.txt.
* Added erroneously-deleted test file.
* Fixed condition on compatibility code.
* Re-introduced deleted file again, and fixed Rakefile to not delete it.
* Fix generation of test protos.
Bazel has switched its protobuf rules to make them use the proto
compiler in the exec configuration instead of the host configuration.
However, if rules in protobuf still use the host configuration then
multiple copies of the compiler can end up being built.
cfg="host" is deprecated in any case and being replaced with cfg="exec"
where possible.
https://docs.bazel.build/versions/master/skylark/rules.html#configurations
* Updated upb version and fixed PHP to not get unset message field.
* Updated changelog.
* Fixed preproc test to handle old versions of Clang withot __has_attribute().
* A second try at fixing __has_attribute().
* Copy __has_attribute() fix to cc file also.
* Updated failure list for PHP for fixed test.
* Make language instructions' documentation links clickable
See 86208c52.
* Add a `git submodules` check to autogen.sh
Running `./autogen.sh && make` happens to work without initializing git
submodules - but autogen.sh writes to what is supposed to be a git
submodules directory, so trying to later initialize git submodules
fails.
This change makes building a bit more reliable for people who miss this
step.
* Revise third_party googletest logic
As discussed in PR, instead of requiring that `git submodule --init` be
run, correctly handle the case where it isn't run.
* Add more description on unspecified directory
In the example code, the "js" folder appeared for the first time and there is no clue where the current folder is. Therefore, there should be some comments describing what the folder is. Otherwise, like me, spent a lot of time guessing what codes - some release version or the source code - should be downloaded to go to the "js" directory.
* Add detailed description on how to run js tests
The test files are directly in the Protocol Buffer project js folder. Add more detailed instruction on how and where to run the tests.
* Correct two spelling mistakes
The two spelling mistakes mentioned in your comments are corrected.
It looks like some syntax errors were introduced by mistake because some
left parentheses were changed to curly braces without the right parens
being changed accordingly. This fixes#8611.
* [PHP] Fixed $msg->setMessage(null) to properly clear the message.
Fixes: https://github.com/protocolbuffers/protobuf/issues/8457
* Changed pure PHP to throw TypeError, and added a test for null.
* Added more tests and fixed null in setter for oneof.