On 10/4/23 02:28, Andrey Semashev wrote:
Hi,
I'm considering raising minimum target Windows version for my libraries to at least Windows 7. This means dropping workarounds for missing WinAPI functions that are present (but, for a very long time now, untested) for Windows XP.
This specifically pertains to Boost.Atomic, Boost.Filesystem and Boost.Log.
I'm also tempted to raise the requirement to Windows 8 to have access to WaitOnAddress & co., but I'm hesitant since Windows 7 might still be wide spread (perhaps, not on desktop but embedded).
The current plan is to announce this in the release notes for the upcoming 1.84 release and drop the support in 1.85. This will mean the dependent libraries and tools will similarly drop support for older Windows versions.
Additionally, I'm proposing to raise the default target Windows version in Boost.WinAPI to Windows 10, provided that the Windows SDK that is detected in compile time supports it. This means that by default many Boost libraries that rely on Boost.WinAPI for WinAPI definitions will target Windows 10. Which, in particular, means the prebuilt binaries we distribute will require Windows 10, unless libraries take explicit measures to stay compatible with older versions.
I have no fixed time frame for the proposed Boost.WinAPI change, but it could be done as soon as in 1.84, since this doesn't remove anything, just changing the default.
Comments? Objections? Counter-proposals? I'm especially interested in comments regarding Windows 7 as the new baseline - am I being too conservative?
Thanks everyone for the feedback. Given that there were no objections to increasing the default target Windows version in Boost.WinAPI, I have increased the default to Windows 10. On compilers that don't support Windows 10 the latest supported version is the default. This change will be part of 1.84. Regarding my libraries, I think I will still deprecate support for Windows XP in 1.84 but will make the deprecation period longer, until 1.87 (about a year after 1.84). This should give users time to upgrade their projects. Regarding the new minimum, I think it will be Windows 10. The feedback I received (including privately) indicates most people don't think supporting Windows 7 is worthwhile, and Windows 8/8.1 seems to be even less popular, so Windows 10 it is. If you have any further comments or you think Windows 7 needs to be supported, please let me know.