Skip to content

deps: update to protobuf 36.2 - #568

Open
santigimeno wants to merge 1 commit into
node-v24.x-nsolid-v6.xfrom
santi/update_protobuf
Open

santigimeno wants to merge 1 commit into
node-v24.x-nsolid-v6.xfrom
santi/update_protobuf

Conversation

@santigimeno

Copy link
Copy Markdown
Member

No description provided.

Signed-off-by: Santiago Gimeno <santiago.gimeno@gmail.com>
@santigimeno santigimeno self-assigned this Oct 9, 2026
@ns-control-tower

ns-control-tower commented Oct 9, 2026 •

Copy link
Copy Markdown

Walkthrough

This PR bumps the vendored protobuf library under deps/protobuf/ from C++ 7.34.0 → 7.36.2 (protoc 34.0 → 36.2). It is a three-part change:

  1. Vendored library source (deps/protobuf/src/, 340 modified + 38 added) — the upstream protobuf 36.2 code, including new EDITION_2026 support in descriptor.proto, first-class custom-option extension ranges (990–998), the arena-pointer simplification that drops the PROTOBUF_INTERNAL_REMOVE_ARENA_PTRS_* macros, and removal of the minimum-compiler/abseil static_asserts in port_def.inc (an upstream decision; N|Solid's toolchain already exceeds those floors).
  2. Build integration (deps/protobuf/protobuf.gyp, version.json) — the gyp source list gains the 9 new runtime/cpp-compiler .cc files and drops compiler/cpp/main.cc (renamed upstream to plugin_main.cc). version.json moves to 36.x / 7.36.2.
  3. Regenerated checked-in bindings — 26 files under agents/grpc/src/proto/*.pb.{cc,h} and 20 under deps/opentelemetry-cpp/.../gen/cpp/*.pb.{cc,h}, all regenerated by protoc 36.2. The .proto schemas (N|Solid agents use proto3; OTLP schemas are unchanged) and the gRPC-plugin output (.grpc.pb.cc) are deliberately left untouched.

The hand-written C++ in agents/grpc is unchanged; it recompiles against the 7.36.2 headers.

Assessment

I verified the build-integration completeness against the PR tree rather than reading the 381-file diff line by line, since ~98% of the diff is auto-generated (DO NOT EDIT) .pb.* files and vendored upstream source.

  • gyp source list is complete and correct (deps/protobuf/protobuf.gyp): all 120 .cc sources the gyp lists exist in the pr-568 tree; the 9 newly-added files (arena_allocation_policy.cc, cpp_file_options.pb.cc, json_enumvalue_options.pb.cc, naming_style.cc, symbol.cc, type_id.cc, unknown_field_set_lite.cc, compiler/cpp/field_layout.cc, compiler/cpp/plugin_main.cc) are all present, and the removed compiler/cpp/main.cc is correctly gone. Language-plugin sources (csharp/java/kotlin/objectivec/php/python/ruby/rust) and test/benchmark files remain correctly excluded — consistent with how the gyp was structured before the bump.
  • No .proto schema changes for N|Solid consumers: the agents gRPC .proto files (all syntax = "proto3") and the OpenTelemetry .proto files are unchanged — only generated code was regenerated, so the new EDITION_2026 / first-class-option features in descriptor.proto do not affect N|Solid's bindings.
  • .grpc.pb.cc files unchanged: only the protoc-generated .pb.* were regenerated; the gRPC-plugin output was left as-is, which is correct for a protoc-only bump.
  • No new runtime .cc missing from the gyp: I checked the reverse direction (.cc files present in the tree but absent from the gyp) and found only pre-existing optional/test/benchmark files and language-plugin sources — nothing newly required by this bump was left out.
  • CI: the combined commit status is pending with 0 statuses, so there is no CI evidence that the build actually compiles yet. The static analysis above is the validation.

No blocking correctness, security, or performance findings. This is a routine vendored-dependency bump with a correctly maintained build integration.

Verdict: APPROVE — clean protobuf 7.34.0 → 7.36.2 bump; the protobuf.gyp source list is complete, generated code is consistently regenerated, and the .proto schemas are unchanged. Build compilation has no CI confirmation yet, so a green build run is worth confirming before merge.

overview
regen-flow-view

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants