Releases: BottleRocketStudios/iOS-Hyperspace
5.1.0
5.0.0
5.0.0 (2023-03-23)
Enhancements
-
Remove SSL pinning machinery
Will McGinty
#164 -
Add ability to print formatted JSON from `HTTP.Response'.
Will McGinty
#167 -
Deprecate URLQueryParameterEncoder
Will McGinty
#160 -
Convert
Transporting,BackendServicingand related subsystems to utilize structured concurrency.
Will McGinty
#160 -
Remove migration typeliases for all the types that were deprecated in 4.0, including
RequestRecoveryStrategy,NetworkServiceFailureInitializable, andNetworkService*.
Will McGinty
#158
Bug Fixes
- None
4.1.0
4.1.0 (2022-04-19)
Enhancements
- Deprecate
TrustConfiguration,TrustValidator,CertificateHasher,AuthenticationChallengeandTrustValidatingTransportServicefor iOS 14+ and macOS 11+ in favor ofNSPinnedDomainsInfo.plist key
Will McGinty
#154
Bug Fixes
- Fix an issue with
FormURLEncodernot properly encoding ampersands
Andrew Winn
#155
v4.0.0
4.0.0 (2022-01-14)
Enhancements
-
Make
TransportServicethread-safe
Daniel Larsen
#145 -
Added async / await functions for executing requests
Daniel Larsen
#142 -
Migrate to use .xcframework's when resolving depencies using Carthage
Will McGinty
#139 -
Add
acceptedRangetoHTTP.Statussubtypes and allow for individual subtypes to be detected.
Will McGinty
#139 -
Strongly type
HTTP.Request.headersandHTTP.Response.headersas[HTTP.HeaderKey: HTTP.HeaderValue].
Will McGinty
#139 -
Add functionality to consider an arbitrary
TransportFailurea success, usingRequest.recoveryTransformer.
Will McGinty
#139 -
Add an overload to
mapwhich passes along theTransportSuccessas well as the originalResponse.
Will McGinty
#139 -
Migrate the request recovery strategy to the BackendServiceProtocol definition.
Will McGinty
#110 -
Added
methodparameter toHTTP.Request.
Alex Reyes
#138 -
Changed underlying error in AnyError's NetworkServiceFailureInitializable implementation from NetworkServiceError to NetworkServiceFailure so it can return its failure response rather than nil.
Richard Burgess
#95 -
Finished migrating all targets to Swift 5.
Tyler Milner
#100 -
Migrate the request recovery strategy to the BackendServiceProtocol definition.
Will McGinty
#110 -
Rename
RequestRecoveryStrategytoRecoveryStrategyand allow multiple to be attached to a singleBackendService. They are executed in the order they are initialized.
Will McGinty
#117 -
Rename
DecodingFailureInitializabletoDecodingFailureRepresentableand make the failingHTTP.Responseavailable during initialization.
Will McGinty
#117 -
Create an
HTTP.Bodytype to abstract theDataof aURLRequest.
Will McGinty
#117 -
Several changes to simplify and refine
DecodableContainer, as well as introduceEncodableContainerandCodableContainer.
Will McGinty
#117 -
Convert
Requestprotocol into astructand eliminate theAnyRequesttype. AURLRequestCreationStrategyhas been created to allow for differences inURLRequestgeneration.
Will McGinty
#117 -
Rename
Network*toTransport*to provide a clearer distinction between the role of theBackendServiceandTransportService.
Will McGinty
#117 -
Utilize
URLErroras part of theTransportingprotocol to allow for more granularity and detail in error reporting.
Will McGinty
#117 -
Make
TransportErrorinitspublic.
Earl Gaspard
#121 -
Create a form URL encoded
HTTP.Bodyconvenience
Will McGinty
#125 -
Add deprecated typealias to ease migration to 4.0
Will McGinty
#124 -
Create
EmptyDecodingStrategyto add flexibility to decodingEmptyResponse
Will McGinty
#130 -
Add
defaultDecodertoRequestDefaultsand use when initializing aRequest.
Earl Gaspard
#131 -
Make
transportServicepublic inBackendService.
Earl Gaspard
#134 -
Make
DecodingFailure.Contextproperties public.
Earl Gaspard
#135 -
Add
defaultMaxRecoveryAttemptstoRequestDefaultsand use formaxRecoveryAttemptsinRequest. This changes the default retries from unlimited to 1.
Earl Gaspard
#137
Bug Fixes
- Add an assertion to
BackendServiceif a GET HTTP request with body data is detected.
Will McGinty
#106
v3.2.1
v3.2.0
v3.1.0
Enhancements
-
Remove the type definitions deprecated in 3.0.0.
Will McGinty
#77 -
Rename
dataTransformerfamily of functions tosuccessTransformerto 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
queryParameterproperty deprecated in 2.0.0.
Will McGinty
#90
Bug Fixes
- None.
v3.0.0
Enhancements
-
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
DecodingFailureInitializableallowing the API to make decisions based off of the type that failed to decode and deprecate dynamically keyed decoding.
Will McGinty
#71 -
[BREAKING] Renamed
Requestprotocol'stransformData(_:serviceSuccess:)method totransformSuccess(_:). The redundantdataparameter was removed since theNetworkServiceSuccessmakes it available as a property. Also simplified method signatures by introducingRequestTransformBlocktypealias.
Tyler Milner
#69
#70 -
Fixed minor typo in CHANGELOG where the PR URL text didn't match the underlying PR number.
Tyler Milner
#68
Bug Fixes
- None.
v2.1.0
Enhancements
-
Two new error-facing protocols were added.
NetworkServiceFailureInitializablerepresents aSwift.Errorthat can be initialized from aNetworkServiceFailureobject.DecodingFailureInitializablerepresents aSwift.Errorthat can be initialized from aDecodingErroras a result of decodingData. These conformances have been added as extensions toAnyError(meaningAnyRequestusage is unaffected). As a result of these new protocols, theBackendServiceErrortype has been removed. Types conforming toRequestnow have an associatedErrorTypewhich 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.ErrorTypeconforms toDecodingFailureInitializable, the custom error type will be instantiated and returned.
Will McGinty
#38 -
Added a new initalizer to
AnyRequestwhich accepts aStringvalue designating the key of JSON at which to begin decoding.
Will McGinty
#41 -
Separated the generation/encoding of the URL query from the
Requestobject into an extensionURL.
Will McGinty
#40 -
Add functionality to
NetworkReqestto allow for replacing and adding to the HTTP headers.
Will McGinty
#43 -
Simplify usage of
DecodableContainertypes withJSONDecoder
Will McGinty
#44 -
Add a subsystem which can perform transparent error handling using
RequestRecoveryStrategy.
Will McGinty
#45 -
Simplify usage of
dataTransfomerextensions with custom error types
Will McGinty
#47 -
Add
HTTP.HeaderValuefor JSON API specification.
Earl Gaspard
#46 -
Converted
HTTP.Statusnested types (HTTP.Status.Success,HTTP.Status.ClientError, etc.) from enums toRawRepresentablestructs. 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
EquatableandHashableconformance that was introduced in Swift 4.1.
Tyler Milner
#51 -
Renamed
NetworkRequestandAnyNetworkRequesttoRequestandAnyRequest.
Will McGinty
#51 -
Add
headersproperty 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
Bug Fixes
- None.
v2.0.0
Enhancements
-
If migrating from 1.x to 2.0, be sure to check out the migration guide.
-
Two new error-facing protocols were added.
NetworkServiceFailureInitializablerepresents aSwift.Errorthat can be initialized from aNetworkServiceFailureobject.DecodingFailureInitializablerepresents aSwift.Errorthat can be initialized from aDecodingErroras a result of decodingData. These conformances have been added as extensions toAnyError(meaningAnyRequestusage is unaffected). As a result of these new protocols, theBackendServiceErrortype has been removed. Types conforming toRequestnow have an associatedErrorTypewhich 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.ErrorTypeconforms toDecodingFailureInitializable, the custom error type will be instantiated and returned. Will McGinty #38 -
Added a new initalizer to
AnyRequestwhich accepts aStringvalue designating the key of JSON at which to begin decoding. Will McGinty #41 -
Separated the generation/encoding of the URL query from the
Requestobject into an extension onURL. Will McGinty #40 -
Add functionality to
Requestto allow for replacing and adding to the HTTP headers. Will McGinty #43 -
Simplify usage of
DecodableContainertypes 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.HeaderValuefor JSON API specification. Earl Gaspard #46 -
Converted
HTTP.Statusnested types (HTTP.Status.Success,HTTP.Status.ClientError, etc.) from enums toRawRepresentablestructs. 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
EquatableandHashableconformance that was introduced in Swift 4.1. Tyler Milner #51 -
Renamed
NetworkRequestandAnyNetworkRequesttoRequestandAnyRequest. Will McGinty #51
Bug Fixes
- None.