[Development] Changing Qt's Binary Compatibility policy

Kevin Kofler kevin.kofler at chello.at
Wed May 29 05:30:12 CEST 2024


Giuseppe D'Angelo via Development wrote:
> 2) We stop guaranteeing forward binary compatibility within the same
> minor version.
>  
> In other words, code compiled against Qt X.Y.Z may or may not work if at
> runtime Qt X.Y.W is used, with W<Z.
>  
> Details: no user downgrades Qt and therefore has ever needed this. This
> is something that only Qt developers themselves have possibly needed --
> seems to be a historical remnant at this point.
>  
> Concretely, this means that we can make our lives easier; for instance,
> when backporting fixes, we'll allow new symbols to appear in patch
> releases.

Hmmm… I do indeed think that this can help getting some bug fixes backported 
more easily, and indeed, within one (GNU/Linux) distribution, we normally 
care only about backwards compatibility, not forwards compatibility.

There is, however, one use case you are overlooking, and that is binaries 
compiled on one distribution and run on another. This is how a user can end 
up with an older Qt than what the application was built against. That said, 
most other libraries do not promise any kind of forward compatibility 
either, starting from glibc, so it might not be that big an issue in 
practice. (If one wants to build a cross-distro binary, one is best off 
building on an enterprise/LTS distribution with old libraries.) But still, I 
wanted to bring up this use case.

        Kevin Kofler



More information about the Development mailing list