Qt 4.8.7 Released

I am happy to announce release of Qt 4.8.7 today bringing over 150 improvements and bug fixes. Qt 4.8.7 provides important security updates, better support for Mac OS X 10.10 and many requested error corrections. As a patch release, it does not add new functionality and maintains full compatibility with previous Qt 4.8.x releases.

A detailed list of the fixes and improvements in Qt 4.8.7 compared to Qt 4.8.6 can be found here.

Many users have already moved their active projects to Qt 5 and we encourage also others to do so. With a high degree of source compatibility, we have ensured that switching to Qt 5 is smooth and straightforward. It should be noted that Qt 4.8.7 provides only the basic functionality to run Qt based applications on Mac OS X 10.10, full support is in Qt 5.

Qt 4.8.7 is planned to be the last patch release of the Qt 4 series. Standard support is available until December 2015, after which extended support will be available. We recommend all active projects to migrate to Qt 5, as new operating systems and compilers with Qt 4.8 will not be supported. If you have challenges migrating to Qt 5, please contact us or some of our service partners for assistance.

The source packages and stand-alone installers for Qt 4.8.7 are available for download from Qt Account for commercial users and qt.io download server for open-source users. For Enterprise and Professional customers, the online installer can also be used for installing Qt 4.8.7.

One thing that is holding back our switch to Qt5 is the apparent necessity to switch to OpenGL ES (no more glBegin/glEnd etc…). While I understand that the latter are disencouraged, they are still being used in a lot of our code (especially in combination with display lists, they are not even necessarily slow…). Is there any way to be able to keep using them in Qt5?

You don’t need to switch to using OpenGL ES. There is a requirement that if you want to use Qt Quick 2, you need support for at least OpenGL 2 or OpenGL ES2. If you are doing custom OpenGL anyway, then there is nothing stopping you from getting an OpenGL Context in Qt 5 that supports the fixed function pipeline commands (glBegin,glEnd…). Even in the case that you are using QtQuick 2 (on a platform that has full OpenGL 2.0 support as a minimum), you can still request a Compatibility profile to use the fix function pipeline commands.
There is also the possibility that you were testing an ANGLE build of Qt 5 on Window, which only exposed OpenGL ES2. Qt for Windows can support both OpenGL ES2 and OpenGL 2.0+ (when available) now.

No special steps are necessary. By default Qt will request an OpenGL 2.0 compatible context, so the old fixed pipeline code you have will just work, as long as the machine has a graphics driver installed.