Showing posts with label Lars Knoll. Show all posts
Showing posts with label Lars Knoll. Show all posts

Qt 5.6 released

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.

The post Qt 5.6 released appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1Rm0UhE

New agreement with the KDE Free Qt Foundation and changes for the open source version

Open Source and the Free Software movement have always played a very important role in Qt’s history. From the very beginning, Qt has been available under both Open Source and commercial licensing terms.

This dual licensing approach has played a major role in turning Qt into the technology it is today. While the commercial business funds the majority of the development work, the open source version has helped us grow the ecosystem of users and provided us with invaluable feedback and contributions improving the product.

KDE Free Qt Foundation

To show our commitment to this dual licensing model, the KDE Free Qt Foundation was founded in 1998. It is a non-profit foundation ensuring that Qt will always be available under open source licensing terms. The agreement that governs this foundation has stayed mainly unchanged over the last 17 years. As a lot of things have changed during these years, we have been working with KDE over the last year to create a new and updated agreement that takes todays realities better into account.

Nowadays, we have many more operating systems that are relevant to end users than we had when the original agreement was signed. To account for this, the updated agreement does not only cover X11 as in the original contract (Android got added around 3 years ago), but all major desktop and mobile operating systems. This includes Mac OS X, Windows, X11, Android, iOS and Windows Phone.

We are also now taking into account the fact that Qt is being developed in the open, with many other people in addition to the ones working for The Qt Company contributing to it. To respect the work of these people, the new contract ensures that all contributions, even if they aren’t yet part of a released version of Qt, are covered by the agreement.

Finally, the new agreement contains updates to the license requirements The Qt Company has when releasing a new version of Qt. Let’s have a look at those.

New license requirements

The new contract changes the licensing requirements for the open source version of Qt. The purpose here has been to bring the licensing of Qt more in line with the philosophy of the Free Software movement.

Free Software is about the freedom of the user to change and modify the code and to redistribute and use these changed and modified versions of the code. LGPL version 2.1 (LGPLv2.1) that we have been using as our main license does not ensure this freedom in the most effective way. For that reason, the Free Software Foundation created version 3 of the GPL (GPLv3) and LGPL (LGPLv3) a couple of years back.

LGPL version 3 differs from version 2.1 in two fundamental aspects. It explicitly protects the right of the end user to not only compile their modifications, but also deploy and run them on the target device. This essentially prevents the creation of fully locked-down devices. Secondly, it explicitly includes a protection against patent claims from the entity distributing code licensed under LGPLv3. These two additions greatly help protect the end users’ freedom when using source code licensed under LGPLv3.

For this reason, we added LGPLv3 as a licensing option to Qt with Qt 5.4 back in 2014, and have published new Qt modules under this license.

In line with this, the new contract with KDE now removes LGPLv2.1 as a required license for the open source version. Instead, it now requires LGPLv3 (and GPLv2 to keep license compatibility with some GPLv2 open source projects) for all existing frameworks and GPLv3 for our tooling and new add-ons.

Changes to our product offering

Licensing

Starting with Qt 5.7, we are planning to adjust Qt’s open source licensing to be in line with these ideas. At the same time, this allows us to open up the parts of Qt for application development that have previously only been available under commercial terms to the Free Software community, unifying the product.

So Qt 5.7 will not be available under LGPLv2.1 anymore. Instead, we will provide the different parts of Qt under the following licenses:

  • Qt Essentials: All Qt Essentials will from now on be licensed under LGPLv3, GPLv2 and commercial license terms.
  • Qt Add-ons: All Add-ons that are currently available in the open source version of Qt, will in the future be licensed under LGPLv3, GPLv2 and commercial license terms (Qt WebEngine in addition has a LGPLv2.1 requirement due to the 3rd party code from Chromium).Add-ons that were only available under commercial license terms in the past (e.g. Qt Charts and Qt Data Visualization) are now available under both GPLv3 and commercial license terms.
  • Qt Tools and Applications: All tools (Qt Creator, moc, etc.) will in the future be available under commercial license terms and GPLv3. The GPL license comes with two exceptions that ensure that there are no license restrictions on generated code, and that bridging to 3rd party code is still possible.

This means that all parts of Qt for Application Development can be used under the GPLv3. Most parts can additionally be used under the LGPLv3 and GPLv2. Compatibility with GPLv2 will be kept where it is currently in place. All LGPL-licensed libraries inside Qt stay available under LGPLv3.

We believe that this combination of licenses for Qt is the best possible option to grow the Qt ecosystem further in the future.

In the embedded space, LGPLv3 in essence prevents the creation of locked-down devices. So any Qt user will then either help the ecosystem by creating an open device that allows Qt developers to target a larger market, or help the ecosystem by funding further development of the product. For desktop and mobile applications, the changes compared to LGPLv2.1 are smaller, but there are important clarifications for example related to mandatory patent license in case of distributing under LGPLv3 or GPLv3.

Unified product offering

With the contribution of these previously commercial-only modules and tools, we are removing the feature delta between the open source and commercial versions of Qt for Application Development. Publishing these add-ons under GPLv3 makes these available to the Free Software ecosystem, while at the same time keeping the incentives for commercial users to buy a license and help us fund further development of Qt.

The modules newly available to open source users are:

Furthermore we will start work to integrate the Qt Quick Compiler functionality into the Qt QML module, targeting the Qt 5.8 release. At that point it will be available under LGPLv3/GPLv2/commercial license (the currently available Qt Quick Compiler will remain commercial-only for Qt version prior to Qt 5.8).

The source code for many of the modules has already been pushed to codereview.qt-project.org and we will push the remaining items in the coming days.

No changes to Qt 5.6 and Qt for Device Creation

Qt 5.6 and earlier versions will not be changed and continues to be available under the old licensing terms. Qt 5.6 is a long-term supported release, supported for three years after its release. We believe that this will give all users of the open source version enough time to adjust to the new licensing terms.

There are also no changes to Qt for Device Creation, which remains a commercial-only product.

Changes for commercial license holders?

It’s important to note that there are no changes to the commercially licensed version of Qt. But, we are convinced that these changes to the open source version will result in indirect benefits also for our commercial customers.

We believe these changes to lead to a better and more feature-rich Qt. This is due to the fact that the previously commercial only parts of Qt for Application Development will receive much broader testing and hopefully also contributions from the ecosystem. In addition, this change will help us extend the investments of The Qt Company into Qt and allow The Qt Company to focus more of its investments into the core part of the product.

Qt for Start-Ups

Over the last years, we have heard comments from many small companies and start-ups telling us that they would love to use the commercial version of Qt, but can’t afford the price of a full license. For these companies, we will in the coming months introduce a commercial start-up license for Qt for Application Development. This reduced-price offering will be limited to small companies and start-ups with annual revenue less than $100K.

Summing it all up

This change is the last step in a process we started about 1.5 years ago when we announced the one unified web site (www.qt.io) for Qt and that certain parts of Qt will only be available under LGPLv3 in the future. With this change, we can now fully unify our product offering. In the future, we will have one product called Qt for Application Development that comes with both commercial and open source licensing options.

The new licensing of the open source version of Qt is now much better aligned with our vision for Qt and the ecosystem around it. It is focused around the idea of a growing ecosystem where the open source version helps us extend the outreach and set of addressable devices for Qt application developers, and the commercial version generates the revenue to push the development of Qt as a product forward.

Feel free to also have a look at the corresponding announcement from KDE.

The post New agreement with the KDE Free Qt Foundation and changes for the open source version appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1Pr0y8H

Qt 5.6 Alpha released

A couple of weeks ago, we took our first steps towards the Qt 5.6 release.

One of the most important achievements was to put our new CI (continuous integration) system into use. This system has been developed from the ground up over the last 8 months as a replacement for the older, Jenkins-based CI system that we have been using so far. The old system was suffering from a lot of problems, leading to very long turn-around times to get individual patches integrated into Qt. The new system is both more stable and significantly faster. It also simplifies adding new repositories to the CI system, and is a lot more flexible in handling multiple branches. This will help both our development work as well as our release process.

With the new CI system in production, we then created the 5.6 branch from our development code base. After some stabilization work on the code base, and adjustments to our new CI system, we now have a first set of source packages for Qt 5.6 available for you to try out and play around with. Apart from many bug fixes, there are a lot new features available in Qt 5.6. If you are interested in the details, please have a look at our 5.6 wiki page.

Our focus for the coming weeks will now be to create the Qt 5.6 beta that will also be distributed in the form of binary packages. Our goal is to create the binary packages directly from our CI system, and not as a separate step afterwards. This will significantly reduce the turn-around time for creating new packages, thus making is faster and easier to create release packages in the future.

As always, you can get the alpha packages from our download page or from your Qt Account. We would like to encourage everybody to check them out, play around with them and give us feedback in terms of bug reports.

The post Qt 5.6 Alpha released appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1JP6OF5

Qt 5.5 Released

It is my pleasure to announce that Qt 5.5 has been released today. Over the last 6 months, we’ve been working hard to create a great release for you.

As a result, close to 1500 reported bugs have been fixed during this period, and we’ve implemented numerous performance improvements throughout the whole stack. We’ve filled a couple of holes in our cross platform offering, bringing better feature parity between the platforms in areas such as Multimedia and Bluetooth.

We have invested lots of efforts to make sure Qt 5.5 is ready for Windows 10 once it gets officially released by Microsoft. That Qt is running on top of the new WinRT APIs on Windows 8 already since Qt 5.3 gave us a great basis for those efforts. With this we are confident that we can fully support Windows 10 as soon as it is being made available with a Qt 5.5.x patch release.

Linux packages are now being built on RedHat Enterprise Linux, allowing to cover a wider range of Linux distributions (from RHEL 6.6 up to Ubuntu 15.04) with one set of binaries.

A lot of work has been put into the version for Mac OS X, where we now use Apple’s Secure Transport layer to enable SSL functionality, support Bluetooth and Bluetooth LE, support Qt WebView and fixed many issues with Qt Multimedia.

Simplified Product Offering

Another change coming with Qt 5.5, is a greatly simplified product structure. There are now three versions of Qt available.

Qt for Application Development is our commercial offering that allows you to create applications for all desktop and mobile platforms that Qt supports. It comes with full support and our flexible commercial licensing.

Qt for Device Creation is the second commercial product. It targets the creation of embedded devices, and comes with a lot of tooling and support to make this as easy as possible. Of course with full support and our flexible commercial licensing as well.

And finally, we have Qt Open Source, our open source version that you can use under the terms of the LGPL (version 2.1 and/or version 3) or GPL.

For more details about this new product offering have a look at our new product pages on qt.io .

New Functionality

As always, Qt 5.5 comes bundled together with the latest version of Qt Creator and a large amount of new functionality. Let me highlight some of them in this blog.

Bluetooth

The Bluetooth LE API that got introduced as a Technology Preview with Qt 5.4, is now final and supported on Android, Mac OS X and iOS in addition to the existing backends on Linux.

Graphics

With Qt’s root being a graphical toolkit, we have always had a strong focus on graphics. A good integration with OpenGL has been available since Qt 2 times. This integration has mainly focused on low level enablers and classes.

With Qt 5.5, we now take a large step forward, adding two new modules that greatly extend our set of 3D APIs:

Qt Canvas 3D is a new module that makes it very easy to directly use WebGL code from within Qt Quick. The module existed as a Technology Preview in Qt 5.4. We’ve taken the time since then to mature it, and I’m happy to now have it as a fully supported module inside the Qt frameworks. Qt Canvas 3D implements a WebGL-like API for Qt Quick, and can be used both with low level WebGL code or in conjunction with JavaScript frameworks such as three.js, making the handling of 3D content inside Qt Quick trivial.

The other new module is Qt 3D, available as a Technology Preview for Qt 5.5. Qt 3D existed as a library during Qt 4 times, but has now undergone some major rework to make it fit to the world of modern OpenGL.

Qt 3D takes our OpenGL support a large step forward making it much easier to integrate 3D content into Qt applications. The module comes with both C++ and QML APIs. For more details what Qt 3D 2.0 brings, you can check the Qt 3D documentation and the KDAB guest blog post. Being a Technology Preview, the module still has some rough edges. However, check out the Qt 3D game demo that V-Play managed to create already with the tech preview. 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.

Using OpenGL on Windows has always been somewhat problematic as good drivers are not available in all installations by default. Qt 5.5 helps solve this problem by switching dynamically between using the OpenGL driver or the ANGLE emulation layer implementing OpenGL on top of DirectX.

Qt Location

Another new module that now found it’s way to Qt 5.5 as a Technology Preview is Qt Location. Qt Location adds mapping, geocoding, routes 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. We currently support Nokia Here, Mapbox and Openstreetmap. Check out the examples in documentation.

Qt Quick

A lot of work has gone into improving Qt Quick. The QML and JavaScript engine now supports JavaScript typed arrays. In Qt Core, we added support for properties and invokable methods to Q_GADGETs, making it much easier to expose your own value based classes in QML. Qt Quick has gotten improvements to make Flickable and PinchArea work better on Mac OS X and iOS.

The Enterprise Controls have been folded into Qt Quick Controls and are now also available in the open source version. A TreeView control has been added to complete the set of controls required for creating desktop applications.

Qt Multimedia

A lot of work has also gone into Qt Multimedia. On Linux, we have now added gstreamer 1.0 support and lots of bugs have been fixed for the other platforms. Camera support has been greatly improved. The new Video filtering framework is a great new feature that allows the integration of frameworks, such as OpenCL or CUDA with VideoOutput elements.

Watch how Qt Multimedia with real-time video/camera integrates with the computer vision library (OpenCV) to create a real-time pattern recognition application that identifies speed signs on this short road trip. Further functionality could be added to this demo by, for example, displaying a warning if the vehicle’s speed exceeds the last recognized sign.

Qt WebEngine

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.

Other Improvements

Of course, there are a lot of other improvements and new features in Qt 5.5. Please have a look at the wiki for all the details.

Deprecated Modules

With all these new features coming, some older ones are being deprecated, namely Qt WebKit, Qt Quick 1 and Qt Script. 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. For most uses cases, the new replacement modules should be more suitable and provide better functionality than the replaced ones.

Learn More about Qt 5.5

To ease you into Qt 5.5, we have scheduled 2 LIVE webinars (July 2nd & July 3rd) so you can hear first hand what is new in Qt 5.5. Please make sure to register here: http://ift.tt/1NwC26t.

Learn Even More at Qt World Summit 2015

Registration for the Qt World Summit 2015 (Oct 5-7, Berlin) is open. This is the main global Qt event where Qt experts from The Qt Company and the community will deliver 50+ technical and strategic sessions. Qt World Summit will give you the knowledge you need to kick start your Qt development project as well as provide you with the insight and tips and tricks necessary to make sure your Qt product is successful. Make sure to register today and take advantage of the Early Bird pricing (SAVE EUR 70) ending July 13th and/or learn about group discounts: http://ift.tt/1ARpViz.

Thanks!

I’d like to take the opportunity to thank everybody who helped develop and create Qt 5.5. The release wouldn’t have been possible without the hard work of many people in the community and from The Qt Company. A special thanks goes to KDAB, who invested lots of time and efforts to make the Qt 3D Technology Preview ready for Qt 5.5.

Now go and get Qt 5.5 from your Qt Account portal or from qt.io/download. Enjoy!

The post Qt 5.5 Released appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1KqT9XK

Happy 20th Anniversary Qt!

Today, I am really happy to celebrate Qt’s 20th anniversary. On May 20, 1995, the first Qt version, 0.90, was released! I am really glad to have been part of the Qt journey since 1997, when I first got in touch with Qt through the KDE project.

Qt immediately fascinated me. It not only made development of applications a lot easier than anything I’d seen before, but it was actually fun to develop with. So I started doing quite a bit of work where I used Qt within the KDE project. In the spring of 2000, I got so lucky to be offered a position at Trolltech. I joined the company a few months later and moved to Norway.

Working with the founders of Qt, Eirik Chambe-Eng & Haavard Nord, as well as the other people we had in the company at that time was an amazing experience. Over the next few years, Trolltech grew from around 15 to 250 people. We developed new versions of Qt, worked on a mobile phone stack called Qtopia, and also started to extend Qt from being a toolkit to develop UIs to a much more comprehensive development framework, including all required tools.

From the beginning, Qt has been released with both open source and commercial licensing options. Over the years, we have worked on expanding this model, and nowadays, Qt is actually developed as an open source project. In this sense Qt is actually in a rather unique position, having a strong ecosystem with passionate people, as well as a commercial entity behind it, which backs up and funds most of the development.

The last 20 years have been an exciting ride for Qt. I’ve had the pleasure to be part of most of these, and I have had the great opportunity to work with the many passionate and driven people all with the common goal to make Qt a leading technology. I am pleased to know that some of the world’s most innovative companies we know today have built their product with Qt.

Thanks to all the amazing colleagues at Trolltech, Nokia, Digia and The Qt Company who have believed in our technology and have put their best efforts forward to make Qt the best cross-platform software development framework. To our community of engaged contributors, developers and Qt fans, we wouldn’t be around without you. I am grateful for your passion, your will to spread Qt everywhere, and your selfless drive to develop Qt together with us.

A big special thanks to our partners and ecosystem comrades who have been with Qt since the beginning. Thanks to you for sticking with us and for guiding us through the ups and downs.

Qt was created by developers for developers. Making developers’ lives easier was the reason for its birth and what Eirik and Haavard wanted to provide to the development world. This goal has not changed and throughout Qt’s history it has remained at the core. Code less. Create more. Deploy everywhere.

Please join me in wishing Qt a wonderful anniversary and a big congratulations to the Qt ecosystem! Here’s to 20 more years!

The post Happy 20th Anniversary Qt! appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1FAj67v

Qt 5.5 Beta Released

It’s my pleasure to announce the release of the Qt 5.5 Beta today.

Since we released Qt 5.4, a lot of effort has been put into fixing bugs reported both by our customers and the community. With this in focus, we went through a couple weeks of dedicated bug fixing here at The Qt Company. During this time, we worked 100% on fixing as many open issues as possible. Although the focus of Qt 5.5 has been on stability and performance, it also has some interesting new features and functionality to offer.

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.

You can download the Qt 5.5 Beta from your Qt Account portal or via download.qt.io. Please try them out and report back to us any issues you might find, so that we can make Qt 5.5 as awesome as possible.

The post Qt 5.5 Beta Released appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1EKiGpk

One Qt Site Unification Completed

Almost a year ago, we started a process to bring the open source web site on qt-project.org and the commercial web pages on qt.digia.com together and thus create one place where all information about Qt could be found. The plans were initially discussed last June with the Qt developer community at the Qt Contributor Summit in Berlin.


The main reasons for starting this project are outlined in my blog post from last August. In short, the split representation of Qt on two unrelated web pages and presenting the same thing as two separate products was hurting both the Free Software Community as well as The Qt Company (or Digia at that time).


A couple of months later, in September we then launched the first phase of the project, the new web site on qt.io. As you know, since then things have gradually evolved, we moved more and more functionality away from both qt.digia.com as well as qt-project.org and into the new and unified web site. Just before Easter we managed to migrate the last of our user facing services over to qt.io.


qt-project.org still contains a few selected services. These are mainly things that are related to contributing to Qt, such as our gerrit. We will discuss further at the next Qt Contributor Summit whether to move them under the qt.io domain as well or not.


While the migration and unification of the existing content to the qt.io web site has now happened, this doesn’t mean that we are done with the work. We are aiming to provide a single sign-on solution through the Qt Account to all our services (forums, wiki, bug reporting, customer portal, etc). This work is still ongoing. Once completed, we believe it’ll greatly improve the experience of using qt.io and all related services. In addition, we are looking into providing additional value with the Qt Account by offering some integration into Qt Creator. We are currently discussing different ideas such as saving and restoring settings, forum and bugtracker integration as well as other items. As we move along with the planning, we will reach out to our users to validate the usefulness of these features and integration. I encourage you to give us feedback on this topic.


The unification project has not only been about our web presence. We have also started working on bringing the open source and commercial versions closer together from a packaging perspective. So far the open source, evaluation and commercial packages have been completely separated, even though there are large overlaps in the content. Bringing those together and having one way to install Qt helps us reduce our workload and thus provide higher quality packages to everybody. We will roll out a new online installer in the coming weeks that will be used to install both commercial (purchased) and open source packages. The new installer will start asking for a Qt Account login when installing, in order to recognize and present the right license to you and automatically install any commercial/enterprise add-ons that might come with your license.


Apart from the work around the Qt Account and packaging, our work related to the web site will from now on focus on incremental improvements. We would like to invite you all to give us your feedback on how you think we can improve things on qt.io.


I’d like to thank everybody who has been involved in the unification project. A lot of people at The Qt Company have helped with different parts and made sure the whole migration from the old systems went as smoothly as possible. I’d also like to thank all our users for their patience if something wasn’t quite as it should have been and for giving us feedback on where we need to improve.


The post One Qt Site Unification Completed appeared first on Qt Blog.






Source :- Qt Blog http://ift.tt/1Om5Yl5

Licensing of new modules in Qt 5.5

With the release of Qt 5.4, we added LGPLv3 as a licensing option to Qt. Some of the new modules released in Qt 5.4 (Qt WebEngine, Qt Canvas3D and Qt WebView) where made available under GPLv2+, LGPLv3 and commercial licensing terms. The reason was that we believe that this license combination is a better match than LGPLv2.1 for our objective of supporting Free Software while at the same time making sure we have the necessary funding to develop Qt further in the years to come. For more details, please check out the blog post from last summer.


Qt 5.5 is now coming closer, and we expect to have the Alpha release for it ready in February. While the focus of Qt 5.5 has been mainly on improving stability and fixing bugs, there will also be a couple of new modules added with the release. As with Qt 5.4, some of this new functionality is available under a LGPLv3/GPLv2+ and commercial licenses.


After discussing and agreeing with the main contributors of the modules in question, the KDE Free Qt Foundation and some of our main stakeholders, we consider this the best way to move forward. The new modules will be available under LGPLv3/GPLv2+ and commercial licensing terms. This allows us to make these modules available to the Free Software community, as well as being able to support and further develop them in the long term. The two new modules that will get added to Qt 5.5 under the new licensing terms are Qt 3D and Qt Location.


Qt 3D existed as part of the Qt Mobility APIs that Nokia did on top of Qt 4.8. Over the last two years, developers from our partner KDAB have put a lot of effort into refactoring the code base and making the API more flexible and suitable for the future. The API is now a powerful tool to integrate 3D content into Qt, featuring both C++ and QML APIs. Check out the series of blog posts from KDAB for more details about the APIs. KDAB endorses and supports to license this module under GPLv2+ and LGPLv3 for the open source version of Qt.


Qt Location is also a module that was part of the Qt Mobility APIs for Qt 4.8. As with Qt 3D it underwent lots of changes moving from Qt 4.8 to Qt 5, and is now also ready to become part of Qt 5. The API works in conjunction with the existing Qt Positioning module providing APIs for mapping, place search and navigation. It also comes with both C++ and QML interfaces.


The Qt Quick Enterprise Controls have so far been only available to commercial licensees. They offer a lot of really useful functionality on top of the regular Controls. With Qt 5.5, The Qt Company is going to contribute these to the open source Qt Quick Controls under LGPLv3/GPLv2+. This will affect the licensing of the Qt Quick Controls, and they will also now be available under LGPLv3, GPLv2+ and commercial terms. In addition to making the existing Enterprise Controls available to the Free Software community, we will also add a couple of new features. Amongst them is a fully functional TreeView, probably one the largest missing feature in Qt Quick Controls for the desktop platforms.


As we move along with releases, we expect to continue to license functionality under LGPLv3/GPLv2+ and commercial terms. It allows The Qt Company to grow its investments into new functionality in Qt and make it available to the Free Software community.






Source :- Qt Blog http://ift.tt/1zQM4eT