I'm really happy to see this happening. I think it will be very positive for encouraging community contributions and letting designs settle before the get locked into the Standard Library's ABI.
I think this lag for the main releases strikes a good balance that allows people to use the current version of the package without needing to immediately upgrade Swift. That will encourage use of the package and early adoption of new library features which are important goals.
I wonder though if it would make sense to also support a separate stream of releases that always requires the latest released version of Swift (or later) and drops any symbols that have moved to the library as of that Swift release. This would provide a better alternative for users who do want to update quickly to the latest version of Swift. It would also ensure more immediate usage of the library implementations because users of the "edge" release would not need to modify code to switch to the library's implementation.
I'm really happy to see this choice! If there are features required by standard library tests that are not available in
XCTest they should be added, as you mentioned. We will benefit from having the strongest shared testing infrastructure we and this would be a good step in that direction.