Qt 5.8 introduces many new features and improvements as well as bugfixes
over the 5.7.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

QtSerialBus was a technology preview in 5.6 and 5.7. With 5.8, the
module leaves technology preview status and the API is fixed.
The most important changes done in 5.8 are listed below.
QtSerialBus is now binary compatible with following versions (5.9 etc.)

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.

****************************************************************************
*                          Library                                         *
****************************************************************************

QtSerialBus
-----------

 - QCanBus
   * [QTBUG-53642] Changed the signature of createDevice() to use only
     QString parameters. Furthermore, plugins() now returns a QStringList.
   * [QTBUG-53642] Changed createDevice() to return an optional textual
     error description.

 - QCanBusDevice
   * [QTBUG-52495] Added waitForFramesWritten() and waitForFramesReceived()
     to QCanBusDevice.

 - QCanBusFrame:
   * [QTBUG-53171] Added toString() to QCanBusFrame.
   * [QTBUG-49675][QTBUG-56720] Added CAN FD flag to distinguish CAN FD
     frames from CAN 2.0 frames. In addition hasFlexibleDataRateFormat()
     and setFlexibleDataRateFormat() function were added. It permits easier
     identification of CAN FD frames.
   * Changed the signature of two constructors.
   * [QTBUG-51845] Cleaned up the usage of inline and nothrow throughout the class.
   * Improved validity checking for frame ids larger than 2^29.

 - QCanBusFrame::TimeStamp:
   * Added TimeStamp::fromMicroSeconds() time stamps with normalized
     microseconds and added the overflow to seconds.
   * Removed the setSeconds() and setMicroSeconds() functions to avoid
     confusion about unnormalized time stamps.

 - Added basic support for Vector CAN devices.
 - Improved the implementation of the PeakCAN and TinyCAN plugins.
 - Improved and fixed the CAN examples. In particular the examples were adjusted to
   the various API changes.
 - Improved the module and class documentation substantially.
 - Unified the interface names of the different plugins to follow a common rule:
   The prefixes were unified, the numbering always starts with zero now.
 - [QTBUG-55747] Fixed C+11 related code sections which failed to compile on OSX 10.11.6.
 - Ported canbusutil tool to use QCommandLineParser and multiple other changes to
   improve the tools internal implementation such as a more streamlined printing to stdout.
 - [QTBUG-56331] Fixed module build on Android. The canbusutil tool was removed from
   Android builds.
 - [QTBUG-56886] Fixed handling of frameReceived() signals throughout all CAN examples.
 - Converted the module to use the Qt Lite based configure changes in Qt.
 - [QTBUG-54834] Fixed handling of packets with payloads longer than 127
   bytes by QModbusResponse.
 - Added missing QDataStream operator<< for QModbus{Request,Response}.
