From b85020d051e08a58f5a64ab35dffe5b8452f51e4 Mon Sep 17 00:00:00 2001 From: Antti Kokko Date: Wed, 31 Oct 2018 11:13:13 +0200 Subject: Add the changes file for Qt 5.12.0 Change-Id: I76a31de4d3e5a0986ea4d510dea8be53198cc71c Reviewed-by: Ulf Hermann Reviewed-by: Shawn Rutledge --- dist/changes-5.12.0 | 245 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 245 insertions(+) create mode 100644 dist/changes-5.12.0 (limited to 'dist') diff --git a/dist/changes-5.12.0 b/dist/changes-5.12.0 new file mode 100644 index 0000000000..753082a43d --- /dev/null +++ b/dist/changes-5.12.0 @@ -0,0 +1,245 @@ +Qt 5.12 introduces many new features and improvements as well as bugfixes +over the 5.11.x series. For more details, refer to the online documentation +included in this distribution. The documentation is also available online: + +https://doc.qt.io/qt-5/index.html + +The Qt version 5.12 series is binary compatible with the 5.11.x series. +Applications compiled for 5.11 will continue to run with 5.12. + +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. + +**************************************************************************** +* General * +**************************************************************************** + + - [QTBUG-51710] Added TableView with a similar architecture as ListView + (inheriting Flickable and using QQmlInstanceModel internally) + but 2-dimensional. It works best with a QAbstractItemModel that defines + multiple columns and rows (i.e. it's the QtQuick counterpart to QTableView) + but can also present a single-column view of other model types. + As an optimization, it maintains a pool of the delegate instances that + are visible (plus a few extras); during scrolling, as delegates fall + out of view, they are re-bound to show cells that have just come into view. + - [QTBUG-26681] Added DelegateChooser, a new type of Component to choose + different delegates in an Item View (e.g. TableView) depending on model + roles. DelegateChoice instances specify the available choices. + - Pointer Handlers and the Keys handler are now collectively called + Input Handlers [QTBUG-66651], and are fully supported as part of + Qt Quick 2.12 and forward. The Qt.labs.handlers import is now removed. + - [QTBUG-68072] Added HoverHandler to detect the position of the + hovering mouse or stylus pointer. + - The JavaScript engine now supports ECMAScript 7. + - ECMAScript modules can now be loaded directly with QJSEngine::importModule() + and imported in .qml files when using the .mjs file extension. + - Qt Quick applications can now be deployed via WebAssembly. + - The new Qt.labs.wavefrontmesh import provides an experimental + WavefrontMesh type which can read a Wavefront .obj file containing + a 2D shape, and generate a 2D mesh for use with ShaderEffect. + +**************************************************************************** +* Important Behavior Changes * +**************************************************************************** + + - [QTBUG-7329][QTBUG-41977][QTBUG-69196] The automatic translation loading + in qml, qmlscene and QQmlApplicationEngine now tries to load + translations for all languages in QLocale::uiLanguages(). This might + require shipping an empty translation for the source language. + +**************************************************************************** +* QtQml * +**************************************************************************** + + - LoggingCategory: + * [QTBUG-67094] Added defaultLogLevel property. It is possible to define + default log level that LoggingCategory is enabled for. + + - QJSEngine: + * [QTBUG-39041] Added API to throw run-time errors. + * Added function to import ECMASCript modules from the file system or + the Qt resource system. + * [QTBUG-71083] Fixed a stack overflow in the parser. + * [QTBUG-70632] It's now OK to declare a class in a .mjs module. + * [QTBUG-69475] Fixed quadratic behavior when allocating large objects. + + - QQmlEngine: + * [QTBUG-56150] QML cache files are now always stored in the + application's cache directory when being generated at run-time. If + precompiled QML files exist at the source location, then they are + loaded and no cache file is being generated. The application's + uninstaller is responsible for cleaning up the cache during removal. + * [QTBUG-39970] Added API to access singletons associated with a + QQmlEngine. + * [QTBUG-53111] The onStatusChanged signal from the incubator object + that is returned from Component.incubateObject() is more reliable. + * [QTBUG-70425] Fixed translation contexts for paths with drive letters + on Windows + * [QTBUG-68350] Fix QQmlEngine::retranslate() with ListElement objects + that use translation functions such as qsTr. + * [QTBUG-51581] Properties of the JS global object will now be looked up + after local properties in the QML object. This can lead to runtime + incompatibilities if your qml file is named the same as a property of + the global object (e.g. Date.qml). + * [QTBUG-71184] Enums in subclasses can overwrite inherited enums. + * Added option to disable unscoped registration of enum classes. + * [QTBUG-69884] Fixed the visibility of the Connections.enabled property + to appear only when importing QtQml/QtQuick >= 2.3, which was introduced + with Qt 5.7. Otherwise it would accidentally shadow an "enabled" + context property, for example. + + - QtTest: + * We now call cleanupTestCase() on the object given to QUICK_TEST_MAIN + before starting destruction. + * Add test init function to be called when application object is + available. + * [QTBUG-47111] ignoreWarning now supports ignoring regular expressions + as well as strings. + +**************************************************************************** +* QtQuick * +**************************************************************************** + + - Input Handlers: + * The QQuickEventPoint::GrabState enum is renamed to GrabTransition. + * [QTBUG-68941] PinchHandler.scale is now persistent between gestures, + i.e. it's the same as the target Item's scale property if there is a + target. Added an activeScale property to provide the scaling value + during a single pinch gesture (activeScale will be 1.0 whenever the + PinchHandler is not active, whereas the scale property was unintuitively + behaving that way in previous versions). This change is intended to + increase flexibility when the scaling is not done by setting an Item's + scale property, but by other means. + * [QTBUG-68077] The pointDistanceThreshold property is renamed to + margin, and now allows activating any pointer handler within a margin + around the parent Item. This makes it easier to pinch a PinchHandler + on a small item, makes it easier to comply with Fitts's Law when + a button with a TapHandler is near a screen edge, etc. If margin + is set, it overrides the parent Item's containmentMask, if any. + * [QTBUG-68106] DragHandler is now a multi-point handler: if + declared with minimumPointCount: 2 for example, it will require + two fingers to initiate the drag. This is especially useful with + target: null to handle 2-finger-drag for some alternate purpose. + * DragHandler and PinchHandler (and other future MultiPointHandler + subclasses) now have a centroid property, since that is usually + the focal point of the action or gesture being performed. + * [QTBUG-68101] QQuickHandlerPoint (i.e. a handler's centroid or + other exposed point property) includes a modifiers property so + that you can see which keyboard modifiers are being held. + * [QTBUG-61749][QTBUG-64847] The TapHandler.tapped signal includes an + eventPoint parameter so that you can see which button was tapped. + * [QTBUG-68074] The PointerHandler.grabChanged signal includes a + stateChange parameter so that you can see whether the grab was + acquired or lost. + * [QTBUG-70075] PinchHandler.centroid now has correct property values + on a macOS trackpad. + * [QTBUG-70292] The PinchHandler.pinchOrigin property is removed. + * [QTBUG-66360] PointHandler handles presses and releases of multiple + mouse buttons correctly. + * [QTBUG-69607] DragHandler doesn't react to mouse wheel events. + * [QTBUG-65012] TapHandler doesn't emit longPressed if the point + is dragged. + + - AnimatedSprite: + * Added finished() signal to AnimatedSprite as a convenient way to react + to an animation finishing. + + - Animation: + * Added finished() signal to Animation as a convenient way to react to + an animation finishing naturally. + + - Canvas: + * [QTBUG-31807] Added set/get lineDash and lineDashOffset to Context2D + to allow non solid lines to be drawn. + + - Image: + * [QTBUG-66116] Fixed a memory leak in Image in an invisible window. + + - Item: + * There's now a warning whenever an Item has multiple states with the + same name. + * [QTBUG-68271] Fixed an infinite loop in tab focus chain when visiting + invisible items. + + - MultiPointTouchArea: + * [QTBUG-70258] Avoid emitting gestureStarted until the drag threshold + is actually exceeded. In a QML onGestureStarted callback, + gesture.touchPoints[0].startX and startY now have correct values. + + - Rectangle: + * Added support for horizontal gradients. + + - Repeater: + * [QTBUG-54752] If the model is an integer, it must be less than + 100,000,000 to avoid running out of memory. + + - Shape: + * [QTBUG-66843][QTBUG-66457] The Shape item will not try to use + GL_NV_path_rendering by default, unless explicitly requested. + Thus the default value of enableVendorExtensions is now false. + + - Flickable and Item Views: + * [QTBUG-62902] Added a synchronousDrag property that makes the content + jump to the position it would have had if there was no drag threshold, + as soon as dragging begins. + * [QTBUG-70742][QTBUG-70941] We now cancel flicking when the model is + reset, and when programmatically positioning the content, to avoid + wasting time instantiating irrelevant delegates. + * [QTBUG-49224] Fixed a crash by avoiding movement during layout. + * [QTBUG-67051] Improved interaction between snapping and sections. + * [QTBUG-69863] GridView LeftMargin and RightMargin are taken into + account when calculating positions and columns. + * [QTBUG-69059][QTBUG-61144] Fixed the regression that when a + mouse-handling Item or Control is used in a Flickable with a + pressDelay, the delegate item did not receive touchscreen taps + (in the form of mouse clicks). This fix was in 5.9.4 but somehow + did not get merged forward into 5.10 and 5.11. + * [QTBUG-59620] PathView calls setKeepMouseGrab() so that a parent + Flickable will not steal the grab from it. + + - Text: + * [QTBUG-53279] Fixed an issue where updating text inside a layout would + not cause it to correctly adapt to its new width. + * [QTBUG-69356] Support pregenerated loading distance field glyph caches + to decrease startup time for applications with large amounts of text. + + - QQuickWindow: + * [QTBUG-52748] You can now disable touch->mouse event synthesis in + QtQuick by calling + qGuiApp.setAttribute(Qt::AA_SynthesizeMouseForUnhandledTouchEvents, + false). This will simplify and speed up event delivery, and it will + also prevent any and all interaction with mouse-only items like + MouseArea and Flickable on a touchscreen. + * [QTBUG-70998] Touch->mouse synthesis is canceled when the touch + is ungrabbed, rather than when a new touchpoint is pressed. Thus + if you are using one finger to interact with a legacy mouse-handling + Item, and you press a second finger, the first interaction doesn't + necessarily end right away, unless some other handler steals the + grab from the first Item. + * [QTBUG-70898] Emit a warning rather than crashing if user code + calls sendEvent() while a pointer event is being delivered. + Nested event delivery is not possible because of the way that + the QQuickPointerEvent instances are reused for subsequent events. + + - FolderListModel: + * [QTBUG-48757][QTBUG-70212] Added a sortCaseSensitive property that + can be set to false to sort filenames in a case-insensitive manner. + + - Software renderer: + * [QTBUG-70740] Fixed a memory leak. + * Fixed QSGImageNode with QSGLayer. + * [QTBUG-68085] Italic text is no longer cut improperly due to line wrap. + * [QTBUG-70422] If Qt is built without support for threads, single-threaded + rendering is used. (This includes the WebAssembly use case.) + + - Platform Specific Changes: + * [QTBUG-63026][QTBUG-65160] Now that macOS provides a proper + ScrollMomentum phase in QWheelEvent, Flickable responds more + precisely when simulated momentum on the trackpad comes to an + end, rather than using a timer to wait for it to end. This improves + robustness in some cases where scrolling was jumpy in older versions. -- cgit v1.2.3