Qt 5.11 introduces many new features and improvements as well as bugfixes
over the 5.10.x series. For more details, refer to the online documentation
included in this distribution. The documentation is also available online:

http://doc.qt.io/qt-5/index.html

Note: Tech Preview modules are able to change APIs to refine or enhance the
module's functionality.  Thus Qt's binary compatibility quarantees aren't
applicable.  Code switching to 5.11.0 from earlier versions of Qt Remote
Objects will need to be recompiled.

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.

****************************************************************************
*                            Qt 5.11.0 Changes                             *
****************************************************************************

 - QRemoteObjectNode
   * [QTBUG-64086] Added heartbeatInterval property, which can be used to
     periodically check the connection between replica and source. If the
     connection is lost, the replica enters the "Suspect" state and will
     attempt to reconnect.
   * Extended acquireModel to allow prefetching data.

 - QRemoteObjectAbstractPersistedStore
   * Renamed from QRemoteObjectPersistedStore, and made a QObject to allow
     use from QML.
   * Added QRemoteObjectSettingsStore (SettingsStore in QML) as a concrete
     implementation using QSettings.

 - repc
   * Added support for nested classes, via an extension to the .rep file
     format. The syntax is `CLASS <name>(<type>), where type needs to be a
     class defined in the same rep file, and name is the property name
     used to access the sub-QObject.
