Make title capitalization more consistent in QML documentation.
[profile/ivi/qtdeclarative.git] / src / qml / doc / src / whatsnew.qdoc
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/
5 **
6 ** This file is part of the documentation of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:FDL$
9 ** GNU Free Documentation License
10 ** Alternatively, this file may be used under the terms of the GNU Free
11 ** Documentation License version 1.3 as published by the Free Software
12 ** Foundation and appearing in the file included in the packaging of
13 ** this file.
14 **
15 ** Other Usage
16 ** Alternatively, this file may be used in accordance with the terms
17 ** and conditions contained in a signed written agreement between you
18 ** and Nokia.
19 **
20 **
21 **
22 **
23 **
24 ** $QT_END_LICENSE$
25 **
26 ****************************************************************************/
27
28 /*!
29 \title QtQml Module Release Notes
30 \page qtqml-releasenotes.html
31 \inqmlmodule QtQuick 2.0
32
33 \section1 Qt 5.0
34
35 The QtQml C++ module is new in Qt 5. It provides the QML engine and implements
36 the QML language supporting infrastructure.
37
38 (Prior to Qt 5, this functionality was provided by the QtDeclarative module, which
39 has now been replaced by the new QtQml and QtQuick C++ modules. See the
40 \l {Porting QML Applications to Qt 5} for more information.)
41
42 \section2 QML Engine
43
44 \list
45 \li JavaScript engine has changed to V8.
46 \li Various parser and compiler optimizations have been implemented, as well as a new bindings optimizer.
47 \li New QQmlEngine::trimComponentCache() method safely discards unused data in the engine's component cache to free memory.
48 \endlist
49
50 \section2 Component and Object Creation
51
52 \list
53 \li QML objects can now be created asynchronously to improve application performance.
54     \list
55     \li New QQmlIncubator and QQmlIncubationController C++ classes can be used to create objects asynchronously.
56     \li From QML code, this behavior can enabled by:
57         \list
58         \li Calling the new Component \l{Component::incubateObject} method
59         \li Passing the \c Component.Asynchronous parameter to \c Qt.createComponent()
60         \li Loading a \l Loader object asynchronously using the \l{Loader::}{asynchronous} property
61         \endlist
62     \endlist
63 \li The component returned by \c Qt.createComponent() is no longer parented to the engine.  Be sure to hold a reference, or provide a parent.
64 \endlist
65
66 \section2 Type System
67
68 \list
69 \li New \l var property type. This is a general-purpose property type which obsoletes the \l variant type.
70     Properties of the \l var type may hold JavaScript references.
71 \li QML properties of type \l var and \l variant can now hold pixmaps. See \l {Scarce Resources in JavaScript} for more information.
72 \li Value type improvements:
73     \list
74     \li QColor is now a value type.  The red, green, blue and alpha channels of a \l color property can be accessed via \c r, \c g, \c b and \c a properties.
75     \li Improved support for QVector4D, now constructible in QML via \c Qt.vector4d().
76     \endlist
77 \li Support for sequence types QList<int>, QList<qreal>, QList<bool>, QList<QUrl>,
78     QList<QString> and QStringList has been improved. QObjects can define Q_PROPERTYs of
79     these types which can be accessed transparently from JavaScript.
80 \endlist
81
82 \section2 Modules and Imports
83
84 \list
85 \li Arbitrary functionality may be provided in a namespace through a Module API.  See qmlRegisterModuleApi() for more information.
86 \li JavaScript (.js) files may now import QML modules and other JavaScript files using the ".import" syntax.
87 \endlist
88
89 \section2 Other
90
91 \list
92 \li QQmlExpression can now be constructed directly (and more efficiently) from a QQmlScriptString.
93 \endlist
94
95 */
96