168 lines
7.1 KiB
Plaintext
168 lines
7.1 KiB
Plaintext
Qt 5.11 introduces many new features and improvements as well as bugfixes
|
|
over the 5.10.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.11 series is binary compatible with the 5.10.x series.
|
|
Applications compiled for 5.10 will continue to run with 5.11.
|
|
|
|
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 *
|
|
****************************************************************************
|
|
|
|
* QML module plugins used to be limited to type registrations in the
|
|
primary module namespace in the virtual registerTypes() function.
|
|
Module authors worked around this limitation by placing necessary
|
|
internal type registrations into initializeEngine() that may cause
|
|
memory leaks. Therefore this restriction has been moved and types in
|
|
any (non-protected) namespaces can be registered in the
|
|
registerTypes() function.
|
|
|
|
* In Qt 5.11 and newer versions, QML plugin modules are available with
|
|
the same minor version as the Qt release minor version number. For
|
|
example it's possible to import QtQuick.Window 2.11 or import
|
|
QtQuick.Layouts 1.11 even though there haven't been any API changes in
|
|
these modules for Qt 5.11, and the maximum possible import version
|
|
will automatically increment in future Qt versions. This is intended
|
|
to reduce confusion.
|
|
|
|
****************************************************************************
|
|
* Library *
|
|
****************************************************************************
|
|
|
|
QtQml
|
|
-----
|
|
|
|
- Qt Qml uses a completely new compiler pipeline to compile Javascript (and QML) first
|
|
into bytecode and then JIT heavily used functions into assembly.
|
|
* Lots of cleanups and performance improvement to the way function calls and Javascript
|
|
scopes are being handled.
|
|
* Improved performance of JS property lookups.
|
|
* A new bytecode format that is very compact, saving memory in many cases.
|
|
* significantly faster bytecode interpreter than in earlier versions of Qt, in many cases
|
|
reaching almost the performance of the old JIT.
|
|
* A new JIT that works on top of the bytecode interpreter and only compiles hot functions
|
|
into assembly.
|
|
* Overall test results show almost a doubling of the JS performance on platforms where we
|
|
can't use a JIT (iOS and WinRT) compared to 5.10.
|
|
* With the new JIT, JS performance is usually around 10-40% faster than in older Qt versions
|
|
(depending on the use case).
|
|
|
|
- The commercial only Qt Quick Compiler has been removed and replaced with a common solution
|
|
that works in both the open source and commercial version of Qt. No code changes are needed
|
|
for users of the old compiler.
|
|
|
|
- Fix qmlplugindump to work correctly with shadow builds.
|
|
|
|
- Fixed creation of QWidgets in QML.
|
|
|
|
- Various fixes to the debugging bridge.
|
|
|
|
- ListModel
|
|
* Support assignment of function declarations in ListElement, to allow for
|
|
models with actions.
|
|
|
|
QtQuick
|
|
-------
|
|
|
|
- QQuickWindow:
|
|
* [QTBUG-66329] We no longer synthesize redundant mouse events based on
|
|
touch events that come from a trackpad which can generate mouse events.
|
|
|
|
- Item:
|
|
* [QTBUG-20524] Added a containmentMask property. This allows any
|
|
QObject which defines Q_INVOKABLE bool contains(const QPointF &point)
|
|
(including a Shape) to mask the area of an Item that will be
|
|
sensitive to mouse and touch events.
|
|
|
|
- AnimatedSprite:
|
|
* [QTBUG-36341] AnimatedSprite's implicitWidth and implicitHeight are
|
|
now based on frameWidth and frameHeight, respectively. This means it
|
|
is no longer necessary to explicitly size AnimatedSprite.
|
|
|
|
- Image:
|
|
* [QTBUG-66127] Support detection of suitable file extension.
|
|
* Add support for ktx files containing compressed textures.
|
|
* Add experimental automatic atlasing of ETC-compressed
|
|
textures (can be enabled with QSG_ENABLE_COMPRESSED_ATLAS=1).
|
|
* [QTBUG-67019] SVG images are now scaled up if the source size is larger
|
|
than the original size.
|
|
* [QTBUG-65789] SVG images are rendered with the correct aspect ratio
|
|
when width or height is set to zero.
|
|
|
|
- AnimatedImage:
|
|
* Added a speed property. It's also OK to set it to 0 to pause
|
|
the animation.
|
|
* There is now an example to demonstrate usage of AnimatedImage.
|
|
* [QTBUG-62913] frameCount now has a NOTIFY signal to avoid binding warnings.
|
|
|
|
- Path:
|
|
* [QTBUG-62684] Add new PathAngleArc type.
|
|
|
|
- Shape:
|
|
* A containsMode property is added. If it is set to FillContains, then
|
|
Shape.contains() returns true only within the visible bounds, so its
|
|
Pointer Handlers also respond only within those bounds.
|
|
|
|
- ShapePath:
|
|
* Improved performance for complex paths.
|
|
|
|
- Text:
|
|
* [QTBUG-60328][QTBUG-67145] Fixed Text with ElideRight not being rendered
|
|
when reparented.
|
|
* [QTBUG-67007] Fixed non-integer scale factors with Text native rendering.
|
|
|
|
- Pointer Handlers:
|
|
* Added singleTapped and doubleTapped convenience signals to TapHandler.
|
|
* PointerHandlers implement QQmlParserStatus, so that subclasses can
|
|
have custom initialization in componentComplete() (just as Items can).
|
|
* [QTBUG-65651] Restore 5.9 behavior: if an Item has no PointerHandlers,
|
|
childMouseEventFilter() will not be called during post-delivery of
|
|
an unhandled event.
|
|
* TapHandler.gesturePolicy is now DragThreshold by default.
|
|
* DragHandler with target: null no longer crashes.
|
|
* [QTBUG-64852] DragHandler enforces its axis constraints even when
|
|
the parent coordinate system changes during the drag. For example
|
|
the knob of a DragHandler-based slider inside a Flickable doesn't
|
|
come out of its "groove" if you manage to drag the slider and the
|
|
Flickable at the same time.
|
|
|
|
- Loader:
|
|
* [QTBUG-63729] Avoid evaluating bindings during destruction, to
|
|
avoid some spurious errors.
|
|
* [QTBUG-66822] When deactivating a loader, do not immediately clear
|
|
its context.
|
|
|
|
- Software renderer
|
|
* [QTBUG-63185][QTBUG-65975] QSGLayer::grab now works correctly.
|
|
* [QTBUG-66381] Fixed a crash when a Window has a QObject parent
|
|
(such as Loader).
|
|
* [QTBUG-65934] Fixed renering of rounded rectangles with floating point
|
|
pixel device ratios.
|
|
|
|
- Platform Specific Changes:
|
|
* [QTBUG-67460] Fixed a problem with jumping back to the highlight
|
|
while slowly scrolling a ListView on macOS.
|
|
|
|
QtQuickTest
|
|
-----------
|
|
|
|
- [QTBUG-50064] Added QUICK_TEST_MAIN_WITH_SETUP macro to allow executing
|
|
C++ before a QML test (such as registering context properties).
|
|
|
|
QQuickWidget
|
|
------------
|
|
|
|
- [QTBUG-45641] Tab presses are now passed on to the root item to be
|
|
handled first. When not handled by the root item, it will be handled
|
|
like a standard QWidget.
|