Qt 5.0.1 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.0.0.

For more details, refer to the online documentation included in this
distribution. The documentation is also available online:

  http://qt-project.org/doc/qt-5.0/

Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker:

  http://bugreports.qt-project.org/

Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.


****************************************************************************
*                           General                                        *
****************************************************************************

General Improvements
--------------------

 - [QTBUG-23485, QTBUG-28611] Fix tst_qquicktextinput on Windows and Mac.
 - Documentation for scene graph examples.
 - Improve example with key navigation.
 - qmltest: Added the possibility to use QApplication
 - [QTBUG-28611] Quick tests: Introduce QQmlMessageHandler.
 - Compile with QT_NO_WHEELEVENT.
 - Various documentation improvements.

****************************************************************************
*                          Library                                         *
****************************************************************************

 - Don't try to grab Windows with invalid or a zero size
 - Do not crash on some animation changes

****************************************************************************
*                      Platform Specific Changes                           *
****************************************************************************

Qt for Windows
--------------

 - [QTBUG-28611] Stabilize QQuickLoader test on Windows.
 - [QTBUG-28611] Fix tst_qqmlbundle on Windows.
 - [QTBUG-28611] Fix tst_qqmllanguage for MSVC.

****************************************************************************
*                      Compiler Specific Changes                           *
****************************************************************************

 - Fix other warnings in qtdeclarative found by GCC 4.7
 - Fix warnings in QtQml due to ?: with enums of different types
 - Fix compiler warnings in declarative tests.

****************************************************************************
*                          Tools                                           *
****************************************************************************

 - Modify qmlscene usage text to be consistent

****************************************************************************
*                          Plugins                                         *
****************************************************************************

 - Accessibility: Work with QQuickWindow
 - Accessibility: Send value updates
 - Accessibility: Improve interface handling in Quick
