Protobuf recently released a 4.x release. This is a breaking change from the 3.x series at least for Java.
One of the most significant changes is the removal of the "GeneratedMessageV3" class. Generated classes would need to be regenerated to no longer extend "GeneratedMessageV3". Most projects that depend on protobuf-java have not updated yet, including gRPC (GitHub issue<https://github.com/grpc/grpc-java/issues/11015>). There is some discussion here<https://github.com/protocolbuffers/protobuf/issues/16452#issuecomment-2076360676> and here<https://github.com/protocolbuffers/protobuf/issues/16452#issuecomment-2134644103>. Here is the release schedule<https://protobuf.dev/support/version-support/#java> for protobuf. >From the discussions, the protobuf team is planning another 3.x release that >will be compatible with both protobuf 3.x and 4.x. This is intended to help >with transitions. To also help with transitions, the protobuf team will >continue to provide 3.25.x releases until Q1 2026. Proposal * Continue with the 3.25.x releases until at least gRPC has transitioned to protobuf 4.x * Once gRPC has upgraded, update Arrow to use a protobuf 4.x release (or 3.x that is compatible) * Use protobuf 4.x if possible * Only use protobuf 3.x if some dependencies still require protobuf 3.x compatibility