Swift 4.2 offers improved Package Manager; new Source-code compatibility

Apple's programming language, Swift forthcoming version 4.2 is focused on stabilizing the language’s ABI (application binary interface), and to serve as an intermediary step to achieving ABI stability in the next version Swift 5.0 due for release later in the year.

While ABI allows for binary compatibility between applications and libraries compiled with different Swift language releases.

Apple is working on intermediate versions to smooth the transition between the September 2017 release of Swift 4 and the planned fall 2018 release of Swift 5, albeit Swift 4.2 is not binary-compatible with the previous releases.

But most source code built with the Swift 4.0 compiler should compile with the Swift 4.2 compiler and the Swift 4.1 compiler.

The Swift Package Manager is for code distribution, and it's integrated with the Swift build system to automate processes including downloading, compiling, and linking of dependencies. And Swift 4’s new compatibility modes could help from having to modify code and to be able to use the new version of the compiler.

Other improvements in Swift 4’s package manager include: cleaner Package API that allows packages to specify new settings, and formalization of packages, thus enabling control over what libraries a package publishes to clients.

Additionally, the package builds on MacOS now occur in a sandbox, which prevents network access and file-system modification, reducing the threat of malicious codes.

Apple maintains that source migration will be required for some projects, but the number of source changes remain “quite modest” compared to many previous changes between Swift releases. Swift 4.2 will be posted on Swift.org as part of the integration testing.
Next Post »