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
Offer a better migration path from protobuf-java 3.x to 4.x #16452
Comments
See also grpc/grpc-java#11015. |
@ummels thank you for the feedback. We are evaluating the option to reintroduce GeneratedMessageV3 as a deprecated shim to smooth the transition. Just want to add that in line with our version policy we will be supporting the protobuf 3.x line for a year to allow projects to update/adapt. |
The protobuf team has been looking at better migration paths for this first major version bump since the introduction of proto3 and future major version bumps. We'll publish the plan soon at https://protobuf.dev/support/version-support/ The exact date and version numbers are still TBD, but this quarter (between now and 7/1/24) we will make a a set of releases that allow gencode from a new patch release of the 3.25.- line to work with runtimes from the 4.-.- release (and all v4 releases following). Because we're getting to this a bit slowly, we will also be extending support for 3.25.- to Q1 of 2026 to allow plenty of time for users to migrate. Thank you for your patience. |
What language does this apply to?
Java
Describe the problem you are trying to solve.
After updating our project protobuf-java to
4.26.0
within my project, we noticed a serious runtime error in production: Code from an external dependency we're using is throwing aClassNotFoundException
while accessing thenewBuilder()
method of a generated class:This is a serious problem since there are many Java libraries floating around, which internally use Protobuf.
Describe the solution you'd like
In my opinion, the easiest way to fix the incompatibility would be to reintroduce
GeneratedMessageV3
as a (deprecated) alias forGeneratedMessage
, but maybe there are better alternatives?The text was updated successfully, but these errors were encountered: