Lars Knoll

Qt 5.11 released

Published Tuesday May 22nd, 2018
71 Comments on Qt 5.11 released
Posted in Announcements, Biz Circuit & Dev Loop, Community, Contributors, Customers | Tags:

Slightly ahead of our planned schedule, we have released Qt 5.11 today. As always, Qt 5.11 comes with quite a few new features as well as many bug fixes to existing functionality. Let’s have a look at some of the cool new features.

Qt Core and Network

A lot of work on small details has happened in Qt Core. As an example, some of our tools classes got new rvalue reference overloads and we filled in some missing methods for better STL compatibility. Our item model has received a couple of new features, for details have a look at this blog post.

In Qt Network, ALPN and thus HTTP/2 negotiation are now supported on iOS. QNetworkRequest gained a Http2DirectAttribute to start an HTTP/2 connection without first negotiating.

One of the larger updates in Qt Core went into our Unicode support. QChar, QString, QTextBoundaryFinder and our algorithm for bidirectional text are now fully compatible with Unicode 10.

Qt GUI and Widgets

A major focus area for Qt 5.11 has been the accessibility support on Windows. It got completely rewritten and is now based on Microsoft UI Automation, not on the old Microsoft Active Accessibility framework, leading to a vastly improved accessibility support on Windows.

Some major work has also gone into improving the widget styles on Windows to better support High-DPI displays. The print dialog on Linux has also received a major overhaul, now featuring much better support for all the CUPS provided options.

Qt Widgets itself has received numerous bug fixes and support for quick text selection by mouse in QLineEdit.

Together, this gives a very nice update for all our Desktop users.

Qt QML

Some larger changes have been happening under the hood of our QML engine. We have completely rewritten the compiler pipeline, that parses and compiles QML. The new pipeline brings some major improvements in performance and maintainability.

The new pipeline always compiles QML to a platform-independent bytecode. The engine will cache this bytecode in .qmlc files. You can also generate the bytecode ahead of time, using the qmlcompiler feature (which is now also available in the open source version).

The new bytecode interpreter has a vastly improved performance over the old version. It reaches around 80-90% of the performance of the JIT in Qt 5.10 in most of our test cases. A new hotspot JIT has been added on top of that, beating our old JIT in pretty much all areas.

For more details, have a look at the separate blog post here.

Qt Quick and Qt Quick Controls

In Qt Quick, we’ve expanded our support for loading compressed textures in the Image element and now support both .ktx and .pkm container file formats. This feature helps cut down on application startup time and memory consumption by storing images in a format that is directly digestible by the GPU. For more details have a look at this blog post.

Qt Quick Controls 2 has received lots of smaller features and bug fixes. Examples are auto-repeat properties for Buttons, better positioning support for ScrollBars and better styling support for SpinBoxes.

Qt Location

Qt Location is also an area where many cool things have been happening. The largest new feature is probably the experimental support for turn-by-turn navigation. But there is more. Qt Location now has an experimental API to create map objects that are not bound to QQuickItems. The performance of MapPolyline objects has seen large improvements and layers are now working in combination with Map items. In addition, we made the Routing and Places API extensible and added a new WayPoint element. Finally, the MapBox plugin gained support for geocoding and Places.

Qt Webengine

As has become standard in our feature releases, we’ve updated the Chromium version underneath Qt Webengine to Chromium 65. In addition, we now support embedded DevTools without requiring the use of a separate browser, an installable cookie filter and quota permissions.

Qt for Device Creation

All new functionality mentioned above is of course also available in Qt for Device Creation. In addition, we’ve been working on improving some embedded-specific features.

One new feature here is support for hardware-based graphics layers, currently available as a Technology Preview for platforms supporting VSP2 hardware compositing. This can be used for features such as Video underlays and helps improve performance and reduce power consumption. We are aiming to extend the support to more platforms and hardware combinations in future releases.

Qt SerialBus has received improvements to its CAN Bus support. The KNX module has received some larger updates. In addition, Qt 5.11 will feature a new module that adds support for OPC/UA. This module is available as a Technology Preview in Qt 5.11.

Other items

qdoc now uses libclang to parse C++ giving us much better support for modern C++ in our documentation. Qt Serialbus and Bluetooth have now improved support for CAN bus and BTLE.

With Qt 5.11, we have also removed support for some older compilers and platforms. MSVC 2013, QNX 6.6 and macOS 10.10 are no longer supported.

Qt 3D and Qt 3D Studio

We are working hard to get the second release of Qt 3D Studio ready for you. This second release comes with a fully rewritten runtime, that’ll be based on top of Qt 3D. This will give all of you a better and deeper integration into the rest of Qt when using Qt 3D Studio to create 3D user interfaces.  With this work, Qt 3D has also received numerous new features, performance improvements, and bug fixes. Qt 3D Studio 2.0 is currently in beta, and we are working hard to get the final release out within the next few weeks.

Qt for Webassembly and Python

With Qt for Webassembly, we are working towards filling the last large gap in our cross-platform story, allowing our users to target the web and browsers as a platform for Qt applications. The first version has been released as a Technology preview today, please check out the separate blog post for further details.

In addition, to the above, we are actively working on supporting Qt on Python . The first release of it is planned for June, and we’ll keep you posted with more details.

Thanks to the Qt Community

Qt 5.11 adds a lot of new functionality and improvements. Some of them would not have been possible without the help of the great community of companies and people that contribute to Qt by contributing new functionality, bug fixes, documentation, examples or bug reports. There are too many people to mention everybody in detail, but I’d like to especially thank Thiago Maciera from Intel for his ongoing work on maintaining Qt Core. From our partner basysKom, I’d like to thank Jannis Voelker and Frank Meerkötter for their work on OPC/UA. From our partner KDAB, I’d like to thank Albert Astals Cid for his work on CUPS printing, Sean Harmer and Paul Lemire for their ongoing work on Qt 3D and many others for helping maintain different parts of Qt. Thank you!

Get the new version

As usual, Qt 5.11 will be supported for one year. If you need longer support periods, Qt 5.9 is our current LTS release and will be supported until June 2020. Extended lifetime support can of course always be purchased from The Qt Company if required. Our next release after Qt 5.11, Qt 5.12 is planned for November and will again be a long-term supported release.

You can download Qt 5.11 from your Qt Account or www.qt.io/download. I hope you’ll like and enjoy the new release!

 

Do you like this? Share it
Share on LinkedInGoogle+Share on FacebookTweet about this on Twitter

Posted in Announcements, Biz Circuit & Dev Loop, Community, Contributors, Customers | Tags:

71 comments

glararan says:

Is Vulkan included in builded binaries? I installed 5.11 for MSVC2017, I also installed Qt creator anyway I prefer VS 2017 so I installed extension, created project and here comes problem.. VkClearColorValue is undefined. I am trying Vulkan example. LunarG is installed.

I guess LunarG headers are not inside Qt, what should I do to get it working?

glararan says:

SOLVED: In VS configure project to include “VulkanSDK\__version__\Include” and “VulkanSDK\__version__\Lib”

Sergei says:

Hi!
Could you please share some detail related to macOS 10.10 support? Is it just not tested anymore, but can be compiled, or there are some system APIs existing only in 10.11+ used?

Jani Heikkinen Jani Heikkinen says:

Hi! 10.10 isn’t supported anymore, see https://doc.qt.io/qt-5/supported-platforms-and-configurations.html

jason says:

I tried to use Qt (and parts of Location) for a augmented-reality style app but quickly ran into a problem that the phone reports two pitch orientations as the same (above/below horizon). In addition Qt’ mapping best matches iOS. I’ve filed multiple bug reports, but I really can’t proceed until there is some advancement. Ideally, I want all three axis to report -180 to 180, but only two do, and the other reports 90.
https://bugreports.qt.io/browse/QTBUG-67428

MikeC says:

You should use all three angles to create a rotation matrix and then compute resultant orientation vector. You can then calculate the angle between this orientation vector and whichever axis you want. As the table in the bugreport shows, Qt, Android, and iOS all have one rotation axis that has a range of only -90 to 90.

Luca says:

Is the new compiler validating the QML syntax a bit? The absence of compile-time help respect to C++ is a major issue when working on large applications. JS is tragically weak on this by design, but maybe some compile-time validation can be done.

Lars Knoll Lars Knoll says:

It’s not doing additional validation to what we had before. We do have ideas for introducing stricter type checking in QML, hopefully we can get some of them implemented after 5.12.

Erkki Salonen says:

I would also vote for this. My background is C++ and I am constantly having issues with Javascript runtime errors.

Massimo says:

Since 5.10 I can no longer install Qt with offline installers cause of license pre-condition check.
In a company network there’s typically a proxy AND a firewall, blocking non standard ports.
The check doesn’t timeout, nor leaves the possibility to be skipped.
Is there an escape from this trap ?

Jani Heikkinen Jani Heikkinen says:

What is the exact issue with you? There is a option to enter license details manually in case you don’t have a network at all.

Micha says:

After installation of 5.11 there is no qmlcompiler. Where is the qmlcompiler?

Jani Heikkinen Jani Heikkinen says:

There isn’t separate qmlcompiler anymore; equivalent functionality has now been folded into the general offering, see http://doc.qt.io/qt-5/whatsnew511.html#Qt QML Module

Michae says:

But when I set CONFIG += qmlcompiler in *.pro file nothing happens (no difference with or without) and QtCreator says “no qmlcompiler installed”. Where can I see the compiled qml files? What I’m doing wrong?

Micha says:

Found it and works. Many Thanks.

midday says:

Downloading speed is terrible

Maxim says:

Congrats to the team. Too bad about https://bugreports.qt.io/browse/QTBUG-68344 though. Was looking forward to trying 5.11 but this makes it unusable for now.

Jani Heikkinen Jani Heikkinen says:

Unfortunately fix for QTBUG-68344 wasn’t available early enough for 5.11.0 but will be in 5.11.1, which should be released within few weeks, see https://wiki.qt.io/Qt_5.11_Release

Vadim Peretokin says:

Thanks so much for the focus on Qt Widgets!

If you could make Qt’s translation framework work with C++11’s string literals, that would be amazing! Being held back from using string literals in complicated embeds like regexes is a source of frustration.

Kai Koehne Kai Koehne says:

Can you elaborate what you miss from the Qt framework in this area?

The translation framework is built around UTF-8, and QObject::tr() accepts const char * as input, which can be both e.g. “translate this” or u8″translate this”.

Maybe file a suggestion on bugreports.qt.io with some more details?

d3fault says:

This release adds QIODevice::NewOnly, which provides a way to safely create files, with a guarantee from the operating system that you are not overwriting a previously created file.

Veracity says:

Is the collision detection in the Qt3D now ?

Markus Hörzer says:

DPI-sensitive QWidget styles have been a major topic in our application, where can I find more information about the changes?

artemsyd artemsyd says:

There are 2 resolved bugreports mentioned in changes.

Xuke says:

Please fix the model/view inputmethod bug :https://bugreports.qt.io/browse/QTBUG-68409

angelus says:

I can only use the x86 system,Qt5.11 webengine needs vs2017, but there is no vs2017 x86 in the installation package.

Jani Heikkinen Jani Heikkinen says:

Yeah, that’s true. But you can compile qt by yourself of course

Robert says:

Jani,
I’ve just tried to build Qt-5.11.0 for windows x86 (-platform win32-msvc ),
but the build is broken in qtwebengine: QTBUG-68462

FAILED: gn.exe
link.exe /nologo /OUT:gn.exe /PDB:gn.exe.pdb @gn.exe.rsp
tools\gn\gn_main.obj : fatal error LNK1112: module machine type ‘x86’ conflicts with target machine type ‘x64’
ninja: build stopped: subcommand failed.
Command ‘[‘C:/Users/robert/dev/qt-src-5.11.0/qtwebengine/src/3rdparty/ninja/ninja.exe’, ‘-C’, ‘C:\\Users\\robert\\dev\\qt-src-5.11
.0\\qtwebengine\\src\\3rdparty\\chromium\\tools\\gn\\out\\Release’, ‘-w’, ‘dupbuild=err’, ‘gn.exe’]’ returned non-zero exit status
1
Project ERROR: GN build error!

Sorry, but this is not an option in meanwhile.
Many people are asking for a 32-bit for Windows.
Please, consider this option.

Thanks in advance.
Robert

wang says:

online install speed is so slow ;(

Jerry says:

slow +1, been 9 hours and I am only at 8%. Downloading at avg speed of 10Kb per second.

bnogal says:

i keep saying…. they should offer a torrent download, like many other projects.

Jerry Hu says:

I am on a Gigabit line and it has been a little 24 hours and the progress bar still reads14% (10Kbytes/sec)

Alexey says:

Yes. 8 hours and 10%…. and error !

Tham says:

Slow + 1, average speed is around 10k/sec. Any ideas why recently download speed become so slow?Anyway to solve it? Thanks

@Tham: For open-source users, one good option is to wait a bit so that all mirrors have synced the content or try another mirror (using QtSdkRepoChooser). For commercial users, contact support in case download speed is slow (commercial downloads are in a different system that typically has very high bandwidth available).

Tihomir says:

The speed is still slow after 20 days. It has always been a decent speed for open license users previously. With all my respect, but just because commercial users have a good speed does not mean that the open license community should suffer. Uploading a torrent link, or any other way which provides a decent speed should be considered as soon as possible.

angelus says:

Qt Webengine can only run at 64 bit?

Allan Jensen Allan Jensen says:

32-bit QtWebEngine should be supported, but can only be built on 64-bit hosts due to its size. And on Windows it additionally requires MSVC 2017. Currently Qt does not have 32-bit MSVC 2017 official builds, so there is no 32-bit QtWebEngine on Windows in Qt 5.11.0.

Robert says:

Hi, it would be really appreciated if you could provide 32-bit WebEngine in near future

Thomas says:

Hi,
I can’t install the offline version ‘qt-opensource-windows-x86-5.11.0.exe’ from
‘https://www1.qt.io/offline-installers/’
with only one additional selection for MSVC 2017 64-bit.
I get the installation message: ‘Cannot start: “C:\Qt\Qt5.11.0\/Tools/QtCreator\bin\sdktool.exe addQt” [I make a break here]’
(hint: would be nice to have a copy to clipboard button in installation error dialog)
Indeed there is at this installation point (about 70%) no QtCreator installed. I installed the QtCreator alone and
it works, but without MSVC 2017 64-bit support.
So I think, the chronology for the installation is not correct.

Jani Heikkinen Jani Heikkinen says:

Hi Thomas. Thanks for this report. There were a bug in packaging side in Windows and Mac offline installers. That is now fixed and newly packed offline installers will be available via https://www1.qt.io/offline-installers/ soon.

Thomas says:

Thanks,
would be nice if the link is disabled until the correct version is available.
On http://download.qt.io/official_releases/qt/5.11/5.11.0/qt-opensource-windows-x86-5.11.0.exe.mirrorlist
seems to be a new file size (Size: 2.4G (2575180504 bytes)) but not the same as the download (2,39 GB (2.575.188.984 Bytes)).

Lee says:

I think I’ve seen that the previous Qt Quick Compiler module in commercial license was going to released under GPL not LGPL for opensource later. Maybe my memory could be wrong. Anyway, what’s the license of new Qt Quick Compiler in Qt 5.11?

And, still documentations (http://doc.qt.io/qt-5/qtmodules.html#value-add-modules) and website (https://www1.qt.io/licensing-comparison/) mention that Qt Quick compiler as commercial license only.

Michel Horvers says:

Good question. Very interested in the answer!!

artemsyd artemsyd says:

> Qt Quick Compiler module in commercial license was going to released under GPL not LGPL for opensource later

What was said in this blog-post is: “…integrate the Qt Quick Compiler functionality into the Qt QML module […] available under LGPLv3/GPLv2/commercial license“. And it happenned in Qt 5.8, when QML caching was introduced, which then got improved in Qt 5.11

So, for releases before 5.11, Qt Quick Compiler was/is a commercial-only feature. But starting with Qt 5.11:

  1. “Old” Qt Quick Compiler (translating QML into intermediate C++) ceases to exist. It is still mentioned in the documentation because it is still available in earlier versions of Qt;
  2. “New” Qt Quick Compiler (ahead-of-time QML to bytecode compilation) is now available for everyone.
Fred Morkel says:

On Windows, installation fails if VS2917 x64 is selected (“cannot find sdktool.exe”).

Fred Morkel says:

I meant MSVC2017 x64, sorry. VS2917 is definitely not out yet 🙂

Jani Heikkinen Jani Heikkinen says:

Hi Fred! As I already replied to Thomas there were a bug in packaging side in Windows and Mac offline installers. That is now fixed and newly packed offline installers will be available via https://www1.qt.io/offline-installers/ soon. Thanks for your report!

Olivier says:

Since I switch to qt 5.11, QtCreator encounter several problems (a big one is that breakpoint do not works anymore inside qml code).

Do you know when a version of QtCreator complient with Qt 5.11 will be available ?

Harri Smått says:

Is there any updates in regard to QStringView support coming to Qt in version 5.1x?

artemsyd artemsyd says:

Wasn’t it available in Qt 5.10 already?

Kotlin says:

Hi,
1. What is going on with Android dev area? Can we expect some news for example with support out of the box of the newest ndk or clang support and dropping gcc in Qt-5.12 or Qt-6.0?

2. Is Qt going more in embedded/car side and just slowly drops Android/mobile platform? In Roadmap 2018 there is nothing about mobile platform.

3. What is your move Qt team on Google Android new rules in dev console: minimal platform-26 in August 2018 and 64bit apk in 2019? Some new changes in build and deploy area?

@Kotlin: Android and iOS are important for us, just like the other widely used application development platforms (Windows/UWP, Mac, Linux). We are actively taking in the new versions of these and supporting them. There are no intentions to drop any of these.

echo says:

why isn’t webengine module included I used the online installer and made sure I selected to install everything but any project that depends on webengine always says unknown module webengine!

Do we really have to compile it our self when using the online installer?

Jani Heikkinen Jani Heikkinen says:

Which platform and target you are using? Webengine is and can be downloaded by using online installer but unfortunately it isn’t available for all targets. In windows it is available only for MSVC2017 64 bit, see Allan’s comments earlier.

echo says:

ok so I have to use MSVC 2017 I guess…

lemta2000 says:

Hi,
I’m using qt5.11 vs2015 32bit and run example quicknanobrowser but it has error:
ERROR: Unknown module(s) in QT: webengine

George Jaray says:

Cross compiling for Raspberry pi Issues , some old , some new.

Problems i ran across when compiling for raspberry pi:
A: Initially, webengine was completely skipped even though the summary said it would be built .
reason: the config.test in qtwebengine attempted to do a local build but with the “sysroot” copy from ARM and the include paths are not the same. mad the test build dumb with no includes and it proceeded.
B: old issue, gl_ozone_egl.cc in chromium reference a missing function, comment out and return false and it continues.
c: webengine looked for the Qtdesigner library from qttools but it was not built, make all in that folder fixed it.

Gencer says:

You lead us to build MSVC2017_x86 with WebEngine ourselves but it’s nearly impossible to build it properly. Whenever I modify a source, another issue comes up.

It seems, qtwebengine does not respect target platform we gave but it tries to build in x64 mode no matter of what. There is an open bug ticket for that (https://bugreports.qt.io/issues/?jql=text%20~%20%22module%20machine%20type%20'X86'%20conflicts%20with%20target%20machine%20type%20'x64'%22)

I am messing things up since 6 hours without single luck. I gave up. I’ll return to 5.10.1 for a while.

Harri Smått says:

Ps. I’m too lazy report and file a bug that never gets handled anyway. But QWidget::moveEvent.. Is not only totally redundant but shows nasty bug as unimplemented after hook custom NSView as its native child win… Just saying…

artemsyd artemsyd says:

> I’m too lazy report and file a bug

No surprises that it’s not fixed then 🙂

@Harri: If you do not report the bug, it is unlikely to get fixed (unless others are affected by it and report it).

shumin yang says:

I already have Qt (Qt5.10 and Qt creator 4.6) installed under a “Qt” folder. I downloaded and trying to install Qt5.11 and it detected the “Qt” folder and asked me to choose another folder. Does that mean to re-install to a new folder? I only wanted to upgrade to Qt5.11. Any instruction? Thanks.

Jani Heikkinen Jani Heikkinen says:

Hi!
Yeah, you can’t do that kind of update with offline installer. If you use online installer and maintenance tool you could do it just by selecting 5.11.0 and deselecting 5.10.0.

bnogal says:

So… no binaries for MinGW 64 yet…

stlcours says:

Please give us the x32 package of VS2017. Otherwise, it is difficulty to start even a simple demo for starter!
Please please please!
Thanks Thanks Thanks!

Rutger says:

Still would like to see QTBUG-36152 QTextDocument table cell border editing implemented … (https://bugreports.qt.io/browse/QTBUG-36152)

Commenting closed.

Get started today with Qt Download now