[Releasing] Focusing bug fixes to 5.9 branch and patch releases during H1/17
tuukka.turunen at qt.io
Fri Feb 10 11:59:56 CET 2017
Short summary: The Qt Company has decided to focus development effort to 5.9 and dev branches in order to reach the planned timeline for Qt 5.9 release and make improvements in the CI system. Next scheduled patch level release would be Qt 5.6.3 straight after Qt 5.9 is out. In case of severe security vulnerability we would make Qt 5.8.1 directly based on 5.8.0 with just the security fix(es) added.
Qt 5.8.0 looks to be a good and successful release. It has already been downloaded 150.000 times even though it was released just two weeks ago. The reception has been good overall and there are no blockers reported based on the release. Qt 5.9 and subsequent releases will leverage the new configuration system and other major improvements introduced with it, as well as add new functionality to make Qt even better.
It took us a more time than planned to get Qt 5.8 out and because of that we are already past Qt 5.9 feature freeze and approaching the alpha release soon. Looking into the reasons why Qt 5.8.0 was delayed there are 3 items that had a significant effect:
1. We did not keep the feature freeze properly as there were some items we wanted to get in – doing so we should have replanned the whole release time, but we tried to keep schedule and failed.
2. We were not able to focus enough to Qt 5.8 finalization as there was quite a lot of effort going still to Qt 5.6.x and 5.7.x patch releases in parallel – and our systems and processes are not yet good enough for this.
3. We have had some issues in the CI system that cause integrations to fail and thus increase system load – these are now being addressed (getting new HW in place, change to a better virtualization platform, use local disks instead of central disk, reduce number of flaky tests, etc).
We believe it will be possible to significantly reduce the time from feature freeze to release. To reach this we need to improve the items that have been problematic with Qt 5.8 and other releases. After we have done the improvements, it will be easier to keep the timelines and also be more productive. We absolutely do not want to rush a new release out with severe bugs in it – not now and not in the future – for this reason we want to focus into the processes and systems part and allow more efficient release creation. First we want to be able to reach the current 17 weeks timeline from FF to release with Qt 5.9. After that we want to reduce it gradually to 10-12 weeks (for a new minor release of Qt). Increased productivity will allow us to make more patch releases than before.
In the CI system side we have major improvements happening during this year. We will be purchasing more blades and other HW during H1/17, which will add capacity, so we will be able to run more parallel integrations. We are also looking into changing the system architecture away from central disk into using local ssd for build machines. This is expected to bring improvements to both performance and reliability (especially now as we have had issues with disks failing despite the disk system still being in the mid of its life-cycle). Third item we are looking into is change of the virtualization platform, which we hope will bring improvements in stability as well as new capabilities.
Arranging enough time to implement the improvements in our systems as well as keeping the timeline of Qt 5.9 despite delayed 5.8 release unfortunately means that we can’t make any scheduled patch releases until June, after Qt 5.9 is out. We will keep the ability to release patch release for urgent security vulnerabilities, as always. Such release would be on top of the previous patch release and not include all other changes in the corresponding branch. Even with a lot more help from community than before, making a scheduled Qt 5.8.1 release parallel with Qt 5.9 has impact to the system load as well as to the work needed from the release team and others.
I am well aware that a Qt 5.8.1 release would be beneficial, but making one now would impact Qt 5.9 schedule and our capability to improve CI system stability. Qt 5.6.3 LTS patch release is done straight after Qt 5.9 release, but not before. After the Qt 5.9.0 in May we should then focus into making Qt 5.9.1 release instead of making Qt 5.8.1 any more as Qt 5.9.0 is already out. With the CI improvements in place, we should definitely be able to make more than one patch release for Qt 5.9.
As a scheduled Qt 5.8.1 release is not planned, should we start pushing fixes directly to 5.9 branch now? It would reduce the workload as we do not need to first integrate changes into 5.8 and then merge upwards to 5.9. It would also reduce the time it takes to get fixes into to 5.9 and dev as well as reduce the load to the CI system as less integrations are needed. We can keep 5.8 branch open for a while still similarly as 5.6 is in case there is some fix that must be in the 5.8 branch. Let’s discuss in the next release team meeting (Tuesday 14th Feb 16.00 CET) if pushing fixes to 5.9 branch directly would be good approach.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Releasing