On Tue, 13 Jan 2026, Luca Bacci wrote:
Users often rely on the __MINGW64_VERSION_MAJOR macro either for feature
detection or to work around older issues.
However we increment __MINGW64_VERSION_MAJOR right after a release. For
example, mingw-w64 13.0.0 was released on 2025-06-08, and the macro was
bumped soon after branching (on 2025-06-05):
https://github.com/mingw-w64/mingw-w64/commit/b45abfe
When code checks for __MINGW64_VERSION_MAJOR >= 13, the developer
expects mingw-w64 13.0.0 as a base. Instead mingw-w64 could be a
development snapshot made a after the 12.0.0 release. Note that MSYS2
uses development snapshots. Most Linux distributions use offical
releases only, but users could package mingw-w64 themselves (e.g. AUR).
Yes, this is indeed an issue.
I think it could make things clearer, if we'd bump the minor version
number when we branch off for a release. (In most cases, the release is
just a tag on master; with this it would require one commit on
that branch first.) This matches the versioning scheme used by both GCC
and Clang/LLVM these days; while in development on git main, GCC is
versioned e.g. as 16.0.0, but when branched for release, it becomes
16.1.0.
// Martin
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public