Introduction
Motivation and goals
The primary goal of Swift 5.0 is for the language to achieve ABI (Application binary interface) stability. This will enable Swift runtime to be deployed by OS vendors that can be linked to the executables and libraries.
Related to ABI stability, module stability will be the primary focal point as well. This will land either in the Swift 5.0 release or in a subsequent one depending on its readiness.
Language Updates
The ABI is now declared stable for Swift 5 on Apple platforms. As a result, Swift libraries are now incorporated into every macOS, iOS, tvOS, and watchOS release going forward. Your apps will be easier to build and smaller because they won’t have to include those libraries.
What about other platforms?
ABI stability is implemented for each operating system that it compiles and runs on. Swift’s ABI is currently declared stable for Swift 5.0 on Apple platforms. As the development of Swift on Linux, Windows, and other platforms matures, the core team of Swift will evaluate stabilizing the ABI on those platforms.
The Standard Library updates in Swift 5.0 includes the following new features
- String reimplementation with a UTF-8 encoding which can often speed up the code (See UTF-8 String blog post for more).
- Improved support for raw text in string literals.
- Result and SIMD vector types added to the Standard Library
- Enhancements to String interpolation, adding more flexibility to construct text from data
- Performance improvements to Dictionary and Set
Swift 5.0 implements the following Standard Library proposals from the Swift Evolution process
- Raw Strings
- A standard Result type
- Customizing String interpolation
- Dynamically callable types
- Handling future enum cases
- Flattening nested optionals resulting from try?
- Checking for integer multiples
- Transforming and unwrapping dictionary values and compactMapValues()
- Conform Never to Equatable and Hashable
- Characters properties
- Add Codable conformance to Range Types
- Make Numeric Refine a new AdditiveArithmetic Protocol
- Introduce withContiguous{Mutable}StorageIfAvailable methods
Raw String
The ability to create raw strings, where backslashes and quote marks are interpreted as those literals symbols rather than escape characters or string terminator. This makes a number of use cases more easy, and regular expressions in particular will benefit.
- import Foundation
- let rain = #"The "rain" in "India" falls mainly from July to July end."#
# symbols at the start and end of the string become part of the string delimiter, so Swift understands that the standalone quote marks around “rain” and “India” should be treated as literal quote marks rather than ending the string.- import Foundation
- let keypaths = #"Swift keypaths such as \Person.name hold uninvoked references to properties."#

Sourabh SomaniPosted May 7, 2019, 7:31 AM
Good Article Pravesh Dubey
Gaurav KumarPosted Apr 7, 2019, 11:48 PM
Is this version having support or any package for linux?
Ashish TiwariPosted Apr 1, 2019, 5:55 AM
Thanks for sharing
Mahesh ChandPosted Mar 30, 2019, 7:23 AM
Thank you Pravesh.