Congratulations to the Swift team on releasing a 1.0 GM! Unsurprisingly, there were no changes that I could spot1 between beta 7 and the GM standard libraries.

But as they said in their blog post, “Swift will continue to advance with new features, improved performance, and refined syntax. In fact, you can expect a few improvements to come in Xcode 6.1 in time for the Yosemite launch.” As such, the first beta of Xcode 6.12 saw more changes to the standard library than we saw in the pre-1.0 beta, and here they are:

As flagged in the release notes, all the integer types have acquired truncatingBitPattern initializers for each of their larger counterparts.

initializers for each of their larger counterparts. The functions join , reduce , sort and sorted have acquired descriptions in the various places they’re implemented.

, , and have acquired descriptions in the various places they’re implemented. AssertString and StaticString are now Printable and DebugPrintable

and are now and HeapBufferStorage no longer inherits from HeapBufferStorageBase , which is gone.

no longer inherits from , which is gone. The Process instance is now declared with let rather than var

instance is now declared with rather than StrideThrough or StrideTo are now Reflectable

or are now StaticString now has a utf8Start instead of start (which still returns an UnsafePointer ). It also has a withUTF8Buffer method for using the underlying raw buffer, a unicodeScalar get property.

now has a instead of (which still returns an ). It also has a method for using the underlying raw buffer, a get property. String has lost its compare(other: String.UnicodeScalarView) method.

has lost its method. String also now implements several methods extending StringInterpolationConvertible – for a variety of different built-in types.

also now implements several methods extending – for a variety of different built-in types. Second versions of assertionFailure and fatalError now take a generic AssertStringType instead of StaticString .

and now take a generic instead of . equal and startsWith ‘s predicate functions have been renamed isEquivalent .

and ‘s predicate functions have been renamed . maxElement and minElement ‘s input parameter has been renamed elements .

and ‘s input parameter has been renamed . The toString function now says it returns the result of print ing, not debugPrint ing, an object.

There’s a new unsafeAddressOf function that takes an AnyObject . Apparently there’s “not much you can do with this other than use it to identify the object”.

There is a new protocol, UnicodeScalarLiteralConvertible , that follows the now-familiar literal converter pattern: a ThingType typealias, a convertFromThing class function, and a library-level typealias for ThingType for the standard type for these literals to convert into, in this case a String .

The ExtendedGraphemeClusterLiteralConvertible protocol now inherits this protocol, so the objects that implement it ( Character , String , AssertString and StaticString ) also now implement convertFromUnicodeScalarLiteral . And the UnicodeScalar struct now implements UnicodeScalarLiteralConvertible instead of ExtendedGraphemeClusterLiteralConvertible .

Here’s looking forward to more enhancements as Swift continues to develop.