Qt 5.14 introduces many new features and improvements as well as bugfixes
over the 5.13.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.14 series is binary compatible with the 5.13.x series.
Applications compiled for 5.13 will continue to run with 5.14.

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.

****************************************************************************
*                                 Controls                                 *
****************************************************************************

 - ComboBox:
   * Added valueRole, currentValue and indexOfValue(). These allow
     convenient management of data for a role associated with the text
     role.

 - QQuickMenuBar:
   * Fixed issue with dynamically menu bar items not losing their highlight
     when their menu was dismissed.

 - QQuickPopup:
   * Fixed the issue that Popup doesn't respond to CloseOnEscape if the
     initial value of visible is true

- [QTBUG-79790] Fixed issue where font changes would result in an extra
  signal being emitted.
- [QTBUG-59330] The documentation now advises against naming root resource
  directories with the same name as a style name.
- [QTBUG-79302] SplitView: fix issue where Repeater items were not created.
- [QTBUG-79302] SplitView: fix cursor shape staying as Split*Cursor in some
  cases.
- [QTBUG-79270] Fixed assertion failure when hiding a SplitView with only
  one item.

****************************************************************************
*                                Universal                                 *
****************************************************************************

 - TabBar:
   * Disabled wrapping. The Universal style TabBar now behaves like TabBar
     from other styles.
