Are minor versions of protobuf supposed to be ABI compatible?

275 views
Skip to first unread message

Puya Daravi

unread,
Mar 6, 2021, 3:07:58 AM3/6/21
to Protocol Buffers
Hello,

My understanding is that library vendors generally bump the major version when a new version of the library is not ABI compatible with the old one (i.e. when the libraries do not provide the same symbols)
However today I found an issue where the exported symbol `internal::AssignDescriptors` (defined in `generated_message_reflection.h`) has different signatures in protobuf/3.6.1 and protobuf/3.11.4. In the earlier version it uses a number of arguments, whereas in the newer version it uses the `DescriptorTable` struct.

Is this a bug in protobuf versioning? Or does protobuf not guarantee ABI stability between minor versions?

Regards,
Puya

Puya Daravi

unread,
Mar 6, 2021, 3:13:20 AM3/6/21
to Protocol Buffers
To clarify. It is not just that one symbol that has changed between those two versions. That is just one example.

Adam Cozzette

unread,
Mar 8, 2021, 2:41:37 PM3/8/21
to Puya Daravi, Protocol Buffers
For C++ we don't maintain ABI compatibility between minor versions.

--
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+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/d4440017-8610-4cd0-a0b3-b959f2dc7748n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages