-
Notifications
You must be signed in to change notification settings - Fork 1.4k
chore(deps): update dependency protocolbuffers/protobuf to v33 #42013
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Regression DetectorRegression Detector ResultsMetrics dashboard Baseline: 49aeaf1 Optimization Goals: ✅ No significant changes detected
|
| perf | experiment | goal | Δ mean % | Δ mean % CI | trials | links |
|---|---|---|---|---|---|---|
| ➖ | docker_containers_cpu | % cpu utilization | -3.10 | [-5.97, -0.22] | 1 | Logs |
Fine details of change detection per experiment
| perf | experiment | goal | Δ mean % | Δ mean % CI | trials | links |
|---|---|---|---|---|---|---|
| ➖ | ddot_logs | memory utilization | +0.96 | [+0.90, +1.03] | 1 | Logs |
| ➖ | ddot_metrics | memory utilization | +0.28 | [+0.05, +0.51] | 1 | Logs |
| ➖ | otlp_ingest_logs | memory utilization | +0.24 | [+0.15, +0.34] | 1 | Logs |
| ➖ | quality_gate_logs | % cpu utilization | +0.17 | [-1.30, +1.64] | 1 | Logs bounds checks dashboard |
| ➖ | quality_gate_idle_all_features | memory utilization | +0.13 | [+0.10, +0.17] | 1 | Logs bounds checks dashboard |
| ➖ | uds_dogstatsd_20mb_12k_contexts_20_senders | memory utilization | +0.08 | [+0.02, +0.14] | 1 | Logs |
| ➖ | file_to_blackhole_500ms_latency | egress throughput | +0.07 | [-0.31, +0.45] | 1 | Logs |
| ➖ | file_to_blackhole_0ms_latency | egress throughput | +0.05 | [-0.36, +0.47] | 1 | Logs |
| ➖ | otlp_ingest_metrics | memory utilization | +0.05 | [-0.10, +0.20] | 1 | Logs |
| ➖ | tcp_dd_logs_filter_exclude | ingress throughput | -0.00 | [-0.08, +0.08] | 1 | Logs |
| ➖ | file_to_blackhole_1000ms_latency | egress throughput | -0.01 | [-0.43, +0.42] | 1 | Logs |
| ➖ | uds_dogstatsd_to_api_v3 | ingress throughput | -0.01 | [-0.13, +0.12] | 1 | Logs |
| ➖ | uds_dogstatsd_to_api | ingress throughput | -0.01 | [-0.13, +0.11] | 1 | Logs |
| ➖ | file_to_blackhole_100ms_latency | egress throughput | -0.05 | [-0.10, +0.00] | 1 | Logs |
| ➖ | file_tree | memory utilization | -0.17 | [-0.23, -0.12] | 1 | Logs |
| ➖ | docker_containers_memory | memory utilization | -0.18 | [-0.25, -0.11] | 1 | Logs |
| ➖ | ddot_metrics_sum_cumulativetodelta_exporter | memory utilization | -0.31 | [-0.54, -0.07] | 1 | Logs |
| ➖ | quality_gate_idle | memory utilization | -0.31 | [-0.35, -0.27] | 1 | Logs bounds checks dashboard |
| ➖ | ddot_metrics_sum_delta | memory utilization | -0.43 | [-0.64, -0.22] | 1 | Logs |
| ➖ | tcp_syslog_to_blackhole | ingress throughput | -0.61 | [-0.68, -0.54] | 1 | Logs |
| ➖ | ddot_metrics_sum_cumulative | memory utilization | -0.63 | [-0.79, -0.48] | 1 | Logs |
| ➖ | quality_gate_metrics_logs | memory utilization | -2.07 | [-2.27, -1.87] | 1 | Logs bounds checks dashboard |
| ➖ | docker_containers_cpu | % cpu utilization | -3.10 | [-5.97, -0.22] | 1 | Logs |
Bounds Checks: ✅ Passed
| perf | experiment | bounds_check_name | replicates_passed | links |
|---|---|---|---|---|
| ✅ | docker_containers_cpu | simple_check_run | 10/10 | |
| ✅ | docker_containers_memory | memory_usage | 10/10 | |
| ✅ | docker_containers_memory | simple_check_run | 10/10 | |
| ✅ | file_to_blackhole_0ms_latency | lost_bytes | 10/10 | |
| ✅ | file_to_blackhole_0ms_latency | memory_usage | 10/10 | |
| ✅ | file_to_blackhole_1000ms_latency | lost_bytes | 10/10 | |
| ✅ | file_to_blackhole_1000ms_latency | memory_usage | 10/10 | |
| ✅ | file_to_blackhole_100ms_latency | lost_bytes | 10/10 | |
| ✅ | file_to_blackhole_100ms_latency | memory_usage | 10/10 | |
| ✅ | file_to_blackhole_500ms_latency | lost_bytes | 10/10 | |
| ✅ | file_to_blackhole_500ms_latency | memory_usage | 10/10 | |
| ✅ | quality_gate_idle | intake_connections | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_idle | memory_usage | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_idle_all_features | intake_connections | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_idle_all_features | memory_usage | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_logs | intake_connections | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_logs | lost_bytes | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_logs | memory_usage | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_metrics_logs | cpu_usage | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_metrics_logs | intake_connections | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_metrics_logs | lost_bytes | 10/10 | bounds checks dashboard |
| ✅ | quality_gate_metrics_logs | memory_usage | 10/10 | bounds checks dashboard |
Explanation
Confidence level: 90.00%
Effect size tolerance: |Δ mean %| ≥ 5.00%
Performance changes are noted in the perf column of each table:
- ✅ = significantly better comparison variant performance
- ❌ = significantly worse comparison variant performance
- ➖ = no significant change in performance
A regression test is an A/B test of target performance in a repeatable rig, where "performance" is measured as "comparison variant minus baseline variant" for an optimization goal (e.g., ingress throughput). Due to intrinsic variability in measuring that goal, we can only estimate its mean value for each experiment; we report uncertainty in that value as a 90.00% confidence interval denoted "Δ mean % CI".
For each experiment, we decide whether a change in performance is a "regression" -- a change worth investigating further -- if all of the following criteria are true:
-
Its estimated |Δ mean %| ≥ 5.00%, indicating the change is big enough to merit a closer look.
-
Its 90.00% confidence interval "Δ mean % CI" does not contain zero, indicating that if our statistical model is accurate, there is at least a 90.00% chance there is a difference in performance between baseline and comparison variants.
-
Its configuration does not mark it "erratic".
CI Pass/Fail Decision
✅ Passed. All Quality Gates passed.
- quality_gate_logs, bounds check memory_usage: 10/10 replicas passed. Gate passed.
- quality_gate_logs, bounds check lost_bytes: 10/10 replicas passed. Gate passed.
- quality_gate_logs, bounds check intake_connections: 10/10 replicas passed. Gate passed.
- quality_gate_metrics_logs, bounds check lost_bytes: 10/10 replicas passed. Gate passed.
- quality_gate_metrics_logs, bounds check memory_usage: 10/10 replicas passed. Gate passed.
- quality_gate_metrics_logs, bounds check cpu_usage: 10/10 replicas passed. Gate passed.
- quality_gate_metrics_logs, bounds check intake_connections: 10/10 replicas passed. Gate passed.
- quality_gate_idle, bounds check intake_connections: 10/10 replicas passed. Gate passed.
- quality_gate_idle, bounds check memory_usage: 10/10 replicas passed. Gate passed.
- quality_gate_idle_all_features, bounds check intake_connections: 10/10 replicas passed. Gate passed.
- quality_gate_idle_all_features, bounds check memory_usage: 10/10 replicas passed. Gate passed.
Static quality checks✅ Please find below the results from static quality gates 31 successful checks with minimal change (< 2 KiB)
On-wire sizes (compressed)
|
6872db9 to
f614a33
Compare
f614a33 to
07670d2
Compare
07670d2 to
5e22638
Compare
32cee28 to
aa8fdc2
Compare
aa8fdc2 to
618c017
Compare
This PR contains the following updates:
29.3→33.5Release Notes
protocolbuffers/protobuf (protocolbuffers/protobuf)
v33.5Compare Source
v33.4: Protocol Buffers v33.4Compare Source
Announcements
Other
47b3385)//:protocfrom language runtimes (#19679) (453cfb2)v33.3: Protocol Buffers v33.3Compare Source
Announcements
Bazel
7b30360)04ca1b7)aeaede0)Compiler
command_line_interface_unittestandcode_generator_unittest. (cb0a8c5)44e090c)d167dd0)C++
44e090c)d167dd0)Java
d167dd0)94c7f73)Csharp
d167dd0)Python
d167dd0)38ca2d3. (184b5e8)UPB (Python/PHP/Ruby C-Extension)
d167dd0)cd0cb21)Other
aeedbc6)f7b18f8)d4e7a81)9027d6b)f0907f3)v33.2: Protocol Buffers v33.2Compare Source
Announcements
Compiler
9247790)pbpackage. (483173d)8a0b438)C++
50c9e62)pbpackage. (483173d)Java
pbpackage. (483173d)Csharp
9247790)9f263cd)058bffa)PHP
9247790)PHP C-Extension
e9f62c6)9247790)058bffa)Ruby
Ruby C-Extension
e9f62c6)058bffa)UPB (Python/PHP/Ruby C-Extension)
e9f62c6)72a48f9)13ee2ce)v33.1: Protocol Buffers v33.1Compare Source
Announcements
C++
Anyhasbit consistency issue in OSS. (#24400) (59db671)Java
5737cd2)v33.0: Protocol Buffers v33.0Compare Source
Announcements
Bazel
d5217fd)30d2332)d98e2ef)Compiler
ae308fc)abeb130)C++
813a7ef)RepeatedField(Arena*)constructor private in a future release. (768db14)Map(Arena*)constructor private in a future release. (543a17f)3d94d83)RepeatedPtrField(Arena*)constructor private in a future release (6422b9d)b64e490)RuntimeAssertInBoundsto remove repeated logic and makeGet/Mutableeasier to read. (2f270c4)ae308fc)e25e267)90824aa)6ea1640)a959f27)c7030f4)95b1763)Java
Restored compatibility of runtime with gencode created with protoc <3.21
With this release, compatibility of the runtime with older gencode down to 3.0.0 is restored, compared to the previous support minimum of gencode created with 3.22+. Note that it is still strongly recommended to regenerate your gencode with a newer protoc and to avoid using gencode which was created with an old protoc.
Generated code from this range is covered by CVE-2022-3171 and is potentially vulnerable to a Denial of Service risk.
JavaProto 4.x previously dropped compatibility with the potentially vulnerable generated code, having the behavior of:
Starting with this release:
-Dcom.google.protobuf.error_on_unsafe_pre22_gencode) or to entirely silence the logged messages (-Dcom.google.protobuf.use_unsafe_pre22_gencode)This change was made based on community feedback regarding the difficulty in identifying and quickly remediating stale gencode in their transitive dependencies weighed against a careful evaluation of the realistic risk exposure of DoS (with no risk of other concerns including information leak or RCE).
We strongly recommend that any users who observe the log messages to regenerate the corresponding code with a newer protoc. We recommend that any security-conscious services opt into the
error_on_unsafe_pre22_gencodebehavior to preclude any risk of a Denial of Service surface area being exposed.A future 4.x release may flip the default behavior to error by default as a measure to further help the ecosystem avoid the Denial of Service risks, while still maintaining the ability to opt into continuing to use insecure gencode for users who are parsing trusted inputs and where the difficulty of regenerating is high.
Changes
e55224c)8de4002)c4ff7a6)537ac35)eba6df2)ca4fb2f)4376591)a995803)7b0bee3)varint,fixed32, andfixed64fields inUnknownFieldSet.Field(810272f)badaf41)c518f25)8d51e34)94a2a44(ea33ae8)7bff169(f2257f5)abeb130)e05db5c)isPlaceholder()accessors to file, message, and enum descriptors (f978ec2)745e15b)b68b673)5768acd)7c51e5b)GeneratedMessage.ExtendableMessage.extensions(b25d39e)Rust
_(c3f7e8d)Send(8bff944)Python
56b2b89)d57d270)5f6c013)07ef676)c36f728)__slots__to empty in.pyifiles. (38ca2d3)4659cd7)4ee55d7)PHP
6fee29b)UPB (Python/PHP/Ruby C-Extension)
c36f728)Other
dcace2f)4b4e405)9806994)a6bdd0a)v32.1: Protocol Buffers v32.1Compare Source
Announcements
Compiler
34d6c85)b98f6ee)aad0daa)C++
aad0daa)Java
892e0d5)7bff169(4a18be6)94a2a44(501f4a5)d365736)9325480)34d6c85)b98f6ee)Csharp
299774c)PHP
bc5f303)v32.0: Protocol Buffers v32.0Compare Source
Announcements
Bazel
6f4a990)import optionandoption_depstest proto in edition 2024. (c51df73)776c5f2)e3e56c7)795ab9d)da0077e)639f1c9)Compiler
ef3f9ca)google.protobuf.Method.syntaxandgoogle.protobuf.Method.edition(9ec241e)26843b3)import weakandweakfield option in edition 2024 in protoc (parser and c++ runtime). (a2a0511)C++
ef3f9ca)7359f75)import optionandoption_depstest proto in edition 2024. (c51df73)c6ba697)26843b3)3e935cf)6a6ba52)21c3c53)import weakandweakfield option in edition 2024 in protoc (parser and c++ runtime). (a2a0511)Java
ef3f9ca)import optionandoption_depswhich exclude the options from the "builder" pool (aka "import" pool). (694eedd)7359f75)6f4a990)adf556f)6216ae4)5777d3b)527b2ab)26843b3)c3177fb)84c5b63)Csharp
0014173)7359f75)6216ae4)26843b3)c2b4040)dc4e429)Objective-C
26843b3)Rust
DEP_UPB_VERSIONcheck in codegen crate (#22764) (6f6012a)26843b3)1b4b5fc)e2fd7a0)aba2075)aca1ed5)Python
ef3f9ca)7359f75)1a7e012)0b25f7b)72abf95)--incompatible_config_setting_private_default_visibility(#22745) (5e2838e)64a76e6)508aba1)26843b3)1af7fd4)49d9e2d)f59b84a)e5f9ab4)e004c8b)17838be)f69180a)6972464)cbad456)f63ed55)4274909)727a8ed)PHP
26843b3)9fbce62)01a7429)676666e)PHP C-Extension
6216ae4)158d8ac)01a7429)Ruby
--incompatible_config_setting_private_default_visibility(#22745) (5e2838e)26843b3)rb_testrules to run test (#21733) (4f74764)Ruby C-Extension
6216ae4)wrap_memcpy.ccompatibility shim for pre-2.14 glibc (4ba9733)UPB (Python/PHP/Ruby C-Extension)
6216ae4)--incompatible_config_setting_private_default_visibility(#22745) (5e2838e)f15d28a)Other
e001d57)2025051.1 (ee68ed1)rules_rubyto applyneverlink = Trueto thejarsrule (#21416) (88e11bd)v31.1: Protocol Buffers v31.1Compare Source
Announcements
Compiler
3419598)C++
3419598)Java
coptsattribute (#21982) (bec5b5a)3419598)Python
3419598)0fe099a)a3921fb)Other
96a9ef6)v31.0: Protocol Buffers v31.0Compare Source
Announcements
Bazel
a4be867)Compiler
9901db6)7a26486)dce6b0f)2025012and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (ba6b54d)C++
aa5410d)d390631)d896480)73f3469)683e9d2)7a26486)bd70a7c)d21e8ef)2025012and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (ba6b54d)GetandMutablefor repeated_field. (ffade4a)Java
d896480)f5cb162)nest_in_file_classfeature for Edition 2024. (0416c3e)Generatedannotation to eventually replacejavax.annotation.Generated(31e57fc)9e03ca5)fafb0fd)079be27)e045fc6)097fdb8)Kotlin
079be27)Csharp
afea52f)85507b9)Objective-C
GPBFieldDescriptor.isOptional. (86ab252)a639cf8)Rust
01b42bb)dd5bf5e)Python
01b154c)float_precisionapply to both float and double fields. (5b54ee3)fff783e)FieldMask.MergeFrom()with unset fields. ([1c87ac3](https://redirect.github.com/protocolbuffers/protobuf/Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.