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