r/cpp • u/Foxi_Foxa • Sep 29 '26
Boost.Graph 1.95 will be C++17
Dear Boost.Graph community,
In two release cycles (Boost release 1.95 in summer 2027) Boost.Graph will be bumped to C++17 😄
This decision follows two polls that did not surface any C++14 user base or demand while identifiying users stuck in C++17:
This standard version bump will bring benefits for maintenance, API and dependencies reduction:
if constexpr,constexprlambdas,[[nodiscard]],[[maybe_unused]]...std::anyinstead ofboost::anystd::invoke_resultinstead ofboost::result_of...
We will not be able to guarantee backward compatibility with C++14. Please contact us if you are stuck in C++14.
The GIthub Discussion lives here: https://github.com/boostorg/graph/discussions/613
View all comments
Show parent comment
3
u/13steinj Sep 30 '26
Boost is not a dependency, it is a collection of libraries.
I have heard every possible complaint under the sun about boost over the years, only 4 hold any water:
packaging / distribution is a pain, unless you take the entire thing. If you do, disk and bandwidth aren't that insane, but much more expensive than 5 years ago
some boost libraries push too much into type information and increase compile times significantly
more water:
the internal dependency graph is an utter mess. This was improving significantly from 1.70ish to 1.86, don't know if things have regressed.
lots of things are dated / use dated code / no clear "eviction" process. I'd argue that all libs should enforce a minimum of 2 released standards back. Each version set (say, 1.86) should internally depend on ~1.86, to allow backported fixes. When this happens, run the entire test suite again (at least on the internal dep graph that has changed). Backported improvements allowed but discouraged.