Qt Changelog

What's new in Qt 6.5.0

Apr 3, 2023
  • Important Changes:
  • qtbase:
  • eee9d25202 Use CSS classes on html list items for checkbox support:
  • Checkbox list items can now be read and written in both HTML and Markdown, including conversions.
  • 81fdfcfc4a Fix font rendering when Qt is configured with -no-harfbuzz:
  • Fixed font layouts when Qt was configured without Harfbuzz.
  • 992a318d39 CoreText: Fix fonts with synthetic stretch:
  • Fixed a bug where synthetically stretched fonts would get the wrong advances and sometimes glyphs would be clipped.
  • 79bead6c3b Add support for painting at integer DPR with downscale:
  • Added experimental support for always painting at an integer device pixel ratio (rounding the DPR up if necessary), followed by a downscale to the target DPR.Enable by setting QT_WIDGETS_HIGHDPI_DOWNSCALE=1 and QT_WIDGETS_RHI=1.
  • * 122270d6be Long live the ICU-based QStringConverter interface!:
  • QStringConverter and API using it now supports more text codecs if Qt is compiled with ICU support.
  • * 03e76ac23d xcb: fix missing initialization of m_cursor:
  • Fixed crash when no monitorInfo is available (e.g. VNC).
  • * bf3fc5c95c QPromise: run continuation(s) on destruction:
  • QFuture now runs its continuations when its associated QPromise has been destroyed. Previously, if a QFuture was canceled because the associated QPromise has been destroyed, its continuations were skipped.
  • cb0b1ee441 moc: remove unnecessary emission of "#include <qbytearray.h>":
  • moc no longer emits an #include for QByteArray in the output file. None of the content that moc generates needed that header, so this should not cause changes for most people. However, codebases that #include'd the moc output (something that is recommended) could be depending on this indirect include.
  • 2c0518eb62 moc: Allow reading property values through bindables:
  • You can now specify "READ default" in a Q_PROPERTY if you also specify a BINDABLE. moc will synthesize a READ accessor in that case.
  • 846b314aaf Emit autolinks in QTextMarkdownWriter:
  • QTextMarkdownWriter now writes an autolink whenever a hyperlink has no custom text and no tooltip, including when the document was parsed from Markdown containing a naked URL.
  • 7466422e9c Add a way to declare _exported_ logging categories:
  • Added the Q_DECLARE_EXPORTED_LOGGING_CATEGORY macro, in order to allow dynamic libraries to declare a logging category that can be then used by client code.
  • 9521a07af2 QKeySequenceEdit: add a maximumSquenceLength property:
  • Added a maximumSquenceLength property.
  • 217c47eac4 wasm: enable sql/sqlite for non threaded builds:
  • Enable sqlite for non threaded builds
  • c84897c137 QDebug: add op<< for std::initializer_list:
  • Can now stream std::initializer_list.
  • 1c0a56a2f3 Apply ScaleFactorRoundingPolicy to QT_SCREEN_SCALE_FACTORS:
  • The high-DPI scale factor rounding policy (settable with QGuiApplication::setHighDpiScaleFactorRoundingPolicy() or QT_SCALE_FACTOR_ROUNDING_POLICY) now applies to scale factors set with QT_SCREEN_SCALE_FACTORS.
  • cc70757964 qdbusxml2cpp: allow choosing <> over "":
  • Added command line option -I/--global-include to include header files with <> in the generated files.
  • e1f25b1c8d Make it possible to check the accepted state of touch events in tests:
  • QTouchEventSequence::commit() now returns a bool so that tests can check whether the event was accepted during delivery.
  • 66a30b9a33 moc: Allow writing properties through bindables:
  • moc will now synthesize WRITE accessors for properties with BINDABLE if you specify "WRITE default".
  • 1d961491d8 Always update QPalette resolve mask, regardless of QBrush
  • change:
  • Always update resolve mask in QPalette::setBrush, even if the value of brush has not changed.
  • 2cfabed1ff Long live QDebug op<< QMetaType!:
  • Can now stream QMetaType.
  • 1ea0d399b3 QKeySequenceEdit: Add a finishing key combinations property:
  • Added a property to allow defining the finishing key combinations.
  • 6bc227a06a Port QXmlStremReader to QAnyStringView:
  • Added constructor and addData() overloads taking QAnyStringView.
  • 43ef22045c Windows: Turn on dark mode support by default:
  • Dark mode, both for the window frames and for the palette, is now supported by default. It can be turned off (partially or entirely) by setting the QPA parameter "darkmode=0" (no dark mode support) or "darkmode=1" (darkmode support only for the window frames).
  • ccb2e4dbb1 QOpenGLBuffer: add move-SMFs and swap()s:
  • Added member-swap(), move constructor, move assignment operator.
  • 74fac865cf QMetaType: add registerType() and qRegisterMetaType(QMetaType):
  • Added QMetaType::registerType() and an overload of qRegisterMetaType() taking QMetaType (the two functions do the same thing). These two functions ensure a given QMetaType is registered with the Qt global registry, so they can be found by name later. Using qRegisterMetaType<T>() also accomplishes the same thing, but is slightly
  • better for completely generic code because it will avoid emitting the registration for built-in types.
  • 764d82ceb5 QMetaType: add is{Default,Copy,Move}Constructible and isDestructible:
  • Added isDefaultConstructible(), isCopyConstructible(), isMoveConstructible() and isDestructible().
  • 2d0c31e7d9 QMetaType: fix QMetaTypes for non-const references:
  • Made meta types for non-const references fail to compile. Previously, QMetaType::fromType allowed this to compile, but returned the meta type for the base type, which was incorrect. Const references are understood to be the same as the base type.
  • e540d4a864 QRegularExpression: introduce (global)matchView:
  • Added the matchView() and globalMatchView() functions that operate on string views. The match(QStringView) and globalMatch(QStringView) overloads have been deprecated.
  • 41c4f9a47a SQLite: Update SQLite to v3.39.2:
  • Updated SQLite to v3.39.2
  • 0a36a7c1db Make 'zz' format an alias for 'z' in time format strings:
  • Doubling the 'z' format in a date-time or time format string now produces the same output as a single 'z'. Previously, this would have produced two copies of the milliseconds field (eliding any trailing zeros in each). Contrast with 'zzz', which produces the full milliseconds field, including any trailing zeros.
  • 8cc389068b Improve QDomDocument::setContent() API:
  • Added new setContent() overloads that allow specifying different parse options through ParseOptions flags. These overloads use a new ParseResult struct for returning the information about an error, and QAnyStringView for passing string input.
  • 51092c218 Bump QVulkan(Device)Functions to Vulkan 1.3:
  • QVulkanFunctions and QVulkanDeviceFunctions are updated to expose the Vulkan 1.3 API as long as the build environment's vulkan.h is 1.3-capable.
  • 6a73e1b31 QDomDocument: Add a way to enable spacing-only text nodes:
  • Spacing-only text nodes can now be preserved by passing the ParseOption::PreserveSpacingOnlyNodes option to setContent().
  • 9ce5709fb1 CMake: Support big resources in qt_add_resources:
  • The target-based variant of qt6_add_resource gained the option BIG_RESOURCES. This can be used instead of qt6_add_big_resources, which is not target-based.
  • 2ca3044083 Make QSqlQueryModel::query() return a reference to the const QSqlQuery:
  • QSqlQueryModel::query() now returns a reference to the const QSqlQuery
  • object associated with the model.
  • c4fabe37b9 Remove QSqlTableModel::setQuery(const QSqlQuery &):
  • The setQuery(const QSqlQuery &) method is removed, because QSqlQuery cannot be copied correctly. Use the public setQuery() overloads of the base QSqlQueryModel class instead. They allow passing of QSqlQuery by rvalue ref, or creation of the query by specifying query string and database object.
  • 042290d0fb CMake: Add QT_ANDROID_SIGN_AAB variable:
  • Added the QT_ANDROID_SIGN_AAB variable that can be set to ON to enable signing of .aab packages.
  • e163c49435 qdbusxml2cpp: remove the old "In"-for-signal compatibility code:
  • Removed the old compatibility code that accepted "In" annotations for signal argument names, introduced in Qt 5.8.
  • e684c25b85 QDomDocument: deprecate old setContent() overloads in favor of new ones:
  • Deprecated the old setContent() overloads in favor of the new ones that
  • take ParseOptions and ParseError.
  • a6b55b3c46 Allow specify distance to plane for QTransform:
  • Added overloads to rotate() and rotateRadians() that allow specifying of the distance to the rotation plane.
  • 3226c82740 Rename QT_DISABLE_DEPRECATED_BEFORE ->QT_DISABLE_DEPRECATED_UP_TO:
  • The QT_DISABLE_DEPRECATED_BEFORE macro is renamed to QT_DISABLE_DEPRECATED_UP_TO. The old name is deprecated, but is still
  • recognized if it is defined during configuration and the new name is not defined.
  • 18f0484a0e Rename QT_DEPRECATED_WARNINGS_SINCE ->
  • QT_WARN_DEPRECATED_UP_TO:
  • The QT_DEPRECATED_WARNINGS_SINCE macro is renamed to QT_WARN_DEPRECATED_UP_TO. The old name is deprecated, but is still recognized if it is defined during configuration and the new name is not defined.
  • 2625a3a01a Add -disable-deprecated-up-to parameter to configure script:
  • The configure script now accepts a new parameter -disable-deprecated- up-to which is used to remove all deprecated code from API and ABI while building the libraries. The version number must be specified in a hex format. For example, it can be used like this: /path/to/qt/configure -disable-deprecated-up-to 0x060500 to remove all code deprecated in Qt 6.5.0 or earlier releases.
  • d8561b1dea QDebug: finish porting to qsizetype/size_t:
  • Fixed issues on 64-bit platforms when streaming containers (incl. strings) of more than 2Gi elements.
  • e1cf523354 QScopedArrayPointer: port to qsizetype Is no longer limited to 2Gi elements in size.
  • f5be5c6b14 Move qSharedBuild() from qglobal.h to qlibraryinfo.h:
  • qSharedBuild() is moved from qglobal.h to qlibraryinfo.h, '#include <QtCore/QLibraryInfo>' needs to be added where it's used.
  • 22662d7dba QLibraryInfo: Add isSharedBuild() function and deprecate qSharedBuild():
  • Added QLibraryInfo::isSharedBuild() and deprecated qSharedBuild().
  • 9540a4eb90 QHttp2Configuration: in QNAM, use old, higher values in flow control:
  • Stream receive window that HTTP/2 protocol in QNAM is using increased to 214748364 octets (from the previous 64K) not to throttle download speed. Clients, working with servers, not accepting such parameters, must set HTTP/2 configuration on their requests accordingly.
  • 5c01cbfe76 Remove Q_DUMMY_COMPARISON_OPERATOR:
  • Removed the Q_DUMMY_COMPARISON_OPERATOR macro, which was needed to
  • workaround outdated template instantiation rules on some outdated
  • compilers.
  • c81d5ec19a QDBusTrayIcon: add xdg-activation support:
  • StatusNotifierItem tray implementation supports getting window focus token from desktop environments supporting the ProvideXdgActivationToken extension (e.g. KDE)
  • fe92b08065 QMetaObject: add a new, variadic invoke/invokeMethod/newInstance:
  • The QMetaObject::invokeMethod() taking a method name by string, QMetaObject::newInstance(), and QMetaMethod::invoke() now support more than 10 arguments.

New in Qt 6.4.0 (Sep 29, 2022)

  • Fixes:
  • qtbase:
  • QTBUG-98843 Qt 6.2.2 Windows build fail
  • QTBUG-96463 [REG 5.15.2-6.2.0] Text with BIDI controls is underlined
  • incorrectly
  • QTBUG-86052 wasm: Calling setWindowIcon() has no effect on a QDialog
  • QTBUG-99165 cmake doesn't complain with android-30, but fails with
  • unknown API S (ie android-31)
  • QTBUG-98408 QTextDocument is limited to @media screenwhen calling
  • setHtml()
  • QTBUG-99223 CMake Error: File
  • C:/Users/qt/work/install/lib/cmake/Qt6/qt_setup_tool_path.bat.in does
  • not exist.
  • QTBUG-97752 QHash: non-readonly iteration access destroys iterator
  • QTBUG-96916 Qt 6 breaks compatibility of QVariant streaming into
  • QDataStream
  • QTBUG-91739 Performance regression on QHash::insert() and
  • QHash::remove()
  • QTBUG-81503 qtbase contains code that isn't allowed to be distributed
  • QTBUG-98901 QtConcurrent::run crashes on program exit
  • QTBUG-99163 QTransform rotate big image will crash
  • QTBUG-99280 Splash screen appears on top model dialog with dynamic vs
  • behind with static
  • QTBUG-99330 qdoc: Crash at QString::operator+=()
  • QTBUG-99186 uncaught exeption takes down app
  • QTBUG-99319 QApplication crash on second run when mouse roll over
  • window
  • QTBUG-99371 QWidget::customContextMenuRequested coordinates are off
  • for widgets in a QMenu
  • QTBUG-99147
  • COIN-777 *** Could not find any device matching '--platform iOS
  • --minimum-deployment-target
  • QTBUG-99413 QSysInfo::productType() incorrectly documented
  • QTBUG-85295 QSettings will still fall back onto any child groups
  • specified in the fallback entries even if fallbacks are turned off
  • QTBUG-63695 QStandardPaths does not document locations for QNX
  • QTBUG-99316 Yocto build fails in CI for qtdeclarative-native dev/6.3
  • branch
  • COIN-728 Logging categories no longer enabled when re-running failed
  • tests
  • QTBUG-99416 QT6 qtbase build fails claiming symlinks are present
  • QTBUG-99148 Broken html list rendering because element
  • QTBUG-99192 tst_qquickpixmapcache Failed
  • QTBUG-99572 Do not replace nbsp characters when creating text/plain
  • mime data
  • QTBUG-92445 Markdown smashes nested formatting inside lists
  • QTBUG-97841 MacOS Monterey - scrolling issues with touch pad
  • QTBUG-99623 Dependency update on qt/qtopcua failed in 6.3
  • QTBUG-99633 [autotests] tst_QIcoImageFormat should be behind a feature
  • flag
  • QTBUG-99522 qmake adds @ mark after then the output file name when it
  • calls g++ on either Qt's MinGW or MSYS2 platform
  • QTBUG-99548 Qt6 CMake target compile options propagation (CUDA)
  • QTBUG-99676 markdown (and html) import/export should not rely on use
  • of a fixed-pitched font to remember a monospace span
  • QTBUG-99640 Reg->6: QByteArray::append(const char *str, qsizetype len)
  • crashes if len < 0
  • QTBUG-99111 wasm: cursor is wrong after resizing window
  • QTBUG-99605 XCB: QGuiApplication::primaryScreen() always last screen
  • QTBUG-99710 Regression: QCache crash
  • QTBUG-99224 Crash in QPixmapCache
  • QTBUG-99240 Crashing in trimming QPixmapCache
  • QTBUG-99408 [SQL] The SQL driver for Firebird/Interbase does not
  • unpack the QVariant before null check
  • QTBUG-98471 [REG: 5->6.2.1] Null QDateTime is not stored as NULL
  • anymore in Oracle OCI
  • QTBUG-99656 [REG] QT_HOST_BINS, QT_HOST_LIBEXECS and QT_HOST_LIBS have
  • extra 'bin' in path
  • QTBUG-99620 QMetaType: type QMap> has
  • more than one typedef alias: ColumnAlignmentMap, ColumnAlignmentMap
  • QTBUG-99743 QTabWidget rendering broken on macOS 12
  • QTBUG-99717 [autotests] text reading in tst_QImageReader should be
  • behind a feature flag
  • PYSIDE-1773 uic doesn't import QAbstractItemView for
  • QTableView/QTreeView EditTriggers
  • PYSIDE-1404 Incompatible import of "Object" in compiled UI
  • QTBUG-95661 Test result counts are incorrect
  • QTBUG-99668 Using QDateTime with QTimeZone specified asserts in debug
  • build
  • QTBUG-99630 tst_QShortcut::text is flaky in dev
  • QTBUG-99771 Porting guide does not mention binary JSON
  • QTBUG-92358 One More Crash in text shaping on special string with
  • EmojiOneColor font.
  • QTBUG-89155 Assertion violation in text shaping on special string with
  • EmojiOneColor font.
  • QTBUG-99472 "Pick Screen Color" button in QColorDialog doesn't scan
  • secondary screen colors in Windows
  • QTBUG-99642 Can't define CSS with properties for QToolButton with Qt 6
  • QTBUG-99615 Most QMutableEventPoint usage depends on Undefined
  • Behaviour
  • QTBUG-72103 Conversion between QQuaternion and Euler angles has issues
  • in special cases
  • QTBUG-97535 Bug in examples for QListIterator Class
  • QTBUG-99486 Extra dot appears in top left corner of Fusion style spin
  • box frames with no buttons
  • QTBUG-80666 QNetworkRequest::setHeader(IfModifiedSince) treats local
  • time as UTC
  • QTBUG-99666 Qt module builds mix install and staging prefixes
  • QTBUG-99799 Memory leak in QJsonDocument::fromJson()
  • QTBUG-99960 A crash when comparing two null QVariants
  • QTBUG-99323 [REG: 5.14.2 -> 5.15.0] Posted events get stuck when
  • QCoreApplication::processEvents with QEventLoop::WaitForMoreEvents is
  • used
  • QTBUG-99949 Cannot do unthrottled Present with D3D
  • QTBUG-99803 QVulkanWindow doesn't enable any device features (e.g.
  • VkDeviceCreateInfo::pEnabledFeatures)
  • QTBUG-97950 Application slowly reads every file in /usr/bin before
  • starting
  • QTBUG-96718 Crash in inBindingWrapper() (Creator built against Qt 6.2
  • build)
  • QTBUG-99534 tst_qfuture memleaks
  • QTBUG-100067 network/torrent examples ProgressBar text should be
  • layout with horizontal
  • QTBUG-95309 Compile fails with Qt in namespace and C++20
  • QTBUG-100118 QStaticByteArrayMatcher cannot match beyond INT_MAX
  • QTBUG-100072 Building Qt from source fails to compile with C++20
  • standard enabled when using MSVC 2022
  • QTBUG-100144 Dependency update on qt/qtwebchannel failed in dev
  • QTBUG-98316 QTimer on Windows uses excessive power for timers
  • QTBUG-100107 QByteArray::isLower() is completely different from
  • QString::isLower() , ditto isUpper()
  • QTBUG-100037 QSqlQuery: crash on executing query if connection is
  • already closed
  • QTBUG-99066 Since QT6.2.1 Painted Widgets / Text is less "anti
  • aliased"
  • QTBUG-100233 Android broken project/wrong libraries linked when adding
  • UiTools
  • QTBUG-100074 Building QSharedMemory fails when bootstrapping
  • QTBUG-87136 Animations run twice as fast on a 120hz Android device
  • QTBUG-93823 Android QPlatformScreen does not expose the refresh rate:
  • Animations (and timers) too fast on higher refresh rate monitors
  • QTBUG-94959 Timer and animations runs faster after screen touch event
  • on Android 11
  • QTBUG-93393 Android A11Y TalkBack: Hidden onPressAction still called
  • QTBUG-62185 QVersionNumber seems broken on -O1 and higher with g++
  • QTBUG-69216 Android: tst_QFontDatabase::condensedFontMatching fails
  • QTBUG-89011 test runner is unable to run only initTestCase()
  • QTBUG-95842 testlib's autotest compilation fails with glibc 2.34
  • QTBUG-100071 QtFuture::connect fails to compile if the passed signal
  • takes a std::tuple as argument
  • QTBUG-100294 RHI Direct3D11 fails to build with MinGW-w64 v8
  • QTBUG-100315 FEATURE_headersclean does not work with if
  • CMAKE_CXX_FLAGS contains more than one option
  • QTBUG-99637 Windows with D3D or Vulkan: stretch effect is not ideal
  • when resizing QQuickWindow
  • QTBUG-94608 Nonsensical full path to examples
  • QTBUG-100317 QMacStyle code references missing image resource
  • QTBUG-97929 CMake warnings in FindGLIB2.cmake
  • QTBUG-44096 QNetworkAuthenticationManager does not emit
  • authenticationRequired when using NTLM
  • QTBUG-98253 Failed to build from source through clang-cl 13.0.0
  • QTBUG-93432 QGraphicsTextItem font gets incorrectly clipped when a
  • clip rect is set on the painter.
  • QTBUG-34673 qmake prints 'Access is denied' when it actually can't
  • find the .pro file
  • QTBUG-100416 QPluginLoader::loadHints return "no hints set" but by
  • default PreventUnloadHint is set
  • QTBUG-100324 QHelpEvent::globalPos() returns frequently a wrong value.
  • QTBUG-99846 [autotests] tst_qlogging uses wrong helper path on webOS
  • QTBUG-99707 QML plugins have wrong RUNPATH
  • QTBUG-100432 [REG 6.2.3->6.3.0] QML/quick examples not launching when
  • compiled from command line
  • QTBUG-99954 [autotests] tst_QResourceEngine fails on webOS
  • QTBUG-97157 attempting to interact with any widget dialog on
  • touchscreen fails; mouse causes crash after that
  • QTBUG-100290 Custom build fails with PCH
  • QTBUG-100493 QtFinishPrlFile.cmake: No such file or directory with
  • multi-config build on Linux
  • QTBUG-100327 CompositionMode_Screen wrong with drawImage
  • QTBUG-100482 Network monitoring not working when ZScaler Internet
  • Security is active
  • QTBUG-100441 [REG 6.2.1->6.3.0] Designer not launching on macOS x64
  • QTBUG-100518 Crash on iOS 13.3.1
  • QTBUG-100364 QStandardPaths GenericDataLocation for iOS seems to
  • mention wrong path
  • QTBUG-93402 Android A11Y TalkBack: Focus Rect not updated on
  • orientation Change
  • QTBUG-100362
  • tst_QNetworkReply::putWithServerClosingConnectionImmediately is flaky
  • QTBUG-63196 QNetworkReply::putWithServerClosingConnectionImmediately
  • fails on Windows
  • QTBUG-98476
  • tst_QNetworkReply::putWithServerClosingConnectionImmediately fails in
  • QtBase with Windows 11
  • QTBUG-78797 Shift-select drag distance is zero in QTreeView
  • QTBUG-81542 QListView range selection changes after 1 pixel move
  • QTBUG-99512 QListview selectcount error with items of differing
  • sizes
  • QTBUG-100420 QPicture doesn't respect Qt::IntersectClip when used with
  • setClipPath
  • QTBUG-100654 tst_QRhi fails on webOS
  • QTBUG-88137 tst_QTimeLine fails on Android
  • QTBUG-96212 The visibility of placeHolderText of the QPlainTextEdit is
  • not reevaluated in the setter
  • QTBUG-100494 QMdiSubWindow does not respect size constraints
  • QTBUG-100695 Document QProcessEnvironment::Initialization enum
  • QTBUG-100438 Incorrect rounding to ms in QTimer when clock too coarse
  • QTBUG-51327 [Windows 8.1]: After maximizing a window and toggling the
  • frameless window hint and moving to another monitor then the window can
  • be too big
  • QTBUG-100545 Nested QML items with Accessible properties set does not
  • work on Android
  • QTBUG-100217 [REG 6.2.2 -> 6.2.3] Integer overflow when rendering svg
  • image
  • QTBUG-87405 tst_QFontDatabase::systemFixedFont fails for Android
  • QTBUG-88136 tst_QFutureWatcher fails on Android
  • QTBUG-100775 Several data races around handlers of
  • QDesktopServices::openUrl()
  • QTBUG-100546 QIODevice::readAll() Truncates Data To Max Int
  • QTBUG-100867 QFile::copy error string is uninformative
  • QTBUG-87400 tst_QAbstractItemView fails on Android
  • QTBUG-87408 tst_QTreeView has failing tests
  • QTBUG-100574 qtbase/src/gui/vulkan/qvulkanfunctions_p.cpp is missing
  • dependency on qvkgen tool
  • QTBUG-100817 AVX build failure on intel skylake
  • QTBUG-100261 QPrinter property setup not effect
  • QTBUG-99504 Linux: QPrinter::setDuplex not effective ( Canon
  • imageRUNNER 2520 )
  • QTBUG-100915 moc code generates warning [-Wredundant-parens]
  • QTBUG-100651 Unable to follow HTTP/2 redirects
  • QTBUG-100559 wasm: Linking commands too long for Windows
  • QTBUG-101065 fatal error: 'zconf.h' file not found
  • QTBUG-52472 Undefined Behaviour in qsimpledrag.cpp line 207
  • QTBUG-45045 SIGFPE in QQuickMenu
  • QTBUG-87404 tst_QGridLayout::minMaxSize fails on Android
  • QTBUG-100796 qt_internal_add_test calls don't handle extra properties
  • for Android
  • QTBUG-84466 startSystemMove and startSystemResize does not enable aero
  • snap on windows with frameless window.
  • QTBUG-100693 WebAssembly (WASM) MEMORY control fixes
  • QTBUG-101082 [REG 6.3 -> 6.4] Build error with UBSAN
  • QTBUG-101172 Android help from configure-cmake-mapping.md seems
  • outdated (or wrong)?
  • QTBUG-100155 deprecated-declarations warning in
  • examples/widgets/widgets/icons
  • QTBUG-87401 tst_QFormLayout::wrapping fails on Android
  • QTBUG-87674 qaccessibility fails on Android
  • QTBUG-101020 tst_QPlugin::scanInvalidPlugin fails on QNX
  • QTBUG-100802 [REG 6.2.2->6.2.3]Checkable QPushButton does not visually
  • display checked state when toggled on macOS
  • QTBUG-101297 REG->6.3: Default-constructed QPrintPreviewDialog asserts
  • "!(P(max) < P(min))"
  • QTBUG-100537 Can not build Qt 6 with cmake when preferring package
  • configuration
  • QTBUG-69064 Android: tst_QFrame::testPainting fails
  • QTBUG-101300 QFlags: Missing some bitwise xor operators with
  • QT_TYPESAFE_FLAGS
  • QTBUG-101294 tst_qflags doesn't compile with QT_TYPESAFE_FLAGS
  • QTBUG-101302 [REG 6.2.3 -> 6.3.0] QGuiApplication leaks memory
  • QTBUG-101306 enum-enum warning in qxcbwindow.cpp is genuiune
  • QTBUG-100299 Android: Unloaded multimedia plugins
  • QTBUG-87389 tst_QDialog::snapToDefaultButton fails on Android
  • QTBUG-95957 Scaled pixmap with ellipse clipping leaves lines in output
  • QTBUG-100329 Clipping glitches when painting with fractional scaling
  • QTBUG-100343 MDI subwindows leave artifacts when moving/resizing with
  • fractional scaling
  • QTBUG-101299 QCOMPARE() doesn't compile for certain QFlags with
  • QT_TYPESAFE_FLAGS
  • QTBUG-90990 Drop down widget get left behind if dialog window is moved
  • QTBUG-88803 Native keyboard always popup on Android
  • QTBUG-101198 Build failure on qsimd.cpp
  • QTBUG-101399 QTest::toString() doesn't compile for certain QFlags
  • with QT_TYPESAFE_FLAGS
  • QTBUG-100873 REG->6.3b1/Windows with system clock offset: Assert when
  • instantiating QDateTimeEdit
  • QTBUG-101028 argv passed to Android apps is not sufficiently
  • terminated
  • QTBUG-93505 Unable to retrieve the swiped Filedialog
  • QTBUG-100795 QWeakPointer d pointer is private
  • QTBUG-101441 wasm: native keyboard not working on iOS
  • QTBUG-101286 [Regression] QNetworkReply::finished() is not emitted if
  • an error occurs.
  • QTBUG-101411 QT_WARNING_DISABLE_* macros do not work under QCC (8.3.0)
  • QTBUG-101381 QtScxml: Fix compiler warnings for QNX
  • QTBUG-101415 QtPositioning: Fix compiler warnings for QNX
  • QTBUG-101384 QtRO: Fix compiler warnings for QNX
  • QTBUG-101382 QtBase: Fix compiler warnings for QNX
  • QTBUG-101304 Compile tst_qflags both with and w/o QT_TYPESAFE_FLAGS
  • QTBUG-28379 QFileDialog: aliases to folders disabled
  • QTBUG-67576 QAbstractSocket::setSocketOption() has no effect if called
  • before QAbstractSocket::connectToHost()
  • QTBUG-101013 QQuickFileDialog does not work on Android
  • QTBUG-101581 Crash when zooming invalid image
  • QTBUG-101177 QTimer random segmentation fault (SIGSEGV)
  • QTBUG-101551 wasm multiple "use after free" in
  • QNetworkReplyWasmImplPrivate::doSendRequest
  • QTBUG-100154 deprecated-declarations warning in
  • examples/network/secureudpserver/server.cpp
  • QTBUG-94366 Backslash is converted to double forward slash in
  • configure on Windows
  • QTBUG-100670 QDockWidgetGroupWindow effectively sets new dockarea
  • permissions on qdockwidget
  • QTBUG-101592 Qt should load libvulkan.so.1, not libvulkan.so
  • QTBUG-100562 The characters ("_") in qtdbus-index.html links to
  • qromancalendar.html
  • QTBUG-101609 Font "Bahnschrift" reports wrong style names
  • QTBUG-101610 Font "Alef" reports wrong style names and renders
  • incorrectly
  • QTBUG-100790 tst_QInputDevice::multiSeatDevices() fails on Wayland
  • QTBUG-95067 WASM: Quick Window is bigger than browser frame on mobile
  • browsers
  • QTBUG-98755 QIconEngine::IconNameHook disappeared
  • QTBUG-93499 Signal parameter MOC handling error with gcc 10
  • QTBUG-100770 Old Qt version mentioned in Qt6.3.0 qtbase documentation
  • QTBUG-101620 QOpenGLWidget does not update when content changed while
  • its hidden
  • QTBUG-100870 QtTestLib's blacklisting doesn't take global data tags
  • into account
  • QTBUG-101474 setClipRect() after setClipRegion() call doesn't change
  • clipping region
  • QTBUG-87407 tst_QTableView has failing tests for Android
  • QTCREATORBUG-24600 some clicks in call stack don't register
  • QTBUG-101723 Configure failure with linux-clang-libc++
  • QTBUG-98369 [macOS] Qt internal warning when FontMetrics is used
  • QTBUG-99216 QMessageBox with Japanese characters gives "Missing font
  • family" warning on macOS
  • QTBUG-101745 Running qmake on iOS build fails on macOS 12.3 Monterey
  • QTBUG-89545 CMake: on macOS (w/ framework build) the module includes
  • the binary
  • QTBUG-101718 [REG 6.3.0beta2->beta3] quick3d/principledmaterial not
  • launching on macOS
  • QTBUG-101775 Don't add framework directories as include paths
  • QTBUG-101869 tst_QOpenGL fails on webOS
  • QTBUG-101651 Random crashes in QGraphicsScene
  • QTBUG-101897 The 'movie' example should only build if
  • 'QT_FEATURE_movie' is available
  • QTBUG-101456 QTabBar::setTabTextColor does not change color when
  • QPalette::Base background role is used
  • QTBUG-101916 Build Qt 6.3.0 beta2 / beta3 for Android fails only on
  • Windows
  • QTBUG-101753 FTBFS because of -Werror=attribute and "retain attribute
  • ignored" warning on rcc/uic/etc build
  • QTBUG-100821 tst_qimagereader fails on Windows 11 21H2
  • QTBUG-98477 tst_QWidget::enterLeaveOnWindowShowHide is flaky in QtBase
  • with Windows 11
  • QTBUG-69242 Android: tst_QTextDocument::task240325 fails
  • QTBUG-100470 Undetected test crashes on Android
  • QTBUG-100666 FreeType font backend fails to select font style when a
  • single font file contains multiple font faces
  • QTBUG-75172 Wrong documentation for Qt::ItemDataRole expected types
  • QTBUG-101647 Selected item in QTreeWidget cannot be dragged when CTRL-
  • key is pressed
  • QTBUG-101145 Disable "Pick color" in QColorDialog when unavailable
  • QTBUG-101653 Windows/MinGW 9/Qt 6.2.3: Step into Qt source code does
  • not work
  • QTBUG-88934 [Reg 5.15 -> 6] QFrame in the menu isn't drawing
  • QTBUG-101284 QPromise destructor doesn't transition to canceled state
  • if it wasn't start()-ed
  • QTBUG-102041 Android multi-abi builds don't work if the Android
  • ndk/sdk install path is different from the CI's one
  • QTBUG-101423 tst_QPlainTextEdit::ensureCursorVisibleOnInitialShow is
  • crashing on Android
  • QTBUG-101321 tst_QDialog::dialogInGraphicsView crashes on Android
  • QTBUG-99747 QDate::startOfDay( ) leads to assert in debug build
  • QTBUG-101996 Android Qt file system fails to communicate with some
  • content provider app (like Google Drive)
  • QTBUG-87422 tst_QAtomicInt::alignment fails on Android
  • QTBUG-87431 tst_QThreadStorage::crashOnExit fails on Android
  • QTBUG-87427 tst_QFileSystemModel::specialFiles fails on Android
  • QTBUG-101992 QDomDocument silently erases empty CDATA section
  • QTBUG-87418 tst_QStringConverter::convertUtf8 fails on Android
  • QTBUG-102064 binary_for_strip cannot be found on installed qtbase
  • QTBUG-87414 tst_QLocale::initTestCase fails on Android
  • QTBUG-99624 REG->6: Android: Fullscreen does not cover the navigation
  • bar area
  • QTBUG-53290 QWindowsPrintDevice::defaultPrintDeviceId() may crash,
  • when no printers are installed
  • QTBUG-102066 SDK version detection does not ignore stderr
  • QTBUG-70564 QT_NO_SIGNALS_SLOTS_KEYWORDS/QT_NO_KEYWORDS are
  • undocumented
  • QTBUG-99020 -Wnull-pointer-subtraction when compiling
  • qtdeclarative/src/qml/qml/ftw/qintrusivelist_p.h:244:69
  • QTBUG-87385 tst_QNetworkProxyFactory::genericSystemProxy fails on
  • Android
  • QTBUG-87390 tst_QScreen has tests failing for Android
  • QTBUG-97103 REG: 5.15.0->5.15.1: Under some circumstances the
  • performance of an application on Windows when switching application
  • focus
  • QTBUG-95114 When accessibility is made active after the start up of an
  • application then it will trigger an update of all existing controls to
  • update roles and names
  • QTBUG-100997 Regression and UI Freeze (5.15 -> 6.2) in QTableView with
  • Accessibility
  • QTBUG-101283 QThread does not indicate that an event dispatcher is
  • created in start()
  • QTBUG-101307 tst_qbytearrayview fails to compile with ubsan
  • QTBUG-102181 [Reg 6.2.3->6.2.4] Painting issues when scrolling in code
  • editor
  • QTBUG-101758 REG[6.2.3->6.3] native QMessageBox crash on Android
  • QTBUG-97482 QPushButton with QMenu does not work on Qt6
  • QTBUG-102171 On 64-bit platforms, QBuffer::write(ptr, 2GiB + 1)
  • incorrectly reports success
  • QTBUG-101038 Wrong physical DPI
  • QTBUG-99484 Android - QML Camera freezes app
  • QTBUG-102202 [REG:6.2.3->6.2.4]: Cannot use c++latest with qmake and
  • MSVC
  • QTBUG-75386 QComboBox Selected Entry Color is incorrect on macOS
  • QTBUG-102249 QSplitter: Handle moves in non-pressed state too
  • QTBUG-87671 Android tests crashing with
  • "java.lang.UnsatisfiedLinkError: dlopen failed: invalid ELF file"
  • QTBUG-101217 tst_qmessagebox has failing tests for Android
  • QTBUG-102157 QDateTime asserts on MSVC 2019 / C++20
  • QTBUG-102274 QBuffer silent data corruption on seek() past INT_MAX
  • (32-bit only)
  • QTBUG-100312 androidtestrunner: A test with XPASS does not return
  • error
  • QTBUG-102067 REG: QHash reserve endless loop with size < currently
  • used one
  • QTBUG-96213 QProxyStyle::deleteLater() does not delete the QProxyStyle
  • QTBUG-101361 Mac: File Dialog filters different category than selected
  • QTBUG-102366 When filling a rect on a screen that has 150% scaling
  • then it is possible that a line of pixels is not filled in
  • QTBUG-102199 QLocale::toDateTime asserts
  • QTBUG-101460 QTimeZone::displayName ignores locale on Android
  • QTBUG-102327 Address sanitizer caught heap-use-after-free in
  • tst_QWidget::deleteWindowInCloseEvent
  • QTBUG-102358 Using system pcre2 fails when using pcre2 with cmake
  • QTBUG-100173 tst_qquickwidget fails on Android
  • QTBUG-100135 40000 chips example - zoom in/out buttons do not work
  • QTBUG-92269 Build claims to be done when it isn't, unnecessary
  • rebuilds of Core after touching bootstrap source files
  • QTBUG-100297 QXdgDesktopPortalFileDialog::openPortal() does not set
  • current_name
  • QTBUG-102246 windows arm64 broken QAtomicPointer ctor/copy/move
  • QTBUG-102431 QBENCHMARK triggers compiler warning
  • QTBUG-100039 QPlainTextEdit scrolls to cursor on alt-tab on ubuntu
  • QTCREATORBUG-26628 Switching from Creator to other window changes
  • scroll position in editor
  • QTBUG-102484 Race condition in QSemaphore
  • QTBUG-102438 Drag/drop of "text/plain" does not work,
  • QMimeData::text() returns an empty string
  • QTBUG-99136 QDockWidget not correctly parented/setup if dragged from
  • another floating and tabified QDockWidget
  • QTBUG-101347 QMainWindow Menu / actions sometimes not displayed when
  • performing long operations
  • QTBUG-99810 [REG: 5.15.5->5.15.6] xcb: Dock widgets disappear if
  • trying to float them from QMainWindow that contains native window
  • QTBUG-69515 Linux, WindowStaysOnTopHint does not work.
  • QTBUG-73485 Issue with Qt::WindowStaysOnTopHint
  • QTBUG-81341 Window won't receive events above Gnome Dock despite
  • X11ByPassWindowManager + WindowsStaysOnTop is set
  • QTBUG-102005 [wasm] Canvas not painted initially
  • QTBUG-102720 sha1.cpp is missing in the copy of bootstrap sources.
  • QTBUG-102744 QML items with Accessible properties set does not set
  • properly for Android
  • QTBUG-102083 Switching between app windows breaks IME
  • QTBUG-101278 Chinese text input issues on macOS 12.x
  • QTBUG-102334 QSettings / QDateTime incompatible when switching from
  • Qt6 -> Qt5
  • QTBUG-102495 Content-Length is always placed at the end of the Header
  • part.
  • QTBUG-102592 Setting a common CMAKE_STAGING_PREFIX breaks build rpaths
  • of non-qtbase repositories
  • QTBUG-98785 Button menu pops up at wrong position on a
  • QGraphicsProxyWidget
  • QTBUG-102718 Crash when restoring a QDockAreaLayout
  • QTBUG-102541 crash when restoring QMainWindow state when screen scale
  • has changed
  • QTBUG-101963 [Reg 5.15 -> 6.x] -platform linux-g++-32 now produces
  • 64-bit libraries
  • QTBUG-102269 Test cases can't be called with a global data tag
  • QTBUG-102584 Drag and drop always assumes to have [NSWindow
  • contentView] with drag drop API
  • QTBUG-101320 Apps targeting Android 12 or higher must explicitly
  • declare the android:exported attribute for app components
  • QTBUG-102607 macdeployqt: errors when producing a universal binary
  • (universal binary)
  • QTBUG-101175 Can not build Qt 6.2.3 with cmake and ClangCl (clang-cl)
  • due to missing _mm_cvtps_ph
  • QTBUG-102821 Global variable found in qeglfsx11integration.cpp
  • QTBUG-102750 Some highlighted examples are crashing at startup on
  • embedded devices
  • QTBUG-102796 QLocale::uiLanguages() has wrong order
  • QTBUG-38971 QtActivity did not call through to
  • super.onConfigurationChanged() on orientation change (crash)
  • QTBUG-102298 Android: Switching navigation bar between buttons /
  • gestures hides qml elements
  • QTBUG-100950 wasm: enter and leave events do not happen
  • QTBUG-99691 Starting QtService causes black screen
  • QTBUG-102628 Application will crash if setWindowsIcon with a big ICON
  • QTBUG-102952 tst_QNetworkReply::autoDeleteReplies* tests are flaky
  • QTBUG-103000 [Reg: 5.15->6.3.0] Q_EMIT does not wait for slots to
  • return on FreeBSD
  • QTBUG-101150 static initialisation fiasco with initializeWindowManager
  • QTBUG-102782 QPushButton setEnabled(false) doesn't grey out button
  • QTBUG-100059 Objective-C usage can result in undefined behavior
  • QTBUG-102717 [REG Qt 6 -> Qt 6] QGraphicsView Artifacts
  • QTBUG-103085 QVersionNumber doesn't indicate its type in QDebug output
  • QTBUG-97533 QMenu pops up on wrong screen
  • QTBUG-103003 [Windows] Warning - Unable to open default EUDC font:
  • "EUDC.TTE"
  • QTBUG-103009 QML performance regression when accessibility is active
  • QTBUG-75106 Entries in the QAccessiblePluginsHash should be removed
  • when a QQuickWindow is deleted
  • QTBUG-102820 [REG 5.15.2 => 6.2.4] Styled indicators not drawn in
  • itemviews
  • QTBUG-102493 [REG 6.2.2 -> 6.2.3] Keyboard layout resets to English
  • QTBUG-102640 [REGRESSION] Keyboard layout not respected for some key
  • combinations
  • QTBUG-95933 Using scanner input IRcode will result in an error when
  • second character is uppercase
  • QTBUG-103084 Hover events are not receivable in embedded QWindow
  • (macOS)
  • QTBUG-102190 Calling showNormal after show does not make windows
  • normal in WebAssembly
  • QTBUG-102877 "-static" and "-feature-relocatable" cause extra 'bin'
  • directory in various qmake paths
  • QTBUG-99335 Documentation for QtAndroidPrivate is wrong
  • QTBUG-102242 Wasm drag and drop support: asyncify: dropping results in
  • browser getting drop event
  • QTBUG-103245 Configure fails when specifying -no-freetype
  • QTBUG-102960 iOS: input panel shows wrong suggestions
  • QTBUG-103370 REG: Qt does not build without Freetype
  • QTBUG-103356 [REG 6.3->6.4] Android arm64 and armv7 binary size
  • increased
  • QTBUG-97813 Namespace with "enum" at its begining not being properly
  • handled
  • QTBUG-102489 segfault in qsql_mysql.cpp cleanup with icx
  • QTBUG-103002 linker error with qmake projects on static linux Qt6
  • build
  • QTBUG-95468 XCB: Memory leak of QXcbScrollingDevicePrivate for a
  • device that is not a mouse
  • QTBUG-100351 [REG 5.12 -> 6.2] Pasting an image in Windows is not
  • converted to a QImage correctly.
  • QTBUG-98003 InputMethod hides soon with ShiftModifier.
  • QTBUG-102866 [REG 5.12.3->6.2.1] Horizontal part of subcontrol-
  • position of menu-indicator is ignored
  • QTBUG-102374 [REG:5.15.7->5.15.8]: repaint() on a widget makes
  • QGraphicsOpacityEffect apply multiple times
  • QTBUG-102747 -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON on windows
  • generates windows line endings for unix script
  • QTBUG-99487 QHeaderView state incompatible between Qt5/6
  • QTBUG-100515 tst_qtextmarkdownwriter fails on QNX
  • QTBUG-100981 tst_QTextMarkdownWriter::fromHtml(preformats with
  • embedded backticks) fails on Wayland
  • QTBUG-101031 markdown fenced code blocks end with unnecessary blank
  • lines
  • QTBUG-94557 Menu causes touch failure
  • QTBUG-98519 [REG: 5.15.0->5.15.7] xcb: Synthesized mouse from touch
  • gets stuck if receiving widget gets destroyed
  • QTBUG-102751 Can not receive touch event after the widget that
  • WindowFlags is Qt::Popup is closed on ubuntu20.04
  • QTBUG-103706 Synthesized touch event not recognized with Widgets
  • QTBUG-100833 Default iOS project to both iPhone and iPad deployment
  • QTBUG-93268 target_link_libraries does not work with a target name on
  • iOS
  • QTBUG-95381 CMake library install target does not copy binaries on iOS
  • QTBUG-87198 Configuring example targeting iOS with CMake + Xcode
  • generator fails
  • QTBUG-103719 Crash in tst_qquicktext::implicitSize on macOS
  • QTBUG-102999 QtConcurrent::blockingMapped behavior changed since Qt5
  • if the output container does have a non-explit size c'tor
  • QTBUG-102758 Application always starts on wrong screen
  • QTBUG-102637 [REG 6.2.4 -> 6.3.0] No fake screen created without
  • xrandr, Qt aborts
  • QTBUG-103741 Signals carrying smart pointers to const QObject fail to
  • compile
  • QTBUG-103576 [REG] Broken Qt::TextAlignmentRole
  • QTBUG-102134 QSplitter when hidden sets replaced widgets as hidden
  • QTBUG-103001 Implicit conversion loses integer
  • QTBUG-103603 [REG 5.15.2-6.2.4] Broken country flag emoji in RTL text
  • QTBUG-103742 QVectorIterator & QMutableVectorIterator CamelCase
  • headers missing
  • QTBUG-88869 QAuthenticator hard-coded to HTTP in SPNEGO/Negotiate
  • QTBUG-101681 tst_QPointer::threadSafety() is flaky (probably race
  • condition)
  • QTBUG-103745 QPainter::drawText method truncates inputs
  • QTBUG-103319 makeCurrent() needed inside of resizeGL()
  • QTBUG-97537 Fix failing line-break and word-break tests
  • QTBUG-69715 QKeySequence::toString() returns garbage strings for some
  • simple QKeySequence
  • QTBUG-40030 Special keys like Shift are not named in
  • QKeySequence::toString.
  • PYSIDE-1942 pyside6-uic python list support
  • QTBUG-103605 qfilesystemmodel.cpp fails to compile on Windows with
  • oneAPI icx using c++20
  • QTBUG-103493 dev branch fails to build
  • QTBUG-103590 QKeySequenceEdit: not blocking quit on Mac
  • QTBUG-103852 QDir fails for paths of length over 260 characters
  • QTBUG-81674 Unexpected detach on setColorTable after
  • QImage::QImage(const uchar *data, ...)
  • QTBUG-103740 QTemporaryFile::rename does not document that it can only
  • rename, not copy+delete like QFile::rename
  • QTBUG-93298 Windows: Application hangs (or crashes) on quit while
  • QtQuick FileDialog is open
  • QTBUG-102302 qprint_p.h defines file-static const arrays, but is
  • included in many TUs
  • QTBUG-103984 QWindowsDialogHelperBase calls QThread::terminate()
  • QTBUG-104053 tst_QFile fails on webOS
  • QTBUG-103974 Wasm: unused functions in qtestcase.cpp, wasm framework
  • doesn't build when cross-compiling on Mac
  • QTBUG-103733 [Windows] setProcessDpiAwarenessContext(DPI_AWARENESS_CON
  • TEXT_PER_MONITOR_AWARE_V2) failed on certain machines
  • QTBUG-98988 Qt bugs when portal implementation is not available
  • QTBUG-103922 Calling QThread::terminate() in destructor causes double
  • object destruction
  • QTBUG-103894 Configuring fails on Manjaro Linux
  • QTBUG-104123 "configure -no-pkg-config" doesn't turn off pkg-config
  • QTBUG-104056 Conan: qmlimportscanner: No such file or directory
  • QTBUG-88519 androiddeployqt doesn't know about Conan's build path
  • QTBUG-89588 androiddeployqt fails with error from qmlimportscanner if
  • qtdeclarative is not installed
  • QTBUG-103836 Fusion menu text with mnemonic clipped on Windows
  • QTBUG-94481 [REG 5.15.2 -> 6.1.1] Ellipsis in the worst possible place
  • QTBUG-49704 QLoggingCategory::installFilter crashes with the code from
  • documentation
  • QTBUG-100361 No font rendering at all when configured with -no-
  • harfbuzz
  • QTBUG-103838 QFontMetrics::horizontalAdvance() does not seems to give
  • correct value
  • QTBUG-56893 Closing a dialog via mouse click on a button causes an XCB
  • error
  • QTBUG-98417 Bundling translation file of plist does not work with
  • XCode 13
  • QTBUG-103455 Settings don't work with content:// URL on Android
  • QTBUG-100093 Deployed third party library points to the original
  • location
  • QTBUG-101161 Android Assets awfully slow to be loaded
  • QTBUG-88799 WASM - No hover on the whole GUI
  • QTBUG-104261 tst_qstringconverter::roundtrip() ASAN error stack-use-
  • after-scope
  • QTBUG-102021 QCocoaScreen::UpdateScreens crash
  • QTBUG-84741 Crash on QCocoaScreen::isOnline() when calling
  • CGDisplayIsOnline
  • QTBUG-104231 tst_QVulkan fails with Ubuntu 22.04 due to broken Mesa
  • lavapipe included in the distro
  • QTBUG-103007 Resetting a QComboBox custom model doesn't emit
  • currentIndexChanged or currentTextChanged
  • QTBUG-104320 qt_add_big_resources does not list contents of the qrc
  • file in Qt Creator
  • QTBUG-101585 QMessageBox components get skipped by Windows Narrator
  • QTBUG-102768 Invalid warning message in debug builds when using
  • QFont::setFamily() with comma split
  • QTBUG-103775 Downstream crash when bad index passed to insert methods
  • of QBoxLayout
  • QTBUG-100188 Page layout settings are reset when QPrintDialog is shown
  • if there is no printer installed on macOS
  • QTBUG-104201 QWidget: resize() after showMaximized() causes strange
  • behaviour
  • QTBUG-102595 Builds can't find the projects qml modules
  • QTBUG-102395 QMainWindow::restoreState corrupts relation between
  • toolbars layout item
  • QTBUG-78826 Cannot enter non ascii characters to the TextField and
  • QLineEdit from browser(wasm)
  • QTBUG-102343 Windows: Only initial QScreen values are available if
  • screen geometry changes between QApplication and before first window is
  • open
  • QTBUG-103383 Windows: Qt doesn't respond to DPI changes if Qt window
  • is having a non-Qt parent
  • QTBUG-79248 TrayIcons Menu does not scales its size when changing DPI
  • QTBUG-103375 [REG:5.15->6] Shift_JIS support for QDomDocument on Qt6
  • QTBUG-91896 QTableView span gets confused with logical indexes when
  • columns are moved
  • QTBUG-104412 FAIL! : tst_AndroidAssets during dependency update
  • QTBUG-85474 QGraphicsScene::clearSelection() may leave internal state
  • inconsistent
  • QTBUG-103497 [iOS] CMake handling qt_add_big_resources() fails
  • QTBUG-104443 xcb plugin crashes when running in vnc
  • QTBUG-104419 tst_qxp_function_ref::voidReturning() AddressSanitizer:
  • stack-use-after-scope
  • PYSIDE-1750 QMouseEvent.pos marked as deprecated in source but not in
  • docs
  • QTBUG-104083 tst_bench_shared_ptr does not compile on Ubuntu 22.04
  • QTBUG-103992 QFuture::onCanceled is not called when promise is deleted
  • QTBUG-86790 Mingw Qt provides debug libraries in the wrong folder
  • QTBUG-104085 QJsonValue::toObject(const QJsonObject &defaultValue) and
  • QJsonValue::toArray(const QJsonArray &defaultValue) parse empty default
  • values incorrectly
  • QTBUG-102869 wasm: Resizing is still accessable under a modal dialog
  • QTBUG-104003 QTabBar/QTabWidget crashes when closing last tab and
  • there are hidden tabs
  • QTBUG-104362 QDomImplementation::DropInvalidChars strips emoji and
  • other non-BMP characters
  • QTBUG-104463 Generated qdoc sources from qtattributionscanner should
  • have a different basedir so it is not appearing as version specific
  • QTBUG-93748 QT_DEPRECATED_X with Q_REQUIRED_RESULT causes warning
  • C5240 in Visual Studio 16.9.5
  • QTBUG-94713 markdown writer: preserve auto-link URLs
  • QTBUG-104421 tst_qthread terminateAndPrematureDestruction() ERROR:
  • AddressSanitizer: stack-buffer-underflow
  • QTBUG-53661 QDom internalSubset is never set
  • QTBUG-104396 qmake projects try to link to static qt libraries with
  • hardcoded CI paths (no such file or directory)
  • QTBUG-85109 QPainter::drawImage draws images in different places
  • depending on image format
  • QTBUG-104583 Buffer overrun and crash in
  • QColorTransferTable::applyInverse()
  • QTBUG-103568 Android 13: Warnings when starting qt apps
  • QTBUG-103415 [Reg 6.1.3->6.2.0] Parallel Animation bug on macOS
  • QTBUG-95319 The cursor size is unstable when multiple QT_SCALE_FACTOR
  • is used
  • QTBUG-92485 Q_ASSERT added in qrasterizer.cpp
  • QTBUG-24240 testlib: executing a test with an invalid data label
  • doesn't count as a failure and doesn't return a non-zero exit code
  • QTBUG-104132 [REG 6.2.4->6.3.0] HTTP-Redirect is broken
  • (ManualRedirectPolicy)
  • QTBUG-104484 Missing documentation for QDropEvent methods: position,
  • buttons, modifiers
  • QTBUG-71900 Double tapping on a word does not show the selection
  • handles in the right place after the initial selection
  • QTBUG-58503 Text Handle Cursor Position Offset Error
  • QTBUG-104383 QExpandingLineEdit::resizeToContents crashes
  • conditionally in qBound (since Qt 6.3.0)
  • QTBUG-104565 QTableWidgets: crash when double click into table cell
  • end that expands beyond window
  • QTBUG-101615 QMLPATHS not documented
  • QTBUG-104205 QDockwidget screen change issue(s) more involved parts.
  • QTBUG-104501 syntax error: identifier "VkFormat"
  • QTBUG-104527 iOS: Input panel opens when you click on a QPushButton
  • QTBUG-98651 [iOS 15] Application freezes when QDialog is executed by
  • button clicked() signal
  • QTBUG-104708 qmake projects try to link to static qt libraries with
  • hardcoded CI paths part 2
  • QTBUG-104596 [reg->6.4] Qt Designer crashes when OpenGL widget is
  • dragged to form
  • QTBUG-94066 Qt6 CMake targets for plugins missing in shared / official
  • builds
  • QTBUG-104726 Build failure on x86
  • QTBUG-104232 tst_QSslKey::constructor fails with Ubuntu 22.04 and
  • openssl 3
  • QTBUG-95930 QGuiApplication::setHighDpiScaleFactorRoundingPolicy()
  • ignored on Linux, always acts like PassThrough
  • QTBUG-99546 QT_SCREEN_SCALE_FACTORS doesn't follow rounding policy
  • QTBUG-96283 [REG 6.1.3->6.2.0] macOS: Can not configure qml / network
  • example with statically compiled Qt
  • QTBUG-103794 B2qt fails with Ubuntu 22.04: undefined reference to
  • `qt_resourceFeatureZstd'
  • QTBUG-104732 Need QFutureCallOutEvent to export symbols
  • QTBUG-69354 QGtk3FileDialogHelper isn't modal
  • QTBUG-102825 Popping QML StackView Item makes a11y unusable
  • QTBUG-104734 Need several struct declarations remain in private header
  • QTBUG-104809 Crash in QKmsDevice::createScreenForConnector
  • QTBUG-103988 State of QTreeWidgetItem not announce by screenreader
  • QTBUG-104696 QFontDialog:: selectedFont and fontSelected always
  • returns one font
  • QTBUG-104740 Accessibility: NVDA not narrating full state of QTabBar
  • QTBUG-98762 REGRESSION: QPalette::setBrush does not reliably detach
  • QTBUG-104867 QtTest: QCOMPARE prints matching s for mismatches
  • when unable to convert to string
  • QTBUG-103940 Insufficient documentation in QRegularExpression variant
  • of QString::indexOf(), results in random crash bug
  • QTBUG-99990 windows: Painting an image with DPR >1.0 to a QPrinter
  • does not produce correct result
  • QTBUG-101058 Pixelated images on Windows
  • QTBUG-104827 Huge APK sizes under Windows
  • QTBUG-103805 Linker error when configuring with "-sanitize fuzzer-no-
  • link"
  • QTBUG-104851 qdoc: Ignore Q_WEAK_OVERLOAD
  • QTBUG-104877 wacom: QTabletEvent rotation goes to -180 when absent
  • QTBUG-103892 Stop binding to iBridge interface when unit testing
  • QTcpServer on macOS
  • QTBUG-46113 tst_qcompleter fails on Ubuntu
  • QTBUG-100982 tst_QStaticText fails on Wayland
  • QTBUG-49205 tst_qnetworkreply::ioGetFromBuiltinHttp
  • QTBUG-104014 tst_QPointer::threadSafety crashed in CI
  • (QBindingStorage::reinitAfterThreadMove)
  • QTBUG-98921 tst_QGraphicsWidget::initialShow is uber flaky on OpenSUSE
  • QTBUG-104493 Application performance drops if many threads are running
  • while QProcess creates sub-processes on Unix
  • QTBUG-104718 fuzz: QCborValue::fromCbor out of memory error 32bit
  • QTBUG-102239 tst_QWidget::enterLeaveOnWindowShowHide is flaky
  • QTBUG-104959 QT_NO_TRANSLATION define breaks QML build
  • QTBUG-104213 Add brief descriptions to Concurrent topics
  • QTBUG-96702 Mandelbrot example not supporting zoom
  • QTBUG-104270 cmake loads native sysroot cmake config and tries to look
  • for libs
  • QTBUG-82477 QClipboard doesn't support custom mimeTypes
  • QTBUG-104875 Wacom proximity events went missing on X11 in 6.3
  • QTBUG-105002 -mno-direct-extern-access fails clang
  • QTBUG-104268
  • tst_QTouchEvent::multiPointRawEventTranslationOnTouchPad() ASSERT
  • failure in QList::at: "index out of range"
  • QTBUG-105140 [REG] default constuctor requirement for meta type
  • (QVariant) breaks webengine api
  • QTBUG-105079 XCB crash on plugin load when HighDPI and multiple
  • monitors
  • QTBUG-105078 QMYSQL: regression in formatValue of QByteArray
  • QTBUG-102879 Examples not linking to Qt::Core are installed in the
  • wrong folder
  • QTBUG-104917 QStyleSheetStyle::drawPrimitive(QStyle::PE_PanelLineEdit)
  • crashes with widget==nullptr
  • QTBUG-105242 [REGRESSION] After
  • 2f5f276b4a2a19b9f2669b84f28ce8e970aaa39f network printers are missing
  • QTBUG-104801 Crash with QPainter::drawText used on a QQuickView with a
  • Text item
  • QTBUG-104951 QT_WIDGETS_RHI/QOpenGLWidget lead to crash on Wayland
  • QTBUG-104952 QT_WIDGETS_RHI/QOpenGLWidget lost transparency support on
  • X11
  • QTBUG-105234 MSVC 2022 fails to compile qtbase test
  • tst_qxp_function_ref.cpp
  • QTBUG-105011 QtWidgets Vulkan RHI backend doesn't support translucency
  • on Wayland
  • QTBUG-105310 Using deprecated keyword breaks the build
  • QTBUG-105041 openssl 3.x 32bit platform regression
  • QTBUG-104316 Qt 6.3.1 build for arm failed: selected processor does
  • not support `yield' in ARM mode
  • QTBUG-104940 post in/decrements of QBEInteger and QLEInteger return
  • reference according to documentation
  • QTBUG-105160 Bad access when destroying QComboBox immediately after
  • selecting item
  • QTBUG-105302 qputenv sometimes puts garbage at the end of the value
  • QTBUG-105204 QProperty: Notfication missing if binding no longer has
  • any dependencies
  • QTBUG-104982 [Regression] binding stops being evaluated
  • QTBUG-105010 Font underline rendering bug
  • QTCREATORBUG-27634 Basic Layouts Example UI elemnets get squished
  • QTBUG-105323 [Regression] Keyboard is not properly hidden on ios
  • QTBUG-105393 tst_QImage::exifReadComments fails on webOS
  • QTBUG-105341 QDoubleValidator can report "Intermediate" for inputs
  • that are unambiguously out-of-range
  • QTBUG-105339 Typo in since version for QStyledItemDelegate
  • QTBUG-103571 QWindowsContext::findPlatformWindowAt stuck in infinite
  • loop
  • QTBUG-104774 macOS: [Enter] key in TextField generates Qt.Key_Return
  • instead of Qt.KeyEnter
  • QTBUG-103473 Regression: Pressing numeric keypad Enter doesn't dismiss
  • QDialog containing QLineEdit
  • QTBUG-105501 Qt6 build fails with system double-conversion
  • QTBUG-105517 Redundant "does" in QFrame
  • QTBUG-93471 Darwin linker warns about global weak symbols when linking
  • an executable against a static Qt
  • QTCREATORBUG-27685 Sliders Example not scaling well
  • QTBUG-104754 manual tests that use qt_internal_add_manual_test don't
  • run on iOS
  • QTBUG-105322 Reg->6.3.1: Passing a QDate to QDateEdit via constructor
  • results in wrong date
  • QTBUG-105527 Vulkan validation shows (useless but annoying) "errors"
  • with vkkhrdisplay
  • QTBUG-86967 tst_qfont fails on Ubuntu20
  • QTBUG-105615 Update dependencies on '6.4' in qt/qttools fails
  • QTBUG-104948 QFileDialog::getOpenFileContent not honoring nameFilter
  • QTBUG-102053 Using QMAKE_ASSET_CATALOGS in .pro (qmake) fails with
  • "Unknown platform: "ios-simulator""
  • QTBUG-105687 developer-build fails for QSemaphore
  • QTBUG-105133 [REG 6.3.1] Androiddeployqt doesn't find rcc and
  • qmlimportscanner
  • QTCREATORBUG-27868 Can't find qmlimportscanner when building examples
  • for android
  • QTBUG-105031 a11y AT-SPI: Window-relative positions are incorrect
  • QTBUG-105042 a11y AT-SPI: Window-relative positions are wrong for
  • dialogs, screen coordinates returned instead
  • QTBUG-105281 a11y AT-SPI: incorrect handling of window-relative coords
  • for "GetOffsetAtPoint" (text interface)
  • QTBUG-102359 NTLM authentication crashes
  • QTBUG-105520 a11y AT-SPI: "GetCaption" result (from AT-SPI table
  • interface) has incorrect D-Bus type
  • QTBUG-105092 QDockWidget cannot be re-docked if floating
  • QTBUG-105752 a11y AT-SPI: D-Bus reply for "GetAttributeValue" text
  • method has incorrect format
  • QTBUG-105709 Dragging large windows is slow on WASM
  • QTBUG-105286 Crash with UpdateWindowTitle event triggered by closing a
  • dialog (mac)
  • QTBUG-105264 Uncaught TypeError: self.module.qtAddCanvasElement is not
  • a function
  • QTBUG-105363 Opened dialog is not refreshed until mouse button click
  • on it
  • QTBUG-105814 Accessibility tools cannot find tree items inside the
  • app's UI on Windows
  • QTBUG-105213 Pressing space/enter on a button with focus doesn't
  • trigger its action
  • QTBUG-104925 [REG 6.4.0-beta1 -> 6.4.0-beta2] Qt no longer builds with
  • -no-feature-highdpiscaling
  • QTBUG-105474 Context menu does not close when minimizing window
  • QTBUG-105810 iOS: TapHandler emits clicked, even if long pressed more
  • than StyleHint::MousePressAndHoldInterval
  • QTBUG-105374 Modules in 5.15 branch missing MinGW debug files
  • QTBUG-105583 CMake deployment API generates faulty script if
  • CMAKE_INSTALL_BINDIR is set to "." or ""
  • QTBUG-90504 Dark theme not respected by Fusion style
  • QTBUG-99276 Fusion style sets button text color to white automatically
  • QTBUG-105841 QtAndroid build failure with cmake 3.18.4 (qt 6.3)
  • QTBUG-104962 [REG 6.3.0 -> 6.3.1]QFileDialog does not allow changing
  • column sizes nor sorting
  • QTBUG-104425 Crash when loading header state in QBittorent
  • QTBUG-105017 Crash in QRhiGles2::ensureContext with
  • QT_WIDGETS_RHI_BACKEND=vulkan and QOpenGLWidget
  • QTBUG-100888 tst_QWindow::modalWindowPosition() fails on Wayland
  • QTBUG-105231 reusing editor by reimplementing
  • QAbstractItemDelegate::destroyEditor causes crashing
  • QTBUG-14460 QDesktopServices::openUrl() ignores anchor on local files.
  • QTBUG-102091 [Reg Qt 5->6] Disabled QCheckBoxes block scrolling of
  • QScrollArea with mouse wheel
  • QTBUG-105951 Crash when closing dialog directly after closing popup
  • QTBUG-105621 Lingering bad cursor when dragging an undocked window
  • over a textfield
  • QTBUG-105988 a11y: Accessible interface can't be retrieved after
  • calling QAccessibleEvent::setChild on event created using the
  • constructor taking QAccessibleInterface*
  • QTBUG-106001 tst_QMap::beginEnd() triggers assertion failure on
  • Windows
  • QTBUG-105049 Improper styling of placeholder text in Qt6
  • QTBUG-105043 HTTP2 downloads can be very slow
  • QTBUG-105962 a11y AT-SPI: Qt sometimes uses same unique ID/object path
  • for two different objects within a short time
  • QTBUG-106019 tst_QDtls::verifyClientCertificate fails with Ubuntu
  • 22.04 xorg and Windows 10 OpenSSL 3
  • QTBUG-103093 Palette Change And Application PaletteChange Never Emited
  • QTBUG-106012 tst_QResourceEngine::setLocale fails with Ubuntu 22.04
  • xorg plus
  • QTBUG-106064 [REG] Undocking QDockWidget with drag misplaces it (a
  • lot)
  • QTBUG-106017 tst_QSslCertificate fails with Ubuntu 22.04 xorg and
  • Windows 10 21H2 OpenSSL 3
  • QTBUG-92964 Empty tree not spoken
  • QTBUG-105922 Can't compile examples with Emscripten 3.1.18
  • QTBUG-105004 Links to the code of examples for QCC2 were not updated
  • at the move to QtDeclarative
  • QTBUG-105591 Closing application with toolbar floating breaks toolbar
  • the next time you start the application
  • QTBUG-106036 Tst_QSslKey fails with Windows 1021H2 and openssl 3
  • QTBUG-105932 [Reg in Qt 6] setProperty() fails for QFlags types
  • QTBUG-96185 Cannot use "qproperty-" to set enum properties in qss
  • QTBUG-96276 _NET_STARTUP_ID not supported
  • QTBUG-105735 Focus is not set to a child widget when a modal is open
  • QTBUG-104872 Calling QClipboard::image() corrupts image inside Win 11
  • clipboard memory (from Windows Snipping Tool)
  • QTBUG-105338 lose alphachannel in imagedata from QClipboard
  • QTBUG-87764 [REG 5.15.0 -> 5.15.1] macdeployqt produces
  • QtWebEngineProcess.app package with empty folders
  • QTBUG-105057 vnc: Setting override cursor causes a crash on client
  • disconnect
  • QTBUG-106279 I doubt if QTextStream setAutoDetectUnicode doesn't work
  • QTBUG-105347 [Wasm] Stack example from documentation exits application
  • QTBUG-102004 [wasm] QML switch does not react on toggle
  • QTBUG-104518 Swipeview doesn't function correctly in Webassembly app
  • QTBUG-106153 wasm: Changing QTimer interval in multithreaded
  • application breaks the timer
  • QTBUG-106223 assertion failed after Flickable takes grab from
  • PinchHandler
  • QTBUG-104930 QLocale shows German text for "en_DE"
  • QTBUG-106222 -junitxml produces invalid time in output log (seconds
  • divided by 1000 instead of seconds)
  • QTBUG-104999 crash in QTextMarkdownWriter
  • QTBUG-106354 Last QNetworkReply::readyRead() is not always emitted
  • QTBUG-104856 Non-Qt headers in 6.3.1msvc2019_64include
  • QTBUG-84234 Start new QCoreApplication after shutdown
  • QTBUG-98466 Misleading error messages when using macdeployqt on
  • AppleSilicon Macs
  • QTBUG-89285 Document changes to State Machine Framework in Core
  • Migration Guide
  • QTCREATORBUG-25594 Code model gets confused by qLastIndexOf in
  • qstring.cpp
  • QTBUG-95237 [REG 6.0.4 -> 6.1.0] Integer-overflow in
  • QFixed::operator+= through QImage::loadFromData(QByteArray)
  • QTBUG-96353 Test run procedure and flaky detection
  • QTBUG-98483 [macOS] QPushButton is broken in macOS Monterey
  • QTBUG-98937 KTX, ASTC image not displayed on Qt 6.2 and above
  • QTBUG-99489 tst_QTouchEvent::multiPointRawEventTranslationOnTouchPad
  • is flaky on MacOS 10.15
  • QTBUG-81583 QTextMarkdownWriter: if a task list item's first line ends
  • with monospace text, trailing backtick is omitted
  • QTBUG-81917 QtWidgets fails to build with clang 10.0-rc1 in C++20 mode
  • QTBUG-99009 QCursor::setPos X coordinates is wrong when DPI scaling is
  • used
  • QTBUG-98350 QuickTest runs test suites in parallel, causing crashes
  • QTBUG-99368 TLS handshake fails due to incorrect cipher handling
  • (Secure Transport macOS backend)
  • QTBUG-99775 Crash on QObject::objectName access when using QThreadPool
  • from non-owning thread
  • QTBUG-20531 QLineEdit with a QCompleter: popup completion is drawn on
  • the wrong location
  • QTBUG-99970 qt-testrunner.py ERROR: Uncontrolled test CRASH!
  • QTBUG-92909 When following redirects, a PROPFIND request (and probably
  • others) are converted to a GET
  • QTBUG-97844 Logitech mice and touchpads that send lots of events with
  • small angleDelta cause overreaction
  • COIN-762 Coin's configure command gets warning about unused
  • -DBUILD_EXAMPLES=OFF
  • QTBUG-99506 Loader with states and children loaders crashes on
  • Integrity (release only)
  • QTBUG-95764 pure virtual call in QAccessibleQuickItem
  • QTBUG-98475 tst_QWindow::modalWindowEnterEventOnHide fails in QtBase
  • with Windows 11
  • QTBUG-98478 tst_QFileSystemWatcher::signalsEmittedAfterFileMoved fails
  • in QtBase with Windows 11
  • QTBUG-6905 font-weight: bold can truncate tab label
  • QTBUG-99791 Generated Makefile doesn't contain moc calls
  • QTBUG-100412 tst_qsrceen::grabWindow is flaky on Windows
  • QTBUG-99491 Windows - Android App, cmake build does not update
  • correctly if app library is bigger than 2GB
  • QTBUG-93396 Android A11Y TalkBack: Slider does not announce value on
  • change
  • QTBUG-100401 QToolbutton with popupMode QToolButton::InstantPopup and
  • stylesheet have 2 arrows
  • QTBUG-100792 tst_QScreen::grabWindow() fails on Wayland
  • QTBUG-66818 tst_QWindow::initialSize fails on Wayland
  • QTBUG-100887 tst_QWindow::mouseToTouchTranslation() fails on Wayland
  • QTBUG-100889 tst_QWindow::requestUpdate() fails on Wayland
  • QTBUG-100891
  • tst_QGuiApplication::genericPluginsAndWindowSystemEvents() fails on
  • Wayland
  • QTBUG-100930 tst_QGraphicsWidget::updateFocusChainWhenChildDie fails
  • on QNX
  • QTBUG-100929 tst_QImage::hugeQImage fails on platforms without
  • adequate memory
  • QTBUG-87154 Add static dependencies from 3rdparty in qtbase
  • QTBUG-98489 tst_QTabBar::hoverTab fails in QtBase with Windows 11 and
  • MSVC2022
  • QTBUG-99295 The tool "Qt6::sdpscanner" was not found
  • QTBUG-87397 tst_QGraphicsView fails on Android
  • QTBUG-101049 /permissive- not passed causes compiling errors
  • QTBUG-101332 FAIL! : tst_QXmlStream::initTestCase in QNX_710
  • QTBUG-101194 tst_QFileDialog has failing tests for Android
  • QTBUG-87424 tst_QMenu fails on Android
  • QTBUG-99401 QSettings: support reading UTF-8 keys from INI files
  • QTBUG-100948 tst_QFontDatabase::systemFixedFont() fails on QNX
  • QTBUG-100917 tst_QImageReader::setScaledClipRect() SVG/SVGZ fails on
  • Wayland
  • QTBUG-100918 tst_QOpenGL::bufferMapRange() fails on Wayland
  • QTBUG-101353 AUTORCC uses zstd even if Qt is build without rcc support
  • QTBUG-93955 Material.System does not work on Ubuntu (Gnome)
  • QTBUG-94459 Android reports incorrect screen size after rotation
  • QTBUG-87396 tst_toolsupport::offsets fails on Android
  • QTBUG-87423 tst_QPlainTextEdit fails on Android
  • QTBUG-89402 tst_QPlainTextEdit fails test cases on Android
  • QTBUG-97009 Broken rendering on Qt 6.2 Android arm64-v8a
  • QTBUG-101406 Add QT_TYPESAFE_FLAGS to headerclean and fix fallout
  • QTBUG-101519 FAIL! :
  • tst_QTouchEvent::multiPointRawEventTranslationOnTouchPad in
  • Windows_11_21H2
  • QTBUG-101618 FAIL! : tst_QSystemSemaphore::initialValue in QNX_710
  • QTBUG-101436 Font selection via styleName broken on Windows
  • QTBUG-99948 Fix enum/enum arithmetic in Qt
  • COIN-828 Fix build error message
  • QTBUG-101933 tst_quicktestmainwithsetup: QML module not found on webOS
  • QTBUG-101771 [Reg 5.15 -> 6.2] Item ignores the initial size from a
  • binding when implicit size is used with Behavior
  • QTBUG-101888 tst_QGraphicsProxyWidget failing tests
  • QTBUG-87417 tst_QLineEdit fails on Android
  • QTBUG-100698 Fix BIC tests
  • QTBUG-99578 Global Functions are Undocumented
  • QTBUG-87438 corelib plugin tests fail on Android
  • QTBUG-102034 Merely subclassing QHeaderView causes it to lose built-in
  • functionality
  • QTBUG-102095 tst_QFilesystemWatcher::watchDirectory() fails on macOS
  • 12 arm64
  • QTBUG-102096 tst_QFilesystemWatcher::signalsEmittedAfterFileMoved()
  • fails on macOS
  • QTBUG-87668 tst_QWidget has many failing tests on Android
  • QTBUG-102030 Uncontrolled crash in tst_qwebenginepage
  • QTBUG-84349 QDateTimeParser wrongly accepts a sign in a month field MM
  • QTBUG-102043 tst_openglwidget has crashing cases
  • QTBUG-101346 Qt for Android has "weired" dependency on ICU, and deploy
  • is slightly broken
  • QTBUG-102121 QT_FEATURE_tslib is On for INTEGRITY in case Desktop has
  • tslib installed
  • QTBUG-101461 qdoc does not parse ref-qualified member functions
  • QTBUG-100697 Disappearing glyphs when application font reloaded
  • QTBUG-102258 tst_QCalendarWidget::showPrevNext() might crash on
  • Android
  • QTBUG-100928 tst_QGlyphRun::mixedScripts fails on QNX
  • QTBUG-102253 tst_qwebengineview (Failed)
  • QTBUG-101274 QNX: Failing networks tests
  • QTBUG-102177 Regression: QProcess::readAllStandardError() crash on
  • assert when MergedChannels is used
  • QTCREATORBUG-27196 Assert in qtcreator_processlauncher (On Windows,
  • and Qt 6.3)
  • QTBUG-89400 tst_QCborStreamReader::hugeDeviceValidation two cases fail
  • on Android
  • QTBUG-102447 tst_drawingmodes failed
  • QTBUG-100578 Heap-use-after-free is possible with
  • QQuickPixmap::loadAsync()
  • QTBUG-78648 RHI: Does not work with Windows10 inside VMWare (Fusion)
  • QTBUG-102880 tst_QLocalSocket::threadedConnection is flaky on Windows
  • QTBUG-103055 FAIL! : tst_QNetworkReply::ioGetFromHttpWithProxyAuth in
  • QNX_710
  • QTBUG-103091 FAIL! : tst_QDockWidget::floatingTabs in QNX_710
  • QTBUG-103056 FAIL! : tst_QTcpServer::serverAddress in QNX_710
  • QTBUG-99545 App crashes in function QQmlPropertyCache::property(int)
  • const on ARM 64bit
  • QTBUG-103196 syncqt does not reflect sources/headers known to CMake
  • QTBUG-99039 QVarLengthArray::push_back() is not strongly exception-
  • safe
  • QTBUG-94462 Qt Quick TextEdit.insert() does not process Markdown text
  • QTBUG-103484 rich text gets converted to monospace in CI because
  • QFontDatabase::GeneralFont is "Sans Serif" and is monospace
  • QTBUG-102594 [REG 5.15.6 -> 5.15.9] Many ANR issues by QtAccessibility
  • QTBUG-100145 ActiveQt example "outlook" build fails with a wall of
  • errors: MSOUTL.cpp(346616): error C2062: type 'unknown-type' unexpected
  • QTBUG-89819 tst_qmarkdown tests fail on QEMU ARMv7
  • QTBUG-95993 QML Date operations are wrong when DST is active
  • QTBUG-103309 Menus can be truncated (REG from 5.15.2)
  • QTBUG-49663 menu position wrong on second monitor
  • QTBUG-101947 QMenu sizing issue on Windows with multiple monitors at
  • different scaling [REG]
  • QTBUG-102982 QMenu appears at the wrong position without Per-Monitor
  • DPI awareness
  • QTBUG-99663 Verify Qt Android build with NDK 24
  • QTBUG-97107 Add signing tests to unit test for Android
  • QTBUG-103923 GCC 12: failure to build from source []
  • QTBUG-103470 [iOS] CMake translation handling fails
  • QTBUG-104128 top-level configure is still verbose in a non-developer
  • build
  • QTBUG-104012 QDateTime constructor performance regression when year is
  • below epoch
  • QTBUG-103753 incorrect document about QDomDocument::setContent()
  • QTBUG-103723 [iOS] CMake shader handling fails
  • QTBUG-102403 QObject::objectName() leads to heap-use-after-free in
  • tst_qquickanimations::cleanupWhenRenderThreadStops()
  • QTBUG-87137 tst_QApplication::sendEventsOnProcessEvents() failed on
  • Ubuntu 20.04/22.04 and RHEL 9
  • QTBUG-68860 tst_QGlyphRun::mixedScripts autotest fails on Ubuntu 18.04
  • and QEMU builds
  • QTBUG-68865 tst_QMenuBar::check_menuPosition autotest fails on Ubuntu
  • 18.04
  • QTBUG-84248 tst_QFont::defaultFamily fails
  • QTBUG-103714 cut & paste checkboxes: checkbox is lost
  • QTBUG-103730 Qt Test tutorial is missing a clear entrypoint
  • QTBUG-103591 Windows: Comboboxes (Qml and QtWidgets) don't have the
  • UIAutomation (UIA) ExpandCollapse pattern
  • QTBUG-104450 qmake: it's impossible to configure some compiler and
  • linker options in the generated vcxproj
  • QTBUG-101008 Using Text.NativeRendering results in characters drawn
  • too close to each other with fractional scale factors
  • QTBUG-104580 androiddeployqt fails with "unknown argument '--libs'"
  • when call llvm-readobj v14
  • QTBUG-103593 androiddeployqt doesn't work well with user's QML module
  • in their subdirectories
  • QTBUG-104656 pointer events end up with accepted state == false after
  • successful delivery
  • QTBUG-104857 QtBase does not compile with QT_DISABLE_DEPRECATED_BEFORE
  • = 0x060000
  • QTBUG-104241 tst_QOpenGLWidget::stackWidgetOpaqueChildIsVisible fails
  • with Ubuntu 22.04, openSUSE Leap 15.4 and RHEL 9
  • QTBUG-104878 xcb wacom support gets confused about device instances
  • QTBUG-101932 two HoverHandlers with different
  • acceptedDevices/acceptedPointerTypes: cursorShape doesn't change
  • accordingly
  • QTBUG-89702 Improve the QRegExp->QRegularExpression docs
  • QTBUG-97615 CMake cannot find packages when only Qt6_DIR and not
  • CMAKE_PREFIX_PATH is set
  • QTBUG-104787 Thread Sanitizer reports data races in QtConcurrent
  • QTBUG-102764 [REG: 5->6] Pen / Pencil input devices not working
  • QTBUG-105038 QCollator is limited to ≤ 2Gi characters
  • QTBUG-105051 pkg-config does not expose libexecdir for finding some
  • tools
  • QTBUG-104840 heap-use-after-free in QTest::ignoreMessage
  • QTBUG-105238 Cmake error with -DQT_BUILD_MANUAL_TESTS=ON
  • QTBUG-85248 Qt warning
  • "QHttpNetworkConnectionPrivate::_q_hostLookupFinished could not de-queue
  • request, failed to report HostNotFoundError"
  • QTBUG-105158 Initialize all Vulkan Device Properties
  • QTBUG-104441 REG: No longer possible to use macros or functions that
  • rely on an event loop in cleanup() after failed test function
  • QTBUG-105388 qhash.h:553:17: warning: argument 1 value
  • '18446744073709551615' exceeds maximum object size 9223372036854775807
  • QTBUG-105048 QSqlQuery is supposed to be move-only, however we copy it
  • in our code
  • QTBUG-104730 androidtestrunner splits data row names by whitespace and
  • treats them as test functions
  • QTBUG-105736 tst_qfile unixPipe and socketPair tests fail on Android
  • QTBUG-105738 tst_qopengl:: fboRenderingRGB30() fails on Android 12
  • QTBUG-105739 tst_vulkan vulkan11() and vulkanWindowGrab() fail on
  • Android 12
  • QTBUG-104858 QT_DISABLE_DEPRECATED_BEFORE is not propagated to unit-
  • tests
  • QTBUG-103474 Floating dock widgets don't minimize with mainwindow if
  • they have been floating initially
  • QTBUG-105469 QVariant::load: unknown user type with name QList
  • when running QtRO example
  • QTBUG-103499 Android a11y: Flickable items outside of view are not
  • selectable
  • QTBUG-103513 A11Y: Flickable child item focus frame position not
  • updated
  • QTBUG-87728 tst_QGraphicsAnchorLayout::layoutDirection() failed on
  • Ubuntu 20.04 in CI
  • QTBUG-85912 CBOR API has no example documentation
  • QTBUG-105958 [Android] Intent + Talkback leads to deadlock
  • QTBUG-106018 tst_QSslSocket fails with Ubuntu 22.04 xorg and Windows
  • 10 21H2 plus OpenSSL 3
  • qtsvg:
  • QTBUG-99407 [REG 6.1.3 -> 6.2.0] Loading svg file takes too long
  • QTBUG-101698 [REG 6.2.2 -> 6.2.3] Integer overflow when loading svg
  • image
  • QTBUG-100068 Colors of some SVG images are wrong
  • QTBUG-99642 Can't define CSS with properties for QToolButton with Qt 6
  • qtdeclarative:
  • QTBUG-99113 qmlsc confuses ambiguous types in the same module
  • QTBUG-99043 The -i option to qmlcachegen, qmllint, qmlsc, etc. is
  • wrong
  • QTBUG-99027 qmllint crashes in a combination with ListModel
  • QTBUG-75799 Strange flickering when restarting an animation with
  • PauseAnimation and ScaleAnimator
  • QTBUG-99192 tst_qquickpixmapcache Failed
  • QTBUG-99229 "ninja: error: 'qrc_files-NOTFOUND', needed by
  • '.qt_plugins/Qt6_QmlPlugins_Imports_untitled4.cmake', missing and no
  • known rule to make it" when building "Qt Quick Application - Empty"
  • project
  • QTBUG-99179 qmllint does not properly warn about duplictaed ids
  • QTBUG-98937 KTX, ASTC image not displayed on Qt 6.2 and above
  • QTBUG-96888 Not possible to quickly click buttons
  • QTBUG-99025 Property "hasOwnProperty" not found on type "Item"
  • QTBUG-99286 FAILED: src/quickcontrols2/material/impl/.rcc/qmlcache/qt
  • quickcontrols2materialstyleimplplugin_RectangularGlow_qml.cpp
  • QTBUG-99275 agent:2021/12/16 18:36:00 build.go:394: FAILED:
  • tests/auto/quickcontrols2/controls/basic/tst_basic
  • QTBUG-86533 Yocto and QNX builds are missing -rpath-link linker flag
  • which causes non-prefix builds to fail
  • QTBUG-49049 arcTo doesn't always get drawn
  • QTBUG-99529 Touchpad scrolling list overshoot is buggy
  • QTBUG-99400 [Reg 5.2 -> 5.3] qmlplugindump: error details missing on
  • linux
  • QTBUG-99477 Crash in QRhiD3D11::executeCommandBuffer with nullptr
  • access
  • QTBUG-98116 Clean up qtdeclarative doc warnings and enable
  • documentation testing in CI
  • QTBUG-99644 invalid access of indicator item inside switch type
  • destructor
  • QTBUG-97081 qmllint should turn on compiler warnings on "pragma
  • Strict"
  • QTBUG-99888 configure fails when only qtdeclarative and qtbase are
  • checked out
  • QTBUG-81938 qtdeclarative:
  • tst_QPauseAnimationJob::multipleSequentialGroups is flakey
  • QTBUG-94848 Missing element in drawer when used with ListView and
  • Section
  • QTBUG-99273 QtDeclarative fails to configure when Python is not in
  • PATH but is found via FindPython
  • QTBUG-99128 qmlsc does not see property revisions
  • QTBUG-100046 FAIL! : tst_qquickborderimage::borderImageMesh()
  • QTBUG-99604 TextArea and TextField don't use IBeamCursor when readOnly
  • and selectByMouse are both true
  • QTBUG-100110 switch handle goes out of bounds when size is increased
  • (flatstyle example)
  • QTBUG-99608 tst_qmlcachegen (Failed)
  • QTBUG-100089 REG: QQuickDial with the Imagine style is displaying the
  • handle at an incorrect position
  • QTBUG-99974 qt.labs.qmlmodels classes documented twice
  • QTBUG-99693 qmllint: aliased required property shouldn't be warned as
  • missing
  • QTBUG-99311 QtQuick Window does not expose enum of visibility property
  • of Window
  • QTBUG-100314 qmltc tests fail to compile with older CMake
  • QTBUG-100339 qmllint does not find ApplicationWindow.window
  • QTBUG-100326 *.mjs files not added to qmldir when added to
  • qt_add_qml_module()
  • QTBUG-99124 Properly document ScrollBar in ScrollView
  • QTBUG-98039 QML javascript: "this" in class ctor becomes undefined
  • during if(){...} in arrow functions
  • QTBUG-100260 Crash on access after using QML singleton as a model
  • QTBUG-100377 [REG 5.15 -> 6.2] Date.parse() can't handle some dates on
  • Qt 6 but works in Qt 5
  • QTBUG-100366 tst_qmlcachegen tests using generateCache are valid only
  • for host
  • QTBUG-100221 qtdeclarative compilation fails on arm64
  • QTBUG-100279 Building fails on Linux ARM64
  • QTBUG-97185 Quick DragHandler Reporting Wrong Coordinates using
  • TouchScreen Input
  • QTBUG-98486 Touch points coordinates does not take into account the
  • Device Pixel Ratio on Windows
  • QTBUG-98543 Invalid updates of contentY of Flickable on touch screen
  • QTBUG-95033 ButtonGroup does not work with Windows style Button
  • QTBUG-100480 QtQuick compiler generates bad code for "!=" operator
  • QTBUG-94161 "QTransform::translate with NaN called" when hovering over
  • window containing Imagine style GroupBox containing a TextEdit
  • QTBUG-99547 PathView item does not appear in certain circumstance
  • QTBUG-51078 Use of Item obligatory in SwipeView?
  • QTBUG-51669 QQC2: SwipeView is not working as expected
  • QTBUG-100444 qmllint does not like variables in javascript
  • files/modules
  • QTBUG-100469 Qml runtime resizeToItem configuration is not working
  • QTBUG-86695 [REG: 5.12 -> 5.14] Broken State::when behavior after
  • suspicious change
  • QTBUG-95763 Configuring an executable with an attached qml module
  • fails when using the Xcode generator
  • QTBUG-100380 valueAt(int index) method of ComboBox QML type (QQC2) is
  • undocumented
  • QTBUG-100680 TableView: positionViewAtRow will in some cases move the
  • viewport too far
  • QTBUG-100855 qmljs tool doesn't link on iOS build
  • QTBUG-95587 icon.source of Control is not resolved relative to user
  • code
  • QTBUG-100947 Infinity not usable in QML
  • QTBUG-100978 A completely valid qml file with a block comment can
  • result in a qmlcache compilation error
  • QTBUG-100980 Q_UNREACHABLE triggered in qmlcachegen
  • QTBUG-100883 qmlcachegen miscompiles QVariant of QObject* to bool
  • conversion
  • QTBUG-101011 qmlsc goes into infinite loop
  • QTBUG-100338 qmllint warns about all members of model index
  • QTBUG-101074 Assert in qqmljstypepropagator.cpp triggers and prevents
  • compilation
  • QTBUG-101155 qml binding to a QML_EXTENDED property doesn't update
  • when changed signal emitted
  • QTBUG-101206 tst_qquickwidget (Failed)
  • QTBUG-101285 error: use of undeclared identifier 'r9_1'; did you mean
  • 'r2_1'?
  • QTBUG-99436 Quick Drag and Drop Tiles example broken in Qt 6
  • QTBUG-98857 [REG 6.2.0->6.2.1] QML: Wrong item position after
  • drag&drop
  • QTBUG-67950 Crash when changing Loader source inside a Repeater when
  • the model changes
  • QTBUG-98181 Importing directory into namespace triggers assert
  • QTBUG-92006 Fractional font size is displayed incorrectly
  • QTBUG-77371 Accessibility: Multiple Text items with Accessible
  • properties grouped together on Android
  • QTBUG-98011 qmltc crashes due to insufficient import locations in a
  • specific Qt build configuration
  • QTBUG-101163 Qmltc error prevents qtdeclarative from compiling
  • QTBUG-101186 [REG 6.1.3 -> 6.2.0] AnchorAnimation causes Rectangle
  • width and

New in Qt 6.2.0 (Sep 30, 2021)

  • Architectural changes for Qt 6:
  • We made a couple of more extensive architectural changes in Qt 6 that we are now building upon with Qt 6.2 and any future release. Those changes included:
  • Leveraging C++17 We wanted to build upon a modern C++ standard when working on Qt 6. C++17 was the latest version released, and Qt 6 now relies on a C++17 compatible compiler. This made it possible to both clean up and improve our code base and offer more modern APIs to our users.
  • Improvements to our low-level container classes with regards to handling large data sets and performance.
  • Next-generation QML We have started a greater effort towards renewing the QML language and make it safer and easier to use in the future. Qt 6.0 – 6.2 laid the foundations here, but this ongoing effort will continue throughout the Qt 6 series.
  • Bringing property bindings to C++ Property bindings have been one of the concepts that made QML so successful. With Qt 6, we have been making that concept available in C++.
  • New graphics architecture Qt 6 put a whole new architecture in place on how to handle the integration with APIs of the underlying operating system. Thanks to the new Rendering Hardware Interface (RHI), Qt 6 now uses the best graphics API available on each system by default, significantly increasing compatibility – especially on desktop and mobile operating systems such as Windows and macOS, and iOS.
  • Unified 2D and 3D for Qt Quick Qt Quick has traditionally been a framework for building animated and fluid 2D user interfaces. With Qt 6, we simplified integrating 3D content to your QML based application, too. A deep integration makes it trivial to mix 2D and 3D content at any level while getting the maximum performance out of the system.
  • CMake build system With Qt 6, we switched our build system from qmake to cmake, the standard build system for C++-based apps nowadays. While qmake is still supported for the lifetime of Qt 6, preliminary user reports indicate significant improvements after switching to cmake.
  • Added modules:
  • One of the major efforts when developing Qt 6.2 has been to add back all the modules and functionality that we left out in Qt 6.0. With very few exceptions, all modules that have been supported in Qt 5.15 are now also supported in Qt 6.2.
  • With Qt 6.2, we've added support for the following additional modules (on top of what we already had in Qt 6.1):
  • Qt Bluetooth
  • Qt Multimedia
  • Qt NFC
  • Qt Positioning
  • Qt Quick Dialogs
  • Qt RemoteObjects
  • Qt Sensors
  • Qt SerialBus
  • Qt SerialPort
  • Qt WebChannel
  • Qt WebEngine
  • Qt WebSockets
  • Qt WebView
  • The API for these modules is in mostly backwards compatible with Qt 5 and will only require minor adjustments of user code when porting to Qt 6.
  • New features in Qt 6.2:
  • In addition to many modules we've brought over from Qt 5, we also have a large set of new features and functionality in 6.2. Let's have a look.
  • Qt Quick 3D:
  • Qt Quick 3D has gained some cool new features and now supports instanced rendering, allowing you to render large amounts of the same object with different transformations. We also added a new API for adding 3D particle effects to a scene.
  • Input handling has been improved and we now correctly create Qt Quick input events for 2D items embedded in a 3D scene. We also added a new API to do ray-based picking from arbitrary points in the scene.
  • QML tooling:
  • Tooling for QML has seen some larger improvements with Qt 6.2. We now have a public CMake API which greatly simplifies the process of creating your own QML module.
  • The QML linter (qmllint) is a tool that checks QML source code for best practices, potential coding and performance problems and helps writing more maintainable QML. The tool has undergone large changes and is now fully configurable, both at the command line level, through configuration files, and even for individual blocks within a QML file itself. In addition, it can now generate JSON output to simplify integration with other tools or automated systems.
  • The QML formatter (qmlformat) now uses the QML dom library, giving large improvements to the generated output.
  • Qt Multimedia:
  • Qt Multimedia has undergone some rather significant changes with Qt 6. It was one of the APIs we were not happy with during the lifetime of Qt 5. Because of that, we took a step back and did some more extensive API and architectural changes to the module without too much respect for backwards-compatibility.
  • Nevertheless, it should be relatively straightforward to port from Qt Multimedia in Qt 5 to Qt 6
  • Qt Multimedia in Qt 6 does support several highly requested features we never managed to support properly in Qt 5. Examples include subtitle and language selection support for playback and a configurable setup for media capture
  • The internal architecture has been cleaned up and is not exposed through public API as in Qt 5 anymore. This will allow us to fix bugs faster and makes it significantly easier to add new features in the future. You can find more details in the separate blog post about Qt Multimedia in Qt 6
  • Due to these massive changes, however, the module still has rough edges and probably quite a few bugs in the implementation. However, we believe that multimedia is such an essential piece of functionality that we will fully support the module in Qt 6.2
  • Because of this, we will deviate a bit on our regular commit policy for patch level releases and might include some smaller API additions if those are required to fix larger issues
  • In addition, we will work hard on fixing any reported bug as quickly as we can in upcoming patch level releases
  • Smaller improvements throughout:
  • Almost all other modules have seen lots of smaller API additions and improvements.
  • We have been porting many APIs over to make use of the new property system, so that you can use property bindings from C++. That effort is not yet complete and we be continued in future releases.
  • We've also fixed many API shortcomings and missing features in various places. To mention just a few examples:
  • Qt Charts has gotten some new API to improve convenience and make things more customizable.
  • We've added floating point image formats to QImage.
  • QByteArray::number() now correctly handles negative values for bases different than 10.
  • QLockFile now has overloads that take std::chrono
  • Qt Network supports multiple SSL backends that can co-exist at runtime.
  • Qt Creator and Qt Design Studio:
  • A lot of work has also gone into Qt Creator and Qt Design Studio to make sure they deliver first-class support for Qt 6.2. Qt Creator 5 comes with everything you need to develop for Qt 6.2.
  • We have also released a brand new version of Qt Design Studio today. Qt Design Studio 2.2 is based on Qt 6.2 and brings great support for creating Qt Quick and Qt Quick 3D-based user interfaces in one graphical tool. And you can easily test those on your target hardware, whether that's your desktop, mobile, or an embedded device. Have a look at the separate blog post about Qt Design Studio 2.2 for more details.
  • New platforms:
  • For Qt 6.2, a lot of work has happened to improve our support of the currently supported platforms, both on the desktop and mobile side, by, e.g., improving our support for HighDPI rendering and adding an NFC backend on iOS. On top of that, Qt 6.2 has expanded the scope of supported platforms drastically:
  • There's a lot of work ongoing to support Windows 11, and we expect to be able to provide full support for it in a 6.2 patch-level release. Windows on ARM HW is also available as a Technology Preview with Qt 6.2.
  • Qt for Python was also released today, so you can try it out. A separate blog post will be published in the next couple of days to highlight all the features on top of the adoption from the latest Qt 6.2 changes. Stay tuned!

New in Qt 6.2.0 Beta 1 (Jul 7, 2021)

  • New & Restored Modules:
  • New modules:
  • Added QtQuick.Dialogs module. This provides native dialogs with Qt Quick fallbacks for platforms where Qt does not have native dialogs. Currently FileDialog and FontDialog are available, with more to be added in future versions.
  • The following additional modules are available, that were not present in 6.1:
  • Qt Bluetooth
  • Qt Multimedia
  • Qt NFC
  • Qt Positioning:
  • The Qt Positioning module has been ported to Qt 6 and the CMake build system.
  • Many of the properties are now bindable.
  • Rename QGeoPolygon::path() to QGeoPolygon::perimeter.
  • QGeoLocation now uses QGeoShape instead of QGeoRectangle as a bounding area.
  • The error() signal in multiple positioning classes is renamed to errorOccurred().
  • QGeoPositionInfoSourceFactoryV2 is removed, and QGeoPositionInfoSourceFactory now supports custom parameters for the created objects.
  • NMEA support is redesigned. The serialnmea plugin is renamed to nmea and now supports reading the input stream from a TCP socket or a raw file. The nmeaSource property is removed.
  • Qt RemoteObjects:
  • The Qt RemoteObjects module has been ported to Qt 6 and the CMake build system.
  • Qt Sensors
  • Qt SerialBus:
  • The Qt SerialBus module has been ported to Qt 6 and the CMake build system.
  • The QCanBusFactory has been removed and QCanBusFactoryV2 was renamed to QCanBusFactory.
  • QModbusRtuSerialSlave and QModbusRtuSerialMaster have been renamed to QModbusRtuSerialServer and QModbusRtuSerialClient and the new names shall be used in new code.
  • Qt Serialport
  • Qt WebChannel:
  • The Qt WebChannel module has been ported to Qt 6 and the CMake build system.
  • QWebChannel properties are now bindable.
  • The property update interval of QWebChannel can be configured. It still defaults to 50ms.
  • QWebChannel supports property updates for BINDABLE properties. However, the client side does not provide a generic callback mechanism if the host property does not have a NOTIFY signal.
  • Signals from objects living in a different thread are now handled correctly (QTBUG-51366)
  • Qt WebEngine:
  • The Qt WebEngine module has been ported to Qt 6 and the CMake build system.
  • The Qt WebEngine submodule for Qt Quick has been renamed from QtWebEngine to QtWebEngineQuick
  • Several classes have been moved from QtWebEngineWidgets to QtWebEngineCore including QWebEnginePage
  • Some functionality previously only accessible by deriving from QWebEnginePage can now be accessed using synchronous signals.
  • Qt WebSockets:
  • The Qt WebSockets module has been ported to Qt 6 and the CMake build system.
  • Qt WebView:
  • The Qt WebView module has been ported to Qt 6 and the CMake build system.
  • New Features (within existing modules):
  • QtCore:
  • Added:
  • QByteArrayView::compare().
  • QFlags::test(Any)Flag(s) methods.
  • QHashSeed, to control hashing (seeds are now size_t); this shall replace qGlobalQHashSeed and qSetGlobalQHashSeed.
  • PRIxQTDATATYPE macros to facilitate printf()-style formatting without casts or warnings.
  • A permissions API to QCoreApplication (for things like access to camera, file system, network on devices).
  • Many properties are now bindable.
  • Grapheme clusters can now handle emojis.
  • UNC paths and network shares on Windows are now handled consistently.
  • QCalendar now supports construction from the ID of a custom backend.
  • QChar, QPoint and QPointF are now primitive, rather than merely relocatable.
  • QCoreApplication's exit() is now, like quit(), a slot (as the documentation has long claimed); same for QEventLoop and QThread.
  • QDateTime now takes account of time-zones throughout time_t's range (in so far as the platform supplies such information), rather than artificially limiting the range to 1970–2037.
  • QFlags has fleshed out its value-type behavior (and is now used more systematically).
  • QList (hence also QVector) is now, when building for C++20, a contiguous_iterator satisfying contiguous_range.
  • QLocalSocket::waitFor*() now support duplex operation on Windows (like they already did on Unix).
  • QLockFile's methods now have std::chrono overloads (and avoid needless conversion between UTC and local time).
  • QString can now be built from char8_t (when available).
  • QThreadPool's thread priority is now configurable; and the threads share the pool's name, if it has one.
  • … and there's been lots of tidy-up, bug-fixing and improvements to documentation.
  • QtGui:
  • Floating point image formats added to QImage for both 16-bit and 32-bit floats.
  • Converting RGB images to, or painting RGB colors onto, grayscale images is now gamma corrected and produces in the luminance values of the input color space.
  • QtQuick:
  • Added support for selecting cells in a TableView by assigning it a ItemSelectionModel
  • QtQuickControls:
  • New control added: SelectionRectangle. This control can be used to select cells in a TableView by using a styled selection rectangle.
  • QtWidgets
  • QtNetwork:
  • QSslSocket:
  • TLS backends, that were previously (Qt 6.1) converted into plugin-like classes, now moved out of QtNetwork and became real plugins.
  • Several TLS backends may co-exist at runtime, for example, OpenSSL and Schannel, or OpenSSL and SecureTransport.
  • QNetworkInformation:
  • Introduced isBehindCaptivePortal, a new property that can be used to see if the user is connected to a network with a captive portal.
  • QtQml:
  • Core language:
  • Added support for optional chaining
  • Added as casts: those mostly help tooling, but can also be used to replace some usages of instance of (return (obj instanceof Item) ? obj.width : 42 vs (obj as Item)?.width ?? 42)
  • Public CMake API for QML modules (qt_add_qml_module)
  • takes care of generating qmldir and qmltypes
  • can automatically create plugin if plugin only registers types
  • built-in support for linting target
  • Tooling:
  • qmllint:
  • Added support for granularly setting warning severity, from disabling them altogether, to making them informational only, to them leading to a non-zero exit code
  • Added settings file (.qmllint.ini) for configuring warning levels on a directory-by-directory basis. A default settings file can be generated using qmllint --write-defaults
  • Warnings can now be disabled in blocks via comments (//qmllint enable/disable <warning-type1> <warning-type2...>)
  • Greatly improved performance when linting files, especially when linting multiple files with lots of imports
  • Added JSON output for use in tooling
  • qmlformat:
  • qmlformat now utilizes our new qmldom library and should generally produce better output because of it
  • QtQuick3D:
  • Instanced Rendering, an optimized way of drawing multiple instances of the same objects with different transformations.
  • 3D Particles, an API for adding particle effects to 3D scenes. This includes a technology preview of model blend particles, intended to be finalized in 6.3.
  • Qt Quick Input events for 2D items in 3D (both in scene and in textures)
  • Additional API for ray based picking from arbitrary points in the scene
  • RuntimeLoader
  • Makes it possible to load glTF2 files at runtime
  • Parallax Occlusion Mapping: Enables the use of height maps without the cost of adding geometry
  • Depth Draw Mode on materials: Enables fine control over if and when depth rendering takes place for a material.
  • QtDataVisualization:
  • Background rendering mode fixed.
  • RenderDirectToBackground_NoClear deprecated, as not clearing window is no longer an option in Qt 6.x.
  • Lots of minor bug fixes.
  • QtCharts:
  • More marker shapes are available to pick from in QScatterSeries and QLegend.
  • Added Light marker feature to QXYSeries and QLegend. This is a lighter weight rendering of points.
  • Added ability to select points in a series via method calls to QXYSeries and QBarSet.
  • Added ability to set a color or use a custom light marker to be used for selected points in QXYSeries.
  • Added ability to set a color to be used for selected bars in QBarSet.
  • Added a feature to display the best fit line of QXYSeries through new methods added to QXYSeries.
  • Added ability to customize the look of individual points in a series to QXYSeries. The feature allows one to set points visibility, points label visibility and points size.
  • Added method “sizeBy” to QXYSeries that adjusts size of the points in the series according to passed values.
  • Added method “colorBy” to QXYSeries that adjusts color of the points in series according to passed values and gradient.
  • Added a new axis class QColorAxis to support colorBy feature, displaying a color scale.
  • Added ability to disable label truncation in axes.
  • Improved performance by caching recently used text bounds.
  • Added interactive support to QLegend via a setInteractive method. Once enabled, allows the legend to be detached on double-click, and once detached, dragged and resized on the chart. Legend can then be automatically attached to an edge of the chart by dragging it off of the edge.
  • Added attachedToChartChanged signal to QLegend.
  • Updated legend example.

New in Qt 6.1.1 (Jun 7, 2021)

  • Important Changes:
  • Qtbase:
  • 168855901a QCoreApplication::exit: make it a slot exit() is now a slot, like quit().
  • dcc4605bf0 QString: add missing char8_t* constructor / fromUtf8 overloads
  • Added a constructor and a fromUtf8() overload taking a const char8_t * argument.
  • 20a9f74851 Read DPI from X Settings initially as wellQt now reads Xft/DPI from X settings at startup, and will prefer this
  • value over Xft.dpi from X resources.
  • f4292c10a3 Fix case sensitivity handling QSFPM
  • Case sensitivity as well as regular expression options handling have been fixed. The original value is properly kept when using
  • setFilterWildCard and setFilterFixedString. The regular expression options are now also properly kept when changing the case senstitivity through setFilterCaseSensitivity.
  • 8c0dab650d QSFPM: fix filterCaseSensitivityChanged signal emission logic
  • A call to QRegularExpression overload of setFilterRegularExpression now emits a filterCaseSensitivityChanged signal, if required.
  • bced3a2477 ItemViews: don't delete dragged items when a subclass accepted the move
  • Classes overriding dropEvent for MoveAction events to move data can call accept() on the event before calling the superclass to prevent QAbstractItemView from deleting the source item.
  • 4f5c8fecac Write out the HTML correctly for nested lists
  • The output of toHtml() now handles nested lists correctly.
  • 3b78f6d94b Windows: Work-around misreporting of Script and Roman
  • Fixed text in "Roman" and "Script" bitmap fonts not showing in Qt Quick applications.
  • 975e693747 Update bundled libjpeg-turbo to version 2.1.0 libjpeg-turbo was updated to version 2.1.0
  • 2a2680ea22 macOS: Fix synthesized bold
  • Fixed an issue where boldness would not be correctly synthesized for families with no bold variant.
  • 3e971f6fb4 SQLite: Update SQLite to v3.35.5
  • Updated SQLite to v3.35.5:
  • 90fe6301ba rhi: Fix memory leak:
  • Fixed a memory leak in QRhiGles2
  • c5e6a06305 Windows: Add synthesized fonts also when there is a style name
  • Fixed an issue where bold/italic would not be synthesized for fonts if QFont::NoFontMerging was set.
  • b552e75561 QPageSize: make PageSizeId ctor non-explicit Conversion from a QPageSize::PageSizeId is now implicit.
  • 562187fc55 Fix memory leak when using small caps font
  • Fixed a memory leak when initializing a small caps font.
  • 9e908fc57a Enable UNICODE for all Qt targets and Qt consumers by default
  • Enables the UNICODE and _UNICODE definitions on WIN32 platforms by default for all cmake projects to reflect the qmake behavior. Use
  • qt6_disable_unicode_defines function to disable the default unicode definitions.
  • Qtdeclarative:
  • 12a14164a7 Fix regression where qtquickcompiler cannot find rcc
  • Fixed regression in Qt 6.1.0 which broke 'QT += qtquickcompiler' on Linux, macOS.
  • Qttools:
  • d34cf404 macdeployqt: Fix bug parsing otool output when deploying plugins
  • Fix plugin deployment bug caused by otool parsing
  • 3b88ee4f macdeployqt: Fix plugin resolution bugs for non-standard installs
  • Uses QLibraryInfo to resolve plugins at install locations.
  • Qtquickcontrols2:
  • a2b56c366 ToolTip: use contentWidth of Text contentItem to account for newlines
  • The implicit width of ToolTips now accounts for newlines in the text.
  • If you want to use the old behavior, set ToolTip's contentWidth to implicitContentWidth.
  • Fixes:
  • Qtbase:
  • QTBUG-92040 [macOS] Labs platform context menu items are disabled on modal window
  • QTBUG-92451 Static build fails on MinGW and MSVC2019, shadertools?
  • QTBUG-87861 Handle PLUGIN_EXTENDS = - in qmake plugin projects and in pro2cmake
  • QTBUG-86670 Fix qtwayland / qtquickcontrols2 static builds failing to reconfigure in a non-prefix build
  • QTBUG-91957 Assert while trying to load SVG
  • QTBUG-92568 Using QNetworkInformation will cause application crash when exit
  • QTBUG-89456 QTypeTraits templates break existing code
  • QTBUG-92890 Qt 6.1.0 Android binary size on Windows host increased significantly
  • QTBUG-92908 gradients widget example crashes
  • QTBUG-92886 QAbstractItemModelTester false positive removing rows with no columns
  • QTBUG-86847 QXmlStreamReader.prefix() cannot return EndElement's prefix
  • QTBUG-19983 Setting a cancel button on QProgressDialog more than once causes layout to be invalid
  • QTBUG-92963 tst_qpromise fails to compile with C++20 standard enabled
  • QTBUG-86823 REG: Blinking cursor leaving an artifact in QTextEdit
  • QTBUG-92838 Redownloading same file in parallel produces a warning about removal of cache file
  • QTBUG-92260 QSortFilterProxyModel::setFilterRegularExpression(const
  • QString &) preserves all pattern options
  • QTBUG-91885 QSqlTableModel support column names with dots
  • QTBUG-93007 QThreadPool should make sure maxThreadCount is > 0 as < 1 breaks it even though the docs say otherwise.
  • QTBUG-93021 Qt6 Static build for macOS problem: Undefined symbols for architecture x86_64 and issues with libraries linking.
  • QTBUG-90030 Persistent index handling in QAbstractItemModel is wrong
  • QTBUG-91405 qt-configure-module does not work as expected with multi config ninja generator
  • QTBUG-93002 CMake: linker error with Linux Static Libraries while using QtQuick.Controls
  • QTBUG-85136 "qmake -qtconf foo.conf -query" does not work
  • QTBUG-87429 tst_QRhi::renderToTextureArrayOfTexturedQuad fails on Android Emulator in CI
  • QTBUG-92826 JSON documentation needs updating for deprecations
  • QTBUG-77427 setDropAction() is not respected in ItemViews during move operation on MAC
  • QTBUG-91284 Http2: authenticationRequired is not emitted PYSIDE-1404 Incompatible import of "Object" in compiled UI
  • QTBUG-86670 Fix qtwayland / qtquickcontrols2 static builds failing to reconfigure in a non-prefix build
  • QTBUG-91770 qvnc: Arbitrary memory read vulnerability
  • QTBUG-67944 If user pressed back button during application startup. Application becomes unresponsive.
  • QTBUG-92940 MSVC: warning C4723: potential divide by 0 in Qt Gui
  • QTBUG-90945 SizeGrip missing
  • QTBUG-92584 QSqlTableModel ORDER BY doesn't quote table name [with spaces]
  • QTCREATORBUG-25389 Can't use manual tests from Creator
  • QTBUG-92579 Different Screen.pixelDensity and Screen.devicePixelRatio
  • QTBUG-71123 "moc" failed to parse auto in trailing-return-type signals and slots
  • QTBUG-93416 Sample code doesn't compile
  • QTBUG-92490 Stylesheet with pseudo state on QPlainTextEdit
  • QTBUG-88374 QTextDocument::toHtml: nested lists (ul, ol) not nested in output
  • QTBUG-85826 Some Windows fonts don't work in Text
  • QTBUG-92240 MDI Sub window title remains in main window title when DontMaximizeSubWindowOnActivation option used
  • QTBUG-91758 [REG 5.13.2->5.14.0]: QPainter renders in Text wrong when units set to micrometers
  • QTBUG-92988 if font size is set via stylesheet for QTab, it chops off text
  • QTBUG-90840 QSyntaxHighlighter does not apply capitalization with
  • QTextCharFormat::setFontCapitalization
  • QTBUG-85634 Japanese and Chinese characters have no effect by bold enabled
  • QTBUG-91538 qtshadertools/qtools require cmake wrappers from qtimageformats (WebP/Jasper) in static builds
  • QTBUG-93032 Reg:5.15.2->5.15.3 QPushButton Focus rect is change of behavior
  • QTBUG-91236 background-color does not propagate beyond first child element
  • QTBUG-93475 QPainter rotate causes pixmap rendering issues
  • QTBUG-92599 QLabel with word wrap makes unable to decrease parent items size
  • QTBUG-93620 W System.err: java.lang.NoSuchMethodException: notifyQtAndroidPluginRunning
  • QTBUG-92366 QListView has abnormal spacing when setWordWrap is true
  • QTBUG-87334 Graphical issue on some Android smartphones: white line at the top and the right side of the screen
  • QTBUG-89145 QStandardItemModel takeItem / takeChild does not emit the right signals
  • QTBUG-93635 Reg->6.0: Windows vista style: placeholderText has wrong color
  • QTBUG-93295 Session Resumption with Session ID - IPv6 - ephemeralServerKey is missing
  • QTBUG-91398 When QFont::NoFontMerging is set then if bold or italics is requested that is not provided by the font then it will end up not synthesizing this
  • QTBUG-70137 Dockwidgets - Placing QDockWidget is almost impossible
  • QTBUG-93636 Unnecessary hard link from qmake.exe to qmake6.exe
  • QTBUG-93494 iOS A11Y VoiceOver: QAccessible::EditableText not implemented as "TextField" and value is missing last character
  • QTBUG-93739 QT 6.1.0 does not compile with -DQT_NO_EXCEPTIONS=1
  • QTBUG-92182 Qt Dock Widgets super slow to dock
  • QTBUG-74291 QTemporaryFile does not work for Windows network paths
  • QTBUG-93779 [elxr] (error #412) unresolved symbols: 1
  • QTBUG-93831 [REG 5.15.2->5.15.4]: Android: Copy-pasting text is not possible after pasting
  • QTBUG-93750 Updating dependencies in qtdeclarative fails
  • QTBUG-85051 CMake doesn't support big resources
  • QTBUG-93770 Wrong pixel ratio when using OpenGL in an embedded window context
  • QTBUG-89951 Why does Qt 6 cmake add UNICODE to public definitions on Windows?
  • QTBUG-92188 Stack smashing detected using QImage::scaled
  • QTBUG-93895 Error C2440: 'initializing': cannot convert from 'const TCHAR *' to 'const wchar_t *
  • QTBUG-90662 Fix CI warnings qtbase
  • QTBUG-71701 QFileSystemModel fails to locate a host from the root node's visible children
  • QTBUG-93270 QPropertyBindingSourceLocation won't compile bacause of wrong source_location selection
  • QTBUG-93230 Conflict name for qt_add_resources
  • QTBUG-92861 QtQml does not provide version 6.2
  • QTBUG-88093 qtbase unable to build with system jpeg
  • QTBUG-87580 Add minimal set of tests to build for static Qt configs in Coin
  • QTBUG-87580 Add minimal set of tests to build for static Qt configs in Coin
  • QTBUG-93033 Deprecated Function "isTopLevel" in qwidget.h defined
  • QTBUG-91801 Potential memory leak in sending queued signals?
  • QTBUG-93019 [REG 5.15-6.0] QList/QVector regressions
  • QTBUG-93019 [REG 5.15-6.0] QList/QVector regressions
  • QTBUG-93176 Data race in tst_qurl::testThreading() detected by Thread Sanitizer
  • QTBUG-93019 [REG 5.15-6.0] QList/QVector regressions
  • QTBUG-86033 Update QtPlatformAndroid.cmake to include features in the old Qt5AndroidSupport.cmake
  • QTBUG-86033 Update QtPlatformAndroid.cmake to include features in the old Qt5AndroidSupport.cmake
  • QTBUG-86033 Update QtPlatformAndroid.cmake to include features in the old Qt5AndroidSupport.cmake
  • QTBUG-90341 The QtStartUpFunction function may be called repeatedly
  • QTCREATORBUG-25389 Can't use manual tests from Creator
  • QTBUG-87580 Add minimal set of tests to build for static Qt configs in Coin
  • QTBUG-92944 input problems in DynamicTexture example
  • QTBUG-87057 QListView item looses items from models that don't override moveRows during internal drag'n'drop
  • QTBUG-92944 input problems in DynamicTexture example
  • QTBUG-92500 When using a ShaderEffect which has been compiled with the qsb tool, it does not apply the effect at all
  • QTBUG-90662 Fix CI warnings qtbase
  • QTBUG-86677 QToolBar button resize chops text
  • QTBUG-93494 iOS A11Y VoiceOver: QAccessible::EditableText not implemented as "TextField" and value is missing last character
  • QTBUG-93565 Unnecessary dependency to host Tools package in cross-builds
  • QTBUG-63557 Showing / hiding QML Dialog type keeps allocating memory without releasing it
  • QTBUG-88989 Build errors on Android with latest gradle
  • QTBUG-64446 tst_QWidget::multipleToplevelFocusCheck() on linux
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • QTBUG-80863 [cmake] excessive compilation of Import.cpp files for static plugins
  • Qtsvg:
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • Qtdeclarative:
  • QTBUG-91749 Incorrect batching using overlapping QSGGeometry with lines having a width > 1
  • QTBUG-92562 qtdeclarative build error on x86-windows
  • QTBUG-89736 focusable item becomes impossible to focus after reparenting to a newly loaded item
  • QTBUG-91867 TextInput cursorDelegate position not updated after left padding change
  • QTBUG-92966 MSVC compiler warning C4267 in qqmlirbuilder.cpp
  • QTBUG-93048 Signal and Handler Event System demo Grammatical errors
  • QTBUG-93083 setSceneGraphBackend(const QString &backend): where is the list of possible strings?
  • QTBUG-93404 QML Debugging : Breakpoints' internal ID is not assigned properly
  • QTBUG-63673 PinchArea uses wrong coordinate system when inside a rotated container item
  • QTBUG-92224 Show let type variable in Locals
  • QTBUG-92165 REG 5.15->6.0: when PinchHandler and DragHandler are used together, trackpad pinch gesture causes a jump
  • QTBUG-93175 tst_EcmaScriptTests::runInterpreted fails with Windows 10 developer build
  • QTBUG-93264 TableView: first column does not unhide when changing column width
  • QTBUG-74572 When using a syntax highligher on the QQuickTextDocument then triggering a rehighlight does not automatically update the text control using it
  • QTBUG-93563 [REG] qmake: Cannot locate rcc when using Qt Quick Compiler
  • QTBUG-69577 while using both qml and JavaScriptCore.framwork, iOS app got a non-public api references error
  • QTBUG-91716 TapHandler works only in the upper left corner of the screen when QQuickView given another window as parent
  • QTBUG-92839 QQuickRenderControl D3D11 should be made working with MinGW too
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • QTBUG-92861 QtQml does not provide version 6.2
  • QTBUG-92944 input problems in DynamicTexture example
  • QTBUG-92944 input problems in DynamicTexture example
  • QTBUG-72906 ListView rejects QList models
  • QTBUG-92500 When using a ShaderEffect which has been compiled with the qsb tool, it does not apply the effect at all
  • QTBUG-80415 segfault in software renderer inside
  • QSGSoftwareInternalImageNode
  • QTBUG-92944 input problems in DynamicTexture example
  • QTBUG-92944 input problems in DynamicTexture example
  • QTBUG-88644 tst_QQuickGridView::snapToRow() failed on msvc2019 developer build in CI
  • QTBUG-92944 input problems in DynamicTexture example
  • QTBUG-88644 tst_QQuickGridView::snapToRow() failed on msvc2019 developer build in CI
  • QTBUG-27671 QMLTest: Some subtests of tests/auto/qmltest/events/tst_events.qml are flaky
  • Qtactiveqt:
  • QTBUG-93446 MingGW: activeqt/qutlook configure fails
  • QTBUG-93944 error: "NOMINMAX" redefined
  • Qttools:
  • QTBUG-92590 qdoc generates 'quick3', 'qt3' tags for qtquick3d, qt3d
  • QTBUG-92478 [QDoc] Links for obsolete methods point to the wrong page
  • QTBUG-92355 scoped enum values can't be linked in documentation
  • QTBUG-65810 Outdated copyright notes
  • QTBUG-92386 [QDoc] omitvalue does not omit the enum's description
  • QTBUG-91644 macdeployqt doesn't deploy plugins when build qt with custom -plugindir and frameworks in app bundle cannot resolve rpath
  • QTBUG-49591 Qt Designer: QTableWidget : Horizontal labels are not visible (horizontalHeaderVisible property is not saved correctly) when in page-based container
  • QTBUG-91644 macdeployqt doesn't deploy plugins when build qt with custom -plugindir and frameworks in app bundle cannot resolve rpath
  • Qtdoc:
  • QTBUG-93245 Documentation: New 6.1 modules missing from overview
  • QTBUG-91239 Porting to Qt6: high dpi scale factor default rounding policy not documented
  • QTBUG-93895 Error C2440: 'initializing': cannot convert from 'const
  • TCHAR *' to 'const wchar_t *
  • Qtwayland:
  • QTBUG-89680 Touch is ignored if up and down arrives in the same wl_touch.frame
  • QTBUG-93751 Update dependencies on 'dev' in qt/qtwayland
  • QTBUG-92861 QtQml does not provide version 6.2
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • Qt3d:
  • QTBUG-92163 top-level configure returns with exit code != 0 if qt3d is checked out
  • QTBUG-93240 Configure error in qt3d for -developer-build -release
  • QTBUG-92861 QtQml does not provide version 6.2
  • QTBUG-90243 Unable to build Qt3D Add-On with Conan, Qt6.0.1,
  • Qt6.1.0Alpha,6.0.2, 6.0.3, 6.0.4
  • Qtimageformats:
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • Qtquickcontrols2:
  • QTBUG-92883 [qt6] duplicate symbols in mac style plugin
  • QTBUG-93172 Duplicate symbol qInitResources_qmake_immediate when building qtquickcontrols2 gallery example against static macOS Qt
  • QTBUG-88220 Add documentation pages for the new native styles
  • QTBUG-92214 QML Dial with stepsize set gives unexpected result
  • QTBUG-93430 macOS: sliders should not get focus from clicking on them
  • QTBUG-93423 macOS: slider handle focus ring is too big
  • QTBUG-91924 With the Imagine style then it is possible that the background of a GroupBox is clipped by two pixels
  • QTBUG-83630 Qt Quick Control 2 Tooltip can be way too big when you have newlines
  • QTBUG-92158 [REG 5->6]QML Customised scrollbar has incorrect size and scrolling behaviour
  • QTBUG-89126 REG: ScrollView doesn't remove ScrollBar after settinging the new one
  • QTBUG-92861 QtQml does not provide version 6.2
  • QDS-4212 Changing Range Slider snap mode changes it's orientation
  • QTBUG-89938 tst_QQuickPopup::macOS fails with macOS 10.15 and 11.1 and with Xcode 12.3
  • QTBUG-83630 Qt Quick Control 2 Tooltip can be way too big when you have newlines
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • Qtcharts:
  • QTBUG-59040 QtCharts performance bad when min/max values changed
  • QTBUG-79218 When zooming out enough then the labels on the axes will end up showing drawing errors
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • Qtdatavis3d:
  • QTBUG-93263 QtDatavisualization examples not compiling on Android
  • QTBUG-91103 QML theme shows as totally dark when specified during creation
  • QTBUG-93506 Gradients don't show.
  • QTBUG-93676 Itemmodel example draws text as garbage
  • QTBUG-92995 Some datavisualization examples run with warnings
  • QTBUG-92861 QtQml does not provide version 6.2
  • Qtvirtualkeyboard:
  • QTBUG-90809 Inconsistent behavior of InputPanel between release and debug config on Windows
  • QTBUG-93459 [Highlighted example] virtualkeyboard/static fails to compile on iOS
  • QTBUG-93997 Warnings with virtual keyboard in Qt 6
  • QTBUG-92861 QtQml does not provide version 6.2
  • Qtscxml:
  • QTBUG-94144 Incorrect Qt version numbers on Qt 6.1.1 source code package
  • QTBUG-93444 [Highlighted example] qtscxml/trafficlights-qml-dynamic crashes on Android hw
  • QTBUG-92861 QtQml does not provide version 6.2
  • QTBUG-92541 statemachine/padnavigator, build fails: QOpenGLWidget: No such file or directory
  • Qtlottie:
  • QTBUG-92861 QtQml does not provide version 6.2
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • Qtquicktimeline:
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • Qtquick3d:
  • QTBUG-92389 QQuick3DInstancing not clearing m_instanceDataChanged
  • QTBUG-92917 Changing instanceCountOverride has no effect
  • QTBUG-93097 Quick3D Texture might not capture the latest state of sourceItem
  • QTBUG-93095 View3D picking breaks if 2D Quick Item added to scene
  • QTBUG-90564 Crash if some importer plugin can't be loaded
  • QTBUG-93266 The new QML types in Qt Quick 3D for the particle system miss a since
  • QTBUG-93605 PointLight is not properly projected on skinned meshes
  • QTBUG-92953 Mesh rotation is not correct if it is not in Skeleton node
  • QTBUG-93095 View3D picking breaks if 2D Quick Item added to scene
  • QTBUG-92831 Particles testbed Animated Sprite not working with qmake
  • QTBUG-92861 QtQml does not provide version 6.2
  • QTBUG-93034 No changed signals from particlesystem time
  • QTBUG-92917 Changing instanceCountOverride has no effect
  • QTBUG-92892 Rotated emitter velocity not always correct
  • QTBUG-90817 Quick3D Model bounds not set in an imported scene
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • Qtshadertools:
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake
  • counterpart
  • Qt5compat:
  • QTBUG-92861 QtQml does not provide version 6.2
  • QTBUG-93015 ColorOverlay color property documentation wrong
  • Qtcoap:
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • Qtmqtt:
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • Known Issues:
  • Check that your system meets Qt's requirements:
  • https://doc.qt.io/qt-6/gettingstarted.html#platform-requirements
  • RTA reported issues from Qt 6.1
  • https://bugreports.qt.io/issues/?filter=22879
  • Supported development platforms are listed here:
  • https://bugreports.qt.io/browse/QTBUG-86432
  • Linux:
  • Minimum glibc version for prebuild binaries is still 2.28, see
  • https://bugreports.qt.io/browse/QTBUG-88833.
  • Workaround: compile Qt 6.1.0 by yourself or update glibc to 2.28 or newer
  • Windows:
  • Wrong rendering in Dialog with native Windows style
  • https://bugreports.qt.io/browse/QTBUG-91755

New in Qt 6.1.0 (May 6, 2021)

  • New Modules:
  • The largest focus of Qt 6.1 has been to bring many of the add-on modules that we supported in Qt 5.15 over to Qt 6. Those modules are:
  • Active Qt: Qt module to support COM and ActiveX controls on Windows
  • Qt Charts: Add charts to your application
  • Qt Data Visualization: Visualize static and dynamic data
  • Qt Device Utilities: Part of Qt for Device Creation only
  • Qt Graphical Effects: Added as a compatibility module to aid porting to Qt 6
  • Qt Lottie: Render graphics and animations created in Adobe After Effects
  • Qt State Machine: Contains the state machine API from Qt Core in Qt 5 and the SCXML based state machine code
  • Qt Virtual Keyboard: Add a virtual keyboard to your embedded device
  • New Features:
  • Qt 6.1 fixes a large number of bugs that were reported against Qt 6.0 or Qt 5.15 and apart from adding the modules listed above this has been our main focus. Fixing bugs will also continue to be a focus area as we get closer to Qt 6.2, which is planned to be the first Long-Term-Supported (LTS) release of the Qt 6 series.
  • Of course, Qt 6.1 also includes a couple of new features in modules that existed in Qt 6.0. Let’s talk about some highlights here, but for a full list, please have a look at the release notes and the new features page on our wiki.
  • In Qt Core, most efforts have been in adding more convenience and simplifications to our APIs. Amongst other things, we added removeIf() methods and extended the support of erase_if() to more of our classes; we added a few missing methods in QStringView to make it better mirror the QString API. We now have overflow-safe add, subtract and multiply functions and improved the support for 16 bit floating point values. The property bindings introduced in Qt 6.0 have gotten some API refinements. Another major feature are the new classes to simplify integration with Java, QJniEnvironment and QJniObject. Those are mainly used on Android.
  • In Qt Gui, there is now a new QUrlResourceProvider class that can be used to avoid subclassing QTextDocument and reimplementing loadResource(). It can also be used by QLabel. We have now better support for Vulkan 1.1 and 1.2 in the Vulkan API wrappers, and QColorSpace can now use custom transfer functions.
  • In Qt Network, we introduced a new QNetworkInformation class that exposes the reachability of the system and our cookie handling now supports the SameSite feature.
  • Qt Qml now offers QJSPrimitiveValue and QJSManagedValue to give more fine grained control over JavaScript execution than it was possible with QJSValue alone.
  • Qt Quick 3D now supports morph target animations. In addition, there is support for instanced rendering and 3D particles on a Technology Preview level. Instanced rendering can dramatically increase rendering performance when a large amount of similar items need to be rendered in the scene. The 3D particles use instanced rendering for the particle effects. Those Both features are expected to be fully supported in 6.2.
  • We will soon also release an updated version of Qt for Python that will provide support for the modules we added in Qt 6.1. In addition, it features better support for external deployment tools, and even a new Technical Preview of a commercial tool. Stay tuned for a blog post coming in the next days.

New in Qt 6.0.4 (May 5, 2021)

  • IMPORTANT CHANGES:
  • [qtbase]:
  • 917509c914 QTextHtmlParserNode: Limit colspan to avoid segfault
  • QTextDocument::setHtml: column spans are limited to 20480, an arbitrarily high but reasonable value.
  • 567e7f1518 Read DPI from X Settings initially as well:
  • Qt now reads Xft/DPI from X settings at startup, and will prefer this value over Xft.dpi from X resources.
  • dc9b55d6b2 Fix case sensitivity handling QSFPM:
  • Case sensitivity as well as regular expression options handling have been fixed.
  • The original value is properly kept when using setFilterWildCard and setFilterFixedString.
  • The regular expression options are now also properly kept when changing the case senstitivity through setFilterCaseSensitivity.
  • FIXES:
  • [qtbase]:
  • 955ce882f7 fixes QTBUG-91539 QThread::quit() is unreliable on Windows
  • da7c44770f fixes QTBUG-91029 Windows/Accessibility: Focused QListWidget is not announced by screen readers
  • 8f7bcbf1c6 fixes QTBUG-92087 No shortcuts possible with SysReq key
  • 687685f649 fixes QTBUG-89456 QTypeTraits templates break existing code
  • 5a09a21b60 fixes QTBUG-86134 [Reg 5.9 -> 5.12] QPushButton: icon not aligned when menu-indicator is removed
  • cc3cb77f62 fixes QTBUG-92275 Slow and memory intensive handling of input to QDateTime::fromString
  • 4f042c8262 fixes QTBUG-88031 iOS: quickcontrols2/gallery fails to build in release mode (Failed to parse qmlimportscanner output)
  • [qtsvg]:
  • 0f219c8 fixes QTBUG-90744 [REG: 5.13 -> 5.14] QPixmap::load returns false for svg files if file encoding not utf-8 & format not specified
  • [qtdeclarative]:
  • 69d8760481 fixes QTBUG-92064 PinchHandler target scale jumps when pinching a second time via native gesture
  • 30c9ed29be fixes QTBUG-92099 TableView: content height doesn't change when adding new rows
  • a80ce81b5f fixes QTBUG-92026 qt6_qml_type_registration() generates CMP0116 warnings with CMake 3.20
  • 4a8942cc1f fixes QTBUG-72757 iOS: Text input cursor moving incorrect with using magnifying glass
  • 0a07a62612 fixes QTBUG-92447 [Reg 5.15 -> 6.0] qmllint: Property "length" not found on type "QString"
  • 06aca6a1d5 fixes QTBUG-92236 When the cache for a QML file is generated and then loaded it will cause a crash
  • af29de3efc fixes QTBUG-91749 Incorrect batching using overlapping QSGGeometry with lines having a width > 1
  • b659354694 fixes QTBUG-89892 crash when assigning null to anchors.horizontalCenter
  • 52c6fd1437 fixes QTBUG-89736 focusable item becomes impossible to focus after reparenting to a newly loaded item
  • 9d426d0f03 fixes QTBUG-91867 TextInput cursorDelegate position not updated after left padding change
  • 4e5f5caed0 fixes QTBUG-93048 Signal and Handler Event System demo Grammatical errors
  • bc5ae286c8 fixes QTBUG-86708 When using DelegateModelGroup to group items then when a created item which is set to not be included will trigger an assert
  • 52feae162b fixes QTBUG-91276 DelegateModel can crash with retranslate()
  • 50b679a03c fixes QTBUG-92447 [Reg 5.15 -> 6.0] qmllint: Property "length" not found on type "QString"
  • 3ba6fe4b62 fixes QTBUG-92861 QtQml does not provide version 6.2
  • [qttools]:
  • 26676dbf fixes QTBUG-92478 [QDoc] Links for obsolete methods point to the wrong page
  • [qtwayland]:
  • 44362069 fixes QTBUG-91206 Input hints not delivered to virtual keyboard with new text input protocol
  • 5d81abe0 fixes QTBUG-89680 Touch is ignored if up and down arrives in the same wl_touch.frame
  • 0609d6fb fixes QTBUG-92861 QtQml does not provide version 6.2
  • [qtquickcontrols2]:
  • e3753afbc fixes QTBUG-87236 NinePatchImage causes crash due to repeated presses.
  • 06eefa58c fixes QTBUG-92883 [qt6] duplicate symbols in mac style plugin
  • a29d29c02 fixes QTBUG-93039 Crash when scrolling ScrollView with zero-sized item
  • 7d1410711 fixes QTBUG-93172 Duplicate symbol qInitResources_qmake_immediate when building qtquickcontrols2 gallery example against static macOS Qt
  • 3b4f4a5d4 fixes QTBUG-88220 Add documentation pages for the new native styles
  • 3d5254938 fixes QTBUG-92861 QtQml does not provide version 6.2
  • dd6c6714f fixes QDS-4212 Changing Range Slider snap mode changes it's orientation
  • [qtquick3d]:
  • 7e74e2b8 fixes QTBUG-92861 QtQml does not provide version 6.2

New in Qt 6.0.3 (Apr 1, 2021)

  • API Design Principles/ja‎ diffhist +1‎ Mitayuki6 talk contribs <code></code>の閉じタグが逆になっているのを修正
  • Plugins‎ diffhist +17‎ Carl Schwan talk contribs Fix code example formatting
  • Language Bindings‎ diffhist +259‎ Alexander Kubrakov talk contribs →‎These are third party language bindings for Qt
  • Qt for Python Development Notes‎ diffhist +649‎ CristianMaureiraFredes talk contribs →‎2021

New in Qt 6.0.2 (Mar 4, 2021)

  • As a patch release, the Qt 6.0.2 does not add any new functionality but provides bug fixes and other improvements.

New in Qt 6.0.0 (Dec 9, 2020)

  • When developing Qt 6, we had an in-depth look at some of Qt's most central parts to identify how we could improve them. We discovered a couple of core focus areas that we invested considerable time in improving. Those areas include:
  • C++17:
  • With Qt 6 we now require a C++17 compatible compiler enabling the use more modern C++ language constructs when developing Qt and also allows for integration points on the API side.
  • Core libraries and APIs
  • Much work has gone into Qt Core, as it is the module that implements the most central parts of Qt. We've gone through many areas there and made improvements. To name some of the most central ones:
  • The new property and binding system: This system now brings the concept of bindings that made QML such a huge success in Qt 5 available from C++.
  • Strings and Unicode: With Qt 5, we started aligning Qt fully with Unicode, where we completed a lot of the work, but a few items remained that we now cleaned up for Qt 6. More details will come in a separate blog post later on.
  • QList has been a class that was often criticized in Qt 5, as it was heap allocating objects stored in there that were larger than a pointer, leading to pressure on heap allocation methods. In Qt 6, we changed this and unified QList and QVector into one class. See our blog post about QList in Qt 6 for details.
  • QMetaType and QVariant are fundamental to how our Qt’s meta-object system works. Signals and slots would not be possible without QMetaType and QVariant is required for dynamic invocations. Those two classes got an almost complete rewrite with Qt 6, and you can read about the details here.
  • Other parts of Qt that are not related to graphics have also seen large changes. For example, Qt Concurrent has undergone an almost complete rewrite and now makes development of multi-threaded applications more effortless than ever. Qt Network has seen lots of clean-up and improvements.
  • New graphics architecture:
  • The graphics architecture of Qt 5 was very much dependent on OpenGL as the underlying 3D graphics API. While this was the right approach in 2012 when we created Qt 5, the market around us has changed significantly over the last couple of years with the introduction of Metal and Vulkan. We now have a large set of different graphics APIs that are commonly being used on different platforms. For Qt as a cross-platform framework, this, of course, meant that we had to adjust to this and ensure our users can run Qt on all of them with maximum performance.
  • So while Qt 5 relied on OpenGL for hardware-accelerated graphics, the picture completely changes with Qt 6. All of our 3D graphics in Qt Quick is now built on top of a new abstraction layer for 3D graphics called RHI (Rendering Hardware Interface). RHI makes it possible for Qt to use the native 3D graphics API of the underlying OS/platform. So Qt Quick will now use Direct3D on Windows and Metal on macOS by default. For details, have a look at the blog post series about the RHI.
  • The OpenGL specific classes in Qt still exist, but are now moved out of QtGui in the QtOpenGL module. We also added a new module called QtShaderTools to deal with the different shading languages of those APIs in a cross-platform way.
  • Qt Quick 3D and Qt 3D:
  • Qt Quick 3D is a relatively new module. It seamlessly extends Qt Quick with 3D capabilities. With Qt Quick 3D, our focus was to create an API that is as easy to use as the existing parts of Qt Quick (for 2D user interfaces) while providing full support for creating complex 3D scenes. The main goal behind this effort has been to enable seamless integration between 2D and 3D content.
  • This module has seen significant improvements with Qt 6 that we wouldn’t have been able to do in the Qt 5 series. Most importantly it is now always using the RHI abstraction layer to make optimal use of the underlying graphics API and Hardware. Additionally, it now features a much deeper and more performant integration between 2D and 3D content, allowing you to place 2D items into a 3D scene. It also has vastly improved support for glTF2 and physics-based rendering, making it trivial to import assets created in other design tools. There are many other major improvements in the module, a more in-depth description can be found in a separate blog post.
  • Qt 3D is now also based on top of the RHI abstraction layer, has seen some performance improvements and cleanups. You can find more details in two blog posts by our partner KDAB (here and here).
  • Desktop styling for Qt Quick:
  • When we created the set of controls for Qt Quick, our focus was to make them lightweight and performant. For that reason, they did not support desktop styling in Qt 5. However, in Qt 6, we found a way to make them look & feel native on desktop operating systems. With 6.0, Qt Quick now supports native styling on both macOS and Windows. See this blog post for details. Native look & feel for Android and Linux already existed with the Material and Fusion styles in Qt 5. We are improving those for future Qt releases and are also planning to implement a native style for iOS.
  • Interfacing with platform specific functionality:
  • Even with Qt offering most functionality required to develop your application platform-independently, there is sometimes a need to interface with platform-specific functionality. In Qt 5, we provided a set of add-on modules (QtX11Extras, QtWinExtras, QtMacExtras) to help with this purpose. But this full separation from the rest of Qt has led to a couple of architectural issues, inconsistencies and code duplication within Qt. In Qt 6, we made an effort to clean this up and fold the functionality offered by those add-on modules into platform specific APIs offered directly in Qt. This will make interfacing with OS/platform-specific APIs much easier in Qt 6. Have a look here for more details.
  • Build system and Packaging:
  • We also made some considerable changes in how we build and distribute Qt. Worth mentioning is that Qt 6 itself is now built using CMake. This has also led to significant improvements for all our users that use CMake to build their projects. We will continue to support qmake for the lifetime of Qt 6, so there is no need to make any changes to your build system if you're using it, but we recommend to use CMake for all new projects.
  • Qt 6 also comes with a much smaller default package, and many of the add-ons are now distributed as separate packages through a package manager. This gives us more flexibility in adapting release schedules of add-ons to market requirements, allowing, for example, for more frequent feature releases as the core Qt packages or making them available for multiple Qt versions at the same time. In addition, we can use the package manager as a delivery channel for 3rd party content. And finally, it gives our users more flexibility as they can choose to download only what they really need.
  • Currently, we are using the existing Qt installer as the backend for the package manager, but are investigating alternatives for future releases. See the blog post here for more details.
  • Compatibility:
  • When making changes for Qt 6, we’ve tried to adjust our APIs to what we believe is required for the future while at the same time trying to break as little as possible for our existing users. While your code will need some adjustments to make the best possible use of Qt 6, we have tried to make porting to the new version as easy as possible.
  • One of the first things we did was to clean up our codebase. During the lifetime of Qt 5, we deprecated quite a few APIs and even entire modules. The first thing we did was to remove those to get to a leaner Qt for the future and allow us to leave some things behind that do not make sense anymore today.
  • However, we have taken care to mark as many of those APIs as possible as deprecated in Qt 5.15. Enabling deprecation warnings there and cleaning those up will bring you a long way towards making your codebase compatible with Qt 6.
  • Some of the most used APIs that have been removed in Qt 5 have been moved into a Qt5CoreCompat module. It contains a couple of widely used classes that have been removed from Qt 6, such as QRegExp, QTextCodec, the old SAX parser for XML, and a few other items. The intention of this module is meant as a porting help and will not receive bug fixes, apart from regressions against Qt 5 and security related problems. We recommend that you use it for porting but then incrementally remove your dependencies to the modules.
  • If you want to start porting to Qt 6, we have a much more detailed porting guide in our documentation.
  • Supported platforms:
  • Qt has always been a cross-platform, and that will continue in Qt 6. Qt 6.0 supports:
  • Windows 10
  • macOS 10.14 and newer
  • Linux (Ubuntu 20.04, CentOS 8.1, OpenSuSE 15.1)
  • iOS 13 or newer
  • Android (API level 23 or newer)
  • On the embedded side, we support a wide range of embedded devices running Linux. Qt 6 does not yet support any of the embedded real-time operating systems supported in Qt 5. Both QNX and INTEGRITY have recently added support for C++17, and we plan to add support for them by the time we release Qt 6.2.
  • Outlook:
  • Qt 6.0 does not yet support many of the add-on modules that can be found in Qt 5.15. This was intentionally decided to free up time to ensure that we could complete all the changes we needed to make for the Qt framework's essential modules.
  • We are now in the working on bringing most of those add-ons over to Qt 6. We have already done a lot of work, and we expect to have most add-ons supported again by the time we release Qt 6.2. Many add-ons already compile already against Qt 6, but they are not yet officially released as some cleanup work and refactoring remains to be done. We plan to have most of the important add-ons ported by the time we release Qt 6.2. Get a full overview of our add-on support in Qt 6.0 and beyond in the following blog post.
  • Apart from porting the missing add-ons over to Qt 6, a lot of our Qt 6 related work in the next coming months will focus on the stability of the new releases and taking the new property system into more wide-spread use within Qt itself.
  • We have adjusted our release timelines for Qt 6.1 and 6.2, and are planning to release Qt 6.1 already in April. After that, we plan to release our first long term supported version in the Qt 6 series, Qt 6.2 LTS, by the end of September.
  • And we are not yet done for this year, and you can also expect a brand new version of Qt Creator and Qt Design Studio to be released before Christmas! Both will come with full support for Qt 6.

New in Qt 5.15.1 (Sep 10, 2020)

  • Compared to Qt 5.15.0, the new Qt 5.15.1 contains more than 400 bug fixes.

New in Qt 5.15 Beta 1 (Feb 28, 2020)

  • New Features (within existing modules):
  • Qt 3D:
  • Improved profiling and troubleshooting support
  • QSortPolicy add Uniform mode to control whether uniform minification needs to be performed or not
  • QMouseDevice add updateAxesContinuously property
  • OpenGL Renderer is now isolated as a plugin
  • Qt Bluetooth:
  • Qt Core:
  • QFile::moveToTrash provides a cross platform API for moving files to the trash/recycling bin on Windows, macOS, and Linux desktop (implementing the freedesktop.org specification).
  • QFileInfo::isJunction reports whether a file system entry is a Windows NTFS junction
  • QRunnable's can now be created from std::function without having to subclass QRunnable.
  • QThreadPool::start and tryStart can now take std::function and thereby also anonymous lambda functions as arguments.
  • Added static template QDebug::toString function, which streams the given object into a QDebug instance that operates on a string, and then returns that string. This is useful for cases where you need the textual representation of an object for debugging, but cannot use operator<<, such as when passing a failure message to QVERIFY2.
  • Qt GUI:
  • QColorSpace are now natively supported as a QVariant type.
  • QColorSpace setters can now operate on invalid color spaces, making it possible to set primaries and transfer function independently.
  • Qt Location:
  • Qt Multimedia:
  • Deprecated QMediaService and QMediaControl. And all plugin API.
  • Introduced reverse playback for GStreamer.
  • Introduced rendering to multiple surfaces.
  • Introduced QVideoWidget::videoSurface(), QGraphicsVideoItem::videoSurface() and QDeclarativeVideoOutput::videoSurface().
  • Introduced videoOutput property for MediaPlayer QML element.
  • Introduced QVideoFrame::image().
  • Added using of notify::zoom and notify::max-zoom for GStreamer Camerabin.
  • Qt Network:
  • A new session ticket mechanism introduced by TLS 1.3 protocol is now supported by the OpenSSL backend.
  • Timeouts for downloads and uploads can be now set for QNetworkRequest and QNetworkAccessManager.
  • The minimum supported version of OpenSSL is 1.1.
  • Qt QML:
  • Introduced inline components (ability to declare multiple QML components in the same file)
  • Introduced required properties
  • Added a declarative way of registering types to QML
  • qmllint now has a better understanding of the code and warns about more deprecated QML features
  • Added qmlformat tool which automatically formats any QML file according to the QML Coding Conventions.
  • Added support for the Nullish Coalescing Operator (??).
  • Added colorspace property on image nodes, making it possible to read color space and transform images to specific color spaces.
  • Qt Quick:
  • Added a PathText type, which can be used together with Qt Quick Shapes to render text as geometry and not based on distance fields or pre-rendered textures. This can be useful for rendering large font sizes which would otherwise consume a lot of texture memory.
  • Added Image.sourceClipRect to specify a clipping region, to request the image plugin to render a portion of an image source.
  • Added cursorShape property to pointer handlers. Most pointer handlers (e.g. DragHandler) will change the cursor when the active state is true. HoverHandler will change it when the mouse is hovering over the Item that contains the HoverHandler.
  • Qt Quick Controls 2:
  • Added HorizontalHeaderView and VerticalHeaderView to display header data in a TableView. Support flicking synchronization, and default, fusion, imagine, material, and universal delegate styles.
  • Added selectTextByMouse property to ComboBox.
  • Qt SerialBus:
  • Qt Test:
  • Qt Wayland Compositor:
  • Qt WebEngine:
  • Will be updated to Chromium 80 or 81 (currently 79).
  • New API for reading subprocess id of page/view.
  • WebEngineHistory::clear method added.
  • Qt WebSockets:
  • Qt Widgets:
  • QDoc:
  • QDoc can now generate DocBook.
  • QDoc now generates output for C++ class and function template parameters.
  • QDoc now generates correct output for scoped enums (enum classes).
  • New Modules:
  • Qt Quick 3D
  • Post Processing Effects
  • Custom Geometry API (C++ Meshes)
  • Quaternions API for Node rotations
  • Right-Handed Coordinate System (previously Right or Left)
  • Improved Qt Quick 2D in 3D Scene support
  • Performance improvements
  • Spot Light Support
  • Qt Lottie
  • Bodymovin JSON renderer for After Effects animations
  • Performance and stability improvements added
  • Technology Preview Modules:
  • Qt for Automation:
  • Qt CoAP
  • Qt KNX
  • Qt MQTT
  • Qt OPC UA
  • Deprecated Modules:
  • To help preparing for the transition to Qt 6, numerous classes and member functions that will be removed from Qt 6.0 have been marked as deprecated in the Qt 5.15 release. Unless you define QT_NO_DEPRECATED_WARNINGS in your project, you will get compiler warnings for code that uses any deprecated APIs. Those warnings will explain which API to use instead. To disable any deprecated APIs completely, use the QT_DISABLE_DEPRECATED_BEFORE macro.
  • The following modules are part of Qt 5.15 release, but deprecated and considered for removal in subsequent releases of Qt:
  • Qt Script
  • Qt Quick Controls 1
  • Qt XML Patterns

New in Qt 5.14.0 (Dec 12, 2019)

  • New Features (within existing modules)
  • Qt 3D
  • Threading architecture overhaul (removal of aspect thread)
  • Frontend/Backend node sync overhaul
  • QTransform now has access to the world matrix
  • Introduction of Scene3DView
  • Scene3D is now in sync with QtQuick
  • Scene3D can now render as an underlay without FBO
  • Qt Bluetooth:
  • [QTBUG-40698] Optional win32 backend to support Windows 7 and 8. Backend is not built by default and not part of the prebuild packages though.
  • QLowEnergyController: Introduce AuthorizationError
  • [QTBUG-76615] Ability to have multiple manufacturer data per manufacturer ID
  • Qt Core:
  • QCalendar adds support for Calendars other than Gregorian, by implementation of suitable back-ends.
  • Back-ends to implement the Gregorian, Jalali (Persian), Islamic Civil, Milankovic, and Julian calendars. We look forward to other contributions.
  • [QTBUG-14150] Qt is now relocatable, i.e. it's possible to move the Qt installation without breaking functionality or loading of plugins.
  • Qt GUI:
  • QColorConstants provide constexpr QColor instances that don't cost any runtime overhead
  • Updated High-DPI support.
  • Applications can now opt-in to use non-integer scale factors, for example Windows at 150%. Use QGuiApplication::highDpiScaleFactorRoundingPolicy or QT_SCALE_FACTOR_ROUNDING_POLICY to set the rounding policy.
  • Added the QT_ENABLE_HIGHDPI_SCALING environment variable which enables high-dpi scaling based on display DPI. Replaces QT_AUTO_SCREEN_SCALE_FACTOR (now deprecated), and corresponds to the Qt::AA_EnableHighDpiScaling application attribute.
  • The QT_FONT_DPI environment variable is now supported cross-platform, for the purpose of developing and testing with specific DPI values.
  • Color-space support for images. Reading and writing color-spaces from JPEG, PNG, WebP and TIFF images, and performing color-space transformation on images.
  • QTextDocument/QTextTable now support per-edge border styling via QTextTableCellFormat border-collapse mode HTML table style import (partial) and export
  • QTextDocument supports reading and writing Markdown format, as an alternative to HTML. If you read HTML and write Markdown, or vice-versa, the formatting should be preserved to the extent that the CommonMark and GitHub specs allow (including headings, tables, bullet lists, block quotes and code blocks); but we don't guarantee all cases yet, because it's thinly tested so far.
  • Qt Location:
  • Qt Multimedia
  • Added QVideoFrame::Format_YUV422P.
  • Introduced support of GStreamer OpenGL plugin.
  • Qt Network:
  • HTTP/2 configuration API
  • Network connectivity monitoring
  • [QTBUG-1538] Support Kerberos Proxy Authentication
  • Qt QML:
  • Added qmlRegisterSingletonInstance function. This allows to expose a QObject as a singleton to QML, without having to create a factory function as required by qmlRegisterSingletonType. It is meant as a type safe replacement of setContextProperty in common usages.
  • Added qmlRegisterAnonymousType as a replacement for qmlRegisterType. It allows to specify the URI and major version, which enables better tooling support.
  • qmllint gained an experimental -U option. If run with it, it warns about accesses to unqualified identifiers
  • Qt Quick:
  • Added the first preview of the graphics API independent scenegraph renderer as an opt-in feature. This allows running qualifying Qt Quick applications on top of Vulkan, Metal, or Direct3D 11 instead of OpenGL. The supported platforms are currently Windows 10, Linux with X11 (xcb), macOS with MoltenVK, or Android 7.0+ for Vulkan, macOS for Metal, Windows 10 for D3D.
  • Text and TextEdit now support Markdown format (CommonMark and GitHub dialects) as an alternative to HTML.
  • Includes the GitHub checklist extension, such that you can click to toggle checkboxes in a TextEdit.
  • TextEdit uses an I-beam cursor by default, and a pointing-hand cursor when hovering a checkbox or a link. You can still override the default cursor, though.
  • Added WheelHandler, an Event Handler for the mouse wheel, and optionally for emulated mouse wheel events coming from a trackpad.
  • Added BoundaryRule in Qt.labs.animation: a PropertyValueInterceptor that restricts the range of values a numeric property can have, applies "resistance" when the value is overshooting, and provides the ability to animate it back within range. It's particularly useful in combination with WheelHandler, to provide similar physics as Flickable has.
  • Event Handler base classes such as QQuickSinglePointHandler and QQuickMultiPointHandler have private implementation, while the classes themselves are suitable for subclassing, and are exported. They do not have supported public C++ API yet, but we encourage you to experiment with subclassing them anyway using the private API. They are intended to become public at some point in Qt 6 (and we can continue to iterate the API until then, especially to keep up with upcoming changes to the QEvent classes in Qt 6).
  • Image and BorderImage now have the same currentFrame and frameCount properties that AnimatedImage has; this allows choosing an individual icon from an .ICO file that contains multiple icons, for example. In the future it's intended to support other multi-page formats such as PDF, TIFF and WEBP.
  • Added PathPolyline and PathMultiline as additional ways of drawing and/or filling arbitrary polygons and sets of polygons with Qt Quick Shapes.
  • Qt Quick Controls 2:
  • Qt SerialBus
  • [QTBUG-72979] Added operators to compare QCanBusDevice::Filter for equality or inequality.
  • [QTBUG-70449] Added the QCanBusDevice::OperationError and QCanBusDevice::TimeoutError codes to signal wrong operation respectively timeout errors.
  • [QTBUG-70766] Added the function QCanBusDevice::busStatus() to query the CAN bus status from the CAN bus device.
  • [QTBUG-54943] Added the function QCanBusDevice::resetController() to reset a CAN controller from bus off state.
  • [QTBUG-75204] SocketCAN: Added the configuration parameter QCanBusDevice::ProtocolKey to use another protocol inside the protocol family PF_CAN.
  • [QTBUG-54296] SocketCAN: If libsocketcan is available, the CAN bus bitrate can be get and set at runtime.
  • PeakCAN: Added support for PCAN-USB devices on macOS by using the MacCAN library.
  • [QTBUG-75405][QTBUG-76232] Expose the underling QIODevice used for Modbus communication, e.g. for setting the serial port hardware flow control (RTS/CTS).
  • Qt Test:
  • initMain() method to perform any initialization that needs to happen before QApplication exists.
  • Qt Wayland Compositor
  • Qt WebEngine:
  • Updated to be based on Chromium 77
  • [QTBUG-74166] New API for control of QWebEnginePage life-cycle
  • [QTBUG-56978] Methods and properties for download item to get suggested name, and change the download directory and file name
  • QTBUG-50420] New findTextFinished signal and corresponding QWebEngineFindTextResult and FindTextResult types to get extra information about the result of a text search
  • [QTBUG-55110][QTBUG-51176] Added methods to QWebEngineCertificateError to asynchronously handle an error, and get a chain of digital certificates
  • Qt WebSockets:
  • Qt Widgets
  • QTextEdit and QTextBrowser now support Markdown format (CommonMark and GitHub dialects) as an alternative to HTML.
  • Includes the GitHub checklist extension, such that you can click to toggle checkboxes if the widget is editable.
  • QTextBrowser::setSource() detects Markdown based on the file extension.
  • Platform Changes:
  • Android
  • Android needs NDKr20+
  • Added multi ABI build in one go. By default it will build for all android supported abis (arm64-v8a, armeabi-v7a, x86_64, x86). The user can control which ABIs he wants to use via ANDROID_ABIS qmake variable.
  • Added support for the new AAB package format, which allows deploying a single application bundle to Google Play which contains binaries for all supported ABIs.
  • iOS
  • Wayland
  • New Modules:
  • Qt Quick Timeline
  • Technology Preview Modules
  • Added tech preview for Qt Quick 3D, a high-level API for creating 3D content for user interfaces from Qt Quick.
  • Qt for Automation:
  • Qt KNX
  • Extended support for KNXnet/IP Core V2 (discovery, tunneling, routing, security)
  • Qt Mqtt
  • Added support for using QSslConfiguration when connecting encrypted
  • Added autoKeepAlive property to enable manual connectivity checks
  • Qt OPC UA
  • Added tech preview for GDS client support
  • Updated 3rdparty open62541 to version 1.0
  • Qt CoAP
  • The module leaves the Tech Preview status behind and an API commitment is given.
  • Deprecated Modules:
  • The following modules are part of Qt 5.14 release, but deprecated and considered for removal in subsequent releases of Qt:
  • Removed Modules:
  • The following modules have been deprecated earlier and no longer part of the Qt 5.14 release:

New in Qt 5.13.0 (Jun 19, 2019)

  • New Features (within existing modules):
  • Qt Core:
  • Clang: New configure switch -coverage which is useful for fuzzing
  • Qt GUI:
  • Add QImage::convertTo new API (convert a image in place)
  • QPainterPath: support clear, reserve and capacity methods with same semantics than QVector::clear() (allocations are preserved)
  • Qt Network:
  • Windows: Secure Channel support for SSL socket (QTBUG-62637)
  • OCSP stapling support (QTBUG-12812, QTBUG-17158)
  • Qt QML:
  • Improved support for enums declared in C++.
  • JavaScript "null" as binding value is now optimized at compile time (QTBUG-72098).
  • QML now generates function tables on 64bit windows, making it possible to unwind the stack through JITed functions (QTBUG-50061).
  • Qt Quick:
  • Added support to TableView for hiding rows and columns
  • Qt Quick Controls 2:
  • Added SplitView.
  • Added cache property to icon.
  • Qt Bluetooth:
  • Removed need for pairing on Windows to discover and connect
  • Qt 3D:
  • Added support for importing and exporting OpenGL texture handles
  • Added framegraph nodes for fence objects
  • Added priority based picking
  • Initial glTF 2.0 scene import support added
  • Qt Wayland Compositor:
  • New client buffer integration for linux-dmabuf-unstable-v1 support. Qt clients already had support through the wayland-egl integration.
  • Support for the wp_viewporter protocol.
  • Qt WebEngine:
  • Based on Chromium 73
  • Application-local client certificate store
  • Client certificate support from QML
  • PDF viewing via internal Chromium extension
  • Web Notifications API
  • Thread-safe and page specific url request interceptors.
  • Qt WebSockets:
  • Qt Location:
  • Added support for GeoPolygons with holes, reflected in MapPolygons and MapPolygonObjects
  • Introduced interoperability with GeoJson with import/export functionality
  • Qt Test:
  • Qt Multimedia:
  • Gapless playback in QML VideoOutput using flushMode property
  • Added support of GStreamer for Windows/macOS
  • Added HTTP headers and audio roles for Android
  • Added QT_MULTIMEDIA_PREFERRED_PLUGINS to specify preferred plugins
  • Allowed to build WMF together with DirectShow or disabled by config option -no-wmf or -no-directshow
  • Introduced QT_PA_CHANNEL_MAP for QAudioOutput and PulseAudio
  • Video/Audio probes in DirectShow
  • QMediaResource class is now deprecated
  • Platform Changes
  • Android:
  • Android 5.0 (API level 21) is now the minimum supported version.
  • Added support for content: URLs to QFile.
  • Added native file dialog support.
  • Wayland
  • New shell integration for fullscreen-shell-unstable-v1.
  • Technology Preview Modules
  • Qt Lottie (TP):
  • New Platforms
  • Qt for WebAssembly:
  • Qt for Automation:
  • Qt KNX:
  • Secure client API added
  • Qt OPC UA:
  • C++ API out of TP
  • Added QML API (TP)
  • Added secure client C++ API (TP)
  • UaCpp and Open62542 backend are feature equal
  • Qt CoAP (TP):
  • DTLS support merged
  • Deprecated Modules
  • The following modules are part of Qt 5.13 release, but deprecated and considered for removal in subsequent releases of Qt:
  • Qt Script
  • Qt Quick Controls 1
  • Qt XmlPatterns
  • Removed Modules:
  • The following modules have been deprecated earlier and no longer part of the Qt 5.13 release:
  • Qt Canvas 3D

New in Qt 5.12.0 (Dec 5, 2018)

  • New Features (within existing modules):
  • Qt Core:
  • Support for CBOR data similar to existing JSON support.
  • Added the static "hashLength" method to QCryptographicHash, which returns the length of a hash's output.
  • Added wildcardToRegularExpression helper method to QRegularExpression for easier wildcard implementation in user code.
  • Added anchoredPattern helper method to QRegularExpression for easier exact matching implementation in user code.
  • Added QRegularExpression support to QSortFilterProxyModel
  • Qt GUI
  • Added support to Windows UI Automation to the WinRT QPA, allowing Qt-based UWP applications to operate with accessibility and programmatic UI control tools.
  • Replaced the handling of tablet/touchscreen/touchpad/mouse input with a unified implementation based on the Windows Pointer Input Messages on Windows 8 and newer. Hardware like the screen digitizer in the MS Surface line is now supported without special drivers.
  • Added presets for QGradient based on https://webgradients.com/
  • Added 4xU16 RGBA64 formats to QImage, reading them from PNG and TIFF, and uploading or grabbing them from OpenGL.
  • Qt Network
  • Added DTLS (Datagram Transport Layer Security) over UDP support.
  • Added renegotiation to Security Transport back-end.
  • Added ALPN support and HTTP/2 protocol negotiation to Security Transport back-end.
  • Added PKCS#8 support in the generic ssl backend (WinRT and Secure Transport).
  • Added QPasswordDigestor: a new namespace which contains password-based key derivation functions (currently PBKDF1 and PBKDF2).
  • Qt QML
  • The JavaScript engine now supports ECMAScript 7
  • ECMAScript modules can be loaded directly with QJSEngine::importModule() and imported in .qml files when using the .mjs file extension.
  • Qt Quick
  • Pointer Handlers are renamed to Input Handlers (we include the pre-existing Keys attached property in this category) and are now fully supported as a first-class QML feature in Qt Quick. (C++ API for them is still not public yet.)
  • HoverHandler is a new type of handler for detecting mouse hover. It can detect hover even in cases of deep nesting: unlike MouseArea, you can hover multiple nested Items with HoverHandlers in them at the same time. (For example, a sidebar and an individual button on the sidebar)
  • DragHandler is now a multi-point handler: if you set minimumPointCount to 2, it will react only to a 2-finger drag, for example. This can give you another degree of freedom: single-finger drag can perform the typical item movement, and 2-finger drag can do something else (change the tilt angle, for example).
  • Added support for pregenerated distance field caches for faster startup times .
  • Added TableView as another type of Item View: on par with ListView but having multiple columns. Unlike the one in QtQuick Controls 1.x, it does not do any styling; rather it provides the optimal solution for instantiating (and pooling and reusing) delegates on-demand as you scroll through the rows and columns.
  • Tech Preview: Added DelegateChooser as a means of choosing different delegates in Item Views (such as TableView) depending on role values from the model, or depending on the index.
  • Qt Quick Controls 2
  • Dial: added inputMode property, which adds two new ways of interacting with it: horizontally and vertically. These new input modes use a relative input system, which means that, unlike the old absolute input system, changes to the dial's position are "added" to its value. This results in a dial that is less "jumpy", making it safe for operations that could be harmful if done incorrectly, like adjusting audio levels.
  • Control, Popup: added topInset, bottomInset, leftInset, and rightInset properties to control the geometry of the background similarly to how paddings control the geometry of the contentItem.
  • Added implicit*Width and implicit*Height properties (e.g. implicitHeaderWidth, implicitContentWidth, etc.) to simplify complex implicit size bindings.
  • SwipeView, DialogButtonBox: added contentWidth and contentHeight properties.
  • RangeSlider: added valueAt() function, which allows seeing up-to-date values in tooltips for each handle when live is set to false (copied from Slider).
  • RangeSlider: added first.moved() and second.moved() signals, similar to Slider's moved() signal.
  • Control: unless explicitly specified, baselineOffset is now automatically updated based on the top padding of the control and the baselineOffset of the contentItem. Styles no longer need to specify the baselineOffset in QML.
  • Popup: added anchors.centerIn to allow a convenient way of centering a popup.
  • QQuickStyle: added stylePathList() and addStylePath() methods for managing the list of directories where Qt Quick Controls 2 searches for available styles.
  • Slider, RangeSlider: added touchDragThreshold property for configuring the threshold to initiate the touch 'drag' of the handle of the slider. The mouse 'drag' won't be affected by the property.
  • TextArea, TextField: added placeholderTextColor property for user convenience to customize the placeholderText color to fit the backgrounds.
  • Material: added a Dense variant of the Material style for use on desktop platforms. Some controls are slightly smaller in height and use smaller font sizes. The variant can be enabled by setting QT_QUICK_CONTROLS_MATERIAL_VARIANT to Dense or setting Variant=Dense in the qtquickcontrols2.conf file.
  • DialogButtonBox: added buttonLayout property that can be used to arrange the buttons.
  • Tumbler: added positionViewAtIndex() function that calls the respective PathView/ListView function, depending on the value of wrap. This allows changing currentIndex without animations.
  • Control, Popup: added horizontalPadding and verticalPadding properties as a convenient way to set both left and right, or top and bottom paddings in one go.
  • ToolTip: added non-attached show() and hide() methods to give the same level of convenience for showing non-attached tooltips with certain parameters.
  • Qt Serial Bus
  • Added a virtual CAN bus plugin for simulation without CAN hardware
  • Added configuration options to canbusutil, e.g. for bitrate setting
  • Added CAN FD functionality to the PeakCAN plugin
  • Added the readAllFrames() and clear() functions to QCanBusDevice
  • Qt WebEngine
  • Updated to Chromium 69
  • QWebEngineUrlScheme interface to configure type and security of custom URL schemes.
  • WebActions now exposed in QML.
  • The view or page where a download was triggered can now be read from download items.
  • Client SSL certificates are now supported, read from system settings on macOS and Windows and NSS database on Linux.
  • Qt Labs Platform
  • Menu, MenuItem, SystemTrayIcon: deprecated iconName and iconSource in favor of icon.name and icon.source grouped properties.
  • Menu, MenuItem, SystemTrayIcon: added icon.mask grouped property.
  • Qt Virtual Keyboard
  • Introduced an extension interface for the virtual keyboard. All the current input methods and some special keyboard layouts (e.g. Hunspell, OpenWnn, etc.) have been moved to extensions. The extension interface allows third parties to create a new input method without having to modify or rebuild the virtual keyboard. In addition, this change makes it possible to add features and languages independently by copying the desired extension to the system.
  • Introduced a virtualkeyboard module, which can be linked against an extension plugin. This module provides the C++ API necessary for creating an input method.
  • Added build time option to exclude all styles from the plugin.
  • Added support for MyScript Superimposed handwriting recognition. MyScript supports the recognition of isolated character, cursive, print and superimposed writing. In addition, it enables the recognition of letters, words or parts of words written one over the other, without any explicit separation between consecutive fragments. It targets small devices with sufficient hardware capabilities in terms of CPU power and memory.
  • Added Vietnamese handwriting recognition (T9 Write).
  • Added new layouts: Albanian, American English, French Canadian, Indonesian, Malay, Portugese Brazil, Slovak, Slovenian, Spanish Mexican, Thai, Turkish, Vietnamese and Ukrainian.
  • Added latin extra layout for Russian.
  • The pinyin and tcime dictionaries are now bundled in the plugin by default.
  • Added user dictionary and learning for Hunspell.
  • Qt Bluetooth
  • Added ability to discover manufacturer data via QBluetoothDeviceDiscovery
  • Qt 3D
  • Specify an animation to load within a file containing many by name or index.
  • Enable constant (stepped) animation curves.
  • Fixes for creation and re-parenting of QNodes in some circumstances.
  • Frontend texture objects now properly reflect loaded texture properties.
  • TextureImage does not have to be a child of a texture any longer.
  • Reduce CPU usage when not in the simulation loop.
  • EntityLoader is now able to load from a Component as well as from a file.
  • Renderer support for OpenGL ES 3.1.
  • Performance and bug fixes in the renderer back end.
  • Qt Wayland Compositor
  • Added support for xdg-shell stable (and deprecated unstable v5).
  • Added support for xdg-decoration-unstable-v1 for server-side window decorations.
  • Qt Websockets
  • QWebsocket gained the "bytesToWrite" function.
  • Qt Location
  • Updated MapboxGL plugin, with support for QNX7.
  • Exposed add/remove transitions in MapItemView.
  • MapItemView now subclasses MapItemGroup, and becomes nestable into itself. Also usable as a delegate of itself.
  • PlaceSearchModel now allows to incrementally populate the model, as opposed to only switching pages.
  • Introduced Map.visibleArea, to restrict the visible area of the map.
  • MapItem's geoShape property is now R/W, and has a virtual setter in the base class.
  • Added support for inner holes in QGeoPolygon. These are currently honored, by MapPolygon, only with the MapboxGL plugin. Support in the built-in renderer will follow.
  • Added support for Route legs.
  • Qt Test
  • std::tuple errors have now a clear diagnostic when using QCOMPARE.
  • New Modules:
  • Qt Remote Objects fully supported
  • Qt WebGL Streaming Plugin fully supported (Stream applications to browsers over the network)
  • Platform Changes:
  • QTimeZone
  • Now uses ICU, when available, in preference to Microsoft's native APIs
  • macOS
  • Added support for QSurfaceType::MetalSurface.
  • Added support for QSurfaceType::VulkanSurface and QVulkanWindow via use of MoltenVK.
  • Wayland
  • Added support for xdg-shell stable (and deprecated unstable v5).
  • Made the default window decorations look nicer.
  • Added support for the Wayland extensions: xdg-decoration-unstable-v1, xdg-output-unstable-v1.
  • Technology Preview Platform:
  • Qt for WebAssembly (TP2) - A platform target that enables compiling Qt applications for the web browsers using WebAssembly.
  • Qt for Automation:
  • Qt MQTT
  • Full support for MQTT protocol level 5
  • Qt KNX
  • Support for KNXnet/IP Core Version 2
  • Support for KNXnet/IP Routing Version 1
  • Support for KNXnet/IP Tunneling Version 2
  • Support for KNXnet/IP communication via TCP
  • Tech Preview: Basic support for KNXnet/IP Secure Protocol
  • Qt OPC UA (TP)
  • Support for Events
  • Addition of a batch read API
  • Addition of a batch write API
  • Addition of a TranslateBrowsePathsToNodeIds API
  • Improved browse API
  • Support for the Argument and ExpandedNodeId types
  • Nodes can now be instantiated from an ExpandedNodeId
  • Support for multi-dimensional arrays has been fixed
  • Support reading and writing of extension objects
  • Deprecated Modules:
  • The following modules are part of Qt 5.12 release, but deprecated and considered for removal in subsequent releases of Qt:
  • Qt Script
  • Qt Quick Controls 1
  • Qt Canvas 3D

New in Qt 5.11.0 (May 22, 2018)

  • NEW FEATURES:
  • Qt Core:
  • [QTBUG-52244] QIODevice::NewOnly and QIODevice::ExistingOnly OpenMode flags, which, when used with QFile, instruct open() to return false when the given file does (NewOnly) or does not (ExistingOnly) exist at the time of the call to open (atomically).
  • QFloat16 now has two methods for bulk conversion between float16 and float, using hardware SIMD acceleration if available at runtime.
  • QVarLengthArray now has rvalue reference versions of prepend and insert, and can hold movable-only datatypes such as std::unique_ptr.
  • QVector now has rvalue reference versions of prepend and insert.
  • QUuid toString() and toByteArray() can now take a parameter specifying the generated format.
  • Updated our Unicode support in QString, QChar and QTextBoundaryFinder to be compatible with Unicode 10.
  • Added QAbstractItemModel::checkIndex() to help testing the validity of model indices by concrete model classes.
  • Qt Network:
  • ALPN (via Secure Transport) and thus HTTP/2 negotiation are now supported on iOS (starting from version 11)
  • QNetworkRequest now has the Http2DirectAttribute to start a connection in HTTP/2 without first negotiating.
  • Qt QML:
  • Rewritten the compiler pipeline. We now directly generate byte code from the AST, and store that as our intermediate representation
  • Optimized handling of JS calls, bringing large improvements especially when calling small functions
  • Newly written byte code interpreter with a vastly improved performance (at 80-90% of the JIT in Qt 5.10)
  • .qmlc files are now fully platform independent and store byte code instead of assembly
  • New hotspot JIT that generated optimised assembly for byte code that gets repeatedly executed
  • CONFIG += qmlcompiler now also works in the open source version, by embedding the generated byte code at compile time
  • Qt Quick:
  • Expanded support for loading compressed textures in Image element. Now supports both .ktx and .pkm container file formats.
  • Qt Quick Controls 2:
  • AbstractButton:
  • Added autoRepeatDelay and autoRepeatInterval properties.
  • Promoted the autoRepeat property from Button to AbstractButton.
  • [QTBUG-62811] Added pressX and pressY properties to expose the press point to QML.
  • ButtonGroup:
  • [QTBUG-56295][QTBUG-63782] Added a checkState property. It indicates the combined check state of the entire group.
  • CheckBox and CheckDelegate:
  • [QTBUG-56295] No longer force tristate to true when setting checkState to Qt.PartiallyChecked. This allows presenting a partially checked state without being interactively tri-state.
  • [QTBUG-56295] No longer consider partially checked as checked. This fixes check state cycling for a non-tri-state checkbox so that it goes from partially checked to fully checked state.
  • [QTBUG-63238] Made it possible to implement nextCheckState() in QML.
  • ScrollBar and ScrollIndicator:
  • [QTBUG-56557] Added minimumSize, visualSize, and visualPosition properties.
  • SpinBox
  • Added a displayText property to allow styles to create a light binding to display the textual value instead of having to call the textFromValue() JS-function.
  • Qt 3D:
  • Improved performance with reduced CPU usage
  • Scrub through animations with the normalizedTime property of QAbstractClipAnimator.
  • Issue arbitrary ray casts in world space or screen space.
  • Improved SIMD support
  • Qt Location:
  • Experimental turn-by-turn navigation API
  • Experimental QQuickItem-less map object support
  • Routing and Places API now extensible, and capable of returning service-specific information
  • New Waypoint element to specify additional waypoint information in route queries, such as angle of approach.
  • MapItemView now QQmlDelegateModel-based, fixing QTBUG-62086 and QTBUG-65833
  • Greatly improved MapPolyline performance
  • Layers now properly working in combination with Map Items, allowing anti-aliasing and artifact-less transparency
  • Geocoding and Places support added to the Mapbox plugin
  • Qt WebEngine:
  • Updated to Chromium 65.
  • Embedded DevTools without using a port and separate browser.
  • Installable cookie filter.
  • Quota permissions.
  • qdoc:
  • qdoc now uses libclang for parsing C/C++ code.
  • Qt Designer:
  • Added support for ID-based translations ( QTBUG-34610 )
  • Qt GUI:
  • On Windows Desktop, the accessibility support was updated and vastly improved. The implementation is now based on Microsoft UI Automation (it was formerly based on Microsoft Active Accessibility).
  • The widgets themes available on Windows Desktop were updated to better support High-DPI displays, including fixes for several rendering issues, providing improved appearance and functionality.
  • Linux Printing now supports more CUPS options with the advanced tab in QPrintPropertiesDialog (QTBUG-54464) allowing many additional settings (amongst them arbitrary page ranges QTBUG-1311).
  • Updated the Unicode bidirectional text algorithm to be compliant with Unicode 10.
  • Qt Widgets:
  • Added quick text selection by mouse to QLineEdit.
  • Qt Serial Bus:
  • Added J2534 Pass-Thru CAN plugin for communication between a computer and a vehicle
  • Added description, serial number and channel to QCanBusDeviceInfo, as far as supported by the various plugins.
  • Introduced categorized logging to the CAN bus module which can be enabled by the "qt.canbus" and "qt.canbus.plugins.<pluginname>" filters.
  • QCanBusFrame::isValid() now checks for invalid CAN FD payload lengths. E.g. 24 is a valid CAN FD payload length, but 28 is not.
  • Qt Bluetooth:
  • Ported Bluetooth Low Energy Central role implementation to BlueZ's DBus LE API (minimum version to enable is BlueZ 5.42)
  • Qt Test:
  • Added QAbstractItemModelTester to help testing model classes.
  • NEW MODULES:
  • No new modules added
  • PLATFORM CHANGES:
  • Jira tracking for 5.11 changes
  • MSVC2013 support removed from the code base
  • QNX 6.6 no longer supported (note: QNX 7 remains fully supported)
  • Improved Accessibility support on Win32 by adopting the Windows UI Automation framework
  • XCB:
  • Support for missing 'dead keys' such as dasia and diaeresis.
  • eglfs
  • Added support for framebuffer formats other than XRGB8888 (RGB565, ARGB8888).
  • Added experimental screen cloning support (by scanning out the same framebuffer on multiple crtcs)
  • Added support for operating with DRM render nodes (/dev/dri/renderDnn) in a headless mode transparent to applications
  • Added a makespec for Renesas R-Car M3
  • Added experimental backend for compositing Qt content with other hardware layers via VSP2 on Renesas devices
  • TECHNOLOGY PREVIEW MODULES:
  • Qt Remote Objects (TP3) - A module that allows you to easily share QObject interfaces (Signals/Slots/Properties) between processes or devices.
  • Qt WebGL Streaming Plugin (TP2) - Stream applications to browsers over the network
  • DEPRECATED MODULES:
  • The following modules are part of Qt 5.11 release, but deprecated and considered for removal in subsequent releases of Qt:
  • Qt Script
  • Qt Quick Controls 1

New in Qt 5.10.1 (Feb 13, 2018)

  • Qt Core:
  • Added rudimentary implementation of QStringView. It is missing some (important) const-QString functions, but is fully functional as an interface type. To be completed for Qt 5.11.
  • Added many more functions to QLatin1String, too, co-evolving QLatin1String as the const char*-Latin-1-version of QStringView.
  • Added QIODevice::skip() to improve performance in read operations.
  • Explicitly little and big-endian integer types exposed (for instance qint16_le, quint32_be) for machine-independent data-type parsing.
  • Added QRandomGenerator providing a simple API for high-quality (optionally seed-less) random numbers.
  • Added accessors for metadata time fields of files to QFileInfo.
  • Added QSemaphoreReleaser a RAII-style class for QSemaphore.
  • Added QKeyValueIterator for more efficient iteration over keys of an associative container
  • Qt GUI:
  • Added cross-platform Vulkan enablers for Windows, Linux (xcb) and Android (level 23+): QVulkanInstance, QWindow with type VulkanSurface, and QVulkanWindow
  • Added new flags and functions to QSurfaceFormat and QOpenGLWidget to request sRGB-capable default/backing framebuffers
  • The OpenGL ES 3.2 API is now exposed in a cross-platform manner via QOpenGLExtraFunctions.
  • QImages can now use more than 2GByte of pixel data.
  • Added QFont::PreferNoShaping style strategy.
  • Qt Widgets:
  • QWidget::createWindowContainer() is now functional on Android
  • QOpenGLWidget is now usable for rendering and reading back (grabbing) offscreen content.
  • Added AA_DisableWindowContextHelpButton attribute that prevents the automatic" What's this" button on dialogs on Windows
  • Added tabStopDistance property in QTextOption, QTextEdit and QPlainTextEdit
  • Added selectionEnd(), selectionLength() to QLineEdit, complementing selectionStart()
  • Added setDoubleStep to QInputDialog, to enable changing of the step amount for getDouble()
  • Added isPersistentEditorOpen() to QAbstractItemView, QTreeWidget, QTableWidget and QListWidget
  • Added new style hint: SH_TitleBar_ShowToolTipsOnButtons
  • Added support for specifying custom internal texture formats in QOpenGLWidget
  • QDockWidget acquired the ability to be dropped together side by side
  • Qt Network:
  • OpenSSL 1.1 back-end.
  • Persistent store of HSTS policies in QNAM (QSettings-based).
  • Implemented the h2c procotol upgrade used by non-SSL HTTP/2.
  • Qt QML:
  • Added support for enum declarations in QML.
  • Added support for retranslation.
  • Qt Quick:
  • Added a shapes plugin, providing a Shape type under QtQuick.Shapes 1.0. This allows adding stroked and filled paths into Qt Quick scenes. Such shapes are rendered either by generating geometry or by using the GL_NV_path_rendering extension.
  • Added the Qt.labs.handlers plugin, providing TapHandler, PinchHandler and DragHandler. These are the beginnings of the Pointer Handlers which we have been talking about for some time: lightweight objects for handling events from the mouse or the touchscreen in a device-agnostic way.
  • QQuickItem layers can now request to be backed by multisample framebuffers via the property layer.samples
  • Added font.kerning and font.preferShaping properties for advanced control over the font shaping subsystem.
  • Added advance property to Text to retrieve the typographical advance width.
  • Added Image element support for direct loading of ETC1 and ETC2 compressed textures from .pkm files. (on platforms where ETC1/2 are supported)
  • Qt Quick Controls 2
  • Introduced new QML types: Action, ActionGroup, MenuBar
  • Introduced new styles:
  • the Fusion style offers a platform agnostic desktop-oriented look'n'feel
  • the Imagine style is based on image assets that can be provided using a predefined naming convention
  • Added support for:
  • actions and icons in buttons, delegates, and menus
  • non-exclusive button groups
  • nested menus, and cascading sub-menus
  • wrapping spinboxes
  • propagating palettes (only Default, Fusion & Imagine styles for now, others coming later)
  • specifying the default font and palette in qtquickcontrols2.conf
  • mnemonics in buttons, menus and menubars
  • Added new members:
  • TabBar::index, tabBar, and position attached properties:
  • Dialog::applied(), reset(), discarded(), and helpRequested() signals
  • Dialog::standardButton() method
  • StackView::empty property
  • Menu::popup() and dismiss() methods
  • Menu::actionAt(), addAction(), insertAction(), removeAction(), and takeAction() methods
  • Menu::menuAt(), addMenu(), insertMenu(), removeMenu(), and takeMenu() methods
  • Menu::count and currentIndex properties
  • MenuItem::menu property
  • Container::removeItem(Item) and takeItem(int) methods (TabBar and SwipeView)
  • Popup::enabled, mirrored, and opened properties
  • "horizontal" and "vertical" properties to all controls that had an "orientation" property: RangeSlider, Slider, ScrollBar, ScrollIndicator, SwipeView
  • Other improvements:
  • Added support for specifying a transition for StackView::clear()
  • Made ApplicationWindow::activeFocusControl work with a plain Window
  • Made background dimming for popups work without ApplicationWindow
  • Made Material style DialogButtonBox use the Android button layout
  • Made Default style Slider and RangeSlider visually indicate the progress/range
  • Qt 3D:
  • Tech Preview of Skeletal Animation system
  • Animation clocks: Control playback speed of one or more animators from a clock
  • Framebuffer blit frame graph node
  • Proximity filter frame graph node
  • Improved layer filtering frame graph node
  • Shader graphs: dynamically generate fragment shaders from graph based description
  • Sprite sheet support
  • Point and line picking support
  • Camera viewAll command
  • Optional SIMD support
  • Scene2D: Embed Qt Quick content into Qt 3D and interact with it
  • Qt Graphical Effects:
  • The effects are now functional also in core profile OpenGL contexts.
  • Qt WebEngine:
  • Updated to Chromium 61.
  • Pause/resume added to download items.
  • Added settings for allowing window activation from JavaScript.
  • Added settings for hiding scrollbars.
  • More WebActions that used to be in QWebPage added to QWebEnginePage.
  • New method QWebEnginePage::download for starting downloads programmatically.
  • Qt Serial Bus:
  • Added local echo flag to QCanBusFrame to mark frames that are sent from the local system to the CAN bus.
  • Qt Connectivity:
  • The UWP bluetooth and BLE backends can now be used on desktop Windows (>= 10) too.
  • Qt Virtual Keyboard:
  • Added the following keyboard layouts: Hebrew, Serbian, Hungarian, Czech, Croatian, Bulgarian, Greek, Estonian, and Dutch.
  • Added handwriting support for Farsi, Arabic, and CJK (Chinese/Japanese/Korean).
  • Added new component (InputModeKey) for input mode switch.
  • OpenWNN:
  • Fixed crash when pressing the space after entering a smiley.
  • Fixed and optimized OpenWNN engine
  • Qt X11 Extras:
  • Added new peekEventQueue() API to peek into the XCB event queue. This enables porting certain Qt4-based applications to Qt5 (those using Xlib's event handling functions to peek into the X11 event queue).
  • Emulator:
  • Support multiple screens
  • Plugin support
  • Device mockups are QML based
  • Device Creation / Boot2Qt:
  • Device images updated to Yocto 2.3 (pyro)
  • New Modules:
  • Qt Network Auth - Provides support for OAuth1 & OAuth2
  • Qt Speech - Supports text-to-speech
  • Platform Changes:
  • Jira tracking for 5.10 changes:
  • Technology Preview Modules:
  • Qt Remote Objects (TP2) - A module that allows you to easily share QObject interfaces (Signals/Slots/Properties) between processes or devices.
  • Qt WebGL Streaming Plugin - Stream applications to browsers over the network
  • Deprecated Modules:
  • Qt Script

New in Qt 5.9.4 (Jan 23, 2018)

  • As a patch release Qt 5.9.4 does not add any new functionality, but provides many bug fixes and other improvements.
  • Compared to Qt 5.9.3, the new Qt 5.9.4 contains nearly 200 bug fixes and in total more than 500 changes since Qt 5.9.3.

New in Qt 5.10 Beta (Oct 9, 2017)

  • New Features (within existing modules):
  • Qt Core:
  • Added rudimentary implementation of QStringView. It is missing some (important) const-QString functions, but is fully functional as an interface type. To be completed for Qt 5.11.
  • Added many more functions to QLatin1String, too, co-evolving QLatin1String as the const char*-Latin-1-version of QStringView.
  • Added QIODevice::skip() to improve performance in read operations.
  • Explicitly little and big-endian integer types exposed (for instance qint16_le, quint32_be) for machine-independent data-type parsing.
  • Added QRandomGenerator providing a simple API for high-quality seed-less random numbers.
  • Added accessors for metadata time fields of files to QFileInfo.
  • Added QSemaphoreReleaser a RAII-style class for QSemaphore.
  • Added QKeyValueIterator for more efficient iteration over keys of an associative container
  • Qt GUI:
  • Added cross-platform Vulkan enablers for Windows, Linux (xcb) and Android (level 23+): QVulkanInstance, QWindow with type VulkanSurface, and QVulkanWindow
  • Added new flags and functions to QSurfaceFormat and QOpenGLWidget to request sRGB-capable default/backing framebuffers
  • The OpenGL ES 3.2 API is now exposed in a cross-platform manner via QOpenGLExtraFunctions.
  • QImages can now use more than 2GByte of pixel data.
  • Added QFont::PreferNoShaping style strategy.
  • Qt Widgets:
  • QWidget::createWindowContainer() is now functional on Android
  • QOpenGLWidget is now usable for rendering and reading back (grabbing) offscreen content.
  • Added AA_DisableWindowContextHelpButton attribute that prevents the automatic" What's this" button on dialogs on Windows
  • Added tabStopDistance property in QTextOption, QTextEdit and QPlainTextEdit
  • Added selectionEnd(), selectionLength() to QLineEdit, complementing selectionStart()
  • Added setDoubleStep to QInputDialog, to enable changing of the step amount for getDouble()
  • Added isPersistentEditorOpen() to QAbstractItemView, QTreeWidget, QTableWidget and QListWidget
  • Added new style hint: SH_TitleBar_ShowToolTipsOnButtons
  • Added support for specifying custom internal texture formats in QOpenGLWidget
  • QDockWidget acquired the ability to be dropped together side by side
  • Qt Network:
  • OpenSSL 1.1 back-end.
  • Persistent store of HSTS policies in QNAM (QSettings-based).
  • Implemented the h2c procotol upgrade used by non-SSL HTTP/2.
  • Qt Quick:
  • Added a shapes plugin, providing a Shape type under QtQuick.Shapes 1.0. This allows adding stroked and filled paths into Qt Quick scenes. Such shapes are rendered either by generating geometry or by using the GL_NV_path_rendering extension.
  • Added the Qt.labs.handlers plugin, providing TapHandler, PinchHandler and DragHandler. These are the beginnings of the Pointer Handlers which we have been talking about for some time: lightweight objects for handling events from the mouse or the touchscreen in a device-agnostic way.
  • QQuickItem layers can now request to be backed by multisample framebuffers via the property layer.samples
  • Added font.kerning and font.preferShaping properties for advanced control over the font shaping subsystem.
  • Added advance property to Text to retrieve the typographical advance width.
  • Added Image element support for direct loading of ETC1 and ETC2 compressed textures from .pkm files. (on platforms where ETC1/2 are supported)
  • Qt Quick Controls 2:
  • Introduced new QML types: Action, ActionGroup, MenuBar
  • Introduced new styles:
  • the Fusion style offers a platform agnostic desktop-oriented look'n'feel
  • the Imagine style is based on image assets that can be provided using a predefined naming convention
  • Added support for:
  • actions and actions in buttons, delegates, and menus
  • exclusive button groups
  • nested menus, and cascading sub-menus
  • wrapping spinboxes
  • propagating palettes (only Default, Fusion & Imagine styles for now, others coming later)
  • specifying the default font and palette in qtquickcontrols2.conf
  • preliminary support for mnemonics in MenuItem (only shortcut functionality, not yet visualized)
  • Added new members:
  • TabBar::index, tabBar, and position attached properties:
  • Dialog::applied(), reset(), discarded(), and helpRequested() signals
  • Dialog::standardButton() method
  • StackView::empty property
  • Menu::popup() and dismiss() methods
  • Menu::actionAt(), addAction(), insertAction(), removeAction(), and takeAction() methods
  • Menu::menuAt(), addMenu(), insertMenu(), removeMenu(), and takeMenu() methods
  • Menu::count and currentIndex properties
  • MenuItem::menu property
  • Container::removeItem(Item) and takeItem(int) methods (TabBar and SwipeView)
  • Popup::enabled, mirrored, and opened properties
  • "horizontal" and "vertical" properties to all controls that had an "orientation" property: RangeSlider, Slider, ScrollBar, ScrollIndicator, SwipeView
  • Other improvements:
  • Added support for specifying a transition for StackView::clear()
  • Made ApplicationWindow::activeFocusControl work with a plain Window
  • Made background dimming for popups work without ApplicationWindow
  • Made Material style DialogButtonBox use the Android button layout
  • Made Default style Slider and RangeSlider visually indicate the progress/range
  • Qt 3D:
  • Tech Preview of Skeletal Animation system
  • Animation clocks: Control playback speed of one or more animators from a clock
  • Framebuffer blit frame graph node
  • Proximity filter frame graph node
  • Improved layer filtering frame graph node
  • Shader graphs: dynamically generate fragment shaders from graph based description
  • Sprite sheet support
  • Point and line picking support
  • Camera viewAll command
  • Optional SIMD support
  • Scene2D: Embed Qt Quick content into Qt 3D and interact with it
  • Qt Graphical Effects:
  • The effects are now functional also in core profile OpenGL contexts.
  • Qt WebEngine:
  • Updated to Chromium 60.
  • Pause/resume added to download items.
  • Added settings for allowing window activation from JavaScript.
  • Added settings for hiding scrollbars.
  • More WebActions that used to be in QWebPage added to QWebEnginePage.
  • New method QWebEnginePage::download for starting downloads programmatically.
  • Qt Serial Bus:
  • Added local echo flag to QCanBusFrame to mark frames that are sent from the local system to the CAN bus.
  • Qt Connectivity:
  • The UWP bluetooth and BLE backends can now be used on desktop Windows (>= 10) too.
  • Qt Virtual Keyboard:
  • Added the following keyboard layouts: Hebrew, Serbian, Hungarian, Czech, Croatian, Bulgarian, Greek, Estonian, and Dutch.
  • Added handwriting support for Farsi, Arabic, and CJK (Chinese/Japanese/Korean).
  • Added new component (InputModeKey) for input mode switch.
  • OpenWNN:
  • Fixed crash when pressing the space after entering a smiley.
  • Fixed and optimized OpenWNN engine
  • Qt X11 Extras:
  • Added new peekEventQueue() API to peek into the XCB event queue. This enables porting certain Qt4-based applications to Qt5 (those using Xlib's event handling functions to peek into the X11 event queue).
  • Emulator:
  • Support multiple screens
  • Plugin support
  • Device mockups are QML based
  • Device Creation / Boot2Qt:
  • Device images updated to Yocto 2.3 (pyro)
  • New Modules:
  • Qt Network Authentication - Provides support for OAuth1 & OAuth2
  • Qt Speech - Supports text-to-speech
  • Platform Changes:
  • Jira tracking for 5.10 changes
  • Technology Preview Modules:
  • Qt Remote Objects (TP2) - A module that allows you to easily share QObject interfaces (Signals/Slots/Properties) between processes or devices.
  • Qt WebGL Streaming Plugin - Stream applications to browsers over the network
  • Deprecated Modules
  • The following modules are part of Qt 5.10 release, but deprecated and considered for removal in subsequent releases of Qt: Qt Script

New in Qt 5.9.2 (Oct 6, 2017)

  • It contains all the latest bug fixes and improvements from Qt 5.9 branch. Among other improvements, Qt 5.9.2 contains all the bug fixes released with Qt 5.6.3 earlier – and many more. We have also included the new Qt Creator 4.4.1 in the Qt 5.9.2 offline installer packages.
  • As a patch release Qt 5.9.2 does not add any new functionality, focus is in bug fixes and performance improvements. Compared to Qt 5.9.1, the new Qt 5.9.2 contains close to 300 bug fixes and the total amount of changes since Qt 5.9.1 is over 1000.

New in Qt 5.9.0 (May 31, 2017)

  • NEW FEATURES:
  • Core and Networking:
  • Quite a few new features have been added in the Core and Networking modules. Starting at the base, Qt Core has two new classes. The first class, qfloat16 abstracts 16-bit floating point numbers, as these nowadays are increasingly more important for inter-operation with APIs which make use of the GPU. In addition, a new QOperatingSystemVersion class has been added to conveniently test for the operating system and version your application is running on
  • Qt Network has gained support for HSTS (HTTP Strict Transport Security), improving security on HTTPS connections through QNetworkAccessManager
  • Our NFC support in Qt NFC has seen some very nice improvements for Android, and Qt Web Sockets can now use external TCP sockets. Classic Bluetooth on WinRT and Bluetooth peripherals on Android are now both supported
  • Qt Gui and 3D:
  • Qt GUI has gained a shader cache, that can cache compiled versions of OpenGL shader programs, and we have added support for Compute Shaders. The OpenGL paint engine does now work with OpenGL Core profiles as well.
  • An enormous amount of work has been done with Qt 3D. Together with the functionality we already had in Qt 5.8, we now have a fantastic 3D engine in Qt 5.9.
  • Qt QML and Quick:
  • Quite a bit of work has been put into improving the QML and JS engine for Qt 5.9. We have added a completely rewritten garbage collector, offering better performance and reducing memory fragmentation in the JavaScript heap. The new collector also provides a better basis for further enhancements to our memory management in upcoming Qt versions.
  • Qt 5.9 also comes with a brand new QML caching infrastructure, offering similar benefits to our users — just like the commercially available Qt Quick Compiler, but in a much more transparent way. The new infrastructure has two modes of operation. In the default mode, the caching infrastructure creates a binary cache of your QML files at the first start-up of the application. Optionally, you can also pre-create that cache at application build time, achieving similar performance and startup time benefits as with the Qt Quick Compiler. Additionally, the new caching infrastructure does not bind your application to a specific patch level version of Qt, as the binary caches are versioned and will get regenerated if required.
  • Also, a lot of work to improve performance and reduce memory consumption has been done in the engine, making this a significant upgrade compared to our previous Qt 5.6 LTS release.
  • Qt Quick now makes use of the new OpenGL shader cache added in Qt GUI, improving application startup times. We added an image provider that can share image data between processes, and a new OpenVG backend, allowing it to run on hardware that only has 2D hardware acceleration support.
  • Qt Location and Positioning:
  • For this release, Qt Location has received quite a few new features. We’ve added support for tilting and rotating maps, both through the APIs and through touch gestures. Stacking of maps has been improved, it’s now a lot easier to add overlay items to maps, and we improved the support for blending in copyright notices on the maps.
  • An entirely new plugin adds support for MapBox, using their OpenGL based map rendering engine.
  • A couple of other visual improvements have also happened, like using lower resolution tiles to approximate tiles that are still missing at a higher zoom level until those are downloaded
  • On iOS, we improved Qt Positioning, so that it now can collect data even when the application is in the background
  • Other modules:
  • Many other modules have also been updated. Most notably, Qt Webengine is now using Chromium 56. Qt Virtual Keyboard now supports external keyboard layouts and many other cool new features.
  • Qt Gamepad has graduated from Tech Preview status to being fully supported in Qt 5.9. We’ve also added Qt Remote Objects as a new module in Technology Preview status.
  • Of course, Qt 5.9 also comes with a brand new version of Qt Creator with many great new features. The Qt Quick Designer now contains a built-in code editor, and we now have a completely rewritten the cmake integration.
  • Platform changes:
  • Qt 5.9 adds support for two new platforms. It now supports QNX 7.0, the latest version of the QNX operating system. We have also added support for the INTEGRITY OS.
  • Finally, we added support for compiling Qt in a size optimized mode (-Os on GCC), saving around 5-20% in binary size for the Qt libraries and your applications.

New in Qt 5.9.0 Beta (Apr 7, 2017)

  • New Features (within existing modules):
  • Qt Core:
  • Added new qfloat16 class.
  • QProcessEnvironment is now available on iOS, tvOS, watchOS, and VxWorks.
  • QRegularExpression now requires the PCRE2 library, at least version 10.20. Support for the PCRE1 library has been dropped. A copy of PCRE2 is shipped with Qt and will automatically be used on those platforms which lack it.
  • QOperatingSystemVersion is new class for providing convinient access to operating system and version
  • Qt GUI:
  • QPainter's GL engine is now functional with core profile OpenGL contexts as well.
  • QImage introduced reinterpretAsFormat to change format without changing data.
  • Compute shaders are now supported in QOpenGLShader and QOpenGLShaderProgram also with OpenGL ES 3.1 and newer.
  • Platforms using Freetype now does stem-darkening and gamma-correction on OpenType fonts if FreeType supports it.
  • Qt QML:
  • Add support for ahead-of-time generation of QML type caches
  • Qt Quick:
  • OpenGL shader program binaries used by QtGui (QPainter's GL paint engine) and the Qt Quick scenegraph are now cached on disk, improving application startup and view initialization times.
  • Added an OpenVG backend for Qt Quick.
  • Window-screen associations can now be made directly from QML via Window.screen and Qt.application.screens. This allows creating multi-screen aware applications for desktop and embedded without involving C++ code.
  • Added a way to query information about the font actually used to render a Text element.
  • Added an image provider which can share decoded image data and memory between processes.
  • Qt Quick Controls 2:
  • Introduced new QML types: DelayButton, ScrollView
  • Added multi-touch support
  • Editable ComboBox
  • Non-interactive persistent Drawer
  • Live value updates (by default) for Slider, RangeSlider, and Dial
  • Dedicated signals for notifying user interaction
  • AbstractButton::toggled(), Slider::moved(), SpinBox::valueModified(), ...
  • Incremental/discrete scrolling with ScrollBar
  • SwipeDelegate allows enabling/disabling the swipe, and opening programmatically
  • Vertical SwipeView
  • Qt WebEngine:
  • Updated backend to Chromium 56
  • Switched internally to the new Chromium build-system GN
  • API for loading with HTTP POST
  • QQuickWebEngineProfiles can now have user-scripts and QQuickWebEngineUserScripts is now available from C++.
  • DownloadItems now get a reason when being interrupted or failing.
  • Qt SerialBus:
  • Added CAN FD Bitrate Switch (BRS) and Error State Indicator (ESI) flags to QCanBusFrame
  • Added QCanBusDeviceInfo for information about available CAN interfaces
  • Added plugin to support SYS-TEC electronic CAN adapters on Windows
  • Qt Location:
  • Support for map tilting
  • Support for map rotation
  • Touch gestures for rotating and tilting the map
  • Improved support for stacking multiple Map elements
  • New element MapCopyrightNotice to flexibly position the copyrights of multiple map elements on top
  • HTML copyright can now be styled using CSS
  • Support for handing the rendering of map items to the plugin
  • New "MapboxGL" plugin, based on the mapbox-gl-native mapping engine
  • New method fitViewportToVisibleMapItems to only consider visible items when fitting the viewport
  • New element MapItemGroup, to combine multiple map items in a separate qml file
  • Added a field of view property to the Map element to control the camera's field of view when the map is tilted
  • New element MapParameter, to expose and control plugin-specific runtime functionalities
  • Lower zoom level tiles are now used to approximate higher zoom levels, until these become available
  • Applications using QtPositioning on iOS can now collect data while in background
  • Qt Multimedia:
  • New QML properties:
  • CameraCapture.supportedResolutions
  • CameraFlash.supportedModes
  • MediaPlayer.notifyInterval (also for Audio and Video)
  • Video.loops
  • Qt Network:
  • Added HSTS support (HTTP Strict Transport Security) to QNetworkAccessManager
  • Added redirects policy to QNetworkAccessManager (ManulRedirectsPolicy, NoLessSafeRedirectsPolicy, SameOriginRedirectsPolicy, UserVerifiedRedirectsPolicy)
  • Qt NFC:
  • Allow using NFC when running as an Android service
  • Added support to communicate with ISO-DEP, NFC-A, NFC-B, NFC-F and NFC-V tags/smartcards, e.g. the German eID card, using QNearFieldTarget::sendCommand() on Android
  • Qt WebSockets:
  • Added support to handle external QTcpSocket
  • Qt Charts:
  • Added support for minor grid lines for logarithmic axes
  • Added options for legend marker shapes
  • Added support for more than one bar series per chart
  • Qt 3D:
  • Render Qt Quick 2 scenes to a texture and interact with them within 3D world
  • Technical Preview of new animation subsystem. Non-blocking, keyframe animations on the threadpool. Export from animations from Blender.
  • Physics Based Rendering (PBR) material in Qt3DExtras. Greatly improved appearance when used with environment maps.
  • 3D text support in Qt3DExtras
  • Level of Detail component allows toggling based on projected screen size or distance. Comes with convenience loader class to load different QML files for you.
  • Mesh is now plugin based. Comes with plugins for Wavefront OBJ, PLY and FBX formats. Easy to add others.
  • Distance field based 2D textured text. Can be freely rotated but is based on planar geometry.
  • Qt Virtual Keyboard:
  • Added support for selection handles for the dedicated (desktop) keyboard.
  • Changed behavior of shift handler to only activate caps lock if the shift key is double-clicked.
  • Added support for external keyboard layouts, which allows overriding and exclusion of the built-in keyboard layouts.
  • Added language selection popup for faster selection of input language.
  • Added support for automatic selection of the only remaining word in the suggestion list.
  • The word candidate list is now automatically hidden when inactive.
  • Added full screen input mode
  • Embedded platforms:
  • Added experimental DRM dumb buffer support to the linuxfb platform plugin, in order to help devices that do not support the deprecated fbdev model (or have problems with fbdev emulation).
  • The evdevtouch plugin supports filtering and prediction of touch events.
  • Qt Bluetooth:
  • Classic Bluetooth support for WinRT added
  • Android Peripheral support added
  • New Modules:
  • Qt Gamepad - A module to expose gamepad controller input to C++ and QML applications on a wide variety of platforms.
  • Platform Changes:
  • Removed support for WinRT on Windows 8.1
  • Debug builds on GCC platforms now use -Og optimizations by default. Can be disabled with configure flag -no-optimize-debug.
  • Technology Preview Modules:
  • Qt Remote Objects - A module that allows you to easily share QObject interfaces (Signals/Slots/Properties) between processes or devices
  • Qt Network Authentication (TP2) - Provides support for OAuth1 & OAuth2
  • Qt Speech (TP2) - Continues as tech preview, issues with packaging on Linux resolved, MinGW now supported.
  • Deprecated Modules:
  • Qt Script

New in Qt 5.8.0 (Jan 23, 2017)

  • Qt 5.8 does of course come with Qt Creator 4.2.1 and an update to Qt for Device Creation. Qt 5.8 is a rather large release, containing quite a large set of new functionality. Let’s have a look at some of them:
  • Qt Lite:
  • One of the main themes of Qt 5.8 has been to make Qt more flexible and easier to adopt to your use case, targeted especially at our embedded users. Qt Lite has been the codename of the project under which we did those changes
  • Our goal has been to make it easier to configure Qt to exactly your needs and leave out features that you don’t need in your project. This brings major savings in the size of the compiled Qt libraries and thus your application
  • Implementing support for this put us on a longer journey, where we rewrote most parts of the system that was being used to configure Qt. The new system cleans up a system that had grown over the last 15 years, and that also lead to many inconsistencies on how Qt was being configured on different host platforms
  • As a result, we now have one unified system to configure the different parts of Qt. In addition to giving our users a lot more flexibility in configuring Qt, it will also ease our burden in supporting all the different ways Qt can be configured and used
  • Using the new system allows you to create a Qt build tailored to exactly your use case. You can leave out all the features in Qt that you don’t need, saving ROM and RAM when deploying to your embedded device
  • Qt Wayland Compositor:
  • The Qt Wayland Compositor API that we included as a Technology Preview in Qt 5.7 is now fully supported in Qt 5.8. The module makes it very easy to create your own Wayland Compositor.
  • Qt Wayland Compositor make it very easy to implement your own custom home screen and application manager. This allows the creation of powerful and more complex embedded systems where you have multiple applications that have their own user interfaces. Qt Wayland Compositor supports handling multiple screens in an easy and transparent way. It comes with both QML and C++ APIs.
  • Communication and Networking:
  • Qt Serialbus has now graduated to be fully supported in Qt 5.8. It allows you to use Qt APIs for device bus communications and protocols. While the API is rather generic, this version includes implementations for CAN and Modbus.
  • Qt Network and Web Sockets gained full support for TLS PSK cyphersuites. Qt Network now supports configurable Diffie-Hellman parameters and HTTP/2 in QNetworkAccessManager.
  • Qt Bluetooth gains BTLE Peripheral support on macOS and iOS as well as BTLE Central support on WinRT.
  • Qt 5.8 also adds a new Qt Network Authorization module as a Technology Preview, currently supporting the OAuth 1 and 2 authentication schemes.
  • Qt QML and Quick:
  • Quite a few things have happened in Qt QML and Qt Quick. The QML engine has gained support for caching binary representations of QML and JS files on disk, reducing startup time and memory consumption of the engine. The commercial only Qt Quick compiler is still supported in 5.8, but we are planning to merge it with the new caching infrastructure in the future, leading to a better performing and more tightly integrated solution.
  • The Qt Quick scene graph has undergone a larger refactoring, making it less dependent on OpenGL. This allowed us to add an experimental Direct3D 12 backend for Qt Quick, and does enable the creation of other backends e.g. based on the Vulkan graphics APIs.
  • In addition, the scene graph now supports partial updates to the screen if only a small area of the scenography changed. This brings some larger performance improvements to the Qt Quick 2D renderer.
  • We also used the changes to the scene graph as an opportunity to fold the functionality of the Qt Quick 2D renderer into Qt Quick directly. This implies that the Qt Quick 2D renderer does not exist as a standalone module in Qt 5.8 anymore.
  • Larger changes have also been done under the hood with respect to Mouse and Touch event handling, unifying them internally in a new QQuickPointerEvent class. This lays the foundation for future improvements to mouse and touch event handling, but doesn’t affect code using Qt Quick yet.
  • The Qt Quick Controls 2 have also gained a couple of new types such as dialogs, rounded buttons and tool separators. The Material and Universal styles have gained some new effects and support for a ‘system’ theme.
  • Qt Webengine:
  • As always the Chromium version used by Qt Webengine has been updated, this time to Chromium 53. One long outstanding feature added in Qt 5.8 is the ability to print web pages. Many smaller new features have been added, amongst them a new QML API to define custom dialogs, tootips and context menus, and support for view-source: and some chrome: schemes.
  • Qt SCXML:
  • Qt SCXML is now fully supported in Qt 5.8. The module makes is trivial to integrate SCXML based state machines into Qt. It builds directly onto the Qt Statemachine Framework, and extends it with with both a SCXML to C++ compiler and a runtime that allows loading SCXML based state machines.
  • Together with the Qt SCXML module, Qt Creator 4.2 gained support for editing state charts.
  • New Technology Previews:
  • Also in Qt 5.8, we have new functionality that we chose to introduce as a Technology Preview.
  • Qt now compiles for both Apple’s tvOS and watchOS. While most of the functionality that we support on iOS should also work on tvOS, watchOS support is limited to the non-graphical functionality in Qt.
  • Qt Speech has been added as a new module adding support to text to speech functionality.
  • Other improvements:
  • After the initial release of Qt 3D with Qt 5.7, the focus for 5.8 has been on maturing the module. A large amount of bug fixes and performance improvements have been made for the module.
  • Qt Charts has gained a Candlestick chart type and we have made the QOpenGLTextureBlitter API in Qt Gui public.
  • Our embedded platforms supported by Qt for Device Creation have gained better support for multi-screen systems when using the eglfs QPA plugin and support for 90/180 degree rotated screens.
  • Finally, many changes happened to our code base to make better use of the new features offered by C++11 and with that clean up and modernize our code base.

New in Qt 5.7.1 (Dec 14, 2016)

  • QTCORE:
  • QLockFile:
  • Fixed permissions on lock files on Unix to allow for adjustments via umask.
  • QMimeType:
  • [QTBUG-50776] QMimeType::comment() now uses the default locale rather than system locale, so that applications can control which language is being used.
  • QUrl:
  • QUrl::resolved() no longer treats a URL with a scheme as a relative URL if it matches this URL's scheme. For now it still treats "file:name.txt" as relative for compatibility, but be warned that in Qt 5.8 it will no longer consider those to be relative. Both isRelative() and RFC 3986 say that such URLs are not relative, so starting from Qt 5.8, resolved() will return them as is.
  • QXmlStreamReader:
  • Fixed a bug in the XML parser that prevented to load XML that contained invalid characters for XML 1.0.
  • QXmlStreamWriter:
  • Fixed a bug that prevented the generation of valid XML files when using encoding with 8 bit per character but not ASCII compatible. QXMLStreamWriter generated XML markup using always ASCII in this case.
  • QTGUI:
  • QGuiApplication:
  • [QTBUG-51703] Fixed a bug that would cause QGuiApplication::sync() to be left undefined for Qt builds without session management support.
  • QIconLoaderEngine:
  • Fixed theme lookup for scalable entries
  • QTextDocument:
  • [QTBUG-48182] Fixed a bug that would return a wrong position when searching backward from the end of the document.
  • Text:
  • [QTBUG-49452] Fixed a performance regression in Freetype engine that was introduced in Qt 5.5.
  • [QTBUG-53911] Fixed a crash that could happen if you were doing many different text layouts with different fonts and superscript or subscript alignment.
  • [QTBUG-42033] Fixed bug where a QTextLayout with ShowLineAndParagraphSeparators would modify the layout's input string.
  • [QTBUG-54180] Fixed performance regression when rapidly switching between a large set of fonts.
  • QTNETWORK:
  • QSslSocket:
  • [QTBUG-55170] Fixed a bug in SecureTransport backend that would cause a memory usage growth in case 'readBufferMaxSize' is set.
  • [QTBUG-52975] Fixed a bug in SecureTransport backend where transmit was using invalid SSL context and reporting (incorrectly) some irrelevant errors as a result.
  • QTSQL:
  • [QTBUG-53969][QTBUG-53237] Fixed QSqlQuery::prepare value truncation error when using UNSIGNED values in a MySQL database.
  • QTWIDGETS:
  • QAbstractItemDelegate:
  • [QTBUG-16469] Show localized detailed tooltips and "What's this?" texts.
  • QTreeView:
  • [QTBUG-52793] Fixed a key navigation bug when the columns were reordered.
  • CONFIGURE & BUILD SYSTEM:
  • [QTBUG-35886][QTBUG-51417] Fixed Fontconfig vs. system FreeType configuration.
  • [QTBUG-43784][X11] Fixed detection of GLX with -qt-xcb.
  • [QTBUG-51534][Windows] The configure.exe bootstrapping now prefers cl over clang-cl, to avoid header incompatibility problems.
  • [QTBUG-52940] Fixed missing plugins.qmltypes files in static builds.
  • [QTBUG-52951] Fixed dynamic library support detection for platforms without libdl.
  • [QTBUG-53038] Fixed running of configure tests outside qtbase when cross compiling on Windows (for example for Android).
  • [QTBUG-53312] The flags supplied by the configure -D/-I/-L/-l options are now applied after Qt's own flags. This helps in some cases when the provided paths contain files which conflict with the Qt build.
  • [QTBUG-53926] Fixed linkage of QML plugins in static prefix builds.
  • [QTBUG-55011][Unix] Fixed -no-pkg-config being ignored by some configure tests, which led to build failures later on.
  • Fixed configure tests outside qtbase when $MAKEFLAGS contains the -i flag.
  • [Android] Some unused plugins are not built anymore.
  • [MinGW] Added support for -separate-debug-info.
  • [Unix] Added configure -no-opengles3 option.
  • [Unix] Fixed MySQL detection/use on RHEL 6.6.
  • QMAKE:
  • [QTBUG-41830] Fixed nested custom functions inheriting their callers' arguments.
  • [QTBUG-53895][MSVC] Started using separate PDB files for compiling and linking.
  • [QTBUG-54036][Darwin] Fixed installation of debug symbols.
  • [QTBUG-54299] Various QMAKE_EXTRA_COMPILERS' .depends entries are now appended to rather than overwritten.
  • [QTBUG-54346][MSys/Apple] Fixed detection of QMAKE_DEFAULT_{INC,LIB}DIRS.
  • [QTBUG-54550] Fixed access to freed memory in $$absolute_path().
  • [QTBUG-54674] The obsolete -target xp is now properly rejected.
  • [QTBUG-55183][nmake] _WINDLL is now automatically defined when building a DLL, consistently with Visual Studio.
  • [QTBUG-55505] Fixed build of projects with spaces in the source or build path against static builds of Qt.
  • [QTBUG-55649][QTBUG-55915][Xcode] Fixed support for Xcode 8.
  • [QTBUG-56162][MinGW] Fixed -release -force-debug-info missing both optimization and debug info.
  • Fixed several cases where the error() function would not abort qmake.
  • Interrupting a command run via system() will now abort qmake as well.
  • The packagesExist() function will now warn when used when Qt was configured with -no-pkg-config.
  • [Android] The default compiler flags were adjusted to match newer NDK versions.
  • [Darwin] Fixed detection of QMAKE_DEFAULT_INCDIRS.
  • [Darwin][make] Added support for building Xcode asset catalogs.

New in Qt 5.8.0 Beta (Nov 4, 2016)

  • NEW FEATURES (WITHIN EXISTING MODULES):
  • Qt Core:
  • Added at(), operator[], mid(), right() and left() to QLatin1String
  • Qt GUI:
  • QTouchEvent now has uniqueId and rotation
  • Support for dithering when converting to all QImage formats
  • Previously private QOpenGLTextureBlitter API is made public, to help QtWayland in particular
  • Added capHeight() to QFontMetrics, QFontMetricsF, and QRawFont
  • Selection handles on Android, with edit menu for copy/paste)
  • Qt Quick:
  • Refactored the Qt Quick scene graph to remove its OpenGL dependency and make it possible to create rendering backends based on other graphics APIs, such as Vulkan or Direct3D.
  • Integrated the software renderer for the Qt Quick scene graph as a proper backend for the scene graph (previously known as the Qt Quick 2D Renderer.)
  • Implemented support for partial updates in the software backend for the scene graph (2D Renderer) to prevent expensive fullscreen updates when only small areas are changing.
  • Added an experimental Direct3D 12 backend
  • Implemented caching of code and data structures generated from .qml/.js files to disk to reduce start-up time and memory consumption. The resulting .qmlc and .jsc cache files are memory mapped.
  • Cleaned up touch and mouse event delivery and added a new internal class QQuickPointerEvent which is used for that purpose. This is the foundation for further improvements with regards to input event handling, but does not affect any code using Qt Quick yet.
  • Qt Quick Controls 2:
  • Added new QML types: Dialog, DialogButtonBox, MenuSeparator, RoundButton, and ToolSeparator
  • Added ripple effects to the Material style
  • Added hover effects to the Material and Universal styles
  • Added a 'System' theme to the Material and Universal styles
  • Added new experimental "platform" QML types: MenuBar, Menu, SystemTrayIcon, ColorDialog, FontDialog, MessageDialog, FileDialog and FolderDialog
  • Qt Widgets:
  • Qt WebEngine:
  • Based on Chromium 53
  • Windows: Requires MSVC 2015 Update 2 or later
  • view-source: scheme is supported
  • Spellchecking with Hunspell
  • Tooltips (HTML5 global title attribute) are now also supported in the QML API.
  • User scripts now support metadata (@include, @exclude, @match)
  • Qt WebEngine (QML) allows defining custom dialogs / context menu's
  • Qt WebEngine (QML) on eglfs uses builtin dialogs based on Qt Quick Controls 2
  • Support for printing
  • Added setting to enable printing of CSS backgrounds
  • Some chrome: schemes now supported, for instance chrome://gpu
  • Qt Bluetooth:
  • Bluetooth Low Energy Peripheral support on OS X & iOS
  • Bluetooth Low Energy Central support on WinRT
  • Qt Multimedia:
  • Added QAudio::convertVolume() (and matching QML API) function to convert an audio volume from one scale to another, e.g. logarithmic to linear.
  • VideoOutput (QML) now supports rendering YUV 4:2:2 (YUYV, UYVY) video frames.
  • Support for TLS PSK ciphersuites on server side
  • Support for configurable diffie hellman parameters
  • Support for HTTP/2 in Network Access Manager
  • Qt WebSockets:
  • Support for TLS PSK ciphersuites on client and server side
  • Qt Charts:
  • Candlestick chart type added.
  • Qt 3D:
  • Main focus on maturation (improving performance, bug fixing and improving test coverage)
  • Paint to texture using QPainter from Weiland
  • Optional support for issuing commands to Qt3D aspects (e.g. from profiler)
  • (Screenshot framegraph node STILL UNDER REVIEW)
  • Embedded platforms
  • Enhanced multi-screen capabilities and configurability with eglfs when running on KMS/DRM, both with GBM and EGLDevice/Stream
  • Added support for 90 or 180 degrees rotation of software-rendered content (QWidget) in eglfs
  • CONFIGURABILITY (QT LITE PROJECTS):
  • Qt 5.8 comes with a rewritten configuration system, that allows for easy customisation of your Qt build. The main focus of this feature is for the Device Creation, but it can also be used to tailor a Qt build for mobile or desktop. The system allows removing individual pieces of functionality and APIs from Qt, thus creating a more lightweight set of libraries for deployment.
  • New Modules:
  • Qt Wayland Compositor
  • Qt SCXML
  • Qt Serial Bus
  • New Platforms:
  • Apple tvOS (technology preview)
  • Apple watchOS (technology preview)
  • Technology Preview Modules:
  • Qt Gamepad (TP2)
  • Qt Speech - A module to make text to speech and speech recognition easy. For Qt 5.8 (and probably even the next few releases) only the text to speech part is released. It has backends for several speech synthesizers on macOS, Android, Windows and Linux currently.
  • Qt Network Authentication - currently includes support for OAuth 1 + 2
  • Deprecated Modules:
  • The following modules are part of Qt 5.8 release, but deprecated and considered for removal in subsequent releases of Qt:
  • Qt Script:
  • Removed Modules:
  • Qt Quick 2D Renderer (functionality of the module has been merged into Qt Declarative)
  • Configurations:
  • There are no more separate device and simulator libraries for iOS; they are now combined into a single library (and the same applies for tvOS and watchOS).
  • Precompiled headers now supported on iOS.

New in Qt 5.7.0 (Jun 24, 2016)

  • NEW FEATURES (WITHIN EXISTING MODULES):
  • Qt Core:
  • Added qAsConst function to help using non-const Qt containers in C++11 range for loops
  • Qt event dispatchers use the poll() function on Unix now, making it possible for applications to have file descriptors > 1024
  • Added the ability to convert a floating point to its shortest, exact string form, without having to pre-calculate how many digits that is; QVariant uses this
  • Many clean-ups related to C++11, including using std::atomic as backend for QAtomic classes and adding QTypeInfo for char16_t and char32_t
  • QIODevice now supports multistreaming
  • QPluginLoader now works even if QT_NO_LIBRARY is set (e.g., linking against a static libc)
  • Qt GUI:
  • QImage smooth scale optimized for NEON.
  • Optimized the OpenGL function wrappers for speed and code size. QtGui library size has been significantly reduced due to a massive reduction in symbols.
  • QIcon::fromTheme can now use GTK+ icon theme caches for faster icon lookup
  • Qt Widgets:
  • QTabBar now delegates placement of tab scroll buttons to the style.
  • Qt Style Sheets can now optionally let widgets inherit font and palette from their parents.
  • Qt WebEngine:
  • Based on Chromium 49
  • Drag'n'Drop
  • Printing to PDF
  • Audio played in tab notification.
  • Support for DRM-protected HTML5 video using Widevine pepper plugin
  • API for evaluating javascript or installing qwebchannel in secure isolated javascript worlds
  • Data to make better custom context menus
  • Compile time switch for AppStore compatibility on OS X
  • Qt QML:
  • Added JIT support for WinRT on x86 and x64.
  • Enabled JIT for 64-bit ARM Linux platforms.
  • All debug services now work with QJSEngine rather than QQmlEngine, which allows for non-QML JavaScript debugging or profiling.
  • The JavaScript debug service now supports debugging of multiple QJSEngine instances at the same time.
  • The profiler service can generate much larger traces without running out of memory, and will take much less time to do so now.
  • Custom connectors for debugging and profiling can be loaded with QQmlDebuggingEnabler::startDebugConnector() now.
  • The JavaScript debug service can now evaluate expressions without the QML engine being paused in a breakpoint.
  • Qt Quick:
  • The inspector service now supports all subclasses of QQuickWindow, which makes Qt Creator's inspection feature useful.
  • Embedded platforms:
  • Added support for NVIDIA DRIVE CX boards (Tegra X1, AArch64)
  • Added support for the Raspberry Pi 3 (32-bit mode)
  • Added support for NXP i.MX7-based devices (no GPU; uses linuxfb and the Qt Quick 2D Renderer)
  • Improved theming support with eglfs
  • Desktop platforms:
  • X11: QMenuBar uses the unified D-Bus AppMenu menubar when the desktop environment supports it (e.g. Ubuntu Unity)
  • Mobile platforms:
  • Android: Qt can now be used to easily create Android Services.
  • Qt Canvas 3D:
  • New version of three.js
  • Qt NFC:
  • API ported to Android.
  • Qt Multimedia:
  • Added support for tvOS.
  • Extended QML playlist API.
  • Qt Bluetooth:
  • Technical preview for Qt Bluetooth Low Energy peripheral role feature (Bluez only)
  • Qt Sensors:
  • Added iio-sensor-proxy backend for Linux. It provides light, orientation, and compass sensors.
  • NEW MODULES:
  • Qt 3D:
  • Support for Compute Shaders on supported hardware
  • Support for loading multi-image DDS and KTX textures including cubemaps, mip chains, array textures
  • Improved support for compressed texture formats
  • Render surface made explicit - will later allow for multiple renders of the same scene to different surfaces and other use cases
  • Extended Input API and support for device plugins
  • Picking support improved
  • Qt Quick Controls 2:
  • A new light-weight set of embedded and mobile oriented controls
  • Based on a flexible template system that enables rapid development of entire custom styles and user experiences
  • Built-in styles:
  • Default style - a simple and minimal all-round style that offers the maximum performance
  • Material style - a style based on the Google Material Design Guidelines
  • Universal style - a style based on the Microsoft Universal Design Guidelines
  • Can be mixed with Qt Quick Controls 1.0, but the APIs are not compatible
  • Qt Charts:
  • Previously commercial-only Qt Charts module is now included in Qt under also GPLv3 license for open source users
  • Qt Data Visualization:
  • Previously commercial-only Qt Data Visualization module is now included in Qt under also GPLv3 license for open source users
  • Qt Virtual Keyboard:
  • Previously commercial-only Qt Virtual Keyboard module is now included in Qt under also GPLv3 license for open source users
  • Qt Purchasing:
  • Previously commercial-only Qt Purchasing module is now included in Qt under also LGPLv3 and GPLv3 license for open source users
  • Qt Quick 2D Renderer:
  • Previously commercial-only Qt Quick 2D Renderer module is now included in Qt under also GPLv3 license for open source users
  • TECHNOLOGY PREVIEW MODULES:
  • Qt Wayland Compositor:
  • Pure QML API
  • Improved C++ API with added convenience
  • New convenient API for making extensions and using them from both QML and C++
  • Qt SCXML:
  • Completely new module for C++ and QML
  • Static and runtime integration of SCXML models into Qt code
  • Qt Gamepad:
  • New module to process input from gamepads in C++ and QML applications.
  • Supports Windows (XInput), Linux (evdev), Android, iOS.
  • Qt Serial Bus:
  • New module for C++
  • Supports Modbus and CAN bus
  • DEPRECATED MODULES:
  • The following modules are part of Qt 5.6 release, but deprecated and considered for removal in subsequent releases of Qt:
  • Qt Script
  • REMOVED MODULES:
  • With Qt 5.7 the following modules are no longer part of the final release packages:
  • Qt Enginio
  • CONFIGURATIONS:
  • Qt 5.7 has deprecated configurations that do not provide adequate C++11 support. For details, please see Qt 5.7 Tools and Versions in the wiki.
  • Mobile platforms: Minimum required versions upgraded to iOS 7 and Android 4.1

New in Qt 5.7.0 Beta (Apr 21, 2016)

  • Leveraging C++11:
  • The core of Qt comes from its C++ foundation and the powerful native performance it offers you. We of course always want to ensure Qt is on top of the latest C++ developments, so that the framework continues to grow with your needs. Qt has supported the use of C++11 in application code for a long time. We also wanted to keep supporting C++98 compilers up to Qt 5.6, which meant that we needed to wait before fully leveraging C++11 features in the Qt framework libraries themselves
  • Starting with Qt 5.7 all compilers are C++11 compatible, which allows us to start using new C++ functionality such as auto, lambda and many more in Qt itself. These features will also start to appear in the Qt API, where it makes sense to do so. For those who can’t move yet the long term supported Qt 5.6 provides full C++98 compatibility
  • New Functionality:
  • Our focus with Qt 5.6 is on Long-Term Support quality, so lots of new features and functionality will now be coming with Qt 5.7. The Qt Company and our valued contributors managed to do this by developing Qt 5.7 in parallel with completion Qt 5.6 LTS. Qt 5.7 provides a fully supported version of Qt Quick Controls 2 and Qt 3D. It also provides a technology preview of Qt Wayland Compositor, Qt SCXML, Qt SerialBus and Qt Gamepad modules. The Qt 5.7 Beta installers also pack in Qt Creator 4.0 RC
  • Open-Source Licensing Change:
  • As announced in January, Qt is adjusting the open-source licensing starting with the Qt 5.7 and Creator 4.0 releases. Most of the Qt framework will be licensed under your choice of LGPLv3, GPLv2 or our commercial license. In addition, many of the previously commercial only add-on libraries will be made available either under GPLv3 or LGPLv3. Qt Creator, as well as other tools and applications, will be licensed under GPLv3 (with exceptions to enable development of non-GPL applications) and our commercial license.

New in Qt 5.6.0 (Mar 16, 2016)

  • NEW FEATURES:
  • Qt Core:
  • Reduced memory usage of dynamic properties
  • Allow logging directly to syslog on Linux systems
  • Added QStorageInfo::blockSize()
  • new QVersionNumber class
  • Added key_iterator to QHash and QMap
  • Added const_iterator QByteArray
  • Added reverse iterator support to all sequential containers
  • added QDir::listSeparator()
  • Lots of performance optimisations in QString
  • Qt Network:
  • Added QHostAddress::isMulticast()
  • Support HTTP redirection in QNetworkAccessManager
  • Qt GUI:
  • Improved cross-platform OpenGL ES 3.0 and 3.1 support to help the development of mobile/embedded apps utilizing GLES3 features.
  • Improved cross-platform high-dpi support.
  • Raster engine support for rendering internally with 16bits-per-color.
  • QImageReader now exports gamma values and other meta data for some image formats
  • Qt Widgets:
  • Allow programmatic resizing of dock widgets
  • Allow dropping dock widgets into floating docks
  • Allow the user to re-arrange tabified docks
  • Allow horizontal scrolling using a mouse wheel in QListView
  • QOpenGLWidget and QQuickWidget are now supported on WinRT
  • Qt Testlib:
  • More stable input event handling
  • Qt Multimedia:
  • New Playlist QML type.
  • New audio role API for the media player (C++ and QML)
  • Support for camera focus and video probe on WinRT
  • New functions in QML AudioEngine to support dynamic object creation
  • Qt WebEngine:
  • Based on Chromium 45
  • Support for pepper plugins including Flash
  • Support for unbundling and linking with system libraries on Linux
  • Support for following global Qt proxy settings.
  • More WebActions from QtWebKit and WebAction API in QML.
  • New QtWebEngineCore module for shared low-level API
  • New core API for custom URL schemes
  • New core API for intercepting and blocking network requests
  • New core API for tracking or blocking cookies.
  • Qt QML:
  • Support for writing JavaScript function names to Linux's perf output
  • Reduced overall memory consumption
  • Embedded platforms:
  • Added support for NVIDIA Jetson TK1 Pro boards running Vibrante Linux via a new eglfs backend utilizing DRM, EGLDevice and EGLStream
  • Added support for Intel Atom-based NUCs
  • Desktop platforms:
  • Windows 10 fully supported (classic and WinRT app)
  • Windows Store apps are now composited inside a XAML layer, allowing for better integration with the native UI layer
  • Windows embedded:
  • Added support for WEC2013
  • Qt WebView:
  • Added support for WinRT
  • Qt Canvas3D:
  • Support for using Qt Quick items as textures
  • Support for rendering directly to Qt Quick scene background or foreground
  • Qt Positioning:
  • Added support for GPS receivers exposed as a serial port on Windows desktop (all versions)
  • Removed libgeoclue dependency for the GeoClue backend
  • Qt Location:
  • Added the Qt Location module providing maps, navigation and places APIs for Qt Quick
  • OTHER CHANGES:
  • Embedded platforms:
  • libinput, when present, is now the default for eglfs and linuxfb
  • Image Formats:
  • For security reasons, the MNG and JPEG 2000 handlers will by default no longer be built, unless the corresponding codec libraries are provided by the OS. Hence, the binary Qt releases for Windows and Mac will not contain prebuilt handlers for those formats, but users can still build them from source
  • DEPRECATED MODULES:
  • The following modules are part of Qt 5.6 release, but deprecated and considered for removal in subsequent releases of Qt:
  • Qt Script
  • Qt Enginio
  • REMOVED MODULES:
  • With Qt 5.6 the following modules are no longer part of the release packages, but users can still build them from source:
  • Qt WebKit
  • Qt Declarative (Qt Quick 1)
  • TECHNOLOGY PREVIEW MODULES:
  • Qt 5.6 binary installer packages will contain technology preview of the following modules:
  • Qt 3D:
  • New buffer and attribute API
  • Support for OpenGL instanced rendering where supported
  • Support for OpenGL primitive restart
  • Support for clip planes, stencil operations and many more OpenGL features
  • Support for easily generating buffer data from C++ and QML (using javascript typed arrays)
  • qgltf tool to compile scenes into glTF
  • Support for loading glTF scenes via SceneLoader
  • Support for controlling multisampling with Scene3D
  • More standard materials: per-vertex colors, Gooch shading
  • APIs for mouse input and collision detection
  • New Logic aspect to have QML/C++ code executed synchronously with the Qt3D aspect engine. Useful for prototyping future Qt3D features
  • Many bugfixes all around but especially around unloading and shutdown
  • Many new examples
  • Qt Quick Controls 2.0:
  • A new light-weight set of embedded and mobile orientation controls
  • Based on a flexible template system that enables rapid development of entire custom styles and user experiences
  • Built-in styles:
  • Default style - a simple and minimal all-round style that offers the maximum performance
  • Material style - a style based on the Google Material Design Guidelines
  • Universal style - a style based on the Microsoft Universal Design Guidelines
  • Qt SerialBus:
  • New module for general purpose serial bus access with initial implementation for Controller Area Network (CAN) bus and Modbus
  • NEW CONFIGURATIONS:
  • Qt 5.6 adds support to Windows Embedded Compact 13, and in addition there are changes in supported platform and compiler versions.

New in Qt 5.6.0 RC (Feb 23, 2016)

  • NEW FEATURES:
  • Qt Core:
  • Reduced memory usage of dynamic properties
  • Allow logging directly to syslog on Linux systems
  • Added QStorageInfo::blockSize()
  • new QVersionNumber class
  • Added key_iterator to QHash and QMap
  • Added const_iterator QByteArray
  • Added reverse iterator support to all sequential containers
  • added QDir::listSeparator()
  • Lots of performance optimisations in QString
  • Qt Network:
  • Added QHostAddress::isMulticast()
  • Support HTTP redirection in QNetworkAccessManager
  • Qt GUI:
  • Improved cross-platform OpenGL ES 3.0 and 3.1 support to help the development of mobile/embedded apps utilizing GLES3 features.
  • Improved cross-platform high-dpi support.
  • Raster engine support for rendering internally with 16bits-per-color.
  • QImageReader now exports gamma values and other meta data for some image formats
  • Qt Widgets:
  • Allow programmatic resizing of dock widgets
  • Allow dropping dock widgets into floating docks
  • Allow the user to re-arrange tabified docks
  • Allow horizontal scrolling using a mouse wheel in QListView
  • QOpenGLWidget and QQuickWidget are now supported on WinRT
  • Qt Testlib:
  • More stable input event handling
  • Qt Multimedia:
  • New Playlist QML type.
  • New audio role API for the media player (C++ and QML)
  • Support for camera focus and video probe on WinRT
  • New functions in QML AudioEngine to support dynamic object creation
  • Qt WebEngine:
  • Based on Chromium 45
  • Support for pepper plugins including Flash
  • Support for unbundling and linking with system libraries on Linux
  • Support for following global Qt proxy settings.
  • More WebActions from QtWebKit and WebAction API in QML.
  • New QtWebEngineCore module for shared low-level API
  • New core API for custom URL schemes
  • New core API for intercepting and blocking network requests
  • New core API for tracking or blocking cookies.
  • Qt QML:
  • Support for writing JavaScript function names to Linux's perf output
  • Reduced overall memory consumption
  • Embedded platforms:
  • Added support for NVIDIA Jetson TK1 Pro boards running Vibrante Linux via a new eglfs backend utilizing DRM, EGLDevice and EGLStream
  • Added support for Intel Atom-based NUCs
  • Desktop platforms:
  • Windows 10 fully supported (classic and WinRT app)
  • Windows Store apps are now composited inside a XAML layer, allowing for better integration with the native UI layer
  • Windows embedded:
  • Added support for WEC2013
  • Qt WebView:
  • Added support for WinRT
  • Qt Canvas3D:
  • Support for using Qt Quick items as textures
  • Support for rendering directly to Qt Quick scene background or foreground
  • Qt Nfc:
  • Added support for Android
  • Qt Positioning:
  • Added support for GPS receivers exposed as a serial port on Windows desktop (all versions)
  • Removed libgeoclue dependency for the GeoClue backend
  • Qt Location:
  • Added the Qt Location module providing maps, navigation and places APIs for Qt Quick
  • OTHER CHANGES:
  • Embedded platforms:
  • libinput, when present, is now the default for eglfs and linuxfb
  • Image Formats:
  • For security reasons, the MNG and JPEG 2000 handlers will by default no longer be built, unless the corresponding codec libraries are provided by the OS. Hence, the binary Qt releases for Windows and Mac will not contain prebuilt handlers for those formats, but users can still build them from source.
  • DEPRECATED MODULES:
  • The following modules are part of Qt 5.6 release, but deprecated and considered for removal in subsequent releases of Qt:
  • Qt Script
  • Qt Enginio
  • REMOVED MODULES:
  • With Qt 5.6 the following modules are no longer part of the release packages, but users can still build them from source:
  • Qt WebKit
  • Qt Declarative (Qt Quick 1)
  • TECHNOLOGY PREVIEW MODULES:
  • Qt 5.6 binary installer packages will contain technology preview of the following modules:
  • Qt 3D:
  • New buffer and attribute API
  • Support for OpenGL instanced rendering where supported
  • Support for OpenGL primitive restart
  • Support for clip planes, stencil operations and many more OpenGL features
  • Support for easily generating buffer data from C++ and QML (using javascript typed arrays)
  • qgltf tool to compile scenes into glTF
  • Support for loading glTF scenes via SceneLoader
  • Support for controlling multisampling with Scene3D
  • More standard materials: per-vertex colors, Gooch shading
  • APIs for mouse input and collision detection
  • New Logic aspect to have QML/C++ code executed synchronously with the Qt3D aspect engine. Useful for prototyping future Qt3D features
  • Many bugfixes all around but especially around unloading and shutdown
  • Many new examples
  • Qt Quick Controls 2.0:
  • A new light-weight set of embedded and mobile orientation controls
  • Based on a flexible template system that enables rapid development of entire custom styles and user experiences
  • Built-in styles:
  • Default style - a simple and minimal all-round style that offers the maximum performance
  • Material style - a style based on the Google Material Design Guidelines
  • Universal style - a style based on the Microsoft Universal Design Guidelines
  • Qt Speech (postponed to 5.7):
  • Speech recognition and text to speech functionality
  • Plug-in API for using various open-source and commercial ASR and TTS engines
  • Qt SerialBus:
  • New module for general purpose serial bus access with initial implementation for Controller Area Network (CAN) bus and Modbus

New in Qt 5.5.1 (Oct 17, 2015)

  • In addition to improvements and fixes to Qt functionality, it also packs in new Qt Creator 3.5.1.
  • the Qt 5.5.1 patch release provides close to 1.000 improvements and fixes on top of the Qt 5.5.0 release.
  • One of the key drivers for Qt 5.5 has been quality and maturity and we have continued to address items reported by the Qt users with Qt 5.5.1.
  • Qt WebEngine in Qt 5.5.1 includes a couple of security fixes for known vulnerabilities.
  • Also includes the new Qt Creator 3.5.1:
  • General:
  • Fixed dark theme for wizards (QTCREATORBUG-13395)
  • Fixed that cancel button was ignored when wizards ask about overwriting files (QTCREATORBUG-15022)
  • Added support for MSYS2 compilers and debuggers
  • Editing:
  • Fixed crashes with code completion (QTCREATORBUG-14991, QTCREATORBUG-15020)
  • Project Management:
  • Fixed that some context actions were wrongly enabled (QTCREATORBUG-14768, QTCREATORBUG-14728)
  • C++ Support:
  • Improved performance for Boost (QTCREATORBUG-14889, QTCREATORBUG-14741)
  • Fixed that adding defines with compiler flag did not work with space after `-D` (QTCREATORBUG-14792)
  • QML Support:
  • Fixed that `.ui.qml` warnings accumulated when splitting (QTCREATORBUG-14923)
  • QML Profier:
  • Fixed that notes were saved but not loaded (QTCREATORBUG-15077)
  • Version Control Systems:
  • Git: Fixed encoding of log output
  • Mercurial: Fixed crash when annotating (QTCREATORBUG-14975)
  • Diff Editor:
  • Fixed handling of mode changes (QTCREATORBUG-14963)

New in Qt 5.5.0 (Jul 6, 2015)

  • New Features:
  • Qt Bluetooth
  • Bluetooth Low Energy API final release (5.4 was featuring tech preview).
  • Bluetooth Low Energy Support for Android (requires Android v18+) added.
  • Bluetooth Classic and Low Energy support for iOS and OS X.
  • Qt Core
  • You can now have Q_PROPERTY and Q_INVOKABLE within a Q_GADGET, and there is a way to query the QMetaObject of such gadget using the QMetaTYpe system.
  • Added Q_ENUM to replace Q_ENUMS which allow to get a QMetaEnum at compile time using QMetaEnum::fromType. Such enums are now automatically registered as metatype, and can be converted to string within QVariant, or are printed as string by qDebug()
  • Qt GUI
  • Windows packages are all built with -opengl dynamic. No OpenGL-only or ANGLE-only builds are provided anymore.
  • On Windows the OpenGL implementation to use can now be configured based on the GPU vendor and driver version using JSON configuration files. This allows shipping fine-grained card and driver blacklists with the apps, when necessary.
  • QOpenGLWidget is now supported in iOS.
  • QImage: 8-bit alpha map and grayscale formats.
  • QImageReader: EXIF orientation can now be read though the transformation method, and applied on read to JPEGs if wanted.
  • Qt Multimedia
  • GStreamer 1.0 support. Note that the default is still 0.10. 1.0 support can be enabled by configuring Qt with '-gstreamer 1.0'.
  • New video filtering framework to integrate frameworks like OpenCV or compute APIs such as OpenCL or CUDA with VideoOutput elements.
  • New API to control camera viewfinder settings
  • Improved camera support on iOS (focus, zoom, exposure, viewfinder/image settings)
  • The QML MediaPlayer is now rendered in an OpenGL texture on iOS. This means VideoOutput supports advanced transformation, shader effects and doesn't have to be always on top of other items anymore.
  • Qt NFC
  • Neard based backend for Linux added.
  • Qt Network
  • New SSL back-end for iOS and OS X based on Secure Transport. Note that in Qt 5.6 this will become the default SSL: back-end on these platforms.
  • Support for libproxy
  • Support for TLS PSK ciphersuites
  • Support for elliptic curve certificates
  • Ability to select specific curves when using elliptic curve ciphersuites.
  • QPA
  • Added support for the Raspberry Pi 2.
  • Added support for the ODROID-XU3.
  • On supported desktops, the xcb plugin now uses the D-Bus based org.kde.StatusNotifier protocol for system tray icons, and org.freedesktop.Notifications for notifications.
  • KMS/DRM backend for EGLFS. This replaces the now deprecated KMS platform plugin. It allows running apps with eglfs on the console on systems with Mesa and devices that come with drm support.
  • EGLFS has a plugin-based backend mechanism in addition to the existing, statically compiled-in solution. Most compiled-in hooks are converted to be dynamically loaded plugins that are built based on configure time tests. This reduces the reliance on the device makespecs for RPi, i.MX6 and Mali-based devices.
  • Input handling is now unified for EGLFS and LinuxFB, avoiding the need to launch and configure LinuxFB-based apps differently than when using EGLFS.
  • tslib is now better integrated with EGLFS and LinuxFB to provide support for resistive single-touch touchscreens often used in industrial environments.
  • xcb is refactored to move GLX and EGL support into plugins. No more ifdefs, allowing building both backends.
  • Added a TUIO Touch plugin for receiving remote touch events via UDP.
  • Added a libinput plugin.
  • iOS: you can now use QFileDialog to browse system photos using a native image picker dialog by setting directory to QStandardPaths::PicturesLocation. Selected photos can be loaded using QFile.
  • Qt QML
  • It is now possible to conveniently expose custom C++ value types into the JavaScript environment of QML and QJSEngine.
  • Support for JavaScript typed arrays
  • Various performance improvements, notably QJSValue
  • Added convenience qJsEngine(QObject*) getter function.
  • Qt Quick
  • Windows now defaults to the threaded Qt Quick render loop when using desktop OpenGL (opengl32.dll).
  • QQuickWidget is now supported in iOS.
  • QQuickRenderControl supports threaded rendering.
  • Improved behavior of Flickable on OS X trackpads using pixel deltas from native gestures.
  • PinchArea handles native pinch gestures when the OS provides them (so far only on OS X). Otherwise it relies on touch events, as before.
  • Added a smart zoom signal to PinchArea to react to that gesture on an OS X trackpad.
  • MouseArea now has a scrollGestureEnabled property to control whether native scroll gestures from the OS will be handled by the wheel signal handler.
  • Qt Quick Controls
  • Qt Quick Extras (formerly Qt Quick Enterprise Controls) was added under the QtQuick.Extras import.
  • TreeView control for QAbstractItemModel-derived models. Supports QItemSelectionModel selection.
  • Qt WebEngine
  • WebEngineProfile for control of storage and cache paths and related policies.
  • Added support for javascript Geolocation API with QtLocation as a backend
  • Added API for managing downloading of files
  • Added API for controlling cache and cookie paths and policy
  • Added API for WebEngine settings
  • Various experimental QML API has been promoted to public
  • Added QtWebChannel integration API over Chromium IPC
  • Updated Chromium snapshot to version 40
  • Qt WebView
  • Added native implementations for Mac OS X.
  • Added API for running JavaScript (Requires API 19+ on Android).
  • Added API for setting the HTML content.
  • Added API for load status notifications.
  • New Modules:
  • Qt 3D
  • The Qt 3D module is now included as a technology preview.
  • C++ and QML APIs for easy inclusion of 3D graphics into your Qt applications.
  • Supports OpenGL 2, 3, 4 and OpenGL ES 2 and ES 3.
  • Data-driven renderer configuration.
  • Extensible beyond 3D graphics. Provides a full Entity Component System framework.
  • Supported platforms: Windows (not RT), OS X, Linux xcb, Android, Embedded Linux with ES 2(QNX & iOS coming)
  • Qt Canvas 3D
  • Added Qt Canvas 3D module, a JavaScript 3D rendering API for Qt Quick.
  • Qt Location
  • Tech preview of this new module
  • Adds mapping, (reverse-)geocoding, routing and place features to Qt.
  • Deprecated Functionality:
  • With Qt 5.5 the following modules are deprecated
  • Qt WebKit
  • Qt Declarative (Qt Quick 1)
  • Qt Script
  • These modules are still included in the Qt 5.5 release, but considered for removal in the future releases of Qt.
  • New Configurations:
  • Qt 5.5 does not add support to new operating systems, but there are many changes in supported platform and compiler versions. More details what is now tested in Qt CI, please check Qt-5.5.0-tools-and-versions

New in Qt 5.5.0 Beta (May 15, 2015)

  • 3D and OpenGL Features:
  • While Qt has had OpenGL integration and support for many years, the integration was mainly about low level enablers and classes. With Qt 5.5, we are now adding two new modules, that greatly extend our set of 3D APIs: Qt Canvas 3D and Qt 3D.
  • The first module that makes using 3D easier in Qt is Qt Canvas3D. The module first appeared as a Technology Preview in Qt 5.4, but is now fully supported in Qt 5.5. It provides a WebGL-like API that can be easily implemented using Qt Quick, which greatly simplifies 3D content integration. WebGL itself is a low level API, but Qt Canvas3D can be used in conjunction with JavaScript frameworks such as three.js making loading and displaying 3D content trivial.
  • Another major new feature, available as a Technology Preview, is the new Qt 3D module. Qt 3D is a module that existed during Qt 4 times, but was never added to Qt 5…yet. Thanks to our partner KDAB, it has now undergone a major refactoring and is an even better solution than the Qt 4 version.
  • Qt 3D takes our 3D support a good step upwards making it a lot easier to use and integrate 3D content into Qt applications. The module provides both C++ and QML APIs. For more details what Qt 3D 2.0 brings, you can check Qt 3D documentation and KDAB’s series of blogs. Being a Technology Preview, the module still has some rough edges. Please let us know what you think, so that we can turn Qt 3D into a fully supported part of Qt with Qt 5.6.
  • Qt Quick and Multimedia related news:
  • A good amount of work has gone into improving the QML engine, which is the basis for Qt Quick. Apart from many bug fixes and performance improvements, it now supports JavaScript typed arrays and a new method to interface with your own value based classes.
  • Enterprise Controls have been folded into the base Qt Quick Controls and are also made available in the Community version. We also added a TreeView control to complete the set of controls required for building desktop applications.
  • A lot of work has also been put into Qt Multimedia. On Linux, we now use gstreamer 1.0 as the default backend and lots of bugs have been fixed for the other platforms. The new Video filtering framework is a great new feature that allows the integration of frameworks, such as OpenCL or CUDA with VideoOutput elements.
  • Qt WebEngine and WebView:
  • Qt WebEngine has been updated to Chromium version 40 and has received new APIs for managing downloading of files, controlling cache and cookies, as well as settings. Support for Qt WebChannel is now built-in and many experimental APIs are now public and fully supported.
  • The Qt WebView module has some new APIs and now also supports Mac OS X in addition to Android and iOS.
  • Qt Location:
  • Qt Location is another module that has made its way from Qt 4 to Qt 5 as a Technology Preview. Your feedback on this will be important to make this module an integral part of the Qt 5.6 release. Qt Location adds mapping, geocoding, routing and places support to Qt. In conjunction with the existing Qt Positioning API, it should give you all you need to create location aware applications. Qt Location can make use of different mapping providers, such as Nokia Here, Mapbox and Openstreetmap currently.
  • Other Improvements:
  • Many other things have been improved with Qt 5.5, you can find description of all the new features on our wiki. For example, we now support more platforms for Bluetooth LE and there is a new SSL backend based on Secure Transport for Mac OS X and iOS.
  • We have also updated the supported platform and compiler configurations. On Linux we are now supporting RedHat Enterprise Linux better than before, and the binaries can also be directly used on RHEL as well as many other Linux distributions. For Mac users OS X versions 10.8, 10.9 and 10.10 are supported by Qt 5.5. We are not yet officially supporting Windows 10, as it has not been released, but we have been using the pre-releases in development and will add support to Windows 10 with Qt 5.5.x patch release after it is available.
  • Deprecated Modules:
  • With all these new features coming, some older ones are being deprecated, namely Qt WebKit, Qt Script, and Qt Declarative (Qt Quick 1). All of these modules are still available with Qt 5.5, but we strongly recommend using their replacements for any new functionality: Qt WebEngine, Qt Quick, and Qt QML, which also provides a fully compliant JavaScript engine. While there are still some smaller feature gaps in a few places between these modules, we believe that the replacements are now better than the deprecated modules. We will of course continue to improve the new modules and will try to fill any remaining feature gaps from the old ones.

New in Qt 5.4.1 (Feb 24, 2015)

  • Qt 5.4.1 restores binary compatibility for Qt 5.3.2 (and the Qt 5 series) on Windows. Unfortunately Qt 5.4.0 broke binary compatibility on Windows when using MSVC 2012 or MSVC 2013, which is now fixed in Qt 5.4.1, and thus it maintains backward and forward compatibility with the Qt 5 series (except for Qt 5.4.0). Qt 5.4.1 also fixes many of the known issues of Qt 5.4.0, including building Qt on Linux without dbus (QTBUG-43205). Starting with Qt 5.4.1, QtDBus is enabled for all builds.
  • Other important fixes in Qt 5.4.1 include enabling JIT by default in the Qt Quick Engine (QTBUG-43171), a couple of critical fixes to OpenGL (QTBUG-43178 and QTBUG-43318), and fixes to Mac binaries (QTBUG-42594, QTBUG-43100). Qt 5.4.1 also provides a large number of improvements to WinRT (for example QTBUG-41769, QTBUG-43862, and QTBUG-44196), and adds support for Windows 10 Technical Preview (QTBUG-43413).
  • The device creation reference stacks for embedded Linux and embedded Android have also been updated to use Qt 5.4.1. There are some improvements in functionality, for example better support for compiling projects using embedded Linux toolchains and having add-on modules built into the image included in the generated Qt Creator custom Kit.

New in Qt 5.4.0 (Dec 11, 2014)

  • RENEWED WEB STORY:
  • HTML5 and Web technologies have become more and more important over the last years, and we have spent the last year developing a completely renewed Web offering for Qt. The Qt WebEngine module is the result of a long-term R&D project where we adopted the Chromium Web engine for use within Qt. With Qt 5.4, it is fully supported on the most used desktop and embedded platforms. Qt WebEngine provides you with an easy-to-use API to embed Web content in both Qt Widgets and Qt Quick based applications.
  • The new Qt WebChannel module provides a simple-to-use bridge between QML/C++ and HTML/Javascript. This enables the creation of hybrid applications that use both Qt and Web technologies. Communication between both sides happens by exposing QObjects in the Web context. The module works not only with Qt WebEngine, but also with any other browser engine that has support for Web sockets.
  • As a third component, Qt 5.4 introduces a Technology Preview of a new module called Qt WebView. The Qt WebView module offers a more limited API to embed the web browser that is native to the underlying operating system for use cases where the full Qt WebEngine isn’t needed, or where it can’t be used because of restrictions coming from the underlying OS. In Qt 5.4, the Qt WebView module supports iOS and Android.
  • Together with the Qt WebSockets module introduced in Qt 5.3, Qt now has great support for many of the latest Web technologies and makes interacting with Web content very easy. Qt WebEngine and Qt WebView make it very easy to embed HTML5, Qt WebChannel creates the communication channel between Qt and HTML5 that is required for hybrid applications, and Qt WebSockets allows for an easy communication between Qt and many Web services.
  • Qt 5.4 also still contains the older Qt WebKit module. Qt WebKit is still supported, but as of Qt 5.4 we consider it done, so no new functionality will be added to it. We are also planning to deprecate Qt WebKit in future releases, as the new Qt WebEngine provides what is needed. In most use cases, migrating from Qt WebKit to Qt WebEngine is rather straightforward. If you are starting a new project that requires web capabilities, we advise that you already start using Qt WebEngine.
  • QT FOR WINRT | COMPLETING OUR CROSS-PLATFORM OFFERING:
  • The second big new feature of Qt 5.4 is the completion of our cross-platform story with the full support for Qt on Windows Runtime. Qt for Windows Runtime was already added as a supported Beta to Qt 5.3, and has now reached the state where it is a fully supported part of Qt. With Qt for Windows Runtime, you can create applications for the Windows Store, targeting both Windows Phone 8.1 and above as well as Windows 8.1 and newer.
  • This port completes our cross-platform story and we feel that Qt now supports all currently relevant desktop, embedded and mobile operating systems.
  • GRAPHICS UPDATES:
  • Qt 5.4 brings also a lot of other new features and improvements. One focus are has been around graphics. With Qt 5.4, we now introduce better support for high-resolution displays for our desktop platforms. The support is still considered experimental in Qt 5.4, if you are interested, check out the overview documentation.
  • OpenGL support on Windows has been problematic in a few cases, since there aren’t always good drivers available. To help with this problem, Qt now has the capability to dynamically select the OpenGL implementation that is being used at application start-up time. Qt will now choose between using the native OpenGL driver, the ANGLE’s OpenGL ES 2.0 implementation that translates to DirectX or a pure Software rasterizer.
  • Qt Data Visualization has been updated to version 1.2 including additional features such as volume rendering and texture support for surface graphs and performance improvements. Qt Charts has now been updated to version 2.0 including better Qt 5 modularization, binary packages and minor improvements.
  • Other improvements on the graphics side is the new QOpenGLWidget class that replaces the old QGLWidget class from Qt 4 and allows us to deprecate the old Qt OpenGL module as all relevant functionality can now be found in Qt Gui. QOpenGLContext can now wrap existing native contexts. You can use the new QQuickRenderControl to render Qt Quick scenes into an offscreen buffer. For more details check out this blog post.
  • Finally, Qt 5.4 contains a technology preview of our new Qt Canvas3D module, that implements a WebGL like API for Qt Quick. This module makes it very easy to use Javascript code using WebGL within Qt Quick.
  • OTHER NEW FEATURES:
  • A large amount of other new features have also found their way into Qt 5.4. I’ll just mention a few of them in this blog post.
  • Qt now supports Bluetooth Low Energy on Linux using BlueZ. Support for other platforms will come in later versions of Qt. Bluetooth LE makes it possible to communicate with many modern Bluetooth devices such as e.g. wearables.
  • On Android we now have native looking Qt Quick Controls, as well as smaller deployment packages and faster application startup times. For iOS and Mac OS X, we have now support for the latest operating system versions, XCode 6 and the new code signing style required to push applications into the App Store. We especially worked hard to fix all issues related to the new style on Mac OS X 10.10.
  • Qt Qml comes now with support for Qt State Machines through the new QtQml.StateMachine import, and Qt Core has gained a new QStorageInfo class giving you information about mounted devices and volumes.
  • Qt Quick Controls now also come with a brand new and great looking ‘flat style’ that can be used on all platforms.
  • Qt 5.4, also comes with a brand new version of Qt Creator, Qt Creator 3.3. For details on all the new things in there check out our separate blog post.
  • QT FOR DEVICE CREATION:
  • We now have preliminary support to run Qt Applications on Wayland using the Weston compositor on i.MX6 based devices, including support for Video and Qt WebEngine.
  • We added a new B2Qt Utils module that gives easy access to device-specific settings such as the display backlight, hostname or power state from both C++ and QML. The B2Qt Wi-Fi module is now officially supported and makes it easy to configure your Wi-Fi network.
  • With this version, we have also added new hardware reference platforms, including a low-end profile for the GPU-less Freescale Vybrid. The complete list of reference hardware supported by Qt for device creation can be found in the documentation.
  • Apart from these new features we have added a large amount of improvements:
  • eAndroid Qt Multimedia plugin update: The implementation of Qt Multimedia for embedded Android has been refactored, resulting in a cleanly separated and easier maintained plugin for that platform.
  • SD Card Flashing Wizard for easier b2qt image deployment: Simple wizard for writing system image to SD card; Integrated into Qt Creator
  • BYOS (Build Your Own Stack) Improvements: Improved scripts for initializing and managing the Yocto build environment: Using repo tool for managing the numerous meta repositories needed for different devices.
  • eLinux: Camera support for i.MX6 devices: All necessary GStreamer plugins for using camera in Qt Quick applications are now integrated into reference device images; MIPI camera support added
  • QT QUICK WITHOUT OPENGL:
  • Another great new feature for our embedded customers is the new Qt Quick 2D Renderer module. This new commercial add-on allows using Qt Quick on embedded devices that have no OpenGL hardware acceleration. The new Qt Quick2DRenderer module can render most of Qt Quick using pure software rasterization or 2D hardware acceleration through e.g. DirectFB or Direct2D. The module support all of Qt Quick with the exception of OpenGL shaders and particles.
  • This enables the creation of Qt Quick based user interfaces with a modern look and feel on lower end devices than before. In addition, the ability to use the Qt Quick API across a device portfolio spanning devices both with and without OpenGL significantly reduces the amount of UI code you need to write and maintain. To showcase the Qt Quick 2D Renderer’s capabilities, we have added the Toradex Colibri VF50 and VF61 devices as new reference hardware to the Boot to Qt software stack, demonstrating our ability to run on the Freescale Vybrid SoCs.
  • INTRODUCTION OF LGPL V3:
  • As announced earlier, the open-source version for Qt 5.4 is also made available under the LGPLv3 license. The new licensing option allows us at The Qt Company to introduce more value-add components for the whole Qt ecosystem without making compromises on the business side. It also helps to protect 3rd party developers’ freedom from consumer device lock-down and prevents Tivoization as well as other misuse.
  • In Qt 5.4, a few modules are exclusively available under GPL/LGPLv3 or commercial license terms. These modules are the new Qt WebEngine and the Technology Previews ofQt WebView and Qt Canvas 3D. The Android style is only available under a commercial license or the LGPLv3. You can find more details here.
  • NEW FEATURES:
  • Qt GUI:
  • QOpenGLContext is now able to adopt existing native contexts (EGL, GLX, …). This allows interop between Qt and other frameworks, like game engines.
  • OpenGL ES 3.0/3.1 support is improved. The header file for the highest usable ES version (gl31.h, gl3.h or gl2.h) is now automatically included by Qt’s headers in -opengl es2 builds. Vertex array objects, framebuffer blits and multisampling are now supported via the standard GLES3 functions, where applicable.
  • Dynamic OpenGL implementation selection on application startup is now available on Windows when configured with -opengl dynamic. This allows using either opengl32.dll or ANGLE’s OpenGL ES 2.0 implementation in Qt and applications without the need for two separate builds of the binaries.
  • QOpenGLWidget: The modern replacement for QGLWidget and the counterpart of QQuickWidget.
  • QOpenGLWindow: Convenience class for performing OpenGL drawing onto a QWindow.
  • QRasterWindow: Covenience class for performing software-based drawing via QPainter onto a QWindow.
  • Support for 10-bit per color channels images. These can be rendered to and from, though internally the raster engine will still only use 8-bit per color channel. If used as the internal format of a QOpenGLFramebufferObject the OpenGL paint engine is able to render in full precision if supported by the OpenGL driver.
  • WinRT: Added support for native file dialogs
  • Qt Core:
  • WinRT: Added support for native settings container (local and roaming):
  • QStorageInfo: Class for providing information about currently mounted storage volumes and drives.
  • QByteArrayList: Convenience class adding similar extra methods on top of QList as QStringList does to QList.
  • QTabletEvent: added information about which stylus buttons are pressed; rotation and tangentialPressure have consistent ranges across platforms; proximity events include the type of stylus or other tool in use; manual tests and debug output are improved for better verification of functionality.
  • Qt Widgets:
  • Improved scaling of widget styles based on DPI.
  • Android style now also works when not using Ministro for deployment
  • Qt QML:
  • Declarative State Machine (DSM): QML wrapper for Qt’s State Machine Framework.
  • Qt Quick:
  • QQuickRenderControl is made public. This API allows efficient rendering of Qt Quick 2 scenes into framebuffer objects. The contents can then be used in arbitrary ways in Qt-based or 3rd party OpenGL renderers.
  • Introduced overlay and “pull back” headers and footers for ListView:
  • Added QQuickFontMetrics, which provides a subset of QFontMetricsF’s API.
  • Added QQuickTextMetrics, which provides a declarative API for the functions in QFontMetricsF which take:
  • arguments.
  • QQuickWidget is now supported on Android too.
  • Qt Quick Controls:
  • Android style
  • Qt Bluetooth:
  • Support for Bluez5:
  • Tech Preview of Bluetooth Low Energy (client side support only, on Bluez 4 & 5)
  • QPA plugins:
  • The Wayland platform plugin is now part of the release.
  • XCB will now support screen with a depth of 30 (10 bit per color channel).
  • More font settings are parsed by fontconfig and GTK platform backends.
  • More categorized logging is in use so that you can enable it in the standard ways (qtlogging.ini etc.) instead of needing to set obscure environment variables or uncomment #defines. The log also provides more complete information, especially about events.
  • Support for integer device pixel ratios larger than one has been added to the XCB plugin. The ratio is controlled by the environment variable QT_DEVICE_PIXEL_RATIO.
  • Qt WebEngine:
  • New module with a web engine based on Chromium.
  • Qt WebKit:
  • Added support for OpenGL accelerated 2D canvas to QtWebKitWidgets.
  • OpenGL acceleration now also works with QOpenGLWidget.
  • The Qt WebKit module is considered done. It will in future be replaced by Qt WebEngine. This applies to the Widgets as well as to the QML API of Qt WebKit.
  • Qt WebChannel:
  • Introduction of a new module to bridge the gap between QML/C++ and HTML/JavaScript for Qt WebKit and other browser engines.
  • Qt Windows Extras:
  • Multiple thumbnail images when hovering over an application’s taskbar.
  • Qt Sensors:
  • Windows Phone: Added compass and ambient light sensors
  • Qt SQL:
  • Windows Phone: Added support for sqlite
  • Qt Network:
  • New bearer plugin for Android
  • PLATFORMS:
  • Qt for WinRT supported platform
  • Windows Phone 8.1 minimum supported version
  • iOS:
  • Accessibility support added. This enables Qt applications to be read by VoiceOver.
  • iOS port now uses fat builds with both 32-, and 64-bit support.
  • Improved support for iPhone6/6+.
  • QtQuick Controls now uses native text selection and popup menus.
  • Default theme fonts now uses Dynamic Type, which is based on user system settings.
  • DEPRECATED FEATURES:
  • Qt OpenGL:
  • The Qt OpenGL module (which contain classes that start with “QGL”) is now deprecated in favor of the Qt GUI module (which contain classes that start with “QOpenGL”). QGLWidget can now be replaced by QOpenGLWidget.

New in Qt 5.3.1 (Jun 27, 2014)

  • QTBASE:
  • QtCore:
  • QAbstractProxyModel:
  • Fixed QAbstractProxyModel::sibling to work in the same manner as the Qt4 code used to behave. Previously, Qt5's implementation would treat the row and column as positions in the source model instead of a position in the proxy itself.
  • QtGui:
  • Text:
  • [QTBUG-36083] Respect QFont::fixedPitch() for fallbacks when font family cannot be matched.
  • [QTBUG-37190] Fixed crash when trying to load a font from invalid data.
  • QtSql:
  • QDB2 and QODBC:
  • [QTBUG-39137] Fix error handling problem caused by unintialized variable passed to SQLNumResultCols.
  • QPSQL:
  • [QTBUG-12477] Fix PSQL column metadata.
  • QSqlQuery: Fix misbehavior of seek in special query positions BeforeFirstRow and AfterLastRow. (commit 3e6e70bddd84536deaae69421d05785ae6ce28cd)
  • [QTBUG-33169] Fix for bindvalue(int) memory allocation problem.
  • QtWidgets:
  • QMenu:
  • [QTBUG-38498] Accessibility: Menus are now read by screen readers with more reliability.
  • QTCONNECTIVITY:
  • General Improvements:
  • [QTBUG-38140] Changed btchat example to use full service discovery to increase chance of finding remote services. Some platforms such as Android may not be able to find remote services via a minimal service discovery.
  • QtBluetooth:
  • QML BluetoothDiscoveryModel:
  • Fixed inconsistent behavior whereby the QML model never reset its content while the underlying QBluetoothServiceDiscoveryAgent instance did reset. This caused the QML model to show an incomplete list of remote Bluetooth services during its second run.
  • QDebug helper for QBluetoothUuid became aware of QT_NO_DEBUG_STREAM define.
  • QBluetoothSocket:
  • Fixed duplicate emission of unconnected state in the reconnection case.
  • Fixed crash when calling listen() on the QML BluetoothService type.
  • Added some documentation improvements.
  • Added "classname" entry to all qmldir files enabling QML
  • QTDECLARATIVE:
  • QtQuick - Platform Specific Changes:
  • Added canPaste property to TextInput element also on platforms that don't support a clipboard (QT_NO_CLIPBOARD is defined). plug-ins when doing static builds (on iOS).
  • QTDOC:
  • Documentation: Fixed several missing information or incorrect information.
  • QTENGINIO:
  • This release contains only minor code improvements.
  • QTLOCATION:
  • General Improvements:
  • Added PLUGIN_CLASS_NAME variable to all plug-in based projects. This enables the automatic static linking and deployment of this plug-ins
  • Library - QtPositioning:
  • QGeoPositionInfoSource
  • WinRT backend added
  • QTMULTIMEDIA:
  • Importing QtMultimedia in QML with the 5.3 version number is now correctly recognized.
  • QTBUG-38218][QTBUG-30447] VideoOutput (QML): Fix garbled rendering of video frames when the stride is not equal to the width.
  • QTBUG-38755] Fixed parsing PLS playlist files when the system's locale is not English.
  • Windows:
  • [QTBUG-39202] Fixed crash on application startup when using a static version of Qt.
  • QTQUICKCONTROLS:
  • Important Behavior Changes - Calendar:
  • QTBUG-38848] Calendar no longer selects dates in the next/previous month when dragging the mouse.
  • Library:
  • QtQuick.Controls:
  • Calendar:
  • [QTBUG-38847] Fixed layouting and grid cell calculation
  • ComboBox:
  • [QTBUG-38054] Fixed the height of ComboBox
  • [QTBUG-38384] Fixed the width of the button
  • [QTBUG-38036] Fixed currentText to be correctly updated when the current index goes from -1 to 0
  • Menu:
  • [QTBUG-39384] Fixed the disabled state handling for QPA menus
  • ScrollView:
  • [QTBUG-38083] Ensured that child MouseAreas will get mouse events first
  • Fixed the scrollbar handle position calculation
  • Fixed scrolling of parent ScrollViews when reaching the bounds of a ScrollView
  • TableView:
  • [QTBUG-38789] Fixed styleData.row to be a binding so it updates correctly for dynamically changing models
  • Fixed the position of "filled" rows to move together with content
  • [QTBUG-39337] Fixed TableViewColumn::resizeToContents() to process all rows
  • [QTBUG-39393] Fixed the content width calculation with a hidden header
  • [QTBUG-39393] Allowed resizing and scrolling single-column tables
  • TabView:
  • Fixed handling of invalid indexes for TabView::getTab()
  • Fixed the currentIndex to be updated correctly when inserting/removing tabs
  • Fixed styleData.activeFocus for the tab-delegate be true when the tab button itself has active focus instead of the whole tabbar
  • [QTBUG-38819] Fixed styleData.previousSelected for the tab-delegate
  • QtQuick.Dialogs:
  • Dialog: [QTBUG-39339] Prevented click passthrough when a dialog is showing
  • FileDialog: [QTBUG-39204] Fixed back and esc keys to reject the dialog

New in Qt 5.3.0 (May 20, 2014)

  • NEW FEATURES:
  • Qt Core:
  • Logging: You can now configure logging rules (i.e. which message types for which categories are printed) on the filesystem, in QtProject/qtlogging.ini. You can also using qCDebug and friends in a printf-style way, in addition to the streaming operator syntax.
  • Qt GUI:
  • Qt’s iOS plugin now implements support for input methods, spell checking and word completion.
  • Embedded Linux platform specifics (plugins like eglfs and linuxfb) are now documented.
  • New classes QPageSize and QPageLayout to manage PDF and printed document page sizes and layout.
  • QPdfWriter uses QPageSize and QPageLayout, can now set page orientation and paint resolution.
  • EGL support is now able to cope with OpenGL ES 3.0 and desktop OpenGL versions
  • Qt Print Support:
  • New QPA class QPlatformPrintDevice to abstract platform print device hardware, new implementations for Windows, Mac and Linux.
  • QPrinterInfo provides more details on the print device hardware
  • QPrinter uses QPageSize and QPageLayout to improve page layout handling
  • QPrinter has had the behaviour of most functions standardised across all platforms (as detailed below)
  • Mac can now have each painted page with a different orientation, and can set Collate Copies and Document Name.
  • Mac and Windows now support setting Document Creator and Duplex Mode
  • Mac and Linux now support using Windows Page ID (DMPAPER values)
  • Linux now requires CUPS 1.4 (RHEL 5 no longer supported)
  • Qt Quick:
  • Introduced QQuickWidget for easy and flexible integration of Quick views with QWidget-based UIs.
  • MultiPointTouchArea will either handle the mouse as a single touch point, or allow mouse events to pass through if mouseEnabled is false
  • Qt Quick Controls:
  • The Calendar control was added. Calendar allows selection of dates from a grid of days, similar to QCalendarWidget.
  • MenuStyle and MenuBarStyle introduced.
  • Qt Quick Dialogs:
  • The QML implementations are now built with QtQuick.Controls (and therefore the source is moved from qtdeclarative.git to qtquickcontrols.git), which enables adding some features such as folder shortcuts (both standard locations and bookmarked locations), and comboboxes for file filters and writing systems.
  • There is a new Dialog type which provides only the standard buttons, so that you can construct dialogs with arbitrary contents, such as various types of input dialogs and pickers.
  • Qt Network:
  • Support for the SPDY protocol (version 3.0) was added.
  • XCB/X11 platform plugin:
  • Support for XInput2 smooth scrolling. The plugin now listens for XInput2 scrolling events which means it will respond to high resolution smooth scrolling events on devices where they are supported. Currently this is mainly touch pads.
  • iOS platform plugin:
  • Support for input methods added.
  • Support for word completion and spell checking added.
  • Support for QClipboard added.
  • “Hide keyboard” gesture added.
  • Qt Multimedia:
  • A new QCameraInfo class was added. It allows to get static information about cameras such as physical position and sensor orientation. In addition, the class provides a way to list available cameras on the system and deprecates QCamera::availableDevices().
  • Qt WebKit:
  • Support for HTML5 Video Track. Subtitles and captions for HTML5 video.
  • Support for Indexed DB API. See http://www.w3.org/TR/IndexedDB/
  • Improved support for Mac HiDPI mode
  • Qt Positioning:
  • The module has been ported to Android and iOS. Android supports position and satellite updates while iOS supports position updates only.
  • Qt Bluetooth:
  • The module has been ported to Android.
  • Qt QML:
  • Profiling support for V4, using the same event types as the QML profiler.
  • Profile or debug multiple QML engines in one application with the new EngineControl debug service.
  • NEW MODULES:
  • Enginio A Backend-as-a-Service solution to ease the backend development for connected and data-driven applications.
  • Qt WebSockets An add-on module that implements the WebSocket standard (RFC 6455 – http://tools.ietf.org/html/rfc6455 ).
  • SUPPORT FOR NEW PLATFORMS:
  • Windows Runtime platforms: Windows 8/RT (Modern UI), Windows Phone 8
  • QT CREATOR 3.1:
  • Editors:
  • Better support of multiple editors/windows
  • C++:
  • Experimental new Clang based code model as opt-in
  • iOS:
  • Better support of multiple devices
  • QML:
  • Better Qbs support
  • Better defaulting/import resolving
  • Javascript profiler frontend (V4 only), integrated in QML profiler “events” and “timeline” views.
  • Debugger:
  • Improved LLDB support
  • Removed support for GDB builds without Python
  • Devices:
  • SSH parameters now available as QtC variables, e.g. for use in custom run configs
  • INSTALLATION:
  • New reference installers:
  • Qt for WinRT
  • Qt for Windows Phone
  • New target binaries:
  • Qt for MSVC 2013 (32 & 64 bit OpenGL and Angle)

New in Qt 5.2.1 (Feb 5, 2014)

  • IMPORTANT BEHAVIOR CHANGES:
  • [QTBUG-34345][QTBUG-26008][QTBUG-26430] QPrinter no longer allows you to set an invalid printer name.
  • [QTBUG-34141] Parsing of Qt::ISODate by QDate::fromString() and QDateTime()::fromString() is not as lenient as before, the date component separators are now required to be non-numeric. This means a string like "2000901901" will no longer be recognized as a valid ISO Date, but "2000/01/01" will still be even though it doesn't strictly meet the ISO format of "2000-01-01".
  • LIBRARY:
  • QtCore:
  • [QTBUG-35069] Fixed a bug that caused negative number input using '-' to be rejected because the current locale uses U+2212. QLocale::toString() as well as QIntValidator and QDoubleValidator now accept both '-' and U+2212, as well as the locale minus sign. QString also accepts '-' and U+2212.
  • Fixed sign conversion warnings in code using QMetaTypeId.
  • QTemporaryDir: Fixed a bug in QTemporaryDir name generator that dramatically reduced randomness of the name.
  • QThread: [QTBUG-34840] Fixed handle leaks on Windows.
  • QtGui:
  • [QTBUG-35421] Fixed crash when sending accessibility updates when the corresponding widget does not have a corresponding QAccessibleInterface. This showed on Mac for example with QStatusBar.
  • Qt's generic font database now adds OpenType fonts (.otf).
  • QKeySequence: [QTBUG-24406] return Qt::Key_unknown with invalid modifiers on OS X
  • Text: [QTBUG-35740] Fixed regression when shaping some strings containing characters from multiple fonts.
  • QtPrintSupport:
  • [QTBUG-34700][QTBUG-35500] Fixed bugs that caused QtPrintSupport not to report the correct the paper sizes on Windows and on OS X.
  • QtSql:
  • IBase support: [QTBUG-33345] Custom port numbers are now supported; [QTBUG-13435] Fixed the internal state of IBase driver after a failed open call.
  • MySQL / MariaDB support: [QTBUG-31124] Fixed handling of fractions of second.
  • Oracle support: [QTBUG-34794] Fixed the compilation
  • Sqlite support: [QTBUG-24200] Fixed handling of fractions of second; [QTBUG-35186] Fixed evaluation of driver options
  • QtTestLib:
  • [QTBUG-34630] The (default) plain text logger on Windows now logs to either the system debug log (in case no console is open), or stdout, not both.
  • QtWidgets:
  • QSpinBox: [QTBUG-20691] Entering positive values with the '+' prefix is now
  • allowed.
  • PLATFORM SPECIFIC CHANGES:
  • Android:
  • [QTBUG-34984] Added workarounds for OpenGL bugs on Samsung Galaxy Tab 3.
  • OS X:
  • [QTBUG-34411] Implemented QMainWindow::setUnifiedTitleAndToolBarOnMac.
  • X11 / XCB:
  • [QTBUG-32683] Fixed a bug that caused Qt applications to think the screen DPI had changed when it had not, after connecting or disconnecting monitors.
  • Windows:
  • [QTBUG-8361] Maximizing frameless windows will no longer cover the taskbar
  • [QTBUG-34799] Updated QWidgetBackingStore and the Windows implementation to support Qt::WA_StaticContents.
  • [QTBUG-35357] Fixed a regression from Qt4 in QProcess that prevented altering the pipe modes of stdin in the child process.
  • TOOLS:
  • Configure & build system:
  • [QTBUG-34949] EGL works with desktop OpenGL now
  • A build from source will not install the Qt DLLs into lib/ any more. The canonical location is bin/.
  • qmake:
  • [QTBUG-35530] Fixed the detection of multiple VS installations.
  • [QTBUG-35610] Fixed the generation of VS 2010 project files.
  • [QTBUG-32412] Numerous fixes to Windows PDB file handling.
  • [QTBUG-3883] Fixed make distclean not removing static library targets.
  • Added makespec for clang using libc++ on Linux.
  • qmake will not look for mkspecs/ directories in project trees any more. Use .qmake.conf and/or .qmake.cache to "anchor" project roots.

New in Qt 5.2.0 (Dec 12, 2013)

  • Qt is now compiled with qreal typedef'ed to double on all platforms. qreal was a float on ARM chipsets before. This guarantees more consistent behavior between all platforms Qt supports, but is binary incompatible to Qt 5.1 on ARM. The old behavior can be restored by passing -qreal float to configure. The supported date range in QDateTime has been reduced to about +/- 292 million years, the range supported by the number of msecs since the Unix epoch of 1 Jan 1970 as stored in a qint64, and as able to be used in the setMSecsSinceEpoch() and toMSecsSinceEpoch() methods.
  • QUrl and QUrlQuery:
  • [QTBUG-31660] QUrl no longer considers all delimiter characters equivalent to their percent-encoded forms. Now, both classes always keep all delimiters exactly as they were in the original URL text.
  • [QTBUG-31660] QUrl no longer decodes { and } to "{" and "}" in the output of toString()
  • QUrl no longer supports QUrl::FullyDecoded mode in authority() and userInfo(), nor QUrl::DecodedMode in setAuthority() and setUserInfo().
  • [QTBUG-31945] QUrl no longer decodes # found in the fragment to "#" in the output of toString(QUrl::FullyEncoded) or toEncoded()
  • QUrl now defaults to decoded mode in the getters and setters for userName, password, host, topLevelDomain, path and fileName. This means a '%' in one of those fields is now returned (or set) as '%' rather than "%". In the unlikely case where the former behavior was expected, pass PrettyDecoded to the getter and TolerantMode to the setter.
  • QUrl now normalizes the path given in setPath, removing ./ and ../ and duplicate slashes.
  • QWheelEvent has gained a "phase" attribute and may now be sent with zero delta() in order to indicate beginning and end of transient scrolling.
  • QtCore:
  • Added QCollator, a class to collate Unicode strings.
  • Added QCommandLineParser, a class to parse command lines.
  • Added QFileSelector, a class to select platform-specific file assets.
  • Added QLoggingCategory and related functions for logging
  • [QTBUG-23946] Fixed a bug that prevented Qt from being built in a namespace on Mac OS X.
  • Updated the locale database to CLDR 23.1
  • Added support for ARMv8 64-bit mode.
  • Metatype system (QMetaType & QVariant):
  • Qt now handles metatypes automatically for std::vector, std::list,
  • std::pair and std::map
  • The metatype system now supports registering explicit conversion
  • functions via QMetaType::registerConverter
  • The metatype system now supports iteration over a container type via
  • QSequentialIterable and QAssociativeIterable
  • Registering the same type name twice will now print only a warning (as
  • opposed to aborting the execution of the program)
  • Qt Containers:
  • In debug mode, the Qt containers will now verify whether the iterators
  • passed to most mutating functions belong to the iterator in question.
  • Fixed a number of bugs that would modify shared containers when calling
  • erase(), under corner-case conditions.
  • QtAlgorithms
  • With STL no longer being optional for building and using Qt, a number of parts
  • of QtAlgorithms no longer make sense, and have therefore been deprecated.
  • Replacements are available in the STL, and generally have much better
  • performance, but are not instantly source-compatible in all cases. For
  • instance, specialization of qLess or qSwap means that a direct port to
  • std::sort from qSort may not be possible, as std::sort does not use any of
  • them; a possible workaround is explicitly passing a qLess functor to
  • std::sort:
  • std::sort(container.begin(), container.end(), qLess());
  • The functions in QtAlgorithms that have been deprecated, along with their
  • STL counterparts, are:
  • qBinaryFind (std::binary_search / std::lower_bound)
  • qCopy (std::copy)
  • qCopyBackward (std::copy_backward)
  • qEqual (std::equal)
  • qFill (std::fill)
  • qFind (std::find)
  • qCount (std::count)
  • qSort (std::sort)
  • qStableSort (std::stable_sort)
  • qLowerBound (std::lower_bound)
  • qUpperBound (std::upper_bound)
  • qLess (std::less)
  • qGreater (std::greater)
  • QByteArray:
  • Added QByteArray::Base64Url and QByteArray::OmitTrailingEquals flags
  • for QByteArray::toBase64 and fromBase64.
  • [QTBUG-34694] Fixed a bug that would cause QByteArray to overflow some
  • size calculations.
  • QCoreApplication:
  • [QTBUG-15379][QTBUG-30628] Fixed a bug that caused Qt to mis-parse a
  • command-line argument like -DKEY=\"VALUE\" on Windows.
  • QDateTime:
  • [QTBUG-26161][QTBUG-29666] Fully implement support for Qt::TimeSpec of
  • Qt::OffsetFromUTC, added new methods for offsetFromUTC(),
  • toTimeSpec(), and toOffsetFromUTC().
  • Added convenience methods for fromMSecsSinceEpoch() and fromTime_t()
  • to take time spec to be used in returned datetime.
  • Add method timeZoneAbbreviation() to return effective time zone
  • abbreviation.
  • The debug datastream is now an ISO-like format instead of Qt::TextDate
  • The Standard Time to Daylight Time transition for Qt::LocalTime is now
  • handled correctly. Any date set in the "missing" hour is now
  • considered invalid. All date math results that fall into the missing
  • hour will be automatically adjusted to a valid time in the following
  • hour.
  • Added new method isDaylightTime() to return if the datetime is in
  • Daylight Time or not.
  • Added support for a new Qt::TimeZone spec to be used with QTimeZone to
  • define times in a specific time zone.
  • Added Qt::RFC2822Date format that can be passed to QDateTime and
  • QLocale formatters and parsers.
  • Fixed a bug that caused QDate::toString() to return empty for dates
  • with years beyond 9999.
  • QFileSystemWatcher:
  • [QTBUG-33211] Fixed a bug that caused QFileSystemWatcher to emit change
  • notifications with the wrong path on Linux.
  • QJson:
  • [QTBUG-33229] The Writer and the Parser now fully accept non-character
  • unicode points.
  • The Writer will no longer write inf, -inf and nan for infinites and NaN
  • values, which resulted in parsing back as strings. Instead, it will now
  • output null.
  • The Writer now emits numeric values with full numeric precision. This
  • also allows QJson to support integer values with no loss of precision
  • up to 2^53.
  • QJsonValue:
  • Added QJsonValue::toInt(). QJsonValue can store 32-bit signed integers
  • with no loss of precision.
  • QObject:
  • New-style signal connections to functors, lambdas, and static functions
  • now works with a receiver object. The connection will be removed when
  • the either the sender or receiver objects are destroyed.
  • QPluginLoader:
  • QPluginLoader will no longer load the plugins on Mac OS X and iOS
  • systems when scanning for valid plugins.
  • Added QPluginLoader::staticPlugins(), which returns the list of
  • built-in plugins (linked to the executable and any loaded libraries).
  • QProcess:
  • [QTBUG-32958] Fixed a bug that would cause QProcess to crash if
  • waitForStarted() were called after an unsuccessful start()
  • Added QProcess::nullDevice(), which returns the platform's "blackhole"
  • device (/dev/null on Unix, NUL on Windows). This can be used with
  • QProcess::setStandardOutputFile.
  • Added enum values QProcess::ForwardedOutputChannel and
  • QProcess::ForwardedErrorChannel, which allow for more fine-grained
  • control over which channel is forwarded and which one is captured.
  • Added QProcess::ForwardedInputChannel, which allows for stdin to be
  • forwarded to this process's input.
  • QTBUG-32979] On Unix, QProcess now correctly forwards the siginfo_t
  • and context parameters of the signal handler to the previous handler.
  • QScopedPointer:
  • Added QScopedPointerDeleteLater, a new class that can be used as the
  • second template to QScopedPointer and will call deleteLater() on the
  • pointer when it goes out of scope.
  • QSocketNotifier:
  • Fixed a bug that caused socket notifiers not to be re-enabled after
  • they had been activated on BlackBerry.
  • QStandardPaths:
  • QStandardPaths::enableTestMode is deprecated and is replaced by
  • QStandardPaths::setTestModeEnabled.
  • Added QStandardPaths::GenericConfigLocation, which refers to a location
  • where applications can store config files to be shared with other
  • applications.
  • QThread:
  • Added an advisory interrupt mechanism (QThread::requestInterruption and
  • QThread::isInterruptionRequested).
  • QThreadPool:
  • Added method clear() to remove any queued QRunnables.
  • Fixed a number of race conditions.
  • QTime:
  • [QTBUG-30250] When calling QTime::toString(Qt::TextDate) and
  • QTime::toString(Qt::ISODate), milliseconds are now included in
  • the returned string. This also applies to
  • QDateTime::toString(Qt::TextDate) and
  • QDateTime::toString(ISODate).
  • Added new methods fromMSecsSinceStartOfDay() to create a new QTime
  • from an msecs value, and msecsSinceStartOfDay() to return the QTime as
  • the number of msecs since the start of the day.
  • QTimeZone:
  • Added new QTimeZone class to support time tone calculations using the
  • host platform time zone database and the Olsen time zone ID's.
  • QUrl:
  • [QTBUG-33229] QUrl now fully accepts non-character unicode points;
  • they are encoded as percent characters; they can also be pretty
  • decoded
  • Added QUrl::RemoveFilename flag which can be passed to path(),
  • authority() and toString() and will cause the filename part of the path
  • the contents after the last '/') to be removed.
  • Added QUrl::fileName(), which returns just the filename part of the
  • path.
  • Added QUrl::NormalizePathSegments flag, which will cause QUrl to
  • remove "/./" or "/../" sequences as much as possible. It will not
  • remove "/../" from the beginning of the path.
  • Added QUrl::adjusted(), which returns a new QUrl with certain parts of
  • the original URL removed or normalized.
  • Added QUrl::matches(), which can be used to compare parts of two URLs
  • or to compare two URLs after normalization.
  • QUtf8:
  • [QTBUG-33229] UTF-8 now accepts non-character unicode points; these
  • are not replaced by the replacement character anymore
  • QVariant:
  • Fixed QVariant::canConvert with longlong
  • Variant containing enum types can now be converted to integer
  • QTBUG-33981] Fixed a bug that would cause QPolygonF to be saved or
  • loaded incorrectly in QDataStream.
  • QtDBus:
  • Improved error handling so as to give more feedback to the developer when
  • certain marshalling or demarshalling actions fail.
  • [QTBUG-27809] Fixed some race conditions related to delivering method
  • reply deliveries.
  • Fixed a bug that made non-slot invokables not get listed in the
  • auto-generated introspections.
  • QtDeclarative:
  • ColorDialog:
  • Added currentColor property.
  • [QTBUG-32928] ShortcutOverride events now work for QQuickItem
  • subclasses
  • QtGui:
  • Accessibility classes are now public allowing accessibility information for custom widgets/QQuickItems
  • Session Management:
  • {QTBUG-28228] The new QPlatformSessionManager class brings back the session management functionality. It allows the implementation of platform specific behavior related to session management. For platform that don't support this feature the default behavior has not changed. Both X11 and Windows session management are supported.
  • QPolygonF:
  • When a QVariant holds a QPolygonF() then it will be correctly seen as a null QVariant.
  • QImage:
  • Added three byte-ordered RGBA8888 format that simplifies interaction with OpenGL and other technologies that internally using RGBA formats.
  • QTBUG-27349] Reintroduced command line argument for positioning windows (-geometry on X11, -qwindowgeometry on other platforms)
  • [QTBUG-28832] Fixed regression from Qt 4 when using
  • QTextOption::ShowLineAndParagraphSeparators.
  • QtNetwork:
  • API was added to store and resume TLS session tickets.
  • The minimum support openssl version has been increased to openssl 1.0. The code to support older versions has not been removed, but is no longer supported.
  • An off-by-one error in NTLM proxy authentication has been fixed.
  • Various improvements to reduce the memory used by qtnetwork have been made.
  • Improved support for HTTP proxy authentication.
  • Support for preconnecting to servers before making HTTP and HTTPS connections. This allows for much reduced latency when the hosts to be connected to are known.
  • QtPrintSupport:
  • QPrintDialog
  • Added support for setting CUPS job options in the print dialog
  • Added support for setting CUPS Banner pages in the print dialog
  • Added support for setting CUPS Page Set (even/odd pages only) in the print dialog
  • Added support for setting CUPS Pages Per Sheet and Pages Per Sheet Layout options
  • Added CUPS server-side print range support for apps that can't support range option themselves
  • QtSql:
  • [QTBUG-29261] IBASE: Construct a valid QTime when creating timestamps for iBase SQL driver
  • [QTBUG-33389] PSQL: Format QDateTime following ISO8601 Add QSQLITE_OPEN_URI option to QSQLITE driver
  • QtWidgets:
  • Added class QKeySequenceEdit.
  • Added QMaxCocoaViewContainer and QMacNativeWidget classes.
  • QTBUG-1016] Added API to control tool tip timing via: new QToolTip::showTip() overload
  • QWidget::toolTipDuration() property.
  • QStyle::SH_ToolTip_WakeUpDelay and SH_ToolTip_FallAsleepDelay style hints.
  • [QTBUG-30255] Fixed a bug where spans across empty cells in a grid layout got broken.
  • [QTBUG-31569] WA_QuitOnClose now works even if there are other windows that don't have it set.
  • [QTBUG-32788] Properly handles Qt::WidgetWithChildrenShortcut shortcuts in MDI subwindows now.
  • [QTBUG-33078] QWidget::setWindowOpacity() now works when called before QWidget::show().
  • [QTBUG-33104] Fixed a bug where layout items with a Preferred size
  • policy would be treated as fixed size, if mixed with Expanding items having maximumSize set.
  • [QTBUG-33247] Changed accessible trees and tables to always expose hidden headers, instead of only exposing the visible headers.
  • [QTBUG-34007] Fixed a crash in tablet support.
  • Fixed a bug where the maximum size hint of a layout with spans was wrong.
  • Item delegates now cycle through all three states of tri-state checkboxes, the same way QCheckBox itself does.
  • QAbstractItemView:
  • [QTBUG-7232] In ItemViews scrollbars will now by default only scroll 1 pixel when scrollMode is set to scrollPerPixel. That is it will (when scrollMode is scrollPerPixel) do what is stated in the documentation, and no longer automatically adjust the scrollbar's singleStep. The user can now control that value.
  • QAbstractScrollArea:
  • QAbstractScrollArea now has a SizeAdjustPolicy. If it is set to
  • AdjustToContents it will make use of the protected viewportSizeHint() virtual function. This function returns a suggested size based on contents. Note that although the viewportSizeHint() virtual function was reserved in 5.0, user code was not supposed to be overriding it as the function was private and undocumented). Code that was overriding viewportSizeHint() needs to be recompiled against 5.2 for this feature to work correctly.
  • QButtonGroup:
  • [QTBUG-14857] Added buttonToggled() signals.
  • QColorDialog:
  • Added a web color QLineEdit.
  • [QTBUG-14332] Added a screen color picker button.
  • [QTBUG-31998] Does no longer create widgets when using the platform dialog.
  • [QTBUG-32054] Fixed a bug with keyboard navigation.
  • QComboBox:
  • QTBUG-31146] Fixed selection of items with identical text in popup completion.
  • Added currentData() convenience function which allows to retrieve the user data set for the current item.
  • QCompleter:
  • QTBUG-3414] Added filterMode property. The activated() signal now passes invalid indexes instead of random bogus ones when falling back to the completion prefix.
  • QDesktopWidget:
  • [QTBUG-32567] Fixed emission of workAreaResized() signal.
  • QDialogButtonBox:
  • Added a (StandardButtons,QWidget*) constructor.
  • QDockWidget:
  • [QTBUG-31044] The position of a dock widget is now kept when undocking.
  • [QTBUG-32260] Fixed a bug where visibilityChanged was signaled wrongly in certain multi-screen setups.
  • QFileDialog:
  • setDefaultSuffix() now removes leading dot characters.
  • Introduced DontUseCustomDirectoryIcons. This improves the file dialog performance under Windows for the case where there are lots of folders. Went from taking 60 seconds to 2 seconds, on a SDCard with 10k folders.
  • Added setMimeTypeFilters() for mimetype-based filtering, as an alternative to pattern matching.
  • Fixed removing of directories containing hidden or system files.
  • Added QUrl-based API for remote files.
  • [QTBUG-13182] Improved performance on Windows by not resolving NTFS symlinks (15x speedup on pessimistic workloads) and using extensions over calling GetFileAttributesEx() in certain cases.
  • [QTBUG-29403] Fixed potential crash in destructor of QFileInfoGather in threaded applications.
  • [QTBUG-34132] QFileDialog does no longer instantiate widgets if a native dialog will be used instead. Therefore some accessors which previously returned unused objects will now return null. As before, you can set the DontUseNativeDialog option to ensure that widgets will be created and used instead.
  • [QTBUG-33039] Does no longer create widgets when using the platform dialog.
  • QFontComboBox:
  • [QTBUG-1573] Made QFontComboBox locale-sensitive.
  • QFontDialog:
  • Now has finer-grained control over the types of fonts listed, similar to what QFontComboBox already had.
  • QGestureManager
  • Now supports Mac OS X native gestures.
  • QGraphicsView etc
  • Fixed a crash in QGraphicsProxyWidget.
  • [QTBUG-8061] Allow handling of mouseDoubleClickEvent in QGraphicsItems.
  • [QTBUG-19036] Make QGraphicsScene::items(QPointF) work using
  • Qt::{Contains,Intersets}ItemBoundingRect with items that contain the point in the bounding rectangle, but not their (custom) shape.
  • [QTBUG-29945] Fixed drop-shadow and blur effects when using a QGLWidget viewport.
  • QGroupBox:
  • [QTBUG-33610] The check indicator of a checkable group box is no longer clipped when using a small title font.
  • QHeaderView:
  • Reduced memory usage by 33%.
  • [QTBUG-4346] A maximumSize for sections has been introduced. The maximum section size is by default the largest possible section size which in Qt 5.2 has been limited to 1048575 pixels.
  • [QTBUG-32203] Fixed a painting bug involving hidden and reordered sections.
  • QInputDialog:
  • Added getMultiLineText static method.
  • QLayout:
  • Added replaceWidget() function.
  • QLineEdit:
  • QTBUG-32061] The cursor is now positioned correctly in an empty line edit with placeholder text.
  • Keep placeholderText visible when focused, until text is added.
  • Context-menu actions now have icons.
  • Made it possible to add side widgets.
  • Made it possible to add a clear button commonly used for item view filtering as a side widget
  • QListView:
  • QTBUG-1180] Dragging an item outside the QListView in icon mode no longer loses the icon. Also fixed a bug where under certain conditions code overriding QAbstractItemView::viewOptions() would not be called.
  • QTBUG-21433] Fixed content size calculation when either horizontal or vertical scroll bar policy is always off.
  • QMacStyle:
  • QTBUG-31668] Fixed a case where multiple auto-default button animations were running in parallel on OS X
  • QMainWindow:
  • Added takeCentalWidget() function.
  • QMenu:
  • Added QMenu::toNSMenu() conversion function (Mac only)
  • Added QMenu::setAsDockMenu() and qt_mac_set_doc_menu(QMenu *menu) functions (Mac only).
  • [QTBUG-31664] Moving the mouse over a menu separator now closes
  • any open sub menus.
  • QMenuBar:
  • [QTBUG-32807] Menus now close again on second click.
  • Added QMenuBar::toNSMenu() conversion function (Mac only)
  • QMessageBox:
  • May use native message boxes on some platforms now. setDetailedText() now works after show().
  • [QTBUG-2450] Added setCheckBox() function.
  • [QTBUG-6731] It is now possible to select some or all text from a QMessageBox and copy it to the clipboard.
  • QScrollBar:
  • Transient scrollbars are now properly shown when starting two-finger scrolling on OS X.
  • QSizePolicy:
  • Added a retainSizeWhenHidden attribute.
  • QSpinBox:
  • Values can now be displayed in different bases cf. displayIntegerBase property)
  • [QTBUG-31602][QTBUG-34305] Fixed size calculation when stylesheets are used.
  • QSplashScreen:
  • Added message(), a getter for the currently displayed message.
  • QSplitter:
  • Now gets the default value of opaqueResize property from (new) QStyle::SH_Splitter_OpaqueResize styleHint.
  • QStyle:
  • Added SH_ToolTip_WakeUpDelay and SH_ToolTip_FallAsleepDelay.
  • Fixed SH_ItemView_ActivateItemOnSingleClick not being retrieved correctly from the platform theme.
  • QSystemTrayIcon:
  • [QTBUG-31762] Fixed position of system tray icon on Linux/X11 except Unity).
  • [QTBUG-33461] Increased the maximum length of a system tray tooltip on Windows to what it was in Qt 4.
  • QTableView:
  • QTBUG-4206] resizeToContents will now adjust to actual contents and not just visible area. QHeaderView::setAutoResizePrecision() has been introduced to control how precise the autoResize should be.
  • QTextEdit:
  • Added placeholderText akin to QLineEdit.
  • Context-menu actions now have icons.
  • QToolTip:
  • Added new showText() overload taking a duration.
  • QTreeView:
  • Added setTreePosition() function.
  • QWidget:
  • Added window{Title,Icon,IconText}Changed() signals.
  • Added toolTipDuration property.
  • QWindowContainer:
  • [QTBUG-32177] Sets active window correctly now.
  • [QTBUG-34138] Will not create native child widgets any more.
  • QWindowsVistaStyle:
  • [QTBUG-26503] Does no longer draw inapplicable scroll bar
  • grippers on Windows 8.
  • QWizard:
  • [QTBUG-26722] The default background pixmap works again on OS X.
  • [QTBUG-29924] Gave all buttons an objectName().
  • [QTBUG-33409][QTBUG-8764][QTBUG-10032] Fixed virtual key mapping on
  • Windows.
  • QCoreApplication::arguments() changed the handling of single quotes, double quotes and the backslash character, in order to match what argv[] contains. In particular, single quotes are no longer removed from the argument string.(QTBUG-15379, QTBUG-30628)

New in Qt 5.2 Beta 1 (Oct 25, 2013)

  • Enhanced Internals — More Power and Flexibility:
  • Qt 5.2 introduces a new Scene Graph renderer. This new renderer improves the graphics performance of Qt Quick even further, freeing up more CPU time for the application and using the GPU in a much more efficient way.
  • The former JavaScript engine, V8, which was used internally by Qt Quick, has been replaced with a completely new, Qt-specific engine. This new engine is now designed from scratch for the use case of QML and Qt Quick. It internally operates directly with Qt data types, avoiding many costly conversions. It has both a JIT and an interpreter which greatly extends the range of platforms and operating systems it can support. The interpreter also allows us to use the engine on iOS and comply with iOS AppStore policies.
  • Some of the main new features of Qt 5.2 include:
  • Qt Bluetooth: supported on Linux with Bluez 4.x and Blackberry
  • Qt NFC: supported on Blackberry
  • Qt Positioning: supported on all platforms using NMEA data, and using GeoClue on Linux
  • Qt Windows Extras: Integrate with native code on Windows
  • Qt Mac Extras: Integrate with native code on Mac OS X
  • Qt Android Extras: Integrate with native code on Android
  • Improved time zone and locale support with QTimeZone and QCollator
  • Enhancements to multiple Qt Widgets and a new one, the QKeySequenceEdit class
  • Animations for QML that can not be blocked by high loads on the main thread
  • Some new features and mobile specific controls for Qt Quick Controls
  • Accessibility is now fully supported on all desktop platforms and basic support on Android.

New in Qt 5.1.1 (Oct 25, 2013)

  • GENERAL:
  • Add support for Visual Studio 2013
  • Remove obsolete 'register' C keyword
  • Speed up font database loading with fontconfig
  • [QTBUG-32284] Fix incomplete override of QIODevice::open in QProcess and QLocalSocket
  • LIBRARY:
  • QtCore:
  • Add basic conversion functions from QVariant(QJsonValue)
  • Fix crash when re-creating QThreadData after initially destroying it
  • Fix the host_bins variable in the QtCore pkg-config file
  • QUrl stringprep: fix handling of U+0080: it's prohibited
  • QUrl stringprep: avoid recalculating the surrogates we already know
  • QUrl stringprep: fix handling of prohibited characters
  • QUrl stringprep: fix case folding from non-BMP to BMP
  • QUrl stringprep: recalculate the current position if the size changes
  • [QTBUG-24345] Prevent negative size in QBitArray, QVector and QVarLengthArray ctors
  • [QTBUG-25732] Mention QRect's int min/max constraints in detailed description
  • [QTBUG-29391] fix infinite loop in QProcessPrivate::drainOutputPipes
  • [QTBUG-29391] QWinOverlappedIoNotifier: fix race condition
  • [QTBUG-31341] Fix watch of files/folders with special characters
  • [QTBUG-31606] Fix dead lock in the Qt event handling
  • [QTBUG-31926] Fix the number precision in QJsonDocument.toJson() again
  • [QTBUG-32100] Remove default argument from declarations of qHash as friend
  • [QTBUG-32314] QDir::mkpath shouldn't fail if parent directory denies access
  • [QTBUG-32354] fix endless loop in QProcess/Win drainOutputPipes
  • [QTBUG-32500] Ensure that the user codecs are listed in QTextCodec::availableCodecs
  • QtDBus:
  • [QTBUG-27973] Fix disconnectFrom{Peer,Bus} when the connection failed
  • [QTBUG-31932] Don't crash if the relayed signal was emitted from the wrong thread
  • [QTBUG-32374] Fix QDBusAbstractInterface::isValid() for peer connections
  • QtGui:
  • Restore smooth-scaled drawing of 0.5x-2.0x scaled glyphs in the GL engine
  • QIcon: Avoid fetching twice the same pixmap
  • Fix FBO restoring in QOpenGLTextureGlyphCache
  • [QTBUG-28284] Set projection matrix for systems with OpenGL 3.1
  • [QTBUG-31443] QPdfWriter: Fix setting of paper size
  • [QTBUG-32193] REG: Fix crash when mixing projected/unprojected text painting
  • [QTBUG-32433] Detect popup window correctly in modal window blocked handling
  • QtNetwork:
  • Correct algorithm for digest auth when using the CONNECT verb
  • Add reconnect attempts in more cases in QHttpNetworkConnectionChannel
  • [QTBUG-32404] HTTP internals: do not access reply that was deleted already
  • [QTBUG-32534] QHttpMultiPart: fix data corruption in readData method
  • QtPrintSupport:
  • [QTBUG-31790] Initialize UI of widget-based dialog.
  • QtWidgets:
  • Display sizegrip on QMdiSubWindows, even on OS X 10.7 and later
  • Check if widget inherits from QTextEdit when drawing the frame
  • Fix QWidget::isActiveWindow for window containers
  • Hide placeholder text when QLineEdit has preedit text
  • [QTBUG-19036] Make *ItemBoundingRect modes work with custom shapes.
  • [QTBUG-29945] Fix dropshadow and blur graphics effects
  • [QTBUG-31044] QDockWidget: Keep position when undocking
  • [QTBUG-31569] If a QWidget is ignored for auto-quit, ignore its corresponding QWindow
  • [QTBUG-31664] Recognize separator item in QMenu
  • [QTBUG-31904] Fix rotation of text in vertical QDockWidget titlebars in QFusionStyle
  • [QTBUG-32054] Set correct cell when selecting custom color cell with arrow keys
  • [QTBUG-32061] Fix the cursor position of an empty QLineEdit with a placeholder text
  • [QTBUG-32177] Search toplevel when setting the active window from focus window
  • [QTBUG-32260] Consider virtual screen when determining dock widget visibility
  • PLATFORM SPECIFIC CHANGES:
  • Qt for Windows:
  • Clear window under mouse in destruction of platform window
  • Prevent activation of windows with Qt::WindowDoesNotAcceptFocus
  • Better errorhandling for the fontengine on WINCE
  • Windows: Synthesize expose event for shrinking windows
  • Windows font database: Resolve aliases for extra fonts
  • Bugfix QDesktopServices on Windows
  • ActiveQt: Pass native parent handle property from widget to widget window
  • REG: Fix character size when exporting PDF on Windows
  • Fix crash caused by ~QWindowsWindow flushing the event queue
  • Show native file dialog on Windows XP Professional x64 Edition
  • Fix detection of synthesized mouse events for MSVC / 64bit
  • Display a message box if platform plugin cannot be found
  • Fix auto-enabling of windows style
  • Fixes QKeyEvent::count() on Windows
  • TOOLS:
  • configure:
  • [QTBUG-5366] Complain about bad arguments to -make/-nomake
  • [QTBUG-21778] Catch accidental use of -no-make
  • [QTBUG-28763] Don't enable EGL support if OpenGL is disabled
  • cmake config files:
  • Use absolute path in the /usr move workaround if -libdir is specified
  • Always use forward slashes in paths passed to cmake
  • Make clients use the QT_NO_DEBUG flag when using QtCore in release mode
  • [QTBUG-32134] Add path to the headers in frameworks to the include dirs
  • [QTBUG-32466] Don't check for the existence of private include directories
  • qmake:
  • [QTBUG-5301] basic manifest tool support in vc(x)proj generator
  • [QTBUG-19352] Resolve output of .depend_command relative to $$OUT_PWD
  • [QTBUG-29826] Only add the res_file to the generated files if there is no rc_file
  • [QTBUG-29988] VPATH resolution: don't crash when $(FOO) expands to nothing
  • [QTBUG-30993] Changed project dependencies for solution files
  • [QTBUG-31877] Make $$list() more backwards-compatible regarding backslashes
  • [QTBUG-31975] MANIFEST:NO is not written to vcproj
  • [QTBUG-32326] Escape paths coming from prl files

New in Qt 5.2.0 Alpha (Sep 30, 2013)

  • Qt Windows Extras Integrate with native code on Windows

New in Qt 5.1.0 (Jul 3, 2013)

  • GENERAL:
  • General Improvements
  • Q_PROPERTY gained a MEMBER attribute that let you associate a property to a class member without requiring to explicitly writing a getter or a setter
  • IMPORTANT BEHAVIOR CHANGES:
  • QtWidgets
  • [QTBUG-8836] QAbstractItemView now allows manual deselect in SingleSelection mode (with control modifier)
  • QtCore
  • The serialization behavior for QDateTime has reverted to pre-Qt 5. This means that the QDataStream version will be 14 with Qt 5.1.
  • LIBRARY: :
  • QtCore
  • QRect: Added marginsAdded(), marginsRemoved() and operators +, -, +=, -= taking a QMargins object allowing for conveniently adding or removing margins.
  • QMargins: Added operators for adding and subtracting QMargins objects, multiplication and division for int/qreal and unary minus.
  • QMessageAuthenticationCode: New class for hash-based message authentication code added to QtCore.
  • QRegularExpression: It's now possible to know the names of the named capturing groups inside the pattern string, as well as the numerical index of each named capturing group.
  • QPointer: It is now possible to create a QPointer with a const templated type.
  • QtGui
  • QOffscreenSurface: New class for rendering graphics using OpenGL in an arbitrary thread without needing to use a hidden QWindow.
  • QtNetwork
  • QNetworkAccessManager / QNetworkReply: Add a new encrypted() signal so that applications can perform additional checks on the certificate chain.
  • QSslSocket: Support for sending intermediate certificates when QSslSocket is used as a server, and when using client certificates.
  • HTTPS internals: SSL sessions are re-used by default.
  • QHostInfo: Allow QHostInfo::lookupHost() with no receiver to warm the DNS cache.
  • QtWidgets
  • QGraphicsView: Added function rubberBandRect() and signal rubberBandChanged.
  • TOOLS:
  • qmake: The feature of finding the highest version number of LIBS entries is turned off by default. It can be turned on with "CONFIG += link_highest_lib_version".

New in Qt 5.1.0 RC 1 (Jun 25, 2013)

  • Online installers available for Windows hosts
  • Windows 32bit as well as 32bit and 64 bit Linux host support for Android
  • MinGW toolchain updated to version 4.8.0
  • 32bit VS2012 installer available, and all VS2012 packages built with the SP2 update
  • Perl dependency removed for building Qt (still remains as requirement for building WebKit)

New in Qt 5.1.0 Beta 1 (May 15, 2013)

  • The key new features of Qt 5.1 Beta include:
  • Qt Quick Controls module providing a set of reusable UI components especially for desktop applications created with Qt Quick
  • Qt Quick Layouts module bringing an easier, more intuitive, way to manage scalable UIs by ensuring that items are consistently arranged, and that the UI as a whole remains usable across different screen sizes.
  • Qt Serial Port module providing a cross-platform interface for using hardware and virtual serial ports in Qt applications
  • Possibility to use Qt Quick and Widgets together in the same application window
  • Qt Creator 2.7.1 bundled into the package, providing, for example, Qt Quick Designer for rapid prototyping, as well as improved C++11 code editing
  • Support for static Qt builds making it possible to address those use cases that cannot use dynamic linking
  • Introducing Qt Sensors as an officially supported module

New in Qt 5.0.2 (Apr 10, 2013)

  • General Improvements:
  • Lots of fixes to enable static builds on Windows
  • Library:
  • QtCore
  • [QTBUG-29130] Fixed compilation when connecting with the new syntax to a signal that has more than 3 registered meta type arguments, and the compiler does not support variadic templates
  • QtGui
  • [QTBUG-14766] Fixed potential access violation in QPixmap::copy() for

New in Qt 5.0.1 (Jan 31, 2013)

  • GENERAL IMPROVEMENTS:
  • Documentation: Moved documentation under the correct module, fixed module identifiers Cleanup of examples and their documentation [QTBUG-28579] Fixed broken links to C++ class reference and examples for a number of modules in Qt Creator Help contents Fixed incorrect or missing links, typos
  • LIBRARY:
  • QtCore
  • Fix QMutex::tryLock with negative values
  • Fix a leak in case the QMetaObject::Connection survives the sender object, after a successful disconnect().
  • Speed up and fix QByteArray::setNum()
  • [QTBUG-28924] Don't increase the reference count if dynamic_cast failed
  • QtGui
  • Fix QGuiApplication::keyboardModifiers() and QGuiApplication::mouseButtons()
  • Fix styleName support in QPA font database
  • Make QImage::mirrored() propagate devicePixelRatio
  • [QTBUG-28324] Fixed invalid memory read in SSSE3 image blending code.
  • QtWidgets
  • Do not inform that a widget is not visible when it's disabled.
  • [QTBUG-28031, QTBUG-2596] QMenu: Do not set snapToMouse if a caused-widget exists.
  • [QTBUG-28321] Fix focusproxy-relayed crash in QGraphicsItem destructor.
  • [QTBUG-28446] Fix compilation when Q_NO_USING_KEYWORD is defined
  • [QTBUG-28477] Fix QWidget::setWindowOpacity() when called before show().
  • [QTBUG-28506] Style animations: fix QCommonStylePrivate::stopAnimation()
  • [QTBUG-28557] Fix QGtkPainter::reset() to reset the clip rect
  • QtNetwork
  • [QTBUG-28937] SSL certificates: blacklist mis-issued Turktrust certificates
  • QtDBus
  • qdbusxml2cpp: Check string length before checking for \r\n.
  • QtOpenGL
  • Fix compilation of Open GL ES 2 examples when using a Qt-namespace.
  • Fixed deadlock situation in QtOpenGL's texture management.
  • updating qeglfshooks_imx6.cpp to 12.09.01 (L3.0.35) opengl-drivers
  • [QTBUG-27512] Entered hardcoded urls for and
  • [QTBUG-28875] Fix bug in multisampling handling when converting from surface format
  • QTestLib
  • Add qtest_widget.h to the list of testlib headers
  • QtSql
  • Fix QSqlQuery test in relation to PSQL support
  • DATABASE DRIVERS:
  • postgres
  • Use PG_VERSION if PG_MAJORVERSION is not defined
  • PLATFORM SPECIFIC CHANGES:
  • Qt for Windows
  • DBUS: Fix linker errors on Windows.
  • Define Q_COMPILER_AUTO_FUNCTION for MVSC
  • [QTBUG-28611] Fix warnings about not being able to set Window geometry on Windows.
  • [QTBUG-28611] QMdiArea: Increase minimum size for Windows 8/Large fonts.
  • [QTBUG-28645] Rename conflicting symbol QVariantToVARIANT
  • [QTBUG-28876] QWindowsVistaStyle: fix frame rendering
  • COMPILER SPECIFIC CHANGES:
  • MinGW: Statically link runtime libraries into qmake
  • TOOLS:
  • configure
  • Remove the -fast configure option as it was pretty much broken
  • [QTBUG-23569, QTBUG-25760] Check for gtk_adjustment_configure as this is not always implemented
  • mkspecs
  • Fix the computation of the location of mkspecs.
  • [QTBUG-28215] Enable forcing generation of static plugin imports
  • [QTBUG-28606] Fix installation of plugin module .pris in static Qt builds
  • moc
  • [QTBUG-26589] Remove the timestamp info in genarated files to optimize rebuilds with ccache
  • qmake
  • Do not fixify + create QMAKE_{PKGCONFIG,LIBTOOL}_DESTDIR
  • Fix qtCompileTest for cross building modules
  • [QTBUG-28104] Respect the OBJECTS_DIR setting for XCode projects
  • [QTBUG-24589] Fix handling of precompiled header files in XCode projects
  • [QTBUG-28624] accept hex/octal values for RC_LANG and RC_CODEPAGE
  • [QTBUG-28625] fix duplicate TRANSLATION entry in generated RC file
  • [QTBUG-28682, QTBUG-28683] fix DLL manifest resource ids for debug builds
  • PLUGINS:
  • Call QAccessible::updateAccessibility when caret moves in QTextEdit
  • IMPORTANT BEHAVIOR CHANGES:
  • QSharedMemory on Unix systems now no longer creates shared memory segments that are readable and writeable to everyone. From Qt 5.0.1 forward, the segments are created readable and writeable only by the current user. This matches the behavior on Windows.

New in Qt 5.0.0 (Jan 8, 2013)

  • Amazing Graphics Capability and Performance:
  • Qt 5 uses an OpenGL based scene graph to accelerate the graphics of Qt Quick, making it possible to do visually appealing user interfaces with animations, impressive graphical effects and particle systems, even on the constrained hardware environments of mobile and embedded devices.
  • ShaderEffect on an Image:
  • The benefits of this architectural change in the rendering engine is well demonstrated by the following projects:
  • Livecoding video effects with Qt5 - The Big Buck Bunny you never saw before. Video effects created using Qt Quick.
  • Pimp my video - Video effects implemented using the shader language with QML.
  • QtMediaHub - The power and convenience of Qt Quick.
  • QtonPi - Good example of Qt 5 running on the low cost hardware, Raspberry PI.
  • Qt Quick provides the necessary infrastructure to develop QML applications. The latest version (v2.0) of this technology also introduces a set of new C++ classes as a replacement for the QDeclarative* equivalents in Qt Quick 1. New features in Qt Quick include:
  • Canvas for drawing. Canvas provides an API that is similar to the HTML5 Canvas API, along with some additional features.
  • Shader Effects which enable GLSL shader programs to be integrated directly into QML code and applied to items and images.
  • Particle Effects for creating a variety of 2D particle systems.
  • Sprites can be used in animating 2D graphical objects and as a source for particle systems.
  • Offline storage is a HTML5 Web Database API conformant JavaScript API for storing data in Qt Quick applications.
  • Window provides a top-level window and the Screen type for accessing a screen's resolution and other details. This is useful for desktop applications developed using Qt Quick.
  • New rendering architecture based on OpenGL for optimal performance.
  • Qt Quick's Particle System:
  • The Qt Graphical Effects module provides a number of ready-made effects for use in Qt Quick applications, including soft drop shadow, blur, glow and colorize.
  • Excerpts from the Qt Graphical Effects module.
  • WebKit and HTML5:
  • Qt WebKit is a web content rendering engine based on the open source WebKit project featuring broad support for standard web technologies. The Qt WebKit module provides integration with both Qt Quick and traditional widgets. The module brings the latest in HTML5 advancements to Qt 5, including CSS filters and animations and Video, Canvas and WebGL, Canvas support and HTML video.
  • Multimedia:
  • Qt Multimedia provides a rich set of QML types and C++ classes to handle multimedia content. It also provides necessary APIs to access the camera and radio functionality. Qt 5 brings the Qt Multimedia module into the set of essential modules with support on all major platforms.
  • Video embedded into a Qt Quick application with a displacement effect
  • Modularized Qt Libraries:
  • Qt 5 splits the Qt libraries into domain specific libraries and modules. This means that an application can choose which libraries it requires and only compile, use and deploy those.
  • For a complete list of modules and libraries, see all Qt modules.
  • Widgets in Qt 5:
  • The Qt Widgets have been separated into their own module in Qt 5, the Qt Widgets module. It is part of the essential modules.
  • Screenshots of widget based applications running Qt 5.
  • Qt Platform Abstraction:
  • The windowing system dependent parts of Qt have been completely rewritten for Qt 5, based on the Qt Platform Abstraction, a plugin architecture which allows Qt to dynamically load a windowing system integration based on what system it is running on. This gives several benefits:
  • Centralize the windowing system integration codebase into classes shared for all platforms.
  • Simplify the work required when porting Qt to new platforms.
  • Remove the windowing system dependency from Qt, making it possible to have the same Qt binaries run against multiple windowing systems. For instance, the Qt Linux binaries can run against both X11 and Wayland.
  • New Connection Syntax:
  • In addition to the still available well known way to connect signals and slots, new overloads of QObject::connect have been added allowing you to connect signals and slot using pointer to member functions:
  • QObject::connect(sender, &Sender::valueChanged, receiver, &Receiver::updateValue);
  • The new syntax provides compile time checking of the compatibility between signals and slots, automatic conversion of the arguments if there is an implicit cast between the types, and solve many problems occurring because of typedef or namespaces.
  • Additionally, if your compiler supports C++11 lambdas, you can even connect directly to a lambda function.
  • connect(sender, &QObject::destroyed, [=](){ this->m_objects.remove(sender); });
  • Connectivity and Networking:
  • Qt 5 provides better support for IPv6 and dual mode networks. Most applications using host names and network layer transparent protocols can now gain IPv6 support transparently. Such applications can also choose to receive both IPv4 and IPv6 connections or bind to only one of the two connection types. In the case of outgoing HTTP connections using QNetworkAccessManager, both IPv4 and IPv6 connections are attempted in parallel, and the one that succeeds first is used. This is useful in environments where one of the two types has limited connectivity.
  • Qt 5 also provides better ways to handle TCP socket-based connections and SSL certificates. This means developers can now:
  • bind a TCP socket to an IP address before connecting,
  • verify an SSL certificate chain,
  • and access legacy systems.
  • Stricter client authentication is one of the primary concerns for many applications handling confidential/critical data. The opaque Private Keys support in Qt 5 enables applications to read private keys from devices such as PKCS#11 dongles for stricter client authentication. The qsslkey example illustrates reading private keys from a device.
  • JSON Support:
  • Qt applications that use simple data structures to store small amount of data, can now choose to use JSON documents over the complex database backends that need necessary drivers or plugins to access data. The fact that JSON is a text-based open standard derived from JavaScript, makes it the obvious choice for QML applications as well.
  • The Qt Core provides a set of classes to enable parsing and generating JSON documents. These classes also allow you to convert between an in-memory binary representation of JSON to a standard textual JSON format. The goal is to make common operations on JSON faster.
  • User Input:
  • Qt 4 already had support for handling multi-point touch input in C++. Qt 5 extends this support to include Qt Quick, covering all the information about the touch points, including the touch position, pressure, and velocity.
  • The mouse event handling in Qt 5 has been improved from its predecessor. Applications have more control to handle mouse events in Qt Quick. The mouse area in a QML document can propagate the mouse wheel and click events and also ignore propagated events.
  • Besides this, Qt 5 adds support for more mouse buttons on platforms where this is supported. This comes in handy for gaming applications developed using Qt.

New in Qt 4.8.3 (Sep 13, 2012)

  • QtGui:
  • Take account of spanned items in QTreeView when dragging [QTBUG-25140]
  • Fix for clipped Vietnamese characters when typed with VKB [ou1cimx1#981433]
  • Fix application font loading in basic font db [QTBUG-22063]
  • Fix define to build without gtk style
  • Fix bug when destruction fields in QWizard [QTBUG-25691]
  • DirectFB: Improvement for QDirectFBPaintEngine::fill() [QTBUG-23850]
  • QStatusBar::showMessage will always take new timeout [QTBUG-25492]
  • Eliminate QTreeWidget drag crash [QTBUG-25333]
  • Fix dangling pointer issue in QGraphicsItem focus handling [ou1cimx1#995710]
  • AbstractItemView editorForIndex/indexForEditor speedup
  • Speedup for QAbstractItemViewPrivate::delegateForIndex
  • Restored native behavior when moving cursor from selection [QTCREATORBUG-7215]
  • Fix infinite recursion while dragging toolbar of QMainWindow [QTBUG-21378]
  • Fix possible crash when copying QImage [QTBUG-14766]
  • Fix cursor truncate to include line position
  • ARM: fix compilation with C++11 enabled
  • qws: print the data directory
  • Fix crash when column is inserted before rowspanned cell
  • Fix infinite loop due to FPU limitation
  • Widgets: Fix duplicated line in QMdiArea [QTBUG-17428]
  • Fix null pointer bug when no QPA event integration is used
  • Don't discard QPA mouse events without an associated window or widget
  • Clean up qDebug statements
  • Use improved QLibrary search heuristics for libgtk
  • Accessibility: fix updates for models with rootIndex set
  • Avoid crashes when invalidating a proxy model filter [QTBUG-26107]
  • Make currentText the USER property for QComboBox [QTBUG-26501]
  • Accessibility: Add missing break; (qaccessiblewidgets.cpp)
  • Fix for restoring dockwidget's size when it gets dragged [QTBUG-2940]
  • Implement QAccessibleLineEdit::characterRect()
  • Fix QListWidget scrolling with keys when there are hidden items [QTBUG-21804]
  • Fix undo and redo in QLineEdit when in password mode [QTBUG-14226]
  • Make QStatusBar text available via accessibility
  • Remove warning about non existing paint device engine [QTBUG-26047]
  • Fix a QListViewItem width when spacing is set [QTBUG-21804]
  • Take account of hidden items in QListView when using scrollTo [QTBUG-21804]
  • Fixed the QTreeView expansion/collpasing when animated
  • Speed up QTextEngine::setBoundary [QTBUG-8389]
  • Fix limitting shortcuts to keypad only [QTBUG-20191]
  • QPA: incorrect rendering when stretching and clipping
  • Optimize QTextEngine::findItem by using a binary search [QTBUG-17209, QTBUG-231]
  • QtNetwork:
  • Remove not present networks from QNetworkInterface::allInterfaces [QTBUG-18824]
  • Use reference count to close down idle network session [QTBUG-15812]
  • Windows 7fix nativewifi bearer plugin [QTBUG-24503]
  • QFtpimplement fast abort for downloads [QTBUG-25494]
  • QNetworkAccessManagerensure abort reaches QFtp [QTBUG-25494]
  • Connect bearer engines to manager with QueuedConnection
  • Avoid emitting finished() before user can connect the signal [QTBUG-18824]
  • QNetworkReply::setReadBufferSize fix for threaded http [QTBUG-25327]
  • QHttpMultiPart: supply new line at the end of the body [QTBUG-25429]
  • qhttpthreaddelegate: check that we have a reply set when reading
  • QNetworkAccessManager: Read all from socket on remote host close
  • QNetwork: fix compilation with no openssl
  • Fix sending UDP packets to link local addresses [QTBUG-25634]
  • Properly handle unexpected EOF in QHttpThreadDelegate [QTBUG-24738]
  • Include scope ids in QHostAddress from QNetworkInterface [QTBUG-25634]
  • Track active network replies without qFindChildren [QTBUG-15812]
  • QNAMmaintain a weak reference to the QNetworkSession [ou1cimx#1004278]
  • Ensure that Proxy-Connection: Keep-Alive is respected for HTTP 1.0 [QTBUG-26037]
  • Change default Content-Type for http POST to match 4.7.4 [QTBUG-23350]
  • Add null httpReply checks to QHttpThreadDelegate [QTBUG-26245]
  • Use improved QLibrary search heuristics for libresolv
  • Use improved QLibrary search heuristics for SSL
  • Parse yearless date strings on leap years during LIST in QFtp [QTBUG-26911]
  • QtCore:
  • Fix crash with evaluation license
  • Fix atomics on SPARC [QTBUG-22479]
  • Fix composition (C/KC) of some sequences
  • QElfParser: fix type of sh_size
  • Fix cases where functions are called with a drive and no slash [QTBUG-25353]
  • QRegExp: fix autotest, fix usage of uninitialized values
  • QRegExp: fix crash [QTBUG-23352]
  • Fix local variable is initialized but not referenced warning
  • UCD 5.0: Apply Unicode Corrigendum #6 [QTBUG-25169]
  • Fix qatomic inline asm for x32 ABI
  • Avoid crash cancelling timer in wrong thread on terminate [ou1cimx1#1006699]
  • Fix access to uninitialized pointer
  • Only forward-declare some std classes if QT_NO_STL is defined
  • Disable QAtomic assembly code for incompatible compilers
  • QUrl: add missing detach() in setEncodedUrl
  • Introduce ImprovedSearchHeuristics flag to QLibrary
  • Use improved QLibrary search heuristics for ICU in QLocale
  • QUrl: document that setIdnWhitelist isn't thread-safe
  • Check for 0 before accessing the pointer (qlibrary.h)
  • QUrl: fix thread safety
  • QSharedPointer: make QT_SHAREDPOINTER_TRACK_POINTERS work with QObjects
  • Fixes possible memory leak in QContiguousCache
  • Display QThread name for debugging
  • QtScript:
  • Fix crash when accessing QObject properties through activation object [QTBUG-21760]
  • Fix crash when converting invalid JSValue to string [QTBUG-21896]
  • Don't crash if queued signal handler no longer exists [QTBUG-26261]
  • QtDBus:
  • Fixed crash issue in QtDBus if D-Bus not installed [QTBUG-23128]
  • Pass configured timeout to callWithCallback too
  • qtdbus: Export org.freedesktop.DBus.Peer interface when introspected
  • Use improved QLibrary search heuristics for loading libdbus
  • QtWebkit:
  • Updated WebKit to 2.2.3
  • Prospective build fix for Mac OS X Mountain Lion
  • Fix build with GLib 2.31
  • QtSql:
  • Fix memory leak in 64-bits ODBC driver [QTBUG-25256]
  • QSqlTM: respect generated flag in insertRecord() and setRecord() [QTBUG-23592]
  • Declarative:
  • Fix crash in TextEdit when changing text content [QTBUG-25389]
  • Clicking on a disabled ListView's delegate breaks mouse interaction [QTBUG-20584]
  • Wrong signals received when moving Flickable element [QTBUG-25042]
  • Fix memory leak in qdeclarativevisualdatamodel [QTBUG-25784]
  • Fix crash when using aliases and variants [QTBUG-25341]
  • Propagate left key presses to the parent item when TextInput is empty [QTBUG-25447]
  • DeclarativeTextInput sends delayed mouse events to input context [ou1cimx1#1001264]
  • Item.mapFromItem() crashes with Items not created by the engine [QTBUG-26280]
  • Qml ListView highlight component cannot access ListView scope [QTBUG-26043]
  • Fix roundtrip between double and string in QDeclarativeListModel leading to precision issues
  • MouseArea: use current value of drag.axis [QTBUG-26440]
  • XMLHttpRequest does not support the DELETE method [QTBUG-17963]
  • Register less types for QtDeclarative/QCoreApplication
  • Make connectNotify() work with QML [QTBUG-11284]
  • OpenGL:
  • Performance fix for OpenGL drawing [ou1cimx1#957423]
  • QGLGlyphCache: Fix texture buffer overrun [QTBUG-23584]
  • 3rdParty:
  • Check that property descriptor members are valid before using them [QTBUG-17915]
  • Fix JIT crash on x86-64 (avoid 32-bit branch offset overflow) [QTBUG-23871]
  • Qt for Windows:
  • Enable extra warnings for win32-g++ mkspecs
  • Add OS version detection for Windows 8
  • Fix QFile append on windows [QTBUG-25906]
  • QWizard/Win: Drag window on Vista with only left mouse button
  • QWizard/Win: Handle hit testing correctly for Vista style
  • Drag and drop icon does not update correctly on Windows [QTBUG-22987]
  • Clean buffers before closing the input device [QTBUG-24119]
  • Allow frequences up to 96000 in win32 backend [QTBUG-26102]
  • Added support for big endian data to QAudioOutput win32 backend [QTBUG-19881]
  • Use utf8 to store audio device names in win32 backend [QTBUG-21398]
  • Fix 'make install' when cross-compiling on Windows
  • Install right version of tools when x-compiling
  • QWizard/Win: Fix incorrect cached state after all wizards destroyed [QTBUG-27004]
  • QWizard/Win: Fix vista helper cache state invalidation
  • Tools:
  • Remove build_all when target is same for debug and release (Tools)
  • Fix Assistant crash when closing last tab [QTBUG-23986]
  • Don't change the current page of mainwindow container (Designer) [QTBUG-12097]
  • [Blackberry] Set default platform name for QPA (mkspecs)
  • Fix compile issue on AIX (xlc compiler with the -qtls flag)
  • makeqpf: Fixing range in character-generation
  • Removed existing iOS mkspecs. Added Qt5 iOS mkspecs to unsupported
  • Removed -qt-gif -configure option from documentation [QTBUG-25671]
  • Clang: Do not warn about unused parameters (caused by ccache)
  • QtDemo: Find installed examples on Windows
  • Doc: removed incorrect reference to Q_OS_X11
  • Doc: Fix QUrl::isLocalFile documentation [QTBUG-21293]
  • Doc: Fix typo [QTBUG-23260, QTBUG-24317, QTBUG-23657, QTBUG-25577, QTBUG-25608]
  • Examples: Add dockwidgets to the list of examples
  • Properly handle include cycles (Linquist) [QTBUG-6587]
  • Fix vcproj file generation for incredibuild handling of moc etc targets (mkspecs)
  • Prepare QtHelp library for modularized documentation (Assistant)
  • Fix deleting of QTreeWidget items (Designer) [QTBUG-26770]
  • Typo in QApplication class ref (Documentation) [QTBUG-26891]
  • Make sure the parent widget still exists (Designer) [QTCREATORBUG-7684]
  • QNX: Enable QT_NO_IMPORT_QT47_QML (mkspecs)
  • Decouple -lang-c++ from CXX command on QNX mkspecs
  • QNX: Enable pre-compiled header support for QNX (mkspecs)
  • QNX: Move qpa-based mkspecs out of the unsupported directory
  • Add qmake CROSS_COMPILE variable via load(device_config)
  • configure:
  • configure: Escape '{' in getQMakeConf2 function
  • Fix auto-detected QNX mkspec paths in configure
  • Support mkspecs in subdirs for xcompile under windows
  • New command line switches for configure.exe
  • Set correct QT_LFLAGS_SQLITE for default cases
  • Fix typo in configure for Mac: Libraries -> Library [QTBUG-18115]
  • Adding cflag -c to configure's --sysroot test
  • Add defaults for Blackberry platform on configure
  • Don't build qtscript when stl isn't available (configure) [QTBUG-7813]
  • Don't build qtscript when stdint.h isn't available (configure)
  • Add default QPA plugin option to 'configure'
  • Add configure options for debug/release OpenSSL
  • Disable 3DNOW on Blackberry/Win32
  • Minimal backport of --device-option support in configure
  • Add cross_compile to qconfig.pri for global advertising
  • Disable rpath, pkg-config, "reduce export" flag when x-compiling for mingw
  • qmake:
  • Fix qmake hash function to use XOR
  • qmake: un-copy-and-pastify vcxproj generator a bit
  • qmake vcxproj generator: map TARGET_EXT to $(TargetExt) [QTBUG-26782]
  • Remove qurl.cpp from qmake and bootstrap

New in Qt 4.8.2 (May 23, 2012)

  • General Improvements:
  • Webkit version updated to 2.2.2 including a Denial of Service fix on Windows
  • QtGui:
  • Hang on to the correct screen index in QWidget
  • Removed invalid assert in BMP loader code [QTBUG-24505]
  • Fixed compiler warnings about unused q and d pointers (QTableView & QTextControlPrivate)
  • Fix bug showing folder icons for files
  • The scaling should not effect the width of a cosmetic pen [QTBUG-25006]
  • Fix QListWidget scrolling with keys when there are hidden items [QTBUG-21804]
  • Made qt_accStripAmp handle "&&" (qaccessiblewidget.cpp)
  • Plug memory leak when gestures are grabbed but never triggered [QTBUG-25011]
  • Disconnect slots from the old sourcemodel in QIdentityProxyModel
  • Use QPointer to store accessible object (Widgets\Itemviews)
  • Fixes a regression; missing cursor blink when input mask is set [QTBUG-7174]
  • Do not send QEvent::AccessibilityPrepare [QTBUG-25240]
  • Accessibility: send cursor move updates (qplaintextedit.cpp)
  • Fix memory leak when drawing text in non-common script (qtextengine.cpp)
  • Fixed crash in QImage in out of memory condition
  • Only send progress bar updates when visible
  • Use parentheses in statement with && and ||
  • Accessible interface for QPlainTextEdit
  • Fix crashes in QAccessibleTree::navigate
  • Fix out of bounds use of QVector API [QTBUG-24965, QTBUG-25140]
  • widgets/qpa: Fix painting to a fully transparent top level widget [QTBUG-24526]
  • Add out-of-memory checks to QImage [ou1cimx1#994957]
  • QtNetwork:
  • Make sure QGlobalNetworkProxy is created for QNetworkProxy
  • Fix bug in qsslsocket peek() [QTBUG-18498]
  • Fix performance problem with NTLM auth in http POST (ou1cimx1#985786)
  • Try to read the last CRLF when chunked encoding is used [QTBUG-19480, QTBUG-20924]
  • Call wait() after calling quit() so that it can gracefully finish [QTBUG-24594]
  • Close the channel if bytesAvailable and nothing piplined [QTBUG-24875]
  • Fix build with QT_NO_WARNING_OUTPUT [QTBUG-25308]
  • Moved qmljs_debug_arguments to QCoreApplication
  • QHttpNetworkConnectionChannel: Warn if bytesAvailable and no reply [QTBUG-9315]
  • Improved detection of libcrypto and libssl [QTBUG-25398]
  • QtCore:
  • Fixes mismatching delete operator (QWindowsLocalCodec)
  • Support changing locales at runtime in QPA plugins
  • Optimise QFile::seek that doesn't move the file pointer
  • Fix q_atomic_decrement for 64-bit Solaris [QTBUG-24470]
  • Fixes potential memory leak in qtextcodec.cpp
  • TGA imageformat: fix broken canRead plugin function [QTBUG-24201]
  • Fix IPv6 address returned from QUrl::host
  • QtDBus:
  • Finish cleaning up com.trolltech -> org.qtproject in QtDBus [QTBUG-23274]
  • Update com.trolltech -> org.qtproject in the bootstrapped tools [QTBUG-23274]
  • Fix annotation processing for qtTypeName
  • QtWebKit:
  • Updated WebKit to 2.2.2
  • QtSql
  • Improve type detection for query results [QTBUG-22038]
  • Fix for memory leak in 64 bit ODBC driver's call to SQLGetStmtAttr() [QTBUG-25256]
  • QSqlQueryModel::fetchMore() documentation fix
  • Declarative
  • Fix QDeclarativeItem::hasActiveFocus() [QTBUG-24681]
  • Doc Fix- a QML MouseArea Elelment can accept 5 buttons
  • OpenVG
  • Off-by-one-line error in QVGPaintEngine::drawImage
  • 3rdParty:
  • Harfbuzz GPOS hinting- do not consider a subtable to be invalid if it is just empty
  • Harfbuzz-thai - fix buffer overflow when setting item attributes
  • Fixed MSVC2011 build (changes in JavaScriptCore & CLucene)
  • Upgrading libpng: Adding clean copy of libpng 1.5.10
  • Upgrading libpng: Patches to libpng 1.5.10 for Qt usage
  • gcc 4.7.0 compatibility fix for javascript
  • Reduce virtual address space use by JavaScriptCore on Symbian [ou1cimx1#993804]
  • Fix QWindowsSystemProxy global static race [QTBUG-15765]
  • Fix proxy types for manually specified proxies [QTBUG-10502]
  • Handle proxy autoconfiguration resulting in no proxy
  • fall back on static proxy config if autoproxy fails [QTBUG-10428]
  • Fix a number of bugs with windows system proxies
  • Handle both auto detect proxy settings together [QTBUG-13957, QTBUG-10238]
  • Widget created with type to Qt::ToolTip should have a drop shadow [QTBUG-13276]
  • "bypass proxy for local..." also affects IP addresses

New in Qt 4.8.1 (Apr 3, 2012)

  • General:
  • General Improvements:
  • Various documentation fixes [QTBUG-18101, QTBUG-8673, QTBUG-14194, QTBUG-9109,
  • QTBUG-9466, QTBUG-8323, QTBUG-7924, QTBUG-20355, QTBUG-19367, QTBUG-21295,
  • QTBUG-14554, QTBUG-8331, QTBUG-8329, QTBUG-8786, QTBUG-8787, QTBUG-12389,
  • QTBUG-16667, QTBUG-6151, QTBUG-8625, QTBUG-19808, QTBUG-12096, QTBUG-1231,
  • QTBUG-21073, QTBUG-8939, QTBUG-20399, QTBUG-20944, QTBUG-7542, QTBUG-22095,
  • QTBUG-11278, QTBUG-15653, QTBUG-13362, QTBUG-18356, QTBUG-18417, QTBUG-18664,
  • QTBUG-21562, QTBUG-22094, QTBUG-18741, QTBUG-15921, QTBUG-22172, QTBUG-15738,
  • QTBUG-21466]
  • Third party components:
  • Fix isolated Thai SARA AM handling (harfbuzz)
  • Fixes Javascript WTF to build with BB NDK (javascriptcore)
  • Fix height of some Thai characters (harfbuzz) [ou1cimx1#898104]
  • Harfbuzz-thai - fix to_tis620 function for latin characters
  • Harfbuzz-thai - When calling HB_OpenTypePosition we must set doLogClusters to
  • true for thai
  • Harfbuzz-thai: Hide ZWJ and ZWNJ characters and show Inherited characters
  • Fix for Thai characters with a below mark [ou1cimx1#979179]
  • Harfbuzz-shaper - fix incorrect logClusters being set in HB_OpenTypePosition
  • Library:
  • QtCore:
  • Fix a couple of edge cases for WildcardUnix matching [QTBUG-20897]
  • Fix BC break with QAbstractFileEngine "mount points" [QTBUG-23688]
  • Change QUrl::toLocalFile to return path for relative urls [QTBUG-19827]
  • Fix progress bar values >100% when http upload is retried [QTBUG-23993]
  • Fixes QIconvCodec::convertToUnicode()
  • Make QString::latin1() re-entrant, the global QHash needs a mutex
  • Changes in Symbian CleanupStack use to allow dodgy app start [ou1cimx1#960665]
  • Fixed null pointer dereference in QUnifiedTimer
  • Fixes a possible out-of-bound write in QByteArray
  • Raise loopLevel for deleteLater in event filters
  • Fixed compiler warning about unused variable with QT_NO_TEXTCODEC
  • Initializes seqDumpPos on qiodevice.cpp
  • QWindowsPipeWriter could terminate the process to early [QTBUG-4425]
  • De-duplicate platform-dependent paths
  • Add missing llvm-gcc-4.2 SSE 4.2 intrinsics
  • QtGui:
  • Declarative: Unify output of warning messages in debug server [QTBUG-22860]
  • Declarative: Use qDebug() for debugger status updates
  • blitter] Fix memory leak in the blitter paintengine
  • blitter] Generate a new serial number when resizing the
  • blitter] Use QScopedPointer for the engine and blittable
  • blitter] Work on tst_QPixmap::clear()
  • directfb: Backport the work from QtBase to Qt 4.8
  • Fix Memoy leak relateded to contextmenu [QTBUG-22817]
  • Handle closable tabs in QAccessibleTabBar
  • Activate window when focus is set in QAccessibleWidget::doAction
  • Send text selection changes for accessibility
  • blitter: Use CapabilitiesToStateMask as a class member
  • blitter: Kill the isBlitterLocked variable of the
  • blitter: Move the definition out of the class declaration
  • blitter: Move state updates into new methods
  • blitter: Base QBlitterPaintEngine on QRasterPaintEngine
  • blitter: Group code by functionality in header and cpp file
  • blitter: Fix the 'solid' detection for the brush in case of fillRect
  • Fixed QEventDispatcherQPA::processEvents()
  • Fix crash in QTreeWidgetItem::sortChildren when adding new item [QTBUG-20345]
  • Fixed crash in QDeclarativeGridView
  • Fixed compiler warnings about unused q and d variables in declarative [QTBUG-22512]
  • Add accessible role Terminal
  • Add accessible role Desktop
  • Check for the clipboard manager when looping due to app quiting
  • QTextEdit cursor position fix when moving left/right with selection [QTBUG-22853]
  • Fix pinch-zoom problem when application is deactivated [ou1cimx1#948030]
  • Do not check isActiveWindow to determine if an accessible widget is focusable
  • Use available geometry when maximized (qwidget_qpa.cpp)
  • Fixed CustomDashLine drawing bug [QTBUG-23248]
  • Ensure the header's context menu is in sync with the visible sections [QTBUG-23271]
  • Update accessibility selections in QTextControl
  • Fix QListView::scrollTo() when there are hidden rows [QTBUG-21115]
  • QTextEngine - treat a fullstop (0x2E) as the same script as the preceeding
  • text when dividing up strings
  • Added QAccessibleGroupBox (a new accessible interface for QGroupBox)
  • Fixed memory leak in QPA/Lighthouse event handling
  • QDial: Fix crash when singleStep-property is 0 [QTBUG-23072]
  • Build fix to raster window surface [QTBUG-23320]
  • QPA: Don't force event handling every second. No need to wake up the CPU if we know
  • that nothing happened.
  • Fix submenu positioning [QTBUG-23568]
  • Fix divide by zero when glyphWidth is 0 (QTextEngine)
  • QtNetwork:
  • Fix null pointer dereference in NTLM authentication
  • Fix NTLM authentication with email address [QTBUG-19894]
  • Fix faulty logic in http connection pipelining
  • Handle plain socket write errors in SSL
  • Don't fetch credentials from cache following a failed proxy authentication [QTBUG-22875]
  • Fix race in http connection channel
  • Fix http authentication to a different realm on the same server
  • Fix for assertion failure on QNetworkAccessAuthenticationManager
  • Prevent data loss when an ssl socket is closed by remote [QTBUG-23607]
  • Fix online status checking in generic bearer plugin [QTBUG-22873]
  • Abort FTP download, not the whole application [QTBUG-22820]
  • Fix incorrect use of QObject::disconnect in synchronous http request
  • Fix handling of urls containing username/password in QNetworkAccessManager [QTBUG-18107]
  • Remove unnecessary locking from QNetworkProxy constructor [QTBUG-13088]
  • QNetwork: fix compilation with "-no-feature-bearermanagement" [QTBUG-23239]
  • QSslCertificate - make lazy initialisation thread safe [QTBUG-20452]
  • QNetwork: remove compile warning (QHttpNetworkConnectionChannel)
  • QtOpenGL:
  • Using samples=0 to turn multisampling off [ou1cimx1#951223]
  • Fixed crash in GL 2 paint engine on Intel Atom [QTBUG-22483]
  • QtDBus:
  • Remove implicit const char*->QString cast from QDBusServer's constructor [QTBUG-23398]
  • Fix crash in QDBusDemarshaller basic string-like type extraction [QTBUG-22840]
  • Fix crash in QDBusDemarshaller QStringList extraction [QTBUG-22840]
  • Fix crashes and non-portable functionality in QDBusDemarshaller QByteArray extraction
  • QTBUG-22840]
  • QtWebKit:
  • Updated WebKit to c1252be57a3f673277c732c0902568111b2f4964
  • QtSql:
  • Handle the 'real' datatype correctly in the SQLite driver [QTBUG-16373]
  • Ensure that QSqlDatabase::database() is still thread-safe [QTBUG-13423]
  • QtTest:
  • Doc: Add `-xunitxml' option to qtestlib documentation [QTBUG-14305]
  • QtXml:
  • Fix memory leak in QDomDocument DTD notation declaration handler [QTBUG-22588]
  • Fix memory leak in QDomDocument DTD entity declaration handler [QTBUG-22587]
  • Fix memory leak in QDomDocument entity text expansion
  • Fix access to uninitialized values in QtXmlPatterns
  • Database Drivers:
  • Platform Specific Changes:
  • Qt for Linux/X11:
  • Take into account shaping in findRealWindow
  • Fix crash in qt_init when the XFIXES extension is not available
  • Pass events to installed event dispatcher event filters
  • before passing them to x11ProcessEvent()
  • When doing mouse move compression, pass non-MotionNotify events
  • to installed event dispatcher event filters
  • Take into account input shaping in findRealWindow
  • Fix signature of q_atomic_test_and_set_ptr [QTBUG-22479]
  • Qt for Windows:
  • Fix crash in positionInLigature [QTBUG-23104]
  • Fix crash when creating a QScriptEngine in a native thread [QTBUG-22926]
  • Windows: Add gcc 4.6 for cross building
  • use "cp -R" instead of "cp -r" for *bsd compatibility
  • Windows: Fix qt_ntfs_permission_lookup [QTBUG-247]
  • Remove NTFS junction and mount point detection [QTBUG-20431]
  • qfilesystemengine_win.cpp: compile with namespaced Qt
  • Build fix to qapplication_win.cpp when QT_NO_GESTURES is used [QTBUG-22501]
  • Fix a crash when changeEvent() is called and there is no container [QTBUG-23957]
  • Windows configure: make -mp affect the Qt build itself [QTBUG-23929]
  • Ensure that the type is not registered as a typedef (ActiveQt) [QTBUG-18555]
  • Fix Windows timer performance regression
  • Ensure the scrollers appears when there is too many menu items [QTBUG-23507]
  • QElapsedTimer/Win: Fix 64-bit integer overflow [QTBUG-23150]
  • Fix a crash in QSystemLocalePrivate::uiLanguages()
  • Fix mouse wheel page-by-page scrolling on windows [QTBUG-11336]
  • Fix potential race condition in data structure of adopted thread watcher
  • Fix to exit of adopted thread watcher in Windows [QTBUG-23961]
  • Make reference counting for QAxClientSite multi-processor safe
  • Activate replacements when installing .pc files for win32
  • Fixed Windows performance regression introduced by ac2818bef95f134 [QTBUG-24602]
  • Prevent stack corruption when using OpenGL Core Profile on Windows
  • Fix error handling in QHostInfo windows backend
  • Windows - fix getsockopt calls for narrower than int options [QTBUG-23488]
  • Fix window positioning regression from QTBUG-10589 fix [QTBUG-24071]
  • Qt for Embedded Windows:
  • Build fix for WINCE to qfsfileengine_win.cpp [QTBUG-22499]
  • Fixed fileiterator issue for WEC7 [QTBUG-22503]
  • Removed unnecesary dependency to winx.h from desktopservices for WinCE
  • Build fix for WINCE to qlocale_tools.cpp [QTBUG-22500]
  • Added mkspecs for WEC7 platform builder and armv4i HW
  • Fixed sqlite for Windows CE [QTBUG-22508]
  • Fix qsystemerror for WinCE [QTBUG-22498]
  • Fixed qapplication_win.cpp build for WinCE
  • libpng config for WEC7 [QTBUG-22506]
  • Fix DEPLOYMENT_PLUGIN for graphicssystem plugins [QTBUG-23963]
  • Fixed EGL build for WEC7 [QTBUG-22504]
  • Fixed QFile::link behaviour for WinCE devices.
  • Fixed compiler warning for libpng when compiling for WEC7 [QTBUG-22512]
  • Fixed MSVC compiler warning for zlib when compiling on WEC7 [QTBUG-22512]
  • Fixed libjpeg compiler warning about macro redefinition [QTBUG-22512]
  • Disable qmlplugindump build for WinCE [QTBUG-22518]
  • Enable basic gesture support for WEC7 [QTBUG-22517]
  • Fixed qchar and qsvgrenderer autotest deployment for WinCE devices
  • Reduces compiler warnings when compiling for WEC7 [QTBUG-22512]
  • Fixed warning by MSVC about class/struct mismatch in MethodData
  • when compiling declarative module [QTBUG-22512]
  • Fixed compiler warning about unused status argument [QTBUG-22512]
  • Fixed DEBUG macro redefinition when compiling for WEC7 with MSVC [QTBUG-22512]
  • Build fix for QtDeclarative in WindowsCE [QTBUG-22511]
  • Fix 3 autotest build faulures for WinCE
  • Fixed cetest build for Windows CE [QTBUG-22505]
  • Fixed QtDeclarative autotest deployment for WinCE devices
  • Fixes to JSCore for WinCE [QTBUG-22502]
  • JSCore build fix for WEC7 [QTBUG-22497]
  • Fixed qmldbg_inspector build for WEC7 [QTBUG-22510]
  • Fixed CeTest remotelib build for WinCE 5
  • Fixed zlib build for WEC7 [QTBUG-22507]
  • Fix static build of Qt for WinCE and WEC7 [QTBUG-24500]
  • Tools:
  • qmake:
  • Escape path names in qmake-generated Makefiles [QTBUG-11776]
  • Fix qmake evaluation of QMAKE_TARGET.arch on msvc2010 x86_64
  • Create target pkgconfig dir in qmake generated Windows Makefiles
  • escape *_script_file usages in MingwMakefileGenerator::writeObjectsPart [QTBUG-24595]
  • Visual Studio project generator
  • qmake: fix /MP option for VS 2010 [QTBUG-23490]
  • qmake: fix default value for C++ optimization in vcxproj files [QTBUG-23421]
  • Ensure that the RC_FILE is correctly handled in a single configuration [QTBUG-22545]
  • configure:
  • Make configure not complain about missing perl for non-dev builds [QTBUG-5710]
  • qtconfig:
  • Add concurrent to QT_CONFIG
  • qdoc3:
  • Fix a bug where 'int' is not printed in snippets
  • Add dita_docs target to generate DITA output
  • Add a default alt attribute to img tags
  • Also correctly apply stack size difference in MSVC2008
  • Removed unnecessary codeblock from cppcodeparser.cpp (segfault due to null-pointer
  • reference) [QTBUG-24082]

New in Qt 4.8.0 (Dec 16, 2011)

  • Qt Platform Abstraction (QPA):
  • QPA restructures the GUI stack to enable easier porting of Qt to different windowing systems and devices. More info on: Lighthouse has grown up now.
  • Threaded OpenGL support:
  • Enables those of us that are not OpenGL-ninjas to render OpenGL from more than one thread concurrently. More info on: Threaded OpenGL in 4.8.
  • Multithreaded HTTP:
  • HTTP requests are now handled in a separate thread by default. This should make application guis smoother, as networking will no longer use the main event loop.
  • Optimized file system access:
  • The file system stack received some heavy lifting under the hood. The result is better I/O performance, achieved by reducing the number of system calls performed for I/O and by better use of cached data, when available. The improvements in performance can be seen across all platforms.

New in Qt 4.7.4 (Sep 1, 2011)

  • Right-To-Left support
  • Improved image caching
  • Text input improvements – Support for split-screen virtual keyboard
  • Pinch Area to provide a declarative API for handling touch input

New in Qt 4.7.3 (Jun 22, 2011)

  • QtNetwork:
  • SSL
  • [QTBUG-18338] blacklist fraudulent SSL certificates

New in Qt 4.7.2 (Jun 22, 2011)

  • QtCore:
  • QMutex
  • [QTBUG-16115] Fixed deadlock when calling tryLock repeatedly.
  • QStateMachine
  • [QTBUG-14491] Fixed compilation on AIX 5.3 with gcc.
  • QThread
  • [QTBUG-15378] QThread::exec returaed immediately if QThread::exit had
  • been called when event loop was not running.
  • QtGui
  • Painting
  • [QTBUG-14907] Fix OpenVG painting artifacts after restoreState().
  • [QTBUG-15320] QPainter::drawRect crashed when drawing a null QRectF
  • with OpenGL.
  • [QTBUG-15693] Prevent crash in drawhelper code when the cpu has MMXEXT
  • but no SSE.
  • QDoubleValidator
  • [QTBUG-14935] With some locales, QDoubleValidator would not accept "C"
  • locale valid numbers.
  • QFileDialog
  • [QTBUG-17298] QFileDialog::getOpenFileNames didn't show any file.
  • QGraphicsView
  • [QTBUG-16063] Fix precision loss when querying micro focus rectangle
  • in QGraphicsView.
  • QPainterPath
  • [QTBUG-16377] Prevent QPainterPath::connectPath() returning incorrect
  • path, which caused OpenGL paint engine to crash.
  • QTableWidget
  • [QTBUG-15973] Resizinag a QTableWidget column where a cell contains a
  • QProgressBar made it crash.
  • QTextDocument
  • [QTBUG-15777] Fxied crash in QTextDocument::markContentsDirty.
  • QTextLayout
  • [QTBUG-15823] Fixed crash in QTextLayout when drawing full width
  • selection spanning multiple QTextLine's.
  • QWidget:
  • [QTMOBILITY-645] Send WinIdChange event when winId is set to zero.
  • The window handle of a native widget may be set to zero in two
  • situations: (i) temporarily, during reparenting and (ii) during
  • widget destruction. Previously, no WinIdChange event was sent in
  • either of these cases; now, it is sent in both cases.
  • QtNetwork:
  • Bearer Management
  • [QTBUG-15276] Fixed possible crash when parsing new connection.
  • QUrl
  • [QTBUG-16425] QUrl::setUrl() did not call detach().
  • QtQuick
  • [QTBUG-14374] Fixed broken alignment of rich text.
  • [QTBUG-14727] QML Text element did not play nice with transformations.
  • [QTBUG-14761] Fixed memory leak in QDeclarativeComponent.
  • [QTBUG-14830] Fixed crash when adjusting width inside onWidthChanged.
  • [QTBUG-15710] Ensure header is considered when positioning content with
  • snapping.
  • [QTBUG-16365] When using a PathView with a VisualDataModel which in turn
  • used a Tree model (DirModel, for example), nothing was shown.
  • [QTBUG-16769] QML BorderImage failed if .sci file contained a URL.
  • QtScript
  • General
  • [QTBUG-17166] Fix ScopeChainNode memory leak in JavaScriptCore.
  • QScriptContext
  • [QTBUG-17137] Fix crash when generating backtrace involving a
  • built-in (ECMA) function.
  • QScriptEngine
  • [QTBUG-16987] Ensure QScriptProgram objects are invalidated
  • when engine is destroyed.
  • [QTBUG-16828] Fix alignment issue causing crashes on platforms
  • with only 4-byte-aligned malloc'ed memory (e.g. Symbian debug
  • builds).
  • [QTBUG-15144] Fix GC-related crash in QScriptValue::setData().
  • [QTBUG-15079] Fix crash when QScriptClass property getter
  • returns an invalid value.
  • [QTBUG-13440] Fix bug that caused Math.random() not to
  • produce random values.
  • QScriptValue
  • [QTBUG-14801] Fix crash in QScriptValue::construct() when
  • the function throws a non-Object value.
  • QtSql
  • [QTBUG-14132] Fix errors in Oracle (xe) stored procedures with bind
  • variables.
  • [QTBUG-14831] Fix regression in dynamic sorting of a QSortFilterProxyModel
  • on a QSqlTableModel with OnManualSubmit.
  • [QTBUG-17076] Fix plugins/sqldrivers/oci compile error when using
  • QT_NAMESPACE.
  • Platform Specific Changes *
  • Qt for Linux/X11
  • [QTBUG-15008] Fix broken prefix setting in configure when EPOCROOT shell
  • variable is set.
  • Qt for Windows
  • QtQuick
  • [QTBUG-16885] QDeclarativeEngine::addImportPath() did not work if the
  • drive letter is in lowercase.
  • [QTBUG-17360] Make sure $QTDIR/plugins/qmldebugging/tcpserver.dll is
  • found in windows release builds.

New in Qt 4.7.0 RC1 (Aug 26, 2010)

  • The key new feature of the Qt 4.7 and Qt Creator 2.1 releases is Qt Quick (Qt User Interface Creation Kit): a high-level UI technology that allows developers and UI designers to work together to create animated, touch-enabled UIs and lightweight applications.
  • It includes:
  • QML (Qt Meta-Object Language): an easy to use, declarative language
  • New Tools in the Qt Creator IDE: including a preview visual editor that allows UI designers and developers to cooperate, working on the same code in an iterative approach. (Coming with Qt Creator 2.1 in Q4 2010.)
  • QtDeclarative: a new module in the Qt library that enables a new declarative programming approach
  • And while no C++ programming skills are needed to use Qt Quick, it is 100% based on Qt and can be extended from C++, limited only by your creativity.