path: root/dist
diff options
authorAntti Kokko <>2018-10-31 11:13:13 +0200
committerJani Heikkinen <>2018-11-09 12:47:52 +0000
commitb85020d051e08a58f5a64ab35dffe5b8452f51e4 (patch)
treee5d68a2a06514396eca74fafa8c74e03668c26bd /dist
parent7748d3ca4671edf3b99fcbe7e35f23a747bba191 (diff)
Add the changes file for Qt 5.12.0
Change-Id: I76a31de4d3e5a0986ea4d510dea8be53198cc71c Reviewed-by: Ulf Hermann <> Reviewed-by: Shawn Rutledge <>
Diffstat (limited to 'dist')
1 files changed, 245 insertions, 0 deletions
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:
+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:
+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.