[Development] Commercial-only LTS phase starts: Closing the 5.15 branch(es) on 5th January

Adam Light aclight at gmail.com
Wed Jan 6 19:07:15 CET 2021

On Wed, Jan 6, 2021 at 3:15 AM Volker Hilsheimer <volker.hilsheimer at qt.io>

> What can do better to avoid such regressions from making it into a
> release, or preferably into the code, in the first place? Nobody, not even
> the Qt Company management :P *wants* to release crappy quality on time.

For major version releases, many of the regressions are intentional. For
example, going from Qt 4.8 -> 5, it was not until Qt 5.4 or 5.5 that we
could even compile our application on macOS and Windows without disabling
chunks of code due to missing features. Then we had to deal with all of the
subtle changes in how events were handled, some of which caused major
problems in our application. We finally shipped with Qt 5.6. It seems that
the Qt 6 cycle is starting out in a similar fashion, as Qt 6 won't be
feature complete until at least 6.2, so it's unlikely we will even think of
trying Qt 6 until then. Since we are still using 5.12 due to the lack of
LGPL LTS releases, if and when we ultimately move to Qt 6 there will be 2+
years of changes that may cause problems with our application. That's on
top of any intentional deprecations and changes and figuring out how to get
our application to build with cmake (if that's necessary).

For minor versions, I think most of the regressions are unintentional, but
it is not uncommon that we report a regression and it is simply ignored or
acknowledged but not fixed. Sometimes we can work around the regression in
our own code or by patching Qt ourselves.

Here are some lists of issues, most of which we created, that may be
helpful to you in determining where the process broke down.

Regressions that affected some version of 5.12 which have been fixed in

https://bugreports.qt.io/browse/QTBUG-37804 is a regression from Qt 4.8->5
that wasn't fixed until 5.15, and is still not fixed in 5.12 (as far as I
know). It sat as a P2 or P1 for over 6 years.

Regressions in 5.12 that have not yet been fixed:
https://bugreports.qt.io/browse/QTBUG-72212 (5.9->5.12, still open)
https://bugreports.qt.io/browse/QTBUG-74530 (5.12.0->5.12.1, still open)
https://bugreports.qt.io/browse/QTBUG-89010 (5.12.9->5.12.10 I believe,
this causes a crash in our own fuzzing tests, so it's not a big deal but
unfortunate to see in a LTS and the change in behavior is undocumented)
https://bugreports.qt.io/browse/QTBUG-59805 (this is due to a macOS 10.11
change but the Qt change needed to fix the regression and make captions
work as documented with native file dialogs is simple and documented in the
https://bugreports.qt.io/browse/QTBUG-40895 (4.8->5.x regression (mac
only), closed as won't fix, we have no workaround but our customers haven't
complained so it's not too big of a problem for us)

There are also advantages to LTS releases in that there are often fixes for
issues that appear in new macOS versions. A few examples:

As you can see, most of the issues above are macOS specific. If our
application was Windows only, there would probably be much less need for
LTS versions and fewer regressions in Qt that affect our application.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20210106/1dc306c5/attachment.html>

More information about the Development mailing list