
Well, due to the inner shape of boost, such change are inevitable. What can be done is having such ABI-breaking change documented in a big, red, blinking part of the documentation.
Then all documentation would be red and blinking. Two reasons: - Class layout of many libraries may change with some small feature in configuration that may depend if you compile with gcc-4.1 or gcc-4.3 - Good example shared_ptr: - You may add debug define and class layout is changed - Sometimes it uses pthread sometimes atomic operations and it depends on so many things. And every 2nd boost upgrade added implementation for new platform. So **every library** that uses shared_ptr (like every 2nd boost library) would break ABI. The problem that Boost as whole never looks on ABI.
Did you repackaged libstd++5 when the 6 went out and broke some binary compatibility ?
6 Years ago? To be honest these days I don't remember if I had any project in C++ at all ;-) Artyom