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

2.9 was a semver-major breakage #453

Closed
kornelski opened this issue Sep 30, 2019 · 12 comments
Closed

2.9 was a semver-major breakage #453

kornelski opened this issue Sep 30, 2019 · 12 comments

Comments

@kornelski
Copy link

protobuf 2.9 release has broken prometheus 0.7.

Could you yank it and re-release it as 3.0?

@tomaka
Copy link

tomaka commented Sep 30, 2019

It has also broken libp2p: libp2p/rust-libp2p#1259

@stepancheg
Copy link
Owner

It has also broken libp2p: libp2p/rust-libp2p#1259

.proto files need to be regenerated.

@stepancheg
Copy link
Owner

stepancheg commented Sep 30, 2019

With prometheus the issue is the same: .proto files need to be regenerated.

Do you think that generated files must be backwards compatible? Because it would make backwards-compatible changes in protobuf practically impossible.

@Ekleog
Copy link

Ekleog commented Sep 30, 2019

What about saying “from now on .proto files need to be generated from build.rs” and release what currently is 2.9 as 3.0 with this additional caveat?

@stepancheg
Copy link
Owner

Yanked the version.

@stepancheg
Copy link
Owner

stepancheg commented Sep 30, 2019

This new version is incompatible only in generated code, all human-written code stays compatible.

How about releasing version 2.9 with making all previously generated files emit a warning about code need to be regenerated? (Copy all functions to new names, and make old names deprecated)

And release 2.10 with new features in a couple of weeks?

@tomaka
Copy link

tomaka commented Sep 30, 2019

What would be wrong with releasing 3.0 instead?

@stepancheg
Copy link
Owner

@tomaka don't have enough large features implemented to release 3.0.

@kornelski
Copy link
Author

That's not what semver means. It doesn't increment on features, it increments on any incompatibilities.

@dayfine
Copy link

dayfine commented Dec 27, 2019

When will this be re-released? I actually want to use 2.9

@fbernier
Copy link

@stepancheg If you plan on having other releases before 3.0, could we add back the rest of the non-breaking stuff that was in 2.9.0 such as json printing?

@stepancheg
Copy link
Owner

Reflection changes won't be ported to version 2, because of multiple backwards compatibility issues.

Now I'm preparing to release rust-protobuf version 3.

This is the master task: #518

The new release is a good place to fix various API issues, so feedback is highly appreciated.

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

6 participants