More APIs have been made optional-conformant. The good news is that code will make more sense. The bad news is that some existing code may break.

Value of type Any can now contain function-type values, as you might come to expect from a value named Any.

Documentation for the standard library, which shows up in quick help and in the synthesized header for the Swift module, is improved.

All the *LiteralConvertible protocols now use initializers for their requirements rather than static methods starting with convertFrom. Any type that previously conformed to one of these protocols will need to replace its convertFromXXX static methods with the corresponding initializer.

Xcode now produces fixit hints to move code from the old-style fromRaw()/toRaw()enum APIs to the new style-initializer and rawValue property.

Class properties don’t need to be marked final to avoid O(n) mutations on value semantic types.

iOS Playgrounds now support displaying animated views with the XCPShowView() XCPlayground API. This is disabled by default, but can be enabled by checking the Run in Full Simulator checkbox in the Playground Settings inspector. When this checkbox is checked, running the playground will cause the iOS Simulator application to launch and run the playground in the full simulator. This is also required for some other functionality that fails without the full iOS Simulator, such as NSURLConnection http requests. Running in the full iOS Simulator is slower than running in the default mode.

Apple has addressed an issue that could cause Xcode to become unresponsive while editing Swift code.

Dead code stripping no longer removes public declarations from Swift application targets which are needed by unit testing.