All issues associated with this milestone can be found using this filter.

Added

  • The host and path to router example in README.
  • A macOS disclaimer to download request example in README.
  • New value and error computed properties to data and download responses.
  • The HTTP method to the data and download response debug descriptions.
  • A README entry about installing through SPM.
  • The dependencies parameter to Package file for SPM since it's now required.
  • TLS evaluation tests for revoked certs for no policy and default policy.
  • New server trust policy for revoked certificates along with matching tests.

Updated

  • Project to Xcode 8.2 recommend settings.
  • The NetworkReachabilityManager to have a public instead of open ACL.
  • The initializers for both default responses public and added metrics parameter.
  • Internals by replacing syncResult extension with DispatchQueue sync.
  • TLS tests for tvOS 10.1 and added expiration test for revoked evaluation.

Fixed

  • DownloadRequest sample code issue in AF 4 migration guide.
  • URLConvertible compiler issue in the README example.
  • An invalid comment in AF 4 migration guide.
  • An issue where the SessionManager did not respect retry time delay.
  • A broken reference link in the README.
  • Compiler issues in RequestAdapter and RequestRetrier examples in README.

Downloads

JSON Encoding and TaskDelegate Updates

@cnoon cnoon released this Nov 21, 2016 · 24 commits to master since this release

All issues associated with this milestone can be found using this filter.

Added

  • Request property overrides to fallback on original task if available.
  • Timeline generation to DefaultDataResponse and DefaultDownloadResponse.
  • JSON encoding encode method that takes a JSON object along with unit tests.

Updated

  • The RequestRetrier example in the README to safely extract tokens.
  • TaskDelegate data and error properties to a public ACL.
  • Multipart form data uploads to now delete temp file if encoding fails.

Fixed

  • Issue where AdaptError instances were being incorrectly sent to the RequestRetrier.
  • Issue where TLS tests were failing on iOS 10.0 and not on iOS 10.1.

Downloads

RequestAdapter and Deployment Target Updates

@cnoon cnoon released this Nov 15, 2016 · 33 commits to master since this release

All issues associated with this milestone can be found using this filter.

Added

  • Docstrings and a note to the README about resumeData and background session behavior.
  • Request retryCount property to support the RequestRetrier.

Updated

  • SPM package file to exclude tests since current configuration is not supported.
  • An example in the README to use proper error checking in download response handler.
  • Embedded framework installation instructions.
  • The AF4 Migration Guide to no longer use DispatchQueue internal APIs in the example.
  • The RequestAdapter to call the RequestRetrier when an Error is thrown.
  • The SessionManager to clean up the temporary multipart form data file after upload.
  • The deployment targets to iOS 8.0 and macOS 10.10.
  • The Travis CI yaml file to support iOS 8 simulators.
  • The iOS Example app deployment target to iOS 8.0.

Removed

  • Duplicate auto-code signing on macOS.
  • Duplicate code signing identities on various targets.

Fixed

  • A compiler error in response validation sample code in the README.
  • Several internal SessionManager links that were broken in the README.
  • Issue in the sample code of the README where response.error was used incorrectly.
  • Issue in the ServerTrustPolicy tests where a macOS 10.12 check was needed.
  • Compiler issue with DownloadRequest in AF4 Migration Guide.
  • Test target compiler warning by not requiring app extension APIs only.
  • Typo in the HTTP Headers section of the README.
  • Incorrect response type in the response README examples.
  • Xcode 8.1 compiler warnings and project suggestions.
  • Issue where download completion could crash on a nil response.
  • Issue in TLS tests where root certificate was missing from server trust.

Downloads

Leak Fixes and Test Result Updates

@jshier jshier released this Oct 2, 2016 · 1 commit to hotfix since this release

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.

Downloads

Bug Fixes and Documentation Updates

@cnoon cnoon released this Sep 25, 2016 · 68 commits to master since this release

All issues associated with this milestone can be found using this filter.

Added

  • The OS_ACTIVITY_MODE environment variable to iOS, tvOS and iOS Example.
  • Test verifying download request can be resumed with resume data.

Updated

  • All instances of com.alamofire with org.alamofire throughout the project.
  • Project by adding .swift-version file and re-enabling pod lib lint in Travis file.
  • The entire project to use macOS in place of OS X.
  • Framework and test target override settings that duplicated the project settings.

Fixed

  • Issue where the test suite was accidentally deleting contents of ~/Library/Application Support on macOS.
  • Typo in the migration guide around availability checks.
  • Typo in the README around response handlers.
  • Issue in the download example in the README where a to parameter was missing.
  • Issue in AFError where wrong case was used in several property implementations.
  • Typo in AF 4 migration guide where "enhancements" was spelled incorrectly.
  • Typo in code sample documentation where "already" was misspelled.
  • Typos in the Open Radars and Donations sections of README.
  • Issue in DispatchQueue extension where Foundation needed to be imported for submodules.
  • Memory leak in Validation closures where reference to self was causing retain cycle.
  • Compilation issue in response handler section of the README.

Downloads

🔥🔥 Alamofire 4 Hotness 🔥🔥

@cnoon cnoon released this Sep 11, 2016 · 90 commits to master since this release

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.
  • 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

Downloads

Swift 2.3 Support and Bug Fixes

@cnoon cnoon released this Sep 8, 2016 · 252 commits to master since this release

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.

Downloads

Build Failure Fix

@cnoon cnoon released this Aug 29, 2016 · 219 commits to master since this release

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.

Downloads

🔥 Swift 3 Hotness! 🔥

@cnoon cnoon released this Aug 29, 2016 · 222 commits to master since this release

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.

Downloads

Bug Fixes and Documentation Updates

@cnoon cnoon released this Aug 29, 2016 · 264 commits to master since this release

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.

Downloads