Hi, I'll start turning this thread into a QUIP here (currently empty placeholder commit): https://codereview.qt-project.org/#/c/215625/
I'll update the list when I have written something. In the mean time I'd like to ask for this to become QUIP #99 and hereby reserve the number. Cheers, Frederik On torsdag 7. desember 2017 14.53.06 CET Frederik Gladhorn wrote: > 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 _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
