All notable changes to this project will be documented in this file.
Aside from features marked [🔥 Experimental 🔥], Alamofire
adheres to Semantic Versioning for source stability.
[🔥 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.9.x
Releases - 5.9.0 | 5.9.15.8.x
Releases - 5.8.0 | 5.8.15.7.x
Releases - 5.7.0 | 5.7.15.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.7
4.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.2
3.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.3
2.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.4
1.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.1
Released on 2024-03-30. All issues associated with this milestone can be found using this filter.
HTTPHeaders
andHTTPHeader
to beSendable
.HTTPMethod
to beSendable
.
- CocoaPods visionOS support by explicitly declaring it in podspec.
- Fixed by Tamás Jäger in Pull Request #3845.
Released on 2024-03-03. All issues associated with this milestone can be found using this filter.
- [🔥 Experimental 🔥]
WebSocketRequest
, as a wrapper forURLSessionWebSocketTask
. This preview release is undocumented behind@_spi(WebSocket)
. Its API will change in the future, especially to adopt typed throws, but it is largely feature complete, tested, and usable now. API feedback, missing use cases, and bug reports are much appreciated before it goes fully public. PrivacyInfo.xcprivacy
file and integration with SPM, CocoaPods, and Carthage.- Added by Dmitry Kuleshov and Jon Shier in Pull Requests #3792, #3831, and #3839.
AlamofireDynamic
target, to force dynamic linking in Xcode when using SPM. Only use when you know you need it.AFInfo
enum and a publicversion
value to get Alamofire's current version,AFInfo.version
.
- Alamofire to require Swift 5.7.1.
- Project structure to break apart large
Request.swift
file and consolidate variousRequest
subclasses into their own files. Empty
type to beSendable
.- Updated by Antoine van der Lee in Pull Request #3816.
.swiftformat
to remove duplicate rules.
- Platform deprecation warnings in
Package.swift
in newer Xcode versions. Alamofire.podspec
after project restructuring.- Various documentation typos.
- Fixed by JaewoongLee-swift, TaeHyun, and hugo-syn in various Pull Requests.
Released on 2023-10-26. All issues associated with this milestone can be found using this filter.
URLEncodedFormEncoder
encoding ofEncodable
values with optional properties usingencodeIfPresent
.- Missing "Skip Install" setting for visionOS target.
Released on 2023-08-31. All issues associated with this milestone can be found using this filter.
- visionOS support.
- Hooks for initial
HTTPURLResponse
values. - Android build support.
- Added by Hugo Gonzalez in Pull Request #3744.
- Async integration to obey automatic cancellation by default.
- Platform
#if
checks. - Windows CI.
- Updated by Saleem Abdulrasool in Pull Request #3763.
URL
conversion tests for 2023URL
changes.- for-loop to
contains
.- Updated by Mayank Kumar Gupta in Pull Request #3726.
MultipartFormData
stream to properly obeybodyContentLength
.- Fixed by Henrique Valcanaia in Pull Request #3730.
- Unnecessary call to empty init.
- Documentation typos.
Released on 2023-05-10. All issues associated with this milestone can be found using this filter.
- Deployment targets reverted to (macOS 10.12, iOS 10, tvOS 10, and watchOS 3)+
Released on 2023-05-09. All issues associated with this milestone can be found using this filter.
- Request body compression support. This is disabled by default.
ArrayEncoding.custom
toURLEncodedFormEncoder
andURLEncoding
.- Added by Mike Naquin in Pull Request #3699.
KeyPathEncoding
toURLEncodedFormEncoder
.NilEncoding
toURLEncodedFormEncoder
.
- Alamofire now requires Swift 5.5+ and (macOS 10.13, iOS 11, tvOS 11, and watchOS 4)+.
flatMap
tomap
inHTTPHeaders
.- Various CI integrations.
- Reachability API usage safety.
- Unused
bufferingPolicy
inStreamOf
. - Various documentation typos.
- Fixed by Timo Wälisch, Tony, and uhooi in various PRs.
Released on 2022-11-21. All issues associated with this milestone can be found using this filter.
- Deprecated OS version support in Swift 5.7 SPM Package.
- Fixed by Guglielmo Faglioni in Pull Request #3665.
Released on 2022-11-20. All issues associated with this milestone can be found using this filter.
- Calls to deprecated cancellation handler function.
- Fixed by Sven Münnich in Pull Request #3657.
- Unnecessary protocol conformance on Combine publishers.
- Fixed by MoonkiKim(김문기) in Pull Request #3650.
- Don't attempt retry when
Request
has already been cancelled.
Released on 2022-07-17. All issues associated with this milestone can be found using this filter.
- Error when object provided to
JSONEcoding
contains values that can't be passed throughJSONSerialization
.
- CI support for all supported Xcode, macOS, and Linux versions.
- Support for various Xcode version.
Cache-Control
header tests to not require hard-coded delays.
- Swift version check for
SecTrustCopyCertificateChain
. - Various documentation issues.
- Fixed by Jacob Lange, rain2540, bondxf, Ikko Ashimine, and Elon Park in various Pull Requests.
Released on 2022-04-17. All issues associated with this milestone can be found using this filter.
- Missing
automaticallyCancelling
parameter inserializingDownloadedFileURL
.
Released on 2022-04-13. All issues associated with this milestone can be found using this filter.
- Support for
HTTPMethod.query
to support the upcoming standard. - Compile-time Swift version check to enforce minimum supported Swift version.
- Added by Dave Verwer in Pull Request #3549.
- GitHub Sponsors support. You can now sponsor Alamofire directly through GitHub.
- Swift version required to build [🔥 Experimental 🔥] Swift Concurrency support to 5.6.0 to avoid various Apple bugs with Xcode 13.2.0 and 13.2.1. Support now requires Xcode 13.3.1.
DownloadRequest
to avoid producing resume data when not explicitly requested on cancellation.- Testing infrastructure to use XCTestPlans on Apple platforms.
- GitHub Actions support for greater OS coverage, more SPM platforms, and Swift 5.6.
- Various Security framework deprecation warnings when deploying to newer OSes.
- Various documentation issues.
- Fixed by Jon Shier, Emanuele Fumagalli, Huang-Libo, and rain2540 in Pull Requests #3548, #3562, #3573, #3574, and #3585.
Released on 2021-12-13. All issues associated with this milestone can be found using this filter.
- [🔥 Experimental 🔥] support for Swift Concurrency, including
async
-await
for requests andStreamOf
for streaming values. - Generic static accessors for various protocols types for Swift 5.5.
.indexInBrackets
options for array encoding in query parameters.- Added by Tiago Lopes in Pull Request #3516.
RequestAdapterState
and new protocol requirements forRequestAdapter
to allow for additional state to be available.- Added by Christian Noon in Pull Request #3504.
Session
to more safely target provided customDispatchQueue
s for internal use.AFError
message regarding unacceptableContent-Type
s to sort the types.- Updated by Timur Yusipov in Pull Request #3518.
- Base Swift language version requirement to 5.3.
- Sample app to show proper loading state for requests.
- Updated by Tiago Lopes in Pull Request #3514.
responseJSON
and associated methods, in preference toresponseDecodable
.
- Use of
Protected
wrapper when accessing properties of the wrapped values to ensure proper thread-safety. - Various documentation typos.
- Fixed by Christos Koninis, Tiago Lopes, and Eugene Berdnikov in various Pull Requests.
Released on 2021-09-20. All issues associated with this milestone can be found using this filter.
- Support for Xcode 13, including a workaround for Combine compilation on older architectures.
- Testing on watchOS.
- Support for building on Windows and Linux. Alamofire is unsupported on these platforms but should build correctly.
- Added by Jon Shier and Alex Taffe in Pull Requests #3446 and #3462.
- Async navigation title updating in example app.
- Fixed by Tiago Maia in Pull Request 3494.
- Various documentation bugs.
- Fixed by Jordan de Laune, Cédric Luthi, Romain Bertozzi, and Tiago Maia.
Released on 2021-04-21. All issues associated with this milestone can be found using this filter.
- Change in multipart upload creation order.
- Fixed by Christian Noon in Pull Request #3438.
- Typo in Alamofire 5 migration guide.
Released on 2021-04-03. All issues associated with this milestone can be found using this filter.
- Resume data handling for
DownloadRequest
s to access resume data from errors as well as cancellation. - Project files and templates for Xcode 12.4 and GitHub templates.
MultipartUpload
thread-safety.- Multipart body stream length handling to better handle partial streams.
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-optionalURL
.
- Handing of
file://
URL
s, removing error added in 5.3.0 and adding support forDownloadRequest
.
Released on 2020-10-17. All issues associated with this milestone can be found using this filter.
- Closure callback APIs for the production of
URLRequest
s andURLSessionTask
s. URLSessionTaskMetrics
gathering on watchOS 7+.
- Project settings, GitHub Actions, tests, and formatting for newer Xcodes.
- Use of
URLRequest.headers
extension property inURLEncoding
. - iOS example app.
- Various documentation.
- Updated by Jaydeep Vora, Minhyuk Kim, and Tieda in Pull Requests #3274, #3292, and #3317.
- Double lock crash in
AuthenticationInterceptor
caused by synchronousrefresh
implementations. - Crash when requesting
file://
URL
s by producing validation error.- Fixed by hyotak.yun in Pull Request #3318.
- Missing rethrow of error produced when writing temporary multipart files fails.
- Objective-C module conflicts in Xcode 12 by removing Obj-C module support.
Released on 2020-07-17. All issues associated with this milestone can be found using this filter.
debugDescription
ofDataRequest
andDownloadRequest
to better handle non-text and long content, with better formatting.- Code to use
switch
instead ofif else
statement.
- Linking on some Apple OS versions when using Swift Package Manager.
- Reliability issues with
DataStreamRequest
.
Released on 2020-05-25. All issues associated with this milestone can be found using this filter.
- Usage of
.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.
- Combine support!
DataResponsePublisher
,DownloadResponsePublisher
, andDataStreamPublisher
to stream Alamofire responses. AuthenticationInterceptor
, for easier adaptation and retry of requests with credentials.- Added by Christian Noon in Pull Request #3164.
- Response handlers to take all serializer parameters.
DisabledEvaluator
toDisabledTrustEvaluator
, deprecating the previous name.- Updated by Florian Petit in Pull Request #3162.
Interceptor
to be initialized with multipleRequestInterceptor
s, in addition toRequestAdapter
s andRequestRetrier
s.
- Minor documentation issues.
- Encoding of
Decimal
values inURLEncodedFormEncoder
. - Thread-safety issue in
Session
. - Memory leak in
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 createdURLRequest
s.DataStreamRequest
, for streaming HTTP responses.
- Various framework internals to make porting to Linux easier.
- Project to require Swift 5.1.
- Typo in
ServerTrustEvaluating
documentation.- Fixed by Lucas Tavares in Pull Request #3138.
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 ofUploadRequest
s.- Rare scenario where
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.
- Incompatibility with bitcode on watchOS.
- Fixed by Roman Podymov in Pull Request #3112.
Released on 2020-03-14. All issues associated with this milestone can be found using this filter.
- SwiftPM testing support.
- Documentation around the prohibition of background
URLSessionConfiguration
s in Alamofire 5.
- watchOS memory leaks due to missing
didFinishCollecting
event. RetryPolicy
's handling ofAFError
.DownloadRequest
cancellation reliability.-no_compact_unwind
linker warning on watchOS by disabling the warning.- Fixed by Christian Noon in Pull Request #3083.
- SwiftPM package snippet in README.
- Fixed by Eddie Seay in Pull Request #3081.
- Various documentation issues.
- Fixed by dirtmelon in Pull Requests #3105 and #3097.
- Fixed by Josip Ćavar in Pull Request #3095.
- Fixed by Teameh in Pull Request #3093.
- Fixed by Michael Clifford in Pull Request #3087.
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.
- Support for
NSURLAuthenticationMethodClientCertificate
when handling auth challenges usingURLCredential
s. - Migration Guide for Alamofire 5.
- Advanced Usage documentation for Alamofire 5.
AF
namespace to be a reference toSession.default
.
- Runtime crashes due to overzealous state checking in
SessionDelegate
by reducing the severity of the assertions. - Unwanted
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.
- Automatic
resume()
behavior to be called after the first response handler is added instead of immediately after task creation.
- Incorrect header convenience method in Usage documentation.
- Unstable parameter ordering in
URLEncodedFormEncoder
. - Xcode build issues and precompiled binary build issues by removing the dynamic bundle identifier.
- Build warnings for deprecated
SecTrust
API when building for Catalyst. - Regression from Alamofire 4 causing Alamofire to reject NTLM and Negotiate authentication methods.
- Fixed by Adrian Kashivskyy in Pull Request #2975.
Released on 2019-09-08. All issues associated with this milestone can be found using this filter. Note: Alamofire 5 is now API stable.
- Single remaining use of
Error
instead of genericFailure
constraint inDataResponse
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 onSession
to cancel all in flight requests.- Ability to inject
FileManager
instance intoUploadRequest
. DataPreprocessor
protocol and implementations, allowing the preprocessing of data before serialization.- Internal
URLRequest
validation and error.GET
requests with body data will now produce an error. - Generic
Failure
constraint toDataResponse
andDownloadResponse
, making themDataResponse<Success, Failure: Error>
andDownloadResponse<Success, Failure: Error>
. - Precondition to ensure
Session
can't be used with backgroundURLSessionConfiguration
s. Alamofire will explicitly support such functionality at some point in the future. - SwiftFormat configuration and updated styling.
AFDataResponse<Success>
andAFDownloadResponse<Success>
typealiases to help deal with the doubly generic responses.
- All internal
Result
usage to use the fully qualified type instead ofAFResult
. DataRequest
andDownloadRequest
functional API, renamingflatMap
totryMap
.HTTPMethod
to be a struct rather than an enum.- All errors produced by Alamofire to be
AFError
by default. All responses will now start with anAFError
Failure
type. NetworkReachabilityManager
to simplify and modernize its API.Usage.md
documentation to be fully up-to-date with Alamofire 5.- Bundle identifiers to include the platform name, fixing ITMS-90806.
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
andURLEncodedFormEncoder.KeyEncoding
to customize the encoding ofData
andCodingKeys
inURLEncodedFormEncoder
.- Asynchronous
cURLDescription
method to producecURL
commands forRequest
s which are in the process of creating their initialURLRequest
.
- All inline API documentation.
- Handling of response serializers appended after a
Request
has completed. This no longer produces an error but will instead trigger the normalRequest
lifetime methods.- Updated by Christian Noon in Pull Request #2862.
- Empty parameters being encoded as an empty
String
instead ofnil
byURLEncodedFormEncoder
.- Fixed by David Barry in Pull Request #2818.
- Handling of
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 forSecKey
types.- Updated by Aleksandar Vacić in Pull Request #2800.
Request.State
access to lock access and task updates using internal locking API.
- Issues in
DownloadRequest
where some events were being duplicated and some were missing. - Issue with AppStore submissions where the pre-release version in the bundle short versions string was being rejected when built with Carthage or as a submodule.
- Fixed by Christian Noon in Pull Request #2808.
- Issue where response serializer completions were not called when appended to a completed
Request
.- Fixed by Christian Noon in Pull Request #2810.
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
, andRequest.didCompleteTaskNotification
notifications.- Added by Christian Noon in Pull Request #2803.
- Separate
URLSessionTask
lifetime events toEventMonitor
.
SessionStateProvider
to no longer bepublic
and renamed the file it lives in.- Updated by Christian Noon in Pull Request #2801.
MultipartUpload
to no longer bepublic
.- Updated by Christian Noon in Pull Request #2805.
Request
,DataRequest
,UploadRequest
, andDownloadRequest
to longer beopen
, as Alamofire does not support subclassing these types.- Updated by Christian Noon in Pull Request #2804.
- Names of the notifications posted by
Request
to includeNotification
.- Updated by Christian Noon in Pull Request #2803.
httpHeaders
extensions onURLRequest
,HTTPURLResponse
, andURLSessionConfiguration
to beheaders
instead.- Updated by Christian Noon in Pull Request #2802.
- Issue in
Request
where callingcancel()
inside a response serializer would result in the serializer running again.- Fixed by Christian Noon in Pull Request #2778.
- Issue in
Session
where the delegateprecondition
would be triggered when running with a swizzledURLSessionDelegate
.- Fixed by Christian Noon in Pull Request #2783.
- Compiler error in the example app.
- Fixed by Christian Noon in Pull Request #2786.
- Issues
Request
where certain lifetime events could be triggered more than once by repeatedly callingresume()
,suspend()
, orcancel()
. - Framework version string to be compatible with TestFlight and AppStore releases.
- Fixed by Christian Noon in Pull Request #2799 in Regards to Issue #2797.
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.
- The
AlamofireExtended
protocol and used it to namespace all public extensions. - The ability to retry requests after encountering response serialization errors.
- Added by Christian Noon in Pull Request #2716.
- The
switch
andDispatchQueue
logic throughout codebase to simplify usage patterns.- Updated by Joan Disho and Christian Noon in Pull Requests #2691 and #2765.
- The
MultipartFormData
data APIs by condensing them using optional parameters.- Updated by Ernesto Rivera in Pull Request #2766.
- The upload APIs for
MultipartFormData
to support custom boundaries.- Updated by Christian Noon in Pull Request #2764.
- The Xcode project, source code, SPM package, and podspec to support Swift 5 only.
- Updated by Christian Noon in Pull Request #2771.
- The Alamofire
Result
type to be a newAFResult
typealias on the newSwift.Result
type in Swift 5 and removed all public extensions.- Updated by Dave Camp, Eric Jensen, and Christian Noon in Pull Requests #2769 and #2774.
- Issue in
RequestInterceptor
closures where callback arguments were not marked as@escaping
.- Fixed by Scott Talbot in Pull Request #2747.
- Issue in response serializers where
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.
- The
EmptyResponse
protocol, to allow any type to provides values to stand in for an empty response.- Added by James Van Noord in Pull Request #2664.
- Request and response bodies to
Request
'sdebugDescription
.
Package.swift
for Swift 5 support, moving Swift 4.2 support to[email protected]
.- Use of
Array
toRange
inRequest
's defaultacceptableResponseCodes
.- Updated by StevenArmandLee in Pull Request #2720.
RetryPolicy
to allow subclasses to overrideretry(_:, for: Session, dueTo:, completion:)
.- Updated by Christian Noon in Pull Request #2713.
- Alamofire's
didResume
notification todidFinish
, which is now called when aRequest
finished, not when tasks resume.
Request
s not finishing when their controllingSession
isdeinit
d or invalidated.- Memory leak when using
validate()
due to reference cycle from implicitself
capture when using an@autoclosure
. - Crash when using
requestDidParseAnyResponse
when usingClosureEventMonitor
. RetryPolicy
to properly conform toRequestInterceptor
.- Typos in documentation.
- Fixed by Łukasz Mróz, Jacob Wood, Paulo Henrique, and Todd Lahtinen in Pull Requests #2715, #2725, #2729, and #2697.
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.
- Support for controlling redirect behavior per
Session
and perRequest
using theRedirectHandler
protocol.- Added by Christian Noon in Pull Request #2699.
- Support for controlling cached response behavior per
Session
and perRequest
using theCachedResponseHandler
protocol.- Added by Christian Noon in Pull Request #2701.
- Support for controlling retry behavior per
Session
and perRequest
using theRequestInterceptor
protocol.- Added by Christian Noon in Pull Request #2704 in regards to Issue #2241.
- The
Adapter
,Retrier
, andInterceptor
types to provide fine grained control of retry behavior.- Added by Christian Noon in Pull Request #2704.
- Support for exponential backoff retry policies through the new
RetryPolicy
andConnectionLostRetryPolicy
types.- Added by Christian Noon in Pull Request #2704.
- The
RequestRetrier
protocol to take aRetryResult
in thecompletion
closure allowing custom retry errors to be thrown.- Updated by Christian Noon in Pull Request #2704.
- The
Hashable
implementation onRequest
to use newhash(into:)
API.- Updated by Jeff Kelley in Pull Request #2696.
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.
- Support for
Decodable
response serialization withresponseDecodable
. - Support for Brotli
Content-Encoding
in Alamofire's default headers. HTTPHeaders
type and convenience APIs.- Support for
Encodable
parameter types withJSONParameterEncoder
andURLEncodedFormParameterEncoder
. - Customizable empty response handling in response serializers.
EventMonitor
protocol, to tap in to internal Alamofire lifetime events.ServerTrustFailureReason
toAFError
.- Asynchronous request creation.
ResponseSerializer
and associated protocols' requirements and implementations.RequestAdapter
to allow for asynchronous adaptation.SessionManager
toSession
, with rewritten implementation and API.Request
,DataRequest
,UploadRequest
, andDownloadRequest
with rewritten implementation and API.- Top level
request
API to be inside a realAF
namespace enum rather than unnecessaryAlamofire.
usage.
- Support for iOS < 10, macOS < 10.12, tvOS < 10, watchOS < 3.
- Support for
PropertyListSerialization
andresponsePropertyList
. - Support for
URLSessionStreamTask
. - Closure override and customization API.
Timeline
type, as Alamofire now gathersURLSessionTaskMetrics
for every request.
Released on 2019-10-26. All issues associated with this milestone can be found using this filter.
DataResponse
andDownloadResponse
debugDescription
to include more useful information.
- Dynamic bundle identifier causing issues with Xcode and precompiled binaries by removing the dynamic behavior.
- Compiler warnings when building for Catalyst by updating the usage of deprecated API.
Released on 2019-09-03. All issues associated with this milestone can be found using this filter.
- API to cancel
DownloadRequest
s without producing resume data.
- Bundle identifiers to include the platform name, fixing ITMS-90806.
NetworkReachabilityManager
behavior regression from 4.8.1.- Memory leak when using
validate()
.
Released on 2019-03-27. All issues associated with this milestone can be found using this filter.
- Project for compatibility with Xcode 10.2.
- MultipartFormData to have a mutable boundary.
- Updated by Ondrej Stocek in Pull Request #2705.
Released on 2019-01-15. All issues associated with this milestone can be found using this filter.
- Issue where the network reachability listener closure was not being called immediately when launching an app in airplane mode.
- Fixed by Christian Noon in Pull Request #2688 regards to Issues #2275 and #2677.
Released on 2018-11-24. All issues associated with this milestone can be found using this filter.
- Optional encoding completion callback queue for multipart upload.
- Added by jaltreuter in Pull Request #2620.
- Versioned Swift package manifests.
- Added by Wanbok Choi (Wayne) in Pull Request #2621 and Jon Shier in Pull Request #2648.
- Project Swift version to 4.
- Various
Result
methods to bethrow
/rethrows
.- Updated by Stéphane Copin in Pull Request #2488.
- cURL representation implementation readability.
Released on 2018-7-8. All issues associated with this milestone can be found using this filter.
- Project for Xcode 10 and Swift 4.2 beta versions.
- Documentation styling and content.
Released on 2018-4-15. All issues associated with this milestone can be found using this filter.
- Leak of
Requests
after retry.- Fixed by Artem Shimankski in Pull Request #2412.
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.
- Open accessibility to
NetworkReachabilityManager
- Added by Pär Strindevall in Pull Request #2393.
- Configurable parameter encoding for
URLEncoding
- Added by Morten Heiberg in Pull Request #2431.
- Response
Data
to.DidComplete
notification.- Added by Sven Driemecker in Pull Request #2427.
- Radar link for
URLSessionTaskMetrics
bug on watchOS.- Added by Christian Noon in Pull Request #2387.
- Project for Xcode 9.3 and Swift 4.1.
- OS versions affected by resume data bug.
- Updated by Aaron Brager in Pull Request #2389.
- Typos in
ResultTests
.- Fixed by Aleph Retamal in Pull Request #2416.
Released on 2017-12-3. All issues associated with this milestone can be found using this filter.
- Error mapping functions to
Response
types. - Separation of Usage and Advanced Usage docs from README.
- Travis CI and Ruby dependencies.
- Swift Package Manager instructions.
- Updated by Ryosuke Hayashi in Pull Request #2341.
#session-manager
link in Advanced Usage docs.- Fixed by Naeem Shaikh in Pull Request #2373.
- Missing
@discardableResult
.- Fixed by Aron Cedercrantz in Pull Request #2338.
- Colon placement.
- Fixed by Issarapong Poesua in Pull Request #2329.
Released on 2017-09-06. All issues associated with this milestone can be found using this filter.
- GitHub templates for issues and pull requests.
- Jazzy docs for the release to work with GitHub Pages.
- Added by Aaron McTavish in Pull Request #2250.
- Dash support for Jazzy docs.
- Added by Jon Shier.
- The project to work with Xcode 9 beta 6 on Swift 3.2 and 4.0.
- The Travis CI config to work with Xcode 9 beta 6.
- Updated by Jon Shier.
- The cURL representation logic to no longer force unwrap
URLCredential
values.- Updated by Andrey Chernoprudov in Pull Request #2184.
- The radars section of the README to split out open vs. resolved radars.
- Updated by Christian Noon in Pull Request #2263.
- The installation section of the README to use the current version.
- Updated by Kim de Vos in Pull Request #2266.
- Issue in
TaskDelegate
where task access was not thread safe. - Issue in AF 4 migration guide where supported iOS versions was incorrect.
- Fixed by Antoine Cœur in Pull Request #2212.
- Issue in README sample code where PNG representation API was incorrect.
- Swift 3.2+ API warnings for
substring
APIs.
Released on 2017-06-16. All issues associated with this milestone can be found using this filter.
- Missing
@escaping
annotation for session delegate closures.- Added by Alexey Aleshkov in Pull Request #1951.
- New
mapError
,flatMapError
,withValue
,withError
,ifSuccess
, andifFailure
APIs toResult
.
- The Travis config file to Xcode 8.3.
- Response serialization implementation to use separate internal variable.
- Updated by Eunju Amy Sohn in Pull Request #2125.
SessionDelegate
internal implementation by removing redundant optional unwrap.- Updated by Boris Dušek in Pull Request #2056.
- The
debugPrintable
implementation ofRequest
to usecurl -v
instead ofcurl -i
to be more verbose.- Updated by Simon Warta in Pull Request #2070.
- The
MultipartFormData
contentType property to be mutable. - Travis CI yaml file to enable watchOS 3.2 builds.
- Alamofire to build with Xcode 9 with Swift 3.2 and 4.0 in addition to Xcode 8.3 and Swift 3.1.
- Custom string extension no longer needed in the test suite.
- Removed by Nicholas Maccharoli in Pull Request #1994.
- Issue in the
URLProtocolTestCase
where HTTP header capitalization was wrong due to httpbin.org change.- Fixed by Natascha Fadeeva in Pull Request #2025.
- Issues and typos throughout the README documentation and sample code and source code docstrings.
- Fixed by Raphael R., helloyako, DongHyuk Kim, Bas Broek, Jorge Lucena, MasahitoMizogaki, José Manuel Sánchez, SabinLee, Mat Trudel, Wolfgang Lutz, and Christian Noon in Pull Requests #1995, #1997, #1998, #2022, #2031, #2035, #2080, #2081, #2092, #2095, #2104.
- Several warnings in the test suite related to Xcode 8.3.
- Issue where reachability calculation incorrectly reported
.reachable
status with [.connectionRequired
,.isWWAN
] combination.- Fixed by Marco Santarossa in Pull Request #2060.
Released on 2017-02-26. All issues associated with this milestone can be found using this filter.
- A new
Alamofire/Alamofire
Gitter channel and also added badge to the README.- Added by Christian Noon.
- Functional extensions for Result, Data and Download Response.
- Added by Gwendal Roué in Pull Request #1836.
- Typo in the README in the Swift Package Manager section.
- Fixed by Sebastian Limbach in Pull Request #1918.
- Issue in the "Modifying the Session Configuration" example code of the README where the
defaultHTTPHeaders
property was called incorrectly.- Fixed by Artur Antonov in Pull Request #1927.
- Issue in the "Security" section of the README where some example code was outdated.
- Issue in the README where the POST request with parameters example was using the wrong method.
- Fixed by Pablo Bartolome in Pull Request #1984.
- Issue where
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.
- The host and path to router example in README.
- A
macOS
disclaimer to download request example in README.- Added by Christian Noon in regards to Issue #1818.
- New
value
anderror
computed properties to data and download responses.- Added by Christian Noon in Pull request #1865.
- The HTTP method to the data and download response debug descriptions.
- A README entry about installing through SPM.
- The
dependencies
parameter toPackage
file for SPM since it's now required.- Added by Arnaldo Capo in Pull request #1905.
- TLS evaluation tests for revoked certs for no policy and default policy.
- Added by Christian Noon.
- New server trust policy for revoked certificates along with matching tests.
- Added by Wataru Suzuki in Pull request #1822.
- Project to Xcode 8.2 recommend settings.
- The
NetworkReachabilityManager
to have apublic
instead ofopen
ACL.- Updated by Christian Noon in regards to Issue #1809.
- The initializers for both default responses public and added metrics parameter.
- Updated by Christian Noon in Pull Request #1865.
- Internals by replacing
syncResult
extension with DispatchQueuesync
.- Updated by Alexander Ignition in Pull Request #1893.
- TLS tests for tvOS 10.1 and added expiration test for revoked evaluation.
- Updated by Christian Noon.
DownloadRequest
sample code issue in AF 4 migration guide.- Fixed by Luca Torella in Pull Request #1802.
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.- Fixed by Christian Noon in Pull Request #1864 in regards to Issue #1853.
- A broken reference link in the README.
- Fixed by Ulug'bek Ro'zimboyev in Pull Request #1866.
- Compiler issues in
RequestAdapter
andRequestRetrier
examples in README.- Fixed by William Entriken in Pull Request #1916.
Released on 2016-11-20. All issues associated with this milestone can be found using this filter.
- Request property overrides to fallback on original task if available.
- Added by Aron Cedercrantz in Pull Request #1792.
Timeline
generation toDefaultDataResponse
andDefaultDownloadResponse
.- Added by Christian Noon.
- JSON encoding
encode
method that takes a JSON object along with unit tests.- Added by Christian Noon.
- The
RequestRetrier
example in the README to safely extract tokens.- Updated by Pontus Andersson in Pull Request #1794.
TaskDelegate
data
anderror
properties to apublic
ACL.- Updated by Christian Noon.
- Multipart form data uploads to now delete temp file if encoding fails.
- Updated by Christian Noon.
- Issue where
AdaptError
instances were being incorrectly sent to theRequestRetrier
.- Fixed by Christian Noon in regards to Issue #1785.
- Issue where TLS tests were failing on iOS 10.0 and not on iOS 10.1.
- Fixed by Christian Noon.
Released on 2016-11-15. All issues associated with this milestone can be found using this filter.
- Docstrings and a note to the README about
resumeData
and background session behavior.- Added by Christian Noon in regards to Issue #1553.
- Request
retryCount
property to support theRequestRetrier
.- Added by Christian Noon in regards to Issue #1672.
- SPM package file to exclude tests since current configuration is not supported.
- Updated by Christian Noon in regards to Issue #1544.
- An example in the README to use proper error checking in download response handler.
- Embedded framework installation instructions.
- Updated by ILI4S K4RIM in Pull Request #1721.
- The AF4 Migration Guide to no longer use
DispatchQueue
internal APIs in the example. - The
RequestAdapter
to call theRequestRetrier
when anError
is thrown.- Updated by Christian Noon in Pull Request #1682.
- The
SessionManager
to clean up the temporary multipart form data file after upload.- Updated by Christian Noon in regards to Issue #1742.
- The deployment targets to iOS 8.0 and macOS 10.10.
- Updated by Christian Noon in Pull Request #1774.
- The Travis CI yaml file to support iOS 8 simulators.
- Updated by Christian Noon in Pull Request #1774.
- The iOS Example app deployment target to iOS 8.0.
- Updated by Christian Noon in Pull Request #1774.
- Duplicate auto-code signing on macOS.
- Removed by Christian Noon
- Duplicate code signing identities on various targets.
- Removed by Christian Noon
- A compiler error in response validation sample code in the README.
- Fixed by Vishrut Shah in Pull Request #1615.
- Several internal
SessionManager
links that were broken in the README.- Fixed by Vishrut Shah in Pull Request #1625.
- Issue in the sample code of the README where
response.error
was used incorrectly. - Issue in the
ServerTrustPolicy
tests where amacOS 10.12
check was needed.- Fixed by Jon Shier.
- Compiler issue with
DownloadRequest
in AF4 Migration Guide.- Fixed by Wolfgang Lutz in Pull Request #1670.
- Test target compiler warning by not requiring app extension APIs only.
- Fixed by Christian Noon.
- Typo in the HTTP Headers section of the README.
- Fixed by Carlos McEvilly in Pull Request #1734.
- Incorrect response type in the response README examples.
- Fixed by Julien Chaumond in Pull Request #1760.
- 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.
- Fixed by Christian Noon.
Released on 2016-09-24. All issues associated with this milestone can be found using this filter.
- The
OS_ACTIVITY_MODE
environment variable to iOS, tvOS and iOS Example.- Added by Christian Noon.
- Test verifying download request can be resumed with resume data.
- Added by Christian Noon.
- All instances of
com.alamofire
withorg.alamofire
throughout the project.- Updated by Christian Noon.
- Project by adding
.swift-version
file and re-enablingpod lib lint
in Travis file.- Updated by Thibault Vlacich in Pull Request #1534.
- The entire project to use
macOS
in place ofOS X
.- Updated by Justin Jia in Pull Request #1520.
- Framework and test target override settings that duplicated the project settings.
- Updated by Christian Noon.
- Issue where the test suite was accidentally deleting contents of
~/Library/Application Support
on macOS.- Fixed by Christian Noon in regards to Issue #1512.
- Typo in the migration guide around availability checks.
- Fixed by Alexsander Akers in Pull Request #1510.
- Typo in the README around response handlers.
- Fixed by Glenn R. Fisher in Pull Request #1515.
- Issue in the download example in the README where a
to
parameter was missing.- Fixed by Julien Colin in Pull Request #1532.
- Issue in
AFError
where wrong case was used in several property implementations.- Fixed by Victor Chee in Pull Request #1558.
- Typo in AF 4 migration guide where "enhancements" was spelled incorrectly.
- Fixed by YeralYamil in Pull Request #1590.
- Typo in code sample documentation where "already" was misspelled.
- Fixed by Fuad Kamal in Pull Request #1599.
- Typos in the Open Radars and Donations sections of README.
- Issue in
DispatchQueue
extension whereFoundation
needed to be imported for submodules. - Memory leak in
Validation
closures where reference toself
was causing retain cycle.- Fixed by Christian Noon in regards to Issue #1551.
- Compilation issue in response handler section of the README.
- Fixed by Vishrut Shah in Pull Request #1612.
Released on 2016-09-11. All issues associated with this milestone can be found using this filter.
- Internal
DispatchQueue
extension set of convenience properties and methods.- Added by Christian Noon in Pull Request #1450.
RequestAdapter
andRequestRetrier
protocols allowing requests to be retried.- Added by Christian Noon in Pull Request #1450.
RequestAdapter
tests on all testableSessionManager
request APIs.- Added by Christian Noon in Pull Request #1450.
- Added an
Adapting and Retrying Requests
section to the README.- Added by Christian Noon in Pull Request #1450.
DataRequest
,DownloadRequest
,UploadRequest
andStreamRequest
subclasses.- Added by Christian Noon in Pull Request #1455.
- Top-level APIs for creating
StreamRequest
instances.- Added by Christian Noon in Pull Request #1455.
- Extra
responseToSelector
overrides for stream delegate APIs.- Added by Christian Noon in Pull Request #1455.
- A new
syncResult
extension toDispatchQueue
to simplify thread-safe locking.- Added by Christian Noon in Pull Request #1455.
- Two serialization failure reasons to support download response serializers.
- Added by Christian Noon in Pull Request #1457.
- Download response serialization tests for all serializer types.
- Added by Christian Noon in Pull Request #1457.
- The
dataFileNil
anddataFileReadFailed
cases toResponseValidationFailureReason
.- Added by Christian Noon in Pull Request #1461.
- The
isWildcard
property to MIMEType struct for convenience.- Added by Christian Noon in Pull Request #1461.
- Missing
CustomDebugStringCovertible
conformance toDownloadResponse
.- Added by Christian Noon in Pull Request #1462.
- URL variants to the
FileManager
extension in the test suite.- Added by Christian Noon in Pull Request #1462.
DownloadOptions
option set to make moving files more robust.- Added by Christian Noon in Pull Request #1462.
- Tests validating success and failure scenarios for
DownloadOptions
.- Added by Christian Noon in Pull Request #1462.
- Parameter encoding failure docstrings and refactored reasons to be consistent.
- Added by Christian Noon in Pull Request #1465.
- Safeguards to url parameter encoding when extracting the url request’s url.
- Added by Christian Noon in Pull Request #1465.
- The new
URLSessionTaskMetrics
to allResponse types
.- Added by Christian Noon in Pull Request #1492.
- The Alamofire 4.0 Migration Guide to the README.
- Added by Christian Noon.
HTTPHeaders
typealias for top-level API convenience.- Added by Christian Noon.
- Complete safeguards to
URLStringConvertible
,URLRequestConvertible
andRequestAdapter
.- Added by Christian Noon in Pull Request #1505.
- Tests around invalidURL error cases for
Request
creation and adaptation.- Added by Christian Noon in Pull Request #1505.
- The
authorizationHeader
static method over to returning optional tuple.- Updated by Christian Noon in Pull Request #1455.
SessionManager
queues to each have a unique name using a UUID suffix.- Updated by Christian Noon in Pull Request #1455.
- The progress tracking system across all
Request
subclasses to improve accuracy.- Updated by Christian Noon in Pull Request #1455.
BaseTestCase
to delete contents of common directories at the start of each test.- Updated by Christian Noon in Pull Request #1457.
- Response handler extensions by moving them into
DataRequest
and added equivalents forDownloadRequest
.- Updated by Christian Noon in Pull Request #1457.
- The response serializer types to use the
Protocol
suffix.- Updated by Christian Noon in Pull Request #1457.
Validation
typealias to include response data in aDataRequest
type.- Updated by Christian Noon in Pull Request #1461.
Validation
typealias to include temporary and destination URLs in aDownloadRequest
type.- Updated by Christian Noon in Pull Request #1461.
SessionManager
APIs to all leverageTaskConvertible
conformance.- Updated by Christian Noon in Pull Request #1461.
DownloadFileDestination
closures to be optional on top-levelDownloadRequest
APIs.- Updated by Christian Noon in Pull Request #1462.
- The
request
anddownload
APIs now default to.get
method andupload
defaults to.post
.- Updated by Christian Noon in Pull Request #1462.
- The
ParameterEncoding
encode API to throw instead of returning tuple.- Updated by Christian Noon in Pull Request #1465.
- The
TaskDelegate
to only store the url session task error iferror
isnil
.- Updated by Christian Noon in Pull Request #1465.
ParameterEncoding
enum by switching to a protocol backed by url, json and plist structs.- Updated by Christian Noon in Pull Request #1465.
- Updated RequestRetrier completion to be escaping.
- Updated by Aron Cedercrantz in Pull Request #1489.
- Code signing to automatic with no team on framework, test and app targets.
- Updated by Christian Noon.
- README for Swift 3 and Alamofire 4 along with reorganization.
- Updated by Christian Noon.
- README with improved
Error
examples as well as typo and whitespace fixes. Request
task property is now optional allowing errors to propagate through.- Updated by Christian Noon in Pull Request #1505.
- The Travis-CI device list in the yaml file.
- Updated by Christian Noon in Pull Request #1505.
- The top-level APIs by removing external
resource
parameter name.- Updated by Christian Noon in Pull Request #1505.
- The
URLStringCovertible
by renaming toURLConvertible
and removed protocol property.- Updated by Christian Noon in Pull Request #1505.
- The README and migration guide with the
URLConvertible
and top-level API changes.- Updated by Christian Noon in Pull Request #1505.
- Unnecessary
public
ACL declarations onAFError
extensions.- Removed by Christian Noon.
URLStringConvertible
conformance onURLRequest
.- Removed by Christian Noon in Pull Request #1491.
- Removed
downloadProgress
anduploadProgress
Int64 variants.- Removed by Christian Noon in regards to Issue #1467 reported by thebluepotato.
- Duplicated change log message in the migration guide.
- Removed by Justin Jia in Pull Request #1503.
- Code coverage generation by default to improve test suite stability.
- Removed by Christian Noon.
- Fixed
URLEncoding
issue aroundNSNumber
parameter encoding.- Fixed by Christian Noon in regards to Issue #1458 reported by Dhanush Balachandran.
- Issue where
MultipartFormData
temp directory creation needed to be done serially.- Fixed by Christian Noon in regards to Issue #1333 reported by Fernando Mazzon.
- Issue in resume data tests where request was being cancelled multiple times.
- Fixed by Christian Noon.
Released on 2016-08-29. All issues associated with this milestone can be found using this filter.
- Build issue with
Manager
class due to cherry picked change that merged incorrectly.- Fixed by Christian Noon in regards to Issue #1438.
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.- Added by Christian Noon.
- All source, test and example logic as well as project settings to compile against
the Xcode 8 beta releases.
- Updated by Kevin Harwood, Jon Shier and Christian Noon.
- Deployment targets to iOS 9.0, macOS 10.11, tvOS 9.0 and watchOS 2.0.
- Updated by Christian Noon.
- Notifications to use nested structs inside
Notification.Name
namespace.- Updated by Christian Noon.
- The
Manager
class toSessionManager
to be more descriptive.- Updated by Christian Noon in Pull Request #1385.
- The
SessionDelegate
,TaskDelegate
and subclasses by pulling them into the global namespace.- Updated by Christian Noon in Pull Request #1385.
- All the Core APIs and documentation to match Swift 3 API design guidelines.
- Updated by Christian Noon in Pull Request #1385.
- The
SessionDelegate
to storeRequest
instances internally to prepare for retry logic.- Updated by Christian Noon in Pull Request #1391.
- The podspec to 4.0.0-beta.1 and bumped the deployment targets.
- The parameter order of custom
URLRequest
initializer to match other APIs.- Updated by Christian Noon.
- The travis yaml file for Xcode 8.
- Updated by Christian Noon.
- The
Error
enum toAFError
which now conforms to the newError
protocol.
- Typo in a parameter name in the
MultipartFormData
Swift 3 API refactor.- Fixed by Joshua Hudson in Pull Request #1395.
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.
- Assorted memory leaks caused by underlying Swift runtime bugs.
- Issue in the test suite logic on macOS 10.12.
- Fixed by Jon Shier.
Released on 2016-09-07. All issues associated with this milestone can be found using this filter.
- 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.
- Updated by Kevin Harwood, Jon Shier and Christian Noon.
- The Travis CI yaml file to support both Xcode 7.3 and 8 simultaneously.
- Updated by Christian Noon.
- A TLS evaluation test that could fail with a different error when behind a proxy.
- Fixed by Christian Noon.
Released on 2016-08-28. All issues associated with this milestone can be found using this filter.
- Added Cleanup Whitespace target to remove excess whitespace from Swift files.
- Added by Christian Noon.
- All TLS evaluation tests from
disig.sk
tobadssl.com
to be more reliant and robust.- Updated by Christian Noon.
- Internal
URLRequest
method to maintain mutable variant data on anNSURLRequest
passed into the top-level APIs.- Updated by Greedwolf DSS in Pull Request #1330.
- The
User-Agent
header to include version and build numbers.- Updated by Sergey Demchenko in Pull Request #1420.
- All excess whitespace from Swift files using the
Cleanup Whitespace
target.- Removed by Christian Noon.
Request
debug description tests to no longer require parameters in a specific order.- Fixed by Marius Serban in Pull Request #1318.
- Small ACL issue in code sample of the Handling Errors section of the README.
- Fixed by Adrian Brink in Pull Request #1315.
Released on 2016-06-12. All issues associated with this milestone can be found using this filter.
- Rdar
26761490
to the list of rdars affecting Alamofire.- Added by Christian Noon in Pull Request #1262.
- A new
debugDescription
test for a MultipartFormData Request with duplicate headers.- Added by Christian Noon in regards to Issue #1303.
- CocoaPod installation instructions in README to be compatible with 1.x.
- Updated by Luis Ferro in Pull Request #1288.
- 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.- Updated by Raphael Oliveira in Pull Request #1257.
- Reachability by removing explicit IPv6 logic since OS handles this automatically.
- Updated by Christian Noon in Pull Request #1308 in regards to Issue #1228.
- Host manager reachability test to use different hostname to improve test reliability.
- Updated by Christian Noon in Pull Request #1308.
ReleaseTest
configuration and updated Travis-CI yaml file to enable testability directly.- Removed by Christian Noon.
- Memory leak in
Timeline
description and debugDescription due to string interpolation.- Fixed by Christian Noon in Pull Request #1262 in regards to Issue #1232.
Released on 2016-05-08. All issues associated with this milestone can be found using this filter.
- Status code and content type values into validation
NSError
userInfo dictionaries.- Added by Cédric Luthi in Pull Request #1166.
- New
authorizationHeader
API to generate base64 encoded authorization header.- Added by Cédric Luthi in Pull Request #1187.
- URLProtocol tests to demonstrate using
NSURLProtocol
withNSURLSession
.- Updated by Christian Noon in regards to Issue #1160.
- The
SessionDelegate
to no longer befinal
to allow subclassing.- Updated by Christian Noon in Pull Request #1172 in regards to Issue #1145.
- The
SessionDelegate
subscript public to allow full control when subclassing.- Updated by Christian Noon in Pull Request #1172.
- The
Response Serialization
section of the README to include validation examples.- Updated by Christian Noon in regards to Issue #1213.
- The delegate guard in the
Manager
initializer in front of property assignment.- Updated by Broccoliii in Pull Request #1226.
- Header example in the README to use
Accept
header instead ofContent-Type
.- Updated by Christian Noon in regards to Pull Request #1229.
- The
errorWithCode
APIs and updated NSURLError* domains toNSURLErrorDomain
.- Deprecated by Cédric Luthi in Pull Request #1166.
- Issue where Requests with invalid credentials were not terminating with 401 status code.
- Fixed by Cédric Luthi in Pull Request #1164 in regards to Issue #1159.
- Issue in URLProtocol test where config headers are not passed prior to iOS 9.0.
- Fixed by Christian Noon.
- Issue where Request
cURLRepresentation
method was not coalescing duplicate headers.- Fixed by Chris Richards in Pull Request #1186 in regards to Issue #1184.
- Issue where incorrect dash in License file was breaking markdown parsing.
- Fixed by Gemma Barlow in Pull Request #1218.
- Issue where internal quotes were not escaped correctly in cURL output.
- Fixed by Christian Noon.
Released on 2016-04-06. All issues associated with this milestone can be found using this filter.
- Tests for the
SessionDelegate
redirect with completion override closure.- Added by Kevin Harwood in Pull Request #1141.
- Tests for all the
SessionDelegate
override closures.- Added by Christian Noon.
- The authentication test cases to clear out all cookies to help stabilize Travis-CI.
- Updated by Christian Noon.
- The cache test check for no store header to use availability checks.
- Updated by Christian Noon.
- The
respondsToSelector
check for the new HTTP redirect closure with completion.- Fixed by Kevin Harwood in Pull Request #1141 in regards to Issue #1140.
- Issue where the challenge and response
SessionDelegate
override closures were not called.- Fixed by Christian Noon.
- Typo in the Travis YAML file that was causing all tests to always fail on iOS 9.1.
- Fixed by Christian Noon.
- Race condition in the cache tests that was causing random failures on Travis-CI.
- Fixed by Christian Noon.
Released on 2016-03-23. All issues associated with this milestone can be found using this filter.
- Added override closures for all
SessionDelegate
APIs with completion handlers.- Added by Christian Noon in Pull Request #1099.
- The
User-Agent
header implementation to use more aggressive type-safety checks.- Updated by Christian Noon in regards to Issue #1100.
- All shared response serializers to accept a custom queue for execution.
- Updated by Luca Torella in Pull Request #1112.
- The network reachability manager to use IPv4 on iOS 8.x and OSX 10.9.x.
- Updated by Christian Noon in regards to Issue #1086.
- All source, test and example code to compile against Swift 2.2.
- Updated by James Barrow and Dominik Hadl in Pull Requests #1030 and #1128.
- The Travis CI YAML file to use Xcode 7.3 and also updated matrix targets.
- Updated by Christian Noon.
- Issue in JSON response serialization test case where the wrong serializer was being tested.
- Fixed by Gregory J.H. Rho in Pull Request #1108.
- Issue where multipart form data encoding was unnecessarily scheduling input and output
streams with the current runloop.
- Fixed by Brian King in Pull Request #1121.
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.- Updated by Chris Cieslak in Pull Request #1050.
- Expanded the Component Libraries section and moved it up in the README.
- Updated by Christian Noon.
- Issue where JSON and plist custom content types were not retained during parameter encoding.
- Fixed by Christian Noon in Pull Request #1088.
Released on 2016-02-07. All issues associated with this milestone can be found using this filter.
- Notifications that post when an
NSURLSessionTask
changes state to allow support for the network activity indicator.- Added by Christian Noon.
Timeline
struct to capture timings throughout the lifecycle of aRequest
.- Added by Christian Noon in Pull Request #1054.
- A new
Timeline
section to the README.- Added by Christian Noon in Pull Request #1054.
NetworkReachabilityManager
to listen for reachability status changes.- Added by Christian Noon in Pull Request #1053.
- Unit tests for all the testable network reachability manager APIs.
- Added by Christian Noon in Pull Request #1053.
- A new
Network Reachability
section to the README.- Added by Christian Noon in Pull Request #1053.
- The
NSURLSessionStream
APIs to supporttvOS
.- Updated by Christian Noon.
- The
ParameterEncoding
encode method to allow empty parameters to still be encoded.- Updated by Christian Noon in regards to Issues #1032 and #1049.
- Broken CocoaDocs generation by moving iOS Example project into Examples folder.
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).- Added by Kyle Fuller in Pull Request #979.
- Safeguards to the
Request
class'sdebugDescription
property.
Accept-Language
header generation to use functional style.- Updated by Dapeng Gao in Pull Request #982.
Accept-Encoding
andAccept-Language
header values to have separator spaces between values.- Updated by Christian Noon.
- Copyright headers to include 2016! 🎉🎉🎉
- Updated by Christian Noon.
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.- Added by Marandon Antoine in Pull Request #952.
- Added
ReleaseTest
configuration to allow running tests against optimized build.- Added by Christian Noon.
- Carthage instructions in the README to clearly callout the
carthage update
command. ParameterEncoding
to early out when passed an empty parameters dictionary.- Updated by Anthony Miller in Pull Request #954.
- The
certificatesInBundle
to supportcer
,crt
andder
extensions.- Updated by Jacob Jennings in Pull Request #956.
- The
ENABLE_TESTABILITY
flag toNO
for Release configuration and disabled tests for non-test builds to better support Carthage.- Updated by Jed Lewison in Pull Request #953.
- The server certificates for the TLS tests and added all certificates to all test targets.
- Updated by Christian Noon.
- The Travis-CI configuration to Xcode 7.2, iOS 9.2, tvOS 9.1 and watchOS 2.1.
- Updated by Christian Noon.
SecCertificate
array Swift workaround inServerTrustPolicy
for Xcode 7.2.- Removed by Christian Noon.
Released on 2015-11-22. All issues associated with this milestone can be found using this filter.
- Custom
Info.plist
for tvOS setting theUIRequiredDeviceCapabilities
toarm64
.- Added by Simon Støvring in Pull Request #913.
- All code samples in the README to use
https
instead ofhttp
.- Updated by Tomonobu Sato in Pull Request #912.
Released on 2015-11-06. All issues associated with this milestone can be found using this filter.
- Code signing on iOS simulator builds to not sign simulator builds.
- Updated by John Heaton in Pull Request #903.
- Code signing on watchOS and tvOS simulators builds to not sign simulator builds.
- Updated by Christian Noon.
Released on 2015-10-31. All issues associated with this milestone can be found using this filter.
- Support for 204 response status codes in the response serializers.
- Added by Christian Noon in Pull Request #889.
- ATS section to the README explaining how to configure the settings.
- Added by Christian Noon in regards to Issue #876.
- Several unnecessary uses of
NSString
withString
.- Updated by Nicholas Maccharoli in Pull Request #885.
- Content type validation to always succeeds when server data is
nil
or zero length.- Updated by Christian Noon in Pull Request #890.
- The mention of rdar://22307360 from the README since Xcode 7.1 has been released.
- Removed by Elvis Nuñez in Pull Request #891.
- An unnecessary availability check now that Xcode 7.1 is out of beta.
- Removed by Christian Noon.
- The playground from the project due to instability reasons.
- Removed by Christian Noon.
- The data length checks in the
responseData
andresponseString
serializers.- Removed by Christian Noon in Pull Request #889.
Released on 2015-10-22. All issues associated with this milestone can be found using this filter.
- New tvOS framework and test targets to the project.
- Added by Bob Scarano in Pull Request #767.
- The tvOS deployment target to the podspec.
- Added by Christian Noon.
- The
BITCODE_GENERATION_MODE
user defined setting to tvOS framework target.- Added by Christian Noon.
- The README to include tvOS and bumped the required version of Xcode.
- Updated by Christian Noon.
- The default tvOS and watchOS deployment targets in the Xcode project.
- Updated by Christian Noon.
- The
APPLICATION_EXTENSION_API_ONLY
enabled flag toYES
in the tvOS framework target.- Updated by James Barrow in Pull Request #771.
- The Travis-CI yaml file to run watchOS and tvOS builds and tests on xcode7.1 osx_image.
- Updated by Christian Noon.
Released on 2015-10-19. All issues associated with this milestone can be found using this filter.
- Tests around content type validation with accept parameters.
- Added by Christian Noon.
- Content type validation issue where parameter parsing on
;
was incorrect.- Fixed by Christian Noon.
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.- Download code samples in the README to use
response
serializer.- Updated by Christian Noon.
- CocoaPods and Carthage installation instructions for 3.0.
- Updated by Christian Noon.
- Carthage description and installation instructions in the README.
- Updated by Ashton Williams in Pull Request #843.
- URL encoding internals to leverage the dictionary keys lazy evaluation.
- Updated by Christian Noon.
- Small typo in the Alamofire 3.0 Migration Guide
Response
section. - User defined
BITCODE_GENERATION_MODE
setting for Carthage builds.- Fixed by Christian Noon in regards to Issue #835.
Released on 2015-09-27. All issues associated with this milestone can be found using this filter.
- The
Response
initializer to have apublic
ACL instead ofinternal
.- Updated by Christian Noon.
Released on 2015-09-26. All issues associated with this milestone can be found using this filter.
- Tests around the header behavior for redirected requests.
- Added by Christian Noon in regards to Issue #798.
- A migration guide for Alamofire 3.0 documenting all API changes.
- Added by Christian Noon.
Response
initializer to haveinternal
ACL.- Updated by Christian Noon.
- All sample code in the README to conform to the Alamofire 3.0 APIs.
- Updated by Christian Noon.
- URL percent escaping to only batch on OS's where required improving
overall performance.
- Updated by Christian Noon.
- Basic auth example in the README to compile on Swift 2.0.
- Updated by David F. Muir V in Pull Request #810.
- Compiler errors in the playground due to the new response serializer APIs.
- Fixed by Christian Noon.
Released on 2015-09-21. All issues associated with this milestone can be found using this filter.
- A new
Response
struct to simplify response serialization.- Added by Christian Noon in Pull Request #792.
- A new initializer to the
Manager
allowing dependency injection of the underlyingNSURLSession
.- Added by Christian Noon in Pull Request #795.
- Tests around the new
Manager
initialization methods.
- Result type to take two generic parameters (
Value
andError
) whereError
conforms toErrorType
.- Updated by Christian Noon in Pull Request #791.
- All response serializers to now return the original server data as
NSData?
.- Updated by Christian Noon in Pull Request #791.
- The
TaskDelegate
to store an error as anNSError
instead ofErrorType
.- Updated by Christian Noon in Pull Request #791.
- The
ValidationResult
failure case to require anNSError
instead ofErrorType
.- Updated by Christian Noon in Pull Request #791.
- All tests around response serialization and
Result
type usage.- Updated by Christian Noon in Pull Request #791.
- All response serializers to use the new
Response
type.- Updated by Christian Noon in Pull Request - #792.
- The designated initializer for a
Manager
to accept aSessionDelegate
parameter allowing dependency injection for better background session support.- Updated by Christian Noon in Pull Request #795.
Released on 2015-09-20. All issues associated with this milestone can be found using this filter.
- The Embedded Framework documentation to include
git init
info.- Updated by Christian Noon in regards to Issue #782.
- Alamofire iOS framework target by adding Alamofire iOS Tests as Target Dependency.
- Fixed by Nicky Gerritsen in Pull Request #780.
- Percent encoding issue for long Chinese strings using URL parameter encoding.
- Fixed by Christian Noon in regards to Issue #206.
Released on 2015-09-16. All issues associated with this milestone can be found using this filter.
- The CocoaPods installation instructions in the README.
- Updated by Christian Noon.
- The Carthage installation instructions in the README.
- Updated by Gustavo Barbosa in Pull Request #759.
- The link to the 2.0 migration guide in the README.
- Fixed by Dwight Watson in Pull Request #750.
- Issue where NTLM authentication credentials were not used for authentication challenges.
- Fixed by Christian Noon in regards to Issue #721.
Released on 2015-09-09. All issues associated with this milestone can be found using this filter.
- A new
URLEncodedInURL
case to theParameterEncoding
for encoding in the URL.- Added by Christian Noon in Pull Request #742.
Released on 2015-09-06. All issues associated with this milestone can be found using this filter.
- The
parameters
andencoding
parameters to download APIs.- Added by Christian Noon in regards to Issue #719.
- Section to the README about wildcard domain matching with server trust policies.
- A UTF-8 charset to Content-Type header for a URL encoded body.
- Added by Cheolhee Han in Pull Request #731.
- Tests around posting unicode parameters with URL encoding.
- Added by Christian Noon in regards to Pull Request #731.
- Tests for uploading base 64 encoded image data inside JSON.
- Added by Christian Noon in regards to Issue #738.
- An Alamofire 2.0 migration guide document to the new Documentation folder.
- Added by Christian Noon.
- A Migration Guides section to the README with link to 2.0 guide.
- Added by Christian Noon.
- Response serialization to prevent unnecessary call to response serializer.
- Updated by Julien Ducret in Pull Request #716.
- Travis-CI yaml file to support iOS 9, OSX 10.11 and Xcode 7.
- Updated by Christian Noon.
- Result types to store an
ErrorType
instead ofNSError
.- Updated by Christian Noon in regards to Issue #732.
- Docstrings on the download method to be more accurate.
- Updated by Christian Noon.
- The README to require Xcode 7 beta 6.
- Updated by Christian Noon.
- The background session section of the README to use non-deprecated API.
- Updated by David F. Muir V in Pull Request #724.
- The playground to use the
Result
type.- Updated by Jonas Schmid in Pull Request #726.
- Updated progress code samples in the README to show how to call onto the main queue.
- Updated by Christian Noon.
- The AFNetworking sections from the FAQ in the README.
- Removed by Christian Noon.
- Issue on Windows where the wildcarded cert name in the test suite included asterisk.
- Fixed by Christian Noon in regards to Issue #723.
- Crash when multipart form data was uploaded from in-memory data on background session.
- Fixed by Christian Noon in regards to Issue #740.
- Issue where the background session completion handler was not called on the main queue.
- Fixed by Christian Noon in regards to Issue #728.
Released on 2015-08-25.
- The override for
NSMutableURLRequest
for theURLRequestConvertible
protocol conformance that could cause unwanted URL request referencing.- Removed by Christian Noon.
Released on 2015-08-24. All issues associated with this milestone can be found using this filter.
- Host and certificate chain validation section to the README.
- Added by Christian Noon.
- Tests verifying configuration headers are sent with all configuration types.
- Added by Christian Noon in regards to Issue #692.
- New rdar to the list in the README about the #available check issue.
- Added by Christian Noon.
- Override for
NSMutableURLRequest
for theURLRequestConvertible
protocol.- Added by Christian Noon.
- The README to note that CocoaPods 0.38.2 is required.
- Updated by Christian Noon in regards to Issue #682.
- The README to include note about keeping a reference to the
Manager
.- Updated by Christian Noon in regards to Issue #681.
- Server trust host validation over to use SSL policy evaluation.
- Updated by Christian Noon.
- The documentation for the
URLRequestConvertible
section in the README.- Updated by Christian Noon.
- The
ServerTrustPolicyManager
to be more flexible by usingpublic
ACL. - The
ServerTrustPolicyManager
policies property to usepublic
ACL and added docstrings.- Updated by Christian Noon.
- The Ono response serializer example for Swift 2.0 in the README.
- Updated by Christian Noon in regards to Issue #700.
Result
failure case to store anErrorType
instead ofNSError
.- Updated by Christian Noon in regards to Issue #703.
- All source code to compile with Xcode 7 beta 6.
- Updated by Michael Gray in Pull Request #707.
- The
required
declaration on theManager
init method.- Removed by Christian Noon in regards to Issue #672.
- Issue where the
TaskDelegate
operation queue would leak if the task was never started.- Fixed by Christian Noon.
- Compiler issue on OS X target when creating background configurations
in the test suite.
- Fixed by Christian Noon in regards to Issue #693.
Released on 2015-08-10. All issues associated with this milestone can be found using this filter.
- A
watchOS
deployment target to the podspec.- Added by Kyle Fuller in Pull Request #574.
- Full screen support in the iOS Example App.
- Added by Corinne Krych in Pull Request #612.
- Temporary workaround for
SecCertificate
array compiler crash.- Added by Robert Rasmussen in Issue #610.
Result
andError
types to refactor response validation and serialization.- Added by Christian Noon in Pull Request #627.
- Tests around response data, string and json serialization result behavior.
- Added by Christian Noon in Pull Request #627.
CustomStringConvertible
andCustomDebugStringConvertible
conformance to theResult
enumeration.- Added by Christian Noon in Pull Request #648.
- A Resume Data section to the README inside the Downloads section.
- Added by Christian Noon in Pull Request #648.
- A
watchOS
framework target to the project.- Added by Tobias Ottenweller in Pull Request #616.
Result
tests pushing code coverage forResult
enum to 100%.- Added by Christian Noon.
- Tests around all response serializer usage.
- Added by Christian Noon.
- Public docstrings for all public
SessionDelegate
methods.- Added by Christian Noon.
- A section to the README that calls out all open rdars affecting Alamofire.
- Added by Christian Noon.
- Test for wildcard validation that contains response with nil MIME type.
- Added by Christian Noon in Pull Request #662.
- Support for stream tasks in iOS 9+ and OSX 10.11+.
- Added by Christian Noon in Pull Request #659.
- All logic to compile against Swift 2.0.
- Updated by Christian Noon.
- All logic to use the latest Swift 2.0 conventions.
- Updated by Christian Noon.
- All public docstrings to the latest Swift 2.0 syntax.
- Updated by Christian Noon.
URLRequestConvertible
to return anNSMutableURLRequest
.- Updated by Christian Noon.
- All HTTP requests to HTTPS to better align with ATS.
- Updated by Christian Noon.
- The
escape
method inParameterEncoding
to use non-deprecated methods.- Updated by Christian Noon.
- All source code and docstrings to fit roughly within 120 characters.
- Updated by Christian Noon.
- The
MultipartFormData
encoding to leverage Swift 2.0 error handling.- Updated by Christian Noon.
- All README code samples to match the latest Swift 2.0 API changes.
- Updated by Christian Noon in Pull Request #648.
- All frameworks to enable code coverage generation.
- Updated by Christian Noon.
- All frameworks to set the enable testability flag to YES for release builds.
- Updated by Christian Noon in regard to Issue #652.
ParameterEncoding
to leverage guard for parameters to increase safety.- Updated by Christian Noon.
- iOS Example App to use optional bind around response to safely extract headers.
- The
queryComponents
andescape
methods inParameterEncoding
topublic
to better support.Custom
encoding.- Updated by Christian Noon in Pull Request #660.
- The static error convenience functions to a public ACL.
- Updated by Christian Noon in regards to Issue #668.
- Explicit string values in
ParameterEncoding
since they are now implied.- Removed by Christian Noon.
- An OSX cookie check in the
CustomDebugStringConvertible
conformance of aRequest
.- Removed by Christian Noon.
- Issue in automatic validation tests where mutable URL request was not used.
- Fixed by Christian Noon.
- Potential crash cases in Validation MIME type logic exposed by chaining.
- Fixed by Christian Noon.
- Compiler issue in the iOS Example App around
Result
type usage. - The error code in the custom response serializers section of the README.
- Fixed by Christian Noon.
Released on 2015-08-10. All issues associated with this milestone can be found using this filter.
- Issue where a completed task was not released by the
SessionDelegate
if the task override closure was set.- Fixed by Christian Noon in regards to Issue #622.
Released on 2015-07-24. All issues associated with this milestone can be found using this filter.
- Test case around
NSURLProtocol
checking header passthrough behaviors.- Added by Christian Noon in regards to Issue #473.
- Stream method on
Request
to receive data incrementally from data responses.- Added by Peter Sobot in Pull Request #512.
- Example to the README demonstrating how to use the
responseCollection
serializer.- Added by Josh Brown in Pull Request #532.
- Link to the README to the CocoaDocs documentation for Alamofire.
- Support for uploading
MultipartFormData
in-memory and streaming from disk.- Added by Christian Noon in Pull Request #539.
- Tests for uploading
MultipartFormData
with complete code coverage.- Added by Christian Noon in Pull Request #539.
- 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.
- Added by Christian Noon in Pull Request #586.
- Section to the README about new HTTP header support in the global functions.
- Added by Christian Noon.
- Basic auth
Authorization
header example to the README.- Added by Christian Noon.
- TLS certificate and public key pinning support through the
ServerTrustPolicy
.- Added by Christian Noon in Pull Request #581.
- Tests for TLS certificate and public key pinning with complete code coverage.
- Added by Christian Noon in Pull Request #581.
- Security section to the README detailing various server trust policies.
- Added by Christian Noon in Pull Request #581.
- The
resumeData
property toRequest
to expose outside data response serializer.- Added by Christian Noon in Pull Request #595.
- Download request sample to iOS example app.
- Added by Kengo Yokoyama in Pull Request #579.
- The INFOPLIST_FILE Xcode project setting to be a relative path.
- Updated by Christian Noon.
- Exposed persistence parameter for basic auth credentials.
- Updated by Christian Noon in regard to Issue #537.
- The Travis CI builds to run a full
pod lib lint
pass on the source.- Updated by Kyle Fuller in Pull Request #542.
- All cases of force unwrapping with optional binding and where clause when applicable.
- The
ParameterEncoding
encode return tuple to return a mutable URL request.- Updated by Petr Korolev in Pull Request #478.
- The
URLRequest
convenience method to return a mutableNSURLRequest
.- Updated by Christian Noon.
- The
request
/download
/upload
methods to support custom headers.- Updated by Christian Noon in Pull Request #586.
- The global
request
/download
/upload
method external parameters convention.- Updated by Christian Noon in Pull Request #586.
- Response serialization to use generics and a
ResponseSerializer
protocol.- Updated by Christian Noon in Pull Request #593.
- Download task delegate to store resume data for a failed download if available.
- Updated by Christian Noon in Pull Request #595.
- The
TaskDelegate.queue
to public to allow custom request extension operations.- Updated by Christian Noon in Pull Request #590.
- The README code samples for Advanced Response Serialization.
- Updated by Christian Noon.
- An unnecessary
NSURLSessionConfiguration
type declaration that can be inferred. - Unnecessary
respondsToSelector
overrides forSessionDelegate
methods.- Removed by Christian Noon in Pull Request #590.
- Unnecessary calls to
self
throughout source, test and example logic.- Removed by Christian Noon.
- Random test suite basic auth failures by clearing credentials in
setUp
method.- Fixed by Christian Noon.
- Error where wildcard was failing due to missing response MIME type.
- Fixed by Christian Noon in Pull Request #598.
- Typo in the basic auth headers example code in the README.
- Issue where the example app was printing elapsed time in optional form.
- Fixed by Christian Noon.
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 theManager
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 newResponseSerializer
protocol. This has many advantages, the most obvious being that theresponse
convenience method now returns anNSData?
optional instead of anAnyObject?
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.
- Tests for data task progress closure and NSProgress updates.
- Added by Christian Noon in Pull Request #494.
- More robust tests around download and upload progress.
- Added by Christian Noon in Pull Request #494.
- More robust redirect tests around default behavior and task override closures.
- Added by Christian Noon in Pull Request #507.
- The "[" and "]" to the legal escape characters and added more documentation.
- Added by Christian Noon in Pull Request #504.
- Percent escaping tests around reserved / unreserved / illegal characters.
- Added by Christian Noon in Pull Request #504.
- Tests for various Cache-Control headers with different request cache policies.
- Added by Christian Noon in Pull Request #505.
- Link to Carthage in the README.
- Added by Josh Brown in Pull Request #520.
- iOS 7 instructions to cover multiple Swift files in the README.
- Updated by Sébastien Michoy in regards to Issue #479.
- All tests to follow the Given / When / Then structure.
- Updated by Christian Noon in Pull Request #489.
- All tests to be crash safe.
- Updated by Christian Noon in Pull Request #489.
- The OS X tests so that they are all passing again.
- Updated by Christian Noon in Pull Request #489.
- Re-enabled Travis-CI tests for both iOS and Mac OS X.
- Updated by Christian Noon in Pull Request #506.
- Travis-CI test suite to run all tests in both debug and release.
- Updated by Christian Noon in Pull Request #506.
- Travis-CI test suite to run all tests on iOS 8.1, 8.2 and 8.3 as well as Mac OS X 10.10.
- Updated by Christian Noon in Pull Request #506.
- Travis-CI test suite to run
pod lib lint
against the latest version of CocoaPods.- Updated by Christian Noon in Pull Request #506.
- Random deinitialization test failure by handling task state race condition.
- Fixed by Christian Noon.
- Typo in the API Parameter Abstraction in the README.
- Fixed by Josh Brown in Pull Request #500.
- Cookies are now only applied in the DebugPrintable API when appropriate.
- Fixed by Alex Plescan in Pull Request #516.
Released on 2015-05-13. All issues associated with this milestone can be found using this filter.
- Contributing Guidelines document to the project.
- Added by Mattt Thompson.
- Documentation to the
URLStringConvertible
protocol around RFC specs.- Added by Mattt Thompson in regards to Issue #464.
- The
Carthage/Build
ignore flag to the.gitignore
file.- Added by Tomáš Slíž in Pull Request #451.
- The
.DS_Store
ignore flag to the.gitignore
file.- Added by Christian Noon.
- Response status code asserts for redirect tests.
- Added by Christian Noon.
- A CHANGELOG to the project documenting each official release.
- Added by Christian Noon.
SessionDelegate
override closure properties to match the method signatures.- Updated by Christian Noon in Pull Request #456.
- Documentation for the
Printable
protocol onRequest
to reference output stream rather than the specificOutputStreamType
.- Updated by Mattt Thompson.
- Deployment targets to iOS 8.0 and OS X 10.9 for the respective frameworks.
- Updated by Christian Noon.
SessionDelegate
willPerformHTTPRedirection method to accept optional return type from override closure.- Updated by Chungsub Kim in Pull Request #469.
- Embedded Framework and Source File documentation in the README.
- Updated by Christian Noon in regards to Issue #427.
- Alamofire source to be split into multiple core files and feature files.
- Updated by Christian Noon in Pull Request #471.
TaskDelegate
override closure signatures and delegate method implementations.- Updated by Christian Noon.
- Travis-CI build status from the README until Xcode 6.3 is supported.
- Removed by Mattt Thompson.
- Unnecessary parentheses from closure parameters and typealiases.
- Removed by Christian Noon.
SessionDelegate
override closure documentation.- Fixed by Siemen Sikkema in Pull Request #448.
- Some inaccurate documentation on several of the public
SessionDelegate
closures.- Fixed by Christian Noon in Pull Request #456.
- A deinit race condition where the task delegate queue could fail to
dispatch_release
.- Fixed by Christian Noon in Pull Request #379.
TaskDelegate
to only setqualityOfService
forNSOperationQueue
on iOS 8+.- Fixed by Christian Noon in regards to Issue #472.
- Expectation order issue in the redirect tests.
- Fixed by Christian Noon.
DataTaskDelegate
behavior ensuringNSProgress
values andprogress
override closures are always updated and executed.- Fixed by Christian Noon in regards to Issue #407.
Released on 2015-04-21.
- Redirect tests for the
SessionDelegate
.- Added by Jonathan Hersh in Pull Request #424.
- TLS evaluation test case.
- Added by Mattt Thompson.
- Additional guards to ensure unique task identifiers for upload and download tasks.
- Added by Mattt Thompson in regards to Issue #393.
- Required Xcode version to Xcode to 6.3 in the README.
- Updated by Mattt Thompson.
- SSL validation to use default system validation by default.
- Updated by Michael Thole in Pull Request #394.
Released on 2015-04-09.
- New
testURLParameterEncodeStringWithSlashKeyStringWithQuestionMarkValueParameter
test.- Added by Mattt Thompson in regards to Issue #370.
- New
backgroundCompletionHandler
property to theManager
called when the session background tasks finish.- Added by Christian Noon in Pull Request #317.
Request
computed propertyprogress
to no longer be an optional type.- Updated by Pitiphong Phongpattranont in Pull Request #404.
- All logic to Swift 1.2.
- Updated by Aron Cedercrantz and Mattt Thompson.
- The
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.- Updated by Kyle Fuller and Mattt Thompson in Pull Request #359 which also resolved Issue #358.
SessionDelegate
methods to first call the override closures if set.- Updated by Christian Noon in Pull Request #317.
SessionDelegate
and all override closures to a public ACL allowing for customization.- Updated by Christian Noon in Pull Request #317.
SessionDelegate
class tofinal
.- Updated by Mattt Thompson.
SessionDelegate
header documentation for method override properties.- Updated by Mattt Thompson.
- Xcode project to set
APPLICATION_EXTENSION_API_ONLY
toYES
for OS X target.- Updated by Mattt Thompson.
- Ambiguous response serializer methods that collided with default parameters.
- Removed by Christian Noon in Pull Request #408.
SessionDelegate
initializer and replaced with default property value.- Removed by Mattt Thompson.
- Async tests where asserts were potentially not being run by by moving
expectation.fulfill()
to end of closures. - Small grammatical error in the ParameterEncoding section of the README.
- Fixed by Aaron Brager in Pull Request #416.
- Typo in a download test comment.
- Fixed by Aaron Brager in Pull Request #413.
- Signature mismatch in the
dataTaskDidBecomeDownloadTask
override closure.- Fixed by Christian Noon in Pull Request #317.
- Issue in the
SessionDelegate
where theDataTaskDelegate
was not being called.- Fixed by Christian Noon in Pull Request #317.
Released on 2015-03-26.
- Convenience upload functions to the
Manager
.- Added by Olivier Bohrer in Pull Request #334.
- Info to the README about Swift 1.2 support.
- Added by Mattt Thompson.
- All request / upload / download methods on
Manager
to match the top-level functions.- Updated by Mattt Thompson.
- The
testDownloadRequest
to no longer remove the downloaded file.- Updated by Mattt Thompson.
- Ono XML response serializer example in the README.
- Updated by Mattt Thompson.
- Travis-CI settings to only build the master branch.
- Updated by Mattt Thompson.
- Code signing identities for the frameworks and targets to better support Carthage.
- Updated by Christian Noon in Pull Request #400.
- iOS deployment target to iOS 8.0 for iOS target and tests.
- Updated by Christian Noon in Pull Request #401.
- Legal characters to be escaped according to RFC 3986 Section 3.4.
- Updated by Stephane Lizeray in Pull Request #370.
- Travis-CI scheme issue, added podspec linting and added ENV variables.
- Fixed by Jonathan Hersh in Pull Request #351.
- Code sample in the README in the Manual Parameter Encoding section.
- Fixed by Petr Korolev in Pull Request #381.
Released on 2015-01-30.
- Podspec argument
requires_arc
to the podspec file.- Added by Mattt Thompson.
- Support for Travis-CI for automated testing purposes.
- Added by Kyle Fuller in Pull Request #279.
- Installation instructions in the README to include CocoaPods, Carthage and
Embedded Frameworks.
- Updated by Mattt Thompson.
- Travis-CI to use Xcode 6.1.1.
- Updated by Mattt Thompson.
- The
download
method onManager
to useRequest.DownloadFileDestination
typealias.- Updated by Alexander Strakovich in Pull Request #318.
RequestTests
to no longer delete all cookies in default session configuration.- Updated by Mattt Thompson.
- Travis-CI yaml file to only build the active architecture.
- Updated by Mattt Thompson.
- Deployment targets to iOS 7.0 and Mac OS X 10.9.
- Updated by Mattt Thompson.
- The
tearDown
method in theAlamofireDownloadResponseTestCase
.- Removed by Mattt Thompson.
- Small formatting issue in the CocoaPods Podfile example in the README.
- Several issues with the iOS and OSX targets in the Xcode project.
- Fixed by Mattt Thompson.
- The
testDownloadRequest
inDownloadTests
by adding.json
file extension.- Fixed by Martin Kavalar in Pull Request #302.
- The
AlamofireRequestDebugDescriptionTestCase
on OSX.- Fixed by Mattt Thompson.
- Spec validation error with CocoaPods 0.36.0.beta-1 by disabling -b flags in
cURL
debug on OSX.- Fixed by Mattt Thompson.
- Travis-CI build issue by adding support for an
iOS Example
scheme.- Fixed by Yasuharu Ozaki in Pull Request #322.
Released on 2015-01-09.
- Podspec file to support CocoaPods deployment.
- Added by Marius Rackwitz in Pull Request #218.
- Shared scheme to support Carthage deployments.
- Added by Yosuke Ishikawa in Pull Request #228.
- New target for Alamofire OSX framework.
- Added by Martin Kavalar in Pull Request #293.
- Upload and Download progress state to be updated before calling progress closure.
- Updated by Alexander Strakovich in Pull Request #278.
- Some casting code logic in the Generic Response Object Serialization example in
the README.
- Fixed by Philip Heinser in Pull Request #258.
- Indentation formatting of the
responseString
parameter documentation.
Released on 2014-12-21.
- POST request JSON response test.
- Added by Mattt Thompson.
- The response object example to use a failable initializer in the README.
- Updated by Mattt Thompson in regards to Issue #230.
- Router example in the README by removing extraneous force unwrap.
- Updated by Arnaud Mesureur in Pull Request #247.
- Xcode project
APPLICATION_EXTENSION_API_ONLY
flag toYES
.- Updated by Michael Latta in Pull Request #273.
- Default HTTP header creation by moving it into a public class method.
- Updated by Christian Noon in Pull Request #261.
- Upload stream method to set
HTTPBodyStream
for streamed request.- Fixed by Florent Vilmart and Mattt Thompson in Pull Request #241.
- ParameterEncoding to compose percent-encoded query strings from
percent-encoded components.
- Fixed by Oleh Sannikov in Pull Request #249.
- Serialization handling of NSData with 0 bytes.
- Fixed by Mike Owens in Pull Request #254.
- Issue where
suggestedDownloadDestination
parameters were being ignored.- Fixed by Christian Noon in Pull Request #257.
- Crash caused by
Manager
deinitialization and added documentation.- Fixed by Mattt Thompson in regards to Issue #269.
Released on 2014-11-20.
- Dispatch-based synchronized access to subdelegates.
- Updated by Mattt Thompson in regards to Pull Request #175.
- iOS 7 instructions in the README.
- Updated by Mattt Thompson.
- CRUD example in the README to work on Xcode 6.1.
- Updated by John Beynon in Pull Request #187.
- The
cURL
example annotation in the README to pick upbash
syntax highlighting.- Updated by Samuel E. Giddins in Pull Request #208.
- Out-of-memory exception by replacing
stringByAddingPercentEncodingWithAllowedCharacters
withCFURLCreateStringByAddingPercentEscapes
.- Fixed by Mattt Thompson in regards to Issue #206.
- Several issues in the README examples where an NSURL initializer needs to be unwrapped.
- Fixed by Mattt Thompson in regards to Pull Request #213.
- Possible exception when force unwrapping optional header properties.
- Fixed by Mattt Thompson.
- Optional cookie entry in
cURL
output.- Fixed by Mattt Thompson in regards to Issue #226.
- Optional
textLabel
property on cells in the example app.- Fixed by Mattt Thompson.
Released on 2014-10-20.
- Project to support Swift 1.1 and Xcode 6.1.
- Updated by Aral Balkan, Ross Kimes, Orta Therox, Nico du Plessis and Mattt Thompson.
Released on 2014-10-20.
- Tests for upload and download with progress.
- Added by Mattt Thompson.
- Test for question marks in url encoded query.
- Added by Mattt Thompson.
- The
NSURLSessionConfiguration
headers tocURL
representation.- Added by Matthias Ryne Cheow in Pull Request #140.
- Parameter encoding tests for key/value pairs containing spaces.
- Added by Mattt Thompson.
- Percent character encoding for the
+
character.- Added by Niels van Hoorn in Pull Request #167.
- Escaping for quotes to support JSON in
cURL
commands. - The
request
method to theManager
bringing it more inline with the top-level methods.- Added by Brian Smith.
- Parameter encoding of ampersands and escaping of characters.
- Fixed by Mattt Thompson in regards to Issues #146 and #162.
- Parameter encoding of
HTTPBody
from occurring twice.- Fixed by Yuri in Pull Request #153.
- Extraneous dispatch to background by using weak reference for delegate in response.
- Fixed by Mattt Thompson.
- Response handler threading issue by adding a
subdelegateQueue
to theSessionDelegate
.- Fixed by Essan Parto in Pull Request #171.
- Challenge issue where basic auth credentials were not being unwrapped.
- Fixed by Mattt Thompson.
Released on 2014-09-25.
- Initial release of Alamofire.
- Added by Mattt Thompson.