blob: 7cd655e3845d255df9c655e39450a33ee4a8a01a [file] [log] [blame]
Qt 5.9 introduces many new features and improvements as well as bugfixes
over the 5.8.x series. For more details, refer to the online documentation
included in this distribution. The documentation is also available online:
http://doc.qt.io/qt-5/index.html
The Qt version 5.9 series is binary compatible with the 5.8.x series.
Applications compiled for 5.8 will continue to run with 5.9.
Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker:
https://bugreports.qt.io/
Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.
****************************************************************************
* Important Behavior Changes *
****************************************************************************
* qmlInfo now reports messages with a QtMsgType of QtInfoMsg instead of
QtWarningMsg. To continue to send warnings, callers should migrate to
the newly-introduced qmlWarning function.
****************************************************************************
* Library *
****************************************************************************
QtQml
-----
- The garbage collector has been rewritten to provide better memory
consumption, and improved, more predictable performance for JavaScript code.
- Array.prototype.find and Array.prototype.findIndex from ES6 are now implemented.
- Introduced qmlRegisterModule() that can be used to make a certain module
version available, even if no types or revisions are registered for that
version.
- Introduced qmlDebug & qmlWarning functions to qqmlinfo.h, in addition to
the pre-existing qmlInfo function. As a side effect, QQmlError has also
gained messageType() and setMessageType().
- [QTBUG-52013] Added QQmlEngine::offlineStorageDatabaseFilePath(dbName)
to allow getting the actual storage path for a particular database.
- [QTBUG-53091] Introduced Qt.application.displayName, to map the
QGuiApplication::applicationDisplayName property to QML.
- [QTBUG-45316] QML Settings has been fixed to handle JavaScript arrays.
QtQuick
-------
- Global:
* Improved stability of Animator's internals.
* [QTBUG-55496] Added a disk cache for OpenGL shaders to QtQuick.
* [QTBUG-58845] QWheelEvent delivered to all QQuickItems will now have a
correct global position.
* [QTBUG-57910] Touch events are now correctly ungrabbed if the touch event
was stolen by a parent item, such as a Flickable.
* [QTBUG-57098] Added Keys::shortcutOverride signal to allow prevention of
e.g. Shortcut from stealing key events.
* [QTBUG-56279] Added a shared memory image provider to conserve memory
when several processes use the same local image files.
- Window:
* [QTBUG-60232] Added QQuickWindow::sceneGraphBackend() to allow querying
which scene graph rendering backend is in use.
* [QTBUG-56115] Added a screen property to Window, which can be used to
declaratively associate a window with a specific screen. This is useful on
multi-screen embedded systems. Added Qt.application.screens as an array of
screens from which one can be chosen to assign to a Window. Added virtualX
and virtualY properties to Screen to enable querying the screen's position
within the virtual desktop.
- Items:
* [QTBUG-38515] Added horizontalOvershoot and verticalOvershoot
properties to Flickable, for use in implementing custom boundary actions and effects.
* [QTBUG-44762] Added a forceLayout method to Positioner types (Column, Row,
Flow, Grid) to force positioning of children to happen earlier. Additionally,
a positioningComplete signal has been added.
* [QTBUG-57203] Added TextInput::textEdited signal to distinguish user edits from
programmatical text changes.
* [QTBUG-42074][QTBUG-57003] Added support for characters in Private Use Area,
as well as zero-width joiners and zero-width non-joiners for TextInput and
TextEdit.
* [QTBUG-47662] Added MouseArea::pressAndHoldInterval to allow control over the
elapsed time before the pressAndHold signal is emitted.
* Item::grabToImage on an Image element will now work regardless of the
Image's sourceSize or cache properties.
* [QTBUG-52553][QTBUG-56501] Made it possible to enable horizontal
flicking in a vertical ListView, and vice versa. The only thing apps
must do is to specify the desired flick direction and the content
width (vertical ListView) or content height (horizontal ListView),
which is not calculated by ListView.
* Added Shortcut::sequences, to provide support for multiple different shortcut
sequences in a single Shortcut.
* Added rotation, ellipseDiameters and uniqueId properties to
MultiPointTouchArea.TouchPoint, and deprecated the area property.
A TouchPoint is now modeled as an ellipse centered on a point,
possibly rotated, depending on what the hardware and drivers support.
Android and the TUIO plugin support rotation and ellipseDiameters, for example.
The uniqueId is so far applicable only to the use of fiducials (tokens,
knobs or game pieces with hardware-based identification) on a TUIO touch surface.
- Accessibility:
* [QTBUG-58340] Fixed focus handling so that keyboard and VoiceOver's
virtual focus are in sync (QTBUG-58340).
- Text:
* Deprecated doLayout() in favor of forceLayout(), to improve consistency now
that more types (Positioners, Layouts, etc) have a forceLayout() method.
* [QTBUG-51133] Added fontInfo property to Text type, providing a way to
query properties of the actual font used for presenting the text.
* [QTBUG-58852] Text items with a renderType of Text.NativeRendering will no
longer stop rendering with a large number of characters.
QtTest
------
- [QTBUG-23083] Added TestCase::touchEvent to support simulating touch events
in tests.
- [QTBUG-56361] Added createTemporaryObject() and createTemporaryQmlObject()
functions to ensure that dynamically created objects can be destroyed at the
end of each test function.