All notable changes to this project will be documented in this file.
Alamofire
adheres to Semantic Versioning.
3.4.x
Releases - 3.4.03.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 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
SesionDelegate
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 aggresive 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.fullfill()
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 suppport 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.