Since I’ve been gathering data and doing tests, I’ll post my results as an updated chart in this answer:
Awhile ago, I found out that newer versions of Xcode do not, in fact, support migrating from all older versions of Swift. I did explicitly test that Xcodes 10.2 through 11 don’t support Swift 3.x and earlier, so I colored those white. I’ve not yet had time to test Xcode 8.3 through 10.1, but I suspect they will migrate 3.x but not 2.x or earlier; that’s why there’s a big “Unknown” block at the top.
Sources
- Manual testing with this test code: https://github.com/BenLeggiero/Swift-Version-Checker
- Xcode Release Notes
- Swift Release Notes