This Epic is used for planning and defining the changes and new content that will get implemented for Qt 6.
Qt 6 as a major release can break binary compatibility, but is supposed to keep backwards compatibility for non deprecated functionality as much as possible.
The work between the last Qt 5 version and Qt 6 should focus on those items that can't be changed or fixed in a minor release.
Here are some guiding principles for the work:
- Qt is a cross-platform framework, please keep it that way and implement new functionality for all relevant platforms
- Make things as performance as possible
- No O(N) when we can do O(logN)
- Minimize memory consumption
- And minimise the amount of allocations
- But keep APIs as easy to use as possible
- API convenience wins over ultimate performance
- Time to market and error correctness win over performance
- Backwards source compatibility is important
- No breaking without maintainer approval
- API deprecated in 5.12 can be freely removed
Please group any items you have into sub-tasks per module or functional area. These sub-tasks should be assigned to the corresponding maintainer of that module.