QtSerialPort 5.3 introduces a few new features and improvements as well as bugfixes over the 5.2.x series. For more details, refer to the online documentation included in this distribution. The documentation is also available online: http://qt-project.org/doc/ The QtSerialPort version 5.3 series is binary compatible with the 5.2.x series. Applications compiled for 5.2 will continue to run with 5.3. Some of the changes listed in this file include issue tracking numbers corresponding to tasks in the Qt Bug Tracker: http://bugreports.qt-project.org/ Each of these identifiers can be entered in the bug tracker to obtain more information about a particular change. **************************************************************************** * Library * **************************************************************************** - Build for WinRT is disabled, since the MSDN Windows Store apps will not have any serial port replacement. - Improved the documentation. - Added error handling to some missing functions. - Removed some unused code related to the SystemIn/OutputQueue size methods. - Now the TxD/RxD signals are obsolete, since there is no reliable low-level API of obtaining the status of these signals. - Now the signal bytesWritten() is emitted only after completion of a write operation (when a payload of data was transferred from the driver's queue and the driver's queue became empty). - [QTBUG-36865] Remove the continuous warning about the unknown flow control. - [QTBUG-35781] Use private linkage where appropriate. - Swap the open and configure error reporting in the terminal example. - Obsolete the "settings restore on close" API. - [QTBUG-37989] Keep qmake's "-framework" option on OSX to fix building. - Fixed display of the serial number in the terminal example. - Mark the settingsRestoredOnClose property deprecated since 5.3 instead of 5.2. - Ensure both input and output baud rates are set. - QSerialPortInfo: * [QTBUG-32774] Added the enumerating of virtual serial ports that are created from the "AGG Software" utility on Windows. * [QTBUG-36526] Added an additional enumeration through the SERIALCOMM registry for serial ports which are not present in Windows Device Manager. * [QTBUG-36870] Used Q_GLOBAL_STATIC for the udev symbol loading QLibrary instance. * [QTBUG-31981] Added API for querying the serial number of USB serial ports. * [QTBUG-36296] Fixed info update for FTDI devices on Android by using Sysfs. * [QTBUG-37578] Used QScopedPointer (RAII) to avoid memory leaks with udev. - QSerialPort: * Added handling of the ERROR_INVALID_NAME error code on Windows; now this error is interpreted as DeviceNotFoundError. * Optimized writing sequence algorithm on Windows; now there are no excess calls of WriteFile when the writeBuffer is empty. * [QTBUG-36490] Fixed changing the state of the DTR signal when modifying DCB properties; now the DTR signal stays in the same state. * [QTBUG-33987] Fixed the waitForReadyRead() behavior on Windows. * cfmakeraw is no longer used on SunO since it doesn't exist on Solaris and Illumos. * qt_safe_open() is now used instead of open() on Unix since open() is not thread-safe, that can lead to leaking of file descriptors. * [QTBUG-36824] Protected against EINTR in Unix non-atomic I/O calls with use of qt_safe_xxx functions. * [QTBUG-33774] Now there is the possibility to set up the port settings before opening. * Improved the reading and writing algorithm on Windows. * Define CRTSCTS on QNX. Tested on SVTronics UEVM5432 Omap5 board with QNX 6.6. * [QTBUG-38339] Fixed the flush() regression on Unix. * [QTBUG-38961] Fixed regression on Linux when trying to set a custom baud rate.