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.1
5.8.x
Releases - 5.8.0 | 5.8.1
5.7.x
Releases - 5.7.0 | 5.7.1
5.6.x
Releases - 5.6.0 | 5.6.1 | 5.6.2 | 5.6.3 | 5.6.4
5.5.x
Releases - 5.5.0
5.4.x
Releases - 5.4.0 | 5.4.1 | 5.4.2 | 5.4.3 | 5.4.4
5.3.x
Releases - 5.3.0
5.2.x
Releases - 5.2.0 | 5.2.1 | 5.2.2
5.1.x
Releases - 5.1.0
5.0.x
Releases - 5.0.0 | 5.0.1 | 5.0.2 | 5.0.3 | 5.0.4 | 5.0.5
5.0.0
Release Candidates - 5.0.0-rc.1 | 5.0.0-rc.2 | 5.0.0-rc.3
5.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.1
4.8.x
Releases - 4.8.0 | 4.8.1 | 4.8.2
4.7.x
Releases - 4.7.0 | 4.7.1 | 4.7.2 | 4.7.3
4.6.x
Releases - 4.6.0
4.5.x
Releases - 4.5.0 | 4.5.1
4.4.x
Releases - 4.4.0
4.3.x
Releases - 4.3.0
4.2.x
Releases - 4.2.0
4.1.x
Releases - 4.1.0
4.0.x
Releases - 4.0.0 | 4.0.1
4.0.0
Betas - 4.0.0-beta.1 | 4.0.0-beta.2
3.5.x
Releases - 3.5.0 | 3.5.1
3.4.x
Releases - 3.4.0 | 3.4.1 | 3.4.2
3.3.x
Releases - 3.3.0 | 3.3.1
3.2.x
Releases - 3.2.0 | 3.2.1
3.1.x
Releases - 3.1.0 | 3.1.1 | 3.1.2 | 3.1.3 | 3.1.4 | 3.1.5
3.0.x
Releases - 3.0.0 | 3.0.1
3.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.2
2.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.1
1.2.x
Releases - 1.2.0 | 1.2.1 | 1.2.2 | 1.2.3
1.1.x
Releases - 1.1.0 | 1.1.1 | 1.1.2 | 1.1.3 | 1.1.4 | 1.1.5
1.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
and HTTPHeader
to be Sendable
.
HTTPMethod
to be Sendable
.
Released on 2024-03-03. All issues associated with this milestone can be found using this filter.
WebSocketRequest
, as a wrapper for URLSessionWebSocketTask
. 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.
AlamofireDynamic
target, to force dynamic linking in Xcode when using SPM. Only use when you know you need it.
AFInfo
enum and a public version
value to get Alamofire's current version, AFInfo.version
.
Request.swift
file and consolidate various Request
subclasses into their own files.
Empty
type to be Sendable
.
.swiftformat
to remove duplicate rules.
Package.swift
in newer Xcode versions.
Alamofire.podspec
after project restructuring.
Released on 2023-10-26. All issues associated with this milestone can be found using this filter.
URLEncodedFormEncoder
encoding of Encodable
values with optional properties using encodeIfPresent
.
Released on 2023-08-31. All issues associated with this milestone can be found using this filter.
HTTPURLResponse
values.
#if
checks.
URL
conversion tests for 2023 URL
changes.
contains
.
MultipartFormData
stream to properly obey bodyContentLength
.
Released on 2023-05-10. All issues associated with this milestone can be found using this filter.
Released on 2023-05-09. All issues associated with this milestone can be found using this filter.
ArrayEncoding.custom
to URLEncodedFormEncoder
and URLEncoding
.
KeyPathEncoding
to URLEncodedFormEncoder
.
NilEncoding
to URLEncodedFormEncoder
.
flatMap
to map
in HTTPHeaders
.
bufferingPolicy
in StreamOf
.
Released on 2022-11-21. All issues associated with this milestone can be found using this filter.
Released on 2022-11-20. All issues associated with this milestone can be found using this filter.
Request
has already been cancelled.
Released on 2022-07-17. All issues associated with this milestone can be found using this filter.
JSONEcoding
contains values that can't be passed through JSONSerialization
.
Cache-Control
header tests to not require hard-coded delays.
SecTrustCopyCertificateChain
.
Released on 2022-04-17. All issues associated with this milestone can be found using this filter.
automaticallyCancelling
parameter in serializingDownloadedFileURL
.
Released on 2022-04-13. All issues associated with this milestone can be found using this filter.
HTTPMethod.query
to support the upcoming standard.
DownloadRequest
to avoid producing resume data when not explicitly requested on cancellation.
Released on 2021-12-13. All issues associated with this milestone can be found using this filter.
async
-await
for requests and StreamOf
for streaming values.
.indexInBrackets
options for array encoding in query parameters.
RequestAdapterState
and new protocol requirements for RequestAdapter
to allow for additional state to be available.
Session
to more safely target provided custom DispatchQueue
s for internal use.
AFError
message regarding unacceptable Content-Type
s to sort the types.
responseJSON
and associated methods, in preference to responseDecodable
.
Protected
wrapper when accessing properties of the wrapped values to ensure proper thread-safety.
Released on 2021-09-20. All issues associated with this milestone can be found using this filter.
Released on 2021-04-21. All issues associated with this milestone can be found using this filter.
Released on 2021-04-03. All issues associated with this milestone can be found using this filter.
DownloadRequest
s to access resume data from errors as well as cancellation.
MultipartUpload
thread-safety.
Released on 2020-12-20. All issues associated with this milestone can be found using this filter.
Released on 2020-10-17. All issues associated with this milestone can be found using this filter.
URLResponseSerializer
and attendant convenience methods so downloads can produce a non-optional URL
.
file://
URL
s, removing error added in 5.3.0 and adding support for DownloadRequest
.
Released on 2020-10-17. All issues associated with this milestone can be found using this filter.
URLRequest
s and URLSessionTask
s.
URLSessionTaskMetrics
gathering on watchOS 7+.
URLRequest.headers
extension property in URLEncoding
.
AuthenticationInterceptor
caused by synchronous refresh
implementations.
file://
URL
s by producing validation error.
Released on 2020-07-17. All issues associated with this milestone can be found using this filter.
debugDescription
of DataRequest
and DownloadRequest
to better handle non-text and long content, with better formatting.
switch
instead of if else
statement.
DataStreamRequest
.
Released on 2020-05-25. All issues associated with this milestone can be found using this filter.
.background
DispatchQoS
to .utility
to avoid low-power issues.
Released on 2020-05-16. All issues associated with this milestone can be found using this filter.
DataResponsePublisher
, DownloadResponsePublisher
, and DataStreamPublisher
to stream Alamofire responses.
AuthenticationInterceptor
, for easier adaptation and retry of requests with credentials.
DisabledEvaluator
to DisabledTrustEvaluator
, deprecating the previous name.
Interceptor
to be initialized with multiple RequestInterceptor
s, in addition to RequestAdapter
s and RequestRetrier
s.
Decimal
values in URLEncodedFormEncoder
.
Session
.
NetworkReachabilityManager
.
Released on 2020-04-04. All issues associated with this milestone can be found using this filter.
RequestModifier
closure to request APIs, allowing mutation of created URLRequest
s.
DataStreamRequest
, for streaming HTTP responses.
ServerTrustEvaluating
documentation.
Released on 2020-03-23. All issues associated with this milestone can be found using this filter.
Request
casting issue on retry that could lead to incomplete retry of UploadRequest
s.
finish()
could be called multiple times, leading to duplicate response handler calls.
Released on 2020-03-15. All issues associated with this milestone can be found using this filter.
Released on 2020-03-14. All issues associated with this milestone can be found using this filter.
URLSessionConfiguration
s in Alamofire 5.
didFinishCollecting
event.
RetryPolicy
's handling of AFError
.
DownloadRequest
cancellation reliability.
-no_compact_unwind
linker warning on watchOS by disabling the warning.
Released on 2020-02-23. All issues associated with this milestone can be found using this filter.
Released on 2020-02-23. All issues associated with this milestone can be found using this filter.
AlamofireExtension
to have public properties and initializer, and conform to @dynamicMemberLookup
.
Released on 2020-02-14. All issues associated with this milestone can be found using this filter.
NSURLAuthenticationMethodClientCertificate
when handling auth challenges using URLCredential
s.
AF
namespace to be a reference to Session.default
.
SessionDelegate
by reducing the severity of the assertions.
public
attribute on _URLEncodedFormEncoder
.
Released on 2019-10-26. All issues associated with this milestone can be found using this filter. Note: Alamofire 5 is now API stable.
resume()
behavior to be called after the first response handler is added instead of immediately after task creation.
URLEncodedFormEncoder
.
SecTrust
API when building for Catalyst.
Released on 2019-09-08. All issues associated with this milestone can be found using this filter. Note: Alamofire 5 is now API stable.
Error
instead of generic Failure
constraint in DataResponse
API.
Released on 2019-09-04. All issues associated with this milestone can be found using this filter. Note: Alamofire 5 is now API stable.
cancelAllRequests
method on Session
to cancel all in flight requests.
FileManager
instance into UploadRequest
.
DataPreprocessor
protocol and implementations, allowing the preprocessing of data before serialization.
URLRequest
validation and error. GET
requests with body data will now produce an error.
Failure
constraint to DataResponse
and DownloadResponse
, making them DataResponse<Success, Failure: Error>
and DownloadResponse<Success, Failure: Error>
.
Session
can't be used with background URLSessionConfiguration
s. Alamofire will explicitly support such functionality at some point in the future.
AFDataResponse<Success>
and AFDownloadResponse<Success>
typealiases to help deal with the doubly generic responses.
Result
usage to use the fully qualified type instead of AFResult
.
DataRequest
and DownloadRequest
functional API, renaming flatMap
to tryMap
.
HTTPMethod
to be a struct rather than an enum.
AFError
by default. All responses will now start with an AFError
Failure
type.
NetworkReachabilityManager
to simplify and modernize its API.
Usage.md
documentation to be fully up-to-date with Alamofire 5.
Released on 2019-07-29. All issues associated with this milestone can be found using this filter. Note: Alamofire will not be following semantic versioning during the beta process. There may be breaking changes until 5.0.0 is released.
URLEncodedFormEncoder.DataEncoding
and URLEncodedFormEncoder.KeyEncoding
to customize the encoding of Data
and CodingKeys
in URLEncodedFormEncoder
.
cURLDescription
method to produce cURL
commands for Request
s which are in the process of creating their initial URLRequest
.
Request
has completed. This no longer produces an error but will instead trigger the normal Request
lifetime methods.
String
instead of nil
by URLEncodedFormEncoder
.
os_unfair_lock
to prevent rare crash.
Released on 2019-04-23. All issues associated with this milestone can be found using this filter. Note: Alamofire will not be following semantic versioning during the beta process. There may be breaking changes until 5.0.0 is released.
ServerTrustEvaluation
logic by simplifying public key equality checks for SecKey
types.
Request.State
access to lock access and task updates using internal locking API.
DownloadRequest
where some events were being duplicated and some were missing.
Request
.
Released on 2019-04-12. All issues associated with this milestone can be found using this filter. Note: Alamofire will not be following semantic versioning during the beta process. There may be breaking changes until 5.0.0 is released.
Request.didResumeTaskNotification
, Request.didSuspendTaskNotification
, Request.didCancelTaskNotification
, and Request.didCompleteTaskNotification
notifications.
URLSessionTask
lifetime events to EventMonitor
.
SessionStateProvider
to no longer be public
and renamed the file it lives in.
MultipartUpload
to no longer be public
.
Request
, DataRequest
, UploadRequest
, and DownloadRequest
to longer be open
, as Alamofire does not support subclassing these types.
Request
to include Notification
.
httpHeaders
extensions on URLRequest
, HTTPURLResponse
, and URLSessionConfiguration
to be headers
instead.
Request
where calling cancel()
inside a response serializer would result in the serializer running again.
Session
where the delegate precondition
would be triggered when running with a swizzled URLSessionDelegate
.
Request
where certain lifetime events could be triggered more than once by repeatedly calling resume()
, suspend()
, or cancel()
.
Released on 2019-03-29. All issues associated with this milestone can be found using this filter. Note: Alamofire will not be following semantic versioning during the beta process. There may be breaking changes until 5.0.0 is released.
AlamofireExtended
protocol and used it to namespace all public extensions.
switch
and DispatchQueue
logic throughout codebase to simplify usage patterns.
MultipartFormData
data APIs by condensing them using optional parameters.
MultipartFormData
to support custom boundaries.
Result
type to be a new AFResult
typealias on the new Swift.Result
type in Swift 5 and removed all public extensions.
RequestInterceptor
closures where callback arguments were not marked as @escaping
.
emptyResponseAllowed
logic was not working as expected.
Released on 2019-01-07. All issues associated with this milestone can be found using this filter. Note: Alamofire will not be following semantic versioning during the beta process. There may be breaking changes until 5.0.0 is released.
EmptyResponse
protocol, to allow any type to provides values to stand in for an empty response.
Request
's debugDescription
.
Package.swift
for Swift 5 support, moving Swift 4.2 support to Package@swift-4.2.swift
.
Array
to Range
in Request
's default acceptableResponseCodes
.
RetryPolicy
to allow subclasses to override retry(_:, for: Session, dueTo:, completion:)
.
didResume
notification to didFinish
, which is now called when a Request
finished, not when tasks resume.
Request
s not finishing when their controlling Session
is deinit
d or invalidated.
validate()
due to reference cycle from implicit self
capture when using an @autoclosure
.
requestDidParseAnyResponse
when using ClosureEventMonitor
.
RetryPolicy
to properly conform to RequestInterceptor
.
Released on 2019-01-07. All issues associated with this milestone can be found using this filter. Note: Alamofire will not be following semantic versioning during the beta process. There may be breaking changes until 5.0.0 is released.
Session
and per Request
using the RedirectHandler
protocol.
Session
and per Request
using the CachedResponseHandler
protocol.
Session
and per Request
using the RequestInterceptor
protocol.
Adapter
, Retrier
, and Interceptor
types to provide fine grained control of retry behavior.
RetryPolicy
and ConnectionLostRetryPolicy
types.
RequestRetrier
protocol to take a RetryResult
in the completion
closure allowing custom retry errors to be thrown.
Hashable
implementation on Request
to use new hash(into:)
API.
Released on 2018-12-06. All issues associated with this milestone can be found using this filter. Note: Alamofire will not be following semantic versioning during the beta process. There may be breaking changes until 5.0.0 is released.
Decodable
response serialization with responseDecodable
.
Content-Encoding
in Alamofire's default headers.
HTTPHeaders
type and convenience APIs.
Encodable
parameter types with JSONParameterEncoder
and URLEncodedFormParameterEncoder
.
EventMonitor
protocol, to tap in to internal Alamofire lifetime events.
ServerTrustFailureReason
to AFError
.
ResponseSerializer
and associated protocols' requirements and implementations.
RequestAdapter
to allow for asynchronous adaptation.
SessionManager
to Session
, with rewritten implementation and API.
Request
, DataRequest
, UploadRequest
, and DownloadRequest
with rewritten implementation and API.
request
API to be inside a real AF
namespace enum rather than unnecessary Alamofire.
usage.
PropertyListSerialization
and responsePropertyList
.
URLSessionStreamTask
.
Timeline
type, as Alamofire now gathers URLSessionTaskMetrics
for every request.
Released on 2019-10-26. All issues associated with this milestone can be found using this filter.
DataResponse
and DownloadResponse
debugDescription
to include more useful information.
Released on 2019-09-03. All issues associated with this milestone can be found using this filter.
DownloadRequest
s without producing resume data.
NetworkReachabilityManager
behavior regression from 4.8.1.
validate()
.
Released on 2019-03-27. All issues associated with this milestone can be found using this filter.
Released on 2019-01-15. All issues associated with this milestone can be found using this filter.
Released on 2018-11-24. All issues associated with this milestone can be found using this filter.
Result
methods to be throw
/rethrows
.
Released on 2018-7-8. All issues associated with this milestone can be found using this filter.
Released on 2018-4-15. All issues associated with this milestone can be found using this filter.
Requests
after retry.
Released on 2018-3-31. All issues associated with this milestone can be found using this filter.
Released on 2018-3-5. All issues associated with this milestone can be found using this filter.
NetworkReachabilityManager
URLEncoding
Data
to .DidComplete
notification.
URLSessionTaskMetrics
bug on watchOS.
ResultTests
.
Released on 2017-12-3. All issues associated with this milestone can be found using this filter.
Response
types.
#session-manager
link in Advanced Usage docs.
@discardableResult
.
Released on 2017-09-06. All issues associated with this milestone can be found using this filter.
URLCredential
values.
TaskDelegate
where task access was not thread safe.
substring
APIs.
Released on 2017-06-16. All issues associated with this milestone can be found using this filter.
@escaping
annotation for session delegate closures.
mapError
, flatMapError
, withValue
, withError
, ifSuccess
, and ifFailure
APIs to Result
.
SessionDelegate
internal implementation by removing redundant optional unwrap.
debugPrintable
implementation of Request
to use curl -v
instead of curl -i
to be more verbose.
MultipartFormData
contentType property to be mutable.
URLProtocolTestCase
where HTTP header capitalization was wrong due to httpbin.org change.
.reachable
status with [.connectionRequired
, .isWWAN
] combination.
Released on 2017-02-26. All issues associated with this milestone can be found using this filter.
Alamofire/Alamofire
Gitter channel and also added badge to the README.
defaultHTTPHeaders
property was called incorrectly.
taskDidComplete
override closure was not calling task delegate leading to
potential memory leaks.
Released on 2017-01-15. All issues associated with this milestone can be found using this filter.
macOS
disclaimer to download request example in README.
value
and error
computed properties to data and download responses.
dependencies
parameter to Package
file for SPM since it's now required.
NetworkReachabilityManager
to have a public
instead of open
ACL.
syncResult
extension with DispatchQueue sync
.
DownloadRequest
sample code issue in AF 4 migration guide.
URLConvertible
compiler issue in the README example.
SessionManager
did not respect retry time delay.
RequestAdapter
and RequestRetrier
examples in README.
Released on 2016-11-20. All issues associated with this milestone can be found using this filter.
Timeline
generation to DefaultDataResponse
and DefaultDownloadResponse
.
encode
method that takes a JSON object along with unit tests.
RequestRetrier
example in the README to safely extract tokens.
TaskDelegate
data
and error
properties to a public
ACL.
AdaptError
instances were being incorrectly sent to the RequestRetrier
.
Released on 2016-11-15. All issues associated with this milestone can be found using this filter.
resumeData
and background session behavior.
retryCount
property to support the RequestRetrier
.
DispatchQueue
internal APIs in the example.
RequestAdapter
to call the RequestRetrier
when an Error
is thrown.
SessionManager
to clean up the temporary multipart form data file after upload.
SessionManager
links that were broken in the README.
response.error
was used incorrectly.
ServerTrustPolicy
tests where a macOS 10.12
check was needed.
DownloadRequest
in AF4 Migration Guide.
nil
response.
Released on 2016-09-24. All issues associated with this milestone can be found using this filter.
OS_ACTIVITY_MODE
environment variable to iOS, tvOS and iOS Example.
com.alamofire
with org.alamofire
throughout the project.
.swift-version
file and re-enabling pod lib lint
in Travis file.
macOS
in place of OS X
.
~/Library/Application Support
on macOS.
to
parameter was missing.
AFError
where wrong case was used in several property implementations.
DispatchQueue
extension where Foundation
needed to be imported for submodules.
Validation
closures where reference to self
was causing retain cycle.
Released on 2016-09-11. All issues associated with this milestone can be found using this filter.
DispatchQueue
extension set of convenience properties and methods.
RequestAdapter
and RequestRetrier
protocols allowing requests to be retried.
RequestAdapter
tests on all testable SessionManager
request APIs.
Adapting and Retrying Requests
section to the README.
DataRequest
, DownloadRequest
, UploadRequest
and StreamRequest
subclasses.
StreamRequest
instances.
responseToSelector
overrides for stream delegate APIs.
syncResult
extension to DispatchQueue
to simplify thread-safe locking.
dataFileNil
and dataFileReadFailed
cases to ResponseValidationFailureReason
.
isWildcard
property to MIMEType struct for convenience.
CustomDebugStringCovertible
conformance to DownloadResponse
.
FileManager
extension in the test suite.
DownloadOptions
option set to make moving files more robust.
DownloadOptions
.
URLSessionTaskMetrics
to all Response types
.
HTTPHeaders
typealias for top-level API convenience.
URLStringConvertible
, URLRequestConvertible
and RequestAdapter
.
Request
creation and adaptation.
authorizationHeader
static method over to returning optional tuple.
SessionManager
queues to each have a unique name using a UUID suffix.
Request
subclasses to improve accuracy.
BaseTestCase
to delete contents of common directories at the start of each test.
DataRequest
and added equivalents
for DownloadRequest
.
Protocol
suffix.
Validation
typealias to include response data in a DataRequest
type.
Validation
typealias to include temporary and destination URLs in a DownloadRequest
type.
SessionManager
APIs to all leverage TaskConvertible
conformance.
DownloadFileDestination
closures to be optional on top-level DownloadRequest
APIs.
request
and download
APIs now default to .get
method and upload
defaults to .post
.
ParameterEncoding
encode API to throw instead of returning tuple.
TaskDelegate
to only store the url session task error if error
is nil
.
ParameterEncoding
enum by switching to a protocol backed by url, json and plist structs.
Error
examples as well as typo and whitespace fixes.
Request
task property is now optional allowing errors to propagate through.
resource
parameter name.
URLStringCovertible
by renaming to URLConvertible
and removed protocol property.
URLConvertible
and top-level API changes.
public
ACL declarations on AFError
extensions.
URLStringConvertible
conformance on URLRequest
.
downloadProgress
and uploadProgress
Int64 variants.
URLEncoding
issue around NSNumber
parameter encoding.
MultipartFormData
temp directory creation needed to be done serially.
Released on 2016-08-29. All issues associated with this milestone can be found using this filter.
Manager
class due to cherry picked change that merged incorrectly.
Released on 2016-08-28. All issues associated with this milestone can be found using this filter.
discardableResult
annotations to all top-level Request APIs.
Notification.Name
namespace.
Manager
class to SessionManager
to be more descriptive.
SessionDelegate
, TaskDelegate
and subclasses by pulling them into the global namespace.
SessionDelegate
to store Request
instances internally to prepare for retry logic.
URLRequest
initializer to match other APIs.
Error
enum to AFError
which now conforms to the new Error
protocol.
MultipartFormData
Swift 3 API refactor.
This release requires Xcode 8.0 beta 6+ because it has been completely refactored to compile against Swift 3.0. Any older versions of Xcode will NOT COMPILE.
This release is the start of the Alamofire 4.0.0 beta releases. We still have quite a few large changes we're trying to squeeze in before the Xcode 8 GM drops, so the APIs will continue to change over the next few weeks. Please keep in mind that each beta will likely bring new APIs and also refactor others. The betas WILL NOT follow semantic versioning. We'll most likely conform to semantic versioning once we start releasing the RCs unless we run into a major unforeseen issue.
We'd really appreciate everyone trying out the betas and letting us know if you find issues. We want to address every possible issue prior to the official Alamofire 4.0.0 release.
Released on 2016-10-01. All issues associated with this milestone can be found using this filter.
Released on 2016-09-07. All issues associated with this milestone can be found using this filter.
User-Agent
header generation formatting and also added docs and tests.
Released on 2016-08-28. All issues associated with this milestone can be found using this filter.
disig.sk
to badssl.com
to be more reliant and robust.
URLRequest
method to maintain mutable variant data on an NSURLRequest
passed
into the top-level APIs.
User-Agent
header to include version and build numbers.
Cleanup Whitespace
target.
Request
debug description tests to no longer require parameters in a specific order.
Released on 2016-06-12. All issues associated with this milestone can be found using this filter.
26761490
to the list of rdars affecting Alamofire.
debugDescription
test for a MultipartFormData Request with duplicate headers.
User-Agent
header to use non-localized sources.
Generic Response Object Serialization
section of the README to use protocol extension.
ReleaseTest
configuration and updated Travis-CI yaml file to enable testability directly.
Timeline
description and debugDescription due to string interpolation.
Released on 2016-05-08. All issues associated with this milestone can be found using this filter.
NSError
userInfo dictionaries.
authorizationHeader
API to generate base64 encoded authorization header.
NSURLProtocol
with NSURLSession
.
SesionDelegate
to no longer be final
to allow subclassing.
SessionDelegate
subscript public to allow full control when subclassing.
Response Serialization
section of the README to include validation examples.
Manager
initializer in front of property assignment.
Accept
header instead of Content-Type
.
errorWithCode
APIs and updated NSURLError* domains to NSURLErrorDomain
.
cURLRepresentation
method was not coalescing duplicate headers.
Released on 2016-04-06. All issues associated with this milestone can be found using this filter.
SessionDelegate
redirect with completion override closure.
SessionDelegate
override closures.
respondsToSelector
check for the new HTTP redirect closure with completion.
SessionDelegate
override closures were not called.
Released on 2016-03-23. All issues associated with this milestone can be found using this filter.
SessionDelegate
APIs with completion handlers.
User-Agent
header implementation to use more aggressive type-safety checks.
This release requires Xcode 7.3+ otherwise the Swift 2.2 changes will NOT COMPILE. There are several reasons why this was deployed as a MINOR and not MAJOR release. First off, the public API changes of this release are fully backwards compatible. There are no breaking API changes in the public APIs. Strictly following semver dictates that this is a MINOR, not MAJOR release.
See semver for more info.
We also realize that this can be frustrating for those out there not ready to upgrade to Xcode 7.3. Please know that we consider each release version carefully before deploying. Our decision to bump the MINOR version was not only due to strictly following semver, but also because it's difficult and undesirable for all OSS libraries to bump MAJOR versions each time the Swift APIs are incremented. Alamofire would have had to go through 6 additional MAJOR versions if this was the policy. That would mean we'd already be running on Alamofire 10.x. Incrementing MAJOR versions this quickly is disruptive to the community and would cause even more confusion. Instead, we try to carefully plan our MAJOR version releases and accompany them with detailed Migration Guides to help make the transition as smooth as possible.
If anyone has additional questions, please feel free to open an issue and we'll be more than happy to discuss further.
Released on 2016-02-27. All issues associated with this milestone can be found using this filter.
StringResponseSerializer
implementation to build with the latest Swift toolchain.
Released on 2016-02-07. All issues associated with this milestone can be found using this filter.
NSURLSessionTask
changes state to allow support for the
network activity indicator.
Timeline
struct to capture timings throughout the lifecycle of a Request
.
Timeline
section to the README.
NetworkReachabilityManager
to listen for reachability status changes.
Network Reachability
section to the README.
NSURLSessionStream
APIs to support tvOS
.
ParameterEncoding
encode method to allow empty parameters to still be encoded.
Released on 2016-01-17. All issues associated with this milestone can be found using this filter.
Package.swift
to the project to support Swift Package Manager (SPM).
Request
class's debugDescription
property.
Accept-Language
header generation to use functional style.
Accept-Encoding
and Accept-Language
header values to have separator spaces between values.
Released on 2015-12-16. All issues associated with this milestone can be found using this filter.
NSTemporaryExceptionMinimumTLSVersion
documentation to the ATS section in the README.
ReleaseTest
configuration to allow running tests against optimized build.
carthage update
command.
ParameterEncoding
to early out when passed an empty parameters dictionary.
certificatesInBundle
to support cer
, crt
and der
extensions.
ENABLE_TESTABILITY
flag to NO
for Release configuration and disabled tests for
non-test builds to better support Carthage.
SecCertificate
array Swift workaround in ServerTrustPolicy
for Xcode 7.2.
Released on 2015-11-22. All issues associated with this milestone can be found using this filter.
Info.plist
for tvOS setting the UIRequiredDeviceCapabilities
to arm64
.
https
instead of http
.
Released on 2015-11-06. All issues associated with this milestone can be found using this filter.
Released on 2015-10-31. All issues associated with this milestone can be found using this filter.
NSString
with String
.
nil
or zero length.
responseData
and responseString
serializers.
Released on 2015-10-22. All issues associated with this milestone can be found using this filter.
BITCODE_GENERATION_MODE
user defined setting to tvOS framework target.
APPLICATION_EXTENSION_API_ONLY
enabled flag to YES
in the tvOS framework target.
Released on 2015-10-19. All issues associated with this milestone can be found using this filter.
;
was incorrect.
Released on 2015-10-10. All issues associated with this milestone can be found using this filter.
Downloading a File
code sample in the README to compile against Swift 2.0.
response
serializer.
Response
section.
BITCODE_GENERATION_MODE
setting for Carthage builds.
Released on 2015-09-27. All issues associated with this milestone can be found using this filter.
Response
initializer to have a public
ACL instead of internal
.
Released on 2015-09-26. All issues associated with this milestone can be found using this filter.
Response
initializer to have internal
ACL.
Released on 2015-09-21. All issues associated with this milestone can be found using this filter.
Response
struct to simplify response serialization.
Manager
allowing dependency injection of the
underlying NSURLSession
.
Manager
initialization methods.Value
and Error
) where Error
conforms to ErrorType
.
NSData?
.
TaskDelegate
to store an error as an NSError
instead of ErrorType
.
ValidationResult
failure case to require an NSError
instead of ErrorType
.
Result
type usage.
Response
type.
Manager
to accept a SessionDelegate
parameter
allowing dependency injection for better background session support.
Released on 2015-09-20. All issues associated with this milestone can be found using this filter.
git init
info.
Released on 2015-09-16. All issues associated with this milestone can be found using this filter.
Released on 2015-09-09. All issues associated with this milestone can be found using this filter.
URLEncodedInURL
case to the ParameterEncoding
for encoding in the URL.
Released on 2015-09-06. All issues associated with this milestone can be found using this filter.
parameters
and encoding
parameters to download APIs.
ErrorType
instead of NSError
.
Result
type.
Released on 2015-08-25.
NSMutableURLRequest
for the URLRequestConvertible
protocol
conformance that could cause unwanted URL request referencing.
Released on 2015-08-24. All issues associated with this milestone can be found using this filter.
NSMutableURLRequest
for the URLRequestConvertible
protocol.
Manager
.
URLRequestConvertible
section in the README.
ServerTrustPolicyManager
to be more flexible by using public
ACL.
ServerTrustPolicyManager
policies property to use public
ACL and
added docstrings.
Result
failure case to store an ErrorType
instead of NSError
.
required
declaration on the Manager
init method.
TaskDelegate
operation queue would leak if the task was
never started.
Released on 2015-08-10. All issues associated with this milestone can be found using this filter.
watchOS
deployment target to the podspec.
SecCertificate
array compiler crash.
Result
and Error
types to refactor response validation and serialization.
CustomStringConvertible
and CustomDebugStringConvertible
conformance
to the Result
enumeration.
watchOS
framework target to the project.
Result
tests pushing code coverage for Result
enum to 100%.
SessionDelegate
methods.
URLRequestConvertible
to return an NSMutableURLRequest
.
escape
method in ParameterEncoding
to use non-deprecated methods.
MultipartFormData
encoding to leverage Swift 2.0 error handling.
ParameterEncoding
to leverage guard for parameters to increase safety.
queryComponents
and escape
methods in ParameterEncoding
to public
to
better support .Custom
encoding.
ParameterEncoding
since they are now implied.
CustomDebugStringConvertible
conformance of a Request
.
Result
type usage.
Released on 2015-08-10. All issues associated with this milestone can be found using this filter.
SessionDelegate
if the
task override closure was set.
Released on 2015-07-24. All issues associated with this milestone can be found using this filter.
NSURLProtocol
checking header passthrough behaviors.
Request
to receive data incrementally from data responses.
responseCollection
serializer.
MultipartFormData
in-memory and streaming from disk.
MultipartFormData
with complete code coverage.
Authorization
header example to the README.
ServerTrustPolicy
.
resumeData
property to Request
to expose outside data response serializer.
pod lib lint
pass on the source.
ParameterEncoding
encode return tuple to return a mutable URL request.
URLRequest
convenience method to return a mutable NSURLRequest
.
request
/ download
/ upload
methods to support custom headers.
request
/ download
/ upload
method external parameters convention.
ResponseSerializer
protocol.
TaskDelegate.queue
to public to allow custom request extension operations.
NSURLSessionConfiguration
type declaration that can be inferred.
respondsToSelector
overrides for SessionDelegate
methods.
self
throughout source, test and example logic.
setUp
method.
There are a couple changes in the 1.3.0 release that are not fully backwards compatible and need to be called out.
The global request
/ download
/ upload
external parameter naming conventions
were not consistent nor did they match the Manager
equivalents. By making them
consistent across the board, this introduced the possibility that you "may" need to
make slight modifications to your global function calls.
In order to support generic response serializers, the lowest level
Request.response
method had to be converted to a generic method leveraging the new
ResponseSerializer
protocol. This has many advantages, the most obvious being that
the response
convenience method now returns an NSData?
optional instead of an
AnyObject?
optional. Nice!
Please note that every effort is taken to maintain proper semantic versioning. In these two rare cases, it was deemed to be in the best interest of the community to slightly break semantic versioning to unify naming conventions as well as expose a much more powerful form of response serialization.
If you have any issues, please don't hesitate to reach out through GitHub or Twitter.
Released on 2015-06-12. All issues associated with this milestone can be found using this filter.
pod lib lint
against the latest version of CocoaPods.
Released on 2015-05-13. All issues associated with this milestone can be found using this filter.
URLStringConvertible
protocol around RFC specs.
Carthage/Build
ignore flag to the .gitignore
file.
.DS_Store
ignore flag to the .gitignore
file.
SessionDelegate
override closure properties to match the method signatures.
Printable
protocol on Request
to reference output stream
rather than the specific OutputStreamType
.
SessionDelegate
willPerformHTTPRedirection method to accept optional return type
from override closure.
TaskDelegate
override closure signatures and delegate method implementations.
SessionDelegate
override closure documentation.
SessionDelegate
closures.
dispatch_release
.
TaskDelegate
to only set qualityOfService
for NSOperationQueue
on iOS 8+.
DataTaskDelegate
behavior ensuring NSProgress
values and progress
override
closures are always updated and executed.
Released on 2015-04-21.
SessionDelegate
.
Released on 2015-04-09.
testURLParameterEncodeStringWithSlashKeyStringWithQuestionMarkValueParameter
test.
backgroundCompletionHandler
property to the Manager
called when the
session background tasks finish.
Request
computed property progress
to no longer be an optional type.
responseString
serializer to respect server provided character encoding with
overrideable configuration, default string response serialization to ISO-8859-1, as
per the HTTP/1.1 specification.
SessionDelegate
methods to first call the override closures if set.
SessionDelegate
and all override closures to a public ACL allowing for customization.
SessionDelegate
class to final
.
SessionDelegate
header documentation for method override properties.
APPLICATION_EXTENSION_API_ONLY
to YES
for OS X target.
SessionDelegate
initializer and replaced with default property value.
expectation.fullfill()
to end of closures.
dataTaskDidBecomeDownloadTask
override closure.
SessionDelegate
where the DataTaskDelegate
was not being called.
Released on 2015-03-26.
Manager
.
Manager
to match the top-level functions.
testDownloadRequest
to no longer remove the downloaded file.
Released on 2015-01-30.
requires_arc
to the podspec file.
download
method on Manager
to use Request.DownloadFileDestination
typealias.
RequestTests
to no longer delete all cookies in default session configuration.
tearDown
method in the AlamofireDownloadResponseTestCase
.
testDownloadRequest
in DownloadTests
by adding .json
file extension.
AlamofireRequestDebugDescriptionTestCase
on OSX.
cURL
debug on OSX.
iOS Example
scheme.
Released on 2015-01-09.
responseString
parameter documentation.
Released on 2014-12-21.
APPLICATION_EXTENSION_API_ONLY
flag to YES
.
HTTPBodyStream
for streamed request.
suggestedDownloadDestination
parameters were being ignored.
Manager
deinitialization and added documentation.
Released on 2014-11-20.
cURL
example annotation in the README to pick up bash
syntax highlighting.
stringByAddingPercentEncodingWithAllowedCharacters
with CFURLCreateStringByAddingPercentEscapes
.
cURL
output.
textLabel
property on cells in the example app.
Released on 2014-10-20.
Released on 2014-10-20.
NSURLSessionConfiguration
headers to cURL
representation.
+
character.
cURL
commands.
request
method to the Manager
bringing it more inline with the top-level methods.
HTTPBody
from occurring twice.
subdelegateQueue
to the SessionDelegate
.
Released on 2014-09-25.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。