All Versions
84
Latest Version
Avg Release Cycle
30 days
Latest Release
25 days ago

Changelog History
Page 5

  • v4.0.0

    πŸš€ Released on 2016-09-11. All issues associated with this milestone can be found using this filter.

    βž• Added

    • Internal DispatchQueue extension set of convenience properties and methods.
    • RequestAdapter and RequestRetrier protocols allowing requests to be retried.
    • βœ… RequestAdapter tests on all testable SessionManager request APIs.
    • βž• Added an Adapting and Retrying Requests section to the README.
    • DataRequest, DownloadRequest, UploadRequest and StreamRequest subclasses.
    • Top-level APIs for creating StreamRequest instances.
    • Extra responseToSelector overrides for stream delegate APIs.
    • πŸ”€ A new syncResult extension to DispatchQueue to simplify thread-safe locking.
    • πŸ‘ Two serialization failure reasons to support download response serializers.
    • βœ… Download response serialization tests for all serializer types.
    • The dataFileNil and dataFileReadFailed cases to ResponseValidationFailureReason.
    • The isWildcard property to MIMEType struct for convenience.
    • Missing CustomDebugStringCovertible conformance to DownloadResponse.
    • βœ… URL variants to the FileManager extension in the test suite.
    • DownloadOptions option set to make moving files more robust.
    • βœ… Tests validating success and failure scenarios for DownloadOptions.
    • ♻️ Parameter encoding failure docstrings and refactored reasons to be consistent.
    • Safeguards to url parameter encoding when extracting the url request’s url.
    • The new URLSessionTaskMetrics to all Response types.
    • The Alamofire 4.0 Migration Guide to the README.
    • HTTPHeaders typealias for top-level API convenience.
    • Complete safeguards to URLStringConvertible, URLRequestConvertible and RequestAdapter.
    • βœ… Tests around invalidURL error cases for Request creation and adaptation.

    ⚑️ Updated

    • The authorizationHeader static method over to returning optional tuple.
    • SessionManager queues to each have a unique name using a UUID suffix.
    • The progress tracking system across all Request subclasses to improve accuracy.
    • βœ… BaseTestCase to delete contents of common directories at the start of each test.
    • Response handler extensions by moving them into DataRequest and added equivalents for DownloadRequest.
    • The response serializer types to use the Protocol suffix.
    • Validation typealias to include response data in a DataRequest type.
    • Validation typealias to include temporary and destination URLs in a DownloadRequest type.
    • SessionManager APIs to all leverage TaskConvertible conformance.
    • DownloadFileDestination closures to be optional on top-level DownloadRequest APIs.
    • 0️⃣ The request and download APIs now default to .get method and upload defaults to .post.
    • The ParameterEncoding encode API to throw instead of returning tuple.
    • The TaskDelegate to only store the url session task error if error is nil.
    • ParameterEncoding enum by switching to a protocol backed by url, json and plist structs.
    • ⚑️ Updated RequestRetrier completion to be escaping.
    • βœ… Code signing to automatic with no team on framework, test and app targets.
    • README for Swift 3 and Alamofire 4 along with reorganization.
    • πŸ›  README with improved Error examples as well as typo and whitespace fixes.
    • Request task property is now optional allowing errors to propagate through.
    • The Travis-CI device list in the yaml file.
    • The top-level APIs by removing external resource parameter name.
    • 🚚 The URLStringCovertible by renaming to URLConvertible and removed protocol property.
    • The README and migration guide with the URLConvertible and top-level API changes.

    βœ‚ Removed

    • Unnecessary public ACL declarations on AFError extensions.
    • URLStringConvertible conformance on URLRequest.
    • βœ‚ Removed downloadProgress and uploadProgress Int64 variants.
    • 🌲 Duplicated change log message in the migration guide.
    • βœ… Code coverage generation by default to improve test suite stability.

    πŸ›  Fixed


  • v4.0.0-beta.2

    πŸš€ Released on 2016-08-29. All issues associated with this milestone can be found using this filter.

    πŸ›  Fixed

    • πŸ— Build issue with Manager class due to cherry picked change that merged incorrectly.
  • v4.0.0-beta.1

    πŸš€ Released on 2016-08-28. All issues associated with this milestone can be found using this filter.

    βž• Added

    • discardableResult annotations to all top-level Request APIs.

    ⚑️ Updated

    • βœ… All source, test and example logic as well as project settings to compile against the Xcode 8 beta releases.
    • πŸš€ Deployment targets to iOS 9.0, macOS 10.11, tvOS 9.0 and watchOS 2.0.
    • Notifications to use nested structs inside Notification.Name namespace.
    • The Manager class to SessionManager to be more descriptive.
    • The SessionDelegate, TaskDelegate and subclasses by pulling them into the global namespace.
    • πŸ“š All the Core APIs and documentation to match Swift 3 API design guidelines.
    • The SessionDelegate to store Request instances internally to prepare for retry logic.
    • πŸš€ The podspec to 4.0.0-beta.1 and bumped the deployment targets.
    • The parameter order of custom URLRequest initializer to match other APIs.
    • The travis yaml file for Xcode 8.
    • The Error enum to AFError which now conforms to the new Error protocol.

    πŸ›  Fixed

    • ♻️ Typo in a parameter name in the MultipartFormData Swift 3 API refactor.

    ⬆️ Upgrade Notes

    This release requires Xcode 8.0 beta 6+ because it has been completely refactored to compile against Swift 3.0. Any older versions of Xcode will NOT COMPILE.

    This release is the start of the Alamofire 4.0.0 beta releases. We still have quite a few large changes we're trying to squeeze in before the Xcode 8 GM drops, so the APIs will continue to change over the next few weeks. Please keep in mind that each beta will likely bring new APIs and also refactor others. The betas WILL NOT follow semantic versioning. We'll most likely conform to semantic versioning once we start releasing the RCs unless we run into a major unforeseen issue.

    πŸš€ We'd really appreciate everyone trying out the betas and letting us know if you find issues. We want to address every possible issue prior to the official Alamofire 4.0.0 release.


  • v3.5.1

    πŸš€ Released on 2016-10-01. All issues associated with this milestone can be found using this filter.

    πŸ›  Fixed

    • Assorted memory leaks caused by underlying Swift runtime bugs.
    • 🍎 Issue in the test suite logic on macOS 10.12.
  • v3.5.0

    πŸš€ Released on 2016-09-07. All issues associated with this milestone can be found using this filter.

    ⚑️ Updated

    • βœ… The User-Agent header generation formatting and also added docs and tests.
    • βœ… All source, test and example logic as well as project settings to compile against Xcode 7 and 8 against Swift 2.2 or 2.3 respectively.
    • πŸ‘· The Travis CI yaml file to support both Xcode 7.3 and 8 simultaneously.

    πŸ›  Fixed

    • βœ… A TLS evaluation test that could fail with a different error when behind a proxy.

  • v3.4.2

    πŸš€ Released on 2016-08-28. All issues associated with this milestone can be found using this filter.

    βž• Added

    • βž• Added Cleanup Whitespace target to remove excess whitespace from Swift files.

    ⚑️ Updated

    • βœ… All TLS evaluation tests from disig.sk to badssl.com to be more reliant and robust.
    • Internal URLRequest method to maintain mutable variant data on an NSURLRequest passed into the top-level APIs.
    • πŸ— The User-Agent header to include version and build numbers.

    βœ‚ Removed

    • All excess whitespace from Swift files using the Cleanup Whitespace target.

    πŸ›  Fixed

    • βœ… Request debug description tests to no longer require parameters in a specific order.
    • Small ACL issue in code sample of the Handling Errors section of the README.
  • v3.4.1

    πŸš€ Released on 2016-06-12. All issues associated with this milestone can be found using this filter.

    βž• Added

    • Rdar 26761490 to the list of rdars affecting Alamofire.
    • βœ… A new debugDescription test for a MultipartFormData Request with duplicate headers.

    ⚑️ Updated

    • CocoaPod installation instructions in README to be compatible with 1.x.
    • The README to reflect the best error practices in response serializers.
    • The generation of the User-Agent header to use non-localized sources.
    • The Generic Response Object Serialization section of the README to use protocol extension.
    • Reachability by removing explicit IPv6 logic since OS handles this automatically.
    • βœ… Host manager reachability test to use different hostname to improve test reliability.

    βœ‚ Removed

    • πŸš€ ReleaseTest configuration and updated Travis-CI yaml file to enable testability directly.

    πŸ›  Fixed

    • Memory leak in Timeline description and debugDescription due to string interpolation.
  • v3.4.0

    πŸš€ Released on 2016-05-08. All issues associated with this milestone can be found using this filter.

    βž• Added

    • Status code and content type values into validation NSError userInfo dictionaries.
    • πŸ†• New authorizationHeader API to generate base64 encoded authorization header.

    ⚑️ Updated

    • βœ… URLProtocol tests to demonstrate using NSURLProtocol with NSURLSession.
    • The SesionDelegate to no longer be final to allow subclassing.
    • The SessionDelegate subscript public to allow full control when subclassing.
    • The Response Serialization section of the README to include validation examples.
    • The delegate guard in the Manager initializer in front of property assignment.
    • Header example in the README to use Accept header instead of Content-Type.

    πŸ—„ Deprecated

    • ⚑️ The errorWithCode APIs and updated NSURLError* domains to NSURLErrorDomain.

    πŸ›  Fixed

    • Issue where Requests with invalid credentials were not terminating with 401 status code.
    • βœ… Issue in URLProtocol test where config headers are not passed prior to iOS 9.0.
    • Issue where Request cURLRepresentation method was not coalescing duplicate headers.
    • πŸ“œ Issue where incorrect dash in License file was breaking markdown parsing.
    • Issue where internal quotes were not escaped correctly in cURL output.

  • v3.3.1

    πŸš€ Released on 2016-04-06. All issues associated with this milestone can be found using this filter.

    βž• Added

    • βœ… Tests for the SessionDelegate redirect with completion override closure.
    • βœ… Tests for all the SessionDelegate override closures.

    ⚑️ Updated

    • βœ… The authentication test cases to clear out all cookies to help stabilize Travis-CI.
    • βœ… The cache test check for no store header to use availability checks.

    πŸ›  Fixed

    • The respondsToSelector check for the new HTTP redirect closure with completion.
    • Issue where the challenge and response SessionDelegate override closures were not called.
    • βœ… Typo in the Travis YAML file that was causing all tests to always fail on iOS 9.1.
    • βœ… Race condition in the cache tests that was causing random failures on Travis-CI.
  • v3.3.0

    πŸš€ 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.