Lars Knoll

Qt 5.6 released

Published Wednesday March 16th, 2016
68 Comments on Qt 5.6 released
Posted in Biz Circuit & Dev Loop, Qt, Releases

I’m happy to announce that Qt 5.6.0 has been released today! This release has taken a bit longer to finish than we originally expected, mostly because we put a lot of new infrastructure in place, allowing us to make Qt 5.6 a Long Term Supported (LTS) release. With that, Qt 5.6 (LTS) will be receiving patch releases with security updates and bug fixes for the next three years, in parallel to upcoming Qt versions. Today, with Qt 5.6, we’ve now also made our new offering for start-ups and small businesses available!

Long-term support

The last release that was supported for a long period of time has been Qt 4.8. Since we are ending the support for Qt 4.8, there is a need to have a new version of Qt that will be supported for a longer period of time.

With Qt 5.6, we feel comfortable offering this long-term commitment. We have had a tremendous amount of changes and improvements since the initial release of Qt 5, making Qt 5.6 a very good and solid basis to base your projects on.

As part of the LTS promise, we will be supporting Qt 5.6 for the coming three years, keeping it updated with regular patch level releases and bug fixes.

With Qt 5.6 being supported for a long period of time, we at the same time gain some more freedom in the upcoming versions of Qt. As such, Qt 5.6 will also be the last release that will work without requiring a C++11 compliant compiler. With Qt 5.7, we will also be dropping support for some older platforms.

For more information about our LTS promise, please have a look at the related blog post.

Infrastructure work

With Qt 5.6, we have been working a lot on the infrastructure that supports our development and releasing. The new continuous integration system (named COIN) is a project that we started around a year ago to overcome many issues we had experienced with the old Jenkins-based CI and releasing system. The new system is a lot faster in integrating and testing new changes that are supposed to become part of Qt. It also works much more incrementally, making it easier to bring all the repositories and source code that is part of a Qt release together.

We are now also producing most of the release binaries within the same system ensuring that COIN tests exactly the same configurations of Qt that are provided with the release packages, also cutting down significantly on our package generation time.

Another big advantage with the new system is that we can now efficiently support different configurations and platforms for different Qt branches; a big enabler that we had to have in place for making Qt 5.6 a long-term supported release.

Windows

While Qt 5.5 was mostly working on Windows 10, Windows 10 is now fully supported with Qt 5.6, both using the old win32 and the new WinRT APIs. Qt Applications can run on desktop PC’s, tablets and phones and of course be distributed through the Windows Store. Bringing your existing Qt-based application into the Windows Store should in most cases simply be a matter of recompiling it against the WinRT version of Qt.

With Qt 5.6, we are in addition providing binary packages for the Visual Studio 2015 compiler. Unfortunately, the Visual Studio add-in does not work anymore with Visual Studio 2015, as Microsoft changed their plugin infrastructure, but we are providing an updated version of the plugin for older Visual Studio versions. We’ve also started working towards creating a new Qt integration for the Visual Studio 2015 IDE.

For embedded Windows devices, Qt 5.6 adds support for Windows Embedded Compact 2013 in addition to the existing support for Windows Embedded Compact 7.

High-DPI support

A lot of changes went into Qt 5.6 that ensure that Qt works better on high resolution screens, on all platforms, extending the support we previously mainly had on Mac OS X. This allows applications that were originally written to work on standard resolution displays, to automatically scale to high resolution displays. Qt will automatically scale the UI to match the display, even when moving a running application between displays with different pixel densities. The new functionality can also be easily added into existing Qt applications, supporting both Qt Widgets and Qt Quick based applications. For more details check our the separate blog post.

Qt 5.6 for Device Creation – Windows host, Virtual Keyboard and Yocto Project

As Qt is all-about cross-platform and over the past years we’ve worked a lot in making embedded development as seamless as desktop or mobile development, we’re really excited about a new device creation feature in Qt 5.6: A lot of convenience has been added to creating devices with Qt 5.6 by enabling embedded Linux development through Windows host computer. This allows developers to directly develop and deploy to their embedded Linux hardware from a Windows host computer. To learn more about this and how to get started, please see the separate blog post.

The Qt Virtual Keyboard has also been upgraded to Qt 5.6, with a lot of new features such as handwriting recognition. Please see the relevant blog post and video about Qt Virtual Keyboard.

Finally, another big convenience for the embedded workflow with Qt for Device Creation has been the Boot to Qt software stack, that allows immediate start with Qt on a development board. The stack has been customizable through the Yocto Project tools before. Now, we’ve worked to improve our conformance with the Yocto Project and the Yocto meta layers so that it’s even easier to customize the Boot to Qt stack or pull in all relevant Qt pieces straight to your own Yocto-based builds.

For a full list of Embedded Linux news for Qt 5.6 with eg. board support updates see this blog post.

Qt WebEngine

Our Chromium-based browser engine, Qt WebEngine, has seen some major improvements since Qt 5.5. It is now based on Chromium 45, and with this comes a lot of new features and bug fixes from the Chromium project. In addition, Pepper plugins (PPAPI), such as Flash, are now supported. Qt WebEngine can now also honor the Qt proxy settings and the WebActions API that existed earlier in Qt WebKit has now been ported to Qt WebEngine.

We’ve also added a new Qt WebEngineCore module for new low-level APIs. This includes features such as support for custom URL schemes, intercepting and blocking network requests and for tracking and blocking cookies.

Finally, Qt WebEngine on Linux now uses many of the system libraries instead of bundled ones.

Other features

The Qt Location module that allows easy integration of maps, navigation and points-of-interests (POIs) to your Qt applications is now fully supported. The module is plugin-based, allowing you to select the location service provider backend, and to extend the API with your own backends. With Qt 5.6 we’re providing plugins out-of-the-box for HERE, Mapbox and Open Street Map backends.

Qt 5.6 has improved compatibility with C++11 and the STL by adding features such as reverse iterators for all our container classes, a key_iterator for QHash and QMap, and a const_iterator for QByteArray.

We’ve added a new QVersionNumber class, added support for HTTP redirection in QNetworkAccessManager and added many other smaller features.

OpenGL ES 3 support has been improved helping the development of embedded or mobile apps that want to make use of OpenGL ES 3 features.

Our dock widget infrastructure has seen quite some improvements, making it possible to programmatically resize docks, drop dock widgets into floating docks and re-arrange tabbed docks.

Qt Multimedia got a new PlayList QML type and an audio role API for the media player. Qt Canvas 3D now supports Qt Quick Items as textures and can directly render to the QML scenes foreground or background.

We’ve filled many platform dependent feature gaps. For example, Qt NFC is now supported on Android, Qt Positioning on Mac OS X and Qt WebView on WinRT.

In addition, a huge amount of smaller new features, bug fixes and changes that improve performance and reduce memory consumption have gone into this release.

Removed content

With 5.6, Qt WebKit and Qt Quick 1 will no longer be supported and are dropped from the release. The source code for these modules will still be available. You can continue to compile and use these modules, but we will not be supporting them any longer.

For security reasons, the MNG and JPEG2000 image format plugins are not part of the binary packages anymore. Users needing those can still build them from source but should be aware of the fact that the underlying MNG and JPEG2000 libraries have known security issues.

Qt Creator

In addition, the release updates Qt Creator to the latest version, please have a look at the Qt Creator release blog for more details.

Preview of Upcoming Modules

The installer packages of Qt 5.6 also provide a technology preview releases for three new modules we aim to support with the upcoming Qt releases. Qt 3D, which has been available as a preview earlier, has received many improvements and new functionality. Qt Quick Controls 2 is a complete re-implementation of the previous Qt Quick Controls allowing greatly improved performance especially on embedded devices. Qt SerialBus provides a preview of two widely used industrial buses: CanBUS and ModBus.

New offering for start-ups and changes in open source licensing

Last week, we announced the details of our long-awaited offering for Start-ups. With the Qt 5.6 packages, that option is now rolled-out and available for purchase through the Qt webshop! For more details, read more about the Qt Start-up Plan.

In addition, earlier this year, we announced changes around our future open source licensing options, mainly moving from LGPLv2.1 to LGPLv3 and open-sourcing a lot of formerly closed components under GPL. These changes do not yet affect Qt 5.6 directly but everything we do from now on. Especially if you are developing with Qt under an open source license, you should read the announcement carefully to understand the forthcoming licensing changes. So, please see the related blog post and visit our Licensing FAQ for more details.

Learn more – Upcoming Webinars

Join us to hear all about the 5.6 release in our live overview webinar. Follow the link and register:

Monday, March 21, 2016 at 6 p.m. CET (Europe) | 9 a.m. PT (America)

In addition, we have a whole line-up of webinars scheduled for the following weeks around Qt 5.6 features as well as other interesting topics. See the full events calendar for details and registration links!

Download

As always Qt 5.6.0 can be downloaded through your Qt Account web portal or from qt.io/download.

I hope you will enjoy this release. We are going to support the 5.6 series for a long term, which should make it a great basis for many software projects.

Do you like this? Share it
Print this pageEmail this to someoneShare on LinkedInShare on Google+Share on FacebookTweet about this on Twitter

Posted in Biz Circuit & Dev Loop, Qt, Releases

68 comments

Christian Feldbacher (V-Play Engine) says:

Congrats for this release to the whole team, keep up the great work! :)

Sergei Nevdakh says:

It’s impossible to use Qt Creator 3.6.1 published yesterday on retina displays. See https://bugreports.qt.io/browse/QTCREATORBUG-15881
Please, update downloads with more recent revision (it looks like available build was made on Feb, 4).

Eike Ziller Eike Ziller says:

Content is updated (only Qt Creator standalone package is affected), mirrors might take their time though.
Sorry for the inconvenience.

Zenad says:

The 32 bit online Linux installer for Qt does not mention 5.6.0 as one of the options for installation yet.

iieklund says:

Qt 5.5 is the latest version for linux-x86. This has been agreed previously in qt release team meeting and informed separately.

David Reeves says:

Congratulations to the entire Qt development team!

Kambiz Asadzadeh says:

Congrats for this release!

A Dev says:

What do you think about a C# version of QT?

mike says:

Dude… QT is C++, C# is something totally different. So, NO !

Rick Berger says:

Dude – Python is a completely different animal, too, but there is a Qt binding for it.

Ville Lukka says:

Opensource download link is this: http://www.qt.io/download-open-source/#section-2

J0hn says:

Judging by the upcoming versions feature sets, I’d say making 5.6 LTS is a mistake. The LTS version outta be 5.8, mostly because of the feature set, but also because it will in a way mirror 4.8

Steve says:

Some of those new features are related to the change of licence agreement. The platform / compiler support is also changing from 5.7+, so LTS from 5.6 seems sensible. Also, if you were to wait for 5.8 to be ready for LTS, the features in 5.9+ might look tempting too.

Scott Petrovic says:

Great job on this release. I have been testing the betas through the RC binaries for 5.6 on Windows 10. Everything is looking great.

elProxy says:

Congrats guys!

Le Duc Anh says:

I am using qt 5.6 mingw and i cannot using qt webengine. can you help me? I dont like Visual Studio!

Slartibart says:

Then you’re out of luck, because the Chromium team does not like MinGW, so it will not compile with it. The Qt team could have made a mammoth effort and made this possible, but AFAIK decided that is wasn’t worth it.

Mihail Naydenov says:

This is the first time I hear a crossplatform project can’t be compiled with MinGW. This is actually facepalm worthy.

Derrick says:

Wow, that’s a huge let down :-(

Andy says:

WebEngine only works with native compiler. So on windows, must work with VS.

Shantanu Tushar says:

Its not necessary to *use* Visual Studio IDE etc, you just need to install it for the MSVC compiler. Once that is done, just use Qt Creator with the MSVC kit.

Arkadiusz Piekarz says:

Any love for users of GCC on Windows? The official builds are still stuck on an old version 4.9.2.

Andy says:

It seems Pepper plugins (PPAPI), such as Flash, cannot work with Qt 5.6 WebEngine. Is there any config need to be set in WebEngine?

Kai Koehne Kai Koehne says:

The Flash pepper plugin is supported, see also http://doc.qt.io/qt-5/qtwebengine-platform-notes.html#pepper-plugin-api-support .

You need to enable support though in your application (pluginsEnabled in WebEngineSettings).

hezf says:

Hi,I want use webengine in mingw32.
Must use it in vs2013 64bit or vs2015 64bit?

Kai Koehne Kai Koehne says:

This was raised before in a comment. Since upstream Chromium does not support gcc on Windows, it would be a major effort to fix this for Qt WebEngine.

What might happen though is that Chromium developers support using clang on Windows: https://bugs.chromium.org/p/chromium/issues/detail?id=82385

But for this release, only MSVC 2013 and MSVC 2015 compilers are supported for Qt WebEngine.

PierreBdR says:

Are there any plans to provide a version of Qt working with MinGW64? I know about this page: https://wiki.qt.io/MinGW-64-bit, but having it distributed would be so much simpler!

Kai Koehne Kai Koehne says:

I guess you’re talking about a 64 bit MinGW build (because we’re using actually a MinGW-w64 based MinGW).

Well, we’ve to build already quite a number of packages, and therefore do not want to provide both a 64 bit _and_ a 32 bit version. So it comes down to what the majority would prefer … Do you have compelling arguments to switch to 64 bit, instead of 32 bit?

PierreBdR says:

Yes, my application simply cannot work in 32 bits. We work with 3D images and very large meshes. We commonly need 16 or 24 GB of RAM to run our application on the datasets we have. I currently have Qt 5.4 compiled with the 64 bit version of MingW64 that I had downloaded from this, now closed, project: https://sourceforge.net/projects/qt64ng/. It really works well! If you want to check it out it’s there: http://www.lithographx.org/. I also cannot (efficiently) use Visual Studio because they decided to abandon OpenMP after v2, and I use the v3 heavily.

Uwe Kindler says:

Check out MSYS2 – it comes with precompiled Qt 64-bit and 32-bit binaries for MinGW and up to date MinGW GCC 5.3.0.

With the integrated package manager it is very easy to install packages and libraries.

Uwe Kindler says:

Check out MSYS2 – it comes with precompiled Qt 64-bit and 32-bit binaries for MinGW and up to date MinGW GCC 5.3.0.

http://msys2.github.io/

With the integrated package manager it is very easy to install packages and libraries.

elendilm says:

I have added such a request here.
“Prebuilt Qt Mingw-64 binary installers”
https://bugreports.qt.io/browse/QTBUG-50504
It would be very helpful to have such a build.

Who uses 32 bit these days? I think it is time for 32 bit builds to go extinct.

Kai Koehne Kai Koehne says:

32 bit is still popular on Windows, mostly because switching to 64 bit does give you little, or even make your app slower. Ever wondered by Visual Studio itself is still 32 bit?

http://blogs.msdn.com/b/ricom/archive/2009/06/10/visual-studio-why-is-there-no-64-bit-version.aspx

Looking at the download numbers of mingw-w64 sourgeforge, 32 bit still seems to be the favorite one for most people

https://sourceforge.net/projects/mingw-w64/files/

Daniel says:

That post about Visual Studio is from 2009. That’s *ancient*. It’s not relevant any more.

The only reason 32bit is still a thing on Windows is because Microsoft is greedy; they’re still selling separate 32bit versions of Windows which are cheaper than the 64bit versions. That people are still actively using a 32bit OS’s on 64bit CPUs is just ridiculous in 2016.

Noxigar says:

it’s updated here :
https://blogs.msdn.microsoft.com/ricom/2015/12/29/revisiting-64-bit-ness-in-visual-studio-and-elsewhere/

https://blogs.msdn.microsoft.com/ricom/2016/01/04/64-bit-visual-studio-the-pro-64-argument/

and here :
https://blogs.msdn.microsoft.com/ricom/2016/01/11/a-little-64-bit-follow-up/

It’s relevant.

And we have a large userbase using old computer with 32bits OS. I cannot say them to change juste because 64bits is better (but for our application, 32 bits is better, no need for 64bits)

Kai Koehne Kai Koehne says:

And yet Visual Studio 2015 is 32 bit only, so I’m not so sure it’s not relevant anymore.

zack says:

Are you planning to release COIN for public usage?

Why does Jenkins not fit your needs?

Honk says:

Annonced: Windows 7 MSVC 2010
https://doc-snapshots.qt.io/qt5-5.6/supported-platforms-and-configurations.html

Reality: Pre-build binary packages for MSVC2010 removed…
https://wiki.qt.io/Qt-5.6.0-tools-and-versions

Kai Koehne Kai Koehne says:

We don’t provide binary packages for all the platforms we support.

Vladimir Vyskocil says:

It seems that on Mac OSX qmake switched exclusively to libc++ and stdc++ is no more a option, even when c++11 is not used like this used to be until Qt 5.5.1 ?
This break the linkage with all the package we need to produce Qt apps on Mac….

Karl-Peter says:

Hi Lars,

to build QtWebkit for use with 5.6.0, I will have to copy the QtWebKit sourcecode from 5.5.1 to the 5.6.0 source, right?
Would the qtwebkit directory be sufficient to build this module?

Kind regards

Karl-Peter

Kai Koehne Kai Koehne says:

You find qtwebkit sources that compile with Qt 5.6.0 at http://download.qt.io/community_releases/5.6/5.6.0/

Philip S says:

Do you know if and when Qt will switch to using QBS as a build system?

@Philip S: It is being investigated, no decisions done yet. In any case we need to maintain qmake support for a long time, and there are also people who like cmake.

Mark Liversedge says:

Hi

I cannot find the 5.6 QtWebKit src for building on Linux.

WebEngine has too many bugs to deprecate WebKit so quick !!

I ported my application to WebEngine and suffered significant functional, performance and rendering issues across all 3 platforms, so am staying with WebKit for now.

Thanks

Mark

@Mark: Please make sure to report all your issues to bugreports.qt.io, so that they can be addressed.

Mark Liversedge says:

Yes, fair point ! :)

Thank you for the swift reply, it is really appreciated.

Mark

Jani Heikkinen Jani Heikkinen says:

As Kai wrote above You find qtwebkit sources that compile with Qt 5.6.0 at http://download.qt.io/community_releases/5.6/5.6.0/

Jonathan Courtois says:

This packages was not done properly (syncqt was not executed probably because of missing .git folder). It’s actually difficult to build webkit from this community_release packages.

Is it possible to re-package the community release properly?

Thanks

Mark Liversedge says:

But don’t get me wrong, congrats and excited to see 5.6 is out :)

JAB says:

The documentation for Qt 5.5 and 5.4 is no longer present on the website. Some of us are still stuck with using older versions of Qt 5 as those versions are the ones supplied in the repositories of certain not-yet-out-of-date Linux distributions, and I see no reason to remove the docs (for that matter, many languages and frameworks maintain their documentation even for obsolete versions). Are those gone by accident and will soon be restored or is there a way of getting a full copy of the documentation for those versions as used to be presented on doc.qt.io?

@JAB: Qt 5.5 documentation is in the archive: http://doc.qt.io/archives/qt-5.5/index.html

JAB says:

I see, I could not easily find that link from the main doc.qt.io page. It also does not help with Qt 5.4 (the standard version of Qt 5 supplied with Ubuntu 15.10, which is still has four months until its end-of-life date). The version of Qt Creator for that Ubuntu release does still have the correct documentation, but not everyone uses Qt Creator or wants to start it up just to check something in the documentation. What is the reasoning for such rapid removal of documentation for still-relevant releases? (While the 5.4 docs do not seem difficult to access via the docs’ git repository, using formatted HTML requires building from source, which should be a needless step for something that was once readily available online and for which no warning of removal appears to have been given.)

JAB says:

Actually, I now see that the link to the archives is down with the snapshots link, so that part is just me not paying enough attention, I guess. The 5.4 point still stands, though.

Kevin Krammer says:

If you don’t use QtCreator you can use Qt Assistant to use the documentation.

Sandro F says:

Can someone tell me how to enable High DPI support within my application?

Setting “QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);” does not seem to work.

I tested it with “SameGame” example but after deploying on Android platform the scaling is still bad.

@Sandro F: Please check the documentation or a related blog post: http://blog.qt.io/blog/2016/01/26/high-dpi-support-in-qt-5-6. If these do not help, you can submit a support ticket (if you have a commercial license), or ask help in the forums and mailing lists.

Robert says:

What about windows gaming and DirectX support?

Konstantin says:

Tonight update QtCreator on Mac and Windows… Sorry, but I see bugs:

Under Mac I can’t work
https://bugreports.qt.io/browse/QTCREATORBUG-15906

And ugly interface under Windows:
https://bugreports.qt.io/browse/QTBUG-51981

Bilbo Baggins says:

Hello, i’m novice to programming, and I have prety old HW (like ten years old :) ), before i learn python, but I make decision to switch to c++. From my friend I hear for mingw (i do not want to run visual studio – becouse it’s resource hungry), and I want to create GUI apps with Qt (other solutions similar frameworks with small compilers just need some time to setup, but in qt is everything setup correctly for first use). But, when I try to run online instaler on Win 10, there is error massage which tell me that MSVCR120.dll is missing! On, windows, then I need MS compiler, or not? And, from prev. post i see that not all functions aviable for MinGW. My question is – is Qt in the near future planning to switch to some diferent c++ compiler (beside gcc) like clang, and if so, is then be similar lightweight like MinGW, witch make posible to develop apps on the less powerful machines, then for Visual Studio 2015?

Kai Koehne Kai Koehne says:

Please understand that using the Microsoft compiler does not necessarily mean you have to use the Visual Studio IDE (though they come often enough bundled in one installer). You can use the Visual Studio compilers just as well with Qt Creator.

For MinGW, only the ActiveQt and WebEngine modules are not supported. There are no immediate plans to switch away from MinGW.

Regarding your issue with MSVCR120.dll, this might mean you installed Qt for MSVC 2013. You’ve the choice between different prebuilt versions of Qt, just install the one you want and have a compiler for. If you select MinGW the Qt installer will automatically install the toolchain, for all others you need to install the compiler separately.

Liviu Lalescu says:

Thank you for this release.

If on the homepage qt.io I press “Developers”, it says Qt 5.5. So I guess you forgot to update.

Also, I noticed that the compilation of my program takes longer (50 minutes instead of 35 on GNU/Linux 64 bit and 40 minutes instead of 30 on Windows MinGW). I suppose because it compiles with the flag –std=gnu++0x.

Kai Koehne Kai Koehne says:

Thanks for the feedback regarding http://www.qt.io. Seems to be fixed now.

It’s IMO unlikely that –std=gnu++0x results in significantly longer compilation times.

Daniel says:

Thank you for your work!
Don’t bother with VS 2015 IDE supoprt – I still love Qt Creator so much.

Horst says:

I have installed this
qt-opensource-windows-x86-msvc2013-5.6.0.exe.

And tried it using this extension on VS 2013
qt-vs-addin-1.2.4-opensource.exe

The extension detects the Qt version (5.6) but will give this error
This Qt version uses an unsupported makefile generator (used: MSVC.NETMSBUILD, supported: MSVC.NET, MSBUILD)

Is there any workaround?

Lorenzo says:

Hi,
congratulations for the new release!
Is the module Qt3D going to be LTS? I’m asking because there are some bugs and improvements I’m interested in and I would like know if I should start having a look at the 5.7 alpha version.
Thanks

@Lorenzo: Qt 3D is still in a technology preview state in Qt 5.6, and thus not part of the LTS.

Commenting closed.

Get started today with Qt Download now