- Add URL modification capabilitites. Will McGinty #92
- None.
-
Remove the type definitions deprecated in 3.0.0. Will McGinty #77
-
Rename
dataTransformer
family of functions tosuccessTransformer
to more accurately reflect their purpose. Will McGinty #78 -
Cleaned up some TODOs in the code. Tyler Milner #80
-
Add support for SSL certificate pinning Will McGinty #84
-
Add support for futures and chaining requests. Pranjal Satija #81
-
Fix 3.0.0 changelog. Pranjal Satija #82
-
Added support for Swift 5 Will McGinty #88
-
Remove the
queryParameter
property deprecated in 2.0.0. Will McGinty #90
- None.
-
Fixed CHANGELOG for version 2.0.0/2.1.0. Tyler Milner #73
-
Remove the type definitions deprecated in 2.0.0 Will McGinty #72
-
[BREAKING] Added failing type information to
DecodingFailureInitializable
allowing the API to make decisions based off of the type that failed to decode and deprecate dynamically keyed decoding. Will McGinty #71 -
[BREAKING] Renamed
Request
protocol'stransformData(_:serviceSuccess:)
method totransformSuccess(_:)
. The redundantdata
parameter was removed since theNetworkServiceSuccess
makes it available as a property. Also simplified method signatures by introducingRequestTransformBlock
typealias. Tyler Milner #69 #70 -
Fixed minor typo in CHANGELOG where the PR URL text didn't match the underlying PR number. Tyler Milner #68
- None.
-
Mark
Request.queryParameters
as deprecated in v2. Daniel Larsen #59 #61 -
Added notes about
headers
property changes to migration guide. Tyler Milner #60 #62 -
Updated Travis-CI to Xcode 9.4. Tyler Milner #63
-
Add
headers
property toHTTP.Response
. The method signature ofRequest
’stransformData(_:)
method has changed. If you implement a customtransformData(_:)
method, you will need to replace it withtransformData(_:serviceSuccess:)
. Earl Gaspard #64 -
Updated Result dependency to version 4.0, updated Travis-CI to Xcode 10, and updated Swift version from Swift 4.1 to Swift 4.2 (for both library and sample app). Tyler Milner #67
- None.
-
Two new error-facing protocols were added.
NetworkServiceFailureInitializable
represents aSwift.Error
that can be initialized from aNetworkServiceFailure
object.DecodingFailureInitializable
represents aSwift.Error
that can be initialized from aDecodingError
as a result of decodingData
. These conformances have been added as extensions toAnyError
(meaningAnyRequest
usage is unaffected). As a result of these new protocols, theBackendServiceError
type has been removed. Types conforming toRequest
now have an associatedErrorType
which must conform toNetworkServiceFailureInitializable
. If a request generates any sort of failure response, the custom error type will be initialized from it instead of returning a genericBackendServiceError
. In addition, ifRequest.ErrorType
conforms toDecodingFailureInitializable
, the custom error type will be instantiated and returned. Will McGinty #38 -
Added a new initalizer to
AnyRequest
which accepts aString
value designating the key of JSON at which to begin decoding. Will McGinty #41 -
Separated the generation/encoding of the URL query from the
Request
object into an extensionURL
. Will McGinty #40 -
Add functionality to
NetworkReqest
to allow for replacing and adding to the HTTP headers. Will McGinty #43 -
Simplify usage of
DecodableContainer
types withJSONDecoder
Will McGinty #44 -
Add a subsystem which can perform transparent error handling using
RequestRecoveryStrategy
. Will McGinty #45 -
Simplify usage of
dataTransfomer
extensions with custom error types Will McGinty #47 -
Add
HTTP.HeaderValue
for JSON API specification. Earl Gaspard #46 -
Converted
HTTP.Status
nested types (HTTP.Status.Success
,HTTP.Status.ClientError
, etc.) from enums toRawRepresentable
structs. This keeps the library more open for extension by allowing clients to more easily specify and use custom HTTP status codes. Tyler Milner #49 #50 -
Implemented synthesized
Equatable
andHashable
conformance that was introduced in Swift 4.1. Tyler Milner #51 -
Renamed
NetworkRequest
andAnyNetworkRequest
toRequest
andAnyRequest
. Will McGinty #52
- None.
-
Removed some duplicate code for
invalidHTTPResponseError(_:)
inNetworkServiceHelper
. Tyler Milner #19 -
Formatting and content updates for the readme. Tyler Milner #20
-
General unit test organization and cleanup. Tyler Milner #22
-
Updated CLA URL. Will McGinty #23 #24
-
Added
CHANGELOG.md
. From now on, all new bugfix/feature PR's will require an entry in the changelog. Tyler Milner #27 #29 -
Added BackendServiceHelper for public interfacing. Earl Gaspard #31
-
Upgraded project to Xcode 9.3/Swift 4.1. Tyler Milner #25 #30
- None.
-
Adjusted project structure to better support Travis-CI. CI is fully up-and-running on all 3 currently supported platforms. Carthage is now required to work on the library and run the example projects (Cocoapods is no longer used). Clone the repo, run
carthage update
, and then openHyperspace.xcworkspace
to get started. Tyler Milner #3 -
Can now
cancelAllTasks()
onBackendServiceProtocol
. Will McGinty #4 -
NetworkService
logic extracted intoNetworkServiceHelper
to better support future framework compatibility withURLSessionDelegate
implementations. Will McGinty #5 -
NetworkService
can now represent loading via the global network activity indicator shown in the device's status bar. Just initialize yourNetworkService
with aNetworkActivityIndicatable
(ex:NetworkService(networkActivityIndicatable: UIApplication.shared)
). Will McGinty #2 -
Re-enabled SwiftLint. Will McGinty #9 #11
-
Added code coverage badge. Amanda Chappell #7 #12
- None.
This is our initial release of Hyperspace. Enjoy!