Changelog History
Page 6
-
v4.0.0 Changes
π Released on 2016-09-11. All issues associated with this milestone can be found using this filter.
β Added
- Internal
DispatchQueue
extension set of convenience properties and methods.- Added by Christian Noon in Pull Request #1450.
RequestAdapter
andRequestRetrier
protocols allowing requests to be retried.- Added by Christian Noon in Pull Request #1450.
- β
RequestAdapter
tests on all testableSessionManager
request APIs.- Added by Christian Noon in Pull Request #1450.
- β Added an
Adapting and Retrying Requests
section to the README.- Added by Christian Noon in Pull Request #1450.
DataRequest
,DownloadRequest
,UploadRequest
andStreamRequest
subclasses.- Added by Christian Noon in Pull Request #1455.
- Top-level APIs for creating
StreamRequest
instances.- Added by Christian Noon in Pull Request #1455.
- Extra
responseToSelector
overrides for stream delegate APIs.- Added by Christian Noon in Pull Request #1455.
- π A new
syncResult
extension toDispatchQueue
to simplify thread-safe locking.- Added by Christian Noon in Pull Request #1455.
- π Two serialization failure reasons to support download response serializers.
- Added by Christian Noon in Pull Request #1457.
- β
Download response serialization tests for all serializer types.
- Added by Christian Noon in Pull Request #1457.
- The
dataFileNil
anddataFileReadFailed
cases toResponseValidationFailureReason
.- Added by Christian Noon in Pull Request #1461.
- The
isWildcard
property to MIMEType struct for convenience.- Added by Christian Noon in Pull Request #1461.
- Missing
CustomDebugStringCovertible
conformance toDownloadResponse
.- Added by Christian Noon in Pull Request #1462.
- β
URL variants to the
FileManager
extension in the test suite.- Added by Christian Noon in Pull Request #1462.
DownloadOptions
option set to make moving files more robust.- Added by Christian Noon in Pull Request #1462.
- β
Tests validating success and failure scenarios for
DownloadOptions
.- Added by Christian Noon in Pull Request #1462.
- π¨ Parameter encoding failure docstrings and refactored reasons to be consistent.
- Added by Christian Noon in Pull Request #1465.
- Safeguards to url parameter encoding when extracting the url requestβs url.
- Added by Christian Noon in Pull Request #1465.
- The new
URLSessionTaskMetrics
to allResponse types
.- Added by Christian Noon in Pull Request #1492.
- The Alamofire 4.0 Migration Guide to the README.
- Added by Christian Noon.
HTTPHeaders
typealias for top-level API convenience.- Added by Christian Noon.
- Complete safeguards to
URLStringConvertible
,URLRequestConvertible
andRequestAdapter
.- Added by Christian Noon in Pull Request #1505.
- β
Tests around invalidURL error cases for
Request
creation and adaptation.- Added by Christian Noon in Pull Request #1505.
β‘οΈ Updated
- The
authorizationHeader
static method over to returning optional tuple.- Updated by Christian Noon in Pull Request #1455.
SessionManager
queues to each have a unique name using a UUID suffix.- Updated by Christian Noon in Pull Request #1455.
- The progress tracking system across all
Request
subclasses to improve accuracy.- Updated by Christian Noon in Pull Request #1455.
- β
BaseTestCase
to delete contents of common directories at the start of each test.- Updated by Christian Noon in Pull Request #1457.
- Response handler extensions by moving them into
DataRequest
and added equivalents forDownloadRequest
.- Updated by Christian Noon in Pull Request #1457.
- The response serializer types to use the
Protocol
suffix.- Updated by Christian Noon in Pull Request #1457.
Validation
typealias to include response data in aDataRequest
type.- Updated by Christian Noon in Pull Request #1461.
Validation
typealias to include temporary and destination URLs in aDownloadRequest
type.- Updated by Christian Noon in Pull Request #1461.
SessionManager
APIs to all leverageTaskConvertible
conformance.- Updated by Christian Noon in Pull Request #1461.
DownloadFileDestination
closures to be optional on top-levelDownloadRequest
APIs.- Updated by Christian Noon in Pull Request #1462.
- 0οΈβ£ The
request
anddownload
APIs now default to.get
method andupload
defaults to.post
.- Updated by Christian Noon in Pull Request #1462.
- The
ParameterEncoding
encode API to throw instead of returning tuple.- Updated by Christian Noon in Pull Request #1465.
- The
TaskDelegate
to only store the url session task error iferror
isnil
.- Updated by Christian Noon in Pull Request #1465.
ParameterEncoding
enum by switching to a protocol backed by url, json and plist structs.- Updated by Christian Noon in Pull Request #1465.
- β‘οΈ Updated RequestRetrier completion to be escaping.
- Updated by Aron Cedercrantz in Pull Request #1489.
- β
Code signing to automatic with no team on framework, test and app targets.
- Updated by Christian Noon.
- README for Swift 3 and Alamofire 4 along with reorganization.
- Updated by Christian Noon.
- π README with improved
Error
examples as well as typo and whitespace fixes. Request
task property is now optional allowing errors to propagate through.- Updated by Christian Noon in Pull Request #1505.
- The Travis-CI device list in the yaml file.
- Updated by Christian Noon in Pull Request #1505.
- The top-level APIs by removing external
resource
parameter name.- Updated by Christian Noon in Pull Request #1505.
- π The
URLStringCovertible
by renaming toURLConvertible
and removed protocol property.- Updated by Christian Noon in Pull Request #1505.
- The README and migration guide with the
URLConvertible
and top-level API changes.- Updated by Christian Noon in Pull Request #1505.
β Removed
- Unnecessary
public
ACL declarations onAFError
extensions.- Removed by Christian Noon.
URLStringConvertible
conformance onURLRequest
.- Removed by Christian Noon in Pull Request #1491.
- β Removed
downloadProgress
anduploadProgress
Int64 variants.- Removed by Christian Noon in regards to Issue #1467 reported by thebluepotato.
- π² Duplicated change log message in the migration guide.
- Removed by Justin Jia in Pull Request #1503.
- β
Code coverage generation by default to improve test suite stability.
- Removed by Christian Noon.
π Fixed
- π Fixed
URLEncoding
issue aroundNSNumber
parameter encoding.- Fixed by Christian Noon in regards to Issue #1458 reported by Dhanush Balachandran.
- Issue where
MultipartFormData
temp directory creation needed to be done serially.- Fixed by Christian Noon in regards to Issue #1333 reported by Fernando Mazzon.
- β
Issue in resume data tests where request was being cancelled multiple times.
- Fixed by Christian Noon.
- Internal
-
v4.0.0-beta.2 Changes
π Released on 2016-08-29. All issues associated with this milestone can be found using this filter.
π Fixed
- π Build issue with
Manager
class due to cherry picked change that merged incorrectly.- Fixed by Christian Noon in regards to Issue #1438.
- π Build issue with
-
v4.0.0-beta.1 Changes
π Released on 2016-08-28. All issues associated with this milestone can be found using this filter.
β Added
discardableResult
annotations to all top-level Request APIs.- Added by Christian Noon.
β‘οΈ Updated
- β
All source, test and example logic as well as project settings to compile against
the Xcode 8 beta releases.
- Updated by Kevin Harwood, Jon Shier and Christian Noon.
- π Deployment targets to iOS 9.0, macOS 10.11, tvOS 9.0 and watchOS 2.0.
- Updated by Christian Noon.
- Notifications to use nested structs inside
Notification.Name
namespace.- Updated by Christian Noon.
- The
Manager
class toSessionManager
to be more descriptive.- Updated by Christian Noon in Pull Request #1385.
- The
SessionDelegate
,TaskDelegate
and subclasses by pulling them into the global namespace.- Updated by Christian Noon in Pull Request #1385.
- π All the Core APIs and documentation to match Swift 3 API design guidelines.
- Updated by Christian Noon in Pull Request #1385.
- The
SessionDelegate
to storeRequest
instances internally to prepare for retry logic.- Updated by Christian Noon in Pull Request #1391.
- π The podspec to 4.0.0-beta.1 and bumped the deployment targets.
- The parameter order of custom
URLRequest
initializer to match other APIs.- Updated by Christian Noon.
- The travis yaml file for Xcode 8.
- Updated by Christian Noon.
- The
Error
enum toAFError
which now conforms to the newError
protocol.
π Fixed
- π¨ Typo in a parameter name in the
MultipartFormData
Swift 3 API refactor.- Fixed by Joshua Hudson in Pull Request #1395.
β¬οΈ Upgrade Notes
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.
-
v3.5.0 Changes
π Released on 2016-09-07. All issues associated with this milestone can be found using this filter.
β‘οΈ Updated
- β
The
User-Agent
header generation formatting and also added docs and tests. - β
All source, test and example logic as well as project settings to compile against
Xcode 7 and 8 against Swift 2.2 or 2.3 respectively.
- Updated by Kevin Harwood, Jon Shier and Christian Noon.
- π· The Travis CI yaml file to support both Xcode 7.3 and 8 simultaneously.
- Updated by Christian Noon.
π Fixed
- β
A TLS evaluation test that could fail with a different error when behind a proxy.
- Fixed by Christian Noon.
- β
The
-
v3.4.2 Changes
π Released on 2016-08-28. All issues associated with this milestone can be found using this filter.
β Added
- β Added Cleanup Whitespace target to remove excess whitespace from Swift files.
- Added by Christian Noon.
β‘οΈ Updated
- β
All TLS evaluation tests from
disig.sk
tobadssl.com
to be more reliant and robust.- Updated by Christian Noon.
- Internal
URLRequest
method to maintain mutable variant data on anNSURLRequest
passed into the top-level APIs.- Updated by Greedwolf DSS in Pull Request #1330.
- π The
User-Agent
header to include version and build numbers.- Updated by Sergey Demchenko in Pull Request #1420.
β Removed
- All excess whitespace from Swift files using the
Cleanup Whitespace
target.- Removed by Christian Noon.
π Fixed
- β
Request
debug description tests to no longer require parameters in a specific order.- Fixed by Marius Serban in Pull Request #1318.
- Small ACL issue in code sample of the Handling Errors section of the README.
- Fixed by Adrian Brink in Pull Request #1315.
- β Added Cleanup Whitespace target to remove excess whitespace from Swift files.
-
v3.4.1 Changes
π Released on 2016-06-12. All issues associated with this milestone can be found using this filter.
β Added
- Rdar
26761490
to the list of rdars affecting Alamofire.- Added by Christian Noon in Pull Request #1262.
- β
A new
debugDescription
test for a MultipartFormData Request with duplicate headers.- Added by Christian Noon in regards to Issue #1303.
β‘οΈ Updated
- CocoaPod installation instructions in README to be compatible with 1.x.
- Updated by Luis Ferro in Pull Request #1288.
- The README to reflect the best error practices in response serializers.
- The generation of the
User-Agent
header to use non-localized sources. - The
Generic Response Object Serialization
section of the README to use protocol extension.- Updated by Raphael Oliveira in Pull Request #1257.
- Reachability by removing explicit IPv6 logic since OS handles this automatically.
- Updated by Christian Noon in Pull Request #1308 in regards to Issue #1228.
- β
Host manager reachability test to use different hostname to improve test reliability.
- Updated by Christian Noon in Pull Request #1308.
β Removed
- π
ReleaseTest
configuration and updated Travis-CI yaml file to enable testability directly.- Removed by Christian Noon.
π Fixed
- Memory leak in
Timeline
description and debugDescription due to string interpolation.- Fixed by Christian Noon in Pull Request #1262 in regards to Issue #1232.
- Rdar
-
v3.4.0 Changes
π Released on 2016-05-08. All issues associated with this milestone can be found using this filter.
β Added
- Status code and content type values into validation
NSError
userInfo dictionaries.- Added by CeΜdric Luthi in Pull Request #1166.
- π New
authorizationHeader
API to generate base64 encoded authorization header.- Added by CeΜdric Luthi in Pull Request #1187.
β‘οΈ Updated
- β
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.
π Deprecated
- β‘οΈ The
errorWithCode
APIs and updated NSURLError* domains toNSURLErrorDomain
.- Deprecated by CeΜdric Luthi in Pull Request #1166.
π Fixed
- Issue where Requests with invalid credentials were not terminating with 401 status code.
- Fixed by CeΜ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.
- Status code and content type values into validation
-
v3.3.1 Changes
π Released on 2016-04-06. All issues associated with this milestone can be found using this filter.
β Added
- β
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.
β‘οΈ Updated
- β
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.
π Fixed
- 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.
- β
Tests for the
-
v3.3.0 Changes
π Released on 2016-03-23. All issues associated with this milestone can be found using this filter.
β Added
- β Added override closures for all
SessionDelegate
APIs with completion handlers.- Added by Christian Noon in Pull Request #1099.
β‘οΈ Updated
- The
User-Agent
header implementation to use more aggressive type-safety checks.- Updated by Christian Noon in regards to Issue #1100.
- All shared response serializers to accept a custom queue for execution.
- Updated by Luca Torella in Pull Request #1112.
- The network reachability manager to use IPv4 on iOS 8.x and OSX 10.9.x.
- Updated by Christian Noon in regards to Issue #1086.
- β
All source, test and example code to compile against Swift 2.2.
- Updated by James Barrow and Dominik Hadl in Pull Requests #1030 and #1128.
- β‘οΈ The Travis CI YAML file to use Xcode 7.3 and also updated matrix targets.
- Updated by Christian Noon.
π Fixed
- β
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.
β¬οΈ Upgrade Notes
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.
- β Added override closures for all