BT

Swift 3.1 Enters its Final Development Stage

by Sergio De Simone on Dec 13, 2016 |

Apple’s Swift team has made public their release plan for Swift 3.1, expected to be available in the Spring of 2017 and source-compatible with Swift 3.0, writes Apple’s language and runtimes manager Ted Kremenek.

According to Kremenek, Swift 3.1 will be source compatible with Swift 3.0:

It is a strong goal that the vast majority of sources that built with the Swift 3.0 compiler continue to build with the Swift 3.1 compiler. The exception will be bug fixes to the compiler that cause it to reject code that should never have been accepted in the first place. These cases should be relatively rare in practice.

Specifically, Swift 3.1 will not have a compatibility flag as Swift 4 is expected to have, so it should work “out-of-the-box”. Furthermore, the concept of source compatibility for Swift 3.1 explicitly includes the Apple SDKs for macOS, iOS, etc., meaning that they can only include source compatible changes. All changes that break source compatibility will be carefully evaluated to weigh the benefits they bring against the source compatibility goal, explains Apple engineer Ewa Matejska. In particular, bug fixes in the compiler that might break some “fringe case” will be foreseeably accepted, while changes to existing APIs should provide significant benefits.

Swift 3.1 will also mark a change in the way snapshots are produced by attempting to make new snapshots available daily. This should provide a finer granularity for the Swift community to test new features and ensure more release regularity in comparison with previous releases.

Swift 3.1 will be branched on January 16, 2017 from master. From that moment on, the master branch will be devoted to Swift 4 development and there is no guarantee that any changes to master could be part of the final Swift 3.1, although some notable change might still land in it based on the judgement of the release manager.

The scope of version 3.1 of Swift is deliberately limited to bringing a few enhancements to the core language and to the Swift Package Manager, as well as to improving the language support for Linux.

Rate this Article

Relevance
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss
General Feedback
Bugs
Advertising
Editorial
Marketing
InfoQ.com and all content copyright © 2006-2016 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.