Qt Changelog

New in version 5.3.1

June 27th, 2014
  • QtCore:
  • QAbstractProxyModel:
  • Fixed QAbstractProxyModel::sibling to work in the same manner as the
  • Qt4 code used to behave. Previously, Qt5's implementation would treat
  • the row and column as positions in the source model instead of a
  • position in the proxy itself.
  • QtGui
  • Text:
  • [QTBUG-36083] Respect QFont::fixedPitch() for fallbacks when font
  • family cannot be matched.
  • [QTBUG-37190] Fixed crash when trying to load a font from invalid
  • data.
  • QtSql
  • QDB2 and QODBC
  • [QTBUG-39137] Fix error handling problem caused by unintialized variable
  • passed to SQLNumResultCols.
  • QPSQL
  • [QTBUG-12477] Fix PSQL column metadata.
  • QSqlQuery
  • Fix misbehavior of seek in special query positions BeforeFirstRow and
  • AfterLastRow. (commit 3e6e70bddd84536deaae69421d05785ae6ce28cd)
  • [QTBUG-33169] Fix for bindvalue(int) memory allocation problem.
  • QtWidgets
  • QMenu:
  • [QTBUG-38498] Accessibility: Menus are now read by screen readers
  • with more reliability.

New in version 5.3.0 (May 20th, 2014)

  • NEW FEATURES:
  • Qt Core:
  • Logging: You can now configure logging rules (i.e. which message types for which categories are printed) on the filesystem, in QtProject/qtlogging.ini. You can also using qCDebug and friends in a printf-style way, in addition to the streaming operator syntax.
  • Qt GUI:
  • Qt’s iOS plugin now implements support for input methods, spell checking and word completion.
  • Embedded Linux platform specifics (plugins like eglfs and linuxfb) are now documented.
  • New classes QPageSize and QPageLayout to manage PDF and printed document page sizes and layout.
  • QPdfWriter uses QPageSize and QPageLayout, can now set page orientation and paint resolution.
  • EGL support is now able to cope with OpenGL ES 3.0 and desktop OpenGL versions
  • Qt Print Support:
  • New QPA class QPlatformPrintDevice to abstract platform print device hardware, new implementations for Windows, Mac and Linux.
  • QPrinterInfo provides more details on the print device hardware
  • QPrinter uses QPageSize and QPageLayout to improve page layout handling
  • QPrinter has had the behaviour of most functions standardised across all platforms (as detailed below)
  • Mac can now have each painted page with a different orientation, and can set Collate Copies and Document Name.
  • Mac and Windows now support setting Document Creator and Duplex Mode
  • Mac and Linux now support using Windows Page ID (DMPAPER values)
  • Qt Quick:
  • Introduced QQuickWidget for easy and flexible integration of Quick views with QWidget-based UIs.
  • MultiPointTouchArea will either handle the mouse as a single touch point, or allow mouse events to pass through if mouseEnabled is false
  • Qt Quick Controls:
  • The Calendar control was added. Calendar allows selection of dates from a grid of days, similar to QCalendarWidget.
  • MenuStyle and MenuBarStyle introduced.
  • Qt Quick Dialogs:
  • The QML implementations are now built with QtQuick.Controls (and therefore the source is moved from qtdeclarative.git to qtquickcontrols.git), which enables adding some features such as folder shortcuts (both standard locations and bookmarked locations), and comboboxes for file filters and writing systems.
  • There is a new Dialog type which provides only the standard buttons, so that you can construct dialogs with arbitrary contents, such as various types of input dialogs and pickers.
  • Qt Network:
  • Support for the SPDY protocol (version 3.0) was added.
  • XCB/X11 platform plugin:
  • Support for XInput2 smooth scrolling. The plugin now listens for XInput2 scrolling events which means it will respond to high resolution smooth scrolling events on devices where they are supported. Currently this is mainly touch pads.
  • iOS platform plugin:
  • Support for input methods added.
  • Support for word completion and spell checking added.
  • Support for QClipboard added.
  • “Hide keyboard” gesture added.
  • Qt Multimedia:
  • A new QCameraInfo class was added. It allows to get static information about cameras such as physical position and sensor orientation. In addition, the class provides a way to list available cameras on the system and deprecates QCamera::availableDevices().
  • Qt WebKit:
  • Support for HTML5 Video Track. Subtitles and captions for HTML5 video.
  • Support for Indexed DB API. See http://www.w3.org/TR/IndexedDB/
  • Improved support for Mac HiDPI mode
  • Qt Positioning:
  • The module has been ported to Android and iOS. Android supports position and satellite updates while iOS supports position updates only.
  • Qt Bluetooth:
  • The module has been ported to Android.
  • Qt QML:
  • Profiling support for V4, using the same event types as the QML profiler.
  • Profile or debug multiple QML engines in one application with the new EngineControl debug service.
  • NEW MODULES:
  • Enginio A Backend-as-a-Service solution to ease the backend development for connected and data-driven applications.
  • Qt WebSockets An add-on module that implements the WebSocket standard (RFC 6455 – http://tools.ietf.org/html/rfc6455 ).
  • QT CREATOR 3.1:
  • Editors:
  • Better support of multiple editors/windows
  • C++:
  • Experimental new Clang based code model as opt-in
  • iOS:
  • Better support of multiple devices
  • QML:
  • Better Qbs support
  • Better defaulting/import resolving
  • Javascript profiler frontend (V4 only), integrated in QML profiler “events” and “timeline” views.
  • Debugger:
  • Improved LLDB support
  • Removed support for GDB builds without Python
  • Devices:
  • SSH parameters now available as QtC variables, e.g. for use in custom run configs
  • INSTALLATION:
  • New reference installers:
  • Qt for WinRT
  • Qt for Windows Phone
  • New target binaries:
  • Qt for MSVC 2013 (32 & 64 bit OpenGL and Angle)
  • DEPRECATED:
  • Mac OS 10.6 support is deprecated and scheduled for removal in Qt 5.4.

New in version 5.3 RC (May 8th, 2014)

  • NEW FEATURES:
  • Qt Core:
  • Logging: You can now configure logging rules (i.e. which message types for which categories are printed) on the filesystem, in QtProject/qtlogging.ini. You can also using qCDebug and friends in a printf-style way, in addition to the streaming operator syntax.
  • Qt GUI:
  • Qt’s iOS plugin now implements support for input methods, spell checking and word completion.
  • New classes QPageSize and QPageLayout to manage PDF and printed document page sizes and layout.
  • QPdfWriter uses QPageSize and QPageLayout, can now set page orientation and paint resolution.
  • EGL support is now able to cope with OpenGL ES 3.0 and desktop OpenGL versions
  • Qt Print Support
  • New QPA class QPlatformPrintDevice to abstract platform print device hardware, new implementations for Windows, Mac and Linux.
  • QPrinterInfo provides more details on the print device hardware
  • QPrinter uses QPageSize and QPageLayout to improve page layout handling
  • QPrinter has had the behaviour of most functions standardised across all platforms (as detailed below)
  • Mac can now have each painted page with a different orientation, and can set Collate Copies and Document Name.
  • Mac and Windows now support setting Document Creator and Duplex Mode
  • Mac and Linux now support using Windows Page ID (DMPAPER values)
  • Linux now requires CUPS 1.4 (RHEL 5 no longer supported)
  • Qt Quick:
  • Introduced QQuickWidget for easy and flexible integration of Quick views with QWidget-based UIs.
  • MultiPointTouchArea will either handle the mouse as a single touch point, or allow mouse events to pass through if mouseEnabled is false
  • Qt Quick Controls:
  • The Calendar control was added. Calendar allows selection of dates from a grid of days, similar to QCalendarWidget.
  • MenuStyle and MenuBarStyle introduced.
  • Qt Quick Dialogs:
  • The QML implementations are now built with QtQuick.Controls (and therefore the source is moved from qtdeclarative.git to qtquickcontrols.git), which enables adding some features such as folder shortcuts (both standard locations and bookmarked locations), and comboboxes for file filters and writing systems.
  • There is a new Dialog type which provides only the standard buttons, so that you can construct dialogs with arbitrary contents, such as various types of input dialogs and pickers.
  • Qt Network:
  • Support for the SPDY protocol (version 3.0) was added.
  • XCB/X11 platform plugin:
  • Support for XInput2 smooth scrolling. The plugin now listens for XInput2 scrolling events which means it will respond to high resolution smooth scrolling events on devices where they are supported. Currently this is mainly touch pads.
  • iOS platform plugin:
  • Support for input methods added.
  • Support for word completion and spell checking added.
  • Support for QClipboard added.
  • “Hide keyboard” gesture added.
  • Qt Multimedia:
  • A new QCameraInfo class was added. It allows to get static information about cameras such as physical position and sensor orientation. In addition, the class provides a way to list available cameras on the system and deprecates QCamera::availableDevices().
  • Qt WebKit:
  • Support for HTML5 Video Track. Subtitles and captions for HTML5 video.
  • Support for Indexed DB API. See http://www.w3.org/TR/IndexedDB/
  • Improved support for Mac HiDPI mode
  • Qt Positioning:
  • The module has been ported to Android and iOS. Android supports position and satellite updates while iOS supports position updates only.
  • Qt Bluetooth:
  • The module has been ported to Android.
  • Qt QML:
  • Profiling support for V4, using the same event types as the QML profiler.
  • Profile or debug multiple QML engines in one application with the new EngineControl debug service.
  • NEW MODULES:
  • Enginio A Backend-as-a-Service solution to ease the backend development for connected and data-driven applications.
  • Qt WebSockets An add-on module that implements the WebSocket standard (RFC 6455 – http://tools.ietf.org/html/rfc6455 ).
  • QT CREATOR 3.1:
  • Editors:
  • Better support of multiple editors/windows
  • C++:
  • Experimental new Clang based code model as opt-in
  • iOS:
  • Better support of multiple devices
  • QML:
  • Better Qbs support
  • Better defaulting/import resolving
  • Javascript profiler frontend (V4 only), integrated in QML profiler “events” and “timeline” views.
  • Debugger:
  • Improved LLDB support
  • Removed support for GDB builds without Python
  • Devices:
  • SSH parameters now available as QtC variables, e.g. for use in custom run configs
  • INSTALLATION:
  • New reference installers:
  • Qt for WinRT
  • Qt for Windows Phone
  • New target binaries:
  • Qt for MSVC 2013 (32 & 64 bit OpenGL and Angle)
  • DEPRECATED:
  • Mac OS 10.6 support is deprecated and scheduled for removal in Qt 5.4.

New in version 5.2.1 (February 5th, 2014)

  • IMPORTANT BEHAVIOR CHANGES:
  • [QTBUG-34345][QTBUG-26008][QTBUG-26430] QPrinter no longer allows you to set an invalid printer name.
  • [QTBUG-34141] Parsing of Qt::ISODate by QDate::fromString() and QDateTime()::fromString() is not as lenient as before, the date component separators are now required to be non-numeric. This means a string like "2000901901" will no longer be recognized as a valid ISO Date, but "2000/01/01" will still be even though it doesn't strictly meet the ISO format of "2000-01-01".
  • LIBRARY:
  • QtCore:
  • [QTBUG-35069] Fixed a bug that caused negative number input using '-' to be rejected because the current locale uses U+2212. QLocale::toString() as well as QIntValidator and QDoubleValidator now accept both '-' and U+2212, as well as the locale minus sign. QString also accepts '-' and U+2212.
  • Fixed sign conversion warnings in code using QMetaTypeId.
  • QTemporaryDir: Fixed a bug in QTemporaryDir name generator that dramatically reduced randomness of the name.
  • QThread: [QTBUG-34840] Fixed handle leaks on Windows.
  • QtGui:
  • [QTBUG-35421] Fixed crash when sending accessibility updates when the corresponding widget does not have a corresponding QAccessibleInterface. This showed on Mac for example with QStatusBar.
  • Qt's generic font database now adds OpenType fonts (.otf).
  • QKeySequence: [QTBUG-24406] return Qt::Key_unknown with invalid modifiers on OS X
  • Text: [QTBUG-35740] Fixed regression when shaping some strings containing characters from multiple fonts.
  • QtPrintSupport:
  • [QTBUG-34700][QTBUG-35500] Fixed bugs that caused QtPrintSupport not to report the correct the paper sizes on Windows and on OS X.
  • QtSql:
  • IBase support: [QTBUG-33345] Custom port numbers are now supported; [QTBUG-13435] Fixed the internal state of IBase driver after a failed open call.
  • MySQL / MariaDB support: [QTBUG-31124] Fixed handling of fractions of second.
  • Oracle support: [QTBUG-34794] Fixed the compilation
  • Sqlite support: [QTBUG-24200] Fixed handling of fractions of second; [QTBUG-35186] Fixed evaluation of driver options
  • QtTestLib:
  • [QTBUG-34630] The (default) plain text logger on Windows now logs to either the system debug log (in case no console is open), or stdout, not both.
  • QtWidgets:
  • QSpinBox: [QTBUG-20691] Entering positive values with the '+' prefix is now
  • allowed.
  • PLATFORM SPECIFIC CHANGES:
  • Android:
  • [QTBUG-34984] Added workarounds for OpenGL bugs on Samsung Galaxy Tab 3.
  • OS X:
  • [QTBUG-34411] Implemented QMainWindow::setUnifiedTitleAndToolBarOnMac.
  • X11 / XCB:
  • [QTBUG-32683] Fixed a bug that caused Qt applications to think the screen DPI had changed when it had not, after connecting or disconnecting monitors.
  • TOOLS:
  • Configure & build system:
  • [QTBUG-34949] EGL works with desktop OpenGL now
  • A build from source will not install the Qt DLLs into lib/ any more. The canonical location is bin/.
  • qmake:
  • [QTBUG-35530] Fixed the detection of multiple VS installations.
  • [QTBUG-35610] Fixed the generation of VS 2010 project files.
  • [QTBUG-32412] Numerous fixes to Windows PDB file handling.
  • [QTBUG-3883] Fixed make distclean not removing static library targets.
  • Added makespec for clang using libc++ on Linux.
  • qmake will not look for mkspecs/ directories in project trees any more. Use .qmake.conf and/or .qmake.cache to "anchor" project roots.

New in version 5.2 (December 12th, 2013)

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

New in version 5.2 Beta 1 (October 25th, 2013)

  • Enhanced Internals — More Power and Flexibility:
  • Qt 5.2 introduces a new Scene Graph renderer. This new renderer improves the graphics performance of Qt Quick even further, freeing up more CPU time for the application and using the GPU in a much more efficient way.
  • The former JavaScript engine, V8, which was used internally by Qt Quick, has been replaced with a completely new, Qt-specific engine. This new engine is now designed from scratch for the use case of QML and Qt Quick. It internally operates directly with Qt data types, avoiding many costly conversions. It has both a JIT and an interpreter which greatly extends the range of platforms and operating systems it can support. The interpreter also allows us to use the engine on iOS and comply with iOS AppStore policies.
  • Some of the main new features of Qt 5.2 include:
  • Qt Bluetooth: supported on Linux with Bluez 4.x and Blackberry
  • Qt NFC: supported on Blackberry
  • Qt Positioning: supported on all platforms using NMEA data, and using GeoClue on Linux
  • Qt Windows Extras: Integrate with native code on Windows
  • Qt Mac Extras: Integrate with native code on Mac OS X
  • Qt Android Extras: Integrate with native code on Android
  • Improved time zone and locale support with QTimeZone and QCollator
  • Enhancements to multiple Qt Widgets and a new one, the QKeySequenceEdit class
  • Animations for QML that can not be blocked by high loads on the main thread
  • Some new features and mobile specific controls for Qt Quick Controls
  • Accessibility is now fully supported on all desktop platforms and basic support on Android.

New in version 5.2 Alpha (September 30th, 2013)

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

New in version 5.1.1 (September 3rd, 2013)

  • GENERAL:
  • Add support for Visual Studio 2013
  • Remove obsolete 'register' C keyword
  • Speed up font database loading with fontconfig
  • [QTBUG-32284] Fix incomplete override of QIODevice::open in QProcess and QLocalSocket
  • LIBRARY:
  • QtCore:
  • Add basic conversion functions from QVariant(QJsonValue)
  • Fix crash when re-creating QThreadData after initially destroying it
  • Fix the host_bins variable in the QtCore pkg-config file
  • QUrl stringprep: fix handling of U+0080: it's prohibited
  • QUrl stringprep: avoid recalculating the surrogates we already know
  • QUrl stringprep: fix handling of prohibited characters
  • QUrl stringprep: fix case folding from non-BMP to BMP
  • QUrl stringprep: recalculate the current position if the size changes
  • [QTBUG-24345] Prevent negative size in QBitArray, QVector and QVarLengthArray ctors
  • [QTBUG-25732] Mention QRect's int min/max constraints in detailed description
  • [QTBUG-29391] fix infinite loop in QProcessPrivate::drainOutputPipes
  • [QTBUG-29391] QWinOverlappedIoNotifier: fix race condition
  • [QTBUG-31341] Fix watch of files/folders with special characters
  • [QTBUG-31606] Fix dead lock in the Qt event handling
  • [QTBUG-31926] Fix the number precision in QJsonDocument.toJson() again
  • [QTBUG-32100] Remove default argument from declarations of qHash as friend
  • [QTBUG-32314] QDir::mkpath shouldn't fail if parent directory denies access
  • [QTBUG-32354] fix endless loop in QProcess/Win drainOutputPipes
  • [QTBUG-32500] Ensure that the user codecs are listed in QTextCodec::availableCodecs
  • QtDBus:
  • [QTBUG-27973] Fix disconnectFrom{Peer,Bus} when the connection failed
  • [QTBUG-31932] Don't crash if the relayed signal was emitted from the wrong thread
  • [QTBUG-32374] Fix QDBusAbstractInterface::isValid() for peer connections
  • QtGui:
  • Restore smooth-scaled drawing of 0.5x-2.0x scaled glyphs in the GL engine
  • QIcon: Avoid fetching twice the same pixmap
  • Fix FBO restoring in QOpenGLTextureGlyphCache
  • [QTBUG-28284] Set projection matrix for systems with OpenGL 3.1
  • [QTBUG-31443] QPdfWriter: Fix setting of paper size
  • [QTBUG-32193] REG: Fix crash when mixing projected/unprojected text painting
  • [QTBUG-32433] Detect popup window correctly in modal window blocked handling
  • QtNetwork:
  • Correct algorithm for digest auth when using the CONNECT verb
  • Add reconnect attempts in more cases in QHttpNetworkConnectionChannel
  • [QTBUG-32404] HTTP internals: do not access reply that was deleted already
  • [QTBUG-32534] QHttpMultiPart: fix data corruption in readData method
  • QtPrintSupport:
  • [QTBUG-31790] Initialize UI of widget-based dialog.
  • QtWidgets:
  • Display sizegrip on QMdiSubWindows, even on OS X 10.7 and later
  • Check if widget inherits from QTextEdit when drawing the frame
  • Fix QWidget::isActiveWindow for window containers
  • Hide placeholder text when QLineEdit has preedit text
  • [QTBUG-19036] Make *ItemBoundingRect modes work with custom shapes.
  • [QTBUG-29945] Fix dropshadow and blur graphics effects
  • [QTBUG-31044] QDockWidget: Keep position when undocking
  • [QTBUG-31569] If a QWidget is ignored for auto-quit, ignore its corresponding QWindow
  • [QTBUG-31664] Recognize separator item in QMenu
  • [QTBUG-31904] Fix rotation of text in vertical QDockWidget titlebars in QFusionStyle
  • [QTBUG-32054] Set correct cell when selecting custom color cell with arrow keys
  • [QTBUG-32061] Fix the cursor position of an empty QLineEdit with a placeholder text
  • [QTBUG-32177] Search toplevel when setting the active window from focus window
  • [QTBUG-32260] Consider virtual screen when determining dock widget visibility
  • PLATFORM SPECIFIC CHANGES:
  • Qt for Linux:
  • XCB: Don't use Xlib's XBell() function
  • XCB: Append 0-character to atom name string
  • Resolve modifier mask conflicts on X11
  • Fix system tray icon on X11
  • [QTBUG-31418] Fix for when we don't have XSettings
  • [QTBUG-32274] Fix handling of non-latin1 shortcuts
  • Qt for Mac:
  • Disable window restoration for the Mac font panel
  • Simplify qt_mac_cgimage_to_nsimage code
  • QMacStyle: fix auto-default button animation
  • Make the macx-xcode spec a wrapper around the default spec
  • Scope cached Mac SDK tool values by mkspec
  • Further followup to Q_OS_MACX changes
  • Fix QSpinBox clipping issue on Mac when frame=false
  • QMacStyle: enable scroll style changes for non-QScrollBars
  • Support Mac key equivalent Cmd+Period
  • Re-establish platform menu QObject hierarchy
  • [QTBUG-28336] Fixed broken prl files in debug-and-release framework builds of qt
  • [QTBUG-31477] Let Cocoa pick the right pixmap for menu item icons
  • [QTBUG-31532] Don't update the menubar when popups are shown
  • [QTBUG-31619] Cocoa save file dialog behavior fix
  • [QTBUG-31819] Fix shared color panel usage
  • [QTBUG-31562] Fix for OS X QFileDialog showing bundle as directory
  • [QTBUG-32440] Avoid a potential crash in unignoredChildren
  • [QTBUG-32831] Don't release the printer after using it to change a property
  • Qt for Windows:
  • Clear window under mouse in destruction of platform window
  • Prevent activation of windows with Qt::WindowDoesNotAcceptFocus
  • Better errorhandling for the fontengine on WINCE
  • Windows: Synthesize expose event for shrinking windows
  • Windows font database: Resolve aliases for extra fonts
  • Bugfix QDesktopServices on Windows
  • ActiveQt: Pass native parent handle property from widget to widget window
  • REG: Fix character size when exporting PDF on Windows
  • Fix crash caused by ~QWindowsWindow flushing the event queue
  • Show native file dialog on Windows XP Professional x64 Edition
  • Fix detection of synthesized mouse events for MSVC / 64bit
  • Display a message box if platform plugin cannot be found
  • Fix auto-enabling of windows style
  • Fixes QKeyEvent::count() on Windows
  • Qt for BlackBerry:
  • Disable xkbcommon when building for QNX from Windows
  • [QTBUG-32385] Handle Qt::WindowDoesNotAcceptFocus correctly
  • Qt for Android:
  • Get SSL root certificates from TrustManager
  • Adjust to new SDK layout on Windows
  • Make PCRE's JIT work on Android devices
  • Qt for iOS:
  • iOS: Make sure we're deleting framebuffers in the right context
  • TOOLS:
  • configure:
  • [QTBUG-5366] Complain about bad arguments to -make/-nomake
  • [QTBUG-21778] Catch accidental use of -no-make
  • [QTBUG-28763] Don't enable EGL support if OpenGL is disabled
  • cmake config files:
  • Use absolute path in the /usr move workaround if -libdir is specified
  • Always use forward slashes in paths passed to cmake
  • Make clients use the QT_NO_DEBUG flag when using QtCore in release mode
  • [QTBUG-32134] Add path to the headers in frameworks to the include dirs
  • [QTBUG-32466] Don't check for the existence of private include directories
  • qmake:
  • [QTBUG-5301] basic manifest tool support in vc(x)proj generator
  • [QTBUG-19352] Resolve output of .depend_command relative to $$OUT_PWD
  • [QTBUG-29826] Only add the res_file to the generated files if there is no rc_file
  • [QTBUG-29988] VPATH resolution: don't crash when $(FOO) expands to nothing
  • [QTBUG-30993] Changed project dependencies for solution files
  • [QTBUG-31877] Make $$list() more backwards-compatible regarding backslashes
  • [QTBUG-31975] MANIFEST:NO is not written to vcproj
  • [QTBUG-32326] Escape paths coming from prl files

New in version 5.1.0 (July 3rd, 2013)

  • GENERAL:
  • General Improvements:
  • Q_PROPERTY gained a MEMBER attribute that let you associate a property to a class member without requiring to explicitly writing a getter or a setter
  • IMPORTANT BEHAVIOR CHANGES:
  • QtWidgets:
  • [QTBUG-8836] QAbstractItemView now allows manual deselect in SingleSelection mode (with control modifier)
  • QtCore:
  • The serialization behavior for QDateTime has reverted to pre-Qt 5. This means that the QDataStream version will be 14 with Qt 5.1.
  • LIBRARY: :
  • QtCore:
  • QRect: Added marginsAdded(), marginsRemoved() and operators +, -, +=, -= taking a QMargins object allowing for conveniently adding or removing margins.
  • QMargins: Added operators for adding and subtracting QMargins objects, multiplication and division for int/qreal and unary minus.
  • QMessageAuthenticationCode: New class for hash-based message authentication code added to QtCore.
  • QRegularExpression: It's now possible to know the names of the named capturing groups inside the pattern string, as well as the numerical index of each named capturing group.
  • QPointer: It is now possible to create a QPointer with a const templated type.
  • QtGui:
  • QOffscreenSurface: New class for rendering graphics using OpenGL in an arbitrary thread without needing to use a hidden QWindow.
  • QtNetwork:
  • QNetworkAccessManager / QNetworkReply: Add a new encrypted() signal so that applications can perform additional checks on the certificate chain.
  • QSslSocket: Support for sending intermediate certificates when QSslSocket is used as a server, and when using client certificates.
  • HTTPS internals: SSL sessions are re-used by default.
  • QHostInfo: Allow QHostInfo::lookupHost() with no receiver to warm the DNS cache.
  • QtWidgets:
  • QGraphicsView: Added function rubberBandRect() and signal rubberBandChanged.