Alamofire v3.3.0 Release Notes

  • ๐Ÿš€ Released on 2016-03-23. All issues associated with this milestone can be found using this filter.

    โž• Added

    • โž• Added override closures for all SessionDelegate APIs with completion handlers.

    โšก๏ธ Updated

    • The User-Agent header implementation to use more aggressive type-safety checks.
    • All shared response serializers to accept a custom queue for execution.
    • The network reachability manager to use IPv4 on iOS 8.x and OSX 10.9.x.
    • โœ… All source, test and example code to compile against Swift 2.2.
    • โšก๏ธ The Travis CI YAML file to use Xcode 7.3 and also updated matrix targets.

    ๐Ÿ›  Fixed

    • โœ… Issue in JSON response serialization test case where the wrong serializer was being tested.
    • โฑ Issue where multipart form data encoding was unnecessarily scheduling input and output streams with the current runloop.

    โฌ†๏ธ Upgrade Notes

    This release requires Xcode 7.3+ otherwise the Swift 2.2 changes will NOT COMPILE. There are several reasons why this was deployed as a MINOR and not MAJOR release. First off, the public API changes of this release are fully backwards compatible. There are no breaking API changes in the public APIs. Strictly following semver dictates that this is a MINOR, not MAJOR release.

    ๐Ÿ‘€ > See semver for more info.

    ๐Ÿš€ We also realize that this can be frustrating for those out there not ready to upgrade to Xcode 7.3. Please know that we consider each release version carefully before deploying. Our decision to bump the MINOR version was not only due to strictly following semver, but also because it's difficult and undesirable for all OSS libraries to bump MAJOR versions each time the Swift APIs are incremented. Alamofire would have had to go through 6 additional MAJOR versions if this was the policy. That would mean we'd already be running on Alamofire 10.x. Incrementing MAJOR versions this quickly is disruptive to the community and would cause even more confusion. Instead, we try to carefully plan our MAJOR version releases and accompany them with detailed Migration Guides to help make the transition as smooth as possible.

    ๐Ÿ†“ If anyone has additional questions, please feel free to open an issue and we'll be more than happy to discuss further.