All notable changes to this project will be documented in this file.
Aside from features marked [🔥 Experimental 🔥], Alamofire adheres to Semantic Versioning.
[🔥 Experimental 🔥] features may require breaking changes in minor, rather than major, releases. This will be rare and
compatibility should be preserved in most cases, but cannot be guaranteed.
5.6.x Releases - 5.6.0 | 5.6.1 | 5.6.2 | 5.6.3 | 5.6.45.5.x Releases - 5.5.05.4.x Releases - 5.4.0 | 5.4.1 | 5.4.2 | 5.4.3 | 5.4.45.3.x Releases - 5.3.05.2.x Releases - 5.2.0 | 5.2.1 | 5.2.25.1.x Releases - 5.1.05.0.x Releases - 5.0.0 | 5.0.1 | 5.0.2 | 5.0.3 | 5.0.4 | 5.0.55.0.0 Release Candidates - 5.0.0-rc.1 | 5.0.0-rc.2 | 5.0.0-rc.35.0.0 Betas - 5.0.0-beta.1 | 5.0.0-beta.2 | 5.0.0-beta.3 | 5.0.0-beta.4 | 5.0.0-beta.5 | 5.0.0-beta.6 | 5.0.0-beta.74.9.x Releases - 4.9.0 | 4.9.14.8.x Releases - 4.8.0 | 4.8.1 | 4.8.24.7.x Releases - 4.7.0 | 4.7.1 | 4.7.2 | 4.7.34.6.x Releases - 4.6.04.5.x Releases - 4.5.0 | 4.5.14.4.x Releases - 4.4.04.3.x Releases - 4.3.04.2.x Releases - 4.2.04.1.x Releases - 4.1.04.0.x Releases - 4.0.0 | 4.0.14.0.0 Betas - 4.0.0-beta.1 | 4.0.0-beta.23.5.x Releases - 3.5.0 | 3.5.13.4.x Releases - 3.4.0 | 3.4.1 | 3.4.23.3.x Releases - 3.3.0 | 3.3.13.2.x Releases - 3.2.0 | 3.2.13.1.x Releases - 3.1.0 | 3.1.1 | 3.1.2 | 3.1.3 | 3.1.4 | 3.1.53.0.x Releases - 3.0.0 | 3.0.13.0.0 Betas - 3.0.0-beta.1 | 3.0.0-beta.2 | 3.0.0-beta.32.0.x Releases - 2.0.0 | 2.0.1 | 2.0.22.0.0 Betas - 2.0.0-beta.1 | 2.0.0-beta.2 | 2.0.0-beta.3 | 2.0.0-beta.41.3.x Releases - 1.3.0 | 1.3.11.2.x Releases - 1.2.0 | 1.2.1 | 1.2.2 | 1.2.31.1.x Releases - 1.1.0 | 1.1.1 | 1.1.2 | 1.1.3 | 1.1.4 | 1.1.51.0.x Releases - 1.0.0 | 1.0.1Released on 2022-11-21. All issues associated with this milestone can be found using this filter.
Released on 2022-11-20. All issues associated with this milestone can be found using this filter.
Request has already been cancelled.
Released on 2022-07-17. All issues associated with this milestone can be found using this filter.
JSONEcoding contains values that can't be passed through JSONSerialization.
Cache-Control header tests to not require hard-coded delays.
SecTrustCopyCertificateChain.
Released on 2022-04-17. All issues associated with this milestone can be found using this filter.
automaticallyCancelling parameter in serializingDownloadedFileURL.
Released on 2022-04-13. All issues associated with this milestone can be found using this filter.
HTTPMethod.query to support the upcoming standard.
DownloadRequest to avoid producing resume data when not explicitly requested on cancellation.
Released on 2021-12-13. All issues associated with this milestone can be found using this filter.
async-await for requests and StreamOf for streaming values.
.indexInBrackets options for array encoding in query parameters.
RequestAdapterState and new protocol requirements for RequestAdapter to allow for additional state to be available.
Session to more safely target provided custom DispatchQueues for internal use.
AFError message regarding unacceptable Content-Types to sort the types.
responseJSON and associated methods, in preference to responseDecodable.
Protected wrapper when accessing properties of the wrapped values to ensure proper thread-safety.
Released on 2021-09-20. All issues associated with this milestone can be found using this filter.
Released on 2021-04-21. All issues associated with this milestone can be found using this filter.
Released on 2021-04-03. All issues associated with this milestone can be found using this filter.
DownloadRequests to access resume data from errors as well as cancellation.
MultipartUpload thread-safety.
Released on 2020-12-20. All issues associated with this milestone can be found using this filter.
Released on 2020-10-17. All issues associated with this milestone can be found using this filter.
URLResponseSerializer and attendant convenience methods so downloads can produce a non-optional URL.
file:// URLs, removing error added in 5.3.0 and adding support for DownloadRequest.
Released on 2020-10-17. All issues associated with this milestone can be found using this filter.
URLRequests and URLSessionTasks.
URLSessionTaskMetrics gathering on watchOS 7+.
URLRequest.headers extension property in URLEncoding.
AuthenticationInterceptor caused by synchronous refresh implementations.
file:// URLs by producing validation error.
Released on 2020-07-17. All issues associated with this milestone can be found using this filter.
debugDescription of DataRequest and DownloadRequest to better handle non-text and long content, with better formatting.
switch instead of if else statement.
DataStreamRequest.
Released on 2020-05-25. All issues associated with this milestone can be found using this filter.
.background DispatchQoS to .utility to avoid low-power issues.
Released on 2020-05-16. All issues associated with this milestone can be found using this filter.
DataResponsePublisher, DownloadResponsePublisher, and DataStreamPublisher to stream Alamofire responses.
AuthenticationInterceptor, for easier adaptation and retry of requests with credentials.
DisabledEvaluator to DisabledTrustEvaluator, deprecating the previous name.
Interceptor to be initialized with multiple RequestInterceptors, in addition to RequestAdapters and RequestRetriers.
Decimal values in URLEncodedFormEncoder.
Session.
NetworkReachabilityManager.
Released on 2020-04-04. All issues associated with this milestone can be found using this filter.
RequestModifier closure to request APIs, allowing mutation of created URLRequests.
DataStreamRequest, for streaming HTTP responses.
ServerTrustEvaluating documentation.
Released on 2020-03-23. All issues associated with this milestone can be found using this filter.
Request casting issue on retry that could lead to incomplete retry of UploadRequests.
finish() could be called multiple times, leading to duplicate response handler calls.
Released on 2020-03-15. All issues associated with this milestone can be found using this filter.
Released on 2020-03-14. All issues associated with this milestone can be found using this filter.
URLSessionConfigurations in Alamofire 5.
didFinishCollecting event.
RetryPolicy's handling of AFError.
DownloadRequest cancellation reliability.
-no_compact_unwind linker warning on watchOS by disabling the warning.
Released on 2020-02-23. All issues associated with this milestone can be found using this filter.
Released on 2020-02-23. All issues associated with this milestone can be found using this filter.
AlamofireExtension to have public properties and initializer, and conform to @dynamicMemberLookup.
Released on 2020-02-14. All issues associated with this milestone can be found using this filter.
NSURLAuthenticationMethodClientCertificate when handling auth challenges using URLCredentials.
AF namespace to be a reference to Session.default.
SessionDelegate by reducing the severity of the assertions.
public attribute on _URLEncodedFormEncoder.
Released on 2019-10-26. All issues associated with this milestone can be found using this filter. Note: Alamofire 5 is now API stable.
resume() behavior to be called after the first response handler is added instead of immediately after task creation.
URLEncodedFormEncoder.
SecTrust API when building for Catalyst.
Released on 2019-09-08. All issues associated with this milestone can be found using this filter. Note: Alamofire 5 is now API stable.
Error instead of generic Failure constraint in DataResponse API.
Released on 2019-09-04. All issues associated with this milestone can be found using this filter. Note: Alamofire 5 is now API stable.
cancelAllRequests method on Session to cancel all in flight requests.
FileManager instance into UploadRequest.
DataPreprocessor protocol and implementations, allowing the preprocessing of data before serialization.
URLRequest validation and error. GET requests with body data will now produce an error.
Failure constraint to DataResponse and DownloadResponse, making them DataResponse<Success, Failure: Error> and DownloadResponse<Success, Failure: Error>.
Session can't be used with background URLSessionConfigurations. Alamofire will explicitly support such functionality at some point in the future.
AFDataResponse<Success> and AFDownloadResponse<Success> typealiases to help deal with the doubly generic responses.
Result usage to use the fully qualified type instead of AFResult.
DataRequest and DownloadRequest functional API, renaming flatMap to tryMap.
HTTPMethod to be a struct rather than an enum.
AFError by default. All responses will now start with an AFError Failure type.
NetworkReachabilityManager to simplify and modernize its API.
Usage.md documentation to be fully up-to-date with Alamofire 5.
Released on 2019-07-29. All issues associated with this milestone can be found using this filter. Note: Alamofire will not be following semantic versioning during the beta process. There may be breaking changes until 5.0.0 is released.
URLEncodedFormEncoder.DataEncoding and URLEncodedFormEncoder.KeyEncoding to customize the encoding of Data and CodingKeys in URLEncodedFormEncoder.
cURLDescription method to produce cURL commands for Requests which are in the process of creating their initial URLRequest.
Request has completed. This no longer produces an error but will instead trigger the normal Request lifetime methods.
String instead of nil by URLEncodedFormEncoder.
os_unfair_lock to prevent rare crash.
Released on 2019-04-23. All issues associated with this milestone can be found using this filter. Note: Alamofire will not be following semantic versioning during the beta process. There may be breaking changes until 5.0.0 is released.
ServerTrustEvaluation logic by simplifying public key equality checks for SecKey types.
Request.State access to lock access and task updates using internal locking API.
DownloadRequest where some events were being duplicated and some were missing.
Request.
Released on 2019-04-12. All issues associated with this milestone can be found using this filter. Note: Alamofire will not be following semantic versioning during the beta process. There may be breaking changes until 5.0.0 is released.
Request.didResumeTaskNotification, Request.didSuspendTaskNotification, Request.didCancelTaskNotification, and Request.didCompleteTaskNotification notifications.
URLSessionTask lifetime events to EventMonitor.
SessionStateProvider to no longer be public and renamed the file it lives in.
MultipartUpload to no longer be public.
Request, DataRequest, UploadRequest, and DownloadRequest to longer be open, as Alamofire does not support subclassing these types.
Request to include Notification.
httpHeaders extensions on URLRequest, HTTPURLResponse, and URLSessionConfiguration to be headers instead.
Request where calling cancel() inside a response serializer would result in the serializer running again.
Session where the delegate precondition would be triggered when running with a swizzled URLSessionDelegate.
Request where certain lifetime events could be triggered more than once by repeatedly calling resume(), suspend(), or cancel().
Released on 2019-03-29. All issues associated with this milestone can be found using this filter. Note: Alamofire will not be following semantic versioning during the beta process. There may be breaking changes until 5.0.0 is released.
AlamofireExtended protocol and used it to namespace all public extensions.
switch and DispatchQueue logic throughout codebase to simplify usage patterns.
MultipartFormData data APIs by condensing them using optional parameters.
MultipartFormData to support custom boundaries.
Result type to be a new AFResult typealias on the new Swift.Result type in Swift 5 and removed all public extensions.
RequestInterceptor closures where callback arguments were not marked as @escaping.
emptyResponseAllowed logic was not working as expected.
Released on 2019-01-07. All issues associated with this milestone can be found using this filter. Note: Alamofire will not be following semantic versioning during the beta process. There may be breaking changes until 5.0.0 is released.
EmptyResponse protocol, to allow any type to provides values to stand in for an empty response.
Request's debugDescription.
Package.swift for Swift 5 support, moving Swift 4.2 support to Package@swift-4.2.swift.
Array to Range in Request's default acceptableResponseCodes.
RetryPolicy to allow subclasses to override retry(_:, for: Session, dueTo:, completion:).
didResume notification to didFinish, which is now called when a Request finished, not when tasks resume.
Requests not finishing when their controlling Session is deinitd or invalidated.
validate() due to reference cycle from implicit self capture when using an @autoclosure.
requestDidParseAnyResponse when using ClosureEventMonitor.
RetryPolicy to properly conform to RequestInterceptor.
Released on 2019-01-07. All issues associated with this milestone can be found using this filter. Note: Alamofire will not be following semantic versioning during the beta process. There may be breaking changes until 5.0.0 is released.
Session and per Request using the RedirectHandler protocol.
Session and per Request using the CachedResponseHandler protocol.
Session and per Request using the RequestInterceptor protocol.
Adapter, Retrier, and Interceptor types to provide fine grained control of retry behavior.
RetryPolicy and ConnectionLostRetryPolicy types.
RequestRetrier protocol to take a RetryResult in the completion closure allowing custom retry errors to be thrown.
Hashable implementation on Request to use new hash(into:) API.
Released on 2018-12-06. All issues associated with this milestone can be found using this filter. Note: Alamofire will not be following semantic versioning during the beta process. There may be breaking changes until 5.0.0 is released.
Decodable response serialization with responseDecodable.
Content-Encoding in Alamofire's default headers.
HTTPHeaders type and convenience APIs.
Encodable parameter types with JSONParameterEncoder and URLEncodedFormParameterEncoder.
EventMonitor protocol, to tap in to internal Alamofire lifetime events.
ServerTrustFailureReason to AFError.
ResponseSerializer and associated protocols' requirements and implementations.
RequestAdapter to allow for asynchronous adaptation.
SessionManager to Session, with rewritten implementation and API.
Request, DataRequest, UploadRequest, and DownloadRequest with rewritten implementation and API.
request API to be inside a real AF namespace enum rather than unnecessary Alamofire. usage.
PropertyListSerialization and responsePropertyList.
URLSessionStreamTask.
Timeline type, as Alamofire now gathers URLSessionTaskMetrics for every request.
Released on 2019-10-26. All issues associated with this milestone can be found using this filter.
DataResponse and DownloadResponse debugDescription to include more useful information.
Released on 2019-09-03. All issues associated with this milestone can be found using this filter.
DownloadRequests without producing resume data.
NetworkReachabilityManager behavior regression from 4.8.1.
validate().
Released on 2019-03-27. All issues associated with this milestone can be found using this filter.
Released on 2019-01-15. All issues associated with this milestone can be found using this filter.
Released on 2018-11-24. All issues associated with this milestone can be found using this filter.
Result methods to be throw/rethrows.
Released on 2018-7-8. All issues associated with this milestone can be found using this filter.
Released on 2018-4-15. All issues associated with this milestone can be found using this filter.
Requests after retry.
Released on 2018-3-31. All issues associated with this milestone can be found using this filter.
Released on 2018-3-5. All issues associated with this milestone can be found using this filter.
NetworkReachabilityManager
URLEncoding
Data to .DidComplete notification.
URLSessionTaskMetrics bug on watchOS.
ResultTests.
Released on 2017-12-3. All issues associated with this milestone can be found using this filter.
Response types.
#session-manager link in Advanced Usage docs.
@discardableResult.
Released on 2017-09-06. All issues associated with this milestone can be found using this filter.
URLCredential values.
TaskDelegate where task access was not thread safe.
substring APIs.
Released on 2017-06-16. All issues associated with this milestone can be found using this filter.
@escaping annotation for session delegate closures.
mapError, flatMapError, withValue, withError, ifSuccess, and ifFailure APIs to Result.
SessionDelegate internal implementation by removing redundant optional unwrap.
debugPrintable implementation of Request to use curl -v instead of curl -i to be more verbose.
MultipartFormData contentType property to be mutable.
URLProtocolTestCase where HTTP header capitalization was wrong due to httpbin.org change.
.reachable status with [.connectionRequired, .isWWAN] combination.
Released on 2017-02-26. All issues associated with this milestone can be found using this filter.
Alamofire/Alamofire Gitter channel and also added badge to the README.
defaultHTTPHeaders property was called incorrectly.
taskDidComplete override closure was not calling task delegate leading to
potential memory leaks.
Released on 2017-01-15. All issues associated with this milestone can be found using this filter.
macOS disclaimer to download request example in README.
value and error computed properties to data and download responses.
dependencies parameter to Package file for SPM since it's now required.
NetworkReachabilityManager to have a public instead of open ACL.
syncResult extension with DispatchQueue sync.
DownloadRequest sample code issue in AF 4 migration guide.
URLConvertible compiler issue in the README example.
SessionManager did not respect retry time delay.
RequestAdapter and RequestRetrier examples in README.
Released on 2016-11-20. All issues associated with this milestone can be found using this filter.
Timeline generation to DefaultDataResponse and DefaultDownloadResponse.
encode method that takes a JSON object along with unit tests.
RequestRetrier example in the README to safely extract tokens.
TaskDelegate data and error properties to a public ACL.
AdaptError instances were being incorrectly sent to the RequestRetrier.
Released on 2016-11-15. All issues associated with this milestone can be found using this filter.
resumeData and background session behavior.
retryCount property to support the RequestRetrier.
DispatchQueue internal APIs in the example.
RequestAdapter to call the RequestRetrier when an Error is thrown.
SessionManager to clean up the temporary multipart form data file after upload.
SessionManager links that were broken in the README.
response.error was used incorrectly.
ServerTrustPolicy tests where a macOS 10.12 check was needed.
DownloadRequest in AF4 Migration Guide.
nil response.
Released on 2016-09-24. All issues associated with this milestone can be found using this filter.
OS_ACTIVITY_MODE environment variable to iOS, tvOS and iOS Example.
com.alamofire with org.alamofire throughout the project.
.swift-version file and re-enabling pod lib lint in Travis file.
macOS in place of OS X.
~/Library/Application Support
on macOS.
to parameter was missing.
AFError where wrong case was used in several property implementations.
DispatchQueue extension where Foundation needed to be imported for submodules.
Validation closures where reference to self was causing retain cycle.
Released on 2016-09-11. All issues associated with this milestone can be found using this filter.
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.
Adapting and Retrying Requests section to the README.
DataRequest, DownloadRequest, UploadRequest and StreamRequest subclasses.
StreamRequest instances.
responseToSelector overrides for stream delegate APIs.
syncResult extension to DispatchQueue to simplify thread-safe locking.
dataFileNil and dataFileReadFailed cases to ResponseValidationFailureReason.
isWildcard property to MIMEType struct for convenience.
CustomDebugStringCovertible conformance to DownloadResponse.
FileManager extension in the test suite.
DownloadOptions option set to make moving files more robust.
DownloadOptions.
URLSessionTaskMetrics to all Response types.
HTTPHeaders typealias for top-level API convenience.
URLStringConvertible, URLRequestConvertible and RequestAdapter.
Request creation and adaptation.
authorizationHeader static method over to returning optional tuple.
SessionManager queues to each have a unique name using a UUID suffix.
Request subclasses to improve accuracy.
BaseTestCase to delete contents of common directories at the start of each test.
DataRequest and added equivalents
for DownloadRequest.
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.
request and download APIs now default to .get method and upload defaults to .post.
ParameterEncoding encode API to throw instead of returning tuple.
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.
Error examples as well as typo and whitespace fixes.
Request task property is now optional allowing errors to propagate through.
resource parameter name.
URLStringCovertible by renaming to URLConvertible and removed protocol property.
URLConvertible and top-level API changes.
public ACL declarations on AFError extensions.
URLStringConvertible conformance on URLRequest.
downloadProgress and uploadProgress Int64 variants.
URLEncoding issue around NSNumber parameter encoding.
MultipartFormData temp directory creation needed to be done serially.
Released on 2016-08-29. All issues associated with this milestone can be found using this filter.
Manager class due to cherry picked change that merged incorrectly.
Released on 2016-08-28. All issues associated with this milestone can be found using this filter.
discardableResult annotations to all top-level Request APIs.
Notification.Name namespace.
Manager class to SessionManager to be more descriptive.
SessionDelegate, TaskDelegate and subclasses by pulling them into the global namespace.
SessionDelegate to store Request instances internally to prepare for retry logic.
URLRequest initializer to match other APIs.
Error enum to AFError which now conforms to the new Error protocol.
MultipartFormData Swift 3 API refactor.
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.
Released on 2016-10-01. All issues associated with this milestone can be found using this filter.
Released on 2016-09-07. All issues associated with this milestone can be found using this filter.
User-Agent header generation formatting and also added docs and tests.
Released on 2016-08-28. All issues associated with this milestone can be found using this filter.
disig.sk to badssl.com to be more reliant and robust.
URLRequest method to maintain mutable variant data on an NSURLRequest passed
into the top-level APIs.
User-Agent header to include version and build numbers.
Cleanup Whitespace target.
Request debug description tests to no longer require parameters in a specific order.
Released on 2016-06-12. All issues associated with this milestone can be found using this filter.
26761490 to the list of rdars affecting Alamofire.
debugDescription test for a MultipartFormData Request with duplicate headers.
User-Agent header to use non-localized sources.
Generic Response Object Serialization section of the README to use protocol extension.
ReleaseTest configuration and updated Travis-CI yaml file to enable testability directly.
Timeline description and debugDescription due to string interpolation.
Released on 2016-05-08. All issues associated with this milestone can be found using this filter.
NSError userInfo dictionaries.
authorizationHeader API to generate base64 encoded authorization header.
NSURLProtocol with NSURLSession.
SesionDelegate to no longer be final to allow subclassing.
SessionDelegate subscript public to allow full control when subclassing.
Response Serialization section of the README to include validation examples.
Manager initializer in front of property assignment.
Accept header instead of Content-Type.
errorWithCode APIs and updated NSURLError* domains to NSURLErrorDomain.
cURLRepresentation method was not coalescing duplicate headers.
Released on 2016-04-06. All issues associated with this milestone can be found using this filter.
SessionDelegate redirect with completion override closure.
SessionDelegate override closures.
respondsToSelector check for the new HTTP redirect closure with completion.
SessionDelegate override closures were not called.
Released on 2016-03-23. All issues associated with this milestone can be found using this filter.
SessionDelegate APIs with completion handlers.
User-Agent header implementation to use more aggressive type-safety checks.
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.
Released on 2016-02-27. All issues associated with this milestone can be found using this filter.
StringResponseSerializer implementation to build with the latest Swift toolchain.
Released on 2016-02-07. All issues associated with this milestone can be found using this filter.
NSURLSessionTask changes state to allow support for the
network activity indicator.
Timeline struct to capture timings throughout the lifecycle of a Request.
Timeline section to the README.
NetworkReachabilityManager to listen for reachability status changes.
Network Reachability section to the README.
NSURLSessionStream APIs to support tvOS.
ParameterEncoding encode method to allow empty parameters to still be encoded.
Released on 2016-01-17. All issues associated with this milestone can be found using this filter.
Package.swift to the project to support Swift Package Manager (SPM).
Request class's debugDescription property.
Accept-Language header generation to use functional style.
Accept-Encoding and Accept-Language header values to have separator spaces between values.
Released on 2015-12-16. All issues associated with this milestone can be found using this filter.
NSTemporaryExceptionMinimumTLSVersion documentation to the ATS section in the README.
ReleaseTest configuration to allow running tests against optimized build.
carthage update command.
ParameterEncoding to early out when passed an empty parameters dictionary.
certificatesInBundle to support cer, crt and der extensions.
ENABLE_TESTABILITY flag to NO for Release configuration and disabled tests for
non-test builds to better support Carthage.
SecCertificate array Swift workaround in ServerTrustPolicy for Xcode 7.2.
Released on 2015-11-22. All issues associated with this milestone can be found using this filter.
Info.plist for tvOS setting the UIRequiredDeviceCapabilities to arm64.
https instead of http.
Released on 2015-11-06. All issues associated with this milestone can be found using this filter.
Released on 2015-10-31. All issues associated with this milestone can be found using this filter.
NSString with String.
nil or zero length.
responseData and responseString serializers.
Released on 2015-10-22. All issues associated with this milestone can be found using this filter.
BITCODE_GENERATION_MODE user defined setting to tvOS framework target.
APPLICATION_EXTENSION_API_ONLY enabled flag to YES in the tvOS framework target.
Released on 2015-10-19. All issues associated with this milestone can be found using this filter.
; was incorrect.
Released on 2015-10-10. All issues associated with this milestone can be found using this filter.
Downloading a File code sample in the README to compile against Swift 2.0.
response serializer.
Response section.
BITCODE_GENERATION_MODE setting for Carthage builds.
Released on 2015-09-27. All issues associated with this milestone can be found using this filter.
Response initializer to have a public ACL instead of internal.
Released on 2015-09-26. All issues associated with this milestone can be found using this filter.
Response initializer to have internal ACL.
Released on 2015-09-21. All issues associated with this milestone can be found using this filter.
Response struct to simplify response serialization.
Manager allowing dependency injection of the
underlying NSURLSession.
Manager initialization methods.Value and Error) where Error
conforms to ErrorType.
NSData?.
TaskDelegate to store an error as an NSError instead of ErrorType.
ValidationResult failure case to require an NSError instead of ErrorType.
Result type usage.
Response type.
Manager to accept a SessionDelegate parameter
allowing dependency injection for better background session support.
Released on 2015-09-20. All issues associated with this milestone can be found using this filter.
git init info.
Released on 2015-09-16. All issues associated with this milestone can be found using this filter.
Released on 2015-09-09. All issues associated with this milestone can be found using this filter.
URLEncodedInURL case to the ParameterEncoding for encoding in the URL.
Released on 2015-09-06. All issues associated with this milestone can be found using this filter.
parameters and encoding parameters to download APIs.
ErrorType instead of NSError.
Result type.
Released on 2015-08-25.
NSMutableURLRequest for the URLRequestConvertible protocol
conformance that could cause unwanted URL request referencing.
Released on 2015-08-24. All issues associated with this milestone can be found using this filter.
NSMutableURLRequest for the URLRequestConvertible protocol.
Manager.
URLRequestConvertible section in the README.
ServerTrustPolicyManager to be more flexible by using public ACL.
ServerTrustPolicyManager policies property to use public ACL and
added docstrings.
Result failure case to store an ErrorType instead of NSError.
required declaration on the Manager init method.
TaskDelegate operation queue would leak if the task was
never started.
Released on 2015-08-10. All issues associated with this milestone can be found using this filter.
watchOS deployment target to the podspec.
SecCertificate array compiler crash.
Result and Error types to refactor response validation and serialization.
CustomStringConvertible and CustomDebugStringConvertible conformance
to the Result enumeration.
watchOS framework target to the project.
Result tests pushing code coverage for Result enum to 100%.
SessionDelegate methods.
URLRequestConvertible to return an NSMutableURLRequest.
escape method in ParameterEncoding to use non-deprecated methods.
MultipartFormData encoding to leverage Swift 2.0 error handling.
ParameterEncoding to leverage guard for parameters to increase safety.
queryComponents and escape methods in ParameterEncoding to public to
better support .Custom encoding.
ParameterEncoding since they are now implied.
CustomDebugStringConvertible conformance of a Request.
Result type usage.
Released on 2015-08-10. All issues associated with this milestone can be found using this filter.
SessionDelegate if the
task override closure was set.
Released on 2015-07-24. All issues associated with this milestone can be found using this filter.
NSURLProtocol checking header passthrough behaviors.
Request to receive data incrementally from data responses.
responseCollection serializer.
MultipartFormData in-memory and streaming from disk.
MultipartFormData with complete code coverage.
Authorization header example to the README.
ServerTrustPolicy.
resumeData property to Request to expose outside data response serializer.
pod lib lint pass on the source.
ParameterEncoding encode return tuple to return a mutable URL request.
URLRequest convenience method to return a mutable NSURLRequest.
request / download / upload methods to support custom headers.
request / download / upload method external parameters convention.
ResponseSerializer protocol.
TaskDelegate.queue to public to allow custom request extension operations.
NSURLSessionConfiguration type declaration that can be inferred.
respondsToSelector overrides for SessionDelegate methods.
self throughout source, test and example logic.
setUp method.
There are a couple changes in the 1.3.0 release that are not fully backwards compatible and need to be called out.
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.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.
Released on 2015-06-12. All issues associated with this milestone can be found using this filter.
pod lib lint against the latest version of CocoaPods.
Released on 2015-05-13. All issues associated with this milestone can be found using this filter.
URLStringConvertible protocol around RFC specs.
Carthage/Build ignore flag to the .gitignore file.
.DS_Store ignore flag to the .gitignore file.
SessionDelegate override closure properties to match the method signatures.
Printable protocol on Request to reference output stream
rather than the specific OutputStreamType.
SessionDelegate willPerformHTTPRedirection method to accept optional return type
from override closure.
TaskDelegate override closure signatures and delegate method implementations.
SessionDelegate override closure documentation.
SessionDelegate closures.
dispatch_release.
TaskDelegate to only set qualityOfService for NSOperationQueue on iOS 8+.
DataTaskDelegate behavior ensuring NSProgress values and progress override
closures are always updated and executed.
Released on 2015-04-21.
SessionDelegate.
Released on 2015-04-09.
testURLParameterEncodeStringWithSlashKeyStringWithQuestionMarkValueParameter
test.
backgroundCompletionHandler property to the Manager called when the
session background tasks finish.
Request computed property progress to no longer be an optional type.
responseString serializer to respect server provided character encoding with
overrideable configuration, default string response serialization to ISO-8859-1, as
per the HTTP/1.1 specification.
SessionDelegate methods to first call the override closures if set.
SessionDelegate and all override closures to a public ACL allowing for customization.
SessionDelegate class to final.
SessionDelegate header documentation for method override properties.
APPLICATION_EXTENSION_API_ONLY to YES for OS X target.
SessionDelegate initializer and replaced with default property value.
expectation.fullfill() to end of closures.
dataTaskDidBecomeDownloadTask override closure.
SessionDelegate where the DataTaskDelegate was not being called.
Released on 2015-03-26.
Manager.
Manager to match the top-level functions.
testDownloadRequest to no longer remove the downloaded file.
Released on 2015-01-30.
requires_arc to the podspec file.
download method on Manager to use Request.DownloadFileDestination typealias.
RequestTests to no longer delete all cookies in default session configuration.
tearDown method in the AlamofireDownloadResponseTestCase.
testDownloadRequest in DownloadTests by adding .json file extension.
AlamofireRequestDebugDescriptionTestCase on OSX.
cURL
debug on OSX.
iOS Example scheme.
Released on 2015-01-09.
responseString parameter documentation.
Released on 2014-12-21.
APPLICATION_EXTENSION_API_ONLY flag to YES.
HTTPBodyStream for streamed request.
suggestedDownloadDestination parameters were being ignored.
Manager deinitialization and added documentation.
Released on 2014-11-20.
cURL example annotation in the README to pick up bash syntax highlighting.
stringByAddingPercentEncodingWithAllowedCharacters
with CFURLCreateStringByAddingPercentEscapes.
cURL output.
textLabel property on cells in the example app.
Released on 2014-10-20.
Released on 2014-10-20.
NSURLSessionConfiguration headers to cURL representation.
+ character.
cURL commands.
request method to the Manager bringing it more inline with the top-level methods.
HTTPBody from occurring twice.
subdelegateQueue to the SessionDelegate.
Released on 2014-09-25.