Alamofire v1.3.0 Release Notes

  • ๐Ÿš€ Released on 2015-07-24. All issues associated with this milestone can be found using this filter.

    โž• Added

    • โœ… Test case around NSURLProtocol checking header passthrough behaviors.
    • Stream method on Request to receive data incrementally from data responses.
    • Example to the README demonstrating how to use the responseCollection serializer.
    • ๐Ÿ”— Link to the README to the CocoaDocs documentation for Alamofire.
    • ๐Ÿ‘Œ Support for uploading MultipartFormData in-memory and streaming from disk.
    • โœ… Tests for uploading MultipartFormData with complete code coverage.
    • ๐Ÿ— The iOS 8.4 simulator to the Travis CI builds by switching to the Xcode 6.4 build.
    • โœ… Tests for the custom header support with complete code coverage.
    • ๐Ÿ‘ Section to the README about new HTTP header support in the global functions.
    • Basic auth Authorization header example to the README.
    • ๐Ÿ“Œ TLS certificate and public key pinning support through the ServerTrustPolicy.
    • โœ… Tests for TLS certificate and public key pinning with complete code coverage.
    • ๐Ÿ”’ Security section to the README detailing various server trust policies.
    • The resumeData property to Request to expose outside data response serializer.
    • Download request sample to iOS example app.

    โšก๏ธ Updated

    • The INFOPLIST_FILE Xcode project setting to be a relative path.
    • ๐Ÿ”ฆ Exposed persistence parameter for basic auth credentials.
    • ๐Ÿ‘• The Travis CI builds to run a full pod lib lint pass on the source.
    • All cases of force unwrapping with optional binding and where clause when applicable.
    • The ParameterEncoding encode return tuple to return a mutable URL request.
    • The URLRequest convenience method to return a mutable NSURLRequest.
    • ๐Ÿ‘ The request / download / upload methods to support custom headers.
    • The global request / download / upload method external parameters convention.
    • Response serialization to use generics and a ResponseSerializer protocol.
    • Download task delegate to store resume data for a failed download if available.
    • The TaskDelegate.queue to public to allow custom request extension operations.
    • The README code samples for Advanced Response Serialization.

    โœ‚ Removed

    • An unnecessary NSURLSessionConfiguration type declaration that can be inferred.
    • Unnecessary respondsToSelector overrides for SessionDelegate methods.
    • โœ… Unnecessary calls to self throughout source, test and example logic.

    ๐Ÿ›  Fixed

    โฌ†๏ธ Upgrade Notes

    ๐Ÿš€ There are a couple changes in the 1.3.0 release that are not fully backwards compatible and need to be called out.

    • The global request / download / upload external parameter naming conventions were not consistent nor did they match the Manager equivalents. By making them consistent across the board, this introduced the possibility that you "may" need to ๐Ÿ‘‰ make slight modifications to your global function calls.
    • ๐Ÿ‘ In order to support generic response serializers, the lowest level Request.response method had to be converted to a generic method leveraging the new ResponseSerializer protocol. This has many advantages, the most obvious being that the response convenience method now returns an NSData? optional instead of an AnyObject? optional. Nice!

    Please note that every effort is taken to maintain proper semantic versioning. In these two rare cases, it was deemed to be in the best interest of the community to slightly break semantic versioning to unify naming conventions as well as expose a much more powerful form of response serialization.

    If you have any issues, please don't hesitate to reach out through GitHub or Twitter.