Most modern systems support setting the close-on-exec flag on file descriptors when opening them. ALSA was setting it again afterwards, which has been removed and will save one syscall for everyone using the just released version 1.2.2 every time an audio device is opened.
A test case failure in CMake when running on non-English locales was fixed, and another test error has been reported. Reuse of the same variable name in nested loops in another test case has also been fixed. An issue when using static libraries with PkgConfig has been identified. The FindPkgConfig module also got proper guarding against CMake policies, when used from a project that sets those policies to the old behavior.
That change in turn was a result of using the CMake build system of Curl, which received its share of improvements, also avoiding such warnings.
The CMake build system of libtiff was also optimized when parsing the library version from a header.
When turning on certain debug options in Qt, excessive newlines were produced, which was addressed by tailoring a function to what their callers actually need, which was a direct continuation of the newline fix from the previous mainlining news. The Gstreamer code in QtMultimedia was changed to use nullptr instead of NULL, use auto for variables assigned from a cast and avoid needless checks before calling free().
When using the Vivante driver on i.MX6 boards, Qt needs to know the index of the framebuffer, which it gets from the device node that was opened. That failed when the device was opened through a symlink (e.g. created by udev), which has been corrected for 5.15. The same change was also backported to 5.12. Speaking of backports to the stable branch, the undeprecation of QSignalMapper was also requested to be backported, and will show up in 5.12.8. Finally typos in the documentation have been found and fixed, in QQuickWindow as well as QImageIOPlugin.
It has also been uncovered and reported that the license file in fontconfig does not match the license recorded elsewhere.