Comment #18 on issue 210 by [email protected]: Java code should detect incompatible runtime library version
http://code.google.com/p/protobuf/issues/detail?id=210

Kenton, I'm not sure I would entirely agree with you about Maven. It actually follows a common and well-accepted convention of major-minor-patch compatibility model. So in this particular case, it is actually the protobuf-java library that violates the versioning convention, because the java library version 2.3 is NOT backwards compatible to 2.0.3 (which, if we look at the versions is the common expectation). The problem in this case is that while the "Product" version of Protocol Buffers dictates the compatibility between .proto syntax format, meaning that a .proto file that was created for 2.0.3 compiler will be happily compiled using 2.3 compiler (protoc), the java library, just like its analogous C++ library follows not the definition compatibility scheme, but a runtime/source compile compatibility, which is totally different from 2.0.3 to 2.3, etc. So it is only natural to expect that java-protobuf library would be major-versioned every time there is a non-backwards compatible change made, just like you already do so with the C++ one by increasing the SONAME by a full version (4->5->6).

--
You received this message because you are subscribed to the Google Groups "Protocol 
Buffers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en.

Reply via email to