Revision control
++ 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:
++
++
++ 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:
++
++
++ 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:
++
++
++ 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