[Development] Qt 6 API (change) review

Edward Welbourne edward.welbourne at qt.io
Fri Sep 4 18:20:03 CEST 2020

Hi all,

I have just pushed the first commits for the Qt 6 API change review.

These commits are generated by scripts in qtqa/scripts/api-review/,
which have some updates to (among other things) ignore as boring:
* additions of (plain) noexcept to declarations
* s/Q_REQUIRED_RESULT/[[nodiscard]]/
* s/Q_ALIGNOF/alignof/, s/Q_DECL_ALIGN/alignas/
* s/QVector/QList/
and replacement, with OpenGL feature checks, of various defines that
(unlike most features' prior defines) weren't QT_NO_... but actual
positive defines.

As ever, there may be some quirks arising from this - small new headers
get mistaken by git for copies of old ones, so the "ignore copyright
header changes" part of the script may perversely "revert" a new file's
copyright year to that of the file of which it "is a copy", for example;
and lines with non-boring changes in them do include any boring changes
that happened at the same time, which may lead to odd contrasts when the
*neighbouring* lines aren't marked as having had the boring changes -
check the actual file on dev in such cases, but let me know if there's
anything horribly misleading.  Equally, if there are any boring patterns
that are noisily inflating your apparent change, tell me about them - I
may be able to teach the scripts to ignore those, too.

Please note that, as this is a new major version, we'd like folk to
review more than just the changes being made: check for other changes
that *should* be made, too.  In particular, if any ### Qt 6 comments or
similar haven't been addressed, now is a good time to do that.
Although feature freeze is in effect, API freeze isn't yet.

Related to that, note that my script-generated reviews only mention the
public API headers that *have* changed (in non-boring ways), so do feel
free to take a look at other headers and use these reviews as a forum in
which to discuss what changes might be needed in them.  Modules which
have had no (non-boring) API changes since 5.15.0 are also worth
reviewing, please let me know if you do make changes to any module with
no existing review and I'll create one.

If you have changes to make in response to the review, please either
include a Task-number: QTBUG-86400 footer in your commit or file a Jira
ticket blocking QTBUG-86400 and mention your ticket in Fixes footers.
I imagine the QML folks shall set about a *.qmltypes update soon.

When you know major changes have merged, let me know if you want a
review regenerated, or see its commit message for how to update it
yourself (including amending it to include some of the changes the
scripts deemed boring, if you disagree).

Please review early and review often - we've made heaps of changes !


More information about the Development mailing list