On Wed, Jan 6, 2021 at 3:15 AM Volker Hilsheimer <[email protected]> wrote:
> > 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 5.12: https://bugreports.qt.io/browse/QTBUG-77281 https://bugreports.qt.io/browse/QTBUG-77255 https://bugreports.qt.io/browse/QTBUG-74559 https://bugreports.qt.io/browse/QTBUG-75825 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 report) 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: https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.12&id=c5d904639dbd690a36306e2b455610029704d821 https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.12&id=4d6832d03f31b513ff2e3517197691bedddaccdf https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.12&id=00326c9dc1ec6c80679347859c2fe01d4837b061 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. Adam
_______________________________________________ Development mailing list [email protected] https://lists.qt-project.org/listinfo/development
