Action Items

  • Use the migrator to update your Swift code to 4.2
  • Update Swift 3 code because this is the last release to support compatibility with it.
  • Use Incremental Compilation Mode for Debug builds. Stop using Whole Module for Debug builds.
  • The main action item for this session is to read up on the improvements and changes to the SDK. Only a few are covered in the session, but most of the big ones can be explored in this playground: https://oleb.net/blog/2018/06/whats-new-in-swift-4-2-playground/.

Major Takeaways

  • Huge focus on developer productivity.
  • Massive effort on under the hood improvements and changes to the runtime towards the goal of binary compatibility.
  • Faster Swift Debug builds.
  • Made optimizations to the runtime, such as the way reference counting works to reduce the number of retain/release calls.
  • Xcode 10 is the final release to support Swift 3 compatibility mode.
  • Synthesized Equatable and Hashable Conformance.
  • Swift 5 coming in early 2019.
    • Binary compatibility with future Swift compiler releases.
    • Swift runtime will ship in the OS — will no longer need to be included in the app bundle.