KDE Frameworks 6 Branching
We are nearing an important milestone in the KDE Frameworks 6 development, branching and thus splitting the development of KDE Frameworks 5 and 6 is getting really close now. That’s not the only noteworthy news from the KF6 work though.
Branching plan
Following the plan from Akademy this should happen after 5.101, which is about to be released. Given we still have a few things to sort out around tooling and infrastructure as well as scheduling constraints around the upcoming holiday season we are looking at the first week of January for this now.
By then we hope to have kdesrc-build
metadata prepared
and new CI jobs set up. We’d then create a branch in all Frameworks repository named kf5
.
From that point on, KDE Frameworks 5 is considered feature-frozen, feature work should continue to happen in the master branch, primarily targeting KF6 then. Bugfixes of course can and should be backported for quite some time to come, and KF5 releases will continue with the same pattern as previously. At some future point we will likely start to increase the interval between releases though, as the amount of changes decreases.
Ideally nothing should change for application and Plasma developers by this, both kdesrc-build
and
the CI should continue to provide you with KF5 unless you explicitly chose to switch to KF6. If you manage manual Frameworks
builds and/or work on Frameworks itself you’ll of course have to adjust to the new branches.
Despite all the planning it is quite possible we missed something and we’ll end up with some disruptions around branching, there is no precedent for two major versions of Frameworks to exist in parallel so far.
Android builds
We were able to do Android library builds on the CI against Qt 6 since quite some time, now also executable builds work, which gives us Android CI coverage also for applications.
This however does not include APK packaging yet (that’s not run as part of the normal CI), there is more work for this needed in ECM, as well as adjustments in the Android manifest and Gradle files in each application.
Application ports
Several larger modules have meanwhile also been adapted to build against Qt 6, such as Gwenview, Zanshin, KAlarm and libkomparediff2. The latter also unblocks looking at things like Kompare and KDevelop.
Based on Nico’s statistics, close to 60% of the repositories covered there have Qt 6 CI on at least one platform. A few modules on that list are already ported but blocked by missing dependencies on the CI, but many are still to be done.
How you can help
All of the above is the result of a big team effort, and you can be part of that!
To participate, here are the most important coordination and communication channels:
- The KF6 workboard has the overview of Frameworks tasks and their status, and same for the Plasma 6 workboard.
- There’s a bi-weekly call on meet.kde.org, topics are prepared here. The next one will be on Tuesday 20th December at 17:00 CET.
- For general communication there’s the kde-frameworks-devel mailing list
and the
#kde-devel
channel on Matrix.
There’s another way to help as well, KDE’s End of Year Fundraiser. The infrastructure we do all this work on doesn’t come for free after all.