I'm currently working on a C++ project that has been taken out of cold storage and when the old rewrite question pops up the tech stacks considered for the job do not feature C++ at all. The main reason is that nowadays there are better tools and frameworks to implement non-performance critical parts of an application such as the GUI, which incidental takes over more than half the total lines of code, and the rest can be implemented easily with small support services developed in whichever tech stack you choose. Thus C++'s "jack of all trades" trait is no longer a major factor in the decision. Meanwhile the lack of a stable ABI starts to feature prominently as a reason not to adopt C++.
Most of the pressure to break compatibility comes from Microsoft and Google, representing a truly minuscule fraction of C++ users. However, both are heavily represented on the ISO Standard committee, and very, very little happens there without their express approval.
Introducing a new ABI in competition with the current ones (e.g. ia32 and x64) would be less destructive than officially abandoning those currently in use.
I'm currently working on a C++ project that has been taken out of cold storage and when the old rewrite question pops up the tech stacks considered for the job do not feature C++ at all. The main reason is that nowadays there are better tools and frameworks to implement non-performance critical parts of an application such as the GUI, which incidental takes over more than half the total lines of code, and the rest can be implemented easily with small support services developed in whichever tech stack you choose. Thus C++'s "jack of all trades" trait is no longer a major factor in the decision. Meanwhile the lack of a stable ABI starts to feature prominently as a reason not to adopt C++.