Qt Changelog

What's new in Qt 6.4.0

Oct 5, 2022
  • New and Restored Modules in Qt 6.4:
  • Qt 6.4 adds the following modules:
  • Qt HTTP Server - A module for embedding an HTTP server into Qt applications. This module is in technical preview, API and ABI stability is not guaranteed.
  • Qt Quick 3D Physics - A high-level QML module adding physical simulation capabilities to Qt Quick 3D.
  • Qt 6.4 reintroduces the Qt TextToSpeech module from Qt 5. This module wasn't present in Qt 6.3. It now uses the CMake build system and works with Qt 6.
  • You'll find more details about changes to each module in Changes to Qt Modules in Qt 6.
  • New Features in Qt 6.4:
  • Qt Core Module:
  • Added QLatin1StringView as an alias for QLatin1String. This is now the recommended name for referring to a Latin-1 string view.
  • The QLatin1StringView(const char *, qsizetype) and QLatin1StringView(const char *, const char *) constructors are made non-explicit.
  • Added literal operator _L1 for creating Latin-1 string and char literals in the Qt::Literals::StringLiterals namespace.
  • Added literal operators _s and _ba for creating QString and QByteArray literals respectively, in the Qt::Literals::StringLiterals namespace. Deprecated _qs and _qba in favor of _s and _ba.
  • Deprecated QString::count() and QByteArray::count() that take no parameters, to avoid confusion with the algorithm overloads of the same name. They can be replaced by size() or length() methods.
  • QStringEncoder and QStringDecoder support now all codecs supported by ICU when Qt is built with ICU support enabled.
  • In the classes for Android and JNI development, QJniObject and QJniEnvironment, overloads have been added for callMethod, findMethod and similar methods. It is now possible to call Java functions and register native methods without specifying a signature string.
  • The new template function QJniObject::construct() allows instantiating of a Java class from C++ without specifying a type or signature string.
  • QByteArray now has a percentDecoded() instance method as an alternative to calling the fromPercentEncoding() static method on the instance.
  • QTextStream now supports input and output of char16_t.
  • QStringView now has a localeAwareCompare() method and can count() how many times a given sub-string appears.
  • QDate can now be constructed from various std::chrono year-month-day structure types, when available, and it has an addDuration() taking a std::chrono::days, when available.
  • QDateTime likewise gains an addDuration(std::chrono::milliseconds), along with arithmetic to add or subtract the same type, a difference of QDateTime values returning it, and a few static pseudo-constructors taking various std::chrono types describing a moment in time.
  • Added QTimeZone::fromStdTimeZonePtr(const std::chrono::time_zone *).
  • QCalendar's construction by name now accepts QAnyStringView.
  • Qt GUI Module:
  • Added QTextDocumentFragment::toMarkdown(), QTextDocumentFragment::fromMarkdown(), and QTextCursor::insertMarkdown().
  • Qt Quick Module:
  • Several new properties and functions has been added to TableView that improves support for keyboard navigation and selection, row- and column selections, animations, sub-cell positioning, and more.
  • TreeView now support selections, and has gained a broader API for expanding and collapsing nodes in the tree recursively.
  • QQuickWidget is now functional with all supported 3D graphics APIs (Vulkan, Metal, Direct3D 11) in addition to OpenGL. Applications no longer have to enforce rendering with OpenGL when using QQuickWidget.
  • Added support for arrays of combined image samplers in shaders used with custom materials. This is supported by the new function QSGMaterialShader::combinedImageSamplerCount() and the enhanced semantics of the existing texture argument of QSGMaterialShader::updateSampledImage().
  • Added support changing the polygon rasterization mode from solid to line in QSGMaterialShader::GraphicsPipelineState. (available only when the 3D API in use supports this)
  • ShaderEffectSource.format and layer.format were not useful in previous Qt 6 releases, with the legacy values ignored in practice. This is now documented and new, actually useful values are introduced, in particular to enable requesting floating point (FP16 or FP32) textures instead of RGBA8, if desired.
  • Added QQuickRenderTarget::fromPaintDevice(), enabling redirecting the output from a QQuickWindow using the software backend as well.
  • Added overloads in QQuickRenderTarget that enable specifying the native format of the texture or image object. This is relevant in some advanced use cases when one has to work with native textures that are not RGBA8. Note that only native formats that are supported by Qt's rendering infrastructure are accepted.
  • Added setMirrorVertically() to QQuickRenderTarget, which allows requesting the Qt Quick renderer to alter its matrices to get vertically flipped results when redirecting the 3D API-based rendering into a texture.
  • Qt Quick windows will now attempt to use the software rasterization platform of Direct 3D (WARP) in case the primary graphics device is not compatible with Qt, without having to resort to manually setting environment variables.
  • Added simple heuristics to the threaded render loop of the Qt Quick scenegraph for recognizing broken vsync-based throttling. When frames are rendered/presented too fast, without blocking the render thread, it now switches automatically to the regular timer-based approach of running animations, thus preventing QML animations running too fast.
  • Added FrameAnimation for custom animations. Allows running custom scripts in synchronization with the animation frames.
  • Qt Quick Controls Module:
  • Added a new native-looking style for iOS, iOS Style, as Tech Preview.
  • TreeViewDelegate has three new properties that describes if it's current, selected, or highlighted in the TreeView.
  • Qt Quick Dialogs Module:
  • Added ColorDialog. This is a native dialog on platforms that support it, and a non-native Qt Quick dialog on other platforms.
  • The non-native dialog supports all of the non-native styles: Basic, Fusion, Imagine, Material and Universal.
  • Qt Widgets Module:
  • QFormLayout has new isRowVisible() and setRowVisible() member functions, with overloads that allow hiding and showing rows by index, input widget, or row layout.
  • QKeySequenceEdit has a new clearButtonEnabled property. Use it to control whether the widget shows a clear button that allows the user to clear the edit.
  • QWizard has a new slot, setCurrentId, that allows applications to move to a page without without visiting the pages between the current page and the target.
  • Qt Network Module:
  • Added QSslServer. This simplifies creation of a server which solely communicates over TLS.
  • QNetworkInformation now has loadBackendByFeatures(Features) and loadBackendByName(QStringView), meant to eventually replace the corresponding overloaded load(Features/QStringView) functions which are now marked as deprecated.
  • Qt Test Module:
  • QTestEventLoop::enterLoopMSecs() now uses a PreciseTimer if the timeout is less than a second.
  • Custom QTest::compare() implementations should now revise any calls to QTest::compare_helper() to use one of the two new overloads instead of the old one, which is now deprecated (so as to only generate the strings to represent values in a failure report if the check actually does fail).
  • Added QAbstractItemModelTester::setUseFetchMore().
  • New macros QCOMPARE_{EQ,NE,GT,GE,LT,LE}() support comparisons with reporting similar to that of QCOMPARE(). The EQ one does exact comparisons, without QCOMPARE()'s customizations. These also come with the usual QTRY_COMPARE_*() and QTRY_COMPARE_*_WITH_TIMEOUT() variants.
  • Qt QML Module:
  • QML Language:
  • You can register custom value types with names now. That is, the argument to QML_VALUE_TYPE is no longer ignored. It must be lower case. Once registered, you can declare properties of your own value types in QML.
  • You can store any named value type in a list in QML now. For example list in QML is like a QList in C++. This removes the need to use var for such properties or wrap their elements into objects.
  • The new pragma ComponentBehavior lets you specify whether components defined in a QML file can be used outside of their creation context. If not (pragma ComponentBehavior: Bound), then Qt Quick Compiler can optimize your code better.
  • QML Type Compiler (qmltc):
  • Expanded QML language coverage
  • QML Script Compiler (qmlsc, qmlcachegen):
  • Various operations on lists of value types are now compiled to C++.
  • Dead code and dead stores are optimized out more aggressively now.
  • Type conversions now happen at the place where a value is written, not at the place where it's read. If the value is read multiple times, this is faster.
  • QML Linter (qmllint):
  • Added new warnings regarding proper use of QtQuick and QtQuick.Controls
  • QML Language Server (qmlls):
  • Added completions support
  • Added code action fixing for some linter warnings/hints
  • Moved executable to libexec
  • Cleaned up CMake API:
  • qt_target_compile_qml_to_cpp() used to invoke the QML type compiler is deprecated. Its functionality has been integrated into qt_add_qml_module()
  • Qt Quick 3D Module:
  • Added a preview of lightmap baking support. This provides a static global illumination solution with lightmaps pre-generated using raytracing. See Lightmaps and Global Illumination for details.
  • Added SpecularGlossyMaterial to enable using the specular/glossiness workflow instead of metalness/roughness.
  • Added the LineParticle3D type that allows creating line shaped sprite particles.
  • Added the Model.castsReflection property to control if a model is rendered by reflection probes and if it can be seen in reflections. The same property is also introduced for sprite particles.
  • Added the ReflectionProbe.boxOffset property to move the box relative to the position of the probe without affecting the position of the capture point.
  • Added the ReflectionProbe.debugView property to display a cube visualizing the probe box.
  • Added HeightFieldGeometry to enable creating a height-field geometry from an image file.
  • Added CubeMapTexture to enable custom materials and post-processing effects to work with cube map textures in the shaders. The input is either a .ktx container with image data for all 6 faces, or 6 individual image files.
  • Added support for rendering a skybox from a cubemap instead of the light probe. This can be requested by setting the background mode SceneEnvironment.SkyBoxCubeMap.
  • Added ProceduralSkyTextureData to procedurally generate a HDR light probe or sky box texture.
  • Improved shadow rendering for point and spot lights.
  • Added the renderFormat property to View3D to allow specifying the backing texture format when the View3D is using its (default) Offscreen render mode. The available values are the same as with ShaderEffectSource.format (which itself is also revised in 6.4). This enables using floating point textures instead of the default RGBA8.
  • Support for importing UIP files was removed. The mapping from old Qt 3D Studio features to Qt Quick 3D was problematic in previous releases already. Therefore, Qt 6.4 removes support for .uip files from the balsam tool.
  • Qt Connectivity Module:
  • QNdefMessage is no longer exported. This class inherits QList publicly, but QList isn't designed to be inherited by an exported class.
  • Warning: This is not backward compatible, but this will prevent future BC breaks going forward.
  • In Qt Bluetooth various error enums are extended with new error codes that represent a missing permissions error. Currently these codes are used on Android and macOS/iOS. See QBluetoothLocalDevice::MissingPermissionsError as an example.
  • Qt WebEngine Module:
  • HTML5 file-system access API added, controlled by QWebEngineFileSystemAccessRequest
  • QWebEngineLoadingInfo improved error codes, in particular for HTTP errors
  • QWebEngineView::setPage() now works on pages already loaded
  • QWebEngineSettings::NavigateOnDrop added to allow disabling navigation on drag-an-drop of URLs
  • QWebEngineUrlRequestInfo::ResourceTypeWebSocket added to allow interception of websocket connections
  • Platform Changes:
  • WebAssembly:
  • Qt is now fully supported on the WebAssembly platform. See the platform documentation at Qt for WebAssembly for details.
  • Mobile Platforms:
  • Android:
  • Updated Gradle to 7.4.2 and Android Gradle Plugin to 7.2.1.
  • Updated NDK to r23b (23.1.7779620).
  • Added CMake variables QT_ANDROID_SIGN_APK and QT_ANDROID_SIGN_AAB to build signed packages directly from CMake.
  • Android Accessibility is now aware of scroll events.
  • Improved assets loading speed for Android apps.
  • Embedded Platforms:
  • Boot to Qt:
  • Boot to Qt stack was updated to use Yocto 4.0.3 (kirkstone).
  • NXP i.MX8M Plus LPDDR4 EVK added as a new reference device.
  • QNX:
  • Added support for Qt Multimedia.
  • WebOS:
  • Qt 6.4 has been verified to work with LG webOS OSE 2.18.0 (Qt for webOS).

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.1.2 (Jul 1, 2021)

  • Important Changes:
  • qtbase:
  • 9a186e1da7 Fix license information for libjpeg-turbo
  • Clarified that libjpeg-turbo is actually covered by three licenses, not only IJG.
  • 02a5580292 macOS: allow Qt::AA_DontShowShortcutsInContextMenus overrides
  • The shortcutVisibleInContextMenu property defaults to the value of the Qt::AA_DontShowShortcutsInContextMenus attribute, which in turn defaults to the platform integration. To override the default, set the application attribute after instantiating QApplication, or override the default for each QAction instance.
  • qtwayland:
  • c0ef4aa9 client: Gracefully handle shutdown and window hiding
  • Fixed a crash that could happen when hiding or closing windows while Qt
  • Quick was actively rendering on a different thread.
  • qt3d:
  • eb0011ba1 Fix multi-view picking
  • Non rendered entities (due to layer filtering) are no longer pickable
  • qtimageformats:
  • f111501 Update bundled libtiff to version 4.3.0
  • Bundled libtiff was updated to version 4.3.0
  • qtvirtualkeyboard:
  • 6201217 Fix high CPU utilization caused by key repeat timer
  • Fixed high CPU utilization caused by key repeat timer.
  • 062e4d0 Disable Windows IME when Qt Virtual Keyboard plugin is loaded
  • Disable Windows IME when Qt Virtual Keyboard plugin is loaded
  • qtquick3d:
  • 4a08fa54 Fix the occlusionMap to be compatible with GLTF2
  • This patch changes how occlusionMap works in QQuick3DMaterial.
  • Previously occlusionMap influences on all the diffuse colors and emissive colors. Now it will not affect punctual lightings.(For now it will affect only IBL.) The result of a lancelot test, principled/occlusion.qml, will be changed because it does not have IBL.(The occlusionMap will be ignored.) There will be 4 rows in the new test. Top 2 rows are without IBL, and others are with IBL in their materials.
  • Fixes:
  • qtbase:
  • QTBUG-49771 Backspace key is not working when CapsLock is on
  • QTBUG-88651 Can't Hide Menu Separator
  • QTBUG-92488 When a QComboBox is set to use Fusion style after changing the size adjust policy to AdjustToContents then it will cut off the last item in a list and force it to be scrollable
  • QTBUG-93736 QCombobox last item become inaccessible when a listview is used in popup
  • QTBUG-92583 QListVIew page turning error
  • QTBUG-93504 Running automoc with --collect-json stalls during cmake build with Makefiles
  • QTBUG-94064 D3D11 debug layer warning is printed when having a vertex shader with no inputs
  • QTBUG-36565 Some key symbols generated by xkb level 3 shift don't work in QTextBrowser, QTextEdit, QLineEdit
  • QTBUG-94070 Memory corruption in sqlite plugin
  • QTBUG-93174 QtDeviceUtilities doc build doesn't produce .qch file
  • QTBUG-89754 Reg->6.0/Linux/CMake build : QtGui has dependency on libopengl0
  • QTBUG-93600 90° X rotation as quaternion produces NaN on euler angle
  • QTBUG-83089 NameFilters not working in FileDialog in Android 10
  • QTBUG-73990 Context Menu Items Fonts and Hotkeys Not Displaying
  • QTBUG-83089 NameFilters not working in FileDialog in Android 10
  • QTBUG-77771 A Double click on QtreeView/QTreeWidget index is emitting two clicked() and one doubleClicked() signal
  • QTBUG-92266 vertical space before video on https://doc.qt.io/qt-6/gettingstarted.html
  • QTBUG-94057 QLineEdit should be enter editing status when FocusIn
  • QTBUG-92234 QTranslator.load problem by skipping some
  • QTBUG-93431 Android: build system dependencies are wrong
  • QTBUG-86754 [Reg 5.12.4-> 5.12.5]Action text overlaps the shortcut in menu when padding is used
  • QTBUG-94269 QIntValidator: integer values exceeding top "intermediate" according to validate() func
  • QTBUG-93868 Fix unnoticed regression after merging the fix for UNC path handling
  • QTBUG-92232 [REG] Option Clicking Window Close Button Crashes App
  • QTBUG-64543 When starting a drag scroll via QScroller in a listview there will be a slight jump right before the scrolling starts
  • QTBUG-50866 QTabBar scroll buttons overlap tabs
  • QTBUG-70498 Cannot scroll first tab right, using scroll button in
  • QTabBar, when tab size do not fit into visible rect.
  • QTBUG-91025 Should mention that QPrint Support is not available for iOS
  • QTBUG-94248 Check scrollbar ScrollBarOverlap when computing QListView margins
  • QTBUG-27640 QToolButton::menu-arrow{image:none;} does not work in Custom TitleBar
  • QTBUG-86362 [Reg 5.14 to 5.15.0] macOS: Tabbed QDockWidgets not properly drawing the tabs
  • QTBUG-93742 Error in public function "setclearbuttonenabled" of "QLineEdit" control
  • QTBUG-94211 Windows Long Path issue for RelWithDebInfo config
  • QTBUG-71894 Hangul composition bug
  • QTBUG-94264 When building for Android, instead of an apk, just .so is built
  • QTBUG-91120 QDate::fromString() fails on isolated dates on macOS with TZ=Europe/Lisbon
  • QTBUG-94400 /EHsc flag removal wrong
  • QTBUG-94347 QRandomGenerator64 refers to functions as static, aren't.
  • QTBUG-94470 Incorrect parsing of HTTP2 frame headers.
  • QTBUG-94032 Command line is too long when building large projects
  • QTBUG-76948 IOS: disconnect second screen while app in b/g, it crashes when app goes into foreground
  • QTBUG-93764 QPrintPreviewDialog: printer orientation not updated by QPageSetupDialog
  • QTBUG-94532 Markdown checkboxes are clipped when text range selected
  • QTBUG-62102 QKeySequenceEdit handles meta keys incorrectly on Wayland
  • QTBUG-93360 Compile Qt with gcc 11
  • QTBUG-94043 MSVC warning C4996: 'ID2D1Factory::GetDesktopDpi': Deprecated. Use DisplayInformation::LogicalDpi for Windows Store Apps or GetDpiForWindow for desktop apps.
  • QTBUG-73990 Context Menu Items Fonts and Hotkeys Not Displaying
  • QTBUG-91147 Correct wrong snippet paths reported by CI
  • QTBUG-94194 Qt 6.1/6.1.1 compilation fails after MSVC 2019 16.10 update with "/std:c++latest" compiler flag
  • QTBUG-73990 Context Menu Items Fonts and Hotkeys Not Displaying
  • QTBUG-94264 When building for Android, instead of an apk, just .so is built
  • QTBUG-85714 QOpenGLWidget with NativeWindow QDockWidget does not render when undocked
  • QTBUG-87263 QMap compilation error
  • QTBUG-60822 [REG: 4->5] WA_TranslucentBackground cannot be changed after widget has been shown
  • QTBUG-38776 QDockWidget titlebar icons are not drawn with high DPI
  • QTBUG-64543 When starting a drag scroll via QScroller in a listview there will be a slight jump right before the scrolling starts
  • QTBUG-88248 QObject orphaned connections soft-leak
  • qtdeclarative:
  • QTBUG-94022 Visiting FolderListModel's Qt 6 documentation results in 404
  • QTBUG-93880 MultiPointHandlers (DragHandler, PinchHandler) don't emit the grabChanged signal
  • QTBUG-91549 WheelHandler enables itself although deactivated
  • QTBUG-94067 Runtime error in qv4stackframe
  • QTBUG-79163 DragHandler steals events from a MouseArea with preventStealing = true
  • QTBUG-93489 Not obvious how to generate key events for QML when using
  • QQuickRenderControl
  • QTBUG-94502 Crash on Android caused by automatic type conversion between JS array and QVariantList (SIGBUS)
  • QTBUG-90869 tst_qquickdesignersupport: tests segfault when running on
  • QEMU and Windows MinGW developer build
  • QTBUG-33179 QML revisioning does not work for grouped properties
  • qttools:
  • QTBUG-94345 Qt Designer crash in QQuickWidget plugin
  • QTBUG-74353 Qt Assistant doesn't take stylesheet into account with search result view
  • QTBUG-94510 Failed to generate docs during qt5.git#6.1
  • QTBUG-94555 qdoc: Broken links to internal or dontdocument nodes
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • qttranslations:
  • PYSIDE-1598 PySide6 QTranslator can not load qm files
  • qtdoc:
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • qtwayland:
  • QTBUG-92249 quick3d examples crashes or hangs on exit on wayland
  • qtquickcontrols2:
  • QTBUG-93039 Crash when scrolling ScrollView with zero-sized item
  • QTBUG-93994 QML ComboBox hide error
  • QTBUG-93958 Crash with ScrollView + TextArea + Item when the app is closing
  • QTBUG-55705 SwipeDelegate is not swiping inside SwipeView
  • QTBUG-77946 tst_QQuickDrawer::Universal::position(right) failed on Linux openSUSE_15_0 (gcc-x86_64)
  • QTBUG-94251 tst_QQuickPopup fails with OpenSUSE 15.3
  • qtcharts:
  • QTBUG-94469 Doc: Wrong return type for QValueAxis::labelFormat qml property
  • qtdatavis3d
  • QTBUG-90665 RenderingMode changing does not work correctly
  • QTBUG-90371 The labels for the bars are not displayed when property "Rotate horizontally" set max to the right
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • qtvirtualkeyboard:
  • QTBUG-93997 Warnings with virtual keyboard in Qt 6
  • QTBUG-94259 High CPU load on embedded targets caused by timers
  • QTBUG-93042 Program crashed when type with keyboard
  • QTBUG-94560 The first item of selection list sometimes get highlight
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • qtscxml:
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • QTBUG-94144 Incorrect Qt version numbers on Qt 6.1.1 source code package
  • qtnetworkauth:
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart
  • qtquicktimeline:
  • QDS-4403 Errors with imported 3D component, DS built with Qt 6.1
  • qtquick3d:
  • QTBUG-94185 Misplaced Joint{} element may crash application
  • QTBUG-94230 Node method map***() causes crash if node if null
  • QTBUG-94263 Balsam seems to interpret a sphere parented under leaf joint as joint
  • QDS-4399 Properties missing for some components
  • QDS-4477 Imported Qt3DStudio project looks different in DS built with Qt6.1 compared to QDS 2.1
  • QTBUG-94453 Rectangles can't be used for light probs in View3D
  • QTBUG-94453 Rectangles can't be used for light probs in View3D
  • qt5compat:
  • QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake counterpart

New in Qt 6.1.1 (Jun 23, 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 (Jun 23, 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.3 (Mar 31, 2021)

  • Important Changes:
  • [qtbase]:
  • e815198402 Fixed matching against fonts which has a family name that ends or starts with a space.
  • 5463203fa2 libjpeg-turbo was updated to version 2.0.6
  • d49a37a5e7 Updated SQLite to v3.35.2
  • [qtwayland]:
  • 268e66f0 Fixed a problem where a virtual keyboard would not be updated correctly if two clients were started at almost the same time.
  • Fixes:
  • [qtbase]:
  • 60c5f9502f fixes QTBUG-91401 Error loading PNG: Unsupported ICC profile class 70727472
  • 8893205533 fixes QTBUG-91500 There is no file 'QWGLContext'
  • 0a69974827 fixes QTBUG-91532 tst_QMenu::QTBUG_89082_actionTipsHide() failing on Windows
  • 081eb5d636 fixes QTBUG-91620 QFuture documentation incorrectly linked
  • 46b0f3e170 fixes QTBUG-87078 xcb: showMaximized() in full screen only restores the window with some WMs
  • 3a2fe41c9f fixes QTBUG-42469 QTreeWidget animated crashes when QTreeWidgetItems are set hidden to true
  • 2ed9bae3df fixes QTBUG-91630 Rendering error with OpenGL in Lancelot test case involving Item2D
  • b130d16a27 fixes QTBUG-91438 iOS enormous leak ends with "Terminated due to memory issue"
  • 1c0c2c4ded fixes QTBUG-86857 QPushButton style "text-align: bottom" not working in Qt 5.15.1
  • 8182507ac0 fixes QTBUG-91141 qdoc/WebXML (Qt 6): Invalid links to "Changes to Qt " are inserted into brief of classes and other places
  • 341654213b fixes QTBUG-91704 QMultiHash::count(key) crashes on empty container
  • de9a97a47a fixes QTBUG-91455 Qt.ImhFormattedNumbersOnly flag does not show minus sign in iOS keyboard
  • 049e14870c fixes QTBUG-91909 QtConcurrenceThreadEngine > ThreadEngineStarter?
  • b668373477 fixes QTBUG-90812 androiddeployqt doesn't bundle JARs or include permissions set on a plugin
  • 774f4542ed fixes QTBUG-91223 qt_memrotate270, qt_memrotate180 , qt_memrotate90, segfaults
  • 90267af5df fixes QTBUG-89922 tst_QSslSocket::setSslConfiguration(WithoutProxy fails with macOS 10.15 and Xcode 12.3
  • d3b24a14bb fixes QTBUG-91261 Invalid pointer return with QGridLayout::itemAt(-1)
  • 945c607db6 fixes QTBUG-89082 The previous tips is still displayed when mouse move to another Action without tips.
  • e4f9ddc9eb fixes QTBUG-82617 Crash on exit via back button on Huawei Mate 20 Pro
  • 4e1bd90f3f fixes QTBUG-91392 ProtocolFailure with certain HTTP requests to transmission-daemon
  • aac5b02e28 fixes QTBUG-91500 There is no file 'QWGLContext'
  • b9091e4cec fixes QTBUG-91253 QConcatenateTablesProxyModel crushes being sourceModel in QSortFilterProxyModel
  • 562ee2f3a8 fixes QTCREATORBUG-23574 cmake support for iOS
  • e815198402 fixes QTBUG-79140 [REG 5.13.0 -> 5.14.0]OTF fonts don't work correctly
  • 4c32d983b9 fixes QTBUG-89082 The previous tips is still displayed when mouse move to another Action without tips.
  • [qtsvg]:
  • 0fa5229 fixes QTBUG-91507 Out of bounds read in function `QRadialFetchSimd::fetch` when input craft svg file
  • [qtdeclarative]:
  • e1ab5c04c7 fixes QTBUG-91519 [REG 5.14.2 -> 5.15.0] Call QQmlIncubator::clear() inside QQmlIncubator::setInitialState() crashes afterward
  • b1e47b795e fixes QTBUG-91491 Crash in Generator::method_next when creating new properties on Generator
  • a453e59c2a fixes QTBUG-91182 Atlas textures with size not greater than QSG_ATLAS_TRANSIENT_IMAGE_THRESHOLD are not visible with ShaderEffect
  • 5a85460b2a fixes QTBUG-92076 TableView: forceLayout() fails when all columns are hidden
  • [qttools]:
  • dc5f87bd fixes QTBUG-91746 Incomplete statement in QDoc documentation on instantiates
  • 05f23a21 fixes QTBUG-91754 qdoc crash when generic documents of qtbase
  • b554c4db fixes QTBUG-91990 qdoc: property command fails with a const property type
  • [qtwayland]:
  • 268e66f0 fixes QTBUG-91096 >1 Programs on QtWayland causes QtVirtualKeyboard to not work
  • [qtquickcontrols2]:
  • 6a6e603e fixes QTBUG-87018 Touch/mouse-related test failures in qtquickcontrols2
  • 99d9214c fixes QTBUG-91141 qdoc/WebXML (Qt 6): Invalid links to "Changes to Qt " are inserted into brief of classes and other places
  • [qtquick3d]:
  • d76240bc fixes QTBUG-91412 Texture.sourceItem does not handle all textureProvider items correctly
  • 908feebc fixes QTBUG-91879 Invisible but item layer View3D with Inline render mode crashes

New in Qt 6.0.2 (Mar 3, 2021)

  • Bug fixes and other improvements

New in Qt 6.0.1 (Feb 5, 2021)

  • As a patch release, Qt 6.0.1 does not add any new functionality but provides bug fixes and other improvements.
  • Compared to Qt 6.0.0, the new Qt 6.0.1 contains over 200 bug fixes.

New in Qt 6.0.0 (Feb 5, 2021)

  • 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.

New in Qt 5.12.0 (Jan 10, 2019)

  • 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.2 (Sep 21, 2018)

  • Library:
  • QtCore:
  • QFile:
  • [QTBUG-69417] Fixed a regression in QFile::copy() that caused the original file not to be copied entirely if it was modified outside of this QFile object between the last time we checked its size and the copy() call. Note this is not a prevention against race conditions.
  • [QTBUG-69148] Fixed a regression that caused QFile::map() to succeed or produce incorrect results when trying to map a file at an offset beyond 4 GB on 32-bit Android systems and on some special Linux configurations.
  • QObject:
  • [QTBUG-69744] Fixed a bug in setProperty() that caused a property change not to take effect if the old value compared equal using QVariant's equality operator, but the values were not strictly equal.
  • QPluginLoader:
  • Fixed an issue that could cause a crash when certain damaged or corrupt plugin files were scanned.
  • QSortFilterProxyModel:
  • [QTBUG-58499][QTBUG-69158] insertRows(row,count,parent) with row == rowCount will insert at the bottom of the source model rather than at the row QSortFilterProxyModel::rowCount of the source model.
  • QStorageInfo:
  • [QTBUG-60215] Fixed a bug that caused the last entry in the mtab file to be ignored on Android.
  • Fixed a bug on Android that could cause QStorageInfo to skip some filesystems (if the mount table is a virtual file and contains any short lines) or crash (if the mount table contains any 3-field lines).
  • QString:
  • [QTBUG-63620] Formatting of doubles with single-digit exponent, by number() or args(), now includes a leading zero in that exponent, consistently with sprintf(), as it did up to 5.6.
  • QSysInfo:
  • Fixed QSysInfo::productType() to properly detect some Linux distributions that ship with a minimal /etc.
  • QTemporaryFile:
  • [QTBUG-69436] Worked around a bug in the GNU C Library versions 2.21 and earlier (used on Linux) that caused temporary files to be created with permissions 000.
  • QUrl:
  • Fixed a bug that caused URLs whose hostnames contained unassigned or prohibited Unicode codepoints to report isValid() == true, despite clearing the hostname.
  • QtGui:
  • QMatrix:
  • The qHash() implementation for QMatrix has been changed.
  • QTransform:
  • The qHash() implementation for QTransform has been changed.
  • Text:
  • [QTBUG-69661] Fixed potential crash when using QTextOption::ShowLineAndParagraphSeparators. [QTBUG-70096] Fixed a possible crash when combining QStaticText,QOpenGLWidget and Qt Quick in the same application.
  • Qt programs in Flatpak environment can now trigger IBus input method.
  • QtWidgets:
  • QMessageBox:
  • [QTBUG-69526] A message box with two buttons, one of which is the "Show Details..." button, can now be closed by clicking the X button on the window's title bar.
  • QFileDialog:
  • QFileDialog::selectedMimeTypeFilter() now returns the actually selected name filter.
  • Third-party code:
  • [QTBUG-69274] SQLite was updated to version 3.24.0.
  • [QTBUG-69271] PCRE2 was updated to version 10.31.
  • Tools:
  • Configure & build system:
  • [QTBUG-63452] Fixed re-configuring commercial builds after more than a day.
  • [QTBUG-63483] Fixed -sysroot being ignored by various configure tests.
  • [QTBUG-67443] Fixed build with some MinGW distributions.
  • [QTBUG-69176] Fixed setting variables with digits in their names on the configure command line.
  • [MSVC][ICC] Fixed build with MSVC 2017 15.8.
  • Fixed -L & -F being ignored by library configure tests.
  • Added support for building with Wayland on macOS.
  • Qmake:
  • [QTBUG-22863][QTBUG-68635] Fixed support for file names containing colons or hash marks - to a degree.
  • [QTBUG-35713][Android@Win] Fixed building of static libraries with DESTDIR.
  • [QTBUG-37592][Darwin] Switching the SDK version on an existing build will now raise an error.
  • [QTBUG-59967][VS2012+] Fixed handling of QMAKE_MANIFEST.
  • [QTBUG-65072][Android@Win] Fixed inconsistent use of path separators in generated dependencies with lead to build rules not being found.
  • [QTBUG-69244][Xcode] Fixed shadow builds of SUBDIRS projects.
  • [QTBUG-69279][Xcode] Fixed clobbering of build directory name in debug builds of libraries with CONFIG+=create_prl when the path contains the library name itself.
  • [QTBUG-69770][VS] Fixed compilation of generated C++ sources with non-.cpp file extensions.
  • [QTBUG-69769][VS] Fixed QMAKE_EXTRA_COMPILERS for non-debug&release builds.
  • [Darwin] Fixed QMAKE_BUNDLE not being used for the bundle identifier.
  • Clang-based mkspecs now support CROSS_COMPILE.
  • Added support for C++14/17 with MSVC 2017 15.7.

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." 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)

  • Bug fixes:
  • QTBUG-65547: [iOS] QBluetoothLocalDevice not valid
  • QTBUG-64784: QUdpSocket::readDatagram incorrectly fills the host and port values
  • QTBUG-65116: Qt3D cpu usage is much worse in 5.10.0 with RenderPolicy OnDemand
  • QTBUG-57791: High CPU usage with static 3D scene
  • QTBUG-55109: When using OnDemand as the render settings then it will continually poll for updates which will cause a high CPU usage
  • QTBUG-64728: Android Service thread gets stuck
  • QTBUG-55671: Windows/Dynamic GL: openglhellogles3 example not launching
  • QTBUG-65863: "QApplication is not created on main thread" in same game example
  • QTBUG-65464: MSVC: 'file name too long' error for QtWebEngine builds on Windows
  • QTBUG-66112: [REG 5.10.0 -> 5.10.1] No mouse interaction with Qt Quick based UIs
  • QTBUG-60231: Crash when QGraphicsOpacityEffect has 1.0 opacity and child widget has graphics effect
  • QTBUG-58700: [Android] Text selection handles stay visible when keyboard is hidden
  • QTBUG-66275: WebEngine build fails in Yocto / Boot2Qt for 5.10.1
  • QTBUG-65016: QQuickStyle::setFallbackStyle is broken on iOS
  • QTBUG-54854: Installer requires Xcode Version 5.0.0 for Qt download if toolchain not found
  • QTBUG-66003: Scene2D example crashes on exit with 'QThread: Destroyed while thread is still running'
  • QTBUG-65226: Starting with version 5.10, the use of QSqlRecord runs 300 times slower
  • QTBUG-64928: Default QApplication project crashes inside QXcbConnection::internAtom()
  • QTBUG-66243: Deadlock when changing surface of surface selector in framegraph.
  • QTBUG-66093: Crash in QMenuSloppyState::setSubMenuPopup
  • QTBUG-66176: QML TextField QuickControls2 - placeholderText is almost transparent when background is black
  • QTBUG-65673: iOS examples not compiling
  • QTBUG-65800: QQuickWidget doesn't receive mouse events when not at topleft corner of window
  • QTBUG-66173: tst_WaylandClient failed on Linux QEMU (gcc-armv7)
  • QTBUG-65962: [REG: 5.9.3->5.9.4] ComboBox popup doesn't show up
  • QTBUG-65651: Map location jumps after closing popup menu
  • QTBUG-66222: QAndroidService sets QtAndroidPrivate::setOnBindListener too early
  • QTBUG-66081: Crashes on shutdown in qml
  • QTBUG-66188: qt/tqtc-qmlcompiler compilation failure during qt5.git integration in 'tqtc/5.10.1'
  • QTBUG-65939: QString::compare yields different results for null or empty string
  • QTBUG-53204: Gstreamer: Memory leak starting and stopping
  • QTBUG-65193: When having multiple Actions with same icon set, first Action's image is drawn as a black box in Quick Controls 2
  • QTBUG-66196: Linux[REG]: Camera does not work
  • QTBUG-66152: [REG 5.10.0 -> 5.10.1] Flickable keeps moving after mouse release if a child has a TapHandler
  • QTBUG-64616: REG 5.9.1->5.9.2: TextInput ignores validator
  • QTBUG-65924: Build fails when -no-qml-debug and -qtnamespace configure options are used
  • QTBUG-65767: QML profiler service sends multiple "Complete" messages
  • QTBUG-62867: WebEngine fails to renders canvas elements when using software renderer
  • QTBUG-44153: Crash when using aliases of a property with a deleted QObject
  • QTBUG-49218: Off-by-one drawing bug in GridView on model change
  • QTBUG-61882: [REG 5.6->5.7.0]: Emoji don't render when used with non-Latin characters (OSX Regression)
  • QTBUG-64798: Invalid syntax segfaults QML engine
  • QTBUG-65190: [Reg 5.7 -> 5.8] QML profiler integration duplicates signal handler locations
  • QTBUG-58837: QQmlComponent can no longer load local, relative URLs
  • QTBUG-63303: QML freezes with GridLayout inside ColumnLayout
  • QTBUG-66030: tst_QXmlQuery::evaluateToReceiver(allAtomics.xq) failed
  • QTBUG-65820: QStandardPaths::AppDataLocation is worong ("/") in Android Debug builds with Qt 5.9.4 snapshot
  • QTBUG-64905: [Android][REG 5.9.2->5.9.3]: When running an accessibilty enabled application it will warn about calling populateNode for Invalid ID
  • QTBUG-65034: When setting a font on an action that is used in a QMenu that has a styled item via stylesheets, the font setting is lost
  • QTBUG-65545: When the browser window is resized it is not updating the streamed application
  • QTBUG-65663: [REG] QML window become empty after devicePixelRatio changed
  • QTBUG-63105: Shapes do not work with OpacityMask if invisible
  • QTBUG-64432: stocqt shows NaN in the list of stocks
  • QTBUG-52944: Transient parent of Window is not clear when Loader is involved
  • QTBUG-64848: PinchHandler manual test: detects trackpad pinches outside of bounds of parent Item
  • QTBUG-65789: When resizing an Image item that is showing SVG then the SVG can be blurry
  • QTBUG-66067: Enum entries with value -1 exported by C++ singleton are read incorrectly in QML
  • QTBUG-66089: ToolButton and Button size problems
  • QTBUG-65955: Button is not visible if its background property is set as a Rectangle
  • QTBUG-65414: qrandom.h breaks compilation of MSVC
  • QTBUG-66065: The first delegated item when using Button from QtQuickControls 2 always missing its background
  • QTBUG-66010: Compiler and Debugger paths of a QBSP package are misconfigured
  • QTBUG-43567: [crash] when using a qml property alias to another qml file
  • QTBUG-62577: Can not install Qt5.6.3 from online repos to Rhel6.6
  • QTBUG-63613: Complex XPath query causes segfault
  • QTBUG-64775: ColorOverlay frag shader fails to load
  • QTBUG-65001: REG 5.9->5.10/Windows: Override cursors are not restored when nested or in dual monitor setup
  • QTBUG-66006: 'qhelpgenerator: Command not found' during qt5.git integration in '5.10'
  • QTBUG-65940: Windows: "index out of range" in QEventDispatcherWin32::activateEventNotifiers()
  • QTBUG-65668: Modal QMessage always displays a zoom button on macOS (regression 5.9.3 -> 5.10.0)
  • QTBUG-65647: Random crashes on exit
  • QTBUG-58727: [macOS]: Command+H with Qt::Popup window open leads to inconsistent internal state
  • QTBUG-65506: QMesh returns null QGeometryFactory pointer
  • QTBUG-64133: Collada (*.dae) imported 3D-Models have vertically flipped Texture-Coordinates
  • QTBUG-63510: [macOS]: When drawing braille characters they will just show up as squares since Apple Unicode MS does not contain support for them
  • QTBUG-64869: QtWebEngine doesn't allow cross build if you don't have a working host 32 bits compiler
  • QTBUG-65844: macdeployqt produced .dmg on High Sierra not working on El Capitan
  • QTBUG-60344: No way to prevent bindings of scheduled-to-be-deleted Loader item from evaluating
  • QTBUG-65228: Division by zero in QStyleSheetStyle::drawControl
  • QTBUG-65737: Change transparency of tree item view should not affect the transparency checkmark inside buddy checkbox
  • QTBUG-50992: QQC2: Object destroyed during incubation
  • QTBUG-65758: setting QMovie::speed to 0 causes a crash
  • QTBUG-59636: [REG 4.8->5.6.2] QGLWidget does not honor request for stereo
  • QTBUG-65861: tst_sensorgestures_gestures::testSingleGestures(twist) failed
  • QTBUG-65079: Webengine cross compilation broken since 5.10
  • QTBUG-65735: [Qt 5.10.1] Printsupport not working with WinRT
  • QTBUG-65475: Application palette changes at runtime do not work for all widgets
  • QTBUG-65783: Calling `QWidget::winId` can sometimes cause crashes on Windows
  • QTBUG-63213: QtQuick.VirtualKeyboard.Settings qml types not recognized
  • QTBUG-65197: Using Plugin in QML crashes an application
  • QTBUG-64880: QtLocation Map performance issue with copyright info
  • QTBUG-65498: [QML] GeocodeModel gets stuck in Loading status
  • QTBUG-65564: Types in Documentation for "Map" are wrong
  • QTBUG-65896: Wrong world transform calculated for child entities of QCamera
  • QTBUG-65887: QProcess cannot create pipe if another elevated QProcess already created pipe with the same name
  • QTBUG-65889: Shortcut stops triggering Action when the Action is assigned to a Button in a Repeater
  • QTBUG-65880: [REG 5.9.3 => 5.9.4] Popup opened at 0, 0 has no background
  • QTBUG-65801: Windows: Device discovery with ClassicMethod doesn't finish when there is no classic device to be found
  • QTBUG-62815: X11: IgnoreAction is always returned QDrag::exec() when drop is outside application
  • QTBUG-65818: Qt library files are huge
  • QTBUG-65895: View matrix is wrong when camera has parent with transform
  • QTBUG-62640: QWebEngineDownloadItem::type() is not working correctly
  • QTBUG-65442: qmake property QT_SYSROOT treated as variable in qtwebengine/mkspecs/features/gn_generator.prf
  • QTBUG-62155: Bad Quality of Video on VideoOutput (QML) with YUV Format
  • QTBUG-65568: Qt apps crash on close with xdg shell v6 (protocol error)
  • QTBUG-46857: Qt build fails when configured with -no-feature-udpsocket
  • QTBUG-65443: QDateTime ASSERTS if constructing a new object with a invalid date/time, but a valid timezone
  • QTBUG-60590: "holistic" QML benchmark crashes (memory allocation, Q_UNREACHABLE was reached)
  • QTBUG-65829: Crash when changing geometry a lot
  • QTBUG-3934: Provide sufficient debug symbols with the pre-built binaries for Qt
  • QTBUG-65652: [REG 5.9.3 -> 5.9.4] Linker errors in static build
  • QTBUG-65553: Crash in wl_proxy_create_wrapper after window destruction
  • QTBUG-61209: [Regression] QML disk cache and url interception don't play nice together
  • QTBUG-64718: Windows: QUdpSocket::readDatagram sender address is not assigned
  • QTBUG-65686: Handling of enter key on webgl platform does not match Windows platform
  • QTBUG-65015: Visual Studio 2017 15.5 breaks VCRedist search in WinDeployQt
  • QTBUG-65773: [REG] QMenu checks missing on Mac with stylesheet
  • QTBUG-59794: Windows: Context menus have wrong size when AA_EnableHighDpiScaling is set
  • QTBUG-64241: Synthetic mouse events marked as MouseEventNotSynthesized
  • QTBUG-65532: QWindowsNativeFileDialogBase::onSelectionChange() logs with qDebug()
  • QTBUG-65239: qwebengineshutdown / qwebenginehistoryinterface tests hang on exit
  • QTBUG-62944: 'unicode/ubidi.h: No such file or directory' error for QtLocation.mapbox-gl-native builds using mingw-w64 on Windows
  • QTBUG-65736: Windows[REG]: Video rendering broken on Windows
  • QTBUG-65664: Qt 5.10.1 opensource installer from staging installs qtcreator only no matter what is chosen from the installer listing
  • QTBUG-65462: leak in new Qt 5.10 QMetaObject::invokeMethod + lambda
  • QTBUG-64933: HTML tooltips persist after moving mouse away
  • QTBUG-64313: (followup of QTBUG-64239) emoji images are painted at the wrong place
  • QTBUG-64820: Qt module builds fail with older GCC versions
  • QTBUG-60714: qt5_add_binary_resources() macro does not recompile for cmake generated input
  • QTBUG-63304: When moving a QQuickWidget with Scene3D in it from one Window to another it will crash when trying to resize the window it is in
  • QTBUG-57147: License files LGPLv2 is still present
  • QTBUG-63093: [Regression] fitViewportToMapItems() fails to scale and position map correctly
  • QTBUG-63933: Linux: QPrintDialog always selects default printer
  • QTBUG-64833: emulator: content window positioning
  • QTBUG-64977: Fonts are rendered tiny, almost unreadable for new QtQuick apps in Emulator
  • QTBUG-64887: Emulator screen zooming & dragging problems
  • QTBUG-56724: QtDeviceUtlities network module is incomplete
  • QTBUG-64726: Sanitizer warnings from SimpleBrowser
  • QTBUG-65676: MinGW/GCC compiler error in qtactiveqt
  • QTBUG-51995: Loader doesn't immediately destroy the loaded item, and hence cannot be used to ensure a loaded item can freely reference properties that are only valid while the item is loaded
  • QTBUG-51865: [Android][Samsung devices]: When starting a sentence in a text input widget it will not start with a capital letter even though this is turned on
  • QTBUG-65519: qt-iOS can't render emoji zwj sequence correctly
  • QTBUG-65605: macOS: Fallback font list not ordered by writing system support
  • QTBUG-65407: Scene3DRenderer crashes when Scene3DItem is destroyed
  • QTBUG-63897: Scene3D crash on destruction when used in StackView
  • QTBUG-65325: Easy positioning backend for Windows
  • QTBUG-65471: build failed mysql module with msvc2015 and mariadb 5.5
  • QTBUG-65391: 'Unknown module(s) in QT: platformcompositor_support-private' error for qtwebglplugin builds without OpenGL support
  • QTBUG-65054: Widget application crashes when using the WebGL backend
  • QTBUG-65316: QVariantMap used in API perhaps not good
  • QTBUG-65078: WebGL tech preview plugin always crashes in QFontEngineQPF2 on macOS
  • QTBUG-59261: WheelEvents get set with a pixelDelta even when using a physical mouse wheel under new libinput
  • QTBUG-15129: Unexpected behavior of transformOrigin
  • QTBUG-65477: qmake preserves illegal characters in @BUNDLEIDENTIFIER@ string on macOS
  • QTBUG-65624: REG(5.9): Properties of type "var" display garbage when bound to a call to qsTr
  • QTBUG-65594: qtci-linux-Ubuntu-16.04-x86_64/freeopcua.sh: line 47: cmake: command not found
  • QTBUG-61537: QAbstractListModel changes during delegate creation cause overlap ListView items
  • QTBUG-65206: tst_QWebEngineView::mouseLeave() failed on mac
  • QTBUG-65150: QSqlQuery with two bound parameters returns illegal result set
  • QTBUG-64664: Crash in qtquickcontrols/tests/auto/controls in '5.10.0'
  • QTBUG-65455: tst_Bic::sizesAndVTables(QtWebEngine:5.10) Test failed
  • QTBUG-65440: tst_QUdpSocket fails on a new Ubuntu 16.04 template
  • QTBUG-64631: Widget applications freeze when dragging to resize in Weston and Qt Wayland Compositors
  • QTBUG-60705: [REG 5.8.0 -> 5.9.0] Scrollbar on HiDPI screen is way too big
  • QTBUG-47321: Removed Loader component gets a null parent
  • QTBUG-65445: Improve Style/FallbackStyle documentation
  • QTBUG-65516: [REG] 'UIApplicationWillChangeStatusBarFrameNotification' is unavailable: not available on tvOS
  • QTBUG-63844: Crash in QMetaObject::activate()
  • QTBUG-58698: Segfault / inconsistent behavior on render process crashes
  • QTBUG-35052: QXmlSchemaValidator runs out of memory
  • QTBUG-65067: Simple schema validation is nearly impossible
  • QTBUG-63266: Pointer events have empty pointerType
  • QTBUG-65321: qtcreatorcdbext.dll cannot be found - Qt 5.10.0 (offline installer)
  • QTBUG-65500: Cannot configure Font property for Imagine style
  • QTBUG-65474: Tinycan plugin fails to compile with MSVC2013
  • QTBUG-64923: Segfault when executing simple query with SQLite3
  • QTBUG-65492: [Windows] Moc fails when using Unicode output filenames
  • QTBUG-64249: Tapping one MouseArea while other one is being pressed through mouse leaves the pressed state on
  • QTBUG-53520: extras::Tests_PieMenu test fails with crash
  • QTBUG-46116: tst_qwidget fails in the CI
  • QTBUG-65422: QOAuth1::tokenSecret() returns clientIdentifierSharedKey instead
  • QTBUG-60550: Drawer has no documentation for adding content to it
  • QTBUG-65052: Hovering bug for ToolButton in Listview with less than 3 character text
  • QTBUG-30148: Windows: Inconsistency between QFile::isWritable() and QFileInfo::isWritable() functions.
  • QTBUG-64405: [REG 5.9.2->5.10.0] Submenus attached to a context menu are missing the arrows indicating it has a sub menu
  • QTBUG-65341: Broken customization
  • QTBUG-51405: QCameraViewfinder does not draw correctly with partially overlapping MDI subwindows
  • QTBUG-65132: MinGW 32bit build of 'Map Viewer (QML)' example crashes
  • QTBUG-65412: SSL handshake failed on macOS 10.11 (El Capitan)
  • QTBUG-64044: Precision loss in QDeclarativeVideoRendererBackend::adjustedViewport
  • QTBUG-65354: WinRT: SSL handshake fails with ConnectionRefusedError
  • QTBUG-57197: QMediaPlayer state not updated after end of media
  • QTBUG-65084: QtQuickControls2: StackView eats all touch events
  • QTBUG-62206: 'undefined reference' and 'unresolved external symbol' errors for QtSpeech 'hello_speak' example builds using mingw-w64 and ICC on Windows
  • QTBUG-65220: QSoundEffect shouldn't be blocking threads
  • QTBUG-62521: configure over-quotes library exports from sources with multi-entry-lists
  • QTBUG-65120: Windows QPA: ASSERT failure in QVector::at: "index out of range" in tablet support with tablet Huion GT-191
  • QTBUG-62110: Slow swipe on HighDPI android device
  • QTBUG-61213: Widget crashes during setAttribute(Qt::WA_WindowPropagation)
  • QTBUG-63628: UWP support on non-embedded Windows environments
  • QTBUG-64103: [regression] QFile::rename fails on Android
  • QTBUG-54610: QTreeView header misbehaviour.
  • QTBUG-41124: QHeaderView Private Implementation Indefinately Growing Vector
  • QTBUG-58919: [Windows]: When a library using QCoreApplication is unloaded and then loaded again it can cause a crash
  • QTBUG-65230: Intermittent crash due to stale argv reference
  • QTBUG-62479: update build documentation for sqldrivers
  • QTBUG-56280: Resizing widget that has QScrollArea with FixedSize layout, causes infinite resize loop due to scrollbars
  • QTBUG-62818: QPlainTextEdit::setPlainText goes to infinite loop
  • QTBUG-64549: [WinRT] QInAppStore::tr and QInAppStore::trUtf8 Crashes
  • QTBUG-46488: ListView displays weird spaces when adding elements in delegate's onCompleted callback
  • QTBUG-64967: Favicons don't update correctly
  • QTBUG-64480: Win 10: Runtime Error when trying to connect to paired, but not available BLE Device
  • QTBUG-62864: ListView scrolling behavior breaks when using lazy loading model
  • QTBUG-55645: QPainter::drawPixmap produces wrong output in some circumstances
  • QTBUG-65235: segfault at 8 ip 00007fe4fd9cc40f sp 00007ffc6d6d36a0 error 4 in libQt5XcbQpa.so.5.10.0[7fe4fd990000+15c000]
  • QTBUG-63538: QXmlStreamWriter asserts URI is not null, but according to the standard it can
  • QTBUG-64548: Shortcut doesn't work in QQuickWidget
  • QTBUG-65138: Doc: Qt Gui overview page - list of third party licenses is incorrect
  • QTBUG-62809: QML TableView performance issue during scroll
  • QTBUG-50453: hidpi display inside a VM does not work properly
  • QTBUG-62235: Scene3D on retina displays, the viewport is not scaled properly
  • QTBUG-65210: Win offline installer, MSVC2017 uses lowercase letters when others use uppercase in installer tree
  • QTBUG-61463: Multiple events emitted from a single object in different thread cause NullPointer exception in QStateMachinePrivate
  • QTBUG-64068: Qt Quick Calendar Controls Displays Nan instead of day
  • QTBUG-58400: When printing a large page (or a very detailed one) then their can be a lot of images being passed to the printer, which can cause out of memory problems
  • QTBUG-64055: Font-style in an item in QMenu does not work unless any padding or margin property is set to any value
  • QTBUG-50896: [OS X] [iOS] DSYM not generated for release build
  • QTBUG-65156: Memory leak in QSGFramebufferObjectNode
  • QTBUG-65165: Tumbler's animation accelerates slowly with large scrolling distances
  • QTBUG-65173: Shape plugin resources not found in static builds
  • QTBUG-59320: Calling QCameraInfo::availableCameras() returns empty list Windows 10/QCoreApplication
  • QTBUG-65151: WebView fails to load OAuth Pages with Qt5.9.3
  • QTBUG-64838: Emulator: Installer package is not cleaned up
  • QTBUG-64993: Mapview example crashes
  • QTBUG-50350: QtAssistant doesn't save bookmarks when process is closed
  • QTBUG-65174: QT 5.9.3 does not link against libnss3.so in CentOS 7
  • QTBUG-64407: QSoundEffect memory usage over time
  • QTBUG-63476: Text is now garbled on iOS 11
  • QTBUG-64486: Windows UWP: Bluetooth Low Energy Example doesn't discover any BLE devices
  • QTBUG-62475: [ANGLE][D3D11]: When D3D11 specifically is used it will cause flickering on resize
  • QTBUG-65075: [REG 5.9.1 => 5.9.2] qwebview_darwin.mm compiler warning on macOS 10.12, 10.13
  • QTBUG-63830: Broken clipping with software rendering in nested ListViews
  • QTBUG-64799: WebEngine: License type for third-party code is not displayed correctly for WebEngine
  • QTBUG-60422: Chinese and Georgian label underline problem
  • QTBUG-64033: [QNX] Configure doesn't detect slog2 with QNX 7.0
  • QTBUG-63026: [REG: 5.6-2->5.6.3]: Scrolling gesture inside QtQuick jumpy on macOS touchpad
  • QTBUG-65125: QEGLPbuffer reports itself as invalid on platforms with surfaceless contexts
  • QTBUG-60694: Keyboard modifiers are incorrect on mouse events
  • QTBUG-65108: 'checkable' feature of a Button doesn't work if the Button has an action connected to it
  • QTBUG-62250: Content in .txt files can be searched but no hyperlink is created for the matches
  • QTBUG-62210: [REG: 5.8->5.9]: Removing the data from a QBarSet without removing the barset itself from a QStackedBarSeries, it leaves the removed data labels to the chart
  • QTBUG-64782: Bluetooth discovery does not work on Bluez
  • QTBUG-64764: QML Multimedia Videos shown mirrored and flipped in Android
  • QTBUG-65076: QProcess does not execute command if PATH isn't set
  • QTBUG-65123: BlitFramebuffer coordinate system mismatch
  • QTBUG-37955: [iOS] QML camera/videoOutput front camera autoOrientation problem
  • QTBUG-46287: QMainwindow accepts drop events even when a modal dialog is open
  • QTBUG-53099: QOpenGLWidget and QGraphicsVideoItem issue
  • QTBUG-62874: [REG: 5.8->5.9]: Controls 2 BusyIndicator animation does not update if it is inside QQuickWidget
  • QTBUG-53731: Toradex apalis imx6 image has very low default volume
  • QTBUG-64628: REG 5.9->5.10: ComboBox is disabled after first selection
  • QTBUG-53036: MouseArea bug in the latest Android
  • QTBUG-65003: TapHandler does not emit canceled consistently
  • QTBUG-65080: BlitFramebuffer node unusable when the input/output RT is not actively used elsewhere in the framegraph
  • QTBUG-65081: BlitFramebuffer does not provide automatic parenting unlike other framegraph nodes
  • QTBUG-64812: Message Bubble is shown in wrong place for High-DPI
  • QTBUG-64438: Anamorphic Video is downscaled
  • QTBUG-65022: Emulator crashed when used with angle
  • QTBUG-64965: Check for fixed header completeness is wrong
  • QTBUG-64841: [REG 5.7.1->5.8.0] Wayland: Multi-planar surfaces (YUV video) are not decoded correctly
  • QTBUG-64632: MapboxGL plugin not showing up on Windows
  • QTBUG-64884: RC package containing no documentation for QtKnx and QtMqtt modules
  • QTBUG-58275: QNetworkAccessManager cancels all requests after switching WiFi off/on
  • QTBUG-64317: QT5_ADD_TRANSLATION CMake macro produces list with incorrect file names
  • QTBUG-62841: QFileSystemModel: Crash when monitoring directory with activity (temp)
  • QTBUG-63576: Qt with HiDPI (192) makes checkboxes in QMenu too small
  • QTBUG-64121: Windows: QSettings problem (cannot read) when input file is a symlink
  • QTBUG-64560: renderProcessTerminated and page reload
  • QTBUG-57206: Viewport meta tag not working in v5.8.0-beta1
  • QTBUG-64742: QDnsLookup crash on unix when DNS response is over 512 byte
  • QTBUG-44584: REG[4-5] OS X native menu items are disabled for modal dialog
  • QTBUG-56532: Re-registration of enum types doesn't work
  • QTBUG-56521: Re-registration of singleton types doesn't work
  • QTBUG-64771: QParser in qlalr exemple won't compile
  • QTBUG-61431: processing of configure *_LIBS_[DEBUG|RELEASE] arguments is botched
  • QTBUG-64265: MouseLeave JavaScript event not triggered when leaving QWebEngineView
  • QTBUG-49751: [qt-iOS] network module stops functioning after network was disabled and then re-enabled
  • QTBUG-60366: No new session is created when the networkaccessibility went to notAccessible
  • QTBUG-64657: RDP does not work good with Mingw and Quick application.
  • QTBUG-64851: pointer handlers manual test: svgz image format is unsupported on iOS release build
  • QTBUG-53864: The DB2 sql plugin can not be compiled on 64Bit Linux
  • QTBUG-61407: Video renders black with QML Video component when using Angle
  • QTBUG-59388: qmlwebsockets::test_send_receive_binary() fails in macOS
  • QTBUG-61144: Clicks don't occur for Buttons in ListView with pressDelay set
  • QTBUG-51165: Scrolling from Capazitive Keyboard not working - qt.labs.controls
  • QTBUG-64585: Sample app is crashing on Qt 5.9.2 on VxWorks
  • QTBUG-64052: ScrollView scrollbar handle is shown being in its minimum size when there is no content
  • QTBUG-54859: Moving items in a model during asynchronous creation in Repeater might crash
  • QTBUG-64436: WebEngineView (QML) does not pass mouse press/release to webpage
  • QTBUG-64790: UWP: Building Visual Studio projects results in "Payload file does not exist
  • QTBUG-64761: qtquickcontrols2/examples/quickcontrols2/flatstyle configure/compile failure with disabled widgets module
  • QTBUG-64721: HTTP/2 request with invalid host name does not end in HostNotFound error
  • QTBUG-36773: Regression: Can no-longer provide a qmldir from a custom schema
  • QTBUG-63431: Plugin-only qmldir files are rejected if loaded asynchronously
  • QTBUG-64674: v4 does not collect memory profile data for the QML profiler anymore
  • QTBUG-64669: Bluez LE command queue blocked when Gatt timeout occurs
  • QTBUG-35916: 200+ millisecond blocking delay when calling stop() on a QSoundEffect
  • QTBUG-54242: Assert (qFatal) in QAudioDeviceInfo::availableDevices on Windows
  • QTBUG-63743: Clipping is broken inside scrollview with Software Renderer
  • QTBUG-47290: GestureEvent documentation missing
  • QTBUG-63869: Keypress on QTreeWidget doesn't jump to the item starting with that letter when few items are hidden
  • QTBUG-64569: tst_QNetworkReply::ioHttpRedirectErrors(too-many-redirects) failed
  • QTBUG-64425: Segmentation fault for malformed svg (loop)
  • QTBUG-60219: QTableView draws grid outside of header
  • QTBUG-64597: qtconnectivity examples/bluetooth/heartrate-server configure/compile failure with disabled gui module
  • QTBUG-57761: boot2qt: webengine sdk examples are broken due to missing libGLESv2.so.2
  • QTBUG-64319: [macOS] QSslSocket seems to not support QSsl::TlsV1_0OrLater
  • QTBUG-64406: Compilation error at Debian 6 (missed declaration of CANFD_BRS)
  • QTBUG-8376: QTreeView accesses hidden cells data via QTreeView::scrollContentsBy which calls QAbstractItemView::sizeHintForRow.
  • QTBUG-53572: QPixmap::loadFromData crashes with QCoreApplication
  • QTBUG-64437: QImageWriter::write() always uses inappropriately low compression when writing to webp format
  • QTBUG-58589: MapViewer example deploys without the mapboxgl plugin on android
  • QTBUG-64427: Primary Index can not be retrieved by OCI driver if index name does not match constraint name
  • QTBUG-63013: Can't use Mapbox GL offline mapping
  • QTBUG-64488: Broken output in static builds with Qt Quick Controls 1 styles using the default slider style
  • QTBUG-62598: QAudioDeviceInfo::availableDevices crashes
  • QTBUG-64038: Map with Mapboxgl and transparent layers not transparent in quick scene
  • QTBUG-64419: Invalid Q_ASSERT in qtwebengine
  • QTBUG-61767: Building qtgeoservices_mapboxgl.dll failure while using mingw-w64
  • QTBUG-60897: qtlocation plugin cannot build on mingw-w64 if -opengl desktop configured.
  • QTBUG-64264: tst_QNetworkReply::getFromUnreachableIp() failed
  • QTBUG-64065: The error in Slider.Value with stepSize and "snapMode: Slider.SnapAlways"
  • QTBUG-64171: QFileSystemWatcher leads to a crash when created in a background thread
  • QTBUG-63645: Windows: Application hangs when Native File dialog is used to select "Network" (Place).
  • QTBUG-63447: QSystemTrayIcon blurry icon on Windows
  • QTBUG-64259: Qt.labs.platform SystemTrayIcon activated signal missing reason argument
  • QTBUG-63929: MapPolygon with 2 points not drawn if using mapboxgl plugin

New in Qt 5.10 (Dec 8, 2017)

  • 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.
  • 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

New in Qt 5.10 Beta 1 (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

New in Qt 5.9.1 (Jul 1, 2017)

  • Important Behavior Changes:
  • The Q_REQUIRED_RESULT macro now expands to the C++17 attribute [[nodiscard]] if the compiler supports it. Code using this macro needs to pay attention to its placement, as C++ function attributes must come before the declaration, unlike the GCC extension that this macro previously expanded to.
  • Binary Compatibility Note:
  • The variable QOperatingSystemVersion::MacOSHighSierra was added in this release. Code that uses this variable will not run under Qt 5.9.0. If backwards compatibility is desired, use instead QOperatingSystemVersion(QOperatingSystemVersion::MacOS, 10, 13)
  • Third-Party Code:
  • Sqlite was updated to version 3.16.2.
  • Deleted the src/3rdparty/atspi2 directory.
  • QtCore:
  • [QTBUG-60558] Fixed a bug that caused QInternal::unregisterCallback to crash on exit.
  • [QTBUG-61034] QT_NO_EXCEPTIONS is now reliably set when using Clang, even in Objective C++ mode.
  • QHash/QMultiHash:
  • [QTBUG-60395] Fixed operator== so that two containers compare equal when there are multiple values with the same key.
  • QStorageInfo
  • [QTBUG-61096] Fixed a hang on certain systems when retrieving information from unresponsive filesystems.
  • QTimeZone:
  • [QTBUG-60595] Fixed sending IANA standard UTC-offset QTimeZones through QDataStream, which previously came out invalid after deserialization.
  • moc:
  • [QTBUG-61204] moc no longer errors out if a C++ keyword is #define'ed
  • macOS / iOS:
  • [QTBUG-41978] QCollator now respects the ignorePunctuation property on Apple based platforms correctly.
  • [QTBUG-61205] Fixed the architecture information in QSysInfo.
  • QSysInfo and QOperatingSystemVersion now support the newest versions of Apple's operating systems.
  • [QTBUG-61053] Fixed SSL certificate verification on iOS with Secure Transport back-end.
  • configure & build system:
  • [QTBUG-58372] The SQL driver plugins can be built separately again. Note that it is necessary to configure the whole sqldrivers directory.
  • [QTBUG-60925][Unix] Fixed library retrieval from pkg-config. Again.
  • [QTBUG-60936] Fixed module version number in Qt modules' cmake config files.
  • [QTBUG-61017] Fixed configure hanging upon selecting commercial license.
  • [QTBUG-61044] Fixed license checker invocation on 32 bit systems.
  • [MinGW] The gold linker is no longer used.
  • qmake:
  • [QTBUG-42830][Android] INSTALL targets are no longer created for static libraries.
  • [QTBUG-40825][QTBUG-59457][Unix] Fixed various makespecs to append shared include and library locations only at the end of the search lists.
  • [QTBUG-52383][Windows] midl and rc are now invoked with /NOLOGO.
  • [QTBUG-58391][MSVC] MSVC extensions are not disabled any more when querying the compiler for the predefined macros to pass to moc.
  • [QTBUG-59431][VS] Fixed parsing of /utf-8 option. Again.
  • [QTBUG-60895][VS] Fixed .vcxproj generation for ActiveQt server projects.
  • [QTBUG-60059] qmake will now be more verbose when it fails to run the compiler while querying the toolchain's properties.
  • Various QT__VERSION variables were reverted to refer to the toolchain Qt was built with. The current toolchain's versions can be found in the QMAKE__VERSION variables.
  • QMAKE_DEFAULT_{INC,LIB}DIRS is now populated also when using clang.
  • [MinGW] Re-builds of static library projects will now create a new library instead of updating the previously built one.
  • [VS] Unknown /Zc:XXX options are no longer complained about.

New in Qt 5.9.0 (Jun 7, 2017)

  • New dimensions - Qt 3D:
  • Qt 3D makes it possible to create applications for AR/VR and high end 3D UIs for embedded systems.
  • Qt Lite configuration:
  • Pick & choose the features you need for your IoT or embedded project. Reduce your footprint by up to 60%, optimize performance and boot time with the new configuration system.
  • Safety Critical Systems:
  • Design safety critical systems with Qt 5.9 using The Qt Safe Renderer and support for real-time operating systems such as QNX and INTEGRITY.
  • Shader binary caching:
  • With the shader binary caching introduced in Qt 5.9 it allows you to speed up the graphics initialization and boost overall performance.
  • Qt Creator 4.3.0 released:
  • A new version of your favorite fully-stocked cross-platform integrated development environment for easy creation of connected devices, UIs and applications has just been released.
  • Qt Quick Designer:
  • Qt Quick Designer – a visual drag ‘n’ drop design tool for rapid UI development has been updated with new features. An integrated text editor and new styling options to name a few.
  • Qt SCXML & State Charts:
  • Reduce risk of unexpected system behavior with fast and easy state chart integration. Use Qt Creator, Qt Quick and QML to define your state machines with Qt SCXML and a graphical editor.
  • Qt Wayland:
  • Create multi-process UIs & leverage your hardware with a unified UX across all system screens and separate out safety critical features with Qt Wayland.
  • Ready-made UI Controls:
  • Designing UIs with buttons, switches, dials, sliders and other UI controls is made easy with Qt Quick Controls and QML.

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:
  • 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
  • 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.

New in Qt 5.8.0 (Jan 24, 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)

  • All-new configuration system, new graphics architecture with integrated Qt Quick 2D Renderer for devices without OpenGL, build in QML cache for improved startup and many other new features.

New in Qt 5.8.0 Alpha (Sep 5, 2016)

  • New graphics architecture:
  • With Qt 5.8, the graphics architecture for Qt Quick has undergone a larger rewrite. The goal was to remove the tight dependency of Qt Quick onto OpenGL that we have had since Qt 5.0, and make the architecture more agnostic with regards to the graphics API that is being used. The new infrastructure has been used to create a vastly improved Software rendering backend for Qt Quick, and a backend based on DirectX 12.
  • QML caching:
  • The QML engine has also seen some major improvements with a new caching infrastructure, that can cache the QML files in a precompiled binary form. This infrastructure does help to significantly speed up loading of QML applications once the binary cache has been created. It also helps reduce memory consumption. Ahead of time compilation of Qt Quick continues to be supported through the commercial Qt Quick Compiler.
  • Qt Lite Project and configurability:
  • Even though Qt is split up into many modules, it is a large framework with many features. Many of our customers are using only parts of them, and have been asking for an option to create tailored builds of Qt for their use case. This is especially important for embedded devices, where both RAM and Flash storage are often limited.
  • To accommodate this, we have over the last 6 months done significant work on our build infrastructure to give our users much more fine grained control over the way how Qt is being built. This is what we called the Qt Lite Project. The basic infrastructure for this is now in place with the 5.8 Alpha, but we will be doing some more work on it while moving towards the Beta release.
  • With Qt 5.8, we will add a new tool to Qt for Device Creation, that will make it easier to tailor your Qt build and remove all the pieces of functionality that you are not using in your embedded project. From initial measurements, we expect that you will be able to reduce the size of a statically linked Qt Quick application by up to 70% compared to Qt 5.6.
  • New modules:
  • The Wayland Compositor, SCXML and Serial Bus modules have now graduated from Technology Preview to being fully supported. In addition, we added Qt Speech and Qt Network Authentication (featuring OAuth support) as new Technology Previews.
  • Timeline:
  • With the Qt 5.8 Alpha being released, we are now focusing fully towards finalizing a couple of remaining items, and plan to have the beta ready for you towards the beginning of October and Qt 5.8.0 final by end of November.

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)

  • 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
  • Font rendering:
  • Optional support for using FreeType on Mac OS X
  • 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 OS X
  • 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

New in Qt 5.5.1 (Oct 15, 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 include 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.6.0 Alpha (Sep 8, 2015)

  • 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 and reverse_iterator to QByteArray
  • 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
  • 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 comsumption
  • Font rendering
  • Optional support for using FreeType on Mac OS X
  • Embedded platforms
  • 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
  • Other Changes:
  • Class Mechanics
  • All implicitly-shared types are nothrow-move-assignable, nothrow-swappable
  • Most implicitly-shared types are nothrow-move-constructible
  • Embedded platforms
  • libinput, when present, is now the default for eglfs and linuxfb
  • 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 Location
  • Maps, navigation, and places
  • Qt Quick Controls 2.0
  • New lightweight set of controls designed especially for embedded devices
  • Qt Speech
  • 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
  • Qt Wayland
  • Stabilised the QtWaylandCompositor apis. The QtWaylandCompositor api takes advantage of the QPA abstraction and exposes an API making it trivial for developers to build their own multi-process windowing system
  • New Configurations:
  • Qt 5.6 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.6.0-tools-and-versions

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.

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)

  • 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.

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)
  • 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 ).
  • 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)
  • DEPRECATED:
  • Mac OS 10.6 support is deprecated and scheduled for removal in Qt 5.4.

New in Qt 5.3 RC (May 8, 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.
  • 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 ).
  • 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)
  • DEPRECATED:
  • Mac OS 10.6 support is deprecated and scheduled for removal in Qt 5.4.

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.
  • 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 (Dec 12, 2013)

  • Great Improvements for the Desktop:
  • Qt on desktop operating systems is the heart of Qt and has served as a stepping stone for the immense breadth of our operating system support throughout the years. That said a lot of improvements have happened with Qt 5.2 that are mainly targeting the desktop operating systems.
  • The Qt Quick Controls that were introduced for desktop in Qt 5.1 have received a lot of improvements and a couple of new control types.
  • Accessibility is now fully supported on all desktop platforms (and Android).
  • With Qt Windows Extras and Qt Mac Extras modules we are providing APIs to integrate better with native OS code.
  • Improved time zone and locale support with QTimeZone and QCollator
  • The Qt Widgets have also received multiple enhancements and a completely new class: QKeySequenceEdit
  • Bluetooth is now supported on Linux with the new Qt Bluetooth API
  • Qt on Mobile | Great Opportunities:
  • Qt 5.2 brings Qt to the largest mobile platforms, Android and iOS, and Qt applications can now run natively on all major desktop, embedded and mobile platforms. Qt 5.2 provides developers with great opportunities to be at the forefront of the global mobile markets.
  • Enterprise Mobility. Take your existing desktop or embedded application/services also to the largest mobile platforms by simply reusing your desktop/embedded code or re-scaling the UI to a small-screen layout. Eg. write a mobile client for your enterprise backend systems.
Bring Your Own Device (BYOD). Make an embedded device UI that can also be taken directly to your end users' phones or tablets. Automotive entertainment, remote controls, internet of things...
Cross-Platform Consumer Applications. Target the majority of devices out there with one code base using Qt. All major OSs and versions, phones, tablets. For mobile consumer app creation, we're specifically introducing a new, mobile-only tailored offering, Qt Mobile, with a flexible, subscription based license type.
Multiscreen applications. Qt applications can be designed to run everywhere: Desktop PCs, tablets, phones and separate embedded devices. With Qt Cloud Services you retain an un-interrupted user experience between the devices.
  • Most of the Qt APIs are supported in Qt 5.2 both on Android and iOS. Since these are new platforms, there are, however, some exceptions. Qt WebKit is not yet supported on these platforms (Qt WebKit can’t be brought to iOS due to App Store policies), but we are working on bringing an easy way to embed web content via Qt APIs to these mobile platforms in the future. In the meantime, we recommend the use of native web elements. For Android, there's a new Android extras module with a convenience API for Android JNI usage.
  • Enhanced Internals--More Power & Flexibility:
  • 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 App Store policies.
  • 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. Read more from this blog post.
  • Continued Innovation, Enhanced APIs:
  • Qt Positioning API. Supported on all platforms using NMEA data, and using GeoClue on Linux
  • Qt Bluetooth API. Supported on Linux with Bluez 4.x and BlackBerry
  • Animations for QML that can not be blocked by high loads on the main thread
  • Additional mobile-specific controls for Qt Quick Controls
  • Qt WebKit has also received a major update now being based on a WebKit version from summer 2013. This includes many new features such CSS Blending, Geolocation, Web Notifications and a threaded garbage collector.

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.2 Alpha (Sep 30, 2013)

  • Android and iOS support:
  • Qt 5.2 is the first Qt release to fully support development of Qt applications for Android and iOS. A lot of work has gone into supporting these two platforms, and now make Qt a great solution for development of mobile applications.
  • With the exception of WebKit, all essential modules are supported in both Android and iOS. This includes all of Qt Core, Qt Network, Qt Gui, Qt Widgets, Qt Qml, Qt Quick and Qt Multimedia. From the Qt add-ons Qt Sensors, Qt Graphical Effects, Qt Positioning, Qt Script and Qt SVG are supported. On Android, Qt SerialPort and a special Qt Android Extras module are also supported.
  • New modules:
  • Qt Bluetooth is supported on Linux with Bluez 4.x and Blackberry
  • Qt NFC is supported on Blackberry
  • Qt Positioning is 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
  • The last three add-ons contain platform specific additions, and complement the Qt X11 Extras module introduced with Qt 5.1.
  • Qt base modules:
  • Qt Core got some new functionality, most notably the new QTimezone and QCollator classes. QTimezone is integrated with QDatetime and now allows proper handling of timezones. QCollator allows for locale specific sorting of strings, a long outstanding feature in Qt. Qt Network has received some improvements in its SSL handling. Qt Widgets has gotten lots of smaller improvements and a new QKeySequenceEdit class. Our Accessibility support has been greatly improved, with support for Mac OS X, basic support on Android and a set of public APIs that allow implementing accessibility support for custom widgets.
  • Qt Qml and Qt Quick:
  • The QML engine has undergone some intensive work over the last 9 months, and the first results can be seen in Qt 5.2. Qt Qml is now using its own built-in Javascript engine and does not depend on V8 anymore. As such the QtJSBackend shared library has disappeared.
  • We are now using our own built-in engine instead of V8 for many reasons. One of the immediately visible benefits is that we are actually able to support Qt Quick 2 on iOS. In addition, the size of our Qml stack has decreased by around 5 MB and there’s one shared library less that needs to get deployed. Finally, it makes the whole stack a lot more maintainable and will thus allow us to improve the module at a faster pace in the future.
  • While the new engine is somewhat slower then V8 when it comes to pure Javascript performance, it allows us to optimise for the common use cases in QML and Qt Quick a lot better. Quite a lot of optimisation work is still ongoing now during the release cycle, and we expect to have comparable Javascript performance to Qt Script with 5.2.0. For QML bindings, we will see improvements for most use cases.
  • In addition, Qt Qml now supports File selectors to make it easier to customize your QML code depending on operating system and other variables.
  • Significant improvements also made it into Qt Quick. First and foremost, the module got a new scene graph renderer, that significantly reduces both CPU and GPU load for many use cases. The new Animator QML type offers animations that fully run on the rendering thread and won’t block or stutter even if your main thread has some long running calculations to perform.
  • The Qt Quick Controls have a couple of new Controls and features to offer. Switches and Busy Indicators got added, Table view now supports movable columns and extended selections. In addition, deployment has been greatly simplified.
  • Qt Creator:
  • Last but not least, we are planning to ship Qt 5.2 together with a new release of Qt Creator, Qt Creator 3.0. The new Creator will feature an improved Android support, initial iOS support, extensions for multiple screens, a cleanup in the Creator plugin APIs and initial support for lldb.

New in Qt 5.1.1 (Sep 3, 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 Linux:
  • XCB: Don't use Xlib's XBell() function
  • XCB: Append 0-character to atom name string
  • Resolve modifier mask conflicts on X11
  • Fix system tray icon on X11
  • [QTBUG-31418] Fix for when we don't have XSettings
  • [QTBUG-32274] Fix handling of non-latin1 shortcuts
  • Qt for Mac:
  • Disable window restoration for the Mac font panel
  • Simplify qt_mac_cgimage_to_nsimage code
  • QMacStyle: fix auto-default button animation
  • Make the macx-xcode spec a wrapper around the default spec
  • Scope cached Mac SDK tool values by mkspec
  • Further followup to Q_OS_MACX changes
  • Fix QSpinBox clipping issue on Mac when frame=false
  • QMacStyle: enable scroll style changes for non-QScrollBars
  • Support Mac key equivalent Cmd+Period
  • Re-establish platform menu QObject hierarchy
  • [QTBUG-28336] Fixed broken prl files in debug-and-release framework builds of qt
  • [QTBUG-31477] Let Cocoa pick the right pixmap for menu item icons
  • [QTBUG-31532] Don't update the menubar when popups are shown
  • [QTBUG-31619] Cocoa save file dialog behavior fix
  • [QTBUG-31819] Fix shared color panel usage
  • [QTBUG-31562] Fix for OS X QFileDialog showing bundle as directory
  • [QTBUG-32440] Avoid a potential crash in unignoredChildren
  • [QTBUG-32831] Don't release the printer after using it to change a property
  • 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
  • Qt for BlackBerry:
  • Disable xkbcommon when building for QNX from Windows
  • [QTBUG-32385] Handle Qt::WindowDoesNotAcceptFocus correctly
  • Qt for Android:
  • Get SSL root certificates from TrustManager
  • Adjust to new SDK layout on Windows
  • Make PCRE's JIT work on Android devices
  • Qt for iOS:
  • iOS: Make sure we're deleting framebuffers in the right context
  • 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.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.

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

  • Online installers available for Mac, Windows and Linux 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 Beta (May 14, 2013)

  • 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)

  • HIGHLIGHTS:
  • New binary installers for VS2012 with ANGLE and for VS2010 with OpenGL (for those who do not wish to use ANGLE)
  • Creator 2.7.0 included in the release package (Qt 5.0.1 was shipped with Creator 2.6.2)
  • Possibility to easily skip modules in configure when building Qt yourself
  • Static linking now works correctly for the Qt libraries
  • Overall more than 600 improvements in 17 different modules of Qt
  • GENERAL:
  • General Improvements:
  • Lots of fixes to enable static builds on Windows, Linux and Mac.
  • 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 < 32 bit pixmaps.
  • [QTBUG-24762] Fixed dashes being rendered differently depending on system clip.
  • [QTBUG-25036] Fixed artifacts when drawing same line with different clips.
  • [QTBUG-29643] Fixed crashes when using QImage in combination with QCoreApplication.
  • QtWidgets:
  • [QTBUG-28817] Fixed QColorDialog::setOption(), QFontDialog::setOption().
  • [QTBUG-29680] Fix mouse double click events not bubbling up to parent widgets.
  • QtNetwork:
  • [QTBUG-29103] Toggle on demand loading of root certs properly.
  • QtConcurrent:
  • [QTBUG-28984] Fix compilation of Qt Concurrent with gcc 4.3.
  • QtSql:
  • Fix QSqlTableModel:revert() for OnFieldChange.
  • [QTBUG-29102] Support refreshing inserted rows with auto columns.
  • [QTBUG-29108] Fix QSqlTableModel::headerData() for empty query with inserted row.
  • [QTBUG-29217] Fix QSqlTableModel::setData() for non-change detection.
  • PLATFORM SPECIFIC CHANGES:
  • Qt for Mac OS X:
  • [QTBUG-29389] Fix transient scroll bar appearance before the proper one.
  • [QTBUG-25297, QTBUG-29434] Add QMdiSubWindow size grip back.
  • COMPILER SPECIFIC CHANGES:
  • [QTBUG-29099] Fix gcc OOM error when compiling in release mode.
  • TOOLS:
  • Build System & configure:
  • [QTBUG-26697] The -skip option was added to configure, which enables not building particular modules. Typical use case: -skip webkit.
  • [QTBUG-28769, ...] Assorted build fixes
  • [QTBUG-28902] Fixed contents of installed .prl files
  • [QTBUG-29110, QTBUG-29186, ...] Assorted fixes to CMake config files
  • [QTBUG-29174] Fixed numerous configure options which start with -l
  • [QTBUG-29400] Fixed configure -fully-process not creating .vcproj files
  • [QTBUG-29453, ...] Fixed generation of pkg-config .pc files
  • [QTBUG-29478] Fixed static builds with ICU
  • [QTBUG-29661] Fixed QtWebProcess.exe not finding Qt DLLs. -libexec now defaults to bin/ on Windows.
  • [QTBUG-29838] Fixed module versioning when mixing releases
  • [QTBUG-30102] Fixed passing of values with spaces to -device-option
  • Production builds do not build examples any more. 'make install' will copy only the example sources.
  • pkg-config: qt_config is now contained only in Qt5Core.pc, and it reflects QT_CONFIG, not the module build's CONFIG.
  • qmake:
  • [QTBUG-28132] Fixed parallelized 'jom install'
  • [QTBUG-29143] MSVC: Fixed parsing of /openmp
  • [QTBUG-29286] MSVC: Fixed use of VERSION breaking MSVC2010 projects
  • [QTBUG-29329] MSVC: Fixed misparsing of /Gs as /GS
  • [QTBUG-29329] MSVC: Stopped disabling buffer security check by default
  • [QTBUG-29371] Fixed generation of XCode projects for XCode 4.6
  • [QTBUG-29698] MSVC: Fixed incremental linking with non-standard shells
  • [QTBUG-29700] Fixed pkg-config file generation when cross-compiling
  • Qt modules are now enumerated in QT_MODULES, not QT_CONFIG. For portability, use qtHaveModule() (since 5.0.1) or !isEmpty(QT..name) instead.
  • $$(VAR) style environment variable expansions will not split on whitespace any more. Use $$split() if necessary.
  • Fixed qmake -tp vc (and configure without -no-vcproj)
  • MSVC: Fixed an empty VERSION causing a garbled version in .rc files
  • Windows: Added support for specifying application icon (via RC_ICONS)
  • Added spec for BlackBerry Playbook
  • moc:
  • [QTBUG-29759] Fixed infinite recursion in macro substitution which prevented some headers to compile.

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 Mac OS X:
  • Ignore ScrollBarAlwaysOn policy for transient scrollbars
  • New rendering for disclose triangle, get proper color when selected
  • [QTBUG-27415] Fix bugs for font selection in QFontDialog
  • [QTBUG-28161] Ensure the native filedialog starts up with the right directory
  • [QTBUG-28443] Cocoa: Re-enable per class palette on QPA plugin
  • [QTBUG-28669] Fix transient QScrollBar flashing
  • [QTBUG-28738] Bring back proper layout in QMessageBox
  • 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 (Dec 19, 2012)

  • Fixes:
  • QTBUG-25106 Qt 5 to-do in mkspecs and qmake
  • QTBUG-27415 QFontDialog can not select Japanese fonts properly.
  • QTBUG-27512 Qt 5 Documentation Issues (Meta Bug)
  • QTBUG-27515 Create and polish the examples
  • QTBUG-27646 Qt WebKit has no documentation
  • QTBUG-27722 ensure that fully modularized build works
  • QTBUG-27777 Qt 5.0 final: Fix .qch files for final
  • QTBUG-28042 Qt ActiveQt documentation needs to be modularized
  • QTBUG-28131 Failed to build static Qt 5.0 on Windows 7 ×86 32 bit MSVC2010
  • QTBUG-28291 Clean up stocqt examples
  • QTBUG-28383 Dumpcpp utility generates incorrect header
  • QTBUG-28418 Webkit examples are not available under Qt Creator / examples page
  • QTBUG-28557 GTK style: right spinbox border not drawn, arrows not shown
  • QTBUG-28579 TOC links from Qt Creator Help Contents are broken in the help files for some modules
  • QTBUG-28583 Qt Webkit documentation does not open from the Qt Creator Help Mode Contents
  • QTBUG-28590 Desktop OpenGL examples show up on Creator Example page, but can not be rebuild
  • QTBUG-28592 assistant crashes while trying to update the search index, if qch docs were regenerated
  • QTBUG-28595 Designer`s ActiveQt plugin doesn`t render the plugin correctly in preview mode.
  • QTBUG-28609 ActiveQt documentation is not registered in Qt Assistant
  • QTBUG-28614 QtMultimedia QML examples not shadow build compatible
  • QTBUG-28646 Webkit Examples documentation in Qt Creator shows links to examples sources files
  • QTBUG-28657 Mac: Printing from Qt Assistant causes segmentation fault
  • QTCREATORBUG-7797 qmlviewer and qmlscene is not used uniformly in UI panes
  • QTCREATORBUG-8345 Visual Artefacts in Options window
  • QTCREATORBUG-8393 Switch Between Method Declaration/Definition for constructor wrong to destructor
  • QTCREATORBUG-8415 Qt Creator Manual 2.6.1 first page shows an error
  • QTCREATORBUG-8426 Working directory is the same for different builds
  • QTCREATORBUG-8432 Remove outdated tutorials from Welcome screen
  • QTCREATORBUG-8447 qmlpuppet cannot be started on mac
  • QTCREATORBUG-8448 Qt Creator 2.6.1 other languages than English

New in Qt 4.8.4 (Nov 30, 2012)

  • GENERAL:
  • General Improvements:
  • Copyrights changed to Digia Plc
  • Add msvc2012 support
  • LIBRARY:
  • QtGui:
  • Fixed outline / fill inconsistencies in raster paint engine [QTBUG-26013]
  • Avoid crash caused by drag and drop and winId() [QTBUG-27263]
  • Cleanup CUPS tmp files [QTBUG-14724]
  • Fixed inconsistent rounding of square cap pens [QTBUG-26013]
  • Rotate non maximized windows
  • Fix crash when invalidating a QSortFilterProxyModel [QTBUG-27122]
  • Fix regression in QTextDocument::toHtml() with font pixel size [QTBUG-25778]
  • qpa: improve DirectFB performance
  • qpa: extend drawPixmap capabilities
  • qpa: add non-opaque fill support
  • Fix calculation of logical child index for row headers
  • qpa: Fix rendering issue in blitter paint engine
  • Introducing the PlatformPanel event type
  • Pass NEON_ASM directly to SOURCES
  • Enable NEON compilation on qcc compilers
  • Fix number of available printers in CUPS support
  • Mangle QNSApplication into a namespace when Qt is configured as such
  • Mangle QNSApplication and methods into a namespace
  • QComboBox::currentText: correct documentation
  • QComboBox: mention insert policy in context of editable property
  • Fixed cosmetic line drawing where begin and end points are equal [QTBUG-25153]
  • Fix a regression with regards to hfw behavior in QStackedWidget [QTBUG-24758]
  • Close popups on non-client area mouse press [QTBUG-1894, QTBUG-26120, QTBUG-26465, QTBUG-26827]
  • Use the right properties when checking the frame's margins [QTBUG-22173]
  • qpa: Fix drawPixmap rendering using CompositionMode_Source in DirectFB
  • Fixed crash on destruction of animating QDockWidget in a QMainWindow
  • Fixed GCC 3.4 build with sse2 enabled
  • QHeaderView no big update work if updates are disabled
  • QHeaderView length returns wrong value fix
  • QHeaderView fix minor bug in visualIndexAt
  • Fixing font database memoryleak
  • Fix a crash in QFileDialog when selecting an invalid name filter
  • QHeaderView correct drop on manual QHeaderView sectionmove [QTBUG-14814]
  • Fix submenu navigation [QTBUG-20094]
  • QWindowsVistaStyle: Restore altered brush origin [QTBUG-27828]
  • HeaderView call invalidateCachedSizeHint() on clear [QTBUG-22528]
  • Fix GIF image decoding: do not zero transparent pixels
  • qpa: Fix rendering issue in blitter engine (negative scaling factors)
  • Windows: Fixed handling of key events containing ctrl modifier [QTBUG-10781]
  • Fix scrolldown arrow not showing on popup for QMenu [QTBUG-27445]
  • Fix zero-duration animations running Backwards [QTBUG-27969]
  • QtNetwork:
  • Disable SSL compression by default
  • HTTP header may be damaged fix, unit test [QTBUG-27161]
  • Bypass proxy for local connections
  • Implementation of the BlackBerry Qt Proxy support
  • introduce configure switch to use system proxies by default
  • fix bug in QLocalSocket::waitForReadyRead on Windows [QTBUG-27816]
  • Fix compile issue with building with openssl and in a namespace [QTBUG-25207]
  • QtCore:
  • Include the signal code in the argument of (dis)connectNotify()
  • QElapsedTimer: Fix typo in restart() documentation
  • Prevent an overflow warning in assertions
  • QTranslator: Use resource memory instead of copying it
  • Fix for memory leak in ResultStore [QTBUG-27224]
  • QString doesn't work with old ABI on ARM [QTBUG-15784]
  • Make the qatomic classes work in ARMv5 OABI
  • Fix regression introduced in QFileSystemEntry::path()[QTBUG-27356]
  • QtDBus:
  • Make QtDBus work again with D-Bus 1.0 and 1.1
  • Fix QDBusServer with more than one connection [QTBUG-24921]
  • QtSql:
  • Fix error when inserting to tables with datetime fields with QODBC [QTBUG-2192]
  • QtSql: Correct documented default precision policy [QTBUG-27482]
  • fix binding of bool type in mysql driver [QTBUG-27763]
  • Declarative:
  • EngineDebug: Updated and renamed service
  • Ensure child items are updated even if the parent item has no content [QTBUG-26846]
  • Use QVarLengthArray when creating the connectNotify() argument
  • Fix QObject::receivers() within connectNotify()
  • QDeclarativeTrace patch for a custom trace instance
  • Fix access to uninitialised memory that might lead to crashes [QTBUG-23214]
  • QDeclarativeTypeLoader: Avoid stat() calls to . and ..
  • Make the rules for redirects a bit stricter
  • OpenGL:
  • Fixed text drawing in OpenGL 2 paint engine [QTBUG-24453]
  • Fixed potential use of uninitialized variable in qgl.cpp [QTBUG-26952]
  • QGLTextureGlyphCache: Fix text rendering artifacts on NVIDIA [QTBUG-26444]
  • Fixed memory leak in assign operator of QGLBuffer
  • Plugins:
  • Accessibility: itemviews check for valid model
  • 3rdParty:
  • Fix mmap usage (ExecitableAllocatorFixedVMPool.cpp)
  • Quicktime: On 32bit applications it would not get out of the waiting state
  • TOOLS:
  • Assistant:
  • Fixed window raise issue when handling remote commands [QTBUG-25407]
  • Designer:
  • Fix gcc 4.6 warnings about assigned/unused variables in Qt Designer
  • Configure:
  • Mac features don't belong on cross mingw target
  • Use qmake to get PKG_CONFIG in configure script
  • Postpone pkg-config detection until after qmake is built
  • Undo variable renaming in backport
  • Unscramble option help text
  • Smuggle QT_BUILD_TREE to device_config.prf even during tests
  • Find qdevice.pri even for installed qt builds
  • configure: state compiler explicitly when testing for supported flags
  • Support other platform names on configure.exe
  • x-compile with mingw: fix codec linker errors [QTBUG-27618]
  • Fix syntax error on configure.exe source code.
  • mkspecs:
  • Blackberry mkspecs: Refine compiler options
  • optimize loading of qconfig.pri & qdevice.pri somewhat
  • Remove the -falign-stack option from ICC's mkspec
  • don't set QT_BUILD_DIR as a side effect
  • qmake:
  • Add -pipe option of win32-g++'s QMAKE_CFLAGS
  • Fix XCode generator for qmake when generating for XCode 4.5 and later
  • Revert "qmake vcxproj generator: map TARGET_EXT to $(TargetExt)" [QTBUG-26782, QTBUG-27554]
  • qmake: fix .pc install target dir separators on windows
  • Updated and fixed win32-icc mkspec for ICC 12.1 or better
  • Other:
  • Register Qt 4.7 import on-demand, instead of at startup
  • Update Traditional Chinese translation
  • Doc: Update QThread class ref to reflect changes since Qt 4.4 [QTBUG-16358]
  • Minor fixes to the QLocale data parser/generator
  • Update Qlocale data with CLDR 1.9.1
  • Update Qlocale data with CLDR 2.0.0
  • Fix code convention docs [QTBUG-27852]
  • PLATFORM SPECIFIC CHANGES:
  • Update the state of native menus correctly on Mac [QTBUG-25544,QTBUG-26399,QTBUG-7538]
  • Enable HiDPI mode for retina displays
  • Fix issue with mispositioned family name i QFontComboBox [QTBUG-26691]
  • Load Mac specific resources in a static build [QTBUG-25391]
  • Fixed float->int error in OS X Mouse Event Handling [QTBUG-27273]
  • Refactor coreservices -> ios & QT_NO_CORESERVICES -> Q_OS_IOS
  • Ensure that QApplication is cleaned up after itself on Mac [QTBUG-24248]
  • Prevent a crash when a merged action is removed [QTBUG-24917]
  • Add Proxy Auto Config support (PAC) on Mac [QTBUG-2069, QTIFW-28]
  • Mac: Correct writingSystem check value for Chinese[QTBUG-27130]
  • Cocoa: QPrintDialog does not show/closes down immediatly
  • Don't use Cocoa code unconditionally [QTBUG-27960]
  • When clicking on a menu item which has a sub menu it should not close [QTBUG-10706]

New in Qt 4.8.3 (Sep 13, 2012)

  • General Improvements:
  • Fixes for Mac OS X 10.8 Mountain Lion
  • Webkit version updated to 2.2.3
  • Third party components:
  • SQLITE_ENABLE_FTS3,SQLITE_ENABLE_FTS3_PARENTHESIS and SQLITE_ENABLE_RTREE
  • flags are now enabled by default on blackberry platforms, for the sqlite3
  • copy under the 3rdparty directory.
  • 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 Mac OS X:
  • Compile on Mac OS X with unsupported/macx-clang
  • Mac: Remove "unsupported" warning for 10.8 (qglobal.h)
  • Mac: Fix rendering of non-int sized fonts [QTCREATORBUG-7127]
  • Ensure the mouse buttons are preserved when entering a widget [QTBUG-19353]
  • Update macdeployqt plugin deployment logic
  • Add Mac OS 10.8 QSysInfo enums
  • Disable MacOSX 10.6+ locale code for iOS builds
  • Mac: Don't crash if language preferences can't be retrieved [QTBUG-26547]
  • 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 5.0.0 Beta 1 (Aug 30, 2012)

  • Qt Quick 2:
  • Qt Quick is now an Essential module [qt-project.org] containing the OpenGL based Scenegraph and all the usual items
  • New support for OpenGL based shader effects and particles
  • QML and JavaScript support have moved to their own Essential module [qt-project.org]
  • Qt Quick as in Qt 4.x is available in a fully compatible Qt Quick 1 add-on module
  • Qt Qml:
  • New module containing the QML engine and support for Javascript.
  • Performance improvements and some enhancements to the language
  • Source compatible — note though that when writing QML items in C++ some changes are needed to adjust to the new scene graph
  • Uses the V8 JavaScript engine behind the scenes with improved performance
  • New classes QJSEngine and QJSValue
  • Qt WebKit:
  • The WebKit module in the beta provides the same API as in Qt 4.x, but comes with performance improvements and new web-facing features.
  • In the release following the beta we plan to rename the WebKit module into Qt WebKit Widgets, providing the same C++ API as in Qt 4.
  • In addition we will introduce a new QML component that is based on the WebKit2 technology.
  • Qt Core:
  • QStandardPaths class giving standard locations for files
  • JSON parser and speed optimized binary format for JSON
  • MIME type recognition
  • New compile-time check of signal/slot connection syntax
  • New Perl-compatible regular expression engine
  • Many data structures have been rewritten and optimized for better performance
  • C+11 support where it makes sense (but Qt continues to compile and work with C+98 compilers)
  • Qt Gui:
  • Support for top-level surfaces through the QWindow class
  • Built-in OpenGL support
  • Qt Network:
  • Support for DNS lookups.
  • QHttp and QFtp classes removed (they are available stand-alone)
  • Qt Widgets:
  • All former QWidget based classes in Qt Gui have been separated out into the new Qt Widgets library
  • Ported over to the new Qt Platform Abstraction architecture
  • Works as in Qt 4.x.
  • Qt 3D:
  • This is now is an add-on module to Qt 5
  • Qt Location:
  • Maps and geolocation-related classes, formerly part of Qt Mobility, an add-on to Qt 5
  • New since Qt 5 alpha:
  • Continued work on reference platform stability. Qt Creator compiles and runs well on Qt 5
  • Qt WebKit is now available on MS Windows
  • Cleanups of a few new APIs
  • Qt now expects source code to be encoded in UTF-8
  • New QUrl implementation merged
  • Unified data structure behind QVector, QString and QByteArray
  • New metaobject revision, better API for QmetaObject with access to QObject’s meta data
  • Upgrade to Unicode 6.1
  • New plugin system for Qt 5 apps.
  • Qt Print Support module refactoring and cleanups
  • C++11 support enabled by default on compilers supporting it
  • Exceptions disabled on Qt modules that don’t require them for space/size savings
  • QHash hash key randomization for security
  • QIcon moved back to QtGui
  • Modularizing of documentation started
  • QNX support improvements
  • Preliminary ANGLE support on MS Windows offering better OpenGL support
  • Qt Qml and Qt Quick have seen a huge amount of bug fixes, memory usage improvements and optimizations.

New in Qt 4.8.2 (Jun 2, 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 12, 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
  • QML Shaders plugin

New in Qt 4.8 Beta 1 (Jul 22, 2011)

  • In the Qt 4.8 the focus has been quality and performance improvements, but also other new additional features have been included.
  • Qt Platform Abstraction – to provide a clean abstraction layer for porting QtGui to new window systems.
  • Threaded Open GL support
  • Multithreaded HTTP
  • Optimized file system access
  • For Symbian especially: Native Symbian networking, Ipv6 and OpenGL Graphics, Symbian resource mgmt.
  • New API’s: Localization API and IP multicast API.
  • As previously mentioned, the Qt 4.8 Beta includes a beta maturity version of Qt Quick 1.1, with the following improvements.
  • 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 (Jul 5, 2011)

  • QtNetwork:
  • SSL:
  • [QTBUG-18338] blacklist fraudulent SSL certificates
  • Qt for Symbian:
  • Bearer Management:
  • [QTBUG-15108] Deadlock between SymbianEngine mutex and QNetworkConfigurationPrivate mutex in the symbian bearer code
  • [QTBUG-17627] qnetworksession.h Q_DECLARE_METATYPE breaks building QtMobility QtBearer depending applications
  • GraphicsView:
  • [QTBUG-17966] Major regression in QGraphicsView OpenVG backend
  • Declarative:
  • [QTBUG-17503] Export qml debugging symbols on Symbian
  • Widgets:
  • [QTBUG-17786] BC between Qt 4.7.3 and 4.6.3 QTreeView::indexRowSizeHint doesn't return correct value on Symbian for row when QPushButton widget is inserted in the treeview
  • [QTBUG-4953] QMessageBox can not be closed/dismissed on touch phones if any widget is fullscreen
  • Painting:
  • [QTBUG-17907] tst_QGraphicsTransform::rotation3d test case from tests/auto/qgraphicstransfor is failed for some rotation angle on Symbian^3 devices
  • [QTBUG-18154] Symbian's QPixmap::logicalDpi[X\Y]() incorrectly returns MAXINT

New in Qt 4.7 (Sep 22, 2010)

  • QMacStyle:
  • Removed frame around statusbar items. (QTBUG-3574)
  • More native appearance of item view headers and frames. (QTBUG-10047)

New in Qt 4.6.3 (Aug 10, 2010)

  • [QTBUG-8461] Fixed incorrect text rendering with document mode tabs.

New in Qt 4.6.2 (Feb 15, 2010)

  • Qt for Mac OS X:
  • [QTBUG-7832]: Restored missing margins around non-unified toolbars.
  • [QTBUG-7312]: Menubar and dock disappear after hiding a fullscreen widget on Cocoa.
  • [QTBUG-7481]: Re-added the Close button in QPrintPreviewDialog for Mac/Carbon.
  • [QTBUG-7522]: Drawing fake buttons using QMacStyle+QStyleOptionViewItemV4 lead to crash.
  • [QTBUG-7625]: Calling showFullScreen() then showNormal() on a widget results in top menu hiding.
  • [QTBUG-7086]: QFileDialog now correctly responds to fileMode & acceptMode changes.
  • [QTBUG-7162]: Fixed a crash in Designer when previewing a QMainWindow with native toolbar.
  • [QTBUG-7305]: Fixed a crash when deleting QMainWindow with native toolbar on Cocoa.
  • [QTBUG-6882]: Fixed a text layout issue with QHeaderView in right-to-left mode.

New in Qt 4.6.1 (Jan 19, 2010)

  • Qt for Unix (X11 and Mac OS X):
  • [QTBUG-6755] Ensure we don't call select(2) with a negative timeout if the timer expires during timeout recalculation.
  • Added mkspecs for Sun CC that enable -library=stlport by default, to restore STL capability with that compiler.
  • [QTBUG-6576] Fixed compilation on HP-UX 11.11.
  • [QTBUG-6961] Fixed compilation on HURD.
  • Qt for Mac OS X:
  • QPixmap:
  • [QTBUG-5070] Fixed a crash on Mac that could occur when loading pixmaps of different sizes into the same QPixmap object.
  • [QTBUG-6973] Fixed a memory leak when using QWidget::setWindowIcon() in Carbon.
  • [QTBUG-5186] Fixed a bug which caused drag and drop icons to show incorrectly.
  • [QTBUG-6636] Fixed a crash due to stack overflow in QColorDialog on Cocoa.
  • [QTBUG-6378] Fix a text cursor rendering bug.
  • [QTBUG-6636] Fixed a crash when calling removeToolBar on Mac native toolbars using Cocoa.
  • [QTBUG-5613] Fixed a bug where the application refused to quit when showing a single modal dialog.
  • Gestures are now available for the Carbon port also when building Qt against SDK < 10.6

New in Qt 4.6.0 (Dec 1, 2009)

  • More platforms:
  • Qt 4.6 includes support for the Symbian platform for the first time, and also adds Windows 7, Apple Mac OS 10.6 (Snow Leopard) and the upcoming Maemo 6 to the list of Qt supported platforms. Also available is community support for real-time operating systems QNX and VxWorks. Support for Maemo 5 is also currently in development, with the second technology preview being released today.
  • Qt support for Symbian and Maemo creates the first opportunity for developers to target both of these platforms from the same codebase. Being able to share code across platforms means that the applications they create will reach the market faster and reach a broader audience of device users.
  • Also released today is a technology preview of new Qt APIs from the Qt Mobility project. These cross-platform APIs provide developers with functionality such as location for navigation-type devices, as well as messaging, contacts, and bearer management.
  • More eye candy:
  • Qt 4.6 builds upon the graphical improvements of 4.5 and enhances them with the addition of new Animation Framework – including intuitive state machine functionality – plus new advanced graphics effects like opacity, drop shadows, glow, and filtering.
  • More fingers:
  • One of the most exciting new features in Qt 4.6 is the ability to create multi-touch applications. New multi-touch and gesture based input methods such as flicking and kinetic scrolling make Qt 4.6 a powerful framework for creating dynamic, tactile ways for users to interact with applications and devices.
  • More horsepower:
  • Qt 4.6 challenges the conventional development notion that advanced UI capabilities normally come with a significant performance cost. Extensive work has been done to deliver the best possible performance while enabling developers to deliver the “wow” effect that is demanded by users.
  • Key performance improvements come in the form of a highly optimized, re-written Qt GraphicsView rendering algorithm, a new OpenGL paint engine, WebKit, 2D vector graphic support using OpenVG, and new DirectFB support.
  • Updated tools:
  • Complementing the release of Qt 4.6 is an updated release of Qt Creator, a cross-platform IDE for Qt development. Qt Creator 1.3 and Qt 4.6 together form the Qt SDK which contains everything developers need to create cross-platform applications.

New in Qt 4.6.0 Beta 1 (Oct 14, 2009)

  • Performance improvements to key areas of Qt including: a rewrite of the Qt Graphics View rendering algorithm, resource optimization and a new OpenGL paint engine for 3D graphics rendering
  • The Qt WebKit Integration has been extended with an API to access and modify the contents (DOM) of Web pages being browsed, as well as performance improvements and a new JavaScriptCore based backend for QtScript
  • New support for hardware-accelerated 2D vector graphics using OpenVG
  • Improved support for DirectFB

New in Qt 4.5.3 (Oct 1, 2009)

  • [258230] Fixed inconsistencies in value returned from QDirIterator::next().
  • [256164] Fixed the setting of alpha values in QColorDialog.
  • [255019] Fixed a crash when using large value for decimals.
  • [255502] Fixed bug in getDouble()
  • [256240] Proper handling of HTTP redirect in AlwaysCache mode.
  • [257662] Fix timing issues that could trigger double sending of an HTTP request.
  • [256630] Fix usage of QProgressDialog together with QNetworkReply.
  • [256066] Fix loading of a PEM when the length was a multiple of 64.
  • [260165] Fixed a bug where temporary files would be left behind when copying a file to a non-existing directory.
  • [QT-353] (ODBC) Fixed issue of forward only datasets failing when not explicitly set so.
  • [222678] Fixed QSqlTableModel: trying to delete the wrong row.
  • (Interbase) Fixed crash when calling numRows on unknown query type.
  • Fixed several database autotests.
  • Fixed determination of end of odbc string on deficient driver.
  • Fixed formatting of date strings in psql driver.
  • Fixed mysql queries automatically getting prepared. Now have to explicitly prepare them if you want that functionality.
  • Fixed failure when QSqlTableModel has null fields to update.
  • Fixed missing isnan/isinf on some platforms (needed for postgres driver)
  • Fixed ::record for dialect 3 named tables in interbase/firebird.
  • Fixed invalid length for numeric fields in oracle.
  • (ODBC) Fixed non-unicode strings should be strings, not bytearrays.
  • [252088] Drag and drop events will now consider the WA_TransparentForMouseEvents in Cocoa port.
  • [255428] Fixed an an issue when Calling QWidget::raise() on hidden windows making them visible in Cocoa port.
  • [256269] Window resize events triggered from QWidget::adjustSize() will now be sent as non-spontaneous event in the Cocoa port.
  • [258822] Fixed a crash when inserting the same menu twice in a menubar in Cocoa port.
  • Fixed the wizard background images for Snow Leopard.

New in Qt 4.5.2 (Jul 15, 2009)

  • [252795] Ensure that we send Apple Events in the Cocoa port even when Cocoa isn't ready.
  • [252176] Fix regression in drawing parts of pixmaps on Panther.
  • [253402] Fix a crash when a Cocoa window that used to be a QWidget would get events after the QWidget was destroyed.
  • [249178] Fixed an issue with drawing text to QImages on Mac/Cocoa.
  • [250066] Fixed an issue that caused reparenting of QGLWidgets to output warnings on Mac/Cocoa
  • Build System:
  • [253053] Linker in macx-g++42 spec is gcc instead of gcc-4.2.
  • Designer:
  • [248769] Fixed a bug affecting the display of keyboard shortcuts in the detailed view of the action editor.
  • [251092] Fixed a bug preventing entering local file names for QUrl-type properties on Windows.
  • [251691] Fixed dynamic re-translation of table headers.
  • [252251] Improved readability of the property editor when using the KDE Obsidian Coast theme.
  • [253236] Fixed a regression bug triggered by forms with a size policy of 'Fixed' on the main cointainer.
  • [253278] Made it possible to set QString-type properties using QDesignerFormWindowCursor::setProperty().
  • [253539] Prevent crash in Designer with the Cocoa port when when using a scroll wheel to change a property.
  • [252333] Fixed a regression crash in uic triggered when icon was set with different modes than normal off.
  • [252414, 252416, 252502] Fixed a crash in case of setting invalid point size of font property in property editor.
  • uic:
  • [252333] Fixed a regression crash triggered by using icons with different pixmaps for QIcon states.
  • DirectFB:
  • Make sure we pick an appropriate format for pixmaps. E.g. use the same as the primary surface for opaque pixmaps and pick an appropriate one for transparent pixmaps if the primary surface format is not transparent.
  • Properly fall back to the raster engine for pens that aren't solid color.
  • Properly fall back to raster engine with "mirrored" scales.
  • Make sure window surfaces are in the appropriate pixel format and created in video memory if supported.
  • Fix clipping bug that would cause painting errors.
  • Fix various crash bugs.
  • Fix bugs when transforming/copying pixmaps with alpha channel.
  • Fix various bugs with regards to painting with alpha channel/porter duff.
  • Optimize a couple of internal functions to slightly speed up drawing.
  • Optimize raster fall backs.
  • Allow more customization for Flipping options.
  • Fix drawing with opacity != 1.0.
  • Support for better logging when trying to debug performance problems.
  • Fix bug in keyboard handling that caused modifiers not to work.
  • Get rid of some compiler warnings.
  • Documentation and Examples:
  • Added a new example (fancy browser) which shows how to use jQuery in QtWebKit.
  • QtDBus:
  • [236955] Fixed an issue that would cause QtDBus to crash when relaying a signal emitted from a class under certain conditions.
  • QtOpenGL:
  • [247083] Re-enabled anti-aliasing for large font sizes in OpenGL paint engine.
  • [251485] Fixed crash that could occur with projective transforms and high quality antialiasing.
  • [253468] Fixed a crash in the GL 2 paint engine that could occur when drawing text.
  • QtWebKit:
  • Backported fixes for critical bugs, memory leaks, and crashes from WebKit trunk (with revision numbers)
  • QAbstractItemView:
  • [250754] Changing the font of the view did not update the size of the items if there was an application style sheet.
  • [252532] Pressing enter in a QPlainTextEdit embedded in an item view now inserts a newline
  • QAbstractNetworkCache:
  • Only cache responses to HTTP GET by default, not HTTP PUT or POST.
  • QApplication:
  • [249589] Fixed bug that prevented any part of the application from receiving focus when Graphics View was disabled using QT_NO_GRAPHICSVIEW.
  • QByteArrayMatcher:
  • [251958] Assignment operator and copy constructor miss data.
  • QComboBox:
  • [253944] Changing the style doesn't reset custom item delegate anymore.
  • [254589] Fixed the frame appearing if setting a style sheet with a border on the embedded item view while there is a style sheet on the application.
  • QCompleter:
  • [253125] QCompleter doesn't expand entries with UnfilteredPopupCompletion.
  • QCssParser:
  • [252311] "font-family:" now handle fallback font specified with a comma-separated list.
  • QDir:
  • Fix reentrancy (listing directories in different threads)
  • QFile and QTemporaryFile:
  • Fixed a leak of file descriptors in QTemporaryFile::rename, introduced in 4.5.1
  • [165920] QFile::copy leaves the source file open after the file has been copied.
  • [191467] & [252293] QFile::copy of resource files to the file system fails on Windows.
  • [197857] QFile::copy of resource files leaves temporary files on file system.
  • [248223] QTemporaryFile: Access denied error when (re-)opening through QFile interface.
  • [252659] QTemporaryFile::rename may leave source file behind.
  • QFileSystemModel:
  • [254701] QFileSystemModel doesn't sort subfolders when being used in a QTreeView.
  • [251295] Windows path names incorrectly constructed in calls to updateIcon().
  • QFileDialog:
  • [251341] It is not possible to remove a directory in the sidebar if the directory does not exist.
  • [251321] Hidden path in QFileDialog's sidebar cannot be opened.
  • [226483] setSidebarUrls() handles the URLs case sensitively so that adding the same directory twice is possible Windows.
  • [252068] QFileDialog with QSortFilterProxyModel crashes.
  • [254490] QFileDialog selectFile() doesn't clear the selection if we call it several times.
  • QFontDialog:
  • [252000] Ensure that QFontDialog::getFont() works on Mac OS X.
  • QGraphicsItem:
  • [197802] Don't show children when parent is not visible
  • [252913] QGraphicsItem::setOpacity(0.0) does not trigger an update
  • QGraphicsView
  • [253415] Reset the 'connectedToScene' flag when changing the scene of a view
  • QGraphicsWidget:
  • Fixed a bug with Qt::WidgetWithChildren shortcut context.
  • QGtkStyle:
  • [250731] Fixed a build issue with glib version lower than 2.3.2
  • [254342] Fixed a potential crash when system theme changes occur.
  • [254614] Fixed an assert or warning related to GtkEntry focus handling reported with certain versions of GTK+.
  • QLocalSocket:
  • [247144] Correctly handle remote disconnects.
  • QMacStyle:
  • [253339] Don't draw arrows on tool buttons that have a menu and text only.
  • [252301] Ensure that small and mini spin boxes are drawn correctly.
  • QMotifStyle:
  • Fix crash when changing style and destroying progress bar.
  • QNetworkAccessManager:
  • [248838] Make QNetworkAccessManager reject invalid HTTP input earlier.
  • QNetworkCookie:
  • [251959] Fixed parsing of multiple cookies separated by a newline.
  • QNetworkCookieJar:
  • [251467] Do not allow cookies for domains like ".com".
  • [228974] Allow cookies whose domain attribute is missing a leading dot.
  • QObject:
  • Fixed possible race condition if two QObject connected together with signals and slots are destroyed in different threads.
  • QPainter:
  • [253783] Fixed text shaping bugs when using ligatures and different scripts in a single text item.
  • Fixed various inconsistencies for image drawing on non-integer coordinates.
  • Fixed bug with 0-opacity causing images to be drawn fully opaque.
  • Fixed crash when drawing on a null pixmap.
  • [251534] Fixed issue where text with non-opaque color from widget palette would be blitted instead of blended.
  • [253663] Fixed an issue with implicitly closed poly lines when using perspective transforms.
  • QPrintDialog:
  • [253135] Crash in QPrintDialog when editing output filename.
  • [252873] Fixed an issue that could cause QPrintDialog to invalidate a valid QPrinter object.
  • [224728] Fixed an issue under X11 where QPrintDialog didn't update the print-to-file state if it was passed a QPrinter set up to print PDF or PostScript.
  • QPrinter:
  • [252873] Fixed an issue with QPrinter::NativeFormat printers not being valid.
  • [248881] Fixed an issue under Windows where QPrinter::pageRect() returned the wrong rect when QPrinter::fullPage() was set.
  • [199271] Fixed an issue with QPrinter::setPrinterName()/printerName() on Mac.
  • QProgressBar:
  • [252283] Fixed busy indicator for a QProgressBar with a style sheet applied to it.
  • QSelectionModel:
  • [252069] Fix QSelectionModel::rowIntersectsSelection or QSelectionModel::columnsIntersectsSelection not reporting right result if some items are disabled.
  • QSortFilterProxyModel:
  • [250023] Fixes QSortFilterProxyModel not reporting child if the model needs to fetchMore().
  • [251296] In dynamic filter model, children of temporarily filtered items were not correctly updated.
  • [252507] Show a warning instead of crashing if invalid indexes are passed.
  • [254234] Fixed setDynamicSortFilter not working when setting the model initially.
  • QString:
  • Fixed reentrancy of QString::squeeze().
  • QSvg:
  • [253614] Fixed an issue with parsing the 'stroke-dasharray' SVG attribute.
  • QSvgIconEngine:
  • [251106] Fixed an issue that caused QIcon::actualSize() to reparse the SVG file for each acutalSize() call until QIcon::pixmap() was called.
  • [248848] Fixed an issue that would cause QIcon::pixmap() to reparse the SVG file, even though there was a cached pixmap for that size available.
  • QTabBar:
  • [252472] Fixed problem with the current tab not being visible after calling setTabButton() on a scrolled tab bar.
  • QToolButton:
  • [252554] Fixed a problem where text labels would be partially clipped when using Qt::ToolButtonTextUnderIcon.
  • QTransform:
  • Fixed issue in QTransform::type() causing a projective transform to be treated as a scaling transform.
  • QVector:
  • Fixed reentrancy of QVector::reserve().
  • QWidget:
  • [250668] Don't send extra wheel events when using the scroll wheel in Cocoa.
  • [253448] Prevent a crash when using the Qt::WA_MacBrushedMetal attribute in conjunction with style sheets.
  • QWizard:
  • [252662] Fixed crash that could happen when compiling on Windows XP and running on older Windows versions like 98 and 2000.

New in Qt 4.5.0 (Mar 5, 2009)

  • Performance Improvements:
  • Performance was the major design goal of Qt 4.5, and major efforts were put into increasing the runtime performance of Qt-based applications through:
  • Focused re-engineering of key functionality
  • A new pluggable graphics system
  • QtBenchLib a new performance benchmarking library,
  • Upgrade to 4.5 to realize the performance benefits in your applications; most engineering work has been done to the core Qt API.
  • With Qt 4.5, the Qt WebKit Integration now utilizes the latest version of WebKit:
  • Netscape plug in (NPAPI) support, enabling you to to incorporate Flash™ content in your Qt applications
  • Support for HTML 5 including zooming, CSS-based animations, and more
  • Integration with the lighting-fast SquirrelFish JavaScript engine
  • 64-bit Cocoa Support on Mac:
  • 64bit IconQt 4.5 adds support for developing 64-bit applications on top of the new Mac Cocoa API, making it possible for Qt developers to deploy resource-intensive applications to the latest version of the Mac OS (10.5).
  • Qt 4.5 introduces many other new features across the framework, including:
  • New debugger for the QtScript ECMA standard Qt scripting engine (Check out the video!)
  • XSLT support for transformation of XML content into XML, HTML or other text
  • Support for Open Document Format (ODF)
  • Improved proxy support