Preliminary Swift 5 branch

Yesterday the LLVM project created its release branch for version 6.0, and we plan to align with this branch for Swift 5.0. The swift-llvm, swift-clang, and swift-compiler-rt repos on GitHub have been updated with new branches named "swift-5.0-branch" that track the LLVM 6.0 branches.

On Monday (Jan. 8), we plan to create a preliminary swift-5.0-branch for Swift as well. This will allow us to get started setting up infrastructure to support the Swift 5 release. There will be additional information about the Swift 5 release and branching in the future. For now, you can safely ignore this branch.

Note that because the LLVM 6.0 release is just getting started, we’re going to hold off switching over to use it for a little while. The “stable” branches for the swift-llvm, swift-clang, and swift-compiler-rt repos will continue to merge from swift-4.1-branch for a while longer.


The purpose of swift-5.0-branch is clear having read this post. However, the doc for release branches doesn’t cover this case.

I assume there will be a merge from master to include frontend changes, when this branch has accumulated enough changes made for LLVM 6.0. Is this correct?

I don’t really understand what you’re asking here, but I’ll point out that the information here has been superseded by the plans for the 4.2 release. The LLVM 6.0-aligned branches are now known as “swift-4.2-branch”.

I think you’re asking about the branches in the Swift repo. The Swift release schedule is different than the LLVM release schedule, so the timing of branches for Swift is not determined by when there are “enough changes” for LLVM. Because we have found that it is helpful to have a stable version of LLVM to use for Swift development, we typically create new release branches in the LLVM repos for Swift much earlier than for Swift. What happened here is that we guessed at the version number for the next Swift release and then had to adjust course when we decided to insert the 4.2 release.

Does that answer your question?

1 Like