Qt 5.12.4 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.12.0 through 5.12.3 under most
conditions.  There may be exceptions if you are using Qt Remote Objects
between proesses or devices running different versions Qt.  The different
versions of Qt must be running compatible versions of QtRO's protocol.

Changes to the Qt Remote Objects protocol are documented online:

https://doc.qt.io/qt-5/qtremoteobjects-compatibility.html

The QtRO protocol has been updated in Qt 5.12.4 and Qt 5.13.0 to 1.3.

Background:  Qt's QueuedConnections work by copying signal parameters so
the copy can be held and then later processed in another threads
eventloop, allowing the original data to be changed in the originating
thread.

Qt Remote Objects leverages this capability and sends that data from a
QObject in one process to a QObject in another.  There is a specific
protocol for this, as both sides need to interpret what is sent the
same way.  For example, there are Invoke and PropertyChanged packets
exchanged.  In addition to this, both sides need to know how to encode and
decode all types shared.  This type awareness is easy to ensure if the
repc compiler is used to generate the headers for all sides.

However, there are use cases where this isn't possible.  In these cases
QtRO will send the type (metaobject) information as well, allowing the
receiving side to generate the required type information at runtime for
certain types (PODs and enumerations).

There were issues found in this type serialization code that required a
change to the protocol.  There are a number of commits going into both
Qt 5.13.0 and Qt 5.12.4 with fixes.  This means that you will not be able
to use Qt Remote Objects on a device using Qt 5.12.3 or earlier and
communicate to another device using Qt 5.12.4/5.13.0.

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.12 series is binary compatible with the 5.11.x series.
Applications compiled for 5.11 will continue to run with 5.12 as long as
the protocol change noted above is taken into account.

****************************************************************************
*                        Important Behavior Changes                        *
****************************************************************************

 - Qt Remote Objects uses an internal protocol to pass data between
   processes and/or devices. The same protocol version needs to be used on
   all sides. The version was bumped from 1.2 to 1.3 in this release,
   fixing potential crashes (see QTBUG-75017). If there is a mismatch, the
   connecting node will output a warning and the host node will not send
   any data.

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

https://bugreports.qt.io/

The following fixes were part of the above protocol change and are in
5.12.4 and 5.13.0.

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

 - QTBUG-75017: QtRO processes can crash if type registration is incorrect
 - QTBUG-75056: Correctly handle QVariant properties on the replica side
 - QTBUG-74084: QT remote objects false conversion warning in case of
   QVariant property
