
Am 11.09.25 um 13:45 schrieb Vinnie Falco via Boost:
This new maintainer of Spirit has bumped up the language requirements to C++23, for what is in my opinion a gratuitous reason. To serve the widest audience I think it is best when libraries use the lowest version of C++ which is practical, and only adopt new language features when doing so improves the public API or offers a significant benefit to the user experience. While it is true that newer language features can make it easier for the maintainer to express the implementation, we make sacrifices (like writing `typename...type` instead of using the newer type trait aliases) for the convenience of users. I agree with you.
If the author/maintainer decides that there is enough benefit of raising the required C++ standard then it is his authority though. I do think that raising the required standard from C++03 to C++23 looks to much. But then again I don't maintain the library so this is only an opinion.
This bump to C++23, which came without warning, has affected Boost.MQTT5 which must now scramble to fix itself before the next release. There should have been a warning for a version first. IIRC we had guideline of announcing breaking changes, like this, 1-2 releases in advance. This didn't happen as it seems.
I also don't see any machine-readable statement of the required C++ standard. The README says C++23 & 26 but the meta-json and compile-requirements in the build files haven't been updated.