Clarification around ABI version

This was raised in D52660. Today, libc++ recognizes at least 3 different ABI versions: v1, v2 (and above) and unstable, see

There are several questions that were raised in that review that I’d like to get clarity on:

  1. Is there a plan to eventually stabilize v2 and introduce v3 (and above) as the unstable version or is v2 going to be unstable forever?

  2. What are the guarantees for v2? I understand that this ABI can still change, but I’m interested in testing and stability, shall we expect that v2 receives the same amount of coverage and that bugs specific to v2 will get resolved with the same priority as bugs specific to v1?

Since the ABI version is part of the generated __config header, it’s a vendor rather than per-target option which means it affects all targets that use libc++ headers from the toolchain. This is fine for us since we always link libc++ statically on host and we don’t have any plans to guarantee a stable C++ ABI on the target. The improvements seem to be worth using v2 over v1, but I’d like to better understand what the plans and guarantees are before committing to it.