| Qt 5.9 introduces many new features and improvements as well as bugfixes |
| over the 5.8.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 |
| |
| The Qt version 5.9 series is binary compatible with the 5.8.x series. |
| Applications compiled for 5.8 will continue to run with 5.9. |
| |
| 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. |
| |
| **************************************************************************** |
| * Important Behavior Changes * |
| **************************************************************************** |
| |
| - [QTBUG-48658][QTBUG-56306] The linuxfb and bsdfb platform plugins now |
| follow the behavior of eglfs by making the first window fullscreen. This |
| provides consistency and avoids applications having to make their |
| windows match the screen size manually. The new behavior can be disabled |
| by setting the environment variable QT_QPA_FB_FORCE_FULLSCREEN=0. |
| - [QTBUG-59391] A QVariant containing a std::nullptr_t is now streamable |
| to/from QDataStream. |
| - Whitespace inside identifiers in logging rule files is not ignored |
| anymore. That is, "[my category]" and "[mycategory]" are now two different |
| categories. |
| - [QTBUG-59849] QSysInfo::productType() and QFileSelector behavior on |
| macOS was restored to match what Qt used to return in version 5.7.0 and |
| earlier. The behavior found in Qt 5.6.2, 5.7.1 and 5.8.0 is removed. |
| - [QTBUG-60771] Reverted a change that caused Qt 5.6 through 5.8 not to |
| connect to QSystemSemaphore and QSharedMemory created by running |
| applications using Qt earlier than 5.6. Unfortunately, this means that Qt |
| 5.9 will not connect to 5.6-5.8. |
| |
| - QTouchEvent |
| * Touch point ids are now unique even between different devices. As a |
| consequence of that, you cannot anymore assume that |
| QTouchEvent::TouchPoint::id has the same value as given by the native |
| platform nor the same value as given by synthesized touch points. |
| |
| **************************************************************************** |
| * General Notes * |
| **************************************************************************** |
| |
| Deprecation Notice |
| ------------------ |
| |
| - QSysInfo::windowsVersion() and QSysInfo::macVersion() are deprecated and |
| are replaced by the newly introduced class QOperatingSystemVersion. |
| - [QTBUG-57288] Removed support for WinRT/Windows Phone 8.1. |
| - Support for CMake < 3.1 is deprecated and will be removed in Qt 5.10. |
| |
| Future Compatibility Notice |
| --------------------------- |
| |
| - [QTBUG-59849] The identifiers that QSysInfo::productType() and |
| QFileSelector will use to identify macOS systems will change in Qt 6.0 |
| to match the Apple naming guidelines which will be current then. |
| |
| Potentially Source-Incompatible Changes |
| --------------------------------------- |
| |
| - The internal Q_COMPILER_UNICODE_STRINGS macro is now defined if the |
| compiler supports charNN_t, even if the standard library does not. To |
| check for availability of std::uNNstring, use the new |
| Q_STDLIB_UNICODE_STRINGS macro. |
| |
| Third-Party Code |
| ---------------- |
| |
| - Sqlite was updated to version 3.16.1. |
| - libpng was updated to version 1.6.28. |
| - Bundled HarfBuzz-NG copy updated to 1.4.1 |
| - Gradle wrapper 3.4.1 was added as a third-party component (see |
| src/3rdparty/gradle). The code is licensed under Apache License 2.0, and is |
| used to create Android packages. |
| - PCRE 8.39 (src/3rdparty/pcre) was removed as a third-party component. |
| - PCRE 2 10.22 was added in src/3rdparty/pcre2 as a third-party |
| component. The code is licensed under the BSD 3-clause "New" or "Revised" |
| License, and is required by QRegularExpression (at least version 10.20). |
| |
| **************************************************************************** |
| * Library * |
| **************************************************************************** |
| |
| QtCore |
| ------ |
| |
| - QProcessEnvironment is now available on iOS, tvOS, watchOS, and VxWorks. |
| - [QTBUG-57715] QCoreApplication::applicationVersion now defaults to an |
| appropriate platform-specific value. On Windows, it defaults to the |
| PRODUCTVERSION parameter of the VERSIONINFO resource for classic desktop |
| apps, and the version attribute of the application package manifest for |
| Univeral Windows Platform apps. On Apple Platforms (macOS, iOS, tvOS, |
| watchOS), it defaults to the CFBundleVersion property of the information |
| property list (Info.plist) file. On Android, it defaults to the |
| android:versionName attribute of the AndroidManifest.xml manifest |
| element. On other platforms, the default remains an empty string. |
| - Added QStaticByteArrayMatcher. |
| - Added new qfloat16 class. |
| - QStringLiteral is now guaranteed to be evaluated at compile-time. The |
| last platform (QNX) to use the QString::fromUtf8() fallback has been |
| ported to allocate the string data statically, too. |
| |
| - Event loop: |
| * [QTBUG-33489][QTBUG-48717] QCoreApplication::flush() is now |
| deprecated. Use QCoreApplication::processEvents() and |
| QCoreApplication::sendPostedEvents() instead. |
| |
| - QByteArray: |
| * Added toHex() overload to insert a separator character between the hex |
| bytes. |
| |
| - QChar: |
| * Disambiguated comparisons with nullptr constants such as '\0', which |
| 5.8.0 broke. As a consequence, QChar<->int comparisons are no longer |
| deprecated, as this was a failed attempt at fixing the ambiguity. |
| |
| - QCryptographicHash: |
| * [QTBUG-59770] QCryptographicHash now properly calculates SHA3 message |
| digests. Before, when asked to calculate a SHA3 digest, it calculated |
| a Keccak digest instead. |
| |
| - QDataStream: |
| * Added operator<< and operator>> overloads that take std::nullptr_t, to |
| facilitate generic code. |
| * Added operator<< and operator>> for streaming QFlags into and out of |
| QDataStreams. |
| |
| - QDateTime: |
| * [QTBUG-52284][QTBUG-56397][QTBUG-56460][QTBUG-56345] Fixed a number of |
| bugs related to handling of timezone offsets close to or during daylight |
| savings changeovers, as well as timezones changing their standard |
| offset. |
| * [QTBUG-57298][QTBUG-57320] Fixed the handling of time zones in the |
| toString() overload taking Qt::TextDate. |
| |
| - QDir: |
| * Fixed a bug that caused QDir::mkpath() to create the wrong directory |
| if the requested path contained a symbolic link and "../". |
| * Added isEmpty(), that can help determining if a directory listing would |
| be empty. |
| |
| - QFileInfo: |
| * [QTBUG-48306] Made sure that all file lifecycle times are in local |
| time. This was probably true before, but is now explicit. |
| |
| - QFileSelector: |
| * [QTBUG-51230] Removed the requirement for an unused default base file |
| in case you want to load only a variant. |
| |
| - QFlags: |
| * Added operator<< and operator>> for streaming QFlags into and out of |
| QDataStreams. |
| |
| - QHash / QMultiHash: |
| * [QTBUG-60395] Fixed a bug that caused operator== to fail in the presence |
| of duplicated keys. |
| |
| - QLocale: |
| * Additional flags in QLocale::NumberOption allow generating strings |
| from doubles in accordance to EcmaScript's Number.toPrecision(n). |
| * Qt functions now always use the system time zone on Apple platforms, |
| the same that low-level C APIs like localtime() does. Previously, |
| converting dates and times to strings would use the "default" time |
| zone (which is almost always the same as the "system" time zone but |
| could be changed with the Apple API). |
| |
| - QLockFile: |
| * [QTBUG-49640] Fixed a bug that caused QLockFile not to recognize a |
| stale lock file if the machine's hostname contained non-US-ASCII |
| characters, on Unix. A Windows fix is still pending. |
| * Fixed a deadlock occurring if a corrupted lock file's modification |
| time is in the future. |
| |
| - QMetaObject: |
| * [QTBUG-60185] Fixed crash in QMetaObject::invokeMethod() and |
| QMetaMethod::invoke() with QueuedConnection and types whose metatype gets |
| automatically registered. |
| |
| - QObject: |
| * QObject::dumpObjectInfo and QObject::dumpObjectTree are now fully |
| functional even in a non-debug build of Qt. |
| * QObject::dumpObjectInfo and QObject::dumpObjectTree now have const |
| overloads. |
| * Added a startTimer() overload taking std::chrono values. |
| * [QTBUG-58054] Fixed an incompatibility with using noexcept functions as |
| connect() targets in C++17 mode. |
| |
| - QSettings: |
| * [QTBUG-34919] Added proper support for system-wide configuration file |
| lookup based on XDG spec (XDG_CONFIG_DIRS) on Unix based systems. |
| * [QTBUG-58531] Fixed data corruption when reading byte arrays on macOS. |
| |
| - QSharedPointer: |
| * [QTBUG-49824] Fixed undefined behavior when creating an object with |
| QSharedPointer::create() and its constructor throws an exception. |
| |
| - QStorageInfo: |
| * Added QStorageInfo::subvolume(), which returns the name of the |
| subvolume of a volume that was mounted, if one was detected. This is |
| currently implemented only for btrfs on Linux. |
| |
| - QString: |
| * toLocal8Bit() now preserves nullness of the input QString (outputs |
| null QByteArray). |
| * QString::null is now deprecated. When used to construct a QString, use |
| QString() instead. When used to compare to a QString, replace with |
| QString::isNull(). |
| |
| - QStringRef: |
| * toLocal8Bit() and toLatin1() now preserve nullness of the input |
| QStringRef (output null QByteArrays). |
| |
| - QThreadPool: |
| * The cancel() function suffers from several subtle issues and has been |
| replaced with a new tryTake() function. |
| |
| - QUrl: |
| * The temporary compatibility in QUrl::resolved() that treated the base |
| URL as relative if its scheme matched the current URL's scheme has |
| been removed. |
| * [QTBUG-60364] Fixed a bug that caused certain domain names that look |
| like Internationalized Domain Names to become corrupt in decoded forms |
| of QUrl, notably toString() and toDisplayString(). |
| |
| - QVarLengthArray: |
| * Fixed a bug involving appending an item already in the container to |
| the container again. |
| * Added rvalue overloads of append() and push_back(). |
| |
| - QVariant: |
| * [QTBUG-56073] Fixed a bug that caused wrong results for comparisons of |
| QVariants containing either NaN or infinite numbers. |
| * Can now convert QUuid to and from QByteArray, not just QString. |
| * [QTBUG-58296] isNull() now returns true if the QVariant contains nullptr. |
| |
| QtGui |
| ----- |
| |
| - OpenGL: |
| * [QTBUG-55496] QOpenGLShaderProgram now offers a built-in program binary |
| disk cache for systems with OpenGL ES 3.x or GL_ARB_get_program_binary. |
| This can lead to significant increases in performance when it comes to |
| application startup times for example. Usage is opt-in for direct C++ |
| users of the class, however Qt's own main users of shaders, including Qt |
| Quick and QPainter's OpenGL engine, are migrated to use the new, |
| cache-enabled APIs. Opting out on application level is always possible |
| via Qt::AA_DisableShaderDiskCache. |
| |
| - QIcon: |
| * [QTBUG-49820] Implemented support for Scale directory key according to |
| Icon Theme Spec. Icons created via QIcon::fromTheme() now have high |
| DPI support by specifying the Scale in the appropriate entry of the |
| relevant index.theme file. |
| |
| - QImage: |
| * A new method reinterpretAsFormat() is has been added to change the |
| format of a QImage without converting the data. |
| |
| - QMatrix4x4: |
| * operator*=() now calculates the correct result even if the RHS and LHS |
| are the same object. |
| |
| - QPA: |
| * QPlatformScreen: Added an API to list available modes for a screen, |
| that is resolution and refresh rate. |
| * [QTBUG-58383] The function createForeignWindow() has been added to |
| QPlatormIntegration and is now responsible for creating foreign |
| windows. The function isForeignWindow() in QPlatformWindow has been |
| added, and platforms should implement this to return true for windows |
| created by createForeignWindow(). |
| |
| - QPainter: |
| * [QTBUG-28851] Fixed fills of negatively sized QRects. |
| |
| - QRgba64: |
| * The default constructor on Clang and GCC builds now no longer |
| initializes with 0s, but leaves the value uninitialized. This is |
| consistent with MSVC behavior and pre-C++11 behavior of GCC and Clang. |
| |
| - QScreen: |
| * Added manufacturer, model and serialNumber properties. |
| |
| - QTextLine: |
| * Fixed a possible undefined behavior in the calculation of glyph right |
| bearing when a QTextLine layout is performed. |
| |
| - QTouchEvent: |
| * TouchPoint::rect(), sceneRect() and screenRect() are deprecated; a |
| touchpoint is now modeled as an ellipse centered on a point, so please |
| use pos(), scenePos(), screenPos(), and ellipseDiameters() instead. |
| * QTouchEvent::TouchPoint::id values are now unique even between |
| different devices. |
| |
| - QWindow: |
| * [QTBUG-58383] The "_q_foreignWinId" dynamic property is no longer set |
| nor read. |
| |
| - Text: |
| * [QTBUG-56538] Added QTextDocument::toRawText() function. |
| * [QTBUG-48005] Fixed clipping errors and too small bounding rects for |
| some right-to-left text. |
| * [QTBUG-57241] Fixed crash for very tall glyphs |
| |
| QtNetwork |
| --------- |
| |
| - The connect timeout from QAbstractSocket is now configurable through |
| QNetworkConfiguration. |
| - Added redirects policy to QNAM. |
| - Added HTTP Strict Transport Security to QNAM. |
| |
| - Bearer management: |
| * [QTBUG-56228][QTBUG-52988] Fixed a bug that could cause a crash on |
| application exit, depending on the order of destruction of the |
| QCoreApplication object and the QtDBus manager thread. |
| |
| - QHostAddress: |
| * QHostAddress is now implicitly shared. |
| * Added operator!=(SpecialAddress, QHostAddress). |
| |
| - QSslSocket: |
| * Fixed connection to international domains (IDN) by normalizing to |
| ASCII equivalent before comparing the host name in the certificate. |
| * [QTBUG-56102] Allow QSslSocket (Secure Transport back-end) to use a temporary |
| keychain on macOS instead of a default one; this can be enabled via a special |
| environment variable QT_SSL_USE_TEMPORARY_KEYCHAIN (this feature is disabled |
| by default). |
| * [QTBUG-60233] QSslSocket (Secure Transport back-end) now respects CA |
| certificates set in QSslConfiguration (before was always implicitly using |
| the built-in anchor certificates in addition to a user provided configuration). |
| * [QTBUG-59480] Added a missing cipher (Secure Transport). |
| * [QTBUG-59930] Fixed spurious socket notifications in QCFSocketNotifer. |
| * [QTBUG-58214] Fixed spurious socket notifications on Windows. |
| |
| QtTest |
| ------ |
| |
| - QUuids are now printed on failure. |
| - Added QTest::addRow(), which is like newRow(), but can take printf-style |
| formatted strings. |
| |
| QtWidgets |
| --------- |
| |
| - [QTBUG-26116] QWidget now has a tabletTracking property, analogous to |
| mouseTracking, which will enable TabletMove events while the stylus is |
| hovering, even if no button is pressed. This allows applications to show |
| feedback based on the other tablet event properties such as rotation and |
| tilt. |
| |
| - Input: |
| * [QTBUG-42074][QTBUG-57003] Characters in the Unicode Private Use Area, as |
| well as zero-width joiners and zero-width non-joiners, are now accepted |
| as input in QLineEdit and QTextEdit. |
| |
| - Qt::WA_WindowPropagation: |
| * [QTBUG-59106] Locale is now propagated consistently, along with font and |
| palette, within the widget hierarchy. Previously, setLocale() propagated |
| the new locale from parents to children (recursively) but new children |
| didn't inherit from their parents. |
| |
| - QColorDialog: |
| * [QTBUG-58424] Fixed long standing bug that prevented custom colors in |
| QColorDialog to be stored in the settings. |
| |
| - QDialog: |
| * [QTBUG-6018][QTBUG-12156][QTBUG-14430] Fixed a bug where accessing the |
| result of QDialog's result could yield an incorrect value in some |
| situation like using it as a delegate for item views. |
| |
| - QErrorMessage: |
| * Critical (QtCriticalMsg) and informational (QtInfoMsg) messages are now |
| displayed properly. Previously, they appeared as if they were debug |
| (QtDebugMsg) ones. |
| |
| - QFormLayout: |
| * [QTBUG-58693][QTBUG-15990] The functions takeRow() and removeRow(), |
| new in 5.8.0, now take and remove the correct row. |
| |
| - QMacStyle: |
| * [QTBUG-57470] PE_IndicatorMenuCheckMark now looks for State_On instead of |
| the State_Selected to set its highlighted state. Its color is picked from |
| the style option palette. |
| |
| - QPixmapStyle: |
| * Now handles progress bars with minimum != 0 correctly. |
| |
| - QSizePolicy: |
| * Added transposed() method. |
| |
| - QSystemTrayIcon: |
| * [QTBUG-49283] Support for custom icons in showMessage() was added. |
| |
| - QTextEdit: |
| * [QTBUG-59196] Fixed initial char format of input method text as it is |
| in pre-edit mode. |
| |
| **************************************************************************** |
| * Platform-specific Changes * |
| **************************************************************************** |
| |
| Android |
| ------- |
| |
| - [QTBUG-44697] Removed old work-around which was causing OpenGL shader |
| compilation to fail on updated Android emulators. |
| - QTouchEvent::TouchPoints have correct ellipseDiameters() and rotation(). |
| |
| XCB/X11 |
| ------- |
| - [QTBUG-60389] Every QTouchEvent includes up-to-date keyboard modifiers. |
| - [QTBUG-59415] Every QTabletEvent includes up-to-date keyboard modifiers. |
| |
| Linux |
| ----- |
| |
| - Added an option to switch from mailbox to FIFO mode in eglfs' EGLStream |
| backend. This is done by setting the environment variable |
| QT_QPA_EGLFS_STREAM_FIFO_LENGTH to a >= 1 value, the desired length of the |
| FIFO queue. |
| - [QTBUG-57411] Added support for cross-compilation for the MIPS CI20. |
| - Added support for cross-compilation targeting 64-bit Jetson TX1 systems. |
| - Added support for cross-compilation targeting Renesas R-Car H2 (Lager) |
| systems. |
| - The Raspberry Pi 3 device specs have been renamed from linux-rpi3-* to |
| linux-rasp-pi3-* in order to follow the pattern of the RPi 1 and 2 specs. |
| - [QTBUG-57980] Added support for specifying the primary screen in the |
| JSON config file in QT_QPA_EGLFS_KMS_CONFIG when running on DRM/KMS with |
| eglfs. |
| - The evdevtouch plugin now has the option to apply filtering and |
| prediction. Enabled by passing "filtered" as an argument. Prediction can |
| be specified by passing "prediction=X" as an argument, where X is in |
| milliseconds. |
| |
| - linuxfb: |
| * [QTBUG-56306] Added experimental support for DRM dumb buffers. Enable |
| by setting the environment variable QT_QPA_FB_DRM to 1. |
| |
| macOS |
| ----- |
| |
| - Extra mouse buttons are now correctly be mapped to correct Qt::MouseButton |
| values. |
| |
| - Accessibility: |
| * [QTBUG-39008][QTBUG-54776][QTBUG-56043][QTBUG-57146] A common crash in |
| accessibility on macOS was fixed. |
| |
| Solaris |
| ------- |
| |
| - [QTBUG-56293] Support for the Illumos distribution OpenIndiana (release |
| "Hipster") has been added. This is a community-supported partial port. |
| |
| Windows |
| ------- |
| |
| - Support for Visual Studio 2017 has been added. |
| - Fixed frameMargins for WM_NCCALCSIZE when handled inside with |
| QAbstractNativeEventFilter. |
| - [QTBUG-55510][QTBUG-48242] Windows are now automatically resized when they |
| are moved on a screen to adapt to the new pixel ratio. |
| - [QTBUG-58446] Fixed a bug that caused applications to crash with |
| "Illegal instruction" faults when compiled with Visual Studio and run on |
| some older processors. |
| - [QTBUG-57023] Fixed a bug that caused QFile to create files with |
| truncated names if the file name was invalid. Now, QFile::open correctly |
| fails to create such files. |
| |
| - PDF: |
| * [QTBUG-58954] Fixed a bug in PDF output when using high-dpi scaling |
| which was causing the display of warnings when opening the file in |
| Adobe Reader. |
| |
| **************************************************************************** |
| * Tools * |
| **************************************************************************** |
| |
| moc |
| --- |
| |
| - [QTBUG-59351] Fixed parsing errors in presence of C++14 digit separators. |
| - Added Support for C++17 nested namespaces |
| - Move-only types are now supported as return types of signals and slots. |
| |
| configure & build system |
| ------------------------ |
| |
| - [QTBUG-30083] Generalized command line overrides of installation |
| paths of external dependencies; see configure -help. Use configure |
| -list-libraries to find about known libraries. |
| - [QTBUG-42937][iOS] Added support for the configure -shared flag. |
| - [QTBUG-56225] Re-introduced creation of config.summary. |
| - [QTBUG-57908][QTBUG-59062] Fixed parsing of configure --xxx options. |
| - [QTBUG-57656][macOS] Fixed installation of header-only modules like |
| QtUiPlugin in framework builds of Qt. |
| - [QTBUG-58321] Switching to a different qmakespec for user projects will |
| now properly enable C++11 support if necessary. |
| - [QTBUG-58411] Added configure -list-features option. This is useful |
| for finding unnecessary features to disable with -no-feature-XXX. |
| - [QTBUG-58511] Fixed QMAKE_CXXFLAGS, etc. assignments on the configure |
| command line being ignored when building bootstrapped Qt tools while |
| not cross-building (in cross-builds, they are intentionally ignored). |
| - [QTBUG-60016] configure will now refuse to run if it finds variables |
| in its environment which are known to cause trouble. |
| - [QTBUG-60382] Fixed query of library paths from pkg-config. |
| - Added possibility to merge ANGLE's libEGL and libGLESv2 into QtANGLE; |
| configure option -combined-angle-lib. |
| - [Windows] The -no-rtti configure option was removed, as Qt fails |
| to build under that condition. To disable RTTI in user code, add |
| CONFIG+=rtti_off to your project file. |
| - [GCC] Debug builds of Qt are now optimized with -Og if available; |
| use -no-optimize-debug to disable. This is also applicable to user |
| projects; add CONFIG+=optimize_debug to your project file. |
| - Added possibility to optimize release builds for size instea of speed; |
| configure option -optimize-size. |
| |
| qmake |
| ----- |
| |
| - [QTBUG-51598] Libs.private is now written to .pc files only when building |
| static libraries. |
| - [QTBUG-55279] Static plugins are now imported also into dynamic libraries, |
| not only executables. Various other improvements to static linking. |
| - [QTBUG-56965][Darwin] Fixed overriding QMAKE_*_DEPLOYMENT_TARGET from |
| within project files. |
| - [QTBUG-57343] Fixed execution of extra compilers' depend_commands in build |
| directories containing shell meta characters in their names,. |
| - [QTBUG-57276] Fixed QMAKE_PRE_LINK (always) and QMAKE_POST_LINK (in one |
| case) being ignored when building static libraries for Unix. |
| - [QTBUG-57435][VS] Fixed capitalization of <PlatformToolset> tags in the |
| generated vcxproj files. |
| - [QTBUG-57694][VS] Fixed bogus ToolsVersion attributes in the generated |
| vcxproj files. |
| - [QTBUG-57914][VS] Fixed handling of RC_FILE when generating single- |
| configuration vcxproj files. |
| - [QTBUG-59630][VS] Fixed uninitialized value of GenerateDebugInformation, |
| which was particularly bad if DebugFastLink was emitted for VS < 2015. |
| - [QTBUG-58710][MSVC/nmake] Fixed overlong lines in response files generated |
| for link.exe and lib.exe. |
| - [QTBUG-57502][Darwin] Added support for launch images in asset catalogs. |
| - [QTBUG-58126] Fixed the target compiler's default include and library paths |
| interfering with the build of host tools when cross-building. |
| - [QTBUG-58764] Fixed building of moc'able files with a Qt installation |
| in a path containing spaces. |
| - [QTBUG-58857] Added the ability to use CONFIG+=no_moc_predefs to suppress |
| the collection of the compiler's predefined macros for moc's use. |
| - [QTBUG-59004][Windows] '(n)make install' will now copy the timestamps of |
| the installed files, like it was already done on Unix. |
| - [QTBUG-59319] Fixed $$shadowed() function for the case where the source |
| tree lives in a symlinked or substituted path. |
| - [QTBUG-59779][Android][MinGW] Fixed CONFIG+=separate_debug_info. |
| - [QTBUG-38782][iOS] Added support for setting the Xcode development team |
| and provisioning profile. |
| - [QTBUG-58754][iOS] Fixed handling of bitcode. |
| - [Darwin] Binaries now automatically get @executable_path/Frameworks |
| added to RPATH, and libraries additionally @loader_path/Frameworks. |
| Suppress with CONFIG+=no_default_rpath. |
| - [Darwin][Xcode] QMAKE_BUNDLE_DATA now supports embedding Frameworks |
| and PlugIns. |
| - [macOS] Support for universal binaries has been re-introduced. |
| - Added the command line options -early and -late, plus -before (which is |
| the default) for symmetry with -after. |
| - The $$prompt() function will now exit qmake upon EOF on stdin. |
| - The touch() function now uses nanosecond precision if available. |
| - [MSVC] Qt now has a common mkspec for all Visual Studio versions, called |
| "win32-msvc". The old names which contained the version number are now |
| gone (but qmake scopes based on the old names continue to work). |
| In qmake project files, the version of the compiler can be obtained from |
| the MSC_VER and MSVC_VER variables (for example, for Visual Studio 2015, |
| those contain the values 1900 and 14.0, respectively). Those variables |
| are also available with the Intel compiler (win32-icc) and with Clang |
| (win32-clang-msvc). |
| - [Windows] The win32-clang-msvc qmakespec will now adjust the emulated |
| MSVC version to match that of the cl.exe found in PATH. |
| - [Windows] Fixed make 'install' targets to be idempotent. |
| - [Windows] '(n)make install' will not fail on file names containing the |
| plus sign any more. |
| - Numerous obsolete qmakespecs have been pruned. |