Skip to content
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

Cross-version Runtime Guarantee #1054

Closed
pdecks opened this issue Jan 10, 2025 · 1 comment
Closed

Cross-version Runtime Guarantee #1054

pdecks opened this issue Jan 10, 2025 · 1 comment

Comments

@pdecks
Copy link

pdecks commented Jan 10, 2025

Hey team, this isn't an issue so much as a request for clarification. Given the 2.x releases of your runtime library and code generators, do you have a stated cross-version runtime guarantee for utilizing a newer major version runtime with an older major version code generator similar to Google's cross-version runtime guarantee for protobuf as a whole?

Edit: I'm assuming that runtimes on a newer major version are not compatible with older code generators, given that protoc-gen-connect-es 1.x was incompatible with protobuf-es 2.x as discussed in #957 (comment).

@nicksnyder
Copy link
Member

We do not have a documented guarantee, but the following things are true:

  • We follow semantic versioning in both generators and runtimes, so breaking changes will result in a major version bump. When a breaking change happens, all bets are off. You should read the release notes to understand what the compatibility story is. In this case, protobuf-es was v2'd and was both (1) required to be used with protoc-gen-es v2 and (2) was not compatible with protoc-gen-connect-es v1.
  • We aim to make breaking changes extremely rare. Aka, we would be happy if there was never a v3 of either protobuf-es or protoc-gen-es. As long as we are not bumping major versions, things should remain compatible.

Hope that helps.

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

No branches or pull requests

2 participants