All notable changes to this project will be documented in this file.
Alamofire
adheres to Semantic Versioning.
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 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.