summaryrefslogtreecommitdiffstats
path: root/doc/src/whatsnew/whatsnew511.qdoc
blob: 76afa595b0e97405de948337c50ae21d00797ac6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
/****************************************************************************
**
** Copyright (C) 2018 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \page whatsnew511.html
    \title What's New in Qt 5.11
    \brief Lists the new features in Qt 5.11.

    \section1 New Features in Qt 5.11

    \section2 Qt Core Module
    \list
        \li Added \l{QIODevice::NewOnly} and \l {QIODevice::ExistingOnly}
            \c OpenMode flags. When used with QFile, \c NewOnly instructs
            \c open() to (atomically) return \c false if the file to open
            exists. \c ExistingOnly instructs \c open() to (atomically) return
            \c false if the file does not exist.
        \li QFloat16 now has two methods for bulk conversion between \c float16
            and \c float, using hardware SIMD acceleration if available at
            runtime.
        \li QVarLengthArray now has rvalue reference versions of prepend and
            insert, and can hold movable-only datatypes such as
            \c std::unique_ptr.
        \li QVector now has rvalue reference versions of prepend and insert.
        \li QUuid \c toString() and \c toByteArray() now take a parameter
            specifying the generated format.
        \li Updated Unicode support in QString, QChar, and
            QTextBoundaryFinder to be compatible with Unicode 10.
    \endlist

    \section2 Qt Network Module
    \list
        \li ALPN (via Secure Transport) and thus HTTP/2 negotiation are now
        supported on iOS (starting from version 11).
        \li QNetworkRequest now has the \c Http2DirectAttribute to start a
        connection in HTTP/2 without first negotiating.
    \endlist

    \section2 Qt QML Module
    \list
        \li The compiler pipeline is rewritten. We now directly generate byte code
            from the AST, and store that as our intermediate representation.
        \li Optimized handling of JS calls, bringing large improvements
            especially when calling small functions.
        \li Newly written byte code interpreter brings significant performance
            improvements, at 80-90% of the JIT in Qt 5.10.
        \li \c .qmlc files are now fully platform-independent and store byte
            code instead of assembly.
        \li New hotspot JIT that generates optimized assembly for byte code that
            gets repeatedly executed.
        \li \c {CONFIG += qtquickcompiler} now also works in the open source version, by
            embedding the generated byte code at compile time.
    \endlist

    \section2 Qt Quick Module
    \list
        \li Expanded support for loading compressed textures in Image element.
            Now supports both \c .ktx and \c .pkm container file formats.
    \endlist

    \section2 Qt Quick Controls 2 Module
    \list
        \li AbstractButton
        \list
            \li Promoted the \l {AbstractButton::}{autoRepeat}
                property from \l [QML] Button to \c AbstractButton.
            \li Added \l {AbstractButton::}{autoRepeatDelay} and
                \l {AbstractButton::}{autoRepeatInterval}
                properties.
            \li Added \c pressX and \c pressY properties to expose the press
                point to QML.
        \endlist

        \li ButtonGroup
        \list
            \li Added a \c checkState property. It indicates the combined check
                state of the entire group.
        \endlist

        \li CheckBox and CheckDelegate
        \list
            \li No longer force tristate to \c true when setting \c checkState
                to \c Qt.PartiallyChecked. This allows presenting a partially
                checked state without being interactively tri-state.
            \li No longer consider partially checked as checked. This fixes
                check state cycling for a non-tri-state checkbox so that it goes
                from partially checked to fully checked state.
            \li Made it possible to implement \c nextCheckState() in QML.
        \endlist

        \li ScrollBar and ScrollIndicator
        \list
            \li Added \c minimumSize, \c visualSize, and \c visualPosition
                properties.
        \endlist

        \li SpinBox
        \list
            \li Added a \c displayText property to allow styles to create a
                light binding to display the textual value instead of having
                to call the \c textFromValue() JS-function.
        \endlist
    \endlist

    \section2 Qt 3D Module
    \list
        \li Scrub through animations with the \c normalizedTime property of
            QAbstractClipAnimator.
        \li Issue arbitrary ray casts in world space or screen space.
        \li Improved SIMD support.
    \endlist

    \section2 Qt Location Module
    \list
        \li New Qt.labs.location plugin containing experimental QML types.
    \endlist

    \section2 Qt WebEngine Module
    \list
        \li Updated to Chromium 65.
        \li Embedded DevTools without using a port and separate browser.
        \li Installable cookie filter.
        \li Quota permissions.
    \endlist

    \section2 QDoc Documentation Generator
    \list
        \li QDoc now uses libclang for parsing C/C++ code.
    \endlist

    \section2 Qt Designer Tool
    \list
        \li Added support for ID-based translations.
    \endlist

    \section2 Qt GUI Module
    \list
        \li On Windows Desktop, the accessibility support was updated and
            vastly improved. The implementation is now based on Microsoft UI
            Automation (it was formerly based on Microsoft Active Accessibility).
        \li The widgets themes available on Windows Desktop were updated to
            better support High-DPI displays, including fixes for several
            rendering issues, providing improved appearance and functionality.
        \li Linux Printing now supports more CUPS options with the advanced tab
            in QPrintPropertiesDialog, allowing many additional settings
            (amongst them arbitrary page ranges).
        \li Updated the Unicode bidirectional text algorithm to be compliant
            with Unicode 10.
    \endlist

    \section2 Qt Widgets Module
    \list
        \li Added quick text selection by mouse to QLineEdit.
    \endlist

    \section2 Qt Serial Bus Module
    \list
        \li Added J2534 Pass-Thru CAN plugin for communication between a
            computer and a vehicle.
        \li Added description, serial number and channel to QCanBusDeviceInfo,
            as far as supported by the various plugins.
        \li Introduced categorized logging to the CAN bus module which can be
            enabled by the \e "qt.canbus" and
            \e "qt.canbus.plugins.<pluginname>" filters.
        \li QCanBusFrame::isValid() now checks for invalid CAN FD payload
            lengths. E.g. 24 is  a valid CAN FD payload length, but 28 is not.
    \endlist

    \section2 Qt Bluetooth Module
    \list
        \li Ported Bluetooth Low Energy Central role implementation to BlueZ's
            DBus LE API (minimum version to enable is BlueZ 5.42).
    \endlist

    \section1 New Modules
    No new modules were added in this version.

    \section1 Platform Changes
    \list
        \li MSVC2013 support removed from the code base.
        \li Qt WebEngine now requires MSVC 2017 on Windows.
        \li QNX 6.6 no longer supported (note: QNX 7 remains fully supported).
        \li macOS 10.10 no longer supported.
        \li Improved Accessibility support on Win32 by adopting the Windows UI
            Automation framework.
        \li XCB: Support for missing 'dead keys' such as dasia and diaeresis.

        \li eglfs
        \list
            \li Added support for framebuffer formats other than XRGB8888
                (RGB565, ARGB8888).
            \li Added experimental screen cloning support (by scanning out the
                same framebuffer on multiple displays).
            \li Added support for operating with DRM render nodes
                (/dev/dri/renderDnn) in a headless mode transparent to
                applications.
            \li Added a makespec for Renesas R-Car M3.
            \li Added experimental backend for compositing Qt content with other
                hardware layers via VSP2 on Renesas devices.
        \endlist
    \endlist

    \section1 Technology Preview Modules
    \list
        \li Qt Remote Objects (TP3) - A module that allows you to easily share
            QObject interfaces (Signals/Slots/Properties) between processes or
            devices.
        \li Qt WebGL Streaming Plugin (TP2) - Stream applications to browsers
            over the network.
    \endlist

    \section1 Deprecated Modules
    The following modules are part of the Qt 5.11 release, but are deprecated
    and considered for removal in subsequent releases of Qt:

    \list
        \li Qt Script
        \li Qt Quick Controls 1
    \endlist

    \section1 List of API Changes
    The pages below contain a list of API changes in Qt 5.11:
    \list
    \li \l{New Classes and Functions in Qt 5.11}
    \li \l{Obsolete Classes}
    \endlist

    \section1 Additions to Other Qt 5 Releases

    \list
        \li \l{What's New in Qt 5.10}
        \li \l{What's New in Qt 5.9}
        \li \l{What's New in Qt 5.8}
        \li \l{What's New in Qt 5.7}
        \li \l{What's New in Qt 5.6}
        \li \l{What's New in Qt 5.5}
        \li \l{What's New in Qt 5.4}
        \li \l{What's New in Qt 5.3}
        \li \l{What's New in Qt 5.2}
        \li \l{What's New in Qt 5.1}
        \li \l{What's New in Qt 5.0}
    \endlist

*/

/*!
    \page newclasses511.html
    \title New Classes and Functions in Qt 5.11
    \brief A list of new APIs in Qt 5.11.

    This page contains a comprehensive list of all new classes and functions
    introduced in Qt 5.11. Links to new APIs in previous Qt 5 releases are found
    at the bottom of this page.

    \sincelist 5.11

    \section1 Additions to Other Qt 5 Releases

    \list
        \li \l{What's New in Qt 5.10}
        \li \l{What's New in Qt 5.9}
        \li \l{What's New in Qt 5.8}
        \li \l{What's New in Qt 5.7}
        \li \l{What's New in Qt 5.6}
        \li \l{What's New in Qt 5.5}
        \li \l{What's New in Qt 5.4}
        \li \l{What's New in Qt 5.3}
        \li \l{What's New in Qt 5.2}
        \li \l{What's New in Qt 5.1}
        \li \l{What's New in Qt 5.0}
    \endlist
*/