Swiftory
- Swift's Background
- An Evolving Language
- From 2 to 3
- Swift History
- Denial, Anger, Bargaining, and Acceptance
- Learning Swift
Migration
- How to Migrate
- Swift 2.3 and Swift 3.0
- Migration Lessons
Swift 2 to 3
- Access Control
- Open Access for Classes
- First Parameter Argument Labels
- Default Parameter Order
- Removing Argument Labels from Types
- Required Parameter Parentheses
- Improved Operator Precedence
- Operator Implementations in Types
- Operator and Comment Interaction
- Updated Conditions
- Moving Generic `where` Clauses
- Declaring Compound Protocols
- Generic Type Aliases
- Keyword-named Members
Cocoa Interop
- Automated Framework API Changes
- API Pruning
- Imported Boolean Properties
- Imported APIs and Default Arguments
- Structural Import Changes
- Importing Objective-C `id`
- Errors and NSError
- Abolishing the ImplicitlyUnwrappedOptional Type
- Hoisting
- Explicit Bridging Conversions
- Objective-C Options and Constants
- Property Selectors
- Key Paths
- Other Import Changes
Standard Library and Swift Foundation
- API Guidelines
- Lower Case Enumerations for Apple APIs
- Swift Foundation Value Types
- Inspecting Values and Types
- Pointer Nullability
- Accessing Raw Untyped Memory
- The Never Type
- New Sequence Functions
- Removing Optional Comparisons
- Building Strings from UTF8 Units
- Indexing Collections
- Dispatch
- Standard Library API Changes
Swift 2 to Swift 2.3
- For Loops, Increments and Decrements
- Associated Types
- Compile Time Version Checks
- Eliminating parameter backticks
- Compile-time Selectors Checks
- Naming Functions with Argument Labels
- Tuple Comparisons
- Goodbye to Tuple Splat
- Var Parameter Deprecation
- Redesigning Currying
- Debug identifiers are renamed
- Dot Operators
- Upgrading AnyGenerator
- And more…
Swift 3 to 3.1
- Adding `prefix(while:)` and `drop(while:)` to the Standard Library
Major Swift 3 and 4 announcements
- Swift 3.0 Release Process
- Swift ABI Stability Deferred
- Swift 3 Endgame and Swift 4 Kickoff
- Ending Swift 3 Source Breaking Changes
- Wrapping up Swift 3 and starting Swift 4
Revision History
Also By This Author