https://github.com/google/protobuf

sort by:
Revision Author Date Message Commit Date
4773327 cleanup whitespace in message.cc PiperOrigin-RevId: 582344807 14 November 2023, 17:21:22 UTC
885fd6f Migrate cpp.rs to googletest-rust PiperOrigin-RevId: 582335925 14 November 2023, 16:50:28 UTC
3cb1bf3 Auto-generate files after cl/582324372 14 November 2023, 16:27:17 UTC
8fe757e Internal changes. PiperOrigin-RevId: 582324372 14 November 2023, 16:11:12 UTC
7c68721 Auto-generate files after cl/582150596 14 November 2023, 03:01:42 UTC
8849dea upb: implement some upb_FieldType and upb_CType functions PiperOrigin-RevId: 582150596 14 November 2023, 02:51:28 UTC
b01bd1b Mark the python generator for editions support. Editions has been implemented in all three implementations already, and this simply enables it. PiperOrigin-RevId: 582139104 14 November 2023, 01:52:32 UTC
fac9fdc Auto-generate files after cl/582099455 13 November 2023, 23:38:10 UTC
d273311 Use Emit instead of format() PiperOrigin-RevId: 582099455 13 November 2023, 23:21:00 UTC
32af7d2 Auto-generate files after cl/581980280 13 November 2023, 17:16:27 UTC
b3cfff3 Introduce preliminary submessage_mut semantics We've had access to views for submessages for a while: If you hit some_message.submsg().some_int(), you'll get a view for that int. Until now, there hasn't been a way to get some_message.submsg_mut(), so we introduce the mutational pathway here. We haven't added fully-functioning mutation, but this is a step towards that goal. subview was inaccurate, so I've refactored and renamed: { accessor_fns_for_views, accessor_fns_for_muts }. PiperOrigin-RevId: 581984371 13 November 2023, 17:10:19 UTC
a74398f Change array insertions to use `_upb_Array_ResizeUninitialized` instead of `upb_Array_Resize`. `upb_Array_Append` and `upb_Array_Insert` will resize the array and then immediately overwrite the new values. These methods currently use `upb_Array_Resize` to do the array resizing, however this does extra unnecessary work by initializing those new values. This changes these insertion methods to use `_upb_Array_ResizeUninitialized` instead, which will perform the resize without the extra unnecessary initialization. PiperOrigin-RevId: 581980280 13 November 2023, 17:00:20 UTC
2a2ae9b Remove unused ext_scope variable from ExtensionIdentBase. PiperOrigin-RevId: 581979197 13 November 2023, 16:55:42 UTC
cc140a1 Automated rollback of commit b1370701fde443ee73b5e7cf321d1d27a2d1d19c. PiperOrigin-RevId: 581957987 13 November 2023, 15:39:16 UTC
81607b2 Fix FieldSet to not load lazy fields when the fields map is cloned. In particular, if MessageSet.Builder has build() called on it, but is then later further modified, we don't need to pre-load all lazy fields during this later modification. PiperOrigin-RevId: 581941605 13 November 2023, 14:38:01 UTC
92619cd Bump ossf/scorecard-action from 2.1.2 to 2.3.1 (#14554) Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.1.2 to 2.3.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ossf/scorecard-action/releases">ossf/scorecard-action's releases</a>.</em></p> <blockquote> <h2>v2.3.1</h2> <h2>What's Changed</h2> <ul> <li>:seedling: Bump github.com/ossf/scorecard/v4 from v4.13.0 to v4.13.1 by <a href="https://github.com/spencerschrock"><code>@​spencerschrock</code></a> in <a href="https://redirect.github.com/ossf/scorecard-action/pull/1282">ossf/scorecard-action#1282</a> <ul> <li>Adds additional Fuzzing detection and fixes a SAST bug related to detecting CodeQL. For a full changelist of what this includes, see the <a href="https://github.com/ossf/scorecard/releases/tag/v4.13.1">v4.13.1</a> release notes</li> </ul> </li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/ossf/scorecard-action/compare/v2.3.0...v2.3.1">https://github.com/ossf/scorecard-action/compare/v2.3.0...v2.3.1</a></p> <h2>v2.3.0</h2> <h2>What's Changed</h2> <ul> <li>:seedling: Bump github.com/ossf/scorecard/v4 from v4.11.0 to v4.13.0 by <a href="https://github.com/spencerschrock"><code>@​spencerschrock</code></a> in <a href="https://redirect.github.com/ossf/scorecard-action/pull/1270">ossf/scorecard-action#1270</a> <ul> <li>For a full changelist of what this includes, see the <a href="https://github.com/ossf/scorecard/releases/tag/v4.12.0">v4.12.0</a> and <a href="https://github.com/ossf/scorecard/releases/tag/v4.13.0">v4.13.0</a> release notes</li> </ul> </li> <li>:sparkles: Send rekor tlog index to webapp when publishing results by <a href="https://github.com/spencerschrock"><code>@​spencerschrock</code></a> in <a href="https://redirect.github.com/ossf/scorecard-action/pull/1169">ossf/scorecard-action#1169</a></li> <li>:bug: Prevent url clipping for GHES instances by <a href="https://github.com/rajbos"><code>@​rajbos</code></a> in <a href="https://redirect.github.com/ossf/scorecard-action/pull/1225">ossf/scorecard-action#1225</a></li> </ul> <h3>Documentation</h3> <ul> <li>:book: Update access rights needed to see the results in code scanning by <a href="https://github.com/rajbos"><code>@​rajbos</code></a> in <a href="https://redirect.github.com/ossf/scorecard-action/pull/1229">ossf/scorecard-action#1229</a></li> <li>:book: Add package comments. by <a href="https://github.com/spencerschrock"><code>@​spencerschrock</code></a> in <a href="https://redirect.github.com/ossf/scorecard-action/pull/1221">ossf/scorecard-action#1221</a></li> <li>:book: Add SECURITY.md file by <a href="https://github.com/david-a-wheeler"><code>@​david-a-wheeler</code></a> in <a href="https://redirect.github.com/ossf/scorecard-action/pull/1250">ossf/scorecard-action#1250</a></li> <li>:book: Fix typo in token input docs by <a href="https://github.com/aabouzaid"><code>@​aabouzaid</code></a> in <a href="https://redirect.github.com/ossf/scorecard-action/pull/1258">ossf/scorecard-action#1258</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/david-a-wheeler"><code>@​david-a-wheeler</code></a> made their first contribution in <a href="https://redirect.github.com/ossf/scorecard-action/pull/1250">ossf/scorecard-action#1250</a></li> <li><a href="https://github.com/aabouzaid"><code>@​aabouzaid</code></a> made their first contribution in <a href="https://redirect.github.com/ossf/scorecard-action/pull/1258">ossf/scorecard-action#1258</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/ossf/scorecard-action/compare/v2.2.0...v2.3.0">https://github.com/ossf/scorecard-action/compare/v2.2.0...v2.3.0</a></p> <h2>v2.2.0</h2> <h2>What's Changed</h2> <ul> <li>:seedling: Bump github.com/ossf/scorecard/v4 from v4.10.5 to v4.11.0 by <a href="https://github.com/spencerschrock"><code>@​spencerschrock</code></a> in <a href="https://redirect.github.com/ossf/scorecard-action/pull/1192">ossf/scorecard-action#1192</a></li> </ul> <h2>Scorecard Result Viewer</h2> <p>Thanks to contributions from <a href="https://github.com/cynthia-sg"><code>@​cynthia-sg</code></a> and <a href="https://github.com/tegioz"><code>@​tegioz</code></a> at <a href="https://github.com/cncf/clomonitor">CLOMonitor</a>, there is a new Scorecard Result visualization page at <code>https://securityscorecards.dev/viewer/?uri=&lt;project-url&gt;</code>.</p> <ul> <li><a href="https://redirect.github.com/ossf/scorecard-webapp/pull/406">ossf/scorecard-webapp#406</a></li> <li><a href="https://redirect.github.com/ossf/scorecard-webapp/pull/422">ossf/scorecard-webapp#422</a></li> </ul> <p>As an example, you can see our own score visualized <a href="https://securityscorecards.dev/viewer/?uri=github.com/ossf/scorecard">here</a> Checkout our <a href="https://github.com/ossf/scorecard-action/blob/08b4669551908b1024bb425080c797723083c031/README.md#scorecard-badge">README</a> to learn how to link your README badge to the new visualization page.</p> <h2>Publishing Results</h2> <p>This release contains two fixes which will improve the user experience when <code>publish_results</code> is <code>true</code></p> <ul> <li>Runs that fail our <a href="https://github.com/ossf/scorecard-action/blob/08b4669551908b1024bb425080c797723083c031/README.md#workflow-restrictions">workflow restrictions</a> will fail with a 400 response indicating the problem, instead of a vague 500 status. (<a href="https://redirect.github.com/ossf/scorecard-action/pull/1156">ossf/scorecard-action#1156</a>, resolved <a href="https://redirect.github.com/ossf/scorecard-action/issues/1150">ossf/scorecard-action#1150</a>)</li> <li>Scorecard action will retry when signing results and submitting them to our web API. This should help with flakiness from connection failures. (<a href="https://redirect.github.com/ossf/scorecard-action/pull/1191">ossf/scorecard-action#1191</a>)</li> </ul> <h2>Docs</h2> <ul> <li>📖 Update README to accept fine-grained tokens by <a href="https://github.com/pnacht"><code>@​pnacht</code></a> in <a href="https://redirect.github.com/ossf/scorecard-action/pull/1175">ossf/scorecard-action#1175</a></li> <li>📖 Update installation instructions to match current GitHub UI by <a href="https://github.com/joycebrum"><code>@​joycebrum</code></a> in <a href="https://redirect.github.com/ossf/scorecard-action/pull/1153">ossf/scorecard-action#1153</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ossf/scorecard-action/commit/0864cf19026789058feabb7e87baa5f140aac736"><code>0864cf1</code></a> :seedling: Bump docker tag to for v2.3.1 release (<a href="https://redirect.github.com/ossf/scorecard-action/issues/1284">#1284</a>)</li> <li><a href="https://github.com/ossf/scorecard-action/commit/72df3bff668d052aaec251accaffec0b280410fb"><code>72df3bf</code></a> :seedling: Bump github.com/ossf/scorecard/v4 from v4.13.0 to v4.13.1 (<a href="https://redirect.github.com/ossf/scorecard-action/issues/1282">#1282</a>)</li> <li><a href="https://github.com/ossf/scorecard-action/commit/0ea411f94ac145b6fd793458b7f75ebbe7ae0a8f"><code>0ea411f</code></a> :seedling: Bump the docker-images group with 1 update (<a href="https://redirect.github.com/ossf/scorecard-action/issues/1281">#1281</a>)</li> <li><a href="https://github.com/ossf/scorecard-action/commit/dbfd042453ccc43ade96943685dbece2dd86bbae"><code>dbfd042</code></a> :seedling: Bump the github-actions group with 1 update (<a href="https://redirect.github.com/ossf/scorecard-action/issues/1280">#1280</a>)</li> <li><a href="https://github.com/ossf/scorecard-action/commit/2fa1e2fa153141e2950c7e1299ed05e2081ead0c"><code>2fa1e2f</code></a> :seedling: Bump golang.org/x/net from 0.16.0 to 0.17.0 (<a href="https://redirect.github.com/ossf/scorecard-action/issues/1278">#1278</a>)</li> <li><a href="https://github.com/ossf/scorecard-action/commit/652ddd06c802ac1ba4021a9f02978dc5150b223e"><code>652ddd0</code></a> :seedling: Bump github.com/google/go-cmp from 0.5.9 to 0.6.0 (<a href="https://redirect.github.com/ossf/scorecard-action/issues/1277">#1277</a>)</li> <li><a href="https://github.com/ossf/scorecard-action/commit/28d0c92b8bb9dd266a8cf4dde7bae71c06a0c62f"><code>28d0c92</code></a> :seedling: Group Dependabot updates for GitHub Actions and Dockerfiles (<a href="https://redirect.github.com/ossf/scorecard-action/issues/1276">#1276</a>)</li> <li><a href="https://github.com/ossf/scorecard-action/commit/cb50491a46a858cb57669a16a720b7a00e1f9d29"><code>cb50491</code></a> :seedling: Bump distroless/base from <code>a35b652</code> to <code>b31a6e0</code> (<a href="https://redirect.github.com/ossf/scorecard-action/issues/1275">#1275</a>)</li> <li><a href="https://github.com/ossf/scorecard-action/commit/87157ac77d7ec18a631049bc92fdac7ee63a471a"><code>87157ac</code></a> :seedling: Bump github/codeql-action from 2.21.9 to 2.22.1 (<a href="https://redirect.github.com/ossf/scorecard-action/issues/1274">#1274</a>)</li> <li><a href="https://github.com/ossf/scorecard-action/commit/7c1648b23e27a96acf7c3842fd1921d16bd8d4d2"><code>7c1648b</code></a> :seedling: Bump step-security/harden-runner from 2.5.1 to 2.6.0 (<a href="https://redirect.github.com/ossf/scorecard-action/issues/1273">#1273</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ossf/scorecard-action/compare/e38b1902ae4f44df626f11ba0734b14fb91f8f86...0864cf19026789058feabb7e87baa5f140aac736">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ossf/scorecard-action&package-manager=github_actions&previous-version=2.1.2&new-version=2.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Closes #14554 COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/14554 from protocolbuffers:dependabot/github_actions/ossf/scorecard-action-2.3.1 543f85ba25bf9f766566cf77bd0fbc73e81bcc76 PiperOrigin-RevId: 581438189 11 November 2023, 04:11:17 UTC
7c1ec5a Auto-generate files after cl/581408568 11 November 2023, 02:25:04 UTC
8699fde Enable upb editions conformance testing. This also cleans up some pre-existing bugs and adds a Fasttable/ASAN build. PiperOrigin-RevId: 581408568 11 November 2023, 01:07:12 UTC
c6b149c Auto-generate files after cl/581384108 10 November 2023, 23:37:46 UTC
c23d533 Expose editions in Python/upb. This also fixes a few minor bugs in the editions implementation that were caught in python/conformance tests, and adds a new SetFeatureSetDefaults API to the def pool for consistency with C++ and other python implementations. PiperOrigin-RevId: 581384108 10 November 2023, 23:20:41 UTC
e8377f1 Expose editions in Python/C++. This was already fully implemented in C++, but we need to expose features methods to the Python runtime to fully enable it. This also enables conformance and unit-testing for C++. PiperOrigin-RevId: 581364355 10 November 2023, 22:14:05 UTC
efeee51 Auto-generate files after cl/581311618 10 November 2023, 19:17:19 UTC
e2c8113 Use Emit instead of format(). PiperOrigin-RevId: 581311618 10 November 2023, 19:06:56 UTC
ecc2bac Automated rollback of commit 2641517150a7bae3904d0cfbb8804f602a83447f. PiperOrigin-RevId: 581037871 09 November 2023, 23:19:15 UTC
8522fbb Use PROTOBUF poison/unpoison macros instead of ASAN versions to avoid ifdef guards. PiperOrigin-RevId: 581037290 09 November 2023, 23:11:35 UTC
2641517 Add more direct support for MessageSet wire in the table-driven parser: - Make the table for these types be usable. The only fast parse function takes care of the whole parsing loop. Enable direct-to-table parsing for MessageSet submessages. - Add fast functions for the parent messages to skip `_InternalParse` and `ParseLoop`. The fast function directly reaches in the ExtensionSet. PiperOrigin-RevId: 580998394 09 November 2023, 20:58:37 UTC
1511b7d Internal change. PiperOrigin-RevId: 580990149 09 November 2023, 20:29:00 UTC
1c8ee7c Move `TopologicalSortMessagesInFile` to helpers.cc We would use this function in helpers.cc for identifying the proto fields to inline. Better to have it there. PiperOrigin-RevId: 580982766 09 November 2023, 20:04:28 UTC
b137070 Automated rollback of commit 8c2416311f7b2c5410e620197baacf9d82b86ebd. PiperOrigin-RevId: 580960903 09 November 2023, 18:53:45 UTC
e018e99 Complete migration of accessors_proto3_test.rs to googletest-rust PiperOrigin-RevId: 580946544 09 November 2023, 18:23:07 UTC
a1e8659 Auto-generate files after cl/580944277 09 November 2023, 18:16:56 UTC
f7b2fa4 Add missing version comments to C++ generated source files. PiperOrigin-RevId: 580944277 09 November 2023, 18:06:19 UTC
c482a8a update protos_generator to shortened license PiperOrigin-RevId: 580934188 09 November 2023, 17:33:25 UTC
d30e326 Remove obsolete `github` directory from utf8_range PiperOrigin-RevId: 580926097 09 November 2023, 17:08:49 UTC
ae1f2b7 Add support for options in CRuby, JRuby and FFI (#14594) Rewrrte and extension of #12828, with additional work for JRuby. Partially fixes #1198 by adding support for custom options. Handling of extensions will be handled in a follow up. Also includes these unrelated fixes: * Removes code echo between `google/protobuf/repeated_field.rb` and `google/protobuf/ffi/repeated_field.rb` by `require`'ing the former in the latter. * Adds missing calles to `testFrozen()` from methods of `RepeatedField` under JRuby that mutate. * Various typos in comments. Closes #14594 COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/14594 from protocolbuffers:add-support-for-options-in-ruby 16cc9e35b8635989af28962f4a54444a176a0559 PiperOrigin-RevId: 580848874 09 November 2023, 11:48:30 UTC
92f6153 Auto-generate files after cl/580731298 09 November 2023, 02:51:00 UTC
cec3a81 Remove `-main` as a language version suffix in a separate version file than version numbers. PiperOrigin-RevId: 580731298 09 November 2023, 02:40:49 UTC
e471b00 Auto-generate files after cl/580726494 09 November 2023, 02:35:25 UTC
8c24163 Compare explicit zeroes from prototext in partially. Right now, zeros are not allowed in explicit prototext comparison, frequently leading to very awkward manual checking. This tracks such explicit zeros, and ensures they remain 0. PiperOrigin-RevId: 580729313 09 November 2023, 02:28:22 UTC
5987c89 Internal change. PiperOrigin-RevId: 580726494 09 November 2023, 02:19:15 UTC
6105bb1 Auto-generate files after cl/580682733 08 November 2023, 23:59:41 UTC
5ca8400 Move utf8_range into the protobuf repo This makes third_party/utf8_range no longer a Git subtree, but instead the permanent location and source of truth for utf8_range. It is also now incorporated into the @com_google_protobuf Bazel repo. Utf8_range still has its own separate CMake build for now, though. PiperOrigin-RevId: 580682733 08 November 2023, 23:43:35 UTC
e6f8b9d message_lite.h: Use PROTOBUF_EXPORT_TEMPLATE_DECLARE with extern template Export extern templates in message_lite.h to avoid missing symbols when linking protobuf-lite.so. PiperOrigin-RevId: 580556084 08 November 2023, 17:29:53 UTC
24fef03 Add support and partial CI coverage for Python 3.12 There's a test run in test_python.yml that is non-trivial to get working with Python 3.12 due to some refactoring of our Docker images that would be needed. But this change updates everything else to add coverage for Python 3.12. The main changes necessary to get the builds working were to upgrade some Pip packages via requirements.txt, including in a patch to `rules_fuzzing` that I plan to upstream soon. I also had to take an explicit dependency on `setuptools`. I removed tox.ini, since it was outdated and we have not been actively maintaining it. PiperOrigin-RevId: 580548224 08 November 2023, 16:53:27 UTC
2bcfbd8 Add Bazel `--incompatible` flags to our bazelrc for CI I was thinking it would be a good idea to proactively opt into all upcoming breaking change flag flips in Bazel, so this change does that by adding all the relevant flags to the common bazelrc file we use in our CI jobs. There are several that we cannot enable yet without breaking something, so I left those commented out for now. PiperOrigin-RevId: 580538273 08 November 2023, 16:14:50 UTC
5c7b41a Auto-generate files after cl/580530262 08 November 2023, 15:52:16 UTC
0129250 Squashed 'third_party/utf8_range/' changes from d863bc33e..0e378bdb2 (#14679) 0e378bdb2 Add missing `<cstdint>` include to utf8_validity_fuzzer.cc git-subtree-dir: third_party/utf8_range git-subtree-split: 0e378bdb224cc8d4653b0db963b474839c2bb43c 08 November 2023, 15:50:44 UTC
e4196b1 Replace CreateMaybeMessage hooks with a `void*` based signature to allow reusing the functions in more generic contexts. Reuse these new functions in the implementation of RepeatedPtrField. PiperOrigin-RevId: 580530262 08 November 2023, 15:41:35 UTC
a9b11dd Auto-generate files after cl/580493003 08 November 2023, 13:28:44 UTC
fa15c21 Fix upb's json decoder ignoring trailing characters after a successfully parsed object. This is a breaking change since the JSON parser will now correctly reject certain bad inputs that it previously silently accepted (for example: json="{}x" was accepted). PiperOrigin-RevId: 580493003 08 November 2023, 13:04:58 UTC
2ec703f Preserve lazy fields when merging FieldSets. In particular, when calling toBuilder() on a MessageSet with lazily-parsed extensions, don't eagerly parse all extensions. PiperOrigin-RevId: 580492290 08 November 2023, 13:00:04 UTC
90aa298 Migrate upb.rs to googletest PiperOrigin-RevId: 580469265 08 November 2023, 11:13:54 UTC
e9d1a70 Auto-generate files after cl/580453646 08 November 2023, 10:38:20 UTC
ac3f553 This CL implements msg.<field>() and msg.<field_mut>() accessors for maps with primitive-typed keys and values for the UPB kernel only. Support for the CPP runtime and non-scalar value types will be implemented in follow up CLs. PiperOrigin-RevId: 580453646 08 November 2023, 10:16:21 UTC
15eccf3 Implement Editions in Pure Python. This change only covers pure python, and follow-up changes will handle C++/upb variants and actually enable editions support. The C++ one works (as evident from the conformance tests), but needs some APIs added to allow for testing. PiperOrigin-RevId: 580304039 07 November 2023, 22:40:26 UTC
fc456ae Change bytes accessors to expose only unmodifiable List<int>, making Bytes as a type an internal implementation detail. PiperOrigin-RevId: 580290313 07 November 2023, 21:59:10 UTC
f82d198 Auto-generate files after cl/580285127 07 November 2023, 21:50:17 UTC
e6ea44c Fix upb_MiniTable_GetOneof(miniTable, field) to work correctly if `field` is the very first field in the proto. PiperOrigin-RevId: 580285127 07 November 2023, 21:39:52 UTC
b837d17 Update to shortened headers in upb_generator PiperOrigin-RevId: 580281151 07 November 2023, 21:27:09 UTC
ebef52e Auto-generate files after cl/580263087 07 November 2023, 20:35:14 UTC
cf3a6f5 Enabled editions support for upb generated code. This required enabling the feature in the code generator and fixing a few edge cases around label and type. Also added tests to verify the special cases, and to verify that required fields work as expected. PiperOrigin-RevId: 580263087 07 November 2023, 20:24:34 UTC
bb40d91 Update main/version.json to 26-dev PiperOrigin-RevId: 580259174 07 November 2023, 20:11:52 UTC
62f4888 Bump mac PHP version to 8.2 to fix non-hermetic breakages. This was likely either a change in macos or the github runners PiperOrigin-RevId: 580245853 07 November 2023, 19:31:23 UTC
7463878 Give protobuf janitor access to edit prs/issues and exempt issues with the 'help wanted' tag. The initial job ran and found stale PRs/issues, but lacked the permission to comment on them, add labels, or close issues/PRs. Any issues with 'help wanted' shouldn't be auto-closed as we want them to be able to sit inactive. PiperOrigin-RevId: 580209299 07 November 2023, 17:41:37 UTC
1e0338b [ObjC] Ensure `-[GPBMessage writeToOutputStream:]` still throws exception on flush failure This restores the behavior of `-[GPBMessage writeToOutputStream:]` throwing an exception if the underlying `GPBCodedOutputStream` failed to flush. `GPBDictionary` and `GPBUnknownFieldSet` could also have theoretically thrown exceptions from just about any method (although not for disk I/O reasons), so this also restores that functionality by explicitly flushing before deallocating the `GPBCodedOutputStream`. PiperOrigin-RevId: 580207004 07 November 2023, 17:33:25 UTC
9ac3548 Clean up trailing whitespace in defs.bzl PiperOrigin-RevId: 580198718 07 November 2023, 17:08:25 UTC
9118b90 Auto-generate files after cl/580169349 07 November 2023, 15:28:54 UTC
6404e55 Automated rollback of commit 022d223488c0807e11d1c2509123901f5cc6b0b6. PiperOrigin-RevId: 580169349 07 November 2023, 15:18:31 UTC
75b9030 Auto-generate files after cl/580158012 07 November 2023, 14:38:26 UTC
66ee906 Add initial fuzz test to upb's json encode/decode. Unlike the wire fuzz test this only fuzzes json against a fixed message; in a subsequent improvement it can additionally fuzz over the message def itself. PiperOrigin-RevId: 580158012 07 November 2023, 14:27:50 UTC
a2eda04 Enable the mutable oneof accessor. PiperOrigin-RevId: 580142622 07 November 2023, 13:21:45 UTC
d63a145 Allow users to force eager parsing via CodedInputStream::ForceEagerParsing(). PiperOrigin-RevId: 579989063 07 November 2023, 00:22:23 UTC
f247630 Add CI coverage for utf8_range We will soon be moving utf8_range into the protobuf repo, not as a subtree anymore but as the real source of truth. This change adds CI coverage in advance so that there will not be a lapse in coverage. I also upgraded our pinned versions of rules_fuzzing and rules_python, to fix some errors that came up with Bazel 6 and Python 3.12. I had to patch rules_fuzzing but I am working on upstreaming the fixes. PiperOrigin-RevId: 579987379 07 November 2023, 00:12:05 UTC
0f1ab75 Add empty feature resolution method for FileDescriptor to Java runtime. PiperOrigin-RevId: 579981476 06 November 2023, 23:53:38 UTC
5c4d643 Move type card printing to standalone function for reuse. PiperOrigin-RevId: 579966858 06 November 2023, 22:59:35 UTC
a2815fa [ObjC] Ensure -[GPBCodedOutputStream dealloc] cannot throw exceptions If `-[GPBCodedOutputStream flush]` failed (e.g., because the filesystem was out of space), then `-[GPBCodedOutputStream dealloc]` would throw an exception. `-dealloc` cannot fail, so the only thing to do in this case is to silently swallow the exception. PiperOrigin-RevId: 579916429 06 November 2023, 20:04:29 UTC
349122f Move the declarations in SerialArena to more closely match the style guide. Roughly, this means: types, static constants, constructors, other functions, data members. Also, remove a redundant `private:`. PiperOrigin-RevId: 579911543 06 November 2023, 19:50:27 UTC
d702651 [ObjC] Ensure collecting delimitedData always return zero length on failure. There was the potential for if the serialization failed, the final release of the CodedOutputStream could flush some data back into the return result; instead insure a zero length data is always returned for that error case. PiperOrigin-RevId: 579865501 06 November 2023, 17:21:03 UTC
1606970 Auto-generate files after cl/579856691 06 November 2023, 17:02:09 UTC
7e0e8ef Move python/BUILD to python/BUILD.bazel This should address the issue in #14600 by avoiding a conflict on with the `build` directory created by setup.py on a case-insensitive filesystem. Closes #14600. PiperOrigin-RevId: 579859556 06 November 2023, 17:00:19 UTC
f9fb51f Move cached size access into the ClassData object as a 32-bit offset. This removes a virtual function from MessageLite. To support this, we now make sure that all derived types provide a ClassData instance tailored for them. All special classes now also contain a CachedSize member to make it a requirement instead of optional. The ClassData instanaces are still not unique because all MapEntry instantiations share one. PiperOrigin-RevId: 579856691 06 November 2023, 16:51:03 UTC
08ec050 Delete obsolete function. `WeakRepeatedPtrField::AddWeak` is not used anywhere, hence deleting it and related code in `RepeatedPtrField`. PiperOrigin-RevId: 579830701 06 November 2023, 15:01:06 UTC
e32d094 Properly untrack Python GC objects during deallocation. Add PyObject_GC_UnTrack() in deallocation functions for Python types that have PyTPFLAGS_HAVE_GC set, either explicitly or by inheriting from a type with GC set. Not untracking before clearing instance data introduces potential race conditions (if GC happens to run between the partial clearing and the actual deallocation) and produces a warning under Python 3.11. (The warning then triggered an assertion failure, which only showed up when building in Py_DEBUG mode; this therefor also fixes that assertion failure.) PiperOrigin-RevId: 579827001 06 November 2023, 14:44:56 UTC
d580fde Add Automatic-Module-Name (#14562) Adds Automatic-Module-Name after it was lost during the maven-bazel migration (and subsequent re-addition of osgi bundle support). Updates OsgiWrapper to support adding the Automatic-Module-Name header to the list of properties supported by the `osgi_java_library` rule. Fixes #12639 Closes #14562 COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/14562 from Sineaggi:add-automatic-module-name a27b3e6695acb4f1f253422fd2d324bb1b3f6669 PiperOrigin-RevId: 579748655 06 November 2023, 08:28:10 UTC
0a2fe57 upb: remove unused code from message/promote_test PiperOrigin-RevId: 579453773 04 November 2023, 13:29:39 UTC
c508a40 Raise warnings for python syntax usages PiperOrigin-RevId: 579344748 04 November 2023, 00:17:00 UTC
722ddce pass explicit lazy annotation for messages PiperOrigin-RevId: 579343301 04 November 2023, 00:09:15 UTC
ce9dcc2 Auto-generate files after cl/579321454 03 November 2023, 22:38:26 UTC
c69dd68 Implement feature inheritance and legacy editions for upb. This switches upb to using legacy editions for all proto2/proto3 logic. This does not yet enable code generation for editions protos (ie. we do not yet turn on `FEATURE_SUPPORTS_EDITIONS`), but with feature inheritance in place, this will be a much smaller follow-on change. There is a ~10% increase in allocations, but only a ~1% increase in peak memory. There are some <5% increases in instructions and cycles, but apparently no increase in time: ``` name old cpu/op new cpu/op delta BM_ArenaOneAlloc 17.8ns ±11% 16.9ns ±17% ~ (p=0.310 n=5+5) BM_ArenaInitialBlockOneAlloc 5.99ns ±13% 5.35ns ± 2% ~ (p=0.421 n=5+5) BM_ArenaFuseUnbalanced/2 71.4ns ±11% 63.1ns ± 3% ~ (p=0.095 n=5+5) BM_ArenaFuseUnbalanced/8 509ns ± 2% 532ns ±15% ~ (p=0.421 n=5+5) BM_ArenaFuseUnbalanced/64 4.73µs ±20% 4.43µs ±10% ~ (p=0.841 n=5+5) BM_ArenaFuseUnbalanced/128 9.77µs ±12% 8.64µs ± 4% ~ (p=0.095 n=5+5) BM_ArenaFuseBalanced/2 67.5ns ±13% 62.6ns ± 3% ~ (p=0.841 n=5+5) BM_ArenaFuseBalanced/8 552ns ±23% 496ns ±25% ~ (p=0.222 n=5+5) BM_ArenaFuseBalanced/64 4.76µs ±14% 4.24µs ± 4% ~ (p=0.421 n=5+5) BM_ArenaFuseBalanced/128 10.2µs ±14% 8.6µs ± 4% -15.61% (p=0.016 n=5+5) BM_LoadAdsDescriptor_Upb<NoLayout> 6.20ms ±12% 6.18ms ±16% ~ (p=0.421 n=5+5) BM_LoadAdsDescriptor_Upb<WithLayout> 6.91ms ±12% 6.63ms ± 3% ~ (p=0.690 n=5+5) BM_LoadAdsDescriptor_Proto2<NoLayout> 15.0ms ±12% 13.7ms ± 3% ~ (p=0.421 n=5+5) BM_LoadAdsDescriptor_Proto2<WithLayout> 15.1ms ±13% 13.8ms ± 3% ~ (p=0.548 n=5+5) BM_Parse_Upb_FileDesc<UseArena, Copy> 14.4µs ±13% 13.2µs ± 3% ~ (p=0.548 n=5+5) BM_Parse_Upb_FileDesc<UseArena, Alias> 12.8µs ±12% 11.8µs ± 3% ~ (p=0.222 n=5+5) BM_Parse_Upb_FileDesc<InitBlock, Copy> 13.7µs ±12% 12.9µs ± 3% ~ (p=1.000 n=5+5) BM_Parse_Upb_FileDesc<InitBlock, Alias> 13.1µs ±11% 11.6µs ± 3% ~ (p=0.056 n=5+5) BM_Parse_Proto2<FileDesc, NoArena, Copy> 24.7µs ±12% 22.6µs ± 8% ~ (p=0.310 n=5+5) BM_Parse_Proto2<FileDesc, UseArena, Copy> 11.6µs ±13% 10.9µs ± 2% ~ (p=1.000 n=5+5) BM_Parse_Proto2<FileDesc, InitBlock, Copy> 11.7µs ±10% 10.6µs ± 3% ~ (p=0.310 n=5+5) BM_Parse_Proto2<FileDescSV, InitBlock, Alias> 13.4µs ±12% 12.3µs ± 4% ~ (p=0.310 n=5+5) BM_SerializeDescriptor_Proto2 6.62µs ±13% 6.00µs ± 6% ~ (p=0.056 n=5+5) BM_SerializeDescriptor_Upb 11.1µs ±13% 10.3µs ± 3% ~ (p=1.000 n=5+5) name old time/op new time/op delta BM_ArenaOneAlloc 17.9ns ±12% 17.0ns ±17% ~ (p=0.310 n=5+5) BM_ArenaInitialBlockOneAlloc 6.03ns ±14% 5.36ns ± 2% ~ (p=0.421 n=5+5) BM_ArenaFuseUnbalanced/2 71.9ns ±12% 63.3ns ± 3% ~ (p=0.095 n=5+5) BM_ArenaFuseUnbalanced/8 511ns ± 2% 533ns ±15% ~ (p=0.421 n=5+5) BM_ArenaFuseUnbalanced/64 4.75µs ±20% 4.44µs ±10% ~ (p=0.841 n=5+5) BM_ArenaFuseUnbalanced/128 9.83µs ±12% 8.66µs ± 4% ~ (p=0.151 n=5+5) BM_ArenaFuseBalanced/2 67.8ns ±13% 62.7ns ± 3% ~ (p=0.841 n=5+5) BM_ArenaFuseBalanced/8 555ns ±24% 497ns ±26% ~ (p=0.222 n=5+5) BM_ArenaFuseBalanced/64 4.79µs ±14% 4.25µs ± 4% ~ (p=0.310 n=5+5) BM_ArenaFuseBalanced/128 10.3µs ±14% 8.6µs ± 4% -15.93% (p=0.016 n=5+5) BM_LoadAdsDescriptor_Upb<NoLayout> 6.25ms ±12% 6.20ms ±16% ~ (p=0.421 n=5+5) BM_LoadAdsDescriptor_Upb<WithLayout> 6.96ms ±13% 6.65ms ± 3% ~ (p=0.690 n=5+5) BM_LoadAdsDescriptor_Proto2<NoLayout> 15.2ms ±12% 13.7ms ± 3% ~ (p=0.421 n=5+5) BM_LoadAdsDescriptor_Proto2<WithLayout> 15.3ms ±14% 13.8ms ± 3% ~ (p=0.548 n=5+5) BM_Parse_Upb_FileDesc<UseArena, Copy> 14.5µs ±14% 13.2µs ± 3% ~ (p=0.690 n=5+5) BM_Parse_Upb_FileDesc<UseArena, Alias> 12.8µs ±12% 11.8µs ± 3% ~ (p=0.222 n=5+5) BM_Parse_Upb_FileDesc<InitBlock, Copy> 13.8µs ±13% 13.0µs ± 3% ~ (p=1.000 n=5+5) BM_Parse_Upb_FileDesc<InitBlock, Alias> 13.2µs ±12% 11.6µs ± 3% ~ (p=0.056 n=5+5) BM_Parse_Proto2<FileDesc, NoArena, Copy> 24.9µs ±12% 22.6µs ± 8% ~ (p=0.310 n=5+5) BM_Parse_Proto2<FileDesc, UseArena, Copy> 11.7µs ±14% 10.9µs ± 2% ~ (p=1.000 n=5+5) BM_Parse_Proto2<FileDesc, InitBlock, Copy> 11.7µs ±11% 10.7µs ± 3% ~ (p=0.222 n=5+5) BM_Parse_Proto2<FileDescSV, InitBlock, Alias> 13.5µs ±12% 12.3µs ± 4% ~ (p=0.310 n=5+5) BM_SerializeDescriptor_Proto2 6.65µs ±13% 6.01µs ± 6% ~ (p=0.056 n=5+5) BM_SerializeDescriptor_Upb 11.2µs ±13% 10.3µs ± 3% ~ (p=1.000 n=5+5) name old INSTRUCTIONS/op new INSTRUCTIONS/op delta BM_ArenaOneAlloc 189 ± 0% 189 ± 0% ~ (p=0.881 n=5+5) BM_ArenaInitialBlockOneAlloc 69.0 ± 0% 69.0 ± 0% ~ (all samples are equal) BM_ArenaFuseUnbalanced/2 458 ± 0% 458 ± 0% ~ (p=1.000 n=5+5) BM_ArenaFuseUnbalanced/8 3.28k ±15% 3.60k ± 0% ~ (p=0.286 n=5+4) BM_ArenaFuseUnbalanced/64 28.6k ± 2% 29.2k ± 0% +2.17% (p=0.032 n=5+4) BM_ArenaFuseUnbalanced/128 57.9k ± 1% 57.9k ± 1% ~ (p=1.000 n=5+5) BM_ArenaFuseBalanced/2 482 ± 0% 482 ± 0% ~ (p=0.421 n=5+5) BM_ArenaFuseBalanced/8 3.35k ±14% 3.35k ±14% ~ (p=0.841 n=5+5) BM_ArenaFuseBalanced/64 29.2k ± 2% 29.3k ± 1% ~ (p=0.421 n=5+5) BM_ArenaFuseBalanced/128 59.2k ± 1% 59.3k ± 1% ~ (p=0.556 n=4+5) BM_LoadAdsDescriptor_Upb<NoLayout> 37.3M ± 0% 38.2M ± 0% +2.39% (p=0.008 n=5+5) BM_LoadAdsDescriptor_Upb<WithLayout> 40.9M ± 0% 41.7M ± 0% +2.02% (p=0.008 n=5+5) BM_LoadAdsDescriptor_Proto2<NoLayout> 87.2M ± 0% 88.3M ± 1% +1.25% (p=0.008 n=5+5) BM_LoadAdsDescriptor_Proto2<WithLayout> 88.0M ± 0% 88.9M ± 1% +1.13% (p=0.016 n=5+5) BM_Parse_Upb_FileDesc<UseArena, Copy> 154k ± 0% 154k ± 0% ~ (p=1.000 n=5+5) BM_Parse_Upb_FileDesc<UseArena, Alias> 143k ± 0% 143k ± 0% ~ (p=0.310 n=5+5) BM_Parse_Upb_FileDesc<InitBlock, Copy> 153k ± 0% 153k ± 0% ~ (p=1.016 n=5+4) BM_Parse_Upb_FileDesc<InitBlock, Alias> 142k ± 0% 142k ± 0% ~ (p=0.127 n=5+5) BM_Parse_Proto2<FileDesc, NoArena, Copy> 213k ± 1% 217k ± 5% ~ (p=1.000 n=5+5) BM_Parse_Proto2<FileDesc, UseArena, Copy> 122k ± 0% 123k ± 0% +0.86% (p=0.008 n=5+5) BM_Parse_Proto2<FileDesc, InitBlock, Copy> 120k ± 0% 120k ± 0% ~ (p=0.421 n=5+5) BM_Parse_Proto2<FileDescSV, InitBlock, Alias> 124k ± 0% 124k ± 0% ~ (p=0.587 n=5+5) BM_SerializeDescriptor_Proto2 63.5k ± 0% 63.5k ± 0% ~ (p=0.278 n=5+5) BM_SerializeDescriptor_Upb 111k ± 0% 111k ± 0% ~ (p=1.000 n=5+5) name old CYCLES/op new CYCLES/op delta BM_ArenaOneAlloc 53.5 ± 0% 53.4 ± 0% ~ (p=0.095 n=5+5) BM_ArenaInitialBlockOneAlloc 17.5 ± 1% 17.4 ± 0% ~ (p=0.087 n=5+5) BM_ArenaFuseUnbalanced/2 206 ± 0% 206 ± 0% ~ (p=0.548 n=5+5) BM_ArenaFuseUnbalanced/8 1.55k ±12% 1.67k ± 1% ~ (p=0.548 n=5+5) BM_ArenaFuseUnbalanced/64 14.1k ± 8% 14.1k ± 1% ~ (p=0.222 n=5+5) BM_ArenaFuseUnbalanced/128 28.2k ± 1% 28.3k ± 1% ~ (p=0.548 n=5+5) BM_ArenaFuseBalanced/2 205 ± 0% 204 ± 0% ~ (p=0.548 n=5+5) BM_ArenaFuseBalanced/8 1.57k ±12% 1.56k ±12% ~ (p=0.421 n=5+5) BM_ArenaFuseBalanced/64 13.9k ± 2% 13.9k ± 1% ~ (p=1.000 n=5+5) BM_ArenaFuseBalanced/128 28.1k ± 1% 28.2k ± 1% ~ (p=0.730 n=4+5) BM_LoadAdsDescriptor_Upb<NoLayout> 18.7M ± 0% 19.3M ± 1% +3.38% (p=0.008 n=5+5) BM_LoadAdsDescriptor_Upb<WithLayout> 20.9M ± 0% 21.6M ± 0% +3.09% (p=0.008 n=5+5) BM_LoadAdsDescriptor_Proto2<NoLayout> 43.4M ± 0% 44.4M ± 1% +2.33% (p=0.008 n=5+5) BM_LoadAdsDescriptor_Proto2<WithLayout> 44.0M ± 0% 44.9M ± 2% +1.92% (p=0.016 n=5+5) BM_Parse_Upb_FileDesc<UseArena, Copy> 42.0k ± 1% 43.0k ± 1% +2.32% (p=0.008 n=5+5) BM_Parse_Upb_FileDesc<UseArena, Alias> 38.2k ± 1% 38.4k ± 0% +0.74% (p=0.032 n=5+5) BM_Parse_Upb_FileDesc<InitBlock, Copy> 41.6k ± 0% 42.6k ± 1% +2.51% (p=0.008 n=5+5) BM_Parse_Upb_FileDesc<InitBlock, Alias> 37.6k ± 0% 38.1k ± 0% +1.34% (p=0.008 n=5+5) BM_Parse_Proto2<FileDesc, NoArena, Copy> 71.9k ± 1% 74.1k ± 6% ~ (p=1.000 n=5+5) BM_Parse_Proto2<FileDesc, UseArena, Copy> 35.4k ± 1% 35.8k ± 0% +1.10% (p=0.008 n=5+5) BM_Parse_Proto2<FileDesc, InitBlock, Copy> 34.6k ± 1% 34.9k ± 1% ~ (p=0.095 n=5+5) BM_Parse_Proto2<FileDescSV, InitBlock, Alias> 40.5k ± 0% 40.0k ± 1% -1.36% (p=0.008 n=5+5) BM_SerializeDescriptor_Proto2 20.1k ± 1% 19.7k ± 4% ~ (p=0.421 n=5+5) BM_SerializeDescriptor_Upb 33.7k ± 0% 33.7k ± 0% ~ (p=0.222 n=5+5) name old allocs/op new allocs/op delta BM_ArenaOneAlloc 1.00 ± 0% 1.00 ± 0% ~ (all samples are equal) BM_ArenaFuseUnbalanced/2 2.00 ± 0% 2.00 ± 0% ~ (all samples are equal) BM_ArenaFuseUnbalanced/8 8.00 ± 0% 8.00 ± 0% ~ (all samples are equal) BM_ArenaFuseUnbalanced/64 64.0 ± 0% 64.0 ± 0% ~ (all samples are equal) BM_ArenaFuseUnbalanced/128 128 ± 0% 128 ± 0% ~ (all samples are equal) BM_ArenaFuseBalanced/2 2.00 ± 0% 2.00 ± 0% ~ (all samples are equal) BM_ArenaFuseBalanced/8 8.00 ± 0% 8.00 ± 0% ~ (all samples are equal) BM_ArenaFuseBalanced/64 64.0 ± 0% 64.0 ± 0% ~ (all samples are equal) BM_ArenaFuseBalanced/128 128 ± 0% 128 ± 0% ~ (all samples are equal) BM_LoadAdsDescriptor_Upb<NoLayout> 6.21k ± 0% 6.93k ± 0% +11.54% (p=0.008 n=5+5) BM_LoadAdsDescriptor_Upb<WithLayout> 6.54k ± 0% 6.96k ± 0% +6.34% (p=0.008 n=5+5) BM_LoadAdsDescriptor_Proto2<NoLayout> 124k ± 0% 124k ± 0% +0.00% (p=0.008 n=5+5) BM_LoadAdsDescriptor_Proto2<WithLayout> 126k ± 0% 126k ± 0% +0.00% (p=0.008 n=5+5) BM_Parse_Upb_FileDesc<UseArena, Copy> 7.00 ± 0% 7.00 ± 0% ~ (all samples are equal) BM_Parse_Upb_FileDesc<UseArena, Alias> 7.00 ± 0% 7.00 ± 0% ~ (all samples are equal) BM_Parse_Proto2<FileDesc, NoArena, Copy> 709 ± 0% 709 ± 0% ~ (all samples are equal) BM_Parse_Proto2<FileDesc, UseArena, Copy> 8.00 ± 0% 8.00 ± 0% ~ (all samples are equal) name old peak-mem(Bytes)/op new peak-mem(Bytes)/op delta BM_ArenaOneAlloc 328 ± 0% 328 ± 0% ~ (all samples are equal) BM_ArenaFuseUnbalanced/2 656 ± 0% 656 ± 0% ~ (all samples are equal) BM_ArenaFuseUnbalanced/8 2.62k ± 0% 2.62k ± 0% ~ (all samples are equal) BM_ArenaFuseUnbalanced/64 21.0k ± 0% 21.0k ± 0% ~ (all samples are equal) BM_ArenaFuseUnbalanced/128 42.0k ± 0% 42.0k ± 0% ~ (all samples are equal) BM_ArenaFuseBalanced/2 656 ± 0% 656 ± 0% ~ (all samples are equal) BM_ArenaFuseBalanced/8 2.62k ± 0% 2.62k ± 0% ~ (all samples are equal) BM_ArenaFuseBalanced/64 21.0k ± 0% 21.0k ± 0% ~ (all samples are equal) BM_ArenaFuseBalanced/128 42.0k ± 0% 42.0k ± 0% ~ (all samples are equal) BM_LoadAdsDescriptor_Upb<NoLayout> 10.2M ± 0% 10.4M ± 0% +1.15% (p=0.008 n=5+5) BM_LoadAdsDescriptor_Upb<WithLayout> 10.5M ± 0% 10.5M ± 0% +0.11% (p=0.008 n=5+5) BM_LoadAdsDescriptor_Proto2<NoLayout> 7.14M ± 0% 7.14M ± 0% ~ (p=0.317 n=4+5) BM_LoadAdsDescriptor_Proto2<WithLayout> 7.18M ± 0% 7.18M ± 0% ~ (p=0.159 n=5+4) BM_Parse_Upb_FileDesc<UseArena, Copy> 36.5k ± 0% 36.5k ± 0% ~ (all samples are equal) BM_Parse_Upb_FileDesc<UseArena, Alias> 36.5k ± 0% 36.5k ± 0% ~ (all samples are equal) BM_Parse_Proto2<FileDesc, NoArena, Copy> 35.4k ± 0% 35.4k ± 0% ~ (all samples are equal) BM_Parse_Proto2<FileDesc, UseArena, Copy> 65.3k ± 0% 65.3k ± 0% ~ (all samples are equal) name old items/s new items/s delta BM_ArenaFuseUnbalanced/2 28.2M ±12% 31.7M ± 3% ~ (p=0.095 n=5+5) BM_ArenaFuseUnbalanced/8 15.7M ± 2% 15.1M ±14% ~ (p=0.421 n=5+5) BM_ArenaFuseUnbalanced/64 13.7M ±18% 14.5M ± 9% ~ (p=0.841 n=5+5) BM_ArenaFuseUnbalanced/128 13.2M ±12% 14.8M ± 5% ~ (p=0.095 n=5+5) BM_ArenaFuseBalanced/2 29.9M ±12% 32.0M ± 3% ~ (p=0.841 n=5+5) BM_ArenaFuseBalanced/8 14.8M ±28% 16.5M ±22% ~ (p=0.222 n=5+5) BM_ArenaFuseBalanced/64 13.6M ±15% 15.1M ± 4% ~ (p=0.421 n=5+5) BM_ArenaFuseBalanced/128 12.6M ±15% 14.9M ± 4% +17.88% (p=0.016 n=5+5) name old speed new speed delta BM_LoadAdsDescriptor_Upb<NoLayout> 128MB/s ±11% 128MB/s ±14% ~ (p=0.421 n=5+5) BM_LoadAdsDescriptor_Upb<WithLayout> 115MB/s ±12% 119MB/s ± 3% ~ (p=0.690 n=5+5) BM_LoadAdsDescriptor_Proto2<NoLayout> 52.9MB/s ±12% 57.6MB/s ± 3% ~ (p=0.421 n=5+5) BM_LoadAdsDescriptor_Proto2<WithLayout> 52.6MB/s ±14% 57.2MB/s ± 2% ~ (p=0.548 n=5+5) BM_Parse_Upb_FileDesc<UseArena, Copy> 527MB/s ±14% 571MB/s ± 3% ~ (p=0.548 n=5+5) BM_Parse_Upb_FileDesc<UseArena, Alias> 595MB/s ±11% 640MB/s ± 3% ~ (p=0.222 n=5+5) BM_Parse_Upb_FileDesc<InitBlock, Copy> 553MB/s ±12% 582MB/s ± 3% ~ (p=1.000 n=5+5) BM_Parse_Upb_FileDesc<InitBlock, Alias> 576MB/s ±12% 649MB/s ± 3% ~ (p=0.056 n=5+5) BM_Parse_Proto2<FileDesc, NoArena, Copy> 307MB/s ±13% 334MB/s ± 8% ~ (p=0.310 n=5+5) BM_Parse_Proto2<FileDesc, UseArena, Copy> 653MB/s ±13% 689MB/s ± 2% ~ (p=1.000 n=5+5) BM_Parse_Proto2<FileDesc, InitBlock, Copy> 650MB/s ±10% 708MB/s ± 3% ~ (p=0.310 n=5+5) BM_Parse_Proto2<FileDescSV, InitBlock, Alias> 564MB/s ±12% 614MB/s ± 4% ~ (p=0.310 n=5+5) BM_SerializeDescriptor_Proto2 1.15GB/s ±12% 1.25GB/s ± 5% ~ (p=0.056 n=5+5) BM_SerializeDescriptor_Upb 684MB/s ±12% 730MB/s ± 3% ~ (p=1.000 n=5+5) ``` This adds about 5Ki of code size. Some of this likely comes from the fact that we now link in `message/copy.c` to perform a deep copy of a FeatureSet proto. ``` $ /google/bin/releases/protobuf-team/bloaty/bloaty-google3-diff --blaze-build-opts="-c opt" third_party/upb/upb/conformance/conformance_upb FILE SIZE VM SIZE -------------- -------------- +0.5% +4.19Ki +0.5% +4.19Ki .text +0.4% +656 +0.4% +656 .rodata +0.1% +504 [ = ] 0 .strtab +0.2% +384 [ = ] 0 .symtab +0.2% +280 +0.2% +280 .eh_frame +0.2% +216 +0.2% +216 .rela.dyn +0.3% +96 +0.3% +96 .data.rel.ro +0.2% +64 +0.2% +64 .eh_frame_hdr +1.1% +16 [ = ] 0 .got.plt +0.2% +8 +0.2% +8 .rela.plt -4.6% -8 -4.6% -8 [LOAD #2 [RX]] -50.0% -48 [ = ] 0 [Unmapped] [ = ] 0 -81.7% -1.47Ki .relro_padding +0.1% +6.30Ki +0.0% +4.00Ki TOTAL ``` PiperOrigin-RevId: 579321454 03 November 2023, 22:27:55 UTC
c1e0853 Fix csharp fieldmasktree merge null checking (#12737) Fixes #12685 for CSharp, but the Java equivalent probably has the same bug. Closes #12737 COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/12737 from marner2:fix_csharp_fieldmasktree_merge_null_checking 78c7812ac37d5e31b889a725459a726a7e121058 PiperOrigin-RevId: 579314424 03 November 2023, 21:59:44 UTC
70cc55a Reduce stack usage on recursion by making all error generation lazy on out-of-line functions. This avoids local std::string temporaries and alike. It also speeds up code because we delay constructing the errors via StrCat until an error has actually occurred. PiperOrigin-RevId: 579269516 03 November 2023, 19:40:53 UTC
af75cb3 Small clean up Rust crate-relative naming logic PiperOrigin-RevId: 579243379 03 November 2023, 18:21:20 UTC
25f28ee Fix typo with janitor GHA, close-pr-message was accidentally defined twice. PiperOrigin-RevId: 579213119 03 November 2023, 16:55:01 UTC
a3e45d2 Dedup `RepeatedPtrField::Add` methods to all use common implementation. As a result, `AddMessage` get the same perf boost as main `Add` method from 1df8ea4. PiperOrigin-RevId: 579201689 03 November 2023, 16:13:59 UTC
b0d4b2c Separate Build / IDE / Documentation from Other on Third Party doc PiperOrigin-RevId: 579193733 03 November 2023, 15:43:24 UTC
6ee7a32 Clarify same-crate-import vs different-crate-import message fields (latter unsupported). PiperOrigin-RevId: 579175657 03 November 2023, 14:26:50 UTC
4721f6a Update a comment in oneofs PiperOrigin-RevId: 579168059 03 November 2023, 13:53:01 UTC
e682ab6 Annotate message field builder getters with Semantic::kSet As an analog to the C++ mutable_foo() member functions, uses of Java builders should appear as writes in Code Search. They should be marked with the kSet semantic. Note that the get*OrBuilder[List] methods should *not* be marked with kSet as they do not return a mutable object. PiperOrigin-RevId: 579079084 03 November 2023, 06:15:46 UTC
0d5cb3a Fix file missing in merge from 25.x PiperOrigin-RevId: 579036296 03 November 2023, 01:21:08 UTC
2e5e278 Auto-generate files after PR #14617 02 November 2023, 22:46:39 UTC
back to top