Hi all, I've lately been discussing with a few people in The Qt Company about our versioning. Historically it was a good idea to not couple Qt Quick too tightly to general Qt releases. There were quite some constraints and added flexibility was nice. Qt Quick has matured a lot though, so I think it's time to consider making everyone's lives easier by cleaning up our version chaos. See also J-P's previous mail here: http://lists.qt-project.org/pipermail/ development/2015-September/023200.html
Examples are the version section in here: https://doc.qt.io/qt-5/qtquickcontrols2-index.html And a general confusion around which version does what. Since we so far don't keep copies of old functions around (as far as I'm aware at least), I don't think there's a huge value in the versioning system in the first place. It only gives one important guarantee: if you added a property/type/name and import a defined version, you don't suddenly get conflicts because we introduced the same name. Some modules started to copy the Qt version, e.g. Multimedia, that's pretty easy to remember and a good start in my opinion. I have several ideas and I'm unsure how hard they would be to implement, so I'll list things from easy to hard. 1) sync minor versions to Qt release version: For Qt 5.11, we would provide QtQuick.Controls 2.11 This way, the challenge for the user is only to find out if it's version 1, 2 or 5. 2) Make the minor version import optional and we pick the lastest. This should be optional to prevent the name clashes described above and shifts the risk to the user. In practice I'd expect this to be pretty safe. import QtQuick.Controls 2 would then give the latest version available. 3) Make even the major version optional and we'd pick up the latest version. import QtQuick.Controls would give version 2.11 with Qt 5.11. I don't see us releasing most of the QML/Qt Quick modules independent of the rest of Qt any time soon, so I hope this will make things easier for everyone. I'm sure there are even better ideas out there, this is just my version and current thinking, I hope for constructive suggestions :) In the end I want this to be easier for Qt users and also to lessen our maintenance burden and the need to look up versions, explain the scheme and reduce the confusion. Luckily we now have qmlRegisterModule(QT_VERSION_MAJOR, QT_VERSION_MINOR) to help registering the current versions already. Cheers, Frederik _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
