Established based on what conventions? I'm going based on the semantic
versioning guidelines here:

http://semver.org/

Basically what I'd like to understand is whether Google cares about this or
not, because changing public API's is a big problem for downstream
projects. It means that if you want to write a library that uses proto-bufs
you can't inter-operate with other libraries that also use protobufs.

- Patrick


On Wed, Apr 16, 2014 at 3:24 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote:

> While I don't speak for Google, I believe it's fairly well-established
> that 2.4 and 2.5 are considered to be "major" releases. Switching
> between them requires regenerating the java files with protoc, as the
> internal APIs used by the generated code tend to change. I believe
> that in general the public API's remain the same, however that doesn't
> let you have multiple protobuf versions without something like jarjar.
> The minor releases (2.4.0 vs 2.4.1, etc) should be binary-compatible
> AFAIK.
>
>   -ilia
>
> On Wed, Apr 16, 2014 at 4:24 PM, Patrick Wendell <pwend...@gmail.com>
> wrote:
> > Hi All,
> >
> > I work on Apache Spark which is an open source project. We have recently
> > been dealing with a lot of pain due to the fact that the Java Protobuf
> > libraries for 2.4.X and 2.5.0 are not binary compatible. This makes it
> > really difficult for users to include two dependencies A and B that
> depend
> > on different versions of protobuf-java.
> >
> > Are these incompatibilities an omission, or is this an intentional policy
> > that protobuf is okay making API-breaking changes in minor versions? This
> > violates typical semantic-versioning conventions and makes it pretty
> tough
> > for downstream users.
> >
> > I don't see any references to library compatibility in the Java protobuf
> > page or the FAQ - apologies if this is covered somewhere...
> > https://developers.google.com/protocol-buffers/docs/javatutorial
> > https://developers.google.com/protocol-buffers/docs/faq
> >
> > - Patrick
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Protocol Buffers" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to protobuf+unsubscr...@googlegroups.com.
> > To post to this group, send email to protobuf@googlegroups.com.
> > Visit this group at http://groups.google.com/group/protobuf.
> > For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to